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