From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 17 十二月 2020 09:07:13 +0800
Subject: [PATCH] 新云端Ver1.3

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs |   94 +++++++++++++++++++++++++++++------------------
 1 files changed, 58 insertions(+), 36 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
index b5ade0c..f99f0f5 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs
@@ -27,7 +27,7 @@
         /// <summary>
         /// 璁惧澶囨敞鐨勬帶浠�
         /// </summary>
-        private FrameCaptionInputControl btnDeviceName = null;
+        private FrameCaptionInputControl frameDeviceName = null;
         /// <summary>
         /// 璁惧鐨勬煇涓�鍥炶矾
         /// </summary>
@@ -100,24 +100,24 @@
             var btnFinish = new BottomClickButton();
             btnFinish.TextID = R.MyInternationalizationString.uSave;
             bodyFrameLayout.AddChidren(btnFinish);
-            btnFinish.ButtonClickEvent += async (sender, e) =>
+            btnFinish.ButtonClickEvent += (sender, e) =>
             {
                 //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧
-                dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
+                dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim();
                 foreach (var epoint in dicDeviceSaveName.Keys)
                 {
-                    var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
+                    var device = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, epoint);
                     if (device == null || dicDeviceSaveName[epoint] == string.Empty)
                     {
                         //涓嶈兘鍏佽绌虹櫧鍚嶅瓧
                         continue;
                     }
                     string newName = dicDeviceSaveName[epoint];
-                    string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device);
+                    string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
                     if (oldName != newName)
                     {
                         //璁惧鍚嶇О淇敼
-                        var result = await Common.LocalDevice.Current.ReName(device, newName);
+                        var result = HdlDeviceCommonLogic.Current.ReName(device, newName);
                         if (result == false)
                         {
                             return;
@@ -127,6 +127,11 @@
                 //鍏抽棴鑷韩
                 this.CloseForm();
             };
+            //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鑳界紪杈�
+            if (Common.Config.Instance.Home.IsShowTemplate == true)
+            {
+                btnFinish.CanClick = false;
+            }
         }
 
         /// <summary>
@@ -138,37 +143,42 @@
 
             //鍥炶矾澶囨敞
             string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote);
-            string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
+            string nameValue = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
             if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
             {
                 nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint];
             }
 
-            this.btnDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
-            listview.AddChidren(btnDeviceName);
-            btnDeviceName.InitControl();
-            btnDeviceName.AddBottomLine();
-            btnDeviceName.txtInput.FinishInputEvent += async () =>
+            this.frameDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
+            this.frameDeviceName.txtInput.MaxByte = 48;//闄愬埗鍙兘杈撳叆48涓瓧鑺�
+            listview.AddChidren(frameDeviceName);
+            frameDeviceName.InitControl();
+            frameDeviceName.AddBottomLine();
+            //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞�
+            if (Common.Config.Instance.Home.IsShowTemplate == false)
             {
-                string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
-                if (btnDeviceName.Text.Trim() == string.Empty)
+                frameDeviceName.txtInput.FinishInputEvent += () =>
                 {
-                    //灏嗗悕瀛楄繕鍘�
-                    btnDeviceName.Text = oldName;
-                }
-                if (oldName != btnDeviceName.Text.Trim())
-                {
-                    //璁惧鍚嶇О淇敼
-                    var result = await Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim());
-                    if (result == false)
+                    string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
+                    if (frameDeviceName.Text.Trim() == string.Empty)
                     {
-                        return;
+                        //灏嗗悕瀛楄繕鍘�
+                        frameDeviceName.Text = oldName;
                     }
-                    //鍥炶矾澶囨敞淇敼鎴愬姛!
-                    string msg = Language.StringByID(R.MyInternationalizationString.uDeviceEpointReNoteSuccess);
-                    this.ShowMassage(ShowMsgType.Tip, msg);
-                }
-            };
+                    if (oldName != frameDeviceName.Text.Trim())
+                    {
+                        //璁惧鍚嶇О淇敼
+                        var result = HdlDeviceCommonLogic.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim());
+                        if (result == false)
+                        {
+                            return;
+                        }
+                        //鍥炶矾澶囨敞淇敼鎴愬姛!
+                        string msg = Language.StringByID(R.MyInternationalizationString.uDeviceEpointReNoteSuccess);
+                        this.ShowMassage(ShowMsgType.Tip, msg);
+                    }
+                };
+            }
 
             //鎵�灞炲尯鍩�
             var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
@@ -198,7 +208,8 @@
         private void InitTopRightMenu()
         {
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
-            if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false)
+            if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false
+                || Common.Config.Instance.Home.IsShowTemplate == true)
             {
                 return;
             }
@@ -221,7 +232,7 @@
             int menuCount = 1;
             string deviceMenu = string.Empty;
             //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘
-            bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice);
+            bool canTest = HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice);
             //if (canTest == true)
             //{
             //    menuCount = 2;
@@ -234,7 +245,7 @@
                 frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
                 {
                     //鍙戦�佸畾浣嶅姛鑳�
-                    Common.LocalDevice.Current.SetFixedPositionCommand(nowSelectDevice);
+                    HdlDeviceCommonLogic.Current.SetFixedPositionCommand(nowSelectDevice);
                 });
             }
 
@@ -355,7 +366,7 @@
                 //璁$畻鐪熷疄楂樺害
                 int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛
                 realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害
-                realHeight += (frameBack.ChildrenCount-1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
+                realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛
                 if (realHeight > frameBack.Height)
                 {
                     //鍙樻洿楂樺害
@@ -413,7 +424,7 @@
         private List<List<CommonDevice>> GetAllDeviceGroup()
         {
             bool hadDevice = false;
-            var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
+            var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr);
             var listRelay = new List<CommonDevice>();
             foreach (var device in listDevice)
             {
@@ -427,6 +438,18 @@
                     //鍙鍚屼竴绉嶇被鍨嬬殑
                     continue;
                 }
+
+                //鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆�
+                var deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice);
+                if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleMultifunction)
+                {
+                    if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1)
+                    {
+                        //绠�绾﹀鍔熻兘闈㈡澘绗�1鍥炶矾鏄竴涓粦瀹氭俯婀垮害浼犳劅鍣ㄧ绫诲瀷锛屼笉鏄湡鐨勬俯婀垮害鐨勪紶鎰熷櫒锛岄渶瑕佸睆钄芥帀
+                        continue;
+                    }
+                }
+
                 listRelay.Add(device);
                 if (device.DeviceEpoint == deviceObj.DeviceEpoint)
                 {
@@ -467,7 +490,6 @@
             }
             return listIcon;
         }
-
         #endregion
 
         #region 鈻� 鍥炶矾閫夋嫨___________________________
@@ -492,7 +514,7 @@
                 nowSelectControl.TextSize = 13;
                 nowSelectControl.TextColor = UserCenterColor.Current.TextGrayColor3;
                 //璁板綍瀹冪殑鍚嶅瓧
-                dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
+                dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim();
             }
             //閫夋嫨鐘舵��
             nowContr.BorderColor = 0xfffb744a;
@@ -500,7 +522,7 @@
             nowContr.TextColor = UserCenterColor.Current.TextColor1;
 
             nowSelectControl = nowContr;
-            nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
+            nowSelectDevice = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
 
             //閲嶆柊鍒濆鍖栬彍鍗曡
             this.InitMenuRow();

--
Gitblit v1.8.0