From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs | 1015 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,001 insertions(+), 14 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
index 704093f..d9ae722 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/FunctionBaseInfoSetPage.cs
@@ -1,7 +1,10 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
 using Newtonsoft.Json.Linq;
 using Shared;
 
@@ -36,6 +39,11 @@
         /// 鍚庨��鏃讹紝鍒锋柊涔嬪墠鐣岄潰鐨勬樉绀轰俊鎭�
         /// </summary>
         Action actionRefresh;
+
+        /// <summary>
+        /// 瑙g粦璁惧鍥炶皟
+        /// </summary>
+        public Action actionDel;
         #endregion
 
         public FunctionBaseInfoSetPage(Function func, Action action)
@@ -44,17 +52,34 @@
             function = func;
             actionRefresh = action;
         }
+
+        public override void RemoveFromParent()
+        {
+            new System.Threading.Thread(() =>
+            {
+                Application.RunOnMainThread(() =>
+                {
+                    actionRefresh?.Invoke();
+                });
+            })
+            { IsBackground = true }.Start();
+            base.RemoveFromParent();
+        }
+
         /// <summary>
         /// 鍔犺浇鐣岄潰
         /// </summary>
         public void LoadPage(bool locationSetting = true)
         {
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-            new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView(actionRefresh);
+            var topView = new TopViewDiv(bodyView, Language.StringByID(StringId.Setting));
+            topView.maginY = 10;
+            topView.LoadTopView();
+
 
             var contentView = new VerticalScrolViewLayout()
             {
-                Y = Application.GetRealHeight(64),
+                Y = Application.GetRealHeight(64+10),
                 Height = Application.GetRealHeight(600),
                 ScrollEnabled = false,
             };
@@ -100,15 +125,15 @@
             };
             nameView.AddChidren(btnEditName);
 
-            nameView.AddChidren(
-                new Button()
-                {
-                    Gravity = Gravity.CenterHorizontal,
-                    Y = Application.GetRealHeight(49),
-                    BackgroundColor = CSS_Color.DividingLineColor,
-                    Width = Application.GetRealWidth(343),
-                    Height = Application.GetRealHeight(1)
-                });
+            //nameView.AddChidren(
+            //    new Button()
+            //    {
+            //        Gravity = Gravity.CenterHorizontal,
+            //        Y = Application.GetRealHeight(49),
+            //        BackgroundColor = CSS_Color.DividingLineColor,
+            //        Width = Application.GetRealWidth(343),
+            //        Height = Application.GetRealHeight(1)
+            //    });
 
             #endregion
             if (locationSetting)
@@ -157,7 +182,6 @@
                     new Button()
                     {
                         Gravity = Gravity.CenterHorizontal,
-                        Y = Application.GetRealHeight(54),
                         BackgroundColor = CSS_Color.DividingLineColor,
                         Width = Application.GetRealWidth(343),
                         Height = Application.GetRealHeight(1)
@@ -165,13 +189,13 @@
                 #endregion
             }
             #region 鍏变韩
+
             //var sharedView = new FrameLayout()
             //{
             //    Height = Application.GetRealHeight(55),
             //    BackgroundColor = CSS_Color.MainBackgroundColor,
             //};
             //contentView.AddChidren(sharedView);
-
             //var btnSharedText = new Button()
             //{
             //    X = Application.GetRealWidth(16),
@@ -204,6 +228,350 @@
             //    });
             #endregion
 
