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/CompoundControls/AiererTimeControl.cs | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 236 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/AiererTimeControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/AiererTimeControl.cs new file mode 100644 index 0000000..12d5840 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/AiererTimeControl.cs @@ -0,0 +1,236 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鏅捐。鏋舵椂闂磋缃殑鎺т欢 + /// </summary> + public class AiererTimeControl : AirerTimeBaseLayout + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 閫夋嫨鏃堕棿鐨勪簨浠� + /// int鎬荤 int绫诲瀷 + /// </summary> + public Action<int, int> SelectTimeEvent = null; + /// <summary> + /// 閫夋嫨鏃堕棿鐨勪簨浠� + /// int鏃堕棿 int绫诲瀷銆�1:鐑樺共锛�2:椋庡共锛�3锛氭秷姣掋�� + /// </summary> + public Action<int, int> DetailCardActionTimeEvent = null; + /// <summary> + /// 鏄剧ず鏂囨湰 + /// </summary> + private NormalViewControl btnTextView = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鏅捐。鏋舵椂闂磋缃殑鎺т欢 + /// </summary> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> + public AiererTimeControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) + { + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_text">鏂囨湰鏄剧ず</param> + /// <param name="type">鏅捐。鏋舵椂闂� 锛�1鐑樺共锛�2:椋庡共锛�3娑堟瘨</param> + public void InitControl(Airer airer, NormalFrameLayout bodyFrameLayout, string i_caption, string i_text, int type) + { + //鏍囬 + var btnCaption = new NormalViewControl(270, 58, true); + btnCaption.X = ControlCommonResourse.XXLeft; + btnCaption.Gravity = Gravity.CenterVertical; + btnCaption.Text = i_caption + "锛�"; + this.AddChidren(btnCaption, ChidrenBindMode.BindEvent); + + //鏄剧ず妗� + this.btnTextView = new NormalViewControl(700, true); + btnTextView.X = Application.GetRealWidth(294); + btnTextView.Gravity = Gravity.CenterVertical; + btnTextView.TextColor = UserCenterColor.Current.TextGrayColor1; + btnTextView.Text = i_text; + this.AddChidren(btnTextView, ChidrenBindMode.BindEvent); + + if (chidrenYaxis != 0) + { + btnCaption.Y += chidrenYaxis; + btnTextView.Y += chidrenYaxis; + } + + //鍙崇澶� {鐑樺共銆侀骞插拰娑堟瘨鐨勮缃粯璁ゆ椂闂存殏鏃跺彇鍘绘帀锛屼笖鍊掕鏃朵篃鍘绘帀锛屽洜涓虹涓夋柟璁惧涓嶆敮鎸併�� + //榛樿鏈�澶�3灏忔椂锛屾墍浠ヤ笅娆¤澶勭悊鏃朵负3锛屽垎閽熶笉鑳芥搷浣滃ぇ鎯呭喌 + //this.AddRightArrow(); + + //濡傛灉褰撳墠涓嶆槸灞曠ず妯℃澘,鍒欓渶瑕佸鐞� + //if (Common.Config.Instance.Home.IsShowTemplate == false) + //{ + // this.ButtonClickEvent += (sender, e) => + // { + //鍖哄煙閫夋嫨 + //SelectTimeEvent = (min, curType) => + //{ + // switch (curType) + // { + // case 1: + // case 2: + // double result = min / 60.0; + // var hour = Math.Round(result, 2); + // var text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + + // if (min == 0) + // { + // text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + // } + // btnTextView.Text = text; + + // break; + // case 3: + // int result2 = min; + // var text2 = result2 + Language.StringByID(R.MyInternationalizationString.AirerMin); + + // if (min == 0) + // { + // text2 = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 30 + Language.StringByID(R.MyInternationalizationString.AirerMin); + // } + // btnTextView.Text = text2; + // break; + // } + //}; + //this.ShowSelectTime(airer, bodyFrameLayout, btnTextView, i_caption, type); + // }; + //} + } + + #endregion + + #region 鈻� 鏃堕棿閫夋嫨___________________________ + + /// <summary> + /// 鍖哄煙閫夋嫨 + /// </summary> + /// <param name="txtView"></param> + /// <param name="i_caption"></param> + /// <param name="type">鏅捐。鏋舵椂闂� 锛�1鐑樺共锛�2:椋庡共锛�3娑堟瘨</param> + private void ShowSelectTime(Airer airer, NormalFrameLayout bodyFrameLayout, NormalViewControl txtView, string i_caption, int type) + { + bodyFrameLayout.AddChidren(this.shadowRadiusFrameLayout); + this.bottomRadiusFrameLayout.RemoveAll(); + this.BottomRadiusFrameLayout(this); + this.btnBottomTitle.Text = i_caption; + var mUIPickerView = new UIPickerView() + { + X = Application.GetRealWidth(0), + Height = Application.GetRealHeight(440 - 140), + }; + this.bottomRadiusFrameLayout.AddChidren(mUIPickerView); + mUIPickerView.Y = Application.GetRealWidth(207); + //灏忔椂鍒楄〃鍚嶅瓧 + var listHourName = new List<string>(); + //鍒嗛挓鍚嶅瓧 + var listMinName = new List<string>(); + int curH = 0; + int curM = 0; + if (type == 3) + { + curM = 1; + //鍚嶅瓧鍜岄敭鏀堕泦 + for (int i = 1; i < 31; i++) + { + listMinName.Add(i.ToString() + Language.StringByID(R.MyInternationalizationString.AirerMin)); + } + mUIPickerView.setNPicker(listMinName, null, null); + mUIPickerView.setCurrentItems(curH, 0, 0); + mUIPickerView.OnSelectChangeEvent += (v1, v2, v3) => + { + curM = v1 + 1; + }; + } + else + { + //鍚嶅瓧鍜岄敭鏀堕泦 + for (int i = 0; i < 4; i++) + { + listHourName.Add(i.ToString() + Language.StringByID(R.MyInternationalizationString.AirerHour)); + } + for (int i = 0; i < 60; i++) + { + listMinName.Add(i.ToString() + Language.StringByID(R.MyInternationalizationString.AirerMin)); + } + mUIPickerView.setNPicker(listHourName, listMinName, null); + mUIPickerView.setCurrentItems(curH, curM, 0); + mUIPickerView.OnSelectChangeEvent += (h, m, s) => + { + curH = h; + curM = m; + }; + } + this.btnCancel.MouseUpEventHandler = (sender1, e1) => + { + this.shadowRadiusFrameLayout.RemoveFromParent(); + }; + this.btnFinish.MouseUpEventHandler = async (sender1, e1) => + { + int totalMin = 0; + switch (type) + { + case 1: + airer.DryTime = curH * 60 + curM; + airer.DryRemainTime = airer.DryTime * 60; + totalMin = airer.DryTime; + airer.SetAirerFunTimeDevice(airer.DryTime, 4); + this.DetailCardActionTimeEvent?.Invoke(airer.DryRemainTime, type); + break; + case 2: + airer.WindTime = curH * 60 + curM; + airer.WindRemainTime = airer.WindTime * 60; + totalMin = airer.WindTime; + airer.SetAirerFunTimeDevice(airer.WindTime, 3); + this.DetailCardActionTimeEvent?.Invoke(airer.WindRemainTime, type); + break; + case 3: + airer.DisinfectTime = curM; + airer.DisinfectRemainTime = airer.DisinfectTime * 60; + totalMin = airer.DisinfectTime; + airer.SetAirerFunTimeDevice(airer.DisinfectTime, 5); + this.DetailCardActionTimeEvent?.Invoke(airer.DisinfectRemainTime, type); + break; + } + //鎴愬姛鍚庢洿鏂板闈㈡枃鏈� + this.SelectTimeEvent?.Invoke(totalMin, type); + this.SelectTimeEvent = null; + + this.shadowRadiusFrameLayout.RemoveFromParent(); + }; + this.shadowRadiusFrameLayout.MouseUpEventHandler += (sender1, e1) => + { + this.shadowRadiusFrameLayout.RemoveFromParent(); + }; + } + #endregion + #region 鈻� 鎺т欢鎽ф瘉___________________________ + + /// <summary> + /// 鎺т欢鎽ф瘉 + /// </summary> + public override void RemoveFromParent() + { + this.SelectTimeEvent = null; + + base.RemoveFromParent(); + } + + #endregion + } +} + -- Gitblit v1.8.0