mac
2024-07-25 3f6685c77beeb12baf840733fb890860f4c26e7c
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddOutputPage.cs
@@ -51,13 +51,15 @@
        public void LoadPage()
        {
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            new TopViewDiv(bodyView, Language.StringByID(StringId.AddFunction)).LoadTopView();
            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.AddFunction));
            topView.maginY = 10;
            topView.LoadTopView();
            #region 显示的功能类型切换区域
            showdFunctionTypeRow = new FrameLayout()
            {
                Y = Application.GetRealHeight(64),
                Height = Application.GetRealHeight(62),
                Y = Application.GetRealHeight(64+10),
                Height = Application.GetRealHeight(53),
                BackgroundColor = CSS_Color.MainBackgroundColor,
            };
            bodyView.AddChidren(showdFunctionTypeRow);
@@ -87,12 +89,21 @@
            showdFunctionTypeRow.AddChidren(btnFloor);
            LoadDialog_ChangeFloor();
            showdFunctionTypeRow.AddChidren(new Button()
            {
                Height = 1,
                Y = Application.GetRealHeight(52),
                BackgroundColor = CSS_Color.DividingLineColor
            });
            #endregion
            functionListView = new VerticalScrolViewLayout()
            {
                Y = showdFunctionTypeRow.Bottom,
                Height = Application.GetRealHeight(530 - 100),
                Height = Application.GetRealHeight(530-60-10),
                BackgroundColor = CSS_Color.BackgroundColor,
            };
            bodyView.AddChidren(functionListView);
@@ -157,7 +168,7 @@
                tempStatus.Add(new SecurityOutputStatus() { key = FunctionAttributeKey.OnOff, value = "on" });
                allocatedList.Add(new SecurityOutput
                {
                    target_type = "0",
                    target_type = "1",
                    sid = function.sid,
                    status = tempStatus,
                    name = function.name,
@@ -184,7 +195,7 @@
                tempStatus.Add(new SecurityOutputStatus() { key = "value", value = "0" });
                allocatedList.Add(new SecurityOutput
                {
                    target_type = "1",
                    target_type = "2",
                    sid = scene.sid,
                    status = tempStatus,
                    name = scene.name,
@@ -204,20 +215,12 @@
            functionListView.RemoveAll();
            foreach (var function in allocatedList)
            {
                var output = alarm.output.Find((obj) => obj.sid == function.sid);
                if (output == null)
                {
                    output = new SecurityOutput();
                    //{
                    //    status = new List<SecurityOutputStatus> { new SecurityOutputStatus {
                    //             key = FunctionAttributeKey.OnOff,
                    //             value = "on"
                    //        }
                    //    }
                    //};
                    output.sid = function.sid;
                }
                //var output = alarm.output.Find((obj) => obj.sid == function.sid);
                //if (output == null)
                //{
                //    output = new SecurityOutput();
                //    output.sid = function.sid;
                //}
                FrameLayout functionRow = new FrameLayout()
                {
@@ -257,7 +260,7 @@
                    TextAlignment = TextAlignment.CenterRight,
                    TextSize = CSS_FontSize.TextFontSize,
                    TextColor = CSS_Color.PromptingColor1,
                    Text = output.StateText()
                    Text = function.StateText()
                };
                functionRow.AddChidren(btnState);
@@ -275,36 +278,43 @@
                btnChooseIcon.MouseUpEventHandler = (sender, e) => {
                    btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
                    var tempLocal = alarm.output.Find((obj) =>
                        obj.sid == output.sid
                        obj.sid == function.sid
                    );
                    if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
                    {
                        ShowStateDialog(output, btnState, btnChooseIcon);
                    }
                    //if (tempLocal == null && !string.IsNullOrEmpty(output.spk))
                    //{
                    //    ShowStateDialog(output, btnState, btnChooseIcon);
                    //}
                    if (btnChooseIcon.IsSelected)
                    {
                        if (tempLocal == null)
                            alarm.output.Add(output);
                            alarm.output.Add(function);
                        ShowStateDialog(function, btnState, btnChooseIcon);
                    }
                    else
                    {
                        if (tempLocal != null)
                        {
                            alarm.output.Remove(output);
                            alarm.output.Remove(function);
                        }
                    }
                };
                btnState.MouseUpEventHandler = (sender, e) =>
                {
                    ShowStateDialog(output, btnState, btnChooseIcon);
                    btnChooseIcon.IsSelected = true;
                    var tempLocal = alarm.output.Find((obj) =>
                        obj.sid == function.sid
                    );
                    if (tempLocal == null)
                        alarm.output.Add(function);
                    ShowStateDialog(function, btnState, btnChooseIcon);
                };
                var localOutput = alarm.output.Find((obj) => obj.sid == output.sid);
                var localOutput = alarm.output.Find((obj) => obj.sid == function.sid);
                if (localOutput != null)
                {
                    btnChooseIcon.IsSelected = true;
                    btnState.Text = output.StateText();
                    btnState.Text = function.StateText();
                }
@@ -394,6 +404,7 @@
                TextID = StringId.Cancel,
                TextColor = CSS_Color.WarningColor,
                IsBold = true,
                TextSize = CSS_FontSize.SubheadingFontSize,
            };
            contentView.AddChidren(btnCancel);