From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs |   47 +++++++++++++++++------------------------------
 1 files changed, 17 insertions(+), 30 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
index 974445d..4d17c9a 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/Base/DeviceDetailCardCommonForm.cs
@@ -26,6 +26,10 @@
         /// </summary>
         public Common.Room nowSelectRoom = null;
         /// <summary>
+        /// 鏍囪瀹冩槸鐢卞摢涓帶浠惰皟璧风殑
+        /// </summary>
+        public ViewGroup RowOrCardControl = null;
+        /// <summary>
         /// 鐘舵�佹帶浠�
         /// </summary>
         private NormalViewControl btnStatu = null;
@@ -40,7 +44,7 @@
         /// <summary>
         /// 鏄惁鑾峰彇缃戝叧鍙嶉鐨勭粨鏋�  0:娌℃湁鑾峰彇寰楀埌  1:宸茬粡鑾峰彇寰楀埌
         /// </summary>
-        private int ResponeResult = 0;
+        public int ResponeResult = 0;
         /// <summary>
         /// 褰撳墠绔偣鐨勫姛鑳界被鍨�
         /// </summary>
@@ -228,16 +232,14 @@
             this.ResponeResult = 0;
 
             //鍏堣鎸囧畾鎺т欢涓嶈兘鐐瑰嚮
-            var listSelect = new List<bool>();
             foreach (var myContr in listControl)
             {
                 myContr.CanClick = false;
-                listSelect.Add(myContr.IsSelected);
             }
 
             HdlThreadLogic.Current.RunThread(() =>
             {
-                int waitime = 30;
+                int waitime = 40;
                 while (waitime > 0)
                 {
                     System.Threading.Thread.Sleep(100);
@@ -247,22 +249,24 @@
                         break;
                     }
                     waitime--;
+                    //2绉掔殑鏃跺��,杩樻槸鎺ュ彈涓嶅埌鐨勮瘽,寮哄埗鍐嶆鍒锋柊璁惧鐘舵��
+                    if (waitime == 20)
+                    {
+                        //浠庢柊鍙戦�佽幏鍙栬澶囩殑鐘舵��(寮哄埗)
+                        this.device.HadReadDeviceStatu = false;
+                        if (this.RowOrCardControl != null)
+                        {
+                            this.RowOrCardControl.GetType().InvokeMember("SendStatuComand", System.Reflection.BindingFlags.InvokeMethod, null, this.RowOrCardControl, null);
+                        }
+                    }
                 }
-                if (waitime <= 0)
+                if (waitime <= 0 && this.Parent != null)
                 {
                     //娌℃湁鑾峰彇寰楀埌缁撴灉
                     HdlThreadLogic.Current.RunMain(() =>
                     {
                         var msgContr = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.FAIL));
                         msgContr.Show();
-                        //鍙樻洿鍥炲師鏉ョ殑鐘舵��
-                        for (int i = 0; i < listSelect.Count; i++)
-                        {
-                            if (listSelect[i] != listControl[i].IsSelected)
-                            {
-                                listControl[i].IsSelected = listSelect[i];
-                            }
-                        }
                     });
                 }
                 //寮�鍏虫寜閽彲浠ュ啀鐐瑰嚮
@@ -292,22 +296,6 @@
         private void AddDeviceReportEvent()
         {
             string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.device);
-            //鑺傜偣鍙嶉
-            HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardControl" + mainKeys, ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, (report) =>
-            {
-                string mainKey2 = Common.LocalDevice.Current.GetDeviceMainKeys(report);
-                if (mainKeys != mainKey2)
-                {
-                    //涓嶆槸鍚屼竴涓笢瑗�
-                    return;
-                }
-                //妫�娴嬬粨鏋�
-                if (this.CheckResponeResultStatu(ReceiveComandDiv.A鑺傜偣鎺у埗鍙嶉, report) == true)
-                {
-                    //缁撴灉宸茬粡鎺ユ敹鍒�
-                    this.ResponeResult = 1;
-                }
-            });
             //灞炴�т笂鎶�
             HdlGatewayReceiveLogic.Current.AddAttributeEvent("DeviceDetailCardAttribute" + mainKeys, ReceiveComandDiv.A璁惧灞炴�т笂鎶�, (report) =>
             {
@@ -376,7 +364,6 @@
         public override void CloseFormBefore()
         {
             string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(this.device);
-            HdlGatewayReceiveLogic.Current.RemoveEvent("DeviceDetailCardControl" + mainKeys);
             HdlGatewayReceiveLogic.Current.RemoveEvent("DeviceDetailCardAttribute" + mainKeys);
 
             //鍥炶皟鍑芥暟

--
Gitblit v1.8.0