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) }}
-
-
+
+
+ {{ row.supplier_name || '-' }}
+
+
+
+
+ {{ row.manufacturer_name || '-' }}
+
+
{
// 检索框却只给有效物料的话,作废的那些就搜不出来(而这一页正是恢复它们的入口)。
// 业务单据页(入库/出库/申请)仍用只有有效物料的 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 = '个'