From e76381c3393d284f3f8ab61930cb6b71f18b2d6b Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 13 八月 2024 14:43:43 +0800
Subject: [PATCH] 金茂定制热水器,光伏储能,UI完成

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs |  248 +++++++++++++++++++++++++++++++------------------
 1 files changed, 157 insertions(+), 91 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 97c577b..ae162ff 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -6,7 +6,25 @@
 
 namespace HDL_ON.UI
 {
-
+    public class VerticalScrolViewLayoutJinmao : VerticalScrolViewLayout
+    {
+        public VerticalScrolViewLayoutJinmao()
+        {
+#if __IOS__
+            try
+            {
+                //鑷姩鍋忕Щ鍙栨秷
+                if (UIKit.UIDevice.CurrentDevice.CheckSystemVersion(11, 0))
+                {
+                    (this.uiView as UIKit.UIScrollView).ContentInsetAdjustmentBehavior = UIKit.UIScrollViewContentInsetAdjustmentBehavior.Never;
+                }
+            }catch(Exception ex)
+            {
+                MainPage.Log("error", "閲戣寕iOS 婊氬姩瀹瑰櫒鍋忕Щ鍊艰缃紓甯革細" + ex.Message);
+            }
+#endif
+        }
+    }
 
     /// <summary>
 	/// 缁垮缓绉戞妧绯荤粺
@@ -16,7 +34,7 @@
     {
         static AcstParentPage basePage;
 
-        VerticalScrolViewLayout contentView;
+        VerticalScrolViewLayoutJinmao contentView;
 
         string helloText = "涓婂崍濂�";
 
@@ -42,9 +60,7 @@
         /// </summary>
         Dictionary<string, AcstSubControlView> subViewList;
 
-
         Button btnWorkSceneControl;
-
         Button btnModeControl;
         Button btnPowerControl;
 
@@ -105,10 +121,14 @@
             this.function = FunctionList.List.GetAcstParentList()[0];
             this.BackgroundColor = CSS.CSS_Color.BackgroundColor;
             //this.AddChidren(new Button() { Height = Application.GetRealHeight(50), BackgroundColor = curColor });
-            contentView = new VerticalScrolViewLayout() {
+            contentView = new VerticalScrolViewLayoutJinmao()
+            {
                 Height = Application.GetRealHeight(667 - 56),
+                VerticalScrollBarEnabled = false,
             };
-            this.AddChidren(contentView);
+            basePage.AddChidren(contentView);
+
+
             subViewList = new Dictionary<string, AcstSubControlView>();
         }
         /// <summary>
@@ -164,53 +184,53 @@
                     switch (temp.GetAttrState("mode"))
                     {
                         case "cool"://鍒跺喎
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png";
                             break;
                         case "heat"://鍒剁儹
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatIcon2.png";
                             break;
                         case "fan"://閫氶
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeFanIcon2.png";
                             break;
                         case "dry"://闄ゆ箍
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeDeHumiIcon2.png";
                             break;
                         case "humidity"://鍔犳箍
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHumiIcon2.png";
                             break;
                         case "heat_humidity"://鍒剁儹鍔犳箍
-                        basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png";
+                            basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png";
                             basePage.btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatHumiIcon2.png";
                             break;
                     }
                     switch (temp.GetAttrState("scene"))
                     {
                         case "at_home"://鍦ㄥ
-                        basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png";
+                            basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png";
                             basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAtHome2.png";
                             break;
                         case "leave_home"://绂诲
-                        basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png";
+                            basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png";
                             basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAwayHomeIcon2.png";
                             break;
                         case "sleep"://鐫$湢
-                        basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png";
+                            basePage.btnWorkSceneControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png";
                             basePage.btnWorkSceneControl.SelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png";
                             break;
                     }
                     basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.GetAttrState("on_off") == "on";
                 });
-            }catch (Exception ex)
+            }
+            catch (Exception ex)
             {
-                MainPage.Log("绉戞妧绯荤粺鏇存柊鏁版嵁澶辫触");
+                MainPage.Log("绉戞妧绯荤粺鏇存柊鏁版嵁澶辫触:" + ex.Message);
             }
         }
-
 
         /// <summary>
         /// 鏇存柊瀛愭帶淇℃伅
