From 27ad12a765b5aa95c41b92787f2674fef35e61f1 Mon Sep 17 00:00:00 2001 From: halo Date: Thu, 9 Jul 2026 21:25:57 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E9=98=B6=E6=AE=B53=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E8=A1=A5=E5=85=85=E4=BC=81=E4=B8=9A=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E8=82=A1=E4=B8=9C=E9=AB=98=E7=AE=A1=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=80=81=E8=83=BD=E5=8A=9B=E7=BC=BA=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../specs/2026-07-09-phase3-customer-management-design.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/specs/2026-07-09-phase3-customer-management-design.md b/docs/superpowers/specs/2026-07-09-phase3-customer-management-design.md index d041d47..fde4c92 100644 --- a/docs/superpowers/specs/2026-07-09-phase3-customer-management-design.md +++ b/docs/superpowers/specs/2026-07-09-phase3-customer-management-design.md @@ -124,7 +124,7 @@ src/api/customer.js - 营业执照上传:`LicenseUpload.vue` 仅调用 `uploadFileApi` 拿到 `businessLicenseFileNo`,不调用任何 OCR 接口(不存在);上传成功后仅做图片预览,不做字段回显 - 提交创建时固定传 `enableOcr: true`(告知后端可尝试异步识别,不影响前端已填字段,即便后端异步识别有结果也只影响该客户记录的 `ocrStatus` 字段,不会覆盖前端已提交的其它字段——这是基于当前 swagger 无法验证的合理假设,已登记入第7节,后续若后端行为不同以实测调整) - "法定代表人"选择:点击"选择"按钮打开 `PersonalCustomerPicker`,选中后 `legalRepresentativeId` 赋值,同时展示所选人的 `customerName`(选择器组件内部把选中行的展示字段一并 emit 出来,便于表单展示,不需要额外调用 detail 接口) -- "股东高管信息"列表:表格形式,可"添加一行"→ 每行点击"选择个人客户"打开 `PersonalCustomerPicker` → 选中后该行 `individualId` 及只读展示的 `certificateType/certificateNumber/certificateEffectiveDate/certificateExpiryDate`(来自选中行的个人客户列表数据,若列表数据缺失证件生效日字段则追加一次 `detail` 查询补全,因为 `IndividualCustomerListVo` 不含 `certificateEffectiveDate`——需要在实施时确认并处理该字段缺口)→ 用户再选择该行"关联人类型"(股东/高管/受益所有人,下拉,必选)→ 可"删除该行";提交时逐行组装 `enterpriseRelatedPersonBtoList`,`enterpriseId` 在新增场景下留空(后端按当前企业客户上下文关联,若后端要求必填由后端报错驱动调整),编辑场景下回填当前企业客户 `id` +- "股东高管信息"列表(**仅新增模式展示,编辑/详情模式见第7节能力缺口8的替代提示文案**):表格形式,可"添加一行"→ 每行点击"选择个人客户"打开 `PersonalCustomerPicker` → 选中后该行 `individualId` 及只读展示的 `certificateType/certificateNumber/certificateEffectiveDate/certificateExpiryDate`(来自选中行的个人客户列表数据,若列表数据缺失证件生效日字段则追加一次 `detail` 查询补全,因为 `IndividualCustomerListVo` 不含 `certificateEffectiveDate`)→ 用户再选择该行"关联人类型"(股东/高管/受益所有人,下拉,必选)→ 可"删除该行";提交时逐行组装 `enterpriseRelatedPersonBtoList`,`enterpriseId` 留空(后端按当前企业客户上下文关联,若后端要求必填由后端报错驱动调整) ### 4.5 `PersonalCustomerPicker.vue`(个人客户选择弹窗) @@ -160,6 +160,8 @@ src/api/customer.js 5. **`customerCode`(个人客户编号)生成机制不明确**——创建接口不返回编号,创建请求体是否需要前端传值也未标注必填,前端按"不传,交由后端生成"实现 6. **股东高管子表单证件生效日字段来源不确定**——`IndividualCustomerListVo` 缺少 `certificateEffectiveDate`,选择个人客户后可能需要额外一次 `detail` 查询才能补全该字段用于企业客户关联人快照,增加一次网络请求,建议后端后续在个人客户列表接口中补充该字段 7. **无"关联用户"相关能力**——原型按钮无对应后端接口,本阶段不实现 +8. **企业客户股东高管信息只能在新增时一次性提交,编辑/详情接口均不支持读取或修改**——`UpdateEnterpriseCustomerBto`、`EnterpriseCustomerDetailVo` 均不含 `enterpriseRelatedPersonBtoList` 字段(仅 `CreateEnterpriseCustomerBto` 有)。据此调整4.4节交互:"股东高管信息"子表单**仅在新增(create)模式下展示且可编辑**;编辑(edit)/查看(detail)模式下该区块替换为一行提示文字"股东高管信息仅支持新增时登记,当前接口不支持查询或修改,如需变更请联系技术支持核实数据",不渲染表格与"添加"按钮。同理,企业客户 `businessLicenseFileNo`(营业执照文件编号)编辑/详情接口也读取不到(Detail Vo 无此字段),编辑模式下"重新上传营业执照"仍可操作(调用同一 `LicenseUpload` 拿新 `fileNo` 提交 `update`),但不会展示已上传的历史图片(因为读不到) +9. **企业客户分页查询接口 `page` 不支持按"所属机构""客户编号(企业编号)"过滤**,仅支持 `enterpriseName/businessLicense/mobilePhone` 三项,比需求文档原型描述的查询区(所属机构/客户编号/客户名称/证件号码)少两项,按"后端能力收窄即接受"的既定原则(与阶段1/2迁移文档处理方式一致),查询表单只提供后端实际支持的3个字段 ## 8. 自查(占位符/矛盾/歧义/范围)