From 561052e04a4bde86e963c89e10f7614df38fd002 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期三, 04 九月 2024 10:58:21 +0800 Subject: [PATCH] 地暖面板,新增SPK --- HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs | 1102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 1,060 insertions(+), 42 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs index 402c310..b1d60f1 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs @@ -1,6 +1,8 @@ 锘縰sing System; using System.Collections.Generic; +using HDL_ON.DAL.Server; using HDL_ON.Entity; +using HDL_ON.Stan; using HDL_ON.UI.CSS; using Shared; namespace HDL_ON.UI @@ -8,34 +10,65 @@ public class WetarHeaterJinmaoHistoryPage : FrameLayout { WetarHeaterJinmaoHistoryPage bodyView; - Function device; + Function function; + FrameLayout infoView1; + EchartsOption_Histogram tempEchartOption; + 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 tempQueryType = QueryType.day_hour; + int tempQueryTime_Day = DateTime.Now.Day; + int tempQueryTime_Month = DateTime.Now.Month; + int tempQueryTime_Year = DateTime.Now.Year; + string tempQueryTimeString = DateTime.Now.ToString("yyyy/MM/dd"); - /// <summary> - /// echart瀹瑰櫒 - /// </summary> - MyEchartsViewOn tempEchartsView; - public WetarHeaterJinmaoHistoryPage(Function function) + 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 waterQueryType = QueryType.day_hour; + int waterQueryTime_Day = DateTime.Now.Day; + int waterQueryTime_Month = DateTime.Now.Month; + int waterQueryTime_Year = DateTime.Now.Year; + string waterQueryTimeString = DateTime.Now.ToString("yyyy/MM/dd"); + + + public WetarHeaterJinmaoHistoryPage(Function deviceFunction) { bodyView = this; - device = function; + function = deviceFunction; + this.BackgroundColor = CSS_Color.BackgroundColor; } public void LoadPage() { - var topView = new TopViewDiv(bodyView, device.name); + var topView = new TopViewDiv(bodyView, function.name); topView.maginY = 10; topView.LoadTopView(); var contentView = new VerticalScrolViewLayout() { - Y = Application.GetRealHeight(74+16), + Y = Application.GetRealHeight(74 + 16), Height = Application.GetRealHeight(Application.DesignHeight - 74), }; bodyView.AddChidren(contentView); #region 娓╁害鍊� - var infoView1 = new FrameLayout() + infoView1 = new FrameLayout() { Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(382), @@ -62,7 +95,7 @@ }; infoView1.AddChidren(infoView1_DateView); - var infoView1_Date_Day = new Button() + infoView1_Date_Day = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -80,8 +113,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), @@ -99,8 +131,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), @@ -125,7 +156,7 @@ }; infoView1.AddChidren(infoView1_DateInfoView); - var infoView1_DateInfo_PreIconButton = new Button() + infoView1_DateInfo_PreIconButton = new Button() { X = Application.GetRealWidth(18), Gravity = Gravity.CenterVertical, @@ -135,18 +166,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, @@ -154,7 +185,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, @@ -164,8 +195,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); @@ -173,23 +205,23 @@ #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>() + tempEchartOption = new EchartsOption_Histogram(); + tempEchartOption.xTitle = "鏃堕棿"; + tempEchartOption.yTitle = "娓╁害锛堚剝锛�"; + tempEchartOption.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>() { + tempEchartOption.InitYdataText(new List<EnvironmentalSensorHistor>() { new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23" }, new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22" }, new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11" }, @@ -215,7 +247,7 @@ new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11" }, new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21" }, }); - var ddd = echartOption.InitOption(); + var ddd = tempEchartOption.InitOption(); infoView1_EchartsView.ShowWithOption(ddd); infoView1.AddChidren(new Button() @@ -238,7 +270,8 @@ }); #region 鐢ㄦ按閲� - var infoView2 = new FrameLayout() + + infoView2 = new FrameLayout() { Width = Application.GetRealWidth(343), Height = Application.GetRealWidth(382), @@ -266,7 +299,7 @@ }; infoView2.AddChidren(infoView2_DateView); - var infoView2_Date_Day = new Button() + infoView2_Date_Day = new Button() { Width = Application.GetRealWidth(103), Height = Application.GetRealWidth(26), @@ -285,7 +318,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), @@ -304,7 +337,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), @@ -329,7 +362,7 @@ }; infoView2.AddChidren(infoView2_DateInfoView); - var infoView2_DateInfo_PreIconButton = new Button() + infoView2_DateInfo_PreIconButton = new Button() { X = Application.GetRealWidth(18), Gravity = Gravity.CenterVertical, @@ -339,26 +372,25 @@ }; 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, }; 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, @@ -368,8 +400,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); @@ -377,16 +410,16 @@ #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.yTitle = "鐢ㄦ按閲忥紙t锛�"; echartOption2.InitXdataText(new List<string>() { "21","22","23","24","25","26","26","27","28","29", @@ -441,8 +474,993 @@ { Height = Application.GetRealWidth(26) }); + + initQueryButton(); } + + /// <summary> + /// 璇诲彇娓╁害鍊煎巻鍙叉暟鎹� + /// hour=杩�24灏忔椂銆乨ay_hour =鏌愭棩24灏忔椂銆亀eek=杩戜竴鍛ㄣ�乵onth = 杩戜竴鏈堛�乧ustom_month=鏌愬勾鏌愭湀 y/M銆乧ustom_year=鏌愬勾 y + /// </summary> + private void getTempHistory() + { + if (MainPage.NoLoginMode) + { + return; + } + + var loadPage = new Loading() + { + LodingBackgroundColor = 0x88888888, + }; + infoView1.AddChidren(loadPage); + + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + loadPage.Start(Language.StringByID(StringId.PleaseWait)); + }); + + switch (tempQueryType) + { + case QueryType.day_hour: + tempQueryTimeString = tempQueryTime_Year.ToString() + "/" + tempQueryTime_Month + "/" + tempQueryTime_Day; + break; + case QueryType.custom_month: + tempQueryTimeString = tempQueryTime_Year.ToString() + "/" + tempQueryTime_Month ; + break; + case QueryType.custom_year: + tempQueryTimeString = tempQueryTime_Year.ToString(); + break; + } + + var revertObj = new HttpServerRequest().GetSensorHistory(tempQueryType.ToString(), function.deviceId, WaterHeaterJinmao_AttrEnum.temp.ToString(),tempQueryTimeString); + 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); + } + tempEchartOption.InitXdataText(vs); + tempEchartOption.InitYdataText(revertData); + + Application.RunOnMainThread(() => + { + infoView1_EchartsView.ShowWithOption(tempEchartOption.InitOption()); + }); + } + } + } + catch (Exception ex) + { + MainPage.Log($"history error : {ex.Message}"); + } + finally + { + Application.RunOnMainThread(() => + { + loadPage.Hide(); + }); + } + }) + { IsBackground = true }.Start(); + + } + /// <summary> + /// 鑾峰彇鐢ㄦ按閲忓巻鍙茶褰� + /// </summary> + private void getWaterHistory() + { + if (MainPage.NoLoginMode) + { + return; + } + var loadPage = new Loading() + { + LodingBackgroundColor = 0x88888888, + }; + infoView2.AddChidren(loadPage); + + new System.Threading.Thread(() => + { + try + { + Application.RunOnMainThread(() => + { + loadPage.Start(Language.StringByID(StringId.PleaseWait)); + }); + switch (waterQueryType) + { + case QueryType.day_hour: + waterQueryTimeString = waterQueryTime_Year.ToString() + "/" + waterQueryTime_Month + "/" + waterQueryTime_Day; + break; + case QueryType.custom_month: + waterQueryTimeString = waterQueryTime_Year.ToString() + "/" + waterQueryTime_Month; + break; + case QueryType.custom_year: + waterQueryTimeString = waterQueryTime_Year.ToString(); + break; + } + + var revertObj = new HttpServerRequest().GetSensorHistory(waterQueryType.ToString(), function.deviceId, WaterHeaterJinmao_AttrEnum.volume.ToString(),waterQueryTimeString); + 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(() => + { + 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 tempQueryDate = new DateTime(tempQueryTime_Year,tempQueryTime_Month,tempQueryTime_Day); + if (tempQueryType == QueryType.day_hour) + { + tempQueryDate = tempQueryDate.AddDays(-1); + if(tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 1) + { + infoView1_DateInfo_PreIconButton.Visible = false; + infoView1_DateInfo_PreClickButton.Enable = false; + } + if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day - 1) + { + infoView1_DateInfo_NextIconButton.Visible = true; + infoView1_DateInfo_NextClickButton.Enable = true; + } + } + else if(tempQueryType == QueryType.custom_month) + { + tempQueryDate = tempQueryDate.AddMonths(-1); + if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1) + { + infoView1_DateInfo_PreIconButton.Visible = false; + infoView1_DateInfo_PreClickButton.Enable = false; + } + if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month - 1) + { + infoView1_DateInfo_NextIconButton.Visible = true; + infoView1_DateInfo_NextClickButton.Enable = true; + } + } + else if(tempQueryType == QueryType.custom_year) + { + tempQueryDate = tempQueryDate.AddYears(-1); + if (tempQueryDate.Year == 2023) + { + infoView1_DateInfo_PreIconButton.Visible = false; + infoView1_DateInfo_PreClickButton.Enable = false; + } + if (tempQueryDate.Year == DateTime.Now.Year - 1) + { + infoView1_DateInfo_NextIconButton.Visible = true; + infoView1_DateInfo_NextClickButton.Enable = true; + } + } + tempQueryTime_Year = tempQueryDate.Year; + tempQueryTime_Month = tempQueryDate.Month; + tempQueryTime_Day = tempQueryDate.Day; + infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd"); + getTempHistory(); + }; + infoView1_DateInfo_NextIconButton.Visible = false; + infoView1_DateInfo_NextClickButton.Enable = false; + infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => { + var tempQueryDate = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day); + if (tempQueryType == QueryType.day_hour) + { + tempQueryDate = tempQueryDate.AddDays(1); + if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 2) + { + infoView1_DateInfo_PreIconButton.Visible = true; + infoView1_DateInfo_PreClickButton.Enable = true; + } + if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month && tempQueryDate.Day == DateTime.Now.Day) + { + infoView1_DateInfo_NextIconButton.Visible = false; + infoView1_DateInfo_NextClickButton.Enable = false; + } + } + else if (tempQueryType == QueryType.custom_month) + { + tempQueryDate = tempQueryDate.AddMonths(1); + if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 2) + { + infoView1_DateInfo_PreIconButton.Visible = true; + infoView1_DateInfo_PreClickButton.Enable = true; + } + if (tempQueryDate.Year == DateTime.Now.Year && tempQueryDate.Month == DateTime.Now.Month ) + { + infoView1_DateInfo_NextIconButton.Visible = false; + infoView1_DateInfo_NextClickButton.Enable = false; + } + } + else if (tempQueryType == QueryType.custom_year) + { + tempQueryDate = tempQueryDate.AddYears(1); + if (tempQueryDate.Year == 2023) + { + infoView1_DateInfo_PreIconButton.Visible = false; + infoView1_DateInfo_PreClickButton.Enable = false; + } + if (tempQueryDate.Year == DateTime.Now.Year) + { + infoView1_DateInfo_NextIconButton.Visible = false; + infoView1_DateInfo_NextClickButton.Enable = false; + } + } + tempQueryTime_Year = tempQueryDate.Year; + tempQueryTime_Month = tempQueryDate.Month; + tempQueryTime_Day = tempQueryDate.Day; + infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd"); + getTempHistory(); + }; + + 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; + tempQueryType = QueryType.day_hour; + infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM-dd"); + getTempHistory(); + }; + 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; + tempQueryType = QueryType.custom_month; + infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM"); + getTempHistory(); + }; + 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; + tempQueryType = QueryType.custom_year; + infoView1_DateInfo_DateTextButton.Text = tempQueryTime_Year.ToString(); + getTempHistory(); + }; + //-----------鐢ㄦ按 + infoView2_DateInfo_DateTextButton.MouseUpEventHandler = (sender, e) => + { + SetWaterQureyDateDialog(); + }; + infoView2_DateInfo_PreClickButton.MouseUpEventHandler = (sender, e) => { + var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day); + if (waterQueryType == QueryType.day_hour) + { + waterQueryDate = waterQueryDate.AddDays(-1); + if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 1) + { + infoView2_DateInfo_PreIconButton.Visible = false; + infoView2_DateInfo_PreClickButton.Enable = false; + } + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day - 1) + { + infoView2_DateInfo_NextIconButton.Visible = true; + infoView2_DateInfo_NextClickButton.Enable = true; + } + } + else if (waterQueryType == QueryType.custom_month) + { + waterQueryDate = waterQueryDate.AddMonths(-1); + if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1) + { + infoView2_DateInfo_PreIconButton.Visible = false; + infoView2_DateInfo_PreClickButton.Enable = false; + } + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month - 1) + { + infoView2_DateInfo_NextIconButton.Visible = true; + infoView2_DateInfo_NextClickButton.Enable = true; + } + } + else if (waterQueryType == QueryType.custom_year) + { + waterQueryDate = waterQueryDate.AddYears(-1); + if (waterQueryDate.Year == 2023) + { + infoView2_DateInfo_PreIconButton.Visible = false; + infoView2_DateInfo_PreClickButton.Enable = false; + } + if (waterQueryDate.Year == DateTime.Now.Year - 1) + { + infoView2_DateInfo_NextIconButton.Visible = true; + infoView2_DateInfo_NextClickButton.Enable = true; + } + } + waterQueryTime_Year = waterQueryDate.Year; + waterQueryTime_Month = waterQueryDate.Month; + waterQueryTime_Day = waterQueryDate.Day; + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd"); + getWaterHistory(); + }; + infoView2_DateInfo_NextIconButton.Visible = false; + infoView2_DateInfo_NextClickButton.Enable = false; + infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) => { + var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day); + if (waterQueryType == QueryType.day_hour) + { + waterQueryDate = waterQueryDate.AddDays(1); + if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1 && waterQueryDate.Day == 2) + { + infoView2_DateInfo_PreIconButton.Visible = true; + infoView2_DateInfo_PreClickButton.Enable = true; + } + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month && waterQueryDate.Day == DateTime.Now.Day) + { + infoView2_DateInfo_NextIconButton.Visible = false; + infoView2_DateInfo_NextClickButton.Enable = false; + } + } + else if (waterQueryType == QueryType.custom_month) + { + waterQueryDate = waterQueryDate.AddMonths(1); + if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 2) + { + infoView2_DateInfo_PreIconButton.Visible = true; + infoView2_DateInfo_PreClickButton.Enable = true; + } + if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month) + { + infoView2_DateInfo_NextIconButton.Visible = false; + infoView2_DateInfo_NextClickButton.Enable = false; + } + } + else if (waterQueryType == QueryType.custom_year) + { + waterQueryDate = waterQueryDate.AddYears(1); + if (waterQueryDate.Year == 2023) + { + infoView2_DateInfo_PreIconButton.Visible = false; + infoView2_DateInfo_PreClickButton.Enable = false; + } + if (waterQueryDate.Year == DateTime.Now.Year) + { + infoView2_DateInfo_NextIconButton.Visible = false; + infoView2_DateInfo_NextClickButton.Enable = false; + } + } + waterQueryTime_Year = waterQueryDate.Year; + waterQueryTime_Month = waterQueryDate.Month; + waterQueryTime_Day = waterQueryDate.Day; + infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM-dd"); + getWaterHistory(); + }; + 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; + waterQueryType = QueryType.day_hour; + infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM-dd"); + getWaterHistory(); + }; + 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; + waterQueryType = QueryType.custom_month; + infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM"); + getWaterHistory(); + }; + 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; + waterQueryType = QueryType.custom_year; + infoView2_DateInfo_DateTextButton.Text = waterQueryTime_Year.ToString(); + getWaterHistory(); + }; + + } + + /// <summary> + /// </summary> + public void SetTempQureyDateDialog() + { + var pickerItems_Year = new List<string>(); + List<string> pickerItems_Month = null; + List<string> pickerItems_Day = null; + + int item1 = tempQueryTime_Year; + int item2 = tempQueryTime_Month; + int item3 = tempQueryTime_Day; + + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + if(tempQueryType == QueryType.custom_month || tempQueryType == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (tempQueryTime_Year == 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 (tempQueryType == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (tempQueryTime_Month == 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(tempQueryTime_Year, tempQueryTime_Month); 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(tempQueryTime_Year.ToString()), + pickerItems_Month == null ? 0: pickerItems_Month.IndexOf(tempQueryTime_Month.ToString()), + pickerItems_Day == null? 0: pickerItems_Day.IndexOf(tempQueryTime_Day.ToString())); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { + if (pickerItems_Year[int1] != item1.ToString()) + { + int.TryParse(pickerItems_Year[int1], out item1); + if (tempQueryType == QueryType.custom_month || tempQueryType == 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 (tempQueryType == 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 (pickerItems_Month[int2] != item2.ToString()) + { + int.TryParse(pickerItems_Month[int2], out item2); + if (tempQueryType == 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; + } + if (pickerItems_Day[int3] != item3.ToString()) + { + int.TryParse(pickerItems_Day[int3], out item3); + } + } + }; + btnConfrim.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + tempQueryTime_Year = item1; + infoView1_DateInfo_DateTextButton.Text = tempQueryTime_Year.ToString(); + if (tempQueryType == QueryType.custom_month || tempQueryType == QueryType.day_hour) + { + if (item2 != tempQueryTime_Month) + { + tempQueryTime_Month = item2; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM"); + if (tempQueryType == QueryType.day_hour) + { + if (item3 != tempQueryTime_Day) + { + tempQueryTime_Day = item3; + } + infoView1_DateInfo_DateTextButton.Text = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day).ToString("yyyy-MM-dd"); + } + } + getTempHistory(); + }; + + } + + public void SetWaterQureyDateDialog() + { + var pickerItems_Year = new List<string>(); + List<string> pickerItems_Month = null; + List<string> pickerItems_Day = null; + + int item1 = waterQueryTime_Year; + int item2 = waterQueryTime_Month; + int item3 = waterQueryTime_Day; + + pickerItems_Year.Add("2023"); + while (DateTime.Now.Year > 2022 + pickerItems_Year.Count) + { + pickerItems_Year.Add((2023 + pickerItems_Year.Count).ToString()); + } + + if (waterQueryType == QueryType.custom_month || waterQueryType == QueryType.day_hour) + { + pickerItems_Month = new List<string>(); + if (waterQueryTime_Year == 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 (waterQueryType == QueryType.day_hour) + { + pickerItems_Day = new List<string>(); + if (waterQueryTime_Month == 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(waterQueryTime_Year, waterQueryTime_Month); 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(waterQueryTime_Year.ToString()), + pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(waterQueryTime_Month.ToString()), + pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(waterQueryTime_Day.ToString())); + + dialog.Show(); + + pView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + btnCancel.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => + { + if (pickerItems_Year[int1] != item1.ToString()) + { + int.TryParse(pickerItems_Year[int1], out item1); + if (waterQueryType == QueryType.custom_month || waterQueryType == 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 (waterQueryType == 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 (pickerItems_Month[int2] != item2.ToString()) + { + int.TryParse(pickerItems_Month[int2], out item2); + if (waterQueryType == 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; + } + if (pickerItems_Day[int3] != item3.ToString()) + { + int.TryParse(pickerItems_Day[int3], out item3); + } + } + }; + btnConfrim.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + waterQueryTime_Year = item1; + infoView2_DateInfo_DateTextButton.Text = waterQueryTime_Year.ToString(); + if (waterQueryType == QueryType.custom_month || waterQueryType == QueryType.day_hour) + { + if (item2 != waterQueryTime_Month) + { + waterQueryTime_Month = item2; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM"); + if (waterQueryType == QueryType.day_hour) + { + if (item3 != waterQueryTime_Day) + { + waterQueryTime_Day = item3; + } + infoView2_DateInfo_DateTextButton.Text = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day).ToString("yyyy-MM-dd"); + } + } + getWaterHistory(); + }; + + } + + + + + } + + public enum QueryType + { + /// <summary> + /// 杩�24灏忔椂銆� + /// </summary> + hour, + /// <summary> + /// 鏌愭棩24灏忔椂銆� + /// </summary> + day_hour, + /// <summary> + /// 杩戜竴鍛ㄣ�� + /// </summary> + week, + /// <summary> + /// 杩戜竴鏈堛�� + /// </summary> + month, + /// <summary> + /// 鏌愬勾鏌愭湀 y/M銆� + /// </summary> + custom_month, + /// <summary> + /// 鏌愬勾 y + /// </summary> + custom_year, } } -- Gitblit v1.8.0