diff --git a/activities/part-substitution-assessment/__tests__/activity.test.ts b/activities/part-substitution-assessment/__tests__/activity.test.ts index e1770a8..5eb036c 100644 --- a/activities/part-substitution-assessment/__tests__/activity.test.ts +++ b/activities/part-substitution-assessment/__tests__/activity.test.ts @@ -226,6 +226,11 @@ describe('报告模版:编辑面与只读面各就各位', () => { expect(viewHtml('difference-review')).toContain('data-class-of="difference_status"'); expect(viewHtml('difference-review')).toContain('data-class-of="recommendation_level"'); expect(viewHtml('difference-review')).not.toContain('data-slot="difference_status"'); + const landing = viewHtml('landing-confirm'); + for (const col of ['request_status', 'current_stage', 'analysis_status', 'recommendation_level']) { + expect(landing, col).toContain(`data-class-of="${col}"`); + expect(landing, col).not.toContain(`data-slot="${col}"`); + } }); it('宿主拒推含脚本的模版', async () => { diff --git a/activities/part-substitution-assessment/src/views/report.ts b/activities/part-substitution-assessment/src/views/report.ts index 32d3828..ceb3637 100644 --- a/activities/part-substitution-assessment/src/views/report.ts +++ b/activities/part-substitution-assessment/src/views/report.ts @@ -282,6 +282,18 @@ const EXTRA_CSS = ` .proto-root .jc-tag.t-risk.v-low { color: var(--ok); background: var(--ok-soft); } .proto-root .jc-tag.t-risk.v-medium { color: var(--warn-accent); background: var(--warn-soft); } .proto-root .jc-tag.t-risk.v-high, .proto-root .jc-tag.t-risk.v-critical { color: var(--danger); background: var(--danger-soft); } +/* + * 需求状态(P-01 tally 列)与当前阶段(自由文本,但活动只写 assessing/gate03 两个机器码)—— + * 落账确认件是放行签字页,不许把机器码摆给签字的人看(本仓栽过两次同款:BT 层级、 + * key_person_change);current_stage 的取值域由本活动自己写死,两档映射即完整。 + */ +.proto-root .jc-tag.t-reqstat.v-pending::after { content: "待处理"; } +.proto-root .jc-tag.t-reqstat.v-responded::after { content: "已响应"; } +.proto-root .jc-tag.t-reqstat.v-won::after { content: "已成交"; } +.proto-root .jc-tag.t-reqstat.v-abandoned::after { content: "已放弃"; } +.proto-root .jc-tag.t-reqstat.v-closed::after { content: "已关闭"; } +.proto-root .jc-tag.t-stage.v-assessing::after { content: "评估中"; } +.proto-root .jc-tag.t-stage.v-gate03::after { content: "提交 ACT-GATE-03"; } /* 绑定区:四项锁定的灰底只读行 */ .proto-root .jc-bound { display: grid; grid-template-columns: 140px 1fr; gap: 6px 14px; padding: 10px 14px; margin: 8px 0 14px; background: var(--soft); border: 1px solid var(--line-soft); border-radius: 9px; font-size: 13px; } .proto-root .jc-bound b { color: var(--ink-3); font-weight: 600; } @@ -677,8 +689,8 @@ const P01_TABLE = `
| ${ro('verification_requirement')} | ${ro('output_ref', 'mono')} | ${ro('next_action')} | -${ro('current_stage', 'mono')} | -${ro('request_status', 'mono')} | +${tag('t-stage', 'current_stage')} | +${tag('t-reqstat', 'request_status')} |