GFRS-2641【前端】修改卡单bug;新增当卡单模块选择职业时,要传递新的参数--提交人:张齐

This commit is contained in:
zhangqi1
2021-08-23 21:33:30 +08:00
parent 22be2628c2
commit afab1bfeec
3 changed files with 580 additions and 519 deletions

View File

@@ -3608,5 +3608,12 @@ export default {
code: 'legalHolidays',
label: '元'
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
// 区分当前是卡单中的选择职业,还是短期险重新投保中的选择职业,根据这个值向接口中传入不同参数,查询不同数据
queryOccupationalByType: [
{ id: '1', text: '卡单' },
{ id: '2', text: '重新投保' }
]
}

View File

@@ -66,6 +66,12 @@ export default {
type: String,
default: ''
},
// 卡单与短期险重新投保选择职业类别时,两个模块中职业类型数据的排序不同,利用这个字段,在下方进行判断区分
// 1 -- 卡单2-- 短期险重新投保
type: {
type: String,
default: ''
},
life: {
type: String,
default: ''
@@ -130,7 +136,7 @@ export default {
this.third = {}
getBankList({
operateType: 'hot_occupation'
operateType: this.type == '1' ? 'hot_occupation_card' : 'hot_occupation'
}).then(res => {
if (res.result == '0') {
this.commonList = res.content

View File

@@ -1,28 +1,28 @@
<template>
<div class="insured-info-container pb50">
<div class='insured-info-container pb50'>
<!-- 投保人信息 -->
<van-cell-group class="mt10">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">投保人信息</p>
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>投保人信息</p>
<van-field
:value="userInfo.relationToInsured | idToText('relationToAppnt')"
readonly
required
label="与被保人关系"
name="与被保人关系"
right-icon="arrow"
placeholder="请选择"
label='与被保人关系'
name='与被保人关系'
right-icon='arrow'
placeholder='请选择'
v-validate="'required'"
@click="toSelect('9')"
/>
<customer-picker
@on-choose="chooseCustomer(arguments)"
@on-choose='chooseCustomer(arguments)'
v-validate="'required|name'"
name="投保人姓名"
label="投保人姓名"
name='投保人姓名'
label='投保人姓名'
required
:parentShowPicker.sync="customerShowPicker"
v-model="userInfo.name"
@nameChange="nameChange"
:parentShowPicker.sync='customerShowPicker'
v-model='userInfo.name'
@nameChange='nameChange'
@on-click="selectClick('1', '0')"
></customer-picker>
<van-field
@@ -30,138 +30,145 @@
v-validate="'required'"
readonly
required
label="证件类型"
label='证件类型'
@click="toSelect('2')"
name="证件类型"
right-icon="arrow"
placeholder="请选择"
name='证件类型'
right-icon='arrow'
placeholder='请选择'
/>
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
<van-field
v-model="userInfo.idNo"
maxlength="18"
v-model='userInfo.idNo'
maxlength='18'
required
label="证件号码"
label='证件号码'
v-validate="'required'"
name="证件号码"
placeholder="请输入"
name='证件号码'
placeholder='请输入'
clearable
@blur="getRelatedData(userInfo.idNo, '1')"
>
<van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3', '', '1')">证件扫描</van-button>
<van-button v-if='userInfo.idType == 1' slot='button' size='small' type='danger' round
@click="selectClick('3', '', '1')">证件扫描
</van-button>
</van-field>
<FieldDatePicter
:v-validate="{ required: certiexpiredateRequired }"
:v-validate='{ required: certiexpiredateRequired }'
required
label="证件截止日期"
name="证件截止日期"
:minDate="certiexpiredateMin"
:value.sync="userInfo.certiexpiredate"
type="date"
label='证件截止日期'
name='证件截止日期'
:minDate='certiexpiredateMin'
:value.sync='userInfo.certiexpiredate'
type='date'
@confirm="onDateConfirm($event, '1')"
ref="certiexpiredate"
:flag="true"
:readonly="idLimit"
ref='certiexpiredate'
:flag='true'
:readonly='idLimit'
></FieldDatePicter>
<div class="border-bt relative fs14 p10 flex justify-content-fe">
<van-checkbox v-model="userInfo.effectiveDateType" :disabled="effectiveDateTypeAble" @change="effectiveDataTypeChange">长期</van-checkbox>
<div class='border-bt relative fs14 p10 flex justify-content-fe'>
<van-checkbox v-model='userInfo.effectiveDateType' :disabled='effectiveDateTypeAble'
@change='effectiveDataTypeChange'>长期
</van-checkbox>
</div>
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
<select-radio required :radios='sexRadio' label='性别' name='性别' v-validate="'required'"
:value.sync='userInfo.sex'></select-radio>
<FieldDatePicter
v-validate="'required'"
label="出生日期"
name="出生日期"
label='出生日期'
name='出生日期'
required
:value.sync="userInfo.birthday"
type="date"
:flag="true"
:value.sync='userInfo.birthday'
type='date'
:flag='true'
@confirm="onDateConfirm($event, '2')"
ref="birthday"
:maxDate="maxDate"
ref='birthday'
:maxDate='maxDate'
>
</FieldDatePicter>
<van-field
required
v-model="userInfo.mobile"
v-model='userInfo.mobile'
clearable
label="手机号码"
name="手机号码"
placeholder="请输入"
label='手机号码'
name='手机号码'
placeholder='请输入'
v-validate="'required|mobile'"
maxlength="11"
maxlength='11'
/>
<van-field v-model="userInfo.email" label="邮箱" name="邮箱" placeholder="如需电子保单,请填写" v-validate="'required|email'" clearable />
<van-field v-model='userInfo.email' label='邮箱' name='邮箱' placeholder='如需电子保单,请填写' v-validate="'email'"
clearable />
<!-- <van-field v-model="userInfo.workcompany" required label="工作单位" name="工作单位" placeholder="请输入" v-validate="'required'" maxlength="50" clearable /> -->
<van-field
v-validate="'required'"
@click="openOccupation('1')"
required
label="职业类别"
placeholder="请输入"
name="职业类别"
:value="userInfo.occupationName"
right-icon="arrow"
label='职业类别'
placeholder='请输入'
name='职业类别'
:value='userInfo.occupationName'
right-icon='arrow'
/>
<van-field
v-if="averageAnnualIncomeFlag"
v-model="userInfo.averageAnnualIncome"
label="平均年收入(万元)"
name="平均年收入"
v-if='averageAnnualIncomeFlag'
v-model='userInfo.averageAnnualIncome'
label='平均年收入(万元)'
name='平均年收入'
required
placeholder="请输入,单位万元"
placeholder='请输入,单位万元'
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
maxlength='5'
/>
<van-field
v-validate="'required'"
:value="userInfo.nativeplace | idToText('nativeplace')"
readonly
required
label="国籍"
name="国籍"
right-icon="arrow"
placeholder="请选择"
label='国籍'
name='国籍'
right-icon='arrow'
placeholder='请选择'
@click="toSelect('1')"
/>
<van-field
:value="userInfo.marriage | idToText('marriage')"
readonly
required
label="婚姻状况"
name="婚姻状况"
label='婚姻状况'
name='婚姻状况'
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
@click="toSelect('6')"
/>
<van-field
v-model="userInfo.homeName"
v-model='userInfo.homeName'
readonly
label="联系地址"
name="联系地址"
label='联系地址'
name='联系地址'
required
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
v-validate="'required'"
@click="areaSelect('1')"
/>
<van-field v-model="userInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" />
<van-field v-model='userInfo.homeAddress' label name='详细地址' placeholder='请输入详细地址' v-validate="'required'"
clearable maxlength='30' />
<!-- </template> -->
</van-cell-group>
<!-- 被保险人信息 -->
<van-cell-group class="mt10" v-if="userInfo.relationToInsured != 1">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
<van-cell-group class='mt10' v-if='userInfo.relationToInsured != 1'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>被保人信息</p>
<customer-picker
@on-choose="chooseCustomer(arguments)"
@on-choose='chooseCustomer(arguments)'
v-validate="'required|name'"
name="被保险人姓名"
label="被保险人姓名"
name='被保险人姓名'
label='被保险人姓名'
required
:parentShowPicker.sync="customerShowPicker2"
v-model="insuredInfo.name"
@nameChange="nameChanges"
:parentShowPicker.sync='customerShowPicker2'
v-model='insuredInfo.name'
@nameChange='nameChanges'
@on-click="selectClick('1', '1')"
></customer-picker>
<van-field
@@ -170,308 +177,322 @@
readonly
required
@click="toSelect('22')"
label="证件类型"
name="证件类型"
right-icon="arrow"
placeholder="请选择"
label='证件类型'
name='证件类型'
right-icon='arrow'
placeholder='请选择'
/>
<van-field
v-model="insuredInfo.idNo"
maxlength="18"
v-model='insuredInfo.idNo'
maxlength='18'
required
label="证件号码"
label='证件号码'
v-validate="'required'"
name="证件号码"
placeholder="请输入"
name='证件号码'
placeholder='请输入'
clearable
@blur="getRelatedData(insuredInfo.idNo, '2')"
>
<van-button v-if="insuredInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3', '', '2')">证件扫描</van-button>
<van-button v-if='insuredInfo.idType == 1' slot='button' size='small' type='danger' round
@click="selectClick('3', '', '2')">证件扫描
</van-button>
</van-field>
<FieldDatePicter
:v-validate="{ required: certiexpiredateRequiredInsured }"
:v-validate='{ required: certiexpiredateRequiredInsured }'
required
label="证件截止日期"
name="证件截止日期"
:minDate="certiexpiredateMin"
:value.sync="insuredInfo.certiexpiredate"
type="date"
label='证件截止日期'
name='证件截止日期'
:minDate='certiexpiredateMin'
:value.sync='insuredInfo.certiexpiredate'
type='date'
@confirm="onDateConfirm($event, '7')"
ref="certiexpiredate"
:flag="true"
:readonly="idLimitInsured"
ref='certiexpiredate'
:flag='true'
:readonly='idLimitInsured'
></FieldDatePicter>
<div class="border-bt relative fs14 p10 flex justify-content-fe">
<van-checkbox v-model="insuredInfo.effectiveDateType" :disabled="effectiveDateTypeAbleInsured" @change="effectiveDataTypeChangeInsured"
>长期</van-checkbox
<div class='border-bt relative fs14 p10 flex justify-content-fe'>
<van-checkbox v-model='insuredInfo.effectiveDateType' :disabled='effectiveDateTypeAbleInsured'
@change='effectiveDataTypeChangeInsured'
>长期
</van-checkbox
>
</div>
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="insuredInfo.sex"></select-radio>
<select-radio required :radios='sexRadio' label='性别' name='性别' v-validate="'required'"
:value.sync='insuredInfo.sex'></select-radio>
<FieldDatePicter
label="出生日期"
name="出生日期"
label='出生日期'
name='出生日期'
required
:value.sync="insuredInfo.birthday"
type="date"
:flag="true"
:value.sync='insuredInfo.birthday'
type='date'
:flag='true'
@confirm="onDateConfirm($event, '5')"
ref="insuredBirthday"
:maxDate="insuredMaxDate"
ref='insuredBirthday'
:maxDate='insuredMaxDate'
></FieldDatePicter>
<van-field
v-if="isLessEighteen"
v-model="insuredInfo.mobile"
v-if='isLessEighteen'
v-model='insuredInfo.mobile'
clearable
label="手机号码"
name="手机号码"
placeholder="请输入"
label='手机号码'
name='手机号码'
placeholder='请输入'
v-validate="'required|mobile'"
maxlength="11"
maxlength='11'
/>
<van-field v-if="isLessEighteen" v-model="insuredInfo.email" label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
<van-field v-if='isLessEighteen' v-model='insuredInfo.email' label='邮箱' name='邮箱' placeholder='请输入'
v-validate="'required|email'" clearable />
<van-field
required
@click="openOccupation('2')"
label="职业类别"
placeholder="请输入"
name="职业类别"
:value="insuredInfo.occupationName"
right-icon="arrow"
label='职业类别'
placeholder='请输入'
name='职业类别'
:value='insuredInfo.occupationName'
right-icon='arrow'
/>
<van-field
v-model="insuredInfo.schoolName"
v-show="showField"
label="学校名称"
name="学校名称"
placeholder="请输入学校名称"
v-model='insuredInfo.schoolName'
v-show='showField'
label='学校名称'
name='学校名称'
placeholder='请输入学校名称'
/>
<van-field
v-model="insuredInfo.className"
v-show="showField"
label="班级名称"
name="班级名称"
placeholder="请输入班级名称"
v-model='insuredInfo.className'
v-show='showField'
label='班级名称'
name='班级名称'
placeholder='请输入班级名称'
/>
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
<select-radio v-show='showField' :radios='medicalRadio' label='有无社保' name='有无社保'
:value.sync='medical'></select-radio>
<van-field
v-if="averageAnnualIncomeFlag"
v-model="insuredInfo.averageAnnualIncome"
label="平均年收入(万元)"
name="平均年收入"
v-if='averageAnnualIncomeFlag'
v-model='insuredInfo.averageAnnualIncome'
label='平均年收入(万元)'
name='平均年收入'
required
placeholder="请输入,单位万元"
placeholder='请输入,单位万元'
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
maxlength='5'
/>
<van-field
:value="insuredInfo.nativeplace | idToText('nativeplace')"
readonly
required
label="国籍"
name="国籍"
right-icon="arrow"
placeholder="请选择"
label='国籍'
name='国籍'
right-icon='arrow'
placeholder='请选择'
@click="toSelect('11')"
/>
<van-field
:value="insuredInfo.marriage | idToText('marriage')"
readonly
required
label="婚姻状况"
name="婚姻状况"
right-icon="arrow"
placeholder="请选择"
label='婚姻状况'
name='婚姻状况'
right-icon='arrow'
placeholder='请选择'
@click="toSelect('66')"
/>
<van-field
v-model="insuredInfo.homeName"
v-model='insuredInfo.homeName'
readonly
label="联系地址"
name="联系地址"
label='联系地址'
name='联系地址'
required
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
@click="areaSelect('2')"
/>
<van-field v-model="insuredInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" clearable maxlength="30" />
<van-field v-model='insuredInfo.homeAddress' label name='详细地址' placeholder='请输入详细地址' clearable maxlength='30' />
<div class="pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox">
<van-checkbox v-model="withRootUser.value">同投保人</van-checkbox>
<div class='pl10 pt10 pb10 pr10 address fs14 redRadioCheckbox'>
<van-checkbox v-model='withRootUser.value'>同投保人</van-checkbox>
</div>
</van-cell-group>
<van-cell-group class="mt10" v-else>
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">被保人信息</p>
<customer-picker v-validate="'required|name'" name="被保险人姓名" label="被保险人姓名" required readonly :value.sync="userInfo.name"></customer-picker>
<van-cell-group class='mt10' v-else>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>被保人信息</p>
<customer-picker v-validate="'required|name'" name='被保险人姓名' label='被保险人姓名' required readonly
:value.sync='userInfo.name'></customer-picker>
<van-field
:value="userInfo.idType | idToText('insuredIdType')"
v-validate="'required'"
readonly
required
label="证件类型"
name="证件类型"
right-icon="arrow"
placeholder="请选择"
label='证件类型'
name='证件类型'
right-icon='arrow'
placeholder='请选择'
/>
<van-field
v-model="userInfo.idNo"
maxlength="18"
v-model='userInfo.idNo'
maxlength='18'
required
readonly
label="证件号码"
label='证件号码'
v-validate="'required'"
name="证件号码"
placeholder="请输入"
name='证件号码'
placeholder='请输入'
clearable
/>
<FieldDatePicter
required
label="证件截止日期"
name="证件截止日期"
:value.sync="userInfo.certiexpiredate"
type="date"
ref="certiexpiredate"
:flag="true"
label='证件截止日期'
name='证件截止日期'
:value.sync='userInfo.certiexpiredate'
type='date'
ref='certiexpiredate'
:flag='true'
readonly
></FieldDatePicter>
<div class="border-bt relative fs14 p10 flex justify-content-fe">
<van-checkbox v-model="userInfo.effectiveDateType" disabled="false">长期</van-checkbox>
<div class='border-bt relative fs14 p10 flex justify-content-fe'>
<van-checkbox v-model='userInfo.effectiveDateType' disabled='false'>长期</van-checkbox>
</div>
<select-radio required :disabled="true" :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="userInfo.sex"></select-radio>
<select-radio required :disabled='true' :radios='sexRadio' label='性别' name='性别' v-validate="'required'"
:value.sync='userInfo.sex'></select-radio>
<FieldDatePicter
v-validate="'required'"
label="出生日期"
name="出生日期"
label='出生日期'
name='出生日期'
readonly
required
:value.sync="userInfo.birthday"
type="date"
:flag="true"
ref="insuredBirthday"
:maxDate="maxDate"
:value.sync='userInfo.birthday'
type='date'
:flag='true'
ref='insuredBirthday'
:maxDate='maxDate'
></FieldDatePicter>
<van-field
required
v-model="userInfo.mobile"
v-model='userInfo.mobile'
clearable
label="手机号码"
name="手机号码"
placeholder="请输入"
label='手机号码'
name='手机号码'
placeholder='请输入'
v-validate="'required|mobile'"
maxlength="11"
maxlength='11'
readonly
/>
<van-field v-model="userInfo.email" readonly required label="邮箱" name="邮箱" placeholder="请输入" v-validate="'required|email'" clearable />
<van-field readonly required label="职业类别" name="职业类别" :value="userInfo.occupationName" right-icon="arrow" />
<van-field v-model='userInfo.email' readonly label='邮箱' name='邮箱' placeholder='请输入'
v-validate="'email'" clearable />
<van-field readonly required label='职业类别' name='职业类别' :value='userInfo.occupationName' right-icon='arrow' />
<van-field
v-model="userInfo.schoolName"
v-show="showField"
label="学校名称"
name="学校名称"
placeholder="请输入学校名称"
v-model='userInfo.schoolName'
v-show='showField'
label='学校名称'
name='学校名称'
placeholder='请输入学校名称'
/>
<van-field
v-model="userInfo.className"
v-show="showField"
label="班级名称"
name="班级名称"
placeholder="请输入班级名称"
v-model='userInfo.className'
v-show='showField'
label='班级名称'
name='班级名称'
placeholder='请输入班级名称'
/>
<select-radio v-show="showField" :radios="medicalRadio" label="有无社保" name="有无社保" :value.sync="medical"></select-radio>
<select-radio v-show='showField' :radios='medicalRadio' label='有无社保' name='有无社保'
:value.sync='medical'></select-radio>
<van-field
v-if="averageAnnualIncomeFlag"
v-model="userInfo.averageAnnualIncome"
label="平均年收入(万元)"
name="平均年收入"
v-if='averageAnnualIncomeFlag'
v-model='userInfo.averageAnnualIncome'
label='平均年收入(万元)'
name='平均年收入'
required
readonly
placeholder="请输入,单位万元"
placeholder='请输入,单位万元'
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
maxlength='5'
/>
<van-field
:value="userInfo.nativeplace | idToText('nativeplace')"
readonly
required
label="国籍"
name="国籍"
label='国籍'
name='国籍'
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
/>
<van-field
:value="userInfo.marriage | idToText('marriage')"
readonly
required
label="婚姻状况"
name="婚姻状况"
label='婚姻状况'
name='婚姻状况'
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
/>
<van-field
v-model="userInfo.homeName"
v-model='userInfo.homeName'
readonly
label="联系地址"
name="联系地址"
label='联系地址'
name='联系地址'
required
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
v-validate="'required'"
/>
<van-field readonly v-model="userInfo.homeAddress" label name="详细地址" placeholder="请输入详细地址" v-validate="'required'" clearable maxlength="30" />
<van-field readonly v-model='userInfo.homeAddress' label name='详细地址' placeholder='请输入详细地址' v-validate="'required'"
clearable maxlength='30' />
</van-cell-group>
<!-- 受益人信息 -->
<van-cell-group class="mt10">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">受益人信息</p>
<van-field required readonly v-model="bnfTypeVal" clearable label="受益人类型" v-validate="'required'" style="border-bottom: 1px solid #ebedf0" />
<van-cell-group class='mt10'>
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>受益人信息</p>
<van-field required readonly v-model='bnfTypeVal' clearable label='受益人类型' v-validate="'required'"
style='border-bottom: 1px solid #ebedf0' />
</van-cell-group>
<p style="background: white; border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">产品信息</p>
<p style='background: white; border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>产品信息</p>
<van-field
:value="proScheme"
:value='proScheme'
readonly
required
label="保障方案"
name="保障方案"
label='保障方案'
name='保障方案'
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
right-icon='arrow'
placeholder='请选择'
@click="toSelect('10')"
/>
<FieldDatePicter
label="指定生效日期"
name="指定生效日期"
label='指定生效日期'
name='指定生效日期'
required
v-validate="'required'"
:minDate="now"
:value.sync="cvaliDate"
type="date"
:flag="true"
:minDate='now'
:value.sync='cvaliDate'
type='date'
:flag='true'
@confirm="onDateConfirm($event, '6')"
ref="effectiveDate"
ref='effectiveDate'
input-align:right
:maxDate="filterMaxDate"
:maxDate='filterMaxDate'
>
</FieldDatePicter>
<div v-if="cvaliDate.length > 0" class="van-cell van-field" style="border-bottom: 1px solid rgb(235, 237, 240)">
<div class="van-cell__title van-field__label"><span>保险期间</span></div>
<div class="van-cell__value">
<div class="van-field__body">
<span class="van-field__control">{{ productDate }}</span>
<div v-if='cvaliDate.length > 0' class='van-cell van-field' style='border-bottom: 1px solid rgb(235, 237, 240)'>
<div class='van-cell__title van-field__label'><span>保险期间</span></div>
<div class='van-cell__value'>
<div class='van-field__body'>
<span class='van-field__control'>{{ productDate }}</span>
</div>
</div>
</div>
<div class="van-cell van-field" v-show="showField || showFirstOr" style="border-bottom: 1px solid rgb(235, 237, 240)">
<div class='van-cell van-field' v-show='showField || showFirstOr'
style='border-bottom: 1px solid rgb(235, 237, 240)'>
<van-cell>
<van-radio-group v-model="firstOr" >
<van-radio-group v-model='firstOr'>
<van-row>
<van-col span="11">
<van-radio name="0">首次投保</van-radio>
<van-col span='11'>
<van-radio name='0'>首次投保</van-radio>
</van-col>
<van-col span="13">
<van-radio name="1">保险期间届满重新投保</van-radio>
<van-col span='13'>
<van-radio name='1'>保险期间届满重新投保</van-radio>
</van-col>
</van-row>
</van-radio-group>
@@ -491,43 +512,51 @@
>
</van-checkbox-group> -->
<!-- <div class="tips" v-if="cvaliDate.length > 0">注2020年04月03日0时至2021年04月02日24时止。</div> -->
<div class="tips" v-if="this.itemProductDTOS.productCode === 'GFRS_M0048'||this.itemProductDTOS.productCode === 'GFRS_M0049'||this.itemProductDTOS.productCode === 'GFRS_M0050'||this.itemProductDTOS.productCode === 'GFRS_M0052'">为未成年子女投保的人身保险在被保险人成年之前因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额身故给付的保险金额总和的约定也不得超过前述限额但航空意外死亡保险金额及重大自然灾害意外死亡保险金额不计算在上述规定限额之中</div>
<van-goods-action style="z-index: 99">
<van-button type="default" style="width: 50%; font-size: 14px; height: 40px; background: white"
>总保费:<span style="color: red; font-weight: bold; font-size: 18px; font-weight: 400">{{ allPrice }}</span
></van-button
<div class='tips'
v-if="this.itemProductDTOS.productCode === 'GFRS_M0048'||this.itemProductDTOS.productCode === 'GFRS_M0049'||this.itemProductDTOS.productCode === 'GFRS_M0050'||this.itemProductDTOS.productCode === 'GFRS_M0052'">
注:为未成年子女投保的人身保险,在被保险人成年之前,因被保险人身故给付的保险金总和不得超过国务院保险监督管理机构规定的限额,身故给付的保险金额总和的约定也不得超过前述限额。但航空意外死亡保险金额及重大自然灾害意外死亡保险金额不计算在上述规定限额之中。
</div>
<van-goods-action style='z-index: 99'>
<van-button type='default' style='width: 50%; font-size: 14px; height: 40px; background: white'
>总保费:<span style='color: red; font-weight: bold; font-size: 18px; font-weight: 400'>{{ allPrice }}</span
>元
</van-button
>
<van-goods-action-button type="danger" text="立即投保" @click="nextStep" v-no-more-click="1000" style="border-radius: 0em; width: 50%; height: 40px" />
<van-goods-action-button type='danger' text='立即投保' @click='nextStep' v-no-more-click='1000'
style='border-radius: 0em; width: 50%; height: 40px' />
</van-goods-action>
<!-- <van-dialog v-model="showDialog" title="温馨提示" message="被保险人年龄与所投保的方案不一致,请核实。" show-cancel-button @confirm="nextStep" confirmButtonText="继续投保" cancelButtonText="核对信息"> -->
<!-- </van-dialog> -->
<!-- 职业类别弹窗 -->
<van-popup v-model="occupationShowPicker" position="bottom">
<occupation-for-loop @chooseOccupation="chooseOccupation" :name="occupationName" :code="occupationCode"></occupation-for-loop>
<van-popup v-model='occupationShowPicker' position='bottom'>
<occupation-for-loop @chooseOccupation='chooseOccupation' :name='occupationName' :code='occupationCode'
:type='occupationalType'></occupation-for-loop>
</van-popup>
<!-- 字段选择 -->
<van-popup v-model="popupShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" :default-index="pickerIndex" @cancel="popupShow = false" />
<van-popup v-model='popupShow' position='bottom'>
<van-picker show-toolbar :columns='columns' @confirm='onConfirm' :default-index='pickerIndex'
@cancel='popupShow = false' />
</van-popup>
<!-- 地区选择 -->
<!-- <van-popup v-model="areaShow" position="bottom">
<van-area :area-list="areaList" value="110101" @confirm="sureArea($event, '1')" @cancel="areaShow = false" />
</van-popup> -->
<!-- 家庭地址选择 -->
<van-popup v-model="homeShow" position="bottom">
<van-area :area-list="areaList" :value="areaCode" @confirm="sureArea($event, '2')" @cancel="homeShow = false" />
<van-popup v-model='homeShow' position='bottom'>
<van-area :area-list='areaList' :value='areaCode' @confirm="sureArea($event, '2')" @cancel='homeShow = false' />
</van-popup>
<!-- 户籍选择 -->
<van-popup v-model="censusShow" position="bottom">
<van-area :area-list="areaList" value="110101" :columns-num="2" @confirm="sureArea($event, '3')" @cancel="censusShow = false" />
<van-popup v-model='censusShow' position='bottom'>
<van-area :area-list='areaList' value='110101' :columns-num='2' @confirm="sureArea($event, '3')"
@cancel='censusShow = false' />
</van-popup>
<!--身份证扫描 -->
<van-popup v-model="isScan" position="bottom">
<IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan>
<van-popup v-model='isScan' position='bottom'>
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
</van-popup>
<van-popup v-model="isScan2" position="bottom">
<IdentityCardScan @getScanInfo="getIdentityInfo"></IdentityCardScan>
<van-popup v-model='isScan2' position='bottom'>
<IdentityCardScan @getScanInfo='getIdentityInfo'></IdentityCardScan>
</van-popup>
</div>
</template>
@@ -551,8 +580,10 @@ import CacheUtils from '@/assets/js/utils/cacheUtils'
import { idToData } from './js/verification'
import OccupationForLoop from '@/components/ebiz/occipation/OccupationForLoop'
import { selectComp, getIdentityInfo } from './js/methods'
import dateUtils from '@/assets/js/utils/date-utils'
import Vue from 'vue'
import { GoodsAction, GoodsActionIcon, GoodsActionButton } from 'vant'
DataDictionary.relationToAppnt = DataDictionary.relationToAppnt.slice(0, 4)
Vue.use(Checkbox).use(CheckboxGroup)
Vue.use(GoodsAction)
@@ -714,8 +745,9 @@ export default {
chooseKind: '',
withRootUser: {
load: false, //防止重复请求
value: false,
value: false
},
occupationalType: DataDictionary.queryOccupationalByType[0].id
}
},
created() {
@@ -741,8 +773,17 @@ export default {
// })
// }
if (this.itemProductDTOS.productCode === 'GFRS_M0048' || this.itemProductDTOS.productCode === 'GFRS_M0049' || this.itemProductDTOS.productCode === 'GFRS_M0050') {
this.userInfo.relationToInsured = "";
this.showField=true;
this.userInfo.relationToInsured = ''
this.showField = true
let currentTime = dateUtils.formatDate(new Date(),'yyyy-MM-dd')
let currentDataArr = currentTime.split('-')
if (currentDataArr[1] >= 6 && currentDataArr[1] <= 8) {
this.cvaliDate = currentDataArr[0]+'-09-01'
this.onDateConfirm(this.cvaliDate,'6')
}else{
this.cvaliDate = dateUtils.formatDate(afterDate.getAfterDays(1),'yyyy-MM-dd')
this.onDateConfirm(this.cvaliDate,'6')
}
}
//GFRS-2641 少儿安康
if (this.itemProductDTOS.productCode === 'GFRS_M0052') {
@@ -753,6 +794,7 @@ export default {
this.isLessEighteen = false
}
this.userInfo.homeName = getAreaName([{ code: 450000 }, { code: 450100 }, { code: 620201 }]) //家庭地址
this.userInfo.homeName = getAreaName([{ code: this.userInfo.homeProvince = 450000 }, { code: this.userInfo.homeCity = 450100 }, { code: this.userInfo.homeArea = 620201 }]) //家庭地址
},
mounted() {
// 2516--除万福卡投保人、被保险人年收入默认为0允许修改
@@ -1002,9 +1044,9 @@ export default {
//与被保人关系限定为:父母 (不可选,枚举值只有一个)
if (this.itemProductDTOS.productCode === 'GFRS_M0048' || this.itemProductDTOS.productCode === 'GFRS_M0049' ||
this.itemProductDTOS.productCode === 'GFRS_M0052') {
this.columns = DataDictionary.relationToAppnt.slice(2,3);
this.columns = DataDictionary.relationToAppnt.slice(2, 3)
} else if (this.itemProductDTOS.productCode === 'GFRS_M0050') {
this.columns = DataDictionary.relationToAppnt.slice(0,1).concat(DataDictionary.relationToAppnt.slice(2,3));
this.columns = DataDictionary.relationToAppnt.slice(0, 1).concat(DataDictionary.relationToAppnt.slice(2, 3))
} else {
this.columns = DataDictionary.relationToAppnt
}
@@ -1115,8 +1157,7 @@ export default {
onDateConfirm(val, type) {
console.log(type)
switch (type) {
case '0':
{
case '0': {
//证件起始日期
//如果录入日期早于出生日期或晚于当前日期
if (Date.parse(val) > Date.parse(new Date()) || Date.parse(val) < Date.parse(this.userInfo.birthday)) {
@@ -1133,8 +1174,7 @@ export default {
// }
}
break
case '1':
{
case '1': {
console.log('证件截止日期')
//证件截止日期
//如果已经勾选了长期
@@ -1179,8 +1219,7 @@ export default {
// }
}
break
case '2':
{
case '2': {
//出生日期
//如果录入日期晚于当前日期
if (Date.parse(val) > Date.parse(new Date())) {
@@ -1195,8 +1234,7 @@ export default {
// }
}
break
case '5':
{
case '5': {
//被保人出生日期
//如果录入日期晚于当前日期
if (Date.parse(val) > Date.parse(new Date())) {
@@ -1222,8 +1260,7 @@ export default {
}
}
break
case '6':
{
case '6': {
//指定生效日期
//如果录入日期晚于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
@@ -1249,8 +1286,7 @@ export default {
this.productDate = currentData + '0时至' + productDateTime + '24时止'
}
break
case '7':
{
case '7': {
console.log('证件截止日期')
//被保人--证件截止日期
//如果已经勾选了长期
@@ -1981,6 +2017,8 @@ export default {
this.insuredInfo.mobile = this.userInfo.mobile
this.insuredInfo.email = this.userInfo.email
} else if (this.itemProductDTOS.productCode == 'GFRS_M0049') {
this.insuredInfo.idType = '2'
this.insuredInfo.effectiveDateType = true
this.insuredInfo.occupationCode = '2099908'
this.insuredInfo.occupationName = '学龄前儿童'
}
@@ -1989,6 +2027,7 @@ export default {
this.insuredInfo.idType = '2'
this.insuredInfo.certiexpiredate = ''
this.insuredInfo.effectiveDateType = true
this.insuredInfo.occupationCode = '2099907'
this.insuredInfo.occupationName = '一般学生'
this.insuredInfo.marriage = '2'
}
@@ -2029,41 +2068,50 @@ export default {
deep: true
},
async 'withRootUser.value'(n) {
if (n) {
this.insuredInfo.homeName = getAreaName([
{ code: this.userInfo.homeProvince },
{ code: this.userInfo.homeCity },
{ code: this.userInfo.homeArea },
{ code: this.userInfo.homeArea }
])
this.insuredInfo.homeProvince = this.userInfo.homeProvince
this.insuredInfo.homeCity = this.userInfo.homeCity
this.insuredInfo.homeArea = this.userInfo.homeArea
this.insuredInfo.homeAddress = this.userInfo.homeAddress
},
} else {
this.insuredInfo.homeName = this.insuredInfo.homeAddress = ''
}
}
}
}
</script>
<style lang="scss">
<style lang='scss'>
// *{ touch-action: none; }
.insured-info-container {
/deep/ .van-checkbox {
margin-left: auto;
align-items: normal;
.van-checkbox__icon {
margin-top: 5px;
}
}
/deep/ .van-radio {
margin-left: auto;
}
}
.van-checkbox__label {
font-size: 13px;
}
.tips {
font-size: 14px;
color: #333;
padding: 15px;
}
.address {
display: flex;
flex-direction: row-reverse;