From acc8caee31c4be90bd38d1af18136b0e84f6fe94 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期五, 27 九月 2024 14:01:19 +0800
Subject: [PATCH] Merge branch 'feature/v2.7_迭代' into feature/V2.7_Google
---
HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs | 689 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 621 insertions(+), 68 deletions(-)
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index 77796b7..841d748 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -1,12 +1,20 @@
锘縰sing System;
using System.Collections.Generic;
+using System.Security.Cryptography;
+using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI;
using HDL_ON.UI.CSS;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using Shared;
namespace HDL_ON.UI
{
+ /// <summary>
+ /// 鍒嗙被鐣岄潰
+ /// </summary>
public partial class ClassificationPage : FrameLayout
{
@@ -81,14 +89,14 @@
#region top
FrameLayout topView = new FrameLayout()
{
- Height = Application.GetRealHeight(64),
+ Height = Application.GetRealHeight(74),
BackgroundColor = CSS_Color.TopViewColor,
};
bodyView.AddChidren(topView);
btnRoomTilte = new Button()
{
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterRight,
@@ -103,7 +111,7 @@
btnFuncTitle = new Button()
{
X = Application.GetRealWidth(209),
- Y = Application.GetRealHeight(30),
+ Y = Application.GetRealHeight(40),
Width = Application.GetRealWidth(170),
Height = Application.GetRealHeight(25),
TextAlignment = TextAlignment.CenterLeft,
@@ -117,8 +125,8 @@
contentPageView = new PageLayout()
{
- Y = Application.GetRealHeight(64),
- Height = Application.GetRealHeight(667 - 64 - 49 + 30),
+ Y = Application.GetRealHeight(74),
+ Height = Application.GetRealHeight(667 - 74 - 49 + 30),
BackgroundColor = CSS_Color.MainBackgroundColor,
IsShowPoint = false
};
@@ -601,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),
@@ -645,14 +667,23 @@
var lastY2 = Application.GetRealWidth(16);
var functionContentViewHeight = Application.GetRealWidth(16);
- var functionCategoryCount = 0;
-
- 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.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;
+ 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;
@@ -683,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:
@@ -710,37 +745,37 @@
break;
case ShowFunction.Panel:
break;
- case ShowFunction.SecurityMonitoring:
- if (!MainPage.NoLoginMode)
- {
- functionCount = 1;
- }
- break;
+
case ShowFunction.Sensor:
functionCount = FunctionList.List.GetArmSensorList().Count;
break;
case ShowFunction.VideoIntercom:
if (FunctionList.List.videoIntercom != null && FunctionList.List.videoIntercom.Count > 0)
{
- functionCount = 1;
+ if (Common.ApiUtlis.Ins.hadInternet)
+ {
+ functionCount = 1;
+ }
}
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 = 0;
+ break;
+ case ShowFunction.InverterJinmao:
+ functionCount = FunctionList.List.GetInverterJinmaoList().Count;
+ functionOnCount = 0;
+ break;
+
}
- if(functionCount == 0)
+ if (functionCount == 0)
{
continue;
}
-
- functionCategoryCount++;
FrameLayout functionView = new FrameLayout()
{
@@ -788,12 +823,19 @@
};
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
+ //涓嶉渶瑕佹樉绀鸿澶囧紑鐘舵�佹暟閲�;
+ Button btnFunctionCount=null;
+ if ( item != ShowFunction.Environmental
+ && item != ShowFunction.Sensor
+ && item != ShowFunction.VideoIntercom
+ && item != ShowFunction.FreshAir
+ && item != ShowFunction.Music
+ && item != ShowFunction.EnergyMonitoring
+ && item != ShowFunction.SecurityCenter
+ && item != ShowFunction.Acst && item != ShowFunction.IpCam && item != ShowFunction.InverterJinmao
&& functionCount != 0)
{
- Button btnFunctionCount = new Button()
+ btnFunctionCount = new Button()
{
X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
Y = btnName.Bottom,
@@ -804,21 +846,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);
+ }
}
@@ -833,6 +883,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;
@@ -856,6 +916,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
@@ -936,7 +1026,8 @@
break;
case ShowFunction.DoorLock:
btnName.TextID = StringId.DoorLock;
- btnFunctionViewBg.MouseUpEventHandler = (sende, e) => {
+ btnFunctionViewBg.MouseUpEventHandler = (sende, e) =>
+ {
var form = new DoorLockListPage();
form.AddForm(FunctionList.List.GetDoorLockList());
};
@@ -966,12 +1057,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:
@@ -1024,13 +1118,6 @@
case ShowFunction.Panel:
btnName.TextID = StringId.Panel;
break;
- case ShowFunction.SecurityMonitoring:
- btnName.TextID = StringId.SecurityMonitoring;
- btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
- {
- HDLCommon.Current.Go2EZvizMonitor(bodyView);
- };
- break;
case ShowFunction.Sensor:
btnName.TextID = StringId.Sensor;
functionPageTitleId = StringId.Sensor;
@@ -1053,33 +1140,487 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
break;
+ case ShowFunction.Acst:
+ case ShowFunction.InverterJinmao:
+ //if(item == ShowFunction.Acst)
+ //{
+ // btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png";
+ //}else if (item == ShowFunction.InverterJinmao)
+ //{
+ // btnFunctionViewBg.UnSelectedImagePath = "FunctionIcon/FunctionBg/SecurityMonitoringFunctionBg.png";
+ //}
+ Button btnJMLogo = new Button()
+ {
+ Y = specialList.Contains(index) ? Application.GetRealWidth(147) : Application.GetRealWidth(104),
+ UnSelectedImagePath = "FunctionIcon/Acst/LvJianLogo.png",
+ Width = Application.GetRealWidth(105),
+ Height = Application.GetRealWidth(57),
+ };
+ functionView.AddChidren(btnJMLogo);
+
+
+ if (item == ShowFunction.Acst)
+ {
+ btnName.TextID = StringId.Acst;
+ try
+ {
+ var acstFunction = FunctionList.List.GetAcstParentList()[0];
+ btnName.Text = acstFunction.name;
+ if (acstFunction.extend.Contains("jinmao") && acstFunction.extend.Contains("true"))
+ {
+ btnJMLogo.Visible = true;
+ }
+ else
+ {
+ btnJMLogo.Visible = false;
+ }
+
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Error", $"鍔犺浇閲戣寕绉戞妧绯荤粺涓绘帶鍚嶇О寮傚父:{ex.Message}");
+ }
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ {
+ var page = new AcstParentPage();
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+ else if (item == ShowFunction.InverterJinmao)
+ {
+ btnName.TextID = StringId.NewEnergy;
+ try
+ {
+ var jinmaoInverterFunction = FunctionList.List.GetInverterJinmaoList()[0];
+ btnName.Text = jinmaoInverterFunction.name;
+ if (jinmaoInverterFunction.extend.Contains("jinmao") && jinmaoInverterFunction.extend.Contains("true"))
+ {
+ btnJMLogo.Visible = true;
+ }
+ else
+ {
+ btnJMLogo.Visible = false;
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log("Error", $"鍔犺浇閲戣寕鍌ㄨ兘鍚嶇О寮傚父:{ex.Message}");
+ }
+ btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+ {
+ var page = new InverterJinmaoPage();
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+ }
+ 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.Music
+ && item != ShowFunction.Environmental
+ && item != ShowFunction.DoorLock
+ && ShowFunction.VideoIntercom != item
+ && ShowFunction.SecurityCenter != item
+ && ShowFunction.Series != item
+ && ShowFunction.Acst != item && ShowFunction.InverterJinmao != item)
{
btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
{
+
var skipView = new FunctionPage();
MainPage.BasePageView.AddChidren(skipView);
skipView.LoadPage(functionPageTitleId);
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ skipView.DelAction += () =>
+ {
+
+ UpdateBottomView();
+ };
};
}
index++;
}
- //if (functionCategoryCount > 4)
+
+ //鍏変紡鏁版嵁
+ if (FunctionList.List.InverterList().Count > 0)
{
- //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2)));
- s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
+ FrameLayout inverterListView = new FrameLayout()
+ {
+ Height = Application.GetRealHeight(204),
+ Radius = (uint)Application.GetRealWidth(6),
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ Tag = "inverterList_View",
+ Y = index % 2 == 1 ? lastY2 : lastY1
+ };
+ if (index % 2 == 1)
+ {
+ lastY2 += inverterListView.Height + Application.GetRealWidth(16);
+ }
+ else
+ {
+ lastY1 += inverterListView.Height + Application.GetRealWidth(16);
+ }
+
+ if (index % 2 == 0)
+ {
+ s1View.AddChidren(inverterListView);
+ }
+ else
+ {
+ s2View.AddChidren(inverterListView);
+ }
+ functionContentViewHeight = inverterListView.Bottom;
+
+
+ Button btnName = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(16),//14),//
+ Width = Application.GetRealWidth(140),
+ Height = Application.GetRealHeight(20),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.TextFontSize,
+ TextAlignment = TextAlignment.CenterLeft,
+ IsMoreLines = true,
+ TextID = StringId.PhotovoltaicEnergyStorage,
+ IsBold = true,
+ };
+ inverterListView.AddChidren(btnName);
+
+
+ Button btnFunctionCount = new Button()
+ {
+ X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * FunctionList.List.InverterList().Count.ToString().Length),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(120),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.PromptingColor1,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = "/" + FunctionList.List.InverterList().Count,
+ };
+ inverterListView.AddChidren(btnFunctionCount);
+
+ int count = 0;
+ foreach (var temp in FunctionList.List.InverterList())
+ {
+ if (temp.isOnline())
+ {
+ if (temp.trait_on_off.state.ToString() == "on")
+ {
+ ++count;
+ }
+ }
+ }
+
+ Button btnOpenCount = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Y = btnName.Bottom,
+ Width = Application.GetRealWidth(14 * count.ToString().Length),
+ Height = Application.GetRealHeight(24),
+ TextColor = CSS_Color.MainColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = count.ToString(),
+ Tag = "inverter_onCount",
+ BorderWidth = 0,
+ };
+ inverterListView.AddChidren(btnOpenCount);
+
+
+ //Button btnWorkStatus = new Button()
+ //{
+ // Y = Application.GetRealHeight(24),
+ // Width = Application.GetRealWidth(148),
+ // Height = Application.GetRealHeight(18),
+ // TextAlignment = TextAlignment.CenterRight,
+ // TextColor = 0xFF0BAF31,
+ // TextID = StringId.NormalOperation,
+ // TextSize = CSS_FontSize.TextFontSize
+ //};
+ //inverterListView.AddChidren(btnWorkStatus);
+
+ Button btnWorkingModeIcon = new Button()
+ {
+ X = Application.GetRealWidth(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(14),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.WorkingMode,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ inverterListView.AddChidren(btnWorkingMode);
+
+
+ Button btnPowerTenerationTodayIcon = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ 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(14),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.PowerTenerationToday,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ 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(37),
+ Y = btnPowerTenerationToday.Bottom + Application.GetRealHeight(10),
+ Width = Application.GetRealWidth(148),
+ Height = Application.GetRealHeight(14),
+ TextColor = CSS_Color.FirstLevelTitleColor,
+ TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ TextID = StringId.CurrentPowerGeneration,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ inverterListView.AddChidren(btnCurrentPowerGeneration);
+
+ //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()
+ //{
+ // X = Application.GetRealWidth(16),
+ // Y = btnBatterySOC.Bottom + Application.GetRealHeight(16),
+ // Width = Application.GetRealWidth(148),
+ // Height = Application.GetRealHeight(18),
+ // TextColor = CSS_Color.FirstLevelTitleColor,
+ // TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+ // TextID = StringId.OperationDataTotalData,
+ // TextAlignment = TextAlignment.CenterLeft,
+ //};
+ //inverterListView.AddChidren(btnOperationDataTotalData);
+
+ var clickButton = new Button();
+ inverterListView.AddChidren(clickButton);
+
+ clickButton.MouseUpEventHandler = (sender2, e2) =>
+ {
+ var h5BasePage = new FrameLayout() {
+ BackgroundColor = CSS_Color.MainBackgroundColor,
+ };
+
+//#if __Android__
+ //閫傞厤娌夋蹈寮忓鑸爮
+ h5BasePage.Y = Application.GetRealHeight(35);
+ 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 == "Ukraine") {
+ lz = "ua";
+ }
+ else if (Language.CurrentLanguage == "Chinese")
+ {
+ lz = "zh";
+ }
+ else
+ {
+ lz = "en";
+ }
+ 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"))
+ {
+ return;
+ }
+ if (jObj["method"].ToString() == "control" && jObj["data"].Type == JTokenType.Object)
+ {//鎺у埗
+ var data = JObject.FromObject(jObj["data"]);
+
+ if (!data.ContainsKey("sid") || !data.ContainsKey("on_off"))
+ {
+ return;
+ }
+ var function = new Function();
+ function.sid = data["sid"].ToString();
+ var inObj = FunctionList.List.InverterList().Find((obj) => obj.sid == function.sid);
+ if (inObj == null)
+ {
+ return;
+ }
+ function.deviceId = inObj.deviceId;
+ //function.spk = inObj.spk;
+
+ var status = new Dictionary<string, string>() { ["on_off"] = data["on_off"].ToString() };
+ Control.Ins.SendWriteCommand(function, status);
+ }
+ else if (jObj["method"].ToString() == "back")
+ {
+ Application.RunOnMainThread(() =>
+ {
+ h5BasePage.RemoveFromParent();
+ });
+ refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration);
+ }
+ else if (jObj["method"].ToString() == "setPageIndex")
+ {
+ var data = jObj["data"].ToString();
+ Inverter.Ins.PageIndex = data.ToString();
+ }
+ };
+
+
+
+ };
+
+ refreshInverterInfo(btnPowerTenerationToday, btnWorkingMode, btnCurrentPowerGeneration);
+
+ index++;
}
+
+ s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight + Application.GetRealWidth(40);
#endregion
}
- #region 鍒囨崲妤煎眰
+
+
+ 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>
/// 妤煎眰鏄剧ず鍒囨崲
/// </summary>
@@ -1175,7 +1716,7 @@
foreach (var floor in chooseList)
{
- if (!string.IsNullOrEmpty( floor.roomId))// != Language.StringByID(StringId.All))
+ if (!string.IsNullOrEmpty( floor.roomId))
{
//---鍒嗗壊绾�
contentView.AddChidren(new Button()
@@ -1237,5 +1778,17 @@
}
#endregion
+
+ /// <summary>
+ /// 鏇存柊搴曢儴鐣岄潰
+ /// </summary>
+ void UpdateBottomView()
+ {
+ Application.RunOnMainThread(() =>
+ {
+ functionContentView?.RemoveFromParent();
+ this.RefreshFunctionView();
+ });
+ }
}
-}
\ No newline at end of file
+}
--
Gitblit v1.8.0