From 2b1625a768d70a000d0a046e6fa3ca4a472590c6 Mon Sep 17 00:00:00 2001 From: 123 <123@qq.com> Date: Wed, 21 May 2025 11:53:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=AC=E7=AB=A0=E7=AE=A1=E7=90=86=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BF=AE=E5=A4=8D=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/operate/materialSeal/types.ts | 2 +- src/views/operate/materialSeal/index.vue | 28 +++++++++++++++++++----- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/api/operate/materialSeal/types.ts b/src/api/operate/materialSeal/types.ts index fe72d3a..8cfb66c 100644 --- a/src/api/operate/materialSeal/types.ts +++ b/src/api/operate/materialSeal/types.ts @@ -22,7 +22,7 @@ export interface MaterialSealVO { /** * 印章管理员姓名 */ - sealAdminName: string | number; + sealAdminName: string; /** * 启用状态 diff --git a/src/views/operate/materialSeal/index.vue b/src/views/operate/materialSeal/index.vue index 91556ea..2ae112f 100644 --- a/src/views/operate/materialSeal/index.vue +++ b/src/views/operate/materialSeal/index.vue @@ -124,6 +124,7 @@ import { listMaterialSeal, getMaterialSeal, delMaterialSeal, addMaterialSeal, up import { MaterialSealVO, MaterialSealQuery, MaterialSealForm } from '@/api/operate/materialSeal/types'; import UserSelect from '@/components/UserSelect/index.vue'; import { UserVO } from '@/api/system/user/types'; +import { RefSymbol } from '@vue/reactivity'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; const materialSealList = ref([]); @@ -229,7 +230,8 @@ const handleAdd = () => { reset(); dialog.visible = true; dialog.title = '添加公章管理'; - selectUserList.value=[]; + selectUserList.value = []; // 确保新建时清空管理员列表 + form.value.sealAdminId = ''; // 清空表单中的管理员ID(关键!) }; /** 修改按钮操作 */ @@ -315,17 +317,31 @@ const handleExport = () => { //打开人员 const openUserSelect = () => { - userSelectRef.value.open(); - console.log(userSelectRef) - selectUserIds.value = selectUserList.value.map((item) => item.userId).join(','); + if (userSelectRef.value) { + userSelectRef.value.open(); + // 确保 UserSelect 的 data 是数组格式(即使单选也传数组) + userSelectRef.value.$el.querySelector('input')?.focus(); // 可选:自动聚焦输入框 + console.log('selectUserList') + console.log(selectUserList) + if (selectUserList.value.length !== 0) { + console.log('selectUserList不为空') + selectUserIds.value = selectUserList.value.map((item) => item.userId).join(','); + } + + } }; //确认人员 const userSelectCallBack = (data: UserVO[]) => { if (data && data.length > 0) { selectUserList.value = data; - selectUserIds.value = selectUserList.value.map((item) => item.userId).join(','); - form.value.sealAdminId = selectUserIds.value; + selectUserIds.value = data[0].userId.toString(); + // 单选模式下直接取第一个用户的ID + form.value.sealAdminId = selectUserIds.value; // 同步到表单(关键!) + } else { + selectUserList.value = []; + selectUserIds.value = ''; + form.value.sealAdminId = ''; // 清空表单 } }; //删除人员