using System;
|
using HDL_ON.DAL.Server;
|
using HDL_ON.Entity;
|
using HDL_ON.UI.CSS;
|
using Newtonsoft.Json.Linq;
|
using Shared;
|
|
namespace HDL_ON.UI
|
{
|
public partial class FunctionBaseInfoSetPage : FrameLayout
|
{
|
#region 控件列表
|
FrameLayout bodyView;
|
/// <summary>
|
/// 功能名称显示按钮
|
/// </summary>
|
Button btnFunctionName;
|
/// <summary>
|
/// 功能名称编辑按钮
|
/// </summary>
|
Button btnEditName;
|
/// <summary>
|
/// 位置信息显示按钮
|
/// </summary>
|
Button btnLocationValues;
|
/// <summary>
|
/// 位置信息跳转编辑按钮
|
/// </summary>
|
Button btnLocationInfoRight;
|
|
#endregion
|
|
#region 局部变量
|
Function function;
|
/// <summary>
|
/// 后退时,刷新之前界面的显示信息
|
/// </summary>
|
Action actionRefresh;
|
#endregion
|
|
public FunctionBaseInfoSetPage(Function func, Action action)
|
{
|
bodyView = this;
|
function = func;
|
actionRefresh = action;
|
}
|
/// <summary>
|
/// 加载界面
|
/// </summary>
|
public void LoadPage(bool locationSetting = true)
|
{
|
bodyView.BackgroundColor = CSS_Color.BackgroundColor;
|
new TopViewDiv(bodyView, Language.StringByID(StringId.Setting)).LoadTopView(actionRefresh);
|
|
var contentView = new VerticalScrolViewLayout()
|
{
|
Y = Application.GetRealHeight(64),
|
Height = Application.GetRealHeight(600),
|
ScrollEnabled = false,
|
};
|
bodyView.AddChidren(contentView);
|
|
#region name view
|
var nameView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(50),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(nameView);
|
|
var btnNameText = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.Name,
|
};
|
nameView.AddChidren(btnNameText);
|
|
btnFunctionName = new Button()
|
{
|
X = Application.GetRealWidth(86),
|
Width = Application.GetRealWidth(237),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.name,
|
};
|
nameView.AddChidren(btnFunctionName);
|
|
btnEditName = new Button()
|
{
|
X = Application.GetRealWidth(333),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(28),
|
Height = Application.GetMinRealAverage(28),
|
UnSelectedImagePath = "Public/Edit.png",
|
};
|
nameView.AddChidren(btnEditName);
|
|
nameView.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(49),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(1)
|
});
|
|
#endregion
|
if (locationSetting)
|
{
|
#region 位置管理
|
var locationMagtView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(55),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(locationMagtView);
|
|
var btnLocationMagtTitle = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.LocationManagement,
|
};
|
locationMagtView.AddChidren(btnLocationMagtTitle);
|
|
btnLocationValues = new Button()
|
{
|
X = Application.GetRealWidth(86),
|
Width = Application.GetRealWidth(237),
|
TextAlignment = TextAlignment.CenterRight,
|
TextColor = CSS_Color.PromptingColor1,
|
TextSize = CSS_FontSize.TextFontSize,
|
Text = function.GetRoomListName(),
|
};
|
locationMagtView.AddChidren(btnLocationValues);
|
|
btnLocationInfoRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/RightIcon.png",
|
};
|
locationMagtView.AddChidren(btnLocationInfoRight);
|
|
locationMagtView.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(54),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(1)
|
});
|
#endregion
|
}
|
#region 共享
|
//var sharedView = new FrameLayout()
|
//{
|
// Height = Application.GetRealHeight(55),
|
// BackgroundColor = CSS_Color.MainBackgroundColor,
|
//};
|
//contentView.AddChidren(sharedView);
|
|
//var btnSharedText = new Button()
|
//{
|
// X = Application.GetRealWidth(16),
|
// Width = Application.GetRealWidth(160),
|
// TextAlignment = TextAlignment.CenterLeft,
|
// TextColor = CSS_Color.FirstLevelTitleColor,
|
// TextSize = CSS_FontSize.SubheadingFontSize,
|
// TextID = StringId.Shared,
|
//};
|
//sharedView.AddChidren(btnSharedText);
|
|
//var btnSharedRight = new Button()
|
//{
|
// X = Application.GetRealWidth(339),
|
// Gravity = Gravity.CenterVertical,
|
// Width = Application.GetMinRealAverage(16),
|
// Height = Application.GetMinRealAverage(16),
|
// UnSelectedImagePath = "Public/RightIcon.png",
|
//};
|
//sharedView.AddChidren(btnSharedRight);
|
|
//sharedView.AddChidren(
|
// new Button()
|
// {
|
// Gravity = Gravity.CenterHorizontal,
|
// Y = Application.GetRealHeight(54),
|
// BackgroundColor = CSS_Color.DividingLineColor,
|
// Width = Application.GetRealWidth(343),
|
// Height = Application.GetRealHeight(1)
|
// });
|
#endregion
|
|
#if stage2
|
#region 添加到桌面
|
var addToDesktopView = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(55),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(addToDesktopView);
|
|
var btnAddToDesktopText = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.AddToDesktop,
|
};
|
addToDesktopView.AddChidren(btnAddToDesktopText);
|
|
var btnAddToDesktopRight = new Button()
|
{
|
X = Application.GetRealWidth(339),
|
Gravity = Gravity.CenterVertical,
|
Width = Application.GetMinRealAverage(16),
|
Height = Application.GetMinRealAverage(16),
|
UnSelectedImagePath = "Public/RightIcon.png",
|
};
|
addToDesktopView.AddChidren(btnAddToDesktopRight);
|
|
#endregion
|
#endif
|
|
if (function.spk == SPK.ElectricEnergy)
|
{
|
#region 能源数据
|
var energyView1 = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(55),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(energyView1);
|
|
var btnEnergyText1 = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.RealTimeEnergyConsumption,
|
};
|
energyView1.AddChidren(btnEnergyText1);
|
|
|
double realTimePower = 0;
|
double.TryParse(function.GetAttrState(FunctionAttributeKey.Power), out realTimePower);
|
realTimePower /= 1000;
|
|
var energyValue1 = new Button()
|
{
|
Width = Application.GetRealWidth(355),
|
TextAlignment = TextAlignment.CenterRight,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
Text = realTimePower + "kW",
|
};
|
energyView1.AddChidren(energyValue1);
|
|
energyView1.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(54),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(1)
|
});
|
//-----------------
|
|
var energyView2 = new FrameLayout()
|
{
|
Height = Application.GetRealHeight(55),
|
BackgroundColor = CSS_Color.MainBackgroundColor,
|
};
|
contentView.AddChidren(energyView2);
|
|
var btnEnergyText2 = new Button()
|
{
|
X = Application.GetRealWidth(16),
|
Width = Application.GetRealWidth(160),
|
TextAlignment = TextAlignment.CenterLeft,
|
TextColor = CSS_Color.FirstLevelTitleColor,
|
TextSize = CSS_FontSize.SubheadingFontSize,
|
TextID = StringId.EnergyConsumptionOfThisMonth,
|
};
|
energyView2.AddChidren(btnEnergyText2);
|
|
var btnEnergyValue2 = new Button()
|
{
|
Width = Application.GetRealWidth(355),
|
TextAlignment = TextAlignment.CenterRight,
|
TextSize = CSS_FontSize.TextFontSize,
|
TextColor = CSS_Color.PromptingColor1,
|
Text = "--kW",
|
};
|
energyView2.AddChidren(btnEnergyValue2);
|
|
energyView2.AddChidren(
|
new Button()
|
{
|
Gravity = Gravity.CenterHorizontal,
|
Y = Application.GetRealHeight(54),
|
BackgroundColor = CSS_Color.DividingLineColor,
|
Width = Application.GetRealWidth(343),
|
Height = Application.GetRealHeight(1)
|
});
|
|
new System.Threading.Thread(() =>
|
{
|
var pm = new HttpServerRequest();
|
var data = pm.GetLastMonthHistory(function.deviceId, FunctionAttributeKey.TotalElectricity);
|
if (data != null)
|
{
|
if (data.Code == StateCode.SUCCESS)
|
{
|
var dataPack = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(data.Data.ToString());
|
if (dataPack != null)
|
{
|
try
|
{
|
var dataValue = dataPack.GetValue("monthDiff").ToString();
|
if (!string.IsNullOrEmpty(dataValue))
|
{
|
Application.RunOnMainThread(() =>
|
{
|
btnEnergyValue2.Text = dataValue + "kW‧h";
|
});
|
}
|
}
|
catch
|
{
|
|
}
|
}
|
}
|
}
|
|
})
|
{ IsBackground = true }.Start();
|
|
#endregion
|
}
|
|
LoadEventList();
|
}
|
|
|
}
|
}
|