feat: ULD新增编辑表单增加来源、入库时间、所在港字段
- 编辑表单新增来源(空运/陆运)、入库时间、所在港(默认HFE)三个字段 - 列表项同步显示来源、所在港、位置、入库时间,去掉备注展示并收窄首列 - PadDataLayoutNew 新增 DATETIME 类型,支持年月日时分秒选择 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,6 +19,14 @@ data class ULDBean(
|
||||
var status: String = "",
|
||||
// 备注
|
||||
var remark: String = "",
|
||||
// 来源(空运、陆运)
|
||||
var source: String = "",
|
||||
// 入库时间 yyyy-MM-dd HH:mm:ss
|
||||
var inStoreTime: String = "",
|
||||
// 所在港
|
||||
var nowPort: String = "",
|
||||
// 位置信息
|
||||
var nowPosition: String = "",
|
||||
){
|
||||
val checked = ObservableBoolean(false)
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ class PadDataLayout : FrameLayout {
|
||||
setOnClickListener(null)
|
||||
}
|
||||
|
||||
DataLayoutType.DATE -> {
|
||||
DataLayoutType.DATE, DataLayoutType.DATETIME -> {
|
||||
tv.visibility = VISIBLE
|
||||
et.visibility = GONE
|
||||
spinner.visibility = GONE
|
||||
@@ -258,4 +258,5 @@ enum class DataLayoutType {
|
||||
INPUT, // 文本
|
||||
SPINNER, // 下拉选择
|
||||
DATE, // 日期
|
||||
DATETIME, // 日期时间(yyyy-MM-dd HH:mm:ss)
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.lukouguoji.module_base.adapter.visible
|
||||
import com.lukouguoji.module_base.interfaces.IOnFocusChangeListener
|
||||
import com.lukouguoji.module_base.interfaces.IOnSpinnerSelected
|
||||
import com.lukouguoji.module_base.ktx.formatDate
|
||||
import com.lukouguoji.module_base.ktx.formatDateTime
|
||||
import com.lukouguoji.module_base.ktx.getActivity
|
||||
import com.lukouguoji.module_base.ktx.loge
|
||||
import com.lukouguoji.module_base.util.Common
|
||||
@@ -182,6 +183,18 @@ class PadDataLayoutNew : FrameLayout {
|
||||
}
|
||||
}
|
||||
|
||||
// 选择日期时间(yyyy-MM-dd HH:mm:ss)
|
||||
private val dateTimeClick: (v: View) -> Unit = {
|
||||
if (enable) {
|
||||
Common.onYearMonthDayTime(context.getActivity(), value) { year, month, day, hour, minute, second ->
|
||||
val calendar = Calendar.getInstance()
|
||||
calendar.set(year, month - 1, day, hour, minute, second)
|
||||
value = calendar.time.formatDateTime()
|
||||
refreshCallBack?.invoke()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
init {
|
||||
initView()
|
||||
}
|
||||
@@ -252,7 +265,7 @@ class PadDataLayoutNew : FrameLayout {
|
||||
setOnClickListener(null)
|
||||
}
|
||||
|
||||
DataLayoutType.DATE -> {
|
||||
DataLayoutType.DATE, DataLayoutType.DATETIME -> {
|
||||
tv.visibility = VISIBLE
|
||||
et.visibility = GONE
|
||||
spinner.visibility = GONE
|
||||
@@ -263,7 +276,7 @@ class PadDataLayoutNew : FrameLayout {
|
||||
iv.layoutParams.width = dp20
|
||||
iv.layoutParams.height = dp20
|
||||
|
||||
setOnClickListener(dateClick)
|
||||
setOnClickListener(if (type == DataLayoutType.DATETIME) dateTimeClick else dateClick)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user