From f573c74a1b431a6d016d766628f2e6320fa42ff9 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 03 六月 2020 14:50:20 +0800
Subject: [PATCH] 2020-06-03-1

---
 ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs |  192 ++++++++++++++++++++---------------------------
 1 files changed, 82 insertions(+), 110 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
index 59fbecb..8082a1b 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs
@@ -264,11 +264,20 @@
                     //娣诲姞銆愭寜閿缃�戣(闈㈡澘涓撶敤)
                     this.AddPanelSettionRow();
                 }
-                //鏂规偊鏂伴闈㈡澘娌℃湁鍔熻兘璁剧疆
-                if (deviceEnumInfo.ConcreteType != DeviceConcreteType.ButtonPanel_FangyueFreshAir)
+                //妫�娴嬭兘鍚︽樉绀哄姛鑳借缃殑鑿滃崟
+                if (this.CheckCanShowFunctionSettionRow() == true)
                 {
                     //娣诲姞銆愬姛鑳借缃�戣
-                    this.AddFunctionSettionRow();
+                    if (deviceEnumInfo.ConcreteType == DeviceConcreteType.Sensor_PMTwoPointFive)
+                    {
+                        //PM浼犳劅鍣�
+                        this.AddFunctionSettionRowPM();
+                    }
+                    else
+                    {
+                        this.AddFunctionSettionRow();
+                    }
+
                 }
 
                 //娣诲姞銆愬共鎺ョ偣璁剧疆銆戣
@@ -682,7 +691,11 @@
             //鍙湁鍥炶矾鏁板ぇ浜�1鎵嶈兘鏈夎繖涓彍鍗�
             if (Common.LocalDevice.Current.GetDevicesCountByMac(listNewDevice[0].DeviceAddr) == 1)
             {
-                return;
+                //鏂伴灏忔ā鍧楀彧鏈変竴涓洖璺紝浣嗚姹傛柊椋庡皬妯″潡鐨勬柊椋庢湁鍔熻兘璁剧疆
+                if (deviceEnumInfo.ConcreteType != DeviceConcreteType.Relay_FangyueFreshAirModul)
+                {
+                    return;
+                }
             }
             if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment
                 || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
@@ -723,7 +736,7 @@
                     || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEight)
                 {
                     var form = new DevicePanel.PanelFangyueFunctionSettionForm();
-                    form.AddForm(listNewDevice[0]);
+                    form.AddForm(listNewDevice[0], deviceEnumInfo);
                 }
                 //娌充笢鐨勯潰鏉胯澶�
                 else if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鎸夐敭闈㈡澘 && deviceEnumInfo.IsHdlDevice == true)
@@ -736,6 +749,27 @@
                     var form = new DeviceFunctionSettionForm();
                     form.AddForm(listNewDevice[0], false);
                 }
+            };
+        }
+
+        /// <summary>
+        /// 娣诲姞浼犳劅鍣ㄣ�愬姛鑳借缃�戣
+        /// </summary>
+        private void AddFunctionSettionRowPM()
+        {
+            //鍔熻兘璁剧疆
+            string caption = Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp);
+            var btnFunction = new FrameRowControl(listview.rowSpace / 2);
+            listview.AddChidren(btnFunction);
+            btnFunction.AddLeftCaption(caption, 600);
+            //鍚戝彸鍥炬爣
+            btnFunction.AddRightArrow();
+            //搴曠嚎
+            btnFunction.AddBottomLine();
+            btnFunction.ButtonClickEvent += (sender, e) =>
+            {
+                var form = new DeviceFunctionSettionForm();
+                form.AddForm(listNewDevice[0], false);
             };
         }
 
@@ -811,23 +845,24 @@
             btnFunction.AddLeftCaption(caption, 600);
             //寮�鍏冲浘鏍�
             var btnSwitch = btnFunction.AddMostRightSwitchIcon();
-            //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹呯殑璇�,璁╂墍鏈夎彍鍗曢兘涓嶈兘鐐瑰嚮
-            if (Common.Config.Instance.Home.IsVirtually == true)
-            {
-                btnSwitch.CanClick = false;
-            }
             //搴曠嚎
             btnFunction.AddBottomLine();
-            btnSwitch.ButtonClickEvent += async (sender, e) =>
+            btnSwitch.ButtonClickEvent += (sender, e) =>
             {
                 //鍒囨崲妯″紡
                 bool statu = !btnSwitch.IsSelected;
-                var result = await HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
+                var result = HdlDeviceCurtainLogic.Current.SetHandPullControl(deviceCurtain, statu);
                 if (result == true)
                 {
                     btnSwitch.IsSelected = statu;
                 }
             };
+            //濡傛灉鏄櫄鎷熶綇瀹�
+            if (Common.Config.Instance.Home.IsVirtually == true)
+            {
+                btnSwitch.IsSelected = ModelData.DeviceModelDataLogic.Current.GetCurtainHandPullControl(deviceCurtain);
+                return;
+            }
 
             //娣诲姞灞炴�т笂鎶ョ洃鍚�
             string mainkeys = LocalDevice.Current.GetDeviceMainKeys(this.listNewDevice[0]);
