From bbe72251a8d164b3532a5a276c6748fc16b55e39 Mon Sep 17 00:00:00 2001 From: shay7sev Date: Thu, 19 Mar 2026 20:35:54 +0800 Subject: [PATCH] fix(store): fix --- components/label/components/RecoverModal.tsx | 7 +++++-- components/label/components/TopTools.tsx | 10 +++++++++- components/label/utils/paperjs.ts | 3 +++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/components/label/components/RecoverModal.tsx b/components/label/components/RecoverModal.tsx index 1d180d1..598cfa9 100644 --- a/components/label/components/RecoverModal.tsx +++ b/components/label/components/RecoverModal.tsx @@ -20,6 +20,9 @@ const RecoverModal = ({ open, handleCancel, handleOk }: ComponentProps) => { initialValues: { name: "", }, + validate: { + name: (value) => (value.length < 1 ? "请选择备份" : null), + }, }) const [options, setOptions] = useState([]) @@ -59,8 +62,8 @@ const RecoverModal = ({ open, handleCancel, handleOk }: ComponentProps) => { data={options} searchable label="备份名称" - key="backup_name" - {...form.getInputProps("backup_name")} + key="name" + {...form.getInputProps("name")} /> ) diff --git a/components/label/components/TopTools.tsx b/components/label/components/TopTools.tsx index e627c9c..c3fd693 100644 --- a/components/label/components/TopTools.tsx +++ b/components/label/components/TopTools.tsx @@ -967,8 +967,16 @@ const TopTools = ( if (!renderPolygons) return let taskLabelData = await storage.getItem(taskDetail!.id.toString()) if (taskLabelData) { + const backupData = taskLabelData.state?.[name] + if (!name || !backupData) { + notifications.show({ + color: "yellow", + message: "备份不存在或尚未选择备份", + }) + return + } const finalData = adjustAllPoints( - taskLabelData.state[name], + backupData, usePaperStore.getState().rasterScale ) for (const entry of finalData.entries()) { diff --git a/components/label/utils/paperjs.ts b/components/label/utils/paperjs.ts index 7172799..fa04c08 100644 --- a/components/label/utils/paperjs.ts +++ b/components/label/utils/paperjs.ts @@ -118,6 +118,9 @@ export const adjustAllPoints: ( string, Map >() + if (!(nestedMap instanceof Map)) { + return adjustedMap + } nestedMap.forEach((innerMap, outerKey) => { const scale = allScale[outerKey] if (scale) {