From a023039e525469ef33bf0324d17d3e954e6b29d7 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期二, 16 三月 2021 17:54:20 +0800 Subject: [PATCH] 兼容温总的添加红外宝 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs | 151 +++++++++++++++++++++++++------------------------- 1 files changed, 76 insertions(+), 75 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs index a390242..b830595 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalSciencePage.cs @@ -3,6 +3,7 @@ using HDL_ON.Entity; using HDL_ON.UI.CSS; using System.Collections.Generic; +using HDL_ON.DriverLayer; namespace HDL_ON.UI { @@ -49,6 +50,7 @@ #region 鍖哄煙鍙橀噺 Room room; + Sensor sensorTemp = new Sensor(); #endregion @@ -283,11 +285,7 @@ bodyView.AddChidren(contentView); #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙 - room = new Room(); - if (DB_ResidenceData.residenceData.rooms.Count > 0) - { - room = DB_ResidenceData.residenceData.rooms[0]; - } + room = new Room() { roomName = Language.StringByID(StringId.All)}; btnFoorDownIcon = new Button() { Width = Application.GetMinRealAverage(16), @@ -307,7 +305,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.PromptFontSize_FirstLevel, TextAlignment = TextAlignment.CenterLeft, - Text = room.name, + Text = room.roomName, }; contentView.AddChidren(btnRoom); @@ -331,16 +329,10 @@ }; contentView.AddChidren(sensorListView); - int index = 0; - foreach(var sensor in DB_ResidenceData.residenceData.functionList.sensorsEnvironmentalScience) - { - if ( sensor.functionType == FunctionType.WindPower) - { - continue; - } - LoadSensorDiv(sensor, index); - index++; - } + LoadSenesorList(); + + LoadEventList(); + #endregion @@ -350,18 +342,32 @@ new TopViewDiv(bodyView, Language.StringByID(StringId.EnvironmentalScience)).LoadTopView(); } + /// <summary> /// 鍔犺浇浼犳劅鍣ㄥ垪琛� /// </summary> - void LoadSensorDiv(Sensor sensor,int index) + void LoadSenesorList() { - if (sensor.roomIdList.Contains(room.sid)) + sensorListView.RemoveAll(); + int index = 0; + foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) + { + LoadSensorDiv(sensor, index); + index++; + } + } + + /// <summary> + /// 鍔犺浇浼犳劅鍣ㄥ垪琛� + /// </summary> + void LoadSensorDiv(Function sensor,int index) + { + var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); + var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); + + if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) { var sensorTag = sensor.sid; - if (sensor.bus_Data != null) - { - sensorTag = ((int)sensor.functionType % 256) + "_" + sensor.bus_Data.SubnetID + "_" + sensor.bus_Data.DeviceID + "_" + sensor.bus_Data.LoopID; - } FrameLayout sensorView = new FrameLayout() { Width = Application.GetRealWidth(148), @@ -386,10 +392,10 @@ Width = Application.GetRealWidth(48), Height = Application.GetRealWidth(48), OpenAngle = 10, - ProgressBarColor = sensor.levelColorList[sensor.curLevel - 1], + ProgressBarColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1], MinValue = 0, MaxValue = 96, - Progress = (96 / sensor.levelColorList.Count) * sensor.curLevel, + Progress = (96 / sensorTemp.GetLevelColorList(sensor.spk).Count * sensorTemp.GetCurLevel(sensor)), IsClickable = false, ArcColor = CSS_Color.BackgroundColor, ArcWidth = Application.GetRealWidth(4), @@ -407,32 +413,31 @@ TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, TextColor = CSS_Color.FirstLevelTitleColor, - TextID = sensor.functionTypeNameId, + TextID = sensorTemp.GetFunctionTypeNameId(sensor.spk), Tag = "SensorTitle" }; sensorView.AddChidren(btnSensorTitle); btnSensorTitle.MouseUpEventHandler = (sender, e) => { + #region var esp = new EnvironmentalSensorPage(sensor); MainPage.BasePageView.AddChidren(esp); esp.LoadPage(); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + #endregion }; - if ( sensor.functionType != FunctionType.WindPower) + var btnInfoIcon = new Button() { - var btnInfoIcon = new Button() - { - X = Application.GetRealWidth(120), - Width = Application.GetRealWidth(28), - Height = Application.GetRealWidth(28), - UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", - }; - sensorView.AddChidren(btnInfoIcon); - btnInfoIcon.MouseUpEventHandler = (sender, e) => - { - LoadInfo(sensor); - }; - } + X = Application.GetRealWidth(120), + Width = Application.GetRealWidth(28), + Height = Application.GetRealWidth(28), + UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/TipInfoIcon.png", + }; + sensorView.AddChidren(btnInfoIcon); + btnInfoIcon.MouseUpEventHandler = (sender, e) => + { + LoadInfo(sensor); + }; var btnSensorValues = new Button() { @@ -444,7 +449,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.EmphasisFontSize_Secondary, IsBold = true, - Text = sensor.values.ToString(), + Text = sensor.GetAttrState(FunctionAttributeKey.Value), Tag = "SensorValues" }; sensorView.AddChidren(btnSensorValues); @@ -456,23 +461,24 @@ Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(18), TextAlignment = TextAlignment.CenterLeft, - TextColor = sensor.levelColorList[sensor.curLevel - 1], + TextColor = levelColorList[sensorTemp.GetCurLevel( sensor) - 1], TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, - TextID = sensor.levelTextList[sensor.curLevel - 1], + TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1], Tag = "SensorLevel" }; sensorView.AddChidren(btnLevel); - //Control.Send(CommandType_A.read, sensor); - Control.SendReadCommand(sensor); + Control.Ins.SendReadCommand(sensor); } } /// <summary> /// 鍔犺浇浼犳劅鍣ㄧ瓑绾х浉鍏充俊鎭� /// </summary> - void LoadInfo(Sensor sensor) + void LoadInfo(Function sensor) { + var levelColorList = sensorTemp.GetLevelColorList(sensor.spk); + var levelTextList = sensorTemp.GetLevelTextList(sensor.spk); Dialog dialog = new Dialog(); FrameLayout dialogBodyView = new FrameLayout(); @@ -481,13 +487,12 @@ { dialog.Close(); }; - VerticalScrolViewLayout infoView = new VerticalScrolViewLayout() { Gravity = Gravity.CenterHorizontal, - Y = Application.GetRealHeight(667 - 94 - (sensor.levelColorList.Count * 44) - 20), + Y = Application.GetRealHeight(667 - 94 - (levelColorList.Count * 44) - 20), Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(94 + (sensor.levelColorList.Count * 44) + sensor.levelColorList.Count), + Height = Application.GetRealHeight(94 + (levelColorList.Count * 44) + levelColorList.Count), Radius = (uint)Application.GetRealWidth(12), BackgroundColor = CSS_Color.MainBackgroundColor, Animate = Animate.DownToUp, @@ -506,29 +511,21 @@ }; infoView.AddChidren(btnTitle); - switch (sensor.functionType) + switch (sensor.spk) { - case FunctionType.PM10: - btnTitle.Text = "PM1.0(ug/m虏)"; - break; - case FunctionType.PM25: + case SPK.SensorPm25: btnTitle.Text = "PM2.5(ug/m虏)"; break; - case FunctionType.WindPower: - - break; - //case FunctionType.Noise: - // break; - case FunctionType.Temp: + case SPK.SensorTemperature: btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; break; - case FunctionType.TVOC: + case SPK.SensorTVOC: btnTitle.Text = "TVOC(PPM)"; break; - case FunctionType.CO2: + case SPK.SensorCO2: btnTitle.Text = "CO2(PPM)"; break; - case FunctionType.Humidity: + case SPK.SensorHumidity: btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; break; } @@ -571,7 +568,7 @@ IsBold = true, TextID = StringId.ColorValue, }); - for (int index = 0; index < sensor.levelTextList.Count; index++) + for (int index = 0; index < levelTextList.Count; index++) { infoView.AddChidren(new Button() { @@ -595,7 +592,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - Text = sensor.intervalValue[index] + Text = sensorTemp.GetIntervalValue(sensor.spk)[index] }); subInfoView.AddChidren(new Button() @@ -606,7 +603,7 @@ TextColor = CSS_Color.FirstLevelTitleColor, TextSize = CSS_FontSize.TextFontSize, IsBold = true, - TextID = sensor.levelTextList[index] + TextID = levelTextList[index] }); subInfoView.AddChidren(new Button() @@ -616,7 +613,7 @@ Width = Application.GetRealWidth(38), Height = Application.GetRealHeight(18), Radius = (uint)Application.GetRealWidth(4), - BackgroundColor = sensor.levelColorList[index] + BackgroundColor = levelColorList[index] }); } @@ -642,7 +639,7 @@ var dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(100), + Y = Application.GetRealHeight(266), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(110), BackgroundImagePath = "PersonalCenter/HomeList1bg.png", @@ -659,15 +656,15 @@ }; dispalyView.AddChidren(contentView); - if (DB_ResidenceData.residenceData.rooms.Count < 2) + if (SpatialInfo.CurrentSpatial.RoomList.Count < 2) { } - else if (DB_ResidenceData.residenceData.rooms.Count < 3) + else if (SpatialInfo.CurrentSpatial.RoomList.Count < 3) { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(100), + Y = Application.GetRealHeight(266), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(155), BackgroundImagePath = "PersonalCenter/HomeList2bg.png", @@ -677,12 +674,12 @@ contentView.Height = Application.GetRealHeight(45 * 3); dispalyView.AddChidren(contentView); } - else if (DB_ResidenceData.residenceData.rooms.Count < 4) + else if (SpatialInfo.CurrentSpatial.RoomList.Count < 4) { dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(100), + Y = Application.GetRealHeight(266), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(200), BackgroundImagePath = "PersonalCenter/HomeList3bg.png", @@ -697,7 +694,7 @@ dispalyView = new FrameLayout() { X = Application.GetRealWidth(10), - Y = Application.GetRealHeight(100), + Y = Application.GetRealHeight(266), Width = Application.GetRealWidth(160), Height = Application.GetRealHeight(245), BackgroundImagePath = "PersonalCenter/HomeList4bg.png", @@ -710,10 +707,13 @@ } + var showListRoom = new List<Room>(); + showListRoom.Add(new Room() { roomName = Language.StringByID(StringId.All) }); + showListRoom.AddRange(SpatialInfo.CurrentSpatial.RoomList); - foreach (var roomTemp in DB_ResidenceData.residenceData.rooms) + foreach (var roomTemp in showListRoom) { - string roomName = roomTemp.name; + string roomName = roomTemp.roomName; var btnRoomName = new Button() { Gravity = Gravity.CenterHorizontal, @@ -735,6 +735,7 @@ dialog.Close(); btnRoom.Text = roomName; room = roomTemp; + LoadSenesorList(); }; } -- Gitblit v1.8.0