From c47c3ec2488961b3a006aaebcb03dba582f8b19b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 12 三月 2020 17:08:42 +0800
Subject: [PATCH] 2020-03-12-1

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs |  108 +++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 79 insertions(+), 29 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
index b61a0b0..7b1109c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/AirConditioner/IndoorUnitListForm.cs
@@ -20,6 +20,10 @@
         /// 鎺т欢淇℃伅
         /// </summary>
         private Dictionary<string, RowControlInfo> dicControl = new Dictionary<string, RowControlInfo>();
+        /// <summary>
+        /// 婵�娲荤殑璁惧鍦板潃
+        /// </summary>
+        private string actionDeviceKeys = null;
 
         #endregion
 
@@ -109,19 +113,21 @@
             rowInfo.btnIcon = btnIcon;
 
             //璁惧鍚嶇О
-            var btnDeviceName = new NormalViewControl(400, 60, true);
+            var btnDeviceName = new NormalViewControl(700, 60, true);
             btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
             btnDeviceName.X = Application.GetRealWidth(193);
             btnDeviceName.Y = Application.GetRealHeight(45);
             frameTable.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly);
+            rowInfo.btnDeviceName = btnDeviceName;
             //鎴块棿
             var btnRoom = new NormalViewControl(400, 50, true);
             btnRoom.X = btnDeviceName.X;
             btnRoom.Y = btnDeviceName.Bottom + Application.GetRealHeight(12);
             btnRoom.TextSize = 12;
             btnRoom.TextColor = UserCenterColor.Current.TextGrayColor1;
-            btnRoom.Text = Common.Room.CurrentRoom.GetRoomNameByDevice(device);
+            btnRoom.Text = HdlRoomLogic.Current.GetRoomNameByDevice(device);
             frameTable.AddChidren(btnRoom, ChidrenBindMode.BindEventOnly);
+            rowInfo.btnRoom = btnRoom;
             //鎽勬皬搴�
             var btnValue = new NormalViewControl(300, 60, true);
             btnValue.Y = Application.GetRealHeight(58);
@@ -183,6 +189,8 @@
 
             frameTable.ButtonClickEvent += (sender, e) =>
             {
+                this.actionDeviceKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device);
+
                 var form = new IndoorUnitSettionForm();
                 form.AddForm(device);
             };
@@ -203,7 +211,7 @@
             {
                 for (int i = 0; i < listDevice.Count; i++)
                 {
-                    if (i != 0 && i % 5 == 0)
+                    if (i != 0 && i % 3 == 0)
                     {
                         //璇诲彇5涓悗锛岄棿闅斾竴娈垫椂闂�
                         System.Threading.Thread.Sleep(200);
@@ -245,27 +253,30 @@
                     var data = device.DeviceStatusReport.AttriBute[i];
                     if (data.AttributeId == 0)
                     {
-                        //瀹ゅ唴娓╁害
-                        if (data.AttriButeData == 0)
+                        HdlThreadLogic.Current.RunMain(() =>
                         {
-                            //0鈩�
-                            rowInfo.btnValue.Text = "0.0鈩�";
-                        }
-                        else if (data.AttriButeData > 32767)
-                        {
-                            //璐熸暟(鐗规畩澶勭悊)
-                            string strValue = (data.AttriButeData - 65536).ToString();
-                            //灏忔暟鐐归渶瑕佷竴浣�
-                            strValue = strValue.Substring(0, strValue.Length - 1);
-                            rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
-                        }
-                        else
-                        {
-                            //灏忔暟鐐归渶瑕佷竴浣�
-                            string strValue = data.AttriButeData.ToString();
-                            strValue = strValue.Substring(0, strValue.Length - 1);
-                            rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
-                        }
+                            //瀹ゅ唴娓╁害
+                            if (data.AttriButeData == 0)
+                            {
+                                //0鈩�
+                                rowInfo.btnValue.Text = "0.0鈩�";
+                            }
+                            else if (data.AttriButeData > 32767)
+                            {
+                                //璐熸暟(鐗规畩澶勭悊)
+                                string strValue = (data.AttriButeData - 65536).ToString();
+                                //灏忔暟鐐归渶瑕佷竴浣�
+                                strValue = strValue.Substring(0, strValue.Length - 1);
+                                rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
+                            }
+                            else
+                            {
+                                //灏忔暟鐐归渶瑕佷竴浣�
+                                string strValue = data.AttriButeData.ToString();
+                                strValue = strValue.Substring(0, strValue.Length - 1);
+                                rowInfo.btnValue.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�";
+                            }
+                        });
                     }
                     else if (data.AttributeId == 28)
                     {
@@ -273,9 +284,12 @@
                         //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
                         if (data.AttriButeData != 0)
                         {
-                            rowInfo.btnSwitch.IsSelected = true;
-                            rowInfo.btnIcon.IsSelected = true;
-                            rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed;
+                            HdlThreadLogic.Current.RunMain(() =>
+                            {
+                                rowInfo.btnSwitch.IsSelected = true;
+                                rowInfo.btnIcon.IsSelected = true;
+                                rowInfo.btnIconBack.BackgroundColor = 0xfffef1ed;
+                            });
                         }
                     }
                     else if (data.AttributeId == 4097)
@@ -283,9 +297,12 @@
                         //42:闇�瑕佹竻娲楁护缃�
                         if (data.AttriButeData == 42)
                         {
-                            rowInfo.btnWarningIcon.Visible = true;
-                            //璇锋敞鎰忔竻娲楁护缃戝摝
-                            rowInfo.btnWarningMsg.TextID = R.MyInternationalizationString.uPleaseClreanACfilter;
+                            HdlThreadLogic.Current.RunMain(() =>
+                            {
+                                rowInfo.btnWarningIcon.Visible = true;
+                                //璇锋敞鎰忔竻娲楁护缃戝摝
+                                rowInfo.btnWarningMsg.TextID = R.MyInternationalizationString.uPleaseClreanACfilter;
+                            });
                         }
                     }
                 }
@@ -308,6 +325,31 @@
 
         #endregion
 
+        #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________
+
+        /// <summary>
+        /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠�
+        /// </summary>
+        public override int FormActionAgainEvent()
+        {
+            if (this.actionDeviceKeys != null && dicControl.ContainsKey(this.actionDeviceKeys) == true)
+            {
+                //鍒锋柊璁惧淇℃伅
+                var device = Common.LocalDevice.Current.GetDevice(this.actionDeviceKeys);
+                if (device != null)
+                {
+                    var contr = dicControl[this.actionDeviceKeys];
+                    contr.btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
+                    contr.btnRoom.Text = HdlRoomLogic.Current.GetRoomNameByDevice(device);
+                }
+            }
+            this.actionDeviceKeys = null;
+
+            return 1;
+        }
+
+        #endregion
+
         #region 鈻� 缁撴瀯浣揰____________________________
 
         /// <summary>
@@ -316,6 +358,14 @@
         private class RowControlInfo
         {
             /// <summary>
+            /// 璁惧鍚嶅瓧
+            /// </summary>
+            public NormalViewControl btnDeviceName = null;
+            /// <summary>
+            /// 璁惧鎴块棿
+            /// </summary>
+            public NormalViewControl btnRoom = null;
+            /// <summary>
             /// 璁惧鍥炬爣鑳屾櫙
             /// </summary>
             public FrameLayout btnIconBack = null;

--
Gitblit v1.8.0