测量计划列表,进入测量、结束测量按钮的enable逻辑修改

main
chenglifeng 6 months ago
parent dffdd7ae8e
commit f5eb134580
  1. 1
      app/src/main/java/com/project/survey/constants/Constants.kt
  2. 1
      app/src/main/java/com/project/survey/logic/viewmodel/LoginViewModel.kt
  3. 1
      app/src/main/java/com/project/survey/model/LoginBean.kt
  4. 1
      app/src/main/java/com/project/survey/model/MeasureBean.kt
  5. 16
      app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt
  6. 32
      app/src/main/java/com/project/survey/ui/pointmeasure/adapter/PointMeasureListAdapter.kt
  7. 1
      app/src/main/java/com/project/survey/util/LogoutUtil.kt
  8. 8
      app/src/main/res/layout/item_point_measure_list.xml

@ -13,6 +13,7 @@ object SPConstants {
const val ACCOUNT = "account"
const val MOBILE_PHONE = "mobilePhone"
const val PERSON_ID = "personId"
const val PERSON_NAME = "personName"
const val RECENTLY_PROJECT = "recentlyProject"
const val PROJECT_ID = "projectId"

@ -64,6 +64,7 @@ class LoginViewModel : BaseViewModel() {
SPUtils.put(SPConstants.TOKEN, res.data.token)
SPUtils.put(SPConstants.PERSON_ID, res.data.personId)
SPUtils.put(SPConstants.MOBILE_PHONE, res.data.mobilePhone)
SPUtils.put(SPConstants.PERSON_NAME, res.data.name)
var userConfig = AppDataBase.getInstance().userConfigDao().findByLeanCloudUserId(res.data.personId)

@ -12,5 +12,6 @@ import kotlinx.android.parcel.Parcelize
data class LoginBean(
val token: String,
val mobilePhone: String,
val name: String,
val personId: String?
) : Parcelable

@ -67,6 +67,7 @@ data class MeasureBean(
val CLJH_CLLX_NAME: String, //测量类型
// 无值或“待执行”为未开始测量,“执行中”为点击开始测量后至点击结束测量之间的状态,“已结束”为点击结束测量至点击生成报验单之间的状态,“报验单已生成”为生成报验单后的状态
var CLJH_WORKSTATUS: String?, //状态
val CLJH_WJSCLRY:String, //"齐恒(施工1-1),立锋," 根据当前账号名字是否在此字段
val GCJL_LCMC: String?, //流程名称(工程计量)
val GCJL_BDLSH: String?, //流程编号

@ -106,13 +106,15 @@ class PointMeasureListActivity : BaseBindingActivity<ActivityPointMeasureListBin
}
//
viewModel.updateMeasureWorkStatusResponse.observe(this) {
val position = adapter.items.indexOfFirst { bean -> bean.BD_CLJH_ID == it.id }
if (position > -1) {
adapter.getItem(position)?.let { bean ->
bean.CLJH_WORKSTATUS = it.status
adapter.notifyItemChanged(position, AdapterConstants.WORK_STATUS)
}
}
// val position = adapter.items.indexOfFirst { bean -> bean.BD_CLJH_ID == it.id }
// if (position > -1) {
// adapter.getItem(position)?.let { bean ->
// bean.CLJH_WORKSTATUS = it.status
// adapter.notifyItemChanged(position, AdapterConstants.WORK_STATUS)
// }
// }
//刷新数据
fetchData()
}
// 获取列表数据

@ -7,7 +7,9 @@ import com.chad.library.adapter4.viewholder.QuickViewHolder
import com.project.survey.R
import com.project.survey.constants.AdapterConstants
import com.project.survey.constants.Constants
import com.project.survey.constants.SPConstants
import com.project.survey.model.MeasureBean
import com.project.survey.util.SPUtils
class PointMeasureListAdapter(val type: String) : BaseQuickAdapter<MeasureBean, QuickViewHolder>() {
@ -32,11 +34,16 @@ class PointMeasureListAdapter(val type: String) : BaseQuickAdapter<MeasureBean,
.setEnabled(R.id.tvGenerateForm, "已结束" == item.CLJH_WORKSTATUS)
if (isCLJH) {
holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.CLJH_WORKSTATUS)
.setEnabled(
R.id.tvEnterMeasure,
"执行中" == item.CLJH_WORKSTATUS || "待执行" == item.CLJH_WORKSTATUS || item.CLJH_WORKSTATUS.isNullOrBlank()
)
// holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.CLJH_WORKSTATUS)
// .setEnabled(
// R.id.tvEnterMeasure,
// "执行中" == item.CLJH_WORKSTATUS || "待执行" == item.CLJH_WORKSTATUS || item.CLJH_WORKSTATUS.isNullOrBlank()
// )
// CLJH_WJSCLRY 根据当前账号名字是否在此字段
val personName = SPUtils.getString(SPConstants.PERSON_NAME)
val enable = item.CLJH_WJSCLRY.split(",").contains(personName) && personName.isNotBlank()
holder.setEnabled(R.id.tvStopMeasure, enable)
.setEnabled(R.id.tvEnterMeasure, enable)
} else {
holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.GCJL_WORKSTATUS)
.setEnabled(
@ -68,11 +75,16 @@ class PointMeasureListAdapter(val type: String) : BaseQuickAdapter<MeasureBean,
if (type == AdapterConstants.WORK_STATUS) {
holder.setEnabled(R.id.tvGenerateForm, "已结束" == item.CLJH_WORKSTATUS)
if (isCLJH) {
holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.CLJH_WORKSTATUS)
.setEnabled(
R.id.tvEnterMeasure,
"执行中" == item.CLJH_WORKSTATUS || "待执行" == item.CLJH_WORKSTATUS || item.CLJH_WORKSTATUS.isNullOrBlank()
)
// holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.CLJH_WORKSTATUS)
// .setEnabled(
// R.id.tvEnterMeasure,
// "执行中" == item.CLJH_WORKSTATUS || "待执行" == item.CLJH_WORKSTATUS || item.CLJH_WORKSTATUS.isNullOrBlank()
// )
// CLJH_WJSCLRY 根据当前账号名字是否在此字段
val personName = SPUtils.getString(SPConstants.PERSON_NAME)
val enable = item.CLJH_WJSCLRY.split(",").contains(personName) && personName.isNotBlank()
holder.setEnabled(R.id.tvStopMeasure, enable)
.setEnabled(R.id.tvEnterMeasure, enable)
} else {
holder.setEnabled(R.id.tvStopMeasure, "执行中" == item.GCJL_WORKSTATUS)
.setEnabled(

@ -9,5 +9,6 @@ object LogoutUtil {
SPUtils.removeKey(SPConstants.TOKEN)
SPUtils.removeKey(SPConstants.MOBILE_PHONE)
SPUtils.removeKey(SPConstants.PERSON_ID)
SPUtils.removeKey(SPConstants.PERSON_NAME)
}
}

@ -80,13 +80,17 @@
<TextView
android:id="@+id/tvMeasureContent"
android:layout_width="wrap_content"
android:layout_width="0dp"
app:layout_constraintHorizontal_weight="1"
app:layout_constraintEnd_toEndOf="parent"
android:layout_height="wrap_content"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/text_color_404145"
android:textSize="@dimen/sw_12sp"
app:layout_constraintBaseline_toBaselineOf="@id/tvMeasureContentKey"
app:layout_constraintStart_toEndOf="@id/tvMeasureContentKey"
tools:text="内容名称" />
tools:text="内容名称内容名称内容名称内容名称内容名称内容名称内容名称内容名称内容名称" />
<TextView
android:id="@+id/tvApplyUserKey"

Loading…
Cancel
Save