riku
2025-10-31 1897c4ad5fa73b3f0a36e1aa0e1e9000302a6ace
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
101
102
103
104
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.widget.LinearLayoutManager
import android.view.LayoutInflater
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.RankVo
import cn.flightfeather.thirdappmodule.bean.vo.SceneConstructionSite
import cn.flightfeather.thirdappmodule.bean.vo.TaskFrequencyVo
import cn.flightfeather.thirdappmodule.module.base.BaseActivity
import cn.flightfeather.thirdappmodule.module.task.SceneDetailViewModel
import cn.flightfeather.thirdappmodule.util.CommonUtils
import cn.flightfeather.thirdappmodule.util.Constant
import kotlinx.android.synthetic.main.dialog_scene_subinfo.*
import kotlinx.android.synthetic.main.fragment_analysis_over_view.*
 
/**
 * 场景施工阶段管理界面
 * 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 {
            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, android.R.layout.simple_list_item_single_choice, this) {
            @SuppressLint("NotifyDataSetChanged")
            override fun bindView(holder: MyViewHolder?, obj: String?, isSelected: Boolean, position: Int) {
                holder?.setText(R.id.text1, obj)
                    ?.setOnItemClickListener {
                        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
        }
    }
}