From 002a3f2e9d2f9579c01f88af12bd8a320003569f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 31 三月 2020 08:57:19 +0800
Subject: [PATCH] 20200331

---
 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs |  168 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 125 insertions(+), 43 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index e0eb990..1a064c6 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -11,7 +11,7 @@
     {
 
         #region 鎺т欢鍒楄〃
-        FrameLayout bodyView;
+        static ClassificationPage bodyView;
         #region 椤堕儴鎺т欢
         /// <summary>
         /// 鎴块棿鍒嗛〉
@@ -40,11 +40,11 @@
         /// <summary>
         /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
         /// </summary>
-        Button btnFoorDownIcon;
+        Button btnFloorDownIcon;
         /// <summary>
         /// 妤煎眰鏄剧ず
         /// </summary>
-        Button btnFoor;
+        Button btnFloor;
         /// <summary>
         /// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳
         /// </summary>
@@ -54,10 +54,6 @@
         /// 鎴块棿鍒楄〃鍖哄煙
         /// </summary>
         VerticalScrolViewLayout roomListView;
-        /// <summary>
-        /// 鎴块棿鍖哄煙闆嗗悎
-        /// </summary>
-        List<FrameLayout> roomViewList;
         #endregion
 
         #region 鍔熻兘鍖哄煙
@@ -155,7 +151,7 @@
             /// <summary>
             /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
             /// </summary>
-            btnFoorDownIcon = new Button()
+            btnFloorDownIcon = new Button()
             {
                 Width = Application.GetMinRealAverage(16),
                 Height = Application.GetMinRealAverage(16),
@@ -163,13 +159,13 @@
                 Y = Application.GetRealHeight(18),
                 UnSelectedImagePath = "Public/DownIcon.png",
             };
-            roomFloorChangeView.AddChidren(btnFoorDownIcon);
+            roomFloorChangeView.AddChidren(btnFloorDownIcon);
             /// <summary>
             /// 妤煎眰鏄剧ず
             /// </summary>
-            btnFoor = new Button()
+            btnFloor = new Button()
             {
-                X = btnFoorDownIcon.Right,
+                X = btnFloorDownIcon.Right,
                 Y = Application.GetRealHeight(18),
                 Width = Application.GetRealWidth(200),
                 Height = Application.GetMinRealAverage(16),
@@ -178,7 +174,7 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = UserConfig.Instance.CurFoor,
             };
-            roomFloorChangeView.AddChidren(btnFoor);
+            roomFloorChangeView.AddChidren(btnFloor);
             /// <summary>
             /// 鏄剧ず鏂瑰紡鍒囨崲鎸夐挳
             /// </summary>
@@ -205,10 +201,6 @@
                 BackgroundColor = CSS_Color.MainBackgroundColor,
             };
             roomPageView.AddChidren(roomListView);
-            /// <summary>
-            /// 鎴块棿鍖哄煙闆嗗悎
-            /// </summary>
-            roomViewList = new List<FrameLayout>();
 
             foreach (var room in DB_ResidenceData.residenceData.rooms)
             {
@@ -220,6 +212,7 @@
                     Radius = (uint)Application.GetRealHeight(12),
                     BorderColor = 0x00000000,
                     BorderWidth = 1,
+                    Tag = room.sid,
                 };
                 roomListView.AddChidren(roomView);
 
@@ -247,7 +240,6 @@
                     TextSize = CSS_FontSize.SubheadingFontSize,
                 };
                 roomView.AddChidren(btnFloorAndRoomName);
-
 
                 #region 鐜鏁版嵁
                 var environmentalView = new FrameLayout()
@@ -335,22 +327,18 @@
                     Y = Application.GetRealHeight(126),
                     Width = Application.GetMinRealAverage(58),
                     Height = Application.GetMinRealAverage(58),
-                    UnSelectedImagePath = "",
-                    SelectedImagePath = "Classification/Room/AllCloseIcon.png",
+                    UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
+                    Tag = "AllClose"
                 };
                 roomView.AddChidren(btnAllClose);
-#if DEBUG
-                btnAllClose.IsSelected = true;
-#endif
+
+                LoadEvent_CloseAllFunction(btnAllClose, room);
 
                 var btn = new Button()
                 {
                     Height = Application.GetRealHeight(20),
                 };
                 roomListView.AddChidren(btn);
