diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a47a4de..bf806f6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -114,7 +114,7 @@ android:label="@string/head_control_network" android:windowSoftInputMode="adjustResize|stateHidden" /> diff --git a/app/src/main/java/com/project/survey/logic/bean/ListResult.kt b/app/src/main/java/com/project/survey/logic/bean/ListResult.kt new file mode 100644 index 0000000..965d0c6 --- /dev/null +++ b/app/src/main/java/com/project/survey/logic/bean/ListResult.kt @@ -0,0 +1,3 @@ +package com.project.survey.logic.bean + +data class ListResult(val rows: List, val totalCount: Int) diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/BaseViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/BaseViewModel.kt index c293d0e..1016066 100644 --- a/app/src/main/java/com/project/survey/logic/viewmodel/BaseViewModel.kt +++ b/app/src/main/java/com/project/survey/logic/viewmodel/BaseViewModel.kt @@ -3,12 +3,19 @@ package com.project.survey.logic.viewmodel import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import blankj.utilcode.util.LogUtils +import com.project.survey.extend.toast import com.project.survey.logic.event.LiveBus import com.project.survey.logic.event.Message +import com.project.survey.network.ERROR +import com.project.survey.ui.login.LoginActivity +import com.project.survey.util.ActivityNavUtil import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.delay import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import retrofit2.HttpException open class BaseViewModel : ViewModel() { @@ -22,6 +29,15 @@ open class BaseViewModel : ViewModel() { try { block() } catch (e: Exception) { + if (e is HttpException) { + if (e.code() == ERROR.AUTH_ERROR.code) { //token失效 + toast("token失效,请重新登录") + delay(2000L) + LoginActivity.start() + } else { + toast("${e.code()};${e.message}") + } + } errorResponse.postValue(e.message) } } 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 new file mode 100644 index 0000000..b30b7b3 --- /dev/null +++ b/app/src/main/java/com/project/survey/logic/viewmodel/ControlNetViewModel.kt @@ -0,0 +1,83 @@ +package com.project.survey.logic.viewmodel + +import androidx.lifecycle.LiveData +import androidx.lifecycle.MutableLiveData +import com.project.survey.constants.SPConstants +import com.project.survey.logic.bean.ListResult +import com.project.survey.model.ApprovalBean +import com.project.survey.model.ControlNetBean +import com.project.survey.model.ControlNetCGBean +import com.project.survey.model.ProjectBean +import com.project.survey.network.RetrofitClient +import com.project.survey.util.SPUtils + +class ControlNetViewModel : BaseViewModel() { + + val api = RetrofitClient.createApiService() + + + val controlNetListResponse: LiveData> + get() = _controlNetListResponse + private val _controlNetListResponse = MutableLiveData>() + + /** + * 获取专用控制网列表 + */ + fun fetchSpecialControlNetList(j_query: String, page: Int = 1) { + launch { + val res = + api.fetchSpecialControlNetList( + SPUtils.getString(SPConstants.PROJECT_ID) ?: "", + "BD_KZW", + "BD_KZW_ZY", + j_query, + page + ) + if (res.success) { + _controlNetListResponse.postValue(res.data) + } + } + } + + val controlNetCGListResponse: LiveData> + get() = _controlNetCGListResponse + private val _controlNetCGListResponse = MutableLiveData>() + + /** + * 获取专用控制网成果列表 + */ + fun fetchSpecialControlNetCGList(j_query: String, page: Int = 1) { + launch { + var res = api.fetchSpecialControlNetCGList( + SPUtils.getString(SPConstants.PROJECT_ID) ?: "", + "BD_KZWZBCG", + "BD_KZWZBCG_ZY", + j_query, + page + ) + if (res.success) { + _controlNetCGListResponse.postValue(res.data) + } + } + } + + /** + * 获取首级控制网列表 + */ + fun fetchFirstControlNetList(j_query: String, page: Int = 1) { + launch { + var res = api.fetchSpecialControlNetCGList( + SPUtils.getString(SPConstants.PROJECT_ID) ?: "", + "BD_KZWZBCG", + "BD_KZWZBCG", + j_query, + page + ) + if (res.success) { + _controlNetCGListResponse.postValue(res.data) + } + } + } + + +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/LoginViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/LoginViewModel.kt index 703a174..1cdcedf 100644 --- a/app/src/main/java/com/project/survey/logic/viewmodel/LoginViewModel.kt +++ b/app/src/main/java/com/project/survey/logic/viewmodel/LoginViewModel.kt @@ -61,27 +61,27 @@ class LoginViewModel : BaseViewModel() { } } - /** - * 登录 - */ - fun login(account: String, password: String) { - launch { - val res = api.login(account, password) - if (res.success) { - _loginResponse.postValue(res.data) - SPUtils.put(SPConstants.TOKEN, res.data.token) - SPUtils.put(SPConstants.ACCOUNT, account) - SPUtils.put(SPConstants.MOBILE_PHONE, res.data.mobilePhone) - msgEvent.postValue(Message(EventConstants.LOGIN_STATUS)) - } - -// _loginResponse.postValue("res.data") -// SPUtils.put(SPConstants.TOKEN, "res.data") -// SPUtils.put(SPConstants.LOGIN, true) -// SPUtils.put(SPConstants.ACCOUNT, account) -// msgEvent.postValue(Message(EventConstants.LOGIN_STATUS)) - } - } +// /** +// * 登录 +// */ +// fun login(account: String, password: String) { +// launch { +// val res = api.login(account, password) +// if (res.success) { +// _loginResponse.postValue(res.data) +// SPUtils.put(SPConstants.TOKEN, res.data.token) +// SPUtils.put(SPConstants.ACCOUNT, account) +// SPUtils.put(SPConstants.MOBILE_PHONE, res.data.mobilePhone) +// msgEvent.postValue(Message(EventConstants.LOGIN_STATUS)) +// } +// +//// _loginResponse.postValue("res.data") +//// SPUtils.put(SPConstants.TOKEN, "res.data") +//// SPUtils.put(SPConstants.LOGIN, true) +//// SPUtils.put(SPConstants.ACCOUNT, account) +//// msgEvent.postValue(Message(EventConstants.LOGIN_STATUS)) +// } +// } // val sendSMSResponse: LiveData // get() = _sendSMSResponse diff --git a/app/src/main/java/com/project/survey/model/ControlNetBean.kt b/app/src/main/java/com/project/survey/model/ControlNetBean.kt new file mode 100644 index 0000000..c46fe72 --- /dev/null +++ b/app/src/main/java/com/project/survey/model/ControlNetBean.kt @@ -0,0 +1,31 @@ +package com.project.survey.model + +/** + * { + * "KZW_TYPE_CODE": "02", + * "SY_CREATEUSERID": "c1c843dd971f416da307f5fefa9d782e", + * "KZW_TYPE_NAME": "专用", + * "KZW_APPROVALSTATUS": "", + * "KZW_VERSION": "2024-09-2704", + * "SY_GROUP_COMPANY_ID": "", + * "KZW_MEASUREMENTLEVEL": "2", + * "SY_COMPANY_ID": "V1R0gp2zJ3SvGFNvJdM", + * "KZW_FILE": "", + * "SY_CREATEUSERNAME": "zlh", + * "KZW_MEASUREMENTUNIT": "", + * "KZW_REMARK": "", + * "BD_KZW_ID": "14faecf400d74001ad37ca7b349e9de7", + * "SY_CREATETIME": "2024-09-27 15:36:26", + * "SY_ORG_ID": "systemdepartment", + * "": "2024-09-27", + * "KZW_LCMC": "专用控制网测试2", + * "KZW_MEASUREMENTUNIT_ID": "", + * "KZW_NAME": "专用", + * "BD_XMXX_ID": "" + * } + */ +data class ControlNetBean( + val KZW_NAME:String, + val KZW_MEASUREMENTLEVEL:String, + val KZW_MEASUREMENTTIME:String +) diff --git a/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt new file mode 100644 index 0000000..e5aa8df --- /dev/null +++ b/app/src/main/java/com/project/survey/model/ControlNetCGBean.kt @@ -0,0 +1,33 @@ +package com.project.survey.model + +/** + * { + * "KZW_TYPE_CODE": "01", + * "SY_CREATEUSERID": "c1c843dd971f416da307f5fefa9d782e", + * "KZW_TYPE_NAME": "首级", + * "SY_GROUP_COMPANY_ID": "", + * "SY_COMPANY_ID": "V1R0gp2zJ3SvGFNvJdM", + * "SY_CREATEUSERNAME": "zlh", + * "BD_KZWZBCG_ID": "7a1a698ef08d4dd8b6a742fa63297764", + * "BD_KZW_ID": "", + * "SY_ORG_ID": "systemdepartment", + * "KZW_MEASUREMENTTIME": "2024-09-06 16:22:55", + * "KZWZBCG_BZ": "", + * "KZWZBCG_YCOORDINATE": "1", + * "KZWZBCG_VERSION": "", + * "KZWZBCG_HCOORDINATE": "1", + * "KZWZBCG_XCOORDINATE": "1", + * "BD_XMXX_ID": "", + * "KZW_NAME": "首级控制网1", + * "KZWZBCG_POINTNAME": "测点1" + * } + */ +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 +) 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 5d61f6c..58433eb 100644 --- a/app/src/main/java/com/project/survey/network/Api.kt +++ b/app/src/main/java/com/project/survey/network/Api.kt @@ -1,7 +1,10 @@ package com.project.survey.network +import com.project.survey.logic.bean.ListResult import com.project.survey.model.ApprovalBean import com.project.survey.model.ApprovalResponse +import com.project.survey.model.ControlNetBean +import com.project.survey.model.ControlNetCGBean import com.project.survey.model.LoginBean import com.project.survey.model.ProjectBean import retrofit2.http.Field @@ -14,14 +17,14 @@ import retrofit2.http.Query interface Api { - /** - * 登录 - */ - @GET("je/personInfo/externalEntry") - suspend fun login( - @Query("account") account: String, - @Query("password") password: String - ): HttpResult +// /** +// * 登录 +// */ +// @GET("je/personInfo/externalEntry") +// suspend fun login( +// @Query("account") account: String, +// @Query("password") password: String +// ): HttpResult /** * 外部用户获取验证码 @@ -81,5 +84,32 @@ interface Api { @Field("limit") limit: Int = 30, ): HttpResult + /** + * 获取专用控制网列表 + */ + @FormUrlEncoded + @POST("je/cloud/beiDou/load") + suspend fun fetchSpecialControlNetList( + @Header("projectId") projectId: String, + @Field("tableCode") tableCode: String, + @Field("funcCode") funcCode: String, + @Field("j_query") j_query: String, + @Field("page") page: Int, + @Field("limit") limit: Int = 30 + ): HttpResult> + /** + * 获取专用控制网成果列表 + * //获取首级控制网列表 + */ + @FormUrlEncoded + @POST("je/common/load") + suspend fun fetchSpecialControlNetCGList( + @Header("projectId") projectId: String, + @Field("tableCode") tableCode: String, + @Field("funcCode") funcCode: String, + @Field("j_query") j_query: String = "", + @Field("page") page: Int, + @Field("limit") limit: Int = 30 + ): HttpResult> } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/network/ERROR.kt b/app/src/main/java/com/project/survey/network/ERROR.kt new file mode 100644 index 0000000..b6118fa --- /dev/null +++ b/app/src/main/java/com/project/survey/network/ERROR.kt @@ -0,0 +1,23 @@ +package com.project.survey.network + +enum class ERROR(val code: Int, val err: String) { + /** + * 未知错误 + */ + UNKNOWN(1000, "未知错误"), + + /** + * Token过期,身份认证失效 + */ + AUTH_ERROR(401, "身份认证失效"), + PATH_ERROR(404, "接口路径错误"), + /** + * 服务器异常 + */ + SERVER_ERROR(500, "Server Error"), + BAD_GATEWAY(502, "Bad Gateway"), + + ; + + +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/network/ExceptionHandle.kt b/app/src/main/java/com/project/survey/network/ExceptionHandle.kt new file mode 100644 index 0000000..576b7a7 --- /dev/null +++ b/app/src/main/java/com/project/survey/network/ExceptionHandle.kt @@ -0,0 +1,27 @@ +package com.project.survey.network + +import blankj.utilcode.util.AppUtils +import retrofit2.HttpException + +object ExceptionHandle { + + fun handleException(e: Throwable): ResponseThrowable { + if (AppUtils.isAppDebug()) { + e.printStackTrace() + } + val ex: ResponseThrowable + if (e is HttpException) { + ex = when { + e.code() == ERROR.AUTH_ERROR.code -> ResponseThrowable(ERROR.AUTH_ERROR, e) +// e.code() == ERROR.PATH_ERROR.code -> ResponseThrowable(ERROR.PATH_ERROR, e) +// e.code() == ERROR.SERVER_ERROR.code -> ResponseThrowable(ERROR.SERVER_ERROR, e) +// e.code() == ERROR.BAD_GATEWAY.code -> ResponseThrowable(ERROR.BAD_GATEWAY, e) + else -> ResponseThrowable(e.code(), e.message(), e) + } + } else { + ex = if (!e.message.isNullOrEmpty()) ResponseThrowable(1000, e.message!!, e) + else ResponseThrowable(ERROR.UNKNOWN, e) + } + return ex + } +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/network/ResponseThrowable.kt b/app/src/main/java/com/project/survey/network/ResponseThrowable.kt new file mode 100644 index 0000000..c3b6490 --- /dev/null +++ b/app/src/main/java/com/project/survey/network/ResponseThrowable.kt @@ -0,0 +1,35 @@ +package com.project.survey.network + +import java.lang.Exception + +/** + * Name: ResponseThrowable + * Author: chenglifeng + */ +data class ResponseThrowable( + var code: Int, + var msg: String, + val e: Throwable? = null +) : Exception(e) { + + constructor(error: ERROR, e: Throwable? = null) : this(error.code, e?.message ?: error.err, e) + + +// constructor(error: ERROR, e: Throwable? = null) : super(e) { +// code = error.code +// errMsg = error.err +// data = error.err +// } +// +// constructor(code: Int, msg: String, e: Throwable? = null) : super(e) { +// this.code = code +// this.errMsg = msg +// this.data = msg +// } +// +// constructor(base: IBaseResponse<*>, e: Throwable? = null) : super(e) { +// this.code = base.code() +// this.errMsg = base.msg() +// this.data = if (base.data() == null) null else base.data() as String +// } +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt index 94109d3..6111dc0 100644 --- a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt +++ b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt @@ -80,6 +80,10 @@ abstract class BaseBindingActivity : AppCompatActivity() { return true } + protected fun immersionToolbar(toolbar: Toolbar, titleResId: Int) { + immersionToolbar(toolbar, getString(titleResId)) + } + protected fun immersionToolbar(toolbar: Toolbar, title: String? = null) { ImmersionBar.with(this) .statusBarDarkFont(true) diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt index 07bf858..1d4c611 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt @@ -2,11 +2,16 @@ package com.project.survey.ui.controlnet import android.content.Context import android.content.Intent +import androidx.activity.viewModels +import com.project.survey.R import com.project.survey.adapter.ControlNetFirstListAdapter import com.project.survey.databinding.ActivityControlNetListBinding +import com.project.survey.logic.viewmodel.ControlNetViewModel import com.project.survey.model.ControlNetListBean import com.project.survey.model.ControlNetVersionBean 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 /** @@ -14,11 +19,10 @@ import com.project.survey.widget.decoration.TransparentDividerDecoration */ class ControlNetFirstListActivity : BaseBindingActivity() { - private val adapter by lazy { ControlNetFirstListAdapter(this) } companion object { - fun launch(context: Context) { - context.startActivity(Intent(context, ControlNetFirstListActivity::class.java)) + fun start() { + ActivityNavUtil.startActivity { } } } @@ -26,11 +30,19 @@ class ControlNetFirstListActivity : BaseBindingActivity() - for (i in 0 until 3) { - dataList.add(ControlNetListBean()) + viewModel.controlNetCGListResponse.observe(this) { + adapter.submitList(it.rows) } - adapter.refreshData(dataList) + viewModel.fetchFirstControlNetList("", currentPage) } override fun initListener() { } - private fun initAdapter() { - mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) - adapter.setOnItemClickListener { - } - mBinding.recyclerView.setAdapter(adapter) - } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpeciaListActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpeciaListActivity.kt deleted file mode 100644 index c9bca9a..0000000 --- a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpeciaListActivity.kt +++ /dev/null @@ -1,61 +0,0 @@ -package com.project.survey.ui.controlnet - -import android.content.Context -import android.content.Intent -import com.project.survey.adapter.ControlNetSpeciaListAdapter -import com.project.survey.databinding.ActivityControlNetListBinding -import com.project.survey.model.ControlNetListBean -import com.project.survey.model.ControlNetVersionBean -import com.project.survey.ui.base.BaseBindingActivity -import com.project.survey.widget.decoration.TransparentDividerDecoration - -/** - * 专用控制网列表 - */ -class ControlNetSpeciaListActivity : BaseBindingActivity() { - private val adapter by lazy { ControlNetSpeciaListAdapter(this) } - - companion object { - fun launch(context: Context) { - context.startActivity(Intent(context, ControlNetSpeciaListActivity::class.java)) - } - } - - override fun getBinding(): ActivityControlNetListBinding { - return ActivityControlNetListBinding.inflate(layoutInflater) - } - - override fun initView() { - initVersion() - initAdapter() - } - - override fun initData() { - val dataList = mutableListOf() - for (i in 0 until 3) { - dataList.add(ControlNetListBean()) - } - adapter.refreshData(dataList) - } - - override fun initListener() { - - } - - private fun initVersion() { - val versionList = mutableListOf() - versionList.add(ControlNetVersionBean("版本一")) - versionList.add(ControlNetVersionBean("版本二")) - versionList.add(ControlNetVersionBean("版本三")) - - mBinding.ilSearch.spinner.setItems(versionList) - } - - private fun initAdapter() { - mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) - adapter.setOnItemClickListener { - - } - mBinding.recyclerView.setAdapter(adapter) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpecialListActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpecialListActivity.kt new file mode 100644 index 0000000..ccfba03 --- /dev/null +++ b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpecialListActivity.kt @@ -0,0 +1,72 @@ +package com.project.survey.ui.controlnet + +import androidx.activity.viewModels +import com.project.survey.R +import com.project.survey.constants.SPConstants +import com.project.survey.databinding.ActivityControlNetListBinding +import com.project.survey.logic.viewmodel.ControlNetViewModel +import com.project.survey.model.ControlNetVersionBean +import com.project.survey.ui.base.BaseBindingActivity +import com.project.survey.ui.controlnet.adapter.ControlNetSpecialAdapter +import com.project.survey.util.ActivityNavUtil +import com.project.survey.util.SPUtils +import com.project.survey.widget.decoration.TransparentDividerDecoration + +/** + * 专用控制网列表 + */ +class ControlNetSpecialListActivity : BaseBindingActivity() { + + companion object { + fun start() { + ActivityNavUtil.startActivity { } + } + } + + override fun getBinding(): ActivityControlNetListBinding = + ActivityControlNetListBinding.inflate(layoutInflater) + + private val viewModel: ControlNetViewModel by viewModels() + + private val adapter by lazy { ControlNetSpecialAdapter() } + private var currentPage = 1 + + override fun initView() { + immersionToolbar(mBinding.ilToolBar.toolbar, R.string.dedicated_control_network) + + initVersion() + mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this)) + mBinding.recyclerView.adapter = adapter + adapter.isStateViewEnable = true + adapter.setStateViewLayout(this, R.layout.layout_no_data) + } + + override fun initData() { + viewModel.controlNetListResponse.observe(this) { + adapter.submitList(it.rows) + } + //@Field("tableCode") tableCode: String = "BD_KZW", + // * @Field("funcCode") funcCode: String = "BD_KZW_ZY", + // * @Field("j_query") j_query: String = "", + // * @Field("page") page: Int, + viewModel.fetchSpecialControlNetList( + "", + currentPage + ) + } + + override fun initListener() { + + } + + private fun initVersion() { + val versionList = mutableListOf() + versionList.add(ControlNetVersionBean("版本一")) + versionList.add(ControlNetVersionBean("版本二")) + versionList.add(ControlNetVersionBean("版本三")) + + mBinding.ilSearch.spinner.setItems(versionList) + } + + +} \ 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 new file mode 100644 index 0000000..c92a69e --- /dev/null +++ b/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetFirstAdapter.kt @@ -0,0 +1,30 @@ +package com.project.survey.ui.controlnet.adapter + +import android.content.Context +import android.view.ViewGroup +import com.chad.library.adapter4.BaseQuickAdapter +import com.chad.library.adapter4.viewholder.QuickViewHolder +import com.project.survey.R +import com.project.survey.model.ControlNetCGBean + +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 onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + return QuickViewHolder(R.layout.item_control_net_first, parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetSpecialAdapter.kt b/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetSpecialAdapter.kt new file mode 100644 index 0000000..58fca62 --- /dev/null +++ b/app/src/main/java/com/project/survey/ui/controlnet/adapter/ControlNetSpecialAdapter.kt @@ -0,0 +1,27 @@ +package com.project.survey.ui.controlnet.adapter + +import android.content.Context +import android.view.ViewGroup +import com.chad.library.adapter4.BaseQuickAdapter +import com.chad.library.adapter4.viewholder.QuickViewHolder +import com.project.survey.R +import com.project.survey.model.ControlNetBean + +class ControlNetSpecialAdapter : BaseQuickAdapter() { + + override fun onBindViewHolder(holder: QuickViewHolder, position: Int, item: ControlNetBean?) { + item?.let { bean -> + holder.setText(R.id.tvName, bean.KZW_NAME) + .setText(R.id.tvLevel, bean.KZW_MEASUREMENTLEVEL) + .setText(R.id.tvTime, bean.KZW_MEASUREMENTTIME) + } + } + + override fun onCreateViewHolder( + context: Context, + parent: ViewGroup, + viewType: Int + ): QuickViewHolder { + return QuickViewHolder(R.layout.item_control_net_special, parent) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt index b413edb..96a9217 100644 --- a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt @@ -8,7 +8,7 @@ import com.project.survey.extend.setOnClickNoRepeatListener import com.project.survey.ui.approval.ApprovalActivity import com.project.survey.ui.base.BaseBindingFragment import com.project.survey.ui.controlnet.ControlNetFirstListActivity -import com.project.survey.ui.controlnet.ControlNetSpeciaListActivity +import com.project.survey.ui.controlnet.ControlNetSpecialListActivity import com.project.survey.ui.lofting.LoftingListActivity import com.project.survey.ui.pointmeasure.PointMeasureListActivity import com.project.survey.util.SPUtils @@ -27,7 +27,7 @@ class HomeFragment : BaseBindingFragment() { } override fun initData() { - mBinding.itemToBeProcessed.setBadge(4) +// mBinding.itemToBeProcessed.setBadge(4) } override fun initListener() { @@ -48,11 +48,13 @@ class HomeFragment : BaseBindingFragment() { mBinding.itemInitiated.setOnClickNoRepeatListener { ApprovalActivity.start() } + // 首级控制网 mBinding.itemControlNetFirst.setOnClickNoRepeatListener { - ControlNetFirstListActivity.launch(requireContext()) + ControlNetFirstListActivity.start() } + // 专用控制网 mBinding.itemControlNetSpecial.setOnClickNoRepeatListener { - ControlNetSpeciaListActivity.launch(requireContext()) + ControlNetSpecialListActivity.start() } } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/login/LoginActivity.kt b/app/src/main/java/com/project/survey/ui/login/LoginActivity.kt index 0c28c56..863f754 100644 --- a/app/src/main/java/com/project/survey/ui/login/LoginActivity.kt +++ b/app/src/main/java/com/project/survey/ui/login/LoginActivity.kt @@ -21,6 +21,10 @@ class LoginActivity : BaseBindingActivity() { companion object { fun start() { + SPUtils.put(SPConstants.TOKEN, "") + SPUtils.put(SPConstants.ACCOUNT, "") + SPUtils.put(SPConstants.MOBILE_PHONE, "") + ActivityNavUtil.finishAllActivities() ActivityNavUtil.startActivity { } } } @@ -107,8 +111,8 @@ class LoginActivity : BaseBindingActivity() { mBinding.llShowInnerLogin.visibility = View.GONE } - mBinding.etAccount.text = null - mBinding.passwordView.clearEtPwdText() +// mBinding.etAccount.text = null +// mBinding.passwordView.clearEtPwdText() // mBinding.ilPwd.etPwd.text = null } diff --git a/app/src/main/java/com/project/survey/util/ActivityNavUtil.kt b/app/src/main/java/com/project/survey/util/ActivityNavUtil.kt index bfa98a9..904ec05 100644 --- a/app/src/main/java/com/project/survey/util/ActivityNavUtil.kt +++ b/app/src/main/java/com/project/survey/util/ActivityNavUtil.kt @@ -13,4 +13,8 @@ object ActivityNavUtil { inline fun finishActivity(){ ActivityUtils.finishActivity(T::class.java) } + + fun finishAllActivities(){ + ActivityUtils.finishAllActivities() + } } \ 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 index e609d7c..e29b786 100644 --- a/app/src/main/res/layout/activity_control_net_list.xml +++ b/app/src/main/res/layout/activity_control_net_list.xml @@ -5,7 +5,9 @@ android:layout_height="match_parent" android:orientation="vertical"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_control_net_special.xml b/app/src/main/res/layout/item_control_net_special.xml new file mode 100644 index 0000000..ff4129e --- /dev/null +++ b/app/src/main/res/layout/item_control_net_special.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + +