From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs |  195 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 160 insertions(+), 35 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
index 6aa31b3..85ad984 100644
--- 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,14 +21,14 @@
         /// 鍦烘櫙鍐呭鏄剧ず鍖哄煙
         /// </summary>
         FrameLayout floorChangeView;
+        /// <summary>
+        /// 妤煎眰鎴块棿閫夋嫨鐨勪笅鎷夊璞�
+        /// </summary>
+        FloorRoomSelectPopupView floorRoomSelectView = null;
         Button btnSceneTilte;
 
         #region 鍦烘櫙搴曢儴鍒囨崲鏄剧ず鍖哄煙
         FrameLayout topView;
-        /// <summary>
-        /// 鍦烘櫙鍖哄煙锛岄《閮ㄥ尯鍩�
-        /// </summary>
-        FrameLayout sceneTopView;
         /// <summary>
         /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
         /// </summary>
@@ -60,6 +61,7 @@
 
         public void LoadPage()
         {
+            MainPage.CurPageIndex = 2;
             bodyView.BackgroundColor = CSS_Color.MainBackgroundColor;
             #region top
             topView = new FrameLayout()
@@ -69,7 +71,10 @@
             };
             bodyView.AddChidren(topView);
 
-            if (DB_ResidenceData.Instance.GatewayType == 0 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+            //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲
+            var HideAutoPage = DB_ResidenceData.Instance.CurrentRegion.isOtherShare;
+            //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+            if (HideAutoPage)
             {
                 btnSceneTilte = new Button()
                 {
@@ -125,15 +130,20 @@
                 Height = Application.GetMinRealAverage(28),
                 UnSelectedImagePath = "Public/AddIcon.png",
             };
-            topView.AddChidren(btnAddIconBg);
-
+            //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+            {
+                topView.AddChidren(btnAddIconBg);
+            }
             btnAddIcon = new Button()
             {
                 X = Application.GetRealWidth(337-20),
                 Width = Application.GetMinRealAverage(28+30),
                 Height = Application.GetMinRealAverage(28+29),
             };
-            topView.AddChidren(btnAddIcon);
+            //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+            {
+                topView.AddChidren(btnAddIcon);
+            }
             #endregion
 
             contentPageView = new PageLayout()
@@ -146,7 +156,11 @@
             bodyView.AddChidren(contentPageView);
 
             LoadScenePageView();
-            LoadAutomationPageView();
+            //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+            if (!HideAutoPage)
+            {
+                LoadAutomationPageView();
+            }
             LoadEventList();
 
         }
@@ -163,18 +177,10 @@
             /// </summary>
             floorChangeView = new FrameLayout()
             {
-                Height = Application.GetRealHeight(52),
+                Height = Application.GetRealHeight(53),
             };
             scenePageView.AddChidren(floorChangeView);
             #region 鍦烘櫙搴曢儴鍒囨崲鏄剧ず鍖哄煙
-            /// <summary>
-            /// 鍦烘櫙鍖哄煙锛岄《閮ㄥ尯鍩�
-            /// </summary>
-            sceneTopView = new FrameLayout()
-            {
-                Height = Application.GetRealHeight(53),
-            };
-            floorChangeView.AddChidren(sceneTopView);
             /// <summary>
             /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣
             /// </summary>
@@ -183,7 +189,7 @@
                 Width = Application.GetMinRealAverage(16),
                 Height = Application.GetMinRealAverage(16),
                 X = Application.GetRealWidth(16),
-                Y = Application.GetRealHeight(18),
+               Gravity = Gravity.CenterVertical,
                 UnSelectedImagePath = "Public/DownIcon.png",
             };
             floorChangeView.AddChidren(btnFloorDownIcon);
@@ -193,7 +199,7 @@
             btnFloor = new Button()
             {
                 X = btnFloorDownIcon.Right,
-                Y = Application.GetRealHeight(18),
+               Gravity = Gravity.CenterVertical,
                 Width = Application.GetRealWidth(200),
                 Height = Application.GetMinRealAverage(16),
                 TextColor = CSS_Color.FirstLevelTitleColor,
@@ -201,23 +207,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,
+                Y = Application.GetRealHeight(53),  
                 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);
 
@@ -226,7 +249,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)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
                     //{
@@ -235,13 +269,15 @@
                     //}
                     if (index % 2 == 0)
                     {
-                        sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
                         rowView = new FrameLayout()
                         {
                             Height = Application.GetRealWidth(122),
                         };
                         sceneFunctionView.AddChidren(rowView);
-                        sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
+                        sceneFunctionView.AddChidren(new Button()
+                        {
+                            Height = Application.GetRealHeight(7 + 7),
+                        });
                     }
                     var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16);
 
@@ -309,6 +345,19 @@
                 };
                 view.AddChidren(btnCoverd);
 
+                Button btnShowDelay;
+                btnShowDelay = new Button()
+                {
+                    X = Application.GetRealWidth(40),
+                    Y = Application.GetRealWidth(4),
+                    Height = Application.GetRealWidth(32),
+                    Width = Application.GetRealWidth(100),
+                    TextColor = CSS_Color.AuxiliaryColor1,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                };
+                view.AddChidren(btnShowDelay);
+
                 Button btnName;
                 btnName = new Button()
                 {
@@ -347,7 +396,10 @@
                     Width = Application.GetRealWidth(32),
                     UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png",
                 };
