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