using Shared;
using HDL_ON.Stan;
using HDL_ON.UI.CSS;
using HDL_ON.Entity;
using System;
using HDL_ON.DAL.Server;
namespace HDL_ON.UI
{
public class SenesorMegahealthPage : DeviceFunctionCardCommonForm
{
#region ■ 变量声明___________________________
///
/// 图标
///
private IconViewControl btnIcon = null;
///
/// 文本控件
///
private NormalViewControl btnSuctionView = null;
///
/// 退出实验室模式控制区域
///
FrameLayout exitLabView;
#endregion
#region ■ 初始化_____________________________
///
/// 初始化白色区域的内容
///
public override void InitFrameWhiteContent()
{
base.SetTitleText(Language.StringByID(StringId.SenesorMillimeterWave));
//添加第二索引页
this.AddSecondPage();
//初始化第一个索引页的内容
this.InitFrameWhiteContent1();
//初始化第二个索引页的内容
this.InitFrameWhiteContent2();
//刷新当前设备的状态缓存
this.RefreshNowDeviceStatuMemory(this.device);
//刷新界面状态
this.RefreshFormStatu();
//读取状态
new System.Threading.Thread(() =>
{
if (device.spk == SPK.SenesorMegahealth || device.spk == SPK.SensorMmvPose || device.spk == SPK.SenesorMegahealth2)
{
DriverLayer.Control.Ins.SendReadCommand(device, true);
}
})
{ IsBackground = true }.Start();
}
///
/// 初始化第一个索引页的内容
///
private void InitFrameWhiteContent1()
{
btnIcon = new IconViewControl(198)
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealWidth(146),
UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png",
};
FrameWhiteCentet1.AddChidren(btnIcon);
btnSuctionView = new NormalViewControl(300, 84, true)
{
Gravity = Gravity.CenterHorizontal,
Y = btnIcon.Bottom,
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.TextFontSize,
TextColor = CSS_Color.TextualColor,
SelectedTextColor = CSS_Color.MainColor,
};
FrameWhiteCentet1.AddChidren(btnSuctionView);
//int i = 0;
//btnIcon.MouseUpEventHandler = (sender, e) => {
// device.GetAttribute(FunctionAttributeKey.TargetStatus).state = i.ToString();
// i++;
// RefreshFormStatu();
//};
var btnInstantaneousValue = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = Application.GetRealHeight(391),
Width = Application.GetMinRealAverage(32),
Height = Application.GetMinRealAverage(32),
UnSelectedImagePath = "FunctionIcon/EnvironmentalScience/DiagramIconOn.png",
};
FrameWhiteCentet1.AddChidren(btnInstantaneousValue);
var btnInstantaneousValueText = new Button()
{
Gravity = Gravity.CenterHorizontal,
Y = btnInstantaneousValue.Bottom,
Width = Application.GetRealWidth(96),
Height = Application.GetRealHeight(29),
TextAlignment = TextAlignment.Center,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
TextColor = CSS_Color.TextualColor,
TextID = StringId.AlarmDataStatistics,
IsMoreLines = true
};
FrameWhiteCentet1.AddChidren(btnInstantaneousValueText);
EventHandler eventHandler = (sender, e) => {
var page = new SensorMegahealth_AlarmDataStatisticsPage(device);
MainPage.BasePageView.AddChidren(page);
page.LoadPage();
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
};
btnInstantaneousValue.MouseUpEventHandler = eventHandler;
btnInstantaneousValueText.MouseUpEventHandler = eventHandler;
exitLabView = new FrameLayout()
{
Y = Application.GetRealHeight(391),
Height = Application.GetRealHeight(135),
BackgroundColor = CSS_Color.MainBackgroundColor,
Visible = device.extSet.labModel,
};
FrameWhiteCentet1.AddChidren(exitLabView);
var labTipText = new Button()
{
Y = Application.GetRealHeight(10),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(250),
Height = Application.GetRealHeight(50),
TextColor = CSS_Color.TextualColor,
TextID = StringId.LabTipText,
IsMoreLines = true,
TextAlignment = TextAlignment.CenterLeft,
TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
};
exitLabView.AddChidren(labTipText);
var btnExitLab = new Button()
{
Y = Application.GetRealHeight(75),
Gravity = Gravity.CenterHorizontal,
Width = Application.GetRealWidth(148),
Height = Application.GetRealHeight(40),
TextAlignment = TextAlignment.Center,
TextColor = CSS_Color.MainBackgroundColor,
IsBold = true,
Radius = (uint)Application.GetRealHeight(20),
TextSize = 16,
TextID = StringId.ExitLabModel,
BackgroundColor = CSS_Color.MainColor,
};
exitLabView.AddChidren(btnExitLab);
btnExitLab.MouseUpEventHandler = (sender, e) => {
new System.Threading.Thread(() =>
{
device.extSet.labModel = false;
var result = new HttpServerRequest().DeviceExtSet(device.deviceId, device.extSet);
Application.RunOnMainThread(() =>
{
if (result != null && result.Code == StateCode.SUCCESS)
{
exitLabView.Visible = false;
}
});
})
{ IsBackground = true }.Start();
};
//回到置顶刷新
base.SettionFinishEvent += () => {
exitLabView.Visible = device.extSet.labModel;
};
}
///
/// 初始化第二个索引页的内容
///
private void InitFrameWhiteContent2()
{
var paging = new ArmSensorHistroyPaging(device);
paging.InitFrame(FrameWhiteCentet2);
}
#endregion
#region ■ 设备状态反馈_______________________
///
/// 设备状态反馈
///
///
public override void DeviceStatuPush(Function i_LocalDevice)
{
//不是同一个东西
if (this.device.sid != i_LocalDevice.sid) { return; }
//刷新当前设备的状态缓存
this.RefreshNowDeviceStatuMemory(i_LocalDevice);
//刷新界面状态
this.RefreshFormStatu();
}
#endregion
#region ■ 发送各种命令_______________________
#endregion
#region ■ 刷新界面状态_______________________
///
/// 刷新界面状态
///
private void RefreshFormStatu()
{
Application.RunOnMainThread(() => {
var temp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.ActionStatus);
if (temp != null)
{
if (temp.state == "fall") //跌倒
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneFellBgIcon.png";
btnSuctionView.TextID = StringId.SomeoneFell;
btnSuctionView.IsSelected = true;
}
else if (temp.state == "uninhabited")//无人
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png";
btnSuctionView.TextID = StringId.wuren;
btnSuctionView.IsSelected = false;
}
else//有人
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnSuctionView.TextID = StringId.SomeoneIn;
btnSuctionView.IsSelected = true;
}
}
else
{
temp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.PeopleStatus);
if (temp != null)
{
if (temp.state == "true")
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.SomeoneIn;
btnSuctionView.IsSelected = true;
}
else
{
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.wuren;
btnSuctionView.IsSelected = false;
}
//增加实验室模式反馈
var tempStatus = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus);
if(tempStatus != null)
{
switch (tempStatus.state)
{//0空,1走,2跑,3坐,4跌倒,5站
case "0":
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.wuren;
btnSuctionView.IsSelected = false;
break;
case "1":
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.Someone;
btnSuctionView.IsSelected = true;
break;
case "2":
if (device.extSet.labModel)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneRunBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.SomeoneRunning;
btnSuctionView.IsSelected = true;
}
else
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.Someone;
btnSuctionView.IsSelected = true;
}
break;
case "3":
if (device.extSet.labModel)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneSitBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.SomeoneSitting;
btnSuctionView.IsSelected = true;
}
else
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.Someone;
btnSuctionView.IsSelected = true;
}
break;
case "4":
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneFellBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.SomeoneFell;
btnSuctionView.IsSelected = true;
break;
case "5":
if (device.extSet.labModel)
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneStandBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.SomeoneStanding;
btnSuctionView.IsSelected = true;
}
else
{
btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/SomeoneInBgIcon.png";
btnIcon.IsSelected = true;
btnIcon.IsSelected = false;
btnSuctionView.TextID = StringId.Someone;
btnSuctionView.IsSelected = true;
}
break;
default:
break;
}
}
}
}
});
}
#endregion
#region ■ 一般方法___________________________
///
/// 刷新当前设备的状态缓存
///
private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
{
//foreach (var data in i_LocalDevice.status)
//{
// if (data.key == FunctionAttributeKey.Status)
// {
// Application.RunOnMainThread(() =>
// {
// if (data.value.ToLower() == "open")
// {
// this.btnIcon.IsSelected = true;
// this.btnSuctionView.IsSelected = true;
// this.btnSuctionView.TextID = StringId.Open;
// }
// else
// {
// this.btnIcon.IsSelected = false;
// this.btnSuctionView.IsSelected = false;
// this.btnSuctionView.TextID = StringId.Close;
// }
// });
// }
//}
}
#endregion
}
}