fix(client): 数据导入页新增入库单/出库单导入槽
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YZ4DskSRKsSiheQonFtQvx
This commit is contained in:
@@ -1271,6 +1271,10 @@ class _BatchImportWidgetState extends ConsumerState<_BatchImportWidget> {
|
||||
'格式:选项编号 | 选项名称 | 单品数量 | 备注'),
|
||||
_ImportSlot('库存', '/import/inventory',
|
||||
'格式:商品编号|商品名称|系列|规格|单位|库存数量|单价|金额|生产日期|批次|分类|所在仓库|入库日期|供应商|上次盘点|备注'),
|
||||
_ImportSlot('入库单', '/import/stock-in',
|
||||
'老系统入库单打印格式:每个文件一张单(含单据号/往来单位/日期/明细)'),
|
||||
_ImportSlot('出库单', '/import/stock-out',
|
||||
'老系统出库单打印格式:每个文件一张单(含单据号/往来单位/日期/明细)'),
|
||||
];
|
||||
|
||||
final Set<String> _selectedTables = {};
|
||||
@@ -1418,10 +1422,20 @@ class _BatchImportWidgetState extends ConsumerState<_BatchImportWidget> {
|
||||
final data = (resp.data is Map) ? resp.data as Map<String, dynamic> : <String, dynamic>{};
|
||||
if (mounted) setState(() {
|
||||
slot.success = true;
|
||||
slot.imported = (data['imported'] ?? 0) as int;
|
||||
slot.skipped = (data['skipped'] ?? 0) as int;
|
||||
slot.updated = (data['updated'] ?? 0) as int;
|
||||
slot.total = (data['total'] ?? slot.imported + slot.skipped + slot.updated) as int;
|
||||
if (data.containsKey('order_no')) {
|
||||
// 单据类导入(入库单/出库单):每个文件一张单,
|
||||
// 已存在时后端返回 {skipped: true}(布尔),不能按 int 解析。
|
||||
final skippedOne = data['skipped'] == true;
|
||||
slot.imported = skippedOne ? 0 : 1;
|
||||
slot.skipped = skippedOne ? 1 : 0;
|
||||
slot.updated = 0;
|
||||
slot.total = 1;
|
||||
} else {
|
||||
slot.imported = (data['imported'] ?? 0) as int;
|
||||
slot.skipped = (data['skipped'] ?? 0) as int;
|
||||
slot.updated = (data['updated'] ?? 0) as int;
|
||||
slot.total = (data['total'] ?? slot.imported + slot.skipped + slot.updated) as int;
|
||||
}
|
||||
slot.isProcessing = false;
|
||||
});
|
||||
} on DioException catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user