From ba275a7b58e56c61820ffccc86571447b2997e52 Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期四, 05 八月 2021 16:18:00 +0800 Subject: [PATCH] 2021-08-05 1.更新 --- HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 122 +++++++++++++++++++++++++++++++++++----- 1 files changed, 105 insertions(+), 17 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs index 86d0ace..e10d48d 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,22 +274,77 @@ int index = 0; foreach (var sensor in FunctionList.List.GetEnvirSensorsList()) { - LoadSensorDiv(sensor, index); - index++; + if(sensor.spk == SPK.SensorEnvironment) + { + foreach (var seTemp in sensor.attributes) + { + var newTemp = new Function() + { + name = sensor.name, + sid = sensor.sid, + deviceId = sensor.deviceId, + roomIds = sensor.roomIds, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state, curValue = seTemp.curValue } + ,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; + } + + if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) + { + LoadSensorDiv(newTemp, index); + index++; + } + } + } + else + { + if (room.roomId == "" || sensor.roomIds.Contains(room.roomId)) + { + LoadSensorDiv(sensor, index); + index++; + } + } + + new System.Threading.Thread(() => + { + Control.Ins.SendReadCommand(sensor); + }) + { 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.sid; + var sensorTag = sensor.spk + sensor.sid + sensor.deviceId; FrameLayout sensorView = new FrameLayout() { X = Application.GetRealWidth(7), @@ -411,12 +469,6 @@ #endregion }; - - new System.Threading.Thread(() => - { - Control.Ins.SendReadCommand(sensor); - }) - { IsBackground = true }.Start(); } } @@ -710,9 +762,45 @@ { if (bodyView != null) { + if (updateTemp.spk == SPK.SensorEnvironment) + { + foreach (var seTemp in updateTemp.attributes) + { + var newTemp = new Function() + { + name = updateTemp.name, + sid = updateTemp.sid, + deviceId = updateTemp.deviceId, + attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state ,curValue = seTemp.curValue} }, + }; + switch (seTemp.key) + { + case "co2": + newTemp.spk = SPK.SensorCO2; + break; + case "pm25": + newTemp.spk = SPK.SensorPm25; + break; + case "humidity": + newTemp.spk = SPK.SensorHumidity; + break; + case "temperature": + newTemp.spk = SPK.SensorTemperature; + break; + case "tvoc": + newTemp.spk = SPK.SensorTVOC; + break; + } + if(!string.IsNullOrEmpty(newTemp.spk)) + { + LoadEvent_UpdataStatus(newTemp); + } + } + } + for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) { - var sensorTag = updateTemp.sid; + var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId; var view = bodyView.sensorListView.GetChildren(i); if (view.GetType() == typeof(FrameLayout)) { -- Gitblit v1.8.0