This commit is contained in:
2025-11-27 17:17:17 +08:00
parent 29b1875fa5
commit 0fbb9c3704
32 changed files with 1156 additions and 4 deletions

View File

@@ -0,0 +1,100 @@
package com.lukouguoji.gjc.page.assemble
import android.content.Context
import android.content.Intent
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import com.alibaba.android.arouter.facade.annotation.Route
import com.lukouguoji.gjc.R
import com.lukouguoji.gjc.databinding.ActivityIntExpAssembleStartBinding
import com.lukouguoji.gjc.viewModel.IntExpAssembleStartViewModel
import com.lukouguoji.module_base.base.BaseBindingActivity
import com.lukouguoji.module_base.base.CommonAdapter
import com.lukouguoji.module_base.router.ARouterConstants
/**
* 国际出港-开始组装页面
*/
@Route(path = ARouterConstants.ACTIVITY_URL_INT_EXP_ASSEMBLE_START)
class IntExpAssembleStartActivity :
BaseBindingActivity<ActivityIntExpAssembleStartBinding, IntExpAssembleStartViewModel>() {
private var assembleInfoAdapter: CommonAdapter? = null
private var assemblePositionAdapter: CommonAdapter? = null
private var waybillAdapter: CommonAdapter? = null
companion object {
@JvmStatic
fun start(context: Context) {
val starter = Intent(context, IntExpAssembleStartActivity::class.java)
context.startActivity(starter)
}
}
override fun layoutId() = R.layout.activity_int_exp_assemble_start
override fun viewModelClass() = IntExpAssembleStartViewModel::class.java
override fun initOnCreate(savedInstanceState: Bundle?) {
setBackArrow("开始组装")
binding.viewModel = viewModel
// 初始化列表
initRecyclerViews()
// 加载模拟数据
viewModel.initMockData()
// 观察数据变化
observeData()
}
/**
* 初始化RecyclerView
*/
private fun initRecyclerViews() {
// 左侧组装信息列表
assembleInfoAdapter = CommonAdapter(
this,
viewModel.assembleInfoLayoutId,
viewModel.assembleInfoViewHolder
)
binding.rvAssembleInfo.layoutManager = LinearLayoutManager(this)
binding.rvAssembleInfo.adapter = assembleInfoAdapter
// 左侧组装位置列表
assemblePositionAdapter = CommonAdapter(
this,
viewModel.assemblePositionLayoutId,
viewModel.assemblePositionViewHolder
)
binding.rvAssemblePosition.layoutManager = LinearLayoutManager(this)
binding.rvAssemblePosition.adapter = assemblePositionAdapter
// 右侧运单列表
waybillAdapter = CommonAdapter(
this,
viewModel.waybillLayoutId,
viewModel.waybillViewHolder
)
binding.rvWaybillList.layoutManager = LinearLayoutManager(this)
binding.rvWaybillList.adapter = waybillAdapter
}
/**
* 观察数据变化
*/
private fun observeData() {
viewModel.assembleInfoList.observe(this) { list ->
assembleInfoAdapter?.refresh(list)
}
viewModel.assemblePositionList.observe(this) { list ->
assemblePositionAdapter?.refresh(list)
}
viewModel.waybillList.observe(this) { list ->
waybillAdapter?.refresh(list)
}
}
}