From c3daa41f1062712526b76d8e2a581d0f0f55c5e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E7=BA=A2=E5=85=B5?= <374362909@qq.com> Date: Thu, 5 Mar 2026 00:15:04 +0800 Subject: [PATCH] fix --- src/views/purchase/purchasingAccept/form.vue | 27 ++++++++- .../accept/AcceptCommonForm.vue | 58 +++++++++---------- .../accept/PurchasingAcceptModal.vue | 8 ++- 3 files changed, 62 insertions(+), 31 deletions(-) diff --git a/src/views/purchase/purchasingAccept/form.vue b/src/views/purchase/purchasingAccept/form.vue index 553bdde..c1d9b72 100644 --- a/src/views/purchase/purchasingAccept/form.vue +++ b/src/views/purchase/purchasingAccept/form.vue @@ -3,6 +3,16 @@ :close-on-click-modal="false" draggable> + + + + + + + + + + @@ -49,7 +59,7 @@ import { useDict } from '/@/hooks/dict'; import { rule } from '/@/utils/validate'; import { useMessage } from "/@/hooks/message"; -import { getObj, addObj, putObj, validateExist } from '/@/api/purchase/purchasingAccept'; +import { getObj, addObj, putObj, validateExist, getCommonConfigWithBatches } from '/@/api/purchase/purchasingAccept'; // ========== 2. 组件定义 ========== // 定义组件事件 @@ -70,6 +80,10 @@ const form = reactive({ acceptAddress: '', // 验收地点 batch: '', // 验收批次 question: '', // 问题意见 + purchaserId: '', // 采购人员ID + purchaserName: '', // 采购人员姓名 + assetAdminId: '', // 资产管理员ID + assetAdminName: '', // 资产管理员姓名 }); // ========== 4. 字典数据处理 ========== @@ -86,6 +100,17 @@ const getPurchasingAcceptData = async (id: string) => { const { data } = await getObj({ id: id }); // 直接将第一条数据赋值给表单 Object.assign(form, data[0]); + + // 获取采购人员和资产管理员信息 + if (form.purchaseId) { + const { data: commonData } = await getCommonConfigWithBatches(form.purchaseId); + if (commonData && commonData.common) { + form.purchaserId = commonData.common.purchaserId || ''; + form.purchaserName = commonData.common.purchaserName || ''; + form.assetAdminId = commonData.common.assetAdminId || ''; + form.assetAdminName = commonData.common.assetAdminName || ''; + } + } } catch (error) { useMessage().error('获取数据失败'); } finally { diff --git a/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue b/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue index 67b6469..5454eb0 100644 --- a/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue +++ b/src/views/purchase/purchasingrequisition/accept/AcceptCommonForm.vue @@ -208,6 +208,12 @@ const loadContractOptions = async () => { } } +const onContractSelectVisibleChange = (visible: boolean) => { + if (visible && form.hasContract === '1' && contractOptions.value.length === 0) { + loadContractOptions() + } +} + const searchPurchaser = async (query: string) => { if (!query) { purchaserOptions.value = [] @@ -240,9 +246,29 @@ const searchAssetAdmin = async (query: string) => { } } -const onContractSelectVisibleChange = (visible: boolean) => { - if (visible && form.hasContract === '1' && contractOptions.value.length === 0) { - loadContractOptions() +const onPurchaserChange = (teacherNo: string) => { + if (!teacherNo) { + form.purchaserId = '' + form.purchaserName = '' + return + } + const selected = purchaserOptions.value.find((item: any) => item.teacherNo === teacherNo) + if (selected) { + form.purchaserId = selected.teacherNo + form.purchaserName = selected.realName || selected.name + } +} + +const onAssetAdminChange = (teacherNo: string) => { + if (!teacherNo) { + form.assetAdminId = '' + form.assetAdminName = '' + return + } + const selected = assetAdminOptions.value.find((item: any) => item.teacherNo === teacherNo) + if (selected) { + form.assetAdminId = selected.teacherNo + form.assetAdminName = selected.realName || selected.name } } @@ -296,32 +322,6 @@ onMounted(() => { } }) -const onPurchaserChange = (teacherNo: string) => { - if (!teacherNo) { - form.purchaserId = '' - form.purchaserName = '' - return - } - const selected = purchaserOptions.value.find((item: any) => item.teacherNo === teacherNo) - if (selected) { - form.purchaserId = selected.teacherNo - form.purchaserName = selected.realName || selected.name - } -} - -const onAssetAdminChange = (teacherNo: string) => { - if (!teacherNo) { - form.assetAdminId = '' - form.assetAdminName = '' - return - } - const selected = assetAdminOptions.value.find((item: any) => item.teacherNo === teacherNo) - if (selected) { - form.assetAdminId = selected.teacherNo - form.assetAdminName = selected.realName || selected.name - } -} - const rules: FormRules = { isInstallment: [{ required: true, message: '请选择是否分期验收', trigger: 'change' }], totalPhases: [{ required: true, message: '请输入分期次数', trigger: 'blur' }], diff --git a/src/views/purchase/purchasingrequisition/accept/PurchasingAcceptModal.vue b/src/views/purchase/purchasingrequisition/accept/PurchasingAcceptModal.vue index f36d557..6cd1b96 100644 --- a/src/views/purchase/purchasingrequisition/accept/PurchasingAcceptModal.vue +++ b/src/views/purchase/purchasingrequisition/accept/PurchasingAcceptModal.vue @@ -177,7 +177,13 @@ const loadData = async () => { if (config?.common) { applyInfo.value = config.common - // 仅当存在已保存批次时,才用接口数据回填公共信息;否则保持 open() 中的默认清空值 + // 采购人员和资产管理员始终回填 + commonForm.value.purchaserId = config.common.purchaserId || '' + commonForm.value.purchaserName = config.common.purchaserName || '' + commonForm.value.assetAdminId = config.common.assetAdminId || '' + commonForm.value.assetAdminName = config.common.assetAdminName || '' + + // 其他字段仅当存在已保存批次时回填 if (config?.batches?.length) { Object.assign(commonForm.value, { hasContract: config.common.hasContract || '0',