From f291a73b5b7e7d590c0f65cb1eedf2479acf33b8 Mon Sep 17 00:00:00 2001 From: YANG JIANKUAN Date: Fri, 26 Dec 2025 20:56:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9B=BD=E9=99=85=E8=BF=9B=E6=B8=AF-?= =?UTF-8?q?=E7=94=B5=E6=8A=A5=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 7 +++ .../lukouguoji/module_base/common/Constant.kt | 3 + .../module_base/router/ARouterConstants.kt | 1 + .../main/res/drawable/bg_blue_radius_8.xml | 8 +++ .../activity/IntArrTelegramDetailsActivity.kt | 46 ++++++++++++++ .../IntArrTelegramDetailsViewModel.kt | 56 +++++++++++++++++ .../activity_int_arr_telegram_details.xml | 62 +++++++++++++++++++ 7 files changed, 183 insertions(+) create mode 100644 module_base/src/main/res/drawable/bg_blue_radius_8.xml create mode 100644 module_gjj/src/main/java/com/lukouguoji/gjj/activity/IntArrTelegramDetailsActivity.kt create mode 100644 module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrTelegramDetailsViewModel.kt create mode 100644 module_gjj/src/main/res/layout/activity_int_arr_telegram_details.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6fb493b..8630dcc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -358,6 +358,13 @@ android:exported="false" android:screenOrientation="userLandscape" /> + + + diff --git a/module_base/src/main/java/com/lukouguoji/module_base/common/Constant.kt b/module_base/src/main/java/com/lukouguoji/module_base/common/Constant.kt index aef9336..15a9955 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/common/Constant.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/common/Constant.kt @@ -338,6 +338,9 @@ interface Constant { // ID const val ID = "id" + // 流向 + const val FLOW = "flow" + // 页面类型 const val PAGE_TYPE = "pageType" diff --git a/module_base/src/main/java/com/lukouguoji/module_base/router/ARouterConstants.kt b/module_base/src/main/java/com/lukouguoji/module_base/router/ARouterConstants.kt index c95aa4a..bacd947 100644 --- a/module_base/src/main/java/com/lukouguoji/module_base/router/ARouterConstants.kt +++ b/module_base/src/main/java/com/lukouguoji/module_base/router/ARouterConstants.kt @@ -167,6 +167,7 @@ object ARouterConstants { const val ACTIVITY_URL_GJJ_Tally = "/gjj/GjjTallyListActivity" //国际进港 理货 const val ACTIVITY_URL_GJJ_GOODS = "/gjj/GjjGoodsListActivity" //国际进港 货物交接 const val ACTIVITY_URL_INT_IMP_MSG_PARSE = "/gjj/IntImpMsgParseActivity" //国际进港 电报解析(电报生成) + const val ACTIVITY_URL_INT_ARR_TELEGRAM_DETAILS = "/gjj/IntArrTelegramDetailsActivity" //国际进港 电报详情 ///////////////// 航班查询模块 /** diff --git a/module_base/src/main/res/drawable/bg_blue_radius_8.xml b/module_base/src/main/res/drawable/bg_blue_radius_8.xml new file mode 100644 index 0000000..797f258 --- /dev/null +++ b/module_base/src/main/res/drawable/bg_blue_radius_8.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/activity/IntArrTelegramDetailsActivity.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/activity/IntArrTelegramDetailsActivity.kt new file mode 100644 index 0000000..a0c7695 --- /dev/null +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/activity/IntArrTelegramDetailsActivity.kt @@ -0,0 +1,46 @@ +package com.lukouguoji.gjj.activity + +import android.content.Context +import android.content.Intent +import android.os.Bundle +import com.alibaba.android.arouter.facade.annotation.Route +import com.lukouguoji.gjj.R +import com.lukouguoji.gjj.databinding.ActivityIntArrTelegramDetailsBinding +import com.lukouguoji.gjj.viewModel.IntArrTelegramDetailsViewModel +import com.lukouguoji.module_base.base.BaseBindingActivity +import com.lukouguoji.module_base.common.Constant +import com.lukouguoji.module_base.router.ARouterConstants + +/** + * 国际进港电报详情 + */ +@Route(path = ARouterConstants.ACTIVITY_URL_INT_ARR_TELEGRAM_DETAILS) +class IntArrTelegramDetailsActivity : BaseBindingActivity() { + + override fun layoutId() = R.layout.activity_int_arr_telegram_details + override fun viewModelClass() = IntArrTelegramDetailsViewModel::class.java + + override fun initOnCreate(savedInstanceState: Bundle?) { + setBackArrow("国际进港电报详情") + binding.viewModel = viewModel + + // 初始化数据 + viewModel.initOnCreated(intent) + } + + companion object { + /** + * 启动电报详情页面 + * @param context 上下文 + * @param id 电报ID + * @param flow 流向(接收0、发送1) + */ + @JvmStatic + fun start(context: Context, id: String, flow: String) { + val starter = Intent(context, IntArrTelegramDetailsActivity::class.java) + .putExtra(Constant.Key.ID, id) + .putExtra(Constant.Key.FLOW, flow) + context.startActivity(starter) + } + } +} diff --git a/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrTelegramDetailsViewModel.kt b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrTelegramDetailsViewModel.kt new file mode 100644 index 0000000..4ef83e2 --- /dev/null +++ b/module_gjj/src/main/java/com/lukouguoji/gjj/viewModel/IntArrTelegramDetailsViewModel.kt @@ -0,0 +1,56 @@ +package com.lukouguoji.gjj.viewModel + +import android.content.Intent +import androidx.lifecycle.MutableLiveData +import com.lukouguoji.module_base.base.BaseViewModel +import com.lukouguoji.module_base.bean.TelegramBean +import com.lukouguoji.module_base.common.Constant +import com.lukouguoji.module_base.http.net.NetApply +import com.lukouguoji.module_base.ktx.launchLoadingCollect +import com.lukouguoji.module_base.ktx.showToast + +/** + * 国际进港电报详情 ViewModel + */ +class IntArrTelegramDetailsViewModel : BaseViewModel() { + + var id = "" + var flow = "" + + // 电报内容 + val telegramContent = MutableLiveData("") + + /** + * 初始化 + */ + fun initOnCreated(intent: Intent) { + id = intent.getStringExtra(Constant.Key.ID) ?: "" + flow = intent.getStringExtra(Constant.Key.FLOW) ?: "" + if (id.isNotEmpty() && flow.isNotEmpty()) { + getData() + } + } + + /** + * 获取电报详情 + */ + private fun getData() { + launchLoadingCollect({ NetApply.api.getTelegramDetails(flow, id) }) { + onSuccess = { result -> + val data = result.data + if (data is TelegramBean) { + telegramContent.value = data.teleContent + } else if (data is Map<*, *>) { + telegramContent.value = data["teleContent"]?.toString() ?: "" + } + } + } + } + + /** + * 修改报文按钮点击 + */ + fun onModifyClick() { + showToast("修改报文功能待实现") + } +} diff --git a/module_gjj/src/main/res/layout/activity_int_arr_telegram_details.xml b/module_gjj/src/main/res/layout/activity_int_arr_telegram_details.xml new file mode 100644 index 0000000..3463716 --- /dev/null +++ b/module_gjj/src/main/res/layout/activity_int_arr_telegram_details.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +