1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
package cn.flightfeather.thirdappmodule.module.inspection
 
import android.arch.lifecycle.Observer
import android.arch.lifecycle.ViewModelProviders
import android.os.Bundle
import android.view.View
import android.widget.TextView
import cn.flightfeather.thirdappmodule.R
import cn.flightfeather.thirdappmodule.bean.entity.Scense
import cn.flightfeather.thirdappmodule.databinding.SceneHistoryViewModel
import cn.flightfeather.thirdappmodule.module.base.BaseActivity
import kotlinx.android.synthetic.main.dialog_scene_history.*
 
/**
 * 场景历史情况提示界面
 * Date: 2025/10/27
 */
class MenuSceneHistoryActivity : BaseActivity() {
    inner class HistoryItemView(val title: String, val show: Boolean, val parentView: View, val titleView: TextView)
 
    // 传入的场景对象
    private var scene: Scense? = null
 
    override fun getLayoutId(): Int = R.layout.dialog_scene_history
 
    lateinit var viewModel: SceneHistoryViewModel
 
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
 
        viewModel = ViewModelProviders.of(this).get(SceneHistoryViewModel::class.java)
 
        scene = intent.getSerializableExtra("scene") as Scense?
 
        initUI()
        initObserver()
        initListener()
 
        scene?.let {
            viewModel.fetchChangeInfoList(it.guid)
            viewModel.fetchProblemRecurrence(it.guid)
            viewModel.fetchInspectionKeyPoint(it.guid)
        }
    }
 
    private fun initUI() {
        // 默认先将三块内容隐藏
        cl_risk_warn.visibility = View.GONE
        cl_inspection_key_point.visibility = View.GONE
        cl_temp_inspection.visibility = View.GONE
        tv_change_rate.visibility = View.GONE
        tv_change_efficiency.visibility = View.GONE
        tv_problem_recurrence.visibility = View.GONE
    }
 
    private fun initObserver() {
        // 风险提示
        viewModel.changeInfoTxt.observe(this, Observer {
            it?.let {
                tv_change_rate.text = it
                tv_change_rate.visibility = View.VISIBLE
                cl_risk_warn.visibility = View.VISIBLE
            }
        })
        viewModel.changeEfficiencyTxt.observe(this, Observer {
            it?.let {
                tv_change_efficiency.text = it
                tv_change_efficiency.visibility = View.VISIBLE
                cl_risk_warn.visibility = View.VISIBLE
            }
        })
        viewModel.problemRecurrenceTxt.observe(this, Observer {
            it?.let {
                tv_problem_recurrence.text = it
                tv_problem_recurrence.visibility = View.VISIBLE
                cl_risk_warn.visibility = View.VISIBLE
            }
        })
        // 巡查要点
        viewModel.inspectionKeyPointTxt.observe(this, Observer {
            it?.let {
                tv_key_point.text = it
                cl_inspection_key_point.visibility = View.VISIBLE
            }
        })
        // 应急巡查
        viewModel.tempInspectionTxt.observe(this, Observer {
            it?.let {
                tv_temp_inspection.text = it
                cl_temp_inspection.visibility = View.VISIBLE
            }
        })
    }
 
    private fun initListener() {
        fab_close.setOnClickListener {
            this.finish()
        }
    }
}