wxr
2024-09-27 acc8caee31c4be90bd38d1af18136b0e84f6fe94
HDL_ON/UI/UI2/FuntionControlView/Acst/WetarHeaterJinmaoHistoryPage.cs
@@ -2,6 +2,7 @@
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
@@ -19,6 +20,13 @@
        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");
        FrameLayout infoView2;
@@ -30,6 +38,13 @@
        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)
@@ -141,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,
@@ -162,7 +177,7 @@
                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,
@@ -170,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,
@@ -182,6 +197,7 @@
            infoView1_DateInfo_NextClickButton = new Button()
            {
                X = Application.GetRealWidth(343 - 18 - 6 - 32),
                Width = Application.GetRealWidth(32 + 6),
            };
            infoView1_DateInfoView.AddChidren(infoView1_DateInfo_NextClickButton);
@@ -199,40 +215,40 @@
            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"
            });
            tempEchartOption.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 = tempEchartOption.InitOption();
            infoView1_EchartsView.ShowWithOption(ddd);
            //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"
            //});
            //tempEchartOption.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 = tempEchartOption.InitOption();
            //infoView1_EchartsView.ShowWithOption(ddd);
            infoView1.AddChidren(new Button()
            {
@@ -253,221 +269,236 @@
                Height = Application.GetRealWidth(16)
            });
            #region 用水量
            infoView2 = new FrameLayout()
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) != null)
            {
                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 用水量
            #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 = 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);
            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);
                #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_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);
                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);
                var infoView2_DateInfoView = new FrameLayout()
                {
                    Y = Application.GetRealWidth(43),
                    Height = Application.GetRealWidth(55),
                };
                infoView2.AddChidren(infoView2_DateInfoView);
            var 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_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_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 = "2024-8-12",
                TextColor = CSS_Color.FirstLevelTitleColor,
                IsBold = true,
                TextSize = 16,
            };
            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_DateTextButton);
                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);
            var 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_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()
            {
                Width = Application.GetRealWidth(32 + 6),
            };
            infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton);
                infoView2_DateInfo_NextClickButton = new Button()
                {
                    X = Application.GetRealWidth(343 - 18 - 6 - 32),
                    Width = Application.GetRealWidth(32 + 6),
                };
                infoView2_DateInfoView.AddChidren(infoView2_DateInfo_NextClickButton);
            #endregion
                #endregion
            #region 数据图表
            infoView2_EchartsView = new MyEchartsViewOn()
            {
                Y = Application.GetRealWidth(101),
                Height = Application.GetRealWidth(246),
            };
            infoView2.AddChidren(infoView2_EchartsView);
                #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 = "用水量(t)";
            echartOption2.InitXdataText(new List<string>()
            {
                "21","22","23","24","25","26","26","27","28","29",
                "21","22","23","24","25","26","26","27","28","29",
                "21","22","23","24"
            });
            echartOption2.InitYdataText(new List<EnvironmentalSensorHistor>() {
                new EnvironmentalSensorHistor{ fieldName = "1", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "2", fieldValue= "22"  },
                new EnvironmentalSensorHistor{ fieldName = "3", fieldValue= "11"  },
                new EnvironmentalSensorHistor{ fieldName = "4", fieldValue= "21"  },
                new EnvironmentalSensorHistor{ fieldName = "5", fieldValue= "41"  },
                new EnvironmentalSensorHistor{ fieldName = "6", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "7", fieldValue= "31"  },
                new EnvironmentalSensorHistor{ fieldName = "8", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "9", fieldValue= "11"  },
                new EnvironmentalSensorHistor{ fieldName = "10", fieldValue= "21"  },
                new EnvironmentalSensorHistor{ fieldName = "11", fieldValue= "24"  },
                new EnvironmentalSensorHistor{ fieldName = "12", fieldValue= "41"  },
                new EnvironmentalSensorHistor{ fieldName = "13", fieldValue= "32"  },
                new EnvironmentalSensorHistor{ fieldName = "14", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "15", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "16", fieldValue= "22"  },
                new EnvironmentalSensorHistor{ fieldName = "17", fieldValue= "11"  },
                new EnvironmentalSensorHistor{ fieldName = "18", fieldValue= "21"  },
                new EnvironmentalSensorHistor{ fieldName = "19", fieldValue= "41"  },
                new EnvironmentalSensorHistor{ fieldName = "20", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "21", fieldValue= "31"  },
                new EnvironmentalSensorHistor{ fieldName = "22", fieldValue= "23"  },
                new EnvironmentalSensorHistor{ fieldName = "23", fieldValue= "11"  },
                new EnvironmentalSensorHistor{ fieldName = "24", fieldValue= "21"  },
            });
            infoView2_EchartsView.ShowWithOption(echartOption2.InitOption());
                echartOption2 = new EchartsOption_Histogram();
                echartOption2.xTitle = "时间";
                echartOption2.yTitle = "用水量(t)";
                //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
            });
                infoView2.AddChidren(new Button()
                {
                    Height = Application.GetRealWidth(35),
                    Y = Application.GetRealWidth(340),
                    Text = "用水量",
                    TextSize = 14,
                    TextAlignment = TextAlignment.Center,
                    TextColor = 0xFFC0C7D4
                });
            #endregion
                #endregion
            #endregion
                #endregion
            }
            contentView.AddChidren(new Button()
            {
                Height = Application.GetRealWidth(26)
            });
            initQueryButton();
            getTempHistory();
            getWaterHistory();
        }
        /// <summary>
        /// 读取温度值历史数据
        /// hour=近24小时、day_hour =某日24小时、week=近一周、month = 近一月、custom_month=某年某月 y/M、custom_year=某年 y
        /// </summary>
        private void getTempHistory(string queryType)
        private void getTempHistory()
        {
            if (MainPage.NoLoginMode)
            {
                return;
            }
            var loadPage = new Loading()
            {
                LodingBackgroundColor = 0x88888888,
                BackgroundColor = 0x00FFFFFF,
            };
            infoView1.AddChidren(loadPage);
@@ -477,10 +508,23 @@
                {
                    Application.RunOnMainThread(() =>
                    {
                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
                        loadPage.Start();
                    });
                    var revertObj = new HttpServerRequest().GetSensorHistory(queryType, function.deviceId, WaterHeaterJinmao_AttrEnum.temp.ToString());
                    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)
@@ -519,12 +563,20 @@
        /// <summary>
        /// 获取用水量历史记录
        /// </summary>
        /// <param name="queryType"></param>
        private void getWaterHistory(string queryType)
        private void getWaterHistory()
        {
            if (MainPage.NoLoginMode)
            {
                return;
            }
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) == null)
            {
                return;
            }
            var loadPage = new Loading()
            {
                LodingBackgroundColor = 0x88888888,
                BackgroundColor = 0x00FFFFFF,
            };
            infoView2.AddChidren(loadPage);
