diff --git a/.eslintignore b/.eslintignore index fc0ba2c30..9b6ac6d5d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,3 +1,3 @@ public dist -node_modules +node_modules \ No newline at end of file diff --git a/package.json b/package.json index 3765ef1bc..25f358c16 100644 --- a/package.json +++ b/package.json @@ -55,4 +55,4 @@ "sass-loader": "^7.1.0", "vue-template-compiler": "^2.6.10" } -} \ No newline at end of file +} diff --git a/src/api/ebiz/customer/customer.js b/src/api/ebiz/customer/customer.js index 8f33d6c27..b18eb1eed 100644 --- a/src/api/ebiz/customer/customer.js +++ b/src/api/ebiz/customer/customer.js @@ -18,7 +18,14 @@ export function updateCustomerInfo(data) { data }) } - +//本人实名认证 +export function checkPhone(data) { + return request({ + url: getUrl('/customer/checkPhone', 1), + method: 'post', + data + }) +} //查询代理人客户信息 export function getAgentCustomerInfo(data) { return request({ diff --git a/src/api/ebiz/manpower/manpower.js b/src/api/ebiz/manpower/manpower.js new file mode 100644 index 000000000..4818004f1 --- /dev/null +++ b/src/api/ebiz/manpower/manpower.js @@ -0,0 +1,135 @@ +import request from '@/assets/js/utils/request' +import getUrl from '@/assets/js/utils/get-url' + +// 个人中心 - 查询接口 +export function getPersonalInfo(data) { + return request({ + url: getUrl('/agent/personal/getInfo', 1), + method: 'post', + data + }) +} + +// 人才库列表查询接口 +export function getAgentPersonnelList(data = {}) { + return request({ + url: getUrl('/agent/personnel/queryList', 1), + method: 'post', + data + }) +} +// 人才库 - 新增人才 +export function saveAgentPersonnel(data) { + return request({ + url: getUrl('/agent/personnel/saveOrUpdate', 1), + method: 'post', + data + }) +} +// 人才库 - 查询详情 +export function getAgentPersonnelDetail(data) { + return request({ + url: getUrl('/agent/personnel/queryDetail', 1), + method: 'post', + data + }) +} +// 人才库 - 查询人才库列表 - 导航页 +export function getAgentPersonnelListFirst(data = {}) { + return request({ + url: getUrl('/agent/personnel/queryListFirst', 1), + method: 'post', + data + }) +} + +// 活动量统计周报 +export function queryWeekly(data) { + return request({ + url: getUrl('/agent/activityRecord/queryWeekly', 1), + method: 'post', + data + }) +} + +// 查询日志页面增员列表 +export function queryRecordList(data) { + return request({ + url: getUrl('/agent/activityRecord/queryList', 1), + method: 'post', + data + }) +} + +// 日志详情查询 +export function queryRecordDetail(data) { + return request({ + url: getUrl('/agent/activityRecord/queryDetail', 1), + method: 'post', + data + }) +} + +// 新增日志 +export function saveRecord(data) { + return request({ + url: getUrl('/agent/activityRecord/saveOrUpdate', 1), + method: 'post', + data + }) +} + +export function getTokenForUserModel(data = {}) { + return request({ + url: getUrl('/agent/enter/getTokenForUserModel', 1), + method: 'get', + params: { + data + } + }) +} + +// 新增分享记录 +export function saveShareRecord(data) { + return request({ + url: getUrl('/agent/share/saveRecord', 1), + method: 'post', + data + }) +} + +// 获取分享记录的key +export function getShareKey(data) { + return request({ + url: getUrl('/agent/share/getKey', 1), + method: 'post', + data + }) +} + +// 根据问卷编码获取问卷详细信息 +export function answerDetail(data = {}) { + return request({ + url: getUrl('/customer/answer/detailByQnCode', 1), + method: 'post', + data + }) + } + +//DISC性格分析列表 +export function discAnalysisList(data) { + return request({ + url: getUrl('/customer/answer/queryList', 1), + method: 'post', + data + }) +} + +// 答卷提交接口 +export function answerSubmit(data) { + return request({ + url: getUrl('/customer/answer/submit', 1), + method: 'post', + data + }) +} diff --git a/src/api/ebiz/nbs/index.js b/src/api/ebiz/nbs/index.js new file mode 100644 index 000000000..51ce5a929 --- /dev/null +++ b/src/api/ebiz/nbs/index.js @@ -0,0 +1,75 @@ +import request from '@/assets/js/utils/request' +import getUrl from '@/assets/js/utils/get-url' + +//事件列表 +export function getList(data) { + return request({ + url: getUrl('/proposal/nbs/getProposalNbsList', 1), + method: 'post', + data + }) +} + +export function saveForm(data) { + return request({ + url: getUrl('/proposal/nbs/saveOrUpdateProposalNbs', 1), + method: 'post', + data + }) +} + +export function delNbs(data) { + return request({ + url: getUrl('/proposal/nbs/deleteProposalNbs', 1), + method: 'post', + data + }) +} + +export function completeNbs(data) { + return request({ + url: getUrl('/proposal/nbs/modifyProposalNbsState', 1), + method: 'post', + data + }) +} + +export function nbsDetail(data) { + return request({ + url: getUrl('/proposal/nbs/getProposalNbsDemo', 1), + method: 'post', + data + }) +} + +export function nbsChart(data) { + return request({ + url: getUrl('/proposal/nbs/getProposalNbsStatistics', 1), + method: 'post', + data + }) +} + +export function nbsTable(data) { + return request({ + url: getUrl('/proposal/nbs/getProposalNbsStatisticsDetail', 1), + method: 'post', + data + }) +} +//NBS智能分析报告生成PDF +export function makePDF(data) { + return request({ + url: getUrl('/proposal/nbs/getPdfInfo', 1), + method: 'post', + data + }) +} +//NBS客户清单列表pdf生成 +export function makeCustomerPDF(data) { + return request({ + url: getUrl('/proposal/nbs/getProposalNbsStatisticsDetailDownLoad', 1), + method: 'post', + data + }) +} diff --git a/src/api/ebiz/sale/sale.js b/src/api/ebiz/sale/sale.js index f649c73e9..6bf249bd8 100644 --- a/src/api/ebiz/sale/sale.js +++ b/src/api/ebiz/sale/sale.js @@ -61,7 +61,14 @@ export function getAuthCode(data) { data }) } - +// 验证验证码 +export function autchCodeCheck(data) { + return request({ + url: getUrl('/customer/authcode/check', 1), + method: 'post', + data + }) +} // 上传图片 export function uploadImg(data) { return request({ diff --git a/src/assets/images/DISCbtn.png b/src/assets/images/DISCbtn.png new file mode 100644 index 000000000..89b53e555 Binary files /dev/null and b/src/assets/images/DISCbtn.png differ diff --git a/src/assets/images/DISCtop.png b/src/assets/images/DISCtop.png new file mode 100644 index 000000000..05043a8a9 Binary files /dev/null and b/src/assets/images/DISCtop.png differ diff --git a/src/assets/images/DISCtopBg.png b/src/assets/images/DISCtopBg.png new file mode 100644 index 000000000..39807e343 Binary files /dev/null and b/src/assets/images/DISCtopBg.png differ diff --git a/src/assets/images/discBg.png b/src/assets/images/discBg.png new file mode 100644 index 000000000..11917bc03 Binary files /dev/null and b/src/assets/images/discBg.png differ diff --git a/src/assets/images/discResBorder.png b/src/assets/images/discResBorder.png new file mode 100644 index 000000000..5a52cd6b1 Binary files /dev/null and b/src/assets/images/discResBorder.png differ diff --git a/src/assets/images/discResIcon.png b/src/assets/images/discResIcon.png new file mode 100644 index 000000000..1c63ff34d Binary files /dev/null and b/src/assets/images/discResIcon.png differ diff --git a/src/assets/images/headerBg.png b/src/assets/images/headerBg.png new file mode 100644 index 000000000..e9676a10d Binary files /dev/null and b/src/assets/images/headerBg.png differ diff --git a/src/assets/images/nbs/chart.png b/src/assets/images/nbs/chart.png new file mode 100644 index 000000000..9db62abb5 Binary files /dev/null and b/src/assets/images/nbs/chart.png differ diff --git a/src/assets/images/nbs/dot.png b/src/assets/images/nbs/dot.png new file mode 100644 index 000000000..92af231c4 Binary files /dev/null and b/src/assets/images/nbs/dot.png differ diff --git a/src/assets/images/nbs/empty.png b/src/assets/images/nbs/empty.png new file mode 100644 index 000000000..a675be747 Binary files /dev/null and b/src/assets/images/nbs/empty.png differ diff --git a/src/assets/images/nbs/nav.png b/src/assets/images/nbs/nav.png new file mode 100644 index 000000000..e540bdee0 Binary files /dev/null and b/src/assets/images/nbs/nav.png differ diff --git a/src/assets/images/proposal/person_br.png b/src/assets/images/proposal/person_br.png new file mode 100644 index 000000000..d0cb01164 Binary files /dev/null and b/src/assets/images/proposal/person_br.png differ diff --git a/src/assets/images/proposal/person_ez.png b/src/assets/images/proposal/person_ez.png new file mode 100644 index 000000000..391fae2f3 Binary files /dev/null and b/src/assets/images/proposal/person_ez.png differ diff --git a/src/assets/images/proposal/person_fq.png b/src/assets/images/proposal/person_fq.png new file mode 100644 index 000000000..4acd43038 Binary files /dev/null and b/src/assets/images/proposal/person_fq.png differ diff --git a/src/assets/images/proposal/person_mq.png b/src/assets/images/proposal/person_mq.png new file mode 100644 index 000000000..93b0de9a3 Binary files /dev/null and b/src/assets/images/proposal/person_mq.png differ diff --git a/src/assets/images/proposal/person_nr.png b/src/assets/images/proposal/person_nr.png new file mode 100644 index 000000000..1c31ecbd3 Binary files /dev/null and b/src/assets/images/proposal/person_nr.png differ diff --git a/src/assets/images/proposal/person_po.png b/src/assets/images/proposal/person_po.png new file mode 100644 index 000000000..64a7a153e Binary files /dev/null and b/src/assets/images/proposal/person_po.png differ diff --git a/src/assets/images/proposal/person_qt.png b/src/assets/images/proposal/person_qt.png new file mode 100644 index 000000000..736505ae2 Binary files /dev/null and b/src/assets/images/proposal/person_qt.png differ diff --git a/src/assets/images/proposal/proposal_add.png b/src/assets/images/proposal/proposal_add.png new file mode 100644 index 000000000..572571310 Binary files /dev/null and b/src/assets/images/proposal/proposal_add.png differ diff --git a/src/assets/images/proposal/proposal_bg.png b/src/assets/images/proposal/proposal_bg.png new file mode 100644 index 000000000..d0de19e6c Binary files /dev/null and b/src/assets/images/proposal/proposal_bg.png differ diff --git a/src/assets/images/proposal/proposal_company.png b/src/assets/images/proposal/proposal_company.png new file mode 100644 index 000000000..32cbe702f Binary files /dev/null and b/src/assets/images/proposal/proposal_company.png differ diff --git a/src/assets/images/proposal/proposal_down.png b/src/assets/images/proposal/proposal_down.png new file mode 100644 index 000000000..e27aed7d7 Binary files /dev/null and b/src/assets/images/proposal/proposal_down.png differ diff --git a/src/assets/images/proposal/proposal_gfrs_logo.png b/src/assets/images/proposal/proposal_gfrs_logo.png new file mode 100644 index 000000000..394a52f4b Binary files /dev/null and b/src/assets/images/proposal/proposal_gfrs_logo.png differ diff --git a/src/assets/images/proposal/proposal_lessen.png b/src/assets/images/proposal/proposal_lessen.png new file mode 100644 index 000000000..379c4bb96 Binary files /dev/null and b/src/assets/images/proposal/proposal_lessen.png differ diff --git a/src/assets/images/proposal/proposal_logo.png b/src/assets/images/proposal/proposal_logo.png new file mode 100644 index 000000000..76c91be8b Binary files /dev/null and b/src/assets/images/proposal/proposal_logo.png differ diff --git a/src/assets/images/proposal/proposal_open.png b/src/assets/images/proposal/proposal_open.png new file mode 100644 index 000000000..5bde56843 Binary files /dev/null and b/src/assets/images/proposal/proposal_open.png differ diff --git a/src/assets/images/proposal/proposal_pdf.png b/src/assets/images/proposal/proposal_pdf.png new file mode 100644 index 000000000..a6cddb8f0 Binary files /dev/null and b/src/assets/images/proposal/proposal_pdf.png differ diff --git a/src/assets/images/proposal/proposal_select_down.png b/src/assets/images/proposal/proposal_select_down.png new file mode 100644 index 000000000..db2c15531 Binary files /dev/null and b/src/assets/images/proposal/proposal_select_down.png differ diff --git a/src/assets/images/proposal/proposal_share_bg.png b/src/assets/images/proposal/proposal_share_bg.png new file mode 100644 index 000000000..933bad239 Binary files /dev/null and b/src/assets/images/proposal/proposal_share_bg.png differ diff --git a/src/assets/images/share@2x.png b/src/assets/images/share@2x.png new file mode 100644 index 000000000..d2ae7106e Binary files /dev/null and b/src/assets/images/share@2x.png differ diff --git a/src/assets/js/business-common.js b/src/assets/js/business-common.js index 9b6bbfbe0..53678147d 100644 --- a/src/assets/js/business-common.js +++ b/src/assets/js/business-common.js @@ -512,7 +512,8 @@ export default { idNo: appntDTO.idNo, appntId: appntDTO.appntId, healthGrade: appntDTO.healthGrade, - lifeGrade: appntDTO.lifeGrade + lifeGrade: appntDTO.lifeGrade, + mobile: appntDTO.mobile }) if (insuredDTO) { @@ -531,7 +532,8 @@ export default { insuredId: insuredDTO.insuredId, idNo: insuredDTO.idNo, healthGrade: insuredDTO.healthGrade, - lifeGrade: insuredDTO.lifeGrade + lifeGrade: insuredDTO.lifeGrade, + mobile: insuredDTO.mobile }) let [chooseProductCodes, mainRiskCodes, addRiskCodes] = [[], [], []] diff --git a/src/assets/js/common.js b/src/assets/js/common.js index 9efa05c58..5d26561ef 100644 --- a/src/assets/js/common.js +++ b/src/assets/js/common.js @@ -206,5 +206,18 @@ export default { isWeixin: ua.match(/MicroMessenger/i), isDC: ua.match(/guofulife/i) //app环境 } + }, + + deepCopy: function deepCopy(source) { + let result + if (Array.isArray(source)) { + result = source.map(v => deepCopy(v)) + } else if (typeof source === 'object' && source !== null) { + result = {} + Object.keys(source).forEach(v => (result[v] = deepCopy(source[v]))) + } else { + result = source + } + return result } } diff --git a/src/assets/js/utils/data-dictionary.js b/src/assets/js/utils/data-dictionary.js index 05e91fa1f..2f03fa830 100644 --- a/src/assets/js/utils/data-dictionary.js +++ b/src/assets/js/utils/data-dictionary.js @@ -165,19 +165,19 @@ export default { id: 6, text: '台湾居民来往大陆通行证' }, - { + /* { id: 7, text: '其他', disabled: true + }*/ + { + id: 8, + text: '外国人永久居留身份证' + }, + { + id: 9, + text: '港澳台居民居住证' } - // { - // id: 8, - // text: '外国人永久居留身份证' - // }, - // { - // id: 9, - // text: '港澳台居民居住证' - // } ], //投保人证件类型 insuredIdType: [ @@ -207,19 +207,19 @@ export default { id: 6, text: '台湾居民来往大陆通行证' }, - { + /* { id: 7, text: '其他', disabled: true + }*/ + { + id: 8, + text: '外国人永久居留身份证' + }, + { + id: 9, + text: '港澳台居民居住证' } - // { - // id: 8, - // text: '外国人永久居留身份证' - // }, - // { - // id: 9, - // text: '港澳台居民居住证' - // } ], //出生证明 birthType: [ @@ -253,7 +253,7 @@ export default { text: '其他' } ], - //投保人/被保人关系 + //投保人/被保险人关系 relationToAppnt: [ { id: 1, @@ -276,7 +276,7 @@ export default { text: '其他' } ], - //理赔报案投保人/被保人关系 + //理赔报案投保人/被保险人关系 relationToAppnts: [ { id: '00', @@ -751,7 +751,7 @@ export default { }, { id: '36', - text: '被保人保存成功' + text: '被保险人保存成功' }, { id: '37', @@ -911,6 +911,26 @@ export default { shortName: '万能险', name: '国富人寿鑫管家终身寿险(万能型)', code: 'GFRS_M0017' + }, + { + shortName: '医疗险', + name: '国富人寿附加住院医疗保险(医疗型)', + code: 'GFRS_A0004' + }, + { + shortName: '意外险', + name: '国富人寿附加综合意外伤害保险(意外型)', + code: 'GFRS_A0005' + }, + { + shortName: '重疾险', + name: '国富人寿国富民安重大疾病保险(重疾型)', + code: 'GFRS_M0018' + }, + { + shortName: '寿险', + name: '国富人寿国富栋梁定期寿险', + code: 'GFRS_M0020' } ], // 职级 @@ -2017,5 +2037,341 @@ export default { { code: '01', value: '寿险' }, { code: '02', value: '重疾' }, { code: '03', value: '年金' } + ], + // 活动量管理 - 人才库 - 状态 + talentPoolStatus: [ + { id: 0, text: '暂不考虑' }, + { id: 1, text: '已加盟' }, + { id: 2, text: '确认加盟' }, + { id: 3, text: '三次以上接触' }, + { id: 4, text: '二次接触' }, + { id: 5, text: '首次接触 ' } + ], + // 活动量管理 - 人才库 - 过往职业 + talentPoolPastOccu: [ + { id: '001', text: '一般内勤职员' }, + { id: '002', text: '其他金融行业' }, + { id: '003', text: '家庭主妇' }, + { id: '004', text: '自由职业' }, + { id: '005', text: '离退休人员' }, + { id: '006', text: '个体经营者' }, + { id: '007', text: '销售' }, + { id: '008', text: '公务员' }, + { id: '011', text: '其他' } + ], + // 利益演示单位 + productRateUnit: [ + { + code: 'years', + label: '' + }, + { + code: 'currentAge', + label: '岁' + }, + { + code: 'currentPremium', + label: '元' + }, + { + code: 'totalPremium', + label: '元' + }, + { + code: 'majorDiseaseInsurance', + label: '元' + }, + { + code: 'majorDiseaseInsurance2', + label: '元' + }, + { + code: 'mildillnessInsurance', + label: '元' + }, + { + code: 'deathInsurance', + label: '元' + }, + { + code: 'deathInsurance_L', + label: '元' + }, + { + code: 'deathInsurance_M', + label: '元' + }, + { + code: 'deathInsurance_H', + label: '元' + }, + { + code: 'highDisabilityExemptionPremium', + label: '元' + }, + { + code: 'deathExemptionPremium', + label: '元' + }, + { + code: 'accidentalDeathInsurance', + label: '元' + }, + { + code: 'accidentalDisabilityInsurance', + label: '元' + }, + { + code: 'medicalInsuranceForAccidentalInjury', + label: '元' + }, + { + code: 'incidentalInjuryHospitalizationAllowanceInsurance', + label: '元' + }, + { + code: 'insurancePremiumForBedsInHospital', + label: '元' + }, + { + code: 'inpatientSurgeryInsurance', + label: '元' + }, + { + code: 'inpatientCancerRadiotherapyAndChemotherapyExpensesInsurance', + label: '元' + }, + { + code: 'insuranceForOtherHospitalizationExpenses', + label: '元' + }, + { + code: 'insuranceForSpecificCardiovascularAndCerebrovascularDiseases', + label: '元' + }, + { + code: 'insuranceForCertainCardiovascularAndCerebrovascularMajorDiseases', + label: '元' + }, + { + code: 'cashValue', + label: '元' + }, + { + code: 'survival', + label: '元' + }, + { + code: 'survival_T', + label: '元' + }, + { + code: 'totalSurvival', + label: '元' + }, + { + code: 'expireSurvival', + label: '元' + }, + { + code: 'birthdayGold', + label: '元' + }, + { + code: 'middleDiseaseInsurance', + label: '元' + }, + { + code: 'appntADDCExemptionPremium', + label: '元' + }, + { + code: 'majorMiddleMildDiseaseInsuranceExemptionPremium', + label: '元' + }, + { + code: 'majorTMiddleMildDiseaseInsuranceExemptionPremium', + label: '元' + }, + { + code: 'survival_L', + label: '元' + }, + { + code: 'survival_M', + label: '元' + }, + { + code: 'survival_H', + label: '元' + }, + { + code: 'seneralMedicalInsurance', + label: '元' + }, + { + code: 'malignantTumorMedicalInsurance', + label: '元' + }, + { + code: 'malignantTumorInsurance', + label: '元' + }, + { + code: 'specificMalignantTumorCareFor', + label: '元' + }, + { + code: 'strokeSequelaInsurance', + label: '元' + }, + { + code: 'highSchoolEducationFund', + label: '元' + }, + { + code: 'universityEducationFund', + label: '元' + }, + { + code: 'entrepreneurshipGold', + label: '元' + }, + { + code: 'marriageGold', + label: '元' + }, + { + code: 'theInitialCost', + label: '元' + }, + { + code: 'continueToReward', + label: '元' + }, + { + code: 'policyAccountValue_L', + label: '元' + }, + { + code: 'policyAccountValue_M', + label: '元' + }, + { + code: 'policyAccountValue_H', + label: '元' + }, + { + code: 'enterPolicyAccountValue', + label: '元' + }, + { + code: 'endowmentAnnuity_years', + label: '元' + }, + { + code: 'endowmentAnnuity_month', + label: '元' + }, + { + code: 'endowmentAnnuity_L', + label: '元' + }, + { + code: 'endowmentAnnuity_M', + label: '元' + }, + { + code: 'endowmentAnnuity_H', + label: '元' + }, + { + code: 'pensionPaymentDate', + label: '' + }, + { + code: 'theCumulativeEndowmentAnnuity_L', + label: '元' + }, + { + code: 'theCumulativeEndowmentAnnuity_M', + label: '元' + }, + { + code: 'theCumulativeEndowmentAnnuity_H', + label: '元' + }, + { + code: 'cashValueFormula_L', + label: '元' + }, + { + code: 'cashValueFormula_M', + label: '元' + }, + { + code: 'cashValueFormula_H', + label: '元' + }, + { + code: 'thePremium', + label: '元' + }, + { + code: 'terminalIllnessBenefits', + label: '元' + }, + { + code: 'years', + label: '' + }, + { + code: 'transport_A', + label: '元' + }, + { + code: 'transport_B', + label: '元' + }, + { + code: 'transport_C', + label: '元' + }, + { + code: 'transport_D', + label: '元' + }, + { + code: 'transport_F', + label: '元' + }, + { + code: 'totalSuvInterest_L', + label: '元' + }, + { + code: 'totalSuvInterest_M', + label: '元' + }, + { + code: 'totalSuvInterest_H', + label: '元' + }, + { + code: 'remitPremRate', + label: '' + }, + { + code: 'inpatientCare', + label: '元' + }, + { + code: 'hospitalizationBenefit', + label: '元' + }, + { + code: 'malignantTumor', + label: '元' + } ] } diff --git a/src/assets/js/utils/request.js b/src/assets/js/utils/request.js index e3f4096de..f277e241b 100644 --- a/src/assets/js/utils/request.js +++ b/src/assets/js/utils/request.js @@ -62,7 +62,10 @@ let survey = [ //'/customer/question/getTableId', // id 查询 -- ok '/customer/question/getAgentInfo' // 代理人详情 ] -let whiteList = ['/customer/agent/getCustomersList', ...proposal, ...sale, ...agentEnter, ...claims, ...survey] +let manpower = [ + '/customer/answer/queryList' //DISC性格分析 +] +let whiteList = ['/customer/agent/getCustomersList', ...proposal, ...sale, ...agentEnter, ...claims, ...survey, ...manpower] // 创建axios实例 const service = axios.create({ diff --git a/src/assets/js/utils/validator.js b/src/assets/js/utils/validator.js index 44ca38a8f..35b060027 100644 --- a/src/assets/js/utils/validator.js +++ b/src/assets/js/utils/validator.js @@ -90,7 +90,16 @@ Validator.extend('age', { return value > 17 && /^\d{1,3}$/.test(value) } }) -//被保人年龄(不得小于18周岁) + +//年龄 +Validator.extend('maxAge', { + getMessage: () => '年龄不得大于100周岁', + validate: value => { + return value <= 100 && /^\d{1,3}$/.test(value) + } +}) + +//被保险人年龄(不得小于18周岁) Validator.extend('appntAge', { getMessage: () => '年龄不得小于18周岁', validate: value => { @@ -169,3 +178,34 @@ Validator.extend('avoirdupois', { return /^[0-9]+([.]{1}[0-9]{1})?$/.test(value) && value > 0.1 } }) + +//同业公司 +Validator.extend('sameCompany', { + getMessage: () => '同业公司长度不超过120个字符,不支持特殊字符', + validate: value => { + return /^[0-9a-zA-Z\.\s\u4e00-\u9fa5]{1,120}$/.test(value) + } +}) +//从业年限 +Validator.extend('workYears', { + getMessage: () => '从业年限仅支持阿拉伯数字,最多精确到一位小数', + validate: value => { + return /^[0-9]+([.]{1}[0-9]{1})?$/.test(value) && value > 0 + } +}) +//最大长度120字符 +Validator.extend('max120', { + getMessage: () => '输入内容不得超过120哥字符', + validate: value => { + return value.length < 121 + } +}) + +//名字 +Validator.extend('manpowerName', { + getMessage: () => '请输入正确的姓名', + validate: value => { + // return /^[\u4e00-\u9fa5·]{1,15}$/.test(value) + return /^[a-zA-Z\.\s\u4e00-\u9fa5]{2,120}$/.test(value) + } +}) diff --git a/src/assets/sass/nbs.scss b/src/assets/sass/nbs.scss new file mode 100644 index 000000000..de37fea70 --- /dev/null +++ b/src/assets/sass/nbs.scss @@ -0,0 +1,29 @@ +@mixin container { + box-sizing: border-box; + min-height: 100vh; + padding-bottom: 50px; + background: #fff; +} +.nbs-del, +.nbs-add { + height: 32px; + width: 347px; + margin: 10px auto 0 auto; + line-height: 32px; +} +.nbs-del { + border: 1px solid #f2f2f2; + background-color: #f2f2f2; + font-size: 20px; + text-align: right; + /deep/ i { + position: relative; + top: 6px; + right: 5px; + } +} +.nbs-add { + border: 1px solid #e3e3e3; + text-align: center; + font-size: 14px; +} diff --git a/src/components/ebiz/FieldDatePicter.vue b/src/components/ebiz/FieldDatePicter.vue index 3d16e498e..bc3f7f2fe 100644 --- a/src/components/ebiz/FieldDatePicter.vue +++ b/src/components/ebiz/FieldDatePicter.vue @@ -29,6 +29,12 @@ export default { return new Date('2040-12-31') } }, + minDate: { + type: Date, + default: () => { + return new Date('1900-01-01') + } + }, disabled: { type: Boolean, default: false @@ -77,8 +83,8 @@ export default { currentDate: beforeDate.getBeforeYear(30), //当前时间的30年前 showDataPicker: false, data: '', //时间插件绑定的值 - date: '', //field显示的值 - minDate: new Date('1900-01-01') //因为VANT组件默认是十年前 + date: '' //field显示的值 + //minDate: new Date('1900-01-01') //因为VANT组件默认是十年前 } }, components: { diff --git a/src/components/ebiz/manpower/ActivityLogItem.vue b/src/components/ebiz/manpower/ActivityLogItem.vue new file mode 100644 index 000000000..7ef6f4cfb --- /dev/null +++ b/src/components/ebiz/manpower/ActivityLogItem.vue @@ -0,0 +1,67 @@ + + diff --git a/src/components/ebiz/manpower/NavItem.vue b/src/components/ebiz/manpower/NavItem.vue new file mode 100644 index 000000000..9fc8a7f9a --- /dev/null +++ b/src/components/ebiz/manpower/NavItem.vue @@ -0,0 +1,74 @@ + + + + + + diff --git a/src/components/ebiz/manpower/TalentPoolItem.vue b/src/components/ebiz/manpower/TalentPoolItem.vue new file mode 100644 index 000000000..809d04ec0 --- /dev/null +++ b/src/components/ebiz/manpower/TalentPoolItem.vue @@ -0,0 +1,52 @@ + + diff --git a/src/components/ebiz/manpower/UserInfoHeader.vue b/src/components/ebiz/manpower/UserInfoHeader.vue new file mode 100644 index 000000000..6e57044fc --- /dev/null +++ b/src/components/ebiz/manpower/UserInfoHeader.vue @@ -0,0 +1,64 @@ + + + + + + diff --git a/src/components/ebiz/sale/BankCardScan.vue b/src/components/ebiz/sale/BankCardScan.vue index 638ce1eed..2bf5c8115 100644 --- a/src/components/ebiz/sale/BankCardScan.vue +++ b/src/components/ebiz/sale/BankCardScan.vue @@ -46,7 +46,7 @@ export default { // imgfront: this.$assetsUrl + 'images/u6071.png', // 是否可以点击完成 isDisabled: true, - // 是投保人还是被保人扫描 0是投保人 1是被保人 + // 是投保人还是被保险人扫描 0是投保人 1是被保险人 // cardScanningType: '', // 是否成功扫描 state: '' diff --git a/src/components/ebiz/sale/IdentityCardScan.vue b/src/components/ebiz/sale/IdentityCardScan.vue index 204b72d1e..683201616 100644 --- a/src/components/ebiz/sale/IdentityCardScan.vue +++ b/src/components/ebiz/sale/IdentityCardScan.vue @@ -74,7 +74,7 @@ export default { imgBack: this.$assetsUrl + 'images/idCardBack.png', // 相机图片 srcCamera: this.$assetsUrl + 'images/camera_copy.png', - // 是否是投保人还是被保人扫描 + // 是否是投保人还是被保险人扫描 scanFromInsured: '', state: '', stateBack: '', diff --git a/src/components/ebiz/sale/UploadImageFile.vue b/src/components/ebiz/sale/UploadImageFile.vue index 7bd52baec..5300a8d56 100644 --- a/src/components/ebiz/sale/UploadImageFile.vue +++ b/src/components/ebiz/sale/UploadImageFile.vue @@ -65,6 +65,14 @@ export default { this.$refs.file.dispatchEvent(new MouseEvent('click')) }, addImg(e) { + this.$toast.loading({ + // 持续展示 toast + duration: 0, + // 禁用背景点击s + forbidClick: true, + loadingType: 'spinner', + message: '加载中……' + }) let that = this this.file = this.$refs.file.files[0] var reader = new FileReader() diff --git a/src/config/index.js b/src/config/index.js index cdabf31f4..6ea9d33b7 100644 --- a/src/config/index.js +++ b/src/config/index.js @@ -11,7 +11,7 @@ let apiDomain, imgDomain, assetsUrl, mainUrl, payUrl, zssqUrl // 保融支付的 console.log('环境:', process.env.VUE_APP_FLAG) switch (process.env.VUE_APP_FLAG) { case 'dev': - apiDomain = 'http://139.199.50.151:7000/api/v1' // 国富api + apiDomain = 'http://139.199.50.151:7000/api/v1' // 国富api ///api/v1 imgDomain = 'http://211.159.248.123:7012/updown' // dev // 静态服务资源 assetsUrl = 'http://139.199.50.151:8000/app/' diff --git a/src/config/manpower.js b/src/config/manpower.js new file mode 100644 index 000000000..8f823d818 --- /dev/null +++ b/src/config/manpower.js @@ -0,0 +1,17 @@ +// 人力发展 + +let mockBaseUrl = 'http://rap2api.taobao.org/app/mock/247074' +export default { + // 例子 + '/demo/url': mockBaseUrl + '/demo/url', + // 查询日志统计周报 + '/agent/activityRecord/queryWeekly': mockBaseUrl + '/agent/activityRecord/queryWeekly', + // 查询日志页面人才库列表 + '/agent/personnel/queryListFirst': mockBaseUrl + '/agent/personnel/queryListFirst', + // 查询日志页面增员列表 + '/agent/activityRecord/queryList': mockBaseUrl + '/agent/activityRecord/queryList', + // 日志详情查询 + '/agent/activityRecord/queryDetail': mockBaseUrl + '/agent/activityRecord/queryDetail', + // 新增日志 + '/agent/activityRecord/saveOrUpdate': mockBaseUrl + '/agent/activityRecord/saveOrUpdate' +} diff --git a/src/config/urlMap.js b/src/config/urlMap.js index a75916286..7c06a8cee 100644 --- a/src/config/urlMap.js +++ b/src/config/urlMap.js @@ -11,6 +11,7 @@ import product from './product' import serve from './serve' import common from './common' import survey from './survey' +import manpower from './manpower' const mockBaseUrl = 'http://rap2api.taobao.org/app/mock' let baseObj = { @@ -18,6 +19,6 @@ let baseObj = { '/user/info': mockBaseUrl + '/223948/info', '/user/logout': mockBaseUrl + '/223948/logout' } -Object.assign(baseObj, proposal, sale, customer, my, product, serve, common, survey) +Object.assign(baseObj, proposal, sale, customer, my, product, serve, common, survey, manpower) export default baseObj diff --git a/src/filters/index.js b/src/filters/index.js index 990bfadfa..f80f3f179 100644 --- a/src/filters/index.js +++ b/src/filters/index.js @@ -133,6 +133,11 @@ export default { // } // return str + + //摘自国富群:这个在报文转换的时候,核心返回“—”的时候,直接返回空。 @于维琦(于维琦) 前端如果保额为空,直接展示“—”@皮伟(皮伟) 你跟她碰一下怎么改 + if (moneyStr === null) { + return '—' + } let str = '' if (flag) { str = (moneyStr + '').replace(/\d{1,3}(?=(\d{3})+$)/g, '$&,') diff --git a/src/router/ebiz/index.js b/src/router/ebiz/index.js index d6e5fb3c4..05bdf973a 100644 --- a/src/router/ebiz/index.js +++ b/src/router/ebiz/index.js @@ -11,4 +11,6 @@ import milestone from './milestone' import poster from './poster' import report from './report' import survey from './survey' -export default [...proposal, ...sale, ...customer, ...my, ...serve, ...common, ...product, ...agentEenter, ...milestone, ...poster, ...report, ...survey] //根据需要进行删减 +import nbs from './nbs' +import manpower from './manpower' +export default [...proposal, ...sale, ...customer, ...my, ...serve, ...common, ...product, ...agentEenter, ...milestone, ...poster, ...report, ...survey, ...nbs, ...manpower] //根据需要进行删减 diff --git a/src/router/ebiz/manpower.js b/src/router/ebiz/manpower.js new file mode 100644 index 000000000..182f24571 --- /dev/null +++ b/src/router/ebiz/manpower.js @@ -0,0 +1,198 @@ +//人力发展 定义相关组件 + +const Navigation = () => import('@/views/ebiz/manpower/Navigation') +const PersonalCenter = () => import('@/views/ebiz/manpower/PersonalCenter') + +const IncreaseStaffTools = () => import('@/views/ebiz/manpower/IncreaseStaffTools') +const CompanyIntroduction = () => import('@/views/ebiz/manpower/increaseStaffTools/CompanyIntroduction') +const PolicyOptions = () => import('@/views/ebiz/manpower/increaseStaffTools/PolicyOptions') +const PolicyOptionsPdfShare = () => import('@/views/ebiz/manpower/increaseStaffTools/PdfShare') + +const Training = () => import('@/views/ebiz/manpower/Training') + +const ActiveManagement = () => import('@/views/ebiz/manpower/ActiveManagement') + +const TalentPoolList = () => import('@/views/ebiz/manpower/talentPool/List') +const TalentPoolAdd = () => import('@/views/ebiz/manpower/talentPool/Add') +const TalentPoolEdit = () => import('@/views/ebiz/manpower/talentPool/Edit') + +const ActivityLogList = () => import('@/views/ebiz/manpower/activityLog/List') +const ActivityLogEdit = () => import('@/views/ebiz/manpower/activityLog/Edit') + +const DiscAnalysisList = () => import('@/views/ebiz/manpower/discAnalysis/List') +const DiscAnalysisQuestion = () => import('@/views/ebiz/manpower/discAnalysis/Question') +const DiscAnalysisResult = () => import('@/views/ebiz/manpower/discAnalysis/Result') +const DiscAnalysisShare = () => import('@/views/ebiz/manpower/discAnalysis/Share') + +export default [ + { + // 人力发展 + path: '/manpower/Navigation', + name: 'Navigation', + component: Navigation, + meta: { + title: '人力发展', + index: 1 + } + }, + { + // 个人中心 + path: '/manpower/PersonalCenter', + name: 'PersonalCenter', + component: PersonalCenter, + meta: { + title: '人力发展', + index: 2 + } + }, + { + // 增员工具 + path: '/manpower/IncreaseStaffTools', + name: 'IncreaseStaffTools', + component: IncreaseStaffTools, + meta: { + title: '增员工具', + index: 3 + } + }, + { + // 公司介绍 + path: '/manpower/increaseStaffTools/CompanyIntroduction', + name: 'CompanyIntroduction', + component: CompanyIntroduction, + meta: { + title: '公司介绍', + index: 100 + } + }, + { + // 政策方案 + path: '/manpower/increaseStaffTools/PolicyOptions', + name: 'PolicyOptions', + component: PolicyOptions, + meta: { + title: '政策方案', + index: 100 + } + }, + { + // 政策方案展示Pdf + path: '/manpower/increaseStaffTools/PdfShare', + name: 'PolicyOptionsPdfShare', + component: PolicyOptionsPdfShare, + meta: { + title: '政策方案', + index: 100 + } + }, + { + // 培训上岗 + path: '/manpower/Training', + name: 'Training', + component: Training, + meta: { + title: '培训上岗', + index: 100 + } + }, + { + // 活动量管理 + path: '/manpower/ActiveManagement', + name: 'ActiveManagement', + component: ActiveManagement, + meta: { + title: '活动量管理', + index: 100 + } + }, + { + // 人才库 + path: '/manpower/TalentPool/', + name: 'TalentPoolList', + component: TalentPoolList, + meta: { + title: '人才库', + index: 101 + } + }, + { + // 人才库-新增人才 + path: '/manpower/TalentPool/Add', + name: 'TalentPoolAdd', + component: TalentPoolAdd, + meta: { + title: '基本信息', + index: 102 + } + }, + { + // 人才库-修改人才 + path: '/manpower/TalentPool/Edit', + name: 'TalentPoolEdit', + component: TalentPoolEdit, + meta: { + title: '基本信息', + index: 103 + } + }, + { + // 当日增员活动日志 + path: '/manpower/ActivityLog/List', + name: 'ActivityLogList', + component: ActivityLogList, + meta: { + title: '当日增员活动日志', + index: 100 + } + }, + { + // 日志详情 + path: '/manpower/ActivityLog/Edit', + name: 'ActivityLogEdit', + component: ActivityLogEdit, + meta: { + title: '日志详情', + index: 100 + } + }, + { + // DISC性格分析 + path: '/manpower/DiscAnalysis/List', + name: 'DiscAnalysisList', + component: DiscAnalysisList, + meta: { + title: 'DISC性格分析', + index: 200 + } + }, + { + // DISC性格分析结果 + path: '/manpower/DiscAnalysis/Result', + name: 'DiscAnalysisResult', + component: DiscAnalysisResult, + meta: { + title: 'DISC性格分析结果', + index: 201 + } + }, + { + // DISC性格分析 分享 + path: '/manpower/DiscAnalysis/Share', + name: 'DiscAnalysisShare', + component: DiscAnalysisShare, + meta: { + title: 'DISC性格分析', + index: 202 + } + }, + { + // DISC性格分析结果 -做题 + path: '/manpower/DiscAnalysis/Question', + name: 'DiscAnalysisQuestion', + component: DiscAnalysisQuestion, + meta: { + title: 'DISC性格分析', + index: 203 + } + } +] diff --git a/src/router/ebiz/nbs.js b/src/router/ebiz/nbs.js new file mode 100644 index 000000000..bca377b58 --- /dev/null +++ b/src/router/ebiz/nbs.js @@ -0,0 +1,102 @@ +let nbsList = () => import('@/views/ebiz/nbs/List') +let nbsNav = () => import('@/views/ebiz/nbs/Nav') +let nbsChart = () => import('@/views/ebiz/nbs/Chart') +let nbsResult = () => import('@/views/ebiz/nbs/Result') +let nbsCrewList = () => import('@/views/ebiz/nbs/CrewList') +let nbsBase = () => import('@/views/ebiz/nbs/Base') +let nbsNecessary = () => import('@/views/ebiz/nbs/Necessary') +let nbsPrepared = () => import('@/views/ebiz/nbs/Prepared') +let nbsDetail = () => import('@/views/ebiz/nbs/Detail') +let nbsPDF = () => import('@/views/ebiz/nbs/PDF') +export default [ + { + path: '/nbs/list', + name: 'nbsList', + component: nbsList, + meta: { + title: 'NBS智能分析', + index: 1 + } + }, + { + path: '/nbs/nav/:id?', + name: 'nbsNav', + component: nbsNav, + meta: { + title: 'NBS智能分析', + index: 2 + } + }, + { + path: '/nbs/chart', + name: 'nbsChart', + component: nbsChart, + meta: { + title: 'NBS智能分析统计', + index: 3 + } + }, + { + path: '/nbs/result/:id/:half/:nbsState', + name: 'nbsResult', + component: nbsResult, + meta: { + title: 'NBS智能分析结果', + index: 4 + } + }, + { + path: '/nbs/crew-list/:code', + name: 'nbsCrewList', + component: nbsCrewList, + meta: { + title: '客户清单', + index: 5 + } + }, + { + path: '/nbs/base', + name: 'nbsBase', + component: nbsBase, + meta: { + title: '基本资料', + index: 6 + } + }, + { + path: '/nbs/necessary', + name: 'nbsNecessary', + component: nbsNecessary, + meta: { + title: '应备费用', + index: 7 + } + }, + { + path: '/nbs/prepared', + name: 'nbsPrepared', + component: nbsPrepared, + meta: { + title: '已备费用', + index: 8 + } + }, + { + path: '/nbs/detail/:id/:state', + name: 'nbsDetail', + component: nbsDetail, + meta: { + title: '资料', + index: 9 + } + }, + { + path: '/nbs/pdf/:content', + name: 'nbsPDF', + component: nbsPDF, + meta: { + title: 'NBS智能分析报告', + index: 10 + } + } +] diff --git a/src/router/ebiz/proposal.js b/src/router/ebiz/proposal.js index 444331f1f..6cb602d54 100644 --- a/src/router/ebiz/proposal.js +++ b/src/router/ebiz/proposal.js @@ -6,7 +6,8 @@ const insuredPerson = () => import('@/views/ebiz/proposal/InsuredPerson') const exhibition = () => import('@/views/ebiz/proposal/Exhibition') const companyProfile = () => import('@/views/ebiz/proposal/CompanyProfile') const pdf = () => import('@/views/ebiz/proposal/PDF') - +const proposalInfo = () => import('@/views/ebiz/proposal/ProposalInfo') +const caluePdf = () => import('@/views/ebiz/proposal/CaluePDF') export default [ { path: '/proposal/list', @@ -31,7 +32,7 @@ export default [ name: 'ChooseInsuredPerson', component: chooseInsuredPerson, meta: { - title: '选择被保人' + title: '选择被保险人' } }, { @@ -43,13 +44,21 @@ export default [ index: 1 } }, - + { + path: '/proposal/proposalInfo', + name: 'proposalInfo', + component: proposalInfo, + meta: { + title: '建议书预览', + index: 1 + } + }, { path: '/proposal/insuredPerson', name: 'InsuredPerson', component: insuredPerson, meta: { - title: '被保人信息', + title: '被保险人信息', index: 1 } }, @@ -68,5 +77,13 @@ export default [ meta: { title: 'PDF预览' } + }, + { + path: '/proposal/caluePdf', + name: 'caluePdf', + component: caluePdf, + meta: { + title: '条款PDF查看' + } } ] diff --git a/src/router/ebiz/sale.js b/src/router/ebiz/sale.js index f914be21c..0ef64aaea 100644 --- a/src/router/ebiz/sale.js +++ b/src/router/ebiz/sale.js @@ -59,7 +59,7 @@ export default [ name: 'insuredPerson', component: insuredPerson, meta: { - title: '被保人信息', + title: '被保险人信息', index: 1 } }, diff --git a/src/store/index.js b/src/store/index.js index ece04feb3..63cb1d212 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -10,13 +10,13 @@ export default new Vuex.Store({ app }, state: { - pageFlag: '', //理赔申请-区分被保人/申请人页面flag + pageFlag: '', //理赔申请-区分被保险人/申请人页面flag agentEnterApplyMobil: '', //自助入司-新的被增员人填好的基础信息里的电话号码 agentEnterApplyIdNo: '', //自助入司-新的被增员人填好的基础信息里的证件号码 refusalCause: '' //自助入司-查看审批流程-审批拒绝的原因 }, mutations: { - //更新 理赔申请-区分被保人/申请人页面flag + //更新 理赔申请-区分被保险人/申请人页面flag updatePageFlag(state, val) { state.pageFlag = val }, diff --git a/src/views/app/Home.vue b/src/views/app/Home.vue index ea3c712f1..539f3bb67 100644 --- a/src/views/app/Home.vue +++ b/src/views/app/Home.vue @@ -28,6 +28,8 @@
  • 自助入司
  • 入司审批列表
  • 问卷调查
  • +
  • nbs列表
  • +
  • DISC性格分析
  • diff --git a/src/views/ebiz/agentEenter/AgentEenterBasicImage.vue b/src/views/ebiz/agentEenter/AgentEenterBasicImage.vue index 5b4d34918..89c1725ed 100644 --- a/src/views/ebiz/agentEenter/AgentEenterBasicImage.vue +++ b/src/views/ebiz/agentEenter/AgentEenterBasicImage.vue @@ -151,7 +151,7 @@ export default { index: '-1' }, routerInfo: { - type:2, + type: 2, index: -1, path: '/agentEenter/agentEenterBasicFamily' } @@ -189,12 +189,12 @@ export default { this.fileListBank05.push({ url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${item.rgssUrl}` }) break } - if(item.imageInfoType == '1' && item.subBusinessType == '3'){ - // 申请人身份证 - this.fileListBank01.push({ url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${item.rgssUrl}` }) + if (item.imageInfoType == '1' && item.subBusinessType == '3') { + // 申请人身份证 + this.fileListBank01.push({ url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${item.rgssUrl}` }) } - if(item.imageInfoType == '1' && item.subBusinessType == '4'){ - // 担保人身份证 + if (item.imageInfoType == '1' && item.subBusinessType == '4') { + // 担保人身份证 this.fileListBank06.push({ url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${item.rgssUrl}` }) } }) @@ -212,18 +212,22 @@ export default { this.fileListBank01.map((item, index, array) => { if (item.content == file.content) { array.splice(index, 1) + this.deleteImg(file, 'fileListBank01') } else { return } }) } else if (detail.name == 'fileListBank03') { this.fileListBank03 = [] + this.deleteImg(file, 'fileListBank03') } else if (detail.name == 'fileListBank04') { this.fileListBank04 = [] + this.deleteImg(file, 'fileListBank04') } else if (detail.name == 'fileListBank05') { this.fileListBank05.map((item, index, array) => { if (item.content == file.content) { array.splice(index, 1) + this.deleteImg(file, 'fileListBank05') } else { return } @@ -232,12 +236,12 @@ export default { this.fileListBank06.map((item, index, array) => { if (item.content == file.content) { array.splice(index, 1) + this.deleteImg(file, 'fileListBank06') } else { return } }) } - this.deleteImg(file) }) }, dataURLtoFile(dataurl, filename) { @@ -254,8 +258,10 @@ export default { }, afterRead(file) { let that = this + console.log(file) that.file = file.content that.imgName = Math.floor(Math.random() * 100).toString() + new Date().getTime() + file.file.name //为图片名加随机数 与时间戳 + file.name = that.imgName that.uploadImg() }, uploadImg() { @@ -268,36 +274,43 @@ export default { }) let formdata = new FormData() formdata.append('imgPath', that.dataURLtoFile(that.file, that.imgName)) - console.log('file-----------------', that.file) - console.log('name-----------------', that.imgName) + uploadImg(formdata).then(res => { if (res.result == '0') { this.$toast.clear() let imageInfoType = '' let subBusinessType = '' + let name = '' + if (that.type == 'fileListBank01') { //身份证正面 + name = 'fileListBank01' imageInfoType = '1' subBusinessType = '3' } else if (that.type == 'fileListBank03') { //学历 + name = 'fileListBank03' imageInfoType = '12' subBusinessType = '3' } else if (that.type == 'fileListBank04') { //免冠 + name = 'fileListBank04' imageInfoType = '13' subBusinessType = '3' } else if (that.type == 'fileListBank05') { //银行卡 + name = 'fileListBank05' imageInfoType = '3' subBusinessType = '3' } else if (that.type == 'fileListBank06') { //担保人 + name = 'fileListBank06' imageInfoType = '1' subBusinessType = '4' } let obj = { + name: name, imageInfoType: imageInfoType, subBusinessType: subBusinessType, fileName: that.imgName, @@ -308,16 +321,20 @@ export default { }) }, // 删除图片 - deleteImg(file) { + deleteImg(file, nameList) { let that = this //图片上传的 if (file.file) { that.list.map((item, index, array) => { - if (item.fileName.indexOf(file.file.name) == -1) { - return - } else { + if (item.fileName == file.name && nameList == item.name) { array.splice(index, 1) } + // if (item.fileName.indexOf(file.file.name) == -1) { + // return + // } else if (item.fileName == file.file.name && nameList == item.name) { + // array.splice(index, 1) + // return false + // } }) } else { //图片返显的 @@ -343,11 +360,15 @@ export default { loadingType: 'spinner', message: '加载中……' }) + this.list.map(i => { + delete i.name + }) let data = { // userModel: { //线上去掉 // mobile: '13000000000' // }, entryType: 'CUSTOMER_MEDIA', + ebizMediaDtoLst: that.list } saveOrUpdateInfo(data).then(res => { diff --git a/src/views/ebiz/agentEenter/js/methods.js b/src/views/ebiz/agentEenter/js/methods.js index a067b331b..c31c2a20e 100644 --- a/src/views/ebiz/agentEenter/js/methods.js +++ b/src/views/ebiz/agentEenter/js/methods.js @@ -42,7 +42,7 @@ export function selectComp(that, index, type = '') { //投保人 localStorage.scanFromInsured = 'true' } else if (type == '2') { - //被保人 + //被保险人 localStorage.scanFromInsured = 'false' }; [that.isScan, title] = [true, '身份证扫描'] @@ -83,7 +83,7 @@ function closeBtn(that) { /** * * @param {*} that 上下文 - * @param {String} type 1 投保人; 2 被保人; 3 受益人 + * @param {String} type 1 投保人; 2 被保险人; 3 受益人 */ export function appCallBack(that, type) { return function () { @@ -93,7 +93,7 @@ export function appCallBack(that, type) { title = '投保人信息' break case '2': - title = '被保人信息' + title = '被保险人信息' break case '3': title = '指定受益人信息' @@ -129,7 +129,7 @@ export function chooseOccupation(that, type) { title = '投保人信息' break case '2': - title = '被保人信息' + title = '被保险人信息' break case '3': title = '指定受益人信息' @@ -151,7 +151,7 @@ export function chooseOccupation(that, type) { * @param {*} that 上下文 * @param {*} pickerType 弹框类型 * @param {*} valueKey 弹框编号 - * @param {*} type 1 投保人; 2 被保人; 3 受益人 + * @param {*} type 1 投保人; 2 被保险人; 3 受益人 */ export function toSelect(that, pickerType, valueKey, type) { //pickerType 1、民族 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、在职情况 @@ -204,7 +204,7 @@ export function toSelect(that, pickerType, valueKey, type) { * * @param {*} that 上下文 * @param {*} value 值 - * @param {*} type 1 投保人 2 被保人 3 受益人 + * @param {*} type 1 投保人 2 被保险人 3 受益人 */ export function onConfirm(that, value, type) { that.popupShow = false @@ -324,7 +324,7 @@ export function onConfirm(that, value, type) { } break case '3': { - //如果受益人是被保人本人 + //如果受益人是被保险人本人 if (value.id == 1) { //获取投保人数据 getOrderDetail({ @@ -332,7 +332,7 @@ export function onConfirm(that, value, type) { }).then(res => { if (res.result == 0) { that.isInsured = true - //获取被保人信息 + //获取被保险人信息 let insuredInfo = res.orderDTO.insuredDTOs[0] for (let key in that.userInfo) { that.userInfo[key] = insuredInfo[key] @@ -505,7 +505,7 @@ export function onDateConfirm(that, val, type) { * * @param {*} that 上下文 * @param {*} data 客户列表数据 - * @param {*} type 1 投保人; 2 被保人; 3 受益人 + * @param {*} type 1 投保人; 2 被保险人; 3 受益人 */ export function chooseCustomer(that, data, type) { let title @@ -514,7 +514,7 @@ export function chooseCustomer(that, data, type) { title = '投保人信息' break case '2': - title = '被保人信息' + title = '被保险人信息' break case '3': title = '指定受益人信息' @@ -615,7 +615,7 @@ export function chooseCustomer(that, data, type) { /** * * @param {*} that 上下文 - * @param {*} type 1 投保人; 2 被保人; 3 受益人 + * @param {*} type 1 投保人; 2 被保险人; 3 受益人 */ export function nextStep(that, type) { //表单校验, 成功跳转 @@ -657,7 +657,7 @@ export function infoUpdate(that, type) { let flag switch (type) { case '1': { - //取出local中的投被保人信息 + //取出local中的投被保险人信息 let saleInsuredInfo = JSON.parse(localStorage.saleInsuredInfo) //如果 性别, 出生日期, 有无社保, 职业 发生变化 if (that.userInfo.sex != saleInsuredInfo.sex || that.userInfo.birthday != saleInsuredInfo.birthday) { @@ -666,7 +666,7 @@ export function infoUpdate(that, type) { } break case '2': { - //取出local中的被保人信息 + //取出local中的被保险人信息 let saleInsuredPersonInfo = JSON.parse(localStorage.saleInsuredPersonInfo) //如果 性别, 出生日期, 有无社保, 职业 发生变化 if ( @@ -707,11 +707,11 @@ export function infoUpdate(that, type) { /** * * @param {*} that 上下文 - * @param {*} type 1 投保人 2 被保人 + * @param {*} type 1 投保人 2 被保险人 */ export function save(that, type, str) { let params = { - // 投被保人入参不同 + // 投被保险人入参不同 orderType: type == '1' ? 'APPNT_ORDER' : 'INSURED_ORDER', orderDTO: { orderInfoDTO: { @@ -727,7 +727,7 @@ export function save(that, type, str) { if (type == '2' && that.userInfo.mediaDTOS == '') { delete that.userInfo.mediaDTOS } - // 投被保人入参不同 + // 投被保险人入参不同 type == '1' ? (params.orderDTO.appntDTO = that.userInfo) : (params.orderDTO.insuredDTOs = [that.userInfo]) saveOrUpdateOrderInfo(params).then(res => { if (res.result == 0) { @@ -738,7 +738,7 @@ export function save(that, type, str) { that.countDown = 60 that.codeDisabled = false // let url - // 投被保人跳转路径不同 + // 投被保险人跳转路径不同 if (type == '1') { that.$jump({ flag: 'h5', @@ -815,7 +815,7 @@ export function sureArea(that, area, type, flag = false) { * * @param {*} that 上下文 * @param {*} data 扫描数据 - * @param {*} type 1 投保人 2 被保人 + * @param {*} type 1 投保人 2 被保险人 */ export function getIdentityInfo(that, data, type) { if (data.name && data.name != '待识别') { @@ -829,7 +829,7 @@ export function getIdentityInfo(that, data, type) { } that.isScan = false that.bankisScan = false - let title = type == '1' ? '投保人信息' : '被保人信息' + let title = type == '1' ? '投保人信息' : '被保险人信息' that.$jump({ flag: 'navigation', extra: { @@ -882,7 +882,7 @@ export function getRelatedData(that, val) { /** * * @param {*} that 上下文 - * @param {*} type 1 投保人 2 被保人 + * @param {*} type 1 投保人 2 被保险人 */ export function getCode(that, type) { if (that.userInfo.mobile == '') { diff --git a/src/views/ebiz/agentEenter/share/ShareInfo.vue b/src/views/ebiz/agentEenter/share/ShareInfo.vue index e351b4583..5bad87db6 100644 --- a/src/views/ebiz/agentEenter/share/ShareInfo.vue +++ b/src/views/ebiz/agentEenter/share/ShareInfo.vue @@ -244,43 +244,6 @@ export default { } else { self.save() } - } else if (this.userInfo.idType == '2') { - //户口本 - if (this.userInfo.idNo.length != 18) { - this.$toast('户口本的证件号码长度应等于18位') - } else { - self.save() - } - } else if (this.userInfo.idType == '3') { - //出生证 - if (this.userInfo.idNo.length < 3) { - this.$toast('出生证须大于等于3个字符') - } else { - self.save() - } - } else if (this.userInfo.idType == '4') { - //护照 - if (this.userInfo.idNo.length < 3) { - this.$toast('护照须大于等于3个字符') - } else { - self.save() - } - //证件是港澳居民通行证 - } else if (this.userInfo.idType == '5') { - if (this.userInfo.idNo.length != 9) { - this.$toast('证件类型为港澳居民通行证的,证件号码须为9位') - } else if (!/^(H|M)[0-9]{8}$/.test(this.userInfo.idNo)) { - this.$toast('证件类型为港澳居民通行证的,证件号码首位字母为"H"/"M",证件号码第2位至第9位为阿拉伯数字') - } else { - self.save() - } - //证件是台湾居民通行证 - } else if (this.userInfo.idType == '6') { - if (this.userInfo.idNo.length != 8) { - this.$toast('证件类型为台湾居民通行证的,证件号码须为8位数字') - } else { - self.save() - } } else { self.save() } diff --git a/src/views/ebiz/common/AddRiskList.vue b/src/views/ebiz/common/AddRiskList.vue index 3bd05d1fd..752cf6cf9 100644 --- a/src/views/ebiz/common/AddRiskList.vue +++ b/src/views/ebiz/common/AddRiskList.vue @@ -110,7 +110,7 @@ export default { return } } else { - //校验主合同的被保人寿险职业等级 + //校验主合同的被保险人寿险职业等级 if (riskRules.lifeGradeLimit(resultData, this)) { return } @@ -122,6 +122,7 @@ export default { let currentProductInfo = { calFactorLst, isMainRisk: 1, + hint: resultData.hint, riskType: resultData.riskType, riskName: this.result.riskName, productCode: this.result.productCode, @@ -166,7 +167,11 @@ export default { item['amt'] = factor['amt'] } } - item.columns.push({ text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'], amt: factor['amt'] }) + let itemColumns = { text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'], amt: factor['amt'] } + if (factor.medical !== undefined) { + itemColumns.medical = factor.medical + } + item.columns.push(itemColumns) }) } else if (item.type == 1) { //按年龄选择 @@ -187,7 +192,7 @@ export default { }, //豁免险影响 remitLimit(resultData) { - //isRemit 0是豁免险 1非豁免险 remitType 0投保人 1被保人 relationToAppnt 投被关系 + //isRemit 0是豁免险 1非豁免险 remitType 0投保人 1被保险人 relationToAppnt 投被关系 let isRemit = resultData.productTrialInfoDTO.isRemit if (isRemit == 1) return false let remitType = resultData.productTrialInfoDTO.remitType diff --git a/src/views/ebiz/common/CalculatePremium.vue b/src/views/ebiz/common/CalculatePremium.vue index 7bbccf141..7b76a9b2f 100644 --- a/src/views/ebiz/common/CalculatePremium.vue +++ b/src/views/ebiz/common/CalculatePremium.vue @@ -77,7 +77,7 @@ :show-minus="false" class="ml10 mr10" @focus="focusStep" - @blur="blurStep(dutyItem)" + @blur="blurStep(dutyItem, index)" @change=" dutyStepperChange( item.calFactorLst[riskFactorIndex].rules[dutyItemIndex].defaultDutyAmt, @@ -163,7 +163,7 @@ :show-minus="false" class="ml10 mr10" @focus="focusStep" - @blur="blurStep(dutyItem)" + @blur="blurStep(dutyItem, index)" @change=" dutyStepperChange( item.calFactorLst[riskFactorIndex].rules[dutyItemIndex].defaultDutyAmt, @@ -216,7 +216,7 @@ class="ml10 mr10" :disabled="dutyItem.changeWithMainRisk === true ? 'disabled' : ''" @focus="focusStep" - @blur="blurStep(dutyItem)" + @blur="blurStep(dutyItem, index)" @change=" dutyStepperChange( item.calFactorLst[riskFactorIndex].rules[dutyItemIndex].defaultDutyAmt, @@ -246,7 +246,16 @@
    - +
    首期保费(元): 保额(元): - {{ trialList[index].prem.toFixed(2) | moneyFormat }} + {{ trialList[index].showPrem.toFixed(2) | moneyFormat }}
    @@ -307,6 +316,20 @@ const dutyRules = { msg: '意外住院津贴日额最低基本保险金额为10元/天,超过最低基本保险金额为10元/天整数倍,最高不得超过200元/天' } } +const dutyGFRS_A0004Rules = { + 320205: { + mainRisk: 'GFRS_M0005', + msg: '住院医疗提示:金额只能是0.5、1、1.5、2', + msg_1: '附加到国富人寿国富民惠医疗保险(2020版)最高基本保额不超过1万元。', + msg_2: '住院医疗提示:金额只能是0.5、1', + }, + 320206: { + msg: '住院津贴提示:投保可选责任时,可选责任最低投保 50 元,且应为 10 元的整数倍' + }, + 320207: { + msg: '恶性肿瘤提示:投保可选责任时,可选责任最低投保 50 元,且应为 10 元的整数倍' + } +} const DUTY_DEFAULT_MUTIPLE = 1000 const DUTY_DEFAULT_MIN = 10000 @@ -377,7 +400,7 @@ export default { if (localStorage.saleInsuredInfo) { this.saleInsuredInfo = JSON.parse(localStorage.saleInsuredInfo) } - //获取被保人信息 + //获取被保险人信息 if (localStorage.saleInsuredPersonInfo) { this.saleInsuredPersonInfo = JSON.parse(localStorage.saleInsuredPersonInfo) } @@ -407,54 +430,48 @@ export default { // } // }) // } - //保存险种编号 - this.mainRiskCode = item.mainRiskCode + //保存主险险种编号 + if (item.isMainRisk == 0) { + this.mainRiskCode = item.mainRiskCode + } }) + if(this.mainRiskCode == 'GFRS_M0005'){ + this.chooseProducts.map(item => { + if(item.productCode == 'GFRS_A0004'){ + item.calFactorLst.map( item2 => { + if(item2.code == 'dutyGroup'){ + item2.rules.map(item3 => { + console.log(item3); + if(item3.duty == '320205'){ + item3.maxDutyAmt = "1" + } + }) + } + }) + } + }) + } //GFRS_M0016需要展示免赔额和赔付比例,并需要根据是否有社保调整数值 // let mainRiskCode = chooseProducts[0].mainRiskCode - this.chooseProducts.map(item => { - if (item.mainRiskCode === 'GFRS_M0016') { - const orderNo = localStorage.getItem('orderNo') - let detailPromise = this.isFrom === 'proposal' ? new Promise(r => r(localStorage.getItem('proposalMedical'))) : getOrderDetail({ orderNo }) - detailPromise.then(res => { - let isMedical = null - if (this.isFrom === 'proposal') { - isMedical = res === '1' - } else { - isMedical = res.orderDTO.insuredDTOs[0].medical === '0' - } - //根据社保写死两个字段 赔付比例和免赔额 - item.calFactorLst.map(i => { - //免赔额 - if (i.code === 'getLimit') { - const text = isMedical ? '0元(意外医疗)' : '100元(意外医疗)' - const value = isMedical ? '0' : '100' - - //保存数据 - this.medicalInfo = this.medicalInfo || {} - this.medicalInfo.getLimit = text - - i.showContent = text - i.getLimit = value - i.columns = [{ text, value }] - } - //赔付比例 - if (i.code === 'getRate') { - const text = isMedical ? '80%(意外医疗)' : '70%(意外医疗)' - const value = isMedical ? '0.8' : '0.7' - - //保存数据 - this.medicalInfo = this.medicalInfo || {} - this.medicalInfo.getRate = text - - i.showContent = text - i.getRate = value - i.columns = [{ text, value }] - } - }) - this.$forceUpdate() + // eslint-disable-next-line no-unused-vars + this.dogetLimitAndGetRate().then(res => { + if (this.chooseProducts[0].influences && this.chooseProducts[0].influences.length > 0) { + this.influences = this.chooseProducts[0].influences + this.chooseProducts[0].influences.forEach(item => { + this.influenceAddRiskCodes.push(item.productCode) }) - } else { + } + this.mainRiskInfluenceAddRisk() + //初始化数据试算 + this.getTrial() + }) + }, + //特殊处理 GFRS_M0016 GFRS_A0004 GFRS_A0005 赔付比例处理 + async dogetLimitAndGetRate() { + const orderNo = localStorage.getItem('orderNo') + let detailPromise = this.isFrom === 'proposal' ? localStorage.proposalMedical : await getOrderDetail({ orderNo }) + this.chooseProducts.map(item => { + if (!(item.mainRiskCode === 'GFRS_M0016' || item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0005')) { //其他产品删掉两个字段 let calFactorLst = item.calFactorLst for (let i = calFactorLst.length - 1; i >= 0; i--) { @@ -463,42 +480,68 @@ export default { calFactorLst.splice(i, 1) } } + return + } + if (item.mainRiskCode === 'GFRS_M0016' || item.productCode === 'GFRS_A0004' || item.productCode === 'GFRS_A0005' ) { + let isMedical = null + if (this.isFrom === 'proposal') { + isMedical = detailPromise == '1' + } else { + isMedical = detailPromise.orderDTO.insuredDTOs[0].medical == '0' + } + // 赔付比例和免赔额 + item.calFactorLst.map(i => { + if (i.code === 'getLimit') { + let tempColumns = i.columns.filter(itemC => { + return itemC.medical == Math.abs(isMedical - 1).toString() + }) + if (tempColumns.length !== 0) { + i.columns = tempColumns + } + i.getLimit = i.columns[0].value + i.showContent = i.columns[0].text + } + //赔付比例 + if (i.code === 'getRate') { + let tempColumns = i.columns.filter(itemC => { + return itemC.medical == Math.abs(isMedical - 1).toString() + }) + if (tempColumns.length !== 0) { + i.columns = tempColumns + } + i.getRate = i.columns[0].value + i.showContent = i.columns[0].text + } + }) + this.$forceUpdate() + } else if(item.productCode === 'GFRS_A0005'){ + // GFRS_A0005 未处理 } }) - - // this.influenceAddRiskCodes - - if (this.chooseProducts[0].influences && this.chooseProducts[0].influences.length > 0) { - this.influences = this.chooseProducts[0].influences - this.chooseProducts[0].influences.forEach(item => { - this.influenceAddRiskCodes.push(item.productCode) - }) - } - - this.mainRiskInfluenceAddRisk() - //初始化数据试算 - this.getTrial() }, // 责任保额份数变化 dutyStepperChange(value, productIndex, calFactorIndex, dutyItemIndex, isChecked, min, max) { //这个险种使用其他验证方式 - if (this.mainRiskCode === 'GFRS_M0016') return + if (this.chooseProducts[productIndex].productCode === 'GFRS_M0016') return + // 004险种其他验证方式 + if (this.chooseProducts[productIndex].productCode === 'GFRS_A0004') return if (this.chooseProducts[productIndex].productCode === 'GFRS_A0003') { this.getTrial() return } let currentEle = this.chooseProducts[productIndex].calFactorLst[calFactorIndex].rules[dutyItemIndex] + let showHint = this.chooseProducts[productIndex].hint if (value < min || value > max) { - this.$toast(localStorage.hint) + this.$toast(showHint) } else { if ((Number(value) * 10000) % (Number(currentEle.limit) * 10000) != 0) { Dialog.alert({ - message: localStorage.hint + message: showHint }).then(() => { currentEle.defaultDutyAmt = currentEle.minDutyAmt }) - // this.$toast(localStorage.hint) + // this.$toast(showHint) } else { // this.mainRiskInfluenceAddRisk() // currentEle['amt'] = Number(defalutValue) * Number(currentEle.moneyUnit) @@ -593,15 +636,20 @@ export default { ].rules[dutyItemIndex]['necess'] return false } - this.valiAndSend(dutyItem) + this.valiAndSend(dutyItem, productIndex) }, - valiAndSend(dutyItem) { + valiAndSend(dutyItem, productIndex) { //验证责任 + let validateRiskCode = this.chooseProducts[productIndex].productCode + let showHint = this.chooseProducts[productIndex].hint let inputValue = dutyItem.defaultDutyAmt, duty = dutyItem.duty - if (this.mainRiskCode === 'GFRS_M0016' && !this.valiDuty(inputValue, duty)) { + if (validateRiskCode === 'GFRS_M0016' && !this.valiDuty(inputValue, duty)) { //验证不通过 return + } else if (validateRiskCode === 'GFRS_A0004' && !this.valiA0004Duty(inputValue, showHint, dutyItem)) { + //验证不通过 险种为GFRS_A0004 责任编码为320205 + return } else { this.mainRiskInfluenceAddRisk() this.getTrial() @@ -611,13 +659,13 @@ export default { focusStep() { this.nextStepFlag = true }, - blurStep(dutyItem) { + blurStep(dutyItem, productIndex) { this.nextStepFlag = false //失去焦点时做验证 if (dutyItem.necess) { //勾选时才做验证 - this.valiAndSend(dutyItem) + this.valiAndSend(dutyItem, productIndex) } }, //险种GFRS_M0016的责任的验证规则 @@ -637,6 +685,50 @@ export default { } } }, + //险种 GFRS_A0004 险种验证规则 + valiA0004Duty(value, showHint, currentEle) { + /* if (!(currentEle.necess == true)) { + this.nextStepFlag = false + return true + }*/ + // 验证其他 最小50 其他为50 10 倍数 + if (currentEle.duty == '320206' || currentEle.duty == '320207') { + let numberValue = Number(value) * 10000 + if (numberValue % 10 != 0 || numberValue < 50) { + this.$toast(dutyGFRS_A0004Rules[currentEle.duty].msg) + this.nextStepFlag = true + return false + } + } + + // 保额只能为5000 10000 15000 200000 + if (currentEle.duty == '320205') { + if (this.mainRiskCode === dutyGFRS_A0004Rules[currentEle.duty]['mainRisk']) { + if (!(value == '0.5' || value == '1')) { + this.$toast(dutyGFRS_A0004Rules[currentEle.duty].msg_2) + this.nextStepFlag = true + return false + } else if(value-0 > 1){ + this.$toast(dutyGFRS_A0004Rules[currentEle.duty].msg_1) + this.nextStepFlag = true + return false + } + } else { + if (!(value == '0.5' || value == '1' || value == '1.5' || value == '2')) { + this.$toast(dutyGFRS_A0004Rules[currentEle.duty].msg) + this.nextStepFlag = true + return false + } + } + + + + this.nextStepFlag = false + return true + } + this.nextStepFlag = false + return true + }, /********start 通用规则、特殊规则处理 start******/ //通用规则1:交费方式为一次交情,无交费期限 hiddenPayEndYear(currentEle) { @@ -676,7 +768,7 @@ export default { let age = Number(this.saleInsuredPersonInfo.age) for (let i = 0; i < currentEle.rules.length; i++) { if (currentEle.rules[i].payEndYear == value && age > currentEle.rules[i].maxAge) { - this.$toast('被保人年龄不适合该交费期间!') + this.$toast('被保险人年龄不适合该交费期间!') return true } } @@ -687,7 +779,7 @@ export default { let age = Number(this.saleInsuredPersonInfo.age) for (let i = 0; i < currentEle.rules.length; i++) { if (currentEle.rules[i].insuYear == value && age > currentEle.rules[i].maxAge) { - this.$toast('被保人年龄不适合该保险期间!') + this.$toast('被保险人年龄不适合该保险期间!') return true } } @@ -1013,15 +1105,27 @@ export default { // trialInfo.duty = [{ dutyCode: trialInfo.duty }] // } //获取投被保生日、性别 - let birthday, sex + let birthday, sex, occupationCode, occupationName if (item.isRemit == '0' && item.remitType == '0') { - ;[birthday, sex] = [this.saleInsuredInfo.birthday, this.saleInsuredInfo.sex] + ;[birthday, sex, occupationCode, occupationName] = [ + this.saleInsuredInfo.birthday, + this.saleInsuredInfo.sex, + this.saleInsuredInfo.occupationCode, + this.saleInsuredInfo.occupationName + ] } else { - ;[birthday, sex] = [this.saleInsuredPersonInfo.birthday, this.saleInsuredPersonInfo.sex] + ;[birthday, sex, occupationCode, occupationName] = [ + this.saleInsuredPersonInfo.birthday, + this.saleInsuredPersonInfo.sex, + this.saleInsuredPersonInfo.occupationCode, + this.saleInsuredPersonInfo.occupationName + ] } trialInfo = Object.assign(trialInfo, { birthday, sex, + occupationCode, + occupationName, platformType: 'app', productCode: item.productCode, medical: JSON.parse(localStorage.getItem('saleInsuredPersonInfo')).medical @@ -1071,18 +1175,19 @@ export default { : this.chooseProducts[productIndex].calFactorLst[calFactorIndex] //改动原因:孝心保产品有对年龄的特殊要求 //添加判断,是否是孝心保产品 + let showHint = this.chooseProducts[productIndex].hint let productCode = localStorage.trialList == '' ? '' : JSON.parse(localStorage.trialList)[0].productCode if (productCode == 'GFRS_M0014') { - //被保人年龄如果在50-65区间 + //被保险人年龄如果在50-65区间 if (this.saleInsuredPersonInfo.age >= 50 && this.saleInsuredPersonInfo.age <= 65) { //使用rules规则里的第二条控制保额份数 if (Number(defalutValue) < Number(riskFactor.rules[1].minPrem) || Number(defalutValue) > Number(riskFactor.rules[1].maxPrem)) { - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) { // this.defalutAmt = currentEle.rules[productIndex].displayAmount - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { this.mainRiskInfluenceAddRisk() @@ -1090,16 +1195,16 @@ export default { this.getTrial() } } - //被保人年龄如果在66-75之间 + //被保险人年龄如果在66-75之间 } else if (this.saleInsuredPersonInfo.age >= 66 && this.saleInsuredPersonInfo.age <= 75) { //使用rules规则里的第一条控制保额份数 if (Number(defalutValue) < Number(riskFactor.rules[0].minPrem) || Number(defalutValue) > Number(riskFactor.rules[0].maxPrem)) { - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) { // this.defalutAmt = currentEle.rules[productIndex].displayAmount - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { this.mainRiskInfluenceAddRisk() @@ -1144,12 +1249,12 @@ export default { } } else { if (Number(defalutValue) < Number(min) || Number(defalutValue) > Number(max)) { - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { if ((Number(defalutValue) * 10000) % (Number(currentEle.limit) * 10000) != 0) { // defalutValue = currentEle.rules[productIndex].displayAmount - this.$toast(localStorage.hint) + this.$toast(showHint) this.nextStepFlag = true } else { this.mainRiskInfluenceAddRisk() @@ -1181,6 +1286,32 @@ export default { } } + //GFRS_A0004需要验证责任 + for (let m = 0; m < this.chooseProducts.length; m++) { + if (this.chooseProducts[m].productCode == 'GFRS_A0004') { + let showHint = this.chooseProducts[m].hint + let calFactorLst = this.chooseProducts[m].calFactorLst + for (let i = 0; i < calFactorLst.length; i++) { + if (calFactorLst[i].code === 'dutyGroup') { + let duties = calFactorLst[i].rules + for (let j = 0; j < duties.length; j++) { + let item = duties[j] + if (!this.valiA0004Duty(item.defaultDutyAmt, showHint, item)) { + return + } + } + } + } + } + } + // 验证格式 + if (this.isRelated && this.isFrom != 'proposal' && this.policyNo) { + let vl = /^[0-9\\]+$/.test(this.policyNo) + if (!vl) { + return this.$toast('关联保单的格式不正确') + } + } + //组装险种提交数据 let [mainRiskCode, riskDTOLst] = ['', []] let rollInResult = '' //校验预计转入保费结果 @@ -1276,6 +1407,10 @@ export default { } if (resultData.result == 0) { + //电投 + if (localStorage.isFrom == 'sale' && resultData.deleteFlag == '0') { + localStorage.salePageFlag = '4' + } //建议书 if (localStorage.isFrom == 'proposal' && resultData.content.id) { this.saleInsuredPersonInfo.insuredId = resultData.content.id diff --git a/src/views/ebiz/common/MainRiskList.vue b/src/views/ebiz/common/MainRiskList.vue index c9600dd64..9306cedb1 100644 --- a/src/views/ebiz/common/MainRiskList.vue +++ b/src/views/ebiz/common/MainRiskList.vue @@ -134,7 +134,7 @@ export default { return } } else { - //校验主合同被保人寿险职业等级 + //校验主合同被保险人寿险职业等级 if (riskRules.lifeGradeLimit(resultData, this)) { return } @@ -156,6 +156,7 @@ export default { calFactorLst, hasAddtionRisk, isMainRisk: 0, + hint: resultData.hint, riskType: resultData.riskType, riskName: this.result.riskName, productCode: this.result.riskProductCode, @@ -171,6 +172,7 @@ export default { calFactorLst, hasAddtionRisk, isMainRisk: 0, + hint: resultData.hint, riskType: resultData.riskType, riskName: this.result.riskName, productCode: this.result.riskProductCode, @@ -219,7 +221,11 @@ export default { item[item.code] = factor[item.code] } } - item.columns.push({ text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'] }) + let itemColumns = { text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'] } + if (factor.medical !== undefined) { + itemColumns.medical = factor.medical + } + item.columns.push(itemColumns) }) } else if (item.type == 1) { //按年龄选择 diff --git a/src/views/ebiz/common/SelectedProduct.vue b/src/views/ebiz/common/SelectedProduct.vue index c8fdd1bac..8c7f34cc2 100644 --- a/src/views/ebiz/common/SelectedProduct.vue +++ b/src/views/ebiz/common/SelectedProduct.vue @@ -179,7 +179,7 @@ export default { this.isShow = true }) .catch(() => { - this.$toast('删除失败!') + /*this.$toast('删除失败!')*/ }) }, async delProduct(index) { diff --git a/src/views/ebiz/common/risk-rules.js b/src/views/ebiz/common/risk-rules.js index d0b68a99b..a7c71d399 100644 --- a/src/views/ebiz/common/risk-rules.js +++ b/src/views/ebiz/common/risk-rules.js @@ -1,5 +1,5 @@ export default { - //投、被保人年龄对险种的限制 + //投、被保险人年龄对险种的限制 ageLimit(resultData, vm, isApplicant) { let age, tips if (isApplicant) { @@ -7,7 +7,7 @@ export default { tips = '投保人年龄不适合此款险种,请选择其他险种!' } else { age = this.getSaleInsuredPersonInfo().age - tips = '被保人年龄不适合此款险种,请选择其他险种!' + tips = '被保险人年龄不适合此款险种,请选择其他险种!' } let minAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.minAge let maxAge = resultData.productTrialInfoDTO.ageRange && resultData.productTrialInfoDTO.ageRange.maxAge; @@ -24,7 +24,7 @@ export default { let socialInsurance = resultData.productInsuredDTO.socialInsurance if (socialInsurance == 0) return false if (currentMedical != socialInsurance) { - vm.$toast('被保人社保情况不适合此款险种,请选择其他险种!') + vm.$toast('被保险人社保情况不适合此款险种,请选择其他险种!') return true } return false @@ -62,7 +62,7 @@ export default { } return false }, - //获取被保人信息 + //获取被保险人信息 getSaleInsuredPersonInfo() { return localStorage.saleInsuredPersonInfo && JSON.parse(localStorage.saleInsuredPersonInfo) }, diff --git a/src/views/ebiz/manpower/ActiveManagement.vue b/src/views/ebiz/manpower/ActiveManagement.vue new file mode 100644 index 000000000..299e725d2 --- /dev/null +++ b/src/views/ebiz/manpower/ActiveManagement.vue @@ -0,0 +1,229 @@ + + + + diff --git a/src/views/ebiz/manpower/IncreaseStaffTools.vue b/src/views/ebiz/manpower/IncreaseStaffTools.vue new file mode 100644 index 000000000..41676948c --- /dev/null +++ b/src/views/ebiz/manpower/IncreaseStaffTools.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/views/ebiz/manpower/Navigation.vue b/src/views/ebiz/manpower/Navigation.vue new file mode 100644 index 000000000..202634ccb --- /dev/null +++ b/src/views/ebiz/manpower/Navigation.vue @@ -0,0 +1,52 @@ + + + + diff --git a/src/views/ebiz/manpower/PersonalCenter.vue b/src/views/ebiz/manpower/PersonalCenter.vue new file mode 100644 index 000000000..9d112876b --- /dev/null +++ b/src/views/ebiz/manpower/PersonalCenter.vue @@ -0,0 +1,198 @@ + + + + + diff --git a/src/views/ebiz/manpower/Training.vue b/src/views/ebiz/manpower/Training.vue new file mode 100644 index 000000000..37f68d591 --- /dev/null +++ b/src/views/ebiz/manpower/Training.vue @@ -0,0 +1,64 @@ + + + + diff --git a/src/views/ebiz/manpower/activityLog/Edit.vue b/src/views/ebiz/manpower/activityLog/Edit.vue new file mode 100644 index 000000000..891edf84c --- /dev/null +++ b/src/views/ebiz/manpower/activityLog/Edit.vue @@ -0,0 +1,255 @@ + + + + diff --git a/src/views/ebiz/manpower/activityLog/List.vue b/src/views/ebiz/manpower/activityLog/List.vue new file mode 100644 index 000000000..9379e147a --- /dev/null +++ b/src/views/ebiz/manpower/activityLog/List.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/views/ebiz/manpower/discAnalysis/List.vue b/src/views/ebiz/manpower/discAnalysis/List.vue new file mode 100644 index 000000000..8b38c3822 --- /dev/null +++ b/src/views/ebiz/manpower/discAnalysis/List.vue @@ -0,0 +1,201 @@ + + + + + + diff --git a/src/views/ebiz/manpower/discAnalysis/Question.vue b/src/views/ebiz/manpower/discAnalysis/Question.vue new file mode 100644 index 000000000..2a4eeab27 --- /dev/null +++ b/src/views/ebiz/manpower/discAnalysis/Question.vue @@ -0,0 +1,210 @@ + + + + + + diff --git a/src/views/ebiz/manpower/discAnalysis/Result.vue b/src/views/ebiz/manpower/discAnalysis/Result.vue new file mode 100644 index 000000000..53d93fce3 --- /dev/null +++ b/src/views/ebiz/manpower/discAnalysis/Result.vue @@ -0,0 +1,112 @@ + + + + + + diff --git a/src/views/ebiz/manpower/discAnalysis/Share.vue b/src/views/ebiz/manpower/discAnalysis/Share.vue new file mode 100644 index 000000000..63f5114a1 --- /dev/null +++ b/src/views/ebiz/manpower/discAnalysis/Share.vue @@ -0,0 +1,51 @@ + + + + + + diff --git a/src/views/ebiz/manpower/image/1.png b/src/views/ebiz/manpower/image/1.png new file mode 100644 index 000000000..79b766091 Binary files /dev/null and b/src/views/ebiz/manpower/image/1.png differ diff --git a/src/views/ebiz/manpower/image/10.png b/src/views/ebiz/manpower/image/10.png new file mode 100644 index 000000000..312f741d9 Binary files /dev/null and b/src/views/ebiz/manpower/image/10.png differ diff --git a/src/views/ebiz/manpower/image/11.png b/src/views/ebiz/manpower/image/11.png new file mode 100644 index 000000000..eb8babe68 Binary files /dev/null and b/src/views/ebiz/manpower/image/11.png differ diff --git a/src/views/ebiz/manpower/image/12.png b/src/views/ebiz/manpower/image/12.png new file mode 100644 index 000000000..13f71633a Binary files /dev/null and b/src/views/ebiz/manpower/image/12.png differ diff --git a/src/views/ebiz/manpower/image/13.png b/src/views/ebiz/manpower/image/13.png new file mode 100644 index 000000000..e06f2d787 Binary files /dev/null and b/src/views/ebiz/manpower/image/13.png differ diff --git a/src/views/ebiz/manpower/image/2.png b/src/views/ebiz/manpower/image/2.png new file mode 100644 index 000000000..83839038d Binary files /dev/null and b/src/views/ebiz/manpower/image/2.png differ diff --git a/src/views/ebiz/manpower/image/3.png b/src/views/ebiz/manpower/image/3.png new file mode 100644 index 000000000..e226d8399 Binary files /dev/null and b/src/views/ebiz/manpower/image/3.png differ diff --git a/src/views/ebiz/manpower/image/4.png b/src/views/ebiz/manpower/image/4.png new file mode 100644 index 000000000..9046b7d4d Binary files /dev/null and b/src/views/ebiz/manpower/image/4.png differ diff --git a/src/views/ebiz/manpower/image/5.png b/src/views/ebiz/manpower/image/5.png new file mode 100644 index 000000000..72870bf86 Binary files /dev/null and b/src/views/ebiz/manpower/image/5.png differ diff --git a/src/views/ebiz/manpower/image/6.png b/src/views/ebiz/manpower/image/6.png new file mode 100644 index 000000000..86d440159 Binary files /dev/null and b/src/views/ebiz/manpower/image/6.png differ diff --git a/src/views/ebiz/manpower/image/7.png b/src/views/ebiz/manpower/image/7.png new file mode 100644 index 000000000..a48a82560 Binary files /dev/null and b/src/views/ebiz/manpower/image/7.png differ diff --git a/src/views/ebiz/manpower/image/8.png b/src/views/ebiz/manpower/image/8.png new file mode 100644 index 000000000..62ae4c576 Binary files /dev/null and b/src/views/ebiz/manpower/image/8.png differ diff --git a/src/views/ebiz/manpower/image/9.png b/src/views/ebiz/manpower/image/9.png new file mode 100644 index 000000000..804fd075e Binary files /dev/null and b/src/views/ebiz/manpower/image/9.png differ diff --git a/src/views/ebiz/manpower/increaseStaffTools/CompanyIntroduction.vue b/src/views/ebiz/manpower/increaseStaffTools/CompanyIntroduction.vue new file mode 100644 index 000000000..bad3a4224 --- /dev/null +++ b/src/views/ebiz/manpower/increaseStaffTools/CompanyIntroduction.vue @@ -0,0 +1,150 @@ + + + + diff --git a/src/views/ebiz/manpower/increaseStaffTools/PdfShare.vue b/src/views/ebiz/manpower/increaseStaffTools/PdfShare.vue new file mode 100644 index 000000000..a76b7bfeb --- /dev/null +++ b/src/views/ebiz/manpower/increaseStaffTools/PdfShare.vue @@ -0,0 +1,108 @@ + + + diff --git a/src/views/ebiz/manpower/increaseStaffTools/PolicyOptions.vue b/src/views/ebiz/manpower/increaseStaffTools/PolicyOptions.vue new file mode 100644 index 000000000..709285923 --- /dev/null +++ b/src/views/ebiz/manpower/increaseStaffTools/PolicyOptions.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/views/ebiz/manpower/increaseStaffTools/ProductInformation.vue b/src/views/ebiz/manpower/increaseStaffTools/ProductInformation.vue new file mode 100644 index 000000000..9bd3e6112 --- /dev/null +++ b/src/views/ebiz/manpower/increaseStaffTools/ProductInformation.vue @@ -0,0 +1 @@ + diff --git a/src/views/ebiz/manpower/increaseStaffTools/TrainingSystem.vue b/src/views/ebiz/manpower/increaseStaffTools/TrainingSystem.vue new file mode 100644 index 000000000..ec2840dcc --- /dev/null +++ b/src/views/ebiz/manpower/increaseStaffTools/TrainingSystem.vue @@ -0,0 +1 @@ + diff --git a/src/views/ebiz/manpower/js/verification.js b/src/views/ebiz/manpower/js/verification.js new file mode 100644 index 000000000..19085b31b --- /dev/null +++ b/src/views/ebiz/manpower/js/verification.js @@ -0,0 +1,2 @@ +//验证 +export function demo(par) {} diff --git a/src/views/ebiz/manpower/talentPool/Add.vue b/src/views/ebiz/manpower/talentPool/Add.vue new file mode 100644 index 000000000..3b194bac6 --- /dev/null +++ b/src/views/ebiz/manpower/talentPool/Add.vue @@ -0,0 +1,157 @@ + + + + + + diff --git a/src/views/ebiz/manpower/talentPool/Edit.vue b/src/views/ebiz/manpower/talentPool/Edit.vue new file mode 100644 index 000000000..74b05759c --- /dev/null +++ b/src/views/ebiz/manpower/talentPool/Edit.vue @@ -0,0 +1,170 @@ + + + + + + diff --git a/src/views/ebiz/manpower/talentPool/List.vue b/src/views/ebiz/manpower/talentPool/List.vue new file mode 100644 index 000000000..7224abf9e --- /dev/null +++ b/src/views/ebiz/manpower/talentPool/List.vue @@ -0,0 +1,101 @@ + + + + + + diff --git a/src/views/ebiz/nbs/Base.vue b/src/views/ebiz/nbs/Base.vue new file mode 100644 index 000000000..63da60a9f --- /dev/null +++ b/src/views/ebiz/nbs/Base.vue @@ -0,0 +1,367 @@ + + + diff --git a/src/views/ebiz/nbs/Chart.vue b/src/views/ebiz/nbs/Chart.vue new file mode 100644 index 000000000..056cf5ae1 --- /dev/null +++ b/src/views/ebiz/nbs/Chart.vue @@ -0,0 +1,158 @@ + + + diff --git a/src/views/ebiz/nbs/CrewList.vue b/src/views/ebiz/nbs/CrewList.vue new file mode 100644 index 000000000..6420ad9eb --- /dev/null +++ b/src/views/ebiz/nbs/CrewList.vue @@ -0,0 +1,162 @@ + + + diff --git a/src/views/ebiz/nbs/Detail.vue b/src/views/ebiz/nbs/Detail.vue new file mode 100644 index 000000000..5dcc422b4 --- /dev/null +++ b/src/views/ebiz/nbs/Detail.vue @@ -0,0 +1,201 @@ + + diff --git a/src/views/ebiz/nbs/List.vue b/src/views/ebiz/nbs/List.vue new file mode 100644 index 000000000..890289780 --- /dev/null +++ b/src/views/ebiz/nbs/List.vue @@ -0,0 +1,244 @@ + + + diff --git a/src/views/ebiz/nbs/Nav.vue b/src/views/ebiz/nbs/Nav.vue new file mode 100644 index 000000000..075e3f790 --- /dev/null +++ b/src/views/ebiz/nbs/Nav.vue @@ -0,0 +1,215 @@ + + + diff --git a/src/views/ebiz/nbs/Necessary.vue b/src/views/ebiz/nbs/Necessary.vue new file mode 100644 index 000000000..83d0d63a9 --- /dev/null +++ b/src/views/ebiz/nbs/Necessary.vue @@ -0,0 +1,509 @@ + + + diff --git a/src/views/ebiz/nbs/PDF.vue b/src/views/ebiz/nbs/PDF.vue new file mode 100644 index 000000000..ae9e408fd --- /dev/null +++ b/src/views/ebiz/nbs/PDF.vue @@ -0,0 +1,64 @@ + + diff --git a/src/views/ebiz/nbs/Prepared.vue b/src/views/ebiz/nbs/Prepared.vue new file mode 100644 index 000000000..49213de68 --- /dev/null +++ b/src/views/ebiz/nbs/Prepared.vue @@ -0,0 +1,335 @@ + + + diff --git a/src/views/ebiz/nbs/Result.vue b/src/views/ebiz/nbs/Result.vue new file mode 100644 index 000000000..a994b1b08 --- /dev/null +++ b/src/views/ebiz/nbs/Result.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/views/ebiz/proposal/Appnt.vue b/src/views/ebiz/proposal/Appnt.vue index f9d5d0152..2a3d0ed6a 100644 --- a/src/views/ebiz/proposal/Appnt.vue +++ b/src/views/ebiz/proposal/Appnt.vue @@ -184,7 +184,7 @@ export default { hiddenRight: '1' } }) - let { customerName, customerSex, birthday, customerPhone, age, occupationName, occupationCode, lifeGrade, healthGrade } = data + let { customerName, customerSex, birthday, customerPhone, age, occupationName, occupationCode, lifeGrade, healthGrade, socialSecurity } = data this.appntDTO = { mobile: customerPhone, birthday, @@ -194,7 +194,8 @@ export default { age: age ? age : '', occupationCode, lifeGrade, - healthGrade + healthGrade, + socialSecurity } }, @@ -214,6 +215,9 @@ export default { saveProposal(params).then(res => { if (res.result == '0') { localStorage.orderNo = res.content.orderNo + if(this.appntDTO.socialSecurity){ + localStorage.orderNoSocialSecurity = this.appntDTO.socialSecurity + } this.$jump({ flag: 'h5', extra: { diff --git a/src/views/ebiz/proposal/CaluePDF.vue b/src/views/ebiz/proposal/CaluePDF.vue new file mode 100644 index 000000000..93bfed4ca --- /dev/null +++ b/src/views/ebiz/proposal/CaluePDF.vue @@ -0,0 +1,58 @@ + + diff --git a/src/views/ebiz/proposal/ChooseInsuredPerson.vue b/src/views/ebiz/proposal/ChooseInsuredPerson.vue index f7e594cf9..f7dda410c 100644 --- a/src/views/ebiz/proposal/ChooseInsuredPerson.vue +++ b/src/views/ebiz/proposal/ChooseInsuredPerson.vue @@ -133,7 +133,7 @@ export default { } }) if (v.insuredId) { - //判断是否已经添加被保人及险种 + //判断是否已经添加被保险人及险种 v.hasRisk = true } this.persons.forEach(p => { @@ -183,7 +183,7 @@ export default { } }) if (result) { - return Toast.fail('请填写被保人信息') + return Toast.fail('请填写被保险人信息') } if (!hasRisk) { return Toast.fail('请选择保险产品信息') @@ -205,17 +205,17 @@ export default { this.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/proposal/exhibition' + url: location.origin + '/#/proposal/proposalInfo' }, routerInfo: { - path: '/proposal/exhibition' + path: '/proposal/proposalInfo' } }) } }) }, - //从页头选择被保人 + //从页头选择被保险人 handleChoose(item) { console.log(item) if (!item.check) { @@ -229,7 +229,7 @@ export default { Dialog.confirm({ className: 'dialog-delete', title: '提示', - message: '确认删除该被保人?', + message: '确认删除该被保险人?', cancelButtonColor: '#E9332E', confirmButtonColor: '#FFFFFF' }) @@ -276,7 +276,7 @@ export default { Dialog.confirm({ className: 'dialog-delete', title: '提示', - message: '确认删除该被保人?', + message: '确认删除该被保险人?', cancelButtonColor: '#E9332E', confirmButtonColor: '#FFFFFF' }) @@ -324,7 +324,7 @@ export default { relationToAppnt: person.relation, relationName: person.relationName } - localStorage.saleInsuredPersonInfo = JSON.stringify(saleInsuredPersonInfo) //存储被保人信息 + localStorage.saleInsuredPersonInfo = JSON.stringify(saleInsuredPersonInfo) //存储被保险人信息 localStorage.chooseProductCodes = '' //置空所选险种 this.$jump({ @@ -341,7 +341,7 @@ export default { edit(item) { item.birthday = item.birthdayLabel item.age = item.insuredAge - localStorage.saleInsuredPersonInfo = JSON.stringify(item) //存储被保人信息 + localStorage.saleInsuredPersonInfo = JSON.stringify(item) //存储被保险人信息 localStorage.isFrom = 'proposal' this.$jump({ flag: 'h5', @@ -353,7 +353,7 @@ export default { } }) }, - //添加被保险人 添加一个没有险种的被保人 + //添加被保险人 添加一个没有险种的被保险人 addPerson(item) { let code = item.code let persons = this.persons diff --git a/src/views/ebiz/proposal/Exhibition.vue b/src/views/ebiz/proposal/Exhibition.vue index 30c254111..ad5609f94 100644 --- a/src/views/ebiz/proposal/Exhibition.vue +++ b/src/views/ebiz/proposal/Exhibition.vue @@ -204,7 +204,7 @@ export default { // 折叠面板 activeNames: [], appntDTO: {}, //投保人信息 - insuredDTOs: [{}], //被保人信息 + insuredDTOs: [{}], //被保险人信息 isWeixin, agent: { //代理人信息 @@ -223,18 +223,22 @@ export default { mounted() { localStorage.setItem('pdfShareCode', '') document.body.style.backgroundColor = '#fff' - setTimeout(() => { - // 右上角的显示 - window.EWebBridge.webCallAppInJs('webview_right_button', { - btns: [ - { - img: this.$assetsUrl + 'images/share@3x.png' - } - ] - }) - }, 1000) - window['appCallBack'] = this.appCallBack - this.init() + if (this.isWeixin) { + this.init() + }else { + setTimeout(() => { + // 右上角的显示 + window.EWebBridge.webCallAppInJs('webview_right_button', { + btns: [ + { + img: this.$assetsUrl + 'images/share@3x.png' + } + ] + }) + }, 1000) + window['appCallBack'] = this.appCallBack + this.init() + } }, beforeRouteLeave(to, from, next) { document.body.style.backgroundColor = '' @@ -298,6 +302,7 @@ export default { }, //app回调 appCallBack(data) { + let that = this if (data.trigger == 'right_button_click') { EWebBridge.webCallAppInJs('bridge', { flag: 'share', @@ -306,13 +311,13 @@ export default { content: '国富为您量身定制的保险产品,请查收', url: location.origin + - '/#/proposal/exhibition?proposalNo=' + + '/#/proposal/proposalInfo?proposalNo=' + encodeURI(localStorage.orderNo) + '&token=' + encodeURI(localStorage.token) + '&mainRiskCodes=' + encodeURI(JSON.stringify(localStorage.mainRiskCodes)), - // url: 'http://47.96.143.111/#/proposal/exhibition?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token, + // url: 'http://47.96.143.111/#/proposal/proposalInfo?proposalNo=' + localStorage.orderNo + '&token=' + localStorage.token, img: this.$assetsUrl + 'images/logo.png' } }) diff --git a/src/views/ebiz/proposal/InsuredPerson.vue b/src/views/ebiz/proposal/InsuredPerson.vue index 371cdf4f8..d7042aef6 100644 --- a/src/views/ebiz/proposal/InsuredPerson.vue +++ b/src/views/ebiz/proposal/InsuredPerson.vue @@ -9,7 +9,7 @@ @nameChange="nameChange" @on-choose="chooseCustomer" v-validate="'required'" - name="被保人" + name="被保险人" required :readonly="disabled" label="姓名" @@ -48,15 +48,23 @@ label="职业" name="职业" v-validate="'required'" - placeholder="被保人职业" + placeholder="被保险人职业" />
    - +
    - + - + 下一步
    @@ -96,7 +104,7 @@ export default { value: '1' } ], - currentTime: beforeDate.getBeforeDays(27), + currentTime: beforeDate.getBeforeDays(28), insured: { name: '', age: '', @@ -116,7 +124,7 @@ export default { occupationShowPicker: false, currentPopupIndex: '', disabled: false, - ageShow: '' //被保人显示年龄 + ageShow: '' //被保险人显示年龄 } }, @@ -143,15 +151,15 @@ export default { this.insured.relationToAppnt = relationToAppnt this.insured.relationLabel = relationName if (this.insured.relationToAppnt == '1') { - //如果是投被同人 就将投保人信息存入被保人信息 + //如果是投被同人 就将投保人信息存入被保险人信息 this.disabled = true this.insured = Object.assign(this.insured, JSON.parse(localStorage.proposalAppnt)) this.insured.age = getAge.getAge(this.insured.birthday, new Date()) - this.insured.medical = '0' + this.insured.medical = localStorage.orderNoSocialSecurity === '1' ? '1' : '0' } this.ageShow = this.insured.age == '-1' ? '0' : this.insured.age }, - //设置被保人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值 + //设置被保险人年龄显示 如果this.insured.age为 -1时显示为空,不为1时显示为正常输入值 changeAgeInput(val) { // this.ageShow = val == '-1' ? '0' : val this.insured.age = val @@ -195,7 +203,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) @@ -209,7 +217,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) @@ -225,8 +233,9 @@ export default { //点击下一步 nextStep() { //保存有没有社保,在保费计算用到 - localStorage.setItem('proposalMedical', this.insured.medical === '0' ? '1' : '0') + //localStorage.setItem('proposalMedical', this.insured.medical == '0' ? '1' : '0') + localStorage.proposalMedical = this.insured.medical == '0' ? '1' : '0' this.insured.age = String(this.insured.age) let cacheSex = JSON.parse(localStorage.proposalAppnt).sex let localSex = this.insured.sex @@ -234,7 +243,7 @@ export default { let resultSex = checkSex(cacheSex, localSex, relation) let resultRelation = checkRelation(relation, this.insured.age) if (!resultSex) { - return Toast.fail('被保人性别有误') + return Toast.fail('被保险人性别有误') } if (!resultRelation) { return Toast.fail('0-7岁未成年人须由其父母投保') @@ -323,7 +332,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) diff --git a/src/views/ebiz/proposal/List.vue b/src/views/ebiz/proposal/List.vue index cf362a18d..d270f7fc3 100644 --- a/src/views/ebiz/proposal/List.vue +++ b/src/views/ebiz/proposal/List.vue @@ -215,7 +215,7 @@ export default { }, //编辑 edit(item) { - //建议书列表 编辑=》制作中的建议书跳转到选择被保人页面; + //建议书列表 编辑=》制作中的建议书跳转到选择被保险人页面; localStorage.orderNo = item.orderInfoDTO.orderNo this.$jump({ flag: 'h5', @@ -237,10 +237,10 @@ export default { this.$jump({ flag: 'h5', extra: { - url: location.origin + '/#/proposal/Exhibition' + url: location.origin + '/#/proposal/proposalInfo' }, routerInfo: { - path: '/proposal/Exhibition' + path: '/proposal/proposalInfo' } }) }, diff --git a/src/views/ebiz/proposal/ProposalInfo.vue b/src/views/ebiz/proposal/ProposalInfo.vue new file mode 100644 index 000000000..3c763a7b3 --- /dev/null +++ b/src/views/ebiz/proposal/ProposalInfo.vue @@ -0,0 +1,1249 @@ + + + + + diff --git a/src/views/ebiz/proposal/js/exhibitionMethod.js b/src/views/ebiz/proposal/js/exhibitionMethod.js index b26261364..e48d5460c 100644 --- a/src/views/ebiz/proposal/js/exhibitionMethod.js +++ b/src/views/ebiz/proposal/js/exhibitionMethod.js @@ -43,7 +43,7 @@ export function formLabel(label, key) { return result } -//将被保人与利益演示相关联 +//将被保险人与利益演示相关联 export function relevance(insured, insuredLabelResult, insuredResult, insuredInfoResult, amtFormat, dutyLst) { insured.forEach(insure => { insure.productFeatures = '' @@ -112,3 +112,62 @@ export function relevance(insured, insuredLabelResult, insuredResult, insuredInf }) return insured } + +//将被保人与利益演示相关联(被保人维度) +export function relevanceByInsure(insured, insuredLabelResult, insuredResult, 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 = [ + { + label: '低档' + currentInsuredInfo.L, + value: 'L' + }, + { + label: '中档' + currentInsuredInfo.M, + value: 'M' + }, + { + 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 +} diff --git a/src/views/ebiz/proposal/rule.js b/src/views/ebiz/proposal/rule.js index df6562b60..36475c70b 100644 --- a/src/views/ebiz/proposal/rule.js +++ b/src/views/ebiz/proposal/rule.js @@ -1,5 +1,5 @@ export function checkSex(cacheSex, localSex, relation) { - //当关系为配偶时 被保人性别必须与投保人性别不一致 + //当关系为配偶时 被保险人性别必须与投保人性别不一致 if (relation == '2' && localSex == cacheSex) { return false } else { @@ -7,7 +7,7 @@ export function checkSex(cacheSex, localSex, relation) { } } export function checkRelation(relation, age) { - //当被保人年龄小于8岁 被保人与投保人关系必须为父母 + //当被保险人年龄小于8岁 被保险人与投保人关系必须为父母 if (age < 8 && relation != '4') { return false } else { diff --git a/src/views/ebiz/sale/AccountInformation.vue b/src/views/ebiz/sale/AccountInformation.vue index 0bcbee672..dd408b11e 100644 --- a/src/views/ebiz/sale/AccountInformation.vue +++ b/src/views/ebiz/sale/AccountInformation.vue @@ -4,7 +4,7 @@ {{ `投保人:${saleInsuredInfo.name}` }}
    @@ -110,7 +110,7 @@ import BankCardScan from '@/components/ebiz/sale/BankCardScan' export default { data() { return { - // 选中后传给后端的投保人或者被保人名字 + // 选中后传给后端的投保人或者被保险人名字 name: '', // 开户银行 bank: '', @@ -118,7 +118,7 @@ export default { checked: false, // 自动续保 isChecked: false, - // 投被保人是否同一个 + // 投被保险人是否同一个 relationToAppnt: '', // 银行卡号 bankId: '', @@ -126,7 +126,7 @@ export default { radio: '0', // 银行列表弹框 show: false, - // 被保人信息 + // 被保险人信息 saleInsuredPersonInfo: {}, // 投保人信息 saleInsuredInfo: {}, @@ -398,7 +398,7 @@ export default { if (res.result == 0) { //如果是从编辑进来的 if (this.$route.query.edit) { - //投被保人关系 + //投被保险人关系 this.relationToAppnt = res.orderDTO.insuredDTOs[0].relationToAppnt this.$utils.intLocalStorage(res) @@ -417,10 +417,10 @@ export default { let that = this - // 获取投被保人是否同一个人 + // 获取投被保险人是否同一个人 if (localStorage.saleInsuredPersonInfo) { that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt - // 获取被保人信息 + // 获取被保险人信息 that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')) } if (localStorage.saleInsuredInfo) { diff --git a/src/views/ebiz/sale/AddBeneficiaryInfo.vue b/src/views/ebiz/sale/AddBeneficiaryInfo.vue index 3229d01ba..d2ca00d67 100644 --- a/src/views/ebiz/sale/AddBeneficiaryInfo.vue +++ b/src/views/ebiz/sale/AddBeneficiaryInfo.vue @@ -6,8 +6,8 @@ v-model="relationToAppnt" required readonly - label="是被保人的" - name="是被保人的" + label="是被保险人的" + name="是被保险人的" right-icon="arrow" placeholder="请选择" v-validate="'required'" @@ -287,7 +287,7 @@ export default { bnfOrder: '1', //受益顺序 bnfLot: '', //受益比例 bnfFlag: '', - relationToInsured: '', //和被保人的关系 + relationToInsured: '', //和被保险人的关系 lifeGrade: '', healthGrade: '', bnfType: '0' //身故受益人 @@ -321,7 +321,7 @@ export default { this.userInfo.name = name }, selectClick(index) { - // 同被保人不允许编辑 + // 同被保险人不允许编辑 if (this.isInsured) { return } @@ -393,7 +393,7 @@ export default { }, //弹框选择 toSelect(pickerType, valueKey) { - //同被保人不允许编辑 + //同被保险人不允许编辑 if (this.isInsured) { return } @@ -451,13 +451,13 @@ export default { } else if (this.pickerType == '6') { ;[this.userInfo.marriage, this.marriage] = [value.id, value.text] } else if (this.pickerType == '7') { - // //如果受益人是被保人本人 + // //如果受益人是被保险人本人 // if (value.id == 1) { // //获取投保人数据 // getOrderDetail({ orderNo: localStorage.orderNo }).then(res => { // if (res.result == 0) { // this.isInsured = true - // //获取被保人信息 + // //获取被保险人信息 // let insuredInfo = res.orderDTO.insuredDTOs[0] // for (let key in this.userInfo) { // this.userInfo[key] = insuredInfo[key] @@ -642,13 +642,13 @@ export default { let age = utilsAge.getAge(this.userInfo.birthday, new Date()) let relationToAppnt = localStorage.relationToAppnt let insuredDetail = JSON.parse(localStorage.insuredDetail) - // //被保人不是已婚 + // //被保险人不是已婚 // if (this.insuredMarriage != '1') { // return this.$toast('与投保人关系不正确') // } // let insuredSex = JSON.parse(localStorage.saleInsuredPersonInfo).sex // let appntSex = JSON.parse(localStorage.saleInsuredInfo).sex - // //投被保人性别相同 + // //投被保险人性别相同 // if (insuredSex == appntSex) { // return this.$toast('性别输入有误') // } @@ -657,21 +657,21 @@ export default { let valid = await this.$validator.validate() // .then(valid => { if (true === valid) { - // 受益人是被保人的配偶 + // 受益人是被保险人的配偶 if (this.userInfo.relationToInsured == '2') { - // 受益人与投保人都是被保人的配偶时 + // 受益人与投保人都是被保险人的配偶时 if (this.userInfo.relationToInsured == '2' && relationToAppnt == '2') { if (this.userInfo.name != insuredDetail.name || this.userInfo.sex != insuredDetail.sex || this.userInfo.idNo != insuredDetail.idNo) { return this.$toast('受益人数据不合法,请重新输入') } } - //与被保人关系是配偶 + //与被保险人关系是配偶 let insuredInfo = JSON.parse(localStorage.saleInsuredPersonInfo) //如果投保人不是已婚 if (insuredInfo.marriage != '1') { return this.$toast('亲,受益人与被保险人关系为配偶,被保险人婚姻状况必须为已婚哦~') } - //如果被保人与投保人性别相同 + //如果被保险人与投保人性别相同 if (insuredInfo.sex == this.userInfo.sex) { return this.$toast('额,受益人与被保险人关系为配偶,性别不能相同哦~') } @@ -682,7 +682,7 @@ export default { } } - // 受益人是被保人的父母,被保人是投保人的子女时 + // 受益人是被保险人的父母,被保险人是投保人的子女时 if (this.userInfo.relationToInsured == '3' && relationToAppnt == '4') { if (this.userInfo.sex == insuredDetail.sex) { if (this.userInfo.name != insuredDetail.name || this.userInfo.idNo != insuredDetail.idNo) { diff --git a/src/views/ebiz/sale/AttachmentManagement.vue b/src/views/ebiz/sale/AttachmentManagement.vue index c0aeeb6f2..51f60d03b 100644 --- a/src/views/ebiz/sale/AttachmentManagement.vue +++ b/src/views/ebiz/sale/AttachmentManagement.vue @@ -310,19 +310,19 @@ export default { fileLIstImg: [], // 投保人选择的必选其他 saleInsuredInfoOther: [], - // 被保人选择的必选其他 + // 被保险人选择的必选其他 saleInsuredPersonInfoOther: [], // 银行卡正面 fileListBank: [], //银行卡反面 // fileListBankBack: [], - // 被保人身份证正面 + // 被保险人身份证正面 fileListIdFrontInsured: [], - // 被保人身份证反面 + // 被保险人身份证反面 fileListIdBackInsured: [], - // 被保人银行账户 + // 被保险人银行账户 fileListBankInsured: [], - // 被保人其他类型页面 + // 被保险人其他类型页面 fileLIstImgInsured: [], // 受益人 // fileListtypebeneficiary: [], @@ -337,7 +337,7 @@ export default { isDisabled: true, // 数据字典证件类型 idType: [], - // 被保人信息 + // 被保险人信息 saleInsuredPersonInfo: {}, // 投保人信息 saleInsuredInfo: {}, @@ -348,13 +348,13 @@ export default { // 图片返回数组 imgList: [], type: '', - // 是投保人还是被保人 + // 是投保人还是被保险人 isAppant: '', // 传给后端的list list: [], // 是哪个证件类型 id: '', - // 投保人被保人是否是一个人 1为同一个人 + // 投保人被保险人是否是一个人 1为同一个人 relationToAppnt: '', changeCard: localStorage.changeCard } @@ -365,14 +365,14 @@ export default { getOrderDetail({ orderNo: localStorage.orderNo }).then(res => { // console.log(res) if (res.result == 0) { - //是投保人还是被保人 + //是投保人还是被保险人 localStorage.accountInformationRadio = res.orderDTO.orderAccountDTO.accountType - //投被保人关系 + //投被保险人关系 this.relationToAppnt = res.orderDTO.insuredDTOs[0].relationToAppnt this.$utils.intLocalStorage(res) //投保人信息 // localStorage.saleInsuredInfo = JSON.stringify(res.orderDTO.appntDTO) - //被保人信息 + //被保险人信息 // localStorage.saleInsuredPersonInfo = JSON.stringify(res.orderDTO.insuredDTOs[0]) } else { this.$toast(res.resultMessage) @@ -385,15 +385,15 @@ export default { document.body.style.backgroundColor = '#fff' } let that = this - // 投被保人是否同人 + // 投被保险人是否同人 if (localStorage.saleInsuredPersonInfo) { that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt - // 获取被保人信息 + // 获取被保险人信息 that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')) } // 获取订单号 that.orderNo = window.localStorage.getItem('orderNo') - // 获取是投保人还是被保人 + // 获取是投保人还是被保险人 that.isAppant = window.localStorage.getItem('accountInformationRadio') // 数据字典获取 that.idType = DataDictionary.idType @@ -421,7 +421,7 @@ export default { } else { that.fileListIdFront = [] } - // 被保人身份证正面 + // 被保险人身份证正面 if (window.localStorage.getItem('imgfrontInsuredPath') != null) { let imgfront = { url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${window.localStorage.getItem('imgfrontInsuredPath')}` @@ -457,7 +457,7 @@ export default { } else { that.fileListIdBack = [] } - // 被保人身份证背面 + // 被保险人身份证背面 if (window.localStorage.getItem('imgBackInsuredPath') != null) { let imgback = { url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${window.localStorage.getItem('imgBackInsuredPath')}` @@ -493,7 +493,7 @@ export default { } else { that.fileListBank = [] } - // 被保人银行卡 + // 被保险人银行卡 // if (window.localStorage.getItem('bankCardUrlInsuredPath') != null) { // let bankCardUrlInsured = { // url: config.imgDomain + `/returnImageStream?a=b.jpg&imgPath=${window.localStorage.getItem('bankCardUrlInsuredPath')}` @@ -528,22 +528,30 @@ export default { }).then(() => { if (detail.name == 'fileListIdFront') { this.fileListIdFront = [] + this.deleteImg(file, 'fileListIdFront') } else if (detail.name == 'fileListIdBack') { this.fileListIdBack = [] + this.deleteImg(file, 'fileListIdBack') } else if (detail.name == 'fileLIstImg') { this.fileLIstImg = [] + this.deleteImg(file, 'fileLIstImg') } else if (detail.name == 'fileListBank') { this.fileListBank = [] + this.deleteImg(file, 'fileListBank') // } else if (detail.name == 'fileListBankBack') { // this.fileListBankBack = [] } else if (detail.name == 'fileListIdFrontInsured') { this.fileListIdFrontInsured = [] + this.deleteImg(file, 'fileListIdFrontInsured') } else if (detail.name == 'fileListIdBackInsured') { this.fileListIdBackInsured = [] + this.deleteImg(file, 'fileListIdBackInsured') } else if (detail.name == 'fileListBankInsured') { this.fileListBankInsured = [] + this.deleteImg(file, 'fileListBankInsured') } else if (detail.name == 'fileLIstImgInsured') { this.fileLIstImgInsured = [] + this.deleteImg(file, 'fileLIstImgInsured') // } else if (detail.name == 'fileListOtherOne') { // this.fileListOtherOne = [] // } else if (detail.name == 'fileListOtherTwo') { @@ -552,8 +560,10 @@ export default { // this.fileListOtherThree = [] } else if (detail.name == 'saleInsuredInfoOther') { this.saleInsuredInfoOther = [] + this.deleteImg(file, 'saleInsuredInfoOther') } else if (detail.name == 'saleInsuredPersonInfoOther') { this.saleInsuredPersonInfoOther = [] + this.deleteImg(file, 'saleInsuredPersonInfoOther') // } else if (detail.name == 'fileListtypebeneficiary') { // that.fileListtypebeneficiary.map((item, index, array) => { // if (item.content == file.content) { @@ -563,7 +573,6 @@ export default { // } // }) } - this.deleteImg(file) }) }, test(type, id) { @@ -611,12 +620,15 @@ export default { } }, // 删除图片 - deleteImg(file) { + deleteImg(file, nameList) { let that = this that.list.map((item, index, array) => { - if (item.fileName.indexOf(file.file.name) == -1) { - return - } else { + // if (item.fileName.indexOf(file.file.name) == -1) { + // return + // } else { + // array.splice(index, 1) + // } + if (item.fileName == file.name && nameList == item.name) { array.splice(index, 1) } }) @@ -627,6 +639,7 @@ export default { // 此时可以自行将文件上传至服务器 that.file = file.content that.imgName = Math.floor(Math.random() * 100).toString() + new Date().getTime() + file.file.name //为图片名加随机数 与时间戳 + file.name = that.imgName that.uploadImg() }, @@ -656,8 +669,6 @@ export default { message: '加载中……' }) let formdata = new FormData() - console.log('file-----------------', that.file) - console.log('name-----------------', that.imgName) formdata.append('imgPath', that.dataURLtoFile(that.file, that.imgName)) uploadImg(formdata).then(res => { // console.log(res) @@ -676,6 +687,7 @@ export default { // console.log(that.file) // 证件类型 let imageInfoType = '' + let name = '' // if (that.type == 'fileListIdFront' && that.id == '1') { // imageInfoType = '1' // } else if (that.type == 'fileListIdBack' && that.id == '1') { @@ -699,57 +711,74 @@ export default { // } if (that.type == 'fileListIdFront' && that.id == '1') { //身份证正面 + name = 'fileListIdFront' imageInfoType = '1' } else if (that.type == 'fileListIdBack' && that.id == '1') { //身份证反面 + name = 'fileListIdBack' imageInfoType = '2' } else if (that.type == 'fileListIdFront' && that.id == '2') { //户口本正面 + name = 'fileListIdFront' imageInfoType = '5' } else if (that.type == 'fileListIdBack' && that.id == '2') { //户口本反面 + name = 'fileListIdBack' imageInfoType = '6' } else if (that.type == 'fileListIdFront' && that.id == '3') { //出生证正面 + name = 'fileListIdFront' imageInfoType = '7' } else if (that.type == 'fileListIdBack' && that.id == '3') { //出生证反面 + name = 'fileListIdBack' imageInfoType = '12' } else if (that.type == 'fileLIstImg' && that.id == '4') { //护照面 + name = 'fileLIstImg' imageInfoType = '8' } else if (that.type == 'fileListIdFront' && that.id == '5') { //港澳居民来往内地通行证正面 + name = 'fileListIdFront' imageInfoType = '9' } else if (that.type == 'fileListIdBack' && that.id == '5') { //港澳居民来往内地通行证反面 + name = 'fileListIdBack' imageInfoType = '13' } else if (that.type == 'fileListIdFront' && that.id == '6') { //台湾居民来往大陆通行证正面 + name = 'fileListIdFront' imageInfoType = '10' } else if (that.type == 'fileListIdBack' && that.id == '6') { //台湾居民来往大陆通行证反面 + name = 'fileListIdBack' imageInfoType = '14' } else if (that.type == 'fileListIdFront' && that.id == '8') { //外国人永久居留身份证正面 + name = 'fileListIdFront' imageInfoType = '15' } else if (that.type == 'fileListIdBack' && that.id == '8') { //外国人永久居留身份证反面 + name = 'fileListIdBack' imageInfoType = '16' } else if (that.type == 'fileListIdFront' && that.id == '9') { //港澳台居民居住证正面 + name = 'fileListIdFront' imageInfoType = '17' } else if (that.type == 'fileListIdBack' && that.id == '9') { //港澳台居民居住证反面 + name = 'fileListIdBack' imageInfoType = '18' } else if (that.type == 'fileListBank') { //银行卡正面 + name = 'fileListBank' imageInfoType = '3' // } else if (that.type == 'fileListBankBack') { // //银行卡反面 // imageInfoType = '19' } let obj = { + name: name, businessNo: that.orderNo, businessType: '', imageInfoType: imageInfoType, @@ -759,8 +788,6 @@ export default { subBusinessNo: that.saleInsuredInfo.appntId, fileName: that.imgName } - // window.localStorage.setItem('obj', JSON.stringify(obj)) - // that.list.push(JSON.parse(window.localStorage.getItem('obj'))) that.list.push(obj) } else if ( that.type == 'fileListIdFrontInsured' || @@ -769,44 +796,61 @@ export default { that.type == 'fileLIstImgInsured' || that.type == 'saleInsuredPersonInfoOther' ) { - // 是被保人 + // 是被保险人 // 证件类型 let imageInfoType = '' + let name = '' if (that.type == 'fileListIdFrontInsured' && that.id == '1') { + name = 'fileListIdFrontInsured' imageInfoType = '1' } else if (that.type == 'fileListIdBackInsured' && that.id == '1') { + name = 'fileListIdBackInsured' imageInfoType = '2' } else if (that.type == 'fileListIdFrontInsured' && that.id == '2') { + name = 'fileListIdFrontInsured' imageInfoType = '5' } else if (that.type == 'fileListIdBackInsured' && that.id == '2') { + name = 'fileListIdBackInsured' imageInfoType = '6' } else if (that.type == 'fileListIdFrontInsured' && that.id == '3') { + name = 'fileListIdFrontInsured' imageInfoType = '7' } else if (that.type == 'fileListIdBackInsured' && that.id == '3') { + name = 'fileListIdBackInsured' imageInfoType = '12' } else if (that.type == 'fileLIstImgInsured' && that.id == '4') { + name = 'fileLIstImgInsured' imageInfoType = '8' } else if (that.type == 'fileListIdFrontInsured' && that.id == '5') { + name = 'fileListIdFrontInsured' imageInfoType = '9' } else if (that.type == 'fileListIdBackInsured' && that.id == '5') { + name = 'fileListIdBackInsured' imageInfoType = '13' } else if (that.type == 'fileListIdFrontInsured' && that.id == '6') { + name = 'fileListIdFrontInsured' imageInfoType = '10' } else if (that.type == 'fileListIdBackInsured' && that.id == '6') { + name = 'fileListIdBackInsured' imageInfoType = '14' } else if (that.type == 'fileListIdFrontInsured' && that.id == '8') { + name = 'fileListIdFrontInsured' imageInfoType = '15' } else if (that.type == 'fileListIdBackInsured' && that.id == '8') { + name = 'fileListIdBackInsured' imageInfoType = '16' } else if (that.type == 'fileListIdFrontInsured' && that.id == '9') { + name = 'fileListIdFrontInsured' imageInfoType = '17' } else if (that.type == 'fileListIdBackInsured' && that.id == '9') { + name = 'fileListIdBackInsured' imageInfoType = '18' } let obj = { + name: name, businessNo: that.orderNo, businessType: '', imageInfoType: imageInfoType, @@ -820,9 +864,11 @@ export default { } else if (that.type == 'fileListOther') { // 是其他 let type = '2' + let name = 'fileListOther' let obj = { + name: name, businessNo: that.orderNo, - businessType: '', + businessType: name, imageInfoType: '11', rgssUrl: encodeURI(res.path).replace(/\+/g, '%2B'), subBusinessType: type, @@ -928,6 +974,9 @@ export default { // } // }) // delete that.list.fileName + that.list.map(i => { + delete i.name + }) let data = { orderDTO: { orderInfoDTO: { @@ -983,7 +1032,7 @@ export default { typebeneficiary() { // 1.趸交保费≥20万元或期交保费*总期数≥20万元时, // 2.指定受益人 - // 3.受益人与被保人关系为其他 + // 3.受益人与被保险人关系为其他 if (!window.localStorage.getItem('trialList') == true || !window.localStorage.getItem('beneficiaryInfo') == true) { return false } else { diff --git a/src/views/ebiz/sale/AvoidDutyTip.vue b/src/views/ebiz/sale/AvoidDutyTip.vue index 3abed2846..0bfde8d68 100644 --- a/src/views/ebiz/sale/AvoidDutyTip.vue +++ b/src/views/ebiz/sale/AvoidDutyTip.vue @@ -31,9 +31,9 @@ export default { data() { let isWeixin = this.$utils.device().isWeixin //判断环境 return { - // 投保人还是被保人信息 + // 投保人还是被保险人信息 signVal: '', - // 被保人签名信息 + // 被保险人签名信息 insuredSign: {}, // 投保人签名信息 appntSign: {}, @@ -57,7 +57,7 @@ export default { base64: '', // 是否可以点击 isDisabledComplite: true, - // local带来的被保人信息 + // local带来的被保险人信息 saleInsuredPersonInfo: {}, // local带来的投保人信息 saleInsuredInfo: {}, @@ -90,9 +90,9 @@ export default { } if (this.detailJump != '1') { - // 投被保人是否同人 + // 投被保险人是否同人 that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt - // 获取被保人信息 + // 获取被保险人信息 // that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')) } // if (this.detailJump != '1') { @@ -222,7 +222,7 @@ export default { if (this.detailJump != '1') { if (this.relationToAppnt == '1') { if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签名', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -233,7 +233,7 @@ export default { keyword: '投保人签名', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() @@ -247,7 +247,7 @@ export default { } } else { if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签名', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -258,7 +258,7 @@ export default { keyword: '投保人签名', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() @@ -302,7 +302,7 @@ export default { break } if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签名', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -313,7 +313,7 @@ export default { keyword: '投保人签名', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() diff --git a/src/views/ebiz/sale/Beneficiary.vue b/src/views/ebiz/sale/Beneficiary.vue index 5515be2f0..6208ab739 100644 --- a/src/views/ebiz/sale/Beneficiary.vue +++ b/src/views/ebiz/sale/Beneficiary.vue @@ -33,7 +33,7 @@

    - 是被保人的 + 是被保险人的 {{ item.relationToInsured | idToText('relationToAppnt') }}

    diff --git a/src/views/ebiz/sale/CardScan.vue b/src/views/ebiz/sale/CardScan.vue index c1710d6fe..1c61cc611 100644 --- a/src/views/ebiz/sale/CardScan.vue +++ b/src/views/ebiz/sale/CardScan.vue @@ -25,7 +25,7 @@ export default { src: require('@/assets/images/u6071.png'), // 是否可以点击完成 isDisabled: true, - // 是投保人还是被保人扫描 0是投保人 1是被保人 + // 是投保人还是被保险人扫描 0是投保人 1是被保险人 cardScanningType: '' } }, diff --git a/src/views/ebiz/sale/Detail.vue b/src/views/ebiz/sale/Detail.vue index 024f41697..a0920faec 100644 --- a/src/views/ebiz/sale/Detail.vue +++ b/src/views/ebiz/sale/Detail.vue @@ -20,9 +20,9 @@ - +

    - + @@ -45,7 +45,7 @@
    - + @@ -103,7 +103,7 @@ export default { OrderInfoDTO: {}, // 投保人信息 appntDTO: {}, - // 被保人信息 + // 被保险人信息 insuredDTOs: [], // 保单号 contNo: '', @@ -204,7 +204,7 @@ export default { } }) }) - // 被保人信息 + // 被保险人信息 res.orderDTO.insuredDTOs.map(item => { if (item.sex == '0') { item.sex = '男' diff --git a/src/views/ebiz/sale/DoubleRecordTip.vue b/src/views/ebiz/sale/DoubleRecordTip.vue index f7cc96891..a90e95775 100644 --- a/src/views/ebiz/sale/DoubleRecordTip.vue +++ b/src/views/ebiz/sale/DoubleRecordTip.vue @@ -31,9 +31,9 @@ export default { data() { let isWeixin = this.$utils.device().isWeixin //判断环境 return { - // 投保人还是被保人信息 + // 投保人还是被保险人信息 signVal: '', - // 被保人签名信息 + // 被保险人签名信息 insuredSign: {}, // 投保人签名信息 appntSign: {}, @@ -57,7 +57,7 @@ export default { base64: '', // 是否可以点击 isDisabledComplite: true, - // local带来的被保人信息 + // local带来的被保险人信息 saleInsuredPersonInfo: {}, // local带来的投保人信息 saleInsuredInfo: {}, @@ -90,9 +90,9 @@ export default { } if (this.detailJump != '1') { - // 投被保人是否同人 + // 投被保险人是否同人 that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt - // 获取被保人信息 + // 获取被保险人信息 // that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')) } // if (this.detailJump != '1') { @@ -222,7 +222,7 @@ export default { if (this.detailJump != '1') { if (this.relationToAppnt == '1') { if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签字', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -233,7 +233,7 @@ export default { keyword: '投保人签字', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() @@ -247,7 +247,7 @@ export default { } } else { if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签字', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -258,7 +258,7 @@ export default { keyword: '投保人签字', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() @@ -302,7 +302,7 @@ export default { break } if (this.isWeixin) { - this.toAirSign('0', '签字日期', '-150', '2') + this.toAirSign('0', '投保人签字', '20', '2') } else { EWebBridge.webCallAppInJs('ca_sign', { //身份证号码 @@ -313,7 +313,7 @@ export default { keyword: '投保人签字', pageNo: '1', index: '1', - offset: '-150', + offset: '20', pos: '3' }).then(data => { this.$toast.clear() diff --git a/src/views/ebiz/sale/InsuranceInformation.vue b/src/views/ebiz/sale/InsuranceInformation.vue index a29db4c4d..45f3caf3d 100644 --- a/src/views/ebiz/sale/InsuranceInformation.vue +++ b/src/views/ebiz/sale/InsuranceInformation.vue @@ -99,9 +99,9 @@ export default { data() { let isWeixin = this.$utils.device().isWeixin //判断环境 return { - // 投保人还是被保人信息 + // 投保人还是被保险人信息 signVal: '', - // 被保人签名信息 + // 被保险人签名信息 insuredSign: {}, // 投保人签名信息 appntSign: {}, diff --git a/src/views/ebiz/sale/InsuranceTip.vue b/src/views/ebiz/sale/InsuranceTip.vue index b6edefb5a..9c2afcde3 100644 --- a/src/views/ebiz/sale/InsuranceTip.vue +++ b/src/views/ebiz/sale/InsuranceTip.vue @@ -31,9 +31,9 @@ export default { data() { let isWeixin = this.$utils.device().isWeixin //判断环境 return { - // 投保人还是被保人信息 + // 投保人还是被保险人信息 signVal: '', - // 被保人签名信息 + // 被保险人签名信息 insuredSign: {}, // 投保人签名信息 appntSign: {}, @@ -57,7 +57,7 @@ export default { base64: '', // 是否可以点击 isDisabledComplite: true, - // local带来的被保人信息 + // local带来的被保险人信息 saleInsuredPersonInfo: {}, // local带来的投保人信息 saleInsuredInfo: {}, @@ -90,9 +90,9 @@ export default { } if (this.detailJump != '1') { - // 投被保人是否同人 + // 投被保险人是否同人 that.relationToAppnt = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')).relationToAppnt - // 获取被保人信息 + // 获取被保险人信息 // that.saleInsuredPersonInfo = JSON.parse(window.localStorage.getItem('saleInsuredPersonInfo')) } // if (this.detailJump != '1') { diff --git a/src/views/ebiz/sale/InsuredInfo.vue b/src/views/ebiz/sale/InsuredInfo.vue index 04fc8c6da..1310f704d 100644 --- a/src/views/ebiz/sale/InsuredInfo.vue +++ b/src/views/ebiz/sale/InsuredInfo.vue @@ -1049,7 +1049,7 @@ export default { params.orderDTO.appntDTO = this.userInfo let resultData = await saveOrUpdateOrderInfo(params) if (resultData.result == 0) { - //存储被保人信息 + //存储被保险人信息 // let age = utilsAge.getAge(this.userInfo.birthday, new Date()) // localStorage.saleInsuredInfo = JSON.stringify({ // birthday: this.userInfo.birthday, diff --git a/src/views/ebiz/sale/InsuredPerson.vue b/src/views/ebiz/sale/InsuredPerson.vue index 3622e031f..e245646db 100644 --- a/src/views/ebiz/sale/InsuredPerson.vue +++ b/src/views/ebiz/sale/InsuredPerson.vue @@ -485,7 +485,7 @@ export default { value: '1' } ], - currentTime: beforeDate.getBeforeDays(27), + currentTime: beforeDate.getBeforeDays(28), fromCustomer: false, //是否从客户列表拉取的数据 codeDisabled: false, //获取验证码是否禁用 countDown: 60, //倒计时 @@ -691,7 +691,7 @@ export default { this.userInfo.name = name }, selectClick(index) { - // 投被保人不允许编辑 + // 投被保险人不允许编辑 if (this.isAppnt) { return } @@ -723,7 +723,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) @@ -749,7 +749,7 @@ export default { if (this.isAppnt && pickerType != '7') { return } - //pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、被保人关系 + //pickerType 1、国家地区 2、证件类型 3、文化程度 4、有无社保(弃用) 5、税收居民身份 6、婚姻状况 7、被保险人关系 ;[this.popupShow, this.pickerType] = [true, pickerType] if (valueKey) this.valueKey = valueKey if (pickerType == '1') { @@ -1011,7 +1011,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) @@ -1031,7 +1031,7 @@ export default { this.$jump({ flag: 'navigation', extra: { - title: '被保人信息', + title: '被保险人信息', hiddenRight: '1' } }) @@ -1135,15 +1135,15 @@ export default { return this.$toast('亲,请确认被保险人学历哦~') } - //投被保人关系是配偶 + //投被保险人关系是配偶 if (this.userInfo.relationToAppnt == '2') { - //投保人或者被保人不是已婚 + //投保人或者被保险人不是已婚 if (this.appntMarriage != '1' || this.userInfo.marriage != '1') { return this.$toast('亲,被保险人与投保人关系为配偶,投保人或被保险人婚姻状况必须为已婚哦~') } let insuredSex = this.userInfo.sex let appntSex = JSON.parse(localStorage.saleInsuredInfo).sex - //投被保人性别相同 + //投被保险人性别相同 if (insuredSex == appntSex) { return this.$toast('额~配偶关系性别不能相同哦~') } @@ -1250,7 +1250,7 @@ export default { } //如果是身份证,且未成年,则与投保人关系必须是子女关系 // if(age < 18 && this.userInfo.relationToAppnt != '4'){ - // return this.$toast('被保人小于18周岁,选择身份证时,与投保人关系必须为子女') + // return this.$toast('被保险人小于18周岁,选择身份证时,与投保人关系必须为子女') // } //证件类型是户口本 @@ -1303,7 +1303,7 @@ export default { //如果是已婚 if ((this.userInfo.sex == '0' && age < 22) || (this.userInfo.sex == '1' && age < 20)) { if (this.userInfo.marriage != '2') { - return this.$toast('被保人不符合国家婚姻法定年龄') + return this.$toast('被保险人不符合国家婚姻法定年龄') } } @@ -1369,7 +1369,7 @@ export default { if (chooseProductCodes && chooseProductCodes.length) { //获取险种列表 // let chooseProductCodes = JSON.parse(localStorage.chooseProductCodes) - //取出local中的被保人信息 + //取出local中的被保险人信息 let saleInsuredPersonInfo = JSON.parse(localStorage.saleInsuredPersonInfo) //如果 性别, 出生日期, 有无社保, 职业 发生变化 console.log(this.userInfo, '这是userInfo') @@ -1419,8 +1419,8 @@ export default { params.orderDTO.insuredDTOs = [this.userInfo] let resultData = await saveOrUpdateOrderInfo(params) if (resultData.result == 0) { - //存储被保人信息 - //如果投被保人是同一个人, 更新投保人信息 + //存储被保险人信息 + //如果投被保险人是同一个人, 更新投保人信息 // if (this.userInfo.relationToAppnt == '1') { // localStorage.saleInsuredInfo = JSON.stringify(this.userInfo) // } diff --git a/src/views/ebiz/sale/List.vue b/src/views/ebiz/sale/List.vue index 1d744aad5..e190fb502 100644 --- a/src/views/ebiz/sale/List.vue +++ b/src/views/ebiz/sale/List.vue @@ -1,9 +1,11 @@