From e234a15b428267997c903a4ed42536c5d9f14a1f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 10 十一月 2025 13:10:42 +0800
Subject: [PATCH] 2025.11.10 1. 新增巡查场景历史详情相关数据逻辑; 2. 新增工地施工阶段修改界面;
---
app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/MenuSceneInfoActivity.kt | 96 +++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 94 insertions(+), 2 deletions(-)
diff --git a/app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/MenuSceneInfoActivity.kt b/app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/MenuSceneInfoActivity.kt
index 3b12b7b..8f60378 100644
--- a/app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/MenuSceneInfoActivity.kt
+++ b/app/src/main/java/cn/flightfeather/thirdappmodule/module/inspection/MenuSceneInfoActivity.kt
@@ -1,11 +1,103 @@
package cn.flightfeather.thirdappmodule.module.inspection
+import android.annotation.SuppressLint
+import android.arch.lifecycle.Observer
+import android.arch.lifecycle.ViewModelProviders
import android.os.Bundle
-import android.support.v7.app.AppCompatActivity
+import android.support.v7.widget.LinearLayoutManager
+import android.view.View
+import cn.flightfeather.thirdappmodule.R
+import cn.flightfeather.thirdappmodule.adapter.AllRecyclerViewAdapter
+import cn.flightfeather.thirdappmodule.bean.entity.Scense
+import cn.flightfeather.thirdappmodule.bean.vo.SceneConstructionSite
+import cn.flightfeather.thirdappmodule.module.base.BaseActivity
+import cn.flightfeather.thirdappmodule.module.task.SceneDetailViewModel
+import cn.flightfeather.thirdappmodule.util.Constant
+import kotlinx.android.synthetic.main.dialog_scene_subinfo.*
-class MenuSceneInfoActivity : AppCompatActivity() {
+/**
+ * 鍦烘櫙鏂藉伐闃舵绠$悊鐣岄潰
+ * Date: 2025/10/27
+ */
+class MenuSceneInfoActivity : BaseActivity() {
+
+ private var scene: Scense? = null
+ private var statusAdapter: AllRecyclerViewAdapter<String>? = null
+
+ override fun getLayoutId(): Int = R.layout.dialog_scene_subinfo
+
+ lateinit var viewModel: SceneDetailViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+
+ viewModel = ViewModelProviders.of(this).get(SceneDetailViewModel::class.java)
+
+ scene = intent.getSerializableExtra("scene") as Scense?
+
+ initUI()
+ initObserver()
+ initListener()
+
+ viewModel.getSceneStatus {
+ statusAdapter?.notifyDataSetChanged()
+ scene?.let { viewModel.getSceneDetail(it) }
+ }
+ }
+
+ private fun initUI() {
+ view_waiting.visibility = View.VISIBLE
+ scene?.let {
+ tv_title.text = StringBuilder(it.type + getString(R.string.scene_sub_info))
+ tv_status.text = StringBuilder(it.type + getString(R.string.scene_status))
+ }
+ }
+
+ private fun initObserver() {
+ viewModel.subScene.observe(this, Observer {
+ view_waiting.visibility = View.GONE
+ val status = when (scene?.typeid.toString()) {
+ Constant.SCENE_TYPE_SITE -> {
+ (it as SceneConstructionSite?)?.siExtension1
+ }
+ else -> ""
+ }
+ var index = viewModel.sceneStatus.indexOf(status)
+ if (index == -1) index = 0
+ statusAdapter?.run {
+ setSelected(true, index)
+ notifyItemChanged(index)
+ }
+ })
+ }
+
+ private fun initListener() {
+ statusAdapter = object : AllRecyclerViewAdapter<String>(viewModel.sceneStatus, R.layout.item_simple_radio, this) {
+ @SuppressLint("NotifyDataSetChanged")
+ override fun bindView(holder: MyViewHolder?, obj: String?, isSelected: Boolean, position: Int) {
+ holder?.setText(R.id.check_text, obj)
+ ?.setChecked(R.id.check_text, isSelected)
+ ?.setOnClickListener(R.id.check_text) {
+ setAllFalse()
+ setSelected(true, position)
+ notifyDataSetChanged()
+ (viewModel.subScene.value as SceneConstructionSite?)?.siExtension1 = obj
+ }
+ }
+ }
+ val lm = LinearLayoutManager(this)
+ lm.orientation = LinearLayoutManager.VERTICAL
+ rv_status!!.layoutManager = lm
+ rv_status!!.adapter = statusAdapter
+
+
+ fab_close.setOnClickListener {
+ this.finish()
+ }
+ fab_submit.setOnClickListener {
+ viewModel.updateSceneDetail(scene) {
+ this.finish()
+ }
+ }
}
}
--
Gitblit v1.9.3