From d4811b7d34b45ff6b21b97f11da128b5572ec526 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期三, 03 三月 2021 16:03:03 +0800
Subject: [PATCH] 20210303-1

---
 HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs |  195 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 125 insertions(+), 70 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
index 1694d48..cbd8d7e 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs
@@ -3,6 +3,7 @@
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using System.Collections.Generic;
+using HDL_ON.DriverLayer;
 
 namespace HDL_ON.UI
 {
@@ -19,6 +20,10 @@
         /// 鎴块棿閫夋嫨涓嬫媺鍥炬爣
         /// </summary>
         Button btnFoorDownIcon;
+        /// <summary>
+        /// 鎴块棿閫夋嫨瑙﹀彂鍖哄煙
+        /// </summary>
+        Button btnRoomClickRow;
         /// <summary>
         /// 浼犳劅鍣ㄥ垪琛ㄥ尯鍩�
         /// </summary>
@@ -200,7 +205,7 @@
                 Y = Application.GetRealHeight(90),
                 Width = Application.GetRealWidth(24),
                 Height = Application.GetRealWidth(24),
-                UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
+                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/HumidityIcon.png",
             };
             topWeatherView.AddChidren(btnHumidityIcon);
 
@@ -223,7 +228,7 @@
                 Y = Application.GetRealHeight(90),
                 Width = Application.GetRealWidth(24),
                 Height = Application.GetRealWidth(24),
-                UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
+                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/Pm25Icon.png",
             };
             topWeatherView.AddChidren(btnPm25Icon);
 
@@ -279,11 +284,7 @@
             bodyView.AddChidren(contentView);
 
             #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
-            room = new Room();
-            if (DB_ResidenceData.residenceData.rooms.Count > 0)
-            {
-                room = DB_ResidenceData.residenceData.rooms[0];
-            }
+            room = new Room() { roomName = Language.StringByID(StringId.All)};
             btnFoorDownIcon = new Button()
             {
                 Width = Application.GetMinRealAverage(16),
@@ -303,9 +304,16 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = room.name,
+                Text = room.roomName,
             };
             contentView.AddChidren(btnRoom);
+
+            btnRoomClickRow = new Button()
+            {
+                Height = Application.GetRealHeight(40),
+            };
+            contentView.AddChidren(btnRoomClickRow);
+
             #endregion
 
             sensorListView = new FrameLayout()
@@ -320,16 +328,10 @@
             };
             contentView.AddChidren(sensorListView);
 
-            int index = 0;
-            foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience)
-            {
-                if ( sensor.functionType == FunctionType.WindPower)
-                {
-                    continue;
-                }
-                LoadSensorDiv(sensor, index);
-                index++;
-            }
+            LoadSenesorList();
+
+            LoadEventList();
+
 
             #endregion
 
@@ -339,18 +341,29 @@
             new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView();
 
         }
+
+        /// <summary>
+        /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
+        /// </summary>
+        void LoadSenesorList()
+        {
+            sensorListView.RemoveAll();
+            int index = 0;
+            foreach (var sensor in FunctionList.List.sensorsEnvironmentalScience)
+            {
+                LoadSensorDiv(sensor, index);
+                index++;
+            }
+        }
+
         /// <summary>
         /// 鍔犺浇浼犳劅鍣ㄥ垪琛�
         /// </summary>
         void LoadSensorDiv(Sensor sensor,int index)
         {
-            if (sensor.roomIdList.Contains(room.sid))
+            if (room.roomId == "" ||  sensor.roomIds.Contains(room.roomId))
             {
                 var sensorTag = sensor.sid;
-                if (sensor.bus_Data != null)
-                {
-                    sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID;
-                }
                 FrameLayout sensorView = new FrameLayout()
                 {
                     Width = Application.GetRealWidth(148),
@@ -368,27 +381,22 @@
                 }
                 sensorListView.AddChidren(sensorView);
 
-                var arcBar = new ArcSeekBar()
+                var arcBar = new DiyArcSeekBar()
                 {
-                    ProgressBarUnitSring = "掳C",
                     X = Application.GetRealWidth(7),
                     Gravity = Gravity.CenterVertical,
                     Width = Application.GetRealWidth(48),
                     Height = Application.GetRealWidth(48),
-                    OpenAngle = 1,
-                    ThumbColor = 0x00000000,
-                    ThumbModeFill = true,
+                    OpenAngle = 10,
                     ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1],
-                    ThumbRadius = 1,
-                    ArcWidthWithDefaultStyle = Application.GetRealWidth(3),
                     MinValue = 0,
                     MaxValue = 96,
                     Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel,
-                    //ProgressBarUnitSring = "",
                     IsClickable = false,
-                    ProgressTextColor = 0x00000000,
                     ArcColor = CSS_Color.BackgroundColor,
-                    //BackgroundColor = 0x33FF0000,
+                    ArcWidth = Application.GetRealWidth(4),
+                    IsThumbImgBtnShow = false,
+                    SeekBarPadding = Application.GetRealWidth(2),
                 };
                 sensorView.AddChidren(arcBar);
 
@@ -406,27 +414,26 @@
                 };
                 sensorView.AddChidren(btnSensorTitle);
                 btnSensorTitle.MouseUpEventHandler = (sender, e) => {
+                    #region 
                     var esp = new EnvironmentalSensorPage(sensor);
                     MainPage.BasePageView.AddChidren(esp);
                     esp.LoadPage();
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    #endregion
                 };
 
