mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-10 10:26:44 +08:00
提交
This commit is contained in:
385
src/views/ebiz/serve/Detail.vue
Normal file
385
src/views/ebiz/serve/Detail.vue
Normal 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>
|
||||
Reference in New Issue
Block a user