diff --git a/app/src/main/java/com/casic/qd/smartwell/view/OrderSearchResultActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/OrderSearchResultActivity.kt index e654530..c6877e4 100644 --- a/app/src/main/java/com/casic/qd/smartwell/view/OrderSearchResultActivity.kt +++ b/app/src/main/java/com/casic/qd/smartwell/view/OrderSearchResultActivity.kt @@ -36,6 +36,7 @@ private var pageIndex = 1 private var isRefresh = false private var isLoadMore = false + private var clickedPosition = 0 override fun initLayoutView(): Int = R.layout.activity_order_search_result @@ -111,8 +112,9 @@ } is LoadState.Success -> { DialogHelper.dismissLoadingDialog() - //通知列表刷行数据 - weakReferenceHandler.sendEmptyMessage(2022040102) + //接单成功之后刷新数据 + searchResultAdapter.notifyItemRemoved(clickedPosition) + dataBeans.removeAt(clickedPosition) } else -> { DialogHelper.dismissLoadingDialog() @@ -154,75 +156,70 @@ } private val callback = Handler.Callback { - when (it.what) { - 2022040102 -> { - isRefresh = true - pageIndex = 1 - obtainSearchResult() - } - 2022040101 -> { - if (isRefresh || isLoadMore) { - searchResultAdapter.notifyDataSetChanged() - } else { //首次加载数据 - if (dataBeans.size == 0) { - emptyView!!.showEmptyPage { - pageIndex = 1 - obtainSearchResult() - } - } else { - emptyView!!.hide() - searchResultAdapter = SearchResultAdapter(this, dataBeans) - resultRecyclerView!!.layoutManager = LinearLayoutManager(this) - resultRecyclerView!!.adapter = searchResultAdapter - searchResultAdapter.setOnItemClickListener(object : - SearchResultAdapter.OnItemClickListener { - override fun onClicked(position: Int) { - val jobId = dataBeans[position].jobId.toString() - if (jobId.isBlank()) { - "工单编号异常,无法查看详情".show() - return - } - if (dataBeans[position].jobStatus == "0") { - navigatePageTo(jobId) - } else { - navigatePageTo(jobId) - } - } - - override fun onOperationClicked(position: Int) { - AlertControlDialog.Builder() - .setContext(this@OrderSearchResultActivity) - .setTitle("操作提示") - .setMessage("确定要接单吗") - .setNegativeButton("取消") - .setPositiveButton("确定") - .setOnDialogButtonClickListener(object : - AlertControlDialog.OnDialogButtonClickListener { - override fun onConfirmClick() { - val jobId = dataBeans[position].jobId.toString() - if (jobId.isBlank()) { - "工单ID异常,无法接单".show() - return - } - operationViewModel.acceptOrder(jobId) - } - - override fun onCancelClick() { - - } - }).build().show() - } - - override fun onTransferViewClicked(position: Int) { - val jobId = dataBeans[position].jobId.toString() - if (jobId.isBlank()) { - "工单编号异常,无法查看工单流转记录".show() - return - } - workOrderViewModel.obtainWorkOrderDetail(jobId) - } - }) + if (it.what == 2022040101) { + if (isRefresh || isLoadMore) { + searchResultAdapter.notifyDataSetChanged() + } else { //首次加载数据 + if (dataBeans.size == 0) { + emptyView!!.showEmptyPage { + pageIndex = 1 + obtainSearchResult() } + } else { + emptyView!!.hide() + searchResultAdapter = SearchResultAdapter(this, dataBeans) + resultRecyclerView!!.layoutManager = LinearLayoutManager(this) + resultRecyclerView!!.adapter = searchResultAdapter + searchResultAdapter.setOnItemClickListener(object : + SearchResultAdapter.OnItemClickListener { + override fun onClicked(position: Int) { + val jobId = dataBeans[position].jobId.toString() + if (jobId.isBlank()) { + "工单编号异常,无法查看详情".show() + return + } + if (dataBeans[position].jobStatus == "0") { + navigatePageTo(jobId) + } else { + navigatePageTo(jobId) + } + } + + override fun onOperationClicked(position: Int) { + //标记被点击的item位置 + clickedPosition = position + AlertControlDialog.Builder() + .setContext(this@OrderSearchResultActivity) + .setTitle("操作提示") + .setMessage("确定要接单吗") + .setNegativeButton("取消") + .setPositiveButton("确定") + .setOnDialogButtonClickListener(object : + AlertControlDialog.OnDialogButtonClickListener { + override fun onConfirmClick() { + val jobId = dataBeans[position].jobId.toString() + if (jobId.isBlank()) { + "工单ID异常,无法接单".show() + return + } + operationViewModel.acceptOrder(jobId) + } + + override fun onCancelClick() { + + } + }).build().show() + } + + override fun onTransferViewClicked(position: Int) { + val jobId = dataBeans[position].jobId.toString() + if (jobId.isBlank()) { + "工单编号异常,无法查看工单流转记录".show() + return + } + workOrderViewModel.obtainWorkOrderDetail(jobId) + } + }) } } }