From 849d5df857ee6600d861665f7e2ad96b2a600b3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com>
Date: Wed, 4 Mar 2026 12:06:20 +0800
Subject: [PATCH] =?UTF-8?q?feat(purchase):=20=E4=BA=BA=E5=91=98=E9=80=89?=
=?UTF-8?q?=E6=8B=A9=E7=BB=84=E4=BB=B6=E5=A2=9E=E5=8A=A0=E9=83=A8=E9=97=A8?=
=?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 履约验收采购人员/资产管理员下拉显示部门名称
- OrgSelector组件已选列表、搜索结果增加部门名称和工号显示
- 格式统一为:部门名称 - 姓名 (工号)
---
src/components/OrgSelector/orgItem.vue | 12 +++++++++++-
src/components/OrgSelector/selectBox.vue | 6 +++++-
src/components/OrgSelector/selectResult.vue | 6 +++++-
.../accept/AcceptCommonForm.vue | 16 ++++++++--------
4 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/src/components/OrgSelector/orgItem.vue b/src/components/OrgSelector/orgItem.vue
index 2d04e20..0444cb5 100644
--- a/src/components/OrgSelector/orgItem.vue
+++ b/src/components/OrgSelector/orgItem.vue
@@ -9,7 +9,7 @@
:type="item.type === 'dept' ? 'primary' : item.type === 'user' ? 'warning' : 'success'"
size="large"
>
- {{ item.name }}
+ {{ getDisplayName(item) }}
@@ -28,6 +28,16 @@ let props = defineProps({
},
});
+const getDisplayName = (item) => {
+ if (item.type === 'user') {
+ const commonDeptName = item.commonDeptName || '';
+ const realName = item.realName || item.name || '';
+ const teacherNo = item.teacherNo || item.username || '';
+ return commonDeptName ? `${commonDeptName} - ${realName} (${teacherNo})` : `${realName} (${teacherNo})`;
+ }
+ return item.name;
+};
+
const removeItem = (index, id, type) => {
emits(
'update:data',
diff --git a/src/components/OrgSelector/selectBox.vue b/src/components/OrgSelector/selectBox.vue
index 24a3bfb..d229f15 100644
--- a/src/components/OrgSelector/selectBox.vue
+++ b/src/components/OrgSelector/selectBox.vue
@@ -62,7 +62,11 @@
- {{ item.name }}
+
+ {{ item.commonDeptName }} -
+ {{ item.realName || item.name }}
+ ({{ item.teacherNo }})
+
diff --git a/src/components/OrgSelector/selectResult.vue b/src/components/OrgSelector/selectResult.vue
index e5078be..8c314d3 100644
--- a/src/components/OrgSelector/selectResult.vue
+++ b/src/components/OrgSelector/selectResult.vue
@@ -48,7 +48,11 @@
- {{ item.name }}
+
+ {{ item.commonDeptName }} -
+ {{ item.realName || item.name }}
+ ({{ item.teacherNo }})
+
diff --git a/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue b/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue
index 65151e1..67b6469 100644
--- a/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue
+++ b/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue
@@ -79,10 +79,10 @@
- {{ item.name }}
+ {{ item.commonDeptName ? item.commonDeptName + ' - ' : '' }}{{ item.realName || item.name }}
{{ item.teacherNo }}
@@ -105,10 +105,10 @@
- {{ item.name }}
+ {{ item.commonDeptName ? item.commonDeptName + ' - ' : '' }}{{ item.realName || item.name }}
{{ item.teacherNo }}
@@ -180,10 +180,10 @@ const syncFormFromModel = (val: Record | undefined) => {
Object.assign(form, val || {})
// 加载已选人员信息用于回显
if (form.purchaserId && form.purchaserName) {
- purchaserOptions.value = [{ teacherNo: form.purchaserId, name: form.purchaserName }]
+ purchaserOptions.value = [{ teacherNo: form.purchaserId, realName: form.purchaserName, name: form.purchaserName }]
}
if (form.assetAdminId && form.assetAdminName) {
- assetAdminOptions.value = [{ teacherNo: form.assetAdminId, name: form.assetAdminName }]
+ assetAdminOptions.value = [{ teacherNo: form.assetAdminId, realName: form.assetAdminName, name: form.assetAdminName }]
}
}
@@ -305,7 +305,7 @@ const onPurchaserChange = (teacherNo: string) => {
const selected = purchaserOptions.value.find((item: any) => item.teacherNo === teacherNo)
if (selected) {
form.purchaserId = selected.teacherNo
- form.purchaserName = selected.name
+ form.purchaserName = selected.realName || selected.name
}
}
@@ -318,7 +318,7 @@ const onAssetAdminChange = (teacherNo: string) => {
const selected = assetAdminOptions.value.find((item: any) => item.teacherNo === teacherNo)
if (selected) {
form.assetAdminId = selected.teacherNo
- form.assetAdminName = selected.name
+ form.assetAdminName = selected.realName || selected.name
}
}