From f4ef5919bdb300a67fda8246dae0a67e6b1cb706 Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Tue, 13 Oct 2026 15:34:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9B=AE=E5=BD=95=EF=BC=9A?= =?UTF-8?q?=E6=AD=A3=E5=9C=A8=E7=BC=96=E8=BE=91=E4=B8=80=E5=BC=A0=E8=A1=A8?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=AE=83=E7=9A=84=E3=80=8C=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E8=B5=B7=E8=8D=89=E8=BF=99=E5=BC=A0=E8=A1=A8=E3=80=8D=E5=85=88?= =?UTF-8?q?=E4=B8=8D=E7=BB=99=E7=82=B9=E5=B9=B6=E5=86=99=E6=98=8E=E5=85=88?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=88=96=E5=8F=96=E6=B6=88=E2=80=94=E2=80=94?= =?UTF-8?q?=E8=B5=B7=E8=8D=89=E4=BC=9A=E5=86=99=E8=BF=9B=E8=BF=99=E5=BC=A0?= =?UTF-8?q?=E8=A1=A8=EF=BC=8C=E7=BC=96=E8=BE=91=E4=B8=AD=E7=9A=84=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E5=B0=B1=E4=BC=9A=E6=92=9E=E4=B8=8A=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=86=B2=E7=AA=81=EF=BC=9Bcheck-catalog=20=E8=A1=A5=E4=B8=80?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/lib/terms.ts | 1 + frontend/src/pages/catalog/TableDetail.tsx | 7 ++++--- scripts/check-catalog.mjs | 5 +++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/terms.ts b/frontend/src/lib/terms.ts index 612fd111..2c479780 100644 --- a/frontend/src/lib/terms.ts +++ b/frontend/src/lib/terms.ts @@ -2495,6 +2495,7 @@ export const CATALOG_DRAFT_TEXT = { redraft: '重新起草这张表', redraftHint: '用模型重新起草这张表(不带补充说明,带上数据源的起草要求);人工确认、驳回过的项不会被改动', redraftBusy: '已有起草任务在进行,结束后再重新起草这张表', + redraftEditing: '正在编辑这张表,保存或取消后再重新起草', } /** 设置页「偏好设置」里「起草模型」一节(服务端 api/settings.py 的 catalog_draft 一组) */ diff --git a/frontend/src/pages/catalog/TableDetail.tsx b/frontend/src/pages/catalog/TableDetail.tsx index fcf8bc51..334bc896 100644 --- a/frontend/src/pages/catalog/TableDetail.tsx +++ b/frontend/src/pages/catalog/TableDetail.tsx @@ -457,20 +457,21 @@ export function TableDetail({ )} {writeError && {writeError}} {lastDraft && (lastDraft.status === 'failed' || lastDraft.status === 'partial') && ( - // 上次起草没写全:写明原因,给「重新起草这张表」(只含这张表、用模型)。有起草任务在进行时等它结束 + // 上次起草没写全:写明原因,给「重新起草这张表」(只含这张表、用模型)。有起草任务在进行、正在编辑这张表时 + // 先不给点:起草会写进这张表,编辑中的保存就会撞上版本冲突

{lastDraft.status === 'failed' ? DT.lastFailed : DT.lastPartial}

{taskReason(lastDraft) &&

{taskReason(lastDraft)}

} {onRedraft && ( <> - -

{draftBusy ? DT.redraftBusy : DT.redraftHint}

+

{edit ? DT.redraftEditing : draftBusy ? DT.redraftBusy : DT.redraftHint}

)}
diff --git a/scripts/check-catalog.mjs b/scripts/check-catalog.mjs index 709e77e2..afdba716 100644 --- a/scripts/check-catalog.mjs +++ b/scripts/check-catalog.mjs @@ -1214,6 +1214,11 @@ await section('数据目录 · 起草:清单上的失败标记与单表重起 await page.locator('[data-catalog-row="order_items"] [data-catalog-open-row]').click() await until(async () => (await page.locator('[data-catalog-last-draft]').count()) === 1) check('部分完成的表:详情里写「上次起草部分完成」', (await page.locator('[data-catalog-last-draft]').innerText()).includes('上次起草部分完成')) + // 正在编辑这张表:起草会写进它,编辑中的保存就会撞上版本冲突,先不给点 + await page.locator('[data-catalog-edit]').click() + check('正在编辑这张表:「重新起草这张表」不能点,写明先保存或取消', await page.locator('[data-catalog-redraft]').isDisabled() + && (await page.locator('[data-catalog-last-draft]').innerText()).includes('保存或取消后再重新起草')) + await page.locator('[data-catalog-cancel]').click() replies.createJob.push(json(MODEL_DOWN, 409)) await page.locator('[data-catalog-redraft]').click() check('模型用不了:提示原因,不打开对话框', await until(async () => (await page.locator('[data-toast]').filter({ hasText: '未配置模型接入' }).count()) > 0)