From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs |  180 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 149 insertions(+), 31 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
index 7fdf549..f507873 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/Bind/PaneTargetsBaseForm.cs
@@ -7,6 +7,9 @@
 using static ZigBee.Device.Panel;
 namespace Shared.Phone.UserCenter.Device.Bind
 {
+    /// <summary>
+    /// 鐗规畩闈㈡澘鐨勭粦瀹氱晫闈€�愬彧鑳界粦瀹氱壒瀹氱被鍨嬶紝姣忕绫诲瀷鍙湁涓�涓洰鏍囥��
+    /// </summary>
     public class PaneTargetsBaseForm : BindCommonLayout
     {
         #region  鏋勯�犲嚱鏁�
@@ -14,7 +17,7 @@
         /// 鏋勯�犲嚱鏁�
         /// </summary>
         /// <param name="device"></param>
-        /// <param name="deviceBindType">1:鏂伴;2:娓╁害浼犳劅鍣�;3:婀垮害浼犳劅鍣�;4:PM2.5浼犳劅鍣�;5:绌鸿皟鐩爣</param>
+        /// <param name="deviceBindType">1:鏂伴;2:娓╁害浼犳劅鍣�;3:婀垮害浼犳劅鍣�;4:PM2.5浼犳劅鍣�;5:绌鸿皟鐩爣,6:鍦版殩鐩爣,7:Co2鐩爣</param>
         /// <param name="bindDev">缁戝畾鐩爣 </param>
         public PaneTargetsBaseForm(CommonDevice device, CommonDevice bindDev, DeviceBind.BindInfo.BindType deviceBindType)
         {
@@ -68,6 +71,8 @@
         /// 3:婀垮害浼犳劅鍣�
         /// 4:PM2.5浼犳劅鍣�
         /// 5:绌鸿皟鐩爣
+        /// 6:鍦版殩鐩爣
+        /// 7:Co2鐩爣
         /// </summary>
         DeviceBind.BindInfo.BindType curDeviceBindType = 0;
         /// <summary>
@@ -127,9 +132,17 @@
         /// </summary>
         public Action<string> actionPMTarget = null;
         /// <summary>
+        /// Co2缁戝畾鐩爣鍥炶皟
+        /// </summary>
+        public Action<string> actionCo2Target = null;
+        /// <summary>
         /// Ac缁戝畾鐩爣鍥炶皟
         /// </summary>
         public Action<string> actionAcTarget = null;
+        /// <summary>
+        /// Fh缁戝畾鐩爣鍥炶皟
+        /// </summary>
+        public Action<string> actionFhTarget = null;
         /// <summary>
         /// 鏄惁鑳藉埛鏂�
         /// </summary>
@@ -173,6 +186,12 @@
                 case DeviceBind.BindInfo.BindType.AC:
                     titleText = Language.StringByID(R.MyInternationalizationString.AcTargets);
                     break;
+                case DeviceBind.BindInfo.BindType.Fh:
+                    titleText = Language.StringByID(R.MyInternationalizationString.uFloorHeatingTarget);
+                    break;
+                    //case DeviceBind.BindInfo.BindType.CO2:
+                    //titleText = Language.StringByID(R.MyInternationalizationString.CO2Source);
+                    //break;
             }
             this.TopFrameLayout(this, titleText);
             EventHandler<MouseEventArgs> eHandlerBack = (sender, e) =>
@@ -260,7 +279,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
             };
             bottomTipPicFrameLayout.AddChidren(btnTipText);
-            bottomTipPicFrameLayout.Width = btnTipPicFrameLayout.Width + Application.GetMinReal(2) + btnTipText.GetTextWidth();
+            bottomTipPicFrameLayout.Width = btnTipPicFrameLayout.Width + Application.GetMinReal(12) + btnTipText.GetTextWidth();
             bottomTipPicFrameLayout.Gravity = Gravity.CenterHorizontal;
 
             EventHandler<MouseEventArgs> eHandlerEmptyTargets = (sender, e) =>
@@ -291,8 +310,8 @@
 
             btnFinifh = new Button()
             {
-                Width = Application.GetRealWidth(907),
-                Height = Application.GetRealHeight(127),
+                Width = Application.GetRealWidth(907),
+                Height = Application.GetRealHeight(127),
                 Y = Application.GetRealHeight(49 + 35),
                 Gravity = Gravity.CenterHorizontal,
                 Radius = (uint)Application.GetRealHeight(127) / 2,
@@ -389,7 +408,7 @@
                     }
                 }
 
