From 74197c22c31f63a40c404a9b0ffe6cf0fdedea5c Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Tue, 3 Sep 2024 18:10:23 +0800 Subject: [PATCH] =?UTF-8?q?[6.6.0]=E6=8E=A5=E7=AE=A1=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E5=BC=B9=E7=AA=97=E6=8E=A7=E5=88=B6=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E5=A4=9A=E6=AC=A1=E7=82=B9=E5=87=BB=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workorder/ReportTypeWindow.kt | 2 +- .../workorder/TakeOverReasonWindow.kt | 18 ++++++++++++++++ .../workorder/TakeOverRecordView.kt | 21 ++++++++++++------- 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt index 66d34c26af..c89d428658 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/ReportTypeWindow.kt @@ -293,7 +293,7 @@ class ReportTypeWindow constructor(activity: Activity): IMoGoDevaToolsListener { /** * 设置弹窗展示状态 */ - fun setWindowShowStatus(isShow: Boolean){ + private fun setWindowShowStatus(isShow: Boolean){ isShowing = isShow } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt index 780c9e2402..2fa0647b4e 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverReasonWindow.kt @@ -109,6 +109,8 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene private var level2Name: String = "" private var level3Name: String = "" + private var isShowing: Boolean = false //弹窗是否是展示状态 + init { initFloatWindow() } @@ -448,15 +450,31 @@ class TakeOverReasonWindow constructor(activity: Activity) : View.OnTouchListene tvTakeOverTime.text = mActivity.resources.getString(R.string.take_over_time) + millis2String(mTakeOverRecordInfo.faultStartTime, TimeUtils.getHourMinSecondFormat()) } + setWindowShowStatus(true) } fun hideFloatWindow() { if (mFloatLayout.parent != null){ mWindowManager!!.removeView(mFloatLayout) } + setWindowShowStatus(false) CallerDevaToolsListenerManager.removeListener(TAG) } + /** + * 获取弹窗展示状态 + */ + fun getWindowShowStatus(): Boolean{ + return isShowing + } + + /** + * 设置弹窗展示状态 + */ + private fun setWindowShowStatus(isShow: Boolean){ + isShowing = isShow + } + fun setClickListener(clickListener: ClickListener) { this.clickListener = clickListener } diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverRecordView.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverRecordView.kt index 0e9cbbbbe3..69060aa01d 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverRecordView.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/workorder/TakeOverRecordView.kt @@ -58,6 +58,7 @@ class TakeOverRecordView @JvmOverloads constructor( private var clickListener: ClickListener? = null private val selectedUploadRecord = ArrayList() private var recordList: MutableList ?= null + private var takeOverReasonWindow: TakeOverReasonWindow ?= null init { LayoutInflater.from(context).inflate(R.layout.view_take_over_record, this, true) @@ -80,13 +81,19 @@ class TakeOverRecordView @JvmOverloads constructor( //展示接管原因窗口 val activity = context as? FragmentActivity ?: throw IllegalStateException("please ensure context is FragmentActivity.") - val takeOverReasonWindow = TakeOverReasonWindow(activity) - takeOverReasonWindow.setClickListener(object: TakeOverReasonWindow.ClickListener{ - override fun onSaveReason(info: TakeOverRecordInfo) { - takeOverListAdapter?.notifyRecordItemChanged(info) - } - }) - takeOverReasonWindow.showFloatWindow(takeOverRecordInfo) + if(takeOverReasonWindow == null){ + takeOverReasonWindow = TakeOverReasonWindow(activity) + takeOverReasonWindow?.setClickListener(object: TakeOverReasonWindow.ClickListener{ + override fun onSaveReason(info: TakeOverRecordInfo) { + takeOverListAdapter?.notifyRecordItemChanged(info) + } + }) + } + if(takeOverReasonWindow?.getWindowShowStatus() == true){ + ToastUtils.showShort("接管原因弹窗已存在,请先编辑现有接管原因") + }else{ + takeOverReasonWindow?.showFloatWindow(takeOverRecordInfo) + } } override fun onSelectRecord(