From f0789a0f13964d6cb69211a1539ebedf12eb7c3b Mon Sep 17 00:00:00 2001 From: xcs Date: Sun, 30 Aug 2026 21:26:36 +0800 Subject: [PATCH] =?UTF-8?q?docs(w05):=20=E6=8D=A2=E7=89=88=E9=9D=A2?= =?UTF-8?q?=E6=94=B6=E5=8F=A3=20=E2=80=94=E2=80=94=20=E7=BB=88=E5=AE=A1=20?= =?UTF-8?q?Minor(describe=20=E5=A4=B4=E6=B3=A8=E6=BC=82=E7=A7=BB)=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20+=20CLAUDE.md=20=E8=AE=B0=E6=88=98=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 终审评审 0 Critical / 0 Important / 1 Minor:件① 的 describe 头注还描述换版面前的 「四块竖排」,断言早已测新结构 —— 头注改写为两轨道 / details 面板 / 瓷贴的现状。 CLAUDE.md 现状快照补一条:换版面三个机制账(宿主闭合标签截刀 / 行内 class-of 只认行 作用域 / data-by 回落真咬人)与全流程走查战果。 Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet --- CLAUDE.md | 29 +++++++++++++++++++ .../__tests__/activity.test.ts | 9 +++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 4b0811c..51410c2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1696,6 +1696,35 @@ 写出来的数就得排在后面)/ 方向相反的依赖拆两笔写、中间夹子表 / `gateLedgers` 同时管 「闸要求非空」与「确认时并进正式表」两件事,漏想一半就会悬空引用或永久卡死。 `pnpm gates` 退出码 0(2447 passed | 34 skipped)。 +- **W05 数据工单换版面 + 两条渲染机制的实锚**(2026-08-30,`part-substitution-assessment@2.2.2`, + 用户给了新目标件 `docs/ss02-act-05-new/ACT-WORK-05-数据工单-PN主数据创建.html`): + `input-supplement` 整张照它重排 —— **两条并列轨道**(每颗料一条:档案卡 + 主数据 + 类型选择) + + `
` 新增类型面板(chip_type / type_param 两张表原样搬入,独立「核心参数字段」区退役) + + 核心参数值**瓷贴单块平铺**;绑定面一列不差(四张台账 / 四道闸 / 两处加行 / 终审 C1 的 + disabled type_id / 主键钥匙)。目标件脚本驱动的状态全部无脚本翻译:保存即铺格顶掉「选类型 + 即时加载」、details 顶掉 `.newtype.show`、步骤圆点按基座数点亮、gateprog 进度条如实退掉 + (分母不是基座现有的数)。**三条机制账**,全有测钉死: + ①**`data-rows` 宿主的闭合标签就是行模版的截刀** —— ROWS 正则按宿主自己的闭合标签非贪婪 + 截取,`
` 被行模版里第一个 `
` 截半,第二行嵌进第一行没闭合的标签里 + 档案卡当场串行(A2 立的「行容器用行内不会再出现的标签」说的正是**宿主**,它自己就是 + `
` 包 `
`);防再犯钉用**配平判法**(「不含闭合标签」是空话 —— 非贪婪截取 + 本来就停在闭合标签之前,那条断言永远不会红); + ②**行内 `data-class-of` 只认行作用域**(renderRows 末段 renderTemplate 拿的是行对象), + 作用域级读数在行内投不出 —— 圆点的投影挂在行外的 `.pj` 包裹层,后代选择器点亮; + ③**`data-by` 行缺键落回外层同名字段**(终审 I3)真咬人:XL 没选类型,`sub_eval.case` + 摊平的 `chip_type_id` 顶进来,查名 pill 摆出它没有的类型 —— 守卫认 `selectCurrent` 按 + **这一行自己的值**写下的 `option[selected]`,行里没真选上名字不摆(判断全在样式表)。 + 同批逮到并修死:profile 的编辑闸在第一版 body 里**整个漏掉**(宿主在而闸不在,XL 必填 + 永远补不上 —— 「四道闸」旧断言只查 data-edit 宿主没查 [data-edit-for] 闸,补强)。 + 另一半探针钉进平台测试:嵌套 data-rows 在唯一 data-edit 宿主里**必然把一颗料的格子并成 + 一条记录**(rowOf 认宿主直接子元素;真实 renderView+collect 实测, + `view-container-collect-div-rows.test.ts`)—— 步骤③不按轨道分两栏是机制不是偏好。 + **验收**:活动自测 62 → 74(新钉逐条变异验证);`pnpm gates` 退出码 0(2497 测); + 2.2.0/2.2.1/2.2.2 三连装库 SQL 逐次核过;浏览器全流程真人路 —— 起单 → 两轨道核对 → + 保存即铺格(XL 七格当场铺出)→ 填参数 → 确认写入办结 → S2 分析推进;新建类型走种子行 + 续号 `03`、DC-DC 原行未被覆盖、下拉即时长出;类型不一致护栏真亮 v-2 再熄灭。 + 终审评审 0 Critical / 0 Important / 1 Minor(注释漂移,已修)。跑完 reset-runs, + 主数据与活动缓存零残留。 ## 文档权威地图 diff --git a/activities/part-substitution-assessment/__tests__/activity.test.ts b/activities/part-substitution-assessment/__tests__/activity.test.ts index 390ef21..08c617d 100644 --- a/activities/part-substitution-assessment/__tests__/activity.test.ts +++ b/activities/part-substitution-assessment/__tests__/activity.test.ts @@ -527,10 +527,11 @@ describe('报告模版:编辑面与只读面各就各位', () => { }); /* - * 件① 评估输入补全(2026-08-29,Task 7;Task 7b 补②a 块):S1 的配方缺什么就发一张数据工单, - * `view: 'input-supplement'` 指向它。四块竖排——要评估什么(两颗料的存在性 + 主数据)/ - * 芯片类型(选型 + 新建类型)/ 核心参数字段清单(新建类型时要填)/ 参数值(逐条实测/规格值); - * 顶部一条红带摆配方算好的 `gate_reason`。 + * 件① 评估输入补全(2026-08-29 Task 7/7b;**2026-08-30 照新目标件换版面**):S1 的配方 + * 缺什么就发一张数据工单,`view: 'input-supplement'` 指向它。新版面 —— 两条并列轨道 + * (每颗料一条:档案卡 + 主数据 + 类型选择)/ `
` 新增类型面板(chip_type + + * type_param 两张表,即「每行四格」的核心参数字段清单)/ 核心参数值瓷贴(单块平铺); + * 顶部一条红带摆配方算好的 `gate_reason`。台账绑定面与换版面前一个不差。 * 复用文件顶部已有的 `viewHtml` 短写(与 brief 草稿里的 `viewOf` 同一件事,不重复定义一个)。 */ describe('件① 评估输入补全', () => {