[6.6.0]接管记录

This commit is contained in:
xuxinchao
2024-08-26 17:39:57 +08:00
parent a6c11d130c
commit f5e4bd6f6a
10 changed files with 62 additions and 45 deletions

View File

@@ -262,11 +262,11 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
}
setAudio(audioStatus)
}
//上报
//保存
tvTakeOverSave.setOnClickListener{
mTakeOverRecordInfo.reportNote = etNoteInput.text.toString()
CallerTakeOverManager.updateRecord(mActivity,mTakeOverRecordInfo)
clickListener?.onSaveReason()
clickListener?.onSaveReason(mTakeOverRecordInfo)
hideFloatWindow()
}
//取消
@@ -425,7 +425,7 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene
}
interface ClickListener {
fun onSaveReason()
fun onSaveReason(info: TakeOverRecordInfo)
}
override fun getCategoriesSuccess(list: List<CategoryInfo>) {

View File

@@ -51,6 +51,7 @@ class TakeOverRecordView @JvmOverloads constructor(
private var takeOverListAdapter: TakeOverListAdapter ?= null
private var clickListener: ClickListener? = null
private val selectedUploadRecord = ArrayList<TakeOverRecordInfo>()
private var recordList: MutableList<TakeOverRecordInfo> ?= null
init {
LayoutInflater.from(context).inflate(R.layout.view_take_over_record, this, true)
@@ -74,9 +75,8 @@ class TakeOverRecordView @JvmOverloads constructor(
?: throw IllegalStateException("please ensure context is FragmentActivity.")
val takeOverReasonWindow = TakeOverReasonWindow(activity)
takeOverReasonWindow.setClickListener(object: TakeOverReasonWindow.ClickListener{
override fun onSaveReason() {
//刷新列表 TODO 应该局部刷新
refreshList()
override fun onSaveReason(info: TakeOverRecordInfo) {
takeOverListAdapter?.notifyRecordItemChanged(info)
}
})
takeOverReasonWindow.showFloatWindow(takeOverRecordInfo)
@@ -109,12 +109,16 @@ class TakeOverRecordView @JvmOverloads constructor(
if(selectedUploadRecord.isEmpty()){
ToastUtils.showShort("请选择需要删除的接管记录")
}else{
selectedUploadRecord.forEach {
CallerTakeOverManager.deleteRecord(context,it)
val iterator = selectedUploadRecord.iterator()
while (iterator.hasNext()){
val removeRecord = iterator.next()
CallerTakeOverManager.deleteRecord(context,removeRecord)
takeOverListAdapter?.notifyRecordItemRemoved(removeRecord)
iterator.remove()
}
refreshList()
}
}
//获取接管记录列表
refreshList()
}
@@ -123,16 +127,16 @@ class TakeOverRecordView @JvmOverloads constructor(
*/
private fun refreshList(){
scope.launch(Dispatchers.IO){
val recordList= CallerTakeOverManager.getAllRecord(context)
recordList = CallerTakeOverManager.getAllRecord(context)
ThreadUtils.runOnUiThread {
if(recordList.isEmpty()){
if(recordList.isNullOrEmpty()){
tvRecordNoData.visibility = View.VISIBLE
recordGroup.visibility = View.GONE
}else{
tvRecordNoData.visibility = View.GONE
recordGroup.visibility = View.VISIBLE
//更新列表
takeOverListAdapter?.setData(recordList)
takeOverListAdapter?.setData(recordList!!)
}
}

View File

@@ -1,6 +1,7 @@
package com.zhjt.mogo_core_function_devatools.workorder.adapter
import android.content.Context
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
@@ -21,14 +22,36 @@ import com.zhjt.mogo_core_function_devatools.R
*/
class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<TakeOverListAdapter.TakeOverRecordHolder>() {
private var data:List<TakeOverRecordInfo> ?= null
private var data:MutableList<TakeOverRecordInfo> ?= null
private var clickListener: RecordClickListener ?= null
fun setData(data: List<TakeOverRecordInfo>){
fun setData(data: MutableList<TakeOverRecordInfo>){
this.data = data
notifyDataSetChanged()
}
/**
* 删除元素
*/
fun notifyRecordItemRemoved(info: TakeOverRecordInfo){
val pos = data?.indexOf(info)
pos?.let {
data?.removeAt(it)
notifyItemRemoved(it)
}
}
/**
* 修改元素
*/
fun notifyRecordItemChanged(info: TakeOverRecordInfo){
val pos = data?.indexOf(info)
pos?.let {
data!![pos] = info
notifyItemChanged(pos)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TakeOverRecordHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_take_over_record, parent, false)
@@ -45,7 +68,11 @@ class TakeOverListAdapter(private val context: Context): RecyclerView.Adapter<Ta
holder.ivCannotCheck.visibility = View.INVISIBLE
holder.cbRecordSelect.visibility = View.VISIBLE
}
holder.cbRecordSelect.setOnCheckedChangeListener(null)
holder.cbRecordSelect.isChecked = recordEntity.selectStatus
holder.cbRecordSelect.tag = recordEntity
holder.cbRecordSelect.setOnCheckedChangeListener { _, isChecked ->
it[position].selectStatus = isChecked
clickListener?.onSelectRecord(recordEntity,isChecked)
}
holder.ivCannotCheck.setOnClickListener {