+            #region 鍒犻櫎璁惧琛�  搴忓垪鍙� 鍨嬪彿
+            if (this.function.spk == SPK.VideoDoorLock)
+            {
+                contentView.AddChidren(new Button()
+                {
+                    Height = Application.GetRealWidth(8),
+                });
+
+                #region 寮�閿佽缃�
+                var unlockSettingView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(unlockSettingView);
+
+                //unlockSettingView.AddChidren(new Button
+                //{
+                //    Gravity = Gravity.CenterHorizontal,
+                //    BackgroundColor = CSS_Color.DividingLineColor,
+                //    Width = Application.GetRealWidth(343),
+                //    Height = Application.GetRealHeight(1)
+                //});
+
+                var unlockRightBtn = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/RightIcon.png",
+                };
+                unlockSettingView.AddChidren(unlockRightBtn);
+
+                var btnUnlockText = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.UnlockSetting,
+                };
+                unlockSettingView.AddChidren(btnUnlockText);
+
+                EventHandler<MouseEventArgs> unlockSettingEvent = (sender, e) =>
+                {
+                    var page = new UnlockSettingPage(function);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+                btnUnlockText.MouseUpEventHandler = unlockSettingEvent;
+                #endregion
+
+                #region 闊抽璁剧疆
+                var audioSetupView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(audioSetupView);
+
+                audioSetupView.AddChidren(new Button
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                });
+
+                var btnAudioSetupRight = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/RightIcon.png",
+                };
+                audioSetupView.AddChidren(btnAudioSetupRight);
+
+                var btnAudioSetupText = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.AudioSetup,
+                };
+                audioSetupView.AddChidren(btnAudioSetupText);
+                btnAudioSetupText.MouseUpEventHandler = (sender, e) => {
+                    var page = new VideoDoorlockAudioSetupPage(function);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+
+                };
+                #endregion
+
+                #region 鐢垫睜绠$悊
+                var batteryManagementView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(batteryManagementView);
+
+                batteryManagementView.AddChidren(new Button
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                });
+
+                var btnBatteryManagementRight = new Button()
+                {
+                    X = Application.GetRealWidth(339),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/RightIcon.png",
+                };
+                batteryManagementView.AddChidren(btnBatteryManagementRight);
+
+                var btnBatteryManagementText = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.BatteryManagement,
+                };
+                batteryManagementView.AddChidren(btnBatteryManagementText);
+                btnBatteryManagementText.MouseUpEventHandler = (sender, e) => {
+                    var page = new VideoDoorlockBatteryManagementPage();
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage();
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+
+               
+                #endregion
+
+                #region 搴忓垪鍙�
+                var serialView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(serialView);
+
+                var serialLineBtn = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                };
+                serialView.AddChidren(serialLineBtn);
+                var serialTextBtn = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.xuliehao,
+                };
+                serialView.AddChidren(serialTextBtn);
+                var serialValuesBtn = new Button()
+                {
+                    X = Application.GetRealWidth(106),
+                    Width = Application.GetRealWidth(237),
+                    TextAlignment = TextAlignment.CenterRight,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    Text = this.function.sid,
+                };
+                serialView.AddChidren(serialValuesBtn);
+                #endregion
+
+                #region 鍨嬪彿
+                var modelView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(modelView);
+
+                var modelLineBtn = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                };
+                modelView.AddChidren(modelLineBtn);
+                var modelTextBtn = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.xinghao,
+                };
+                modelView.AddChidren(modelTextBtn);
+                var modelValuesBtn = new Button()
+                {
+                    X = Application.GetRealWidth(106),
+                    Width = Application.GetRealWidth(237),
+                    TextAlignment = TextAlignment.CenterRight,
+                    TextColor = CSS_Color.PromptingColor1,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    Text = this.function.omodel,
+                };
+                modelView.AddChidren(modelValuesBtn);
+                #endregion
+
+                #region 鍒犻櫎璁惧琛�
+                contentView.AddChidren(new Button() {
+                    Height = Application.GetRealHeight(48),
+                });
+
+                var delTextBtn = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(220),
+                    Height = Application.GetRealWidth(44),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.WarningColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.DeleteDevice,
+                    Radius = (uint)Application.GetRealWidth(22),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(delTextBtn);
+
+                EventHandler<MouseEventArgs> ClickEvent = (sener, e) =>
+                {
+
+                    new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () =>
+                    {
+                        UI2.FuntionControlView.VideoDoorLock.VideDoorLockSend.Current.DelDevice(this.function, (isBool) =>
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                if (!isBool)
+                                {
+                                    new Tip()
+                                    {
+                                        CloseTime = 1,
+                                        Text = Language.StringByID(StringId.delFail),
+                                        Direction = AMPopTipDirection.None,
+                                    }.Show(bodyView);
+                                    return;
+                                }
+                                //鍒犻櫎鏈湴鏂囦欢                                  
+                                UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function);
+                                this.RemoveFromParent();
+                                this.actionDel?.Invoke();
+                            });
+
+                        });
+
+                    });
+                };
+                delTextBtn.MouseUpEventHandler = ClickEvent;
+
+                #endregion
+
+
+            }
+            #endregion
+
+            #region 鍒犻櫎娴蜂俊鐢佃璁惧 
+            if (this.function.spk == SPK.ElectricalTvHisense)
+            {
+                contentView.AddChidren(new Button()
+                {
+                    Height = Application.GetRealWidth(8),
+                });
+
+                #region 鍒犻櫎璁惧琛�
+                contentView.AddChidren(new Button()
+                {
+                    Height = Application.GetRealHeight(48),
+                });
+
+                var delTextBtn = new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(220),
+                    Height = Application.GetRealWidth(44),
+                    TextAlignment = TextAlignment.Center,
+                    TextColor = CSS_Color.WarningColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.jiebangshebei,
+                    Radius = (uint)Application.GetRealWidth(22),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                //濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+                if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+                {
+                    contentView.AddChidren(delTextBtn);
+                }
+
+
+                EventHandler<MouseEventArgs> ClickEvent = (sener, e) =>
+                {
+
+                    new HDL_ON.UI.Music.View.TipView().TipBox(-1, StringId.AreYouSureToDeleteThisDevice, () =>
+                    {
+                        HDL_ON.UI.UI2.FuntionControlView.HisenseTV.Send.Current.DelDevice(this.function.deviceId, (isBool) =>
+                            {
+                                Application.RunOnMainThread(() =>
+                                {
+                                    if (!isBool)
+                                    {
+                                        new Tip()
+                                        {
+                                            CloseTime = 1,
+                                            Text = Language.StringByID(StringId.delFail),
+                                            Direction = AMPopTipDirection.None,
+                                        }.Show(bodyView);
+                                        return;
+                                    }
+                                //鍒犻櫎鏈湴鏂囦欢                                  
+                                UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.DeleteFunction(this.function);
+                                    this.RemoveFromParent();
+                                    this.actionDel?.Invoke();
+                                });
+
+                            });
+
+                    });
+                };
+                delTextBtn.MouseUpEventHandler = ClickEvent;
+
+                #endregion
+
+
+            }
+            #endregion
 #if stage2
             #region 娣诲姞鍒版闈�
             var addToDesktopView = new FrameLayout()
