From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs | 365 +++++++++++++++++++++++++++++++++++-----------------
1 files changed, 245 insertions(+), 120 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
index b2f5478..4579724 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/IntelligencePage.cs
@@ -1,10 +1,11 @@
锘縰sing System;
+using System.Collections.Generic;
using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
-namespace HDL_ON.UI
+namespace HDL_ON.UI
{
public partial class IntelligencePage : FrameLayout
{
@@ -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,35 +71,58 @@
};
bodyView.AddChidren(topView);
- btnSceneTilte = new Button()
+ //涓嶆槸A缃戝叧鎴栬�呮槸鎴愬憳 鍙厑璁告坊鍔犲満鏅殣钘忚嚜鍔ㄥ寲
+ var HideAutoPage = DB_ResidenceData.Instance.CurrentRegion.IsOthreShare;
+ //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+ if (HideAutoPage)
{
- Y = Application.GetRealHeight(30),
- Width = Application.GetRealWidth(170),
- Height = Application.GetRealHeight(25),
- TextAlignment = TextAlignment.CenterRight,
- TextSize = CSS_FontSize.HeadlineFontSize,
- TextColor = CSS_Color.PromptingColor1,
- SelectedTextColor = CSS_Color.MainColor,
- TextID = StringId.Scenes,
- IsSelected = true
- };
- topView.AddChidren(btnSceneTilte);
-
- btnAutomationTitle = new Button()
+ btnSceneTilte = new Button()
+ {
+ Y = Application.GetRealHeight(30),
+ //Width = Application.GetRealWidth(170),
+ Height = Application.GetRealHeight(25),
+ TextAlignment = TextAlignment.Center,
+ TextSize = CSS_FontSize.HeadlineFontSize,
+ TextColor = CSS_Color.PromptingColor1,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextID = StringId.Scenes,
+ IsSelected = true
+ };
+ topView.AddChidren(btnSceneTilte);
+ btnAutomationTitle = new Button();
+ }
+ else
{
- X = Application.GetRealWidth(209),
- Y = Application.GetRealHeight(30),
- Width = Application.GetRealWidth(170),
- Height = Application.GetRealHeight(25),
- TextAlignment = TextAlignment.CenterLeft,
- TextSize = CSS_FontSize.TextFontSize,
- TextColor = CSS_Color.PromptingColor1,
- SelectedTextColor = CSS_Color.MainColor,
- TextID = StringId.Automation,
- };
- topView.AddChidren(btnAutomationTitle);
- btnAddIcon = new Button()
+ btnSceneTilte = new Button()
+ {
+ Y = Application.GetRealHeight(30),
+ Width = Application.GetRealWidth(170),
+ Height = Application.GetRealHeight(25),
+ TextAlignment = TextAlignment.CenterRight,
+ TextSize = CSS_FontSize.HeadlineFontSize,
+ TextColor = CSS_Color.PromptingColor1,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextID = StringId.Scenes,
+ IsSelected = true
+ };
+ topView.AddChidren(btnSceneTilte);
+
+ btnAutomationTitle = new Button()
+ {
+ X = Application.GetRealWidth(209),
+ Y = Application.GetRealHeight(30),
+ Width = Application.GetRealWidth(170),
+ Height = Application.GetRealHeight(25),
+ TextAlignment = TextAlignment.CenterLeft,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextColor = CSS_Color.PromptingColor1,
+ SelectedTextColor = CSS_Color.MainColor,
+ TextID = StringId.Automation,
+ };
+ topView.AddChidren(btnAutomationTitle);
+ }
+ var btnAddIconBg = new Button()
{
X = Application.GetRealWidth(337),
Y = Application.GetRealHeight(29),
@@ -105,7 +130,20 @@
Height = Application.GetMinRealAverage(28),
UnSelectedImagePath = "Public/AddIcon.png",
};
- topView.AddChidren(btnAddIcon);
+ 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),
+ };
+ if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare)
+ {
+ topView.AddChidren(btnAddIcon);
+ }
#endregion
contentPageView = new PageLayout()
@@ -118,7 +156,11 @@
bodyView.AddChidren(contentPageView);
LoadScenePageView();
- LoadAutomationPageView();
+ //鍒ゆ柇鏄惁闇�瑕侀殣钘忚嚜鍔ㄥ寲
+ if (!HideAutoPage)
+ {
+ LoadAutomationPageView();
+ }
LoadEventList();
}
@@ -135,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>
@@ -155,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);
@@ -165,30 +199,48 @@
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,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = DB_ResidenceData.residenceData.CurFoor,
+ 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,
+
+ sceneFunctionView = new VerticalScrolViewLayout()
+ {
+ 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);
@@ -197,22 +249,35 @@
try
{
int index = 0;
- foreach (var function in DB_ResidenceData.functionList.scenes)
+ //鑾峰彇鑳藉鏄剧ず鐨勫満鏅�
+ if (listScene == null)
+ {
+ //鍒濆鍊�
+ if (this.floorRoomSelectView == null)
+ {
+ //鍏堝垵濮嬪寲
+ this.floorRoomSelectView = new FloorRoomSelectPopupView();
+ }
+ listScene = this.floorRoomSelectView.GetCanShowListScene();
+ }
+ foreach (var scene in listScene)
{
- if (function.roomIdList.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
- {
- function.collection = false;
- continue;
- }
+ //if (scene.roomIds.Count == 0)//濡備綍鍦ㄦ埧闂村凡缁忕Щ闄や簡杩欎釜鍔熻兘锛屽垯鏀惰棌鐣岄潰涔熶笉浼氬啀鏄剧ず
+ //{
+ // scene.collect = false;
+ // continue;
+ //}
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);
@@ -221,12 +286,14 @@
X = functionView_X,
Width = Application.GetRealWidth(164),
Height = Application.GetRealWidth(122),
- Tag = function.sid,
- BackgroundImagePath = (function as Scene).ImagePath,
+ Tag = scene.sid,
+ //BackgroundImagePath = (scene as Scene).ImagePath,
};
rowView.AddChidren(functionView);
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, functionView);
- LoadSceneFunctionDiv(functionView, function);
+ LoadSceneFunctionDiv(functionView, scene);
index++;
}
@@ -268,7 +335,7 @@
/// <summary>
/// 鍔犺浇鍦烘櫙鎺у埗鍗$墖
/// </summary>
- void LoadSceneFunctionDiv(FrameLayout view, Function function)
+ void LoadSceneFunctionDiv(FrameLayout view, Scene scene)
{
try
{
@@ -278,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()
{
@@ -285,7 +365,7 @@
Y = Application.GetRealWidth(68),
Width = Application.GetRealWidth(150),
Height = Application.GetRealHeight(24),
- Text = function.name,
+ Text = scene.name,
TextSize = CSS_FontSize.TextFontSize,
TextColor = CSS_Color.MainBackgroundColor,
TextAlignment = TextAlignment.CenterLeft,
@@ -303,10 +383,9 @@
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
TextAlignment = TextAlignment.CenterLeft,
SelectedTextColor = CSS_Color.MainBackgroundColor,
- Text = function.GetRoomListName(),
+ Text = scene.GetRoomListName(),
};
view.AddChidren(btnZone);
-
Button btnSettingIcon;
btnSettingIcon = new Button()
@@ -317,7 +396,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()
@@ -328,28 +410,81 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "Collection/CollectionWhiteIcon.png",
SelectedImagePath = "Collection/CollectionIcon.png",
- IsSelected = function.collection,
+ 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) => {
- function.collection = btnCollection.IsSelected = !btnCollection.IsSelected;
- function.SaveFunctionData();
+ scene.collect = btnCollection.IsSelected = !btnCollection.IsSelected;
+ scene.CollectScene();
};
- LoadEvent_ControlScene(btnCoverd,btnName,btnZone, function);
+ LoadEvent_ControlScene(btnCoverd, btnName, btnZone, btnShowDelay, scene);
btnSettingIcon.MouseUpEventHandler = (sender, e) => {
Action backAction = () => {
- LoadSceneFunctionControlZone();
+ LoadSceneFunctionControlZone(null);
};
Action refreshAction = () => {
- btnName.Text = function.name;
- btnZone.Text = function.GetRoomListName();
- view.BackgroundImagePath = (function as Scene).ImagePath;
+ btnName.Text = scene.name;
+ btnZone.Text = scene.GetRoomListName();
+ //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+ ImageUtlis.Current.LoadLocalOrNetworkImages((scene as Scene).ImagePath, view);
};
- var aep = new SceneEditPage(function as Scene, backAction);
+ var aep = new SceneEditPage(scene, backAction);
MainPage.BasePageView.AddChidren(aep);
- aep.LoadPage(StringId.EditScene, refreshAction);
+ 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)
{
@@ -364,33 +499,11 @@
/// </summary>
void LoadAutomationPageView()
{
- //btnAddIcon.RemoveFromParent();
- ///娓呴櫎涔嬪墠鐣岄潰鏁版嵁閲嶆柊鍔犺浇鏂版暟鎹紱
- contentPageView.RemoveAll();
automationPage = new FrameLayout();
contentPageView.AddChidren(automationPage);
-
- Button btnTipNot = new Button()
- {
- Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(120),
- Width = Application.GetRealWidth(180),
- Height = Application.GetRealWidth(180),
- UnSelectedImagePath = "TipNot.png",
- };
- automationPage.AddChidren(btnTipNot);
-
- Button btnTipNotText = new Button()
- {
- Y = btnTipNot.Bottom,
- Height = Application.GetRealWidth(100),
- TextID = StringId.TipNotOpen,
- TextAlignment = TextAlignment.Center,
- TextColor = CSS_Color.TextualColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- };
- automationPage.AddChidren(btnTipNotText);
- }
+ UI2.Intelligence.Automation.MainView.automationPage = automationPage;
+ UI2.Intelligence.Automation.MainView.MainShow();
+ }
#endregion
}
@@ -455,7 +568,6 @@
btnSceneTilte.IsSelected = false;
btnSceneTilte.TextSize = CSS_FontSize.TextFontSize;
contentPageView.PageIndex = 1;
- LoadAutomationPageView();
};
}
@@ -470,9 +582,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);
@@ -482,7 +606,8 @@
else
{
//璺宠浆鍒伴�昏緫鐣岄潰
- SkipAddLogicPage();
+ UI2.Intelligence.Automation.MainView logicMainView = new UI2.Intelligence.Automation.MainView();
+ logicMainView.SkipAddLogicPage();
}
};
}
@@ -491,30 +616,30 @@
/// <summary>
/// 鍔犺浇鍦烘櫙鎺у埗浜嬩欢
/// </summary>
- void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone, Function function)
+ void LoadEvent_ControlScene(Button btnCoverd, Button btnName, Button btnZone,Button btnShowDelay, Scene scene)
{
EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
{
- string msg = function.name + Language.StringByID(StringId.AlreadyOpened);
+ //鍦烘櫙姝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(function as Scene);
+ Control.Ins.ControlScene(scene);
+ scene.SceneCountDown(btnShowDelay);
};
btnCoverd.MouseUpEventHandler = eventHandler;
btnName.MouseUpEventHandler = eventHandler;
btnZone.MouseUpEventHandler = eventHandler;
}
- /// <summary>
- /// 璺宠浆鍒伴�昏緫鐣岄潰鐨勬柟娉�
- /// </summary>
- public void SkipAddLogicPage()
- {
- HDL_ON.UI.UI2.Intelligence.Automation.Logic.currlogic = new UI2.Intelligence.Automation.Logic();
- var addLogic = new UI2.Intelligence.Automation.AddLogic();
- MainPage.BasePageView.AddChidren(addLogic);
- addLogic.Show();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- }
+
}
}
--
Gitblit v1.8.0