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; /// /// 功能名称显示按钮 /// Button btnFunctionName; /// /// 功能名称编辑按钮 /// Button btnEditName; /// /// 位置信息显示按钮 /// Button btnLocationValues; /// /// 位置信息跳转编辑按钮 /// Button btnLocationInfoRight; #endregion #region 局部变量 Function function; /// /// 后退时,刷新之前界面的显示信息 /// Action actionRefresh; #endregion public FunctionBaseInfoSetPage(Function func, Action action) { bodyView = this; function = func; actionRefresh = action; } /// /// 加载界面 /// public void LoadPage() { 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 #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(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(); } } }