-                if (index == roomTempList.Count - 1 && index > 3)
+                if (index == roomTempList.Count - 1 && index > 2)
                 {
                     var btnRoomFrameLayoutEmpty = new FrameLayout
                     {
@@ -545,14 +564,16 @@
                 {
                     line2.Visible = false;
                 }
-                if (Common.LocalDevice.Current.CheckDeviceIsOnline(device) == true)
-                {
-                    btnBindName.TextColor = Shared.Common.ZigbeeColor.Current.TextBlack;
-                }
-                else
-                {
-                    btnBindName.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
+                if (Common.LocalDevice.Current.CheckDeviceIsOnline(device) == true)
+                {
+                    btnBindName.TextColor = Shared.Common.ZigbeeColor.Current.TextBlack;
                 }
+                else
+                {
+                    btnBindName.TextColor = Shared.Common.ZigbeeColor.Current.XMGray3;
+                }
+                //鑾峰彇璁惧绫诲瀷
+                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { device });
                 switch (curDeviceBindType)
                 {
                     case DeviceBind.BindInfo.BindType.FreshAir:
@@ -564,6 +585,11 @@
                         {
                             btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                         }
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+                        }
                         break;
                     case DeviceBind.BindInfo.BindType.Humidity:
                         devicePic.UnSelectedImagePath = "Device/SensorHumidity.png";
@@ -571,8 +597,16 @@
                         {
                             btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                         }
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            btnBindName.Text = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                        }
                         break;
                     case DeviceBind.BindInfo.BindType.PM:
+                        devicePic.UnSelectedImagePath = "Device/AirQualitySensorEpoint.png";
+                        break;
+                    case DeviceBind.BindInfo.BindType.CO2:
                         devicePic.UnSelectedImagePath = "Device/AirQualitySensorEpoint.png";
                         break;
                     case DeviceBind.BindInfo.BindType.AC:
@@ -715,7 +749,7 @@
                             canFresh = false;
                             midVerticalScrolViewLayout.EndHeaderRefreshing();
                             CommonPage.Loading.Hide();
-                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
+                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5007" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(Common.CommonPage.Instance);
 
                             this.midFrameLayout.RemoveAll();
 
@@ -833,10 +867,12 @@
                                     {
                                         curControlDev.currentSelectRoomId = tempDevRoom.Id;
                                         curControlDev.currentSelectFloorId = tempDevRoom.FloorId;
-                                    }
-                                    else
-                                    {
-                                        curControlDev.currentSelectRoomId = "UndistributedId";
+                                    }
+                                    else
+                                    {
+                                        curControlDev.currentSelectRoomId = "UndistributedId";
+                                        //鐩爣鍦ㄦ湭鍒嗛厤鏃讹紝榛樿绗竴涓ゼ灞�
+                                        curControlDev.currentSelectFloorId = BindInfo.GetCurrentSelectFloorId();
                                     }
                                 }
 
