xm
2021-12-01 6d73bf6e816570291865674bef8bce8972e4de3f
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSensorPage.cs
@@ -4,6 +4,7 @@
using HDL_ON.UI.CSS;
using System.Collections.Generic;
using HDL_ON.DAL.Server;
using HDL_ON.UI.UI2.EnvironmentalScience;
namespace HDL_ON.UI
{
@@ -25,6 +26,7 @@
        Function function;
        List<Function> showFunctions;
        List<Function> sensorList;
        /// <summary>
        /// 当前查询类型
        /// </summary>
@@ -44,6 +46,17 @@
        {
            bodyView = this;
            function = ss;
            showFunctions = new List<Function>();
            showFunctions.Add(ss);
            sensorList = FunctionList.List.GetEnvirSensorsList();
        }
        public EnvironmentalSensorPage(Function ss,List<Function> functions)
        {
            bodyView = this;
            function = ss;
            sensorList = functions;
            showFunctions = new List<Function>();
            showFunctions.Add(ss);
        }
@@ -117,7 +130,7 @@
                TextColor = CSS_Color.PromptingColor2,
                SelectedTextColor = CSS_Color.MainColor,
                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                Text = DateTime.Now.Month.ToString() + Language.StringByID(StringId.month),
                Text = Language.StringByID(StringId.month),//DateTime.Now.Month.ToString() +
            };
            showDataTypeView.AddChidren(btnShowHistroyData_Month);
            #endregion
@@ -127,7 +140,7 @@
                Gravity = Gravity.CenterHorizontal,
                Y = Application.GetRealHeight(52),
                Width = Application.GetRealWidth(343 - 32),
                Height = Application.GetRealHeight(270),
                Height = Application.GetRealWidth(270),
            };
            diagramView.AddChidren(historyDataView);
