投保人待提交详情数据提交

This commit is contained in:
pangxingyue
2021-03-23 13:31:01 +08:00
parent be4dd52db4
commit c623703bdf
3 changed files with 391 additions and 228 deletions

View File

@@ -1,7 +1,7 @@
/*
* @Author: PangXingYue
* @Date: 2021-03-04 10:38:24
* @LastEditTime: 2021-03-22 11:01:02
* @LastEditTime: 2021-03-23 11:07:24
* @LastEditors: PangXingYue
* @Description:
* @FilePath: \ebiz-h5\src\api\ebiz\insureAgain\insureAgain.js
@@ -17,10 +17,10 @@ export function getPolicyListAgent(data) {
})
}
// 获取订单详情
export function getOrderDetail(data) {
// 获取订单详情(待提交)
export function getReAppntPolicy(data) {
return request({
url: getUrl('/sale/order/orderDetail', 1),
url: getUrl('/sale/policy/getReAppntPolicy', 1),
method: 'post',
data
})

View File

@@ -22,18 +22,20 @@
</p>
<p class="name">
<van-tag plain color="#999999">状态</van-tag>
<span class="ml5 span">{{ order.orderStatus }}</span>
<span class="ml5 span" v-if="order.orderStatus === '0'">投保中</span>
<span class="ml5 span" v-else-if="order.orderStatus === '1'">承包</span>
<span class="ml5 span" v-else-if="order.orderStatus === '4'">终止</span>
</p>
</div>
<template #btns>
<div v-if="active === 'uncommit'">
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
<van-button v-if="order.newOrderStatus === '19'" class="ml10" size="small" round type="danger" @click="buyAgain(order)">待支付</van-button>
<van-button v-else class="ml10" size="small" round type="danger" @click="insureAgain(order)">重新投保</van-button>
<van-button size="small" round type="danger" @click="uncommitInsureDetail(order)" plain>查看详情</van-button>
<van-button class="ml10" size="small" round type="danger" @click="insureAgain(order)">重新投保</van-button>
</div>
<div v-if="active === 'commit'">
<div v-if="active === 'commit'">
<van-button class="ml10" size="small" round type="danger" @click="commitInsureDetail(order)">查看投保单</van-button>
<van-button v-if="order.newOrderStatus === '19'" class="ml10" size="small" round type="danger" @click="buyAgain(order)">待支付</van-button>
</div>
</template>
</Order>
@@ -104,14 +106,26 @@ export default {
computed:{
NewItems() {
var NewItems = []
let item1 = ['1','4','0'];
let item2 = ['19','38','39','40'];
let item3 = ['1','2','3'];
let item4 = ['0','1','2','3','4'];
this.policyListDTOList.map(item => {
if (item.riskName.search(this.searchName) != -1 || item.policyNo.search(this.searchName) != -1 || item.appntName.search(this.searchName) != -1) {
// if (this.active === 'uncommit' && item.reInsuranceFlag === '3' && item.reInsuranceState === '0') {
// NewItems.push(item)
// } else if(this.active === 'commit' && item.reInsuranceFlag === '3' && (item.reInsuranceState === '1' || item.reInsuranceState === '2' || item.reInsuranceState === '3')){
// NewItems.push(item)
// }
NewItems.push(item)
item.policyNo = '23424333333331';
item.orderStatus = item1[Math.floor(Math.random()*item1.length)];
item.newOrderNo = '32422222222222234';
item.newOrderStatus = item2[Math.floor(Math.random()*item2.length)];
item.reInsuranceFlag = '3';
item.reInsuranceState = item4[Math.floor(Math.random()*item4.length)];
if (this.active === 'uncommit' && item.reInsuranceFlag === '3' && item.reInsuranceState === '0') {
NewItems.push(item)
} else if(this.active === 'commit' && item.reInsuranceFlag === '3' && (item.reInsuranceState === '1' || item.reInsuranceState === '2' || item.reInsuranceState === '3')){
NewItems.push(item)
}
// NewItems.push(item)
}
})
console.log(NewItems, '======================NewItems===================')
@@ -173,7 +187,7 @@ export default {
this.isAgreementShow = true
},
uncommitInsureDetail(order) {
CacheUtils.setLocItem('orderNo', '')
CacheUtils.setLocItem('policyNo', order.policyNo)
this.$jump({
flag: 'h5',
extra: {

View File

@@ -2,7 +2,7 @@
<div>
<DropdownBox>
<template #boxTitle>
<span>投保人信息</span>
<span>保单信息</span>
</template>
<InfoCell label="保单号">{{OrderInfoDTO.orderNo}}</InfoCell>
<InfoCell label="生效日期">{{OrderInfoDTO.appntDateLabel}}</InfoCell>
@@ -59,14 +59,15 @@
<span>险种类型</span>
</template>
<div v-for="it in list" :key="it.riskName" class="pb10">
<InfoCell label="险种名称">{{it.riskName}}</InfoCell>
<InfoCell label="保险期间">{{it.insuYear}}</InfoCell>
<InfoCell label="交费期间" v-if="it.payEndYear !== '1000'">{{it.payEndYearFlag == 'Y' ? `${it.payEndYear}` : `${it.payEndYear}`}}</InfoCell>
<InfoCell label="交费期间" v-if="it.payEndYear === '1000'">一次性交清</InfoCell>
<InfoCell label="险种保额(元)" v-if="it.riskCode == 'GFRS_M0015' || it.riskCode == 'GFRS_M0017' || it.riskCode == 'GFRS_M0003'">--</InfoCell>
<InfoCell label="险种保额(元)" v-else>{{it.amt | moneyFormat}}</InfoCell>
<InfoCell label="险种保(元)">{{it.riskName}}</InfoCell>
</div>
<InfoCell label="险种名称">{{it.riskName}}</InfoCell>
<InfoCell label="保险期间">{{it.insuYear}}</InfoCell>
<InfoCell label="交费期间" v-if="it.payEndYear !== '1000'">{{it.payEndYearFlag == 'Y' ? `${it.payEndYear}` :
`${it.payEndYear}`}}</InfoCell>
<InfoCell label="交费期间" v-if="it.payEndYear === '1000'">一次性交清</InfoCell>
<InfoCell label="险种保额(元)" v-if="it.riskCode == 'GFRS_M0015' || it.riskCode == 'GFRS_M0017' || it.riskCode == 'GFRS_M0003'">--</InfoCell>
<InfoCell label="险种保(元)" v-else>{{it.amt | moneyFormat}}</InfoCell>
<InfoCell label="险种保费(元)">{{it.riskName}}</InfoCell>
</div>
</DropdownBox>
</div>
</template>
@@ -76,9 +77,10 @@ import InfoCell from '@/components/ebiz/insureAgain/InfoCell'
import DropdownBox from '@/components/ebiz/insureAgain/DropdownBox'
import dataDictionary from '@/assets/js/utils/data-dictionary'
import { Collapse, CollapseItem, Cell, CellGroup, Button } from 'vant'
import { getDetail } from '@/api/ebiz/sale/sale'
import { getReAppntPolicy } from '@/api/ebiz/insureAgain/insureAgain'
import { formatAllRisk } from '@/assets/js/utils/formatRiskList'
import { getQuestionList } from '@/api/ebiz/questions'
// import { getQuestionList } from '@/api/ebiz/questions'
import CacheUtils from '@/assets/js/utils/cacheUtils'
export default {
components: {
DropdownBox,
@@ -112,242 +114,389 @@ export default {
}
},
created() {
this.getInsureAgainDetail()
let policyNo = CacheUtils.getLocItem('policyNo')
this.getReAppntPolicy(123)
},
methods: {
// 获取保单详情
async getInsureAgainDetail() {
async getReAppntPolicy(policyNo) {
let data = {
orderNo: '8186270000012069',
desensitizType: 0
policyNo: policyNo
}
let params = {
type: 3,
pageInfo: {
pageNum: 1,
pageSize: 10
// getReAppntPolicy(data).then(res => {
var res = `{
"orderDTO": {
"appntDTO": {
"area": "",
"averageAnnualIncome": 10,
"avoirdupois": 60,
"birthday": "1983-03-12",
"certiexpiredate": "2035-03-31",
"effectiveDateType": "false",
"email": "310598205@qq.com",
"healthGrade": "1",
"homeAddress": "百苑小区101号",
"homeArea": "450103",
"homeCity": "450100",
"homeProvince": "450000",
"idNo": "452624198303120727",
"idType": "1",
"liabilitiesMoney": "0",
"lifeGrade": "1",
"marriage": "1",
"medical": "0",
"mobile": "13707711024",
"name": "艾琳马上",
"nativeplace": "1",
"occupationCode": "4070103",
"occupationName": "经纪人(内勤)",
"otherSalarySource": "",
"salarySource": "1",
"sex": "1",
"stature": 167,
"taxResidentId": "1",
"workcompany": "国富人寿保险股份有限公司"
},
prtNo: '8186270000012069'
}
try {
let results = await Promise.all([getDetail(data), getQuestionList(params)])
// 保单详情响应数据
let res = results[0]
// // 问题件状态响应数据
let problemResult = results[1]
if (res.result == '0') {
if (res.orderDTO.orderInfoDTO.bnfFlag == '1') {
res.orderDTO.orderInfoDTO.bnfFlag = '指定受益人'
} else if (res.orderDTO.orderInfoDTO.bnfFlag == '0') {
res.orderDTO.orderInfoDTO.bnfFlag = '法定受益人'
}
this.OrderInfoDTO = res.orderDTO.orderInfoDTO
this.appntDTO = res.orderDTO.appntDTO
this.reason = res.orderDTO.reason
// 投保人信息
if (res.orderDTO.appntDTO.sex == '0') {
res.orderDTO.appntDTO.sex = '男'
} else if (res.orderDTO.appntDTO.sex == '1') {
res.orderDTO.appntDTO.sex = '女'
}
switch (res.orderDTO.appntDTO.idType) {
case '1':
res.orderDTO.appntDTO.idType = '居民身份证'
break
case '2':
res.orderDTO.appntDTO.idType = '户口本'
break
case '3':
res.orderDTO.appntDTO.idType = '出生证'
break
case '4':
res.orderDTO.appntDTO.idType = '外国人护照'
break
case '5':
res.orderDTO.appntDTO.idType = '港澳居民来往内地通行证'
break
case '6':
res.orderDTO.appntDTO.idType = '台湾居民来往大陆通行证'
break
// case '7':
// res.orderDTO.appntDTO.idType = '其他'
// break
case '8':
res.orderDTO.appntDTO.idType = '外国人永久居留身份证'
break
case '9':
res.orderDTO.appntDTO.idType = '港澳台居民居住证'
break
}
this.appntDTO = res.orderDTO.appntDTO
res.orderDTO.insuredDTOs.map(item => {
item.riskDTOLst.map(it => {
if (it.insuYearFlag == 'Y') {
it.insuYear = `${it.insuYear}`
} else {
if (it.insuYearFlag == 'A' && it.insuYear == '106') {
it.insuYear = '终身'
} else {
it.insuYear = `${it.insuYear}周岁的保单周年日`
}
}
Number(it.payIntv)
switch (it.payIntv) {
case 0:
it.payIntv = '一次性交清'
break
case 1:
it.payIntv = '月交'
break
case 12:
it.payIntv = '年交'
break
}
})
})
// 被保险人信息
res.orderDTO.insuredDTOs.map(item => {
if (item.sex == '0') {
item.sex = '男'
} else if (item.sex == '1') {
item.sex = '女'
} else {
item.sex = '不详'
"insuredDTOs": [
{
"area": "",
"averageAnnualIncome": 1000,
"avoirdupois": 60,
"birthday": "1983-03-12",
"certiexpiredate": "2035-03-31",
"companyArea": "",
"companyCity": "",
"effectiveDateType": "false",
"healthGrade": "1",
"homeAddress": "百苑小区101号",
"homeArea": "450103",
"homeCity": "450100",
"homeProvince": "450000",
"idNo": "452624198303120727",
"idType": "1",
"liabilitiesMoney": "0",
"lifeGrade": "1",
"marriage": "1",
"medical": "0",
"mobile": "13707711024",
"name": "艾琳咳咳",
"nativeplace": "1",
"occupationCode": "4070103",
"occupationName": "经纪人(内勤)",
"otherSalarySource": "",
"province": "",
"relationToMainInsured": "5",
"salarySource": "1",
"sex": "1",
"stature": 167,
"taxResidentId": "1",
"workcompany": "国富人寿保险股份有限公司",
"bnfDTOs": [
{
"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": "0",
"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"
}
],
"impartDTO": {
"impartItemDTOS": [
{
"impartAnswer": "1",
"impartCode": "9",
"impartContent": "最近六个月内是否有下列身体不适症状?",
"IntroDuctions": ""
},
{
"impartAnswer": "1",
"impartCode": "12a",
"impartContent": "是否曾患有失明、视网膜出血或剥离、视神经炎、青光眼、白内障、眼底病变、视野缺失、屈光度1000度以上、聋哑、中耳炎、梅尼尔氏病或其他眼、耳、鼻、喉或口腔疾病",
"IntroDuctions": ""
}
]
},
"riskDTOLst": [
{
"riskName": "国富人寿国富民惠医疗保险2020版",
"insuYear": 1,
"insuYearFlag": "Y",
"payIntv": 12,
"payEndYear": 1000,
"payEndYearFlag": "Y",
"prem": 10000,
"riskCode": "1113202",
"isMainRisk": "0",
"amt": 22640,
"dutyLst": [
{
"dutyName":"国富民惠医疗保险金",
"dutyCode":"320300",
"amt":1000000,
"prem":536,
"getLimit":"0",
"getRate":"0"
},
{
"dutyName":"",
"dutyCode":"",
"amt":100000,
"prem":536,
"getLimit":"",
"getRate":""
}
]
}
]
}
switch (item.idType) {
],
"orderAccountDTO": {
"accountName": "艾琳马上",
"bankName": "BOCOM",
"cardBookCode": "4354256325325678790"
}
},
"result": "0"
}`;
res = JSON.parse(res);
if (res.result == '0') {
console.log(res, '11111111111111111111111aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
// if (res.orderDTO.orderInfoDTO.bnfFlag == '1') {
// res.orderDTO.orderInfoDTO.bnfFlag = '指定受益人'
// } else if (res.orderDTO.orderInfoDTO.bnfFlag == '0') {
// res.orderDTO.orderInfoDTO.bnfFlag = '法定受益人'
// }
this.OrderInfoDTO = res.orderDTO.orderInfoDTO
this.appntDTO = res.orderDTO.appntDTO
this.reason = res.orderDTO.reason
// 投保人信息
if (res.orderDTO.appntDTO.sex == '0') {
res.orderDTO.appntDTO.sex = '男'
} else if (res.orderDTO.appntDTO.sex == '1') {
res.orderDTO.appntDTO.sex = '女'
}
switch (res.orderDTO.appntDTO.idType) {
case '1':
item.idType = '居民身份证'
res.orderDTO.appntDTO.idType = '居民身份证'
break
case '2':
item.idType = '户口本'
res.orderDTO.appntDTO.idType = '户口本'
break
case '3':
item.idType = '出生证'
res.orderDTO.appntDTO.idType = '出生证'
break
case '4':
item.idType = '外国人护照'
res.orderDTO.appntDTO.idType = '外国人护照'
break
case '5':
item.idType = '港澳居民来往内地通行证'
res.orderDTO.appntDTO.idType = '港澳居民来往内地通行证'
break
case '6':
item.idType = '台湾居民来往大陆通行证'
res.orderDTO.appntDTO.idType = '台湾居民来往大陆通行证'
break
// case '7':
// item.idType = '其他'
// res.orderDTO.appntDTO.idType = '其他'
// break
case '8':
item.idType = '外国人永久居留身份证'
res.orderDTO.appntDTO.idType = '外国人永久居留身份证'
break
case '9':
item.idType = '港澳台居民居住证'
res.orderDTO.appntDTO.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
}
if (res.orderDTO.orderInfoDTO.bnfFlag == '指定受益人') {
item.bnfDTOs.map(it => {
if (it.sex == '0') {
it.sex = '男'
} else if (it.sex == '1') {
it.sex = '女'
this.appntDTO = res.orderDTO.appntDTO
res.orderDTO.insuredDTOs.map(item => {
item.riskDTOLst.map(it => {
if (it.insuYearFlag == 'Y') {
it.insuYear = `${it.insuYear}`
} else {
it.sex = '不详'
if (it.insuYearFlag == 'A' && it.insuYear == '106') {
it.insuYear = '终身'
} else {
it.insuYear = `${it.insuYear}周岁的保单周年日`
}
}
switch (it.idType) {
case '1':
it.idType = '居民身份证'
Number(it.payIntv)
switch (it.payIntv) {
case 0:
it.payIntv = '一次性交清'
break
case '2':
it.idType = '户口本'
case 1:
it.payIntv = '月交'
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 '8':
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 = '其他'
case 12:
it.payIntv = '年交'
break
}
})
}
})
})
// 被保险人信息
res.orderDTO.insuredDTOs.map(item => {
if (item.sex == '0') {
item.sex = '男'
} else if (item.sex == '1') {
item.sex = '女'
} else {
item.sex = '不详'
}
switch (item.idType) {
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 '8':
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
}
// if (res.orderDTO.orderInfoDTO.bnfFlag == '指定受益人') {
// item.bnfDTOs.map(it => {
// if (it.sex == '0') {
// it.sex = '男'
// } else if (it.sex == '1') {
// it.sex = '女'
// } else {
// it.sex = '不详'
// }
// switch (it.idType) {
// 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 '8':
// 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
// }
// })
// }
})
this.insuredDTOs = res.orderDTO.insuredDTOs
// 格式化
this.list = formatAllRisk(this.insuredDTOs[0].riskDTOLst)
} else {
this.$toast(res.resultMessage)
}
// 问题件状态显示
if (problemResult.result === '0') {
if (problemResult.content && problemResult.content.list) {
this.problemList.splice(0)
let lists = problemResult.content.list
for (let list of lists) {
let state = this.mapOrderState(list.status)
this.problemList.push({
comment: list.statusComment,
state
})
}
this.insuredDTOs = res.orderDTO.insuredDTOs
// 格式化
this.list = formatAllRisk(this.insuredDTOs[0].riskDTOLst)
// } else {
this.$toast(res.resultMessage)
}
} else {
this.$toast(problemResult.resultMessage)
}
} catch (error) {
console.log(error)
this.$toast('网络异常')
}
// })
}
}
}