Compare commits

...

3 Commits

3 changed files with 244 additions and 41 deletions

View File

@@ -131,6 +131,29 @@
placeholder='请选择'
@click="toSelect('6')"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip = true"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('11')"
/>
<van-field
v-model='userInfo.homeName'
readonly
@@ -188,6 +211,17 @@
<van-popup v-model='isScan2' position='bottom'>
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业子女上学投靠子女等原因来到城镇常住未获得当地户籍或获得当地户籍不满三年的各类群体包括但不限于进城务工人员新就业大中专毕业生等</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -211,6 +245,7 @@ import OccupationForLoop from '@/components/ebiz/occipation/OccupationForLoop'
import { selectComp, getIdentityInfo } from './js/methods'
import Vue from 'vue'
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
import riskRules from '@/views/ebiz/common/risk-rules'
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
Vue.use(Checkbox).use(CheckboxGroup)
@@ -312,7 +347,9 @@ export default {
mobile: '', //移动电话
email: '', //电子邮箱
schoolName: '',
className: ''
className: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
// effectiveDate: '' //指定生效日期
},
selectUser: '',
@@ -337,34 +374,15 @@ export default {
load: false, //防止重复请求
value: false
},
occupationalType: DataDictionary.queryOccupationalByType[0].id
occupationalType: DataDictionary.queryOccupationalByType[0].id,
manageComCode: '',
isNewPeopleFlagTipshow: false,
}
},
created() {
// document.body.style.backgroundColor = '#F5F5F5'
//如果是编辑进来
// if (this.$route.query.edit) {
// getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
// if (res.result == 0) {
// //投保人信息返显
// this.userInfo = res.orderDTO.appntDTO
// //是否长期
// this.userInfo.effectiveDateType = res.orderDTO.appntDTO.effectiveDateType == 'false' ? false : true
// //有无社保
// this.userInfo.medical = '1'
// //设为联系地址
// this.userInfo.addressStatus = '0'
// //证件类型
// this.userInfo.idType = '1'
// //国家/地区
// this.userInfo.nativeplace = '1'
// this.$utils.intLocalStorage(res)
// }
// })
// }
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
},
mounted() {
async mounted() {
let that = this
setTimeout(() => {
// eslint-disable-next-line no-undef
@@ -375,6 +393,8 @@ export default {
}, 100)
// 筛选按钮的点击事件
window.appCallBack = this.appCallBack
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
if (this.$route.query.cardOrderNo) {
this.cardOrderNo = this.$route.query.cardOrderNo
//根据后台数据来展示
@@ -548,6 +568,8 @@ export default {
this.columns = DataDictionary.workCondition
} else if (pickerType == '8') {
this.columns = DataDictionary.salarySource
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -585,6 +607,8 @@ export default {
this.proScheme = value.text
this.proSchemeCode = value.id
this.chooseKind = value.label
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
@@ -730,6 +754,8 @@ export default {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
this.getRelatedData(this.userInfo.idNo, '1')
}
// console.log(data, val)
@@ -826,6 +852,12 @@ export default {
}
}
}
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
return this.$toast('投保人新市民身份不能为空')
}
if(this.manageComCode == '45' && this.userInfo.isNewPeopleFlag != '0' && !this.userInfo.npType) {
return this.$toast('投保人新市民类型不能为空')
}
this.infoUpdate()
// console.log('success')
} else {

View File

@@ -147,6 +147,29 @@
placeholder='请选择'
@click="toSelect('66')"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="insuredInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTip = true"/>
</div>
<van-field
v-if="insuredInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('npType')"
/>
<van-field
v-model='insuredInfo.homeName'
readonly
@@ -254,6 +277,17 @@
<van-popup v-model='isScan2' position='bottom'>
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业、子女上学、投靠子女等原因来到城镇常住,未获得当地户籍或获得当地户籍不满三年的各类群体,包括但不限于进城务工人员、新就业大中专毕业生等。</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -278,6 +312,7 @@ import { selectComp, getIdentityInfo } from './js/methods'
import dateUtils from '@/assets/js/utils/date-utils'
import Vue from 'vue'
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
import riskRules from '@/views/ebiz/common/risk-rules'
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
Vue.use(Checkbox).use(CheckboxGroup)
@@ -388,7 +423,9 @@ export default {
email: '', //电子邮箱
medical:'0',//有无社保
schoolName: '',
className: ''
className: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
// effectiveDate: '' //指定生效日期
},
//被保人信息
@@ -446,7 +483,9 @@ export default {
},
occupationalType: DataDictionary.queryOccupationalByType[0].id,
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
isAppnt: false // 是否投被同人
isAppnt: false, // 是否投被同人
manageComCode: '',
isNewPeopleFlagTipshow: false,
}
},
created() {
@@ -482,7 +521,7 @@ export default {
this.expireDate = afterDate.getAfterDateTime(val,2)
}
},
mounted() {
async mounted() {
let that = this
window.appCallBack = this.appCallBack
// 2516--除万福卡投保人、被保险人年收入默认为0允许修改
@@ -496,6 +535,8 @@ export default {
if (this.$route.query.cardOrderNo) {
this.cardOrderNo = this.$route.query.cardOrderNo
}
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
//根据后台数据来展示
let cardInfoDTO = {
orderNo: this.cardOrderNo
@@ -738,6 +779,8 @@ export default {
// })
} else if (pickerType == '22') {
this.columns = DataDictionary.cardListInsuredIdType
} else if(pickerType == 'npType') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
@@ -823,6 +866,8 @@ export default {
// this.isInsuredCertiexpiredate = true
}
this.insuredInfo.idType = value.id
} else if(this.pickerType == 'npType') {
this.userInfo.npType = value.id
}
},
//试算逻辑
@@ -1086,6 +1131,8 @@ export default {
// 长期按钮是否禁用
this.effectiveDateTypeAbleInsured = age <= 45
console.log(this.insuredInfo,'this.insuredInfo')
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
this.getRelatedData(this.insuredInfo.idNo, '2')
}
// console.log(data, val)
@@ -1313,6 +1360,12 @@ export default {
if (this.insuredInfo.effectiveDateType) {
this.insuredInfo.certiexpiredate = '9999-12-31'
}
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
return this.$toast('投保人新市民身份不能为空')
}
if(this.manageComCode == '45' && this.insuredInfo.isNewPeopleFlag != '0' && !this.insuredInfo.npType) {
return this.$toast('投保人新市民类型不能为空')
}
this.infoUpdate()
// console.log('success')
} else {

View File

@@ -142,6 +142,29 @@
placeholder='请选择'
@click="toSelect('6')"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('appntNpType')"
/>
<van-field
v-model='userInfo.homeName'
readonly
@@ -299,6 +322,29 @@
placeholder='请选择'
@click="toSelect('66')"
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="insuredInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
</div>
<van-field
v-if="insuredInfo.isNewPeopleFlag == 1"
:value="insuredInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('insuredNpType')"
/>
<van-field
v-model='insuredInfo.homeName'
readonly
@@ -432,6 +478,29 @@
right-icon='arrow'
placeholder='请选择'
/>
<div class="p15 pl8 fs14" style="border-bottom: 1px solid #eee;display: flex;justify-content: space-between;align-items: center;" v-if="manageComCode == '45'">
<van-radio-group v-model="userInfo.isNewPeopleFlag" class="flex">
<label>
<i class="red">*</i>
新市民身份
</label>
<van-radio name="1" class="ml30"></van-radio>
<van-radio name="0" class="ml20"></van-radio>
</van-radio-group>
<van-icon name="question-o" size="20" @click="isNewPeopleFlagTipshow = true"/>
</div>
<van-field
v-if="userInfo.isNewPeopleFlag == 1"
:value="userInfo.npType | idToText('npType')"
readonly
label="新市民类型"
name="新市民类型"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('appntNpType')"
/>
<van-field
v-model='userInfo.homeName'
readonly
@@ -568,6 +637,17 @@
<van-popup v-model='isScan2' position='bottom'>
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
</van-popup>
<van-dialog v-model="isNewPeopleFlagTipshow" :showConfirmButton="false">
<div slot="title">
<p style="color: #E9332E;">新市民身份说明</p>
</div>
<div style="padding: 20px 30px 30px;font-size: 14px;">
<div style="line-height: 25px;">新市民是指因本人创业就业、子女上学、投靠子女等原因来到城镇常住,未获得当地户籍或获得当地户籍不满三年的各类群体,包括但不限于进城务工人员、新就业大中专毕业生等。</div>
</div>
<div style="text-align: center;margin-bottom: 30px;">
<van-button round type="danger" size="small" style="padding:0px 35px;font-size: 14px;" @click="isNewPeopleFlagTipshow = false">我知道了</van-button>
</div>
</van-dialog>
</div>
</template>
<script>
@@ -706,7 +786,9 @@ export default {
mobile: '', //移动电话
email: '', //电子邮箱
schoolName: '',
className: ''
className: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
// effectiveDate: '' //指定生效日期
},
//被保人信息
@@ -735,7 +817,9 @@ export default {
mobile: '', //移动电话
email: '',//电子邮箱
schoolName: '',
className: ''
className: '',
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
selectUser: '',
areaList: areaList,
@@ -767,7 +851,9 @@ export default {
},
occupationalType: DataDictionary.queryOccupationalByType[0].id,
isInsuredCertiexpiredate:true, //被保人有效止期是否显示
trialDTOS:[] //产品详情信息
trialDTOS:[], //产品详情信息
manageComCode: '',
isNewPeopleFlagTipshow: false,
}
},
created() {
@@ -905,7 +991,9 @@ export default {
}
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 450101 }]) //家庭地址
},
mounted() {
async mounted() {
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
// 2516--除万福卡投保人、被保险人年收入默认为0允许修改
if (this.itemProductDTOS.productCode != 'GFRS_M0032') {
this.userInfo.averageAnnualIncome = '0'
@@ -1298,7 +1386,12 @@ export default {
} else {
this.columns = DataDictionary.idType
}
} else if(pickerType == 'appntNpType') {
this.columns = DataDictionary.npType
} else if(pickerType == 'insuredNpType') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
onConfirm(value) {
@@ -1396,6 +1489,10 @@ export default {
this.isInsuredCertiexpiredate = true
}
this.insuredInfo.idType = value.id
} else if (this.pickerType === 'appntNpType') {
this.userInfo.npType = value.id
} else if (this.pickerType === 'insuredNpType') {
this.insuredInfo.npType = value.id
}
},
//证件起始截止日期
@@ -1635,9 +1732,13 @@ export default {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
this.getRelatedData(this.userInfo.idNo, '1')
} else if (this.selectUser == '1') {
let { customerName, customerSex } = data
let { customerName, customerSex, isNewPeopleFlag, npType } = data
this.insuredInfo.isNewPeopleFlag = isNewPeopleFlag //新市民身份
this.insuredInfo.npType = npType //新市民类型
this.insuredInfo.name = customerName //用户名
this.insuredInfo.sex = customerSex ? customerSex.toString() : '0' //性别
this.insuredInfo.birthday = data.birthday //出生日期
@@ -1660,7 +1761,8 @@ export default {
this.insuredInfo.certiexpiredate = '9999-12-31'
this.effectiveDateTypeAbleInsured = true
this.isInsuredCertiexpiredate = false
}else{
}
else{
this.isInsuredCertiexpiredate = true
// 因为学平险产品 少儿卡单 被保人证件类型只有身份证和户口本 所以回显被保人信息时 如果不是身份证和户口本 就隐藏被保人证件类型
if ((this.itemProductDTOS.productCode == 'GFRS_M0048' || this.itemProductDTOS.productCode == 'GFRS_M0049' || this.itemProductDTOS.productCode == 'GFRS_M0050'
@@ -1703,6 +1805,7 @@ export default {
this.insuredInfo.lifeGrade = data.lifeGrade
this.insuredInfo.occupationType = data.lifeGrade
this.insuredInfo.healthGrade = data.healthGrade
//除万福卡投保人被保险人年收入填写项去掉默认为0卡产品不满足反洗钱识别线
this.insuredInfo.averageAnnualIncome = this.itemProductDTOS.productCode == 'GFRS_M0032' ? data.averageYearlyIncome : '0' //平均年收入
//2516--三个学平险--被保险人婚姻默认未婚允许修改
@@ -1731,9 +1834,12 @@ export default {
// console.log(data, val)
},
nextStep() {
// console.log(this.userInfo.idType)
// console.log(this.userInfo.salarySource)
// console.log(this.userInfo.otherSalarySource)
if (this.manageComCode == '45' && (this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined)) {
return this.$toast('投保人新市民身份不能为空')
}
if(this.manageComCode == '45' && this.userInfo.isNewPeopleFlag != '0' && !this.userInfo.npType) {
return this.$toast('投保人新市民类型不能为空')
}
//表单校验, 成功跳转
if (this.userInfo.relationToInsured == 1) {
Object.assign(this.insuredInfo, this.userInfo)
@@ -1778,6 +1884,12 @@ export default {
if (this.userInfo.relationToInsured == 2 && this.userInfo.sex == this.insuredInfo.sex) {
return this.$toast('哦~配偶性别不能相同的哟~')
}
if (this.manageComCode == '45' && (this.insuredInfo.isNewPeopleFlag == '' || this.insuredInfo.isNewPeopleFlag == null || this.insuredInfo.isNewPeopleFlag == undefined)) {
return this.$toast('被保人新市民身份不能为空')
}
if (this.manageComCode == '45' && this.insuredInfo.isNewPeopleFlag != '0' && !this.insuredInfo.npType) {
return this.$toast('被保人新市民类型不能为空')
}
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
console.log('计算年龄', age)
@@ -1862,7 +1974,8 @@ export default {
}
}
//如果证件类型是户口本
}else if(this.userInfo.idType == '2'){
}
else if(this.userInfo.idType == '2'){
if (this.userInfo.nativeplace != '1') {
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
}
@@ -1990,7 +2103,8 @@ export default {
return this.$toast('证件有效期不正常26周岁至45周岁公民身份证有效期应小于等于20年')
}
}
}else if (this.insuredInfo.idType == '2'){
}
else if (this.insuredInfo.idType == '2'){
if (this.insuredInfo.nativeplace != '1') {
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
}
@@ -2040,7 +2154,8 @@ export default {
// else if (this.insuredInfo.idNo.length != 18) {
// return this.$toast('户口本的证件号码长度应等于18位')
// }
}else if (this.insuredInfo.idType == '3'){
}
else if (this.insuredInfo.idType == '3'){
if (insuredAge >= 2) {
return this.$toast('客户年龄在2周岁及以上不能使用出生证作为有效证件')
}
@@ -2063,7 +2178,8 @@ export default {
if (insuredAge < 0) {
return this.$toast('被保险人的年龄需要大于28天')
}
} else if (this.itemProductDTOS.productCode === 'GFRS_M0041') {
}
else if (this.itemProductDTOS.productCode === 'GFRS_M0041') {
console.log(this.proSchemeCode)
if (this.proSchemeCode == '00000227') {
if (insuredAge < 18) {
@@ -2566,7 +2682,9 @@ export default {
homeAddress: '', //详细地址
mobile: '', //移动电话
email: '', //电子邮箱
effectiveDateType: false //是否长期
effectiveDateType: false, //是否长期
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
}
// 设置选中‘同投保人’的勾选项
this.withRootUser.value = true