|
@@ -9,13 +9,14 @@ import com.drake.brv.utils.divider
|
|
|
import com.drake.brv.utils.linear
|
|
import com.drake.brv.utils.linear
|
|
|
import com.drake.brv.utils.models
|
|
import com.drake.brv.utils.models
|
|
|
import com.drake.brv.utils.setup
|
|
import com.drake.brv.utils.setup
|
|
|
-import com.grkj.domain.entity.vo.UserManageFilterVo
|
|
|
|
|
import com.grkj.data.model.vo.UserManageVo
|
|
import com.grkj.data.model.vo.UserManageVo
|
|
|
import com.grkj.iscs.R
|
|
import com.grkj.iscs.R
|
|
|
import com.grkj.iscs.databinding.FragmentUserManageBinding
|
|
import com.grkj.iscs.databinding.FragmentUserManageBinding
|
|
|
import com.grkj.iscs.databinding.ItemUserManageUserBinding
|
|
import com.grkj.iscs.databinding.ItemUserManageUserBinding
|
|
|
-import com.grkj.iscs.features.main.dialog.AddUserDialog
|
|
|
|
|
-import com.grkj.iscs.features.main.dialog.FilterUserDialog
|
|
|
|
|
|
|
+import com.grkj.iscs.features.main.dialog.data_manage.AddUserDialog
|
|
|
|
|
+import com.grkj.iscs.features.main.dialog.data_manage.FilterUserDialog
|
|
|
|
|
+import com.grkj.iscs.features.main.dialog.TextDropDownDialog
|
|
|
|
|
+import com.grkj.iscs.features.main.dialog.data_manage.UserDetailDialog
|
|
|
import com.grkj.iscs.features.main.viewmodel.user_manage.UserManageViewModel
|
|
import com.grkj.iscs.features.main.viewmodel.user_manage.UserManageViewModel
|
|
|
import com.grkj.ui_base.base.BaseFragment
|
|
import com.grkj.ui_base.base.BaseFragment
|
|
|
import com.grkj.ui_base.dialog.TipDialog
|
|
import com.grkj.ui_base.dialog.TipDialog
|
|
@@ -30,6 +31,7 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
private val viewModel: UserManageViewModel by lazy { ViewModelProvider(this)[UserManageViewModel::class] }
|
|
private val viewModel: UserManageViewModel by lazy { ViewModelProvider(this)[UserManageViewModel::class] }
|
|
|
private lateinit var addUserDialog: AddUserDialog
|
|
private lateinit var addUserDialog: AddUserDialog
|
|
|
private lateinit var filterUserDialog: FilterUserDialog
|
|
private lateinit var filterUserDialog: FilterUserDialog
|
|
|
|
|
+ private lateinit var userDetailDialog: UserDetailDialog
|
|
|
override fun getLayoutId(): Int {
|
|
override fun getLayoutId(): Int {
|
|
|
return R.layout.fragment_user_manage
|
|
return R.layout.fragment_user_manage
|
|
|
}
|
|
}
|
|
@@ -39,8 +41,11 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
addUserDialog.popupGravity = Gravity.CENTER
|
|
addUserDialog.popupGravity = Gravity.CENTER
|
|
|
filterUserDialog = FilterUserDialog(requireContext())
|
|
filterUserDialog = FilterUserDialog(requireContext())
|
|
|
filterUserDialog.popupGravity = Gravity.CENTER
|
|
filterUserDialog.popupGravity = Gravity.CENTER
|
|
|
|
|
+ userDetailDialog = UserDetailDialog(requireContext())
|
|
|
|
|
+ userDetailDialog.popupGravity = Gravity.CENTER
|
|
|
filterUserDialog.setOnConfirmListener {
|
|
filterUserDialog.setOnConfirmListener {
|
|
|
- getUserData(it)
|
|
|
|
|
|
|
+ viewModel.userFilterData = it
|
|
|
|
|
+ getUserData(nextPage = false)
|
|
|
}
|
|
}
|
|
|
addUserDialog.setOnConfirmListener {
|
|
addUserDialog.setOnConfirmListener {
|
|
|
viewModel.addUser(it).observe(this) {
|
|
viewModel.addUser(it).observe(this) {
|
|
@@ -51,7 +56,10 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
dialogType = TipDialog.DialogType.SUCCESS,
|
|
dialogType = TipDialog.DialogType.SUCCESS,
|
|
|
msg = CommonUtils.getStr(R.string.add_user_succeed).toString(),
|
|
msg = CommonUtils.getStr(R.string.add_user_succeed).toString(),
|
|
|
countDownTime = 10,
|
|
countDownTime = 10,
|
|
|
- showConfirm = false
|
|
|
|
|
|
|
+ showConfirm = false,
|
|
|
|
|
+ onCancelClick = {
|
|
|
|
|
+ getUserData(false)
|
|
|
|
|
+ }
|
|
|
)
|
|
)
|
|
|
} else {
|
|
} else {
|
|
|
TipDialog.show(
|
|
TipDialog.show(
|
|
@@ -60,37 +68,58 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
dialogType = TipDialog.DialogType.ERROR,
|
|
dialogType = TipDialog.DialogType.ERROR,
|
|
|
msg = CommonUtils.getStr(R.string.add_user_failed).toString(),
|
|
msg = CommonUtils.getStr(R.string.add_user_failed).toString(),
|
|
|
countDownTime = 10,
|
|
countDownTime = 10,
|
|
|
- showConfirm = false
|
|
|
|
|
|
|
+ showConfirm = false,
|
|
|
|
|
+ onCancelClick = {
|
|
|
|
|
+ getUserData(false)
|
|
|
|
|
+ }
|
|
|
)
|
|
)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ binding.back.setDebouncedClickListener {
|
|
|
|
|
+ navController.popBackStack()
|
|
|
|
|
+ }
|
|
|
binding.deleteUser.setDebouncedClickListener {
|
|
binding.deleteUser.setDebouncedClickListener {
|
|
|
deleteSelectUser()
|
|
deleteSelectUser()
|
|
|
}
|
|
}
|
|
|
binding.addUser.setDebouncedClickListener {
|
|
binding.addUser.setDebouncedClickListener {
|
|
|
- addUserDialog.showPopupWindow()
|
|
|
|
|
|
|
+ viewModel.initRoleAndWorkStationData().observe(this) {
|
|
|
|
|
+ addUserDialog.setRoleData(viewModel.roleData.map {
|
|
|
|
|
+ TextDropDownDialog.SimpleTextDropDownEntity(
|
|
|
|
|
+ it.roleId,
|
|
|
|
|
+ it.roleName
|
|
|
|
|
+ )
|
|
|
|
|
+ })
|
|
|
|
|
+ addUserDialog.setWorkstationData(viewModel.workstationData.map {
|
|
|
|
|
+ TextDropDownDialog.SimpleTextDropDownEntity(
|
|
|
|
|
+ it.workstationId,
|
|
|
|
|
+ it.workstationName
|
|
|
|
|
+ )
|
|
|
|
|
+ })
|
|
|
|
|
+ addUserDialog.showPopupWindow()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
binding.filterUser.setDebouncedClickListener {
|
|
binding.filterUser.setDebouncedClickListener {
|
|
|
filterUserDialog.showPopupWindow()
|
|
filterUserDialog.showPopupWindow()
|
|
|
}
|
|
}
|
|
|
binding.refreshLayout.setOnRefreshListener {
|
|
binding.refreshLayout.setOnRefreshListener {
|
|
|
|
|
+ viewModel.userFilterData = null
|
|
|
getUserData(nextPage = false)
|
|
getUserData(nextPage = false)
|
|
|
}
|
|
}
|
|
|
binding.refreshLayout.setOnLoadMoreListener {
|
|
binding.refreshLayout.setOnLoadMoreListener {
|
|
|
getUserData()
|
|
getUserData()
|
|
|
}
|
|
}
|
|
|
binding.userListRv.linear().divider {
|
|
binding.userListRv.linear().divider {
|
|
|
- this.setColor(Color.BLACK)
|
|
|
|
|
- this.startVisible = false
|
|
|
|
|
- this.endVisible = false
|
|
|
|
|
- this.orientation = DividerOrientation.VERTICAL
|
|
|
|
|
- }.setup {
|
|
|
|
|
- addType<UserManageVo>(R.layout.item_user_manage_user)
|
|
|
|
|
- onBind {
|
|
|
|
|
- onUserDataBinding(this)
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ this.setColor(Color.BLACK)
|
|
|
|
|
+ this.startVisible = false
|
|
|
|
|
+ this.endVisible = true
|
|
|
|
|
+ this.orientation = DividerOrientation.VERTICAL
|
|
|
|
|
+ }.setup {
|
|
|
|
|
+ addType<UserManageVo>(R.layout.item_user_manage_user)
|
|
|
|
|
+ onBind {
|
|
|
|
|
+ onUserDataBinding(this)
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
setSelectAllListener()
|
|
setSelectAllListener()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -105,7 +134,7 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
val itemBinding = holder.getBinding<ItemUserManageUserBinding>()
|
|
val itemBinding = holder.getBinding<ItemUserManageUserBinding>()
|
|
|
val item = holder.getModel<UserManageVo>()
|
|
val item = holder.getModel<UserManageVo>()
|
|
|
itemBinding.nickname.text = item.nickName
|
|
itemBinding.nickname.text = item.nickName
|
|
|
- itemBinding.cardCode.text = item.cardCode
|
|
|
|
|
|
|
+ itemBinding.cardCode.text = item.cardCodes.joinToString(",")
|
|
|
itemBinding.select.setOnCheckedChangeListener(null)
|
|
itemBinding.select.setOnCheckedChangeListener(null)
|
|
|
itemBinding.select.isChecked = item.isSelected
|
|
itemBinding.select.isChecked = item.isSelected
|
|
|
itemBinding.select.setOnCheckedChangeListener { _, checked ->
|
|
itemBinding.select.setOnCheckedChangeListener { _, checked ->
|
|
@@ -114,17 +143,26 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
binding.selectAll.isChecked = viewModel.userManageDataList.all { it.isSelected }
|
|
binding.selectAll.isChecked = viewModel.userManageDataList.all { it.isSelected }
|
|
|
setSelectAllListener()
|
|
setSelectAllListener()
|
|
|
}
|
|
}
|
|
|
|
|
+ itemBinding.view.setOnClickListener {
|
|
|
|
|
+ userDetailDialog.setUserData(item)
|
|
|
|
|
+ userDetailDialog.showPopupWindow()
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun initData() {
|
|
override fun initData() {
|
|
|
super.initData()
|
|
super.initData()
|
|
|
|
|
+ viewModel.userFilterData = null
|
|
|
getUserData(nextPage = false)
|
|
getUserData(nextPage = false)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private fun getUserData(
|
|
|
|
|
- filterData: UserManageFilterVo? = null, nextPage: Boolean = true
|
|
|
|
|
- ) {
|
|
|
|
|
- viewModel.getUserData(filterData, nextPage).observe(this) {
|
|
|
|
|
|
|
+ private fun getUserData(nextPage: Boolean = true) {
|
|
|
|
|
+ viewModel.getUserData(viewModel.userFilterData, nextPage).observe(this) {
|
|
|
|
|
+ if (!nextPage) {
|
|
|
|
|
+ viewModel.userFilterData = null
|
|
|
|
|
+ binding.selectAll.setOnCheckedChangeListener(null)
|
|
|
|
|
+ binding.selectAll.isChecked = false
|
|
|
|
|
+ setSelectAllListener()
|
|
|
|
|
+ }
|
|
|
binding.refreshLayout.finishRefresh()
|
|
binding.refreshLayout.finishRefresh()
|
|
|
binding.refreshLayout.finishLoadMore()
|
|
binding.refreshLayout.finishLoadMore()
|
|
|
binding.userListRv.models = viewModel.userManageDataList
|
|
binding.userListRv.models = viewModel.userManageDataList
|
|
@@ -140,25 +178,27 @@ class UserManageFragment : BaseFragment<FragmentUserManageBinding>() {
|
|
|
msg = CommonUtils.getStr(R.string.check_delete_user).toString(),
|
|
msg = CommonUtils.getStr(R.string.check_delete_user).toString(),
|
|
|
countDownTime = 10,
|
|
countDownTime = 10,
|
|
|
onConfirmClick = {
|
|
onConfirmClick = {
|
|
|
- viewModel.deleteSelectedUsers().observe(this) {
|
|
|
|
|
- if (it) {
|
|
|
|
|
- TipDialog.show(
|
|
|
|
|
- dialogType = TipDialog.DialogType.SUCCESS,
|
|
|
|
|
- msg = CommonUtils.getStr(R.string.user_manage_delete_succeed)
|
|
|
|
|
- .toString(),
|
|
|
|
|
- showConfirm = false,
|
|
|
|
|
- countDownTime = 10
|
|
|
|
|
- )
|
|
|
|
|
- } else {
|
|
|
|
|
- TipDialog.show(
|
|
|
|
|
- dialogType = TipDialog.DialogType.ERROR,
|
|
|
|
|
- msg = CommonUtils.getStr(R.string.user_manage_delete_failed)
|
|
|
|
|
- .toString(),
|
|
|
|
|
- showConfirm = false,
|
|
|
|
|
- countDownTime = 10
|
|
|
|
|
- )
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ viewModel.deleteSelectedUsers(viewModel.userManageDataList.filter { it.isSelected }
|
|
|
|
|
+ .map { it.userId }).observe(this) {
|
|
|
|
|
+ if (it) {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ dialogType = TipDialog.DialogType.SUCCESS,
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.user_manage_delete_succeed)
|
|
|
|
|
+ .toString(),
|
|
|
|
|
+ showConfirm = false,
|
|
|
|
|
+ countDownTime = 10
|
|
|
|
|
+ )
|
|
|
|
|
+ getUserData(false)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ TipDialog.show(
|
|
|
|
|
+ dialogType = TipDialog.DialogType.ERROR,
|
|
|
|
|
+ msg = CommonUtils.getStr(R.string.user_manage_delete_failed)
|
|
|
|
|
+ .toString(),
|
|
|
|
|
+ showConfirm = false,
|
|
|
|
|
+ countDownTime = 10
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|