mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-12 10:16:43 +08:00
【fix】 暂时完成 国富栋梁定期寿险 的交费期间、保险期间的联动关系验证从后台获取。
待确认效果是否可行
This commit is contained in:
@@ -375,7 +375,9 @@ export default {
|
||||
//是否需存在特殊配置 0-是 1-否
|
||||
isTrial: localStorage.isTrial,
|
||||
//缴费期间对应index索引
|
||||
payEndYearColumnsIndex: 0
|
||||
payEndYearColumnsIndex: 0,
|
||||
// 后台配置的校验规则
|
||||
ruleExpression: {}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@@ -471,60 +473,71 @@ export default {
|
||||
let ruleExpression = JSON.parse(localStorage.ruleExpression);
|
||||
this.ruleExpression = ruleExpression
|
||||
let productCodes = Object.keys(ruleExpression)
|
||||
productCodes.every(itemKey => {
|
||||
productCodes.forEach(itemKey => {
|
||||
// console.log(ruleExpression[itemKey]);
|
||||
let rules = ruleExpression[itemKey];
|
||||
rules.eventList = [];
|
||||
rules.every( item => {
|
||||
let config = ''
|
||||
//JSON.parse();
|
||||
let errorMsg = item.errorMsg;
|
||||
rules.forEach( item => {
|
||||
let config = ''
|
||||
config = JSON.parse(item.ruleExpression);
|
||||
// let errorMsg = item.errorMsg;
|
||||
// config = {
|
||||
// eventName: 'test',
|
||||
// funBody: `let ageMap = {
|
||||
// "10Y":{"30Y": 55,"70A": 55,"88A": 55},
|
||||
// "20Y":{ "30Y": 55, "70A": 50, "88A": 55 },
|
||||
// "30Y":{ "30Y": 45, "70A": 40, "88A": 45 },
|
||||
// }
|
||||
// // 交费期间 数列
|
||||
// let payEndYear = ""
|
||||
// // 保险期间 横行
|
||||
// let insuYear = ""
|
||||
// par.map(item => {
|
||||
// if(item.code == "payEndYear"){
|
||||
// payEndYear = item.payEndYear + item.payEndYearFlag
|
||||
// }
|
||||
// if(item.code == "insuYear"){
|
||||
// insuYear = item.insuYear + item.insuYearFlag
|
||||
// }
|
||||
// })
|
||||
// if(ParKey == "payEndYear"){
|
||||
// payEndYear = Par.value + Par.flag
|
||||
// }
|
||||
// if(ParKey == "insuYear"){
|
||||
// insuYear = Par.value + Par.flag
|
||||
// }
|
||||
// let age = ageMap[payEndYear][insuYear]
|
||||
// if( this.saleInsuredPersonInfo.age > age ){
|
||||
// this.errorMsg.push("当前交费期间和保险期间的组合下,被保险人的年龄不能大于"+age+ "周岁。")
|
||||
// }
|
||||
// `,
|
||||
// eventName: 'GFRS_M0020_payEndYear_insuYear',
|
||||
// eventType: 'onConfirm',
|
||||
// funBody: [
|
||||
// 'let ageMap = {',
|
||||
// ' "10Y":{"30Y": 55,"70A": 55,"88A": 55},',
|
||||
// ' "20Y":{ "30Y": 55, "70A": 50, "88A": 55 }, ',
|
||||
// ' "30Y":{ "30Y": 45, "70A": 40, "88A": 45 },',
|
||||
// '};',
|
||||
// 'let payEndYear = "";',
|
||||
// 'let insuYear = "";',
|
||||
// 'let age = this.saleInsuredPersonInfo.age;',
|
||||
// 'let parObj = {};',
|
||||
// 'par.map(item => {',
|
||||
// ' parObj[item.code] = item;',
|
||||
// '});',
|
||||
// 'if(ParKey == "payEndYear"){',
|
||||
// ' payEndYear = Par.value + Par.flag;',
|
||||
// ' lintAgeObj = ageMap[payEndYear];',
|
||||
// ' let flag = true;',
|
||||
// ' parObj.insuYear.columns.forEach(item => {',
|
||||
// ' let lintAge = lintAgeObj[ item.value + item.flag ];',
|
||||
// ' if( age > lintAge ){',
|
||||
// ' item.disabled = true;',
|
||||
// ' if(flag){',
|
||||
// ' parObj.insuYear.insuYear = item.value;',
|
||||
// ' parObj.insuYear.insuYearFlag = item.flag;',
|
||||
// ' parObj.insuYear.showContent = item.text;',
|
||||
// ' flag = false;',
|
||||
// ' };',
|
||||
// ' }else{',
|
||||
// ' item.disabled = false;',
|
||||
// ' };',
|
||||
// ' });',
|
||||
// ' if(!flag){',
|
||||
// ' this.errorMsg.push("您当前选择的交费期间下,无可搭配的保险期间。");',
|
||||
// ' payEndYear = parObj.payEndYear.payEndYear + parObj.payEndYear.payEndYearFlag;',
|
||||
// ' lintAgeObj = ageMap[payEndYear];',
|
||||
// ' parObj.insuYear.columns.forEach(item => {',
|
||||
// ' let lintAge = lintAgeObj[ item.value + item.flag ];',
|
||||
// ' if( age > lintAge ){',
|
||||
// ' item.disabled = true;',
|
||||
// ' }else{',
|
||||
// ' item.disabled = false;',
|
||||
// ' };',
|
||||
// ' });',
|
||||
// ' return false;',
|
||||
// ' };',
|
||||
// ' return true;',
|
||||
// '}'],
|
||||
// funPar: ['par','ParKey','Par'],
|
||||
// }
|
||||
console.log("config",config);
|
||||
// this.$on(config.eventName, new Function(config.funPar,config.funBody));
|
||||
this.$on(config.eventName, new Function( ...config.funPar, config.funBody)
|
||||
);
|
||||
// console.log("config",config);
|
||||
this.$on(config.eventName, new Function( ...config.funPar, config.funBody.join('')));
|
||||
rules.eventList.push(config.eventName)
|
||||
})
|
||||
// let funObj = JSON.parse(item);
|
||||
// this.ruleExpression[funObj.name] = new Function('obj',funObj.)
|
||||
})
|
||||
// this.$emit('test',50)
|
||||
// if(this.errorMsg){
|
||||
// this.$toast(this.errorMsg)
|
||||
// alert(this.errorMsg)
|
||||
// }
|
||||
}
|
||||
},
|
||||
//特殊处理 GFRS_M0016 GFRS_A0004 GFRS_A0005 赔付比例处理
|
||||
@@ -641,7 +654,7 @@ export default {
|
||||
//确认选择字段
|
||||
onConfirm(value) {
|
||||
this.columns = []
|
||||
let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
// let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
console.log('value', value)
|
||||
@@ -673,21 +686,34 @@ export default {
|
||||
this.popupShow = false
|
||||
return false
|
||||
}
|
||||
console.log("productCode ==>" , productCode)
|
||||
// console.log("productCode ==>" , productCode)
|
||||
|
||||
// if(this.ruleExpression[productCode]){
|
||||
// this.errorMsg = []
|
||||
// this.ruleExpression[productCode].eventList.forEach(item => {
|
||||
// this.$emit(item,currentFactor,currentEle.code,value);
|
||||
// })
|
||||
// if(this.errorMsg.length > 0){
|
||||
// this.$toast(this.errorMsg[0]);
|
||||
// this.popupShow = false
|
||||
// return false
|
||||
// }
|
||||
// }
|
||||
let productCode = this.chooseProducts[this.productIndex].productCode
|
||||
if(this.ruleExpression[productCode]){
|
||||
this.errorMsg = []
|
||||
this.ruleExpression[productCode].eventList.every(item => {
|
||||
let currentFactor = this.chooseProducts[this.productIndex].calFactorLst
|
||||
let currentEle = currentFactor[this.calFactorIndex]
|
||||
this.ruleExpression[productCode].eventList.forEach(item => {
|
||||
this.$emit(item,currentFactor,currentEle.code,value);
|
||||
})
|
||||
if(this.errorMsg.length > 0){
|
||||
this.$toast(this.errorMsg[0]);
|
||||
//this.$toast(this.errorMsg[0]);
|
||||
this.popupShow = false
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 后台配置 的 js函数 验证
|
||||
// if(hasR){
|
||||
// if(currentEle.code == 'payEndYear' || currentEle.code == 'insuYear'){
|
||||
|
||||
Reference in New Issue
Block a user