Files
ebiz-h5/src/views/ebiz/sale/InsuredPerson.vue

2115 lines
89 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="insured-person-container pb50 redRadioCheckbox">
<!-- 基本信息 -->
<index-bar :key="renovate"></index-bar>
<van-cell-group v-if="!isScan">
<p style="border-bottom: 1px solid #ebedf0" class="mt10 fs15 fwb pl10 pv12">基本信息</p>
<van-field
:value="userInfo.relationToAppnt | idToText('relationToAppnt')"
readonly
required
label="是投保人的"
name="是投保人的"
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('7')"
/>
<customer-picker
@on-choose="chooseCustomer"
v-validate="'required|salename'"
name="姓名"
label="姓名"
required
v-model="userInfo.name"
:parentShowPicker.sync="customerShowPicker"
@nameChange="nameChange"
@on-click="selectClick('1')"
:readonly="isAppnt"
></customer-picker>
<van-field
:value="userInfo.idType | idToText('idType')"
v-validate="'required'"
readonly
required
label="证件类型"
name="证件类型"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('2')"
/>
<!-- <van-field v-model="userInfo.idNo" v-validate="'required|idNo'" maxlength="18" label="证件号码" name="证件号码" placeholder="请输入" clearable> -->
<van-field
v-model="userInfo.idNo"
maxlength="18"
label="证件号码"
name="证件号码"
required
placeholder="手工录入或点击右侧证件扫描"
clearable
:readonly="isAppnt"
v-validate="'required'"
@blur="getRelatedData(userInfo.idNo)"
>
<van-button v-if="userInfo.idType == 1" slot="button" size="small" type="danger" round @click="selectClick('3')" v-no-more-click="1000"
>证件扫描</van-button
>
</van-field>
<FieldDatePicter
v-validate="'required'"
label="出生日期"
name="出生日期"
:value.sync="userInfo.birthday"
type="date"
required
:flag="true"
@confirm="onDateConfirm($event, '2')"
ref="birthday"
:readonly="isAppnt"
:maxDate="currentTime"
></FieldDatePicter>
<FieldDatePicter
v-validate="'required'"
label="证件起始日期"
name="证件起始日期"
required
:defaultDate="new Date()"
:value.sync="userInfo.certificateValidate"
type="date"
:flag="true"
@confirm="onDateConfirm($event, '0')"
ref="certificateValidate"
:readonly="isAppnt"
></FieldDatePicter>
<FieldDatePicter
v-if="!userInfo.effectiveDateType"
v-validate="{ required: certiexpiredateRequired }"
label="证件截止日期"
name="证件截止日期"
:required="isRequired"
:defaultDate="new Date()"
:value.sync="userInfo.certiexpiredate"
type="date"
@confirm="onDateConfirm($event, '1')"
ref="certiexpiredate"
:flag="certiexpiredateShow"
:readonly="isAppnt || idLimit"
></FieldDatePicter>
<div class="border-bt relative fs14 p10 flex align-center">
<van-checkbox v-model="userInfo.effectiveDateType" class="fr" :disabled="effectiveDateTypeAble" @change="effectiveDataTypeChange">长期</van-checkbox>
</div>
<select-radio :radios="sexRadio" label="性别" name="性别" required v-validate="'required'" :value.sync="userInfo.sex" :disabled="isAppnt"></select-radio>
<van-field
:value="userInfo.marriageStatus"
readonly
required
label="婚姻状况"
name="婚姻状况"
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
@click="setMarriageStatus('10')"
/>
<van-field
:value="userInfo.nativeplace | idToText('nativeplace')"
readonly
label="国籍"
name="国籍"
required
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
@click="toSelect('1')"
/>
<!-- <van-field
:value="census"
required
readonly
label="户籍"
name="户籍"
v-validate="'required'"
right-icon="arrow"
placeholder="请选择"
@click="areaChoose('1')"
/> -->
<van-field
v-model="userInfo.mobile"
clearable
label="移动电话"
name="移动电话"
required
placeholder="请输入"
v-validate="'required|mobileLength11|mobileStartWith1|mobile'"
maxlength="11"
:readonly="isAppnt"
/>
<!-- <van-field
v-if="!isAppnt"
v-model="userInfo.authCode"
center
clearable
label=""
name="短信验证码"
placeholder="请输入短信验证码"
v-validate="'required'"
maxlength="6"
>
<van-button slot="button" size="small" type="danger" :disabled="codeDisabled" @click="getCode" v-no-more-click="1000">{{
codeDisabled ? `${countDown}s后重新获取` : '发送验证码'
}}</van-button>
</van-field> -->
<!-- <van-field
v-model="userInfo.email"
required
label="电子邮箱"
name="电子邮箱"
placeholder="请输入"
v-validate="'required|email'"
clearable
:readonly="isAppnt"
/> -->
<van-field
v-if="Number(branchType)!==14"
v-model="userInfo.stature"
label="身高(cm)"
name="身高"
required
placeholder="请输入单位cm"
v-validate="Number(branchType)!==14? '' :'required|' + 'onlyNumber|stature'"
clearable
maxlength="5"
:readonly="isAppnt"
@blur="checkStature(userInfo.stature)"
/>
<van-field
v-if="Number(branchType)!==14"
v-model="userInfo.avoirdupois"
label="体重(kg)"
name="体重"
required
placeholder="请输入单位kg"
v-validate="Number(branchType)!==14? '' :'required|' +'required|onlyNumber'"
clearable
:readonly="isAppnt"
@blur="checkAvoirdupois(userInfo.avoirdupois)"
/>
<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"/>
</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-cell-group>
<!-- 工作信息 -->
<van-cell-group class="mt5" v-if="!isScan">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 mt10 fwb pl10 pv12">工作信息</p>
<!-- <van-field
:value="userInfo.degree | idToText('degree')"
readonly
label="文化程度"
name="文化程度"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('3')"
/> -->
<select-radio
v-if="Number(branchType) !== 14"
:radios="medicalRadio"
label="有无社保"
name="有无社保"
v-validate="'required'"
required
:value.sync="userInfo.medical"
:disabled="isAppnt"
></select-radio>
<!-- <van-field
:value="userInfo.taxResidentId | idToText('taxIdentity')"
readonly
label="税收居民身份"
name="税收居民身份"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('5')"
/> -->
<occupation-picker
:value.sync="userInfo.occupationCode"
:chooseName.sync="userInfo.occupationName"
:lifeGrade.sync="userInfo.lifeGrade"
:healthGrade.sync="userInfo.healthGrade"
clearable
label="职业类别"
name="职业类别"
required
v-validate="'required'"
placeholder="请选择"
:parentShowPicker.sync="occupationShowPicker"
@on-click="selectClick('2')"
@on-choose="chooseOccupation"
/>
<van-field
:value="userInfo.salarySource | idToText('salarySource')"
readonly
label="收入来源"
name="收入来源"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('9')"
v-if="branchType != '14'"
/>
<van-field
v-show="isShowOthenSalarySource"
v-model="userInfo.otherSalarySource"
label
name="其他来源"
required
placeholder="请输入其它收入来源"
clearable
maxlength="30"
/>
<van-field
v-model="userInfo.averageAnnualIncome"
label="平均年收入(万元)"
name="平均年收入"
placeholder="请输入,单位万元"
required
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
:readonly="isAppnt"
/>
<van-field
v-model="userInfo.liabilitiesMoney"
name="负债金额"
placeholder="请输入,单位万元"
required
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
:readonly="isAppnt"
v-if="branchType != '14'"
>
<div slot="label" class="flex flex-wrap"><span>负债金额</span><span>万元</span></div>
</van-field>
<!-- <van-field
:value="userInfo.jobStatus | idToText('workCondition')"
readonly
label="在职情况"
name="在职情况"
required
placeholder="请选择"
v-validate="'required'"
right-icon="arrow"
@click="toSelect('8')"
/> -->
<!-- <van-field
v-model="userInfo.workcompany"
label="工作单位"
name="工作单位"
placeholder="无工作单位,请输入无"
maxlength="50"
required
v-validate="'required'"
clearable
:readonly="isAppnt"
/> -->
<select-radio v-if="userInfo.relationToAppnt != 1 && Number(branchType) !== 14" required :radios="Asyncs" label="是否协同工作单位" name="是否协同工作单位" v-validate="'required'" :value.sync="userInfo.isAsync"></select-radio>
<SearchField
v-model="userInfo.workcompany"
@workcompanys="workcompanys"
:isAsync="userInfo.isAsync == 1"
label="工作单位"
placeholder="无工作单位,请输入无"
v-validate="'required'"
name="工作单位"
v-if="Number(branchType) !== 14 && userInfo.relationToAppnt != 1"
/>
<!-- <van-field
v-model="areaName"
readonly
label="单位地址"
name="单位地址"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="areaChoose('3')"
/> -->
<!-- <van-field
v-model="userInfo.companyAddress"
label=""
name="详细地址"
placeholder="请输入详细地址"
v-validate="'required'"
clearable
maxlength="30"
:readonly="isAppnt"
/> -->
<!-- <van-field
v-model="userInfo.companyZip"
label="邮编"
name="邮编"
placeholder="请输入"
required
v-validate="'required|zipCode'"
maxlength="6"
clearable
:readonly="isAppnt"
/> -->
<!-- <van-field v-model="userInfo.companyPhone" label="单位电话" name="单位电话" placeholder="非必填" maxlength="13" clearable :readonly="isAppnt" /> -->
</van-cell-group>
<!-- 家庭信息 -->
<van-cell-group class="mt5" v-if="!isScan">
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pr10 mt10 pv12">地址信息</p>
<!-- <van-field
:value="userInfo.marriage | idToText('marriage')"
readonly
required
label="婚姻状况"
name="婚姻状况"
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('6')"
/> -->
<!-- <van-field
v-model="userInfo.familyAnnualIncome"
label="家庭年收入(万元)"
name="家庭年收入"
required
placeholder="请输入,单位万元"
v-validate="'required|onlyNumber'"
clearable
maxlength="5"
:readonly="isAppnt"
/> -->
<van-field
v-model="homeName"
readonly
label="联系地址"
name="联系地址"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required|contactAdderss'"
@click="areaChoose('2')"
/>
<van-field
v-model="userInfo.homeAddress"
label=""
name="详细地址"
placeholder="具体到街道、门牌号、楼号、单元号、室号"
v-validate="'required|homeAddressNum|homeAddressCh'"
clearable
maxlength="30"
:readonly="isAppnt"
style="font-size: 3.5vw"
/>
<!-- <van-field
v-model="userInfo.homeZip"
label="邮编"
name="邮编"
required
placeholder="请输入"
v-validate="'required|zipCode'"
maxlength="6"
clearable
:readonly="isAppnt"
/> -->
<!-- <van-field v-model="userInfo.homePhone" label="家庭电话" name="家庭电话" placeholder="非必填" maxlength="13" clearable :readonly="isAppnt" /> -->
<div class="pl10 pt10 pb10 pr10 address fs14">
<van-checkbox v-model="withRootUser.value">同投保人</van-checkbox>
</div>
</van-cell-group>
<van-button type="danger" class="bottom-btn" @click="nextStep" v-if="!isScan" v-no-more-click="1000">下一步</van-button>
<!-- 字段选择 -->
<van-popup v-model="popupShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @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="areaLists" :value="areaValue" @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>
<!-- 银行卡扫描 -->
<van-popup v-model="isScan" position="bottom">
<IdentityCardScan :scanShow="isScan" @getScanInfo="getIdentityInfo"></IdentityCardScan>
</van-popup>
<van-popup v-model="isMarriageStatusShow" position="bottom">
<van-picker show-toolbar :columns="columns" @confirm="onMarriageConfirm" @cancel="isMarriageStatusShow = false" />
</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>
import {Field, CellGroup, Checkbox, Popup, Picker, Area, Dialog, RadioGroup, Radio} from 'vant'
import SelectRadio from '@/components/ebiz/SelectRadio'
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/areaForSale'
import areaLists from '@/assets/js/utils/areaNewForSale'
import countCredentialValidity from '@/assets/js/utils/countCredentialValidity'
import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age'
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
import idNoCheck from '@/assets/js/utils/idNoCheck'
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
import { idToData } from './js/verification'
import { selectComp, getIdentityInfo } from './js/methods'
import IndexBar from '@/components/ebiz/sale/IndexBar'
import SearchField from '@/components/common/SearchField'
import riskRules from '@/views/ebiz/common/risk-rules'
export default {
name: 'insuredInfo',
components: {
[SelectRadio.name]: SelectRadio,
[FieldDatePicter.name]: FieldDatePicter,
[OccupationPicker.name]: OccupationPicker,
[CustomerPicker.name]: CustomerPicker,
[Field.name]: Field,
[CellGroup.name]: CellGroup,
[Checkbox.name]: Checkbox,
[Popup.name]: Popup,
[Picker.name]: Picker,
[Area.name]: Area,
[IdentityCardScan.name]: IdentityCardScan,
[IndexBar.name]: IndexBar,
[Dialog.name]: Dialog,
[RadioGroup.name]: RadioGroup,
[Radio.name]: Radio,
SearchField,
},
data() {
return {
isNewPeopleFlagTipshow: false,
isMarriageStatusShow: false,
withRootUser: {
load: false, //防止重复请求
value: false,
},
isScan: false, //是否显示证件扫描组件
effectiveDateTypeAble: false, //长期按钮是否禁用
Asyncs: [
{
label: '是',
value: '1'
},
{
label: '否',
value: '0'
}
],
sexRadio: [
{
label: '男',
value: '0',
},
{
label: '女',
value: '1',
},
],
medicalRadio: [
{
label: '有',
value: '0',
},
{
label: '无',
value: '1',
},
],
currentTime: beforeDate.getBeforeDays(28),
fromCustomer: false, //是否从客户列表拉取的数据
codeDisabled: false, //获取验证码是否禁用
countDown: 60, //倒计时
certiexpiredateRequired: true, //证件截止日期是否需要校验
popupShow: false,
areaShow: false, //省级联动
homeShow: false,
certiexpiredateShow: true, //证件截止日期是否可编辑
censusShow: false, //户籍联动
pickerType: undefined,
columns: [],
valueKey: 'text',
// census: '', //户籍
// areaName: '',
homeName: '',
isRequired: '', //长期前是否有*
userInfo: {
marriageStatus: '',
name: '',
// sex: '0',
sex: '',
nativeplace: '1', //国家地区
birthday: '',
idType: '1', //证件类型
idNo: '', //证件号码
certificateValidate: '', //证件起始日期
certiexpiredate: '', //证件到期时间
effectiveDateType: false, //是否长期
occupationCode: '',
occupationName: '',
salarySource: '', // 收入来源
otherSalarySource: '', // 其他来源
lifeGrade: '', //寿险等级
healthGrade: '', //健康等级
// jobStatus: '', //在职情况
postcode: '', //邮编
mobile: '',
officeTel: '', //单位电话
stature: '', //身高
avoirdupois: '', //体重
// authCode: '', //验证码
// degree: '', //文化程度
medical: '1', //有无社保
// taxResidentId: '', //税收居民身份
averageAnnualIncome: '', //平均年收入
liabilitiesMoney: '', //负债金额
workcompany: '', //工作单位
isAsync: 0, //是否协同工作单位 0否 1是
// village: '',
province: '',
// city: '',
area: '',
marriage: '',
// familyAnnualIncome: '', //家庭年收入
relationToAppnt: '',
// email: '',
// companyProvince: '', //单位省
companyCity: '', //单位市
companyArea: '', //单位区
// companyAddress: '', //单位详细地址
// companyZip: '', //单位邮编
// companyPhone: '', //单位电话
homeProvince: '', //家庭省
homeCity: '', //家庭市
homeArea: '', //家庭区
homeAddress: '', //家庭详细地址
// homeZip: '', //家庭邮编
// homePhone: '' //家庭电话
// householdProvince: '', //户籍省
// householdCity: '' //户籍市
// addressStatus: '' //是否是联系地址
isNewPeopleFlag: '', //新市民身份
npType: '', //新市民类型
},
areaList: areaList,
areaLists: areaLists,
currentPopupIndex: '',
customerShowPicker: false,
occupationShowPicker: false,
isAppnt: false, // 是否投被同人
// appntMarriage: '', //投保人婚姻状况
idLimit: false, //证件起止日期是否只读
salePageFlag: '2',
userWorkcompanys:[],//单位数据
manageComCode:'',//代理人管理机构 52贵州 45广西
areaValue:'', //代理人管理机构--省级编号
renovate:'',//是否展示风险测评
branchType:'',
}
},
created() {
this.specilFlag = this.$route.query.specilFlag
if(window.localStorage.getItem('branchType')) {
this.branchType = window.localStorage.getItem('branchType')
} else if(this.$route.query.branchType){
window.localStorage.setItem('branchType', this.$route.query.branchType)
this.branchType = this.$route.query.branchType
}
//如果是编辑/导航进来
// if (this.$route.query.edit) {
const orderNo = this.$route.query.orderNo
if (orderNo) {
getOrderDetail({ orderNo: orderNo }).then((res) => {
if (res.result == 0) {
this.renovate = new Date().getTime()
//投被同人
if (res.orderDTO.insuredDTOs.length && res.orderDTO.insuredDTOs[0].relationToAppnt == '1') {
this.$nextTick(() => {
this.isAppnt = true
//获取投保人信息
let insuredInfo = res.orderDTO.appntDTO
for (let key in this.userInfo) {
this.userInfo[key] = insuredInfo[key]
}
// let insuredCustomer = res.orderDTO.insuredDTOs[0]
// if (insuredCustomer) {
this.setCustomerMarriage(insuredInfo.marriage)
// }
this.userInfo.birthday = insuredInfo.birthday
//户籍
// this.sureArea([{ code: insuredInfo.householdProvince }, { code: insuredInfo.householdCity }], '3')
//单位地址
// this.sureArea([{ code: insuredInfo.companyProvince }, { code: insuredInfo.companyCity }, { code: insuredInfo.companyArea }], '1')
//联系地址
this.sureArea([{ code: insuredInfo.homeProvince }, { code: insuredInfo.homeCity }, { code: insuredInfo.homeArea }], '2')
//是否长期
if (insuredInfo.effectiveDateType == 'false') {
this.userInfo.effectiveDateType = false
this.effectiveDateTypeAble = false
} else {
this.userInfo.effectiveDateType = true
this.effectiveDateTypeAble = true
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
}
// this.userInfo.effectiveDateType = insuredInfo.effectiveDateType == 'false' ? false : true
//数据不是从用户列表拉取
this.fromCustomer = false
this.userInfo.relationToAppnt = '1'
//长期判断
if (this.userInfo.idType == '1') {
// 计算年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
}
})
}
// this.appntMarriage = res.orderDTO.appntDTO.marriage
this.$utils.intLocalStorage(res)
if (res.orderDTO.insuredDTOs[0]) {
let insuredPersonInfo = res.orderDTO.insuredDTOs[0]
for (let key in this.userInfo) {
this.userInfo[key] = res.orderDTO.insuredDTOs[0][key]
}
//是否长期
this.userInfo.effectiveDateType = insuredPersonInfo.effectiveDateType == 'false' ? false : true
//设为联系地址
// this.userInfo.addressStatus = '0'
// if (this.$route.query.isShow) {
//户籍
// if (insuredPersonInfo.householdProvince.length) {
// this.census = getAreaName([{ code: insuredPersonInfo.householdProvince }, { code: insuredPersonInfo.householdCity }])
// }
//单位地址
// if (insuredPersonInfo.companyProvince.length) {
// this.areaName = getAreaName([
// { code: insuredPersonInfo.companyProvince },
// { code: insuredPersonInfo.companyCity },
// { code: insuredPersonInfo.companyArea }
// ])
// }
//联系地址
if (insuredPersonInfo.homeProvince.length) {
this.homeName = getAreaName([
{ code: insuredPersonInfo.homeProvince },
{ code: insuredPersonInfo.homeCity },
{ code: insuredPersonInfo.homeArea },
])
}
//是否长期
this.userInfo.effectiveDateType = insuredPersonInfo.effectiveDateType == 'false' ? false : true
// let saleInsuredPersonInfo = JSON.parse(localStorage.saleInsuredPersonInfo)
// this.userInfo = saleInsuredPersonInfo
// this.census = getAreaName([{ code: saleInsuredPersonInfo.householdProvince }, { code: saleInsuredPersonInfo.householdCity }]) //户籍
// this.areaName = getAreaName([
// { code: saleInsuredPersonInfo.companyProvince },
// { code: saleInsuredPersonInfo.companyCity },
// { code: saleInsuredPersonInfo.companyArea }
// ]) //单位地址
// this.homeName = getAreaName([
// { code: saleInsuredPersonInfo.homeProvince },
// { code: saleInsuredPersonInfo.homeCity },
// { code: saleInsuredPersonInfo.homeArea }
// ]) //联系地址
// }
if(this.userInfo.idType == '2'){
//证件类型如果是户口本时,证件有效止期不可编辑
this.idLimit = true
this.effectiveDateTypeAble = false
this.userInfo.effectiveDateType = false
}
//被保人证件类型如果是户口本时证件截止日期证件截止日期应为第16周岁的生日日期。
if(this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age <16){
// 获取出生日期年份16
let year = Number(this.userInfo.birthday.substr(0,4)) + 16
if(this.userInfo.birthday.substr(5,5) == '02-29'){
// 获取某年某月一共多少天
let date = new Date(year, 2, 1)
let dayEnd = new Date(date.getTime() - 864e5).getDate()
this.userInfo.certiexpiredate = year +'-02-'+ dayEnd
}else{
this.userInfo.certiexpiredate = year +'-'+ this.userInfo.birthday.substr(5,5)
}
}
}
//------------------------专为惠企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some((v) => {
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
})
? '1'
: '0'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0040') {
this.specilFlag = '1'
}
// ------------------------专为惠企写死--end---------------//
} else {
return this.$toast(res.resultMessage)
}
})
} else {
localStorage.setItem('salePageFlag', this.salePageFlag)
}
if (this.$route.query.edit && !this.$route.query.salePageFlag) {
//如果从保单列表点击编辑按钮进入
this.salePageFlag = '2'
localStorage.setItem('salePageFlag', this.salePageFlag)
}
},
async mounted() {
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
intercept: '1', //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
// // document.body.style.backgroundColor = '#F5F5F5'
//获取代理人管理机构 52贵州 45广西
let dataReturn = await riskRules.getAgentInfoFunc(this)
this.manageComCode = dataReturn.manageComCode
if(this.manageComCode == '45'){
areaLists.province_list = {
450000: '广西壮族自治区'
}
this.areaValue = '450000'
}else{
areaLists.province_list = {
520000: '贵州省'
}
this.areaValue = '520000'
}
this.areaLists = areaLists
},
methods: {
isNewPeopleFlagTip(){
this.isNewPeopleFlagTipshow = true
},
workcompanys(list) {
// 单位数据
console.log(list)
this.userWorkcompanys = list
},
setCustomerMarriage(marriageCode) {
for (let status of DataDictionary.marriage) {
if (status.id == marriageCode) {
this.userInfo.marriageStatus = status.text
this.userInfo.marriage = status.id
}
}
},
onMarriageConfirm(value) {
this.userInfo.marriageStatus = value.text
this.isMarriageStatusShow = false
},
setMarriageStatus() {
this.isMarriageStatusShow = true
this.columns = DataDictionary.marriage
},
//监听名字变化
nameChange(name) {
this.userInfo.name = name
},
selectClick(index) {
// 投被保险人不允许编辑
if (this.isAppnt) {
return
}
// this.currentPopupIndex = index
// let title = ''
// if (index == 1) {
// ;[this.customerShowPicker, title] = [true, '客户列表']
// } else if (index == 2) {
// ;[this.occupationShowPicker, title] = [true, '职业类别']
// } else if (index == 3) {
// localStorage.scanFromInsured = 'false'
// ;[this.isScan, title] = [true, '身份证扫描']
// }
// setTimeout(() => {
// this.$jump({
// flag: 'navigation',
// extra: {
// title,
// hiddenLeft: '1'
// }
// })
// this.closeBtn()
// }, 400)
// let that = this
selectComp(this, index, '2')
},
chooseOccupation() {
this.$jump({
flag: 'navigation',
extra: {
title: '被保险人信息',
hiddenRight: '1',
},
})
this.occupationShowPicker = false
},
//弹框选择
toSelect(pickerType, valueKey) {
// 投被同人不允许编辑
if (this.isAppnt && pickerType != '7') {
return
}
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 11、新市民类型
;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey
if (pickerType == '1') {
this.columns = DataDictionary.nativeplace
} else if (pickerType == '2') {
this.columns = DataDictionary.idType
} /*else if (pickerType == '3') {
this.columns = DataDictionary.degree
} */ else if (pickerType == '4') {
this.columns = [
{ id: 0, text: '有' },
{ id: 1, text: '无' },
]
} else if (pickerType == '5') {
this.columns = DataDictionary.taxIdentity
} /* else if (pickerType == '6') {
this.columns = DataDictionary.marriage
}*/ else if (pickerType == '7') {
if (this.specilFlag == '1') {
// 惠企保 投被关系限制
this.columns = DataDictionary.hqbRelationToAppnt
} else {
this.columns = DataDictionary.relationToAppnt
}
} else if (pickerType == '8') {
this.columns = DataDictionary.workCondition
} else if (pickerType == '9') {
this.columns = DataDictionary.salarySource
} else if (pickerType == '11') {
this.columns = DataDictionary.npType
}
},
//确认选择字段
onConfirm(value) {
console.log(value)
this.popupShow = false
if (this.pickerType == '1') {
this.userInfo.nativeplace = value.id
} else if (this.pickerType == '2') {
this.idLimit = false
this.userInfo.idNo = this.userInfo.certiexpiredate = this.userInfo.birthday = ''
this.effectiveDateTypeAble = false
console.log(value.id)
//身份证以外的证件类型可以使用长期
if (value.id == '1') {
//若身份证件类型为身份证,自动带入年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
this.effectiveDateTypeAble = age <= 45
//若身份证件类型为身份证,自动带入性别
let sexSign =
this.userInfo.idNo.length == 18 ? this.userInfo.idNo.substr(16, 1) : this.userInfo.idNo.length == 15 ? this.userInfo.idNo.substr(14, 1) : ''
//18位身份证第17位是性别位, 奇男偶女;15位身份证第15位是性别位, 奇男偶女
if (sexSign) {
if (parseInt(sexSign) % 2 == 0) {
this.userInfo.sex = '1'
} else {
this.userInfo.sex = '0'
}
}
} else if (value.id == 2) {
//证件类型户口本时,证件截止日期和是否长期不可选择
this.idLimit = true
this.effectiveDateTypeAble = true
this.userInfo.effectiveDateType = false
// this.userInfo.effectiveDateType = true
// this.effectiveDateTypeAble = true
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
} else if (value.id == 3) {
this.userInfo.effectiveDateType = true
// this.effectiveDateTypeAble = true
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
} else {
// else if (value.id == 2 || value.id == 3) {
// this.effectiveDateTypeAble = true
// }
this.effectiveDateTypeAble = false
}
// //出生证明返显证件截止日期
// if (value.id == 3 && this.userInfo.birthday != '') {
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
// this.certiexpiredateShow = false
// }
// if (value.id == 2 || value.id == 3) {
// this.effectiveDateTypeAble = true
// }
// //户口本返显证件截止日期
// else if (value.id == 2 && this.userInfo.birthday != '') {
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1986-01-01')
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
// this.certiexpiredateShow = false
// } else {
// this.certiexpiredateShow = true
// }
this.userInfo.idType = value.id
} /*else if (this.pickerType == '3') {
this.userInfo.degree = value.id
}*/ else if (this.pickerType == '4') {
this.userInfo.socialSecurity = value.id
} /*else if (this.pickerType == '5') {
this.userInfo.taxResidentId = value.id
} else if (this.pickerType == '6') {
this.userInfo.marriage = value.id
} */ else if (
this.pickerType == '7'
) {
//如果关系是本人
if (value.id == 1) {
//获取订单详情
const orderNo = this.$route.query.orderNo
getOrderDetail({ orderNo: orderNo }).then((res) => {
if (res.result == 0) {
this.isAppnt = true
//获取投保人信息
let insuredInfo = res.orderDTO.appntDTO
// console.log(insuredInfo)
//清空验证码
// insuredInfo.authCode = ''
for (let key in this.userInfo) {
this.userInfo[key] = insuredInfo[key]
}
console.log('是本人了~')
console.log(this.userInfo)
// this.userInfo = insuredInfo
//处理时间戳
// for (let key in this.userInfo) {
// this.userInfo[key] = insuredInfo[key]
// }
// this.userInfo = insuredInfo
this.userInfo.birthday = insuredInfo.birthday
this.setCustomerMarriage(insuredInfo.marriage)
//户籍
// this.sureArea([{ code: insuredInfo.householdProvince }, { code: insuredInfo.householdCity }], '3')
//单位地址
// this.sureArea([{ code: insuredInfo.companyProvince }, { code: insuredInfo.companyCity }, { code: insuredInfo.companyArea }], '1')
//联系地址
this.sureArea([{ code: insuredInfo.homeProvince }, { code: insuredInfo.homeCity }, { code: insuredInfo.homeArea }], '2')
//是否长期
if (insuredInfo.effectiveDateType == 'false') {
this.userInfo.effectiveDateType = false
} else {
this.userInfo.effectiveDateType = true
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
}
this.effectiveDateTypeAble = true
// this.userInfo.effectiveDateType = insuredInfo.effectiveDateType == 'false' ? false : true
//数据不是从用户列表拉取
this.fromCustomer = false
this.userInfo.relationToAppnt = value.id
//长期判断
// if (this.userInfo.idType == '1') {
// // 计算年龄
// let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// // 长期按钮是否禁用
// this.effectiveDateTypeAble = age <= 45
// }
} else {
this.$toast(res.resultMessage)
}
})
//获取投保人信息
// let insuredInfo = JSON.parse(localStorage.saleInsuredInfo)
} else {
this.isAppnt = false
//数据是否从用户列表拉取
if (this.fromCustomer) {
return (this.userInfo.relationToAppnt = value.id)
}
//如果关系不是本人(选了本人之后修改), 清空 userInfo 信息
for (var key in this.userInfo) {
if (!['nativeplace', 'sex', 'idType', 'effectiveDateType', 'medical'].includes(key)) {
this.userInfo[key] = ''
}
}
this.userInfo.effectiveDateType = false
this.effectiveDateTypeAble = false
this.areaName = this.homeName = ''
// this.areaName = this.homeName = this.census = ''
this.userInfo.relationToAppnt = value.id
}
} /*else if (this.pickerType == '8') {
this.userInfo.jobStatus = value.id
}*/ else if (this.pickerType == '9') {
this.userInfo.salarySource = value.id
} else if (this.pickerType === '10') {
this.userInfo
} else if (this.pickerType === '11') {
this.userInfo.npType = value.id
}
},
//证件起始截止日期
onDateConfirm(val, type) {
switch (type) {
case '0':
{
//证件起始日期
//如果录入日期早于出生日期或晚于当前日期
if (Date.parse(val) > Date.parse(new Date()) || Date.parse(val) < Date.parse(this.userInfo.birthday)) {
this.userInfo.certificateValidate = ''
this.$refs.certificateValidate.date = ''
return this.$toast('证件起始日期填写错误')
}
// 计算年龄
if (this.userInfo.idType == '1') {
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
if(this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
this.effectiveDateTypeAble = true
this.userInfo.effectiveDateType = false
}
}
}
}
break
case '1':
{
//证件截止日期
//如果已经勾选了长期
// if (this.userInfo.effectiveDateType) {
// //清空数据并返回
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// return
// }
this.userInfo.effectiveDateType = false
//如果录入日期早于当前日期
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('亲,请您核实被保险人身份证件有效期~')
}
//身份证证件类型的判断
if (this.userInfo.idType == '1') {
//获取年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
console.log(age)
// if(this.userInfo.birthday){
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
// }
}
}
break
case '2':
{
//出生日期
//如果录入日期晚于当前日期
if (Date.parse(val) > Date.parse(new Date())) {
this.userInfo.birthday = ''
this.$refs.birthday.date = ''
return this.$toast('出生日期不晚于当日')
}
//长期判断
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
//年龄小于18周岁工作单位默认值为
if (age < 18) {
this.userInfo.workcompany = this.userInfo.workcompany || '无'
}
if (this.userInfo.idType == '1') {
this.effectiveDateTypeAble = age <= 45
} else {
if (age < 16) {
this.userInfo.salarySource = this.branchType == '14' ? null : 4
this.userInfo.otherSalarySource = '无'
this.userInfo.averageAnnualIncome = '0'
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : '0'
}
}
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certificateValidate)
}
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certiexpiredate)
}
}
break
}
},
appCallBack(data) {
if (data.trigger == 'left_button_click') {
return this.$dialog
.confirm({
className: 'dialog-delete',
title: '提示',
message: '退出流程可能会丢失部分数据,是否确认退出?',
cancelButtonColor: '#E9332E',
confirmButtonColor: '#FFFFFF',
})
.then(() => {
this.$jump({
flag: 'h5',
extra: {
title: '电子投保单列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/sale/list`,
},
routerInfo: {
path: `/sale/list`,
type: '1',
},
})
})
.catch(() => {
return
})
} else {
// 筛选按钮的点击事件
this.$jump({
flag: 'navigation',
extra: {
title: '被保人信息',
hiddenRight: '1',
},
})
console.log(this.currentPopupIndex)
if (this.currentPopupIndex == 1) {
this.customerShowPicker = false
} else if (this.currentPopupIndex == 2) {
this.occupationShowPicker = false
} else if (this.currentPopupIndex == 3) {
this.isScan = false
}
}
},
//选择客户
chooseCustomer(data) {
console.log(data)
this.customerShowPicker = false
this.$jump({
flag: 'navigation',
extra: {
title: '被保险人信息',
hiddenRight: '1',
},
})
let { customerName, customerSex } = data
this.userInfo.name = customerName //用户名
if (customerSex == null) {
this.userInfo.sex = ''
} else {
this.userInfo.sex = String(customerSex) //性别
}
this.userInfo.nativeplace = data.country //国家地区
this.userInfo.birthday = data.birthday //出生日期
this.userInfo.idType = data.customerIdType //证件类型
// 证件截止日期证件截止日期应为第16周岁的生日日期
if(this.userInfo.idType == '2'){
//证件类型如果是户口本时,证件有效止期不可编辑
this.idLimit = true
this.effectiveDateTypeAble = false
this.userInfo.effectiveDateType = false
}
if(this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age <16){
// 获取出生日期年份16
let year = Number(this.userInfo.birthday.substr(0,4)) + 16
if(this.userInfo.birthday.substr(5,5) == '02-29'){
// 获取某年某月一共多少天
let date = new Date(year, 2, 1)
let dayEnd = new Date(date.getTime() - 864e5).getDate()
this.userInfo.certiexpiredate = year +'-02-'+ dayEnd
}else{
this.userInfo.certiexpiredate = year +'-'+ this.userInfo.birthday.substr(5,5)
}
}
this.userInfo.idNo = data.customerIdNumber //证件号码
this.userInfo.certificateValidate = data.idEffectStartDate //证件起始日期
// this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
// this.userInfo.effectiveDateType = data.idEffectEndDate == '9999-12-31' //是否长期
if (data.idEffectEndDate == '9999-12-31' && !data.idEffectEndDate) {
this.userInfo.effectiveDateType = true //是否长期
} else {
this.userInfo.certiexpiredate = data.idEffectEndDate //证件截止日期
}
this.userInfo.occupationCode = data.occupationCode //职业类别编码
this.userInfo.occupationName = data.occupationName //职业类别名称
this.userInfo.salarySource = this.branchType == '14' ? null : data.salarySource //收入来源
this.userInfo.otherSalarySource = data.otherSalarySource // 其他收入来源
this.userInfo.lifeGrade = data.lifeGrade //寿险等级
this.userInfo.healthGrade = data.healthGrade //健康等级
this.userInfo.mobile = data.customerPhone //移动电话
this.userInfo.stature = data.height //身高
this.userInfo.avoirdupois = data.weight //体重
// this.userInfo.degree = data.educationLevel //教育水平
this.userInfo.medical = data.socialSecurity //有无社保
// this.userInfo.taxResidentId = data.residentStatus //税收居民身份
this.userInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入
this.userInfo.workcompany = data.workUnits //工作单位
// this.userInfo.jobStatus = data.jobStatus //工作情况
this.setCustomerMarriage(data.marryStatus)
// this.userInfo.familyAnnualIncome = data.familyAnnualIncome //家庭年收入
// this.userInfo.email = data.email //电子邮箱
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : data.liabilitiesMoney //负债金额
// this.userInfo.companyProvince = data.companyProvince //单位省
// this.userInfo.companyCity = data.companyCity //单位市
// this.userInfo.companyArea = data.companyArea //单位区
// this.userInfo.companyAddress = data.companyAddress //单位详细地址
// this.userInfo.companyZip = data.companyZip //单位邮编
// this.userInfo.companyPhone = data.companyPhone //单位电话
this.userInfo.homeProvince = data.homeProvince //家庭省
this.userInfo.homeCity = data.homeCity //家庭市
this.userInfo.homeArea = data.homeArea //家庭区
this.userInfo.homeAddress = data.homeAddress //家庭详细地址
this.userInfo.isNewPeopleFlag = data.isNewPeopleFlag //新市民身份
this.userInfo.npType = data.npType //新市民类型
// this.userInfo.homeZip = data.homeZip //家庭邮编
// this.userInfo.homePhone = data.homePhone //家庭电话
// this.userInfo.householdProvince = data.province //户籍省
// this.userInfo.householdCity = data.city //户籍市
// if (data.province.length) {
// this.census = getAreaName([{ code: data.province }, { code: data.city }]) //户籍
// }
// if (data.companyProvince.length) {
// this.areaName = getAreaName([{ code: data.companyProvince }, { code: data.companyCity }, { code: data.companyArea }]) //单位地址
// }
if (data.homeProvince.length) {
this.homeName = getAreaName([{ code: data.homeProvince }, { code: data.homeCity }, { code: data.homeArea }]) //联系地址
}
//计算年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 长期按钮是否禁用
this.effectiveDateTypeAble = age <= 45
//数据是否从客户列表拉取
this.fromCustomer = true
this.getRelatedData(this.userInfo.idNo, 'select')
},
//下一步
async nextStep() {
let valid = await this.$validator.validate()
if(this.manageComCode == '45'){
if(this.userInfo.isNewPeopleFlag == '' || this.userInfo.isNewPeopleFlag == null || this.userInfo.isNewPeopleFlag == undefined){
this.$toast('新市民身份不能为空')
return false
}
}
// .then(valid => {
if (true === valid) {
// 职业 学龄前儿童 2099908 离休人员 8000003家庭主妇 4071203无业人员 8000001
// 亲,您填写的工作单位过于简短哦~
// if (
// this.userInfo.occupationCode == '2099908' ||
// this.userInfo.occupationCode == '8000003' ||
// this.userInfo.occupationCode == '4071203' ||
// this.userInfo.occupationCode == '8000001'
// ) {
// }
if (!this.userInfo.workcompany) {
this.userInfo.workcompany = '无'
}
// 计算年龄
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
// 被保险人人年龄≤13岁学历不可以为研究生、本科、高中、大专
// if (age < 14 && this.userInfo.degree - 0 <= 5) {
// return this.$toast('亲,请确认被保险人学历哦~')
// }
//投被保险人关系是配偶
if (this.userInfo.relationToAppnt == '2') {
//投保人或者被保险人不是已婚
// if (this.appntMarriage != '1' || this.userInfo.marriage != '1') {
// return this.$toast('亲,被保险人与投保人关系为配偶,投保人或被保险人婚姻状况必须为已婚哦~')
// }
let insuredSex = this.userInfo.sex
console.log(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')),'saleInsuredInfo')
let appntSex = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).sex
//投被保险人性别相同
if (insuredSex == appntSex) {
return this.$toast('额~配偶关系性别不能相同哦~')
}
} else if (this.userInfo.relationToAppnt == '4') {
//投被保人关系是子女
// 被保险人的出生日期大于投保人的出生日期(即被保险人年龄小于投保人年龄)点击【下一步】提示“当前被保险人是投保人的子女,被保险人年龄需小于投保人年龄。
if (age > JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).age) {
return this.$toast('当前被保险人是投保人的子女,被保险人年龄需小于投保人年龄')
// await this.$dialog.confirm({
// title: '提示',
// message: '亲,请确认被保险人与投保人关系哦~',
// confirmButtonText: '继续填写',
// cancelButtonText: '返回修改',
// })
}
} else if (this.userInfo.relationToAppnt == '3') {
//投被保人关系是父母
// 被保险人的出生日期小于投保人的出生日期(即被保险人年龄大于投保人年龄)点击【下一步】提示“当前被保险人是投保人的父母,被保险人年龄需大于投保人年龄。
if (age < JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).age) {
return this.$toast('当前被保险人是投保人的父母,被保险人年龄需大于投保人年龄')
// await this.$dialog.confirm({
// title: '提示',
// message: '亲,请确认被保险人与投保人关系哦~',
// confirmButtonText: '继续填写',
// cancelButtonText: '返回修改',
// })
}
}
if (this.userInfo.relationToAppnt != '1') {
//投被保人关系不是本人
//投保人和被保险人的证件信息(证件号码、证件类型)相同时,关系只能是本人,当“是投保人的”枚举为非本人(配偶、父母、子女、其他),但证件号码和本人相同,点击【下一步】提示“投保人和被保人关系不是本人,证件号码不可一致,请修改。”
if(this.userInfo.idNo == JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idNo && this.userInfo.idType == JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).idType){
return this.$toast('投保人和被保人关系不是本人,证件号码不可一致,请修改。')
}
}
// if (this.userInfo.marriage == '1') {
// if (this.userInfo.sex == '0' && age < 22) {
// return this.$toast('年龄与婚姻状况不符')
// } else if (this.userInfo.sex == '1' && age < 20) {
// return this.$toast('年龄与婚姻状况不符')
// }
// }
//如果证件类型是身份证
if (this.userInfo.idType == '1') {
if (this.userInfo.nativeplace != '1') {
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
}
//校验性别是否与身份证号码位相符
if (this.userInfo.idNo.length == '15') {
//15位身份证第15位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(14, 1)
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
return this.$toast('性别录入与身份证不符')
}
//15位身份证第7-12位是生日位, 年月日
let birthSign = this.userInfo.idNo.substr(6, 6)
if (
this.userInfo.birthday.substr(2, 2) != birthSign.substr(0, 2) ||
this.userInfo.birthday.substr(5, 2) != birthSign.substr(2, 2) ||
this.userInfo.birthday.substr(8, 2) != birthSign.substr(4, 2)
) {
return this.$toast('生日录入与身份证不符')
}
} else if (this.userInfo.idNo.length == '18') {
//18位身份证第17位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(16, 1)
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
return this.$toast('性别录入与身份证不符')
}
//18位身份证第7-14位是生日位, 年月日
let birthSign = this.userInfo.idNo.substr(6, 8)
if (
this.userInfo.birthday.substr(0, 4) != birthSign.substr(0, 4) ||
this.userInfo.birthday.substr(5, 2) != birthSign.substr(4, 2) ||
this.userInfo.birthday.substr(8, 2) != birthSign.substr(6, 2)
) {
return this.$toast('生日录入与身份证不符')
}
}
// 证件号码规则校验
if (!idNoCheck.isIdno(this.userInfo.idNo)) {
console.log('证件号码校验有误')
return this.$toast('您填写的证件号码有误')
}
console.log(age)
//年龄在小于周岁不含46周岁证件有效期不能为长期
if (age < 46 && this.userInfo.effectiveDateType == true) {
return this.$toast('证件有效期错误年龄小于46周岁的公民身份证有效期不能为长期')
}
//证件止期
let val = this.userInfo.certiexpiredate
if (Date.parse(val) < Date.parse(new Date())) {
this.userInfo.certiexpiredate = ''
this.$refs.certiexpiredate.date = ''
return this.$toast('您的证件已过期')
}
//年龄在16周岁以下
if (age < 16) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
return this.$toast('16周岁以下的证件有效期为5年')
}
//年龄在16-21周岁之间
}else if (age >= 16 && age <= 21) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 5) {
return this.$toast('16周岁~21周岁的证件有效期为10年或5年')
}
//年龄在22-25周岁之间
}else if (age >= 22 && age <= 25) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
return this.$toast('22周岁~25周岁的证件有效期为10年')
}
//年龄在26-35周岁之间
}else if (age >= 26 && age <= 35) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 10) {
return this.$toast('26周岁~35周岁的证件有效期为20年或10年')
}
//年龄在36-45周岁之间
} else if (age >= 36 && age <= 45) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20) {
return this.$toast('36周岁~45周岁的证件有效期为20年')
}
//年龄在46-65周岁之间
} else if (age >= 46 && age <= 65) {
if (new Date(val).getFullYear() - new Date(this.userInfo.certificateValidate).getFullYear() != 20 && this.userInfo.effectiveDateType == false) {
return this.$toast('46周岁~65周岁的证件有效期为20年或长期')
}
//年龄在65周岁以上
} else if (age > 65) {
if (this.userInfo.effectiveDateType == false) {
return this.$toast('65周岁以上的证件有效期为长期')
}
}
//年龄在0-15周岁之间
// if (age <= 15) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1975-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// // this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误未满16周岁的公民身份证有效期应小于等于5年')
// }
// //年龄在 16-25 周岁之间
// } else if (age >= 16 && age <= 25) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1980-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// // this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误16周岁~25周岁的公民身份证有效期应小于等于10年')
// }
// //年龄在 26-45 周岁之间
// } else if (age >= 26 && age <= 45) {
// if (Date.parse(this.userInfo.certiexpiredate) - Date.parse(new Date()) > Date.parse('1990-01-01')) {
// this.userInfo.certiexpiredate = ''
// this.$refs.certiexpiredate.date = ''
// // this.effectiveDateTypeAble = true
// return this.$toast('证件有效期错误26周岁~45周岁的公民身份证有效期应小于等于20年')
// }
// }
//如果是身份证,且未成年,则与投保人关系必须是子女关系
// if(age < 18 && this.userInfo.relationToAppnt != '4'){
// return this.$toast('被保险人小于18周岁选择身份证时与投保人关系必须为子女')
// }
//证件类型是户口本
} else if (this.userInfo.idType == '2') {
if (this.userInfo.nativeplace != '1') {
return this.$toast('证件类型”为“身份证,国籍必须为中国哦')
}
//校验性别是否与身份证号码位相符
if (this.userInfo.idNo.length == '15') {
//15位身份证第15位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(14, 1)
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
return this.$toast('性别录入与身份证不符')
}
//15位身份证第7-12位是生日位, 年月日
let birthSign = this.userInfo.idNo.substr(6, 6)
if (
this.userInfo.birthday.substr(2, 2) != birthSign.substr(0, 2) ||
this.userInfo.birthday.substr(5, 2) != birthSign.substr(2, 2) ||
this.userInfo.birthday.substr(8, 2) != birthSign.substr(4, 2)
) {
return this.$toast('生日录入与身份证不符')
}
} else if (this.userInfo.idNo.length == '18') {
//18位身份证第17位是性别位, 奇男偶女
let sexSign = this.userInfo.idNo.substr(16, 1)
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
return this.$toast('性别录入与身份证不符')
}
//18位身份证第7-14位是生日位, 年月日
let birthSign = this.userInfo.idNo.substr(6, 8)
if (
this.userInfo.birthday.substr(0, 4) != birthSign.substr(0, 4) ||
this.userInfo.birthday.substr(5, 2) != birthSign.substr(4, 2) ||
this.userInfo.birthday.substr(8, 2) != birthSign.substr(6, 2)
) {
return this.$toast('生日录入与身份证不符')
}
}
// 证件号码规则校验
if (!idNoCheck.isIdno(this.userInfo.idNo)) {
console.log('证件号码校验有误')
return this.$toast('您填写的证件号码有误')
}
if (age >= 16) {
return this.$toast('客户年龄在16周岁以上不能使用户口本作为有效证件')
}
// else if (this.userInfo.idNo.length != 18) {
// return this.$toast('户口本的证件号码长度应等于18位')
// }
//证件类型是出生证明
} else if (this.userInfo.idType == '3') {
if (age >= 2) {
return this.$toast('客户年龄在2周岁及以上不能使用出生证作为有效证件')
}
// 证件号码规则校验
if (!idNoCheck.isCardNoBirth(this.userInfo.idNo)) {
console.log('证件号码校验有误')
return this.$toast('您填写的证件号码有误')
}
// else if (this.userInfo.idNo.length < 3) {
// return this.$toast('出生证须大于等于3个字符')
// }
//证件类型是护照
} else if (this.userInfo.idType == '4') {
if (this.userInfo.nativeplace == '1') {
return this.$toast('“证件类型”为“外国人护照”,“国籍”不能选择为“中国”哦~')
}
} else if (this.userInfo.idType == '5') {
console.log(this.userInfo.nativeplace, 'nativeplace')
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3) {
return this.$toast('“证件类型”为“港澳居民来往内地通行证”,“国籍”请选择“中国香港”或“中国澳门”哦~')
}
} else if (this.userInfo.idType == '6') {
if (this.userInfo.nativeplace != 4) {
return this.$toast('“证件类型”为“台湾居民来往大陆通行证”,“国籍”请选择“中国台湾”~')
}
} else if (this.userInfo.idType == '9') {
if (this.userInfo.nativeplace != 2 && this.userInfo.nativeplace != 3 && this.userInfo.nativeplace != 4) {
return this.$toast('“证件类型”为“港澳台居民居住证”,“国籍”请选择“中国香港”、“中国澳门”或“中国台湾”~')
}
}
// else if (this.userInfo.idType == '4' && this.userInfo.idNo.length < 3) {
// return this.$toast('护照须大于等于3个字符')
// //证件是港澳居民通行证
// } else if (this.userInfo.idType == '5') {
// if (this.userInfo.idNo.length != 9) {
// return this.$toast('证件类型为港澳居民通行证的证件号码须为9位')
// } else if (!/^(H|M)[0-9]{8}$/.test(this.userInfo.idNo)) {
// return this.$toast('证件类型为港澳居民通行证的,证件号码首位字母为"H"/"M",证件号码第2位至第9位为阿拉伯数字')
// }
// //证件是台湾居民通行证
// } else if (this.userInfo.idType == '6' && this.userInfo.idNo.length != 8) {
// return this.$toast('证件类型为台湾居民通行证的证件号码须为8位数字')
// }
// 年龄 0-7 周岁且不是投保人的子女
if (age < 7 && this.userInfo.relationToAppnt != '4') {
return this.$toast('0-7岁未成年人须由其父母投保请确定')
}
if (this.userInfo.salarySource == '4' && this.branchType != '14') {
if (!this.userInfo.otherSalarySource) {
return this.$toast('请输入其它收入来源')
}
}
// 婚姻状况处理: 使用computed/watch可能会出现检测不到的情况
for (let status of DataDictionary.marriage) {
if (status.text === this.userInfo.marriageStatus) {
this.userInfo.marriage = status.id
}
}
//如果是已婚
// if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) {
// if (this.userInfo.marriage != '2') {
// return this.$toast('被保险人不符合国家婚姻法定年龄')
// }
// }
// 通过国籍判断 证件是否符合要求
// 如果是国籍选择中国大陆
if (Number(this.userInfo.nativeplace) <= 4) {
// “身份证”或“台湾居民来往大陆通行证”或“港澳居民来往内地通行证”
let obj = {
1: true,
5: true,
6: true,
9: true,
}
let idType = this.userInfo.idType
// 通过年龄 判断证件是否符合要求
// 小于2岁
if (age < 2) {
// “出生证”,"户口本"
obj['2'] = true
obj['3'] = true
if (obj[idType] === undefined) {
return this.$toast(
'亲国籍为中国且未满2周岁儿童证件类型必须“身份证”或“户口本”或“出生证”或“台湾居民来往大陆通行证”或“港澳居民来往内地通行证”'
)
}
} else if (age < 16) {
// 小于16岁
// “户口本”
obj['2'] = true
if (obj[idType] === undefined) {
return this.$toast(
'亲国籍为中国且大于2周岁小于16周岁的未成年人证件类型必须为“身份证”或“户口本”或“台湾居民来往大陆通行证”或“港澳居民来往内地通行证”'
)
}
} else {
// 大于16岁
if (obj[idType] === undefined) {
return this.$toast('亲,国籍为中国,证件类型必须为“身份证”或“台湾居民来往大陆通行证”或“港澳居民来往内地通行证”')
}
}
} else {
// 非大陆人员按外籍人员
let obj = {
4: true,
8: true,
}
let idType = this.userInfo.idType
if (obj[idType] === undefined) {
return this.$toast('亲,国籍为外籍,证件类型必须为护照或外国人永久居留身份证投保')
}
}
if (this.userInfo.isAsync == 1) {
if (
!this.userWorkcompanys.some((item) => {
return item.asscompanies == this.userInfo.workcompany
})
) {
if (
this.userWorkcompanys.some((item) => {
return item.asscompanies.search(this.userInfo.workcompany) != -1
})
) {
return this.$toast('请填写完整的协同单位名称')
}
return this.$toast('您选择的为非协同单位,请重新选择。')
}
}
this.infoUpdate()
} else {
return this.$toast(this.$validator.errors.all()[0])
}
},
//信息变更
infoUpdate() {
//local 里面是否存有险种信息
let chooseProductCodes = localStorage.chooseProductCodesNew && JSON.parse(localStorage.chooseProductCodesNew)
// if (chooseProductCodes && chooseProductCodes.length) {
if (this.$CacheUtils.getLocItem('saleInsuredPersonInfo')) {
//获取险种列表
//取出local中的被保险人信息
let saleInsuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
//如果 性别, 出生日期, 有无社保, 职业 发生变化
console.log(this.userInfo, '这是userInfo')
console.log(saleInsuredPersonInfo, '这是saleInsuredPersonInfo')
if (
this.userInfo.sex != saleInsuredPersonInfo.sex ||
this.userInfo.birthday != saleInsuredPersonInfo.birthday ||
this.userInfo.medical != saleInsuredPersonInfo.medical ||
this.userInfo.occupationCode != saleInsuredPersonInfo.occupationCode
) {
//提示用户
if (chooseProductCodes && chooseProductCodes.length)
return Dialog.confirm({
className: 'dialog-delete',
title: '提示',
message: '当前信息已经发生改变,有可能影响险种费率,是否确认修改并清除险种信息?',
cancelButtonColor: '#4FC6B3',
confirmButtonColor: '#FFFFFF',
})
.then(() => {
// on confirm
localStorage.chooseProductCodesNew = ''
this.save()
})
.catch(() => {
// on cancel
return
})
}
}
this.save()
},
//存储信息
async save() {
let params = {
orderType: 'INSURED_ORDER',
orderDTO: {
orderInfoDTO: {
orderNo: this.$route.query.orderNo,
},
appntDTO: {},
userModel: {
branchType: this.branchType
}
},
}
if (this.userInfo.mediaDTOS == '') {
delete this.userInfo.mediaDTOS
}
console.dir(this.userInfo)
params.orderDTO.insuredDTOs = [this.userInfo]
let str = ''
let resultData = await saveOrUpdateOrderInfo(params)
if (resultData.result == 0) {
localStorage.salePageFlag = '3'
//deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作
if (resultData.deleteFlag == '0') {
localStorage.salePageFlag = '3'
} else if (!this.$route.query.salePageFlag) {
//如果从保单列表编辑按钮/新增保单进入
localStorage.salePageFlag = '3'
} else {
str = 'edit=1&salePageFlag=3'
}
localStorage.isFrom = 'sale'
//清理计时器
window.clearInterval(this.timeId)
this.timeId = null
this.countDown = 60
this.codeDisabled = false
this.$jump({
flag: 'h5',
extra: {
forbidSwipeBack: '1',
url: location.origin + `/#/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo,
},
routerInfo: {
path: `/common/selectedProduct?${str}` + '&orderNo=' + this.$route.query.orderNo,
},
})
} else {
return this.$toast(resultData.resultMessage)
}
},
//区域选择
sureArea(area, type) {
switch (type) {
// case '1': //单位地址
// this.areaName = getAreaName(area)
// ;[this.userInfo.companyProvince, this.userInfo.companyCity, this.userInfo.companyArea] = [area[0].code, area[1].code, area[2].code]
// this.areaShow = false
// break
case '2': //联系地址
this.homeName = getAreaName(area)
;[this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea] = [area[0].code, area[1].code, area[2].code]
this.homeShow = false
break
// case '3': //户籍
// this.census = getAreaName(area)
// ;[this.userInfo.householdProvince, this.userInfo.householdCity] = [area[0].code, area[1].code]
// this.censusShow = false
// break
}
},
//获取验证码
getCode() {
if (this.userInfo.mobile == '') {
return this.$toast('请填写移动电话')
}
//生成请求参数
let data = {
operateType: 'insureInfoEntry',
type: 'H5',
operateCode: this.userInfo.mobile,
system: 'agentApp',
operateCodeType: '0',
}
this.codeDisabled = true
//倒计时
let timeId = setInterval(() => {
this.countDown--
if (this.countDown <= 0) {
window.clearInterval(timeId)
this.codeDisabled = false
this.countDown = 60
}
}, 1000)
//获取验证码
getAuthCode(data).then((res) => {
console.log(res)
if (res.result == 0) {
this.sessionId = res.sessionId
}
})
},
//长期状态改变时
effectiveDataTypeChange(val) {
//勾选长期状态时,证件截止日期置空
if (val) {
this.userInfo.certiexpiredate = '9999-12-31'
// this.isRequired = false
// this.idLimit = true
this.certiexpiredateRequired = false
} else {
this.userInfo.certiexpiredate = ''
this.certiexpiredateRequired = true
// this.isRequired = true
// this.idLimit = false
}
},
//获取身份证扫描信息
getIdentityInfo(data) {
getIdentityInfo(this, data, '2')
},
//时间戳格式处理
timeStampFormat(timeStamp) {
let date = new Date(timeStamp)
let year = date.getFullYear()
let month = date.getMonth() + 1
month = month.toString().padStart(2, '0')
let day = Number(date.getDate()) + 1
day = day.toString().padStart(2, '0')
return `${year}-${month}-${day}`
},
//地区选择
areaChoose(index) {
if (this.isAppnt) {
return
}
switch (index) {
// case '1': //户籍
// this.censusShow = true
// break
case '2': //联系地址
this.homeShow = true
break
case '3': //单位地址
this.areaShow = true
break
default:
break
}
},
//校验身高
checkStature(val) {
console.log(val)
if (val.trim().length == 0) {
return this.$toast('身高不能为空')
}
let res = /^[0-9]{0,3}([.]{1}[0-9]{1})?$/.test(val) && val < 300 && val > 10
if (!res) {
this.userInfo.stature = ''
return this.$toast('身高输入有误')
}
},
//校验体重
checkAvoirdupois(val) {
if (val.trim().length == 0) {
return this.$toast('体重不能为空')
}
let res = /^[0-9]+([.]{1}[0-9]{1})?$/.test(val) && val > 0.1
if (!res) {
this.userInfo.avoirdupois = ''
return this.$toast('体重输入有误')
}
},
getRelatedData(val, from) {
// debugger
if (this.userInfo.idType != '1' && this.userInfo.idType != '2') {
return
}
// if (!['1', '2', '3', 1, 2, 3].includes(this.userInfo.idType)) {
// return
// }
//如果证件校验不通过,恢复默认值
if (idToData(val).text) {
if (this.userInfo.idType == '2'){
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', true]
}else{
;[this.userInfo.idNo, this.userInfo.sex, this.userInfo.birthday, this.effectiveDateTypeAble] = ['', '0', '', false]
}
return this.$toast(idToData(val).text)
}
if (this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age >= 16) {
this.idLimit = false //截止日期是否可编辑--被保人
return this.$toast('客户年龄在16周岁以上不能使用户口本作为有效证件')
}else if (this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age < 16) {
this.idLimit = true //截止日期是否可编辑--被保人
}else{
this.idLimit = false
}
this.userInfo.effectiveDateType = false
this.effectiveDateTypeAble = idToData(val).age <= 45
this.userInfo.birthday = idToData(val).birthday
// 获取出生日期年份16
if(this.userInfo.idType == '2' && idToData(this.userInfo.idNo).age <16){
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate2(this.userInfo.birthday,this.userInfo.certificateValidate)
// let year = Number(this.userInfo.birthday.substr(0,4)) + 16
// if(this.userInfo.birthday.substr(5,5) == '02-29'){
// // 获取某年某月一共多少天
// let date = new Date(year, 2, 1)
// let dayEnd = new Date(date.getTime() - 864e5).getDate()
// this.userInfo.certiexpiredate = year+'-02-'+ dayEnd
// }else{
// this.userInfo.certiexpiredate = year+'-'+ this.userInfo.birthday.substr(5,5)
// }
}
this.userInfo.sex = idToData(val).sex
//年龄小于18周岁工作单位默认值为
if (idToData(val).age < 18) {
this.userInfo.workcompany = this.userInfo.workcompany || ''
this.userInfo.marriageStatus = this.branchType == '14' ? '未婚' : this.userInfo.marriageStatus
this.userInfo.marriage = this.branchType == '14' ? 2 : this.userInfo.marriage
} else {
this.userInfo.marriageStatus = this.branchType == '14' ? '' : this.userInfo.marriageStatus
this.userInfo.marriage = this.branchType == '14' ? null : this.userInfo.marriage
}
if (!from) {
if (idToData(val).age < 16) {
this.userInfo.salarySource = this.branchType == '14' ? null : 4
this.userInfo.otherSalarySource = ''
this.userInfo.averageAnnualIncome = '0'
this.userInfo.liabilitiesMoney = this.branchType == '14' ? '' : '0'
} else {
this.userInfo.salarySource = ''
this.userInfo.averageAnnualIncome = ''
this.userInfo.liabilitiesMoney = ''
}
}
if (idToData(val).age > 45) {
if (from) {
this.userInfo.effectiveDateType = true
}
this.effectiveDateTypeAble = false
}
//如果选择户口本
if (this.userInfo.idType == '2') {
let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1985-12-31')
this.userInfo.certificateValidate = this.userInfo.birthday
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate2(this.userInfo.birthday,this.userInfo.certificateValidate)
this.idLimit = true
//如果选择出生证明
}
// else if (this.userInfo.idType == '3') {
// let exipreDate = Date.parse(this.userInfo.birthday) + Date.parse('1972-12-31')
// this.userInfo.certificateValidate = this.userInfo.birthday
// this.userInfo.certiexpiredate = this.timeStampFormat(exipreDate)
// this.idLimit = true
// } else {
// this.idLimit = false
// }
},
},
computed: {
isShowOthenSalarySource() {
if (this.userInfo.salarySource == '4') {
return true
} else {
this.userInfo.otherSalarySource = ''
return false
}
},
},
beforeDestroy() {
//清理计时器
window.clearInterval(this.timeId)
this.timeId = null
this.countDown = 60
this.codeDisabled = false
},
watch: {
async 'withRootUser.value'(n) {
const orderNo = this.$route.query.orderNo
if (n && orderNo) {
const rs = await getOrderDetail({ orderNo: orderNo})
this.homeName = getAreaName([
{ code: rs.orderDTO.appntDTO.homeProvince },
{ code: rs.orderDTO.appntDTO.homeCity },
{ code: rs.orderDTO.appntDTO.homeArea },
])
this.userInfo.homeProvince = rs.orderDTO.appntDTO.homeProvince
this.userInfo.homeCity = rs.orderDTO.appntDTO.homeCity
this.userInfo.homeArea = rs.orderDTO.appntDTO.homeArea
this.userInfo.homeAddress = rs.orderDTO.appntDTO.homeAddress
} else {
this.homeName = this.userInfo.homeAddress = ''
}
},
'userInfo.marriageStatus'(nv) {
for (let status of DataDictionary.marriage) {
if (status.text === nv) {
this.userInfo.marriage = status.id
}
}
},
},
}
</script>
<style lang="scss" scoped>
.insured-person-container {
.title {
font-weight: 600;
border-bottom: 1px solid #ebedf0;
}
/deep/.van-checkbox {
margin-left: auto;
}
.address {
display: flex;
flex-direction: row-reverse;
}
.isNewPeopleFlagTipClass{
margin-top: 45px;line-height: 24px;text-indent: 2em;letter-spacing: 1px;padding: 2px 10px;
}
}
</style>