diff --git a/frontend/src/lib/terms.ts b/frontend/src/lib/terms.ts index 22b032c2..780367c1 100644 --- a/frontend/src/lib/terms.ts +++ b/frontend/src/lib/terms.ts @@ -3194,6 +3194,8 @@ export const RUN_COMPARE_TEXT = { menu: '与上一次对比', /** 上一次失败、取消、还没结束:基准是再往前成功的那一次,不能说成「上一次」 */ menuLastOk: '与上一次成功的运行对比', + /** 没有默认基准(多为工作流的第一次运行):没有「上一次」可比,点了去对比页手动选 */ + menuPick: '选择基准对比…', menuSealedOnly: '运行结束并封存后才能对比', /** 没有 workflow_id 的运行:画布、问数据里没保存就运行的,或者工作流删掉之后被置空的。服务端只比同一个已保存的工作流 */ menuNoWorkflow: '工作流未保存或已删除,无法对比', @@ -3240,8 +3242,8 @@ export const RUN_COMPARE_TEXT = { pickGone: (id: string, missing: boolean) => `${id}(${missing ? '记录不存在' : '无法读取'})`, // 页面状态 noTarget: '未指定要对比的运行', - /** 菜单项的两种叫法都写上:上一次没有成功时,菜单里写的是「与上一次成功的运行对比」 */ - noTargetHint: '在运行详情的「更多」菜单中选择「与上一次对比」或「与上一次成功的运行对比」,即可对照本次与上一次成功的运行', + /** 不逐个列菜单项的叫法(看有没有默认基准、是不是紧挨着的上一次,有三种),只说在哪里打开、默认比的是哪一次 */ + noTargetHint: '可从运行详情的「更多」菜单打开对比,默认以上一次成功的运行为基准', toRuns: '前往记录', finding: '正在查找基准运行…', loading: '正在对比两次运行…', @@ -3400,17 +3402,24 @@ export const RUN_COMPARE_TEXT = { /** * 运行详情「工件」页签(pages/runs/ArtifactsPane.tsx):这次运行按内容校验值存下的每一件东西,按节点分组。筛选按 - * pages/runs/model.ts 的 artifactGroup 分三组:证据快照是结论里数字的出处;核查记录是双盲复算、反方审稿、审批质询对 - * 结论的核查与问答,单独一组,不和数字的出处混在一起;节点产出是过程里的中间值。各种工件的名字和说明在 model.ts, - * 后来新加的放在这里(质询回答的在 INQUIRY_TEXT) + * pages/runs/model.ts 的 artifactGroup 分三组:证据快照是取数、检索的原始结果和口径卡、报告文档、表结构;核查记录是 + * 双盲复算、反方审稿、审批质询对结论的核查与问答,单独一组;节点产出是过程里的中间值。按种类归组:核查、质询时执行的 + * 查询仍是查询快照,在证据快照里(一次运行里这类查询可能比流程本身的还多),所以证据快照不能说成「结论里的数字都从 + * 这里来」。各种工件的名字和说明在 model.ts,后来新加的放在这里(质询回答的在 INQUIRY_TEXT) */ export const RUN_ARTIFACTS_TEXT = { + /** 运行详情「工件」页签头上的悬停:人先看到的这句要和页签里的三组对得上。清单还没取回来时不写件数 */ + tabTitle: (n?: number | null) => + (n == null ? '本次运行保存的证据、核查记录和产出' : `${n} 件:证据快照、核查记录和每个节点每一次的产出`), filterGroup: '按类型筛选工件', filter: { all: '全部', evidence: '证据快照', verify: '核查记录', output: '节点产出' } as Record, - /** 筛选按钮的悬停:这一组装的是什么。核查时执行的查询按种类仍是查询快照,归在证据快照里,要说一声 */ + /** + * 筛选按钮的悬停:这一组装的是什么。核查、质询时执行的查询按种类仍是查询快照、在证据快照里,两组都要说一声; + * 核查记录这一组列的是行上的种类名(双盲复算对照、反方审稿记录、质询回答) + */ filterHint: { - evidence: '查询、工具调用、知识检索的原始结果,以及口径卡、报告文档和查询时的表结构:结论里的数字从这里来', - verify: '双盲复算的对照、反方审稿的记录、审批质询的回答:对结论的核查与问答。核查时执行的查询,快照归在证据快照里', + evidence: '查询、工具调用、知识检索的原始结果,口径卡、报告文档和表结构;含核查、质询时执行的查询', + verify: '对结论的核查与问答:双盲复算对照、反方审稿记录、质询回答;其间执行的查询见「证据快照」', output: '每个节点每执行一次的产出:循环里每一轮都有一件', } as Record, /** 同一个节点同一类的第几件:循环里几十件节点产出要分得开 */ diff --git a/frontend/src/pages/runs/ArtifactsPane.tsx b/frontend/src/pages/runs/ArtifactsPane.tsx index 4e79503a..59dd881a 100644 --- a/frontend/src/pages/runs/ArtifactsPane.tsx +++ b/frontend/src/pages/runs/ArtifactsPane.tsx @@ -80,7 +80,8 @@ const FIRST_ROWS = 300 * * 每一行按列表这一栏自己的宽度排(容器查询,不看视口:详情区在宽屏上也可能很窄)。窄时 * 说明换到第二行占满整行,第一行留种类、校验值、大小和时刻;以前挤在一行里,390px - * 宽时说明只剩三个字。序号和第几次尝试放在截断的范围外,按钮的悬停写全说明。 + * 宽时说明只剩三个字。序号和第几次尝试放在截断的范围外,按钮的悬停写全说明。再窄 + * (320px 的手机)时收起校验值,每行仍是两行。 */ export function ArtifactsPane({ list, graph, trace, labelOf, onMoment }: { list: ArtifactList @@ -261,8 +262,12 @@ function Group({ nodeId, rows, total, graph, trace, labelOf, t0, t1, onOpen, onM {about} {extra && {extra}} - {a.id.slice(0, 8)} - {formatBytes(a.size)} + {/* 校验值和大小一起排、一起折行:分开时更窄的屏上大小会单独折到种类下面、校验值留在右边。窄于 22rem(320px + 的手机)时收起校验值,第一行才放得下种类和大小;打开后的查看器里写着校验值 */} + + {a.id.slice(0, 8)} + {formatBytes(a.size)} + {at != null && onMoment ? (