wjc
2023-08-09 44d6b49d86f8c531cbed718a8c109f3bc2db2177
HDL_ON/UI/UI2/FuntionControlView/Aks/SxqPage.cs
@@ -9,6 +9,8 @@
using HDL_ON.UI.UI2.Intelligence.Automation;
using System.Linq;
using HDL_ON.UI.UI2.FuntionControlView.Aks.CommonView;
using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity;
using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
namespace HDL_ON.UI.UI2.FuntionControlView.Aks
{
@@ -28,8 +30,24 @@
        public VerticalScrolViewLayout vv;
        public SxqPage()
        /// <summary>
        /// 时序器列表
        /// </summary>
        private List<SequencerEntity> sequencerList;
        /// <summary>
        /// 设备id
        /// </summary>
        private string deviceId;
        /// <summary>
        ///
        /// </summary>
        /// <param name="sequencerList">时序器列表</param>
        /// <param name="deviceId">设备id</param>
        public SxqPage(List<SequencerEntity> sequencerList, string deviceId)
        {
            this.sequencerList = sequencerList;
            this.deviceId = deviceId;
        }
        public void Show()
        {
@@ -68,17 +86,20 @@
            this.AddChidren(vv);
            BaseFramLayout fLayout = new BaseFramLayout();
            this.vv.AddChidren(fLayout);
            var mList = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 };
            int line = 0;
            int xCount = 0;
            int rowNumber = 4;
            for (int i = 1; i <= mList.Count; i++)
            var list1 = this.sequencerList.FindAll((o) => o.type == 1);
            for (int i = 1; i <= list1.Count; i++)
            {
                var sequencer = list1[i - 1];
                VerticalBoutonFLayout buttonFram = new VerticalBoutonFLayout();
                buttonFram.AddView(fLayout);
                buttonFram.Tag = i - 1;
                buttonFram.Tag = sequencer;
                buttonFram.Y = Application.GetRealWidth(16)+ Application.GetRealHeight((VerticalBoutonFLayout.heightFrameLayout+16) * line);
                buttonFram.X = Application.GetRealWidth(16) + Application.GetRealWidth((VerticalBoutonFLayout.widthFrameLayout+8) * xCount);
                buttonFram.btnName.Text = sequencer.name;
                xCount++;
                if (i % rowNumber == 0)
                {
@@ -87,21 +108,29 @@
                }
                buttonFram.SetONClickListener((fl, btn) =>
                {
                    //action.Invoke((int)buttonFram.Tag);
                    if (buttonFram.Tag != null || buttonFram.Tag is SequencerEntity)
                    {
                        var sequ = (SequencerEntity)buttonFram.Tag;
                        SequencerControlExecute(sequ.seqId, "on");
                    }
                });
                buttonFram.SetOFFClickListener((fl, btn) =>
                {
                    //action.Invoke((int)buttonFram.Tag);
                    if (buttonFram.Tag != null || buttonFram.Tag is SequencerEntity)
                    {
                        var sequ = (SequencerEntity)buttonFram.Tag;
                        SequencerControlExecute(sequ.seqId, "off");
                    }
                });
            }
            fLayout.AdjustRealHeight(16);
            List<string> list = new List<string>() {
             "A","B","C","D"
            };
            for (int i = 0; i < list.Count; i++)
            var list2 = this.sequencerList.FindAll((o) => o.type == 2);
            for (int i = 0; i < list2.Count; i++)
            {
                Button btnName = new Button
                {
@@ -112,9 +141,26 @@
                    TextSize = TextSize.Text14,
                    TextColor = MusicColor.TextColor,
                    TextAlignment = TextAlignment.Center,
                    Text = list[i],
                    Text = list2[i].name,
                    BackgroundColor = MusicColor.ViewColor,
                    SelectedBackgroundColor = MusicColor.MusicTxet14SelectedColor,
                    Radius = (uint)Application.GetRealHeight(12),
                    Padding=new Padding(0,5,0,5),
                    Tag = list2[i]
                };
                btnName.MouseDownEventHandler += (sen, e) =>
                {
                    btnName.IsSelected = true;
                    if (btnName.Tag != null || btnName.Tag is SequencerEntity)
                    {
                        var sequ = (SequencerEntity)btnName.Tag;
                        SequencerControlExecute(sequ.seqId, "on");
                    }
                };
                btnName.MouseUpEventHandler += (sen, e) =>
                {
                    btnName.IsSelected = false;
                    //弹起颜色
                };
                fLayout.AddChidren(btnName);
            }
@@ -131,5 +177,19 @@
                this.RemoveFromParent();
            };
        }
        /// <summary>
        /// 时序器指令发送
        /// </summary>
        /// <param name="seqId">时序器id</param>
        /// <param name="onOff">时序器开关</param>
        private void SequencerControlExecute(string seqId, string onOff)
        {
            CommonMethod.Current.SunThread(() =>
            {
                SendMethod.Current.SequencerExecute(this.deviceId, seqId, onOff);
            });
        }
    }
}