feat: opt views
This commit is contained in:
@@ -47,10 +47,14 @@ data class GjjImportManifest(
|
||||
var dgrContactMame: String = "",
|
||||
// 危险品收货人通讯方式
|
||||
var dgrContactNumber: String = "",
|
||||
// 航班日期
|
||||
var fdate: String = "",
|
||||
// 航班起始站
|
||||
var fdep: String = "",
|
||||
// 航班目的站
|
||||
var fdest: String = "",
|
||||
// 航班号
|
||||
var fno: String = "",
|
||||
// 航班id
|
||||
var fid: Long = 0,
|
||||
// 运费支付方式
|
||||
@@ -114,6 +118,15 @@ data class GjjImportManifest(
|
||||
// 重量
|
||||
var weight: Double = 0.0
|
||||
) : Serializable {
|
||||
// 获取航班信息(日期去横杠/航班号)
|
||||
fun getFlightSplit(): String {
|
||||
if (fdate != "" && fno != "") {
|
||||
val (year, mon, day) = fdate.split("-")
|
||||
return "${year}${mon}${day}/${fno}"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// ========== UI扩展字段 ==========
|
||||
// 选中状态
|
||||
@Transient
|
||||
|
||||
@@ -79,12 +79,20 @@ data class GjjImportTally(
|
||||
var goodsCn: String = "",
|
||||
// 品名(英文)
|
||||
var goodsEn: String = "",
|
||||
// 放行模式
|
||||
// 放行模式(代码)
|
||||
var relMode: String = "",
|
||||
// 放行模式(名称)
|
||||
var releaseMode: String = "",
|
||||
// 放行时间(perDate)
|
||||
var perDate: String = "",
|
||||
// 放行时间
|
||||
var releaseTime: String = "",
|
||||
// 指令类型(comType)
|
||||
var comType: String = "",
|
||||
// 指令类型
|
||||
var instructionType: String = "",
|
||||
// 放行备注
|
||||
var relRemark: String = "",
|
||||
// 备注
|
||||
var remark: String = ""
|
||||
) : Serializable {
|
||||
@@ -107,5 +115,14 @@ data class GjjImportTally(
|
||||
|
||||
// 获取完整运单号
|
||||
fun getWaybillNo() = "$prefix$no"
|
||||
|
||||
// 获取航班信息(日期去横杠/航班号)
|
||||
fun getFlightSplit(): String {
|
||||
if (fdate != "" && fno != "") {
|
||||
val (year, mon, day) = fdate.split("-")
|
||||
return "${year}${mon}${day}/${fno}"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -250,6 +250,19 @@ class IntArrAirManifestViewModel : BasePageViewModel() {
|
||||
launchLoadingCollect({ NetApply.api.getIntArrAirManifestList(listParams) }) {
|
||||
onSuccess = { result ->
|
||||
isAllExpanded.value = false
|
||||
// 如果接口未返回航班日期/航班号,用筛选条件填充
|
||||
val fd = flightDate.value ?: ""
|
||||
val fn = flightNo.value ?: ""
|
||||
result.list?.forEach { airManifest ->
|
||||
airManifest.maWb?.let {
|
||||
if (it.fdate.isEmpty()) it.fdate = fd
|
||||
if (it.fno.isEmpty()) it.fno = fn
|
||||
}
|
||||
airManifest.haWbList?.forEach {
|
||||
if (it.fdate.isEmpty()) it.fdate = fd
|
||||
if (it.fno.isEmpty()) it.fno = fn
|
||||
}
|
||||
}
|
||||
pageModel.handleListBean(result.toBaseListBean())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,6 +182,18 @@ class IntImpTallyViewModel : BasePageViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
// 校验所选单据状态是否为 01(已申报)
|
||||
val invalidMaWb = selectedMaWb.firstOrNull { it.status != "01" }
|
||||
if (invalidMaWb != null) {
|
||||
showToast("运单 ${invalidMaWb.getWaybillNo()} 理货未申报,不允许删除理货")
|
||||
return
|
||||
}
|
||||
val invalidHaWb = selectedHaWb.firstOrNull { it.status != "01" }
|
||||
if (invalidHaWb != null) {
|
||||
showToast("运单 ${invalidHaWb.getWaybillNo()} 理货未申报,不允许删除理货")
|
||||
return
|
||||
}
|
||||
|
||||
// 从接口获取删除原因列表
|
||||
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
|
||||
onSuccess = { result ->
|
||||
|
||||
@@ -61,10 +61,10 @@
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
|
||||
enable="@{false}"
|
||||
title='@{"特码"}'
|
||||
title='@{"航班信息"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.spCode}'
|
||||
value='@{viewModel.dataBean.getFlightSplit()}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
@@ -77,10 +77,10 @@
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
|
||||
enable="@{false}"
|
||||
title='@{"特码"}'
|
||||
title='@{"航班信息"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.spCode}'
|
||||
value='@{viewModel.dataBean.getFlightSplit()}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
@@ -312,7 +312,7 @@
|
||||
title='@{"放行模式"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.releaseMode}'
|
||||
value='@{viewModel.dataBean.relMode}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
@@ -322,7 +322,7 @@
|
||||
title='@{"放行时间"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.releaseTime}'
|
||||
value='@{viewModel.dataBean.perDate}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
@@ -332,17 +332,17 @@
|
||||
title='@{"指令类型"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.instructionType}'
|
||||
value='@{viewModel.dataBean.comType}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.data.layout.PadDataLayoutNew
|
||||
enable="@{false}"
|
||||
title='@{"备注"}'
|
||||
title='@{"放行备注"}'
|
||||
titleLength="@{5}"
|
||||
type="@{DataLayoutType.INPUT}"
|
||||
value='@{viewModel.dataBean.remark}'
|
||||
value='@{viewModel.dataBean.relRemark}'
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1" />
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp">
|
||||
|
||||
<!-- 特码 -->
|
||||
<!-- 航班信息 -->
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -184,13 +184,13 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
completeSpace="@{4}"
|
||||
android:text="特码:" />
|
||||
completeSpace="@{5}"
|
||||
android:text="航班信息:" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{manifest.spCode ?? ``}" />
|
||||
android:text="@{manifest.getFlightSplit()}" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<!-- 特码 -->
|
||||
<!-- 航班信息 -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -192,13 +192,13 @@
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
completeSpace="@{4}"
|
||||
android:text="特码:" />
|
||||
completeSpace="@{5}"
|
||||
android:text="航班信息:" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{bean.spCode}" />
|
||||
android:text="@{bean.getFlightSplit()}" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user