From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期二, 30 八月 2022 09:37:38 +0800
Subject: [PATCH] 合并了IOS的代码

---
 ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectHangerForm.cs |  306 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 306 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectHangerForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectHangerForm.cs
new file mode 100644
index 0000000..6441872
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Safety/AlarmTargetStatuSelectHangerForm.cs
@@ -0,0 +1,306 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Text;
+using ZigBee.Device;
+
+namespace Shared.Phone.UserCenter.Safety
+{
+    /// <summary>
+    /// 鏅捐。鏋剁被鐨勫畨闃叉姤璀﹁缃晫闈�
+    /// </summary>
+    public class AlarmTargetStatuSelectHangerForm : DialogCommonForm
+    {
+        #region 鈻� 鍙橀噺澹版槑___________________________
+
+        /// <summary>
+        /// 缁撴潫閫夋嫨鐨勪簨浠�(key:鍏ㄩ儴鐘舵�佺殑缈昏瘧鏂囨湰)
+        /// </summary>
+        public Action<string, List<Safeguard.TaskListInfo>> FinishSelectEvent = null;
+        /// <summary>
+        /// 鍔ㄤ綔淇℃伅
+        /// </summary>
+        private List<Safeguard.TaskListInfo> listTaskinfo = new List<Safeguard.TaskListInfo>();
+
+        #endregion
+
+        #region 鈻� 鍒濆鍖朹____________________________
+
+        /// <summary>
+        /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+        /// </summary>
+        /// <param name="device"></param>
+        /// <param name="i_listTaskInfo"></param>
+        public void ShowForm(CommonDevice device, List<Safeguard.TaskListInfo> i_listTaskInfo)
+        {
+            if (i_listTaskInfo != null)
+            {
+                foreach (var data in i_listTaskInfo)
+                {
+                    //浠ラ槻涓囦竴,鍓旈櫎涓嶅悎娉曟暟鎹�
+                    if (data.TaskType == 1 || data.TaskType == 6)
+                    {
+                        listTaskinfo.Add(data);
+                    }
+                }
+            }
+
+            //鍒濆鍖栦腑閮ㄤ俊鎭�
+            this.InitMiddleFrame(device);
+        }
+
+        /// <summary>
+        /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+        /// </summary>
+        private void InitMiddleFrame(CommonDevice device)
+        {
+            //澶撮儴鑳屾櫙
+            var frameTopBack = new FrameLayout();
+            frameTopBack.Y = Application.GetRealHeight(1207);
+            frameTopBack.Height = Application.GetRealHeight(138);
+            frameTopBack.BackgroundColor = UserCenterColor.Current.White;
+            frameTopBack.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight);
+            bodyFrameLayout.AddChidren(frameTopBack);
+
+            //鏄庣粏鑳屾櫙
+            var frameDetailBack = new FrameLayout();
+            frameDetailBack.Y = frameTopBack.Bottom;
+            frameDetailBack.Height = bodyFrameLayout.Height - frameTopBack.Bottom;
+            frameDetailBack.BackgroundColor = UserCenterColor.Current.White;
+            bodyFrameLayout.AddChidren(frameDetailBack);
+
+            //绾�
+            var btnLine = new NormalViewControl(bodyFrameLayout.Width, ControlCommonResourse.BottomLineHeight, false);
+            btnLine.Y = frameTopBack.Bottom;
+            btnLine.BackgroundColor = UserCenterColor.Current.ButtomLine;
+            bodyFrameLayout.AddChidren(btnLine);
+
+            var listHeight = new List<string>();
+            listHeight.Add(Language.StringByID(R.MyInternationalizationString.uNotAction));//鏃犲姩浣�
+            //杩欓噷鐢ㄧ殑鏄�1绔偣
+            listHeight.Add(Language.StringByID(R.MyInternationalizationString.uTheHighestPoint));//鏈�楂樺
+            listHeight.Add(Language.StringByID(R.MyInternationalizationString.uTheLowestPoint));//鏈�浣庡
+
+            var listDry = new List<string>();
+            listDry.Add(Language.StringByID(R.MyInternationalizationString.uNotAction));//鏃犲姩浣�
+            //杩欓噷鐢ㄧ殑鏄�3绔偣
+            listDry.Add(Language.StringByID(R.MyInternationalizationString.uOpenAirdry));//鎵撳紑椋庡共
+            listDry.Add(Language.StringByID(R.MyInternationalizationString.uCloseAirdry));//鍏抽棴椋庡共
+            //杩欓噷鐢ㄧ殑鏄�4绔偣
+            listDry.Add(Language.StringByID(R.MyInternationalizationString.uOpenDry));//鎵撳紑鐑樺共
+            listDry.Add(Language.StringByID(R.MyInternationalizationString.uCloseDry));//鍏抽棴鐑樺共
+
+            var pikView1 = new UIPickerView();
+            pikView1.Y = Application.GetRealHeight(100);
+            pikView1.Width = bodyFrameLayout.Width / 2;
+            pikView1.Height = Application.GetRealHeight(280);
+            pikView1.TextSize = 14;
+            pikView1.setNPicker(listHeight, listDry, null);
+            frameDetailBack.AddChidren(pikView1);
+            var listDisinfect = new List<string>();
+            listDisinfect.Add(Language.StringByID(R.MyInternationalizationString.uNotAction));//鏃犲姩浣�
+            //杩欓噷鐢ㄧ殑鏄�5绔偣
+            listDisinfect.Add(Language.StringByID(R.MyInternationalizationString.uOpenDisinfect));//鎵撳紑娑堟瘨
+            listDisinfect.Add(Language.StringByID(R.MyInternationalizationString.uCloseDisinfect));//鍏抽棴娑堟瘨
+
+            var listLight = new List<string>();
+            //杩欓噷鐢ㄧ殑鏄�2绔偣
+            listLight.Add(Language.StringByID(R.MyInternationalizationString.uNotAction));//鏃犲姩浣�
+            listLight.Add(Language.StringByID(R.MyInternationalizationString.uOpenLighting));//鎵撳紑鐓ф槑
+            listLight.Add(Language.StringByID(R.MyInternationalizationString.uCloseLighting));//鍏抽棴鐓ф槑
+
+            var pikView2 = new UIPickerView();
+            pikView2.Y = Application.GetRealHeight(100);
+            pikView2.X = pikView1.Right;
+            pikView2.TextSize = 14;
+            pikView2.Height = Application.GetRealHeight(280);
+            pikView2.Width = bodyFrameLayout.Width / 2;
+            pikView2.setNPicker(listDisinfect, listLight, null);
+            frameDetailBack.AddChidren(pikView2);
+
+            //璁剧疆鍒濆閫夋嫨
+            var listDefultSelect = new List<int> { 0, 0, 0, 0 };
+            this.SetDefultSelect(pikView1, pikView2, ref listDefultSelect);
+
+            pikView1.OnSelectChangeEvent = (value1, value2, value3) =>
+            {
+                //鏇存敼绱㈠紩
+                listDefultSelect[0] = value1;
+                listDefultSelect[1] = value2;
+            };
+
+            pikView2.OnSelectChangeEvent = (value1, value2, value3) =>
+            {
+                //鏇存敼绱㈠紩
+                listDefultSelect[2] = value1;
+                listDefultSelect[3] = value2;
+            };
+
+            //澶撮儴淇℃伅
+            var btnTitle = new NormalViewControl(frameTopBack.Width, Application.GetRealHeight(65), false);
+            btnTitle.Y = Application.GetRealHeight(34);
+            btnTitle.Text = Common.LocalDevice.Current.GetDeviceEpointName(device);
+            btnTitle.TextColor = UserCenterColor.Current.TextColor4;
+            btnTitle.TextSize = 16;
+            btnTitle.TextAlignment = TextAlignment.Center;
+            frameTopBack.AddChidren(btnTitle);
+
+            //鍙栨秷
+            var btnCancel = new NormalViewControl(Application.GetRealWidth(200), frameTopBack.Height, false);
+            btnCancel.X = Application.GetRealWidth(81);
+            btnCancel.TextColor = UserCenterColor.Current.TextGrayColor1;
+            btnCancel.TextID = R.MyInternationalizationString.uCancel;
+            frameTopBack.AddChidren(btnCancel);
+            btnCancel.ButtonClickEvent += (sender, e) =>
+            {
+                this.CloseForm();
+            };
+
+            //瀹屾垚
+            var btnFinish = new NormalViewControl(Application.GetRealWidth(200), frameTopBack.Height, false);
+            btnFinish.X = frameTopBack.Width - btnCancel.X - Application.GetRealWidth(200);
+            btnFinish.TextAlignment = TextAlignment.CenterRight;
+            btnFinish.TextColor = 0xfffb744a;
+            btnFinish.TextID = R.MyInternationalizationString.uFinish;
+            frameTopBack.AddChidren(btnFinish);
+            btnFinish.ButtonClickEvent += (sender, e) =>
+            {
+                //鍒涘缓鍔ㄤ綔鍒楄〃淇℃伅
+                var listData = this.CreatTaskListInfo(listDefultSelect);
+
+                //鑾峰彇鐘舵�佺殑鏄剧ず鏂囨湰
+                string statuText = HdlSafeguardLogic.Current.GetAdjustTargetStatuText(listData);
+                this.FinishSelectEvent?.Invoke(statuText, listData);
+
+                this.CloseForm();
+            };
+        }
+
+        #endregion
+
+        #region 鈻� 鐣岄潰鍏抽棴___________________________
+
+        /// <summary>
+        /// 鐣岄潰鍏抽棴
+        /// </summary>
+        public override void CloseFormBefore()
+        {
+            this.FinishSelectEvent = null;
+            base.CloseFormBefore();
+        }
+
+        #endregion
+
+        #region 鈻� 涓�鑸柟娉昣__________________________
+
+        /// <summary>
+        ///  鍒涘缓鍔ㄤ綔鍒楄〃淇℃伅
+        /// </summary>
+        /// <param name="i_listSelect"></param>
+        /// <returns></returns>
+        private List<Safeguard.TaskListInfo> CreatTaskListInfo(List<int> i_listSelect)
+        {
+            var listData = new List<Safeguard.TaskListInfo>();
+            //鏈�楂樻渶浣庡
+            if (i_listSelect[0] != 0)
+            {
+                var data = new Safeguard.TaskListInfo();
+                data.Epoint = 1;
+                data.TaskType = 6;
+                data.Data1 = i_listSelect[0] == 1 ? 1 : 0;
+                listData.Add(data);
+            }
+            //椋庡共 鐑樺共
+            if (i_listSelect[1] != 0)
+            {
+                var data = new Safeguard.TaskListInfo();
+                data.TaskType = 1;
+                if (i_listSelect[1] == 1)
+                {
+                    //椋庡共寮�
+                    data.Epoint = 3;
+                    data.Data1 = 1;
+                }
+                else if (i_listSelect[1] == 2)
+                {
+                    //椋庡共鍏�
+                    data.Epoint = 3;
+                    data.Data1 = 0;
+                }
+                else if (i_listSelect[1] == 3)
+                {
+                    //鐑樺共寮�
+                    data.Epoint = 4;
+                    data.Data1 = 1;
+                }
+                else if (i_listSelect[1] == 4)
+                {
+                    //鐑樺共鍏�
+                    data.Epoint = 4;
+                    data.Data1 = 0;
+                }
+                listData.Add(data);
+            }
+            //娑堟瘨
+            if (i_listSelect[2] != 0)
+            {
+                var data = new Safeguard.TaskListInfo();
+                data.Epoint = 5;
+                data.TaskType = 1;
+                data.Data1 = i_listSelect[2] == 1 ? 1 : 0;
+                listData.Add(data);
+            }
+            //鐓ф槑
+            if (i_listSelect[3] != 0)
+            {
+                var data = new Safeguard.TaskListInfo();
+                data.Epoint = 2;
+                data.TaskType = 1;
+                data.Data1 = i_listSelect[3] == 1 ? 1 : 0;
+                listData.Add(data);
+            }
+            return listData;
+        }
+
+        /// <summary>
+        /// 璁剧疆鍒濆閫夋嫨
+        /// </summary>
+        /// <param name="pikView1"></param>
+        /// <param name="pikView2"></param>
+        private void SetDefultSelect(UIPickerView pikView1, UIPickerView pikView2, ref List<int> listDefult)
+        {
+            foreach (var data in this.listTaskinfo)
+            {
+                //鏈�楂樻渶浣庡
+                if (data.Epoint == 1)
+                {
+                    listDefult[0] = data.Data1 == 0 ? 1 : 2;
+                }
+                //椋庡共
+                else if (data.Epoint == 3)
+                {
+                    listDefult[1] = data.Data1 == 1 ? 1 : 2;
+                }
+                //鐑樺共
+                else if (data.Epoint == 4)
+                {
+                    listDefult[1] = data.Data1 == 1 ? 3 : 4;
+                }
+                //娑堟瘨
+                else if (data.Epoint == 5)
+                {
+                    listDefult[2] = data.Data1 == 1 ? 1 : 2;
+                }
+                //鐓ф槑
+                else if (data.Epoint == 2)
+                {
+                    listDefult[3] = data.Data1 == 1 ? 1 : 2;
+                }
+            }
+            //璁剧疆榛樿閫夋嫨
+            pikView1.setCurrentItems(listDefult[0], listDefult[1], -1);
+            pikView2.setCurrentItems(listDefult[2], listDefult[3], -1);
+        }
+
+        #endregion
+    }
+}

--
Gitblit v1.8.0