From 081ea8d273048fd03756718ac6fb48a3c09218e9 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期二, 29 十月 2019 13:10:00 +0800
Subject: [PATCH] Merge branch 'dev-tzy' into DEV_GXC

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs |   58 +++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 37 insertions(+), 21 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
index c6b48bf..e406864 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceDryContactSettionForm.cs
@@ -5,7 +5,7 @@
 using System.Threading.Tasks;
 using ZigBee.Device;
 
-namespace Shared.Phone.UserCenter.DeviceRelay
+namespace Shared.Phone.UserCenter.Device
 {
     /// <summary>
     /// 璁惧骞叉帴鐐归厤缃�
@@ -31,9 +31,9 @@
         /// </summary>
         private FrameCaptionInputControl btnDeviceName = null;
         /// <summary>
-        /// 璁惧Mac鍦板潃
+        /// 璁惧鐨勬煇涓�鍥炶矾
         /// </summary>
-        private string deviceMac = string.Empty;
+        private CommonDevice deviceObj = null;
         /// <summary>
         /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧
         /// </summary>
@@ -50,11 +50,11 @@
         /// <summary>
         /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
         /// </summary>
-        /// <param name="i_deviceMac">璁惧Mac鍦板潃</param>
-        public void ShowForm(string i_deviceMac)
+        /// <param name="i_device">璁惧鐨勬煇涓�鍥炶矾</param>
+        public void ShowForm(CommonDevice i_device)
         {
-            this.deviceMac = i_deviceMac;
-            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+            this.deviceObj = i_device;
+            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
             //鑾峰彇杩欎竴鍫嗚澶囨椂灞炰簬浠�涔堢被鍨嬬殑
             this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
 
@@ -99,7 +99,7 @@
                 this.ShowProgressBar();
                 foreach (var epoint in dicDeviceSaveName.Keys)
                 {
-                    var device = Common.LocalDevice.Current.GetDevice(deviceMac, epoint);
+                    var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
                     if (device == null || dicDeviceSaveName[epoint] == string.Empty)
                     {
                         //涓嶈兘鍏佽绌虹櫧鍚嶅瓧
@@ -192,7 +192,7 @@
                     //杩欓噷鍏堝幓鑾峰彇瀹冪殑骞叉帴鐐圭被鍨�
                     this.ShowProgressBar();
                     //鑾峰彇绗竷鍥炶矾鐨勯厤缃俊鎭�
-                    listRelayInfo7 = await HdlPanelLogic.Current.GetDryContactConfigureInfo(nowSelectDevice);
+                    listRelayInfo7 = await HdlDevicePanelLogic.Current.GetDryContactConfigureInfo(nowSelectDevice);
                     if (listRelayInfo7 == null)
                     {
                         //鍏抽棴杩涘害鏉�
@@ -245,7 +245,7 @@
             {
                 menuCount = 2;
             }
-            var frame = new TopRightMenuControl(this, menuCount);
+            var frame = new TopRightMenuControl(menuCount);
             if (canTest == true)
             {
                 //瀹氫綅
@@ -328,7 +328,7 @@
                             //閫夋嫨鐨勬槸浼犳劅鍣ㄨ緭鍏�
                             value = 65535;
                         }
-                        var result = await HdlPanelLogic.Current.EditorDryContactFunction((Panel)nowSelectDevice, value);
+                        var result = await HdlDevicePanelLogic.Current.EditorDryContactFunction((Panel)nowSelectDevice, value);
                         if (result == true)
                         {
                             //閲嶆柊鍒濆鍖栬彍鍗曡,闅愯棌鎴栬�呭紑鏀剧粦瀹氱洰鏍囪彍鍗�
@@ -375,6 +375,11 @@
                 btnBind.AddRightArrow();
                 btnBind.ButtonClickEvent += (sender, e) =>
                 {
+                    var panel = nowSelectDevice as ZigBee.Device.Panel;
+                    var bindTargetsPage = new Shared.Phone.UserCenter.DeviceBind.BindTargetsPage(panel);
+                    Shared.Phone.UserView.HomePage.Instance.AddChidren(bindTargetsPage);
+                    Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
+                    bindTargetsPage.Show();
                 };
             }
         }
@@ -389,7 +394,7 @@
         private void AddBackLightRow()
         {
             //涓夎矾缁х數鍣�,鎴栬�呬竴璺皟鍏夊櫒 鐨勬椂鍊欐墠鑳藉紑鍚閫夐」
-            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
             var myType = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
 
             if (myType.ConcreteType == DeviceConcreteType.Relay_ThreeLoad
@@ -406,8 +411,8 @@
                 btnLight.AddRightArrow();
                 btnLight.ButtonClickEvent += (sender, e) =>
                 {
-                    var form = new RelayThreeLoadBackLightSettionForm();
-                    form.AddForm(deviceMac);
+                    var form = new DeviceRelay.RelayThreeLoadBackLightSettionForm();
+                    form.AddForm(deviceObj.DeviceAddr);
                 };
             }
         }
@@ -459,7 +464,7 @@
                 frame.Height = Application.GetMinRealAverage(124);
                 frameBack.AddChidren(frame);
                 //鍒濆鍖栦竴琛岃澶囧浘鏍�
-                this.InitDeviceIconFrame(frame, listIcon[i], i == 0, ref index);
+                this.InitDeviceIconFrame(frame, listIcon[i], ref index);
 
                 if (listIcon.Count == 1)
                 {
@@ -488,10 +493,9 @@
         /// </summary>
         /// <param name="frame"></param>
         /// <param name="listDevice"></param>
-        /// <param name="isFirstRow"></param>
         /// <param name="index"></param>
         /// <returns></returns>
-        private void InitDeviceIconFrame(FrameLayout frame, List<CommonDevice> listDevice, bool isFirstRow, ref int index)
+        private void InitDeviceIconFrame(FrameLayout frame, List<CommonDevice> listDevice, ref int index)
         {
             NormalViewControl btnTemp = null;
             //闂磋窛
@@ -514,12 +518,12 @@
                 //鐐瑰嚮浜嬩欢
                 btnIcon.ButtonClickEvent += this.DeviceEpointSelectEvent;
 
-                if (i == 0 && isFirstRow == true)
+                if (listDevice[i].DeviceEpoint == deviceObj.DeviceEpoint)
                 {
                     btnTemp = btnIcon;
                 }
             }
-            if (isFirstRow == true)
+            if (btnTemp != null)
             {
                 //鍒濆鍖栬彍鍗曡
                 this.DeviceEpointSelectEvent(btnTemp, null);
@@ -532,7 +536,8 @@
         /// <returns></returns>
         private List<List<CommonDevice>> GetAllDeviceGroup()
         {
-            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceMac);
+            bool hadDevice = false;
+            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
             var listRelay = new List<CommonDevice>();
             foreach (var device in listDevice)
             {
@@ -540,6 +545,11 @@
                 {
                     //鍙骞叉帴鐐�
                     listRelay.Add(device);
+                    if (device.DeviceEpoint == deviceObj.DeviceEpoint)
+                    {
+                        //鑳藉鍖归厤寰楀埌杩欎釜鍥炶矾
+                        hadDevice = true;
+                    }
                 }
             }
             //鎺掑簭
@@ -551,6 +561,12 @@
                 }
                 return -1;
             });
+            if (hadDevice == false)
+            {
+                //濡傛灉鍖归厤涓嶅埌杩欎釜鍥炶矾,鍒欓粯璁ょ涓�涓�
+                this.deviceObj = listRelay[0];
+            }
+
             //浠庝笅寰�涓�4涓负涓�缁�
             var listIcon = new List<List<CommonDevice>>();
             var listTemp = new List<CommonDevice>();
@@ -602,7 +618,7 @@
             nowContr.TextColor = UserCenterColor.Current.TextColor1;
 
             nowSelectControl = nowContr;
-            nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceMac, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
+            nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
 
             //閲嶆柊鍒濆鍖栬彍鍗曡
             this.InitMenuRow();

--
Gitblit v1.8.0