From 452e8cef1c740d18ee398be6971d9952e41dbd4a Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 12 四月 2023 16:11:50 +0800
Subject: [PATCH] 1
---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 366 +++++++++++++++++++++++++++++++++++++++------------
1 files changed, 277 insertions(+), 89 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index bf6e34d..3a04c19 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -5,6 +5,7 @@
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;
@@ -605,21 +606,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),
@@ -649,12 +664,19 @@
var lastY2 = Application.GetRealWidth(16);
var functionContentViewHeight = Application.GetRealWidth(16);
- foreach (var item in DB_ResidenceData.Instance.functionTypeList)
+ foreach (var item in DB_ResidenceData.Instance.ShowFunctionTypeList)
{
int functionCount = 0;
int functionOnCount = 0;
switch (item)
{
+ case ShowFunction.IpCam:
+ functionCount = FunctionList.List.GetIpCamImouList().Count;
+ break;
+ case ShowFunction.MechanicalArm:
+ functionCount = FunctionList.List.GetMechanicalArmList().Count;
+ functionOnCount = FunctionList.List.GetMechanicalArmList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+ break;
case ShowFunction.Light:
#region Light
functionCount = FunctionList.List.GetLightList().Count;
@@ -738,6 +760,14 @@
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;
+#if DEBUG
+ //functionCount = 1;
+#endif
+ functionOnCount = 1;
+ break;
+
}
@@ -791,12 +821,12 @@
TextAlignment = TextAlignment.CenterLeft,
IsMoreLines = true,
};
- functionView.AddChidren(btnName);
+ 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
- && item != ShowFunction.Acst
+ && item != ShowFunction.Acst && item != ShowFunction.IpCam
&& functionCount != 0)
{
Button btnFunctionCount = new Button()
@@ -862,6 +892,36 @@
functionPageTitleId = StringId.Lights;
#endregion
+ break;
+ case ShowFunction.IpCam:
+ btnName.TextID = StringId.SecurityMonitoring;
+
+ btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png";
+
+ functionPageTitleId = StringId.SecurityMonitoring;
+
+ break;
+ case ShowFunction.MechanicalArm:
+ btnName.TextID = StringId.MechanicalArm;
+ Button btnMaPower = new Button()
+ {
+ X = Application.GetRealWidth(120),
+ Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+ Width = Application.GetRealWidth(32),
+ Height = Application.GetRealWidth(32),
+ SelectedImagePath = "Public/PowerOpen.png",
+ UnSelectedImagePath = "Public/PowerClose.png",
+ IsSelected = functionOnCount > 0,
+ Tag = item + "_AllControl",
+ };
+ functionView.AddChidren(btnMaPower);
+
+ btnMaPower.MouseUpEventHandler = (sender, e) =>
+ {
+ LoadEvent_SwitchFunction(btnMaPower, item, functionView);
+ };
+ functionPageTitleId = StringId.MechanicalArm;
+
break;
case ShowFunction.AC:
#region AC
@@ -1033,7 +1093,7 @@
btnName.TextID = StringId.Panel;
break;
case ShowFunction.SecurityMonitoring:
- btnName.TextID = StringId.SecurityMonitoring;
+ btnName.TextID = StringId.EZVIZ;
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
HDLCommon.Current.Go2EZvizMonitor(bodyView);
@@ -1073,44 +1133,68 @@
};
functionView.AddChidren(btnJMLogo);
- Button btnAcstPower = new Button()
+ //Button btnAcstPower = new Button()
+ //{
+ // X = Application.GetRealWidth(120),
+ // Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+ // Width = Application.GetRealWidth(32),
+ // Height = Application.GetRealWidth(32),
+ // SelectedImagePath = "Public/PowerOpen.png",
+ // UnSelectedImagePath = "Public/PowerClose.png",
+ // IsSelected = functionOnCount > 0,
+ // Tag = item + "_AllControl",
+ //};
+ //functionView.AddChidren(btnAcstPower);
+ //btnAcstPower.MouseUpEventHandler = (sender, e) =>
+ //{
+ // btnAcstPower.IsSelected = !btnAcstPower.IsSelected;
+ // string onoff = btnAcstPower.IsSelected ? "on" : "off";
+ // Dictionary<string, string> d = new Dictionary<string, string>();
+ // d.Add(FunctionAttributeKey.OnOff, onoff);
+ // foreach (var temp in FunctionList.List.GetAcstParentList())
+ // {
+ // Control.Ins.SendWriteCommand(temp, d);
+ // }
+ //};
+
+
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
- X = Application.GetRealWidth(120),
- Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
- Width = Application.GetRealWidth(32),
- Height = Application.GetRealWidth(32),
- SelectedImagePath = "Public/PowerOpen.png",
- UnSelectedImagePath = "Public/PowerClose.png",
- IsSelected = functionOnCount > 0,
- Tag = item + "_AllControl",
- };
- functionView.AddChidren(btnAcstPower);
- btnAcstPower.MouseUpEventHandler = (sender, e) => {
- btnAcstPower.IsSelected = !btnAcstPower.IsSelected;
- string onoff = btnAcstPower.IsSelected ? "on":"off";
- Dictionary<string, string> d = new Dictionary<string, string>();
- d.Add(FunctionAttributeKey.OnOff, onoff);
- Control.Ins.SendWriteCommand(FunctionList.List.GetAcstParentList()[0], d);
- };
-
-
- btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
var page = new AcstParentPage();
MainPage.BasePageView.AddChidren(page);
page.LoadPage();
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;
}
- //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�
- 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.Music
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.SecurityMonitoring
+ && item != ShowFunction.DoorLock
+ && ShowFunction.EnergyMonitoring != item
+ && ShowFunction.VideoIntercom != item &&
+ ShowFunction.SecurityCenter != item
&& ShowFunction.Acst != item)
{
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
+
var skipView = new FunctionPage();
MainPage.BasePageView.AddChidren(skipView);
skipView.LoadPage(functionPageTitleId);
@@ -1122,7 +1206,7 @@
//鍏変紡鏁版嵁
- if (FunctionList.List.InverterList().Count > 0 )
+ if (FunctionList.List.InverterList().Count > 0)
{
FrameLayout inverterListView = new FrameLayout()
{
@@ -1180,20 +1264,34 @@
Text = "/" + FunctionList.List.InverterList().Count,
};
inverterListView.AddChidren(btnFunctionCount);
+
+ int count = 0;
+ foreach (var temp in FunctionList.List.InverterList())
+ {
+ if (temp.online)
+ {
+ if (temp.trait_on_off.state.ToString() == "on")
+ {
+ ++count;
+ }
+ }
+ }
+
Button btnOpenCount = new Button()
{
X = Application.GetRealWidth(16),
Y = btnName.Bottom,
- Width = Application.GetRealWidth(14 * FunctionList.List.InverterList().Count.ToString().Length),
+ Width = Application.GetRealWidth(14 * count.ToString().Length),
Height = Application.GetRealHeight(24),
TextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextAlignment = TextAlignment.CenterLeft,
- Text = FunctionList.List.InverterList().Count.ToString(),
+ Text = count.ToString(),
Tag = "inverter_onCount",
BorderWidth = 0,
};
inverterListView.AddChidren(btnOpenCount);
+
//Button btnWorkStatus = new Button()
//{
@@ -1207,12 +1305,23 @@
//};
//inverterListView.AddChidren(btnWorkStatus);
- Button btnWorkingMode = new Button()
+ Button btnWorkingModeIcon = new Button()
{
X = Application.GetRealWidth(16),
- Y = btnOpenCount.Bottom,// + Application.GetRealHeight(16),
+ Y = btnOpenCount.Bottom + Application.GetRealHeight(5),
+ Width = Application.GetRealWidth(14),
+ Height = Application.GetRealWidth(14),
+ UnSelectedImagePath = "FunctionIcon/Inverter/Icon1.png"
+ };
+ inverterListView.AddChidren(btnWorkingModeIcon);
+
+
+ Button btnWorkingMode = new Button()
+ {
+ X = Application.GetRealWidth(37),
+ Y = btnOpenCount.Bottom + Application.GetRealHeight(5),// + Application.GetRealHeight(16),
Width = Application.GetRealWidth(148),
- Height = Application.GetRealHeight(18),
+ Height = Application.GetRealHeight(14),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.WorkingMode,
@@ -1220,12 +1329,23 @@
};
inverterListView.AddChidren(btnWorkingMode);
- Button btnPowerTenerationToday = new Button()
+
+ Button btnPowerTenerationTodayIcon = new Button()
{
X = Application.GetRealWidth(16),
- Y = btnWorkingMode.Bottom,
+ Y = btnWorkingMode.Bottom + Application.GetRealHeight(10),
+ Width = Application.GetRealWidth(14),
+ Height = Application.GetRealWidth(14),
+ UnSelectedImagePath = "FunctionIcon/Inverter/Icon2.png"
+ };
+ inverterListView.AddChidren(btnPowerTenerationTodayIcon);
+
+ Button btnPowerTenerationToday = new Button()
+ {
+ X = Application.GetRealWidth(37),
+ Y = btnWorkingMode.Bottom + Application.GetRealHeight(10),
Width = Application.GetRealWidth(148),
- Height = Application.GetRealHeight(21),
+ Height = Application.GetRealHeight(14),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.PowerTenerationToday,
@@ -1233,13 +1353,22 @@
};
inverterListView.AddChidren(btnPowerTenerationToday);
+ Button btnCurrentPowerGenerationIcon = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(10),
+ Width = Application.GetRealWidth(14),
+ Height = Application.GetRealWidth(14),
+ UnSelectedImagePath = "FunctionIcon/Inverter/Icon3.png"
+ };
+ inverterListView.AddChidren(btnCurrentPowerGenerationIcon);
Button btnCurrentPowerGeneration = new Button()
{
- X = Application.GetRealWidth(16),
- Y = btnPowerTenerationToday.Bottom,
+ X = Application.GetRealWidth(37),
+ Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(10),
Width = Application.GetRealWidth(148),
- Height = Application.GetRealHeight(21),
+ Height = Application.GetRealHeight(14),
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextID = StringId.CurrentPowerGeneration,
@@ -1247,18 +1376,18 @@
};
inverterListView.AddChidren(btnCurrentPowerGeneration);
- Button btnBatterySOC = new Button()
- {
- X = Application.GetRealWidth(16),
- Y = btnCurrentPowerGeneration.Bottom,
- Width = Application.GetRealWidth(148),
- Height = Application.GetRealHeight(18),
- TextColor = CSS_Color.FirstLevelTitleColor,
- TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- TextID = StringId.BatterySOC,
- TextAlignment = TextAlignment.CenterLeft,
- };
- inverterListView.AddChidren(btnBatterySOC);
+ //Button btnBatterySOC = new Button()
+ //{
+ // X = Application.GetRealWidth(37),
+ // Y = btnCurrentPowerGeneration.Bottom,
+ // Width = Application.GetRealWidth(148),
+ // Height = Application.GetRealHeight(18),
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // TextID = StringId.BatterySOC,
+ // TextAlignment = TextAlignment.CenterLeft,
+ //};
+ //inverterListView.AddChidren(btnBatterySOC);
//Button btnOperationDataTotalData = new Button()
//{
@@ -1278,24 +1407,27 @@
clickButton.MouseUpEventHandler = (sender2, e2) =>
{
- var h5BasePage = new FrameLayout();
+ var h5BasePage = new FrameLayout() {
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
-#if __Android__
- //閫傞厤瀹夊崜娌夋蹈寮忓鑸爮
- h5BasePage.Y = Application.GetRealHeight(16);
- h5BasePage.Height = Application.GetRealHeight(651);
-#endif
+//#if __Android__
+ //閫傞厤娌夋蹈寮忓鑸爮
+ h5BasePage.Y = Application.GetRealHeight(20);
+ h5BasePage.Height = Application.GetRealHeight(646);
+//#endif
MainPage.BasePageView.AddChidren(h5BasePage);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
h5BasePage.AddChidren(Inverter.Ins.H5Page);//000
string lz = "zh";
- if(Language.CurrentLanguage != "Chinese")
+ if (Language.CurrentLanguage != "Chinese")
{
lz = "en";
}
- string url = $"h5/index.html?homeId={DB_ResidenceData.Instance.CurrentRegion.id}&token={UserInfo.Current.AccessToken}&refresh_token={UserInfo.Current.RefreshToken}&url={HttpUtil.GlobalRequestHttpsHost}&lang={lz}";
+ 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);
+
Inverter.Ins.H5Page.JSToNativeAction = (dictionary) =>
{
JObject jObj = JObject.Parse(Newtonsoft.Json.JsonConvert.SerializeObject(dictionary));
@@ -1331,34 +1463,20 @@
{
h5BasePage.RemoveFromParent();
});
+ refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration);
+ }
+ else if (jObj["method"].ToString() == "setPageIndex")
+ {
+ var data = jObj["data"].ToString();
+ Inverter.Ins.PageIndex = data.ToString();
}
};
+
+
+
};
- new System.Threading.Thread(() => {
- var http = new HttpServerRequest();
- var pack = http.GetInverterStatisticsInfo();
- if(pack!= null)
- {
- var info = JsonConvert.DeserializeObject<StatisticsInfo>(pack.Data.ToString());
- try
- {
- Application.RunOnMainThread(() =>
- {
- btnPowerTenerationToday.Text = Language.StringByID(StringId.PowerTenerationToday).Replace("----", info.totalElectricityPvToday);
- btnWorkingMode.Text = Language.StringByID(StringId.WorkingMode).Replace("----", info.workMode);
- btnCurrentPowerGeneration.Text = Language.StringByID(StringId.CurrentPowerGeneration).Replace("----", info.powerPvNow);
- btnBatterySOC.Text = Language.StringByID(StringId.BatterySOC).Replace("--", info.batterySoc);
- });
- }
- catch (Exception ex)
- {
- MainPage.Log($"鑾峰彇瀹跺涵鍏変紡缁熻鏁版嵁寮傚父锛歿ex.Message}");
- }
- }
-
-
- }) { IsBackground = true }.Start();
+ refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration);
index++;
}
@@ -1368,6 +1486,76 @@
#endregion
}
+
+
+ void refreshInverterInfo(Button btnPowerTenerationToday, Button btnWorkingMode, Button btnCurrentPowerGeneration)
+ {
+ new System.Threading.Thread(() =>
+ {
+ var http = new HttpServerRequest();
+ var pack = http.GetInverterStatisticsInfo();
+ if (pack != null)
+ {
+ if(pack.Data == null)
+ {
+ return;
+ }
+ var info = JsonConvert.DeserializeObject<StatisticsInfo>(pack.Data?.ToString());
+ if (info == null)
+ {
+ return;
+ }
+ try
+ {
+ Application.RunOnMainThread(() =>
+ {
+ btnPowerTenerationToday.Text = info.totalElectricityPvToday + "kW路h";// Language.StringByID(StringId.PowerTenerationToday).Replace("----", info.totalElectricityPvToday);
+ string workModeString = "";
+ if (Language.CurrentLanguage == "Chinese") {
+ switch (info.workMode)
+ {
+ case "self_use":
+ workModeString = "鑷彂鑷敤";
+ break;
+ case "peak_load_shifting":
+ workModeString = "鍓婂嘲濉胺";
+ break;
+ case "battery_priority":
+ workModeString = "鐢垫睜浼樺厛";
+ break;
+ }
+ }
+ else
+ {
+ switch (info.workMode)
+ {
+ case "self_use":
+ workModeString = "Self Consume";
+ break;
+ case "peak_load_shifting":
+ workModeString = "Peak Shift";
+ break;
+ case "battery_priority":
+ workModeString = "Battery Priority";
+ break;
+ }
+ }
+ btnWorkingMode.Text = workModeString;// Language.StringByID(StringId.WorkingMode).Replace("----", workModeString);
+ btnCurrentPowerGeneration.Text = info.powerPvNow + "w";// Language.StringByID(StringId.CurrentPowerGeneration).Replace("----", info.powerPvNow);
+ //btnBatterySOC.Text = Language.StringByID(StringId.BatterySOC).Replace("--", info.batterySoc);
+ });
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"鑾峰彇瀹跺涵鍏変紡缁熻鏁版嵁寮傚父锛歿ex.Message}");
+ }
+ }
+
+
+ })
+ { IsBackground = true }.Start();
+ }
+
#region 鍒囨崲妤煎眰
/// <summary>
/// 妤煎眰鏄剧ず鍒囨崲
--
Gitblit v1.8.0