From 02498f7744e6fdc413e518f96b25f3635540dc6b Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 15 十一月 2022 11:27:38 +0800
Subject: [PATCH] 金茂科技系统更新

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs |  236 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 136 insertions(+), 100 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 8f2b256..714191b 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -16,7 +16,8 @@
     {
         static AcstParentPage basePage;
 
-        VerticalScrolViewLayout bodyView;
+        VerticalScrolViewLayout contentView;
+
 
         #region 澶╂皵鎺т欢
         Button btnOutdoorTemp;
@@ -66,8 +67,10 @@
             basePage = this;
             this.function = FunctionList.List.GetAcstParentList()[0];
             this.BackgroundColor = CSS.CSS_Color.BackgroundColor;
-            bodyView = new VerticalScrolViewLayout();
-            this.AddChidren(bodyView);
+            contentView = new VerticalScrolViewLayout() {
+                Height = Application.GetRealHeight(667 - 56),
+            };
+            this.AddChidren(contentView);
             subViewList = new Dictionary<string, AcstSubControlView>();
         }
         /// <summary>
@@ -100,21 +103,21 @@
             Application.RunOnMainThread(() =>
             {
                 if (basePage.sensorDiyView_Temp != null)
-                    basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state);
+                    basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state,true);
                 if (basePage.sensorDiyView_Humi != null)
-                    basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state);
+                    basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state, true);
                 if (basePage.sensorDiyView_Pm25 != null)
-                    basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state);
+                    basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state,false);
                 if (basePage.sensorDiyView_Co2 != null)
-                    basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state);
+                    basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state, false);
                 if (basePage.sensorDiyView_Tvoc != null)
-                    basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state);
+                    basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state, false);
                 if (basePage.sensorDiyView_EleDay != null)
-                    basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state);
+                    basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state, false);
                 if (basePage.sensorDiyView_EleMonth != null)
-                    basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state);
+                    basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state, false);
                 if (basePage.sensorDiyView_EleActivePower != null)
-                    basePage.sensorDiyView_EleActivePower.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.active_power.ToString()).state);
+                    basePage.sensorDiyView_EleActivePower.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.active_power.ToString()).state, false);
 
 
 
@@ -232,7 +235,7 @@
                 Height = Application.GetRealHeight(180),
                 BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png",
             };
-            bodyView.AddChidren(topView);
+            contentView.AddChidren(topView);
 
             var backView = new FrameLayout()
             {
@@ -353,7 +356,7 @@
 
             #endregion
 
-            bodyView.AddChidren(new Button
+            contentView.AddChidren(new Button
             {
                 Height = Application.GetRealHeight(8),
             });
@@ -417,7 +420,7 @@
                     Height = Application.GetRealHeight(104),
                     BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
                 };
-                bodyView.AddChidren(infoView);
+                contentView.AddChidren(infoView);
 
                 var infoContentView = new FrameLayout()
                 {
@@ -442,11 +445,21 @@
 
                 if (tempObj != null)
                 {
-                    sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.state == "" ? "--" : tempObj.state, "掳", Language.StringByID(StringId.Temp));
+                    string tempValues = tempObj.state == "" ? "--" : tempObj.state;
+                    if (tempValues.Contains("."))
+                    {
+                        tempValues = tempValues.Remove(tempValues.IndexOf('.'), tempValues.Length - tempValues.IndexOf('.'));
+                    }
+                    sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳", Language.StringByID(StringId.Temp));
                 }
                 if (humiObj != null)
                 {
-                    sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.state == "" ? "--" : humiObj.state, "%", Language.StringByID(StringId.Humidity));
+                    string humiValues = humiObj.state == "" ? "--" : humiObj.state;
+                    if (humiValues.Contains("."))
+                    {
+                        humiValues = humiValues.Remove(humiValues.IndexOf('.'), humiValues.Length - humiValues.IndexOf('.'));
+                    }
+                    sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", Language.StringByID(StringId.Humidity));
                 }
                 if (pm25Obj != null)
                 {
@@ -467,7 +480,7 @@
                 {
                     Width = Application.GetRealWidth(100 * energyCount),
                     Gravity = Gravity.Center,
-                    Visible = false,
+                    Visible = sensorCount == 0
                 };
                 if (energyCount > 0)
                 {
@@ -480,7 +493,6 @@
                     {
                         text = "Power";
                     }
-
                     sensorDiyView_EleActivePower = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state, "KW", text, 100);
                 }
                 if (dayObj != null)
