|
|
|
@ -1,34 +1,59 @@ |
|
|
|
|
package com.project.survey.ui.pointmeasure |
|
|
|
|
|
|
|
|
|
import android.view.View |
|
|
|
|
import androidx.core.os.bundleOf |
|
|
|
|
import androidx.activity.viewModels |
|
|
|
|
import com.project.survey.R |
|
|
|
|
import com.project.survey.databinding.ActivityPointMeasureListBinding |
|
|
|
|
import com.project.survey.extend.smartDismiss |
|
|
|
|
import com.project.survey.extend.toast |
|
|
|
|
import com.project.survey.logic.viewmodel.ControlNetViewModel |
|
|
|
|
import com.project.survey.logic.viewmodel.ProjectViewModel |
|
|
|
|
import com.project.survey.ui.base.BaseBindingActivity |
|
|
|
|
import com.project.survey.ui.pointmeasure.adapter.PointMeasureListAdapter |
|
|
|
|
import com.project.survey.ui.pointmeasure.measure.PointSurveyNewActivity |
|
|
|
|
import com.project.survey.util.ActivityNavUtil |
|
|
|
|
import com.scwang.smart.refresh.layout.api.RefreshLayout |
|
|
|
|
import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 点测量列表 |
|
|
|
|
*/ |
|
|
|
|
class PointMeasureListActivity : BaseBindingActivity<ActivityPointMeasureListBinding>() { |
|
|
|
|
class PointMeasureListActivity : BaseBindingActivity<ActivityPointMeasureListBinding>(), |
|
|
|
|
OnRefreshLoadMoreListener { |
|
|
|
|
|
|
|
|
|
companion object { |
|
|
|
|
const val KEY_TYPE = "KEY_TYPE" |
|
|
|
|
const val TYPE_ALL = "TYPE_ALL"//全部 |
|
|
|
|
const val TYPE_SURVEY_PLAN = "TYPE_SURVEY_PLAN"//测量计划 |
|
|
|
|
const val TYPE_PROJECT_MEASURE = "TYPE_PROJECT_MEASURE"//工程计量 |
|
|
|
|
|
|
|
|
|
fun start() { |
|
|
|
|
ActivityNavUtil.startActivity<PointMeasureListActivity> { } |
|
|
|
|
fun start(type: String) { |
|
|
|
|
ActivityNavUtil.startActivity<PointMeasureListActivity> { |
|
|
|
|
putString(KEY_TYPE, type) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private val viewModel: ProjectViewModel by viewModels() |
|
|
|
|
|
|
|
|
|
private val adapter by lazy { PointMeasureListAdapter(type) } |
|
|
|
|
private var type = "" |
|
|
|
|
private var currentPage = 1 |
|
|
|
|
private var start = 0 |
|
|
|
|
|
|
|
|
|
override fun getBinding(): ActivityPointMeasureListBinding = |
|
|
|
|
ActivityPointMeasureListBinding.inflate(layoutInflater) |
|
|
|
|
|
|
|
|
|
override fun initView() { |
|
|
|
|
immersionToolbar(mBinding.toolbar, R.string.point_measure) |
|
|
|
|
|
|
|
|
|
type = intent.getStringExtra(KEY_TYPE) ?: "" |
|
|
|
|
immersionToolbar( |
|
|
|
|
mBinding.toolbar, when (type) { |
|
|
|
|
TYPE_SURVEY_PLAN -> getString(R.string.survey_plan) |
|
|
|
|
TYPE_PROJECT_MEASURE -> getString(R.string.engineering_metrology) |
|
|
|
|
else -> "" |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(this) |
|
|
|
|
mBinding.recyclerView.setAdapter(adapter) |
|
|
|
|
adapter.isStateViewEnable = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun initListener() { |
|
|
|
@ -36,44 +61,68 @@ class PointMeasureListActivity : BaseBindingActivity<ActivityPointMeasureListBin |
|
|
|
|
mBinding.searchWidget.setOnEditorSearchListener { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
mBinding.tvAll.setOnClickListener { |
|
|
|
|
loadFirstPage() |
|
|
|
|
} |
|
|
|
|
mBinding.tvSurveyPlan.setOnClickListener { |
|
|
|
|
setBtnSelected(mBinding.tvSurveyPlan) |
|
|
|
|
switchFragment(TYPE_SURVEY_PLAN) |
|
|
|
|
// 结束测量 |
|
|
|
|
adapter.addOnItemChildClickListener(R.id.tvStopMeasure) { adapter, _, position -> |
|
|
|
|
adapter.getItem(position)?.let { bean -> |
|
|
|
|
// viewModel.updateMeasureWorkStatus(bean.BD_CLJH_ID, if (type == TYPE_SURVEY_PLAN) "BD_CLJH" else "BD_CLGZ_GCJL", "已结束") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
mBinding.tvProjectMeasured.setOnClickListener { |
|
|
|
|
setBtnSelected(mBinding.tvProjectMeasured) |
|
|
|
|
switchFragment(TYPE_PROJECT_MEASURE) |
|
|
|
|
// 进入测量 |
|
|
|
|
adapter.addOnItemChildClickListener(R.id.tvEnterMeasure) { adapter, _, position -> |
|
|
|
|
adapter.getItem(position)?.let { bean -> |
|
|
|
|
PointSurveyNewActivity.start(mContext) |
|
|
|
|
// viewModel.updateMeasureWorkStatus(bean.BD_CLJH_ID, if (type == TYPE_SURVEY_PLAN) "BD_CLJH" else "BD_CLGZ_GCJL", "执行中") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun switchFragment(type: String) { |
|
|
|
|
// val frament = PointMeasureListFragment() |
|
|
|
|
// frament.arguments = bundleOf(KEY_TYPE to type) |
|
|
|
|
|
|
|
|
|
val transaction = supportFragmentManager.beginTransaction() |
|
|
|
|
transaction.replace(R.id.container, PointMeasureListFragment.newInstance(type)) |
|
|
|
|
transaction.commit() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
override fun initData() { |
|
|
|
|
loadFirstPage() |
|
|
|
|
viewModel.errorResponse.observe(this) { |
|
|
|
|
toast(it) |
|
|
|
|
mBinding.smartRefreshLayout.smartDismiss() |
|
|
|
|
} |
|
|
|
|
viewModel.measureBeanListResponse.observe(this) { |
|
|
|
|
mBinding.smartRefreshLayout.smartDismiss() |
|
|
|
|
if (currentPage == 1) { |
|
|
|
|
adapter.submitList(it.rows) |
|
|
|
|
if (it.rows.isEmpty()) { |
|
|
|
|
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() |
|
|
|
|
adapter.setStateViewLayout(this, R.layout.layout_no_data) |
|
|
|
|
} else { |
|
|
|
|
currentPage++ |
|
|
|
|
start += it.totalCount |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
if (it.rows.isEmpty()) { |
|
|
|
|
mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() |
|
|
|
|
} else { |
|
|
|
|
adapter.addAll(it.rows) |
|
|
|
|
currentPage++ |
|
|
|
|
start += it.totalCount |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
fetchData() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun loadFirstPage() { |
|
|
|
|
setBtnSelected(mBinding.tvAll) |
|
|
|
|
switchFragment(TYPE_ALL) |
|
|
|
|
private fun fetchData() { |
|
|
|
|
if (type == TYPE_SURVEY_PLAN) { |
|
|
|
|
viewModel.fetchCLJH(currentPage, start) |
|
|
|
|
} else { |
|
|
|
|
viewModel.fetchGCJL(currentPage, start) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private fun setBtnSelected(view: View) { |
|
|
|
|
mBinding.tvAll.isSelected = false |
|
|
|
|
mBinding.tvSurveyPlan.isSelected = false |
|
|
|
|
mBinding.tvProjectMeasured.isSelected = false |
|
|
|
|
override fun onRefresh(refreshLayout: RefreshLayout) { |
|
|
|
|
currentPage = 1 |
|
|
|
|
fetchData() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
view.isSelected = true |
|
|
|
|
override fun onLoadMore(refreshLayout: RefreshLayout) { |
|
|
|
|
fetchData() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |