绑定解绑功能调试;其它优化

This commit is contained in:
马增飞
2026-01-05 18:38:10 +08:00
parent 17d47a876f
commit 582be4e9b7
16 changed files with 170 additions and 108 deletions
@@ -1,5 +1,6 @@
package com.sw.platecabinet.fragment
import android.annotation.SuppressLint
import android.os.Bundle
import android.text.Editable
import android.text.TextUtils
@@ -60,13 +61,18 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
}
}
@SuppressLint("SetTextI18n")
override fun initialize() {
arguments?.let {
info = it.getParcelable(KEY_ACTION_TYPE)
arguments?.let { args ->
info = args.getParcelable(KEY_ACTION_TYPE)
info?.let {
binding.tvNum.text = "${it.equipmentName}-${it.equipmentBoxCode}"
if (!TextUtils.isEmpty(it.plateNumber)) {
binding.etCode.text = Editable.Factory.getInstance().newEditable(it.plateNumber)
// binding.etCode.text = Editable.Factory.getInstance().newEditable(it.plateNumber)
binding.etCode.apply {
setText(it.plateNumber)
setSelection(length())
}
}
}
}
@@ -104,13 +110,27 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
}
})
(activity as MainActivity).registerKeyEventInfo {
if (binding.etUserInfo.isFocused) return@registerKeyEventInfo
binding.etCode.text.clear()
binding.etCode.postDelayed({
binding.etCode.text.clear()
binding.etCode.text = Editable.Factory.getInstance().newEditable(it)
binding.etUserInfo.requestFocus()
}, 50)
// binding.etCode.text.clear()
// binding.etCode.postDelayed({
// binding.etCode.text.clear()
// binding.etCode.text = Editable.Factory.getInstance().newEditable(it)
activity?.runOnUiThread {
if (binding.etUserInfo.isFocused) {
return@runOnUiThread
}
binding.etCode.apply {
if (it.length > 6) {
setText(it.substring(0, 6))
} else {
setText(it)
}
if (length() > 0) {
setSelection(length())
}
}
binding.etUserInfo.requestFocus()
}
// }, 50)
}
}
@@ -191,10 +211,10 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
return@setOnClickListener
}
val bindParam = BindParam(
equipmentId = info!!.equipmentId,
equipmentCode = info!!.equipmentCode!!,
equipmentBoxCode = info!!.equipmentBoxCode!!,
memberId = checkedItem!!.id!!,
equipmentId = info?.equipmentId,
equipmentCode = info?.equipmentCode,
equipmentBoxCode = info?.equipmentBoxCode,
faceId = checkedItem?.faceId,
plateNumber = plateNumber
)
viewModel.bindPlate(bindParam) { pair ->
@@ -242,7 +262,7 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
//TODO 调用接口查询用户是否已绑盘
this@BindPlateFragment.equipmentBoxCode = null
(activity as? MainActivity)?.showWaitingDialog("查询中,请稍后……")
userViewModel.getUserInfoById(memberId = item.id) {
userViewModel.getUserInfoById(memberId = item.faceId) {
(activity as? MainActivity)?.hideWaitingDialog()
this@BindPlateFragment.equipmentBoxCode = it?.equipmentBoxCode
}
@@ -269,14 +289,14 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
ToastUtils.showToast("数据异常")
return
}
if (errorInfo.equipmentUserInfo.isOtherEquipment()) {
MainActivity.start(
requireContext(),
pageType = PageType.PLATE_TIP,
equipmentUserInfo = errorInfo.equipmentUserInfo,
isAdmin = true
)
} else {
// if (errorInfo.equipmentUserInfo.isOtherEquipment()) {
// MainActivity.start(
// requireContext(),
// pageType = PageType.PLATE_TIP,
// equipmentUserInfo = errorInfo.equipmentUserInfo,
// isAdmin = true
// )
// } else {
SerialApi.openPlate(
errorInfo.equipmentUserInfo.equipmentBoxCode!!.toInt(),
object : SerialPortManager.SendCallback {
@@ -289,7 +309,7 @@ class BindPlateFragment : BaseFragment<FragmentBindPlateBinding>(
ToastUtils.showToast("绑定失败")
}
})
}
// }
} else {
ToastUtils.showToast(errorInfo.msg)
}
@@ -39,7 +39,7 @@ class UnBindPlateFragment private constructor() : BaseFragment<FragmentUnbindPla
ActivityResultContracts.StartActivityForResult()
) { result ->
if (result.resultCode == Activity.RESULT_OK) {
viewModel.unbindPlate(info!!.id!!) { pair ->
viewModel.unbindPlate(info?.id) { pair ->
updateBindState(pair)
}
}