From 4ad6d53e2a8dc59d99405a053ddc46f49ae7a1b3 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期四, 14 十月 2021 11:55:51 +0800
Subject: [PATCH] 干接点新spk 兼容问题
---
HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs | 94 +++++++++++++++++++++++++++++++++++++---------
1 files changed, 75 insertions(+), 19 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs b/HDL_ON/UI/UI2/FuntionControlView/EnvironmentalScience/EnvironmentalPage.cs
index cd99561..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,37 +283,53 @@
name = sensor.name,
sid = sensor.sid,
deviceId = sensor.deviceId,
- attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = seTemp.state, curValue = seTemp.curValue } },
+ 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);
- index++;
+ if (room.roomId == "" || sensor.roomIds.Contains(room.roomId))
+ {
+ LoadSensorDiv(sensor, 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)
{
@@ -776,6 +803,9 @@
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