@@ -490,7 +502,7 @@
                     {
                         text = "Power of today";
                     }
-                    sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "KW", text, 100);
+                    sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state, "KWh", text, 100);
                 }
                 if (monthObj != null)
                 {
@@ -537,7 +549,7 @@
             {
                 Height = Application.GetRealHeight(54-11),
             };
-            bodyView.AddChidren(subTitleView);
+            contentView.AddChidren(subTitleView);
 
             var btnCollection = new Button()
             {
@@ -583,42 +595,53 @@
             {
                 Height = Application.GetRealHeight(88),
             };
-            bodyView.AddChidren(subFunctionListView);
+            contentView.AddChidren(subFunctionListView);
 
 
             subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
-            foreach (var sub in FunctionList.List.GetAcstSubList())
+            new System.Threading.Thread(() =>
             {
-                if (subViewList.ContainsKey(sub.sid))
+                try
                 {
-                    continue;
-                }
-
-                if (subFunctionCount > 0 && subFunctionCount % 2 == 0)
-                {
-                    subFunctionListView = new HorizontalScrolViewLayout()
+                    foreach (var sub in FunctionList.List.GetAcstSubList())
                     {
-                        Height = Application.GetRealHeight(93),
-                    };
-                    bodyView.AddChidren(subFunctionListView);
-                    subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
+                        if (subViewList.ContainsKey(sub.sid))
+                        {
+                            continue;
+                        }
+
+                        Application.RunOnMainThread(() =>
+                        {
+                            if (subFunctionCount > 0 && subFunctionCount % 2 == 0)
+                            {
+                                subFunctionListView = new HorizontalScrolViewLayout()
+                                {
+                                    Height = Application.GetRealHeight(93),
+                                };
+                                contentView.AddChidren(subFunctionListView);
+                                subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
+                            }
+
+                            AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView, imageFolder);
+                            subViewList.Add(sub.sid, subFunctionView);
+                            new System.Threading.Thread(() =>
+                            {
+                                Control.Ins.SendReadCommand(sub);
+                            })
+                            { IsBackground = true }.Start();
+                        subFunctionCount++;
+                        });
+
+                        System.Threading.Thread.Sleep(10);
+                    }
                 }
-
-                AcstSubControlView subFunctionView = new AcstSubControlView(sub, subFunctionListView,imageFolder);
-
-                subViewList.Add(sub.sid, subFunctionView);
-
-                Control.Ins.SendReadCommand(sub);
-
-                subFunctionCount++;
-            }
-
+                catch { }
+                finally{
+             
+                }
+            }).Start();
             #endregion
 
-            bodyView.AddChidren(new Button()
-            {
-                Height = Application.GetRealHeight(72),
-            });
 
             #region 搴曢儴鎺у埗鏍�
             var bottomView = new FrameLayout()
@@ -643,10 +666,10 @@
             bottomView.AddChidren(btnModeControl);
             btnModeControl.MouseUpEventHandler = (sender3, e3) =>
             {
-                if(function.trait_on_off.state == "off")
-                {
-                    return;
-                }
+                //if(function.trait_on_off.state == "off")
+                //{
+                //    return;
+                //}
                 Dialog dialog = new Dialog();
 
                 var dialogView = new FrameLayout();
@@ -675,7 +698,7 @@
                 {
                     X = Application.GetRealWidth(16),
                     Width = Application.GetRealWidth(100),
-                    TextID = StringId.SelectScene,
+                    TextID = StringId.SelectMode,
                     TextSize = 16,
                     TextColor = CSS.CSS_Color.FirstLevelTitleColor,
                     IsBold = true,
@@ -752,41 +775,6 @@
                     heatView.AddChidren(heatIconButton);
                     #endregion
                 }
-                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString()))
-                {
-
-                    #region 闄ゆ箍
-                    var dehumiView = new FrameLayout()
-                    {
-                        X = Application.GetRealWidth(2),
-                        Width = Application.GetRealWidth(144),
-                        Height = Application.GetRealHeight(44),
-                    };
-                    dialogContentView.AddChidren(dehumiView);
-                    dehumiView.AddChidren(new Button
-                    {
-                        Width = Application.GetRealWidth(112),
-                        Gravity = Gravity.CenterHorizontal,
-                        Height = 1,
-                        BackgroundColor = CSS.CSS_Color.DividingLineColor,
-                    });
-                    IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png",
-                        Language.StringByID(StringId.Humidity), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString());
-                    dehumiIconButton.Click(() =>
-                    {
-                        btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png";
-                        dialog.Close();
-                        new System.Threading.Thread(() =>
-                        {
-                            Dictionary<string, string> d = new Dictionary<string, string>();
-                            d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString());
-                            Control.Ins.SendWriteCommand(function, d);
-                        })
-                        { IsBackground = true }.Start();
-                    });
-                    dehumiView.AddChidren(dehumiIconButton);
-                    #endregion
-                }
 
                 if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.fan.ToString()))
                 {
@@ -823,6 +811,40 @@
                     #endregion
                 }
 