-                if ( sensor.functionType != FunctionType.WindPower)
+                var btnInfoIcon = new Button()
                 {
-                    var btnInfoIcon = new Button()
-                    {
-                        X = Application.GetRealWidth(120),
-                        Width = Application.GetRealWidth(28),
-                        Height = Application.GetRealWidth(28),
-                        UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
-                    };
-                    sensorView.AddChidren(btnInfoIcon);
-                    btnInfoIcon.MouseUpEventHandler = (sender, e) =>
-                    {
-                        LoadInfo(sensor);
-                    };
-                }
+                    X = Application.GetRealWidth(120),
+                    Width = Application.GetRealWidth(28),
+                    Height = Application.GetRealWidth(28),
+                    UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png",
+                };
+                sensorView.AddChidren(btnInfoIcon);
+                btnInfoIcon.MouseUpEventHandler = (sender, e) =>
+                {
+                    LoadInfo(sensor);
+                };
 
                 var btnSensorValues = new Button()
                 {
@@ -457,7 +464,7 @@
                 };
                 sensorView.AddChidren(btnLevel);
 
-                Control.Send(CommandType_A.read, sensor);
+                Control.Ins.SendReadCommand(sensor);
             }
         }
 
@@ -499,29 +506,21 @@
             };
             infoView.AddChidren(btnTitle);
 
-            switch (sensor.functionType)
+            switch (sensor.spk)
             {
-                case FunctionType.PM10:
-                    btnTitle.Text = "PM1.0(ug/m虏)";
-                    break;
-                case FunctionType.PM25:
+                case SPK.SensorPm25:
                     btnTitle.Text = "PM2.5(ug/m虏)";
                     break;
-                case FunctionType.WindPower:
-
-                    break;
-                //case FunctionType.Noise:
-                //    break;
-                case FunctionType.Temp:
+                case SPK.SensorTemperature:
                     btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)";
                     break;
-                case FunctionType.TVOC:
+                case SPK.SensorTVOC:
                     btnTitle.Text = "TVOC(PPM)";
                     break;
-                case FunctionType.CO2:
+                case SPK.SensorCO2:
                     btnTitle.Text = "CO2(PPM)";
                     break;
-                case FunctionType.Humidity:
+                case SPK.SensorHumidity:
                     btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)";
                     break;
             }
@@ -637,8 +636,8 @@
                     X = Application.GetRealWidth(10),
                     Y = Application.GetRealHeight(266),
                     Width = Application.GetRealWidth(160),
-                    Height = Application.GetRealHeight(203),
-                    BackgroundImagePath = "PersonalCenter/HomeListbg.png",
+                    Height = Application.GetRealHeight(110),
+                    BackgroundImagePath = "PersonalCenter/HomeList1bg.png",
                 };
                 dialogBody.AddChidren(dispalyView);
 
@@ -647,14 +646,69 @@
                     X = Application.GetRealWidth(8),
                     Y = Application.GetRealHeight(15),
                     Width = Application.GetRealWidth(150),
-                    Height = Application.GetRealHeight(45 * 4),
+                    Height = Application.GetRealHeight(45 * 2),
+                    ScrollEnabled = false
                 };
                 dispalyView.AddChidren(contentView);
 
-
-                foreach (var roomTemp in DB_ResidenceData.residenceData.rooms)
+                if (SpatialInfo.CurrentSpatial.RoomList.Count < 2)
                 {
-                    string roomName = roomTemp.name;
+                }
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3)
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(155),
+                        BackgroundImagePath = "PersonalCenter/HomeList2bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
+
+                    contentView.Height = Application.GetRealHeight(45 * 3);
+                    dispalyView.AddChidren(contentView);
+                }
+                else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4)
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(200),
+                        BackgroundImagePath = "PersonalCenter/HomeList3bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
+
+                    contentView.Height = Application.GetRealHeight(45 * 4);
+                    dispalyView.AddChidren(contentView);
+                }
+                else
+                {
+                    dispalyView = new FrameLayout()
+                    {
+                        X = Application.GetRealWidth(10),
+                        Y = Application.GetRealHeight(266),
+                        Width = Application.GetRealWidth(160),
+                        Height = Application.GetRealHeight(245),
+                        BackgroundImagePath = "PersonalCenter/HomeList4bg.png",
+                    };
+                    dialogBody.AddChidren(dispalyView);
+
+                    contentView.Height = Application.GetRealHeight(45 * 5);
+                    contentView.ScrollEnabled = true;
+                    dispalyView.AddChidren(contentView);
+                }
+
+
+                var showListRoom = new List<Room>();
+                showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) });
+                showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList);
+
+                foreach (var roomTemp in showListRoom) 
+                {
+                    string roomName = roomTemp.roomName;
                     var btnRoomName = new Button()
                     {
                         Gravity = Gravity.CenterHorizontal,
@@ -676,14 +730,15 @@
                         dialog.Close();
                         btnRoom.Text = roomName;
                         room = roomTemp;
+                        LoadSenesorList();
                     };
                 }
 
                 dialog.Show();
             };
 
-            btnRoom.MouseUpEventHandler = eventHandler;
-            btnFoorDownIcon.MouseUpEventHandler = eventHandler;
+            btnRoomClickRow.MouseUpEventHandler = eventHandler;
+            //btnFoorDownIcon.MouseUpEventHandler = eventHandler;
         }
 
 

--
Gitblit v1.8.0