You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

4.1 KiB

03 · demo 页新入口扩展

Type: task Status: resolved

Question

.scratch/customer-e2e/demo/index.html 扩展返工后新能力入口,让 demo 页对得上 73 端点契约的用户可感知面:

  1. 战略协议页签(客户详情下,v29 树拍板「三页物理在客户详情下、单菜单归属」):页签列表 / 新增 / 编辑 / 删除 / 详情,五端点对照 API-SUMMARY §2.6
  2. 查重设置表单:GET 回显 + POST save 五字段(§3 rule 族)
  3. 批量工商更新入口:选客户 → batch-update → 五状态结果展示(stub 恒 NO_HIT 口径要如实呈现)
  4. 导入 duplicateStrategy 选项:现有导入流程加策略下拉(SKIP 回显)

约束:

  • 页面结构对照原型 txt(D:\code\crm-需求梳理\lanhu-mcp\data\axure_extract_bade4454_screenshots\.txt 为主)——战略协议原型有现成页面形态,查重设置对照 A7 规则页
  • 风格沿用 demo 现有约定:fetch 层统一 api() + qs()、e2c- 命名空间、simbox 确认流、深 tag 无关(demo 无 tag)
  • fetch 层只写新调用,不动票 10 已对账的 36 处既有调用
  • 独立于票 01/02(只依赖契约文档),可与两票并行

Answer

(2026-09-05 工作会话)四入口全部落地于 .scratch/customer-e2e/demo/index.html(848 → 938 行,+90):

1. 战略协议页签(详情 subtab「战略协议」,插在关联商机与团队成员之间对齐页签序)

  • 五端点全接:list?customerId=(缓存 window._agreements 供编辑回显,对称 contacts 惯例)/ create(带 customerId=D.id)/ edit?id=不带 customerId——归属不可换,以库内为准)/ delete?id=(confirm 流)/ detail?id=(kv 网格弹窗)
  • 表单按 AgreementDTO 实锤字段:等级 1~3 下拉(一级/二级/三级)、amount 文本、remark、fileFileId(crm-file id 文本框——demo 无上传 UI,如实以 id 引用呈现);67017 走 errbox
  • 提示条注明快照联动(strategic_agreement_level 删空=未签)与 oplog 三 action

2. 查重设置表单(settings tab 新面板,A7-3-3-2)

  • GET /api/rule/customer/dedup 回显:masterEnabled / nameEnabled + nameMatchMode(1 精确 2 模糊,空→模糊兜底显示)/ similarityThreshold(空→80)/ phoneEnabled
  • POST save:阈值空值经 qs() 丢弃→服务端缺省 80(规避 Number('')=0 陷阱);64023 越界提示;面板注明信用代码系统强制恒开无配置列;nav 设置按钮追加 loadDedup()

3. 批量工商更新(F6):列表「选中客户批量操作」栏新按钮;ids 前端拦 100 上限;结果弹窗五状态徽标映射 CU_ST(UPDATED 已回填 / SKIPPED 无空缺 / NO_HIT 未命中 / CONFLICT 信用代码冲突 / NOT_FOUND 客户不存在)+ filledFields + message;stub 恒 NO_HIT 口径在弹窗 hint 如实呈现

4. 导入 duplicateStrategy(F8)impStrategy 下拉(SKIP 缺省 / OVERWRITE)插入 impMode 与文件框之间;impUpload() 追加 fd.append('duplicateStrategy')(URL/方法不动),toast 显示响应回显策略;面板 hint 更新 F8 语义(仅作用文件内重复组、不触 SUSPECT)与 67013 非法策略

字段名实锤来源(不猜):AgreementDTO.java / CompanyBatchUpdateDTO.java(五态常量+customerId/customerName/status/filledFields/message)/ CustomerAgreementController.java 源码直读。

静态验证node --check(script 块抽出)PASS;BOM 无(首字节 3C 21 44);39 条唯一 api() 路径 = 票 10 已对账 31 条零扰动 + 新增 8 条(协议×5 / dedup / dedup-save / F6)+ import/upload 原调用加字段;PUT/DELETE/PATCH=0、POST=20。UI 冒烟按票面依赖留给票 05(03+04 齐)。

偏差与顺手项记档

  • 原型缓存 D:\code\crm-需求梳理\... 不在本机(换机未迁移,Test-Path False)——页面形态按契约 + demo 既有风格落地,无原型像素对照;票 05 若需原型对照需先迁缓存或走 OSS 重拉
  • 查重试玩面板头「单例未落地=出厂默认」过时文案顺手校正(纯显示,无 API 变化)