using System;
|
using Shared;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using System.Collections.Generic;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.UI.UI2.EnvironmentalScience;
|
|
namespace HDL_ON.UI
|
{
|
public partial class EnvironmentalSensorPage : FrameLayout
|
{
|
|
EnvironmentalSensorPage bodyView;
|
|
FrameLayout showDataTypeView;
|
Button btnShowHistroyData_Day;
|
Button btnShowHistroyData_Week;
|
Button btnShowHistroyData_Month;
|
|
FrameLayout historyDataView;
|
|
MyEchartsViewOn myEchartsView;
|
|
Sensor sensorTemp = new Sensor();
|
|
Function function;
|
List<Function> showFunctions;
|
/// <summary>
|
/// 当前查询类型
|
/// </summary>
|
string curQueryType = "hour";
|
|
List<uint> tipColorList = new List<uint>()
|
{
|
0xFF80AEFF,0xFFFFD154,0xFFFF9D54,0xFFFE6A6A,0xFFB183C3,0xFFADE764,
|
};
|
|
List<string> tipColorStringList = new List<string>()
|
{
|
"#80AEFF","#FFD154","#FF9D54","#FE6A6A","#B183C3","#ADE764",
|
};
|
|
public EnvironmentalSensorPage(Function ss)
|
{
|
bodyView = this;
|
function = ss;
|
showFunctions = new List<Function>();
|
showFunctions.Add(ss);
|
}
|
|
public void LoadPage()
|
{
|
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
|
|
VerticalScrolViewLayout contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(600),
|
ScrollEnabled = false
|
};
|
bodyView.AddChidren(contentView);
|
|
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
|
|
FrameLayout diagramView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealWidth(420),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
BorderColor = 0x00000000,
|
BorderWidth = 0,
|
};
|
contentView.AddChidren(diagramView);
|
|
#region 选择数据日期范围
|
showDataTypeView = new FrameLayout()
|
{
|
X = Application.GetRealWidth(183),
|
Y = Application.GetRealHeight(12),
|
Width = Application.GetRealWidth(144),
|
Height = Application.GetRealHeight(24),
|
BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png",
|
};
|
diagramView.AddChidren(showDataTypeView);
|
|
btnShowHistroyData_Day = new Button()
|
{
|
Width = Application.GetRealWidth(48),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor2,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
IsSelected = true,
|
TextID = StringId.day,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Day);
|
|
btnShowHistroyData_Week = new Button()
|
{
|
X = Application.GetRealWidth(48),
|
Width = Application.GetRealWidth(48),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor2,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
TextID = StringId.week,
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Week);
|
|
btnShowHistroyData_Month = new Button()
|
{
|
X = Application.GetRealWidth(48 * 2),
|
Width = Application.GetRealWidth(48),
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.PromptingColor2,
|
SelectedTextColor = CSS_Color.MainColor,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = DateTime.Now.Month.ToString() + Language.StringByID(StringId.month),
|
};
|
showDataTypeView.AddChidren(btnShowHistroyData_Month);
|
#endregion
|
|
historyDataView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(52),
|
Width = Application.GetRealWidth(343 - 32),
|
Height = Application.GetRealHeight(270),
|
};
|
diagramView.AddChidren(historyDataView);
|
|
myEchartsView = new MyEchartsViewOn();
|
|
historyDataView.AddChidren(myEchartsView);
|
|
#region 底部等级提示
|
HorizontalScrolViewLayout tipValuesView = new HorizontalScrolViewLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealWidth(348),
|
Width = Application.GetRealWidth(303),
|
Height = Application.GetRealHeight(30),
|
};
|
diagramView.AddChidren(tipValuesView);
|
|
Button btnColorTip = new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = tipValuesView.Bottom,
|
Width = Application.GetRealWidth(303),
|
Height = Application.GetRealHeight(7),
|
UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/SensorColorTipBg.png",
|
};
|
diagramView.AddChidren(btnColorTip);
|
|
HorizontalScrolViewLayout tipTextView = new HorizontalScrolViewLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = btnColorTip.Bottom,
|
Width = Application.GetRealWidth(303),
|
Height = Application.GetRealHeight(30),
|
};
|
diagramView.AddChidren(tipTextView);
|
|
switch (function.spk)
|
{
|
case SPK.SensorPm25:
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "35",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "75",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "115",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.Great,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.Good,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.MildPollution,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.HeavyPollution,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
break;
|
//case SPK.SensorPm25:
|
//_intervalValue.Add("0 ~ 35");
|
//_intervalValue.Add("36 ~ 75");
|
//_intervalValue.Add("76 ~ 115");
|
//_intervalValue.Add("115 ~");
|
//_levelTextList.Add(StringId.Great);
|
//_levelTextList.Add(StringId.Good);
|
//_levelTextList.Add(StringId.MildPollution);
|
//_levelTextList.Add(StringId.HeavyPollution);
|
//break;
|
case SPK.SensorCO2:
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "1000",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "2000",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "5000",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTipCO2Level1,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTipCO2Level2,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTipCO2Level3,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTipCO2Level4,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
break;
|
case SPK.SensorTemperature:
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "18°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "20°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "25°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "27°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "30°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(50),
|
Text = "33°C",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
//_intervalValue.Add("~ 18°C");
|
//_intervalValue.Add("18 ~ 20°C");
|
//_intervalValue.Add("20 ~ 25°C");
|
//_intervalValue.Add("25 ~ 27°C");
|
//_intervalValue.Add("27 ~ 30°C");
|
//_intervalValue.Add("30 ~ 33°C");
|
//_intervalValue.Add("33°C ~");
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.ExtremelyCold,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.ExtremelyCold,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.Cold,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.Comfortable,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.TepidFever,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.Heat_SensorTip,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(43),
|
TextID = StringId.ExtremeHeat,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
//_levelTextList.Add(StringId.ExtremelyCold);
|
//_levelTextList.Add(StringId.);
|
//_levelTextList.Add(StringId.);
|
//_levelTextList.Add(StringId.);
|
//_levelTextList.Add(StringId.);
|
//_levelTextList.Add(StringId.);
|
//_levelTextList.Add(StringId.ExtremeHeat);
|
break;
|
case SPK.SensorTVOC:
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "0.6",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "2",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
Text = "5",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTVOCTipLevel1,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTVOCTipLevel2,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTVOCTipLevel3,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(75),
|
TextID = StringId.SensorReferenceTVOCTipLevel4,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
break;
|
case SPK.SensorHumidity:
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(151),
|
Text = "70",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipValuesView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(151),
|
Text = "40",
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
TextID = StringId.SensorReferenceTVOCTipLevel1,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
TextID = StringId.SensorReferenceTVOCTipLevel2,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
tipTextView.AddChidren(new Button()
|
{
|
Width = Application.GetRealWidth(101),
|
TextID = StringId.SensorReferenceTVOCTipLevel3,
|
TextAlignment = TextAlignment.Center,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
|
});
|
break;
|
}
|
|
#endregion
|
|
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
|
|
#region 当前房间传感器信息栏
|
FrameLayout selfInfoView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealWidth(100),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
BorderColor = 0x00000000,
|
BorderWidth = 0,
|
};
|
contentView.AddChidren(selfInfoView);
|
|
Button btnTipColor = new Button()
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(12),
|
Height = Application.GetRealWidth(12),
|
BackgroundColor = tipColorList[0],
|
Radius = (uint)Application.GetRealWidth(2),
|
BorderColor = 0x00000000,
|
BorderWidth = 0,
|
};
|
selfInfoView.AddChidren(btnTipColor);
|
|
Button btnSeltSensorName = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealWidth(10),
|
Width = Application.GetRealWidth(250),
|
Height = Application.GetRealWidth(24),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.name,
|
IsBold = true,
|
};
|
selfInfoView.AddChidren(btnSeltSensorName);
|
|
Button btnFromFoorAndRoom = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = btnSeltSensorName.Bottom,
|
Width = Application.GetRealWidth(270),
|
Height = Application.GetRealHeight(21),
|
TextColor = CSS_Color.PromptingColor1,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = function.GetRoomListName()
|
};
|
selfInfoView.AddChidren(btnFromFoorAndRoom);
|
|
var btnSetting = new Button()
|
{
|
X = Application.GetRealWidth(291),
|
Y = Application.GetRealWidth(6),
|
Width = Application.GetMinRealAverage(32),
|
Height = Application.GetMinRealAverage(32),
|
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
|
};
|
selfInfoView.AddChidren(btnSetting);
|
|
Button btnSeltSensorValue = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = Application.GetRealWidth(47),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetRealWidth(43),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
IsBold = true,
|
TextSize = CSS_FontSize.HeadlineFontSize,
|
};
|
selfInfoView.AddChidren(btnSeltSensorValue);
|
|
Button btnShowData;
|
btnShowData = new Button()
|
{
|
X = Application.GetRealWidth(291),
|
Y = Application.GetRealWidth(62),
|
Width = Application.GetMinRealAverage(32),
|
Height = Application.GetMinRealAverage(32),
|
UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png",
|
SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
|
IsSelected = true,
|
};
|
selfInfoView.AddChidren(btnShowData);
|
//btnShowData.MouseUpEventHandler = (sender, e) => {
|
// btnShowData.IsSelected = !btnShowData.IsSelected;
|
// if(btnShowData.IsSelected)
|
// {
|
// if (!showSensors.Contains(sensor))
|
// {
|
// showSensors.Add(sensor);
|
// }
|
// }
|
// else
|
// {
|
// if (showSensors.Contains(sensor))
|
// {
|
// showSensors.Remove(sensor);
|
// }
|
// }
|
// LoadMothed_GetSensorHistoryData();
|
//};
|
|
btnSetting.MouseUpEventHandler = (sender, e) =>
|
{
|
Action backAction = () =>
|
{
|
btnSeltSensorName.Text = function.name;
|
};
|
var infoView = new FunctionBaseInfoSetPage(function, backAction);
|
MainPage.BasePageView.AddChidren(infoView);
|
infoView.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
#endregion
|
|
#region 其它区域传感器信息栏
|
contentView.AddChidren(new Button() { Height = Application.GetRealHeight(12) });
|
|
bool initTitleButton = true;
|
|
foreach (var tempSensor in FunctionList.List.GetEnvirSensorsList())
|
{
|
if (tempSensor.sid == function.sid)
|
{
|
continue;
|
}
|
if (tempSensor.spk != function.spk)
|
{
|
continue;
|
}
|
contentView.ScrollEnabled = true;
|
|
if (initTitleButton)
|
{
|
Button btnOthreTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetRealWidth(38),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.OtherArea,
|
};
|
contentView.AddChidren(btnOthreTitle);
|
initTitleButton = false;
|
}
|
|
#region 其它传感器信息栏
|
FrameLayout otherInfoView = new FrameLayout()
|
{
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealWidth(100),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
Radius = (uint)Application.GetRealWidth(12),
|
BorderColor = 0x00000000,
|
BorderWidth = 0,
|
};
|
contentView.AddChidren(otherInfoView);
|
|
Button btnTipColor1 = new Button()
|
{
|
X = Application.GetRealWidth(8),
|
Y = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(12),
|
Height = Application.GetRealWidth(12),
|
BackgroundColor = tipColorList[0],
|
Radius = (uint)Application.GetRealWidth(2),
|
BorderWidth = 0,
|
BorderColor = 0x00000000,
|
};
|
otherInfoView.AddChidren(btnTipColor1);
|
|
Button btnSensorName = new Button()
|
{
|
X = Application.GetRealWidth(28),
|
Y = Application.GetRealWidth(10),
|
Width = Application.GetRealWidth(250),
|
Height = Application.GetRealWidth(24),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.name,
|
IsBold = true,
|
};
|
otherInfoView.AddChidren(btnSensorName);
|
|
Button btnFromFoorAndRoom1 = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = btnSeltSensorName.Bottom,
|
Width = Application.GetRealWidth(270),
|
Height = Application.GetRealHeight(21),
|
TextColor = CSS_Color.PromptingColor1,
|
TextAlignment = TextAlignment.CenterLeft,
|
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
|
Text = tempSensor.GetRoomListName()
|
};
|
otherInfoView.AddChidren(btnFromFoorAndRoom1);
|
|
var btnSetting1 = new Button()
|
{
|
X = Application.GetRealWidth(291),
|
Y = Application.GetRealWidth(6),
|
Width = Application.GetMinRealAverage(32),
|
Height = Application.GetMinRealAverage(32),
|
UnSelectedImagePath = "Public/FuncInfoSetIcon.png",
|
};
|
otherInfoView.AddChidren(btnSetting1);
|
|
btnSetting1.MouseUpEventHandler = (sender, e) =>
|
{
|
Action backAction = () =>
|
{
|
btnSeltSensorName.Text = tempSensor.name;
|
};
|
var infoView = new FunctionBaseInfoSetPage(tempSensor, backAction);
|
MainPage.BasePageView.AddChidren(infoView);
|
infoView.LoadPage();
|
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
|
};
|
|
Button btnSensorValue = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Y = Application.GetRealWidth(47),
|
Width = Application.GetRealWidth(200),
|
Height = Application.GetRealWidth(43),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
IsBold = true,
|
TextSize = CSS_FontSize.HeadlineFontSize,
|
};
|
otherInfoView.AddChidren(btnSensorValue);
|
|
var btnShowData1 = new Button()
|
{
|
X = Application.GetRealWidth(291),
|
Y = Application.GetRealWidth(62),
|
Width = Application.GetMinRealAverage(32),
|
Height = Application.GetMinRealAverage(32),
|
UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIcon.png",
|
SelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
|
};
|
otherInfoView.AddChidren(btnShowData1);
|
btnShowData1.MouseUpEventHandler = (sender, e) => {
|
btnShowData1.IsSelected = !btnShowData1.IsSelected;
|
if (btnShowData1.IsSelected)
|
{
|
if (!showFunctions.Contains(function))
|
{
|
showFunctions.Add(function);
|
}
|
}
|
else
|
{
|
if (showFunctions.Contains(function))
|
{
|
showFunctions.Remove(function);
|
}
|
}
|
LoadMothed_GetSensorHistoryData();
|
};
|
#endregion
|
|
}
|
#endregion
|
new TopViewDiv(bodyView, Language.StringByID(sensorTemp.GetFunctionTypeNameId(function.spk))).LoadTopView();
|
|
LoadMothed_GetSensorHistoryData();
|
LoadEvent_ChangeSensorHistoryShowType();
|
}
|
}
|
|
|
//------------
|
public partial class EnvironmentalSensorPage
|
{
|
/// <summary>
|
/// 读取传感器历史数据
|
/// </summary>
|
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,
|
};
|
historyDataView.AddChidren(loadPage);
|
|
new System.Threading.Thread(() =>
|
{
|
try
|
{
|
Application.RunOnMainThread(() => {
|
loadPage.Start(Language.StringByID(StringId.PleaseWait));
|
});
|
int i = 0;
|
|
foreach (var sr in FunctionList.List.GetEnvirSensorsList())
|
{
|
if (sr.spk != function.spk)
|
{
|
continue;
|
}
|
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);
|
|
if (revertObj != null)
|
{
|
if (revertObj.Code == StateCode.SUCCESS)
|
{
|
var revertData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<EnvironmentalSensorHistor>>(revertObj.Data.ToString());
|
|
var sItem = new EchartSeriesItem
|
{
|
name = sr.GetRoomListName(),
|
data = new List<int>(),
|
lineStyle = new EchartLineStyle()
|
{
|
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);
|
}
|
seriesList.Add(sItem);
|
}
|
else
|
{
|
Application.RunOnMainThread(() =>
|
{
|
IMessageCommon.Current.ShowErrorInfoAlter("", true, 2, Language.StringByID(StringId.GetSensorHistoryFailed),false);
|
//new PublicAssmebly().TipMsgAutoClose(Language.StringByID(StringId.GetSensorHistoryFailed), true);
|
});
|
}
|
}
|
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);
|
});
|
|
}
|
catch (Exception ex)
|
{
|
MainPage.Log($"sensor history error : {ex.Message}");
|
}
|
finally
|
{
|
Application.RunOnMainThread(() => {
|
loadPage.Hide();
|
});
|
}
|
})
|
{ IsBackground = true }.Start();
|
}
|
|
void LoadEvent_ChangeSensorHistoryShowType()
|
{
|
btnShowHistroyData_Day.MouseUpEventHandler = (sender, e) =>
|
{
|
showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg1.png";
|
btnShowHistroyData_Day.IsSelected = true;
|
btnShowHistroyData_Month.IsSelected = false;
|
btnShowHistroyData_Week.IsSelected = false;
|
curQueryType = "hour";
|
LoadMothed_GetSensorHistoryData();
|
};
|
|
btnShowHistroyData_Month.MouseUpEventHandler = (sender, e) =>
|
{
|
showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg3.png";
|
btnShowHistroyData_Day.IsSelected = false;
|
btnShowHistroyData_Month.IsSelected = true;
|
btnShowHistroyData_Week.IsSelected = false;
|
curQueryType = "week";
|
LoadMothed_GetSensorHistoryData();
|
};
|
btnShowHistroyData_Week.MouseUpEventHandler = (sender, e) =>
|
{
|
showDataTypeView.BackgroundImagePath = "FunctionIcon/EnvironmentalScience/SensorHistoryBg2.png";
|
btnShowHistroyData_Day.IsSelected = false;
|
btnShowHistroyData_Month.IsSelected = false;
|
btnShowHistroyData_Week.IsSelected = true;
|
curQueryType = "month";
|
LoadMothed_GetSensorHistoryData();
|
};
|
|
}
|
|
|
}
|
|
public class EnvironmentalSensorHistor
|
{
|
/// <summary>
|
/// </summary>
|
public string fieldName { get; set; }
|
|
/// <summary>
|
/// </summary>
|
public string fieldValue { get; set; }
|
}
|
}
|