enum BoxingMode { singleCode, // 单码装箱 multiCode, // 多码凑箱 } enum BoxingPhase { waiting, // 等待扫码 scanned, // 已扫码,显示信息 submitted, // 已提交成功 } class BoxingPageArguments { final BoxingMode initialMode; final List autoScanCodes; const BoxingPageArguments({ required this.initialMode, required this.autoScanCodes, }); } class ManyToOnePackedItem { final int boxItemId; final String zongpaiNo; final String? paichanNo; final String? workOrderNo; final int boxNo; final int quantity; final int? totalQuantity; const ManyToOnePackedItem({ required this.boxItemId, required this.zongpaiNo, this.paichanNo, required this.workOrderNo, required this.boxNo, required this.quantity, this.totalQuantity, }); ManyToOnePackedItem copyWith({ int? boxNo, int? quantity, int? totalQuantity, }) { return ManyToOnePackedItem( boxItemId: boxItemId, zongpaiNo: zongpaiNo, paichanNo: paichanNo, workOrderNo: workOrderNo, boxNo: boxNo ?? this.boxNo, quantity: quantity ?? this.quantity, totalQuantity: totalQuantity ?? this.totalQuantity, ); } }