@@ -534,10 +586,22 @@
                {
                    Application.RunOnMainThread(() =>
                    {
                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
                        loadPage.Start();
                    });
                    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(queryType, function.deviceId, WaterHeaterJinmao_AttrEnum.volume.ToString());
                    var revertObj = new HttpServerRequest().GetSensorHistory(waterQueryType.ToString(), function.deviceId, WaterHeaterJinmao_AttrEnum.volume.ToString(), waterQueryTimeString);
                    if (revertObj != null)
                    {
                        if (revertObj.Code == StateCode.SUCCESS)
@@ -576,7 +640,85 @@
        private void initQueryButton()
        {
            infoView1_Date_Day.MouseUpEventHandler = (sender, e) => {
            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)
                {
                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1 && tempQueryDate.Day == 1)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddDays(-1);
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                }
                else if (tempQueryType == QueryType.custom_month)
                {
                    if (tempQueryDate.Year == 2023 && tempQueryDate.Month == 1)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddMonths(-1);
                    tempQueryTime_Day = tempQueryDate.Day;
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                }
                else if (tempQueryType == QueryType.custom_year)
                {
                    if (tempQueryDate.Year <= 2023)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddYears(-1);
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
                }
                tempQueryTime_Year = tempQueryDate.Year;
                tempQueryTime_Month = tempQueryDate.Month;
                tempQueryTime_Day = tempQueryDate.Day;
                getTempHistory();
            };
            infoView1_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
            {
                var tempQueryDate = new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day);
                if (tempQueryType == QueryType.day_hour)
                {
                    if (tempQueryDate.Year >= DateTime.Now.Year && tempQueryDate.Month >= DateTime.Now.Month && tempQueryDate.Day >= DateTime.Now.Day)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddDays(1);
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM-dd");
                }
                else if (tempQueryType == QueryType.custom_month)
                {
                    if (tempQueryDate.Year >= DateTime.Now.Year && tempQueryDate.Month >= DateTime.Now.Month)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddMonths(1);
                    tempQueryTime_Day = tempQueryDate.Day;
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy-MM");
                }
                else if (tempQueryType == QueryType.custom_year)
                {
                    if (tempQueryDate.Year >= DateTime.Now.Year)
                    {
                        return;
                    }
                    tempQueryDate = tempQueryDate.AddYears(1);
                    infoView1_DateInfo_DateTextButton.Text = tempQueryDate.ToString("yyyy");
                }
                tempQueryTime_Year = tempQueryDate.Year;
                tempQueryTime_Month = tempQueryDate.Month;
                tempQueryTime_Day = tempQueryDate.Day;
                getTempHistory();
            };
            infoView1_Date_Day.MouseUpEventHandler = (sender, e) =>
            {
                if (infoView1_Date_Day.IsSelected)
                {
                    return;
@@ -584,12 +726,867 @@
                infoView1_Date_Day.IsSelected = true;
                infoView1_Date_Month.IsSelected = false;
                infoView1_Date_Year.IsSelected = false;
                //getTempHistory("day")
                tempQueryType = QueryType.day_hour;
                if (DateTime.Now.Date < new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day))
                {
                    tempQueryTime_Year = DateTime.Now.Year;
                    tempQueryTime_Month = DateTime.Now.Month;
                    tempQueryTime_Day = DateTime.Now.Day;
                }
                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;
                if (DateTime.Now.Date < new DateTime(tempQueryTime_Year, tempQueryTime_Month, tempQueryTime_Day))
                {
                    tempQueryTime_Year = DateTime.Now.Year;
                    tempQueryTime_Month = DateTime.Now.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();
            };
            //-----------用水
            if (function.attributes.Find((obj) => obj.key == WaterHeaterJinmao_AttrEnum.volume.ToString()) != null)
            {
                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)
                    {
                        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 (waterQueryType == QueryType.custom_month)
                    {
                        if (waterQueryDate.Year == 2023 && waterQueryDate.Month == 1)
                        {
                            return;
                        }
                        waterQueryDate = waterQueryDate.AddMonths(-1);
                        waterQueryTime_Day = waterQueryDate.Day;
                        infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                    }
                    else if (waterQueryType == QueryType.custom_year)
                    {
                        if (waterQueryDate.Year <= 2023)
                        {
                            return;
                        }
                        waterQueryDate = waterQueryDate.AddYears(-1);
                        infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                    }
                    waterQueryTime_Year = waterQueryDate.Year;
                    waterQueryTime_Month = waterQueryDate.Month;
                    waterQueryTime_Day = waterQueryDate.Day;
                    getWaterHistory();
                };
                infoView2_DateInfo_NextClickButton.MouseUpEventHandler = (sender, e) =>
                {
                    var waterQueryDate = new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day);
                    if (waterQueryType == 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 (waterQueryType == QueryType.custom_month)
                    {
                        if (waterQueryDate.Year == DateTime.Now.Year && waterQueryDate.Month == DateTime.Now.Month)
                        {
                            return;
                        }
                        waterQueryDate = waterQueryDate.AddMonths(1);
                        waterQueryTime_Day = waterQueryDate.Day;
                        infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy-MM");
                    }
                    else if (waterQueryType == QueryType.custom_year)
                    {
                        if (waterQueryDate.Year >= DateTime.Now.Year)
                        {
                            return;
                        }
                        waterQueryDate = waterQueryDate.AddYears(1);
                        infoView2_DateInfo_DateTextButton.Text = waterQueryDate.ToString("yyyy");
                    }
                    waterQueryTime_Year = waterQueryDate.Year;
                    waterQueryTime_Month = waterQueryDate.Month;
                    waterQueryTime_Day = waterQueryDate.Day;
                    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;
                    if (DateTime.Now.Date < new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day))
                    {
                        waterQueryTime_Year = DateTime.Now.Year;
                        waterQueryTime_Month = DateTime.Now.Month;
                        waterQueryTime_Day = DateTime.Now.Day;
                    }
                    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;
                    if (DateTime.Now.Date < new DateTime(waterQueryTime_Year, waterQueryTime_Month, waterQueryTime_Day))
                    {
                        waterQueryTime_Year = DateTime.Now.Year;
                        waterQueryTime_Month = DateTime.Now.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);
            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(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) =>
            {
                try
                {
                    if (int1 < 0)
                    {
                        int1 = 1;
                    }
                    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 (int2 >= pickerItems_Month.Count || int2 < 0)
                        {
                            int2 = 0;
                        }
                        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());
                                    }
                                }
                            }
                            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();
                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, 1).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();
            };
            if (tempQueryType == QueryType.day_hour)
            {
                try
                {
                    btnToday.Visible = btnToday.Enable = true;
                    btnToday.MouseUpEventHandler = (sender, e) =>
                    {
                        item3 = tempQueryTime_Day = DateTime.Now.Day;
                        item2 = tempQueryTime_Month = DateTime.Now.Month;
                        item1 = tempQueryTime_Year = 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(tempQueryTime_Year.ToString()),
                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(tempQueryTime_Month.ToString()),
                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(tempQueryTime_Day.ToString()));
                    };
                }
                catch { }
            }
        }
        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) =>
            {
                try
                {
                    if (int1 < 0)
                    {
                        int1 = 0;
                    }
                    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 (int2 > pickerItems_Month.Count || int2 < 0)
                        {
                            int2 = 0;
                        }
                        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)
                        {
                            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();
                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, 1).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();
            };
            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 (waterQueryType == QueryType.day_hour)
            {
                try
                {
                    btnToday.Visible = btnToday.Enable = true;
                    btnToday.MouseUpEventHandler = (sender, e) =>
                    {
                        item3 = waterQueryTime_Day = DateTime.Now.Day;
                        item2 = waterQueryTime_Month = DateTime.Now.Month;
                        item1 = waterQueryTime_Year = 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(waterQueryTime_Year.ToString()),
                            pickerItems_Month == null ? 0 : pickerItems_Month.IndexOf(waterQueryTime_Month.ToString()),
                            pickerItems_Day == null ? 0 : pickerItems_Day.IndexOf(waterQueryTime_Day.ToString()));
                    };
                }
                catch { }
            }
        }
    }
}
    }
    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,
    }
}