riku
2020-09-15 dded7fe1d51cb3da855d02201ca150c9b7fd0495
app/src/main/java/cn/flightfeather/thirdapp/module/inspection/MenuProblemUpdateActivity.kt
@@ -71,6 +71,36 @@
        problemVo = intent.getSerializableExtra("problemlistVo") as ProblemlistVo
    }
    override fun onSuggestionLoaded() {
        super.onSuggestionLoaded()
        if (problemVo != null && viewModel.suggestionList.value?.isNotEmpty() == true) {
            //整改建议
            var advice = problemVo!!.advise
            var getSuggestion = false
            for (i in viewModel.suggestionList.value?.indices ?: 0..0) {
                val s = viewModel.suggestionList.value?.get(i)
                if (s != null && advice.contains(s)) {
                    advice = advice.replace(s, "")
                    sp_take_evidence_select_suggestion.setSelection(i)
                    getSuggestion = true
                    break
                }
            }
            //整改建议备注
            if (getSuggestion) {
                var suggestionRemark = advice.removeRange(0, 1)//删除第一个字符,括号“(”
                suggestionRemark = suggestionRemark.dropLast(1)//删除最后一个字符,括号“)”
                et_take_evidence_suggestion.setText(suggestionRemark)
            }
        }
        sp_take_evidence_select_problem_type.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) = Unit
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                onProblemTypeSelected(position)
            }
        }
    }
    override fun initObserver() {
        super.initObserver()
        viewModel.loadingOver.observe(this, Observer {
@@ -84,7 +114,6 @@
                            if (pt.guid == problemTypeId) {
                                problemType = entry.key
                                originProblemName = pt.name
                                setSelectListener()
                                return@breaking
                            }
                        }
@@ -93,6 +122,7 @@
                for (i in viewModel.problemFatherType.value?.indices ?: 0..0) {
                    if (viewModel.problemFatherType.value?.get(i) == problemType) {
                        sp_take_evidence_select_problem_type.setSelection(i)
                        onProblemTypeSelected(i)
                        break
                    }
                }
@@ -124,22 +154,6 @@
                    locationRemark = locationRemark.dropLast(1)//删除最后一个字符,括号“)”
                }
                et_take_evidence_location.setText(locationRemark)
                //整改建议
                var advice = problemVo!!.advise
                var suggestion = ""
                for (i in viewModel.suggestionList.value?.indices ?: 0..0) {
                    val s = viewModel.suggestionList.value?.get(i)
                    if (s != null && advice.contains(s)) {
                        advice = advice.replace(s, "")
                        sp_take_evidence_select_suggestion.setSelection(i)
                        break
                    }
                }
                //整改建议备注
                var suggestionRemark = advice.removeRange(0, 1)//删除第一个字符,括号“(”
                suggestionRemark = suggestionRemark.dropLast(1)//删除最后一个字符,括号“)”
                et_take_evidence_suggestion.setText(suggestionRemark)
            }
        })
@@ -224,31 +238,26 @@
        viewModel.deleteMediaFile(deleteMediaFileList)
    }
    private fun setSelectListener() {
        sp_take_evidence_select_problem_type.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) = Unit
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                val problemType = viewModel.problemFatherType.value?.get(position)
                viewModel.refreshProblems(problemType)
    private fun onProblemTypeSelected(position: Int) {
        val problemType = viewModel.problemFatherType.value?.get(position)
        viewModel.refreshProblems(problemType)
                viewModel.problemFatherType.value?.let {
                    if (it[position] == "态度") {
                        updateUIByProblemType(View.GONE)
                    } else {
                        updateUIByProblemType(View.VISIBLE)
                    }
                }
                val problemNameList = viewModel.problemMap[problemType] ?: arrayListOf()
                for (i in problemNameList.indices) {
                    if (problemNameList[i].name == originProblemName) {
                        sp_take_evidence_select_problem.setSelection(i)
                        break
                    }
                }
                viewModel.problemType.value?.get(0)?.guid?.let { viewModel.getSuggestionList(it) }
        viewModel.problemFatherType.value?.let {
            if (it[position] == "态度") {
                updateUIByProblemType(View.GONE)
            } else {
                updateUIByProblemType(View.VISIBLE)
            }
        }
        val problemNameList = viewModel.problemMap[problemType] ?: arrayListOf()
        for (i in problemNameList.indices) {
            if (problemNameList[i].name == originProblemName) {
                sp_take_evidence_select_problem.setSelection(i)
                break
            }
        }
        viewModel.problemType.value?.get(0)?.guid?.let { viewModel.getSuggestionList(it) }
    }
}