From ca8bc638ba9cbca3f5f6a4d497d45f92e70064f3 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期三, 16 四月 2025 08:44:15 +0800 Subject: [PATCH] add: 火车票和航班处理 --- app/src/main/java/com/example/firstapp/activity/PickupActivity.kt | 72 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt b/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt index 9713e2c..8c7cac4 100644 --- a/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt +++ b/app/src/main/java/com/example/firstapp/activity/PickupActivity.kt @@ -14,11 +14,25 @@ class PickupActivity : AppCompatActivity() { private lateinit var binding: ActivityPickupBinding private lateinit var expressAdapter: ExpressPackageAdapter + + // 添加类型常量 + companion object { + const val TYPE_EXPRESS = "express" + const val TYPE_REPAYMENT = "repayment" + const val TYPE_INCOME = "income" + const val TYPE_TRAIN = "train" + const val TYPE_FLIGHT = "flight" + } + + private var pageType = TYPE_EXPRESS override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityPickupBinding.inflate(layoutInflater) setContentView(binding.root) + + // 获取页面类型 + pageType = intent.getStringExtra("page_type") ?: TYPE_EXPRESS initViews() loadData() @@ -39,17 +53,41 @@ finish() } - // 修改底部按钮点击事件 - binding.btnPickupAll.setOnClickListener { - showPickupConfirmDialog() + // 设置底部按钮文本并添加点击事件 + binding.btnPickupAll.apply { + text = getButtonText() + setOnClickListener { + showPickupConfirmDialog() + } } + } + private fun getConfirmMessage(): String { + return when (pageType) { + TYPE_EXPRESS -> "是否确认取出所有包裹?" + TYPE_REPAYMENT -> "是否确认处理所有还款?" + TYPE_INCOME -> "是否确认处理所有收入?" + TYPE_TRAIN -> "是否确认处理所有火车票?" + TYPE_FLIGHT -> "是否确认处理所有机票?" + else -> "是否确认处理所有项目?" + } + } + + private fun getButtonText(): String { + return when (pageType) { + TYPE_EXPRESS -> "全部取件" + TYPE_REPAYMENT -> "全部还款" + TYPE_INCOME -> "全部收款" + TYPE_TRAIN -> "全部处理票务" + TYPE_FLIGHT -> "全部处理机票" + else -> "全部处理" + } } private fun showPickupConfirmDialog() { AlertDialog.Builder(this) - .setTitle("确认取件") - .setMessage("是否确认取出所有包裹?") + .setTitle(getButtonText()) + .setMessage(getConfirmMessage()) .setPositiveButton("确认") { _, _ -> handlePickupAll() } @@ -61,7 +99,7 @@ lifecycleScope.launch { try { // 处理单个包裹取件 -// Core.code.pickup(pack.trackingNumber) + Core.code.pickup(pack.id) // 重新加载数据 loadData() // 通知MainActivity刷新 @@ -79,12 +117,12 @@ val packages = expressAdapter.currentList // 批量处理取件 packages.forEach { pack -> -// Core.code.pickup(pack.trackingNumber) + Core.code.pickup(pack.id) } // 清空列表 expressAdapter.submitList(emptyList()) // 更新包裹数量显示 - binding.tvPackageCount.text = "共0个包裹" + binding.tvPackageCount.text = getCountText(0) // 通知MainActivity刷新 setResult(RESULT_OK) } catch (e: Exception) { @@ -92,6 +130,17 @@ // 如果出错则重新加载数据 loadData() } + } + } + + private fun getCountText(count: Int): String { + return when (pageType) { + TYPE_EXPRESS -> "共${count}个包裹" + TYPE_REPAYMENT -> "共${count}笔还款" + TYPE_INCOME -> "共${count}笔收入" + TYPE_TRAIN -> "共${count}张车票" + TYPE_FLIGHT -> "共${count}张机票" + else -> "共${count}个" } } @@ -103,15 +152,16 @@ val codes = Core.code.getByKeyword(stationName) val packages = codes.map { code -> ExpressPackage( - company = code.name ?: company, + id = code.id, + company = code.secondLevel ?: company, trackingNumber = code.code, - date = code.overtime + createTime = code.createTime ) } expressAdapter.submitList(packages) binding.tvStationName.text = stationName - binding.tvPackageCount.text = "共${packages.size}个包裹" + binding.tvPackageCount.text = getCountText(packages.size) } } } \ No newline at end of file -- Gitblit v1.9.3