Improve biz-compare UX with guided create, sheet toggles, and per-run delete.

Also sticky template field headers and biz-state pause/start endpoints.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-20 16:29:50 +08:00
parent 9b3e98ede5
commit 3d2489041a
12 changed files with 669 additions and 155 deletions

View file

@ -189,6 +189,7 @@ const en = {
colConnect: "Connect",
start: "Start schedule",
pause: "Pause",
statusPaused: "Paused",
scheduleEnabled: "Enable schedule",
scheduleOn: "Scheduled",
scheduleOff: "Manual",
@ -198,7 +199,7 @@ const en = {
confirmDelete: "Delete this task and all batches?",
deleted: "Deleted",
started: "Schedule enabled",
paused: "Schedule off (manual only)",
paused: "Schedule paused (manual only)",
collecting: "Collecting",
detail: "Details",
interval: "Interval",
@ -293,6 +294,10 @@ const en = {
templateDeleted: "Template deleted",
confirmDeleteTemplate: "Delete this compare template?",
confirmDeleteJob: "Delete this compare job and all runs?",
confirmDeleteRun: "Delete this compare run? Job config is kept.",
deleteJob: "Delete job",
deleteRun: "Delete run",
runDeleted: "Compare run deleted",
emptyTemplates: "No templates yet. Create one or import a JSON file.",
exportTemplate: "Export",
importTemplate: "Import",
@ -406,6 +411,21 @@ const en = {
sameAsBefore: "Same as before / select…",
autoHint: "auto: new after-task batches trigger compare",
createCompare: "Create job",
createSteps: "Create steps",
stepBasics: "Basics",
stepSheets: "Sheets",
stepBatches: "Batches",
stepMapping: "Port mapping",
next: "Next",
back: "Back",
enabledSheets: "Compare sheets",
enabledSheetsHint: "Toggle sheets; all on by default. Off sheets are skipped.",
noTemplateSheets: "This template has no sheets",
needJobName: "Enter a job name",
needTemplate: "Select a compare template",
needSheets: "Enable at least one sheet",
needBeforeBatch: "Select before task and batch",
needAfterBatch: "Select after batch",
runNow: "Run now",
saveJob: "Save config",
jobSaved: "Job config saved",
@ -414,13 +434,14 @@ const en = {
detail: "Details",
edit: "Edit",
delete: "Delete",
tabConfig: "Config / batches",
tabConfig: "Job config",
tabResult: "Result",
runs: "Run history",
noRuns: "No runs yet — run a compare first",
result: "Result",
pickBatchRun: "Select compare batch",
pickRun: "Select batch…",
pickBatchRun: "Select compare run",
pickRun: "Select run…",
runCount: "{{n}} runs",
resultEmpty: "No matching diff rows",
resultFilterPh: "Filter key / values…",
kindAll: "All",

View file

@ -189,6 +189,7 @@ const zh = {
colConnect: "连通",
start: "启动周期",
pause: "暂停",
statusPaused: "已暂停",
scheduleEnabled: "启用周期调度",
scheduleOn: "周期",
scheduleOff: "手动",
@ -198,7 +199,7 @@ const zh = {
confirmDelete: "删除该业务监控任务及所有批次?",
deleted: "已删除",
started: "已启用周期采集",
paused: "已关闭周期(仅手动采集)",
paused: "已暂停周期(仅手动采集)",
collecting: "采集中",
detail: "详情",
interval: "采集周期",
@ -292,7 +293,11 @@ const zh = {
templateSaved: "模板已保存",
templateDeleted: "模板已删除",
confirmDeleteTemplate: "删除该比对模板?",
confirmDeleteJob: "删除该比对任务及全部运行记录?",
confirmDeleteJob: "删除该比对任务及全部比对记录?",
confirmDeleteRun: "删除本次比对结果?任务配置将保留。",
deleteJob: "删除任务",
deleteRun: "删除本次",
runDeleted: "比对记录已删除",
emptyTemplates: "暂无模板。可新建,或从 JSON 文件导入。",
exportTemplate: "导出",
importTemplate: "导入",
@ -405,6 +410,21 @@ const zh = {
sameAsBefore: "同操作前 / 选择…",
autoHint: "auto:操作后任务新批次到达会自动跑比对",
createCompare: "创建比对任务",
createSteps: "创建步骤",
stepBasics: "基本信息",
stepSheets: "对比项",
stepBatches: "批次",
stepMapping: "端口映射",
next: "下一步",
back: "上一步",
enabledSheets: "对比项",
enabledSheetsHint: "点击开关;默认全部开启。关闭的项不参与本次比对。",
noTemplateSheets: "该模板暂无对比表",
needJobName: "请填写任务名称",
needTemplate: "请选择比对模板",
needSheets: "请至少开启一项对比",
needBeforeBatch: "请选择操作前任务与批次",
needAfterBatch: "请选择操作后批次",
runNow: "立即比对",
saveJob: "保存配置",
jobSaved: "任务配置已保存",
@ -413,13 +433,14 @@ const zh = {
detail: "详情",
edit: "编辑",
delete: "删除",
tabConfig: "配置 / 批次",
tabConfig: "任务配置",
tabResult: "比对结果",
runs: "历史 Run",
runs: "历史比对",
noRuns: "尚无比对记录,请先执行比对",
result: "比对结果",
pickBatchRun: "选择比对批次",
pickRun: "选择批次…",
pickBatchRun: "选择比对记录",
pickRun: "选择比对记录…",
runCount: "{{n}} 次",
resultEmpty: "无匹配失败/结果行",
resultFilterPh: "筛选身份 / 字段值…",
kindAll: "全部",