@@ -232,12 +252,21 @@
                         basePage.subViewList.TryGetValue(temp.sid, out view);
                         if (view != null)
                         {
-                            view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%";
-                            view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳";
-                            view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on";
+                            if (temp.spk == SPK.AcstSub)
+                            {
+                                view.btnSubHumidityValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%";
+                                view.btnSubTempValues.Text = temp.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳";
+                                view.btnSubPower.IsSelected = temp.GetAttrState(AcstSub_AttrEnum.on_off.ToString()) == "on";
+                            }
+                            else if (temp.spk == SPK.WaterHeaterJinmao)
+                            {
+                                view.btnSubTempValues.Text = temp.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()) + "掳";
+                                view.btnSubPower.IsSelected = temp.GetAttrState(WaterHeaterJinmao_AttrEnum.on_off.ToString()) == "on";
+                            }
                         }
                     }
-                    catch (Exception ex ) {
+                    catch (Exception ex)
+                    {
                         MainPage.Log($"绉戞妧绯荤粺鏇存柊寮傚父1:{ex.Message}");
                     }
                 });
@@ -278,7 +307,8 @@
             Button btnBackClick = new Button();
             backView.AddChidren(btnBackClick);
 
-            btnBackClick.MouseUpEventHandler = (sender, e) => {
+            btnBackClick.MouseUpEventHandler = (sender, e) =>
+            {
                 this.RemoveFromParent();
             };
 
@@ -471,7 +501,7 @@
                     {
                         tempValues = tempValues.Remove(tempValues.IndexOf('.'), tempValues.Length - tempValues.IndexOf('.'));
                     }
-                    sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳","", Language.StringByID(StringId.Temp));
+                    sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempValues, "掳", "", Language.StringByID(StringId.Temp));
                 }
                 if (humiObj != null)
                 {
@@ -480,7 +510,7 @@
                     {
                         humiValues = humiValues.Remove(humiValues.IndexOf('.'), humiValues.Length - humiValues.IndexOf('.'));
                     }
-                    sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues , "%", "", Language.StringByID(StringId.Humidity));
+                    sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiValues, "%", "", Language.StringByID(StringId.Humidity));
                 }
                 if (pm25Obj != null)
                 {
@@ -568,7 +598,7 @@
 
             var subTitleView = new FrameLayout()
             {
-                Height = Application.GetRealHeight(54-11),
+                Height = Application.GetRealHeight(54 - 11),
             };
             contentView.AddChidren(subTitleView);
 
@@ -584,7 +614,8 @@
             };
             subTitleView.AddChidren(btnCollection);
             //鏀惰棌
-            btnCollection.MouseUpEventHandler = (sender, e) => {
+            btnCollection.MouseUpEventHandler = (sender, e) =>
+            {
                 function.collect = !function.collect;
                 btnCollection.IsSelected = function.collect;
 
@@ -623,8 +654,9 @@
 #if DEBUG
                     System.Threading.Thread.Sleep(200);
 #endif
-
-                    foreach (var sub in FunctionList.List.GetAcstSubList())
+                    var showList = FunctionList.List.GetAcstSubList();
+                    showList.AddRange(FunctionList.List.GetWaterHeaterJinmaoList());
+                    foreach (var sub in showList)
                     {
                         if (subViewList.ContainsKey(sub.sid))
                         {
@@ -638,6 +670,7 @@
                                 subFunctionListView = new HorizontalScrolViewLayout()
                                 {
                                     Height = Application.GetRealHeight(93),
+                                    ScrollEnabled = false,
                                 };
                                 contentView.AddChidren(subFunctionListView);
                                 subFunctionListView.AddChidren(new Button { Width = Application.GetRealWidth(9) });
@@ -653,15 +686,16 @@
                                 })
                                 { IsBackground = true }.Start();
                             }
-                        subFunctionCount++;
+                            subFunctionCount++;
                         });
 
                         System.Threading.Thread.Sleep(10);
                     }
                 }
                 catch { }
-                finally{
-             
+                finally
+                {
+
                 }
             }).Start();
             #endregion
@@ -670,9 +704,12 @@
             #region 搴曢儴鎺у埗鏍�
             var bottomView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(667 - 56),
-                Height = Application.GetRealHeight(56),
+                Y = Application.GetRealHeight(667 - 66),
+                Height = Application.GetRealHeight(66+16),
                 BackgroundColor = CSS.CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealHeight(16),
+                BorderColor = 0x00FFFFFF,
+                BorderWidth = 0,
             };
             this.AddChidren(bottomView);
 
@@ -698,11 +735,13 @@
 
                 var dialogView = new FrameLayout();
                 dialog.AddChidren(dialogView);