-
-
-                roomViewList.Add(roomView);
 
                 roomViewbgColor.MouseUpEventHandler += (sender, e) => {
                     var view = new RoomPage(room);
@@ -364,6 +352,7 @@
             roomListView.AddChidren(new Button() { Height = Application.GetRealHeight(20) });//澶珮瑙嗗浘锛屽皢瀵艰埅浜嗛伄鎸$殑閮ㄥ垎瀹屾暣鏄剧ず
             #endregion
 
+            LoadDialog_ChangeFloor();
         }
 
         /// <summary>
@@ -419,6 +408,7 @@
                     Height = Application.GetRealWidth(161),
                     Radius = (uint)Application.GetRealHeight(6),
                     BackgroundColor = CSS_Color.MainBackgroundColor,
+                    Tag = item + "_View",
                     Y = index % 2 == 1 ? lastY2 : lastY1
                 };
                 //楂樺害绋嶉珮鐨剉iew
@@ -466,12 +456,14 @@
 
 
                 int functionCount = 0;
+                int functionOnCount = 0;
                 switch (item)
                 {
-                    case "Light":
+                    case FunctionCategory.Light:
                         #region Light
                         btnName.TextID = StringId.Lights;
                         functionCount = DB_ResidenceData.residenceData.functionList.lights.Count;
+                        functionOnCount = DB_ResidenceData.residenceData.functionList.lights.FindAll((obj) => obj.on_off == "on" ).Count;
                         Button btnLightPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -483,7 +475,7 @@
                         };
                         functionView.AddChidren(btnLightPower);
                         btnLightPower.MouseUpEventHandler = (sender, e) => {
-                            LoadEvent_LightsPower(btnLightPower);
+                            LoadEvent_SwitchFunction(btnLightPower,item);
                         };
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
                             var skipView = new FunctionPage();
@@ -493,10 +485,11 @@
                         };
                         #endregion
                         break;
-                    case "AC":
+                    case FunctionCategory.AC:
                         #region AC
                         btnName.TextID = StringId.AC;
                         functionCount = DB_ResidenceData.residenceData.functionList.aCs.Count;
+                        functionOnCount = DB_ResidenceData.residenceData.functionList.aCs.FindAll((obj) => obj.on_off == "on" ).Count;
                         Button btnAcPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -508,7 +501,7 @@
                         };
                         functionView.AddChidren(btnAcPower);
                         btnAcPower.MouseUpEventHandler = (sender, e) => {
-                            LoadEvent_LightsPower(btnAcPower);
+                            LoadEvent_SwitchFunction(btnAcPower, item);
                         };
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
                             var skipView = new FunctionPage();
@@ -518,11 +511,11 @@
                         };
                         #endregion
                         break;
-                    case "Curtain":
+                    case FunctionCategory.Curtain:
                         #region Curtain
                         btnName.TextID = StringId.Curtain;
                         functionCount = DB_ResidenceData.residenceData.functionList.curtains.Count;
-
+                        functionOnCount = DB_ResidenceData.residenceData.functionList.curtains.FindAll((obj) => obj.on_off == "on").Count;
                         Button btnClose;
                         btnClose = new Button()
                         {
@@ -556,37 +549,37 @@
                         };
                         #endregion
                         break;
-                    case "FloorHeating":
+                    case FunctionCategory.FloorHeating:
                         btnName.TextID = StringId.FloorHeating;
                         break;
-                    case "DoorLock":
+                    case FunctionCategory.DoorLock:
                         btnName.TextID = StringId.DoorLock;
                         break;
-                    case "Electric":
+                    case FunctionCategory.Electric:
                         btnName.TextID = StringId.Electric;
                         break;
-                    case "EnergyMonitoring":
+                    case FunctionCategory.EnergyMonitoring:
                         btnName.TextID = StringId.EnergyMonitoring;
                         break;
-                    case "Environmental":
+                    case FunctionCategory.Environmental:
                         btnName.TextID = StringId.Environmental;
                         break;
-                    case "FreshAir":
+                    case FunctionCategory.FreshAir:
                         btnName.TextID = StringId.FreshAir;
                         break;
