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 = '个'