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