Archived
活动包 views/target-style.ts / report.ts 与两份 W05 文档都指着 docs/SS02-ACT-WORK-05-html —— 模版「逐字节搬自目标件」的那份目标件此前没入库。docs/img/cy 三张 png 现无引用,随批入库。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0167qWjeyBwvfdGovd7FWbCu
297 lines
23 KiB
HTML
297 lines
23 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>执行工单 1 · 评估输入与资料补齐确认 · SS02 ACT-WORK-05 差异评估</title>
|
||
<style>
|
||
:root{
|
||
--ink:#1f2329; --ink-2:#41464e; --ink-3:#646a73; --ink-4:#8f959e;
|
||
--line:#dee0e3; --line-soft:#e8eaed; --soft:#f8f9fb;
|
||
--brand:#3370ff; --brand-deep:#245bdb; --brand-soft:#e1eaff; --brand-wash:#f0f4ff;
|
||
--human:#a9711e; --human-soft:#f6ecd8; --human-line:#e6d3a8;
|
||
--ok:#278717; --ok-soft:#e8f8e4; --danger:#d83931; --danger-soft:#feeae9;
|
||
--mono:"SF Mono",Menlo,Consolas,monospace;
|
||
}
|
||
*{box-sizing:border-box}
|
||
html,body{margin:0;padding:0}
|
||
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#eef1f6;color:var(--ink);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}
|
||
.page{margin:0;padding:0}
|
||
.card{background:#fff;overflow:hidden;border:0;border-radius:0;box-shadow:none}
|
||
.card-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:2px solid var(--ink);background:linear-gradient(120deg,#fffaf1 0%,#fff 55%,#fbf6ea 100%)}
|
||
.badge{flex:none;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--human);color:#fff;font-weight:800;font-size:13px;box-shadow:0 6px 16px rgba(169,113,30,.25)}
|
||
.tit{flex:1;min-width:0}
|
||
.tit .kick{font-size:11px;letter-spacing:.08em;color:var(--ink-4);font-weight:700}
|
||
.tit h1{margin:2px 0 0;font-size:19px;font-weight:800;line-height:1.3}
|
||
.tit .sub{font-size:12px;color:var(--ink-3);margin-top:3px}
|
||
.side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
|
||
.tag{font-size:11px;font-weight:800;padding:2px 10px;border-radius:999px;color:var(--human);background:var(--human-soft);border:1px solid var(--human-line)}
|
||
.step{font-size:12px;color:var(--ink-3)}
|
||
.deadline{font-size:12px;color:var(--ink-3)}
|
||
.deadline b{color:var(--danger)}
|
||
.card-bd{padding:20px 22px}
|
||
.zone{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--ink-4);margin:0 0 8px}
|
||
.zone b{color:var(--ink-3)}
|
||
.note{border:1px solid var(--line);border-left:3px solid var(--human);border-radius:8px;background:var(--soft);padding:14px 16px;margin-bottom:16px}
|
||
.note p{margin:0;font-size:13px;color:var(--ink-2)}
|
||
.note b{color:var(--ink)}
|
||
.note .done{color:var(--ok);font-weight:700}
|
||
.note .need{color:var(--human);font-weight:700}
|
||
.jc-editgate{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0 10px;padding:9px 12px;border-radius:9px;background:var(--soft);border:1px solid var(--line-soft);font-size:12px;color:var(--ink-3)}
|
||
.jc-editgate-t{flex:1 1 auto;min-width:0}
|
||
.jc-editgate-t b{color:var(--ink-2);font-weight:700}
|
||
.jc-egbtn{flex:none;display:inline-flex;align-items:center;gap:5px;cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:6px 13px;font:inherit;font-size:12px;font-weight:700;color:var(--ink-2);background:#fff;transition:border-color .16s,color .16s,background .16s}
|
||
.jc-egbtn:hover{border-color:var(--brand);color:var(--brand)}
|
||
.jc-egbtn.save{color:#fff;background:var(--human);border-color:var(--human)}
|
||
.jc-egbtn.save:hover{filter:brightness(1.06);color:#fff}
|
||
.jc-editgate .eg-cancel,.jc-editgate .eg-save{display:none}
|
||
.jc-editgate.on{background:var(--human-soft);border-color:var(--human-line);color:#7c4a12}
|
||
.jc-editgate.on .eg-open{display:none}
|
||
.jc-editgate.on .eg-cancel,.jc-editgate.on .eg-save{display:inline-flex}
|
||
.tbl-wrap{border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}
|
||
table{width:100%;border-collapse:collapse;font-size:12.5px}
|
||
th{text-align:left;background:var(--soft);font-size:11px;letter-spacing:.03em;font-weight:800;color:var(--ink-3);padding:9px 10px;border-bottom:1px solid var(--line)}
|
||
th.req::after{content:" *";color:var(--danger);font-size:11px}
|
||
td{padding:8px 10px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
|
||
tr:last-child td{border-bottom:0}
|
||
td.rn{position:relative;width:38px;white-space:nowrap;font-family:var(--mono);font-size:11px;color:var(--ink-4);text-align:center}
|
||
.jc-vcell{display:block;font-size:12.5px;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
|
||
.jc-vcell.mono{font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
|
||
.jc-cell{display:none;width:100%;min-width:60px;border:1px solid var(--line);border-radius:6px;padding:6px 8px;font:inherit;font-size:12.5px;color:var(--ink);background:#fff}
|
||
.jc-cell.mono{font-family:var(--mono);font-size:11.5px}
|
||
.jc-cell:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash);outline:none}
|
||
table.on td>.jc-vcell{display:none}
|
||
table.on td>.jc-cell{display:block}
|
||
td.rn .jc-rowdel{display:none;width:22px;height:22px;margin:0 auto;cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:0;font:inherit;font-size:14px;line-height:1;color:var(--ink-3);background:#fff}
|
||
td.rn .jc-rowdel:hover{border-color:var(--danger);color:var(--danger);background:var(--danger-soft)}
|
||
table.on td.rn .jc-rn-num{display:none}
|
||
table.on td.rn .jc-rowdel{display:block}
|
||
.jc-addrow{display:none;margin:8px 0 0;padding:8px 12px;border-radius:9px;background:var(--soft);border:1px dashed var(--line);font-size:12px;color:var(--ink-3)}
|
||
.jc-addrow.show{display:flex;align-items:center;gap:8px}
|
||
.jc-addrow button{cursor:pointer;border:1px solid var(--brand-soft);border-radius:7px;padding:5px 12px;font:inherit;font-size:12px;font-weight:700;color:var(--brand-deep);background:var(--brand-wash)}
|
||
.jc-addrow button:hover{background:var(--brand-soft)}
|
||
.jc-addrow em{font-style:normal;font-size:11.5px;color:var(--ink-4)}
|
||
.flow{margin-top:16px;padding:9px 12px;border-radius:8px;background:var(--soft);border:1px dashed var(--line);font-size:12px;color:var(--ink-3)}
|
||
.flow b{color:var(--ink)}
|
||
.card-foot{padding:13px 22px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--ink-4);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
|
||
@media(max-width:600px){.card-head{flex-wrap:wrap}.side{align-items:flex-start}}
|
||
/* 补充:评估输入清单状态标识(仅追加,不改动基件样式) */
|
||
.mono{font-family:var(--mono);font-size:12px;color:var(--ink-2)}
|
||
.st{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;border:1px solid transparent;white-space:nowrap}
|
||
.st.bound{color:var(--ink-3);background:#eef1f6;border-color:var(--line)}
|
||
.st.ok{color:var(--ok);background:var(--ok-soft);border-color:#c9ecc2}
|
||
.st.miss{color:var(--human);background:var(--human-soft);border-color:var(--human-line)}
|
||
.st.def{color:var(--brand-deep);background:var(--brand-wash);border-color:var(--brand-soft)}
|
||
tr.ro td{background:var(--soft)}
|
||
table.on td>.jc-vcell.ro{display:block}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="page">
|
||
<div class="card">
|
||
|
||
<header class="card-head">
|
||
<div class="badge">执行</div>
|
||
<div class="tit">
|
||
<div class="kick">SS02 · ACT-WORK-05 差异评估 · 执行工单 1/1</div>
|
||
<h1>评估输入与资料补齐确认</h1>
|
||
<div class="sub">收件人:<span data-slot="meta.task.owner">PW · 王工</span> · 关联任务:<span data-slot="meta.task.id">TASK-BT02-20260818-007</span></div>
|
||
</div>
|
||
<div class="side">
|
||
<span class="tag">执行工单</span>
|
||
<span class="step" data-slot="meta.phase">步骤 1/5 · 建立评估上下文</span>
|
||
<span class="deadline">最迟交回:<b data-slot="card.deadline">1 个工作日</b></span>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="card-bd">
|
||
|
||
<p class="zone"><b>【做什么】</b>—— 启动 4 项已绑定,其余信息在工单里补齐</p>
|
||
<div class="note">
|
||
<p><span class="done">AI 已完成</span>:系统已按启动传入的 <b>4 项</b>完成绑定——客户 customer_id、客户需求 request_description(新建 P-01 · 版本 V1)、原 PN、候选 PN(数组,逐个评估)——并生成输入快照(input_snapshot_ref)。本轮评估对象:<b>LM2596S-5.0(TI)→ 3 个候选(XL2596S-5.0 / LM2596S-ADJ / 国产 DCDC)Pin-to-Pin 跨品牌替代</b>(BT-02 场景)。</p>
|
||
<p><span class="need">需要你补齐</span>:启动时未收的信息(应用场景、BOM 位——<b>不回表单,直接在下表补</b>);系统已带出默认值(替代类型 Pin-to-Pin、规则版本 R-2026.07、负责人/期限),可确认可改。本单缺口只覆盖「<b>有而不全</b>」;「<b>完全没有</b>」(PN 不在库)由系统派数据工单创建整条记录,不在本单。datasheet 在数据工单里上传(选填),启动与本单都不收。点「编辑」在下表「补充内容」列填入;<b>加一行 = 补充 AI 未列出的资料项</b>,<b>删一行 = 该输入项不适用</b>。未补齐的缺口项将按 <b>UNKNOWN</b> 进入差异评估。</p>
|
||
</div>
|
||
|
||
<p class="zone"><b>【交回什么】</b>—— 评估输入清单(已绑定项只读核对,缺口项补齐,*为必填)</p>
|
||
|
||
<div class="jc-editgate" id="editgate">
|
||
<span class="jc-editgate-t"><b data-slot="sd.input_gap_count">3 项资料存在缺口或待确认</b>(应用场景 / BOM 位 / 使能阈值),另有 3 项默认值已带出可改;「已绑定」行启动时冻结,不可改</span>
|
||
<button class="jc-egbtn eg-open" type="button">编辑</button>
|
||
<button class="jc-egbtn eg-cancel" type="button">取消</button>
|
||
<button class="jc-egbtn eg-save" type="button">保存</button>
|
||
</div>
|
||
|
||
<div class="tbl-wrap">
|
||
<table id="tbl">
|
||
<thead>
|
||
<tr>
|
||
<th style="width:38px">#</th>
|
||
<th data-h="输入项">输入项</th>
|
||
<th data-h="来源">来源</th>
|
||
<th data-h="状态">状态</th>
|
||
<th data-h="绑定值/缺口说明">绑定值 / 缺口说明</th>
|
||
<th class="req" data-h="补充内容">补充内容</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody data-rows="in.evaluation_inputs">
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">1</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">客户 customer_id</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">L-02</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro mono">CUS-2025-0007</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">2</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">客户需求 request_description</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">P-01</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro">REQ-20260826-001 · V1(启动时新建:工业电源 12V→5V,替代 LM2596S-5.0)</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">3</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">原内部料号 original_internal_pn</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">P-08</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro mono">LM2596S-5.0(TI)</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">4</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">候选内部料号 ① candidate_internal_pn[]</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">P-08</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro mono">XL2596S-5.0(XLSEMI)</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">5</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">候选内部料号 ② candidate_internal_pn[]</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">P-08</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro mono">LM2596S-ADJ(TI 同族可调版)</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr class="ro">
|
||
<td class="rn"><span class="jc-rn-num">6</span></td>
|
||
<td data-field="input_item"><span class="jc-vcell ro">候选内部料号 ③ candidate_internal_pn[]</span></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell ro mono">P-08</span></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st bound">已绑定</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell ro">国产 DCDC(32V 输入上限 · 占位型号)</span></td>
|
||
<td data-field="supplement"><span class="jc-vcell ro">—</span></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">7</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">应用场景 application_scenario</span><input class="jc-cell" value="应用场景 application_scenario"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">P-01</span><input class="jc-cell mono" value="P-01"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st miss">待补*</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">启动时未收,需向客户确认</span><input class="jc-cell" value="启动时未收,需向客户确认"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">12V→5V、工业温域、40V 输入上限(示例已补)</span><input class="jc-cell" value="12V→5V、工业温域、40V 输入上限(示例已补)"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">8</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">BOM 位 bom_position</span><input class="jc-cell" value="BOM 位 bom_position"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">P-09</span><input class="jc-cell mono" value="P-09"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st miss">待补*</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">启动时未收</span><input class="jc-cell" value="启动时未收"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">U3 电源位(示例已补)</span><input class="jc-cell" value="U3 电源位(示例已补)"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">9</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">替代类型 substitution_type</span><input class="jc-cell" value="替代类型 substitution_type"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st def">默认·可改</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">默认 Pin-to-Pin</span><input class="jc-cell" value="默认 Pin-to-Pin"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">10</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">规则版本 rule_version</span><input class="jc-cell" value="规则版本 rule_version"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">GOV</span><input class="jc-cell mono" value="GOV"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st def">默认·可改</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell mono">默认当前发布版 R-2026.07(as_of 锁定,随结论落账)</span><input class="jc-cell mono" value="默认当前发布版 R-2026.07(as_of 锁定,随结论落账)"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">11</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">负责人 / 期限 owner · deadline</span><input class="jc-cell" value="负责人 / 期限 owner · deadline"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st def">默认·可改</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">PW · 王工 / 审核 FAE · 李工 · 1 个工作日(按客户线默认)</span><input class="jc-cell" value="PW · 王工 / 审核 FAE · 李工 · 1 个工作日(按客户线默认)"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">12</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">候选 PN 使能阈值</span><input class="jc-cell" value="候选 PN 使能阈值"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">P-08</span><input class="jc-cell mono" value="P-08"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st miss">待确认·需补</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">原厂未披露(有而不全)</span><input class="jc-cell" value="原厂未披露(有而不全)"></td>
|
||
<td data-field="supplement"><span class="jc-vcell mono">关联验证任务 VAL-2026-0188</span><input class="jc-cell mono" value="关联验证任务 VAL-2026-0188"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">13</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">原 PN 资料版本</span><input class="jc-cell" value="原 PN 资料版本"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">P-10</span><input class="jc-cell mono" value="P-10"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st ok">齐备</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">Rev H(2023-09)已核验</span><input class="jc-cell" value="Rev H(2023-09)已核验"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="rn"><span class="jc-rn-num">14</span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>
|
||
<td data-field="input_item"><span class="jc-vcell">外部来源清单</span><input class="jc-cell" value="外部来源清单"></td>
|
||
<td data-field="source_ledger"><span class="jc-vcell mono">EXT-02</span><input class="jc-cell mono" value="EXT-02"></td>
|
||
<td data-field="status"><span class="jc-vcell ro"><span class="st ok">齐备</span></span></td>
|
||
<td data-field="detail"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
<td data-field="supplement"><span class="jc-vcell">—</span><input class="jc-cell" value="—"></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<div class="jc-addrow" id="addrow">
|
||
<button type="button">+ 加一行(补充资料项)</button>
|
||
<em>新加行的「补充内容」为必填;「绑定值 / 缺口说明」栏写清这项资料是什么、AI 为什么拿不到</em>
|
||
</div>
|
||
|
||
<div class="flow"><b>审批 / 提交:</b>本工单只承载内容;「提交」请在对话区的【执行卡】中进行。<b>提交后去向:</b>补齐后进入步骤 2 · AI 读取与标准化,仍缺失的项将按 UNKNOWN 进入差异评估。<b>注意:</b>启动参数如有误,需退回触发方修订后重新触发,本单不可改。</div>
|
||
|
||
</div>
|
||
|
||
<footer class="card-foot">
|
||
<span>SS02 · ACT-WORK-05 差异评估 · 执行工单 1/1 · 评估输入与资料补齐确认</span>
|
||
<span style="font-family:'SF Mono',Menlo,Consolas,monospace">工单类型:执行 · <span data-slot="card.id">WO-ACT-WORK-05-01</span></span>
|
||
</footer>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
(function(){
|
||
var gate = document.getElementById('editgate');
|
||
var tbl = document.getElementById('tbl');
|
||
var addrow = document.getElementById('addrow');
|
||
var tbody = tbl.querySelector('tbody');
|
||
function setEdit(on){ gate.classList.toggle('on',on); tbl.classList.toggle('on',on); addrow.classList.toggle('show',on); }
|
||
gate.querySelector('.eg-open').addEventListener('click', function(){ setEdit(true); });
|
||
gate.querySelector('.eg-cancel').addEventListener('click', function(){
|
||
tbody.querySelectorAll('tr').forEach(function(tr){ tr.querySelectorAll('td').forEach(function(td){ var v=td.querySelector('.jc-vcell'),c=td.querySelector('.jc-cell'); if(v&&c){c.value=v.textContent;} }); });
|
||
setEdit(false);
|
||
});
|
||
gate.querySelector('.eg-save').addEventListener('click', function(){
|
||
tbody.querySelectorAll('tr').forEach(function(tr){ tr.querySelectorAll('td').forEach(function(td){ var v=td.querySelector('.jc-vcell'),c=td.querySelector('.jc-cell'); if(v&&c){v.textContent=c.value;} }); });
|
||
renumber(); setEdit(false);
|
||
});
|
||
addrow.querySelector('button').addEventListener('click', function(){
|
||
var tr=document.createElement('tr');
|
||
tr.innerHTML='<td class="rn"><span class="jc-rn-num"></span><button class="jc-rowdel" type="button" title="删除此行">×</button></td>'+'<td><span class="jc-vcell"></span><input class="jc-cell" placeholder="输入项"></td>'+'<td><span class="jc-vcell mono"></span><input class="jc-cell mono" placeholder="来源"></td>'+'<td><span class="jc-vcell ro"><span class="st miss">新增·待补</span></span></td>'+'<td><span class="jc-vcell"></span><input class="jc-cell" placeholder="资料说明 / AI 为什么拿不到"></td>'+'<td><span class="jc-vcell"></span><input class="jc-cell" placeholder="补充内容(必填)"></td>';
|
||
tbody.appendChild(tr); renumber();
|
||
});
|
||
tbody.addEventListener('click', function(e){ if(e.target.classList.contains('jc-rowdel')){ e.target.closest('tr').remove(); renumber(); } });
|
||
function renumber(){ tbody.querySelectorAll('tr').forEach(function(tr,i){ tr.querySelector('.jc-rn-num').textContent=i+1; }); }
|
||
})();
|
||
</script>
|
||
</body>
|
||
</html>
|