From b68cdc7e103a00d5df73e4b75603be8da1815b4a Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 29 四月 2020 13:59:52 +0800 Subject: [PATCH] 上传版本 --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 368 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 224 insertions(+), 144 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index f76ff99..6b5ed4f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -47,7 +47,7 @@ /// </summary> bool canVolume = false; /// <summary> - /// 淇濈暀涓婁竴娆¢煶閲� + /// 鏄惁鏀寔甯稿紑 /// </summary> bool canOpenNormallyMode = false; /// <summary> @@ -90,6 +90,7 @@ /// 璁剧疆FrameLayout /// </summary> FrameLayout btnFuncSetFrameLayout; + FrameLayout progressFrameLayoutMatch; /// <summary> /// 鐐瑰嚮寮�甯冨眬 /// </summary> @@ -366,25 +367,32 @@ }; btnFrameLayout.AddChidren(closeFrameLayout); + progressFrameLayoutMatch = new FrameLayout() + { + Width = Application.GetRealHeight(84),//639-35 + Height = Application.GetRealHeight(446), + X = Application.GetMinReal(51), + BackgroundColor = ZigbeeColor.Current.XMWhite, + }; + btnFrameLayout.AddChidren(progressFrameLayoutMatch); + var progressFrameLayout = new FrameLayout() { - Width = Application.GetRealWidth(9),//639-35 - Height = Application.GetRealHeight(446), - X = Application.GetRealWidth(95), - Y = Application.GetRealHeight(0), + Width = Application.GetRealHeight(17),//639-35 + Gravity = Gravity.CenterHorizontal, BackgroundColor = ZigbeeColor.Current.XMVerticalSeekBar, }; - btnFrameLayout.AddChidren(progressFrameLayout); + progressFrameLayoutMatch.AddChidren(progressFrameLayout); progressButton = new Button() { Width = Application.GetMinReal(84),//639-35 Height = Application.GetMinReal(93), - X = Application.GetRealWidth(58), + Gravity = Gravity.CenterHorizontal, Y = Application.GetRealHeight(347), UnSelectedImagePath = "DoorLock/UnLockButton.png", }; - btnFrameLayout.AddChidren(progressButton); + progressFrameLayoutMatch.AddChidren(progressButton); btnDoorOpenPic = new Button() { @@ -677,20 +685,18 @@ { tempRes = false; } - - NormallyOpenModeValue(tempRes); - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(); - if (resTemp == 1) + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, tempRes); + Application.RunOnMainThread(async () => { - HaveLogicNormallyOpenMode = true; - } - else if (resTemp == 0) - { - HaveLogicNormallyOpenMode = false; - } - Application.RunOnMainThread(() => - { - UpdateNomallyOpenStatus(); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(2); + if (resTemp == 1) + { + HaveLogicNormallyOpenMode = true; + } + else if (resTemp == 0) + { + HaveLogicNormallyOpenMode = false; + } }); } } @@ -753,6 +759,7 @@ { Application.RunOnMainThread(() => { + UpdateNomallyOpenStatus(); CommonPage.Loading.Hide(); }); } @@ -781,8 +788,9 @@ //璁剧疆 EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => { - //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎 - RemoveFromParent(); + //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎銆愭殏鏃朵笉绉婚櫎銆� + //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; @@ -868,6 +876,10 @@ }; openFrameLayout.MouseUpEventHandler += hander1; btnDoorOpenPic.MouseUpEventHandler += hander1; + if (progressButton.Y == Application.GetRealHeight(10)) + { + progressFrameLayoutMatch.MouseUpEventHandler += hander1; + } //鍏抽攣浜嬩欢 EventHandler<MouseEventArgs> hander2 = (sender, e) => @@ -1023,28 +1035,41 @@ } #endregion - #region 甯稿紑妯″紡 - /// <summary> - /// 闂ㄩ攣甯稿紑妯″紡鍊� - /// </summary> - public void NormallyOpenModeValue(bool value) - { - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; - if (doorLock.IsDoorLockNormallyMode.ContainsKey(key)) - { - doorLock.IsDoorLockNormallyMode[key] = value; - } - else - { - doorLock.IsDoorLockNormallyMode.Add(key, value); - } - } - + #region 甯稿紑妯″紡 /// <summary> /// 甯稿紑妯″紡澶勭悊 /// </summary> private async void NomallyOpenDialog() { + #region 鍚庣画鐗堟湰 + //if (UserCenterResourse.UserInfo.AuthorityNo != 1) + //{ + // this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); + // return; + //} + + //if (!UserCenterResourse.AccountOption.DoorUnLockByRemote) + //{ + // SystemSecondAuthentication(); + // return; + //} + + //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(); + // }; + //}; + //HdlCheckLogic.Current.CheckSecondarySecurity(action); + #endregion + + #region 鏆傛椂鐗堟湰 (鏈�缁堝幓鎺夛級 if (!btnNormallyOpen.IsSelected) { if (UserCenterResourse.UserInfo.AuthorityNo != 1) @@ -1061,6 +1086,12 @@ action = () => { + //绯荤粺瀵嗙爜鏀寔鎿嶄綔闂ㄩ攣鍚庯紝璋冪敤闂俯灞呭煄鐨勭晫闈€�愬父寮�鑷姩鍖栥�� + //Action nomallyOpenModeStartAction = () => + //{ + // UpdateNomallyOpenStatus(); + //}; + 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); @@ -1089,41 +1120,18 @@ //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; - NormallyOpenModeValue(true); - UpdateNomallyOpenStatus(); - CommonPage.Loading.Hide(); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + CommonPage.Loading.Hide(); + }); //甯稿紑妯″紡寮�鍚彁绀� - string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn); - var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting); - var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting); - alertNomallyModeIsTurnOn.Show(); - alertNomallyModeIsTurnOn.MsgControlClickEvent += async () => - { - //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 - var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (!res) - { - string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - return; - } - }; - - //鐐瑰嚮鑷姩鍖� - alertNomallyModeIsTurnOn.LogicClickEvent += () => - { - //閫昏緫璋冪敤鍓嶈寰楃Щ闄� - ZbGateway.StatusList.Remove(this); - //璋冪敤閫昏緫鐣岄潰 - Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock); - }; - alertNomallyModeIsTurnOn.InvalidClickEvent += async () => - { - NomallyOpenModeInvalidTimeDialog(); - }; + AlreadyOpenNormallyMode(); } }; + }; HdlCheckLogic.Current.CheckSecondarySecurity(action); } @@ -1131,6 +1139,8 @@ { NomallyOpenModeInvalidDialog(); } + + #endregion } /// <summary> @@ -1157,94 +1167,126 @@ { if (IsFromReport) { - //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 - NormallyOpenModeValue(false); - UpdateNomallyOpenStatus(); - //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); - if (resTemp == 3) + //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + Application.RunOnMainThread(() => { - string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - this.ShowTipMsg(msg0); + UpdateNomallyOpenStatus(); + }); + //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + 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 { - //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� - NormallyOpenModeValue(true); - UpdateNomallyOpenStatus(); + //app榛樿鈥滃父寮�妯″紡鈥濊繕鏄紑鍚� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + }); } }; + alert.CancelClickEvent += async () => { if (IsFromReport) { //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); - //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); - if (resTemp == 3) + //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + if (HaveLogicNormallyOpenMode) { - string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - return; + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + //if (resTemp == 3) + //{ + // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2); + // this.ShowTipMsg(msg0); + // return; + //} } //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) { - string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); - this.ShowTipMsg(msg0); - NormallyOpenModeValue(false); - UpdateNomallyOpenStatus(); + Application.RunOnMainThread(() => + { + string msg0 = Language.StringByID(R.MyInternationalizationString.GwResponseOvertime); + this.ShowTipMsg(msg0); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + UpdateNomallyOpenStatus(); + }); return; } if (result.defaultControlResponseData.status != 0) { string msg1 = Language.StringByID(R.MyInternationalizationString.OpenNormallyOpenModeFailed); this.ShowTipMsg(msg1); - NormallyOpenModeValue(false); - UpdateNomallyOpenStatus(); + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + }); return; } else { - //淇濇寔鈥滃父寮�鎴愬姛鈥� - NormallyOpenModeValue(true); - UpdateNomallyOpenStatus(); + //淇濇寔鈥滃父寮�鎴愬姛鈥� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + }); + //鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 var resu = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - if (!resu) - { - string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - return; - } + //if (!resu) + //{ + // string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); + // this.ShowTipMsg(msg0); + //} CommonPage.Loading.Hide(); } } else { - //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� - NormallyOpenModeValue(true); - UpdateNomallyOpenStatus(); + //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, true); + Application.RunOnMainThread(() => + { + UpdateNomallyOpenStatus(); + }); } }; + alert.ConfirmClickEvent += async () => { if (IsFromReport) { - //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� - NormallyOpenModeValue(false); - UpdateNomallyOpenStatus(); - - //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); - if (resTemp == 3) + //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + Application.RunOnMainThread(() => { - string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - this.ShowTipMsg(msg0); + UpdateNomallyOpenStatus(); + }); + + //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + 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 @@ -1269,24 +1311,67 @@ //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); - //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� - NormallyOpenModeValue(false); - UpdateNomallyOpenStatus(); - - //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 - var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); - if (resTemp == 3) + //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� + DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); + Application.RunOnMainThread(() => { - string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - } - else if (resTemp == 2) + UpdateNomallyOpenStatus(); + }); + //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 + if (HaveLogicNormallyOpenMode) { - string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); - this.ShowTipMsg(msg2); + 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); + //} } + string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); + this.ShowTipMsg(msg2); } } + }; + } + + /// <summary> + /// 宸茬粡寮�鍚父寮�妯″紡鎻愮ず + /// </summary> + public void AlreadyOpenNormallyMode() + { + //甯稿紑妯″紡寮�鍚彁绀� + string msgNomallyModeIsTurnOn = Language.StringByID(R.MyInternationalizationString.NomallyModeIsTurnOn); + var doorLockInValidSetting = Language.StringByID(R.MyInternationalizationString.DoorLockInValidSetting); + var alertNomallyModeIsTurnOn = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.DoorLockLogic, msgNomallyModeIsTurnOn, doorLockInValidSetting); + alertNomallyModeIsTurnOn.Show(); + alertNomallyModeIsTurnOn.MsgControlClickEvent += async () => + { + //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 + var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); + //if (!res) + //{ + //string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); + // this.ShowTipMsg(msg0); + //return; + //} + }; + //鐐瑰嚮鑷姩鍖� + alertNomallyModeIsTurnOn.LogicClickEvent += () => + { + //閫昏緫璋冪敤鍓嶈寰楃Щ闄� + ZbGateway.StatusList.Remove(this); + //璋冪敤閫昏緫鐣岄潰 + Shared.Phone.Device.Logic.SkipView.SkipAddLogic(2, doorLock); + }; + alertNomallyModeIsTurnOn.InvalidClickEvent += async () => + { + NomallyOpenModeInvalidTimeDialog(); }; } @@ -1303,19 +1388,6 @@ alertTimeInValidSetting.InvalidTimeAction += async (obj) => { - Regex rg = new Regex("^[0-9]+$"); - if (!rg.IsMatch(obj)) - { - //蹇呴』鏄暟瀛� - string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip); - this.ShowTipMsg(msg0); - - string msgTimeInValidSetting2 = Language.StringByID(R.MyInternationalizationString.DoorLockOpenAllTheTime); - var timeConfrim2 = Language.StringByID(R.MyInternationalizationString.Confrim); - var alertTimeInValidSetting2 = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting2, timeConfrim2); - alertTimeInValidSetting2.Show(); - return; - } //甯稿紑妯″紡澶辨晥鏃堕棿璁剧疆鎴愬姛 var temp = int.Parse(obj); DoorLockCommonInfo.NormallyOpenModeInvalidTime = temp; @@ -1323,12 +1395,16 @@ var res = await Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); if (!res) { + //榛樿鍒涘缓甯稿紑妯″紡澶辫触 string msg0 = Language.StringByID(R.MyInternationalizationString.AddLogicNormallyModeFailed); - this.ShowTipMsg(msg0); - return; + var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, msg0, Language.StringByID(R.MyInternationalizationString.confrim)); + alert.Show(); + //浜屾鍔犺浇寮圭獥 甯稿紑妯″紡寮�鍚彁绀� + NomallyOpenModeInvalidTimeDialog(); } }; } + /// <summary> /// 甯稿紑妯″紡鐘舵�佹洿鏂� /// </summary> @@ -1339,7 +1415,11 @@ btnNormallyOpenFrameLayout.Width = Application.GetRealWidth(0); return; } - string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + string key = doorLock.DeviceAddr + "_" + doorLock.DeviceEpoint; + if (!doorLock.IsDoorLockNormallyMode.ContainsKey(key)) + { + return; + } if (doorLock.IsDoorLockNormallyMode[key] == true) { btnNormallyOpen.IsSelected = true; -- Gitblit v1.8.0