From a3dfbcd5218270f9a75e6e32807b08215270b657 Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期三, 11 九月 2024 11:48:23 +0800
Subject: [PATCH] Merge branch 'feature/v2.5_极光推送' into feature/V2.6.0_google

---
 HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs | 1561 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1,561 insertions(+), 0 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
new file mode 100644
index 0000000..504de37
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/InverterJinmaoHistroyPage.cs
@@ -0,0 +1,1561 @@
+锘�
+
+using System;
+using System.Collections.Generic;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
+using HDL_ON.UI.CSS;
+using Shared;
+namespace HDL_ON.UI
+{
+    public class InverterJinmaoHistroyPage : FrameLayout
+    {
+        InverterJinmaoHistroyPage bodyView;
+        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");
+
+
+        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 deviceFunction)
+        {
+            bodyView = this;
+            function = deviceFunction;
+            BackgroundColor = CSS_Color.BackgroundColor;
+        }
+
+        public void LoadPage()
+        {
+            var topView = new TopViewDiv(bodyView, "鑳芥簮鍒嗘瀽");
+            topView.maginY = 10;
+            topView.LoadTopView();
+
+            var contentView = new VerticalScrolViewLayout()
+            {
+                Y = Application.GetRealHeight(74 + 16),
+                Height = Application.GetRealHeight(Application.DesignHeight - 74),
+            };
+            bodyView.AddChidren(contentView);
+
+            #region 鍙戠數閲�
+            infoView1 = new FrameLayout()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(382),
+                Gravity = Gravity.CenterHorizontal,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+                BorderColor = 0x00FFFFFF,
+                BorderWidth = 0,
+            };
+            contentView.AddChidren(infoView1);
+
+            #region 鏃堕棿鏉′欢閫夋嫨
+            var infoView1_DateView = new HorizontalScrolViewLayout()
+            {
+                Width = Application.GetRealWidth(343 - 34),
+                Height = Application.GetRealWidth(26),
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(17),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = 0x00FFFFFF,
+                BorderWidth = 0,
+                ScrollEnabled = false,
+            };
+            infoView1.AddChidren(infoView1_DateView);
+
+            infoView1_Date_Day = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "鏃�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = true,
+            };
+            infoView1_DateView.AddChidren(infoView1_Date_Day);
+
+
+            infoView1_Date_Month = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "鏈�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = false,
+            };
+            infoView1_DateView.AddChidren(infoView1_Date_Month);
+
+
+            infoView1_Date_Year = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "骞�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = false,
+            };
+            infoView1_DateView.AddChidren(infoView1_Date_Year);
+
+            var infoView1_DateInfoView = new FrameLayout()
+            {
+                Y = Application.GetRealWidth(43),
+                Height = Application.GetRealWidth(55),
+            };
+            infoView1.AddChidren(infoView1_DateInfoView);
+
+            infoView1_DateInfo_PreIconButton = new Button()
+            {
+                X = Application.GetRealWidth(18),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(6),
+                Height = Application.GetRealWidth(10),
+                UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/PreIcon.png",
+            };
+            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_PreIconButton);
+
+            infoView1_DateInfo_PreClickButton = new Button()
+            {
+                Width = Application.GetRealWidth(32 + 6),
+            };
+            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_PreClickButton);
+
+            infoView1_DateInfo_DateTextButton = new Button()
+            {
+                Gravity = Gravity.Center,
+                Width = Application.GetRealWidth(200),
+                TextAlignment = TextAlignment.Center,
+                Text = DateTime.Now.ToString("yyyy-MM-dd"),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                IsBold = true,
+                TextSize = 16,
+            };
+            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_DateTextButton);
+
+
+            infoView1_DateInfo_NextIconButton = new Button()
+            {
+                X = Application.GetRealWidth(343 - 18 - 6),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(6),
+                Height = Application.GetRealWidth(10),
+                UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/NextIcon.png",
+            };
+            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextIconButton);
+
+            infoView1_DateInfo_NextClickButton = new Button()
+            {
+                X = Application.GetRealWidth(343 - 18 - 6 - 32),
+                Width = Application.GetRealWidth(32 + 6),
+            };
+            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextClickButton);
+
+            #endregion
+
+            #region 鏁版嵁鍥捐〃
+            infoView1_EchartsView = new MyEchartsViewOn()
+            {
+                Y = Application.GetRealWidth(101),
+                Height = Application.GetRealWidth(246),
+            };
+            infoView1.AddChidren(infoView1_EchartsView);
+
+            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()
+            {
+                Height = Application.GetRealWidth(35),
+                Y = Application.GetRealWidth(340),
+                Text = "鍙戠數閲�",
+                TextSize = 14,
+                TextAlignment = TextAlignment.Center,
+                TextColor = 0xFFC0C7D4
+            });
+
+            #endregion
+
+            #endregion
+
+            contentView.AddChidren(new Button()
+            {
+                Height = Application.GetRealWidth(16)
+            });
+
+            #region 鐢ㄧ數閲�
+            infoView2 = new FrameLayout()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(382),
+                Y = Application.GetRealHeight(16) + infoView1.Bottom,
+                Gravity = Gravity.CenterHorizontal,
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(12),
+                BorderColor = 0x00FFFFFF,
+                BorderWidth = 0,
+            };
+            contentView.AddChidren(infoView2);
+
+            #region 鏃堕棿鏉′欢閫夋嫨
+            var infoView2_DateView = new HorizontalScrolViewLayout()
+            {
+                Width = Application.GetRealWidth(343 - 34),
+                Height = Application.GetRealWidth(26),
+                Gravity = Gravity.CenterHorizontal,
+                Y = Application.GetRealWidth(17),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = 0x00FFFFFF,
+                BorderWidth = 0,
+                ScrollEnabled = false,
+            };
+            infoView2.AddChidren(infoView2_DateView);
+
+            infoView2_Date_Day = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "鏃�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = true,
+            };
+            infoView2_DateView.AddChidren(infoView2_Date_Day);
+
+
+            infoView2_Date_Month = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "鏈�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = false,
+            };
+            infoView2_DateView.AddChidren(infoView2_Date_Month);
+
+
+            infoView2_Date_Year = new Button()
+            {
+                Width = Application.GetRealWidth(103),
+                Height = Application.GetRealWidth(26),
+                BackgroundColor = CSS_Color.BackgroundColor,
+                SelectedBackgroundColor = CSS_Color.MainBackgroundColor,
+                Radius = (uint)Application.GetRealWidth(13),
+                BorderColor = CSS_Color.BackgroundColor,
+                BorderWidth = (uint)Application.GetRealWidth(1),
+                Text = "骞�",
+                TextAlignment = TextAlignment.Center,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                SelectedTextColor = CSS_Color.MainColor,
+                TextSize = CSS_FontSize.TextFontSize,
+                IsSelected = false,
+            };
+            infoView2_DateView.AddChidren(infoView2_Date_Year);
+
+            var infoView2_DateInfoView = new FrameLayout()
+            {
+                Y = Application.GetRealWidth(43),
+                Height = Application.GetRealWidth(55),
+            };
+            infoView2.AddChidren(infoView2_DateInfoView);
+
+            infoView2_DateInfo_PreIconButton = new Button()
+            {
+                X = Application.GetRealWidth(18),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(6),
+                Height = Application.GetRealWidth(10),
+                UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/PreIcon.png",
+            };
+            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreIconButton);
+
+            infoView2_DateInfo_PreClickButton = new Button()
+            {
+                Width = Application.GetRealWidth(32 + 6),
+            };
+            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_PreClickButton);
+
+            infoView2_DateInfo_DateTextButton = new Button()
+            {
+                Gravity = Gravity.Center,
+                Width = Application.GetRealWidth(200),
+                TextAlignment = TextAlignment.Center,
+                Text = DateTime.Now.ToString("yyyy-MM-dd"),
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                IsBold = true,
+                TextSize = 16,
+            };
+            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_DateTextButton);
+
+
+            infoView2_DateInfo_NextIconButton = new Button()
+            {
+                X = Application.GetRealWidth(343 - 18 - 6),
+                Gravity = Gravity.CenterVertical,
+                Width = Application.GetRealWidth(6),
+                Height = Application.GetRealWidth(10),
+                UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/NextIcon.png",
+            };
+            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextIconButton);
+
+            infoView2_DateInfo_NextClickButton = new Button()
+            {
+                X = Application.GetRealWidth(343 - 18 - 6 - 32),
+                Width = Application.GetRealWidth(32 + 6),
+            };
+            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton);
+
+            #endregion
+
+            #region 鏁版嵁鍥捐〃
+            infoView2_EchartsView = new MyEchartsViewOn()
+            {
+                Y = Application.GetRealWidth(101),
+                Height = Application.GetRealWidth(246),
+            };
+            infoView2.AddChidren(infoView2_EchartsView);
+
+            echartOption2 = new EchartsOption_Histogram();
+            echartOption2.xTitle = "鏃堕棿";
+            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()
+            {
+                Height = Application.GetRealWidth(35),
+                Y = Application.GetRealWidth(340),
+                Text = "鐢ㄧ數閲�",
+                TextSize = 14,
+                TextAlignment = TextAlignment.Center,
+                TextColor = 0xFFC0C7D4
+            });
+
+            #endregion
+
+
+            #endregion
+
+
+            contentView.AddChidren(new Button()
+            {
+                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