From b9cb076fe6127160c96c35bf9c8cebcffe1d5ccd Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 10 一月 2020 17:35:23 +0800 Subject: [PATCH] 2020.1.10 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs | 235 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 203 insertions(+), 32 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs index 98c72f0..6e1ff95 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceMacInfoEditorForm.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Threading.Tasks; using Shared.Common; -using Shared.Phone.UserView; using ZigBee.Device; namespace Shared.Phone.UserCenter.Device @@ -30,6 +29,10 @@ /// 璁惧鍏蜂綋绫诲瀷鐨勪俊鎭� /// </summary> private DeviceEnumInfo deviceEnumInfo = null; + /// <summary> + /// 涓ぎ绌鸿皟鐨勭増鏈帶浠� + /// </summary> + private NormalViewControl btnAirConditionerVersion = null; #endregion @@ -186,11 +189,10 @@ /// </summary> private void AddAllMenuRow() { - bool isHdlDevice = Common.LocalDevice.Current.IsHdlDevice(listNewDevice[0]); if (deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣) { //鍙湁鏄渤涓滅殑璁惧鐨勬椂鍊� - if (isHdlDevice == true) + if (deviceEnumInfo.IsHdlDevice == true) { //娣诲姞銆愮敤鎴风鐞嗐�戣 this.AddUserManageRow(); @@ -207,6 +209,8 @@ } else { + //娣诲姞銆愬伐浣滄ā寮忋�戣(pir浼犳劅鍣ㄤ笓鐢�) + this.AddPirSensorWorkModeRow(); //娣诲姞銆愮粦瀹氱洰鏍囥�戣(pir浼犳劅鍣ㄤ笓鐢�) this.AddPirSensorBindRow(); //娣诲姞銆愭柟鍚戜笌闄愪綅銆戣(寮�鍚堝笜,鍗峰笜涓撶敤) @@ -220,13 +224,15 @@ //娣诲姞銆愬共鎺ョ偣璁剧疆銆戣 this.AddDryContactSettionRow(); } + //娣诲姞銆愬姛鑳界被鍨嬨�戣(绌烘皵寮�鍏充笓鐢�) + this.AddAirSwitchFunctionTypeRow(); //娣诲姞銆愰�氱敤淇℃伅銆戣 this.AddGeneralInformationRow(); //娣诲姞銆愮┖璋冩ā鍧楃増鏈�(绌鸿皟涓撶敤)銆戣 this.AddAirConditionerModelVersionRow(); - if (isHdlDevice == true) + if (deviceEnumInfo.IsHdlDevice == true) { //娣诲姞銆愬浐浠跺崌绾с�戣 this.AddFirmwareUpdateRow(); @@ -500,6 +506,36 @@ #endregion + #region 鈻� 宸ヤ綔妯″紡(pir浼犳劅鍣ㄤ笓鐢�)____________ + + /// <summary> + /// 娣诲姞銆愬伐浣滄ā寮忋�戣(pir浼犳劅鍣ㄤ笓鐢�) + /// </summary> + private void AddPirSensorWorkModeRow() + { + if (this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir + || deviceEnumInfo.IsHdlDevice == false) + { + return; + } + //宸ヤ綔妯″紡 + string caption = Language.StringByID(R.MyInternationalizationString.uWorkMode); + 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 DevicePirSensor.PirSensorWorkModeMenuForm(); + form.AddForm((IASZone)this.listNewDevice[0]); + }; + } + + #endregion; + #region 鈻� 缁戝畾鐩爣(pir浼犳劅鍣ㄤ笓鐢�)____________ /// <summary> @@ -667,7 +703,10 @@ //鎵嬫媺鎺у埗 if (0 < (attriBute.AttriButeData & 0x04)) { - btnSwitch.IsSelected = true; + HdlThreadLogic.Current.RunMain(() => + { + btnSwitch.IsSelected = true; + }); } } } @@ -702,6 +741,101 @@ { var form = new DeviceAirConditioner.IndoorUnitListForm(); form.AddForm(listNewDevice[0].DeviceAddr); + }; + } + + #endregion + + #region 鈻� 鍔熻兘绫诲瀷(绌烘皵寮�鍏充笓鐢�)_____________ + + /// <summary> + /// 娣诲姞銆愬姛鑳界被鍨嬨�戣(绌烘皵寮�鍏充笓鐢�) + /// </summary> + private void AddAirSwitchFunctionTypeRow() + { + if (this.deviceEnumInfo.BeloneType != DeviceBeloneType.A鏅鸿兘绌哄紑) + { + //涓嶆槸绌烘皵寮�鍏� + 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鐏厜) + { + strType = Language.StringByID(R.MyInternationalizationString.uLight); + nowSelectNo = 1; + } + 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(); + //搴曠嚎 + 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.AddForm(title, listText, nowSelectNo); + form.FinishSelectEvent += (selectNo) => + { + 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 + { + this.listNewDevice[0].DfunctionType = DeviceFunctionType.A鎻掑骇; + if (this.listNewDevice[0].IsCustomizeImage == false) + { + //閲嶆柊璁剧疆鍥剧墖 + this.listNewDevice[0].IconPath = "Device/Socket1.png"; + } + } + this.listNewDevice[0].ReSave(); + }; }; } @@ -749,29 +883,12 @@ listview.AddChidren(rowVersion); rowVersion.AddLeftCaption(caption, 600); //鐗堟湰 - var btnVersion = rowVersion.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uGetting), 800); + this.btnAirConditionerVersion = rowVersion.AddMostRightView("", 800); //搴曠嚎 rowVersion.AddBottomLine(); - HdlThreadLogic.Current.RunThread(async () => - { - //璇诲彇绌鸿皟妯″潡鐗堟湰 - var result = await ((AC)listNewDevice[0]).ReadACFirewareVersionAsync(); - if (result == null || result.readACFirewareVersionResponData == null || result.readACFirewareVersionResponData.Status != 0) - { - HdlThreadLogic.Current.RunMain(() => - { - //鑾峰彇澶辫触 - btnVersion.TextID = R.MyInternationalizationString.uGettingFail; - }); - } - else - { - HdlThreadLogic.Current.RunMain(() => - { - btnVersion.Text = result.readACFirewareVersionResponData.FirewareVersion.Replace("-", string.Empty); - }); - } - }); + + //鑾峰彇涓ぎ绌鸿皟妯″潡鐨勭増鏈� + this.ReadAirConditionerVersion(); } #endregion @@ -820,7 +937,7 @@ { //涓ぎ绌鸿皟鐨勫崌绾х殑璇濓紝鏄壒娈婄殑 var form = new DeviceAirConditioner.ACZbGatewayUpdateMenuForm(); - form.AddForm(listNewDevice[0].DeviceAddr, btnNewVersion.Visible); + form.AddForm((AC)listNewDevice[0], btnNewVersion.Visible); } btnNewVersion.Visible = false; }; @@ -938,15 +1055,21 @@ /// </summary> private void ShowTopRightMenu() { - int menuCount = 1; - string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘(鎷跨鐐规渶灏忕殑閭d釜鍥炶矾鍘诲畾浣�) bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(listNewDevice[0]); - if (canTest == true) + if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A鏅鸿兘闂ㄩ攣) { - menuCount = 2; + canTest = false; } - var frame = new TopRightMenuControl(menuCount); + else if (this.deviceEnumInfo.BeloneType == DeviceBeloneType.A浼犳劅鍣� + && this.deviceEnumInfo.ConcreteType != DeviceConcreteType.Sensor_Pir) + { + //浼犳劅鍣ㄩ櫎浜哖ir閮芥病鏈夊畾浣嶅姛鑳� + canTest = false; + } + var frame = new TopRightMenuControl(canTest == true ? 2 : 1, 1); + + string deviceMenu = string.Empty; if (canTest == true) { //瀹氫綅 @@ -1042,8 +1165,56 @@ #endregion + #region 鈻� 鐣岄潰閲嶆柊婵�娲讳簨浠禵__________________ + + /// <summary> + /// 鑷韩鐨勪笂灞傜晫闈㈠叧闂悗,瀹冭嚜韬浜庢渶涓婂眰鏃�,瑙﹀彂鐨勪簨浠� + /// </summary> + public override int FormActionAgainEvent() + { + //閲嶆柊鑾峰彇涓ぎ绌鸿皟妯″潡鐨勭増鏈� + this.ReadAirConditionerVersion(); + + return 0; + } + + #endregion + #region 鈻� 涓�鑸柟娉昣__________________________ + /// <summary> + /// 鑾峰彇涓ぎ绌鸿皟妯″潡鐨勭増鏈� + /// </summary> + private void ReadAirConditionerVersion() + { + if (this.btnAirConditionerVersion == null) + { + return; + } + //鑾峰彇涓�.... + this.btnAirConditionerVersion.TextID = R.MyInternationalizationString.uGetting; + HdlThreadLogic.Current.RunThread(async () => + { + //璇诲彇绌鸿皟妯″潡鐗堟湰 + var result = await HdlDeviceAirConditionerLogic.Current.ReadACFirewareVersionAsync(listNewDevice[0]); + if (result == null || result.readACFirewareVersionResponData == null || result.readACFirewareVersionResponData.Status != 0) + { + HdlThreadLogic.Current.RunMain(() => + { + //鑾峰彇澶辫触 + btnAirConditionerVersion.TextID = R.MyInternationalizationString.uGettingFail; + }); + } + else + { + HdlThreadLogic.Current.RunMain(() => + { + btnAirConditionerVersion.Text = result.readACFirewareVersionResponData.FirewareVersion.Replace("-", string.Empty); + }); + } + }); + } + #endregion } } -- Gitblit v1.8.0