From 96f1ad7a3e8ba9ccbefdbb97a3d8db8362cd8663 Mon Sep 17 00:00:00 2001 From: hz Date: Tue, 25 Nov 2025 15:28:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(ebiz):=20=E4=BC=98=E5=8C=96=E6=8A=95?= =?UTF-8?q?=E4=BF=9D=E6=B5=81=E7=A8=8B=E4=B8=8E=E8=81=8C=E4=B8=9A=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 注释掉 initPersonInfo 方法调用,调整初始化逻辑 - 新增 source 为 productDetail 时的字段忽略逻辑,保留默认值 - 更新 InsuredInfo 组件中的 nativeplace 显示与选择逻辑 - 移除有无社保选择组件,注释相关代码 - 增加 van-picker 的 default-index 属性支持默认索引 - 更新导入状态模块 applicant 替代 insured - 修改订单类型为 APPNT_ORDER_NEW 以适配新流程 - 优化婚姻状态监听器,增加 deep 和 immediate 配置 - 在 InsuredPerson 组件中新增“同投保人”地址复选框 - 更新地址选择器默认索引逻辑及条件判断 - 职业选择组件中禁止选择特定职业代码并提示错误 - 设置 isNewPeopleFlag 默认值为 '0' 以确保初始状态正确 --- .../components/CalculatePremium.vue | 21 ++-- .../ebiz/saleFlowProImprove/InsuredInfo.vue | 78 ++++++++---- .../ebiz/saleFlowProImprove/InsuredPerson.vue | 113 +++++++++++------- .../components/Occupation.vue | 18 +-- src/views/ebiz/saleFlowProImprove/js/state.js | 6 +- 5 files changed, 157 insertions(+), 79 deletions(-) diff --git a/src/views/ebiz/productFlowImprove/components/CalculatePremium.vue b/src/views/ebiz/productFlowImprove/components/CalculatePremium.vue index 5a5e6b37e..eea609a45 100644 --- a/src/views/ebiz/productFlowImprove/components/CalculatePremium.vue +++ b/src/views/ebiz/productFlowImprove/components/CalculatePremium.vue @@ -669,7 +669,7 @@ export default { this.branchTypeVal = 'Y' } }) - this.initPersonInfo() + // this.initPersonInfo() this.init() Array.prototype.min = function() { @@ -702,13 +702,18 @@ export default { const { appntDTO, insuredDTOs } = orderDTO const [insuredPersonInfo] = insuredDTOs - Object.assign(this.saleInsuredInfo, appntDTO) - Object.assign(this.saleInsuredPersonInfo, insuredPersonInfo) - - // this.saleInsuredInfo = { ...this.saleInsuredInfo, ...appntDTO } - // setLocItem('saleInsuredInfo', JSON.stringify(agppntDTO)) - // this.saleInsuredPersonInfo = { ...this.saleInsuredPersonInfo, ...insuredPersonInfo } - // setLocItem('saleInsuredPersonInfo', JSON.stringify(insuredPersonInfo)) + // 如果从产品详情进入, 则不校验一些属性内容, 保留默认值 + const defaultKeys = this.$route.query.source === 'productDetail' ? ['isNewPeopleFlag'] : [] + const applicantIgnoreKeys = [...defaultKeys] + for (const key in appntDTO) { + if (applicantIgnoreKeys.includes(key)) continue + this.saleInsuredInfo[key] = appntDTO[key] + } + const insuredIgnoreKeys = [...defaultKeys] + for (const key in insuredPersonInfo) { + if (insuredIgnoreKeys.includes(key)) continue + this.saleInsuredPersonInfo[key] = insuredPersonInfo[key] + } }) // } }, diff --git a/src/views/ebiz/saleFlowProImprove/InsuredInfo.vue b/src/views/ebiz/saleFlowProImprove/InsuredInfo.vue index c9a5b0964..ad41fefbb 100644 --- a/src/views/ebiz/saleFlowProImprove/InsuredInfo.vue +++ b/src/views/ebiz/saleFlowProImprove/InsuredInfo.vue @@ -120,6 +120,8 @@ right-icon="arrow" @click="toSelect('10')" /> + + {{ userInfo.nativeplace }} --> - + + + + + + + + + - + + + + + + + + + + + + +