-                view.AddChidren(btnSettingIcon);
+                if (scene.userId == UserInfo.Current.ID)
+                {
+                    view.AddChidren(btnSettingIcon);
+                }
 
                 Button btnCollection;
                 btnCollection = new Button()
@@ -361,14 +413,19 @@
                     IsSelected = scene.collect,
                 };
                 view.AddChidren(btnCollection);
+                //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳�
+                //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+                //{
+                //    view.AddChidren(btnCollection);
+                //}
                 btnCollection.MouseUpEventHandler = (sender, e) => {
                     scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected;
                     scene.CollectScene();
                 };
-                LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene);
+                LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
                 btnSettingIcon.MouseUpEventHandler = (sender, e) => {
                     Action backAction = () => {
-                        LoadSceneFunctionControlZone();
+                        LoadSceneFunctionControlZone(null);
                     };
                     Action refreshAction = () => {
                         btnName.Text = scene.name;
@@ -381,6 +438,53 @@
                     aep.LoadPage(refreshAction);
                     MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                 };
+                //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑
+                scene.SceneCountDown(btnShowDelay);
+
+                //if (scene.LastExecutionTime == "" || Convert.ToDouble(scene.LastExecutionTime) + Convert.ToDouble(scene.delay) < Convert.ToDouble(Utlis.GetTimestamp(false)))
+                //{
+                //    int time = 0;
+                //    int.TryParse(Convert.ToInt32(
+                //        Convert.ToDouble(scene.LastExecutionTime) + Convert.ToDouble(scene.delay) - Convert.ToDouble(Utlis.GetTimestamp(false))
+                //        ).ToString(),out time);
+                //    if (time > 0)
+                //    {
+                //        new System.Threading.Thread(() =>
+                //        {
+                //            //int time = Convert.ToInt32(scene.delay);
+                //            if (time > 0)
+                //            {
+                //                while (time > 0)
+                //                {
+                //                    Application.RunOnMainThread(() =>
+                //                    {
+                //                        if (time / 60 > 1)
+                //                        {
+                //                            btnShowDelay.Text = (time / 60).ToString() + "min";
+                //                        }
+                //                        else
+                //                        {
+                //                            btnShowDelay.Text = (time--).ToString() + "s";
+                //                        }
+                //                    });
+                //                    if (time / 60 > 1)
+                //                    {
+                //                        System.Threading.Thread.Sleep(time / 60 * 60000);
+                //                    }
+                //                    else
+                //                    {
+                //                        System.Threading.Thread.Sleep(1000);
+                //                    }
+                //                }
+                //                Application.RunOnMainThread(() =>
+                //                {
+                //                    btnShowDelay.Text = "";
+                //                });
+                //            }
+                //        })
+                //        { IsBackground = true, Priority = System.Threading.ThreadPriority.BelowNormal }.Start();
+                //    }
+                //}
             }
             catch (Exception ex)
             {
@@ -395,12 +499,11 @@
         /// </summary>
         void LoadAutomationPageView()
         {
-            //btnAddIcon.RemoveFromParent();
             automationPage = new FrameLayout();
             contentPageView.AddChidren(automationPage);
             UI2.Intelligence.Automation.MainView.automationPage = automationPage;
             UI2.Intelligence.Automation.MainView.MainShow();
-        }
+        }
         #endregion
     }
 
@@ -479,9 +582,21 @@
             {
                 if (!btnAutomationTitle.IsSelected)
                 {
+                    //濡傛灉鏄垚鍛�
+                    if (DB_ResidenceData.Instance.CurrentRegion.isOtherShare)
+                    {
+                        //濡傛灉娌℃湁鍦烘櫙鏉冮檺
+                        if (!DB_ResidenceData.Instance.CurrentRegion.isAllowCreateScene)
+                        {
+                            //鎻愮ず娌℃湁鍦烘櫙鐨勫垱寤烘潈闄�
+                            Utlis.ShowTip(Language.StringByID(StringId.PermissionDenied));
+                            return;
+                        }
+                    }
+
                     Action action = () =>
                     {
-                        LoadSceneFunctionControlZone();
+                        LoadSceneFunctionControlZone(null);
                     };
                     var aep = new NewSceneMenuListPage(action);
                     MainPage.BasePageView.AddChidren(aep);
@@ -500,14 +615,24 @@
         /// <summary>
         /// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢
         /// </summary>
-        void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone, Scene scene)
+        void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone,Button btnShowDelay, Scene scene)
         {
 
             EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
             {
+                //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑锛屼笉鍏佽鍐嶇偣鍑�
+                if (scene.LastExecutionTime == "" || Convert.ToDouble(scene.LastExecutionTime) + Convert.ToDouble(scene.delay) < Convert.ToDouble(Utlis.GetTimestamp(false)))
+                {
+                    scene.LastExecutionTime = Utlis.GetTimestamp(false);
+                }
+                else
+                {
+                    return;
+                }
                 string msg = scene.name + Language.StringByID(StringId.AlreadyOpened);
                 new PublicAssmebly().TipMsgAutoClose(msg, true);
                 Control.Ins.ControlScene(scene);
+                scene.SceneCountDown(btnShowDelay);
             };
             btnCoverd.MouseUpEventHandler = eventHandler;
             btnName.MouseUpEventHandler = eventHandler;

--
Gitblit v1.8.0