From d6fb0646531172f23648441c224cdcccd721b894 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期一, 14 十二月 2020 09:59:01 +0800 Subject: [PATCH] 请合并代码,完成晾衣架最终功能。 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs | 93 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 80 insertions(+), 13 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs old mode 100755 new mode 100644 index 601e1bd..ffdd535 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/RowLayoutControls/DeviceFunctionTypeRowControl.cs @@ -30,7 +30,7 @@ /// </summary> public bool SetCanSelect { - set + set { m_SetCanSelect = value; } @@ -74,11 +74,14 @@ || this.device.Type == DeviceType.OnOffOutput) { //娌¤寮哄埗骞叉秹鐨勮瘽 - if (m_SetCanSelect == true) + if (m_SetCanSelect == true && Common.Config.Instance.Home.IsShowTemplate == false) { this.UseClickStatu = true; //鍙崇澶� this.AddRightArrow(); + + //璇诲彇璁惧鍔熻兘绫诲瀷 + this.ReadDeviceFunctionType(); this.ButtonClickEvent += (sender, e) => { @@ -108,7 +111,7 @@ var form = new BottomItemSelectForm(); form.CancelCallEvent = true;//鍏佽鍙栨秷 - form.AddForm(title, listText, nowSelectNo - 1); + form.AddForm(title, listText, null, nowSelectNo - 1); form.FinishSelectEvent += (selectNo) => { if (selectNo == nowSelectNo - 1) @@ -120,14 +123,34 @@ this.Text = selectNo == -1 ? string.Empty : listText[selectNo]; nowSelectNo = selectNo + 1; - //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� - this.RefreshDfunctionType(); + this.CanClick = false; + HdlThreadLogic.Current.RunThread(() => + { + //璁剧疆鍔熻兘绫诲瀷鍒扮綉鍏� + var result = Common.LocalDevice.Current.SendDeviceFunctionTypeToGateway(this.device, (DeviceFunctionType)nowSelectNo); + + HdlThreadLogic.Current.RunMain(() => + { + if (result == true) + { + //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� + this.RefreshDfunctionType(); - //璁惧鏀瑰彉鍔熻兘绫诲瀷鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� - UserView.UserPage.Instance.RefreshForm = true; + //璁惧鏀瑰彉鍔熻兘绫诲瀷鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; - //璋冪敤鍥炶皟鍑芥暟 - this.FinishSelectEvent?.Invoke(nowSelectNo); + //璋冪敤鍥炶皟鍑芥暟 + this.FinishSelectEvent?.Invoke(nowSelectNo); + } + else + { + //璁剧疆璁惧鍔熻兘绫诲瀷澶辫触 + var alert = new ShowMsgControl(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.uSetDeviceFunctionTypeFail)); + alert.Show(); + } + this.CanClick = true; + }); + }); }; } #endregion @@ -171,25 +194,29 @@ || this.device.Type == DeviceType.DimmableLight) { //鐏厜绫诲浐瀹氫负 鐏厜 - strType = Language.StringByID(R.MyInternationalizationString.uLight); + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A418"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; nowSelectNo = 2; } else if (this.device.Type == DeviceType.WindowCoveringDevice) { //绐楀笜鍥哄畾涓� 閬槼 - strType = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId100); + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A400"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; nowSelectNo = -1; } else if (this.device.Type == DeviceType.Thermostat) { //绌鸿皟鍥哄畾涓� 绌鸿皟 - strType = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId3600); + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A406"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; nowSelectNo = -1; } else if (this.device.Type == DeviceType.DoorLock) { //闂ㄩ攣鍥哄畾涓� 闂ㄩ攣 - strType = Language.StringByID(R.MyInternationalizationString.uDeviceBelongId2800); + var infoContent = Common.LocalDevice.Current.GetDeviceModelIdNameInfo("A405"); + strType = infoContent != null ? infoContent.A瀹樻柟鍚嶅瓧 : string.Empty; nowSelectNo = -1; } else if (this.device.Type == DeviceType.FreshAir) @@ -202,6 +229,18 @@ { //PM2.5浼犳劅鍣ㄥ浐瀹氫负 绌烘皵璐ㄩ噺 strType = Language.StringByID(R.MyInternationalizationString.AirQuality); + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.Airer) + { + //鏅捐。鏋� + strType = Language.StringByID(R.MyInternationalizationString.AirerFun); + nowSelectNo = -1; + } + else if (this.device.Type == DeviceType.PMSensor) + { + //绌烘皵璐ㄩ噺浼犳劅鍣� 鐜 + strType = Language.StringByID(R.MyInternationalizationString.Envoronment); nowSelectNo = -1; } @@ -229,6 +268,7 @@ || this.device.Type == DeviceType.Thermostat//绌鸿皟 || this.device.Type == DeviceType.FreshAir//鏂伴 || this.device.Type == DeviceType.PMSensor //PM2.5 + || this.device.Type == DeviceType.Airer//鏅捐。鏋� || this.device.Type == DeviceType.ColorTemperatureLight //鑹叉俯鐏� || this.device.Type == DeviceType.WindowCoveringDevice)//绐楀笜 { @@ -309,5 +349,32 @@ } #endregion + + #region 鈻� 璇诲彇璁惧鍔熻兘绫诲瀷___________________ + + /// <summary> + /// 璇诲彇璁惧鍔熻兘绫诲瀷 + /// </summary> + private void ReadDeviceFunctionType() + { + HdlThreadLogic.Current.RunThread(() => + { + //璇诲彇璁惧鍔熻兘绫诲瀷 + var info = Common.LocalDevice.Current.ReadDeviceEpointDeviceInfo(this.device); + if (info != null && ((int)this.device.DfunctionType) != info.FunctionType) + { + this.device.DfunctionType = (DeviceFunctionType)info.FunctionType; + HdlThreadLogic.Current.RunMain(() => + { + //鍒锋柊鎺т欢 + this.InitDefultData(); + //鍒锋柊璁惧鍔熻兘绫诲瀷 + this.RefreshDfunctionType(); + }); + } + }); + } + + #endregion } } -- Gitblit v1.8.0