From 36636f27074089d44d33a1b4711d7b6506abbbe3 Mon Sep 17 00:00:00 2001 From: CaptainB Date: Thu, 9 Oct 2025 11:10:13 +0800 Subject: [PATCH] chore: improve loading state management in ToolFormDrawer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1062445 --user=刘瑞斌 【工具】创建工具完成后,在抽屉收起前可以再次点击创建,导致可重复创建工具 https://www.tapd.cn/62980211/s/1781953 --- ui/src/views/tool/ToolFormDrawer.vue | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ui/src/views/tool/ToolFormDrawer.vue b/ui/src/views/tool/ToolFormDrawer.vue index 63b11c055..e2cd6ecab 100644 --- a/ui/src/views/tool/ToolFormDrawer.vue +++ b/ui/src/views/tool/ToolFormDrawer.vue @@ -415,9 +415,10 @@ const submit = async (formEl: FormInstance | undefined) => { if (!formEl) return await formEl.validate((valid: any) => { if (valid) { + loading.value = true if (isEdit.value) { loadSharedApi({ type: 'tool', systemType: apiType.value }) - .putTool(form.value?.id as string, form.value, loading) + .putTool(form.value?.id as string, form.value) .then((res: any) => { MsgSuccess(t('common.editSuccess')) emit('refresh', res.data) @@ -426,13 +427,16 @@ const submit = async (formEl: FormInstance | undefined) => { .then(() => { visible.value = false }) + .finally(() => { + loading.value = false + }) } else { const obj = { folder_id: folder.currentFolder?.id, ...form.value, } loadSharedApi({ type: 'tool', systemType: apiType.value }) - .postTool(obj, loading) + .postTool(obj) .then((res: any) => { MsgSuccess(t('common.createSuccess')) emit('refresh') @@ -441,6 +445,9 @@ const submit = async (formEl: FormInstance | undefined) => { .then(() => { visible.value = false }) + .finally(() => { + loading.value = false + }) } } })