diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt index 692d72b..c2ba342 100644 --- a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt @@ -35,7 +35,7 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var videoGuideViewModel: VideoGuideViewModel private lateinit var videoGuideAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -66,7 +66,6 @@ override fun initOnCreate(savedInstanceState: Bundle?) { classId = intent.getStringExtra(Constant.INTENT_PARAM) as String - weakReferenceHandler = WeakReferenceHandler(this) videoGuideViewModel = ViewModelProvider(this)[VideoGuideViewModel::class.java] getGuideVideoByPage() videoGuideViewModel.videosResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt index 692d72b..c2ba342 100644 --- a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt @@ -35,7 +35,7 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var videoGuideViewModel: VideoGuideViewModel private lateinit var videoGuideAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -66,7 +66,6 @@ override fun initOnCreate(savedInstanceState: Bundle?) { classId = intent.getStringExtra(Constant.INTENT_PARAM) as String - weakReferenceHandler = WeakReferenceHandler(this) videoGuideViewModel = ViewModelProvider(this)[VideoGuideViewModel::class.java] getGuideVideoByPage() videoGuideViewModel.videosResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt index 638ed88..cd73ac7 100644 --- a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt +++ b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt @@ -26,7 +26,7 @@ return this } - fun setActionValue(value: String): Builder { + fun setSheetValue(value: String): Builder { this.value = value return this } diff --git a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt index 7e31cba..ec48fa9 100644 --- a/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt +++ b/app/src/main/java/com/casic/br/app/fragment/CheckManifestFragment.kt @@ -94,7 +94,7 @@ if (row.checkItem == item) { CheckStandardSheet.Builder() .setContext(requireContext()) - .setActionValue(row.checkStandard) + .setSheetValue(row.checkStandard) .build().show() return@setOnClickListener } diff --git a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt index 3238eef..ebeee4c 100644 --- a/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/AddHiddenTroubleActivity.kt @@ -140,6 +140,7 @@ } override fun initEvent() { + binding.mainTypeSpinner.setSelection(0) binding.mainTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( @@ -153,6 +154,7 @@ } } + binding.subTypeSpinner.setSelection(0) binding.subTypeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( diff --git a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt index 9428875..dc30ae8 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckHistoryActivity.kt @@ -26,7 +26,7 @@ private val kTag = "CheckHistoryActivity" private val marginOffset by lazy { 10.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var checkHistoryViewModel: CheckHistoryViewModel private lateinit var checkHistoryAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt index 692d72b..c2ba342 100644 --- a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt @@ -35,7 +35,7 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var videoGuideViewModel: VideoGuideViewModel private lateinit var videoGuideAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -66,7 +66,6 @@ override fun initOnCreate(savedInstanceState: Bundle?) { classId = intent.getStringExtra(Constant.INTENT_PARAM) as String - weakReferenceHandler = WeakReferenceHandler(this) videoGuideViewModel = ViewModelProvider(this)[VideoGuideViewModel::class.java] getGuideVideoByPage() videoGuideViewModel.videosResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt index 638ed88..cd73ac7 100644 --- a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt +++ b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt @@ -26,7 +26,7 @@ return this } - fun setActionValue(value: String): Builder { + fun setSheetValue(value: String): Builder { this.value = value return this } diff --git a/app/src/main/res/layout/activity_add_hidden_trouble.xml b/app/src/main/res/layout/activity_add_hidden_trouble.xml index 98ba5ca..8d5bbc5 100644 --- a/app/src/main/res/layout/activity_add_hidden_trouble.xml +++ b/app/src/main/res/layout/activity_add_hidden_trouble.xml @@ -52,8 +52,7 @@ android:layout_height="match_parent" android:layout_marginVertical="@dimen/dp_5" android:layout_marginStart="@dimen/dp_10" - android:background="@color/white" - android:entries="@array/type_data" /> + android:background="@color/white" /> + android:background="@color/white" /> private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt index 692d72b..c2ba342 100644 --- a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt @@ -35,7 +35,7 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var videoGuideViewModel: VideoGuideViewModel private lateinit var videoGuideAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -66,7 +66,6 @@ override fun initOnCreate(savedInstanceState: Bundle?) { classId = intent.getStringExtra(Constant.INTENT_PARAM) as String - weakReferenceHandler = WeakReferenceHandler(this) videoGuideViewModel = ViewModelProvider(this)[VideoGuideViewModel::class.java] getGuideVideoByPage() videoGuideViewModel.videosResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt index 638ed88..cd73ac7 100644 --- a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt +++ b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt @@ -26,7 +26,7 @@ return this } - fun setActionValue(value: String): Builder { + fun setSheetValue(value: String): Builder { this.value = value return this } diff --git a/app/src/main/res/layout/activity_add_hidden_trouble.xml b/app/src/main/res/layout/activity_add_hidden_trouble.xml index 98ba5ca..8d5bbc5 100644 --- a/app/src/main/res/layout/activity_add_hidden_trouble.xml +++ b/app/src/main/res/layout/activity_add_hidden_trouble.xml @@ -52,8 +52,7 @@ android:layout_height="match_parent" android:layout_marginVertical="@dimen/dp_5" android:layout_marginStart="@dimen/dp_10" - android:background="@color/white" - android:entries="@array/type_data" /> + android:background="@color/white" /> + android:background="@color/white" /> private var dataBeans: MutableList = ArrayList() @@ -49,7 +49,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) checkHistoryViewModel = ViewModelProvider(this)[CheckHistoryViewModel::class.java] getCheckHistoryByPage() checkHistoryViewModel.historyResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt index 7959a06..cd54709 100644 --- a/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/CheckManifestActivity.kt @@ -5,17 +5,24 @@ import android.os.Message import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.lifecycle.ViewModelProvider import com.casic.br.app.R import com.casic.br.app.databinding.ActivityCheckManifestBinding import com.casic.br.app.extensions.initImmersionBar import com.casic.br.app.model.CheckManifestModel +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.vm.CheckManifestViewModel +import com.casic.br.app.vm.ConfigViewModel +import com.google.gson.Gson +import com.google.gson.reflect.TypeToken import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.utils.Constant import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.utils.WeakReferenceHandler @@ -23,10 +30,14 @@ class CheckManifestActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } + private val gson by lazy { Gson() } + private lateinit var configViewModel: ConfigViewModel private lateinit var checkManifestViewModel: CheckManifestViewModel private lateinit var checkManifestAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() + private var sceneModels: MutableList = ArrayList() + private var typeModels: MutableList = ArrayList() private var keywords = "" private var type = "" private var scene = "" @@ -35,11 +46,12 @@ private var isLoadMore = false override fun initEvent() { - binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + binding.sceneSpinner.setSelection(0) + binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long ) { - type = position.toString() + scene = sceneModels[position].value } override fun onNothingSelected(parent: AdapterView<*>?) { @@ -47,19 +59,19 @@ } } - binding.contentSpinner.onItemSelectedListener = - object : AdapterView.OnItemSelectedListener { - override fun onItemSelected( - parent: AdapterView<*>?, view: View?, position: Int, id: Long - ) { -// scene = resources.getStringArray(R.array.type_data)[position] - } - - override fun onNothingSelected(parent: AdapterView<*>?) { - - } + binding.typeSpinner.setSelection(0) + binding.typeSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, view: View?, position: Int, id: Long + ) { + type = typeModels[position].value } + override fun onNothingSelected(parent: AdapterView<*>?) { + + } + } + binding.searchButton.setOnClickListener { keywords = binding.searchView.text.toString().trim() getCheckManifestByPage() @@ -79,10 +91,31 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) + val sceneJsonValue = intent.getStringExtra(Constant.INTENT_PARAM) + //转为实体类 + sceneModels = gson.fromJson>( + sceneJsonValue, object : TypeToken>() {}.type + ) + val sceneArray = ArrayList() + sceneModels.forEach { + sceneArray.add(it.name) + } + val mainTypeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, sceneArray) + binding.sceneSpinner.adapter = mainTypeAdapter - - + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityCategory") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + typeModels = it.data + val typeArray = ArrayList() + typeModels.forEach { dic -> + typeArray.add(dic.name) + } + val typeAdapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, typeArray) + binding.typeSpinner.adapter = typeAdapter + } + } checkManifestViewModel = ViewModelProvider(this)[CheckManifestViewModel::class.java] getCheckManifestByPage() @@ -136,7 +169,9 @@ } } binding.recyclerView.adapter = checkManifestAdapter - binding.recyclerView.addItemDecoration(RecyclerViewItemOffsets(0, 7, 0, 7)) + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets(5.dp2px(this), 7, 5.dp2px(this), 7) + ) checkManifestAdapter.setOnItemClickedListener(object : NormalRecyclerAdapter.OnItemClickedListener { override fun onItemClicked( @@ -156,6 +191,9 @@ override fun observeRequestState() { checkManifestViewModel.loadState.observe(this) { + if (isRefresh || isLoadMore) { + return@observe + } when (it) { LoadState.Loading -> LoadingDialogHub.show(this, "数据加载中,请稍后...") LoadState.Success -> { diff --git a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt index 38b97bd..3702f74 100644 --- a/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/HiddenTroubleActivity.kt @@ -23,10 +23,10 @@ class HiddenTroubleActivity : KotlinBaseActivity(), Handler.Callback { - private lateinit var weakReferenceHandler: WeakReferenceHandler private lateinit var hiddenTroubleViewModel: HiddenTroubleViewModel private lateinit var hiddenTroubleAdapter: NormalRecyclerAdapter private val marginOffset by lazy { 10.dp2px(this) } + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private var dataBeans: MutableList = ArrayList() private var keywords = "" private var page = 1 @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) hiddenTroubleViewModel = ViewModelProvider(this)[HiddenTroubleViewModel::class.java] getHiddenTroubleMenuByPage() hiddenTroubleViewModel.troublesResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt index 6a0c42e..62396a4 100644 --- a/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/LibraryActivity.kt @@ -5,7 +5,9 @@ import com.casic.br.app.R import com.casic.br.app.databinding.ActivityLibraryBinding import com.casic.br.app.extensions.initImmersionBar +import com.casic.br.app.model.DictionaryModel import com.casic.br.app.model.LibraryModel +import com.casic.br.app.vm.ConfigViewModel import com.casic.br.app.vm.LibraryViewModel import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder @@ -14,6 +16,7 @@ import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show +import com.pengxh.kt.lite.extensions.toJson import com.pengxh.kt.lite.utils.LoadState import com.pengxh.kt.lite.utils.LoadingDialogHub import com.pengxh.kt.lite.widget.TitleBarView @@ -24,6 +27,8 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } private lateinit var libraryViewModel: LibraryViewModel + private lateinit var configViewModel: ConfigViewModel + private var sceneModels: MutableList = ArrayList() override fun initEvent() { binding.standardButton.setOnClickListener { @@ -35,7 +40,7 @@ } binding.manifestButton.setOnClickListener { - navigatePageTo() + navigatePageTo(sceneModels.toJson()) } } @@ -68,6 +73,14 @@ }) } } + + configViewModel = ViewModelProvider(this)[ConfigViewModel::class.java] + configViewModel.getDictionaryByCode(this, "securityScene") + configViewModel.dictionary.observe(this) { + if (it.code == 200) { + sceneModels = it.data + } + } } override fun initViewBinding(): ActivityLibraryBinding { diff --git a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt index 3056cba..ce3a88b 100644 --- a/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/SelectSceneActivity.kt @@ -38,6 +38,7 @@ } } + binding.sceneSpinner.setSelection(0) binding.sceneSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected( parent: AdapterView<*>?, view: View?, position: Int, id: Long diff --git a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt index 071bb04..f296917 100644 --- a/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/StandardFileActivity.kt @@ -24,7 +24,7 @@ class StandardFileActivity : KotlinBaseActivity(), Handler.Callback { private val context = this - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var standardFileViewModel: StandardFileViewModel private lateinit var standardFileAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -53,7 +53,6 @@ } override fun initOnCreate(savedInstanceState: Bundle?) { - weakReferenceHandler = WeakReferenceHandler(this) standardFileViewModel = ViewModelProvider(this)[StandardFileViewModel::class.java] getStandardFileByPage() standardFileViewModel.fileListResult.observe(this) { @@ -114,7 +113,12 @@ "附件为空,无法查看".show(context) return } - navigatePageTo(t.attachment) + + if (t.attachment.endsWith(".pdf")) { + navigatePageTo(t.attachment) + } else { + "附件格式错误,仅支持PDF文档在线预览".show(context) + } } }) } diff --git a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt index 692d72b..c2ba342 100644 --- a/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt +++ b/app/src/main/java/com/casic/br/app/view/VideoGuideActivity.kt @@ -35,7 +35,7 @@ private val context = this private val marginOffset by lazy { 5.dp2px(this) } - private lateinit var weakReferenceHandler: WeakReferenceHandler + private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } private lateinit var videoGuideViewModel: VideoGuideViewModel private lateinit var videoGuideAdapter: NormalRecyclerAdapter private var dataBeans: MutableList = ArrayList() @@ -66,7 +66,6 @@ override fun initOnCreate(savedInstanceState: Bundle?) { classId = intent.getStringExtra(Constant.INTENT_PARAM) as String - weakReferenceHandler = WeakReferenceHandler(this) videoGuideViewModel = ViewModelProvider(this)[VideoGuideViewModel::class.java] getGuideVideoByPage() videoGuideViewModel.videosResult.observe(this) { diff --git a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt index 638ed88..cd73ac7 100644 --- a/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt +++ b/app/src/main/java/com/casic/br/app/widgets/CheckStandardSheet.kt @@ -26,7 +26,7 @@ return this } - fun setActionValue(value: String): Builder { + fun setSheetValue(value: String): Builder { this.value = value return this } diff --git a/app/src/main/res/layout/activity_add_hidden_trouble.xml b/app/src/main/res/layout/activity_add_hidden_trouble.xml index 98ba5ca..8d5bbc5 100644 --- a/app/src/main/res/layout/activity_add_hidden_trouble.xml +++ b/app/src/main/res/layout/activity_add_hidden_trouble.xml @@ -52,8 +52,7 @@ android:layout_height="match_parent" android:layout_marginVertical="@dimen/dp_5" android:layout_marginStart="@dimen/dp_10" - android:background="@color/white" - android:entries="@array/type_data" /> + android:background="@color/white" /> + android:background="@color/white" /> - - - 请选择分类 - 安全管理类 - 设备实施类 - 现场作业类 - - - - 请选择分类 - - \ No newline at end of file