From e90209beae6a4e822cecb18e6889f8bda23f630e Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 14 十二月 2020 11:16:06 +0800 Subject: [PATCH] 合并了晾衣架(非新云端) --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 217 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 206 insertions(+), 11 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index 3b352d4..d8b96a3 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -88,6 +88,13 @@ { this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028); } + else if (this.deviceObj.Type == DeviceType.Airer) + { + //鏅捐。鏋惰澶囧彧瀛樺彇鍥炶矾1锛屽鏋滄槸鏅捐。鏋讹紝榛樿绔偣閮芥槸1锛� + this.deviceObj.DeviceEpoint = 1; + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1342); + } + else { this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1128); @@ -124,8 +131,19 @@ } } } + + //濡傛灉鏄櫨琛f灦銆屾椂闂村厛涓嶅鐞嗐�� + //if (deviceObj.Type == DeviceType.Airer) + //{ + // var airer = deviceObj as Airer; + // SetAirerFunTimeDevice(airer); + //} + //else + //{ //鍏抽棴鑷韩 this.CloseForm(); + //} + }; //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鑳界紪杈� if (Common.Config.Instance.Home.IsShowTemplate == true) @@ -144,6 +162,7 @@ //鍥炶矾澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote); string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true) { nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint]; @@ -191,9 +210,20 @@ //鍙樻洿鎴块棿 HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys); }; - //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); + + if (this.deviceObj.Type == DeviceType.Airer) + { + var airer = this.deviceObj as Airer; + //娣诲姞鐑樺共鏃堕棿琛� + this.AddAirerDryTimeRow(airer); + //娣诲姞椋庡共鏃堕棿琛� + this.AddAirerWindTimeRow(airer); + //娣诲姞娑堟瘨鏃堕棿琛� + this.AddAirerDisinfectTimeRow(airer); + } + //鍒濆鍖栨甯冨畬鎴� tableContr.FinishInitControl(); } @@ -276,7 +306,151 @@ //搴曠嚎 rowFunction.AddBottomLine(); } + #endregion + #region 鈻� 鏅捐。鏋朵笓鐢╛________________________ + #region 鈻� 鐑樺共鏃堕棿_________________________ + /// <summary> + /// 鐑樺共鏃堕棿琛� + /// </summary> + private void AddAirerDryTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.DryTime != 0) + { + double result = airer.DryTime / 60.0; + var hour = Math.Round(result, 2); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + + } + #endregion + + #region 鈻� 椋庡共鏃堕棿_________________________ + /// <summary> + /// 椋庡共鏃堕棿琛� + /// </summary> + private void AddAirerWindTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.WindTime != 0) + { + double result = airer.WindTime / 60.0; + var hour = Math.Round(result, 1); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerWindTime), text, 2); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + } + #endregion + + #region 鈻� 娑堟瘨鏃堕棿_________________________ + /// <summary> + /// 娑堟瘨鏃堕棿琛� + /// </summary> + private void AddAirerDisinfectTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 30 + Language.StringByID(R.MyInternationalizationString.AirerMin); + if (airer.DisinfectTime != 0) + { + text = airer.DisinfectTime + Language.StringByID(R.MyInternationalizationString.AirerMin); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDisinfectTime), text, 3); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + + }; + } + #endregion + + #region 鈻� 璇诲彇鏃堕棿鍛戒护___________________ + + /// <summary> + /// 璇诲彇鏃堕棿鍛戒护 + /// </summary> + public void ReadAirerFunTimeDevice() + { + + } + + #endregion + + /// <summary> + /// 璁惧鏃堕棿璁剧疆 + /// </summary> + private void SetAirerFunTimeDevice(Airer airer) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + + //鍒欒璁剧疆瀵瑰簲鐨勫姛鑳芥椂闂� + List<CommonDevice> listdevice = new List<CommonDevice>(); + + for (int i = 3; i < 6; i++) + { + int time = 0; + listdevice.Add(deviceObj); + switch (i) + { + case 3: + time = airer.WindTime; + break; + case 4: + time = airer.DryTime; + break; + case 5: + time = airer.DisinfectTime; + break; + } + bool result = await Common.LocalDevice.Current.SetAirerTimeDevice(listdevice, airer, time, i); + if (result == false) + { + airer.WindTime = airer.WindRemainTime = 0; + airer.DryTime = airer.DryRemainTime = 0; + airer.DisinfectTime = airer.DisinfectTime = 0; + HdlThreadLogic.Current.RunMainInThread(() => + { + this.InitMiddleFrame(); + }); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //鍏抽棴鑷韩 + this.CloseForm(); + }); + } #endregion #region 鈻� 鍒濆鍖栬澶囧洖璺浘鏍嘷________________ @@ -354,6 +528,19 @@ frameBack.Y = Application.GetRealHeight(153); frameBack.Gravity = Gravity.Center; } + + //濡傛灉鏄櫨琛f灦 + if (deviceObj.Type == DeviceType.Airer) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(299); + frameBack.BackgroundImagePath = "Airer/Airer216.png"; + frameBack.Width = this.GetPictrueRealSize(207); + frameBack.Height = this.GetPictrueRealSize(207); + frameBack.Y = Application.GetRealHeight(92); + frameBack.Gravity = Gravity.CenterHorizontal; + } } else { @@ -361,16 +548,20 @@ } } - if (listIcon.Count > 2) + //濡傛灉鏄櫨琛f灦,鏈�5涓洖璺紝浣嗘槸5涓洖璺彧鏄唬琛ㄤ笉鍚屽姛鑳戒娇鐢紝涓嶆槸鐪熷疄鐨勫搴旇澶囷紝鎵�浠ラ粯璁ゅ彧鏄剧ず绗竴鍥炶矾 + if (deviceObj.Type != DeviceType.Airer) { - //璁$畻鐪熷疄楂樺害 - int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 - realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 - realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 - if (realHeight > frameBack.Height) + if (listIcon.Count > 2) { - //鍙樻洿楂樺害 - frameBack.Height = realHeight; + //璁$畻鐪熷疄楂樺害 + int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 + realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 + realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 + if (realHeight > frameBack.Height) + { + //鍙樻洿楂樺害 + frameBack.Height = realHeight; + } } } } @@ -505,10 +696,14 @@ if (nowSelectControl != null) { //鍚屼竴涓笢瑗�,涓嶉笩浠� - if (nowSelectControl.Name == nowContr.Name) + if (this.deviceObj.Type != DeviceType.Airer) { - return; + if (nowSelectControl.Name == nowContr.Name) + { + return; + } } + //涓嶉�夋嫨鐘舵�� nowSelectControl.BorderColor = 0xff979797; nowSelectControl.TextSize = 13; -- Gitblit v1.8.0