From f4c86f68b900bd506ef7214b2ae9bd23a9d2ffa8 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期六, 19 十二月 2020 17:48:11 +0800
Subject: [PATCH] 完成筛选房间的功能

---
 HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs |   59 +++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 10 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
index 6f1aa84..efac389 100755
--- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
@@ -1,4 +1,5 @@
 锘縰sing System;
+using System.Collections.Generic;
 using HDL_ON.DriverLayer;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
@@ -20,6 +21,10 @@
         /// 鍦烘櫙鍐呭鏄剧ず鍖哄煙
         /// </summary>
         FrameLayout floorChangeView;
+        /// <summary>
+        /// 妤煎眰鎴块棿閫夋嫨鐨勪笅鎷夊璞�
+        /// </summary>
+        FloorRoomSelectPopupView floorRoomSelectView = null;
         Button btnSceneTilte;
 
         #region 鍦烘櫙搴曢儴鍒囨崲鏄剧ず鍖哄煙
@@ -70,7 +75,9 @@
             bodyView.AddChidren(topView);
 
             //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲
-            if (DB_ResidenceData.Instance.GatewayType != 1 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+            var HideAutoPage = DB_ResidenceData.Instance.GatewayType != 1 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare;
+            //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+            if (HideAutoPage)
             {
                 btnSceneTilte = new Button()
                 {
@@ -147,7 +154,11 @@
             bodyView.AddChidren(contentPageView);
 
             LoadScenePageView();
-            LoadAutomationPageView();
+            //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+            if (!HideAutoPage)
+            {
+                LoadAutomationPageView();
+            }
             LoadEventList();
 
         }
@@ -202,23 +213,40 @@
                 TextAlignment = TextAlignment.CenterLeft,
                 Text = DB_ResidenceData.Instance.CurFloor.roomName,
             };
-            floorChangeView.AddChidren(btnFloor);
+            floorChangeView.AddChidren(btnFloor);
+
+            string nowSelectId = null;
+            btnFloor.MouseUpEventHandler += (sender, e) =>
+            {
+                if (this.floorRoomSelectView == null)
+                {
+                    //鍏堝垵濮嬪寲
+                    this.floorRoomSelectView = new FloorRoomSelectPopupView();
+                }
+                //鏄剧ず涓嬫媺鍒楄〃
+                this.floorRoomSelectView.ShowSceneView(btnFloor, (selectId, listScene) =>
+                {
+                    nowSelectId = selectId;
+                    //閲嶆柊鍒锋柊鍦烘櫙鍒楄〃
+                    this.LoadSceneFunctionControlZone(listScene);
+                }, nowSelectId);
+            };
 
             #endregion
-
+
             sceneFunctionView = new VerticalScrolViewLayout()
             {
                 Y = floorChangeView.Bottom,
                 Height = Application.GetRealHeight(667 - 64 - 49 - 52 + 30),
             };
             scenePageView.AddChidren(sceneFunctionView);
-            LoadSceneFunctionControlZone();
+            LoadSceneFunctionControlZone(null);
         }
 
         /// <summary>
         /// 鍔犺浇鍦烘櫙鍔熻兘鏄剧ず鍖哄煙
         /// </summary>
-        void LoadSceneFunctionControlZone()
+        void LoadSceneFunctionControlZone(List<Scene> listScene)
         {
             //topView.AddChidren(btnAddIcon);
 
@@ -227,7 +255,18 @@
             try
             {
                 int index = 0;
-                foreach (var scene in FunctionList.List.scenes)
+                //鑾峰彇鑳藉鏄剧ず鐨勫満鏅�
+                if (listScene == null)
+                {
+                    //鍒濆鍊�
+                    if (this.floorRoomSelectView == null)
+                    {
+                        //鍏堝垵濮嬪寲
+                        this.floorRoomSelectView = new FloorRoomSelectPopupView();
+                    }
+                    listScene = this.floorRoomSelectView.GetCanShowListScene();
+                }
+                foreach (var scene in listScene)
                 {
                     //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
                     //{
@@ -374,7 +413,7 @@
                 LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
                 btnSettingIcon.MouseUpEventHandler = (sender, e) => {
                     Action backAction = () => {
-                        LoadSceneFunctionControlZone();
+                        LoadSceneFunctionControlZone(null);
                     };
                     Action refreshAction = () => {
                         btnName.Text = scene.name;
@@ -406,7 +445,7 @@
             contentPageView.AddChidren(automationPage);
             UI2.Intelligence.Automation.MainView.automationPage = automationPage;
             UI2.Intelligence.Automation.MainView.MainShow();
-        }
+        }
         #endregion
     }
 
@@ -499,7 +538,7 @@
 
                     Action action = () =>
                     {
-                        LoadSceneFunctionControlZone();
+                        LoadSceneFunctionControlZone(null);
                     };
                     var aep = new NewSceneMenuListPage(action);
                     MainPage.BasePageView.AddChidren(aep);

--
Gitblit v1.8.0