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/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs | 1316 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 1,213 insertions(+), 103 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs index 87ae412..504de37 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; +using HDL_ON.DAL.Server; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -10,18 +11,48 @@ public class InverterJinmaoHistroyPage : FrameLayout { InverterJinmaoHistroyPage bodyView; - Function device; + Function function; + FrameLayout infoView1; + EchartsOption_Histogram echartOption1; + MyEchartsViewOn infoView1_EchartsView; + Button infoView1_Date_Day; + Button infoView1_Date_Month; + Button infoView1_Date_Year; + Button infoView1_DateInfo_PreClickButton; + Button infoView1_DateInfo_DateTextButton; + Button infoView1_DateInfo_NextClickButton; + Button infoView1_DateInfo_NextIconButton; + Button infoView1_DateInfo_PreIconButton; + QueryType queryType1 = QueryType.day_hour; + int queryTime_Day1 = DateTime.Now.Day; + int queryTime_Month1 = DateTime.Now.Month; + int queryTime_Year1 = DateTime.Now.Year; + string queryTimeString1 = DateTime.Now.ToString("yyyy/MM/dd"); - /// <summary> - /// echart瀹瑰櫒 - /// </summary> - MyEchartsViewOn tempEchartsView; + FrameLayout infoView2; + MyEchartsViewOn infoView2_EchartsView; + EchartsOption_Histogram echartOption2; + Button infoView2_Date_Day; + Button infoView2_Date_Month; + Button infoView2_Date_Year; + Button infoView2_DateInfo_PreClickButton; + Button infoView2_DateInfo_DateTextButton; + Button infoView2_DateInfo_NextClickButton; + Button infoView2_DateInfo_NextIconButton; + Button infoView2_DateInfo_PreIconButton; + QueryType queryType2 = QueryType.day_hour; + int queryTime_Day2 = DateTime.Now.Day; + int queryTime_Month2 = DateTime.Now.Month; + int queryTime_Year2 = DateTime.Now.Year; + string queryTimeString2 = DateTime.Now.ToString("yyyy/MM/dd"); - public InverterJinmaoHistroyPage(Function function) + + public InverterJinmaoHistroyPage(Function deviceFunction) { bodyView = this; - device = function; + function = deviceFunction; + BackgroundColor = CSS_Color.BackgroundColor; } public void LoadPage() @@ -38,7 +69,7 @@ bodyView.AddChidren(contentView); #region 鍙戠數閲� - var infoView1 = new FrameLayout() + infoView1 = new FrameLayout() { Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(382), @@ -65,7 +96,7 @@ }; infoView1.AddChidren(infoView1_DateView); - var infoView1_Date_Day = new Button() + infoView1_Date_Day = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -84,7 +115,7 @@ infoView1_DateView.AddChidren(infoView1_Date_Day); - var infoView1_Date_Month = new Button() + infoView1_Date_Month = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -103,7 +134,7 @@ infoView1_DateView.AddChidren(infoView1_Date_Month); - var infoView1_Date_Year = new Button() + infoView1_Date_Year = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -128,7 +159,7 @@ }; infoView1.AddChidren(infoView1_DateInfoView); - var infoView1_DateInfo_PreIconButton = new Button() + infoView1_DateInfo_PreIconButton = new Button() { X = Application.GetRealWidth(18), Gravity = Gravity.CenterVertical, @@ -138,18 +169,18 @@ }; infoView1_DateInfoView.AddChidren(infoView1_DateInfo_PreIconButton); - var infoView1_DateInfo_PreClickButton = new Button() + infoView1_DateInfo_PreClickButton = new Button() { Width = Application.GetRealWidth(32 + 6), }; infoView1_DateInfoView.AddChidren(infoView1_DateInfo_PreClickButton); - var infoView1_DateInfo_DateTextButton = new Button() + infoView1_DateInfo_DateTextButton = new Button() { Gravity = Gravity.Center, Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.Center, - Text = "2024-8-12", + Text = DateTime.Now.ToString("yyyy-MM-dd"), TextColor = CSS_Color.FirstLevelTitleColor, IsBold = true, TextSize = 16, @@ -157,7 +188,7 @@ infoView1_DateInfoView.AddChidren(infoView1_DateInfo_DateTextButton); - var infoView1_DateInfo_NextIconButton = new Button() + infoView1_DateInfo_NextIconButton = new Button() { X = Application.GetRealWidth(343 - 18 - 6), Gravity = Gravity.CenterVertical, @@ -167,8 +198,9 @@ }; infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextIconButton); - var infoView1_DateInfo_NextClickButton = new Button() + infoView1_DateInfo_NextClickButton = new Button() { + X = Application.GetRealWidth(343 - 18 - 6 - 32), Width = Application.GetRealWidth(32 + 6), }; infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextClickButton); @@ -176,50 +208,50 @@ #endregion #region 鏁版嵁鍥捐〃 - MyEchartsViewOn infoView1_EchartsView = new MyEchartsViewOn() + infoView1_EchartsView = new MyEchartsViewOn() { Y = Application.GetRealWidth(101), Height = Application.GetRealWidth(246), }; infoView1.AddChidren(infoView1_EchartsView); - var echartOption = new EchartsOption_Histogram(); - echartOption.xTitle = "鏃堕棿"; - echartOption.yTitle = "娓╁害锛堚剝锛�"; - echartOption.InitXdataText(new List<string>() - { - "21","22","23","24","25","26","26","27","28","29", - "21","22","23","24","25","26","26","27","28","29", - "21","22","23","24" - }); - echartOption.InitYdataText(new List<EnvironmentalSensorHistor>() { - new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, - new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31" }, - new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24" }, - new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32" }, - new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22" }, - new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31" }, - new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21" }, - }); - var ddd = echartOption.InitOption(); - infoView1_EchartsView.ShowWithOption(ddd); + echartOption1 = new EchartsOption_Histogram(); + echartOption1.xTitle = "鏃堕棿"; + echartOption1.yTitle = "鐢甸噺锛坘wh锛�"; + //echartOption.InitXdataText(new List<string>() + //{ + // "21","22","23","24","25","26","26","27","28","29", + // "21","22","23","24","25","26","26","27","28","29", + // "21","22","23","24" + //}); + //echartOption.InitYdataText(new List<EnvironmentalSensorHistor>() { + // new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, + // new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31" }, + // new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24" }, + // new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32" }, + // new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22" }, + // new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31" }, + // new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21" }, + //}); + //var ddd = echartOption.InitOption(); + //infoView1_EchartsView.ShowWithOption(ddd); infoView1.AddChidren(new Button() { @@ -241,7 +273,7 @@ }); #region 鐢ㄧ數閲� - var infoView2 = new FrameLayout() + infoView2 = new FrameLayout() { Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(382), @@ -269,7 +301,7 @@ }; infoView2.AddChidren(infoView2_DateView); - var infoView2_Date_Day = new Button() + infoView2_Date_Day = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -288,7 +320,7 @@ infoView2_DateView.AddChidren(infoView2_Date_Day); - var infoView2_Date_Month = new Button() + infoView2_Date_Month = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -307,7 +339,7 @@ infoView2_DateView.AddChidren(infoView2_Date_Month); - var infoView2_Date_Year = new Button() + infoView2_Date_Year = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -332,7 +364,7 @@ }; infoView2.AddChidren(infoView2_DateInfoView); - var infoView2_DateInfo_PreIconButton = new Button() + infoView2_DateInfo_PreIconButton = new Button() { X = Application.GetRealWidth(18), Gravity = Gravity.CenterVertical, @@ -342,18 +374,18 @@ }; infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreIconButton); - var infoView2_DateInfo_PreClickButton = new Button() + infoView2_DateInfo_PreClickButton = new Button() { Width = Application.GetRealWidth(32 + 6), }; infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreClickButton); - var infoView2_DateInfo_DateTextButton = new Button() + infoView2_DateInfo_DateTextButton = new Button() { Gravity = Gravity.Center, Width = Application.GetRealWidth(200), TextAlignment = TextAlignment.Center, - Text = "2024-8-12", + Text = DateTime.Now.ToString("yyyy-MM-dd"), TextColor = CSS_Color.FirstLevelTitleColor, IsBold = true, TextSize = 16, @@ -361,7 +393,7 @@ infoView2_DateInfoView.AddChidren(infoView2_DateInfo_DateTextButton); - var infoView2_DateInfo_NextIconButton = new Button() + infoView2_DateInfo_NextIconButton = new Button() { X = Application.GetRealWidth(343 - 18 - 6), Gravity = Gravity.CenterVertical, @@ -371,8 +403,9 @@ }; infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextIconButton); - var infoView2_DateInfo_NextClickButton = new Button() + infoView2_DateInfo_NextClickButton = new Button() { + X = Application.GetRealWidth(343 - 18 - 6 - 32), Width = Application.GetRealWidth(32 + 6), }; infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton); @@ -380,49 +413,49 @@ #endregion #region 鏁版嵁鍥捐〃 - MyEchartsViewOn infoView2_EchartsView = new MyEchartsViewOn() + infoView2_EchartsView = new MyEchartsViewOn() { Y = Application.GetRealWidth(101), Height = Application.GetRealWidth(246), }; infoView2.AddChidren(infoView2_EchartsView); - var echartOption2 = new EchartsOption_Histogram(); + echartOption2 = new EchartsOption_Histogram(); echartOption2.xTitle = "鏃堕棿"; - echartOption2.yTitle = "娓╁害锛堚剝锛�"; - echartOption2.InitXdataText(new List<string>() - { - "21","22","23","24","25","26","26","27","28","29", - "21","22","23","24","25","26","26","27","28","29", - "21","22","23","24" - }); - echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() { - new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, - new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31" }, - new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24" }, - new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32" }, - new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22" }, - new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21" }, - new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41" }, - new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31" }, - new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23" }, - new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11" }, - new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21" }, - }); - infoView2_EchartsView.ShowWithOption(echartOption2.InitOption()); + echartOption2.yTitle = "鐢甸噺锛坘wh锛�"; + //echartOption2.InitXdataText(new List<string>() + //{ + // "21","22","23","24","25","26","26","27","28","29", + // "21","22","23","24","25","26","26","27","28","29", + // "21","22","23","24" + //}); + //echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() { + // new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, + // new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31" }, + // new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24" }, + // new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32" }, + // new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22" }, + // new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21" }, + // new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41" }, + // new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31" }, + // new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23" }, + // new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11" }, + // new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21" }, + //}); + //infoView2_EchartsView.ShowWithOption(echartOption2.InitOption()); infoView2.AddChidren(new Button() { @@ -444,8 +477,1085 @@ { Height = Application.GetRealWidth(26) }); + + initQueryButton(); + + getPvElectricityHistory(); + getLoadElectricityHistory(); } - } -} + + /// <summary> + /// 璇诲彇鍙戠數閲忓巻鍙叉暟鎹� + /// hour=杩�24灏忔椂銆乨ay_hour =鏌愭棩24灏忔椂銆亀eek=杩戜竴鍛ㄣ�乵onth = 杩戜竴鏈堛�乧ustom_month=鏌愬勾鏌愭湀 y/M銆乧ustom_year=鏌愬勾 y + /// </summary> + private void getPvElectricityHistory() + { + if (MainPage.NoLoginMode) + { + return; + } + + var loadPage = new Loading() + { + LodingBackgroundColor = 0x88888888, + BackgroundColor = 0x00FFFFFF, + }; + infoView1.AddChidren(loadPage); + + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + loadPage.Start(); + }); + + switch (queryType1) + { + case QueryType.day_hour: + queryTimeString1 = queryTime_Year1.ToString() + "/" + queryTime_Month1 + "/" + queryTime_Day1; + break; + case QueryType.custom_month: + queryTimeString1 = queryTime_Year1.ToString() + "/" + queryTime_Month1; + break; + case QueryType.custom_year: + queryTimeString1 = queryTime_Year1.ToString(); + break; + } + + var revertObj = new HttpServerRequest().GetSensorHistory(queryType1.ToString(), function.deviceId, InverterJinmao_AttrEnum.pv_electricity.ToString(), queryTimeString1); + if (revertObj != null) + { + if (revertObj.Code == StateCode.SUCCESS) + { + var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString()); + List<string> vs = new List<string>(); + foreach (var data in revertData) + { + vs.Add(data.fieldName); + } + echartOption1.InitXdataText(vs); + echartOption1.InitYdataText(revertData); + + Application.RunOnMainThread(() => + { + infoView1_EchartsView.ShowWithOption(echartOption1.InitOption()); + }); + } + } + } + catch (Exception ex) + { + MainPage.Log($"history error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + loadPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + + } + /// <summary> + /// 鑾峰彇鐢ㄧ數閲忓巻鍙茶褰� + /// </summary> + private void getLoadElectricityHistory() + { + if (MainPage.NoLoginMode) + { + return; + } + var loadPage = new Loading() + { + LodingBackgroundColor = 0x88888888, + BackgroundColor = 0x00FFFFFF, + }; + infoView2.AddChidren(loadPage); + + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + loadPage.Start(); + }); + switch (queryType2) + { + case QueryType.day_hour: + queryTimeString2 = queryTime_Year2.ToString() + "/" + queryTime_Month2 + "/" + queryTime_Day2; + break; + case QueryType.custom_month: + queryTimeString2 = queryTime_Year2.ToString() + "/" + queryTime_Month2; + break; + case QueryType.custom_year: + queryTimeString2 = queryTime_Year2.ToString(); + break; + } + + var revertObj = new HttpServerRequest().GetSensorHistory(queryType2.ToString(), function.deviceId, InverterJinmao_AttrEnum.load_electricity.ToString(), queryTimeString2); + if (revertObj != null) + { + if (revertObj.Code == StateCode.SUCCESS) + { + var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString()); + List<string> vs = new List<string>(); + foreach (var data in revertData) + { + vs.Add(data.fieldName); + } + echartOption2.InitXdataText(vs); + echartOption2.InitYdataText(revertData); + + Application.RunOnMainThread(() => + { + var ddd = echartOption2.InitOption(); + infoView2_EchartsView.ShowWithOption(echartOption2.InitOption()); + }); + } + } + } + catch (Exception ex) + { + MainPage.Log($"history 2 error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + loadPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + + } + + private void initQueryButton() + { + infoView1_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) => + { + SetTempQureyDateDialog(); + }; + infoView1_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => + { + var pvElecQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1); + if (queryType1 == QueryType.day_hour) + { + if (pvElecQueryDate.Year <= 2023 && pvElecQueryDate.Month == 1 && pvElecQueryDate.Day == 1) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddDays(-1); + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM-dd"); + } + else if (queryType1 == QueryType.custom_month) + { + if (pvElecQueryDate.Year <= 2023 && pvElecQueryDate.Month == 1) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddMonths(-1); + queryTime_Day1 = pvElecQueryDate.Day; + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM"); + } + else if (queryType1 == QueryType.custom_year) + { + if (pvElecQueryDate.Year <= 2023) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddYears(-1); + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy"); + } + queryTime_Year1 = pvElecQueryDate.Year; + queryTime_Month1 = pvElecQueryDate.Month; + queryTime_Day1 = pvElecQueryDate.Day; + getPvElectricityHistory(); + }; + infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => + { + var pvElecQueryDate = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1); + if (queryType1 == QueryType.day_hour) + { + if (pvElecQueryDate.Year == DateTime.Now.Year && pvElecQueryDate.Month == DateTime.Now.Month && pvElecQueryDate.Day == DateTime.Now.Day) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddDays(1); + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM-dd"); + } + else if (queryType1 == QueryType.custom_month) + { + if (pvElecQueryDate.Year == DateTime.Now.Year && pvElecQueryDate.Month == DateTime.Now.Month) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddMonths(1); + queryTime_Day1 = pvElecQueryDate.Day; + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy-MM"); + } + else if (queryType1 == QueryType.custom_year) + { + if (pvElecQueryDate.Year >= DateTime.Now.Year) + { + return; + } + pvElecQueryDate = pvElecQueryDate.AddYears(1); + infoView1_DateInfo_DateTextButton.Text = pvElecQueryDate.ToString("yyyy"); + } + queryTime_Year1 = pvElecQueryDate.Year; + queryTime_Month1 = pvElecQueryDate.Month; + queryTime_Day1 = pvElecQueryDate.Day; + getPvElectricityHistory(); + }; + + infoView1_Date_Day.MouseUpEventHandler = (sender, e) => + { + if (infoView1_Date_Day.IsSelected) + { + return; + } + infoView1_Date_Day.IsSelected = true; + infoView1_Date_Month.IsSelected = false; + infoView1_Date_Year.IsSelected = false; + queryType1 = QueryType.day_hour; + if (DateTime.Now.Date < new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1)) + { + queryTime_Year1 = DateTime.Now.Year; + queryTime_Month1 = DateTime.Now.Month; + queryTime_Day1 = DateTime.Now.Day; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd"); + getPvElectricityHistory(); + }; + infoView1_Date_Month.MouseUpEventHandler = (sender, e) => + { + if (infoView1_Date_Month.IsSelected) + { + return; + } + infoView1_Date_Day.IsSelected = false; + infoView1_Date_Month.IsSelected = true; + infoView1_Date_Year.IsSelected = false; + queryType1 = QueryType.custom_month; + if (DateTime.Now.Date < new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1)) + { + queryTime_Year1 = DateTime.Now.Year; + queryTime_Month1 = DateTime.Now.Month; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM"); + getPvElectricityHistory(); + }; + infoView1_Date_Year.MouseUpEventHandler = (sender, e) => + { + if (infoView1_Date_Year.IsSelected) + { + return; + } + infoView1_Date_Day.IsSelected = false; + infoView1_Date_Month.IsSelected = false; + infoView1_Date_Year.IsSelected = true; + queryType1 = QueryType.custom_year; + infoView1_DateInfo_DateTextButton.Text = queryTime_Year1.ToString(); + getPvElectricityHistory(); + }; + //-----------鐢ㄦ按 + infoView2_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) => + { + SetWaterQureyDateDialog(); + }; + infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => + { + var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2); + if (queryType2 == QueryType.day_hour) + { + if (waterQueryDate.Year <= 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1) + { + return; + } + waterQueryDate = waterQueryDate.AddDays(-1); + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd"); + } + else if (queryType2 == QueryType.custom_month) + { + if (waterQueryDate.Year <= 2023 && waterQueryDate.Month == 1) + { + return; + } + waterQueryDate = waterQueryDate.AddMonths(-1); + queryTime_Day2 = waterQueryDate.Day; + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM"); + } + else if (queryType2 == QueryType.custom_year) + { + if (waterQueryDate.Year <= 2023) + { + return; + } + waterQueryDate = waterQueryDate.AddYears(-1); + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy"); + } + queryTime_Year2 = waterQueryDate.Year; + queryTime_Month2 = waterQueryDate.Month; + queryTime_Day2 = waterQueryDate.Day; + getLoadElectricityHistory(); + }; + infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => + { + var waterQueryDate = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2); + if (queryType2 == QueryType.day_hour) + { + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day) + { + return; + } + waterQueryDate = waterQueryDate.AddDays(1); + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd"); + } + else if (queryType2 == QueryType.custom_month) + { + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month) + { + return; + } + waterQueryDate = waterQueryDate.AddMonths(1); + queryTime_Day2 = waterQueryDate.Day; + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM"); + } + else if (queryType2 == QueryType.custom_year) + { + if (waterQueryDate.Year >= DateTime.Now.Year) + { + return; + } + waterQueryDate = waterQueryDate.AddYears(1); + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy"); + } + queryTime_Year2 = waterQueryDate.Year; + queryTime_Month2 = waterQueryDate.Month; + queryTime_Day2 = waterQueryDate.Day; + getLoadElectricityHistory(); + }; + infoView2_Date_Day.MouseDownEventHandler = (sender, e) => + { + if (infoView2_Date_Day.IsSelected) + { + return; + } + infoView2_Date_Day.IsSelected = true; + infoView2_Date_Month.IsSelected = false; + infoView2_Date_Year.IsSelected = false; + queryType2 = QueryType.day_hour; + if (DateTime.Now.Date < new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2)) + { + queryTime_Year2 = DateTime.Now.Year; + queryTime_Month2 = DateTime.Now.Month; + queryTime_Day2 = DateTime.Now.Day; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd"); + getLoadElectricityHistory(); + }; + infoView2_Date_Month.MouseDownEventHandler = (sender, e) => + { + if (infoView2_Date_Month.IsSelected) + { + return; + } + infoView2_Date_Day.IsSelected = false; + infoView2_Date_Month.IsSelected = true; + infoView2_Date_Year.IsSelected = false; + queryType2 = QueryType.custom_month; + if (DateTime.Now.Date < new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2)) + { + queryTime_Year2 = DateTime.Now.Year; + queryTime_Month2 = DateTime.Now.Month; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM"); + getLoadElectricityHistory(); + }; + infoView2_Date_Year.MouseDownEventHandler = (sender, e) => + { + if (infoView2_Date_Year.IsSelected) + { + return; + } + infoView2_Date_Day.IsSelected = false; + infoView2_Date_Month.IsSelected = false; + infoView2_Date_Year.IsSelected = true; + queryType2 = QueryType.custom_year; + infoView2_DateInfo_DateTextButton.Text = queryTime_Year2.ToString(); + getLoadElectricityHistory(); + }; + + } + + /// <summary> + /// </summary> + public void SetTempQureyDateDialog() + { + var pickerItems_Year = new List<string>(); + List<string> pickerItems_Month = null; + List<string> pickerItems_Day = null; + + int item1 = queryTime_Year1; + int item2 = queryTime_Month1; + int item3 = queryTime_Day1; + + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (queryTime_Year1 == DateTime.Now.Year) + { + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + } + else + { + for (var i = 1; i < 13; i++) + { + pickerItems_Month.Add(i.ToString()); + } + } + if (queryType1 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (queryTime_Month1 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(queryTime_Year1, queryTime_Month1); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + } + + Dialog dialog = new Dialog(); + + var pView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(pView); + + var optionBaseView = new FrameLayout() + { + Y = Application.GetRealHeight(456 - 60), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(260), + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + }; + pView.AddChidren(optionBaseView); + + var topView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(40), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + }; + optionBaseView.AddChidren(topView); + topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); + + var btnCancel = new Button() + { + X = Application.GetRealWidth(21), + Width = Application.GetRealWidth(100), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.Cancel, + }; + topView.AddChidren(btnCancel); + + var btnConfrim = new Button() + { + X = Application.GetRealWidth(160), + Width = Application.GetRealWidth(160), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.Confirm, + }; + topView.AddChidren(btnConfrim); + + var btnToday = new Button() + { + X = Application.GetRealWidth(160 - 32) - btnConfrim.GetTextWidth(), + Width = Application.GetRealWidth(160), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.TextFontSize, + Visible = false, + Enable = false, + Text = "浠婃棩", + }; + topView.AddChidren(btnToday); + + UIPickerView uIPickerView = new UIPickerView() + { + Y = Application.GetRealHeight(40), + Height = Application.GetRealHeight(210), + Radius = (uint)Application.GetRealWidth(12), + }; + optionBaseView.AddChidren(uIPickerView); + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month1.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day1.ToString())); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { + try + { + if (int1 < 0) + { + int1 = 1; + } + if (pickerItems_Year[int1] != item1.ToString()) + { + int.TryParse(pickerItems_Year[int1], out item1); + if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (item1 == DateTime.Now.Year) + { + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + } + else + { + for (var i = 1; i < 13; i++) + { + pickerItems_Month.Add(i.ToString()); + } + } + if (queryType1 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + } + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString())); + + } + if (pickerItems_Month != null) + { + if (int2 >= pickerItems_Month.Count || int2 < 0) + { + int2 = 0; + } + if (pickerItems_Month[int2] != item2.ToString()) + { + int.TryParse(pickerItems_Month[int2], out item2); + if (queryType1 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + try + { + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString())); + } + catch (Exception ex) + { + MainPage.Log("Error", $"閲戣寕鍘嗗彶鏁版嵁鎺т欢寮傚父:{ex.Message}"); + } + } + } + if (pickerItems_Day != null) + { + if (int3 >= pickerItems_Day.Count || int3 < 0) + { + int3 = 0; + } + if (pickerItems_Day[int3] != item3.ToString()) + { + int.TryParse(pickerItems_Day[int3], out item3); + } + } + } + catch (Exception ex) + { + MainPage.Log("Error", $"閲戣寕鐑按鍣ㄦ棩鏈熼�夋嫨寮傚父锛歿ex.StackTrace}"); + } + }; + btnConfrim.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + queryTime_Year1 = item1; + infoView1_DateInfo_DateTextButton.Text = queryTime_Year1.ToString(); + if (queryType1 == QueryType.custom_month || queryType1 == QueryType.day_hour) + { + if (item2 != queryTime_Month1) + { + queryTime_Month1 = item2; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, 1).ToString("yyyy-MM"); + if (queryType1 == QueryType.day_hour) + { + if (item3 != queryTime_Day1) + { + queryTime_Day1 = item3; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year1, queryTime_Month1, queryTime_Day1).ToString("yyyy-MM-dd"); + } + } + getPvElectricityHistory(); + }; + + + if (queryType1 == QueryType.day_hour) + { + try + { + btnToday.Visible = btnToday.Enable = true; + btnToday.MouseUpEventHandler = (sender, e) => + { + item3 = queryTime_Day1 = DateTime.Now.Day; + item2 = queryTime_Month1 = DateTime.Now.Month; + item1 = queryTime_Year1 = DateTime.Now.Year; + pickerItems_Year = new List<string>(); + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + pickerItems_Month = new List<string>(); + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + pickerItems_Day = new List<string>(); + int addDay = 0; + while(DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month1.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day1.ToString())); + }; + } + catch { } + } + } + + public void SetWaterQureyDateDialog() + { + var pickerItems_Year = new List<string>(); + List<string> pickerItems_Month = null; + List<string> pickerItems_Day = null; + + int item1 = queryTime_Year2; + int item2 = queryTime_Month2; + int item3 = queryTime_Day2; + + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (queryTime_Year2 == DateTime.Now.Year) + { + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + } + else + { + for (var i = 1; i < 13; i++) + { + pickerItems_Month.Add(i.ToString()); + } + } + if (queryType2 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (queryTime_Month2 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(queryTime_Year2, queryTime_Month2); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + } + + Dialog dialog = new Dialog(); + + var pView = new FrameLayout() + { + BackgroundColor = CSS_Color.DialogTransparentColor1, + }; + dialog.AddChidren(pView); + + var optionBaseView = new FrameLayout() + { + Y = Application.GetRealHeight(456 - 60), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(260), + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + }; + pView.AddChidren(optionBaseView); + + var topView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(40), + BackgroundColor = CSS_Color.MainBackgroundColor, + Radius = (uint)Application.GetRealWidth(12), + }; + optionBaseView.AddChidren(topView); + topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor }); + + var btnCancel = new Button() + { + X = Application.GetRealWidth(21), + Width = Application.GetRealWidth(100), + TextAlignment = TextAlignment.CenterLeft, + TextColor = CSS_Color.PromptingColor1, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.Cancel, + }; + topView.AddChidren(btnCancel); + + var btnConfrim = new Button() + { + X = Application.GetRealWidth(160), + Width = Application.GetRealWidth(160), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.TextFontSize, + TextID = StringId.Confirm, + }; + topView.AddChidren(btnConfrim); + + UIPickerView uIPickerView = new UIPickerView() + { + Y = Application.GetRealHeight(40), + Height = Application.GetRealHeight(210), + Radius = (uint)Application.GetRealWidth(12), + }; + optionBaseView.AddChidren(uIPickerView); + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year2.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day2.ToString())); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { + try + { + if (int1 < 0) + { + int1 = 0; + } + if (pickerItems_Year[int1] != item1.ToString()) + { + int.TryParse(pickerItems_Year[int1], out item1); + if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (item1 == DateTime.Now.Year) + { + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + } + else + { + for (var i = 1; i < 13; i++) + { + pickerItems_Month.Add(i.ToString()); + } + } + if (queryType2 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + } + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString())); + + } + if (pickerItems_Month != null) + { + if (int2 > pickerItems_Month.Count || int2 < 0) + { + int2 = 0; + } + if (pickerItems_Month[int2] != item2.ToString()) + { + int.TryParse(pickerItems_Month[int2], out item2); + if (queryType2 == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (item1 == DateTime.Now.Year && item2 == DateTime.Now.Month) + { + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + } + else + { + for (var i = 1; i <= DateTime.DaysInMonth(item1, item2); i++) + { + pickerItems_Day.Add(i.ToString()); + } + } + } + + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(item1.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(item2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(item3.ToString())); + } + } + if (pickerItems_Day != null) + { + if (int3 >= pickerItems_Day.Count || int3 < 0) + { + int3 = 0; + } + if (pickerItems_Day[int3] != item3.ToString()) + { + int.TryParse(pickerItems_Day[int3], out item3); + } + } + } + catch (Exception ex) + { + MainPage.Log("Error", $"閲戣寕鍏変紡鏃ユ湡2閫夋嫨寮傚父锛歿ex.StackTrace}"); + } + }; + btnConfrim.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + queryTime_Year2 = item1; + infoView2_DateInfo_DateTextButton.Text = queryTime_Year2.ToString(); + if (queryType2 == QueryType.custom_month || queryType2 == QueryType.day_hour) + { + if (item2 != queryTime_Month2) + { + queryTime_Month2 = item2; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, 1).ToString("yyyy-MM"); + if (queryType2 == QueryType.day_hour) + { + if (item3 != queryTime_Day2) + { + queryTime_Day2 = item3; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(queryTime_Year2, queryTime_Month2, queryTime_Day2).ToString("yyyy-MM-dd"); + } + } + getLoadElectricityHistory(); + }; + + var btnToday = new Button() + { + X = Application.GetRealWidth(160 - 32) - btnConfrim.GetTextWidth(), + Width = Application.GetRealWidth(160), + TextAlignment = TextAlignment.CenterRight, + TextColor = CSS_Color.MainColor, + TextSize = CSS_FontSize.TextFontSize, + Visible = false, + Enable = false, + Text = "浠婃棩", + }; + topView.AddChidren(btnToday); + + + if (queryType2 == QueryType.day_hour) + { + try + { + btnToday.Visible = btnToday.Enable = true; + btnToday.MouseUpEventHandler = (sender, e) => + { + item3 = queryTime_Day2 = DateTime.Now.Day; + item2 = queryTime_Month2 = DateTime.Now.Month; + item1 = queryTime_Year2 = DateTime.Now.Year; + + pickerItems_Year = new List<string>(); + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + pickerItems_Month = new List<string>(); + int addMonth = 0; + while (DateTime.Now.Month > addMonth) + { + addMonth++; + pickerItems_Month.Add(addMonth.ToString()); + } + pickerItems_Day = new List<string>(); + int addDay = 0; + while (DateTime.Now.Day > addDay) + { + addDay++; + pickerItems_Day.Add(addDay.ToString()); + } + + uIPickerView.setNPicker(pickerItems_Year, pickerItems_Month, pickerItems_Day); + uIPickerView.setCurrentItems(pickerItems_Year.IndexOf(queryTime_Year2.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(queryTime_Month2.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(queryTime_Day2.ToString())); + }; + } + catch { } + } + + } + + + + + } +} \ No newline at end of file -- Gitblit v1.8.0