diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index efc6232..e4db9a2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -455,7 +455,11 @@
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize|stateHidden" />
+
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 102325f..f5759b8 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
@@ -18,6 +18,7 @@ import com.project.survey.ui.login.LoginActivity
import com.project.survey.ui.login.LoginInputCodeActivity
import com.project.survey.ui.project.ProjectListActivity
import com.project.survey.util.SPUtils
+import kotlinx.coroutines.delay
class LoginViewModel : BaseViewModel() {
@@ -150,4 +151,22 @@ class LoginViewModel : BaseViewModel() {
// }
// }
// }
+
+ val updatePasswordResponse: LiveData
+ get() = _updatePasswordResponse
+ private val _updatePasswordResponse = MutableLiveData()
+
+ /**
+ * 修改密码
+ */
+ fun updatePassword(oldPassword: String, newPassword: String) {
+ launch {
+ val res = api.updatePassword(oldPassword, newPassword)
+ if (res.success) {
+ _updatePasswordResponse.postValue(res.message)
+ } else {
+ toast(res.message)
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
index 3356455..80f92ea 100644
--- a/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
+++ b/app/src/main/java/com/project/survey/logic/viewmodel/ProjectViewModel.kt
@@ -31,18 +31,44 @@ class ProjectViewModel : BaseViewModel() {
val api = RetrofitClient.createApiService()
- val projectResponse: LiveData>
- get() = _projectResponse
- private val _projectResponse = MutableLiveData>()
+// val projectResponse: LiveData>
+// get() = _projectResponse
+// private val _projectResponse = MutableLiveData>()
+//
+// /**
+// * 获取用户在工作的所以项目的信息
+// */
+// fun fetchProjectList() {
+// launch {
+// val res = api.fetchProjectList(SPUtils.getString(SPConstants.PERSON_ID))
+// if (res.success) {
+// _projectResponse.postValue(res.data.map { it.values })
+// } else {
+// errorResponse.postValue(res.message)
+// }
+// }
+// }
+
+ val projectListResponse: LiveData>
+ get() = _projectListResponse
+ private val _projectListResponse = MutableLiveData>()
/**
- * 获取用户在工作的所以项目的信息
+ * 获取项目的信息
+ * @param name 项目名称
+ * @param code 项目编码
*/
- fun fetchProjectList() {
+// fun fetchProjectList(name: String? = null, code: String? = null) {
+ fun fetchProjectList(searchContent: String? = null) {
launch {
- val res = api.fetchProjectList(SPUtils.getString(SPConstants.PERSON_ID))
+ val res =
+ api.fetchProjectListByProperty(
+ SPUtils.getString(SPConstants.PERSON_ID),
+ searchContent,
+ searchContent
+ )
if (res.success) {
- _projectResponse.postValue(res.data.map { it.values })
+ _projectListResponse.postValue(res.data.records.map { it.values })
} else {
errorResponse.postValue(res.message)
}
@@ -308,7 +334,10 @@ class ProjectViewModel : BaseViewModel() {
/**
* 拉取坐标
*/
- fun fetchCoordinateSystem(onSuccess: (CoordinateSystemValue) -> Unit, onFailure: (String) -> Unit) {
+ fun fetchCoordinateSystem(
+ onSuccess: (CoordinateSystemValue) -> Unit,
+ onFailure: (String) -> Unit
+ ) {
launch {
val res = api.downloadCoordinateSystem()
if (res.success) {
diff --git a/app/src/main/java/com/project/survey/model/ProjectBean.kt b/app/src/main/java/com/project/survey/model/ProjectBean.kt
index 2963c7e..cf72454 100644
--- a/app/src/main/java/com/project/survey/model/ProjectBean.kt
+++ b/app/src/main/java/com/project/survey/model/ProjectBean.kt
@@ -64,4 +64,10 @@ data class ProjectData(
val tenantIdField: String,
val tenantNameField: String,
val values: ProjectBean
+): Parcelable
+
+@Keep
+@Parcelize
+data class ProjectListData(
+ val records: List
): Parcelable
\ No newline at end of file
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 d8b533d..f6d8932 100644
--- a/app/src/main/java/com/project/survey/network/Api.kt
+++ b/app/src/main/java/com/project/survey/network/Api.kt
@@ -18,6 +18,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.ProjectListData
import com.project.survey.model.SpecialControlNetworkVersionBean
import com.project.survey.util.SPUtils
import okhttp3.RequestBody
@@ -79,6 +80,18 @@ interface Api {
@Query("personId") personId: String
): HttpResult>
+ /**
+ * 获取项目的信息
+ */
+ @GET("je/project/getProjectInfoByProperty")
+ suspend fun fetchProjectListByProperty(
+ @Query("personId") personId: String,
+ @Query("name") name: String?,
+ @Query("code") code: String?,
+ @Query("current") current: String = "1",
+ @Query("pageSize") pageSize: String = "100"
+ ): HttpResult
+
/**
* 获取流程审批列表
*/
@@ -292,4 +305,14 @@ interface Api {
@Field("coordinateParameter") coordinateParameter: String,
@Field("name") name: String
): HttpResult
+
+ /**
+ * 修改密码
+ */
+ @FormUrlEncoded
+ @POST("/je/personInfo/updatePassword")
+ suspend fun updatePassword(
+ @Field("oldPassword") oldPassword: String,
+ @Field("newPassword") newPassword: String
+ ): HttpResult
}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/home/MeFragment.kt b/app/src/main/java/com/project/survey/ui/home/MeFragment.kt
index a65be47..d8e79dd 100644
--- a/app/src/main/java/com/project/survey/ui/home/MeFragment.kt
+++ b/app/src/main/java/com/project/survey/ui/home/MeFragment.kt
@@ -3,22 +3,18 @@ package com.project.survey.ui.home
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.fragment.app.viewModels
-import blankj.utilcode.util.ActivityUtils
import com.afollestad.materialdialogs.MaterialDialog
-import com.project.survey.BuildConfig
-import com.project.survey.R
import com.project.survey.constants.EventConstants
import com.project.survey.constants.SPConstants
import com.project.survey.databinding.FragmentMeBinding
import com.project.survey.extend.setOnClickNoRepeatListener
-import com.project.survey.logic.event.Message
-import com.project.survey.logic.viewmodel.LoginViewModel
import com.project.survey.logic.viewmodel.MainViewModel
import com.project.survey.model.ProjectBean
import com.project.survey.ui.MainActivity
import com.project.survey.ui.base.BaseBindingFragment
-import com.project.survey.ui.login.ForgetPwdInputCodeActivity
import com.project.survey.ui.login.LoginActivity
+import com.project.survey.ui.login.UpdatePwdActivity
+import com.project.survey.ui.mine.AboutActivity
import com.project.survey.ui.project.ProjectListActivity
import com.project.survey.util.ActivityNavUtil
import com.project.survey.util.LogoutUtil
@@ -81,7 +77,7 @@ class MeFragment : BaseBindingFragment() {
ProjectListActivity.start()
}
mBinding.llChangePwd.setOnClickNoRepeatListener {
- ForgetPwdInputCodeActivity.start()
+ UpdatePwdActivity.start()
}
// 关于
mBinding.llAbout.setOnClickNoRepeatListener {
diff --git a/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt b/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt
new file mode 100644
index 0000000..0dd2ce6
--- /dev/null
+++ b/app/src/main/java/com/project/survey/ui/login/UpdatePwdActivity.kt
@@ -0,0 +1,67 @@
+package com.project.survey.ui.login
+
+import androidx.activity.viewModels
+import com.project.survey.databinding.ActivityUpdatePwdBinding
+import com.project.survey.extend.setOnClickNoRepeatListener
+import com.project.survey.extend.smartDismiss
+import com.project.survey.extend.toast
+import com.project.survey.logic.viewmodel.LoginViewModel
+import com.project.survey.ui.base.BaseBindingActivity
+import com.project.survey.util.ActivityNavUtil
+
+/**
+ * 更新密码
+ */
+class UpdatePwdActivity : BaseBindingActivity() {
+
+ companion object {
+ fun start() {
+ ActivityNavUtil.startActivity {}
+ }
+ }
+
+ private val viewModel: LoginViewModel by viewModels()
+
+ override fun getBinding(): ActivityUpdatePwdBinding =
+ ActivityUpdatePwdBinding.inflate(layoutInflater)
+
+
+ override fun initView() {
+ immersionToolbar(mBinding.toolbar)
+
+ viewModel.errorResponse.observe(this) {
+ toast(it)
+ }
+ viewModel.updatePasswordResponse.observe(this) {
+ finish()
+ toast(it)
+ }
+ }
+
+ override fun initData() {
+
+ }
+
+ override fun initListener() {
+ mBinding.btnConfirm.setOnClickNoRepeatListener {
+ val oldPassword = mBinding.passwordViewOld.text.takeIf { it.isNotEmpty() } ?: run {
+ toast("请输入旧密码")
+ return@setOnClickNoRepeatListener
+ }
+ val newPassword = mBinding.passwordViewOne.text.takeIf { it.isNotEmpty() } ?: run {
+ toast("请输入新密码")
+ return@setOnClickNoRepeatListener
+ }
+ val newPassword2 = mBinding.passwordViewTwo.text.takeIf { it.isNotEmpty() } ?: run {
+ toast("请输入确认密码")
+ return@setOnClickNoRepeatListener
+ }
+ if (newPassword != newPassword2) {
+ toast("新密码输入不一致")
+ return@setOnClickNoRepeatListener
+ }
+ viewModel.updatePassword(oldPassword, newPassword)
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/project/survey/ui/home/AboutActivity.kt b/app/src/main/java/com/project/survey/ui/mine/AboutActivity.kt
similarity index 91%
rename from app/src/main/java/com/project/survey/ui/home/AboutActivity.kt
rename to app/src/main/java/com/project/survey/ui/mine/AboutActivity.kt
index 7f4da92..5bfa1ae 100644
--- a/app/src/main/java/com/project/survey/ui/home/AboutActivity.kt
+++ b/app/src/main/java/com/project/survey/ui/mine/AboutActivity.kt
@@ -1,4 +1,4 @@
-package com.project.survey.ui.home
+package com.project.survey.ui.mine
import blankj.utilcode.util.AppUtils
import com.project.survey.R
@@ -24,7 +24,7 @@ class AboutActivity : BaseBindingActivity() {
}
override fun initData() {
- mBinding.tvVersion.text = "工程测量综合管理系统 V${AppUtils.getAppVersionName()}"
+ mBinding.tvVersion.text = "工程测量综合管理系统\nV${AppUtils.getAppVersionName()}"
}
override fun initListener() {
diff --git a/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt b/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt
index b49aa79..216c47d 100644
--- a/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt
+++ b/app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt
@@ -47,6 +47,7 @@ class ProjectListActivity : BaseBindingActivity(), O
private val viewModel: ProjectViewModel by viewModels()
private val adapter by lazy { ProjectListAdapter() }
+ private var searchContent: String? = null
override fun initView() {
immersionToolbar(mBinding.toolbar, "项目列表")
@@ -62,7 +63,8 @@ class ProjectListActivity : BaseBindingActivity(), O
// initTabLayout()
// 搜索
mBinding.searchWidget.setOnEditorSearchListener {
- // 搜索 it
+ searchContent = it.ifBlank { null }
+ fetchData()
}
mBinding.smartRefreshLayout.setOnRefreshListener(this)
@@ -76,7 +78,7 @@ class ProjectListActivity : BaseBindingActivity(), O
toast(it)
mBinding.smartRefreshLayout.smartDismiss()
}
- viewModel.projectResponse.observe(this) {
+ viewModel.projectListResponse.observe(this) {
mBinding.smartRefreshLayout.smartDismiss()
if (it.isNotEmpty()) {
adapter.submitList(it)
@@ -88,7 +90,7 @@ class ProjectListActivity : BaseBindingActivity(), O
}
private fun fetchData() {
- viewModel.fetchProjectList()
+ viewModel.fetchProjectList(searchContent)
}
override fun onRefresh(refreshLayout: RefreshLayout) {
diff --git a/app/src/main/res/layout/activity_about.xml b/app/src/main/res/layout/activity_about.xml
index 366d516..c90bc63 100644
--- a/app/src/main/res/layout/activity_about.xml
+++ b/app/src/main/res/layout/activity_about.xml
@@ -23,9 +23,9 @@
+ tools:text="工程测量综合管理系统\nV1.0.0" />
@@ -60,8 +61,8 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Copyright© 2023-2025"
- android:textColor="@color/text_color_666"
- android:textSize="@dimen/sw_14sp"
+ android:textColor="@color/text_color_999"
+ android:textSize="@dimen/sw_12sp"
app:layout_constraintBottom_toTopOf="@id/tv_company"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
@@ -72,8 +73,8 @@
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/sw_50dp"
android:text="上海勘测设计研究院有限公司"
- android:textColor="@color/text_color_666"
- android:textSize="@dimen/sw_14sp"
+ android:textColor="@color/text_color_999"
+ android:textSize="@dimen/sw_12sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
diff --git a/app/src/main/res/layout/activity_update_pwd.xml b/app/src/main/res/layout/activity_update_pwd.xml
new file mode 100644
index 0000000..6762a1f
--- /dev/null
+++ b/app/src/main/res/layout/activity_update_pwd.xml
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file