From 0e0584b87851c56745bf73b1a961b80613dd0721 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 19 五月 2020 16:35:16 +0800 Subject: [PATCH] 2020-05-19-4 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 173 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 87 insertions(+), 86 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs old mode 100644 new mode 100755 index 096bed2..7de8403 --- 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> @@ -77,7 +83,7 @@ /// <summary> /// 涓儴甯冨眬涓棬閿佸悕绉版樉绀� /// </summary> - Button btnDoorLockTitle; + NormalViewControl btnDoorLockTitle; /// <summary> /// 鍒嗕韩 /// </summary> @@ -246,18 +252,15 @@ }; this.midFrameLayout.AddChidren(midTopFrameLayout); - //闂ㄩ攣鏍囬 - btnDoorLockTitle = new Button() - { - Width = Application.GetRealWidth(250), - Height = Application.GetRealHeight(60), - X = Application.GetRealWidth(372), - Y = Application.GetRealHeight(46), - TextColor = Shared.Common.ZigbeeColor.Current.XMBlack, - TextSize = 15, - TextAlignment = TextAlignment.Center, - IsBold = true, - }; + //璁惧鍚嶇О + btnDoorLockTitle = new NormalViewControl(100, 60, true); + btnDoorLockTitle.Y = Application.GetRealHeight(46); + btnDoorLockTitle.TextSize = 15; + btnDoorLockTitle.IsBold = true; + btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); + btnDoorLockTitle.Width = btnDoorLockTitle.GetRealWidthByText(); + btnDoorLockTitle.TextAlignment = TextAlignment.Center; + btnDoorLockTitle.Gravity = Gravity.CenterHorizontal; midTopFrameLayout.AddChidren(btnDoorLockTitle); //璁板綍 @@ -609,7 +612,14 @@ { if (canOpenNormallyMode) { - Application.RunOnMainThread(() => { NomallyOpenModeInvalidDialog(true); }); + Application.RunOnMainThread(() => + { + Action<bool> action = (obj) => + { + UpdateNomallyOpenStatus(); + }; + DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.ServicePush, haveLogicNormallyOpenMode, action); + }); } } } @@ -687,11 +697,11 @@ 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; } }); } @@ -770,7 +780,6 @@ /// </summary> public void ClickHandle() { - //闂ㄩ攣鏍囬 btnDoorLockTitle.Text = Common.LocalDevice.Current.GetDeviceMacName(doorLock); @@ -785,14 +794,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)) @@ -823,6 +829,7 @@ //鍘嗗彶璁板綍 ---- stan var form = new DeviceDoorLock.DoorLockHistoryLogForm(); form.AddForm(this.doorLock.DeviceAddr); + canShowDialog = false; }; btnRecordFrameLayout.MouseDownEventHandler += handerRecord; btnRecord.MouseDownEventHandler += handerRecord; @@ -846,11 +853,19 @@ //寮�閿佷簨浠� EventHandler<MouseEventArgs> hander1 = async (sender, e) => { + canShowDialog = true; if (doorLock.IsDoorLockNormallyMode) { if (canOpenNormallyMode) { - NomallyOpenModeInvalidDialog(false); + Application.RunOnMainThread(() => + { + Action<bool> action = (obj) => + { + UpdateNomallyOpenStatus(); + }; + DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); + }); } else { @@ -872,11 +887,19 @@ //鍏抽攣浜嬩欢 EventHandler<MouseEventArgs> hander2 = (sender, e) => { + canShowDialog = true; if (canOpenNormallyMode) { if (doorLock.IsDoorLockNormallyMode) { - NomallyOpenModeInvalidDialog(); + Application.RunOnMainThread(() => + { + Action<bool> action = (obj) => + { + UpdateNomallyOpenStatus(); + }; + DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); + }); } } else @@ -1052,31 +1075,33 @@ 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._if = true; - addLogicPage.action += (w) => - { - doorLock.IsDoorLockNormallyMode = w; - ///鐣欑粰寰愭鐢ㄧ殑 - UpdateNomallyOpenStatus(); + } + 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(); + //杩斿洖鎸夐敭娓呯┖褰撳墠閫昏緫瀹氫箟鐨凩ogicAction + UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; }; + }; + HdlCheckLogic.Current.CheckSecondarySecurity(action); - }; - HdlCheckLogic.Current.CheckSecondarySecurity(action); + } - - } - - /// <summary> - /// 甯稿紑妯″紡澶辨晥澶勭悊 - /// </summary> - public void NomallyOpenModeInvalidDialog(bool IsFromReport = false) + /// <summary> + /// 甯稿紑妯″紡澶辨晥澶勭悊 + /// </summary> + private void NomallyOpenModeInvalidDialog(bool IsFromReport = false) { + if (!canShowDialog) + { + return; + } + if (UserCenterResourse.UserInfo.AuthorityNo != 1) { this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); @@ -1085,7 +1110,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); @@ -1102,15 +1127,11 @@ { UpdateNomallyOpenStatus(); }); - //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - if (HaveLogicNormallyOpenMode) + + if (haveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); - //if (resTemp == 3) - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - // this.ShowTipMsg(msg0); - //} + //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); } } else @@ -1130,16 +1151,11 @@ { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - if (HaveLogicNormallyOpenMode) + + if (haveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); - //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); @@ -1207,15 +1223,10 @@ UpdateNomallyOpenStatus(); }); - //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - if (HaveLogicNormallyOpenMode) + if (haveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); - //if (resTemp == 3) - //{ - // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - // this.ShowTipMsg(msg0); - //} + //姝ゅ鍒犻櫎娓╁眳鍩庣殑甯稿紑妯″紡鐗规畩閫昏緫 + var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(doorLock); } } else @@ -1246,21 +1257,11 @@ { UpdateNomallyOpenStatus(); }); - //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 - if (HaveLogicNormallyOpenMode) + + if (haveLogicNormallyOpenMode) { - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3,doorLock); - //鍥犱负鐩墠鏈哄埗闂锛岄�昏緫缁忓父澶辫触锛屾墍浠ヤ笉鎻愮ず锛屽悗鏈熸満鍒惰鏀癸紝閲嶆柊鍋氫竴涓繖涓晫闈� - //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); @@ -1322,7 +1323,7 @@ DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (res==0) + if (res == 0) { //榛樿鍒涘缓甯稿紑妯″紡澶辫触 string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); -- Gitblit v1.8.0