mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-11 02:46:45 +08:00
修改大小写文件名
This commit is contained in:
635
src/views/ebiz/insureAgain/insureInformation.vue
Normal file
635
src/views/ebiz/insureAgain/insureInformation.vue
Normal file
@@ -0,0 +1,635 @@
|
|||||||
|
<template>
|
||||||
|
<div class="insure-again">
|
||||||
|
<ProgressBar :active="active" />
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span class="title">投保人信息</span>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="姓名">{{userInfo.name}}</InfoCell>
|
||||||
|
<InfoCell label="证件类型">{{userInfo.idType | idToText('insuredIdType')}}</InfoCell>
|
||||||
|
<InfoCell label="出生日期">{{userInfo.birthday}}</InfoCell>
|
||||||
|
<InfoCell label="证件截止日期">{{userInfo.certiexpiredate}}</InfoCell>
|
||||||
|
<select-radio v-validate="'required'" label="性别" name="性别" required :radios="sexRadio" :value.sync="userInfo.sex" :disabled="true"></select-radio>
|
||||||
|
<InfoCell label="国籍">{{userInfo.nativeplace | idToText('nativeplace')}}</InfoCell>
|
||||||
|
<van-field :value="userInfo.marriageStatus" required label="婚姻状况" name="婚姻状况" v-validate="'required'"
|
||||||
|
right-icon="arrow" placeholder="请选择" @click="toSelect('10','','appntDTO')" />
|
||||||
|
<InfoCell label="职业类别">{{userInfo.occupationCode}}</InfoCell>
|
||||||
|
<InfoCell label="移动电话">{{userInfo.mobile}}</InfoCell>
|
||||||
|
<InfoCell label="电子邮箱">{{userInfo.email}}</InfoCell>
|
||||||
|
<!-- <InfoCell label="有无社保">
|
||||||
|
<van-button class="mr10" size="small" type="danger" round>有</van-button>
|
||||||
|
<van-button plain size="small" type="danger" round>无</van-button>
|
||||||
|
</InfoCell> -->
|
||||||
|
<select-radio v-validate="'required'" :radios="medicalRadio" label="有无社保" name="有无社保" required :value.sync="userInfo.medical" :disabled="true"></select-radio>
|
||||||
|
<InfoCell label="税收居民身份">{{userInfo.taxResidentId | idToText('taxIdentity')}}</InfoCell>
|
||||||
|
<InfoCell label="联系地址">{{homeName}}</InfoCell>
|
||||||
|
<InfoCell label="详细联系地址">{{userInfo.homeAddress}}</InfoCell>
|
||||||
|
</DropdownBox>
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span class="title">被保险人信息</span>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="姓名">{{insuredPersonInfo.name}}</InfoCell>
|
||||||
|
<InfoCell label="证件类型">{{userInfo.idType | idToText('idType')}}</InfoCell>
|
||||||
|
<InfoCell label="证件号码">{{insuredPersonInfo.idNo}}</InfoCell>
|
||||||
|
<InfoCell label="出生日期">{{insuredPersonInfo.birthday}}</InfoCell>
|
||||||
|
<select-radio required :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :value.sync="insuredPersonInfo.sex" :disabled="true"></select-radio>
|
||||||
|
<InfoCell label="国籍">{{insuredPersonInfo.nativeplace | idToText('nativeplace')}}</InfoCell>
|
||||||
|
<van-field :value="insuredPersonInfo.marriageStatus" required label="婚姻状况" name="婚姻状况" v-validate="'required'"
|
||||||
|
right-icon="arrow" placeholder="请选择" @click="toSelect('10','','insuredDTOs')" />
|
||||||
|
<InfoCell label="职业类别">{{insuredPersonInfo.occupationCode}}</InfoCell>
|
||||||
|
<select-radio :radios="medicalRadio" label="有无社保" name="有无社保" v-validate="'required'" required :value.sync="insuredPersonInfo.medical"
|
||||||
|
:disabled="true"></select-radio>
|
||||||
|
<InfoCell label="税收居民身份">{{insuredPersonInfo.name}}</InfoCell>
|
||||||
|
<InfoCell label="联系地址">{{insuredHomeName}}</InfoCell>
|
||||||
|
<InfoCell label="详细地址">{{userInfo.homeAddress}}</InfoCell>
|
||||||
|
</DropdownBox>
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span class="title">受益人信息</span>
|
||||||
|
</template>
|
||||||
|
<div v-if="bnftype === '0'">
|
||||||
|
<InfoCell label="受益类型">法定受益人</InfoCell>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<div v-for="(item, index) in bnfPersonInfo" :key="index">
|
||||||
|
<InfoCell label="受益类型">指定受益人</InfoCell>
|
||||||
|
<InfoCell label="是被保险人的">{{ item.relationToInsured | idToText('relationToAppnt') }}</InfoCell>
|
||||||
|
<InfoCell label="姓名">{{ item.name }}</InfoCell>
|
||||||
|
<InfoCell label="证件类型">{{item.idType | idToText('insuredIdType')}}</InfoCell>
|
||||||
|
<InfoCell label="证件截止日期">{{item.certiexpiredate}}</InfoCell>
|
||||||
|
<!-- <InfoCell label="性别">
|
||||||
|
<van-button class="mr10" size="small" type="danger" round>男</van-button>
|
||||||
|
<van-button plain size="small" type="danger" round>女</van-button>
|
||||||
|
</InfoCell> -->
|
||||||
|
<select-radio required :disabled="true" :radios="sexRadio" label="性别" name="性别" v-validate="'required'"
|
||||||
|
:value.sync="item.sex"></select-radio>
|
||||||
|
<van-field :value="item.nativeplace | idToText('nativeplace')" label="国籍" name="国籍" required v-validate="'required'"
|
||||||
|
right-icon="arrow" placeholder="请选择" @click="toSelect('1','','bnfDTOs',index)" />
|
||||||
|
<van-field :value="item.marriageStatus" required label="婚姻状况" name="婚姻状况" v-validate="'required'"
|
||||||
|
right-icon="arrow" placeholder="请选择" @click="toSelect('10','','bnfDTOs',index)" />
|
||||||
|
<van-field v-model="item.mobile" clearable label="移动电话" name="移动电话" required placeholder="请输入" v-validate="'required|mobileLength11|mobileStartWith1|mobile'"
|
||||||
|
maxlength="11" />
|
||||||
|
<van-field v-model="bnfHomeName[index]" readonly label="联系地址" name="联系地址" required right-icon="arrow"
|
||||||
|
placeholder="请选择" v-validate="'required|contactAdderss'" @click="areaChoose('2','bnfDTOs',index)" />
|
||||||
|
<van-field v-model="item.homeAddress" label="" name="详细地址" placeholder="具体到街道、门牌号、楼号、单元号、室号" v-validate="'required|homeAddressNum|homeAddressCh'"
|
||||||
|
clearable maxlength="30" :readonly="false" style="font-size: 3.5vw;" />
|
||||||
|
<van-field @click="openOccupation(index)" label="职业类别" name="职业类别" :value="item.occupationName" right-icon="arrow" />
|
||||||
|
<InfoCell label="受益顺序"></InfoCell>
|
||||||
|
<InfoCell label="受益比例">{{ item.bnfLot }}%</InfoCell>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</DropdownBox>
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span class="title">账户信息</span>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="账户名称">{{accountPersonInfo.accountName}}</InfoCell>
|
||||||
|
<InfoCell label="开户银行">{{accountPersonInfo.bankName}}</InfoCell>
|
||||||
|
<InfoCell label="银行账号">{{accountPersonInfo.cardBookCode}}</InfoCell>
|
||||||
|
<van-field lable="签名" name="签名" value="签名" @click="signTo" />
|
||||||
|
</DropdownBox>
|
||||||
|
<van-button type="danger" class="bottom-btn" v-no-more-click="1000" @click="nextStep">下一步</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="homeShow" position="bottom">
|
||||||
|
<van-area :area-list="areaLists" value="450000" @confirm="sureArea($event, '2')" @cancel="homeShow = false" />
|
||||||
|
</van-popup>
|
||||||
|
<!-- 职业类别弹窗 -->
|
||||||
|
<van-popup v-model="occupationShowPicker" position="bottom">
|
||||||
|
<occupation-for-loop @chooseOccupation="chooseOccupation" :name="occupationName" :code="occupationCode"></occupation-for-loop>
|
||||||
|
</van-popup>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { Field, Area } from 'vant'
|
||||||
|
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
|
||||||
|
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
|
||||||
|
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
|
||||||
|
// import { saveOrUpdateOrderInfo, getOrderDetail } from '@/api/ebiz/insureAgain/insureAgain'
|
||||||
|
import { getOrderDetail, saveOrUpdateOrderInfo } from '@/api/ebiz/sale/sale'
|
||||||
|
import DataDictionary from '@/assets/js/utils/data-dictionary'
|
||||||
|
import SelectRadio from '@/components/ebiz/SelectRadio'
|
||||||
|
import getAreaName from '@/assets/js/utils/getAreaNameForSale'
|
||||||
|
import areaLists from '@/assets/js/utils/areaNewForSale'
|
||||||
|
import { selectComp, getIdentityInfo } from './js/methods'
|
||||||
|
import OccupationForLoop from '@/components/ebiz/occipation/OccupationForLoop'
|
||||||
|
export default {
|
||||||
|
name: 'InsureInformation',
|
||||||
|
components: {
|
||||||
|
ProgressBar,
|
||||||
|
DropdownBox,
|
||||||
|
InfoCell,
|
||||||
|
OccupationForLoop,
|
||||||
|
[SelectRadio.name]: SelectRadio,
|
||||||
|
[Field.name]: Field,
|
||||||
|
[Area.name]: Area
|
||||||
|
},
|
||||||
|
computed: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
homeName: '', //投保人联系地址
|
||||||
|
insuredHomeName: '', //被投保人联系地址
|
||||||
|
bnfHomeName: [], //受益人联系地址
|
||||||
|
isSpecialRead: false,
|
||||||
|
active: 0,
|
||||||
|
userInfo: {}, //投保人信息
|
||||||
|
insuredPersonInfo: {}, //被投保人信息
|
||||||
|
bnfPersonInfo: {}, //受益人信息
|
||||||
|
accountPersonInfo: {}, //账户信息
|
||||||
|
sexRadio: [
|
||||||
|
{
|
||||||
|
label: '男',
|
||||||
|
value: '0'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '女',
|
||||||
|
value: '1'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
medicalRadio: [
|
||||||
|
{
|
||||||
|
label: '有',
|
||||||
|
value: '0'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '无',
|
||||||
|
value: '1'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
columns: [],
|
||||||
|
popupShow: false,
|
||||||
|
userType: '', //保险人类型
|
||||||
|
bnftype: '', //受益人类型
|
||||||
|
bnfIndex: '', //受益人索引
|
||||||
|
homeShow: false, //联系地址搜索栏显示
|
||||||
|
areaLists: areaLists, //地址信息
|
||||||
|
occupationShowPicker: false, //职业类别
|
||||||
|
occupationName: '',
|
||||||
|
occupationCode: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getOrderDetail()
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
setTimeout(() => {
|
||||||
|
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
|
intercept: '1'
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
window.appCallBack = this.appCallBack
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/**
|
||||||
|
* @description: 签名
|
||||||
|
* @param {*}
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
async signTo() {
|
||||||
|
const res = await EWebBridge.webCallAppInJs('ca_sign', signParam)
|
||||||
|
let signRes = JSON.parse(res)
|
||||||
|
console.log(signRes, '======================signRes=======================')
|
||||||
|
},
|
||||||
|
appCallBack(data) {
|
||||||
|
if (data.trigger == 'left_button_click') {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/insureAgain`,
|
||||||
|
forbidSwipeBack: '1',
|
||||||
|
needRefresh: '1'
|
||||||
|
},
|
||||||
|
routerInfo: { path: `/insureAgain` }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getOrderDetail() {
|
||||||
|
getOrderDetail({ orderNo: localStorage.orderNo }).then(res => {
|
||||||
|
if (res.result == 0) {
|
||||||
|
//投保人信息返显
|
||||||
|
this.userInfo = res.orderDTO.appntDTO
|
||||||
|
this.setCustomerMarriage(res.orderDTO.appntDTO.marriage)
|
||||||
|
//是否长期
|
||||||
|
this.userInfo.effectiveDateType = res.orderDTO.appntDTO.effectiveDateType == 'false' ? false : true
|
||||||
|
//有无社保
|
||||||
|
this.userInfo.medical = res.orderDTO.appntDTO.medical
|
||||||
|
|
||||||
|
this.$utils.intLocalStorage(res)
|
||||||
|
this.homeName = getAreaName([{ code: this.userInfo.homeProvince }, { code: this.userInfo.homeCity }, { code: this.userInfo.homeArea }])
|
||||||
|
|
||||||
|
// 被投保人信息
|
||||||
|
this.insuredPersonInfo = res.orderDTO.insuredDTOs[0]
|
||||||
|
if (this.insuredPersonInfo.homeProvince.length) {
|
||||||
|
this.insuredHomeName = getAreaName([
|
||||||
|
{ code: this.insuredPersonInfo.homeProvince },
|
||||||
|
{ code: this.insuredPersonInfo.homeCity },
|
||||||
|
{ code: this.insuredPersonInfo.homeArea }
|
||||||
|
])
|
||||||
|
}
|
||||||
|
//受益人信息
|
||||||
|
//bnfFlag 0-法定受益人 1-指定受益人
|
||||||
|
|
||||||
|
let btnasd = `[
|
||||||
|
{
|
||||||
|
"area": "450103",
|
||||||
|
"birthday": "1980-01-02",
|
||||||
|
"bnfLot": 50,
|
||||||
|
"bnfOrder": 1,
|
||||||
|
"bnfType": "0",
|
||||||
|
"certiexpiredate": "2035-03-31",
|
||||||
|
"city": "450100",
|
||||||
|
"effectiveDateType": "false",
|
||||||
|
"healthGrade": "1",
|
||||||
|
"idNo": "110101198001020219",
|
||||||
|
"idType": "1",
|
||||||
|
"lifeGrade": "2",
|
||||||
|
"marriage": "2",
|
||||||
|
"mobile": "13707711024",
|
||||||
|
"name": "爱来",
|
||||||
|
"nativeplace": "1",
|
||||||
|
"occupationCode": "2070202",
|
||||||
|
"occupationName": "保险推销员",
|
||||||
|
"province": "450000",
|
||||||
|
"relationToInsured": "3",
|
||||||
|
"sex": "1",
|
||||||
|
"village": "百苑小区101号",
|
||||||
|
"yearSalary": "23"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": "450103",
|
||||||
|
"birthday": "1983-03-12",
|
||||||
|
"bnfLot": 50,
|
||||||
|
"bnfOrder": 1,
|
||||||
|
"bnfType": "0",
|
||||||
|
"certiexpiredate": "2035-03-31",
|
||||||
|
"city": "450100",
|
||||||
|
"effectiveDateType": "false",
|
||||||
|
"healthGrade": "1",
|
||||||
|
"idNo": "452624198303120727",
|
||||||
|
"idType": "1",
|
||||||
|
"lifeGrade": "1",
|
||||||
|
"marriage": "1",
|
||||||
|
"mobile": "13707711024",
|
||||||
|
"name": "艾琳马上来",
|
||||||
|
"nativeplace": "1",
|
||||||
|
"occupationCode": "4070103",
|
||||||
|
"occupationName": "经纪人(内勤)",
|
||||||
|
"province": "450000",
|
||||||
|
"relationToInsured": "4",
|
||||||
|
"sex": "1",
|
||||||
|
"village": "百苑小区101号",
|
||||||
|
"yearSalary": "32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"area": "450103",
|
||||||
|
"birthday": "1983-03-12",
|
||||||
|
"bnfLot": 50,
|
||||||
|
"bnfOrder": 1,
|
||||||
|
"bnfType": "0",
|
||||||
|
"certiexpiredate": "2035-03-31",
|
||||||
|
"city": "450100",
|
||||||
|
"effectiveDateType": "false",
|
||||||
|
"healthGrade": "1",
|
||||||
|
"idNo": "452624198303120727",
|
||||||
|
"idType": "1",
|
||||||
|
"lifeGrade": "1",
|
||||||
|
"marriage": "1",
|
||||||
|
"mobile": "13707711024",
|
||||||
|
"name": "艾琳马上来",
|
||||||
|
"nativeplace": "1",
|
||||||
|
"occupationCode": "4070103",
|
||||||
|
"occupationName": "经纪人(内勤)",
|
||||||
|
"province": "450000",
|
||||||
|
"relationToInsured": "4",
|
||||||
|
"sex": "1",
|
||||||
|
"village": "百苑小区101号",
|
||||||
|
"yearSalary": "32"
|
||||||
|
}
|
||||||
|
]`
|
||||||
|
res.orderDTO.orderInfoDTO.bnfFlag = '1'
|
||||||
|
if (res.orderDTO.orderInfoDTO.bnfFlag === '0') {
|
||||||
|
this.bnftype = '0'
|
||||||
|
} else if (res.orderDTO.orderInfoDTO.bnfFlag === '1') {
|
||||||
|
this.bnftype = '1'
|
||||||
|
res.orderDTO.insuredDTOs[0].bnfDTOs = JSON.parse(btnasd)
|
||||||
|
if (res.orderDTO.insuredDTOs[0].bnfDTOs) {
|
||||||
|
this.bnfPersonInfo = res.orderDTO.insuredDTOs[0].bnfDTOs || JSON.parse(btnasd)
|
||||||
|
this.bnfPersonInfo.forEach((item, index) => {
|
||||||
|
this.bnfHomeName[index] = getAreaName([{ code: item.province }, { code: item.city }, { code: item.area }])
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 账户信息
|
||||||
|
this.accountPersonInfo = res.orderDTO.orderAccountDTO
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
setCustomerMarriage(marriageCode) {
|
||||||
|
for (let status of DataDictionary.marriage) {
|
||||||
|
if (status.id == marriageCode) {
|
||||||
|
this.userInfo.marriageStatus = status.text
|
||||||
|
this.userInfo.marriage = status.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description: 弹框选择
|
||||||
|
* @param {*} pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况
|
||||||
|
7、在职情况 8、收入来源
|
||||||
|
* @param {*} valueKey
|
||||||
|
* @param {*} userType appntDTO 投保人 insuredDTOs 被投保人 bnfDTOs 受益人 orderAccountDTO 账号信息
|
||||||
|
* @param {*} bnfIndex 受益人索引
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
toSelect(pickerType, valueKey, userType, bnfIndex) {
|
||||||
|
bnfIndex ? (this.bnfIndex = 1) : (this.bnfIndex = 0)
|
||||||
|
;[this.popupShow, this.pickerType] = [true, pickerType]
|
||||||
|
if (valueKey) this.valueKey = valueKey
|
||||||
|
userType ? (this.userType = userType) : ''
|
||||||
|
switch (pickerType) {
|
||||||
|
case '1':
|
||||||
|
this.columns = DataDictionary.nativeplace
|
||||||
|
break
|
||||||
|
case '2':
|
||||||
|
this.columns = DataDictionary.insuredIdType
|
||||||
|
break
|
||||||
|
case '4':
|
||||||
|
this.columns = [{ id: 0, text: '有' }, { id: 1, text: '无' }]
|
||||||
|
break
|
||||||
|
case '5':
|
||||||
|
this.columns = DataDictionary.taxIdentity
|
||||||
|
break
|
||||||
|
case '8':
|
||||||
|
this.columns = DataDictionary.salarySource
|
||||||
|
break
|
||||||
|
case '9':
|
||||||
|
this.productCodes.length = 0
|
||||||
|
this.productCodes.push('GFRS_M0024')
|
||||||
|
getCompany({ productCodes: this.productCodes }).then(res => {
|
||||||
|
if (res.result == 0) {
|
||||||
|
this.columns = res.content
|
||||||
|
} else {
|
||||||
|
this.$toast(res.resultMessage)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
break
|
||||||
|
case '10':
|
||||||
|
this.columns = DataDictionary.marriage
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//确认选择字段
|
||||||
|
onConfirm(value) {
|
||||||
|
this.popupShow = false
|
||||||
|
if (this.pickerType == '1') {
|
||||||
|
if (this.userType === 'appntDTO') {
|
||||||
|
this.userInfo.nativeplace = value.id
|
||||||
|
} else if (this.userType === 'insuredDTOs') {
|
||||||
|
this.insuredPersonInfo.nativeplace = value.id
|
||||||
|
} else if (this.userType === 'bnfDTOs') {
|
||||||
|
this.bnfPersonInfo[this.bnfIndex].nativeplace = value.id
|
||||||
|
} else if (this.userType === 'orderAccountDTO') {
|
||||||
|
this.accountPersonInfo.nativeplace = value.id
|
||||||
|
}
|
||||||
|
} else if (this.pickerType == '2') {
|
||||||
|
//身份证以外的证件类型可以使用长期
|
||||||
|
if (value.id != '1') {
|
||||||
|
this.effectiveDateTypeAble = false
|
||||||
|
} else {
|
||||||
|
//若身份证件类型为身份证,自动带入年龄
|
||||||
|
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||||
|
this.effectiveDateTypeAble = !(age > 45)
|
||||||
|
// 身份证号码不存在时赋默认值
|
||||||
|
if (!this.userInfo.idNo) {
|
||||||
|
this.userInfo.idNo = ''
|
||||||
|
}
|
||||||
|
//若身份证件类型为身份证,自动带入性别
|
||||||
|
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'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
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') {
|
||||||
|
this.userInfo.jobStatus = value.id
|
||||||
|
} */ else if (
|
||||||
|
this.pickerType == '8'
|
||||||
|
) {
|
||||||
|
this.userInfo.salarySource = value.id
|
||||||
|
} else if (this.pickerType == '9') {
|
||||||
|
this.userInfo.workcompany = value
|
||||||
|
} else if (this.pickerType === '10') {
|
||||||
|
if (this.userType === 'appntDTO') {
|
||||||
|
this.userInfo.marriageStatus = value.text
|
||||||
|
} else if (this.userType === 'insuredDTOs') {
|
||||||
|
this.insuredPersonInfo.marriageStatus = value.text
|
||||||
|
} else if (this.userType === 'bnfDTOs') {
|
||||||
|
this.bnfPersonInfo[this.bnfIndex].marriageStatus = value.text
|
||||||
|
} else if (this.userType === 'orderAccountDTO') {
|
||||||
|
this.accountPersonInfo.marriageStatus = value.text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description: 地区选择
|
||||||
|
* @param {*} pickerType 1户籍 2联系地址 3单位地址
|
||||||
|
* @param {*} userType appntDTO 投保人 insuredDTOs 被投保人 bnfDTOs 受益人 orderAccountDTO 账号信息
|
||||||
|
* @param {*} bnfIndex 受益人索引
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
areaChoose(pickerType, userType, bnfIndex) {
|
||||||
|
userType ? (this.userType = userType) : ''
|
||||||
|
if (this.isAppnt) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
switch (pickerType) {
|
||||||
|
// case '1': //户籍
|
||||||
|
// this.censusShow = true
|
||||||
|
// break
|
||||||
|
case '2': //联系地址
|
||||||
|
this.homeShow = true
|
||||||
|
if (userType === 'bnfDTOs') {
|
||||||
|
this.bnfIndex = bnfIndex
|
||||||
|
}
|
||||||
|
break
|
||||||
|
case '3': //单位地址
|
||||||
|
this.areaShow = true
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
break
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description: 区域选择
|
||||||
|
* @param {*} area 地区信息
|
||||||
|
* @param {*} pickerType 1户籍 2联系地址 3单位地址
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
sureArea(area, pickerType) {
|
||||||
|
console.log('area :>> ', area)
|
||||||
|
switch (pickerType) {
|
||||||
|
// 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 = `${area[0].name}-${area[1].name}-${area[2].name}`;
|
||||||
|
if (this.userType === 'appntDTO') {
|
||||||
|
this.homeName = getAreaName(area)[(this.userInfo.homeProvince, this.userInfo.homeCity, this.userInfo.homeArea)] = [
|
||||||
|
area[0].code,
|
||||||
|
area[1].code,
|
||||||
|
area[2].code
|
||||||
|
]
|
||||||
|
} else if (this.userType === 'insuredDTOs') {
|
||||||
|
this.insuredHomeName = getAreaName(area)[
|
||||||
|
(this.insuredPersonInfo.homeProvince, this.insuredPersonInfo.homeCity, this.insuredPersonInfo.homeArea)
|
||||||
|
] = [area[0].code, area[1].code, area[2].code]
|
||||||
|
} else if (this.userType === 'bnfDTOs') {
|
||||||
|
this.bnfHomeName[this.bnfIndex] = getAreaName(area)
|
||||||
|
;[this.bnfPersonInfo[this.bnfIndex]['province'], this.bnfPersonInfo[this.bnfIndex]['city'], this.bnfPersonInfo[this.bnfIndex]['area']] = [
|
||||||
|
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
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*} index
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
selectClick(index) {
|
||||||
|
selectComp(this, index, '1')
|
||||||
|
},
|
||||||
|
|
||||||
|
specialRead(payload) {
|
||||||
|
this.isSpecialRead = payload
|
||||||
|
},
|
||||||
|
async nextStep(page) {
|
||||||
|
// const authRes = await EWebBridge.webCallAppInJs('face_auth', {
|
||||||
|
// businessSource: '1', //业务来源:1-电投,2-入司,3-理赔,4-保全
|
||||||
|
// number: this.userInfo.idNo, //身份证号码
|
||||||
|
// name: this.userInfo.name //姓名
|
||||||
|
// })
|
||||||
|
// if (JSON.parse(authRes).state !== '1') {
|
||||||
|
// this.$toast('人脸识别失败!')
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// 验证
|
||||||
|
// console.log(this.userInfo, '=====================================this.userInfo')
|
||||||
|
// console.log(this.insuredPersonInfo, '=====================================this.insuredPersonInfo')
|
||||||
|
let valid = await this.$validator.validate()
|
||||||
|
if (true === valid) {
|
||||||
|
for (let status of DataDictionary.marriage) {
|
||||||
|
if (status.text === this.userInfo.marriageStatus) {
|
||||||
|
this.userInfo.marriage = status.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.save()
|
||||||
|
} else {
|
||||||
|
return this.$toast(this.$validator.errors.all()[0])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async save() {
|
||||||
|
let params = {
|
||||||
|
orderType: 'APPNT_ORDER',
|
||||||
|
orderDTO: {
|
||||||
|
orderInfoDTO: {
|
||||||
|
orderNo: localStorage.orderNo,
|
||||||
|
isElecCont: this.isElecCont
|
||||||
|
},
|
||||||
|
appntDTO: this.userInfo,
|
||||||
|
insuredDTOs: this.insuredPersonInfo,
|
||||||
|
orderAccountDTO: this.accountPersonInfo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let str = ''
|
||||||
|
let resultData = await saveOrUpdateOrderInfo(params)
|
||||||
|
if (resultData.result == 0) {
|
||||||
|
localStorage.setItem('orderNo', resultData.orderNo)
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/insureAgain/productInformation`
|
||||||
|
},
|
||||||
|
routerInfo: {
|
||||||
|
path: `/insureAgain/productInformation`
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$toast(resultData.resultMessage)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*} data
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
chooseOccupation(data) {
|
||||||
|
let { code, name, healthGrade, lifeGrade } = data
|
||||||
|
this.$jump({
|
||||||
|
flag: 'navigation',
|
||||||
|
extra: {
|
||||||
|
title: '职业类别',
|
||||||
|
hiddenRight: '1'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.occupationShowPicker = false
|
||||||
|
this.bnfPersonInfo[this.bnfIndex]['occupationName'] = name;
|
||||||
|
this.bnfPersonInfo[this.bnfIndex]['occupationCode'] = code;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @description:
|
||||||
|
* @param {*}
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
openOccupation(index) {
|
||||||
|
this.occupationShowPicker = !this.occupationShowPicker
|
||||||
|
this.bnfIndex = index
|
||||||
|
this.occupationName = this.bnfPersonInfo[this.bnfIndex]['occupationName'];
|
||||||
|
this.occupationCode = this.bnfPersonInfo[this.bnfIndex]['occupationCode'];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.insure-again {
|
||||||
|
padding-bottom: 45px;
|
||||||
|
}
|
||||||
|
.input {
|
||||||
|
border: none;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
98
src/views/ebiz/insureAgain/payment.vue
Normal file
98
src/views/ebiz/insureAgain/payment.vue
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<van-cell-group>
|
||||||
|
<van-cell title="投保人" value="李磊" />
|
||||||
|
<van-cell title="支付金额" value="2,000.00" />
|
||||||
|
<van-cell value="2,000.00">
|
||||||
|
<template #title>
|
||||||
|
<img class="icon mr5" :src="src" />
|
||||||
|
<span class="custom-title">银行卡支付</span>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
<van-radio name="bank" v-model="checked" />
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
<van-cell value="2,000.00">
|
||||||
|
<template #title>
|
||||||
|
<img class="icon mr5" :src="vxSrc" />
|
||||||
|
<span class="custom-title">银行卡支付</span>
|
||||||
|
</template>
|
||||||
|
<template #default>
|
||||||
|
<van-radio disabled name="vx" v-model="checked" />
|
||||||
|
</template>
|
||||||
|
</van-cell>
|
||||||
|
<van-cell title="姓名" value="静静" />
|
||||||
|
<van-cell title="卡号" value="563353455325345345" />
|
||||||
|
<van-cell title="银行" value="交通银行" />
|
||||||
|
</van-cell-group>
|
||||||
|
<div class="action-bar">
|
||||||
|
<div class="btns">
|
||||||
|
<van-button type="danger" v-no-more-click="1000" @click="backToList">返回可重新转保保单列表</van-button>
|
||||||
|
<van-button type="danger" v-no-more-click="1000" @click="nextStep">去支付</van-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { Radio } from 'vant'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'InsureAgainPayment',
|
||||||
|
components: {
|
||||||
|
[Radio.name]: Radio
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
checked: 'bank',
|
||||||
|
// 银行卡支付图片地址
|
||||||
|
src: this.$assetsUrl + 'images/cardImg.png',
|
||||||
|
// 微信支付图片地址
|
||||||
|
vxSrc: this.$assetsUrl + 'images/vxImg.png'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
backToList() {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/insureAgain`,
|
||||||
|
forbidSwipeBack: '1',
|
||||||
|
needRefresh: '1'
|
||||||
|
},
|
||||||
|
routerInfo: { path: `/insureAgain` }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
nextStep(){}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
/deep/ .van-cell__title {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/ .van-radio {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
.action-bar {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
background: #fff;
|
||||||
|
width: 100vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns {
|
||||||
|
display: flex;
|
||||||
|
/deep/ .van-button--danger {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
68
src/views/ebiz/insureAgain/paymentResult.vue
Normal file
68
src/views/ebiz/insureAgain/paymentResult.vue
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<template>
|
||||||
|
<div class="payment-result p10 bg-white">
|
||||||
|
<div class="emoji bg-white p30 van-hairline--surround mb5">
|
||||||
|
<img class="img mb20" :src="emojiSuccess" />
|
||||||
|
<p class="msg">支付成功</p>
|
||||||
|
</div>
|
||||||
|
<div class="bg-white">
|
||||||
|
<van-cell title="付款人" value="李磊" />
|
||||||
|
<van-cell title="投保单号" value="8186270000011900" />
|
||||||
|
<van-cell title="支付金额" value="2000.00" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p class="ps p10">{{ psText }}</p>
|
||||||
|
|
||||||
|
<van-button type="danger" class="bottom-btn" v-no-more-click="1000">返回可重新投保保单列表</van-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import emojiSuccess from '@/assets/images/renewalManage/u51859.png'
|
||||||
|
import emojiFailed from '@/assets/images/renewalManage/u51859.png'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
computed: {
|
||||||
|
emoji() {
|
||||||
|
if (this.resultState) {
|
||||||
|
return this.emojiSuccess
|
||||||
|
} else {
|
||||||
|
return emojiFailed
|
||||||
|
}
|
||||||
|
},
|
||||||
|
psText() {
|
||||||
|
if (this.resultState) {
|
||||||
|
return '温馨提示: 您的新保单将于2021年2月20日生效,请您前往官微或联 系保单服务人员签收您的保单。'
|
||||||
|
} else {
|
||||||
|
return '温馨提示:亲,您本次提交的重新申请,因XX原因,未提交成功,如需帮助,可联系保单服务专员或拨打公司服务热线:400-694-6688。'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
emojiSuccess,
|
||||||
|
emojiFailed,
|
||||||
|
resultState: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.payment-result {
|
||||||
|
.emoji {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img {
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ps {
|
||||||
|
color: #ff0000;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
180
src/views/ebiz/insureAgain/productInformation.vue
Normal file
180
src/views/ebiz/insureAgain/productInformation.vue
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
<template>
|
||||||
|
<div class="insure-again">
|
||||||
|
<ProgressBar :active.sync="active" />
|
||||||
|
<!-- 险种信息 -->
|
||||||
|
<p style="font-weight: bold;" class="bg-white p10 van-hairline--bottom">保险计划详情</p>
|
||||||
|
<InfoCell label="保险期间" />
|
||||||
|
<InfoCell label="交费期间" />
|
||||||
|
<InfoCell label="交费频率" />
|
||||||
|
<DropdownBox :gutter="false">
|
||||||
|
<template #boxTitle>
|
||||||
|
<span style="font-weight: bold;">主险</span>
|
||||||
|
<span class="ml30">国富人寿附加住院医疗保险(B款)</span>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="保险责任" />
|
||||||
|
<InfoCell label="保额(万元)" />
|
||||||
|
<InfoCell>
|
||||||
|
<template #cellLabel>
|
||||||
|
<span style="font-weight: bold;">保费(元)</span>
|
||||||
|
</template>
|
||||||
|
</InfoCell>
|
||||||
|
</DropdownBox>
|
||||||
|
<DropdownBox :gutter="false">
|
||||||
|
<template #boxTitle>
|
||||||
|
<van-checkbox v-model="remitRiskA" shape="square" checked-color="#ee0a24">
|
||||||
|
<span style="font-weight: bold;">附加险</span>
|
||||||
|
<span class="ml30">国富人寿附加住院医疗保险(B款)</span>
|
||||||
|
</van-checkbox>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="保险责任" />
|
||||||
|
<InfoCell label="住院医疗保险金" />
|
||||||
|
<InfoCell label="住院津贴保险金" />
|
||||||
|
<InfoCell label="恶性肿瘤住院津贴保险金" />
|
||||||
|
<InfoCell label="免赔额" />
|
||||||
|
<InfoCell label="赔付比例" />
|
||||||
|
<InfoCell>
|
||||||
|
<template #cellLabel>
|
||||||
|
<span style="font-weight: bold;">保费(元)</span>
|
||||||
|
</template>
|
||||||
|
</InfoCell>
|
||||||
|
</DropdownBox>
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span style="font-weight: bold;">附加险</span>
|
||||||
|
<span class="ml30">国富人寿附加综合意外伤害保险</span>
|
||||||
|
</template>
|
||||||
|
<InfoCell label="保险责任" />
|
||||||
|
<InfoCell label="意外身故/伤残保险金" />
|
||||||
|
<InfoCell label="轨道列车意外身故保险金/轨道列车意外伤残保险金" />
|
||||||
|
<InfoCell label="客运汽车意外身故保险金/客运汽车意外伤残保险金" />
|
||||||
|
<InfoCell label="免赔额" />
|
||||||
|
<InfoCell label="赔付比例" />
|
||||||
|
<InfoCell>
|
||||||
|
<template #cellLabel>
|
||||||
|
<span style="font-weight: bold;">保费(元)</span>
|
||||||
|
</template>
|
||||||
|
</InfoCell>
|
||||||
|
<template #footer>
|
||||||
|
<div style="text-align: center;" class="p10 bg-white">
|
||||||
|
<van-button size="small" round type="danger" @click="readSpecialPromise" :disabled="isRead">
|
||||||
|
{{ isRead ? '已阅读《特别约定》' : '点击这里阅读《特别约定》' }}
|
||||||
|
</van-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</DropdownBox>
|
||||||
|
|
||||||
|
<van-popup v-model="show" position="right" :style="style">
|
||||||
|
<ReadingAgreement :needTime="false">
|
||||||
|
<h3 class="p10">特别约定提示</h3>
|
||||||
|
<p class="p10">
|
||||||
|
尊敬的xxx先生/女士:
|
||||||
|
“投保《国富人寿国富民惠医疗保险2020》,以有社保身份投保的保单:理赔时,若通过社会基本医疗保险或者公费医疗就诊并结算的,意外伤害医疗保险金的赔付比例为80%,免赔额为0元;理赔时,若未通过社会基本医疗保险或者公费医疗就诊并结算的,意外伤害医疗保险金的赔付比例为60%,免赔额为100元。以无社保身份投保的保单:理赔时,若未通过社会基本医疗保险或者公费医疗就诊并结算的,意外伤害医疗保险金的赔付比例为70%,免赔额为100元;理赔时,若通过社会基本医疗保险或者公费医疗就诊并结算的,意外伤害医疗保险金的赔付比例为90%,免赔额为0元。
|
||||||
|
</p>
|
||||||
|
<template #action>
|
||||||
|
<div class="btns">
|
||||||
|
<van-button type="danger" @click="backToList">不同意</van-button>
|
||||||
|
<van-button type="danger" @click="readAgreement">同意</van-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</ReadingAgreement>
|
||||||
|
</van-popup>
|
||||||
|
|
||||||
|
<van-button type="danger" class="bottom-btn" v-no-more-click="1000" @click="nextStep">下一步</van-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
|
||||||
|
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
|
||||||
|
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
|
||||||
|
import ReadingAgreement from '@/components/ebiz/insureAgain/ReadingAgreement'
|
||||||
|
import { Checkbox, RadioGroup, Radio, Dialog } from 'vant'
|
||||||
|
export default {
|
||||||
|
name: 'productInformation',
|
||||||
|
components: {
|
||||||
|
ProgressBar,
|
||||||
|
DropdownBox,
|
||||||
|
InfoCell,
|
||||||
|
ReadingAgreement,
|
||||||
|
[Checkbox.name]: Checkbox,
|
||||||
|
[RadioGroup.name]: RadioGroup,
|
||||||
|
[Radio.name]: Radio
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
radio: 1,
|
||||||
|
show: false,
|
||||||
|
remitRiskA: false,
|
||||||
|
style: { height: '100vh', width: '100vw' },
|
||||||
|
isRead: false,
|
||||||
|
active: 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
appCallBack(data) {
|
||||||
|
if (data.trigger == 'left_button_click') {
|
||||||
|
if (this.show) {
|
||||||
|
this.show = false
|
||||||
|
setTimeout(() => {
|
||||||
|
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
|
intercept: '1'
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
} else {
|
||||||
|
this.backToList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
readSpecialPromise() {
|
||||||
|
setTimeout(() => {
|
||||||
|
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
|
img: this.$assetsUrl + 'images/del-close-btn@3x.png',
|
||||||
|
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
this.show = true
|
||||||
|
window.appCallBack = this.appCallBack
|
||||||
|
},
|
||||||
|
backToList() {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/insureAgain`,
|
||||||
|
forbidSwipeBack: '1',
|
||||||
|
needRefresh: '1'
|
||||||
|
},
|
||||||
|
routerInfo: { path: `/insureAgain` }
|
||||||
|
})
|
||||||
|
},
|
||||||
|
readAgreement() {
|
||||||
|
this.show = false
|
||||||
|
this.isRead = true
|
||||||
|
setTimeout(() => {
|
||||||
|
window.EWebBridge.webCallAppInJs('webview_left_button', {
|
||||||
|
intercept: '1' //是否拦截原生返回事件 1是 其他否
|
||||||
|
})
|
||||||
|
}, 100)
|
||||||
|
},
|
||||||
|
nextStep() {
|
||||||
|
if (!this.isRead) {
|
||||||
|
Dialog.alert({
|
||||||
|
title: '提示',
|
||||||
|
message: '亲,请您阅读和确认特别约定哦~',
|
||||||
|
confirmButtonColor: '#ff0000'
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.btns {
|
||||||
|
display: flex;
|
||||||
|
/deep/ .van-button--danger {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
90
src/views/ebiz/insureAgain/signConfirmation.vue
Normal file
90
src/views/ebiz/insureAgain/signConfirmation.vue
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
<template>
|
||||||
|
<div class="insure-again">
|
||||||
|
<ProgressBar :active.sync="active" />
|
||||||
|
<van-cell-group class="mb10">
|
||||||
|
<van-cell title="销售人员工号" value="1450000562" />
|
||||||
|
<van-cell title="销售人员姓名" value="韦辉" />
|
||||||
|
<van-cell title="投保单号" value="823942423492392" />
|
||||||
|
<van-cell title="投保日期" value="2021-03-01" />
|
||||||
|
<van-cell title="保费合计" value="2,000.00" />
|
||||||
|
</van-cell-group>
|
||||||
|
<DropdownBox>
|
||||||
|
<template #boxTitle>
|
||||||
|
<span class="mr10">投保人</span>
|
||||||
|
<span>李磊</span>
|
||||||
|
</template>
|
||||||
|
<p style="font-size: 14px; color: #666666;" class="p15">以下内容需要您按照顺序并阅读确认:</p>
|
||||||
|
<div class="files pl15">
|
||||||
|
<p class="mb5">需阅读</p>
|
||||||
|
<p class="file-name">
|
||||||
|
<span style="color: #0099ff;">《国富人寿投保须知》</span>
|
||||||
|
<StateRadio :result.sync="result" />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="files pl15 pt10">
|
||||||
|
<p class="mb5">需阅读</p>
|
||||||
|
<p class="file-name">
|
||||||
|
<span style="color: #0099ff;">《国富人寿投保须知》</span>
|
||||||
|
<StateRadio :result.sync="result" />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div class="files pl15 pt10 pb10">
|
||||||
|
<p class="mb5">需阅读</p>
|
||||||
|
<p class="file-name">
|
||||||
|
<span style="color: #0099ff;">《国富人寿投保须知》</span>
|
||||||
|
<StateRadio :result.sync="result" />
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</DropdownBox>
|
||||||
|
|
||||||
|
<van-button type="danger" class="bottom-btn" v-no-more-click="1000" @click="nextStep">提交</van-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ProgressBar from '@/components/ebiz/insureAgain/ProgressBar'
|
||||||
|
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
|
||||||
|
import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
|
||||||
|
import StateRadio from '@/components/ebiz/insureAgain/StateRadio'
|
||||||
|
export default {
|
||||||
|
name: 'signConfirmation',
|
||||||
|
components: {
|
||||||
|
ProgressBar,
|
||||||
|
DropdownBox,
|
||||||
|
InfoCell,
|
||||||
|
StateRadio
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
result: 2,
|
||||||
|
active: 3
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
nextStep() {
|
||||||
|
this.$jump({
|
||||||
|
flag: 'h5',
|
||||||
|
extra: {
|
||||||
|
url: location.origin + `/#/insureAgain/payment`,
|
||||||
|
forbidSwipeBack: '1',
|
||||||
|
needRefresh: '1'
|
||||||
|
},
|
||||||
|
routerInfo: { path: `/insureAgain/payment` }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.file-name {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.files {
|
||||||
|
p {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user