From b8213b662b915c5513afd7c37be61e15c74d02df Mon Sep 17 00:00:00 2001 From: wsm <2746563060@qq.com> Date: Tue, 11 Aug 2026 17:43:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(form):=20=E4=BF=AE=E5=A4=8D=20QA=20?= =?UTF-8?q?=E5=AE=A1=E6=9F=A5=E5=8F=91=E7=8E=B0=E7=9A=84=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=A0=91=E7=82=B9=E9=80=89=E3=80=81=E9=A2=86=E5=AF=BC=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E5=9B=9E=E6=98=BE=E4=B8=8E=E5=AF=BC=E5=87=BA=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - useTreeBiz onSelect 守卫改为 checkable != true,兼容非勾选模式点节点选中 - DeptRoleUserSelectDropDown 详情加载不再无条件清空领导下拉值 - exportXls 捕获导出异常并提示,避免静默失败 Co-Authored-By: Claude Opus 4.7 --- src/components/Form/src/jeecg/hooks/useTreeBiz.ts | 4 ++-- .../semri/userComponent/DeptRoleUserSelectDropDown.vue | 9 ++++++--- src/hooks/system/useMethods.ts | 8 +++++++- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/components/Form/src/jeecg/hooks/useTreeBiz.ts b/src/components/Form/src/jeecg/hooks/useTreeBiz.ts index ee8da4a..c51b076 100644 --- a/src/components/Form/src/jeecg/hooks/useTreeBiz.ts +++ b/src/components/Form/src/jeecg/hooks/useTreeBiz.ts @@ -77,8 +77,8 @@ export function useTreeBiz(treeRef, getList, props, realProps, emit) { * 树节点选择 */ function onSelect(keys, info) { - if (props.checkable == false) { - checkedKeys.value = props.checkStrictly ? keys.checked : keys; + if (props.checkable != true) { + checkedKeys.value = Array.isArray(keys) ? keys : [keys]; const { selectedNodes } = info; let rows = []; selectedNodes.forEach((item) => { diff --git a/src/components/semri/userComponent/DeptRoleUserSelectDropDown.vue b/src/components/semri/userComponent/DeptRoleUserSelectDropDown.vue index 242aa12..95266f7 100644 --- a/src/components/semri/userComponent/DeptRoleUserSelectDropDown.vue +++ b/src/components/semri/userComponent/DeptRoleUserSelectDropDown.vue @@ -62,9 +62,12 @@ onMounted(fetchUserList); watch( () => [props.deptId, props.roleId], - () => { - modelValue.value = ''; - fetchUserList(); + async () => { + await fetchUserList(); + const current = modelValue.value; + if (current && !userList.value.some((u) => u.username === current)) { + modelValue.value = ''; + } }, ); diff --git a/src/hooks/system/useMethods.ts b/src/hooks/system/useMethods.ts index d10879a..aedffff 100644 --- a/src/hooks/system/useMethods.ts +++ b/src/hooks/system/useMethods.ts @@ -22,7 +22,13 @@ export function useMethods() { */ async function exportXls(name, url, params, isXlsx = false) { //update-begin---author:wangshuai---date:2024-01-25---for:【QQYUN-8118】导出超时时间设置长点--- - const data = await defHttp.get({ url: url, params: params, responseType: 'blob', timeout: 60000 }, { isTransformResponse: false }); + let data; + try { + data = await defHttp.get({ url: url, params: params, responseType: 'blob', timeout: 60000 }, { isTransformResponse: false }); + } catch (error) { + createMessage.error('导出失败,请稍后重试'); + return; + } //update-end---author:wangshuai---date:2024-01-25---for:【QQYUN-8118】导出超时时间设置长点--- if (!data) { createMessage.warning('文件下载失败');