@@ -897,108 +932,23 @@
         /// </summary>
         private void AddAirSwitchFunctionTypeRow()
         {
-            if (this.deviceEnumInfo.BeloneType != DeviceBeloneType.A鏅鸿兘绌哄紑)
+            //2020.04.28鍙樻洿:鏈変釜鍒澶囧畠闄や簡缁х數鍣ㄥ洖璺紝浠�涔堥兘娌℃湁浜�,
+            //杩欎釜鏃跺�欎篃瑕佺幇瀹炲嚭鏉�
+            if (this.listNewDevice.Count != 1)
             {
-                //涓嶆槸绌烘皵寮�鍏�
                 return;
             }
-
-            //鍔熻兘绫诲瀷
-            string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
-            var DfunctionType = this.listNewDevice[0].DfunctionType;
-
-            //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛�
-            int nowSelectNo = 1;
-            string strType = string.Empty;
-            if (DfunctionType == DeviceFunctionType.A鐏厜)
+            if (this.listNewDevice[0].Type != DeviceType.OnOffOutput
+                && this.listNewDevice[0].Type != DeviceType.AirSwitch)
             {
-                strType = Language.StringByID(R.MyInternationalizationString.uLight);
-                nowSelectNo = 1;
+                return;
             }
-            else if (DfunctionType == DeviceFunctionType.A寮�鍏�)
-            {
-                strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
-                nowSelectNo = 0;
-            }
-            else if (DfunctionType == DeviceFunctionType.A鎻掑骇)
-            {
-                strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
-                nowSelectNo = 2;
-            }
-
-            var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
-            btnFunction.UseClickStatu = true;
-            listview.AddChidren(btnFunction);
-            btnFunction.InitControl();
+            //鑷畾涔夊姛鑳界被鍨嬫帶浠�
+            var rowFunction = new DeviceFunctionTypeRowControl(this.listNewDevice[0], listview.rowSpace / 2);
+            listview.AddChidren(rowFunction);
+            rowFunction.InitControl();
             //搴曠嚎
-            btnFunction.AddBottomLine();
-            //鍙崇澶�
-            btnFunction.AddRightArrow();
-            btnFunction.ButtonClickEvent += (sender, e) =>
-            {
-                //鏄剧ず鍒楄〃
-                var listText = new List<string>();
-                listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏�
-                listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜
-                listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇
-                //鏍囬:閫夋嫨鍔熻兘绫诲瀷
-                var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
-
-                var form = new BottomItemSelectForm();
-                form.CancelCallEvent = true;//鍏佽鍙栨秷
-                form.AddForm(title, listText, nowSelectNo);
-                form.FinishSelectEvent += (selectNo) =>
-                {
-                    if (selectNo == -1)
-                    {
-                        //閫夋嫨鍙栨秷
-                        btnFunction.Text = string.Empty;
-                    }
-                    else
-                    {
-                        btnFunction.Text = listText[selectNo];
-                    }
-                    nowSelectNo = selectNo;
-                    //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨�
-                    if (selectNo == 0)
-                    {
-                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A寮�鍏�;
-                        if (this.listNewDevice[0].IsCustomizeImage == false)
-                        {
-                            //閲嶆柊璁剧疆鍥剧墖
-                            this.listNewDevice[0].IconPath = "Device/Switch.png";
-                        }
-                    }
-                    else if (selectNo == 1)
-                    {
-                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鐏厜;
-                        if (this.listNewDevice[0].IsCustomizeImage == false)
-                        {
-                            //閲嶆柊璁剧疆鍥剧墖
-                            this.listNewDevice[0].IconPath = "Device/Light.png";
-                        }
-                    }
-                    else if (selectNo == 2)
-                    {
-                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鎻掑骇;
-                        if (this.listNewDevice[0].IsCustomizeImage == false)
-                        {
-                            //閲嶆柊璁剧疆鍥剧墖
-                            this.listNewDevice[0].IconPath = "Device/Socket1.png";
-                        }
-                    }
-                    else
-                    {
-                        this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鏈畾涔�;
-                        if (this.listNewDevice[0].IsCustomizeImage == false)
-                        {
-                            //閲嶆柊璁剧疆鍥剧墖
-                            this.listNewDevice[0].IconPath = "Device/Switch.png";
-                        }
-                    }
-                    this.listNewDevice[0].ReSave();
-                };
-            };
+            rowFunction.AddBottomLine();
         }
 
         #endregion
@@ -1168,11 +1118,11 @@
         /// 璁惧閲嶅懡鍚�
         /// </summary>
         /// <param name="i_deviceName">deviceName.</param>
-        private async void DeviceReName(string i_deviceName, bool closeForm)
+        private void DeviceReName(string i_deviceName, bool closeForm)
         {
             //淇敼MAC鍚�
             string deviceName = i_deviceName.Trim();
-            var result = await Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName);
+            var result = Common.LocalDevice.Current.ReMacName(this.listNewDevice, deviceName);
             if (result == false)
             {
                 return;
@@ -1289,6 +1239,12 @@
             //绉婚櫎鑾峰彇璁惧纭欢淇℃伅鐨勭洃鍚嚎绋�
             HdlDeviceHardInfoLogic.Current.RemoveDeviceHardInfoThread(listNewDevice[0]);
 
+            //璁惧鏂板叆缃�
+            if (UserCenterResourse.DicActionForm.ContainsKey("AddDeviceTypeListForm") == true)
+            {
+                this.LoadFormMethodByName("DeviceListMainForm", "RefreshDeviceRow", new object[] { listNewDevice[0].DeviceAddr });
+            }
+
             base.CloseFormBefore();
         }
 
@@ -1370,6 +1326,22 @@
             });
         }
 
+        /// <summary>
+        /// 妫�娴嬭兘鍚︽樉绀哄姛鑳借缃殑鑿滃崟
+        /// </summary>
+        /// <returns></returns>
+        private bool CheckCanShowFunctionSettionRow()
+        {
+            //鏂规偊鏂伴闈㈡澘娌℃湁鍔熻兘璁剧疆
+            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FourButtonScene
+                || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_TwoButtonCurtain)
+            {
+                return false;
+            }
+            return true;
+        }
+
         #endregion
     }
 }

--
Gitblit v1.8.0