This commit is contained in:
邓晓坤
2019-09-12 16:22:38 +08:00
parent 90ea054ae0
commit ff8a261f79
195 changed files with 65268 additions and 0 deletions

View File

@@ -0,0 +1,385 @@
<template>
<div class="detail-container pb50">
<van-collapse v-model="activeNames">
<!-- 保单信息 -->
<van-collapse-item title="保单信息" name="1" class="pb10 pt10">
<van-cell-group>
<van-cell title="保单号" :value="OrderInfoDTO.contNo" />
<van-cell title="生效日期" :value="OrderInfoDTO.cvaliDate" />
<van-cell title="保单状态" :value="OrderInfoDTO.contState" />
<van-cell title="签收状态" :value="OrderInfoDTO.orderStatus" />
</van-cell-group>
</van-collapse-item>
<!-- 投保人信息 -->
<van-collapse-item title="投保人信息" name="2" class="detail-title pb10">
<van-cell-group>
<van-cell title="投保人" :value="appntDTO.name" />
<van-cell title="性别" :value="appntDTO.sex" />
<van-cell title="证件类型" :value="appntDTO.idType" />
<van-cell title="证件号码" :value="appntDTO.idNo" />
<van-cell title="联系电话" :value="appntDTO.mobile" />
</van-cell-group>
</van-collapse-item>
<!-- 多被保人信息 -->
<div v-for="(item, index) in insuredDTOs" :key="index" class="pb10">
<van-collapse-item title="被保人信息" :name="index + 40" class="pb10">
<van-cell-group>
<van-cell title="是投保人的" :value="item.relationToAppnt" />
<van-cell title="姓名" :value="item.name" />
<van-cell title="性别" :value="item.sex" />
<van-cell title="证件类型" :value="item.idType" />
<van-cell title="证件号码" :value="item.idNo" />
<van-cell title="联系电话" :value="item.mobile" />
</van-cell-group>
</van-collapse-item>
<div v-for="(itm, i) in item.bnfDTOs" :key="itm.name" class="pb10">
<!-- 受益人信息 -->
<van-collapse-item title="受益人信息" :name="i + 81">
<van-cell-group>
<van-cell title="受益人" :value="itm.bnfType" />
<van-cell title="姓名" :value="itm.name" />
<van-cell title="性别" :value="itm.sex" />
<van-cell title="是被保人的" :value="itm.relationToInsured" />
<van-cell title="收益比例" :value="`${itm.bnfLot}%`" v-if="itm.bnfLot != null" />
<van-cell title="证件类型" :value="itm.idType" />
<van-cell title="证件号码" :value="itm.idNo" />
</van-cell-group>
</van-collapse-item>
</div>
<div v-for="(it, ind) in item.riskDTOLst" :key="it.riskName" class="pb10">
<van-collapse-item title="主险信息" :name="ind + 10">
<van-cell-group>
<van-cell title="险种名称" :value="it.riskName" />
<van-cell title="保险期间" :value="it.insuYear" />
<van-cell title="交费方式" :value="it.payIntv" />
<van-cell title="交费期间" :value="it.years" />
<van-cell title="险种保额" :value="it.amt" />
<van-cell title="险种保费" :value="it.prem" />
<van-collapse-item title="附加险信息" :name="ind + 61">
<van-cell-group>
<van-cell title="险种名称" :value="it.riskName" />
<van-cell title="保险期间" :value="it.insuYear" />
<van-cell title="交费方式" :value="it.payIntv" />
<van-cell title="交费期间" :value="it.years" />
<van-cell title="险种保额" :value="it.amt" />
<van-cell title="险种保费" :value="it.prem" />
</van-cell-group>
</van-collapse-item>
</van-cell-group>
</van-collapse-item>
</div>
</div>
</van-collapse>
<div class="bottom-btn bg-white">
<van-button type="danger" size="large" @click="next" v-no-more-click="1000">回执签收</van-button>
<!-- :disabled="OrderInfoDTO.orderStatus == '已签收' ? true : false" -->
</div>
</div>
</template>
<script>
import { Collapse, CollapseItem, Cell, CellGroup, Button } from 'vant'
import { getPolicyDetail, getReceiptSign } from '@/api/ebiz/serve/serve'
export default {
data() {
return {
// 折叠面板
activeNames: ['1'],
// 保单基本信息
OrderInfoDTO: {},
// 投保人信息
appntDTO: {},
// 被保人信息
insuredDTOs: [],
// 保单号
contNo: ''
}
},
created() {
let that = this
// 获取保单详情
that.getPolicyDetail()
},
components: {
[Collapse.name]: Collapse,
[CollapseItem.name]: CollapseItem,
[Cell.name]: Cell,
[CellGroup.name]: CellGroup,
[Button.name]: Button
},
methods: {
// 获取保单详情
getPolicyDetail() {
let that = this
let data = {
policyNo: window.localStorage.getItem('policyNo')
// policyNo: '900080000000762'
}
getPolicyDetail(data).then(res => {
console.log(res)
if (res.result == '0') {
// 保单信息
if (res.content.orderInfoDTO.orderStatus == '0') {
res.content.orderInfoDTO.orderStatus = '未签收'
} else {
res.content.orderInfoDTO.orderStatus = '已签收'
}
if (res.content.orderInfoDTO.contState == '0') {
res.content.orderInfoDTO.contState = '无效'
} else if (res.content.orderInfoDTO.contState == '1') {
res.content.orderInfoDTO.contState = '有效'
}
that.OrderInfoDTO = res.content.orderInfoDTO
that.appntDTO = res.content.appntDTO
// window.localStorage.getItem('saleInsuredInfo', JSON.stringify(res.content.appntDTO))
// 投保人信息
if (res.content.appntDTO.sex == '0') {
res.content.appntDTO.sex = '男'
} else if (res.content.appntDTO.sex == '1') {
res.content.appntDTO.sex = '女'
} else {
res.content.appntDTO.sex = '不详'
}
switch (res.content.appntDTO.idType) {
case '0':
res.content.appntDTO.idType = '居民身份证'
break
case '1':
res.content.appntDTO.idType = '户口本'
break
case '2':
res.content.appntDTO.idType = '出生证'
break
case '3':
res.content.appntDTO.idType = '外国人永久居留身份证'
break
case '4':
res.content.appntDTO.idType = '外国人护照'
break
case '5':
res.content.appntDTO.idType = '港澳居民来往内地通行证'
break
case '6':
res.content.appntDTO.idType = '台湾居民来往内地通行证'
break
case '7':
res.content.appntDTO.idType = '其他'
break
case '9':
res.content.appntDTO.idType = '港澳台居民居住证'
break
}
that.appntDTO = res.content.appntDTO
res.content.insuredDTOs.map(item => {
item.riskDTOLst.map(it => {
Number(it.payIntv)
switch (it.payIntv) {
case -1:
it.payIntv = '不定期交'
break
case 0:
it.payIntv = '一次交清'
break
case 1:
it.payIntv = '月交'
break
case 3:
it.payIntv = '季交'
break
case 6:
it.payIntv = '半年交'
break
case 12:
it.payIntv = '年交'
break
}
})
})
// 被保人信息
res.content.insuredDTOs.map(item => {
if (item.sex == '0') {
item.sex = '男'
} else if (item.sex == '1') {
item.sex = '女'
} else {
item.sex = '不详'
}
switch (item.idType) {
case '0':
item.idType = '居民身份证'
break
case '1':
item.idType = '户口本'
break
case '2':
item.idType = '出生证'
break
case '3':
item.idType = '外国人永久居留身份证'
break
case '4':
item.idType = '外国人护照'
break
case '5':
item.idType = '港澳居民来往内地通行证'
break
case '6':
item.idType = '台湾居民来往内地通行证'
break
case '7':
item.idType = '其他'
break
case '9':
item.idType = '港澳台居民居住证'
break
}
switch (item.relationToAppnt) {
case '1':
item.relationToAppnt = '本人'
break
case '2':
item.relationToAppnt = '配偶'
break
case '3':
item.relationToAppnt = '父母'
break
case '4':
item.relationToAppnt = '子女'
break
case '5':
item.relationToAppnt = '其他'
break
}
item.bnfDTOs.map(it => {
if (it.bnfType == '0') {
it.bnfType = '生存受益人'
} else if (it.bnfType == '1') {
it.bnfType = '身故受益人'
} else {
it.bnfType = '法定受益人'
}
if (it.sex == '0') {
it.sex = '男'
} else if (it.sex == '1') {
it.sex = '女'
} else {
it.sex = '不详'
}
switch (it.idType) {
case '0':
it.idType = '居民身份证'
break
case '1':
it.idType = '户口本'
break
case '2':
it.idType = '出生证'
break
case '3':
it.idType = '外国人永久居留身份证'
break
case '4':
it.idType = '外国人护照'
break
case '5':
it.idType = '港澳居民来往内地通行证'
break
case '6':
it.idType = '台湾居民来往内地通行证'
break
case '7':
it.idType = '其他'
break
case '9':
it.idType = '港澳台居民居住证'
break
}
switch (it.relationToInsured) {
case '1':
it.relationToInsured = '本人'
break
case '2':
it.relationToInsured = '配偶'
break
case '3':
it.relationToInsured = '父母'
break
case '4':
it.relationToInsured = '子女'
break
case '5':
it.relationToInsured = '其他'
break
}
})
})
that.insuredDTOs = res.content.insuredDTOs
} else {
this.$toast(res.resultMessage)
// EWebBridge.webCallAppInJs('bridge', {
// flag: 'webview_toast',
// extra: { content: res.resultMessage }
// })
}
})
},
// 回执签收
next() {
let data = {
contNo: window.localStorage.getItem('policyNo')
// contNo: '900080000000656'
}
getReceiptSign(data).then(res => {
console.log(res)
if (res.result == '0') {
window.localStorage.setItem('insurance-policyUrl', res.signUrl)
window.localStorage.setItem('detailJump', '1')
console.log(this.OrderInfoDTO)
window.localStorage.setItem('contNo', this.OrderInfoDTO.contNo)
// window.localStorage.setItem('contNo', '801110000002296')
window.localStorage.setItem('orderNo', this.OrderInfoDTO.orderNo)
window.localStorage.setItem('orderStatus', this.OrderInfoDTO.orderStatus)
// window.localStorage.setItem('orderNo', '')
// window.localStorage.setItem('')
// /sale/signatureOfElectronic
window.localStorage.setItem('saleInsuredInfo', JSON.stringify(this.appntDTO))
this.$jump({
flag: 'h5',
extra: {
url: location.origin + '/#/sale/signatureOfElectronic'
},
routerInfo: {
path: '/sale/signatureOfElectronic'
}
})
} else {
this.$toast(res.resultMessage)
}
})
}
}
}
</script>
<style lang="scss" scoped>
.detail-container {
.van-hairline--top-bottom::after {
border: none;
}
/deep/ .van-collapse-item__content {
padding-top: 0;
}
/deep/.van-collapse-item__title {
padding-left: 30px;
}
/deep/ .van-cell__value {
text-align: left !important;
}
}
</style>