-                    case "Music":
+                    case FunctionCategory.Music:
                         btnName.TextID = StringId.Music;
                         break;
-                    case "Panel":
+                    case FunctionCategory.Panel:
                         btnName.TextID = StringId.Panel;
                         break;
-                    case "SecurityMonitoring":
+                    case FunctionCategory.SecurityMonitoring:
                         btnName.TextID = StringId.SecurityMonitoring;
                         break;
-                    case "Sensor":
+                    case FunctionCategory.Sensor:
                         btnName.TextID = StringId.Sensor;
                         break;
-                    case "VideoIntercom":
+                    case FunctionCategory.VideoIntercom:
                         btnName.TextID = StringId.VideoIntercom;
                         break;
 
@@ -601,7 +594,8 @@
                     TextColor = CSS_Color.FirstLevelTitleColor,
                     TextSize = CSS_FontSize.TextFontSize,
                     TextAlignment = TextAlignment.CenterLeft,
-                    Text = "0/" + functionCount.ToString()
+                    Text = functionOnCount + "/" + functionCount,
+                    Tag = item + "_onCount"
                 };
                 functionView.AddChidren(btnFunctionCount);
 
@@ -616,5 +610,93 @@
             #endregion
 
         }
+
+
+        #region 鍒囨崲妤煎眰
+        /// <summary>
+        /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢
+        /// </summary>
+        void LoadDialog_ChangeFloor()
+        {
+            EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+                var dialog = new Dialog();
+                var dialogBody = new FrameLayout();
+                dialog.AddChidren(dialogBody);
+                dialogBody.MouseUpEventHandler += (sender1, e1) => {
+                    dialog.Close();
+                };
+
+                var dispalyView = new FrameLayout()
+                {
+                    X = Application.GetRealWidth(10),
+                    Y = Application.GetRealHeight(100),
+                    Width = Application.GetRealWidth(160),
+                    Height = Application.GetRealHeight(190),
+                    BackgroundImagePath = "PersonalCenter/HomeListbg.png",
+                };
+                dialogBody.AddChidren(dispalyView);
+
+                var contentView = new VerticalScrolViewLayout()
+                {
+                    X = Application.GetRealWidth(8),
+                    Y = Application.GetRealHeight(10),
+                    Width = Application.GetRealWidth(150),
+                    Height = Application.GetRealHeight(44 * 4),
+                };
+                dispalyView.AddChidren(contentView);
+
+                List<string> chooseList = new List<string>();
+                chooseList.Add(Language.StringByID(StringId.All));
+                chooseList.AddRange(DB_ResidenceData.residenceData.floors);
+
+                foreach (var floor in chooseList)
+                {
+                    if (floor != Language.StringByID(StringId.All))
+                    {
+                        contentView.AddChidren(new Button()
+                        {
+                            Gravity = Gravity.CenterHorizontal,
+                            Width = Application.GetRealWidth(112),
+                            Height = Application.GetRealHeight(1),
+                            BackgroundColor = CSS.CSS_Color.BackgroundColor
+                        });
+                    }
+                    var btnHomeName = new Button()
+                    {
+                        Gravity = Gravity.CenterHorizontal,
+                        Width = Application.GetRealWidth(112),
+                        Height = Application.GetRealHeight(44),
+                        TextAlignment = TextAlignment.CenterLeft,
+                        TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+                        SelectedTextColor = CSS.CSS_Color.MainColor,
+                        Text = floor,
+                        TextSize = CSS.CSS_FontSize.SubheadingFontSize,
+                        IsSelected = btnFloor.Text == floor,
+                        IsMoreLines = true,
+                        Tag = floor
+                    };
+                    contentView.AddChidren(btnHomeName);
+
+                    btnHomeName.MouseUpEventHandler += (senderH, en) =>
+                    {
+                        dialog.Close();
+
+                        btnFloor.Text = floor;
+                        UserConfig.Instance.SaveUserConfig();
+                    };
+                }
+
+                dialog.Show();
+            };
+
+            btnFloor.MouseUpEventHandler = eventHandler;
+            btnFloorDownIcon.MouseUpEventHandler = eventHandler;
+        }
+
+        void LoadEvent_ChangeFloorDisplay()
+        {
+
+        }
+        #endregion
     }
 }

--
Gitblit v1.8.0