From eeb6f0b4bf0a81834325638401d5fa404e53db93 Mon Sep 17 00:00:00 2001 From: wxr <wxr@hdlchina.com.cn> Date: 星期四, 05 九月 2024 19:41:45 +0800 Subject: [PATCH] 金茂光伏储能,热水器;自动化,空调,地暖步进判断 --- HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs | 217 +++++++++++++++++++++++++++-------------------------- 1 files changed, 110 insertions(+), 107 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs index 2202ec8..485c9a1 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/WaterHeaterJinmaoPage.cs @@ -110,8 +110,8 @@ Button flow_ElectricDriveValuesButton; string volumeString = string.Empty; string recyclVolumeString = string.Empty; - double volume = 0; - double recyclVolume = 0; + double volume = 0.00; + double recyclVolume = 0.00; int recyclVolumePercent = 0; /// <summary> @@ -181,6 +181,8 @@ initBottomView(); initControlEvent(); Control.Ins.SendReadCommand(function); + + UpdateStatus(); } /// <summary> /// 鍔犺浇鍐呭鍖哄煙 @@ -190,7 +192,7 @@ contentView.AddChidren(new Button() { Height = Application.GetRealHeight(16) }); #region 鐑按鍣ㄧ姸鎬� - var infoView = new FrameLayout() + FrameLayout infoView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), @@ -206,7 +208,7 @@ { X = 0 - Application.GetRealWidth(14), Y = Application.GetRealWidth(12), - Width = Application.GetRealWidth(68 + 14), + Width = Application.GetRealWidth(82 + 14), Height = Application.GetRealWidth(28), BackgroundColor = 0x15FC9C04, Radius = (uint)Application.GetRealWidth(14), @@ -255,14 +257,18 @@ TextAlignment = TextAlignment.TopCenter, Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), "---"), }; - btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(8); + btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(6); + if (btnTempValues.Width > Application.GetRealWidth(80)) + { + btnTempValues.TextSize = 28; + } btnTempValues.Gravity = Gravity.CenterHorizontal; infoView_Temp_View.AddChidren(btnTempValues); btnTempValuesUint = new Button() { - X = btnTempValues.Right - Application.GetRealWidth(4), + X = btnTempValues.Right, Y = Application.GetRealWidth(40), Height = Application.GetRealWidth(66), TextAlignment = TextAlignment.TopLeft, @@ -392,7 +398,7 @@ #endregion - #region 璁剧疆娓╁害 + #region 娓╁害璁剧疆 var setTempView = new FrameLayout() { Gravity = Gravity.CenterHorizontal, @@ -462,13 +468,14 @@ SeekBarViewHeight = Application.GetRealHeight(14), ThumbImagePath = "FunctionIcon/Acst/ThumbImage.png", ThumbImageHeight = Application.GetRealHeight(51), - ProgressBarColor = function.trait_on_off.curValue.ToString() == "on" ? 0xFFFFB848 : CSS_Color.DividingLineColor, - MaxValue = 25, - Progress = setTempValue - 35, + ProgressBarColor = 0xFFFFB848 , + MaxValue = 60, + MinValue = 35, + Progress = setTempValue, SeekBarPadding = Application.GetRealWidth(20), IsProgressTextShow = false, - ProgressChangeDelayTime = 0, }; + setTemp_Bar.ProgressChangeDelayTime = 0; setTempView.AddChidren(setTemp_Bar); var setTemp_Temp_MinValuesTextButton = new Button() @@ -625,8 +632,6 @@ }; flowView.AddChidren(flow_HeatRecoverytValuesButton); - - var flow_ElectricDriveTextButton = new Button() { X = Application.GetRealWidth(343 - 116), @@ -636,7 +641,7 @@ TextAlignment = TextAlignment.CenterRight, TextSize = 14, TextColor = 0xFFFC9C04, - Text = "鐢电洿椹遍噺" + Text = "鐢电洿椹遍噺", }; flowView.AddChidren(flow_ElectricDriveTextButton); @@ -649,8 +654,12 @@ TextAlignment = TextAlignment.CenterRight, TextSize = 14, TextColor = 0xFFFC9C04, - Text = (100 - recyclVolumePercent) + "%" + Text = "0%" }; + if(volume > 0) + { + flow_ElectricDriveProgressButton.Text = (100 - recyclVolumePercent) + "%"; + } flowView.AddChidren(flow_ElectricDriveProgressButton); flow_ElectricDriveValuesButton = new Button() @@ -731,7 +740,7 @@ socialContribution_Info1_UintButton = new Button() { - X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4), + X = socialContribution_Info1_ValuesButton.Right , Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(23), @@ -798,7 +807,7 @@ socialContribution_Info2_UintButton = new Button() { - X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4), + X = socialContribution_Info2_ValuesButton.Right , Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(23), @@ -864,7 +873,7 @@ socialContribution_Info3_UintButton = new Button() { - X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4), + X = socialContribution_Info3_ValuesButton.Right , Y = Application.GetRealWidth(68), Width = Application.GetRealWidth(50), Height = Application.GetRealWidth(23), @@ -907,7 +916,7 @@ Gravity = Gravity.CenterHorizontal, Y = Application.GetRealWidth(16), UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png", - SelectedImagePath = $"FunctionIcon/Acst/blue/PowerIcon.png", + SelectedImagePath = "FunctionIcon/Acst/blue/PowerIcon.png", IsSelected = function.trait_on_off.curValue.ToString() == "on" }; bottomView.AddChidren(btnPowerControl); @@ -935,7 +944,6 @@ //鑺傝兘妯″紡鎺у埗 btnControlModeEconomic.MouseUpEventHandler = (sender, e) => { - if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != WaterHeaterJinmao_Attr_ModeEnum.economic.ToString()) { new System.Threading.Thread(() => { @@ -954,7 +962,6 @@ //閫熺儹妯″紡鎺у埗 btnControlModeQuickHeat.MouseUpEventHandler = (sender, e) => { - if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != WaterHeaterJinmao_Attr_ModeEnum.quick_heat.ToString()) { new System.Threading.Thread(() => { @@ -970,9 +977,21 @@ { IsBackground = true }.Start(); } }; + setTemp_Bar.OnStartTrackingTouchEvent = (sender, e) => + { + contentView.ScrollEnabled = false; + }; //璁剧疆娓╁害璋冭妭 setTemp_Bar.OnStopTrackingTouchEvent = (sender, e) => { + contentView.ScrollEnabled = true; +#if __IOS__ + setTemp_ValuesButton.Width = setTemp_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); +#else + setTemp_ValuesButton.Width = setTemp_ValuesButton.GetTextWidth(); +#endif + setTemp_ValuesButton.Gravity = Gravity.CenterHorizontal; + setTemp_UintButton.X = setTemp_ValuesButton.Right + Application.GetRealWidth(4); new System.Threading.Thread(() => { var dic = new Dictionary<string, string>(); @@ -1007,86 +1026,26 @@ /// 鏇存柊鐣岄潰鐘舵�� /// </summary> /// <param name="temp"></param> - public static void UpdateStatus(Function temp) + public static void UpdateStatus() { if (bodyView == null) { return; } //鍏嶈垂鐑按 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString())) + Application.RunOnMainThread(() => { - bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString())); - Application.RunOnMainThread(() => - { - bodyView.updateFreeMode(); - }); - } - //鐑按娓╁害 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString())) - { - bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString())); - Application.RunOnMainThread(() => - { - bodyView.updateTemp(); - }); - } - //鐑按鍣ㄦā寮� - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString())) - { - bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.mode.ToString())); - Application.RunOnMainThread(() => - { - bodyView.updateModeUI(); - }); - } - //鐑按鍣ㄨ缃俯搴� - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString())) - { - bodyView.function.SetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString(), temp.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString())); - Application.RunOnMainThread(() => - { - bodyView.updateSetTemp(); - }); - } - //鐑按娴侀噺 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.flow.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.flow.ToString())) - { - Application.RunOnMainThread(() => - { - bodyView.updateFlow(); - }); - } - //鐑按鎬婚噺 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.volume.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.volume.ToString()) || - bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.recycl_volume.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.recycl_volume.ToString())) - { - Application.RunOnMainThread(() => - { - bodyView.updateVolume(); - }); - } - //绀句細璐$尞-鑺傜數閲� - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.energy_electricity.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.energy_electricity.ToString())) - { + bodyView.updateFreeMode(); + bodyView.updateTemp(); + bodyView.updateModeUI(); + bodyView.updateSetTemp(); + bodyView.updateFlow(); + bodyView.updateVolume(); bodyView.updateSocialContribution1(); - } - //绀句細璐$尞-co2 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString())) - { bodyView.updateSocialContribution2(); - } - //绀句細璐$尞-妞嶆爲 - if (bodyView.function.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString()) != temp.GetAttrState(WaterHeaterJinmao_AttrEnum.trees.ToString())) - { bodyView.updateSocialContribution3(); - } - //寮�鍏虫寜閽� - if (bodyView.function.GetAttrState(FunctionAttributeKey.OnOff.ToString()) != temp.GetAttrState(FunctionAttributeKey.OnOff.ToString())) - { bodyView.updatePowerButton(); - } - + }); } /// <summary> @@ -1094,10 +1053,9 @@ /// </summary> private void updateFreeMode() { - if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) != "true") + if (function.GetAttrState(WaterHeaterJinmao_AttrEnum.mode_free.ToString()) == "true") { modeFreeView.BackgroundColor = 0x1500C22D; - modeFreeView.Width = Width = Application.GetRealWidth(82 + 14); modeFree_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/ModeFree_True.png"; modeFree_TextButton.Text = "鐑洖鏀�"; modeFree_TextButton.TextColor = 0xFF00C22D; @@ -1105,7 +1063,6 @@ else { modeFreeView.BackgroundColor = 0x15FC9C04; - modeFreeView.Width = Width = Application.GetRealWidth(68 + 14); modeFree_IconButton.UnSelectedImagePath = "FunctionIcon/Acst/WaterHeater/ModeFree_False.png"; modeFree_TextButton.Text = "鐢ㄧ數"; modeFree_TextButton.TextColor = 0xFFFC9C04; @@ -1118,13 +1075,17 @@ { btnTempValues.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.temp.ToString(), "---"); #if __IOS__ - btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(8); + btnTempValues.Width = btnTempValues.GetTextWidth() + Application.GetRealWidth(6); #else btnTempValues.Width = btnTempValues.GetTextWidth(); #endif + if (btnTempValues.Width > Application.GetRealWidth(80)) + { + btnTempValues.TextSize = 28; + } btnTempValues.Gravity = Gravity.CenterHorizontal; - btnTempValuesUint.X = btnTempValues.Right - Application.GetRealWidth(4); + btnTempValuesUint.X = btnTempValues.Right ; } /// <summary> @@ -1176,12 +1137,12 @@ #endif setTemp_ValuesButton.Gravity = Gravity.CenterHorizontal; - setTemp_UintButton.X = setTemp_ValuesButton.Right - Application.GetRealWidth(4); + setTemp_UintButton.X = setTemp_ValuesButton.Right + Application.GetRealWidth(4); - double dd = 0; + double dd = 35; double.TryParse(function.GetAttrState(WaterHeaterJinmao_AttrEnum.set_temp.ToString(), "0"), out dd); - setTemp_Bar.Progress = Convert.ToInt32(dd) - 35; + setTemp_Bar.Progress = Convert.ToInt32(dd); } @@ -1209,8 +1170,11 @@ flow_ValuesBar.Progress = recyclVolumePercent; flow_HeatRecoveryProgressButton.Text = recyclVolumePercent + "%"; flow_HeatRecoverytValuesButton.Text = recyclVolume + "t"; - flow_ElectricDriveProgressButton.Text = (100 - recyclVolumePercent) + "%"; - flow_ElectricDriveValuesButton.Text = (volume - recyclVolume) + "t"; + if (volume > 0) + { + flow_ElectricDriveProgressButton.Text = ((int)(100 - recyclVolumePercent)) + "%"; + } + flow_ElectricDriveValuesButton.Text = (((int)(volume * 100) - (int)(recyclVolume * 100)) / 100.0) + "t"; } /// <summary> @@ -1224,20 +1188,48 @@ #else socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth(); #endif - socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right - Application.GetRealWidth(4); + if (socialContribution_Info1_ValuesButton.Width > Application.GetRealWidth(61)) + { + socialContribution_Info1_ValuesButton.TextSize = 14; +#if __IOS__ + socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); +#else + socialContribution_Info1_ValuesButton.Width = socialContribution_Info1_ValuesButton.GetTextWidth(); +#endif + socialContribution_Info1_UintButton.Height = Application.GetRealWidth(25); + } +#if __IOS__ + socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right ; +#else + socialContribution_Info1_UintButton.X = socialContribution_Info1_ValuesButton.Right +Application.GetRealWidth(2); +#endif } /// <summary> /// 鏇存柊绀句細璐�2鐚暟鎹甎I /// </summary> private void updateSocialContribution2() { - socialContribution_Info3_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()); + socialContribution_Info2_ValuesButton.Text = function.GetAttrState(WaterHeaterJinmao_AttrEnum.co2.ToString()); #if __IOS__ - socialContribution_Info3_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); + socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); #else socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth(); #endif - socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right - Application.GetRealWidth(4); + if (socialContribution_Info2_ValuesButton.Width > Application.GetRealWidth(61)) + { + socialContribution_Info2_ValuesButton.TextSize = 14; +#if __IOS__ + socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); +#else + socialContribution_Info2_ValuesButton.Width = socialContribution_Info2_ValuesButton.GetTextWidth(); +#endif + socialContribution_Info2_UintButton.Y = socialContribution_Info2_UintButton.Y - Application.GetRealWidth(4); + } +#if __IOS__ + socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right; +#else + socialContribution_Info2_UintButton.X = socialContribution_Info2_ValuesButton.Right +Application.GetRealWidth(2); +#endif } /// <summary> @@ -1252,7 +1244,20 @@ #else socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth(); #endif - socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right - Application.GetRealWidth(4); + if (socialContribution_Info3_ValuesButton.Width > Application.GetRealWidth(61)) + { + socialContribution_Info3_ValuesButton.TextSize = 14; +#if __IOS__ + socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth() + Application.GetRealWidth(8); +#else + socialContribution_Info3_ValuesButton.Width = socialContribution_Info3_ValuesButton.GetTextWidth(); +#endif + } +#if __IOS__ + socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right; +#else + socialContribution_Info3_UintButton.X = socialContribution_Info3_ValuesButton.Right +Application.GetRealWidth(2); +#endif } /// <summary> @@ -1262,8 +1267,6 @@ { btnPowerControl.IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff.ToString()) == "on"; } - - } } -- Gitblit v1.8.0