@@ -359,7 +372,7 @@
                    tipTextView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(43),
                        TextID = StringId.ExtremelyCold,
                        TextID = StringId.SlightlyCold,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -474,7 +487,7 @@
                    tipValuesView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(151),
                        Text = "70",
                        Text = "40%",
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -482,7 +495,7 @@
                    tipValuesView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(151),
                        Text = "40",
                        Text = "70%",
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -490,7 +503,7 @@
                    tipTextView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(101),
                        TextID = StringId.SensorReferenceTVOCTipLevel1,
                        TextID = StringId.SensorReferenceHumidityTipLevel1,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -498,7 +511,7 @@
                    tipTextView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(101),
                        TextID = StringId.SensorReferenceTVOCTipLevel2,
                        TextID = StringId.SensorReferenceHumidityTipLevel2,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -506,7 +519,7 @@
                    tipTextView.AddChidren(new Button()
                    {
                        Width = Application.GetRealWidth(101),
                        TextID = StringId.SensorReferenceTVOCTipLevel3,
                        TextID = StringId.SensorReferenceHumidityTipLevel3,
                        TextAlignment = TextAlignment.Center,
                        TextColor = CSS_Color.FirstLevelTitleColor,
                        TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
@@ -594,18 +607,18 @@
            };
            selfInfoView.AddChidren(btnSeltSensorValue);
            Button btnShowData;
            btnShowData = new Button()
            {
                X = Application.GetRealWidth(291),
                Y = Application.GetRealWidth(62),
                Width = Application.GetMinRealAverage(32),
                Height = Application.GetMinRealAverage(32),
                UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png",
                SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
                IsSelected = true,
            };
            selfInfoView.AddChidren(btnShowData);
            //Button btnShowData;
            //btnShowData = new Button()
            //{
            //    X = Application.GetRealWidth(291),
            //    Y = Application.GetRealWidth(62),
            //    Width = Application.GetMinRealAverage(32),
            //    Height = Application.GetMinRealAverage(32),
            //    UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png",
            //    SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
            //    IsSelected = true,
            //};
            //selfInfoView.AddChidren(btnShowData);
            //btnShowData.MouseUpEventHandler = (sender, e) => {
            //    btnShowData.IsSelected = !btnShowData.IsSelected;
            //    if(btnShowData.IsSelected)
@@ -643,7 +656,8 @@
            bool initTitleButton = true;
            foreach (var tempSensor in FunctionList.List.GetEnvirSensorsList())
            foreach (var tempSensor in sensorList)
            {
                if (tempSensor.sid == function.sid)
                {
@@ -674,7 +688,7 @@
                #region 其它传感器信息栏
                FrameLayout otherInfoView = new FrameLayout()
                {
                    Gravity = Gravity.CenterVertical,
                    Gravity = Gravity.CenterHorizontal,
                    Width = Application.GetRealWidth(343),
                    Height = Application.GetRealWidth(100),
                    BackgroundColor = CSS_Color.MainBackgroundColor,
@@ -738,7 +752,11 @@
                {
                    Action backAction = () =>
                    {
                        btnSeltSensorName.Text = tempSensor.name;
                        MainPage.Log("45678i");
                        Application.RunOnMainThread(() =>
                        {
                            btnSeltSensorName.Text = tempSensor.name;
                        });
                    };
                    var infoView = new FunctionBaseInfoSetPage(tempSensor, backAction);
                    MainPage.BasePageView.AddChidren(infoView);
@@ -773,21 +791,26 @@
                    btnShowData1.IsSelected = !btnShowData1.IsSelected;
                    if (btnShowData1.IsSelected)
                    {
                        if (!showFunctions.Contains(function))
                        if (!showFunctions.Contains(tempSensor))
                        {
                            showFunctions.Add(function);
                            showFunctions.Add(tempSensor);
                        }
                    }
                    else
                    {
                        if (showFunctions.Contains(function))
                        if (showFunctions.Contains(tempSensor))
                        {
                            showFunctions.Remove(function);
                            showFunctions.Remove(tempSensor);
                        }
                    }
                    LoadMothed_GetSensorHistoryData();
                };
                #endregion
                contentView.AddChidren(new Button()
                {
                    Height = Application.GetRealHeight(12),
                });
            }
            #endregion
@@ -805,12 +828,8 @@
        /// <summary>
        /// 读取传感器历史数据
        /// </summary>
        void LoadMothed_GetSensorHistoryData()
        void LoadMothed_GetSensorHistoryData( )
        {
            string echartRootJsonString;
            EchartsOption echartRootJson = new EchartsOption();
            var seriesList = new List<EchartSeriesItem>();
            echartRootJson.xAxis.data = new List<string>();
            var loadPage = new Loading() {
                LodingBackgroundColor = 0x88888888,
            };
@@ -824,8 +843,12 @@
                        loadPage.Start(Language.StringByID(StringId.PleaseWait));
                    });
                    int i = 0;
                    foreach (var sr in FunctionList.List.GetEnvirSensorsList())
                    var ebl = new EchartsOption_BrokenLine();
                    string yDataString = "";
                    foreach (var sr in showFunctions)
                    {
                        if (sr.spk != function.spk)
                        {
@@ -837,63 +860,39 @@
                            continue;
                        }
                        var sensorType = sr.spk.Split(".")[0];
                        var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,sensorType);
                        var sensorType = sr.spk.Split(".")[1];
                        var queryType = sr.GetAttrState("spk").ToString();
                        if(queryType == "0")
                        {
                            queryType = "value";
                        }
                        var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId, queryType);
                        if (revertObj != null)
                        {
                            if (revertObj.Code == StateCode.SUCCESS)
                            {
                                var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
                                var sItem = new EchartSeriesItem
                                if (i == 0)
                                {
                                    name = sr.GetRoomListName(),
                                    data = new List<int>(),
                                    lineStyle = new EchartLineStyle()
                                    List<string> vs = new List<string>();
                                    foreach(var data in revertData)
                                    {
                                        color = tipColorStringList[i],
#if __IOS__
                                        width = 5,
#elif __ANDROID__
                                        width = 2,
#endif
                                    },
                                };
                                foreach (var d in revertData)
                                {
                                    echartRootJson.xAxis.data.Add(d.fieldName);
                                    echartRootJson.yAxis.data.Add(d.fieldValue);
                                        vs.Add(data.fieldName);
                                    }
                                    ebl.InitXdataText(vs);
                                }
                                seriesList.Add(sItem);
                            }
                            else
                            {
                                Application.RunOnMainThread(() =>
                                {
                                    IMessageCommon.Current.ShowErrorInfoAlter("", true, 2,  Language.StringByID(StringId.GetSensorHistoryFailed),false);
                                    //new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.GetSensorHistoryFailed), true);
                                });
                                yDataString += ebl.InitYdataText(sr.name, revertData, tipColorStringList[i]);
                            }
                        }
                        i++;
                    }
                    echartRootJson.series = seriesList;
#if __IOS__
                    echartRootJson.xAxis.axisLabel.fontSize = 22;
                    echartRootJson.yAxis.axisLabel.fontSize = 22;
#else
                    echartRootJson.xAxis.axisLabel.fontSize = 8;
                    echartRootJson.yAxis.axisLabel.fontSize = 8;
#endif
                    echartRootJsonString = Newtonsoft.Json.JsonConvert.SerializeObject(echartRootJson);
                    Application.RunOnMainThread(() =>
                    {
                        myEchartsView.ShowWithOptionJsonString(echartRootJsonString);
                        myEchartsView.ShowWithOption(ebl.InitOption());
                    });
                }
@@ -929,7 +928,7 @@
                btnShowHistroyData_Day.IsSelected = false;
                btnShowHistroyData_Month.IsSelected = true;
                btnShowHistroyData_Week.IsSelected = false;
                curQueryType = "week";
                curQueryType = "month";
                LoadMothed_GetSensorHistoryData();
            };
            btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
@@ -938,16 +937,13 @@
                btnShowHistroyData_Day.IsSelected = false;
                btnShowHistroyData_Month.IsSelected = false;
                btnShowHistroyData_Week.IsSelected = true;
                curQueryType = "month";
                curQueryType = "week";
                LoadMothed_GetSensorHistoryData();
            };
        }
        void LoadEvent_SwitchOtherRoomSensorData()
        {
        }
    }
    public class EnvironmentalSensorHistor