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:
@@ -18,3 +18,176 @@ ULA63040AD0,63,40,A,,D,ULA63040AD0.step
|
||||
ULA63040AK0,63,40,A,,K,ULA63040AK0.step
|
||||
ULA63050AK0,63,50,A,,K,ULA63050AK0.step
|
||||
ULA63060AK0,63,60,A,,K,ULA63060AK0.step
|
||||
ULA40020AD0,40,20,A,,D,PLACEHOLDER.step
|
||||
ULA40020AK0,40,20,A,,K,PLACEHOLDER.step
|
||||
ULA40020GSD0,40,20,G,S,D,PLACEHOLDER.step
|
||||
ULA40020GD0,40,20,G,,D,PLACEHOLDER.step
|
||||
ULA40020GK0,40,20,G,,K,PLACEHOLDER.step
|
||||
ULA40020NSD0,40,20,N,S,D,PLACEHOLDER.step
|
||||
ULA40020ND0,40,20,N,,D,PLACEHOLDER.step
|
||||
ULA40020NK0,40,20,N,,K,PLACEHOLDER.step
|
||||
ULA40020PSD0,40,20,P,S,D,PLACEHOLDER.step
|
||||
ULA40020PD0,40,20,P,,D,PLACEHOLDER.step
|
||||
ULA40020PK0,40,20,P,,K,PLACEHOLDER.step
|
||||
ULA40040AD0,40,40,A,,D,PLACEHOLDER.step
|
||||
ULA40040AK0,40,40,A,,K,PLACEHOLDER.step
|
||||
ULA40040GD0,40,40,G,,D,PLACEHOLDER.step
|
||||
ULA40040GK0,40,40,G,,K,PLACEHOLDER.step
|
||||
ULA40040ND0,40,40,N,,D,PLACEHOLDER.step
|
||||
ULA40040NK0,40,40,N,,K,PLACEHOLDER.step
|
||||
ULA40040PD0,40,40,P,,D,PLACEHOLDER.step
|
||||
ULA40040PK0,40,40,P,,K,PLACEHOLDER.step
|
||||
ULA40015ASD0,40,15,A,S,D,PLACEHOLDER.step
|
||||
ULA40015ASK0,40,15,A,S,K,PLACEHOLDER.step
|
||||
ULA40015AD0,40,15,A,,D,PLACEHOLDER.step
|
||||
ULA40015AK0,40,15,A,,K,PLACEHOLDER.step
|
||||
ULA40015GSD0,40,15,G,S,D,PLACEHOLDER.step
|
||||
ULA40015GSK0,40,15,G,S,K,PLACEHOLDER.step
|
||||
ULA40015GD0,40,15,G,,D,PLACEHOLDER.step
|
||||
ULA40015GK0,40,15,G,,K,PLACEHOLDER.step
|
||||
ULA40015NSD0,40,15,N,S,D,PLACEHOLDER.step
|
||||
ULA40015NSK0,40,15,N,S,K,PLACEHOLDER.step
|
||||
ULA40015ND0,40,15,N,,D,PLACEHOLDER.step
|
||||
ULA40015NK0,40,15,N,,K,PLACEHOLDER.step
|
||||
ULA40015PSD0,40,15,P,S,D,PLACEHOLDER.step
|
||||
ULA40015PSK0,40,15,P,S,K,PLACEHOLDER.step
|
||||
ULA40015PD0,40,15,P,,D,PLACEHOLDER.step
|
||||
ULA40015PK0,40,15,P,,K,PLACEHOLDER.step
|
||||
ULA40025ASD0,40,25,A,S,D,PLACEHOLDER.step
|
||||
ULA40025ASK0,40,25,A,S,K,PLACEHOLDER.step
|
||||
ULA40025AD0,40,25,A,,D,PLACEHOLDER.step
|
||||
ULA40025AK0,40,25,A,,K,PLACEHOLDER.step
|
||||
ULA40025GSD0,40,25,G,S,D,PLACEHOLDER.step
|
||||
ULA40025GSK0,40,25,G,S,K,PLACEHOLDER.step
|
||||
ULA40025GD0,40,25,G,,D,PLACEHOLDER.step
|
||||
ULA40025GK0,40,25,G,,K,PLACEHOLDER.step
|
||||
ULA40025NSD0,40,25,N,S,D,PLACEHOLDER.step
|
||||
ULA40025NSK0,40,25,N,S,K,PLACEHOLDER.step
|
||||
ULA40025ND0,40,25,N,,D,PLACEHOLDER.step
|
||||
ULA40025NK0,40,25,N,,K,PLACEHOLDER.step
|
||||
ULA40025PSD0,40,25,P,S,D,PLACEHOLDER.step
|
||||
ULA40025PSK0,40,25,P,S,K,PLACEHOLDER.step
|
||||
ULA40025PD0,40,25,P,,D,PLACEHOLDER.step
|
||||
ULA40025PK0,40,25,P,,K,PLACEHOLDER.step
|
||||
ULA40050ASD0,40,50,A,S,D,PLACEHOLDER.step
|
||||
ULA40050ASK0,40,50,A,S,K,PLACEHOLDER.step
|
||||
ULA40050AD0,40,50,A,,D,PLACEHOLDER.step
|
||||
ULA40050AK0,40,50,A,,K,PLACEHOLDER.step
|
||||
ULA40050GSD0,40,50,G,S,D,PLACEHOLDER.step
|
||||
ULA40050GSK0,40,50,G,S,K,PLACEHOLDER.step
|
||||
ULA40050GD0,40,50,G,,D,PLACEHOLDER.step
|
||||
ULA40050GK0,40,50,G,,K,PLACEHOLDER.step
|
||||
ULA40050NSD0,40,50,N,S,D,PLACEHOLDER.step
|
||||
ULA40050NSK0,40,50,N,S,K,PLACEHOLDER.step
|
||||
ULA40050ND0,40,50,N,,D,PLACEHOLDER.step
|
||||
ULA40050NK0,40,50,N,,K,PLACEHOLDER.step
|
||||
ULA40050PSD0,40,50,P,S,D,PLACEHOLDER.step
|
||||
ULA40050PSK0,40,50,P,S,K,PLACEHOLDER.step
|
||||
ULA40050PD0,40,50,P,,D,PLACEHOLDER.step
|
||||
ULA40050PK0,40,50,P,,K,PLACEHOLDER.step
|
||||
ULA40060ASD0,40,60,A,S,D,PLACEHOLDER.step
|
||||
ULA40060ASK0,40,60,A,S,K,PLACEHOLDER.step
|
||||
ULA40060AD0,40,60,A,,D,PLACEHOLDER.step
|
||||
ULA40060AK0,40,60,A,,K,PLACEHOLDER.step
|
||||
ULA40060GSD0,40,60,G,S,D,PLACEHOLDER.step
|
||||
ULA40060GSK0,40,60,G,S,K,PLACEHOLDER.step
|
||||
ULA40060GD0,40,60,G,,D,PLACEHOLDER.step
|
||||
ULA40060GK0,40,60,G,,K,PLACEHOLDER.step
|
||||
ULA40060NSD0,40,60,N,S,D,PLACEHOLDER.step
|
||||
ULA40060NSK0,40,60,N,S,K,PLACEHOLDER.step
|
||||
ULA40060ND0,40,60,N,,D,PLACEHOLDER.step
|
||||
ULA40060NK0,40,60,N,,K,PLACEHOLDER.step
|
||||
ULA40060PSD0,40,60,P,S,D,PLACEHOLDER.step
|
||||
ULA40060PSK0,40,60,P,S,K,PLACEHOLDER.step
|
||||
ULA40060PD0,40,60,P,,D,PLACEHOLDER.step
|
||||
ULA40060PK0,40,60,P,,K,PLACEHOLDER.step
|
||||
ULA63020ASD0,63,20,A,S,D,PLACEHOLDER.step
|
||||
ULA63020ASK0,63,20,A,S,K,PLACEHOLDER.step
|
||||
ULA63020AD0,63,20,A,,D,PLACEHOLDER.step
|
||||
ULA63020AK0,63,20,A,,K,PLACEHOLDER.step
|
||||
ULA63020GSD0,63,20,G,S,D,PLACEHOLDER.step
|
||||
ULA63020GSK0,63,20,G,S,K,PLACEHOLDER.step
|
||||
ULA63020GD0,63,20,G,,D,PLACEHOLDER.step
|
||||
ULA63020GK0,63,20,G,,K,PLACEHOLDER.step
|
||||
ULA63020NSD0,63,20,N,S,D,PLACEHOLDER.step
|
||||
ULA63020NSK0,63,20,N,S,K,PLACEHOLDER.step
|
||||
ULA63020ND0,63,20,N,,D,PLACEHOLDER.step
|
||||
ULA63020NK0,63,20,N,,K,PLACEHOLDER.step
|
||||
ULA63020PSD0,63,20,P,S,D,PLACEHOLDER.step
|
||||
ULA63020PSK0,63,20,P,S,K,PLACEHOLDER.step
|
||||
ULA63020PD0,63,20,P,,D,PLACEHOLDER.step
|
||||
ULA63020PK0,63,20,P,,K,PLACEHOLDER.step
|
||||
ULA63040ASD0,63,40,A,S,D,PLACEHOLDER.step
|
||||
ULA63040ASK0,63,40,A,S,K,PLACEHOLDER.step
|
||||
ULA63040GSD0,63,40,G,S,D,PLACEHOLDER.step
|
||||
ULA63040GSK0,63,40,G,S,K,PLACEHOLDER.step
|
||||
ULA63040GD0,63,40,G,,D,PLACEHOLDER.step
|
||||
ULA63040GK0,63,40,G,,K,PLACEHOLDER.step
|
||||
ULA63040NSD0,63,40,N,S,D,PLACEHOLDER.step
|
||||
ULA63040NSK0,63,40,N,S,K,PLACEHOLDER.step
|
||||
ULA63040ND0,63,40,N,,D,PLACEHOLDER.step
|
||||
ULA63040NK0,63,40,N,,K,PLACEHOLDER.step
|
||||
ULA63040PSD0,63,40,P,S,D,PLACEHOLDER.step
|
||||
ULA63040PSK0,63,40,P,S,K,PLACEHOLDER.step
|
||||
ULA63040PD0,63,40,P,,D,PLACEHOLDER.step
|
||||
ULA63040PK0,63,40,P,,K,PLACEHOLDER.step
|
||||
ULA63015ASD0,63,15,A,S,D,PLACEHOLDER.step
|
||||
ULA63015ASK0,63,15,A,S,K,PLACEHOLDER.step
|
||||
ULA63015AD0,63,15,A,,D,PLACEHOLDER.step
|
||||
ULA63015GSD0,63,15,G,S,D,PLACEHOLDER.step
|
||||
ULA63015GSK0,63,15,G,S,K,PLACEHOLDER.step
|
||||
ULA63015GD0,63,15,G,,D,PLACEHOLDER.step
|
||||
ULA63015GK0,63,15,G,,K,PLACEHOLDER.step
|
||||
ULA63015NSD0,63,15,N,S,D,PLACEHOLDER.step
|
||||
ULA63015NSK0,63,15,N,S,K,PLACEHOLDER.step
|
||||
ULA63015ND0,63,15,N,,D,PLACEHOLDER.step
|
||||
ULA63015NK0,63,15,N,,K,PLACEHOLDER.step
|
||||
ULA63015PSD0,63,15,P,S,D,PLACEHOLDER.step
|
||||
ULA63015PSK0,63,15,P,S,K,PLACEHOLDER.step
|
||||
ULA63015PD0,63,15,P,,D,PLACEHOLDER.step
|
||||
ULA63015PK0,63,15,P,,K,PLACEHOLDER.step
|
||||
ULA63025ASD0,63,25,A,S,D,PLACEHOLDER.step
|
||||
ULA63025ASK0,63,25,A,S,K,PLACEHOLDER.step
|
||||
ULA63025AD0,63,25,A,,D,PLACEHOLDER.step
|
||||
ULA63025GSD0,63,25,G,S,D,PLACEHOLDER.step
|
||||
ULA63025GSK0,63,25,G,S,K,PLACEHOLDER.step
|
||||
ULA63025GD0,63,25,G,,D,PLACEHOLDER.step
|
||||
ULA63025GK0,63,25,G,,K,PLACEHOLDER.step
|
||||
ULA63025NSD0,63,25,N,S,D,PLACEHOLDER.step
|
||||
ULA63025NSK0,63,25,N,S,K,PLACEHOLDER.step
|
||||
ULA63025ND0,63,25,N,,D,PLACEHOLDER.step
|
||||
ULA63025NK0,63,25,N,,K,PLACEHOLDER.step
|
||||
ULA63025PSD0,63,25,P,S,D,PLACEHOLDER.step
|
||||
ULA63025PSK0,63,25,P,S,K,PLACEHOLDER.step
|
||||
ULA63025PD0,63,25,P,,D,PLACEHOLDER.step
|
||||
ULA63025PK0,63,25,P,,K,PLACEHOLDER.step
|
||||
ULA63050ASD0,63,50,A,S,D,PLACEHOLDER.step
|
||||
ULA63050ASK0,63,50,A,S,K,PLACEHOLDER.step
|
||||
ULA63050AD0,63,50,A,,D,PLACEHOLDER.step
|
||||
ULA63050GSD0,63,50,G,S,D,PLACEHOLDER.step
|
||||
ULA63050GSK0,63,50,G,S,K,PLACEHOLDER.step
|
||||
ULA63050GD0,63,50,G,,D,PLACEHOLDER.step
|
||||
ULA63050GK0,63,50,G,,K,PLACEHOLDER.step
|
||||
ULA63050NSD0,63,50,N,S,D,PLACEHOLDER.step
|
||||
ULA63050NSK0,63,50,N,S,K,PLACEHOLDER.step
|
||||
ULA63050ND0,63,50,N,,D,PLACEHOLDER.step
|
||||
ULA63050NK0,63,50,N,,K,PLACEHOLDER.step
|
||||
ULA63050PSD0,63,50,P,S,D,PLACEHOLDER.step
|
||||
ULA63050PSK0,63,50,P,S,K,PLACEHOLDER.step
|
||||
ULA63050PD0,63,50,P,,D,PLACEHOLDER.step
|
||||
ULA63050PK0,63,50,P,,K,PLACEHOLDER.step
|
||||
ULA63060ASD0,63,60,A,S,D,PLACEHOLDER.step
|
||||
ULA63060ASK0,63,60,A,S,K,PLACEHOLDER.step
|
||||
ULA63060AD0,63,60,A,,D,PLACEHOLDER.step
|
||||
ULA63060GSD0,63,60,G,S,D,PLACEHOLDER.step
|
||||
ULA63060GSK0,63,60,G,S,K,PLACEHOLDER.step
|
||||
ULA63060GD0,63,60,G,,D,PLACEHOLDER.step
|
||||
ULA63060GK0,63,60,G,,K,PLACEHOLDER.step
|
||||
ULA63060NSD0,63,60,N,S,D,PLACEHOLDER.step
|
||||
ULA63060NSK0,63,60,N,S,K,PLACEHOLDER.step
|
||||
ULA63060ND0,63,60,N,,D,PLACEHOLDER.step
|
||||
ULA63060NK0,63,60,N,,K,PLACEHOLDER.step
|
||||
ULA63060PSD0,63,60,P,S,D,PLACEHOLDER.step
|
||||
ULA63060PSK0,63,60,P,S,K,PLACEHOLDER.step
|
||||
ULA63060PD0,63,60,P,,D,PLACEHOLDER.step
|
||||
ULA63060PK0,63,60,P,,K,PLACEHOLDER.step
|
||||
|
||||
|
Reference in New Issue
Block a user