From 9ab5bd54fadd8fc9c542b48c99a117a4e182669b Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期四, 14 十月 2021 16:37:56 +0800 Subject: [PATCH] 智能空开能源界面数据更新 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 96 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 76 insertions(+), 20 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs index c75cf65..9a624ea 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs @@ -29,6 +29,8 @@ /// </summary> FrameLayout sensorListView; + VerticalScrolViewLayout sensorListContentView; + /// <summary> /// 澶╂皵鍚嶇О鏂囨湰 /// </summary> @@ -237,17 +239,18 @@ contentView.AddChidren(btnRoomClickRow); #endregion - - sensorListView = new FrameLayout() + sensorListContentView = new VerticalScrolViewLayout() { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(50), - Height = Application.GetRealHeight(456), + Height = Application.GetRealHeight(400), Radius = (uint)Application.GetRealWidth(12), BorderColor = 0x00000000, BorderWidth = 0, }; - contentView.AddChidren(sensorListView); + contentView.AddChidren(sensorListContentView); + sensorListView = new FrameLayout(); + sensorListContentView.AddChidren(sensorListView); LoadSenesorList(); @@ -271,7 +274,7 @@ int index = 0; foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) { - if(sensor.spk == SPK.SensorEnvironment) + if(SPK.EvironmentSensorList().Contains(sensor.spk)) { foreach (var seTemp in sensor.attributes) { @@ -280,38 +283,54 @@ name = sensor.name, sid = sensor.sid, deviceId = sensor.deviceId, - attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", value = seTemp.value } }, + roomIds = sensor.roomIds, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state, curValue = seTemp.curValue } + , new FunctionAttributes {key = "spk",state = seTemp.key,curValue = seTemp.key } + //,new FunctionAttributes { key = "spk"} + } }; switch (seTemp.key) { case "co2": newTemp.spk = SPK.SensorCO2; + newTemp.SetAttrState("spk", "co2"); break; case "pm25": newTemp.spk = SPK.SensorPm25; + newTemp.SetAttrState("spk", "pm25"); break; case "humidity": newTemp.spk = SPK.SensorHumidity; + newTemp.SetAttrState("spk", "humidity"); break; case "temperature": newTemp.spk = SPK.SensorTemperature; + newTemp.SetAttrState("spk", "temperature"); break; case "tvoc": newTemp.spk = SPK.SensorTVOC; + newTemp.SetAttrState("spk", "tvoc"); + break; + default: + continue; break; } - LoadSensorDiv(newTemp, index); - index++; + + if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) + { + LoadSensorDiv(newTemp, index); + index++; + } } } else { -#if DEBUG - continue; -#endif - LoadSensorDiv(sensor, index); + if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) + { + LoadSensorDiv(sensor, index); + index++; + } } - index++; new System.Threading.Thread(() => { @@ -319,16 +338,16 @@ }) { IsBackground = true }.Start(); } + sensorListView.Height = Application.GetRealWidth(124 * (index + 1) / 2); } /// <summary> /// 鍔犺浇浼犳劅鍣ㄥ垪琛� /// </summary> - void LoadSensorDiv(Function sensor, int index) + 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.spk + sensor.sid + sensor.deviceId; FrameLayout sensorView = new FrameLayout() @@ -363,6 +382,10 @@ case SPK.SensorTemperature: imagePath = "FunctionIcon/EnvirSensor/TempBg.png"; iconPath = "FunctionIcon/EnvirSensor/TempIcon.png"; + break; + case SPK.SensorHcho: + imagePath = "FunctionIcon/EnvirSensor/HchoBg.png"; + iconPath = "FunctionIcon/EnvirSensor/HchoIcon.png"; break; } sensorView.BackgroundImagePath = imagePath; @@ -414,12 +437,13 @@ Width = Application.GetRealWidth(100), Height = Application.GetRealWidth(32), TextAlignment = TextAlignment.CenterLeft, - TextColor = CSS_Color.FirstLevelTitleColor, + TextColor = sensorTemp.GetLevelColorList(sensor.spk)[sensorTemp.GetCurLevel(sensor) - 1], TextSize = CSS_FontSize.SubheadingFontSize, TextID = levelTextList[sensorTemp.GetCurLevel(sensor) - 1], Tag = "SensorLevel", }; sensorView.AddChidren(btnLevel); + btnLevel.MouseUpEventHandler = (sender, e) => { #region @@ -506,13 +530,16 @@ btnTitle.Text = Language.StringByID(StringId.Temp) + "(掳C)"; break; case SPK.SensorTVOC: - btnTitle.Text = "TVOC(PPM)"; + btnTitle.Text = "TVOC(PPB)"; break; case SPK.SensorCO2: btnTitle.Text = "CO2(PPM)"; break; case SPK.SensorHumidity: btnTitle.Text = Language.StringByID(StringId.Humidity) + "(%)"; + break; + case SPK.SensorHcho: + btnTitle.Text = Language.StringByID(StringId.Formaldehyde) +"(mg/m3)"; break; } @@ -748,7 +775,7 @@ { if (bodyView != null) { - if (updateTemp.spk == SPK.SensorEnvironment) + if (SPK.EvironmentSensorList().Contains(updateTemp.spk )) { foreach (var seTemp in updateTemp.attributes) { @@ -757,7 +784,7 @@ name = updateTemp.name, sid = updateTemp.sid, deviceId = updateTemp.deviceId, - attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", value = seTemp.value } }, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state ,curValue = seTemp.curValue} }, }; switch (seTemp.key) { @@ -775,6 +802,9 @@ break; case "tvoc": newTemp.spk = SPK.SensorTVOC; + break; + case "hcho": + newTemp.spk = SPK.SensorHcho; break; } if(!string.IsNullOrEmpty(newTemp.spk)) @@ -801,10 +831,36 @@ { if (btn.Tag != null) { + FunctionAttributes attr = updateTemp.GetAttribute(FunctionAttributeKey.Value); + if(attr == null) + { + switch(updateTemp.spk) + { + case SPK.SensorCO2: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Co2); + break; + case SPK.SensorTemperature: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Temperature); + break; + case SPK.SensorTVOC: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Tvoc); + break; + case SPK.SensorPm25: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Pm25); + break; + case SPK.SensorHcho: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Hcho); + break; + case SPK.SensorHumidity: + attr = updateTemp.GetAttribute(FunctionAttributeKey.Humidity); + break; + } + } + var tag = btn.Tag.ToString(); if (tag == "SensorValues") { - (btn as Button).Text = updateTemp.GetAttrState(FunctionAttributeKey.Value); + (btn as Button).Text = attr.state;// updateTemp.GetAttrState(FunctionAttributeKey.Value); } else if (tag == "SensorLevel") { -- Gitblit v1.8.0