From 3f87bf0ae7394cdd7d52428f1f6b4361434c7cc4 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 15 五月 2020 13:28:33 +0800
Subject: [PATCH] hhhhhhhhh
---
ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 210 +++++++++++++++++++--------------------------------
1 files changed, 79 insertions(+), 131 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
index 5673d8f..7e93794 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs
@@ -41,7 +41,13 @@
/// <summary>
/// 閫昏緫涓槸鍚︽湁甯稿紑妯″紡
/// </summary>
- private bool HaveLogicNormallyOpenMode = false;
+ private bool haveLogicNormallyOpenMode = false;
+
+ /// <summary>
+ /// 闂ㄩ攣娣卞害鎺у埗涓婃姤绐楀彛鏄惁寮瑰嚭
+ /// </summary>
+ public static bool canShowDialog = true;
+
/// <summary>
/// 褰撳墠鐢甸噺
/// </summary>
@@ -609,7 +615,14 @@
{
if (canOpenNormallyMode)
{
- Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); });
+ Application.RunOnMainThread(() =>
+ {
+ Action<bool> action = (obj) =>
+ {
+ UpdateNomallyOpenStatus();
+ };
+ DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action);
+ });
}
}
}
@@ -684,14 +697,14 @@
DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes);
Application.RunOnMainThread(async () =>
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2);
+ var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock);
if (resTemp == 1)
{
- HaveLogicNormallyOpenMode = true;
+ haveLogicNormallyOpenMode = true;
}
else if (resTemp == 0)
{
- HaveLogicNormallyOpenMode = false;
+ haveLogicNormallyOpenMode = false;
}
});
}
@@ -784,14 +797,11 @@
//璁剧疆
EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) =>
{
- //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆�
- //RemoveFromParent();
-
var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
functionSetting.Show();
-
+ canShowDialog = false;
functionSetting.devicNameAction += (deviceRename) =>
{
if (!string.IsNullOrEmpty(deviceRename))
@@ -822,6 +832,7 @@
//鍘嗗彶璁板綍 ---- stan
var form = new DeviceDoorLock.DoorLockHistoryLogForm();
form.AddForm(this.doorLock.DeviceAddr);
+ canShowDialog = false;
};
btnRecordFrameLayout.MouseDownEventHandler += handerRecord;
btnRecord.MouseDownEventHandler += handerRecord;
@@ -845,11 +856,15 @@
//寮�閿佷簨浠�
EventHandler<MouseEventArgs> hander1 = async (sender, e) =>
{
+ canShowDialog = true;
if (doorLock.IsDoorLockNormallyMode)
{
if (canOpenNormallyMode)
{
- NomallyOpenModeInvalidDialog(false);
+ Application.RunOnMainThread(() =>
+ {
+ NomallyOpenModeInvalidDialog();
+ });
}
else
{
@@ -871,11 +886,15 @@
//鍏抽攣浜嬩欢
EventHandler<MouseEventArgs> hander2 = (sender, e) =>
{
+ canShowDialog = true;
if (canOpenNormallyMode)
{
if (doorLock.IsDoorLockNormallyMode)
{
- NomallyOpenModeInvalidDialog();
+ Application.RunOnMainThread(() =>
+ {
+ NomallyOpenModeInvalidDialog();
+ });
}
}
else
@@ -1040,91 +1059,44 @@
action = () =>
{
//绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤娓╁眳鍩庣殑鐣岄潰銆愬父寮�鑷姩鍖栥��
- var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(currentRoom, doorLock);
- Shared.Phone.UserView.HomePage.Instance.AddChidren(functionSetting);
- Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
- functionSetting.Show();
- // functionSetting.aaaAction = () =>
- //{
- // UpdateNomallyOpenStatus();
- //};
+ if (doorLock == null)
+ {
+ ///闃叉鎶涘紓甯�
+ return;
+ }
+ ///澶囨敞锛歐JC鐨�
+ Shared.Phone.Device.Logic.Send.CurrentDoorLock = doorLock;
+ ///杩涙潵鍒锋柊涓�娆¤澶囧垪琛紱
+ Common.Logic.LogicDviceList.Clear();
+ if (Common.Logic.LogicDviceList.Count == 0)
+ {
+ Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray());
+ }
+ var addLogicPage = new Shared.Phone.Device.Logic.SoneLogicList();
+ UserView.HomePage.Instance.AddChidren(addLogicPage);
+ UserView.HomePage.Instance.PageIndex += 1;
+ addLogicPage.Show();
+ addLogicPage.action += (w) =>
+ {
+ doorLock.IsDoorLockNormallyMode = w;
+ ///鐣欑粰寰愭鐢ㄧ殑
+ UpdateNomallyOpenStatus();
+ };
};
HdlCheckLogic.Current.CheckSecondarySecurity(action);
#endregion
-
- #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級
- if (!btnNormallyOpen.IsSelected)
- {
- if (UserCenterResourse.UserInfo.AuthorityNo != 1)
- {
- this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
- return;
- }
+ }
- if (!UserCenterResourse.AccountOption.DoorUnLockByRemote)
- {
- SystemSecondAuthentication();
- return;
- }
-
- action = () =>
- {
- string msg = Language.StringByID(R.MyInternationalizationString.SetDoorLockNomallyOpen).Replace("{0}", "\r\n");
- var confirm = Language.StringByID(R.MyInternationalizationString.Confrim);
- var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.Confirm, msg, confirm);
- alert.Show();
-
- alert.ConfirmClickEvent += async () =>
- {
- Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
- if (result == null || result.defaultControlResponseData == null)
- {
- string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime);
- this.ShowTipMsg(msg0);
- return;
- }
- if (result.defaultControlResponseData.status != 0)
- {
- string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed);
- this.ShowTipMsg(msg1);
- return;
- }
- else
- {
- //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰�
- HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty);
-
- //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂
- DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12;
- DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true);
- Application.RunOnMainThread(() =>
- {
- UpdateNomallyOpenStatus();
- CommonPage.Loading.Hide();
- });
-
- //甯稿紑妯″紡寮�鍚彁绀�
- AlreadyOpenNormallyMode();
- }
- };
-
- };
- HdlCheckLogic.Current.CheckSecondarySecurity(action);
- }
- else
- {
- NomallyOpenModeInvalidDialog();
- }
-
- #endregion
- }
-
- /// <summary>
- /// 甯稿紑妯″紡澶辨晥澶勭悊
- /// </summary>
+ /// <summary>
+ /// 甯稿紑妯″紡澶辨晥澶勭悊
+ /// </summary>
public void NomallyOpenModeInvalidDialog(bool IsFromReport = false)
{
+ if (!canShowDialog)
+ {
+ return;
+ }
+
if (UserCenterResourse.UserInfo.AuthorityNo != 1)
{
this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate));
@@ -1133,7 +1105,7 @@
string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n");
var confirm = Language.StringByID(R.MyInternationalizationString.SureCancel);
var alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.NomallyOpenMode, msg, confirm);
- if (HaveLogicNormallyOpenMode)
+ if (haveLogicNormallyOpenMode)
{
//鏈夐�昏緫璁剧疆鐨勫脊绐�
alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm);
@@ -1150,15 +1122,11 @@
{
UpdateNomallyOpenStatus();
});
- //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
- if (HaveLogicNormallyOpenMode)
+
+ if (haveLogicNormallyOpenMode)
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
- //if (resTemp == 3)
- //{
- // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
- // this.ShowTipMsg(msg0);
- //}
+ //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
+ var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
}
}
else
@@ -1178,16 +1146,11 @@
{
//涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑�
Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); });
- //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
- if (HaveLogicNormallyOpenMode)
+
+ if (haveLogicNormallyOpenMode)
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
- //if (resTemp == 3)
- //{
- // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2);
- // this.ShowTipMsg(msg0);
- // return;
- //}
+ //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
+ var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
}
//app閲嶆柊寮�鍚�滃父寮�妯″紡鈥�
var result = await doorLock.SetNormallyOpenModeFuncAsync(true);
@@ -1255,15 +1218,10 @@
UpdateNomallyOpenStatus();
});
- //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫
- if (HaveLogicNormallyOpenMode)
+ if (haveLogicNormallyOpenMode)
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
- //if (resTemp == 3)
- //{
- // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
- // this.ShowTipMsg(msg0);
- //}
+ //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
+ var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
}
}
else
@@ -1294,21 +1252,11 @@
{
UpdateNomallyOpenStatus();
});
- //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫
- if (HaveLogicNormallyOpenMode)
+
+ if (haveLogicNormallyOpenMode)
{
- var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3);
- //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈�
- //if (resTemp == 3)
- //{
- // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed);
- // this.ShowTipMsg(msg0);
- //}
- //else if (resTemp == 2)
- //{
- // string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
- // this.ShowTipMsg(msg2);
- //}
+ //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫
+ var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock);
}
string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess);
this.ShowTipMsg(msg2);
@@ -1370,7 +1318,7 @@
DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp;
//榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫
var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock);
- if (!res)
+ if (res == 0)
{
//榛樿鍒涘缓甯稿紑妯″紡澶辫触
string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed);
--
Gitblit v1.8.0