From f1cf8f4b95b4d212e55377f36374c95d91c0eb54 Mon Sep 17 00:00:00 2001 From: wangjia <809946525@qq.com> Date: Wed, 8 Apr 2026 08:41:03 +0800 Subject: [PATCH] =?UTF-8?q?fix(client):=20=E4=BF=AE=E5=A4=8D=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E5=88=97=E8=A1=A8=E5=95=86=E5=93=81=E5=90=8D/?= =?UTF-8?q?=E4=BB=93=E5=BA=93/=E5=93=81=E7=89=8C=E7=AD=89=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=98=BE=E7=A4=BA=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Inventory/InventoryLog fromJson 从嵌套对象读取字段: warehouse['name']、product['name'/'code'/'spec'/'unit'/'brand'/'min_stock'] Co-Authored-By: Claude Sonnet 4.6 --- client/lib/models/inventory.dart | 36 ++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/client/lib/models/inventory.dart b/client/lib/models/inventory.dart index ddb418b..c9a6407 100644 --- a/client/lib/models/inventory.dart +++ b/client/lib/models/inventory.dart @@ -23,20 +23,24 @@ class Inventory { required this.quantity, }); - factory Inventory.fromJson(Map 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 json) { + final warehouse = json['warehouse'] as Map?; + final product = json['product'] as Map?; + 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 json) => InventoryLog( warehouseId: (json['warehouse_id'] as num).toInt(), - warehouseName: json['warehouse_name'] as String?, + warehouseName: (json['warehouse'] as Map?)?['name'] as String?, productId: (json['product_id'] as num).toInt(), - productName: json['product_name'] as String?, + productName: (json['product'] as Map?)?['name'] as String?, direction: json['direction'] as String, quantity: (json['quantity'] as num).toDouble(), qtyBefore: json['qty_before'] != null