Archived
feat(w05): 数据工单第四轮九连改 —— 笔↔软盘卡角编辑、只选不建、浅蓝题头、镜像修数字
2026-08-31 用户一次点齐九件,逐条落: ① 两行编辑闸退役 → 卡右上角笔(开当前这一面的编辑)↔ 软盘(保存)+ 叉(放弃); 按钮就是平台的 data-edit-open/save/cancel 触发器,快照/取消机制原样,按面显隐全在样式表。 ② 保存一瞬间下拉变数字 → ui-kit mirrorTwins:下拉镜像**选项文案**不镜 value,并把 selected 属性拨到人选的那一项(守卫 CSS 与取消回显都认它)。2 测。 ③ 参数输入框占位提示 → 渲染器 twinInputs 认 data-ph 落成 placeholder(平台小扩面,1 测); 值格「规格书上的值 · 查不到留空」,说明格「补充说明 · 选填」。 ④ 参数说明空着不再摆「建议」→ 什么都不摆(连兜底破折号一起收)。 ⑤ 区序对调:芯片档案在前,比对基准在后。 ⑥ **新建芯片类型整条路移除**(只能选已有类型):抽屉与两张编辑表(种子行/Critical-1 修法/thead 回归网)退役,S1 配方 ②③ 自投影删除(八笔→六笔),gateLedgers 收窄到 profile+parameter,writes 同步,gate_reason 与指导书改口「只选不建」;样例改名 「候选缺库·建档定型」;e2e 案例 0 改走选既有 type_1(type_id=90 那套绕坑法随路退役)。 退役面的七条钉测按仓例 it.skip 留墓志铭(钉的是已移除的路径,不是放松断言)。 ⑦ 题头回浅蓝渐变(原目标件那条 120°),深色夜景只留验收两件。 ⑧ 对话区执行卡不再摆「参考信息」板块(basis 数据照旧随卡走,详情/归档仍有)。 ⑨ 比对基准降噪:字段收成丸(名+硬软徽+单位),说明藏进悬浮气泡指上即看; 类型说明一行截断、悬浮展开。 测:ui-kit 33(mirror 2 新)+ 渲染器 61(ph 1 新)+ 包内 104(38 steps 重排)+ 2525 全仓 四门绿;2.10.0 装库 SQL 六探针全中(hd-light/软盘/data-ph/零表格/无 chip_type 编辑面/ gateLedgers 两张);:8787 已重启载入 data-ph 渲染器。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKMZDwMbyKzjw6Hembwvet
This commit is contained in:
@@ -280,12 +280,25 @@ export function collect(doc: Document, address: string): Array<Record<string, st
|
||||
* 而 `twinInputs` 是把 input **紧接着**只读那份写出来的,前一个兄弟就是它的孪生件。
|
||||
* 这条是在真单的 DOM 上查出来的:合成 fixture 里我两份都写了 data-slot,于是照样绿。
|
||||
*/
|
||||
function mirrorTwins(doc: Document, address: string): void {
|
||||
export function mirrorTwins(doc: Document, address: string): void {
|
||||
for (const cell of cellsOf(doc, address)) {
|
||||
// 与 collect 同一条规矩:没答的不算话(「没点/没选」= 不改)
|
||||
if (unanswered(cell)) continue;
|
||||
const twin = cell.previousElementSibling;
|
||||
if (twin === null || twin.tagName === 'INPUT' || twin.tagName === 'SELECT' || twin.tagName === 'TEXTAREA') continue;
|
||||
/*
|
||||
* **下拉镜像的是选项文案,不是 value**(2026-08-31 用户:「保存的一瞬间芯片类型
|
||||
* 下拉框的值会变成数字」)—— 下拉的 value 是机器码(type_id、tally 值),
|
||||
* 摆给人看的向来是人读名;顺手把 selected 属性拨到人选的那一项:守卫类 CSS
|
||||
* (:has(option[selected]))与「取消后再编辑」的回显都认它,不拨的话保存后到
|
||||
* 重推回来那一段,屏上仍按旧选择说话。
|
||||
*/
|
||||
if (cell.tagName === 'SELECT') {
|
||||
const sel = cell as HTMLSelectElement;
|
||||
for (const o of Array.from(sel.options)) o.toggleAttribute('selected', o.value === sel.value && sel.value !== '');
|
||||
twin.textContent = sel.selectedOptions[0]?.textContent ?? sel.value;
|
||||
continue;
|
||||
}
|
||||
twin.textContent = cell.value;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user