From 29160efe0f203c5e65dcf4e5a429ced6bde39187 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 29 八月 2023 15:35:24 +0800
Subject: [PATCH] 2023年08月29日15:35:09
---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 194 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 154 insertions(+), 40 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index 04ca7f2..265338d 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -5,12 +5,16 @@
using HDL_ON.Entity;
using HDL_ON.UI;
using HDL_ON.UI.CSS;
+using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
{
+ /// <summary>
+ /// 鍒嗙被鐣岄潰
+ /// </summary>
public partial class ClassificationPage : FrameLayout
{
@@ -605,21 +609,35 @@
};
}
-
/// <summary>
/// 鍔犺浇鍔熻兘鍒楄〃鐣岄潰
/// </summary>
- void LoadFunctionPageView()
+ void LoadFunctionPageView ()
{
- #region
functionsPageView = new VerticalScrolViewLayout()
{
BackgroundColor = CSS_Color.BackgroundColor,
Height = Application.GetRealHeight(667 - 64 - 49 + 20),
};
contentPageView.AddChidren(functionsPageView);
+ this.RefreshFunctionView();
- FrameLayout functionContentView;
+ }
+ FrameLayout functionContentView;
+ /// <summary>
+ /// 鏄剧ず鍔熻兘鍒楄〃鐣岄潰
+ /// </summary>
+ void RefreshFunctionView()
+ {
+ #region
+ //functionsPageView = new VerticalScrolViewLayout()
+ //{
+ // BackgroundColor = CSS_Color.BackgroundColor,
+ // Height = Application.GetRealHeight(667 - 64 - 49 + 20),
+ //};
+ //contentPageView.AddChidren(functionsPageView);
+
+ //FrameLayout functionContentView;
functionContentView = new FrameLayout()
{
Y = Application.GetRealHeight(16),
@@ -655,6 +673,10 @@
int functionOnCount = 0;
switch (item)
{
+ case ShowFunction.Series:
+ functionCount = FunctionList.List.GetSeries().Count;
+ //functionOnCount = FunctionList.List.GetSeries().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+ break;
case ShowFunction.IpCam:
functionCount = FunctionList.List.GetIpCamImouList().Count;
break;
@@ -692,8 +714,12 @@
break;
case ShowFunction.Electric:
#region 鐢靛櫒
+
functionCount = FunctionList.List.GetElectricals().Count;
functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+#if DEBUG
+ functionCount = 1;
+#endif
#endregion
break;
case ShowFunction.EnergyMonitoring:
@@ -736,15 +762,25 @@
break;
case ShowFunction.SecurityCenter:
functionCount = FunctionList.List.securities.Count;
- //if (DB_ResidenceData.Instance.GatewayType == 1)
- //{
- // functionCount = 1;
- //}
break;
case ShowFunction.Acst:
functionCount = FunctionList.List.GetAcstParentList().Count;
functionOnCount = FunctionList.List.GetAcstParentList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
break;
+ case ShowFunction.VideoDoorLock:
+ functionCount = FunctionList.List.GetVideoDoorLockList().Count;
+ functionOnCount = FunctionList.List.GetAcstParentList().FindAll((obj) => obj.GetAttrState("status").ToString() == "open"
+ || obj.GetAttrState("status").ToString() == "normal_open").Count;
+
+ break;
+ case ShowFunction.Aks:
+ functionCount = FunctionList.List.GetVideoControlsList().Count;
+#if DEBUG
+ functionCount = 1;
+#endif
+ functionOnCount = 1;
+ break;
+
}
@@ -798,11 +834,18 @@
TextAlignment = TextAlignment.CenterLeft,
IsMoreLines = true,
};
- functionView.AddChidren(btnName);
-
- if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
- && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
- && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
+ functionView.AddChidren(btnName);
+ //鍘绘帀鍔熻兘澶栭潰寮�鍏充釜鏁�;
+ if (item != ShowFunction.Aks
+ && item != ShowFunction.VideoDoorLock
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.Sensor
+ && item != ShowFunction.VideoIntercom
+ && item != ShowFunction.SecurityMonitoring
+ && item != ShowFunction.FreshAir
+ && item != ShowFunction.Music
+ && item != ShowFunction.EnergyMonitoring
+ && item != ShowFunction.SecurityCenter
&& item != ShowFunction.Acst && item != ShowFunction.IpCam
&& functionCount != 0)
{
@@ -817,21 +860,29 @@
TextAlignment = TextAlignment.CenterLeft,
Text = "/" + functionCount,
};
- functionView.AddChidren(btnFunctionCount);
- Button btnOpenCount = new Button()
+ if (item == ShowFunction.Series)
{
- X = Application.GetRealWidth(16),
- Y = btnName.Bottom,
- Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
- Height = Application.GetRealHeight(24),
- TextColor = CSS_Color.MainColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextAlignment = TextAlignment.CenterLeft,
- Text = functionOnCount.ToString(),
- Tag = item + "_onCount",
- BorderWidth = 0,
- };
- functionView.AddChidren(btnOpenCount);
+ btnFunctionCount.Text = functionCount.ToString();
+ }
+ functionView.AddChidren(btnFunctionCount);
+
+ if (item != ShowFunction.Series)
+ {
+ Button btnOpenCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = functionOnCount.ToString(),
+ Tag = item + "_onCount",
+ BorderWidth = 0,
+ };
+ functionView.AddChidren(btnOpenCount);
+ }
}
@@ -846,6 +897,16 @@
int functionPageTitleId = 0;
switch (item)
{
+ case ShowFunction.Series:
+ btnName.TextID = StringId.HorseRaceLamp;
+ functionPageTitleId = StringId.HorseRaceLamp;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+ var page2 = new UI2.Classification.SeriesFunctionListPage();
+ MainPage.BasePageView.AddChidren(page2);
+ page2.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ break;
case ShowFunction.Light:
#region Light
btnName.TextID = StringId.Lights;
@@ -1010,13 +1071,15 @@
case ShowFunction.EnergyMonitoring:
#region 鑳芥簮鐩戞祴
btnName.TextID = StringId.EnergyMonitoring;
- btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
- {
- var skipView = new EnergyMainPage();
- MainPage.BasePageView.AddChidren(skipView);
- skipView.LoadPage();
- MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
- };
+ functionPageTitleId = StringId.EnergyMonitoring;
+
+ //btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ //{
+ // var skipView = new EnergyMainPage();
+ // MainPage.BasePageView.AddChidren(skipView);
+ // skipView.LoadPage();
+ // MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ //};
#endregion
break;
case ShowFunction.Environmental:
@@ -1143,12 +1206,45 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
break;
-
+ case ShowFunction.VideoDoorLock:
+ //钀ょ煶瑙嗛闂ㄩ攣
+ btnName.TextID = StringId.yingshishipinmensuo;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ {
+ var list =CommonMethod.Current.GetVideoDoorLockList();
+ var form = new VideoDoorLockListPage(()=> {
+ functionContentView?.RemoveFromParent();
+ this.RefreshFunctionView();
+ });
+ form.AddForm(list);
+ };
+ break;
+ case ShowFunction.Aks:
+ //鍩冨厠鏂奖闊充腑鎺�
+ btnName.TextID = StringId.jiatingyingyuan;
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ {
+ var list = HDL_ON.UI.UI2.FuntionControlView.Aks.AksCommonMethod.Current.GetVideoControlsList();
+ var form = new HDL_ON.UI.UI2.FuntionControlView.Aks.AksListPage(() => {
+ functionContentView?.RemoveFromParent();
+ this.RefreshFunctionView();
+ });
+ form.AddForm(list);
+ };
+ break;
}
- //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�
- if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring && item != ShowFunction.DoorLock
- && ShowFunction.EnergyMonitoring != item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item
+ //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�--(钀ょ煶瑙嗛闂ㄩ攣)璺宠浆鑷繁鐨勭晫闈�--鍩冨厠鏂奖闊充腑鎺�
+ if (item != ShowFunction.VideoDoorLock
+ && item != ShowFunction.Aks
+ && item != ShowFunction.Music
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.SecurityMonitoring
+ && item != ShowFunction.DoorLock
+ //&& ShowFunction.EnergyMonitoring != item
+ && ShowFunction.VideoIntercom != item
+ && ShowFunction.SecurityCenter != item
+ && ShowFunction.Series != item
&& ShowFunction.Acst != item)
{
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
@@ -1226,7 +1322,7 @@
int count = 0;
foreach (var temp in FunctionList.List.InverterList())
{
- if (temp.online)
+ if (temp.isOnline())
{
if (temp.trait_on_off.state.ToString() == "on")
{
@@ -1386,9 +1482,25 @@
string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={OnAppConfig.Instance.RequestHttpsHost}&language={lz}";
Inverter.Ins.ShowWebviewFormUrl(url);
+ new System.Threading.Thread(() =>
+ {
+ System.Threading.Thread.Sleep(2000);
+ Application.RunOnMainThread(() =>
+ {
+ var status = new Dictionary<string, object> { ["method"] = "weather", ["data"] = MainPage.cityInfo.weather };
+ Inverter.Ins.H5Page.CallJS($"nativeToJs(\'{Newtonsoft.Json.JsonConvert.SerializeObject(status)}\')");
+ });
+ })
+ { IsBackground = true }.Start();
Inverter.Ins.H5Page.JSToNativeAction = (dictionary) =>
{
+#if __IOS__
JObject jObj = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary));
+#else
+ var valuePairs = "";
+ dictionary.TryGetValue("method", out valuePairs);
+ JObject jObj = JObject.Parse(valuePairs);
+#endif
if (!jObj.ContainsKey("method") || !jObj.ContainsKey("data"))
{
@@ -1441,9 +1553,11 @@
s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight + Application.GetRealWidth(40);
- #endregion
+#endregion
}
+
+
void refreshInverterInfo(Button btnPowerTenerationToday, Button btnWorkingMode, Button btnCurrentPowerGeneration)
{
new System.Threading.Thread(() =>
--
Gitblit v1.8.0