From 66bee2246076cd2b88b359cba13a13ca3302bafa Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 08 十一月 2021 16:27:28 +0800
Subject: [PATCH] 2021-11-08-01
---
HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs | 584 +++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 410 insertions(+), 174 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs
index 560fb7a..b39f8be 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Energy/EnergyMainPage.cs
@@ -1,6 +1,7 @@
锘縰sing System;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using HDL_ON.UI.CSS;
using Shared;
@@ -8,17 +9,84 @@
{
public class EnergyMainPage : FrameLayout
{
- FrameLayout bodyView;
+ static EnergyMainPage bodyView;
+
+ /// <summary>
+ /// 椤堕儴鍖哄煙
+ /// </summary>
+ FrameLayout generalTableView;
+
+ /// <summary>
+ /// 瀹炴椂鍔熻��
+ /// </summary>
+ Button btnRealTimeData;
+ /// <summary>
+ /// 瀹炴椂鍔熻�楀崟浣�
+ /// </summary>
+ Button btnTotalValueUint;
+ /// <summary>
+ /// 鎬诲姛鑰�
+ /// </summary>
+ TextButton btnTotalValue;
+ /// <summary>
+ /// 鎬诲姛鑰�-楗煎浘
+ /// </summary>
+ MyEchartsViewOn myEchartsView_Pie;
+ /// <summary>
+ /// 鍘嗗彶鏁版嵁鍖哄煙
+ /// </summary>
+ FrameLayout diagramView;
+ /// <summary>
+ /// 鏇茬嚎鍥炬暟鎹畇tring
+ /// </summary>
+ EchartsOption_BrokenLine brokenLine;
+ /// <summary>
+ /// 鏇茬嚎鍥句笅鎷夋寜閽�
+ /// </summary>
+ Button btnDrodDown;
+
+
+ /// <summary>
+ /// 鎻掓煡璇㈢殑鑳芥簮鍒楄〃
+ /// </summary>
+ List<Function> queryList = new List<Function>();
+ /// <summary>
+ /// 鏌ヨ鏉′欢
+ /// hour銆亀eek銆乵onth
+ /// </summary>
+ string curQueryType = "hour";
+
+
+ /// <summary>
+ /// 鑳芥簮鍒楄〃鍖哄煙
+ /// </summary>
+ FrameLayout energyListView;
+ /// <summary>
+ /// 鍘嗗彶鏁版嵁鍥捐〃
+ /// </summary>
+ MyEchartsViewOn myEchartsView_Line;
+ /// <summary>
+ /// 鏇茬嚎鍥炬槸鍚﹀睍寮�
+ /// </summary>
+ bool isUnfoldOrStow = false;
+
+ List<Function> energyList = new List<Function>();
List<uint> colorList = new List<uint>(){0xFF80AEFF, 0xFFFFD154, 0xFFFF9D54, 0xFFFE6A6A, 0xFFB183C3, 0xFFADE764,
0xFFD7504B, 0xFFC6E579, 0xFFF4E001, 0xFFF0805A, 0xFF26C0C0};
List<string> colorList2 = new List<string>() {
"#80AEFF", "#FFD154", "#FF9D54", "#FE6A6A", "#B183C3", "#ADE764",
"#D7504B", "#C6E579", "#F4E001", "#F0805A", "#26C0C0"};
-
+ /// <summary>
+ /// 涓婚〉
+ /// </summary>
public EnergyMainPage()
{
bodyView = this;
+ energyList = FunctionList.List.GetEnergyList();
+ var breaker = FunctionList.List.Functions.FindAll((obj) => obj.spk == SPK.AirSwitch);
+ var energyBreker = breaker.FindAll((obj) => obj.GetAttribute("power") != null);
+ energyList.AddRange(energyBreker);
}
/// <summary>
@@ -37,18 +105,18 @@
bodyView.AddChidren(contentView);
#region 椤堕儴view
- var generalTableView = new FrameLayout()
+ generalTableView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(16),
+ Y = Application.GetRealWidth(16),
Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(148),
+ Height = Application.GetRealWidth(148),//419//148
Radius = (uint)Application.GetRealWidth(5),
BackgroundColor = CSS_Color.MainBackgroundColor,
};
contentView.AddChidren(generalTableView);
- TextButton btnTotalValue = new TextButton()
+ btnTotalValue = new TextButton()
{
X = Application.GetRealWidth(18),
Y = Application.GetRealWidth(24),
@@ -62,9 +130,7 @@
};
generalTableView.AddChidren(btnTotalValue);
- btnTotalValue.Width = btnTotalValue.GetTextWidth();
-
- var btnTotalValueUint = new Button()
+ btnTotalValueUint = new Button()
{
X = btnTotalValue.Right,
Y = Application.GetRealWidth(24),
@@ -78,7 +144,7 @@
};
generalTableView.AddChidren(btnTotalValueUint);
- var btnRealTimeData = new Button()
+ btnRealTimeData = new Button()
{
X = Application.GetRealWidth(18),
Y = btnTotalValue.Bottom,
@@ -90,7 +156,7 @@
TextID = StringId.RealTimePowerConsumption,
};
generalTableView.AddChidren(btnRealTimeData);
- btnRealTimeData.Text = Language.StringByID(StringId.RealTimePowerConsumption).Replace("{0}", "0");
+
var echartsView = new FrameLayout()
{
@@ -100,65 +166,106 @@
//Y = Application.GetRealWidth(16),
};
generalTableView.AddChidren(echartsView);
- MyEchartsViewOn myEchartsView = new MyEchartsViewOn() {
+ myEchartsView_Pie = new MyEchartsViewOn()
+ {
Width = Application.GetRealWidth(118),
Height = Application.GetRealWidth(118),
};
+ echartsView.AddChidren(myEchartsView_Pie);
- echartsView.AddChidren(myEchartsView);
Dictionary<string, string> list = new Dictionary<string, string>();
- list.Add("鐢靛啺绠�", "12");
- list.Add("鐢甸鎵�", "2");
- list.Add("绌鸿皟", "9");
- list.Add("娲楄。鏈�", "3");
- list.Add("鐢佃剳", "33");
- var echartsPie = new EchartsOption_Pie();
- var echartRootJson = echartsPie.InitDateJson(list);
- //var echartRootJsonString = Newtonsoft.Json.JsonConvert.SerializeObject(echartRootJson);
- myEchartsView.ShowWithOption(echartRootJson);
+ foreach(var ene in energyList)
+ {
+ double tt = 0;
+ double.TryParse(ene.GetAttrState(FunctionAttributeKey.TotalElectricity), out tt);
+ tt *= 100;//涔樹互100锛屽皬浜�1鏃犳硶鍔犺浇echart
+ tt = Math.Round(tt, 2);
+ list.Add(ene.name, tt.ToString());
+ }
+ myEchartsView_Pie.ShowWithOption(new EchartsOption_Pie().InitDateJson(list));
-
- var btnDrodDown = new Button()
+ btnDrodDown = new Button()
{
Y = Application.GetRealWidth(118),
Width = Application.GetRealWidth(343),
Height = Application.GetRealWidth(30),
UnSelectedImagePath = "FunctionIcon/Energy/EnergyDrodDownIcon.png",
+ SelectedImagePath = "FunctionIcon/Energy/EnergyDrodUpIcon.png",
};
+ initDiagramView();
generalTableView.AddChidren(btnDrodDown);
+ btnDrodDown.MouseUpEventHandler = (sender, e) => {
+ isUnfoldOrStow = btnDrodDown.IsSelected = !btnDrodDown.IsSelected;
+ showDiagramView();
+ };
+ UpdataValue();
#endregion
- var energyList = FunctionList.List.GetEnergyList();
- var energyListView = new FrameLayout()
+ energyListView = new FrameLayout()
{
Y = generalTableView.Bottom + Application.GetRealWidth(8),
- Height = Application.GetRealWidth(116 * energyList.Count) ,
+ Height = Application.GetRealWidth(116 * energyList.Count + 50),
};
contentView.AddChidren(energyListView);
int index = 0;
- foreach(var energy in energyList)
+ foreach (var energy in energyList)
{
EnergyRow(energy, energyListView, index);
index++;
+ new System.Threading.Thread(() =>
+ {
+ Control.Ins.SendReadCommand(energy);
+ })
+ { IsBackground = true }.Start();
}
+
+
}
- public void ddd(FrameLayout contentView)
+ /// <summary>
+ ///
+ /// </summary>
+ void showDiagramView()
{
-
- FrameLayout diagramView = new FrameLayout()
+ if (isUnfoldOrStow)//灞曞紑
{
+ generalTableView.Height = Application.GetRealWidth(419);
+ btnDrodDown.Y = Application.GetRealWidth(389);
+ btnDrodDown.IsSelected = true;
+ }
+ else
+ {
+ generalTableView.Height = Application.GetRealWidth(148);
+ btnDrodDown.Y = Application.GetRealWidth(118);
+ btnDrodDown.IsSelected = false;
+ }
+
+ energyListView.Y = generalTableView.Bottom + Application.GetRealWidth(8);
+ }
+
+ /// <summary>
+ /// 鍔犺浇鏇茬嚎鍥�
+ /// </summary>
+ /// <param name="contentView"></param>
+ void initDiagramView()
+ {
+ brokenLine = new EchartsOption_BrokenLine();
+
+
+ diagramView = new FrameLayout()
+ {
+ Y = Application.GetRealWidth(136),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(420),
+ Height = Application.GetRealWidth(281),
BackgroundColor = CSS_Color.MainBackgroundColor,
Radius = (uint)Application.GetRealWidth(12),
BorderColor = 0x00000000,
BorderWidth = 0,
};
- contentView.AddChidren(diagramView);
+ generalTableView.AddChidren(diagramView);
#region 閫夋嫨鏁版嵁鏃ユ湡鑼冨洿
var showDataTypeView = new FrameLayout()
@@ -203,154 +310,158 @@
TextColor = CSS_Color.PromptingColor2,
SelectedTextColor = CSS_Color.MainColor,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
- Text = DateTime.Now.Month.ToString() + Language.StringByID(StringId.month),
+ Text = Language.StringByID(StringId.month),//DateTime.Now.Month.ToString() +
};
showDataTypeView.AddChidren(btnShowHistroyData_Month);
+
+
+ btnShowHistroyData_Day.MouseUpEventHandler = (sender, e) =>
+ {
+ showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png";
+ btnShowHistroyData_Day.IsSelected = true;
+ btnShowHistroyData_Month.IsSelected = false;
+ btnShowHistroyData_Week.IsSelected = false;
+ curQueryType = "hour";
+ brokenLine.YvalueText = "";
+ foreach (var enery in queryList)
+ {
+ LoadMothed_GetHistoryData(enery,false);
+ }
+ };
+
+ btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
+ {
+ showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png";
+ btnShowHistroyData_Day.IsSelected = false;
+ btnShowHistroyData_Month.IsSelected = false;
+ btnShowHistroyData_Week.IsSelected = true;
+ curQueryType = "week";
+ brokenLine.YvalueText = "";
+ foreach (var enery in queryList)
+ {
+ LoadMothed_GetHistoryData(enery, false);
+ }
+ };
+ btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
+ {
+ showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png";
+ btnShowHistroyData_Day.IsSelected = false;
+ btnShowHistroyData_Month.IsSelected = true;
+ btnShowHistroyData_Week.IsSelected = false;
+ curQueryType = "month";
+ brokenLine.YvalueText = "";
+ foreach (var enery in queryList)
+ {
+ LoadMothed_GetHistoryData(enery, false);
+ }
+ };
+
#endregion
var historyDataView = new FrameLayout()
{
Gravity = Gravity.CenterHorizontal,
- Y = Application.GetRealHeight(52),
- Width = Application.GetRealWidth(343 - 32),
- Height = Application.GetRealHeight(270),
+ Y = Application.GetRealWidth(52),
+ Height = Application.GetRealWidth(190),
};
diagramView.AddChidren(historyDataView);
- var myEchartsView = new MyEchartsViewOn();
-
- historyDataView.AddChidren(myEchartsView);
-
+ myEchartsView_Line = new MyEchartsViewOn()
+ {
+ Y = Application.GetRealWidth(10),
+ Height = Application.GetRealWidth(180),
+ };
+ historyDataView.AddChidren(myEchartsView_Line);
}
- /// <summary>
- /// 璇诲彇浼犳劅鍣ㄥ巻鍙叉暟鎹�
- /// </summary>
- void ddd2(string curQueryType,Function function,int index)
+
+ /// <summary>
+ /// 璇诲彇鍘嗗彶鏁版嵁
+ /// </summary>
+ void LoadMothed_GetHistoryData(Function sr,bool isDel)
+ {
+ if(isDel)//鍒犻櫎鏁版嵁鐜板疄
{
- var seriesList = new List<EchartSeriesItem>();
- var loadPage = new Loading()
+ brokenLine.YvalueText = "";
+ foreach (var ene in queryList)
{
- LodingBackgroundColor = 0x88888888,
- };
- historyDataView.AddChidren(loadPage);
+ brokenLine.YvalueText += ene.GetAttrState("ydata");
+ }
+ var opString = brokenLine.InitOption();
- new System.Threading.Thread(() =>
+ Application.RunOnMainThread(() =>
{
- try
+ myEchartsView_Line.ShowWithOption(opString);
+ });
+
+ return;
+ }
+
+ var loadPage = new Loading()
+ {
+ LodingBackgroundColor = 0x88888888,
+ };
+ diagramView.AddChidren(loadPage);
+
+ new System.Threading.Thread(() =>
+ {
+ try
+ {
+ Application.RunOnMainThread(() =>
{
- Application.RunOnMainThread(() =>
- {
- loadPage.Start(Language.StringByID(StringId.PleaseWait));
- });
- int i = 0;
+ loadPage.Start(Language.StringByID(StringId.PleaseWait));
+ });
+ var sensorType = sr.spk.Split(".")[1];
+ var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId, "total_electricity");
+ if (revertObj != null)
+ {
+ if (revertObj.Code == StateCode.SUCCESS)
{
- var sensorType = function.spk.Split(".")[0];
- var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, function.deviceId, sensorType);
+ var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
- if (revertObj != null)
+ List<string> vs = new List<string>();
+ if (brokenLine.YvalueText == "")
{
- if (revertObj.Code == StateCode.SUCCESS)
+ foreach (var data in revertData)
{
- var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
-
- var sItem = new EchartSeriesItem
- {
- data = new List<int>(),
- lineStyle = new EchartLineStyle()
- {
- color = colorList2[i],
-#if __IOS__
- width = 5,
-#elif __ANDROID__
- width = 2,
-#endif
- },
- };
-
- foreach (var d in revertData)
- {
- echartRootJson.xAxis.data.Add(d.fieldName);
- echartRootJson.yAxis.data.Add(d.fieldValue);
- }
- seriesList.Add(sItem);
+ vs.Add(data.fieldName);
}
- else
- {
- Application.RunOnMainThread(() =>
- {
- IMessageCommon.Current.ShowErrorInfoAlter("", true, 2, Language.StringByID(StringId.GetSensorHistoryFailed), false);
- });
- }
+ brokenLine.InitXdataText(vs);
}
- i++;
+ if (sr.GetAttribute("ydata") == null)
+ {
+ sr.attributes.Add(new FunctionAttributes() { key = "ydata" });
+ }
+ sr.SetAttrState("ydata", brokenLine.InitYdataText(sr.name, revertData, sr.GetAttrState("color")) + ",");
}
-
}
- catch (Exception ex)
+ brokenLine.yTitle = Language.StringByID(StringId.EnergyConsumption) + "(kW)";
+ brokenLine.xTitle = Language.StringByID(StringId.timeMode);
+ if(curQueryType != "hour")
{
- MainPage.Log($"sensor history error : {ex.Message}");
+ brokenLine.xTitle = Language.StringByID(StringId.Date);
}
- finally
+ var opString = brokenLine.InitOption();
+
+ Application.RunOnMainThread(() =>
{
- Application.RunOnMainThread(() =>
- {
- loadPage.Hide();
- });
- }
- })
- { IsBackground = true }.Start();
- EchartsOption echartRootJson = new EchartsOption();
- echartRootJson.series = seriesList;
-
-
-#if __IOS__
- echartRootJson.xAxis.axisLabel.fontSize = 22;
- echartRootJson.yAxis.axisLabel.fontSize = 22;
-#else
- echartRootJson.xAxis.axisLabel.fontSize = 8;
- echartRootJson.yAxis.axisLabel.fontSize = 8;
-#endif
- var echartRootJsonString = Newtonsoft.Json.JsonConvert.SerializeObject(echartRootJson);
- myEchartsView.ShowWithOptionJsonString(echartRootJsonString);
-
- }
-
- var curQueryType = "";
-
- void LoadEvent_ChangeSensorHistoryShowType()
- {
- btnShowHistroyData_Day.MouseUpEventHandler = (sender, e) =>
+ myEchartsView_Line.ShowWithOption(opString);
+ });
+ }
+ catch (Exception ex)
{
- showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png";
- btnShowHistroyData_Day.IsSelected = true;
- btnShowHistroyData_Month.IsSelected = false;
- btnShowHistroyData_Week.IsSelected = false;
- curQueryType = "hour";
- LoadMothed_GetSensorHistoryData();
- };
-
- btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
+ MainPage.Log($"sensor history error : {ex.Message}");
+ }
+ finally
{
- showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png";
- btnShowHistroyData_Day.IsSelected = false;
- btnShowHistroyData_Month.IsSelected = true;
- btnShowHistroyData_Week.IsSelected = false;
- curQueryType = "week";
- LoadMothed_GetSensorHistoryData();
- };
- btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
- {
- showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png";
- btnShowHistroyData_Day.IsSelected = false;
- btnShowHistroyData_Month.IsSelected = false;
- btnShowHistroyData_Week.IsSelected = true;
- curQueryType = "month";
- LoadMothed_GetSensorHistoryData();
- };
-
- }
-
+ Application.RunOnMainThread(() =>
+ {
+ loadPage.Hide();
+ });
+ }
+ })
+ { IsBackground = true }.Start();
+ }
/// <summary>
///
@@ -364,16 +475,134 @@
};
view.AddChidren(btnLine);
- var row = new FrameLayout()
+ //瀹氫箟浠h〃鑹�
+ energy.attributes.Add(new FunctionAttributes() { key = "color", state = colorList2[index] });
+
+ var row = new EnergyRow(energy, colorList[index]);
+
+ row.SetHistory_Action = (isAdd) =>
{
- Y = btnLine.Bottom,
- Gravity = Gravity.CenterHorizontal,
- Width = Application.GetRealWidth(343),
- Height = Application.GetRealWidth(100),
- Radius = (uint)Application.GetRealWidth(12),
- BackgroundColor = CSS_Color.MainBackgroundColor,
+ if (isAdd)
+ {
+ if(!isUnfoldOrStow)//濡傛灉鏇茬嚎鍥炬病鏈夊姞杞藉嚭鏉ワ紝鍒欒嚜鍔ㄥ姞杞藉嚭鏉�
+ {
+ isUnfoldOrStow = true;
+ showDiagramView();
+ }
+ queryList.Add(row.function);
+ LoadMothed_GetHistoryData(row.function, false);
+ }
+ else
+ {
+ queryList.Remove(row.function);
+ LoadMothed_GetHistoryData(row.function, true);
+ if (queryList.Count == 0)//濡傛灉鏌ヨ鍒楄〃涓�0锛岃嚜鍔ㄦ敹璧锋洸绾垮浘
+ {
+ isUnfoldOrStow = false;
+ showDiagramView();
+ }
+ }
};
+
+
+ row.Y = btnLine.Bottom;
view.AddChidren(row);
+ //璁板綍闇�瑕佹洿鏂扮殑鏇存柊鎸夐挳
+ listButton_value.Add(row.btnValue);
+ }
+
+ /// <summary>
+ /// 璁板綍闇�瑕佹洿鏂扮殑鏇存柊鎸夐挳
+ /// </summary>
+ public List<Button> listButton_value = new List<Button>();
+
+ /// <summary>
+ /// 鏇存柊鍔熻兘鐘舵��
+ /// </summary>
+ public static void UpdataStatus(Function updataTemp)
+ {
+ Application.RunOnMainThread(() =>
+ {
+ try
+ {
+ if (bodyView == null)
+ return;
+ foreach (var btn in bodyView.listButton_value)
+ {
+ if (btn.Tag.ToString() == updataTemp.sid)
+ {
+ var newValue = updataTemp.GetAttrState(FunctionAttributeKey.Power);
+ //if (newValue != btn.Text)
+ {
+ btn.Text = Math.Round(double.Parse(newValue), 2).ToString();// +"W";
+ UpdataValue();
+ }
+ }
+ }
+ }
+ catch (Exception ex)
+ {
+ MainPage.Log($"{bodyView.GetType().Name } UpdataStates error : {ex.Message}");
+ }
+ });
+ }
+
+ /// <summary>
+ /// 鏇存柊鏁版嵁
+ /// </summary>
+ static void UpdataValue()
+ {
+ double totalValue = 0;
+ double realtimeValue = 0;
+ Dictionary<string, string> list = new Dictionary<string, string>();//楗煎浘鏁版嵁
+ foreach (var ene in bodyView.energyList)
+ {
+ double power = 0.00;
+ double.TryParse(ene.GetAttrState(FunctionAttributeKey.TotalElectricity), out power);
+ power = Math.Round(power, 2);
+ totalValue += power;
+
+ double realTimePower = 0;
+ double.TryParse(ene.GetAttrState(FunctionAttributeKey.Power), out realTimePower);
+ realtimeValue += realTimePower;
+ realtimeValue = Math.Round(realtimeValue, 2);
+
+ #region 楗煎浘鏁版嵁
+ double tt = 0.00;
+ double.TryParse(ene.GetAttrState(FunctionAttributeKey.TotalElectricity), out tt);
+ tt = Math.Round(tt, 2);
+ tt *= 100;//涔樹互100锛屽皬浜�1鏃犳硶鍔犺浇echart
+ list.Add(ene.name, tt.ToString());
+ #endregion
+ }
+ bodyView.btnTotalValue.Text = totalValue.ToString();
+ realtimeValue /= 1000;
+ bodyView.btnRealTimeData.Text = Language.StringByID(StringId.RealTimePowerConsumption).Replace("{0}", realtimeValue.ToString());
+ ///鍔ㄦ�佽幏鍙栨枃鏈搴�
+ bodyView.btnTotalValue.Width = bodyView.btnTotalValue.GetTextWidth() + Application.GetRealWidth(5);
+ bodyView.btnTotalValueUint.X = bodyView.btnTotalValue.Right;
+ //鍒锋柊楗煎浘
+ bodyView.myEchartsView_Pie.ShowWithOption(new EchartsOption_Pie().InitDateJson(list));
+
+ }
+ }
+
+
+ public class EnergyRow : FrameLayout
+ {
+ public Button btnValue;
+ Button btnShowData;
+ public Function function;
+ public Action<bool> SetHistory_Action;
+ public EnergyRow(Function energy, uint color)
+ {
+ function = energy;
+ Gravity = Gravity.CenterHorizontal;
+ Width = Application.GetRealWidth(343);
+ Height = Application.GetRealWidth(100);
+ Radius = (uint)Application.GetRealWidth(12);
+ BackgroundColor = CSS_Color.MainBackgroundColor;
+ Tag = energy.sid;
var btnColorTip = new Button()
{
@@ -381,13 +610,13 @@
Y = Application.GetRealWidth(16),
Width = Application.GetRealWidth(12),
Height = Application.GetRealWidth(12),
- BackgroundColor = colorList[index],
+ BackgroundColor = color
};
- row.AddChidren(btnColorTip);
+ AddChidren(btnColorTip);
var btnName = new Button()
{
- X = Application.GetRealWidth(8 + 10 + 32),
+ X = Application.GetRealWidth(28),
Y = Application.GetRealHeight(10),
Width = Application.GetRealWidth(200),
Height = Application.GetRealHeight(24),
@@ -396,11 +625,11 @@
TextColor = CSS_Color.FirstLevelTitleColor,
TextSize = CSS_FontSize.TextFontSize,
};
- row.AddChidren(btnName);
+ AddChidren(btnName);
var btnFromFloor = new Button()
{
- X = Application.GetRealWidth(8 + 10 + 32),
+ X = Application.GetRealWidth(28),
Y = Application.GetRealHeight(10 + 24),
Width = Application.GetRealWidth(200),
Height = Application.GetRealHeight(18),
@@ -409,9 +638,9 @@
TextColor = CSS_Color.PromptingColor1,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
- row.AddChidren(btnFromFloor);
+ AddChidren(btnFromFloor);
- var btnValue = new Button()
+ btnValue = new Button()
{
X = Application.GetRealWidth(28),
Y = Application.GetRealWidth(57),
@@ -420,9 +649,11 @@
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.HeadlineFontSize,
TextColor = CSS_Color.FirstLevelTitleColor,
- Text = "---"
+ Text = energy.GetAttrState(FunctionAttributeKey.Power),
+ Tag = energy.sid,
+ IsBold = true,
};
- row.AddChidren(btnValue);
+ AddChidren(btnValue);
var btnSetting = new Button()
@@ -433,9 +664,9 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
};
- row.AddChidren(btnSetting);
+ AddChidren(btnSetting);
- Button btnSeltSensorValue = new Button()
+ var btnSeltSensorValue = new Button()
{
X = Application.GetRealWidth(16),
Y = Application.GetRealWidth(47),
@@ -446,9 +677,8 @@
IsBold = true,
TextSize = CSS_FontSize.HeadlineFontSize,
};
- row.AddChidren(btnSeltSensorValue);
+ AddChidren(btnSeltSensorValue);
- Button btnShowData;
btnShowData = new Button()
{
X = Application.GetRealWidth(291),
@@ -457,15 +687,16 @@
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png",
SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
- IsSelected = true,
+ IsSelected = false,
};
- row.AddChidren(btnShowData);
+ AddChidren(btnShowData);
btnSetting.MouseUpEventHandler = (sender, e) =>
{
Action backAction = () =>
{
btnName.Text = energy.name;
+ btnFromFloor.Text = energy.GetRoomListName();
};
var infoView = new FunctionBaseInfoSetPage(energy, backAction);
MainPage.BasePageView.AddChidren(infoView);
@@ -473,6 +704,11 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
+ btnShowData.MouseUpEventHandler = (sender, e) => {
+ btnShowData.IsSelected = !btnShowData.IsSelected;
+ SetHistory_Action(btnShowData.IsSelected);
+ };
}
+
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0