From 09bfd0e1057aa42f04ba81c60667853f2282d3b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=87=E7=9D=BF=20=E5=BC=A0?= Date: Tue, 13 Oct 2026 15:58:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=89=A9=E6=96=99=E4=BC=99?= =?UTF-8?q?=E4=BC=B4=E9=80=89=E9=A1=B9=E5=92=8C=E7=A9=BA=E5=80=BC=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/Materials.vue | 38 ++++++++++++++++++++++++------ frontend/src/views/materialForm.js | 2 +- 2 files changed, 32 insertions(+), 8 deletions(-) diff --git a/frontend/src/views/Materials.vue b/frontend/src/views/Materials.vue index 5b91df42..7a37938a 100644 --- a/frontend/src/views/Materials.vue +++ b/frontend/src/views/Materials.vue @@ -62,8 +62,16 @@ {{ getUnitDisplay(row) }} - - + + + + + + { // 检索框却只给有效物料的话,作废的那些就搜不出来(而这一页正是恢复它们的入口)。 // 业务单据页(入库/出库/申请)仍用只有有效物料的 materialOptions。 materialsStore.fetchHistoricalMaterialOptions() - const [categoryResponse, unitResponse, supplierResponse, manufacturerResponse] = await Promise.all([ + const [categoryResult, unitResult, supplierResult, manufacturerResult] = await Promise.allSettled([ materialCategoriesApi.list(), unitsApi.list(), loadPartners('supplier'), loadPartners('manufacturer') ]) - categories.value = categoryResponse.data || [] - units.value = (unitResponse.data || []).filter(item => item.status === 'active') - suppliers.value = supplierResponse - manufacturers.value = manufacturerResponse + if (categoryResult.status === 'fulfilled') { + categories.value = categoryResult.value.data || [] + } else { + console.error('加载物料分类失败:', categoryResult.reason) + } + if (unitResult.status === 'fulfilled') { + units.value = (unitResult.value.data || []).filter(item => item.status === 'active') + } else { + console.error('加载计量单位失败:', unitResult.reason) + } + if (supplierResult.status === 'fulfilled') { + suppliers.value = supplierResult.value + } else { + console.error('加载供应商失败:', supplierResult.reason) + } + if (manufacturerResult.status === 'fulfilled') { + manufacturers.value = manufacturerResult.value + } else { + console.error('加载制造商失败:', manufacturerResult.reason) + } }) async function loadPartners(role) { diff --git a/frontend/src/views/materialForm.js b/frontend/src/views/materialForm.js index 148d8d77..dbe27bb0 100644 --- a/frontend/src/views/materialForm.js +++ b/frontend/src/views/materialForm.js @@ -34,7 +34,7 @@ export function toMaterialPayload(source) { const payload = {} for (const key of materialKeys) { payload[key] = key === 'supplier_id' || key === 'manufacturer_id' - ? source[key] ?? 0 + ? (source[key] == null || source[key] === '' ? 0 : source[key]) : key.endsWith('_id') ? source[key] ?? null : source[key] || '' } if (!payload.unit) payload.unit = '个'