v2.1: DESTACO 风格选型界面 + 参数组合补全(缺组合也能出零件号)

网页版选型改版 (仅网页版, 桌面版待同步)
- 新增零件号实时条: 边选边拼, 已确定片段实心高亮, 未定片段虚化, 进度条随选推进;
  浅色配色 (初版深色块与页面不协调, 已改); 选满且唯一命中时整块转青色实心
- 技术方案: 40 系列中仅 KC 有编码模板 → 改用「当前候选型号的最长公共前缀」,
  已验证 40/40 系列前缀单调增长(不回退)
- 参数选择由下拉菜单改为可视化选项块: 悬停抬升+青色投影, 选中青色填充+✓,
  不可选取值置灰(虚线+划线, 不消失, 让用户看到选项存在但当前组合不适用),
  再点一次取消; 有说明的显示代号+说明, 纯数值用紧凑文字块
- 参数联动仍复用 allowedOptions 规则引擎, 语义未变, 只改渲染

参数组合补全
- 原逻辑: 必须有真实数模才能生成型号 → 库里没有的组合选不出来也出不了号
- infer-sku-template.py 从已有型号反推编码模板, 得 23 个系列 100% 可复现
- verify-templates.py 作为门禁: 用模板重渲染每个已有型号必须逐字一致 ——
  该检查抓出 ULM/ULP 行程补零位数写错(2位写3位), 否则会生成 3000 个不存在的零件号
- gen-missing-combos.py 补全 8 个系列共 3157 个型号 (全库 54136 → 57293)
- 占位数模: 3157 个型号共用 1 个 PLACEHOLDER.step(4.5KB), 构建器按路径打包只存一份,
  数据包仅 2.10GB → 2.14GB (中途用硬链接方案踩坑: NTFS 上限 1024, 超出退化为拷贝白占 500MB)
- _pending_models.csv 输出待补数模清单, 供 AI 补完后替换 step_file

新增脚本: infer-sku-template / verify-templates / quantify-combo-gap /
          gen-missing-combos / gen-placeholder-step / check-combo-unique
新增文档: docs/更改说明-v2.1.md

发现未处理 (已记录在更改说明):
- 夹紧缸 9 系列一组参数对应多型号 (310 个型号, 编码含参数外尾缀, 旧码/新码混用)
- UAGP/LAGP 参数顺序与官方编码结构不符 (传感器应在转角之前)
- 17 个系列因模板不干净未补全 (宁可少补, 不生成可能不存在的零件号)

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
wangruiguo
2026-09-15 02:14:55 +08:00
parent 3c4f236cba
commit fc5ee1dd36
19 changed files with 7355 additions and 25 deletions

View File

@@ -13,3 +13,29 @@ ULL50040EXK0,50,40,E,X,K,ULL50040EXK0.step
ULL50040FXK0,50,40,F,X,K,ULL50040FXK0.step
ULL50040HXK0,50,40,H,X,K,ULL50040HXK0.step
ULL50040IXK0,50,40,I,X,K,ULL50040IXK0.step
ULL50040AXK0,50,40,A,X,K,PLACEHOLDER.step
ULL50040BEK0,50,40,B,E,K,PLACEHOLDER.step
ULL50040BNK0,50,40,B,N,K,PLACEHOLDER.step
ULL50040BOK0,50,40,B,O,K,PLACEHOLDER.step
ULL50040BSK0,50,40,B,S,K,PLACEHOLDER.step
ULL50040CEK0,50,40,C,E,K,PLACEHOLDER.step
ULL50040CNK0,50,40,C,N,K,PLACEHOLDER.step
ULL50040COK0,50,40,C,O,K,PLACEHOLDER.step
ULL50040CSK0,50,40,C,S,K,PLACEHOLDER.step
ULL50040DXK0,50,40,D,X,K,PLACEHOLDER.step
ULL50040EEK0,50,40,E,E,K,PLACEHOLDER.step
ULL50040ENK0,50,40,E,N,K,PLACEHOLDER.step
ULL50040EOK0,50,40,E,O,K,PLACEHOLDER.step
ULL50040ESK0,50,40,E,S,K,PLACEHOLDER.step
ULL50040FEK0,50,40,F,E,K,PLACEHOLDER.step
ULL50040FNK0,50,40,F,N,K,PLACEHOLDER.step
ULL50040FOK0,50,40,F,O,K,PLACEHOLDER.step
ULL50040FSK0,50,40,F,S,K,PLACEHOLDER.step
ULL50040HEK0,50,40,H,E,K,PLACEHOLDER.step
ULL50040HNK0,50,40,H,N,K,PLACEHOLDER.step
ULL50040HOK0,50,40,H,O,K,PLACEHOLDER.step
ULL50040HSK0,50,40,H,S,K,PLACEHOLDER.step
ULL50040IEK0,50,40,I,E,K,PLACEHOLDER.step
ULL50040INK0,50,40,I,N,K,PLACEHOLDER.step
ULL50040IOK0,50,40,I,O,K,PLACEHOLDER.step
ULL50040ISK0,50,40,I,S,K,PLACEHOLDER.step
1 model_code size stroke rod orient sensor step_file
13 ULL50040FXK0 50 40 F X K ULL50040FXK0.step
14 ULL50040HXK0 50 40 H X K ULL50040HXK0.step
15 ULL50040IXK0 50 40 I X K ULL50040IXK0.step
16 ULL50040AXK0 50 40 A X K PLACEHOLDER.step
17 ULL50040BEK0 50 40 B E K PLACEHOLDER.step
18 ULL50040BNK0 50 40 B N K PLACEHOLDER.step
19 ULL50040BOK0 50 40 B O K PLACEHOLDER.step
20 ULL50040BSK0 50 40 B S K PLACEHOLDER.step
21 ULL50040CEK0 50 40 C E K PLACEHOLDER.step
22 ULL50040CNK0 50 40 C N K PLACEHOLDER.step
23 ULL50040COK0 50 40 C O K PLACEHOLDER.step
24 ULL50040CSK0 50 40 C S K PLACEHOLDER.step
25 ULL50040DXK0 50 40 D X K PLACEHOLDER.step
26 ULL50040EEK0 50 40 E E K PLACEHOLDER.step
27 ULL50040ENK0 50 40 E N K PLACEHOLDER.step
28 ULL50040EOK0 50 40 E O K PLACEHOLDER.step
29 ULL50040ESK0 50 40 E S K PLACEHOLDER.step
30 ULL50040FEK0 50 40 F E K PLACEHOLDER.step
31 ULL50040FNK0 50 40 F N K PLACEHOLDER.step
32 ULL50040FOK0 50 40 F O K PLACEHOLDER.step
33 ULL50040FSK0 50 40 F S K PLACEHOLDER.step
34 ULL50040HEK0 50 40 H E K PLACEHOLDER.step
35 ULL50040HNK0 50 40 H N K PLACEHOLDER.step
36 ULL50040HOK0 50 40 H O K PLACEHOLDER.step
37 ULL50040HSK0 50 40 H S K PLACEHOLDER.step
38 ULL50040IEK0 50 40 I E K PLACEHOLDER.step
39 ULL50040INK0 50 40 I N K PLACEHOLDER.step
40 ULL50040IOK0 50 40 I O K PLACEHOLDER.step
41 ULL50040ISK0 50 40 I S K PLACEHOLDER.step