@@ -277,7 +645,7 @@
                     new Button()
                     {
                         Gravity = Gravity.CenterHorizontal,
-                        Y = Application.GetRealHeight(54),
+                        //Y = Application.GetRealHeight(54),
                         BackgroundColor = CSS_Color.DividingLineColor,
                         Width = Application.GetRealWidth(343),
                         Height = Application.GetRealHeight(1)
@@ -358,9 +726,628 @@
                 #endregion
             }
 
+
+            else if (function.spk == SPK.HvacCac)
+            {
+
+
+                #region 闇茬偣娓╁害
+                if (function.GetAttribute(FunctionAttributeKey.dew_point_temp) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var row = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(row);
+
+                    var btnText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.DewPointTemp,
+                    };
+                    row.AddChidren(btnText);
+
+                    var btnValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.dew_point_temp) + "掳C",
+                    };
+                    row.AddChidren(btnValue);
+                }
+                #endregion
+
+
+                #region 琛ㄩ潰娓╁害
+                if (function.GetAttribute(FunctionAttributeKey.surface_temp) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var surfaceTempRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(surfaceTempRow);
+
+                    var btnSurfacaTempText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.SurfaceTemperature,
+                    };
+                    surfaceTempRow.AddChidren(btnSurfacaTempText);
+
+                    var btnSurfaceTempValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.surface_temp) + "掳C",
+                    };
+                    surfaceTempRow.AddChidren(btnSurfaceTempValue);
+                }
+                #endregion
+
+
+                #region 娓╁害鏍″噯
+                if (function.GetAttribute(FunctionAttributeKey.room_temp_cc) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var tempCCrow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(tempCCrow);
+
+                    var btnTempCcText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.TemperatureCalibration,
+                    };
+                    tempCCrow.AddChidren(btnTempCcText);
+
+                    var btnTempCcValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(335),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.room_temp_cc) + "掳C",
+                    };
+                    tempCCrow.AddChidren(btnTempCcValue);
+
+                    var btnRightTempCc = new Button()
+                    {
+                        X = Application.GetRealWidth(339),
+                        Gravity = Gravity.CenterVertical,
+                        Width = Application.GetMinRealAverage(16),
+                        Height = Application.GetMinRealAverage(16),
+                        UnSelectedImagePath = "Public/RightIcon.png",
+                    };
+                    tempCCrow.AddChidren(btnRightTempCc);
+
+                    btnTempCcValue.MouseUpEventHandler = (sender, e) =>
+                    {
+                        LoadEditDialog(-10, 10, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
+                        {
+                            btnTempCcValue.Text = reslut + "掳C";
+                            Dictionary<string, string> dic = new Dictionary<string, string>();
+                            dic.Add(FunctionAttributeKey.room_temp_cc, reslut);
+                            Control.Ins.SendWriteCommand(function, dic);
+                        });
+                    };
+                }
+                #endregion
+
+
+                #region 婀垮害鏍″噯
+                if (function.GetAttribute(FunctionAttributeKey.room_humidity_cc) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var humidityCCrow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(humidityCCrow);
+
+                    var btnHumidityCcText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.HumidityCalibration,
+                    };
+                    humidityCCrow.AddChidren(btnHumidityCcText);
+
+                    var btnHumidityCcValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(335),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        Text = function.GetAttrState(FunctionAttributeKey.room_humidity_cc) + "%",
+                    };
+                    humidityCCrow.AddChidren(btnHumidityCcValue);
+
+
+                    var btnRightHumidityCc = new Button()
+                    {
+                        X = Application.GetRealWidth(339),
+                        Gravity = Gravity.CenterVertical,
+                        Width = Application.GetMinRealAverage(16),
+                        Height = Application.GetMinRealAverage(16),
+                        UnSelectedImagePath = "Public/RightIcon.png",
+                    };
+                    humidityCCrow.AddChidren(btnRightHumidityCc);
+
+                    btnHumidityCcValue.MouseUpEventHandler = (sender, e) =>
+                    {
+                        LoadEditDialog(-20, 20, Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.room_humidity_cc)), (reslut) =>
+                        {
+                            btnHumidityCcValue.Text = reslut + "%";
+                            Dictionary<string, string> dic = new Dictionary<string, string>();
+                            dic.Add(FunctionAttributeKey.room_humidity_cc, reslut);
+                            Control.Ins.SendWriteCommand(function, dic);
+                        });
+                    };
+
+                }
+                #endregion
+
+
+                #region 姣涚粏闃�闂�
+                if (function.GetAttribute(FunctionAttributeKey.cac_valve) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var cacValveRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(cacValveRow);
+
+                    var btnCacValveText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.CapillaryValve,
+                    };
+                    cacValveRow.AddChidren(btnCacValveText);
+
+                    var btnCacValvaValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        TextID = function.GetAttrState(FunctionAttributeKey.cac_valve) == "on"? StringId.On:StringId.OFF,
+                    };
+                    cacValveRow.AddChidren(btnCacValvaValue);
+                }
+                #endregion
+
+                #region 鍦版殩闃�闂�
+                if (function.GetAttribute(FunctionAttributeKey.fh_valve) != null)
+                {
+                    contentView.AddChidren(new Button
+                    {
+                        Height = Application.GetRealHeight(10),
+                    });
+
+                    var fhValveRow = new FrameLayout()
+                    {
+                        Height = Application.GetRealHeight(55),
+                        BackgroundColor = CSS_Color.MainBackgroundColor,
+                    };
+                    contentView.AddChidren(fhValveRow);
+
+                    var btnFhValveText = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Width = Application.GetRealWidth(260),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        TextID = StringId.FloorHeatingValve,
+                    };
+                    fhValveRow.AddChidren(btnFhValveText);
+
+                    var btnFhValvaValue = new Button()
+                    {
+                        Width = Application.GetRealWidth(355),
+                        TextAlignment = TextAlignment.CenterRight,
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.TextFontSize,
+                        TextID = function.GetAttrState(FunctionAttributeKey.fh_valve) == "on"? StringId.On:StringId.OFF,
+                    };
+                    fhValveRow.AddChidren(btnFhValvaValue);
+                }
+                #endregion
+
+
+
+            }
+
+            else if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose)
+            {
+                contentView.AddChidren(new Button
+                {
+                    Height = Application.GetRealHeight(8),
+                });
+                #region 鎺ㄩ�佸紑鍏�
+                var viewRow0 = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(viewRow0);
+
+
+                var btnRowTitle0 = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.AlarmFunction,
+                };
+                viewRow0.AddChidren(btnRowTitle0);
+
+                var btnSwtichIcon0 = new Button()
+                {
+                    X = Application.GetRealWidth(322),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(36),
+                    Height = Application.GetMinRealAverage(36),
+                    UnSelectedImagePath = "Public/Switch_2.png",
+                    SelectedImagePath = "Public/SwitchOn_2.png",
+                };
+                viewRow0.AddChidren(btnSwtichIcon0);
+
+                DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
+                {
+                    deviceId = function.deviceId
+                };
+
+                btnSwtichIcon0.MouseUpEventHandler = (sender, e) => {
+                    var push = btnSwtichIcon0.IsSelected = !btnSwtichIcon0.IsSelected;
+                    new System.Threading.Thread(() => {
+                        var result = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId, deviceMessageRules.conditionIdentify, push);//璁剧疆鎺ㄩ�佷俊鎭�
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (result != null && result.Code == StateCode.SUCCESS)
+                            {
+                                    deviceMessageRules.push = push;
+                            }
+                            else
+                            {
+                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
+                            }
+                        });
+                    })
+                    { IsBackground = true }.Start();
+                };
+
+
+                Loading waitView = new Loading();
+                viewRow0.AddChidren(waitView);
+                new System.Threading.Thread(() => {
+                    Application.RunOnMainThread(() => {
+                        waitView.Start("");
+                    });
+                    var result = new HttpServerRequest().GetDeviceMessageRulesSet(function.deviceId);
+                    //var result1 = new HttpServerRequest().DeviceMessageRulesSet(function.deviceId);//璁剧疆鎺ㄩ�佷俊鎭�
+                    Application.RunOnMainThread(() =>
+                    {
+                        if (result != null && result.Code == StateCode.SUCCESS && result.Data != null)
+                        {
+                            var data = Newtonsoft.Json.JsonConvert.DeserializeObject<List<DeviceMessageRules>>(result.Data.ToString());
+                            if (data.Count > 0)
+                            {
+                                deviceMessageRules = data[0];
+                                btnSwtichIcon0.IsSelected = deviceMessageRules.push;
+                            }
+                        }
+                        else
+                        {
+                            btnSwtichIcon0.IsSelected = false;
+                        }
+                        waitView.Hide();
+                        waitView.RemoveFromParent();
+                    });
+                })
+                { IsBackground = true }.Start();
+
+                viewRow0.AddChidren(new Button()
+                {
+                    Gravity = Gravity.CenterHorizontal,
+                    Y = Application.GetRealHeight(54),
+                    BackgroundColor = CSS_Color.DividingLineColor,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(1)
+                });
+                #endregion
+
+                #region 婕旂ず妯″紡
+                var viewRow = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(55),
+                    BackgroundColor = CSS_Color.MainBackgroundColor,
+                };
+                contentView.AddChidren(viewRow);
+
+
+                var btnRowTitle = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Width = Application.GetRealWidth(160),
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.SubheadingFontSize,
+                    TextID = StringId.LaboratoryMode,
+                };
+                viewRow.AddChidren(btnRowTitle);
+
+                var btnSwtichIcon = new Button()
+                {
+                    X = Application.GetRealWidth(322),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(36),
+                    Height = Application.GetMinRealAverage(36),
+                    UnSelectedImagePath = "Public/Switch_2.png",
+                    SelectedImagePath = "Public/SwitchOn_2.png",
+                    IsSelected = function.extSet.labModel
+                };
+                viewRow.AddChidren(btnSwtichIcon);
+
+                btnSwtichIcon.MouseUpEventHandler = (sender, e) =>
+                {
+                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                    new System.Threading.Thread(() =>
+                    {
+                        var result = new HttpServerRequest().DeviceExtSet(function.deviceId, function.extSet);
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (result != null && result.Code == StateCode.SUCCESS)
+                            {
+                                if (Convert.ToBoolean( result.Data ))
+                                {
+                                    function.extSet.labModel = btnSwtichIcon.IsSelected;
+                                }
+                                else
+                                {
+                                    btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                                }
+                            }
+                            else
+                            {
+                                btnSwtichIcon.IsSelected = function.extSet.labModel = !btnSwtichIcon.IsSelected;
+                            }
+                        });
+                    })
+                    { IsBackground = true }.Start();
+                };
+
+                #endregion
+
+            }
+
+            //else if(function.spk == SPK.LightRGB)
+            //{
+            //    contentView.AddChidren(new Button
+            //    {
+            //        Height = Application.GetRealHeight(8),
+            //    });
+
+            //    var list = FunctionList.List.GetSeries();
+            //    foreach (var temp in list)
+            //    {
+
+            //        #region 
+            //        var viewRow0 = new FrameLayout()
+            //        {
+            //            Height = Application.GetRealHeight(55),
+            //            BackgroundColor = CSS_Color.MainBackgroundColor,
+            //        };
+            //        contentView.AddChidren(viewRow0);
+
+
+            //        var btnRowTitle0 = new Button()
+            //        {
+            //            X = Application.GetRealWidth(16),
+            //            Width = Application.GetRealWidth(160),
+            //            TextAlignment = TextAlignment.CenterLeft,
+            //            TextColor = CSS_Color.FirstLevelTitleColor,
+            //            TextSize = CSS_FontSize.SubheadingFontSize,
+            //            Text = temp.name,
+            //        };
+            //        viewRow0.AddChidren(btnRowTitle0);
+
+            //        var btnSwtichIcon0 = new Button()
+            //        {
+            //            X = Application.GetRealWidth(322),
+            //            Gravity = Gravity.CenterVertical,
+            //            Width = Application.GetMinRealAverage(36),
+            //            Height = Application.GetMinRealAverage(36),
+            //            UnSelectedImagePath = "Public/Switch_2.png",
+            //            SelectedImagePath = "Public/SwitchOn_2.png",
+            //        };
+            //        viewRow0.AddChidren(btnSwtichIcon0);
+
+            //        DeviceMessageRules deviceMessageRules = new DeviceMessageRules()
+            //        {
+            //            deviceId = function.deviceId
+            //        };
+
+            //        btnSwtichIcon0.MouseUpEventHandler = (sender, e) =>
+            //        {
+
+            //        };
+
+            //        viewRow0.AddChidren(new Button()
+            //        {
+            //            Gravity = Gravity.CenterHorizontal,
+            //            Y = Application.GetRealHeight(54),
+            //            BackgroundColor = CSS_Color.DividingLineColor,
+            //            Width = Application.GetRealWidth(343),
+            //            Height = Application.GetRealHeight(1)
+            //        });
+            //        #endregion
+            //    }
+
+            //}
+
             LoadEventList();
         }
 
 
