From e1a8f2f7e4d850beedeb1469610b878c1427e976 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 15 十二月 2021 09:01:53 +0800
Subject: [PATCH] 更新
---
HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs | 153 ++++++++++++++++++++++++++++++++------------------
1 files changed, 98 insertions(+), 55 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs
index ded7468..3558ece 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/ArmCenter/AddInputPage.cs
@@ -14,13 +14,11 @@
Action<SecurityAlarm> refreshAction;
- SecurityAlarm securityAlarm;
- List<SecurityInput> inputList = new List<SecurityInput>();
-
- public AddInputPage(SecurityAlarm alarm,Action<SecurityAlarm> action)
+ SecurityAlarm alarm;
+ public AddInputPage(SecurityAlarm inAlarm,Action<SecurityAlarm> action)
{
bodyView = this;
- securityAlarm = alarm;
+ alarm = inAlarm;
refreshAction = action;
}
@@ -65,14 +63,17 @@
Text = DB_ResidenceData.Instance.CurFloor.roomName,
};
showdFunctionTypeRow.AddChidren(btnFloor);
- btnFloor.MouseUpEventHandler += (sender, e) =>
+ btnFloor.MouseUpEventHandler = (sender, e) =>
{
string nowSelectId = null;
- var listAllFun = FunctionList.List.GetArmSensorList();
+ var list = FunctionList.List.GetArmSensorList();
+#if DEBUG
+ list.AddRange(FunctionList.List.GetLightList());
+#endif
//鏄剧ず涓嬫媺鐣岄潰
var form = new FloorRoomSelectPopupView();
- form.ShowDeviceFunctionView(btnFloor, listAllFun, (selectId, listFun) =>
+ form.ShowDeviceFunctionView(btnFloor, list, (selectId, listFun) =>
{
nowSelectId = selectId;
//閲嶆柊鍒锋柊璁惧鍒楄〃
@@ -86,14 +87,18 @@
functionListView = new VerticalScrolViewLayout()
{
Y = showdFunctionTypeRow.Bottom,
- Height = Application.GetRealHeight(530),
+ Height = Application.GetRealHeight(530-60),
BackgroundColor = CSS_Color.BackgroundColor,
};
bodyView.AddChidren(functionListView);
+ var listAllFun = FunctionList.List.GetArmSensorList();
+#if DEBUG
+ listAllFun.AddRange(FunctionList.List.GetLightList());
+#endif
- LoadFunctionListRow(FunctionList.List.GetArmSensorList());
+ LoadFunctionListRow(listAllFun);
@@ -122,16 +127,8 @@
bottomView.AddChidren(btnConfrim);
btnConfrim.MouseUpEventHandler = (sender, e) =>
{
- securityAlarm.input = new List<SecurityInput>();
- foreach (var input in inputList)
- {
- if (input.addCondition)
- {
- securityAlarm.input.Add(input);
- }
- }
this.RemoveFromParent();
- refreshAction?.Invoke(securityAlarm);
+ refreshAction?.Invoke(alarm);
};
@@ -151,45 +148,66 @@
functions = FunctionList.List.GetArmSensorList();
}
-#if DEBUG
- functions.AddRange(FunctionList.List.GetLightList());
-#endif
foreach (var function in functions)
{
- var input = securityAlarm.input.Find((obj) => obj.sid == function.sid);
+ var input = alarm.input.Find((obj) => obj.sid == function.sid);
if (input == null)
{
input = new SecurityInput();
input.sid = function.sid;
- input.condition = new List<SecurityInputCondition>()
- {
- new SecurityInputCondition()
+ var inKey = "status";
+ var inValue = "true";
+ switch(function.spk)
{
- key = "status",
- value = "true",
+ case SPK.SensorWater:
+ inKey = "alarm_status";
+ inValue = "alarm";
+ break;
+ case SPK.SensorPir:
+ inKey = "people_status";
+ break;
+ case SPK.SensorSmoke:
+ inKey = "alarm_status";
+ inValue = "alarm";
+ break;
+ case SPK.SensorGas:
+ inKey = "alarm_status";
+ inValue = "alarm";
+ break;
+ case SPK.SensorDoorWindow:
+ inKey = "contact_status";
+ inValue = "open";
+ break;
}
- };
+ input.condition = new List<SecurityInputCondition>()
+ {
+ new SecurityInputCondition()
+ {
+ key = inKey,
+ value = inValue,
+ }
+ };
if (function.spk == SPK.LightSwitch || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming)
{
input.condition = new List<SecurityInputCondition>()
- {
- new SecurityInputCondition()
{
- key = FunctionAttributeKey.OnOff,
- value = "off",
- }
- };
+ new SecurityInputCondition()
+ {
+ key = FunctionAttributeKey.OnOff,
+ value = "off",
+ }
+ };
}
}
- else
- {
- input.addCondition = true;
- }
- inputList.Add(input);
+ //else
+ //{
+ // //input.addCondition = true;
+ // alarm.input.Add(input);
+ //}
FrameLayout functionRow = new FrameLayout()
{
@@ -244,37 +262,53 @@
};
functionRow.AddChidren(btnChooseIcon);
- btnChooseIcon.MouseUpEventHandler = (sender, e) => {
+ btnChooseIcon.MouseUpEventHandler = (sender, e) =>
+ {
btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
- if(btnChooseIcon.IsSelected)
+ var tempLocal = alarm.input.Find((obj) =>
+ obj.sid == input.sid
+ );
+ if (btnChooseIcon.IsSelected)
{
- input.addCondition = true;
- //if (input.condition.Count==0)
- //{
- // ShowStateDialog(input, btnState,btnChooseIcon,function.spk);
- //}
+ //input.addCondition = true;
+ if (tempLocal == null)
+ alarm.input.Add(input);
}
else
{
- input.addCondition = false;
+ //input.addCondition = false;
+ if (tempLocal != null)
+ {
+ alarm.input.Remove(input);
+ }
}
};
btnState.MouseUpEventHandler = (sender, e) =>
{
- //ShowStateDialog(input, btnState, btnChooseIcon, function.spk);
btnChooseIcon.IsSelected = !btnChooseIcon.IsSelected;
+ var tempLocal = alarm.input.Find((obj) =>
+ obj.sid == input.sid
+ );
if (btnChooseIcon.IsSelected)
{
- input.addCondition = true;
+ //input.addCondition = true;
+ if (tempLocal == null)
+ alarm.input.Add(input);
}
else
{
- input.addCondition = false;
+ //input.addCondition = false;
+ if (tempLocal != null)
+ {
+ alarm.input.Remove(input);
+ }
}
};
-
- if (input.addCondition)
+ var localInput = alarm.input.Find((obj) =>
+ obj.sid == input.sid
+ );
+ if (localInput!=null)
{
btnChooseIcon.IsSelected = true;
btnState.Text = input.StateText();
@@ -390,8 +424,12 @@
}
+ var localInput = alarm.input.Find((obj) =>
+ obj.sid == input.sid
+ );
+ if (localInput == null)
+ alarm.input.Add(input);
- input.addCondition = true;
if (btnChoose != null)
{
btnChoose.IsSelected = true;
@@ -424,7 +462,12 @@
}
- input.addCondition = true;
+ var localInput = alarm.input.Find((obj) =>
+ obj.sid == input.sid
+ );
+ if (localInput == null)
+ alarm.input.Add(input);
+
if (btnChoose != null)
{
btnChoose.IsSelected = true;
--
Gitblit v1.8.0