diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/uld/edit/UldEditViewModel.kt b/app/src/main/java/com/lukouguoji/aerologic/page/uld/edit/UldEditViewModel.kt index afed20b..e3f38a9 100644 --- a/app/src/main/java/com/lukouguoji/aerologic/page/uld/edit/UldEditViewModel.kt +++ b/app/src/main/java/com/lukouguoji/aerologic/page/uld/edit/UldEditViewModel.kt @@ -30,6 +30,14 @@ class UldEditViewModel : BaseViewModel() { ) ) + // 来源下拉列表 + val sourceList = MutableLiveData>( + listOf( + KeyValue("空运", "空运"), + KeyValue("陆运", "陆运"), + ) + ) + // 所属航司下拉列表(数据源:POST /typeCode/intCarrier) val carrierList = MutableLiveData>(emptyList()) @@ -40,7 +48,8 @@ class UldEditViewModel : BaseViewModel() { else if (modify) DetailsPageType.Modify else DetailsPageType.Details if (id.isEmpty()) { - // 新增:直接加载航司列表 + // 新增:所在港默认 HFE,直接加载航司列表 + uldBean.value = ULDBean(nowPort = "HFE") loadCarrierList(null) } else { getData() @@ -79,7 +88,7 @@ class UldEditViewModel : BaseViewModel() { }) { onSuccess = { showToast(it.msg.noNull(if (isAdd) "新增成功" else "修改成功")) - if (isAdd) uldBean.value = ULDBean() else getData() + if (isAdd) uldBean.value = ULDBean(nowPort = "HFE") else getData() } } } diff --git a/app/src/main/res/layout/activity_uld_edit.xml b/app/src/main/res/layout/activity_uld_edit.xml index 8460770..910db0b 100644 --- a/app/src/main/res/layout/activity_uld_edit.xml +++ b/app/src/main/res/layout/activity_uld_edit.xml @@ -121,6 +121,49 @@ + + + + + + + + + + + + completeSpace="@{4}" /> - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/module_base/src/main/java/com/lukouguoji/module_base/bean/ULDBean.kt b/module_base/src/main/java/com/lukouguoji/module_base/bean/ULDBean.kt index b690fbe..bd66acf 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/bean/ULDBean.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/bean/ULDBean.kt @@ -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) diff --git a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayout.kt b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayout.kt index 4d9a996..53ca9e3 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayout.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayout.kt @@ -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) } diff --git a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayoutNew.kt b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayoutNew.kt index 54ac9e7..09ed48d 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayoutNew.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/ui/weight/data/layout/PadDataLayoutNew.kt @@ -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) } } }