From eda3fb873e59544ff36301b51e05aef64f87b0f9 Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 27 八月 2021 13:21:21 +0800 Subject: [PATCH] Merge branch 'newBranch1' of http://172.16.1.23:6688/r/~wxr/HDL_APP_Project into newBranch1 --- HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 228 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 155 insertions(+), 73 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs index b995002..91a1d58 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) + //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲 + var HideAutoPage = DB_ResidenceData.Instance.CurrentRegion.isOtherShare; + //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲 + if (HideAutoPage) { btnSceneTilte = new Button() { @@ -85,7 +90,6 @@ }; topView.AddChidren(btnSceneTilte); btnAutomationTitle = new Button(); - } else { @@ -127,12 +131,11 @@ UnSelectedImagePath = "Public/AddIcon.png", }; topView.AddChidren(btnAddIconBg); - btnAddIcon = new Button() { - X = Application.GetRealWidth(337-20), - Width = Application.GetMinRealAverage(28+30), - Height = Application.GetMinRealAverage(28+29), + X = Application.GetRealWidth(337 - 20), + Width = Application.GetMinRealAverage(28 + 30), + Height = Application.GetMinRealAverage(28 + 29), }; topView.AddChidren(btnAddIcon); #endregion @@ -147,7 +150,11 @@ bodyView.AddChidren(contentPageView); LoadScenePageView(); - LoadAutomationPageView(); + //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲 + if (!HideAutoPage) + { + LoadAutomationPageView(); + } LoadEventList(); } @@ -164,18 +171,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> @@ -184,7 +183,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); @@ -194,7 +193,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, @@ -204,65 +203,55 @@ }; 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); - sceneFunctionView.RemoveAll(); - var rowView = new FrameLayout(); try { int index = 0; - foreach (var scene in FunctionList.List.scenes) + //鑾峰彇鑳藉鏄剧ず鐨勫満鏅� + if (listScene == null) { - //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず - //{ - // scene.collect = false; - // continue; - //} - if (index % 2 == 0) + //鍒濆鍊� + if (this.floorRoomSelectView == null) { - 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) }); + //鍏堝垵濮嬪寲 + this.floorRoomSelectView = new FloorRoomSelectPopupView(); } - var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16); - - var functionView = new FrameLayout() - { - X = functionView_X, - Width = Application.GetRealWidth(164), - Height = Application.GetRealWidth(122), - Tag = scene.sid, - //BackgroundImagePath = (scene as Scene).ImagePath, - }; - rowView.AddChidren(functionView); - //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 - ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView); - - LoadSceneFunctionDiv(functionView, scene); - index++; + listScene = this.floorRoomSelectView.GetCanShowListScene(); } - - if (index == 0) + if (listScene.Count == 0) { var view = new FrameLayout(); sceneFunctionView.AddChidren(view); @@ -288,6 +277,38 @@ }; view.AddChidren(btnNoCollectionTip); } + else + { + var rowView = new FrameLayout(); + new System.Threading.Thread(() => + { + foreach (var scene in listScene) + { + System.Threading.Thread.Sleep(10); + Application.RunOnMainThread(() => + { + if (index % 2 == 0) + { + rowView = new FrameLayout() + { + Height = Application.GetRealWidth(122), + }; + sceneFunctionView.AddChidren(rowView); + sceneFunctionView.AddChidren(new Button() + { + Height = Application.GetRealHeight(7 + 7), + }); + } + var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16); + + var functionView = LoadSceneFunctionDiv(functionView_X, scene); + rowView.AddChidren(functionView); + index++; + }); + } + }) + { IsBackground = true }.Start(); + } } catch (Exception ex) { @@ -300,8 +321,19 @@ /// <summary> /// 鍔犺浇鍦烘櫙鎺у埗鍗$墖 /// </summary> - void LoadSceneFunctionDiv(FrameLayout view, Scene scene) + //FrameLayout LoadSceneFunctionDiv(FrameLayout view, Scene scene) + FrameLayout LoadSceneFunctionDiv(int functionView_X, Scene scene) { + var view = new FrameLayout() + { + X = functionView_X, + Width = Application.GetRealWidth(164), + Height = Application.GetRealWidth(122), + Tag = scene.sid, + }; + //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 + ImageUtlis.Current.LoadLocalOrNetworkImages(scene.ImagePath, view); + try { Button btnCoverd = new Button() @@ -309,6 +341,19 @@ UnSelectedImagePath = "Collection/SceneCovered.png", }; 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() @@ -328,7 +373,7 @@ btnZone = new Button() { X = Application.GetRealWidth(12), - Y = btnName.Bottom, + Y = Application.GetRealWidth(68+24), Height = Application.GetRealWidth(18), Width = Application.GetRealWidth(113), TextColor = CSS_Color.MainBackgroundColor, @@ -348,7 +393,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() @@ -362,16 +410,20 @@ IsSelected = scene.collect, }; view.AddChidren(btnCollection); - btnCollection.MouseUpEventHandler = (sender, e) => { + btnCollection.MouseUpEventHandler = (sender, e) => + { scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected; scene.CollectScene(); }; - LoadEvent_ControlScene(btnCoverd,btnName,btnZone, scene); - btnSettingIcon.MouseUpEventHandler = (sender, e) => { - Action backAction = () => { - LoadSceneFunctionControlZone(); + LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene); + btnSettingIcon.MouseUpEventHandler = (sender, e) => + { + Action backAction = () => + { + LoadSceneFunctionControlZone(null); }; - Action refreshAction = () => { + Action refreshAction = () => + { btnName.Text = scene.name; btnZone.Text = scene.GetRoomListName(); //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶 @@ -382,10 +434,18 @@ aep.LoadPage(refreshAction); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; + //鍦烘櫙姝e湪鍊掕鏃舵墽琛屼腑 + scene.SceneCountDown(btnShowDelay); + + return view; } catch (Exception ex) { MainPage.Log("homepage LoadControlView error : " + ex.Message); + return view; + } + finally + { } } #endregion @@ -396,7 +456,6 @@ /// </summary> void LoadAutomationPageView() { - //btnAddIcon.RemoveFromParent(); automationPage = new FrameLayout(); contentPageView.AddChidren(automationPage); UI2.Intelligence.Automation.MainView.automationPage = automationPage; @@ -480,9 +539,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); @@ -492,7 +563,8 @@ else { //璺宠浆鍒伴�昏緫鐣岄潰 - UI2.Intelligence.Automation.MainView.SkipAddLogicPage(); + UI2.Intelligence.Automation.MainView logicMainView = new UI2.Intelligence.Automation.MainView(); + logicMainView.SkipAddLogicPage(); } }; } @@ -501,14 +573,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