fix(client): 修复库存列表商品名/仓库/品牌等字段显示为空

Inventory/InventoryLog fromJson 从嵌套对象读取字段:
warehouse['name']、product['name'/'code'/'spec'/'unit'/'brand'/'min_stock']

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
wangjia
2026-04-08 08:41:03 +08:00
parent 1a4afec1be
commit f1cf8f4b95
+20 -16
View File
@@ -23,20 +23,24 @@ class Inventory {
required this.quantity,
});
factory Inventory.fromJson(Map<String, dynamic> json) => Inventory(
warehouseId: (json['warehouse_id'] as num).toInt(),
warehouseName: json['warehouse_name'] as String?,
productId: (json['product_id'] as num).toInt(),
productName: json['product_name'] as String?,
productCode: json['product_code'] as String?,
productSpec: json['product_spec'] as String?,
productUnit: json['product_unit'] as String?,
productBrand: json['product_brand'] as String?,
minStock: json['min_stock'] != null
? (json['min_stock'] as num).toInt()
: null,
quantity: (json['quantity'] as num).toDouble(),
);
factory Inventory.fromJson(Map<String, dynamic> json) {
final warehouse = json['warehouse'] as Map<String, dynamic>?;
final product = json['product'] as Map<String, dynamic>?;
return Inventory(
warehouseId: (json['warehouse_id'] as num).toInt(),
warehouseName: warehouse?['name'] as String?,
productId: (json['product_id'] as num).toInt(),
productName: product?['name'] as String?,
productCode: product?['code'] as String?,
productSpec: product?['spec'] as String?,
productUnit: product?['unit'] as String?,
productBrand: product?['brand'] as String?,
minStock: product?['min_stock'] != null
? (product!['min_stock'] as num).toInt()
: null,
quantity: (json['quantity'] as num).toDouble(),
);
}
}
class InventoryLog {
@@ -68,9 +72,9 @@ class InventoryLog {
factory InventoryLog.fromJson(Map<String, dynamic> json) => InventoryLog(
warehouseId: (json['warehouse_id'] as num).toInt(),
warehouseName: json['warehouse_name'] as String?,
warehouseName: (json['warehouse'] as Map<String, dynamic>?)?['name'] as String?,
productId: (json['product_id'] as num).toInt(),
productName: json['product_name'] as String?,
productName: (json['product'] as Map<String, dynamic>?)?['name'] as String?,
direction: json['direction'] as String,
quantity: (json['quantity'] as num).toDouble(),
qtyBefore: json['qty_before'] != null