From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 01 十二月 2022 09:56:25 +0800
Subject: [PATCH] 2022年12月01日09:56:23

---
 ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs |   32 ++++++++++++++++++++++----------
 1 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
index 045ed5d..aab6fc4 100755
--- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
+++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs
@@ -70,7 +70,9 @@
             //鍦烘櫙鐐瑰嚮
             sceneContr.ButtonClickEvent += (sender, e) =>
             {
-                this.SceneUpHandler();
+                //涓嶈兘鍙嶅鐐瑰嚮
+                sceneContr.CanClick = false;
+                this.SceneUpHandler(sceneContr);
             };
 
             //鏀惰棌
@@ -243,8 +245,13 @@
                 {
                     //闅愯棌鍙冲垝鑿滃崟
                     this.HideMenu();
-                    scene.SceneDelayTime = t;
-                    btnDelayTime.Text = CommonFormResouce.GetTimeString(t);
+                    if (t != 0)
+                    {
+                        scene.SceneDelayTime = t;
+                        btnDelayTime.Text = CommonFormResouce.GetTimeString(t);
+                        //缂栬緫寤舵椂鏃�,闇�瑕佸埛鏂颁富椤�
+                        UserView.UserPage.Instance.RefreshAllForm = true;
+                    }
                 };
             };
         }
@@ -254,9 +261,8 @@
         /// <summary>
         /// 
         /// </summary>
-        /// <param name="btnScenePic"></param>
-        /// <param name="btnSceneName"></param>
-        private async void SceneUpHandler()
+        /// <param name="sceneContr"></param>
+        private async void SceneUpHandler(ScenePictrueControl sceneContr)
         {
             if (scene.SceneDelayTime <= 0 && scene.RemainTime <= 0)
             {
@@ -267,6 +273,7 @@
             var result = await HdlSceneLogic.Current.ControlScene(scene);
             if (result == false)
             {
+                sceneContr.CanClick = true;
                 return;
             }
             
@@ -274,8 +281,12 @@
             scene.SceneDelayTime = 0;
             if (scene.RemainTime <= 0)
             {
+                sceneContr.CanClick = true;
                 return;
             }
+            //璋冪敤鏈夊欢鏃剁殑鍦烘櫙,闇�瑕佸埛鏂颁富椤�
+            UserView.UserPage.Instance.RefreshAllForm = true;
+
             int myRemainTime = scene.RemainTime;
             //寮�鍚唴閮ㄥ欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾)
             HdlSceneLogic.Current.StartDelayTimeThread(scene);
@@ -285,21 +296,22 @@
                 while (myRemainTime > 0 && this.Parent != null)
                 {
                     System.Threading.Thread.Sleep(1000);
-                    Application.RunOnMainThread(() =>
+                    HdlThreadLogic.Current.RunMain(() =>
                     {
                         SetTimeText(CommonFormResouce.GetTimeString(scene.RemainTime));
-                    });
+                    }, ShowErrorMode.NO);
                     myRemainTime--;
                 }
-                Application.RunOnMainThread(() =>
+                HdlThreadLogic.Current.RunMain(() =>
                 {
                     if (this.Parent != null)
                     {
                         SetTimeImage();
                         //鐩存帴寮�鍚疞oading鐗规晥
                         this.StartLoadingApreal();
+                        sceneContr.CanClick = true;
                     }
-                });
+                }, ShowErrorMode.NO);
             })
             { IsBackground = true }.Start();
         }

--
Gitblit v1.8.0