From b99999355c517a225b76f49b9d3657ae427b2204 Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Tue, 1 Jul 2025 19:06:02 +0800 Subject: [PATCH 01/26] =?UTF-8?q?refactor(projects):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=A7=9F=E6=88=B7=E5=A5=97=E9=A4=90=E8=8F=9C=E5=8D=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/tenant-package-operate-drawer.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/system/tenant-package/modules/tenant-package-operate-drawer.vue b/src/views/system/tenant-package/modules/tenant-package-operate-drawer.vue index 614d2758..411737f6 100644 --- a/src/views/system/tenant-package/modules/tenant-package-operate-drawer.vue +++ b/src/views/system/tenant-package/modules/tenant-package-operate-drawer.vue @@ -72,8 +72,11 @@ async function handleUpdateModelWhenEdit() { model.menuIds = []; if (props.operateType === 'add') { - menuTreeRef.value?.refresh(); Object.assign(model, createDefaultModel()); + const { data, error } = await fetchGetTenantPackageMenuTreeSelect(0); + if (error) return; + model.menuIds = data.checkedKeys; + menuOptions.value = data.menus; return; } @@ -145,7 +148,7 @@ watch(visible, () => { v-model:options="menuOptions" v-model:cascade="model.menuCheckStrictly" v-model:loading="menuLoading" - :immediate="operateType === 'add'" + :immediate="false" /> From 229e00443fa7cb796c13a0846184e25ddfe6817c Mon Sep 17 00:00:00 2001 From: AN <1983933789@qq.com> Date: Wed, 2 Jul 2025 10:26:42 +0800 Subject: [PATCH 02/26] =?UTF-8?q?fix(projects):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9C=AA=E6=B8=85=E7=A9=BA=E6=96=87=E4=BB=B6=E5=88=97=E8=A1=A8?= =?UTF-8?q?=EF=BC=8C=E4=B8=8A=E4=BC=A0=E5=9B=9E=E6=98=BE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/custom/oss-upload.vue | 47 ++++++++++--------- .../system/oss/modules/oss-upload-modal.vue | 4 +- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/components/custom/oss-upload.vue b/src/components/custom/oss-upload.vue index d4aa4f65..1dcb07c4 100644 --- a/src/components/custom/oss-upload.vue +++ b/src/components/custom/oss-upload.vue @@ -20,44 +20,45 @@ const fileList = ref([]); async function handleFetchOssList(ossIds: string[]) { startLoading(); - const { error, data } = await fetchGetOssListByIds(ossIds); - if (error) return; - fileList.value = data.map(item => ({ - id: String(item.ossId), - url: item.url, - name: item.originalName, - status: 'finished' - })); - endLoading(); + try { + const { error, data } = await fetchGetOssListByIds(ossIds); + if (error) return; + fileList.value = data.map(item => ({ + id: String(item.ossId), + url: item.url, + name: item.originalName, + status: 'finished' + })); + } catch (error) { + window.$message?.error(`获取文件列表失败: ${error}`); + } finally { + endLoading(); + } } watch( value, async val => { const ossIds = val?.split(',')?.filter(item => isNotNull(item)) || []; - const fileIds = new Set(fileList.value.filter(item => item.status === 'finished').map(item => item.id)); - if (ossIds.every(item => fileIds.has(item))) { - return; - } if (ossIds.length === 0) { fileList.value = []; return; } + const fileIds = new Set(fileList.value.filter(item => item.status === 'finished').map(item => item.id)); + if (ossIds.every(item => fileIds.has(item))) { + return; + } await handleFetchOssList(ossIds); }, { immediate: true } ); -watch( - fileList, - val => { - value.value = val - .filter(item => item.status === 'finished') - .map(item => item.id) - .join(','); - }, - { deep: true } -); +watch(fileList, val => { + value.value = val + .filter(item => item.status === 'finished') + .map(item => item.id) + .join(','); +});