diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9e6fdea..272421a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -110,12 +110,12 @@ android:label="@string/lofting" android:windowSoftInputMode="adjustResize|stateHidden" /> diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt index 3fa795f..5426078 100644 --- a/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt +++ b/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt @@ -7,9 +7,13 @@ import com.project.survey.logic.bean.ListResult import com.project.survey.model.ControlNetCGBean import com.project.survey.model.ControlNetworkBean import com.project.survey.model.ControlNetworkInfoBean +import com.project.survey.model.FirstControlNetworkBean +import com.project.survey.model.FirstControlNetworkVersionBean import com.project.survey.model.ProjectBean +import com.project.survey.model.SpecialControlNetworkVersionBean import com.project.survey.network.RetrofitClient import com.project.survey.util.SPUtils +import retrofit2.http.Query class ControlNetViewModel : BaseViewModel() { @@ -23,9 +27,17 @@ class ControlNetViewModel : BaseViewModel() { /** * 获取专用控制网列表 */ - fun fetchSpecialControlNetworkList(pageNum: Int = 1) { + fun fetchSpecialControlNetworkList( + controlNetWorkName: String?, + version: String?, + pageNum: Int = 1 + ) { launch { - val res = api.fetchSpecialControlNetworkList(pageNum = pageNum) + val res = api.fetchSpecialControlNetworkList( + controlNetWorkName = controlNetWorkName, + version = version, + pageNum = pageNum + ) if (res.success) { _controlNetworkListResponse.postValue(res.data) } @@ -42,7 +54,7 @@ class ControlNetViewModel : BaseViewModel() { */ fun fetchSpecialControlNetworkInfo( controlNetworkName: String, - pointName: String? = null, + pointName: String?, pageNum: Int = 1 ) { launch { @@ -57,45 +69,86 @@ class ControlNetViewModel : BaseViewModel() { } } - val controlNetCGListResponse: LiveData> + val controlNetCGListResponse: LiveData> get() = _controlNetCGListResponse - private val _controlNetCGListResponse = MutableLiveData>() + private val _controlNetCGListResponse = MutableLiveData>() + +// /** +// * 获取专用控制网成果列表 +// */ +// fun fetchSpecialControlNetCGList(j_query: String, page: Int = 1, start: Int = 0) { +// launch { +// val res = api.fetchSpecialControlNetCGList( +// tableCode = "BD_KZWZBCG", +// funcCode = "BD_KZWZBCG_ZY", +// j_query = j_query, +// page = page, +// start = start +// ) +// if (res.success) { +// _controlNetCGListResponse.postValue(res.data) +// } +// } +// } + +// /** +// * 获取首级控制网列表 +// */ +// fun fetchFirstControlNetList(j_query: String, page: Int = 1, start: Int = 0) { +// launch { +// val res = api.fetchSpecialControlNetCGList( +// tableCode = "BD_KZWZBCG", +// funcCode = "BD_KZWZBCG", +// j_query = j_query, +// page = page, +// start = start +// ) +// if (res.success) { +// _controlNetCGListResponse.postValue(res.data) +// } +// } +// } /** - * 获取专用控制网成果列表 + * 获取首级控制网列表 */ - fun fetchSpecialControlNetCGList(j_query: String, page: Int = 1, start: Int = 0) { + fun fetchFistControlNetworkList(version: String?, pageNum: Int) { launch { - val res = api.fetchSpecialControlNetCGList( - tableCode = "BD_KZWZBCG", - funcCode = "BD_KZWZBCG_ZY", - j_query = j_query, - page = page, - start = start - ) + val res = api.fetchFistControlNetworkList(version = version, pageNum = pageNum) if (res.success) { _controlNetCGListResponse.postValue(res.data) + } else { + errorResponse.postValue(res.message) } } } - /** - * 获取首级控制网列表 - */ - fun fetchFirstControlNetList(j_query: String, page: Int = 1, start: Int = 0) { + val firstControlNetworkVersionResponse: LiveData> + get() = _firstControlNetworkVersionResponse + private val _firstControlNetworkVersionResponse = + MutableLiveData>() + + fun fetchFirstControlNetworkVersion() { launch { - val res = api.fetchSpecialControlNetCGList( - tableCode = "BD_KZWZBCG", - funcCode = "BD_KZWZBCG", - j_query = j_query, - page = page, - start = start - ) + val res = api.fetchFirstControlNetworkVersion() if (res.success) { - _controlNetCGListResponse.postValue(res.data) + _firstControlNetworkVersionResponse.postValue(res.data) } } } + val specialControlNetworkVersionResponse: LiveData> + get() = _specialControlNetworkVersionResponse + private val _specialControlNetworkVersionResponse = + MutableLiveData>() + + fun fetchSpecialControlNetworkVersion() { + launch { + val res = api.fetchSpecialControlNetworkVersion() + if (res.success) { + _specialControlNetworkVersionResponse.postValue(res.data) + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt index d1a7b24..b1a5348 100644 --- a/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt +++ b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt @@ -26,11 +26,19 @@ import androidx.annotation.Keep */ @Keep data class ControlNetCGBean( - val KZWZBCG_BZ:String, - val KZWZBCG_POINTNAME:String, - val KZWZBCG_XCOORDINATE:String, - val KZWZBCG_YCOORDINATE:String, - val KZWZBCG_HCOORDINATE:String, - val KZWZBCG_VERSION:String, - val KZW_MEASUREMENTTIME:String + val BD_KZWZBCG_ID: String, //主键 + val KZW_NAME: String, //控制网名称 + val BD_XMXX_ID: String, //项目ID + val KZWZBCG_BZ: String, //备注 + val KZWZBCG_POINTNAME: String, //点坐标 + val KZWZBCG_XCOORDINATE: String, //x坐标 + val KZWZBCG_YCOORDINATE: String, //y坐标 + val KZWZBCG_HCOORDINATE: String, //h坐标 + val KZWZBCG_VERSION: String, //版本号 + val KZW_MEASUREMENTTIME: String //施测时间 +) + +@Keep +data class FirstControlNetworkBean( + val values: ControlNetCGBean ) diff --git a/app/src/main/java/com/project/survey/model/ControlNetworkBean.kt b/app/src/main/java/com/project/survey/model/ControlNetworkBean.kt index de84d25..893ff74 100644 --- a/app/src/main/java/com/project/survey/model/ControlNetworkBean.kt +++ b/app/src/main/java/com/project/survey/model/ControlNetworkBean.kt @@ -4,46 +4,60 @@ import androidx.annotation.Keep /** * { - * "SY_MODIFYORGID": "XX5DVbDl1Jl7FDtJJtX", - * "KZW_TYPE_CODE": "02", - * "SY_MODIFYTIME": "2024-09-06 13:42:57", - * "SY_COMPANY_ID": "V1R0gp2zJ3SvGFNvJdM", - * "$TABLE_CODE$": null, - * "SY_CREATEUSERNAME": "管理员", - * "BD_KZWZBCG_ID": "9db3f927274246f0913443e7c3fd4a61", - * "SY_ORDERINDEX": 2, - * "KZWZBCG_BZ": "125", - * "SY_MODIFYUSERID": "116d15ddbe62412aa32aafb5dc8f13bb", - * "SY_GROUP_COMPANY_NAME": "", - * "KZWZBCG_XCOORDINATE": "32", - * "SY_COMPANY_NAME": "某某公司", - * "BD_XMXX_ID": "123", - * "KZW_NAME": "专用", - * "SY_CREATEORGID": "XX5DVbDl1Jl7FDtJJtX", - * "SY_STATUS": "1", - * "SY_CREATEUSERID": "116d15ddbe62412aa32aafb5dc8f13bb", + * "BD_KZWZBCG_ID": "b8e1383a895946c791f2fa7606837b52", + * "BD_KZW_ID": "22a57e0db20249f39cffe2034cfffe5e", * "KZW_TYPE_NAME": "", - * "SY_GROUP_COMPANY_ID": "", - * "SY_MODIFYORGNAME": "系统管理部", - * "BD_KZW_ID": "a67961a4b61441b19b27fc56572e7517", - * "SY_CREATEORGNAME": "系统管理部", - * "SY_CREATETIME": "2024-09-06 13:36:27", - * "SY_ORG_ID": "systemdepartment", * "KZW_MEASUREMENTTIME": "", - * "KZWZBCG_YCOORDINATE": "12", - * "SY_MODIFYUSERNAME": "管理员", - * "KZWZBCG_HCOORDINATE": "56", - * "KZWZBCG_VERSION": "", - * "KZWZBCG_POINTNAME": "dmc" + * "KZWZBCG_BZ": "", + * "version_array": "2024102806,2024102807", + * "KZW_MEASUREMENTLEVEL": "1", + * "$TABLE_CODE$": null, + * "KZWZBCG_POINTNAME": "555", + * "BD_XMXX_ID": "xYgALS4VOJ0vDrEVUcQ", + * "KZW_NAME": "专用" * } + * + * //控制点详情 + * { + * "SY_MODIFYORGID": null, + * "KZW_TYPE_CODE": "02", + * "SY_MODIFYTIME": null, + * "SY_COMPANY_ID": "V1R0gp2zJ3SvGFNvJdM", + * "SY_CREATEUSERNAME": "管理员", + * "BD_KZWZBCG_ID": "13365023de99403b9a07fdf8079d72c7", + * "SY_ORDERINDEX": 1, + * "KZWZBCG_BZ": "备注二", + * "SY_MODIFYUSERID": null, + * "SY_GROUP_COMPANY_NAME": "", + * "SY_COMPANY_NAME": "某某公司", + * "KZWZBCG_XCOORDINATE": "11.25", + * "BD_XMXX_ID": null, + * "KZW_NAME": "专用", + * "SY_CREATEORGID": "XX5DVbDl1Jl7FDtJJtX", + * "SY_STATUS": null, + * "SY_CREATEUSERID": "116d15ddbe62412aa32aafb5dc8f13bb", + * "KZW_TYPE_NAME": null, + * "SY_GROUP_COMPANY_ID": "", + * "SY_MODIFYORGNAME": null, + * "SY_CREATETIME": "2024-09-11", + * "SY_CREATEORGNAME": "系统管理部", + * "BD_KZW_ID": "53ed633f946545aa836160fd30f3c2a2", + * "SY_ORG_ID": "systemdepartment", + * "KZW_MEASUREMENTTIME": null, + * "KZWZBCG_YCOORDINATE": "21.56", + * "SY_MODIFYUSERNAME": null, + * "KZWZBCG_VERSION": null, + * "KZWZBCG_HCOORDINATE": "6.36", + * "KZWZBCG_POINTNAME": "点位二" + * } */ @Keep data class ControlNetworkBean( val KZW_NAME: String, // 控制网名称 - val KZW_TYPE_CODE: String, //控制网类型 val KZW_TYPE_NAME: String, //控制网类型_name val KZW_MEASUREMENTTIME: String, // 施测时间 + // 控制点详情里的字段 val KZWZBCG_POINTNAME: String, //点名称 val KZWZBCG_XCOORDINATE: String, //x val KZWZBCG_YCOORDINATE: String, //y diff --git a/app/src/main/java/com/project/survey/model/FirstControlNetworkVersionBean.kt b/app/src/main/java/com/project/survey/model/FirstControlNetworkVersionBean.kt new file mode 100644 index 0000000..04b7683 --- /dev/null +++ b/app/src/main/java/com/project/survey/model/FirstControlNetworkVersionBean.kt @@ -0,0 +1,12 @@ +package com.project.survey.model + +import androidx.annotation.Keep + +@Keep +data class FirstControlNetworkVersionBean( + val KZWZBCG_VERSION: String +){ + override fun toString(): String { + return KZWZBCG_VERSION + } +} diff --git a/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt b/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt new file mode 100644 index 0000000..4e7bdd0 --- /dev/null +++ b/app/src/main/java/com/project/survey/model/SpecialControlNetworkVersionBean.kt @@ -0,0 +1,12 @@ +package com.project.survey.model + +import androidx.annotation.Keep + +@Keep +data class SpecialControlNetworkVersionBean( + val version_array: String +) { + override fun toString(): String { + return version_array + } +} diff --git a/app/src/main/java/com/project/survey/network/Api.kt b/app/src/main/java/com/project/survey/network/Api.kt index c3af843..314ec95 100644 --- a/app/src/main/java/com/project/survey/network/Api.kt +++ b/app/src/main/java/com/project/survey/network/Api.kt @@ -6,6 +6,8 @@ import com.project.survey.model.ApprovalResponse import com.project.survey.model.ControlNetworkBean import com.project.survey.model.ControlNetCGBean import com.project.survey.model.ControlNetworkInfoBean +import com.project.survey.model.FirstControlNetworkBean +import com.project.survey.model.FirstControlNetworkVersionBean import com.project.survey.model.InspectionReportBean import com.project.survey.model.LoftingBean import com.project.survey.model.LoftingPointListBean @@ -15,6 +17,7 @@ import com.project.survey.model.MeasureBean import com.project.survey.model.PointEntry import com.project.survey.model.ProjectBean import com.project.survey.model.ProjectData +import com.project.survey.model.SpecialControlNetworkVersionBean import com.project.survey.util.SPUtils import okhttp3.RequestBody import retrofit2.http.Body @@ -89,12 +92,30 @@ interface Api { @Field("limit") limit: Int = 30, ): HttpResult + /** + * 专用控制网版本列表 + */ + @GET("je/controlnetwork/queryControlNetworkVersion") + suspend fun fetchSpecialControlNetworkVersion( + @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID) + ): HttpResult> + + /** + * 首级控制网版本列表 + */ + @GET("je/controlnetwork/queryPrimaryControlNetworkVersion") + suspend fun fetchFirstControlNetworkVersion( + @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID) + ): HttpResult> + /** * 获取专用控制网列表 */ @GET("je/controlnetwork/queryControlNetwork") suspend fun fetchSpecialControlNetworkList( @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID), + @Query("controlNetWorkName") controlNetWorkName: String?, + @Query("version") version: String?, @Query("pageNum") pageNum: Int, @Query("pageSize") pageSize: Int = 30 ): HttpResult> @@ -117,11 +138,22 @@ interface Api { suspend fun fetchSpecialControlNetworkInfo( @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID), @Query("controlNetWorkName") controlNetWorkName: String, //当前控制网name - @Query("pointName") pointName: String? = null, //关键词,搜索用 + @Query("pointName") pointName: String?, //关键词,搜索用 @Query("pageNum") pageNum: Int, @Query("pageSize") pageSize: Int = 30 ): HttpResult> + /** + * 获取首级控制网列表 + */ + @GET("je/controlnetwork/queryPrimaryControlNetworkInfo") + suspend fun fetchFistControlNetworkList( + @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID), + @Query("version") version: String?, + @Query("pageNum") pageNum: Int, + @Query("pageSize") pageSize: Int = 30 + ): HttpResult> + /** * 获取首级控制网列表 */ @@ -175,7 +207,7 @@ interface Api { */ @POST("je/measureWork/pointsEntry") suspend fun uploadPointEntry( - @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID), + @Header("projectId") projectId: String = SPUtils.getString(SPConstants.PROJECT_ID), @Body requestBody: List ): HttpResult diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt index d34e142..6ddce38 100644 --- a/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt +++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalInitiatedFragment.kt @@ -10,6 +10,7 @@ import com.project.survey.widget.decoration.TransparentDividerDecoration /** * 已发起 */ +@Deprecated("") class ApprovalInitiatedFragment : BaseFragmentBinding() { private val adapter by lazy { ApprovalInitatedAdapter(requireContext()) } diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt index 536d01e..6ac83d2 100644 --- a/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt +++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalProcessedFragment.kt @@ -10,6 +10,7 @@ import com.project.survey.widget.decoration.TransparentDividerDecoration /** * 已处理 */ +@Deprecated("") class ApprovalProcessedFragment : BaseFragmentBinding() { private val adapter by lazy { ApprovalWaitAdapter( diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt index 764bf23..f9b3ab8 100644 --- a/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt +++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalWaitFragment.kt @@ -10,6 +10,7 @@ import com.project.survey.widget.decoration.TransparentDividerDecoration /** * 待处理 */ +@Deprecated("") class ApprovalWaitFragment : BaseFragmentBinding() { private val adapter by lazy { diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlPointActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/ControlPointActivity.kt index b21d13b..aed8b87 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/ControlPointActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/ControlPointActivity.kt @@ -33,7 +33,7 @@ class ControlPointActivity : BaseBindingActivity(), private val adapter by lazy { SpecialControlNetworkInfoAdapter() } private var controlNetworkName = "" - private var searchValue = "" + private var searchContent: String? = null private var currentPage = 1 override fun initView() { @@ -58,23 +58,39 @@ class ControlPointActivity : BaseBindingActivity(), mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() adapter.setStateViewLayout(this, R.layout.layout_no_data) } else { - currentPage++ + if (adapter.itemCount < it.totalCount) { + currentPage++ + } else { + mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() + } } } else { if (it.rows.isEmpty()) { mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() } else { - adapter.addAll(it.rows) - currentPage++ + if (adapter.itemCount < it.totalCount){ + adapter.addAll(it.rows) + currentPage++ + } else { + mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() + } } } } fetchData() } + override fun initListener() { + // 搜索 + mBinding.searchWidget.setOnEditorSearchListener { + searchContent = it.ifBlank { null } + currentPage = 1 + fetchData() + } + } + private fun fetchData() { - val query = searchValue.ifBlank { null } - viewModel.fetchSpecialControlNetworkInfo(controlNetworkName, query, currentPage) + viewModel.fetchSpecialControlNetworkInfo(controlNetworkName, searchContent, currentPage) } override fun onRefresh(refreshLayout: RefreshLayout) { @@ -86,13 +102,4 @@ class ControlPointActivity : BaseBindingActivity(), fetchData() } - override fun initListener() { - mBinding.searchWidget.setOnEditorSearchListener { - searchValue = it - currentPage = 1 - fetchData() - } - } - - } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt similarity index 56% rename from app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt rename to app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt index d73b281..9690875 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/FirstControlNetworkActivity.kt @@ -2,64 +2,58 @@ package com.project.survey.ui.controlnet import androidx.activity.viewModels import com.project.survey.R -import com.project.survey.constants.Constants -import com.project.survey.databinding.ActivityControlNetListBinding +import com.project.survey.databinding.ActivityFirstControlNetworkBinding import com.project.survey.extend.smartDismiss import com.project.survey.logic.viewmodel.ControlNetViewModel import com.project.survey.model.ControlNetVersionBean +import com.project.survey.model.FirstControlNetworkVersionBean import com.project.survey.ui.base.BaseBindingActivity import com.project.survey.ui.controlnet.adapter.ControlNetFirstAdapter import com.project.survey.util.ActivityNavUtil -import com.project.survey.widget.decoration.TransparentDividerDecoration import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.listener.OnRefreshLoadMoreListener /** * 首级控制网列表 */ -class ControlNetFirstListActivity : BaseBindingActivity(), +class FirstControlNetworkActivity : BaseBindingActivity(), OnRefreshLoadMoreListener { companion object { fun start() { - ActivityNavUtil.startActivity { } + ActivityNavUtil.startActivity { } } } - override fun getBinding(): ActivityControlNetListBinding { - return ActivityControlNetListBinding.inflate(layoutInflater) + override fun getBinding(): ActivityFirstControlNetworkBinding { + return ActivityFirstControlNetworkBinding.inflate(layoutInflater) } private val viewModel: ControlNetViewModel by viewModels() private val adapter by lazy { ControlNetFirstAdapter() } private var currentPage = 1 - private var start = 0 + private var currentVersion: String? = null override fun initView() { immersionToolbar(mBinding.toolbar, R.string.head_control_network) - initVersion() - mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(this) // mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) mBinding.recyclerView.adapter = adapter adapter.isStateViewEnable = true } - private fun initVersion() { - val versionList = mutableListOf() - versionList.add(ControlNetVersionBean("版本一")) - versionList.add(ControlNetVersionBean("版本二")) - versionList.add(ControlNetVersionBean("版本三")) - - mBinding.spinner.setItems(versionList) - } - override fun initData() { viewModel.errorResponse.observe(this) { mBinding.smartRefreshLayout.smartDismiss() } + // 版本号列表 + viewModel.firstControlNetworkVersionResponse.observe(this) { + val list = arrayListOf(FirstControlNetworkVersionBean("版本号")) + list.addAll(it) + mBinding.spinner.setItems(list) + } viewModel.controlNetCGListResponse.observe(this) { mBinding.smartRefreshLayout.smartDismiss() if (currentPage == 1) { @@ -68,30 +62,49 @@ class ControlNetFirstListActivity : BaseBindingActivity + val versionBean = item as FirstControlNetworkVersionBean + currentVersion = + if ("版本号" == versionBean.KZWZBCG_VERSION) null else versionBean.KZWZBCG_VERSION + currentPage = 1 + fetchData() + } } private fun fetchData() { - viewModel.fetchFirstControlNetList("", currentPage, start) + viewModel.fetchFistControlNetworkList(currentVersion, currentPage) } override fun onRefresh(refreshLayout: RefreshLayout) { currentPage = 1 - start = 0 fetchData() } @@ -99,9 +112,4 @@ class ControlNetFirstListActivity : BaseBindingActivity(), OnRefreshLoadMoreListener { +class SpecialControlNetworkActivity : + BaseBindingActivity(), OnRefreshLoadMoreListener { companion object { fun start() { - ActivityNavUtil.startActivity { } + ActivityNavUtil.startActivity { } } } - override fun getBinding(): ActivitySpecialControlNetworkListBinding = - ActivitySpecialControlNetworkListBinding.inflate(layoutInflater) + override fun getBinding(): ActivitySpecialControlNetworkBinding = + ActivitySpecialControlNetworkBinding.inflate(layoutInflater) private val viewModel: ControlNetViewModel by viewModels() private val adapter by lazy { SpecialControlNetworkAdapter() } private var currentPage = 1 + private var currentVersion: String? = null + private var searchContent: String? = null // 搜索框里的内容 override fun initView() { immersionToolbar(mBinding.toolbar, R.string.dedicated_control_network) - mBinding.spinner.setItems( - arrayListOf( - ControlNetVersionBean("版本一"), - ControlNetVersionBean("版本二"), - ControlNetVersionBean("版本三") - ) - ) - mBinding.smartRefreshLayout.setOnRefreshLoadMoreListener(this) // mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) mBinding.recyclerView.adapter = adapter @@ -54,6 +49,12 @@ class SpecialControlNetworkListActivity : viewModel.errorResponse.observe(this) { mBinding.smartRefreshLayout.smartDismiss() } + // 版本号列表 + viewModel.specialControlNetworkVersionResponse.observe(this) { + val list = arrayListOf(SpecialControlNetworkVersionBean("版本号")) + list.addAll(it) + mBinding.spinner.setItems(list) + } viewModel.controlNetworkListResponse.observe(this) { mBinding.smartRefreshLayout.smartDismiss() if (currentPage == 1) { @@ -62,23 +63,56 @@ class SpecialControlNetworkListActivity : mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() adapter.setStateViewLayout(this, R.layout.layout_no_data) } else { - currentPage++ + if (adapter.itemCount < it.totalCount) { + currentPage++ + } else { + mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() + } } } else { if (it.rows.isEmpty()) { mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() } else { - adapter.addAll(it.rows) - currentPage++ + if (adapter.itemCount < it.totalCount) { + adapter.addAll(it.rows) + currentPage++ + } else { + mBinding.smartRefreshLayout.finishLoadMoreWithNoMoreData() + } } } } + // 获取列表数据 fetchData() + // 获取版本号列表 + viewModel.fetchSpecialControlNetworkVersion() + } + + override fun initListener() { + // 搜索 + mBinding.searchWidget.setOnEditorSearchListener { + searchContent = it.ifBlank { null } + currentPage = 1 + fetchData() + } + // 版本号 + mBinding.spinner.setOnItemSelectedListener { _, _, _, item -> + val versionBean = item as SpecialControlNetworkVersionBean + currentVersion = + if ("版本号" == versionBean.version_array) null else versionBean.version_array + currentPage = 1 + fetchData() + } + adapter.setOnItemClickListener { adapter, _, position -> + adapter.getItem(position)?.let { bean -> + ControlPointActivity.start(bean.KZW_NAME) + } + } } private fun fetchData() { - viewModel.fetchSpecialControlNetworkList(currentPage) + viewModel.fetchSpecialControlNetworkList(searchContent, currentVersion, currentPage) } override fun onRefresh(refreshLayout: RefreshLayout) { @@ -90,13 +124,5 @@ class SpecialControlNetworkListActivity : fetchData() } - override fun initListener() { - adapter.setOnItemClickListener { adapter, _, position -> - adapter.getItem(position)?.let { bean -> - ControlPointActivity.start(bean.KZW_NAME) - } - } - } - } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt b/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt index c92a69e..e43cb20 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt @@ -6,18 +6,22 @@ import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.viewholder.QuickViewHolder import com.project.survey.R import com.project.survey.model.ControlNetCGBean +import com.project.survey.model.FirstControlNetworkBean -class ControlNetFirstAdapter : BaseQuickAdapter() { +class ControlNetFirstAdapter : BaseQuickAdapter() { - override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: ControlNetCGBean?) { - item?.let { bean -> - holder.setText(R.id.tvPointName, bean.KZWZBCG_POINTNAME) - .setText(R.id.tvX, bean.KZWZBCG_XCOORDINATE) - .setText(R.id.tvY, bean.KZWZBCG_YCOORDINATE) - .setText(R.id.tvZ, bean.KZWZBCG_HCOORDINATE) - .setText(R.id.tvTime, bean.KZW_MEASUREMENTTIME) - .setText(R.id.tvRemark, bean.KZWZBCG_BZ) - } + override fun onBindViewHolder( + holder: QuickViewHolder, + position: Int, + item: FirstControlNetworkBean? + ) { + if (item == null) return + holder.setText(R.id.tvPointName, item.values.KZWZBCG_POINTNAME) + .setText(R.id.tvX, item.values.KZWZBCG_XCOORDINATE) + .setText(R.id.tvY, item.values.KZWZBCG_YCOORDINATE) + .setText(R.id.tvZ, item.values.KZWZBCG_HCOORDINATE) + .setText(R.id.tvTime, item.values.KZW_MEASUREMENTTIME) + .setText(R.id.tvRemark, item.values.KZWZBCG_BZ) } override fun onCreateViewHolder( diff --git a/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt b/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt index 9853802..3a8946e 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/adapter/SpecialControlNetworkAdapter.kt @@ -17,7 +17,7 @@ class SpecialControlNetworkAdapter : BaseQuickAdapter() { } // 首级控制网 mBinding.itemControlNetFirst.setOnClickNoRepeatListener { - ControlNetFirstListActivity.start() + FirstControlNetworkActivity.start() } // 专用控制网 mBinding.itemControlNetSpecial.setOnClickNoRepeatListener { - SpecialControlNetworkListActivity.start() + SpecialControlNetworkActivity.start() } } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_control_net_list.xml b/app/src/main/res/layout/activity_control_net_list.xml deleted file mode 100644 index 8f45911..0000000 --- a/app/src/main/res/layout/activity_control_net_list.xml +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_first_control_network.xml b/app/src/main/res/layout/activity_first_control_network.xml new file mode 100644 index 0000000..7c839d1 --- /dev/null +++ b/app/src/main/res/layout/activity_first_control_network.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_special_control_network_list.xml b/app/src/main/res/layout/activity_special_control_network.xml similarity index 100% rename from app/src/main/res/layout/activity_special_control_network_list.xml rename to app/src/main/res/layout/activity_special_control_network.xml