+
+        /// <summary>
+        /// 鍔犺浇閫夋嫨寮圭獥
+        /// </summary>
+        void LoadEditDialog(int min ,int max,int curValue,Action<string> action)
+        {
+
+            List<string> pickerItems = new List<string>();
+
+            Dialog dialog = new Dialog();
+
+            var pView = new FrameLayout()
+            {
+                BackgroundColor = CSS_Color.DialogTransparentColor1,
+            };
+            dialog.AddChidren(pView);
+
+            var optionBaseView = new FrameLayout()
+            {
+                Y = Application.GetRealHeight(456 - 60),
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(260),
+                AnimateSpeed = 0.3f,
+                Animate = Animate.DownToUp,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            pView.AddChidren(optionBaseView);
+
+            var topView = new FrameLayout()
+            {
+                Gravity = Gravity.CenterHorizontal,
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealHeight(40),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            optionBaseView.AddChidren(topView);
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+
+            var btnCancel = new Button()
+            {
+                X = Application.GetRealWidth(21),
+                Width = Application.GetRealWidth(100),
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Cancel,
+            };
+            topView.AddChidren(btnCancel);
+
+            var btnConfrim = new Button()
+            {
+                X = Application.GetRealWidth(160),
+                Width = Application.GetRealWidth(160),
+                TextAlignment = TextAlignment.CenterRight,
+                TextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                TextID = StringId.Confirm,
+            };
+            topView.AddChidren(btnConfrim);
+
+            UIPickerView uIPickerView = new UIPickerView()
+            {
+                Y = Application.GetRealHeight(40),
+                Height = Application.GetRealHeight(210),
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            for (int i = min; i <= max; i += 1)
+            {
+                pickerItems.Add(i.ToString());
+            }
+            uIPickerView.setNPicker(pickerItems, null, null);
+            optionBaseView.AddChidren(uIPickerView);
+            uIPickerView.setCurrentItems(pickerItems.IndexOf(curValue.ToString()), 4, 5);
+
+            string selectItem = pickerItems[0];
+            if (pickerItems.Contains(curValue.ToString()))
+            {
+                selectItem = curValue.ToString();
+            }
+
+            dialog.Show();
+
+            pView.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+
+            btnCancel.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+            };
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+                selectItem = pickerItems[int1];
+            };
+            btnConfrim.MouseUpEventHandler = (sender, e) => {
+                dialog.Close();
+                action?.Invoke(selectItem);
+            };
+
+        }
+
+
+
     }
 }

--
Gitblit v1.8.0