Merge branch 'feature/GFRS-1237【0525】国富人寿桂企保重大疾病保险' into release/0528

# Conflicts:
#	src/api/ebiz/sale/sale.js
#	src/assets/js/utils/data-dictionary.js
#	src/views/ebiz/common/CalculatePremium.vue
This commit is contained in:
yuweiqi
2020-05-27 20:54:07 +08:00
12 changed files with 354 additions and 54 deletions

View File

@@ -27,6 +27,15 @@ export function trial(data) {
}) })
} }
//产品售卖权限校验
export function productCheck(data) {
return request({
url: getUrl('/sale/product/check', 1),
method: 'post',
data
})
}
//订单详情 //订单详情
export function orderDetail(data) { export function orderDetail(data) {
return request({ return request({

View File

@@ -222,3 +222,11 @@ export function revokeOrder(data) {
data data
}) })
} }
// 获取产品允许投保人单位列表
export function getCompany(data) {
return request({
url: getUrl('/sale/product/company', 1),
method: 'post',
data
})
}

View File

@@ -504,6 +504,7 @@ export default {
} }
let age = utilsAge.getAge(appntDTO.birthday, new Date()) let age = utilsAge.getAge(appntDTO.birthday, new Date())
localStorage.saleInsuredInfo = JSON.stringify({ localStorage.saleInsuredInfo = JSON.stringify({
workcompany: appntDTO.workcompany,
birthday: appntDTO.birthday, birthday: appntDTO.birthday,
name: appntDTO.name, name: appntDTO.name,
sex: appntDTO.sex, sex: appntDTO.sex,

View File

@@ -1,12 +1,12 @@
export default { export default {
getAge: function (name, today) { getAge: function(name, today) {
return this.getAgeByValue(name, today) return this.getAgeByValue(name, today)
}, },
getAgeByBirth: function (value, today) { getAgeByBirth: function(value, today) {
return this.getAgeByValue(value, today) return this.getAgeByValue(value, today)
}, },
getAgeByValue: function (value, today) { getAgeByValue: function(value, today) {
var b = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/) var b = value.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/)
if (b == null) { if (b == null) {
return null return null
@@ -33,7 +33,7 @@ export default {
/** /**
* 取得两个日期的时间差 * 取得两个日期的时间差
*/ */
getDateDiff: function (date1, date2) { getDateDiff: function(date1, date2) {
var dt1, dt2 var dt1, dt2
if (date1 instanceof Date) { if (date1 instanceof Date) {
dt1 = date1 dt1 = date1
@@ -45,13 +45,14 @@ export default {
} else { } else {
dt2 = this.stringToDate(date2) dt2 = this.stringToDate(date2)
} }
return (dt2.getTime() - dt1.getTime()) / (1000 * 3600 * 24) + 1 return (dt2.getTime() - dt1.getTime()) / (1000 * 3600 * 24)
// return (dt2.getTime() - dt1.getTime()) / (1000 * 3600 * 24) + 1
}, },
/** /**
* 字符串转日期 * 字符串转日期
*/ */
stringToDate: function (string) { stringToDate: function(string) {
return new Date(Date.parse(string.replace(/-/g, '/'))) return new Date(Date.parse(string.replace(/-/g, '/')))
} }
} }

View File

@@ -949,6 +949,11 @@ export default {
shortName: '两全险', shortName: '两全险',
name: '国富人寿安行无忧两全保险', name: '国富人寿安行无忧两全保险',
code: 'GFRS_M0023' code: 'GFRS_M0023'
},
{
shortName: '重疾险',
name: '国富人寿桂企保重大疾病保险',
code: 'GFRS_M0024'
} }
], ],
// 职级 // 职级

View File

@@ -63,13 +63,16 @@
@click="toSelect(index, riskFactorIndex, riskFactor.columns)" @click="toSelect(index, riskFactorIndex, riskFactor.columns)"
/> />
</div> </div>
<!-- 桂企产品GFRS_M0024不显示责任保费及万元只显示责任名称及勾选框 -->
<div class="border-bottom" v-if="riskFactor.type == 3"> <div class="border-bottom" v-if="riskFactor.type == 3">
<div class="pv12 border-bd">{{ riskFactor.name }}</div> <div class="pv12 border-bd">{{ riskFactor.name }}</div>
<div class="duty"> <div class="duty">
<div class="flex justify-content-s border-bd pv10 align-items-c" v-for="(dutyItem, dutyItemIndex) in riskFactor.rules" :key="dutyItemIndex"> <div class="flex justify-content-s border-bd pv10 align-items-c" v-for="(dutyItem, dutyItemIndex) in riskFactor.rules" :key="dutyItemIndex">
<span class="fs14 w100">{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span> <span v-if="item.productCode != 'GFRS_M0024'" class="fs14 w100">{{ dutyItem.dutyName }}({{ dutyItem.suffix }})</span>
<span v-else class="fs14 w100">{{ dutyItem.dutyName }}</span>
<div class="flex relative"> <div class="flex relative">
<van-stepper <van-stepper
v-if="item.productCode != 'GFRS_M0024'"
v-model="dutyItem.defaultDutyAmt" v-model="dutyItem.defaultDutyAmt"
:min="dutyItem.minDutyAmt" :min="dutyItem.minDutyAmt"
:max="dutyItem.maxDutyAmt" :max="dutyItem.maxDutyAmt"
@@ -1047,7 +1050,7 @@ export default {
//2、豁免险跟主险联动豁免险缴费期间和保险期间同主险的缴费期间 //2、豁免险跟主险联动豁免险缴费期间和保险期间同主险的缴费期间
let remitIndex = this.getRemitIndex() let remitIndex = this.getRemitIndex()
//if (!remitIndex) return //if (!remitIndex) return
for(let itemRemitIndex of remitIndex){ for (let itemRemitIndex of remitIndex) {
this.chooseProducts[itemRemitIndex].calFactorLst.forEach(item => { this.chooseProducts[itemRemitIndex].calFactorLst.forEach(item => {
if (item.code == 'payIntv') { if (item.code == 'payIntv') {
for (let key in mainRiskInfo.payIntv) { for (let key in mainRiskInfo.payIntv) {
@@ -1294,7 +1297,6 @@ export default {
medical: JSON.parse(localStorage.getItem('saleInsuredPersonInfo')).medical medical: JSON.parse(localStorage.getItem('saleInsuredPersonInfo')).medical
}) })
params.trialInfos.push(trialInfo) params.trialInfos.push(trialInfo)
}) })
this.trialInfos = params.trialInfos this.trialInfos = params.trialInfos
return params return params
@@ -1512,6 +1514,11 @@ export default {
riskItem['dutyLst'] = this.trialList[index].duty riskItem['dutyLst'] = this.trialList[index].duty
//930折中方案责任险分档 //930折中方案责任险分档
riskItem['amt'] = this.trialList[index].amt riskItem['amt'] = this.trialList[index].amt
} else {
//国富人寿桂企保重大疾病保险产品专写
if (this.trialList[index].productCode == 'GFRS_M0024') {
riskItem['dutyLst'] = this.trialInfos[index].duty
}
} }
//保费算保额 //保费算保额
console.log('this.trialList', this.trialList[index].trialType) console.log('this.trialList', this.trialList[index].trialType)
@@ -1545,7 +1552,6 @@ export default {
} }
// console.log(riskItem) // console.log(riskItem)
console.log(this.trialInfos[index])
riskItem = Object.assign(riskItem, this.trialInfos[index]) riskItem = Object.assign(riskItem, this.trialInfos[index])
// console.log(riskItem) // console.log(riskItem)
riskDTOLst.push(riskItem) riskDTOLst.push(riskItem)
@@ -1554,6 +1560,14 @@ export default {
if (!rollInResult) { if (!rollInResult) {
return return
} }
//国富人寿桂企保重大疾病保险产品专写
this.trialInfos.map((v, i) => {
if (v.productCode == 'GFRS_M0024') {
delete riskDTOLst[i].duty
}
})
// console.log('riskDTOLst', riskDTOLst) // console.log('riskDTOLst', riskDTOLst)
//建议书需要添加全部投保人信息电投只需要投保人ID //建议书需要添加全部投保人信息电投只需要投保人ID
let insuredDTOItem = Object.assign(this.saleInsuredPersonInfo, { riskDTOLst: riskDTOLst }) let insuredDTOItem = Object.assign(this.saleInsuredPersonInfo, { riskDTOLst: riskDTOLst })

View File

@@ -20,6 +20,8 @@
<script> <script>
import { Cell, CellGroup, Tag, Radio, RadioGroup } from 'vant' import { Cell, CellGroup, Tag, Radio, RadioGroup } from 'vant'
import { mainRiskList, calculatePremium } from '@/api/ebiz/common/common' import { mainRiskList, calculatePremium } from '@/api/ebiz/common/common'
import { getOrderDetail } from '@/api/ebiz/sale/sale'
import riskRules from './risk-rules' import riskRules from './risk-rules'
export default { export default {
name: 'mainRiskList', name: 'mainRiskList',
@@ -32,14 +34,43 @@ export default {
}, },
data() { data() {
return { return {
specilFlag: '0',
flag: true,
list: [], list: [],
result: '', result: '',
delList: [], delList: [],
radioVal: '' radioVal: ''
} }
}, },
mounted() { async mounted() {
this.getMainRiskList() if (localStorage.isFrom == 'sale') {
return new Promise((resolve, reject) => {
getOrderDetail({ orderNo: localStorage.orderNo }).then(
res => {
if (res.result == 0) {
//------------------------专为桂企写死--begin---------------//
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
this.flag = this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
})
if (this.flag) {
this.specilFlag = '1'
}
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
}
// ------------------------专为桂企写死--end---------------//
}
resolve(this.getMainRiskList())
},
error => {
reject(this.getMainRiskList())
}
)
})
} else {
this.getMainRiskList()
}
}, },
methods: { methods: {
//获取主险列表 //获取主险列表
@@ -64,6 +95,13 @@ export default {
} }
} }
this.list = resultData.mainRiskDTOS this.list = resultData.mainRiskDTOS
//------------------------专为桂企写死--begin---------------//
if (this.list.length > 0 && this.specilFlag == '1' && localStorage.isFrom == 'sale') {
this.result = this.list.find(v => {
return v.riskProductCode == 'GFRS_M0024'
})
}
// ------------------------专为桂企写死--end---------------//
if (this.list.length == 0) { if (this.list.length == 0) {
this.$dialog({ message: '暂无可选产品!' }).then(() => { this.$dialog({ message: '暂无可选产品!' }).then(() => {
@@ -81,6 +119,7 @@ export default {
} }
} }
}, },
//下一步 //下一步
nextStep() { nextStep() {
console.log(this.result) console.log(this.result)
@@ -110,13 +149,13 @@ export default {
} }
}) })
} }
if(resultData.productTrialInfoDTO.ruleExpression){ if (resultData.productTrialInfoDTO.ruleExpression) {
let ruleExpression = localStorage.ruleExpression ? JSON.parse(localStorage.ruleExpression) : {}; let ruleExpression = localStorage.ruleExpression ? JSON.parse(localStorage.ruleExpression) : {}
ruleExpression[resultData.productCode] = resultData.productTrialInfoDTO.ruleExpression ruleExpression[resultData.productCode] = resultData.productTrialInfoDTO.ruleExpression
localStorage.ruleExpression = JSON.stringify(ruleExpression) localStorage.ruleExpression = JSON.stringify(ruleExpression)
} }
/********start 主险选择限制 start******/ /********start 主险选择限制 start******/
if (riskRules.ageLimit(resultData, this)) { if (riskRules.ageLimit(resultData, this)) {
@@ -145,6 +184,18 @@ export default {
return return
} }
} }
let flagPermission = await riskRules.getProductSellPermissionList(resultData.productCode, this)
if (flagPermission && localStorage.isFrom != 'proposal') {
//校验该代理人是否有该产品的售卖权限
return this.$toast('抱歉,您没有该产品的销售权限!')
}
let flagCompany = await riskRules.checkCompany(resultData.productCode, JSON.parse(localStorage.saleInsuredInfo).workcompany, this)
if (flagCompany && localStorage.isFrom != 'proposal') {
//校验该投保人的工作单位是否能够投保该产品
return this.$toast('该投保人工作单位不能投保该产品')
}
/********end 主险选择限制 end******/ /********end 主险选择限制 end******/
//保存附加险 //保存附加险

View File

@@ -1,3 +1,6 @@
import { productCheck } from '@/api/ebiz/common/common'
import { getCompany } from '@/api/ebiz/sale/sale'
export default { export default {
//投、被保险人年龄对险种的限制 //投、被保险人年龄对险种的限制
ageLimit(resultData, vm, isApplicant) { ageLimit(resultData, vm, isApplicant) {
@@ -10,8 +13,8 @@ export default {
tips = '被保险人年龄不适合此款险种,请选择其他险种!' tips = '被保险人年龄不适合此款险种,请选择其他险种!'
} }
let minAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.minAge let minAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.minAge
let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge; let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge
[age, minAge, maxAge] = [Number(age), Number(minAge), Number(maxAge)] ;[age, minAge, maxAge] = [Number(age), Number(minAge), Number(maxAge)]
if (age > maxAge || age < minAge) { if (age > maxAge || age < minAge) {
vm.$toast(tips) vm.$toast(tips)
return true return true
@@ -69,5 +72,55 @@ export default {
//获取投保人信息 //获取投保人信息
getSaleInsuredInfo() { getSaleInsuredInfo() {
return localStorage.saleInsuredInfo && JSON.parse(localStorage.saleInsuredInfo) return localStorage.saleInsuredInfo && JSON.parse(localStorage.saleInsuredInfo)
},
//获取产品售卖权限列表
getProductSellPermissionList(val, that) {
let flag = true
return new Promise((resolve, reject) => {
productCheck({ productCodes: [val] }).then(
res => {
if (res.result == '0') {
if (JSON.stringify(res.content) == '{}') {
flag = false
} else {
//0-有权限 1-没权限
flag = res.content[val] === '1' ? true : false
}
} else {
that.$toast(res.resultMessage)
}
resolve(flag)
},
error => {
reject(true)
}
)
})
},
//校验投保人工作单位是否有权限投保该产品
checkCompany(val, workcompany, that) {
let flag = true
let columns = []
return new Promise((resolve, reject) => {
getCompany({ productCodes: [val] }).then(
res => {
if (res.result == 0) {
columns = res.content
if (columns.length == 0) {
flag = false
} else {
flag = !columns.includes(workcompany)
}
} else {
that.$toast(res.resultMessage)
}
resolve(flag)
},
error => {
reject(true)
}
)
})
} }
} }

View File

@@ -31,6 +31,8 @@
<script> <script>
import { Tab, Tabs, List, Row, Col, Icon, Cell, Sticky } from 'vant' import { Tab, Tabs, List, Row, Col, Icon, Cell, Sticky } from 'vant'
import { getProductInfo } from '@/api/ebiz/product/product.js' import { getProductInfo } from '@/api/ebiz/product/product.js'
import riskRules from '../common/risk-rules.js'
export default { export default {
components: { components: {
[Tab.name]: Tab, [Tab.name]: Tab,
@@ -95,17 +97,30 @@ export default {
} }
}) })
}, },
goInsure() { async goInsure() {
localStorage.orderNo = '' localStorage.orderNo = ''
localStorage.chooseProductCodes = '' //置空所选险种 localStorage.chooseProductCodes = '' //置空所选险种
let path = `/sale/insuredInfo`
let flagPermission = true
if (this.$route.params.productDetailCode == 'GFRSPRO_M0024') {
flagPermission = await riskRules.getProductSellPermissionList('GFRS_M0024', this)
let specilFlag = '1'
path = `${path}?specilFlag=${specilFlag}`
} else {
flagPermission = false
}
if (flagPermission) {
//校验该代理人是否有该产品的售卖权限
return this.$toast('抱歉,您没有该产品的销售权限!')
}
// 跳转到投保建议 // 跳转到投保建议
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
url: location.origin + '/#/sale/insuredInfo' url: location.origin + '/#' + path
}, },
routerInfo: { routerInfo: {
path: `/sale/insuredInfo` path: path
} }
}) })
}, },
@@ -134,7 +149,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.product-detail-container { .product-detail-container {
/deep/.van-sticky{ /deep/.van-sticky {
background: #fff; background: #fff;
} }
.product-detail-introduct-image { .product-detail-introduct-image {
@@ -156,8 +171,8 @@ export default {
border-color: transparent; border-color: transparent;
} }
/deep/.van-button--default { /deep/.van-button--default {
background-color: #FEEFD8; background-color: #feefd8;
color: #E9332E; color: #e9332e;
} }
} }
</style> </style>

View File

@@ -84,6 +84,7 @@
import { Tabs, Tab, Tag, Dialog, List, Sticky, Toast } from 'vant' import { Tabs, Tab, Tag, Dialog, List, Sticky, Toast } from 'vant'
import { getList, toInsurance, deleteProposal } from '@/api/ebiz/proposal/proposal.js' import { getList, toInsurance, deleteProposal } from '@/api/ebiz/proposal/proposal.js'
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js' import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
import riskRules from '../common/risk-rules.js'
export default { export default {
name: 'proposalList', name: 'proposalList',
@@ -110,11 +111,26 @@ export default {
}, },
created() { created() {
// document.body.style.backgroundColor = '#F5F5F5' // document.body.style.backgroundColor = '#F5F5F5'
setTimeout(() => {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('webview_left_button', {
intercept: '1' //是否拦截原生返回事件 1是 其他否
})
}, 100)
window.appCallBack = this.appCallBack
}, },
mounted() { mounted() {
this.loadMore() this.loadMore()
}, },
methods: { methods: {
appCallBack(data) {
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'home',
extra: {}
})
}
},
//获取建议书列表 //获取建议书列表
getProposalList(tabType, pageInfo) { getProposalList(tabType, pageInfo) {
let status = '0' + tabType let status = '0' + tabType
@@ -245,11 +261,17 @@ export default {
}) })
}, },
//转投保 //转投保
toInsurance(item) { async toInsurance(item) {
console.log(item.insuredDTOs[0].mainRisk.length) if (item.insuredDTOs[0].mainRisk.length == '2') {
if(item.insuredDTOs[0].mainRisk.length == '2') {
return Toast.fail('暂不支持组合产品转投保') return Toast.fail('暂不支持组合产品转投保')
} }
let flag = item.insuredDTOs[0].riskDTOLst.some(v => {
return v.riskCode == 'GFRS_M0024'
})
if (flag && (await riskRules.getProductSellPermissionList('GFRS_M0024', this))) {
return this.$toast('抱歉,您没有该产品的销售权限!')
}
let params = { let params = {
proposalInfoDTO: { proposalInfoDTO: {
proposalNo: item.orderInfoDTO.orderNo proposalNo: item.orderInfoDTO.orderNo

View File

@@ -300,7 +300,7 @@ import getAge from '@/assets/js/utils/age.js'
import filters from '@/filters' import filters from '@/filters'
import dataDictionary from '@/assets/js/utils/data-dictionary' import dataDictionary from '@/assets/js/utils/data-dictionary'
import Layout from '../../app/layout/Layout' //使用数据字典中的险种类型 import Layout from '../../app/layout/Layout' //使用数据字典中的险种类型
import riskRules from '../common/risk-rules.js'
export default { export default {
data() { data() {
let isWeixin = this.$utils.device().isWeixin //判断环境 let isWeixin = this.$utils.device().isWeixin //判断环境
@@ -363,6 +363,15 @@ export default {
} }
}, },
mounted() { 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
localStorage.setItem('pdfShareCode', '') localStorage.setItem('pdfShareCode', '')
document.body.style.backgroundColor = '#fff' document.body.style.backgroundColor = '#fff'
/*setTimeout(() => { /*setTimeout(() => {
@@ -487,6 +496,7 @@ export default {
//app回调 //app回调
appCallBack(data) { appCallBack(data) {
if (data.trigger == 'right_button_click') { if (data.trigger == 'right_button_click') {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('bridge', { EWebBridge.webCallAppInJs('bridge', {
flag: 'share', flag: 'share',
extra: { extra: {
@@ -498,8 +508,23 @@ export default {
} }
}) })
} }
if (data.trigger == 'left_button_click') {
this.$jump({
flag: 'h5',
extra: {
title: '建议书列表',
forbidSwipeBack: 1, //当前页面禁止右滑返回
url: location.origin + `/#/proposal/list`
},
routerInfo: {
path: `/proposal/list`,
type: '1'
}
})
}
}, },
sharePeople() { sharePeople() {
// eslint-disable-next-line no-undef
EWebBridge.webCallAppInJs('bridge', { EWebBridge.webCallAppInJs('bridge', {
flag: 'share', flag: 'share',
extra: { extra: {
@@ -601,11 +626,21 @@ export default {
}) })
}, },
//转投保 //转投保
insure() { async insure() {
let path = '/sale/insuredInfo?edit=1'
if (this.mainRiskCodes) { if (this.mainRiskCodes) {
if (this.mainRiskCodes.length != 1) { if (this.mainRiskCodes.length != 1) {
return Toast.fail('暂不支持组合产品转投保') return Toast.fail('暂不支持组合产品转投保')
} }
if (this.mainRiskCodes[0] == 'GFRS_M0024') {
let specilFlag = '1'
path = `${path}&specilFlag=${specilFlag}`
let flagPermission = await riskRules.getProductSellPermissionList(this.mainRiskCodes[0], this)
if (flagPermission) {
//校验该代理人是否有该产品的售卖权限
return Toast.fail('抱歉,您没有该产品的销售权限!')
}
}
} }
let params = { let params = {
proposalInfoDTO: { proposalInfoDTO: {
@@ -619,11 +654,11 @@ export default {
this.$jump({ this.$jump({
flag: 'h5', flag: 'h5',
extra: { extra: {
url: location.origin + '/#/sale/insuredInfo?edit=1', url: location.origin + '/#' + path,
backToFirst: '1' backToFirst: '1'
}, },
routerInfo: { routerInfo: {
path: '/sale/insuredInfo?edit=1' path: path
} }
}) })
} else { } else {

View File

@@ -250,6 +250,7 @@
@click="toSelect('7')" @click="toSelect('7')"
/> />
<van-field <van-field
v-if="specilFlag != '1'"
v-model="userInfo.workcompany" v-model="userInfo.workcompany"
required required
label="工作单位" label="工作单位"
@@ -259,6 +260,18 @@
maxlength="50" maxlength="50"
clearable clearable
/> />
<van-field
v-else
:value="userInfo.workcompany"
readonly
label="工作单位"
name="工作单位"
required
right-icon="arrow"
placeholder="请选择"
v-validate="'required'"
@click="toSelect('9')"
/>
<!-- <van-field <!-- <van-field
v-model="areaName" v-model="areaName"
readonly readonly
@@ -360,7 +373,7 @@ import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
import DataDictionary from '@/assets/js/utils/data-dictionary' import DataDictionary from '@/assets/js/utils/data-dictionary'
import areaList from '@/assets/js/utils/area' import areaList from '@/assets/js/utils/area'
import areaLists from '@/assets/js/utils/areaNew' import areaLists from '@/assets/js/utils/areaNew'
import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail } from '@/api/ebiz/sale/sale' import { saveOrUpdateOrderInfo, getAuthCode, getOrderDetail, getCompany } from '@/api/ebiz/sale/sale'
import utilsAge from '@/assets/js/utils/age' import utilsAge from '@/assets/js/utils/age'
import getAreaName from '@/assets/js/utils/get-area-name' import getAreaName from '@/assets/js/utils/get-area-name'
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan' import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
@@ -390,6 +403,8 @@ export default {
}, },
data() { data() {
return { return {
specilFlag: '', //特殊显示-为桂企产品专写 1-桂企 undefind-其他
productCodes: [], //产品编码-用于“产品允许投保人单位列表获取”接口,作为请求参数
isScan: false, //是否显示证件扫描组件 isScan: false, //是否显示证件扫描组件
sexRadio: [ sexRadio: [
{ {
@@ -493,6 +508,7 @@ export default {
} }
}, },
created() { created() {
this.specilFlag = this.$route.query.specilFlag
localStorage.removeItem('bankCardUrlPath') localStorage.removeItem('bankCardUrlPath')
localStorage.removeItem('bankCard') localStorage.removeItem('bankCard')
localStorage.removeItem('bankCardUrlInsuredPath') localStorage.removeItem('bankCardUrlInsuredPath')
@@ -501,6 +517,7 @@ export default {
localStorage.removeItem('imgfrontInsuredPath') localStorage.removeItem('imgfrontInsuredPath')
localStorage.removeItem('imgBackPath') localStorage.removeItem('imgBackPath')
localStorage.removeItem('imgBackInsuredPath') localStorage.removeItem('imgBackInsuredPath')
// document.body.style.backgroundColor = '#F5F5F5' // document.body.style.backgroundColor = '#F5F5F5'
//如果是编辑/导航进来 //如果是编辑/导航进来
this.isElecCont = '0' this.isElecCont = '0'
@@ -535,6 +552,17 @@ export default {
]) //获取家庭地址 ]) //获取家庭地址
this.census = getAreaName([{ code: res.orderDTO.appntDTO.householdProvince }, { code: res.orderDTO.appntDTO.householdCity }]) //获取户籍 this.census = getAreaName([{ code: res.orderDTO.appntDTO.householdProvince }, { code: res.orderDTO.appntDTO.householdCity }]) //获取户籍
} }
//------------------------专为桂企写死--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'
})
? '1'
: '0'
} else if (res.orderDTO.orderInfoDTO.productCode == 'GFRS_M0024') {
this.specilFlag = '1'
}
// ------------------------专为桂企写死--end---------------//
} }
}) })
} else { } else {
@@ -628,26 +656,78 @@ export default {
//pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源 //pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 8、收入来源
;[this.popupShow, this.pickerType] = [true, pickerType] ;[this.popupShow, this.pickerType] = [true, pickerType]
if (valueKey) this.valueKey = valueKey if (valueKey) this.valueKey = valueKey
if (pickerType == '1') {
this.columns = DataDictionary.nativeplace switch (pickerType) {
} else if (pickerType == '2') { case '1':
this.columns = DataDictionary.insuredIdType this.columns = DataDictionary.nativeplace
} else if (pickerType == '3') { break
this.columns = DataDictionary.degree case '2':
} else if (pickerType == '4') { this.columns = DataDictionary.insuredIdType
this.columns = [ break
{ id: 0, text: '' }, case '3':
{ id: 1, text: '无' } this.columns = DataDictionary.degree
] break
} else if (pickerType == '5') { case '4':
this.columns = DataDictionary.taxIdentity this.columns = [
} else if (pickerType == '6') { { id: 0, text: '' },
this.columns = DataDictionary.marriage { id: 1, text: '无' }
} else if (pickerType == '7') { ]
this.columns = DataDictionary.workCondition break
} else if (pickerType == '8') { case '5':
this.columns = DataDictionary.salarySource this.columns = DataDictionary.taxIdentity
break
case '6':
this.columns = DataDictionary.marriage
break
case '7':
this.columns = DataDictionary.workCondition
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
} }
// if (pickerType == '1') {
// this.columns = DataDictionary.nativeplace
// } else if (pickerType == '2') {
// this.columns = DataDictionary.insuredIdType
// } 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') {
// this.columns = DataDictionary.workCondition
// } else if (pickerType == '8') {
// this.columns = DataDictionary.salarySource
// } else if (pickerType == '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)
// }
// })
// }
}, },
//确认选择字段 //确认选择字段
onConfirm(value) { onConfirm(value) {
@@ -675,6 +755,8 @@ export default {
this.userInfo.jobStatus = value.id this.userInfo.jobStatus = value.id
} else if (this.pickerType == '8') { } else if (this.pickerType == '8') {
this.userInfo.salarySource = value.id this.userInfo.salarySource = value.id
} else if (this.pickerType == '9') {
this.userInfo.workcompany = value
} }
}, },
//证件起始截止日期 //证件起始截止日期
@@ -777,7 +859,6 @@ export default {
hiddenRight: '1' hiddenRight: '1'
} }
}) })
// console.log(data)
let { customerName, customerSex } = data let { customerName, customerSex } = data
this.userInfo.name = customerName //用户名 this.userInfo.name = customerName //用户名
this.userInfo.sex = String(customerSex) //性别 this.userInfo.sex = String(customerSex) //性别
@@ -804,7 +885,7 @@ export default {
this.userInfo.medical = data.socialSecurity //有无社保 this.userInfo.medical = data.socialSecurity //有无社保
this.userInfo.taxResidentId = data.residentStatus //税收居民身份 this.userInfo.taxResidentId = data.residentStatus //税收居民身份
this.userInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入 this.userInfo.averageAnnualIncome = data.averageYearlyIncome //平均年收入
this.userInfo.workcompany = data.workUnits //工作单位 this.userInfo.workcompany = this.specilFlag == '1' ? '' : data.workUnits //工作单位
this.userInfo.jobStatus = data.jobStatus //工作情况 this.userInfo.jobStatus = data.jobStatus //工作情况
this.userInfo.marriage = data.marryStatus //婚姻状况 this.userInfo.marriage = data.marryStatus //婚姻状况
this.userInfo.familyAnnualIncome = data.familyAnnualIncome //家庭年收入 this.userInfo.familyAnnualIncome = data.familyAnnualIncome //家庭年收入
@@ -1116,6 +1197,11 @@ export default {
} }
let str = '' let str = ''
params.orderDTO.appntDTO = this.userInfo params.orderDTO.appntDTO = this.userInfo
//------------------------专为桂企写死--begin---------------//
if (this.specilFlag == '1') {
params.orderDTO.orderInfoDTO.productCode = 'GFRS_M0024'
}
// ------------------------专为桂企写死--end---------------//
let resultData = await saveOrUpdateOrderInfo(params) let resultData = await saveOrUpdateOrderInfo(params)
if (resultData.result == 0) { if (resultData.result == 0) {
//deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作 //deleteFlag 0-该页面修改了信息且修改的信息影响到后面流程,后台进行了删除数据的操作