Compare commits
16 Commits
9ff3bbbefc
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d937ecef77 | |||
| 0f118391b5 | |||
| faf7698829 | |||
| f53a15abb5 | |||
| eba9b44699 | |||
| 128b7c3e4e | |||
| 3fedef27a7 | |||
| 608f1af1f4 | |||
| 0a0827f516 | |||
| 9f7b2dc27c | |||
| aa8920ec55 | |||
| b91b54acbe | |||
| 7d5b3b2438 | |||
| 30532386fb | |||
| 721b8c7128 | |||
| 8d70d6aaee |
@@ -148,7 +148,8 @@
|
||||
"Bash(sed -n '73,100p' module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpArriveViewModel.kt)",
|
||||
"Bash(sed -n '82,115p' module_gjc/src/main/java/com/lukouguoji/gjc/viewModel/IntExpStorageUseViewModel.kt)",
|
||||
"Bash(sed -n '212,240p' module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntImpManifestViewModel.kt)",
|
||||
"mcp__plugin_claude-mem_mcp-search__search"
|
||||
"mcp__plugin_claude-mem_mcp-search__search",
|
||||
"Read(//Users/kid/.claude/**)"
|
||||
],
|
||||
"deny": [],
|
||||
"ask": []
|
||||
|
||||
@@ -9,6 +9,8 @@ data class GjcCheckInPage(
|
||||
var fno: String? = null, // 航班号
|
||||
var wbNo: String? = null, // 运单号
|
||||
var hno: String? = null, // 分单号
|
||||
var dep: String? = null, // 始发站
|
||||
var dest: String? = null, // 目的站
|
||||
var pageNum: Int = 1, // 页码
|
||||
var pageSize: Int = 10 // 每页条数
|
||||
)
|
||||
|
||||
@@ -10,6 +10,8 @@ class GjcExportLoad {
|
||||
var activeId: String = "" // 运单活跃号
|
||||
var by1: String = "" // 第一承运人
|
||||
var dep: String = "" // 始发港
|
||||
var dest: String = "" // 目的港
|
||||
var range: String = "" // 航程
|
||||
var fdate: String = "" // 申报航班日期
|
||||
var fid: String = "" // 航班主键id
|
||||
var fno: String = "" // 申报航班号
|
||||
@@ -47,4 +49,14 @@ class GjcExportLoad {
|
||||
fun getFullWaybillNo(): String {
|
||||
return if (prefix.isNotEmpty()) "$prefix$no" else no
|
||||
}
|
||||
|
||||
/**
|
||||
* 航程
|
||||
* 优先取 range;为空时用 始发港-目的港 拼接
|
||||
*/
|
||||
val rangeText: String
|
||||
get() {
|
||||
if (range.isNotBlank()) return range
|
||||
return if (dep.isNotEmpty() && dest.isNotEmpty()) "$dep-$dest" else dep + dest
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,6 +167,25 @@ data class GjcMaWb(
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 航程
|
||||
* 优先取 range;为空时用 始发站-目的站 拼接
|
||||
*/
|
||||
val rangeText: String
|
||||
get() {
|
||||
if (!range.isNullOrBlank()) return range!!
|
||||
val d1 = dep?.takeIf { it.isNotBlank() } ?: ""
|
||||
val d2 = dest?.takeIf { it.isNotBlank() } ?: ""
|
||||
return if (d1.isNotEmpty() && d2.isNotEmpty()) "$d1-$d2" else d1 + d2
|
||||
}
|
||||
|
||||
/**
|
||||
* 航班日期(格式化)
|
||||
* 格式: yyyy-MM-dd
|
||||
*/
|
||||
val flightDateText: String
|
||||
get() = fdate?.let { SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(it) } ?: ""
|
||||
|
||||
/**
|
||||
* 清仓正常状态中文
|
||||
* 0-否,1-是
|
||||
|
||||
@@ -81,13 +81,15 @@ class PadSearchLayout : LinearLayout {
|
||||
|
||||
et.hint = value
|
||||
tv.hint = value
|
||||
bindAdapter(spinner, list, hint)
|
||||
// 下拉占位/选项字体与搜索输入框 hint(13sp) 保持一致
|
||||
bindAdapter(spinner, list, hint, R.layout.item_spinner_list_13sp)
|
||||
}
|
||||
|
||||
var list = emptyList<KeyValue>()
|
||||
set(value) {
|
||||
field = value
|
||||
bindAdapter(spinner, value, hint)
|
||||
// 下拉占位/选项字体与搜索输入框 hint(13sp) 保持一致
|
||||
bindAdapter(spinner, value, hint, R.layout.item_spinner_list_13sp)
|
||||
onValueSet()
|
||||
}
|
||||
|
||||
|
||||
25
module_base/src/main/res/layout/item_spinner_list_13sp.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (C) 2006 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@android:id/text1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="?android:attr/listPreferredItemHeightSmall"
|
||||
android:paddingStart="10dp"
|
||||
android:paddingEnd="10dp"
|
||||
android:textAppearance="?android:attr/textAppearanceListItemSmall"
|
||||
android:textSize="13sp" />
|
||||
@@ -26,7 +26,7 @@ class GjcAssembleAllocateActivity :
|
||||
override fun viewModelClass() = GjcAssembleAllocateViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("组装分配")
|
||||
setBackArrow("国际出港组装分配")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class GjcAssembleWeightEditActivity :
|
||||
override fun viewModelClass() = GjcAssembleWeightEditViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("修改组装重量")
|
||||
setBackArrow("国际出港修改组装重量")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ class GjcBoxWeighingActivity :
|
||||
override fun viewModelClass() = GjcBoxWeighingViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("板箱过磅")
|
||||
setBackArrow("国际出港板箱过磅")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ class GjcBoxWeighingAddActivity :
|
||||
override fun viewModelClass() = GjcBoxWeighingAddViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("板箱过磅")
|
||||
setBackArrow("国际出港板箱过磅")
|
||||
binding.viewModel = viewModel
|
||||
viewModel.initOnCreated(this, intent)
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class GjcBoxWeighingDetailsActivity :
|
||||
override fun viewModelClass() = GjcBoxWeighingDetailsViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("板箱过磅详情")
|
||||
setBackArrow("国际出港板箱过磅详情")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -278,7 +278,7 @@ class GjcFuBangActivity : BaseActivity(), View.OnClickListener {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_gjc_fu_bang)
|
||||
setBackArrow("板箱过磅")
|
||||
setBackArrow("国际出港板箱过磅")
|
||||
viewModel = ViewModelProvider(this).get(GjcFuBangViewModel::class.java)
|
||||
initView()
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class GjcHandoverActivity :
|
||||
override fun viewModelClass() = GjcHandoverViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("货物交接单")
|
||||
setBackArrow("国际出港货物交接单")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ class GjcStartReceiveActivity : BaseActivity(), View.OnClickListener {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_gjc_start_receive)
|
||||
setBackArrow("开始收运")
|
||||
setBackArrow("国际出港开始收运")
|
||||
initView()
|
||||
viewModel = ViewModelProvider(this).get(GjcStartReceiveViewModel::class.java)
|
||||
val dgrObj = JSONObject()
|
||||
|
||||
@@ -46,7 +46,7 @@ class GjcWareHouseInfoActivity : BaseActivity(), View.OnClickListener {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_gjc_ware_house_info)
|
||||
setBackArrow("仓库管理详情")
|
||||
setBackArrow("国际出港仓库管理详情")
|
||||
initView()
|
||||
|
||||
viewModel.queryInfoByIdWareHouse(id)
|
||||
|
||||
@@ -26,7 +26,7 @@ class GjcWeighingListActivity :
|
||||
override fun viewModelClass() = GjcWeighingViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出港待计重")
|
||||
setBackArrow("国际出港待计重")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ class GjcWeighingRecordDetailsActivity :
|
||||
override fun viewModelClass() = GjcWeighingRecordDetailsViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("计重明细")
|
||||
setBackArrow("国际出港计重明细")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ class GjcWeighingRecordListActivity :
|
||||
override fun viewModelClass() = GjcWeighingRecordViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("计重记录")
|
||||
setBackArrow("国际出港计重记录")
|
||||
|
||||
binding.viewModel = viewModel
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ class GjcWeighingStartActivity :
|
||||
override fun viewModelClass() = GjcWeighingStartViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("开始计重")
|
||||
setBackArrow("国际出港开始计重")
|
||||
binding.viewModel = viewModel
|
||||
viewModel.initOnCreated(this, intent)
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ class IntExpArriveActivity :
|
||||
// 注入 ARouter 参数
|
||||
ARouter.getInstance().inject(this)
|
||||
|
||||
setBackArrow("出港运抵")
|
||||
setBackArrow("国际出港运抵")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 如果有传入运单号,自动填充并触发搜索
|
||||
|
||||
@@ -26,7 +26,7 @@ class IntExpLoadActivity :
|
||||
override fun viewModelClass() = IntExpLoadViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出港装载")
|
||||
setBackArrow("国际出港装载")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 绑定分页
|
||||
|
||||
@@ -26,7 +26,7 @@ class IntExpOutHandoverActivity :
|
||||
override fun viewModelClass() = IntExpOutHandoverViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出库交接")
|
||||
setBackArrow("国际出港出库交接")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 绑定分页
|
||||
|
||||
@@ -26,7 +26,7 @@ class IntExpTallyActivity :
|
||||
override fun viewModelClass() = IntExpTallyViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出港理货")
|
||||
setBackArrow("国际出港理货")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 绑定分页
|
||||
|
||||
@@ -23,7 +23,7 @@ class IntExpAssembleActivity :
|
||||
override fun viewModelClass() = IntExpAssembleViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出港组装")
|
||||
setBackArrow("国际出港组装")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 初始化组装人下拉列表
|
||||
|
||||
@@ -63,7 +63,7 @@ class IntExpAssembleStartActivity :
|
||||
override fun viewModelClass() = IntExpAssembleStartViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("开始组装")
|
||||
setBackArrow("国际出港开始组装")
|
||||
binding.viewModel = viewModel
|
||||
|
||||
// 为ULD编号添加大写字母和数字的输入限制
|
||||
|
||||
@@ -29,7 +29,7 @@ class IntExpMoveActivity : BaseBindingActivity<ActivityIntExpMoveBinding, IntExp
|
||||
override fun viewModelClass() = IntExpMoveViewModel::class.java
|
||||
|
||||
override fun initOnCreate(savedInstanceState: Bundle?) {
|
||||
setBackArrow("出港移库")
|
||||
setBackArrow("国际出港移库")
|
||||
binding.viewModel = viewModel
|
||||
binding.activity = this
|
||||
|
||||
|
||||
@@ -202,6 +202,14 @@ class IntExpArriveViewModel : BasePageViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
// 校验申报状态:只有申报状态为 01 的记录才能删除申报
|
||||
if (selectedMaWbList.any { it.declareStatus != "01" } ||
|
||||
selectedHaWbList.any { it.arrivalStatus != "01" }
|
||||
) {
|
||||
showToast("只能删除申报状态为01的运单")
|
||||
return
|
||||
}
|
||||
|
||||
// 从接口获取删除原因列表
|
||||
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
|
||||
onSuccess = { result ->
|
||||
|
||||
@@ -456,6 +456,33 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 重新查询 ULD 信息,仅回填最新的 useId 与 ULD 状态。
|
||||
*
|
||||
* 用途:以"新增"形式进入页面、对全新 ULD 首次装货时,服务端在首票成功后才生成
|
||||
* 该 ULD 的 use 记录(useId)。装货/卸货接口返回值(GjcWarehouse)不含 useId,
|
||||
* 若不回填,后续票仍以 useId=null 提交,会被服务端当作新的 use 处理,
|
||||
* 导致无法继续往同一 ULD 组装多票。此处在每次操作成功后回填最新 useId,
|
||||
* 保证多票组装提交到同一 ULD use 记录。
|
||||
*
|
||||
* 不在此处刷新航班/组装信息列表,避免与 loadAssembledList 的航班兜底逻辑相互覆盖。
|
||||
*/
|
||||
private fun reloadUldUseId(uldNo: String) {
|
||||
if (uldNo.isEmpty()) return
|
||||
launchCollect({ NetApply.api.getUldWithConsumeWeight(uldNo) }) {
|
||||
onSuccess = { result ->
|
||||
val uldBean = result.data
|
||||
if (uldBean != null) {
|
||||
// 仅回填 useId(用于后续装货/卸货提交到同一 ULD use 记录),
|
||||
// 不改动 ULD 状态/耗材重量/航班等其它字段,避免影响表单现有逻辑。
|
||||
uldInfo.value = uldInfo.value?.apply {
|
||||
useId = uldBean.useId
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 卸货按钮点击
|
||||
*/
|
||||
@@ -589,6 +616,10 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
// 3. 【修改】区分 wbInfo 构建
|
||||
val wbInfo: Map<String, Any?>
|
||||
|
||||
// 记录本次操作运单的航班信息(用于操作成功后刷新组装信息列表)
|
||||
var operationFno = ""
|
||||
var operationFdate = ""
|
||||
|
||||
if (isLoad) {
|
||||
// 装货:从运单列表获取
|
||||
val currentWaybillList = waybillList.value
|
||||
@@ -615,6 +646,9 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
selectedWaybill.weight.toDoubleOrNull()
|
||||
}
|
||||
|
||||
operationFno = selectedWaybill.fno
|
||||
operationFdate = selectedWaybill.fdate
|
||||
|
||||
wbInfo = mapOf(
|
||||
"wbNo" to selectedWaybill.waybillNo,
|
||||
"pc" to waybillPc,
|
||||
@@ -631,6 +665,9 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
operationFno = assembleWaybill.fno
|
||||
operationFdate = assembleWaybill.fdate
|
||||
|
||||
wbInfo = mapOf(
|
||||
"wbNo" to assembleWaybill.waybillNo,
|
||||
"pc" to assembleWaybill.pieces.toLongOrNull(), // 运单件数
|
||||
@@ -665,7 +702,7 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
}) {
|
||||
onSuccess = { result ->
|
||||
// 接口成功后才显示成功提示并刷新列表
|
||||
handleOperationSuccess(operationName, isLoad, uldNo, assembleCount, assembleWeight)
|
||||
handleOperationSuccess(operationName, isLoad, uldNo, operationFno, operationFdate)
|
||||
}
|
||||
onFailed = { code, message ->
|
||||
showToast("${operationName}失败: $message")
|
||||
@@ -680,8 +717,8 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
operationName: String,
|
||||
isLoad: Boolean,
|
||||
uldNo: String,
|
||||
assembleCount: String,
|
||||
assembleWeight: String
|
||||
operationFno: String,
|
||||
operationFdate: String
|
||||
) {
|
||||
showToast("${operationName}成功")
|
||||
|
||||
@@ -693,6 +730,32 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
// 清空表单(在刷新数据前清空,避免刷新时的状态冲突)
|
||||
clearForm()
|
||||
|
||||
// 回填最新 useId(关键,用于后续装货/卸货提交到同一 ULD use 记录):
|
||||
// - 装货:以"新增"形式进入、对全新 ULD 首票装货时,服务端在首票成功后才生成
|
||||
// 该 ULD 的 use 记录,而接口返回值不含 useId,不回填则后续票以 useId=null 提交、
|
||||
// 被当作新 use 处理,无法继续多票。仅在本地 useId 尚未生成(为 0)时回填,
|
||||
// "修改"模式及已过磅 ULD 本就带 useId,保持原逻辑不变。
|
||||
// - 卸货:从组装信息列表选票卸货,同一 ULD 因 lastQueriedUldNo 防抖不会重新查询 ULD,
|
||||
// useId 会停留在卸首票前的陈旧值,故卸货成功后无条件重拉,保证可连续卸多票。
|
||||
if (isLoad) {
|
||||
if ((uldInfo.value?.useId ?: 0L) == 0L) {
|
||||
reloadUldUseId(uldNo)
|
||||
}
|
||||
} else {
|
||||
reloadUldUseId(uldNo)
|
||||
}
|
||||
|
||||
// 添加形式(全新 ULD)时航班可能未从 ULD 查询接口获取,导致组装信息列表查不出;
|
||||
// 仅在航班为空时用本次操作运单的航班信息兜底补全,ULD 已带航班时保持原值不变。
|
||||
if (assembleFlightNo.value.isNullOrEmpty() || assembleFlightDate.value.isNullOrEmpty()) {
|
||||
if (operationFno.isNotEmpty() && operationFdate.isNotEmpty()) {
|
||||
assembleFlightNo.value = operationFno
|
||||
// 与 ULD 查询保持一致,只取年月日(去掉时间部分)
|
||||
assembleFlightDate.value =
|
||||
if (operationFdate.contains(" ")) operationFdate.split(" ")[0] else operationFdate
|
||||
}
|
||||
}
|
||||
|
||||
// 清除防抖标记,强制刷新组装信息列表
|
||||
lastQueriedAssembledParams = ""
|
||||
loadAssembledList()
|
||||
@@ -1059,6 +1122,11 @@ class IntExpAssembleStartViewModel : BaseViewModel() {
|
||||
this.uldNo = uldNo
|
||||
}
|
||||
|
||||
// 将 ULD 编号填充到左上角 ULD 列表筛选框,使组装信息列表只查询该 ULD。
|
||||
// loadAssembledList() 会读取 uldSearchText 作为 uld 查询参数,因此只显示这一个 ULD 的组装信息。
|
||||
// 用户可手动清空该筛选框后重新查询,即可查看该航班的全部组装信息。
|
||||
uldSearchText.value = uldNo
|
||||
|
||||
// 更新防抖标记,确保查询能触发
|
||||
lastQueriedUldNo = ""
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import com.lukouguoji.module_base.impl.FlowBus
|
||||
import com.lukouguoji.module_base.ktx.commonAdapter
|
||||
import com.lukouguoji.module_base.ktx.launchCollect
|
||||
import com.lukouguoji.module_base.ktx.launchLoadingCollect
|
||||
import com.lukouguoji.module_base.ktx.noNull
|
||||
import com.lukouguoji.module_base.ktx.showToast
|
||||
import com.lukouguoji.module_base.ktx.toRequestBody
|
||||
import com.lukouguoji.module_base.model.ScanModel
|
||||
@@ -34,6 +35,77 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
||||
val flightDate = MutableLiveData<String>(DateUtils.getCurrentTime().formatDate()) // 航班日期
|
||||
val flightNo = MutableLiveData("") // 航班号
|
||||
val waybillNo = MutableLiveData("") // 运单号
|
||||
val depPort = MutableLiveData("") // 始发站(下拉选择)
|
||||
val depPortList = MutableLiveData<List<KeyValue>>(emptyList()) // 始发站下拉列表(始发港 + 经停港)
|
||||
val destPort = MutableLiveData("") // 目的站(航班查询自动填充,不可编辑)
|
||||
|
||||
// ========== 航班级联查询 ==========
|
||||
private var lastQueriedFlight = "" // 避免重复查询
|
||||
|
||||
/**
|
||||
* 航班日期输入完成回调
|
||||
*/
|
||||
fun onFlightDateInputComplete() {
|
||||
lastQueriedFlight = ""
|
||||
queryFlightIfReady()
|
||||
}
|
||||
|
||||
/**
|
||||
* 航班号输入完成回调
|
||||
*/
|
||||
fun onFlightNoInputComplete() {
|
||||
queryFlightIfReady()
|
||||
}
|
||||
|
||||
/**
|
||||
* 航班日期 + 航班号 均有值时,查询航班并填充始发站/目的站
|
||||
* 参考「电报生成」(/flt/intFlight):始发站下拉(始发港+经停港),目的站自动填充且只读
|
||||
*/
|
||||
private fun queryFlightIfReady() {
|
||||
val fdate = flightDate.value
|
||||
val fno = flightNo.value
|
||||
if (fdate.isNullOrEmpty() || fno.isNullOrEmpty()) return
|
||||
|
||||
val key = "$fdate-$fno"
|
||||
if (key == lastQueriedFlight) return
|
||||
lastQueriedFlight = key
|
||||
|
||||
launchCollect({
|
||||
NetApply.api.getGjFlightBean(
|
||||
mapOf(
|
||||
"fdate" to fdate,
|
||||
"fno" to fno,
|
||||
"ieFlag" to "E", // 出港
|
||||
).toRequestBody()
|
||||
)
|
||||
}) {
|
||||
onSuccess = {
|
||||
if (it.verifySuccess() && it.data != null) {
|
||||
val flight = it.data!!
|
||||
// 目的站:航班查询返回,自动填充
|
||||
destPort.value = flight.fdest.noNull()
|
||||
// 始发站下拉:始发港 + 经停港(可逗号分隔多个)
|
||||
val list = mutableListOf(KeyValue(flight.fdep.noNull(), flight.fdep.noNull()))
|
||||
flight.jtz.split(",").forEach { stop ->
|
||||
val s = stop.trim()
|
||||
if (s.isNotEmpty()) list.add(KeyValue(s, s))
|
||||
}
|
||||
depPortList.value = list
|
||||
depPort.value = flight.fdep.noNull()
|
||||
} else {
|
||||
depPortList.value = emptyList()
|
||||
depPort.value = ""
|
||||
destPort.value = ""
|
||||
}
|
||||
}
|
||||
|
||||
onFailed = { _, _ ->
|
||||
depPortList.value = emptyList()
|
||||
depPort.value = ""
|
||||
destPort.value = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ========== 统计信息 ==========
|
||||
val totalCount = MutableLiveData("0") // 合计票数
|
||||
@@ -156,6 +228,12 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
// 校验申报状态:只有装载申报状态为 01 的记录才能删除申报
|
||||
if (selectedItems.any { it.loadStatus != "01" }) {
|
||||
showToast("只能删除申报状态为01的运单")
|
||||
return
|
||||
}
|
||||
|
||||
// 从接口获取删除原因列表
|
||||
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
|
||||
onSuccess = { result ->
|
||||
@@ -199,6 +277,8 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
||||
fdate = flightDate.value?.ifEmpty { null },
|
||||
fno = flightNo.value?.ifEmpty { null },
|
||||
wbNo = waybillNo.value?.ifEmpty { null },
|
||||
dep = depPort.value?.ifEmpty { null },
|
||||
dest = destPort.value?.ifEmpty { null },
|
||||
pageNum = pageModel.page,
|
||||
pageSize = pageModel.limit
|
||||
)
|
||||
@@ -210,7 +290,9 @@ class IntExpLoadViewModel : BasePageViewModel() {
|
||||
val totalParams = GjcCheckInPage(
|
||||
fdate = flightDate.value?.ifEmpty { null },
|
||||
fno = flightNo.value?.ifEmpty { null },
|
||||
wbNo = waybillNo.value?.ifEmpty { null }
|
||||
wbNo = waybillNo.value?.ifEmpty { null },
|
||||
dep = depPort.value?.ifEmpty { null },
|
||||
dest = destPort.value?.ifEmpty { null }
|
||||
).toRequestBody()
|
||||
|
||||
// 获取列表 (带Loading)
|
||||
|
||||
@@ -202,6 +202,14 @@ class IntExpTallyViewModel : BasePageViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
// 校验申报状态:只有未申报(状态为空)的记录才能理货申报
|
||||
if (selectedMaWbList.any { !it.declareStatus.isNullOrEmpty() } ||
|
||||
selectedHaWbList.any { !it.tallyStatus.isNullOrEmpty() }
|
||||
) {
|
||||
showToast("只有未申报的运单才能理货申报")
|
||||
return
|
||||
}
|
||||
|
||||
// 构建请求参数(区分主单和分单)
|
||||
val params = mutableMapOf<String, Any?>()
|
||||
if (selectedMaWbList.isNotEmpty()) {
|
||||
@@ -249,6 +257,14 @@ class IntExpTallyViewModel : BasePageViewModel() {
|
||||
return
|
||||
}
|
||||
|
||||
// 校验申报状态:只有申报状态为 01 的记录才能删除申报
|
||||
if (selectedMaWbList.any { it.declareStatus != "01" } ||
|
||||
selectedHaWbList.any { it.tallyStatus != "01" }
|
||||
) {
|
||||
showToast("只能删除申报状态为01的运单")
|
||||
return
|
||||
}
|
||||
|
||||
// 从接口获取删除原因列表
|
||||
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
|
||||
onSuccess = { result ->
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 5.5 KiB |
@@ -160,7 +160,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="28dp"
|
||||
android:background="@color/color_f2"
|
||||
android:background="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="8dp">
|
||||
@@ -214,6 +214,12 @@
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 表头与列表项分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@color/line" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_waybill_list"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
android:layout_weight="1"
|
||||
hint='@{"请选择航班日期"}'
|
||||
icon="@{@drawable/img_date}"
|
||||
setRefreshCallBack="@{viewModel::onFlightDateInputComplete}"
|
||||
type="@{SearchLayoutType.DATE}"
|
||||
value="@={viewModel.flightDate}" />
|
||||
|
||||
@@ -46,10 +47,31 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
hint='@{"请输入航班号"}'
|
||||
setRefreshCallBack="@{viewModel::onFlightNoInputComplete}"
|
||||
type="@{SearchLayoutType.INPUT}"
|
||||
value="@={viewModel.flightNo}"
|
||||
setUpperCaseAlphanumeric="@{true}" />
|
||||
|
||||
<!-- 始发站(下拉选择:始发港 + 经停港) -->
|
||||
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
hint='@{"始发站"}'
|
||||
type="@{SearchLayoutType.SPINNER}"
|
||||
list="@{viewModel.depPortList}"
|
||||
value="@={viewModel.depPort}" />
|
||||
|
||||
<!-- 目的站(航班查询自动填充,不可编辑) -->
|
||||
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
enable="@{false}"
|
||||
hint='@{"目的站"}'
|
||||
type="@{SearchLayoutType.INPUT}"
|
||||
value="@={viewModel.destPort}" />
|
||||
|
||||
<!-- 运单号 -->
|
||||
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
|
||||
android:layout_width="0dp"
|
||||
@@ -71,10 +93,10 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.6"
|
||||
android:gravity="center_vertical|start"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="24dp">
|
||||
android:paddingHorizontal="12dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="36dp"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="500dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -28,33 +28,26 @@
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<!-- 航班信息显示 -->
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:text='@{"航班:" + model.flightInfo}'
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<!-- 分配人下拉选择 -->
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center_vertical">
|
||||
android:layout_marginHorizontal="30dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="分配人:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="16sp" />
|
||||
|
||||
<com.lukouguoji.module_base.ui.weight.search.layout.PadSearchLayout
|
||||
android:layout_width="240dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
type="@{SearchLayoutType.SPINNER}"
|
||||
list="@{model.assembleCompanyList}"
|
||||
value="@={model.allocator}" />
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -130,7 +130,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onConfirmClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -130,7 +130,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onConfirmClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -78,7 +78,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -130,7 +130,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onConfirmClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -18,14 +18,19 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_white_radius_bottom_8"
|
||||
android:orientation="vertical"
|
||||
android:paddingEnd="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- 表头 (浅灰色背景) -->
|
||||
<!-- tab 与表头分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 表头 (白色背景) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:background="@color/color_f2"
|
||||
android:background="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
@@ -91,6 +96,12 @@
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 表头与内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_storage_list"
|
||||
|
||||
@@ -18,14 +18,19 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/bg_white_radius_bottom_8"
|
||||
android:orientation="vertical"
|
||||
android:paddingEnd="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- 表头 (深绿色背景) -->
|
||||
<!-- tab 与表头分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 表头 (白色背景) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:background="@color/color_f2"
|
||||
android:background="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
@@ -111,6 +116,12 @@
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 表头与内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_warehouse_list"
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.8"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
@@ -140,7 +140,7 @@
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.7"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
@@ -217,7 +217,7 @@
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.8"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
@@ -272,7 +272,7 @@
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.7"
|
||||
android:gravity="center_vertical">
|
||||
|
||||
<TextView
|
||||
|
||||
@@ -15,12 +15,17 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@{position % 2 == 0 ? @color/white : @color/color_f2}"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- 序号 -->
|
||||
<TextView
|
||||
@@ -82,5 +87,13 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
|
||||
@@ -15,12 +15,17 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@{position % 2 == 0 ? @color/white : @color/color_f2}"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- 序号 -->
|
||||
<TextView
|
||||
@@ -102,5 +107,13 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- 第一行:运单号、状态、件数、重量 -->
|
||||
<!-- 第一行:运单号、状态、件数、重量、特码 -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -53,7 +53,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="1.3"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
android:text="运单号:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{4}" />
|
||||
completeSpace="@{5}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -79,7 +79,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
android:text="状态:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{5}" />
|
||||
completeSpace="@{4}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -104,7 +104,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
android:text="件数:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{4}" />
|
||||
completeSpace="@{3}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -129,7 +129,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="1.3"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
android:text="重量:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{5}" />
|
||||
completeSpace="@{6}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -150,21 +150,11 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 第二行:特码、航班日期、航班号、品名(中) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<!-- 特码 -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -174,7 +164,7 @@
|
||||
android:text="特码:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{4}" />
|
||||
completeSpace="@{3}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -185,11 +175,21 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 第二行:航班日期、航班号、航程、品名(中) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<!-- 航班日期 -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="1.3"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -235,11 +235,36 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 航程 -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.9"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="航程:"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{3}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@{bean.rangeText}"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 品名(中) -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_weight="1.3"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal">
|
||||
|
||||
@@ -249,7 +274,7 @@
|
||||
android:text="品名(中):"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="15sp"
|
||||
completeSpace="@{5}" />
|
||||
completeSpace="@{6}" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
@@ -262,6 +287,13 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 占位 (与第一行特码列对齐) -->
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.9"
|
||||
android:orientation="horizontal" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -16,9 +16,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
|
||||
<!-- 选项(单选框) -->
|
||||
<ImageView
|
||||
@@ -85,6 +90,12 @@
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/sub_list_divider" />
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal">
|
||||
<!-- 运单号 (weight=1.5) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.0" android:orientation="horizontal">
|
||||
<TextView completeSpace="@{4}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="运单号:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView completeSpace="@{5}" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="运单号:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.wbNo}" android:textColor="@color/colorPrimary" android:textSize="15sp" android:textStyle="bold"/>
|
||||
</LinearLayout>
|
||||
<!-- 状态 (weight=1) -->
|
||||
@@ -43,29 +43,29 @@
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{String.valueOf((int)bean.weight)}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
<!-- 第二行:特码、始发站、目的站、运单类型、分单数 -->
|
||||
<!-- 第二行:航班日期、航班号、航程、运单类型、分单数 -->
|
||||
<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:orientation="horizontal">
|
||||
<!-- 特码 (weight=1.5) -->
|
||||
<!-- 航班日期 (weight=1.0) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.0" android:orientation="horizontal">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="特码:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.spCode}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{5}" android:text="航班日期:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.flightDateText}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
<!-- 始发站 (weight=1) -->
|
||||
<!-- 航班号 (weight=0.8) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.8" android:orientation="horizontal">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="始发站:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.dep}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="航班号:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.fno}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
<!-- 目的站 (weight=1) -->
|
||||
<!-- 航程 (weight=0.8) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.8" android:orientation="horizontal">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="目的站:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.dest}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="航程:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.rangeText}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
<!-- 运单类型 (weight=1) -->
|
||||
<!-- 运单类型 (weight=1.2) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1.2" android:orientation="horizontal">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{5}" android:text="运单类型:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{bean.awbName}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
</LinearLayout>
|
||||
<!-- 分单数 (weight=1) -->
|
||||
<!-- 分单数 (weight=0.8) -->
|
||||
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="0.8" android:orientation="horizontal">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" completeSpace="@{4}" android:text="分单数:" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{String.valueOf(bean.haWbNumber)}" android:textColor="@color/text_normal" android:textSize="15sp"/>
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="@{bean.arrivalStatus ?? ``}"
|
||||
android:text="@{bean.tallyStatus ?? ``}"
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 5.0 KiB |
@@ -175,6 +175,12 @@ class IntArrAirManifestViewModel : BasePageViewModel() {
|
||||
fun deleteDeclarationClick() {
|
||||
val (maWbList, haWbList) = getSelectedItems("请选择要删除申报的舱单") ?: return
|
||||
|
||||
// 校验申报状态:只有申报状态为 01 的舱单才能删除申报
|
||||
if (maWbList.any { it.mftStatus != "01" } || haWbList.any { it.mftStatus != "01" }) {
|
||||
showToast("只能删除申报状态为01的舱单")
|
||||
return
|
||||
}
|
||||
|
||||
// 从接口获取删除原因列表
|
||||
launchLoadingCollect({ NetApply.api.getDelReasonList() }) {
|
||||
onSuccess = { result ->
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -130,7 +130,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onConfirmClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -78,7 +78,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -130,7 +130,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onConfirmClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</data>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="600dp"
|
||||
android:layout_width="480dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/bg_dialog_f2_radius_10"
|
||||
android:gravity="center_horizontal"
|
||||
@@ -79,7 +79,7 @@
|
||||
<TextView
|
||||
style="@style/tv_bottom_btn"
|
||||
android:onClick="@{()->model.onSaveClick()}"
|
||||
android:text="保存" />
|
||||
android:text="确定" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -20,11 +20,17 @@
|
||||
android:background="@drawable/bg_white_radius_bottom_8"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- 表头 -->
|
||||
<!-- tab 与表头分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 表头 (白色背景) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:background="@color/color_f5"
|
||||
android:background="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
@@ -90,6 +96,12 @@
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 表头与内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_storage_list"
|
||||
|
||||
@@ -20,11 +20,17 @@
|
||||
android:background="@drawable/bg_white_radius_bottom_8"
|
||||
android:orientation="vertical">
|
||||
|
||||
<!-- 表头 -->
|
||||
<!-- tab 与表头分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 表头 (白色背景) -->
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:background="@color/color_f5"
|
||||
android:background="@color/white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
@@ -100,6 +106,12 @@
|
||||
android:textStyle="bold" />
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 表头与内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
<!-- 数据列表 -->
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_warehouse_list"
|
||||
|
||||
@@ -16,9 +16,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
|
||||
<!-- 选项(单选框) -->
|
||||
<ImageView
|
||||
@@ -131,6 +136,12 @@
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/sub_list_divider" />
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
|
||||
@@ -410,7 +410,7 @@
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:text="件数"
|
||||
android:textSize="14sp"
|
||||
@@ -419,7 +419,7 @@
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:text="重量"
|
||||
android:textSize="14sp"
|
||||
@@ -428,7 +428,7 @@
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:text="原始舱单"
|
||||
android:textSize="14sp"
|
||||
@@ -437,7 +437,7 @@
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:text="理货报告"
|
||||
android:textSize="14sp"
|
||||
@@ -446,7 +446,7 @@
|
||||
<TextView
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.8"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:text="品名(中)"
|
||||
android:textSize="14sp"
|
||||
|
||||
@@ -16,9 +16,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
|
||||
<!-- 选项(单选框) -->
|
||||
<ImageView
|
||||
@@ -61,7 +66,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
@@ -74,7 +79,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
@@ -87,7 +92,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
@@ -100,7 +105,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
@@ -113,7 +118,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_weight="1.8"
|
||||
android:layout_weight="1.0"
|
||||
android:gravity="center"
|
||||
android:maxLines="1"
|
||||
android:ellipsize="end"
|
||||
@@ -121,6 +126,12 @@
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/sub_list_divider" />
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
|
||||
@@ -15,12 +15,17 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@{position % 2 == 0 ? @color/white : @color/color_f2}"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- 序号 -->
|
||||
<TextView
|
||||
@@ -82,5 +87,13 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
|
||||
@@ -15,12 +15,17 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@{position % 2 == 0 ? @color/white : @color/color_f2}"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:background="@color/white"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="40dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
|
||||
<!-- 序号 -->
|
||||
<TextView
|
||||
@@ -92,5 +97,13 @@
|
||||
android:textColor="@android:color/black"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<!-- 内容分割线 -->
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/line" />
|
||||
|
||||
</LinearLayout>
|
||||
</layout>
|
||||
|
||||
@@ -16,9 +16,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
|
||||
<!-- 选项(单选框) -->
|
||||
<ImageView
|
||||
@@ -85,6 +90,12 @@
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/sub_list_divider" />
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
|
||||
@@ -16,9 +16,14 @@
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp">
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginVertical="8dp"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="10dp">
|
||||
|
||||
<!-- 选项(单选框) -->
|
||||
<ImageView
|
||||
@@ -131,6 +136,12 @@
|
||||
android:textColor="@color/text_normal"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<com.google.android.material.divider.MaterialDivider
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1px"
|
||||
android:background="@color/sub_list_divider" />
|
||||
</LinearLayout>
|
||||
|
||||
</layout>
|
||||
|
||||