+                if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.dry.ToString()))
+                {
+                    #region 闄ゆ箍
+                    var dehumiView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(2),
+                        Width = Application.GetRealWidth(144),
+                        Height = Application.GetRealHeight(44),
+                    };
+                    dialogContentView.AddChidren(dehumiView);
+                    dehumiView.AddChidren(new Button
+                    {
+                        Width = Application.GetRealWidth(112),
+                        Gravity = Gravity.CenterHorizontal,
+                        Height = 1,
+                        BackgroundColor = CSS.CSS_Color.DividingLineColor,
+                    });
+                    IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png",
+                        Language.StringByID(StringId.Dry), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString());
+                    dehumiIconButton.Click(() =>
+                    {
+                        btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png";
+                        dialog.Close();
+                        new System.Threading.Thread(() =>
+                        {
+                            Dictionary<string, string> d = new Dictionary<string, string>();
+                            d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString());
+                            Control.Ins.SendWriteCommand(function, d);
+                        })
+                        { IsBackground = true }.Start();
+                    });
+                    dehumiView.AddChidren(dehumiIconButton);
+                    #endregion
+                }
                 if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.heat_humidity.ToString()))
                 {
 
@@ -861,7 +883,6 @@
 
                 if (function.GetAttribute(AcstParent_AttrEnum.mode.ToString()).value.Contains(AcstParent_Attr_ModeValueEnum.humidity.ToString()))
                 {
-
                     #region 鍔犳箍
                     var humiView = new FrameLayout()
                     {
@@ -943,10 +964,10 @@
 
             btnWorkSceneControl.MouseUpEventHandler = (sender2, e2) =>
             {
-                if (function.trait_on_off.state == "off")
-                {
-                    return;
-                }
+                //if (function.trait_on_off.state == "off")
+                //{
+                //    return;
+                //}
                 Dialog dialog = new Dialog();
 
                 var dialogView = new FrameLayout();
@@ -1009,7 +1030,7 @@
                     Language.StringByID(StringId.AtHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.at_home.ToString());
                     atHomeIconButton.Click(() =>
                     {
-                        btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png";
+                        btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png";
                         dialog.Close();
                         new System.Threading.Thread(() =>
                         {
@@ -1046,7 +1067,7 @@
                         Language.StringByID(StringId.AwayHome), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.leave_home.ToString());
                     awayHomeIconButton.Click(() =>
                     {
-                        btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png";
+                        btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png";
                         dialog.Close();
                         new System.Threading.Thread(() =>
                         {
@@ -1084,7 +1105,7 @@
                         Language.StringByID(StringId.Sleep), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.sleep.ToString());
                     sleepIconButton.Click(() =>
                     {
-                        btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png";
+                        btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png";
                         dialog.Close();
                         new System.Threading.Thread(() =>
                         {
@@ -1108,7 +1129,11 @@
 
             InitGetWeatherAction();
 
-            Control.Ins.SendReadCommand(function);
+            new System.Threading.Thread(() =>
+            {
+                Control.Ins.SendReadCommand(function);
+            })
+            { IsBackground = true }.Start();
 
         }
 
@@ -1152,7 +1177,7 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = color,
                 TextSize = 20,
-                Text = value + unitString,
+                Text = value,
             };
             contentView.AddChidren(btnValue);
 
@@ -1163,14 +1188,25 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = 0xFF949AA5,
                 TextSize = 12,
-                Text = text,
+                Text = text ,
             };
             contentView.AddChidren(btnText);
+
+            if(!string.IsNullOrEmpty(unitString))
+            {
+                btnText.Text += "(" + unitString + ")";
+            }
+
+
         }
 
-        public void UpdateValue(string value)
+        public void UpdateValue(string value,bool isInt)
         {
-            btnValue.Text = value + unitString;
+            if (value.Contains(".") && isInt)
+            {
+                value = value.Remove(value.IndexOf('.'), value.Length - value.IndexOf('.'));
+            }
+            btnValue.Text = value;
         }
     }
 

--
Gitblit v1.8.0