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