| | |
| | | using HDL_ON.UI.CSS; |
| | | using System.Collections.Generic; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.UI.UI2.EnvironmentalScience; |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | |
| | | |
| | | MyEchartsViewOn myEchartsView; |
| | | |
| | | Sensor sensor; |
| | | Sensor sensorTemp = new Sensor(); |
| | | |
| | | List<Sensor> showSensors; |
| | | Function function; |
| | | List<Function> showFunctions; |
| | | /// <summary> |
| | | /// 当前查询类型 |
| | | /// </summary> |
| | |
| | | "#80AEFF","#FFD154","#FF9D54","#FE6A6A","#B183C3","#ADE764", |
| | | }; |
| | | |
| | | public EnvironmentalSensorPage(Sensor ss) |
| | | public EnvironmentalSensorPage(Function ss) |
| | | { |
| | | bodyView = this; |
| | | sensor = ss; |
| | | showSensors = new List<Sensor>(); |
| | | showSensors.Add(ss); |
| | | function = ss; |
| | | showFunctions = new List<Function>(); |
| | | showFunctions.Add(ss); |
| | | } |
| | | |
| | | public void LoadPage() |
| | |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(420), |
| | | Height = Application.GetRealWidth(420), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | BorderColor = 0x00000000, |
| | |
| | | HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(348), |
| | | Y = Application.GetRealWidth(348), |
| | | Width = Application.GetRealWidth(303), |
| | | Height = Application.GetRealHeight(30), |
| | | }; |
| | |
| | | }; |
| | | diagramView.AddChidren(tipTextView); |
| | | |
| | | switch (sensor.spk) |
| | | switch (function.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | tipValuesView.AddChidren(new Button() |
| | |
| | | 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, |
| | |
| | | tipValuesView.AddChidren(new Button() |
| | | { |
| | | Width = Application.GetRealWidth(151), |
| | | Text = "70", |
| | | Text = "40%", |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | |
| | | tipValuesView.AddChidren(new Button() |
| | | { |
| | | Width = Application.GetRealWidth(151), |
| | | Text = "40", |
| | | Text = "70%", |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = sensor.name, |
| | | Text = function.name, |
| | | IsBold = true, |
| | | }; |
| | | selfInfoView.AddChidren(btnSeltSensorName); |
| | |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = sensor.GetRoomListName() |
| | | Text = function.GetRoomListName() |
| | | }; |
| | | selfInfoView.AddChidren(btnFromFoorAndRoom); |
| | | |
| | |
| | | { |
| | | Action backAction = () => |
| | | { |
| | | btnSeltSensorName.Text = sensor.name; |
| | | btnSeltSensorName.Text = function.name; |
| | | }; |
| | | var infoView = new FunctionBaseInfoSetPage(sensor, backAction); |
| | | var infoView = new FunctionBaseInfoSetPage(function, backAction); |
| | | MainPage.BasePageView.AddChidren(infoView); |
| | | infoView.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | |
| | | |
| | | bool initTitleButton = true; |
| | | |
| | | foreach (var tempSensor in FunctionList.List.sensorsEnvironmentalScience) |
| | | foreach (var tempSensor in FunctionList.List.GetEnvirSensorsList()) |
| | | { |
| | | if (tempSensor.sid == sensor.sid) |
| | | if (tempSensor.sid == function.sid) |
| | | { |
| | | continue; |
| | | } |
| | | if (tempSensor.spk != sensor.spk) |
| | | if (tempSensor.spk != function.spk) |
| | | { |
| | | continue; |
| | | } |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = sensor.name, |
| | | Text = function.name, |
| | | IsBold = true, |
| | | }; |
| | | otherInfoView.AddChidren(btnSensorName); |
| | |
| | | btnShowData1.IsSelected = !btnShowData1.IsSelected; |
| | | if (btnShowData1.IsSelected) |
| | | { |
| | | if (!showSensors.Contains(sensor)) |
| | | if (!showFunctions.Contains(function)) |
| | | { |
| | | showSensors.Add(sensor); |
| | | showFunctions.Add(function); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (showSensors.Contains(sensor)) |
| | | if (showFunctions.Contains(function)) |
| | | { |
| | | showSensors.Remove(sensor); |
| | | showFunctions.Remove(function); |
| | | } |
| | | } |
| | | LoadMothed_GetSensorHistoryData(); |
| | |
| | | |
| | | } |
| | | #endregion |
| | | new TopViewDiv(bodyView, Language.StringByID(sensor.functionTypeNameId)).LoadTopView(); |
| | | new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView(); |
| | | |
| | | LoadMothed_GetSensorHistoryData(); |
| | | LoadEvent_ChangeSensorHistoryShowType(); |
| | |
| | | /// <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, |
| | | }; |
| | |
| | | loadPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | }); |
| | | int i = 0; |
| | | |
| | | foreach (var sr in FunctionList.List.sensorsEnvironmentalScience) |
| | | |
| | | var ebl = new EchartsOption_BrokenLine(); |
| | | |
| | | string yDataString = ""; |
| | | |
| | | foreach (var sr in FunctionList.List.GetEnvirSensorsList()) |
| | | { |
| | | if (sr.spk != sensor.spk) |
| | | if (sr.spk != function.spk) |
| | | { |
| | | continue; |
| | | } |
| | | if (showSensors.Find((obj) => obj.sid == sr.sid) == null) |
| | | if (showFunctions.Find((obj) => obj.sid == sr.sid) == null) |
| | | { |
| | | i++; |
| | | continue; |
| | | } |
| | | |
| | | var sensorType = sr.spk.Split(".")[0]; |
| | | var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,sensorType); |
| | | |
| | | var sensorType = sr.spk.Split(".")[1]; |
| | | var revertObj = new HttpServerRequest().GetSensorHistory(curQueryType, sr.deviceId,"value"); |
| | | 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(() => |
| | | { |
| | | 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()); |
| | | }); |
| | | |
| | | } |
| | |
| | | btnShowHistroyData_Day.IsSelected = false; |
| | | btnShowHistroyData_Month.IsSelected = true; |
| | | btnShowHistroyData_Week.IsSelected = false; |
| | | curQueryType = "week"; |
| | | curQueryType = "month"; |
| | | LoadMothed_GetSensorHistoryData(); |
| | | }; |
| | | btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) => |
| | |
| | | btnShowHistroyData_Day.IsSelected = false; |
| | | btnShowHistroyData_Month.IsSelected = false; |
| | | btnShowHistroyData_Week.IsSelected = true; |
| | | curQueryType = "month"; |
| | | curQueryType = "week"; |
| | | LoadMothed_GetSensorHistoryData(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | void LoadEvent_SwitchOtherRoomSensorData() |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | public class EnvironmentalSensorHistor |