4.1 KiB
03 · demo 页新入口扩展
Type: task Status: resolved
Question
.scratch/customer-e2e/demo/index.html 扩展返工后新能力入口,让 demo 页对得上 73 端点契约的用户可感知面:
- 战略协议页签(客户详情下,v29 树拍板「三页物理在客户详情下、单菜单归属」):页签列表 / 新增 / 编辑 / 删除 / 详情,五端点对照 API-SUMMARY §2.6
- 查重设置表单:GET 回显 + POST save 五字段(§3 rule 族)
- 批量工商更新入口:选客户 → batch-update → 五状态结果展示(stub 恒 NO_HIT 口径要如实呈现)
- 导入 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 变化)