From 439d05654176664111063362ac5c98c772910faa Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期四, 12 九月 2024 12:05:01 +0800
Subject: [PATCH] 异常信息优化
---
HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs | 84 +++++++++++++++++++++++++++++++++++------
1 files changed, 71 insertions(+), 13 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
index 8472433..5726502 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs
@@ -492,6 +492,7 @@
int min = device.GetAttribute("set_temp") == null ? 16 : device.GetAttribute("set_temp").min;
int max = device.GetAttribute("set_temp") == null ? 32 : device.GetAttribute("set_temp").max;
string unit = InpOrOutLogicMethod.Current.GetTemperatureUnit(device);
+ var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp);
///娓╁害鐐瑰嚮浜嬩欢
temperatureView.btnClick.MouseUpEventHandler += (sender, e) =>
{
@@ -508,7 +509,7 @@
string set_temp_value = stateStr.Replace(unit, "");
//鏁版嵁灏佽
AddDictionary(keyVlaue, set_temp_value);
- }, min, max, unit);
+ }, min, max, unit, setTempAttr.step);
};
///妯″紡鐐瑰嚮浜嬩欢
@@ -562,7 +563,7 @@
}
break;
case SPK.FloorHeatStandard:
- case SPK.HvacFloorHeat:
+ case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
{
#region 鐣岄潰
///寮�鍏�
@@ -586,6 +587,7 @@
DelayView(fLayout, floorHeatingModehView.frameLayout.Bottom);
#endregion
#region 鐐瑰嚮浜嬩欢
+ var setTempAttr = device.GetAttribute(FunctionAttributeKey.SetTemp);
///寮�鍏崇偣鍑讳簨浠�
floorHeatingSwitchVie.btnClick.MouseUpEventHandler += (sender, e) =>
{
@@ -611,7 +613,7 @@
//鏁版嵁灏佽
AddDictionary(keyVlaue, set_temp_value);
- }, min, max, unit);
+ }, min, max, unit, setTempAttr.step);
};
///妯″紡鐐瑰嚮浜嬩欢
@@ -736,8 +738,13 @@
case SPK.AvMusic:
{
#region 鐣岄潰
+ ///寮�鍏�
+ LogicView.FunTypeView switchVie = new LogicView.FunTypeView();
+ switchVie.btnText.TextID = StringId.switchLogic;
+ fLayout.AddChidren(switchVie.FLayoutView());
//鎻愮ず璇煶
LogicView.FunTypeView funTypeView = new LogicView.FunTypeView();
+ funTypeView.frameLayout.Y = switchVie.frameLayout.Bottom;
funTypeView.btnText.TextID = StringId.tishiyin;
fLayout.AddChidren(funTypeView.FLayoutView());
///闊抽噺
@@ -754,9 +761,41 @@
///璁惧寤舵椂iewv
- DelayView(fLayout, volView.frameLayout.Bottom);
+ var delayView = DelayView(fLayout, volView.frameLayout.Bottom);
+ if (edit )
+ {
+ Output outputs = Logic.currlogic.output[index];
+ var dicList = outputs.status.Find((obj) => obj.ContainsValue(FunctionAttributeKey.OnOff));
+ if (dicList != null)
+ {
+ if (dicList.ContainsValue( "off") || dicList.ContainsValue("pause"))
+ {
+ funTypeView.frameLayout.Visible = false;
+ volView.frameLayout.Visible = false;
+ delayView.frameLayout.Y = switchVie.frameLayout.Bottom;
+ }
+ }
+ }
#endregion
#region 鐐瑰嚮浜嬩欢
+ ///寮�鍏崇偣鍑讳簨浠�
+ switchVie.btnClick.MouseUpEventHandler += (sender, e) =>
+ {
+ SwitchViewMethod(device, switchVie.btnState, 2, (v) => {
+ if (v == "on")
+ {
+ funTypeView.frameLayout.Visible = true;
+ volView.frameLayout.Visible = true;
+ delayView.frameLayout.Y = volView.frameLayout.Bottom;
+ }
+ else
+ {
+ funTypeView.frameLayout.Visible = false;
+ volView.frameLayout.Visible = false;
+ delayView.frameLayout.Y = switchVie.frameLayout.Bottom;
+ }
+ });
+ };
///鎻愮ず璇煶鐐瑰嚮浜嬩欢
funTypeView.btnClick.MouseUpEventHandler += (sender, e) =>
{
@@ -820,7 +859,7 @@
if (edit)
{
//鏄剧ず缂栬緫涔嬪墠鐨勮澶囩姸鎬�
- GetEditDeviceState(device, index, funTypeView.btnState, volView.btnState, null, null);
+ GetEditDeviceState(device, index, switchVie.btnState, funTypeView.btnState, volView.btnState, null);
}
#endregion
@@ -950,7 +989,7 @@
case SPK.AcIr:
case SPK.AcStandard:
case SPK.FloorHeatStandard:
- case SPK.HvacFloorHeat:
+ case SPK.HvacFloorHeat:case SPK.HvacFloorHeatPanel:
{
//鍋氫簡涓�涓壒娈婂鐞嗭紱
bool _bool = false;
@@ -990,6 +1029,23 @@
var diclist = dicSateteList.FindAll((dic) => !dic.ContainsValue(volume));
dicList.AddRange(diclist);//鍐嶆坊鍔犲叾瀹冨睘鎬�
dicSateteList = dicList;//閲嶆柊璧嬪��
+ }
+ var onoffDic = dicSateteList.Find((obj) => obj.ContainsValue("on_off"));
+ if (onoffDic != null)
+ {
+ if (onoffDic.ContainsValue("off"))
+ {
+ for(int i =0;i<dicSateteList.Count;)
+ {
+ var d = dicSateteList[i];
+ if(!d.ContainsValue("on_off") || d.ContainsValue("delay"))
+ {
+ dicSateteList.Remove(d);
+ continue;
+ }
+ i++;
+ }
+ }
}
}
break;
@@ -1041,12 +1097,12 @@
/// </summary>
/// <param name="fLayout">鐖舵帶浠�</param>
/// <param name="bottomY">鍦ㄥ摢涓帶浠朵笅闈�</param>
- private void DelayView(FrameLayout fLayout, int bottomY)
+ private LogicView.FunTypeView DelayView(FrameLayout fLayout, int bottomY)
{
LogicView.FunTypeView delayView = new LogicView.FunTypeView();
delayView.frameLayout.Y = bottomY;
delayView.btnText.TextID = StringId.Delay;
- delayView.btnState.Text = strdelay + "s";
+ delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay);
fLayout.AddChidren(delayView.FLayoutView());
///璧嬪�煎璞�
this.btnDelay = delayView.btnState;
@@ -1056,11 +1112,12 @@
InpOrOutLogicMethod inpOrOutLogicMethod = new InpOrOutLogicMethod();
inpOrOutLogicMethod.Delayed(this, strdelay, (value) =>
{
- selectedState = "delay_" + strdelay;
strdelay = value.ToString();
- delayView.btnState.Text = strdelay + "s";
+ delayView.btnState.Text = LogicMethod.Current.getTimeStr(strdelay);
+ selectedState = "delay_" + strdelay;
});
};
+ return delayView;
}
@@ -1070,7 +1127,8 @@
/// <param name="device"></param>
/// <param name="button"></param>
/// <param name="len">鏄剧ず閫夋嫨View鏁伴噺</param>
- private void SwitchViewMethod(Entity.Function device, Button button, int len)
+ /// <param name="action">鐐瑰嚮鍥炶皟浜嬩欢锛岀敤鏉ョ粰闊充箰鍒锋柊鐣岄潰浣跨敤锛寃xr 2024-01-04 16:03:47</param>
+ private void SwitchViewMethod(Entity.Function device, Button button, int len,Action<string> action = null)
{
#region 鐣岄潰
FrameLayout frame = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence };
@@ -1131,11 +1189,11 @@
}
break;
-
}
//鏁版嵁灏佽
AddDictionary(key, value);
+ action?.Invoke(value);
});
#endregion
}
@@ -1291,7 +1349,7 @@
if (this.btnDelay != null)
{
///寤舵椂鏄剧ず鏂囨湰
- this.btnDelay.Text = outputs.delay + "s";
+ this.btnDelay.Text =LogicMethod.Current.getTimeStr(outputs.delay);
this.strdelay = outputs.delay;
}
InpOrOutLogicMethod.Current.EditDeviceState(device, dicList, button1, button2, button3, button4, attribute);
--
Gitblit v1.8.0