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/Device/PirSensor/PirSensorWorkModeMenuForm.cs | 308 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 308 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs
new file mode 100755
index 0000000..428221f
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/PirSensor/PirSensorWorkModeMenuForm.cs
@@ -0,0 +1,308 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.DevicePirSensor
+{
+ /// <summary>
+ /// pir浼犳劅鍣ㄧ殑宸ヤ綔妯″紡鐨勮彍鍗曠晫闈�
+ /// </summary>
+ public class PirSensorWorkModeMenuForm : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ /// <summary>
+ /// pir浼犳劅鍣ㄥ璞�
+ /// </summary>
+ private IASZone iASZone = null;
+ /// <summary>
+ /// 浼犳劅鍣ㄧ殑閰嶇疆淇℃伅
+ /// </summary>
+ private IASZone.ConfigureParamates pirConfigure = null;
+ /// <summary>
+ /// 鏁版嵁鏄惁鏇存敼
+ /// </summary>
+ private bool isDataChanged = false;
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ /// <param name="i_iASZone">pir浼犳劅鍣�</param>
+ public void ShowForm(IASZone i_iASZone)
+ {
+ this.iASZone = i_iASZone;
+
+ //璁剧疆澶撮儴淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uWorkMode));
+
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //鑾峰彇鍒濆鏁版嵁
+ var result = this.GetDeviceAllDefultData();
+ if (result == false)
+ {
+ return;
+ }
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鍒濆鍖栦腑閮ㄤ俊鎭�
+ this.InitMiddleFrame();
+ });
+ });
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+ /// </summary>
+ private void InitMiddleFrame()
+ {
+ var frameBack = new FrameLayout();
+ frameBack.Height = Application.GetRealHeight(11);
+ frameBack.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(frameBack);
+
+ var listView = new VerticalListControl(12);
+ listView.Height = Application.GetRealHeight(700);
+ listView.Y = frameBack.Bottom;
+ listView.BackgroundColor = UserCenterColor.Current.White;
+ bodyFrameLayout.AddChidren(listView);
+
+ //娣诲姞鎺у埗妯″紡琛�
+ this.AddControlModeRow(listView);
+
+ //娣诲姞瑙﹀彂妯″紡琛�
+ this.AddTriggerModeRow(listView);
+
+ //娣诲姞涓婃姤闂撮殧琛�
+ this.AddReportTimeSpaceRow(listView);
+
+ //璋冩暣楂樺害
+ listView.AdjustRealHeight(Application.GetRealHeight(23));
+
+ //淇濆瓨
+ var btnSave = new BottomClickButton();
+ btnSave.TextID = R.MyInternationalizationString.uSave;
+ bodyFrameLayout.AddChidren(btnSave);
+ btnSave.ButtonClickEvent += (sender, e) =>
+ {
+ if (this.isDataChanged == false)
+ {
+ //鏁版嵁娌℃湁鍙樻洿杩�,鍏抽棴鐣岄潰
+ this.CloseForm();
+ return;
+ }
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //淇濆瓨Pir浼犳劅鍣ㄦ暟鎹�
+ this.SavePirSensorData();
+ });
+ };
+ //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈�
+ if (Common.Config.Instance.Home.IsShowTemplate == true)
+ {
+ btnSave.CanClick = false;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鎺у埗妯″紡___________________________
+
+ /// <summary>
+ /// 娣诲姞鎺у埗妯″紡琛�
+ /// </summary>
+ /// <param name="listView"></param>
+ private void AddControlModeRow(VerticalListControl listView)
+ {
+ var listSelect = new List<string>();
+ //鍏ㄨ嚜鍔ㄦā寮�
+ listSelect.Add(Language.StringByID(R.MyInternationalizationString.uFullAutoMode));
+ //鍗婅嚜鍔ㄦā寮�
+ listSelect.Add(Language.StringByID(R.MyInternationalizationString.uHafeAutoMode));
+
+ //鎺у埗妯″紡
+ var row1 = new FrameRowControl(listView.rowSpace / 2);
+ listView.AddChidren(row1);
+ var btnCaption1 = row1.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uControlMode), 400);
+ btnCaption1.TextSize = 15;
+ row1.AddRightArrow();
+ var btnStatu = row1.AddMostRightView(this.pirConfigure.mode == 0 ? listSelect[1] : listSelect[0], 400);
+ row1.AddBottomLine();
+ row1.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new BottomItemSelectForm();
+ form.AddForm(btnCaption1.Text, listSelect, null, this.pirConfigure.mode == 0 ? 1 : 0);
+ form.FinishSelectEvent += (value) =>
+ {
+ this.isDataChanged = true;
+
+ btnStatu.Text = listSelect[value];
+ this.pirConfigure.mode = value == 0 ? 1 : 0;
+ };
+ };
+ //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈�
+ if (Common.Config.Instance.Home.IsShowTemplate == true)
+ {
+ row1.CanClick = false;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 瑙﹀彂妯″紡___________________________
+
+ /// <summary>
+ /// 娣诲姞瑙﹀彂妯″紡琛�
+ /// </summary>
+ /// <param name="listView"></param>
+ private void AddTriggerModeRow(VerticalListControl listView)
+ {
+ var listSelect = new List<string>();
+ //璋冨厜妯″紡
+ listSelect.Add(Language.StringByID(R.MyInternationalizationString.uDimmingMode));
+ //寮�鍏虫ā寮�
+ listSelect.Add(Language.StringByID(R.MyInternationalizationString.uSwitchMode));
+
+ //瑙﹀彂妯″紡
+ var row2 = new FrameRowControl(listView.rowSpace / 2);
+ listView.AddChidren(row2);
+ var btnCaption2 = row2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uTriggerMode), 400);
+ btnCaption2.TextSize = 15;
+ row2.AddRightArrow();
+ var btnStatu2 = row2.AddMostRightView(this.pirConfigure.type == 0 ? listSelect[0] : listSelect[1], 400);
+ row2.AddBottomLine();
+ row2.ButtonClickEvent += (sender, e) =>
+ {
+ var form = new BottomItemSelectForm();
+ form.AddForm(btnCaption2.Text, listSelect, null, this.pirConfigure.type);
+ form.FinishSelectEvent += (value) =>
+ {
+ this.isDataChanged = true;
+ btnStatu2.Text = listSelect[value];
+
+ this.pirConfigure.type = value;
+ //濡傛灉鏄皟鍏夋ā寮�,鍒欒繘鍏ヤ笅涓�涓晫闈�
+ if (value == 0)
+ {
+ var form2 = new PirSensorDimmingModeForm();
+ form2.AddForm(pirConfigure);
+ }
+ };
+ };
+ //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈�
+ if (Common.Config.Instance.Home.IsShowTemplate == true)
+ {
+ row2.CanClick = false;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 涓婃姤闂撮殧___________________________
+
+ /// <summary>
+ /// 娣诲姞涓婃姤闂撮殧琛�
+ /// </summary>
+ /// <param name="listView"></param>
+ private void AddReportTimeSpaceRow(VerticalListControl listView)
+ {
+ var listTime = new List<string>();
+ var miao = Language.StringByID(R.MyInternationalizationString.uSecond);
+ for (int i = 10; i <= 300; i += 5)
+ {
+ listTime.Add(i + miao);
+ }
+ //璁╁畠澶勪簬5鐨勬暣鍊嶆暟
+ this.pirConfigure.iasReportPeriod = (this.pirConfigure.iasReportPeriod / 5) * 5;
+ int index = listTime.IndexOf(this.pirConfigure.iasReportPeriod + miao);
+
+ //涓婃姤闂撮殧
+ var row3 = new FrameRowControl(listView.rowSpace / 2);
+ listView.AddChidren(row3);
+ var btnCaption3 = row3.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uReportTimeSpace), 400);
+ btnCaption3.TextSize = 15;
+ row3.AddRightArrow();
+ var btnStatu3 = row3.AddMostRightView(this.pirConfigure.iasReportPeriod + miao, 400);
+ row3.ButtonClickEvent += (sender, e) =>
+ {
+ PickerView.Show(listTime, (value) =>
+ {
+ this.isDataChanged = true;
+
+ btnStatu3.Text = listTime[value];
+ this.pirConfigure.iasReportPeriod = Convert.ToInt32(listTime[value].Replace(miao, string.Empty));
+
+ }, index == -1 ? 0 : index, btnCaption3.Text,
+ Language.StringByID(R.MyInternationalizationString.uFinish),
+ Language.StringByID(R.MyInternationalizationString.uCancel));
+ };
+ //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈�
+ if (Common.Config.Instance.Home.IsShowTemplate == true)
+ {
+ row3.CanClick = false;
+ }
+ }
+
+ #endregion
+
+ #region 鈻� 鑾峰彇鍒濆鏁版嵁_______________________
+
+ /// <summary>
+ /// 鑾峰彇鍒濆鏁版嵁
+ /// </summary>
+ /// <returns></returns>
+ private bool GetDeviceAllDefultData()
+ {
+ //鎵撳紑杩涘害鏉�
+ this.ShowProgressBar();
+
+ //鑾峰彇PIR浼犳劅鍣ㄧ殑銆愰厤缃俊鎭��
+ this.pirConfigure = HdlDevicePirSensorLogic.Current.GetPirSensorLightSettion(this.iASZone);
+ if (pirConfigure == null)
+ {
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar(ShowReLoadMode.YES);
+ return false;
+ }
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+
+ return true;
+ }
+
+ #endregion
+
+ #region 鈻� 鏁版嵁淇濆瓨___________________________
+
+ /// <summary>
+ /// 淇濆瓨Pir浼犳劅鍣ㄦ暟鎹�
+ /// </summary>
+ private void SavePirSensorData()
+ {
+ //鎵撳紑杩涘害鏉�
+ this.ShowProgressBar();
+ //淇濆瓨閰嶇疆淇℃伅
+ var result = HdlDevicePirSensorLogic.Current.SetPirSensorSettion(this.iASZone, this.pirConfigure);
+
+ //鍏抽棴杩涘害鏉�
+ this.CloseProgressBar();
+
+ if (result == true)
+ {
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鐣岄潰鍏抽棴
+ this.CloseForm();
+ });
+ }
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0