From 263401d40b2d9d2c1b36a24f33d45c5cb7192518 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期三, 23 十二月 2020 15:51:54 +0800 Subject: [PATCH] 20201223-6 --- HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 152 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs index b995002..fd70da5 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,6 +21,10 @@ /// 鍦烘櫙鍐呭鏄剧ず鍖哄煙 /// </summary> FrameLayout floorChangeView; + /// <summary> + /// 妤煎眰鎴块棿閫夋嫨鐨勪笅鎷夊璞� + /// </summary> + FloorRoomSelectPopupView floorRoomSelectView = null; Button btnSceneTilte; #region 鍦烘櫙搴曢儴鍒囨崲鏄剧ず鍖哄煙 @@ -69,7 +74,10 @@ }; bodyView.AddChidren(topView); - if (DB_ResidenceData.Instance.GatewayType == 0) + //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲 + var HideAutoPage = DB_ResidenceData.Instance.GatewayType != 1 || DB_ResidenceData.Instance.CurrentRegion.IsOthreShare; + //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲 + if (HideAutoPage) { btnSceneTilte = new Button() { @@ -85,7 +93,6 @@ }; topView.AddChidren(btnSceneTilte); btnAutomationTitle = new Button(); - } else { @@ -126,15 +133,20 @@ Height = Application.GetMinRealAverage(28), UnSelectedImagePath = "Public/AddIcon.png", }; - topView.AddChidren(btnAddIconBg); - + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + 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.IsOthreShare) + { + topView.AddChidren(btnAddIcon); + } #endregion contentPageView = new PageLayout() @@ -147,7 +159,11 @@ bodyView.AddChidren(contentPageView); LoadScenePageView(); - LoadAutomationPageView(); + //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲 + if (!HideAutoPage) + { + LoadAutomationPageView(); + } LoadEventList(); } @@ -202,23 +218,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 +260,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)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず //{ @@ -310,6 +354,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() { @@ -348,7 +405,10 @@ Width = Application.GetRealWidth(32), UnSelectedImagePath = "Public/FuncInfoSetIcon_white.png", }; - view.AddChidren(btnSettingIcon); + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + view.AddChidren(btnSettingIcon); + } Button btnCollection; btnCollection = new Button() @@ -361,15 +421,20 @@ SelectedImagePath = "Collection/CollectionIcon.png", IsSelected = scene.collect, }; - view.AddChidren(btnCollection); + //view.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + 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; @@ -382,6 +447,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) { @@ -396,12 +508,11 @@ /// </summary> void LoadAutomationPageView() { - //btnAddIcon.RemoveFromParent(); automationPage = new FrameLayout(); contentPageView.AddChidren(automationPage); UI2.Intelligence.Automation.MainView.automationPage = automationPage; UI2.Intelligence.Automation.MainView.MainShow(); - } + } #endregion } @@ -480,9 +591,21 @@ { if (!btnAutomationTitle.IsSelected) { + //濡傛灉鏄垚鍛� + if (DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) + { + //濡傛灉娌℃湁鍦烘櫙鏉冮檺 + 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); @@ -501,14 +624,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