-                dialogView.MouseUpEventHandler = (sender, e) => {
+                dialogView.MouseUpEventHandler = (sender, e) =>
+                {
                     dialog.Close();
                 };
 
-                var dialogContentView = new VerticalScrolViewLayout() {
+                var dialogContentView = new VerticalScrolViewLayout()
+                {
                     X = Application.GetRealWidth(34),
                     Y = Application.GetRealHeight(291),
                     Width = Application.GetRealWidth(148),
@@ -711,7 +750,8 @@
                 };
                 dialogView.AddChidren(dialogContentView);
 
-                var titleView = new FrameLayout() {
+                var titleView = new FrameLayout()
+                {
                     X = Application.GetRealWidth(2),
                     Y = Application.GetRealHeight(3),
                     Width = Application.GetRealWidth(144),
@@ -988,15 +1028,12 @@
 
             btnWorkSceneControl.MouseUpEventHandler = (sender2, e2) =>
             {
-                //if (function.trait_on_off.state == "off")
-                //{
-                //    return;
-                //}
                 Dialog dialog = new Dialog();
 
                 var dialogView = new FrameLayout();
                 dialog.AddChidren(dialogView);
-                dialogView.MouseUpEventHandler = (sender, e) => {
+                dialogView.MouseUpEventHandler = (sender, e) =>
+                {
                     dialog.Close();
                 };
 
@@ -1176,7 +1213,7 @@
         public string Tag;
         public string unitString;
 
-        public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string unitStr, string unitStr2, string text,int setWidth = 60)
+        public SensorDiyView(HorizontalScrolViewLayout view, uint color, string value, string unitStr, string unitStr2, string text, int setWidth = 60)
         {
             unitString = unitStr;
             if (string.IsNullOrEmpty(value))
@@ -1212,11 +1249,11 @@
                 TextAlignment = TextAlignment.Center,
                 TextColor = 0xFF949AA5,
                 TextSize = 12,
-                Text = text ,
+                Text = text,
             };
             contentView.AddChidren(btnText);
 
-            if(!string.IsNullOrEmpty(unitStr2))
+            if (!string.IsNullOrEmpty(unitStr2))
             {
                 btnText.Text += "(" + unitStr2 + ")";
             }
@@ -1224,7 +1261,7 @@
 
         }
 
-        public void UpdateValue(string value,bool isInt)
+        public void UpdateValue(string value, bool isInt)
         {
             if (value.Contains(".") && isInt)
             {
@@ -1244,7 +1281,7 @@
         public Button btnSubPower;
         public string Tag;
 
-        public AcstSubControlView(Function sub, HorizontalScrolViewLayout subFunctionListView,string imageFolder)
+        public AcstSubControlView(Function sub, HorizontalScrolViewLayout subFunctionListView, string imageFolder)
         {
             Tag = sub.sid;
 
@@ -1286,33 +1323,9 @@
                 Width = Application.GetRealWidth(35),
                 TextColor = 0xFF1b3035,
                 TextSize = 10,
-                Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C",
                 TextAlignment = TextAlignment.CenterLeft,
             };
             subFunctionView.AddChidren(btnSubTempValues);
-
-            Button btnSubHumidityIcon = new Button()
-            {
-                X = btnSubTempValues.Right + Application.GetRealWidth(5),
-                Y = Application.GetRealHeight(47 + 11),
-                Width = Application.GetMinRealAverage(11),
-                Height = Application.GetMinRealAverage(11),
-                UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
-            };
-            subFunctionView.AddChidren(btnSubHumidityIcon);
-
-            btnSubHumidityValues = new TextButton()
-            {
-                X = btnSubHumidityIcon.Right,
-                Y = Application.GetRealHeight(45 + 11),
-                Height = Application.GetRealHeight(14),
-                Width = Application.GetRealWidth(35),
-                TextColor = 0xFF1b3053,
-                TextSize = 10,
-                Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            subFunctionView.AddChidren(btnSubHumidityValues);
 
             btnSubPower = new Button()
             {
@@ -1325,7 +1338,8 @@
                 TextAlignment = TextAlignment.Center,
             };
             subFunctionView.AddChidren(btnSubPower);
-            btnSubPower.MouseUpEventHandler = (sender, e) => {
+            btnSubPower.MouseUpEventHandler = (sender, e) =>
+            {
                 btnSubPower.IsSelected = !btnSubPower.IsSelected;
                 string onoff = btnSubPower.IsSelected ? "on" : "off";
                 Dictionary<string, string> d = new Dictionary<string, string>();
@@ -1333,21 +1347,70 @@
                 Control.Ins.SendWriteCommand(sub, d);
             };
 
-            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
-                var page = new AcstSubPage(sub,imageFolder);
-                MainPage.BasePageView.AddChidren(page);
-                page.LoadPage(()=> {
-                    btnRoomInfo.Text = sub.name;
-                });
-                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-            };
+            if (sub.spk == SPK.AcstSub)
+            {
+                btnSubTempValues.Text = sub.GetAttrState(AcstSub_AttrEnum.room_temp.ToString()) + "掳C";
+                Button btnSubHumidityIcon = new Button()
+                {
+                    X = btnSubTempValues.Right + Application.GetRealWidth(5),
+                    Y = Application.GetRealHeight(47 + 11),
+                    Width = Application.GetMinRealAverage(11),
+                    Height = Application.GetMinRealAverage(11),
+                    UnSelectedImagePath = "FunctionIcon/CAC/HvacCacHumidityIcon.png",
+                };
+                subFunctionView.AddChidren(btnSubHumidityIcon);
 
-            btnRoomInfo.MouseUpEventHandler = eventHandler;
-            btnSubHumidityIcon.MouseUpEventHandler = eventHandler;
-            btnSubHumidityValues.MouseUpEventHandler = eventHandler;
-            btnSubTempIcon.MouseUpEventHandler = eventHandler;
-            btnSubTempValues.MouseUpEventHandler = eventHandler;
-            subFunctionView.MouseUpEventHandler = eventHandler;
+                btnSubHumidityValues = new TextButton()
+                {
+                    X = btnSubHumidityIcon.Right,
+                    Y = Application.GetRealHeight(45 + 11),
+                    Height = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(35),
+                    TextColor = 0xFF1b3053,
+                    TextSize = 10,
+                    Text = sub.GetAttrState(AcstSub_AttrEnum.room_humidity.ToString()) + "%",
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                subFunctionView.AddChidren(btnSubHumidityValues);
+
+                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+                {
+                    var page = new AcstSubPage(sub, imageFolder);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage(() =>
+                    {
+                        btnRoomInfo.Text = sub.name;
+                    });
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+
+                btnRoomInfo.MouseUpEventHandler = eventHandler;
+                btnSubTempIcon.MouseUpEventHandler = eventHandler;
+                btnSubTempValues.MouseUpEventHandler = eventHandler;
+                subFunctionView.MouseUpEventHandler = eventHandler;
+                btnSubHumidityIcon.MouseUpEventHandler = eventHandler;
+                btnSubHumidityValues.MouseUpEventHandler = eventHandler;
+            }
+            else if (sub.spk == SPK.WaterHeaterJinmao)
+            {
+                btnSubTempValues.Text = sub.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()) + "掳C";
+                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
+                {
+                    var page = new WaterHeaterJinmaoPage(sub);
+                    MainPage.BasePageView.AddChidren(page);
+                    page.LoadPage(() =>
+                    {
+                        btnRoomInfo.Text = sub.name;
+                    });
+                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                };
+
+                btnRoomInfo.MouseUpEventHandler = eventHandler;
+                btnSubTempIcon.MouseUpEventHandler = eventHandler;
+                btnSubTempValues.MouseUpEventHandler = eventHandler;
+                subFunctionView.MouseUpEventHandler = eventHandler;
+
+            }
         }
     }
 
@@ -1360,7 +1423,7 @@
 
         public Button btnText;
 
-        public IconButton(string iconPath,string iconPath2,string text,uint color,bool isSelect)
+        public IconButton(string iconPath, string iconPath2, string text, uint color, bool isSelect)
         {
             view = this;
             view.Width = Application.GetRealWidth(144);
@@ -1391,19 +1454,22 @@
             };
             view.AddChidren(btnText);
 
-            
+
         }
 
 
         public void Click(Action action)
         {
-            view.MouseUpEventHandler = (sender, e) => {
+            view.MouseUpEventHandler = (sender, e) =>
+            {
                 action();
             };
-            btnText.MouseUpEventHandler = (sender, e) => {
+            btnText.MouseUpEventHandler = (sender, e) =>
+            {
                 action();
             };
-            btnIcon.MouseUpEventHandler = (sender, e) => {
+            btnIcon.MouseUpEventHandler = (sender, e) =>
+            {
                 action();
             };
         }

--
Gitblit v1.8.0