mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-09 07:36:44 +08:00
207 lines
6.2 KiB
JavaScript
207 lines
6.2 KiB
JavaScript
export function haveTap(content, keys) {
|
||
//判断是否含有档位
|
||
if (content.indexOf(keys) === -1) {
|
||
return false
|
||
} else {
|
||
return true
|
||
}
|
||
}
|
||
export function getTapIndex(content, keys) {
|
||
//获取关键字的位置
|
||
let index = null
|
||
index = content.indexOf(keys)
|
||
return index
|
||
}
|
||
export function formLabel(label, key) {
|
||
//格式化label
|
||
let obj = {}
|
||
let result = [] //进行去重
|
||
for (var i = 0; i < label.length; i++) {
|
||
if (!obj[label[i].contentLabel]) {
|
||
result.push(label[i])
|
||
obj[label[i].contentLabel] = true
|
||
}
|
||
}
|
||
let defaultArr = []
|
||
//找出默认值
|
||
label.forEach(v => {
|
||
let indexPlace = getTapIndex(v.content, '_') + 1
|
||
let keyPlcae = getTapIndex(v.content, key)
|
||
if (keyPlcae === indexPlace) {
|
||
defaultArr.push(v)
|
||
}
|
||
})
|
||
//进行默认值 赋值
|
||
result.forEach(r => {
|
||
defaultArr.forEach(d => {
|
||
if (r.contentLabel === d.contentLabel) {
|
||
r.content = d.content
|
||
r.value = d.value
|
||
}
|
||
})
|
||
})
|
||
|
||
return result
|
||
}
|
||
//将被保险人与利益演示相关联
|
||
export function relevance(insured, insuredLabelResult, insuredResult, insuredInfoResult, amtFormat, dutyLst) {
|
||
insured.forEach(insure => {
|
||
insure.productFeatures = ''
|
||
insure.riskDTOLst.forEach(risk => {
|
||
if (!isNaN(Number(risk.planCodeLabel))) {
|
||
//如果当前 计划编码为 数字的话 进行格式化
|
||
risk.planCodeLabel = amtFormat(Number(risk.planCodeLabel))
|
||
}
|
||
risk.sliderValue = 1
|
||
let insuredId = risk.insuredId
|
||
let riskCode = risk.riskCode
|
||
let currentInsuredInfo = insuredInfoResult[insuredId][riskCode]
|
||
risk.demoLabel = insuredLabelResult[insuredId][riskCode]
|
||
risk.demoValue = insuredResult[insuredId][riskCode]
|
||
insure.productFeatures = insure.productFeatures + currentInsuredInfo.productFeatures //所有产品特色
|
||
|
||
// dutyLst.map((duty, ind) => {
|
||
// console.log(duty)
|
||
// risk.demoLabel.map((item, index, array) => {
|
||
// // debugger
|
||
// // console.log(risk.demoValue['1'][item.content].replace(/,/g, ''))
|
||
// if (risk.demoValue['1'][item.content].replace(/,/g, '') != duty.dutyCode) {
|
||
// array.splice(index, 1)
|
||
// // console.log('删除成功')
|
||
// }
|
||
// })
|
||
// })
|
||
risk.demoLabel.forEach(v => {
|
||
// v.value = '' //设置初始值
|
||
|
||
v.value = risk.demoValue['1'][v.content] //设置初始值
|
||
})
|
||
if (currentInsuredInfo.plan && currentInsuredInfo.plan === '0') {
|
||
let defaulValue = 'M' //档位默认值
|
||
let radios = [
|
||
{
|
||
label: '低档' + currentInsuredInfo.L,
|
||
value: 'L'
|
||
},
|
||
{
|
||
label: '中档' + currentInsuredInfo.M,
|
||
value: 'M'
|
||
},
|
||
{
|
||
label: '高档' + currentInsuredInfo.H,
|
||
value: 'H'
|
||
}
|
||
]
|
||
risk.tap = defaulValue
|
||
risk.radios = []
|
||
|
||
radios.forEach(item => {
|
||
risk.radios.push(item)
|
||
})
|
||
//档位去重 默认显示中档 L低档 M中档 H高档
|
||
risk.demoLabel = formLabel(risk.demoLabel, defaulValue)
|
||
}
|
||
let policyYear = 1 //初始化保单年度 确定滑动条最大值
|
||
for (let key in risk.demoValue) {
|
||
if (Number(key) > policyYear) {
|
||
policyYear = key
|
||
}
|
||
}
|
||
risk.policyYear = Number(policyYear)
|
||
})
|
||
})
|
||
return insured
|
||
}
|
||
|
||
//将被保人与利益演示相关联(被保人维度)
|
||
export function relevanceByInsure(insured, insuredLabelResult, insuredResult, insuredInfoResult) {
|
||
console.log(insured)
|
||
console.log(insuredLabelResult)
|
||
console.log(insuredResult)
|
||
console.log(insuredInfoResult)
|
||
insured.forEach(insure => {
|
||
for (let key in insuredLabelResult[insure.insuredId]) {
|
||
insure.demoLabel = insuredLabelResult[insure.insuredId][key]
|
||
}
|
||
for (let key in insuredResult[insure.insuredId]) {
|
||
insure.demoValue = insuredResult[insure.insuredId][key]
|
||
}
|
||
insure.demoLabel.forEach(v => {
|
||
v.value = insure.demoValue['1'][v.content] //设置初始值
|
||
})
|
||
insure.sliderValue = 1
|
||
insure.radios = []
|
||
let policyYear = 1 //初始化保单年度 确定滑动条最大值
|
||
let ageColums = []
|
||
for (let key in insure.demoValue) {
|
||
ageColums.push(insure.demoValue[key]['currentAge'])
|
||
if (Number(key) > policyYear) {
|
||
policyYear = key
|
||
// chuli
|
||
}
|
||
}
|
||
insure.ageColums = ageColums
|
||
insure.checkAge = ageColums[0]
|
||
insure.policyYear = Number(policyYear)
|
||
|
||
insure.riskDTOLst.forEach(risk => {
|
||
let currentInsuredInfo = insuredInfoResult[insure.insuredId][risk.riskCode]
|
||
if (currentInsuredInfo.plan && currentInsuredInfo.plan === '0') {
|
||
let defaulValue = 'M' //档位默认值
|
||
let radios = []
|
||
if(currentInsuredInfo.L){
|
||
if(risk.mainRiskCode == 'GFRS_M0083') {
|
||
radios.push({
|
||
label: '保证' + currentInsuredInfo.L,
|
||
value: 'L'
|
||
})
|
||
} else {
|
||
radios.push({
|
||
label: '低档' + currentInsuredInfo.L,
|
||
value: 'L'
|
||
})
|
||
}
|
||
}
|
||
if(currentInsuredInfo.M){
|
||
if(risk.mainRiskCode == 'GFRS_M0083') {
|
||
radios.push({
|
||
label: '演示' + currentInsuredInfo.M,
|
||
value: 'M'
|
||
})
|
||
} else {
|
||
radios.push({
|
||
label: '中档' + currentInsuredInfo.M,
|
||
value: 'M'
|
||
})
|
||
}
|
||
}
|
||
if(currentInsuredInfo.H){
|
||
radios.push({
|
||
label: '高档' + currentInsuredInfo.H,
|
||
value: 'H'
|
||
})
|
||
}
|
||
insure.tap = defaulValue
|
||
radios.forEach(item => {
|
||
insure.radios.push(item)
|
||
})
|
||
}
|
||
})
|
||
//档位去重 默认显示中档 L低档 M中档 H高档
|
||
if (insure.tap) {
|
||
insure.demoLabel = formLabel(insure.demoLabel, insure.tap)
|
||
}
|
||
})
|
||
return insured
|
||
}
|
||
|
||
//js判断数组参数是否全部相等,或对象数组相同的key参数是否相等
|
||
export function isAllEqual(array) {
|
||
if (array.length > 0) {
|
||
return !array.some(function (value, index) {
|
||
return value !== array[0];
|
||
});
|
||
} else {
|
||
return true;
|
||
}
|
||
} |