feat: opt 开始组装 tree

This commit is contained in:
2025-12-18 11:34:06 +08:00
parent 1906e7ce65
commit 222ae8a0f5
6 changed files with 476 additions and 58 deletions

View File

@@ -1,12 +1,50 @@
package com.lukouguoji.module_base.bean
import androidx.databinding.ObservableBoolean
/**
* 组装信息Bean(左侧列表)
* 组装信息Bean(左侧折叠列表)
* 支持两种行类型:
* 1. 一级ULD行: 显示ULD编号、总件数、总重量
* 2. 二级运单行: 显示运单号、件数、重量
*/
class AssembleInfoBean {
// ========== 层级类型 ==========
enum class ItemType {
ULD_HEADER, // 一级ULD行
WAYBILL_DETAIL // 二级运单行
}
var itemType: ItemType = ItemType.ULD_HEADER // 行类型
// ========== 一级ULD行字段 ==========
var uldNo: String = "" // ULD编号
var weightInfo: String = "" // 重量信息(如100/290kg)
var hasArrow: Boolean = false // 是否显示箭头(可点击)
var isOrange: Boolean = false // 是否橙色文字
var showIndex: Boolean = true // 是否显示序号圆圈
var uldIndex: Int = 0 // ULD序号用于显示1、2、3...
var totalPieces: Int = 0 // 总件数(二级运单件数求和)
var totalWeight: Double = 0.0 // 总重量(二级运单重量求和)
// 展开/折叠状态使用ObservableBoolean支持DataBinding
val isExpanded: ObservableBoolean = ObservableBoolean(false)
// 子运单列表(用于数据管理,不直接显示)
var waybillChildren: MutableList<AssembleInfoBean> = mutableListOf()
// ========== 二级运单行字段 ==========
var parentUldNo: String = "" // 父级ULD编号用于关联
var wbNo: String = "" // 运单号(直接使用后端字段名)
var waybillPieces: Int = 0 // 运单件数
var waybillWeight: Double = 0.0 // 运单重量
// 原始运单数据(用于同步更新和填充表单)
var waybillData: AssembleWaybillBean? = null
// ========== 视觉样式字段 ==========
var hasArrow: Boolean = false // 是否显示箭头一级ULD行为true
var isOrange: Boolean = false // 是否橙色文字(暂保留)
var showIndex: Boolean = false // 是否显示序号圆圈改为false不再显示序号
var showIndent: Boolean = false // 是否显示缩进二级运单行为true
// 保留原有的weightInfo字段兼容性但不再使用
var weightInfo: String = ""
}