@@ -851,11 +887,31 @@
                                             {
                                                 bindName += "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                             }
+                                            if (dev.Type == ZigBee.Device.DeviceType.TemperatureSensor)
+                                            {
+                                                //鑾峰彇璁惧绫诲瀷
+                                                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { dev });
+                                                //绌烘皵璐ㄩ噺浼犳劅鍣�
+                                                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                                                {
+                                                    bindName += "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+                                                }
+                                            }
                                             break;
                                         case BindInfo.BindType.Humidity:
                                             if (dev.Type == DeviceType.PMSensor)
                                             {
                                                 bindName += "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                                            }
+                                            if (dev.Type == ZigBee.Device.DeviceType.TemperatureSensor)
+                                            {
+                                                //鑾峰彇璁惧绫诲瀷
+                                                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { dev });
+                                                //绌烘皵璐ㄩ噺浼犳劅鍣�
+                                                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                                                {
+                                                    bindName += "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                                                }
                                             }
                                             break;
                                     }
@@ -901,7 +957,7 @@
                         Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
                         if (btnTipPic.IsSelected)
                         {
-                            //鍒犻櫎鎯呭喌1:缁戝畾绌虹洰鏍囧繀椤诲彇娑堟寜閿腑宸茬粡瀛樺湪鐨勭洰鏍�
+                            //褰撶粦瀹氱┖鐩爣锛岃鍒犻櫎宸茬粡瀛樺湪鎸夐敭鐨勭洰鏍�
                             if (oldTargetList.Count != 0)
                             {
                                 //鍒犻櫎鎸夐敭涓凡缁忕粦瀹氱殑鐩爣涓暟銆愬垹闄ゆ垚鍔熶釜鏁般��
@@ -920,7 +976,7 @@
                                     {
                                         Application.RunOnMainThread(() =>
                                         {
-                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_1" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                             CommonPage.Loading.Hide();
 
                                             ShowReLoadView();
@@ -968,7 +1024,7 @@
                                                     {
                                                         Application.RunOnMainThread(() =>
                                                         {
-                                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                            new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_3" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                                             btnFinifh.Enable = true;
                                                             btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                                             CommonPage.Loading.Hide();
@@ -1000,7 +1056,7 @@
                                             {
                                                 Application.RunOnMainThread(() =>
                                                 {
-                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_2" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                                     btnFinifh.Enable = true;
                                                     btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                                     CommonPage.Loading.Hide();
@@ -1082,7 +1138,7 @@
                                 {
                                     Application.RunOnMainThread(() =>
                                     {
-                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_4" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                         CommonPage.Loading.Hide();
 
                                         ShowReLoadView();
@@ -1109,7 +1165,7 @@
                                                 {
                                                     Application.RunOnMainThread(() =>
                                                     {
-                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                        new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_6" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                                         btnFinifh.Enable = true;
                                                         btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                                         CommonPage.Loading.Hide();
@@ -1131,7 +1187,7 @@
                                         {
                                             Application.RunOnMainThread(() =>
                                             {
-                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_5" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                                 btnFinifh.Enable = true;
                                                 btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                                 CommonPage.Loading.Hide();
@@ -1147,7 +1203,7 @@
                             {
                                 Application.RunOnMainThread(() =>
                                 {
-                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                    new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5003_7" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
                                     btnFinifh.Enable = true;
                                     btnFinifh.BackgroundColor = Shared.Common.ZigbeeColor.Current.XMBlack;
                                     CommonPage.Loading.Hide();
@@ -1181,11 +1237,17 @@
                                 case BindInfo.BindType.AC:
                                     addBindInfo.BindCluster = 513;
                                     break;
+                                case BindInfo.BindType.CO2:
+                                    addBindInfo.BindCluster = 1037;
+                                    break;
                             }
                             addBindInfo.BindType = 0;
                             addBindInfo.BindMacAddr = de.DeviceAddr;
                             addBindInfo.BindEpoint = de.DeviceEpoint;
                             addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de);
+
+                            //鑾峰彇璁惧绫诲瀷
+                            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<ZigBee.Device.CommonDevice>() { de });
                             switch (curDeviceBindType)
                             {
                                 case BindInfo.BindType.Temperature:
@@ -1193,9 +1255,20 @@
                                     {
                                         addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                     }
+
+                                    //绌烘皵璐ㄩ噺浼犳劅鍣�
+                                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                                    {
+                                        addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
+                                    }
                                     break;
                                 case BindInfo.BindType.Humidity:
                                     if (de.Type == DeviceType.PMSensor)
+                                    {
+                                        addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
+                                    }
+                                    //绌烘皵璐ㄩ噺浼犳劅鍣�
+                                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                                     {
                                         addBindeDev.BindName = Common.LocalDevice.Current.GetDeviceEpointName(de) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                                     }
@@ -1225,7 +1298,7 @@
                             Application.RunOnMainThread(() =>
                             {
                                 CommonPage.Loading.Hide();
-                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime), Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
+                                new Tip() { MaxWidth = 150, Text = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime) + "(" + "5001" + ")", Direction = AMPopTipDirection.None, CloseTime = 1 }.Show(CommonPage.Instance);
 
                                 ShowReLoadView();
                                 ReLoadAction += () =>
@@ -1265,7 +1338,7 @@
                                     new Tip()
                                     {
                                         MaxWidth = 150,
-                                        Text = Language.StringByID(R.MyInternationalizationString.BindFailed),
+                                        Text = Language.StringByID(R.MyInternationalizationString.BindFailed) + "(" + "5001_1" + ")",
                                         Direction = AMPopTipDirection.None,
                                         CloseTime = 1
                                     }.Show(CommonPage.Instance);
@@ -1281,7 +1354,7 @@
                                     new Tip()
                                     {
                                         MaxWidth = 150,
-                                        Text = Language.StringByID(R.MyInternationalizationString.BindUnknownError),
+                                        Text = Language.StringByID(R.MyInternationalizationString.BindUnknownError) + "(" + "5001_2" + ")",
                                         Direction = AMPopTipDirection.None,
                                         CloseTime = 1
                                     }.Show(CommonPage.Instance);
@@ -1391,11 +1464,12 @@
         /// <param name="bindDev"></param>
         void BindTypeTargetsList(CommonDevice device, BindListResponseObj bindDev)
         {
+            //鑾峰彇璁惧绫诲瀷鐨�
+            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
             switch (curDeviceBindType)
             {
                 case BindInfo.BindType.FreshAir:
-                    //鑾峰彇璁惧绫诲瀷鐨�
-                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
+
                     //鏂伴闈㈡澘鐨勬柊椋庤澶囷紝鍒欎笉鏄剧ず
                     if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                     {
@@ -1411,7 +1485,18 @@
                         var bDev = device as TemperatureSensor;
                         if (bDev.SensorDiv == 1)
                         {
-                            oldTargetList.Add(device);
+                            //绌烘皵璐ㄩ噺浼犳劅鍣�
+                            if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                            {
+                                if (bindDev.BindCluster == 1026)
+                                {
+                                    oldTargetList.Add(device);
+                                }
+                            }
+                            else
+                            {
+                                oldTargetList.Add(device);
+                            }
                         }
                     }
                     if (device.Type == DeviceType.PMSensor)
@@ -1429,6 +1514,15 @@
                         if (bDev.SensorDiv == 2)
                         {
                             oldTargetList.Add(device);
+                        }
+
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            if (bindDev.BindCluster == 1029)
+                            {
+                                oldTargetList.Add(device);
+                            }
                         }
                     }
                     if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -1451,6 +1545,17 @@
                             oldTargetList.Add(device);
                         }
                     }
+                    else if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor)
+                    {
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            if (bindDev.BindCluster == 1066)
+                            {
+                                oldTargetList.Add(device);
+                            }
+                        }
+                    }
                     break;
                 case BindInfo.BindType.AC:
                     if (device.Type == DeviceType.Thermostat)
@@ -1461,6 +1566,19 @@
                         }
                     }
                     break;
+                case BindInfo.BindType.CO2:
+                    if (device.Type == ZigBee.Device.DeviceType.TemperatureSensor)
+                    {
+                        //绌烘皵璐ㄩ噺浼犳劅鍣�
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
+                        {
+                            if (bindDev.BindCluster == 1037)
+                            {
+                                oldTargetList.Add(device);
+                            }
+                        }
+                    }
+                    break;
             }
 
             targetList.Clear();

--
Gitblit v1.8.0