From 4bb71a72fc283e62df3adf16e380633a0ef2be8d Mon Sep 17 00:00:00 2001 From: zhongwenkai <3478244299@qq.com> Date: Mon, 29 Jun 2026 12:45:25 +0800 Subject: [PATCH] =?UTF-8?q?style:=20=E5=A4=87=E4=BB=B6=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E5=85=B3=E8=81=94=E8=AE=BE=E5=A4=87=E9=80=89=E6=8B=A9=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sparepartOutbound/sparepartConfirm.vue | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/pages_function/pages/sparepartOutbound/sparepartConfirm.vue b/src/pages_function/pages/sparepartOutbound/sparepartConfirm.vue index 251b1cc..1ebf4cc 100644 --- a/src/pages_function/pages/sparepartOutbound/sparepartConfirm.vue +++ b/src/pages_function/pages/sparepartOutbound/sparepartConfirm.vue @@ -186,6 +186,7 @@ function setPurpose(value) { selectedMaintainOrder.value = null repairOrderOptions.value = [] maintainOrderOptions.value = [] + if (value === 'repair') loadRepairDeviceIds() if (value === 'maintain') loadMaintainDeviceIds() } @@ -196,10 +197,12 @@ const selectedRepairOrder = ref(null) const maintainOrderOptions = ref([]) const selectedMaintainOrder = ref(null) const maintainDeviceIds = ref(new Set()) +const repairDeviceIds = ref(new Set()) const deviceLoading = ref(false) const filteredDeviceOptions = computed(() => { if (selectedPurpose.value === 'maintain') return deviceOptions.value.filter(d => maintainDeviceIds.value.has(d.value)) + if (selectedPurpose.value === 'repair') return deviceOptions.value.filter(d => repairDeviceIds.value.has(d.value)) return deviceOptions.value }) const currentOrder = computed(() => selectedPurpose.value === 'repair' ? selectedRepairOrder.value : selectedMaintainOrder.value) @@ -390,6 +393,28 @@ async function loadMaintainDeviceIds() { } catch (e) { console.error('loadMaintainDeviceIds error', e) } finally { deviceLoading.value = false } } +async function loadRepairDeviceIds() { + deviceLoading.value = true + try { + // 分页获取所有维修单(每页最大100) + const allRecords = [] + for (let page = 1; page <= 5; page++) { + const res = await getDvRepairPage({ pageNo: page, pageSize: 100 }) + const data = res && res.data !== undefined ? res.data : res + const records = Array.isArray(data) ? data : (data?.list || data?.records || []) + allRecords.push(...records) + if (records.length < 100) break + } + const deviceCodes = new Set(allRecords.map(r => r.machineryCode || r.deviceCode || r.deviceName).filter(Boolean)) + const ids = new Set() + for (const d of deviceOptions.value) { + if (deviceCodes.has(d.deviceCode) || deviceCodes.has(d.label) || deviceCodes.has(d.deviceName)) ids.add(d.value) + } + repairDeviceIds.value = ids + console.log('[loadRepairDeviceIds] 维修单设备编码:', [...deviceCodes], '匹配到的设备数:', ids.size) + } catch (e) { console.error('loadRepairDeviceIds error', e) } + finally { deviceLoading.value = false } +} async function loadDevices() { try { const res = await getDeviceLedgerList({ pageNo: 1, pageSize: 100 }) @@ -525,7 +550,8 @@ onShow(async () => { } catch (e) { console.error('获取备件详情失败:', e) } } } - loadDevices() + await loadDevices() + loadRepairDeviceIds() loadWarehouses() })