From 23532fa8ad34c89b6d24b01eaef6475fd0aad898 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 15 四月 2020 18:08:24 +0800 Subject: [PATCH] ??????? --- ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs | 222 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 147 insertions(+), 75 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs index 50ddc77..f76ff99 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.cs @@ -207,8 +207,8 @@ btnFuncSet = new Button { X = Application.GetRealWidth(103), - Height = Application.GetRealHeight(69), - Width = Application.GetRealWidth(69), + Height = Application.GetMinReal(69), + Width = Application.GetMinReal(69), UnSelectedImagePath = "DoorLock/SettingIcon.png", }; btnFuncSetFrameLayout.AddChidren(btnFuncSet); @@ -269,8 +269,8 @@ midTopFrameLayout.AddChidren(btnRecordFrameLayout); btnRecord = new Button() { - Width = Application.GetRealWidth(69), - Height = Application.GetRealHeight(69), + Width = Application.GetMinReal(69), + Height = Application.GetMinReal(69), X = Application.GetRealWidth(46), Y = Application.GetRealHeight(46), UnSelectedImagePath = "DoorLock/RecordIcon.png", @@ -287,8 +287,8 @@ midTopFrameLayout.AddChidren(btnCollectFrameLayout); btnCollect = new Button() { - Width = Application.GetRealWidth(69), - Height = Application.GetRealHeight(69), + Width = Application.GetMinReal(69), + Height = Application.GetMinReal(69), X = Application.GetRealWidth(15), Y = Application.GetRealHeight(46), UnSelectedImagePath = "Item/Collection.png", @@ -329,8 +329,8 @@ //闂ㄩ攣寮�/鍏冲浘鐗� btnDoorLockPic = new Button() { - Width = Application.GetRealWidth(383), - Height = Application.GetRealHeight(343), + Width = Application.GetMinReal(383), + Height = Application.GetMinReal(343), X = Application.GetRealWidth(161), Y = Application.GetRealHeight(415), UnSelectedImagePath = "DoorLock/DoorLockPicClose.png", @@ -378,8 +378,8 @@ progressButton = new Button() { - Width = Application.GetRealWidth(84),//639-35 - Height = Application.GetRealHeight(93), + Width = Application.GetMinReal(84),//639-35 + Height = Application.GetMinReal(93), X = Application.GetRealWidth(58), Y = Application.GetRealHeight(347), UnSelectedImagePath = "DoorLock/UnLockButton.png", @@ -388,8 +388,8 @@ btnDoorOpenPic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(164), Y = Application.GetRealHeight(6), UnSelectedImagePath = "DoorLock/DoorLockOpen.png", @@ -398,8 +398,8 @@ btnDoorClosePic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(164), Y = Application.GetRealHeight(117), UnSelectedImagePath = "DoorLock/DoorLockClose.png", @@ -410,8 +410,8 @@ //鐢甸噺 btnPower = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(253), Y = Application.GetRealHeight(994), UnSelectedImagePath = "DoorLock/PowerOffline.png", @@ -429,8 +429,8 @@ midTopFrameLayout.AddChidren(btnVolumeFrameLayout); btnVolume = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(40), Y = Application.GetRealHeight(40), UnSelectedImagePath = "DoorLock/VolumeIcon.png", @@ -449,8 +449,8 @@ midTopFrameLayout.AddChidren(btnNormallyOpenFrameLayout); btnNormallyOpen = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(40), Y = Application.GetRealHeight(40), UnSelectedImagePath = "DoorLock/NormallyOpen.png", @@ -482,8 +482,8 @@ #region 褰撳墠鎴块棿 var btnCurrentRoomPic = new Button() { - Width = Application.GetRealWidth(81), - Height = Application.GetRealHeight(81), + Width = Application.GetMinReal(81), + Height = Application.GetMinReal(81), X = Application.GetRealWidth(58), Y = Application.GetRealHeight(29), UnSelectedImagePath = "DoorLock/RoomPic.png", @@ -536,14 +536,14 @@ }; flMain.AddChidren(progressBackground); - var progressValue = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100; + //var progressValue = (currentVolume * (Convert.ToInt32(((float)100 / 15) * 100))) / 100; progressText = new Button() { Height = Application.GetRealHeight(58), Y = Application.GetRealHeight(89), TextColor = ZigbeeColor.Current.XMGray2, TextAlignment = TextAlignment.Center, - Text = progressValue.ToString() + "%", + Text = currentVolume.ToString() + "%", }; diyImageVerticalSeekBar = new DiyImageVerticalSeekBar() @@ -559,27 +559,14 @@ ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏� SeekBarViewHeight = Application.GetRealHeight(17),//杩涘害鏉$殑瀹藉害 - Progress = progressValue, + Progress = currentVolume, }; progressBackground.AddChidren(progressText); progressBackground.AddChidren(diyImageVerticalSeekBar); diyImageVerticalSeekBar.OnProgressChangedEvent += (sender, e) => { int curVolume = -1; - if (e == 0) - { - curVolume = 0; - } - else if (e == 100) - { - curVolume = 14; - } - else - { - int comandValue = e; - int comandValueTemp = (comandValue * 100) / (Convert.ToInt32(((float)100 / 15) * 100)); - curVolume = comandValueTemp; - } + curVolume = e; currentVolume = curVolume; progressText.Text = e.ToString() + "%"; }; @@ -692,7 +679,15 @@ } NormallyOpenModeValue(tempRes); - HaveLogicNormallyOpenMode = await Shared.Phone.Device.Logic.SkipView.Exist(); + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(); + if (resTemp == 1) + { + HaveLogicNormallyOpenMode = true; + } + else if (resTemp == 0) + { + HaveLogicNormallyOpenMode = false; + } Application.RunOnMainThread(() => { UpdateNomallyOpenStatus(); @@ -786,10 +781,13 @@ //璁剧疆 EventHandler<MouseEventArgs> btnFuncSetHander = (sender, e) => { - var functionSetting = new Shared.Phone.UserCenter.DoorLock.FunctionSetting(doorLock); + //鎵撳紑鍏朵粬鐣岄潰鏃跺墠绉婚櫎 + 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(); + functionSetting.devicNameAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -910,7 +908,6 @@ EventHandler<MouseEventArgs> handerNormallyOpen = (sender, e) => { NomallyOpenDialog(); - }; btnNormallyOpenFrameLayout.MouseUpEventHandler += handerNormallyOpen; btnNormallyOpen.MouseUpEventHandler += handerNormallyOpen; @@ -932,15 +929,15 @@ { btnPower.UnSelectedImagePath = "DoorLock/Power40.png"; } - else if (currentPower <= 60 && currentPower > 40 || currentPower == 60) + else if (currentPower <= 60 && currentPower > 40) { btnPower.UnSelectedImagePath = "DoorLock/Power60.png"; } - else if (currentPower <= 80 && currentPower >= 60) + else if (currentPower <= 80 && currentPower > 60) { btnPower.UnSelectedImagePath = "DoorLock/Power80.png"; } - else if (currentPower <= 100 && currentPower >= 80) + else if (currentPower <= 100 && currentPower > 80) { btnPower.UnSelectedImagePath = "DoorLock/Power100.png"; } @@ -1052,7 +1049,7 @@ { if (UserCenterResourse.UserInfo.AuthorityNo != 1) { - this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.NoAccess)); + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); return; } @@ -1087,6 +1084,9 @@ } else { + //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9001, string.Empty); + //姣忔閲嶆柊璁剧疆甯稿紑锛岄粯璁ゆ椂闂撮兘鏄�12灏忔椂 DoorLockCommonInfo.NormallyOpenModeInvalidTime = 12; NormallyOpenModeValue(true); @@ -1098,12 +1098,24 @@ 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 () => @@ -1128,6 +1140,7 @@ { if (UserCenterResourse.UserInfo.AuthorityNo != 1) { + this.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.OnlyMasterOperate)); return; } string msg = Language.StringByID(R.MyInternationalizationString.NomallyModeIsCanceled).Replace("{0}", "\r\n"); @@ -1139,27 +1152,44 @@ alert = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.CancelNomallyOpenModeWithLogic, msg, confirm); } alert.Show(); + alert.MsgControlClickEvent += async () => { if (IsFromReport) { - //鍙栨秷甯稿紑 + //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑堬紝app榛樿浜嗏�滃父寮�妯″紡鈥濊鍙栨秷 NormallyOpenModeValue(false); UpdateNomallyOpenStatus(); + //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + 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(); } }; alert.CancelClickEvent += async () => { - //淇濇寔甯稿紑 if (IsFromReport) { + //涓婃姤鈥滃父寮�妯″紡鈥濆凡琚彇娑� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); + //鍏堝垹闄ゅ凡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); + if (resTemp == 3) + { + string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); + this.ShowTipMsg(msg0); + return; + } + //app閲嶆柊寮�鍚�滃父寮�妯″紡鈥� var result = await doorLock.SetNormallyOpenModeFuncAsync(true); if (result == null || result.defaultControlResponseData == null) { @@ -1179,27 +1209,47 @@ } else { + //淇濇寔鈥滃父寮�鎴愬姛鈥� NormallyOpenModeValue(true); 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; + } + CommonPage.Loading.Hide(); } } else { + //app鎿嶄綔涓嶅彇娑堚�滃父寮�妯″紡鈥� NormallyOpenModeValue(true); UpdateNomallyOpenStatus(); } }; alert.ConfirmClickEvent += async () => { - //纭鍙栨秷甯稿紑 if (IsFromReport) { + //涓婃姤闂ㄩ攣鈥滃父寮�妯″紡鈥濆凡缁忓彇娑堬紝鐜板湪app纭鈥滃父寮�妯″紡鈥濆彇娑� NormallyOpenModeValue(false); UpdateNomallyOpenStatus(); + + //鍒犻櫎宸茬粡澶辨晥鐨勨�滃父寮�妯″紡鈥濈殑閫昏緫 + 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鎿嶄綔鍙栨秷鈥滃父寮�妯″紡鈥� Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); var result = await doorLock.SetNormallyOpenModeFuncAsync(false); if (result == null || result.defaultControlResponseData == null) @@ -1215,18 +1265,32 @@ return; } else - { + { + //娣诲姞App寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� + HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(this.doorLock, 9002, string.Empty); + + //app纭鍙栨秷鈥滃父寮�妯″紡鈥濇垚鍔� NormallyOpenModeValue(false); UpdateNomallyOpenStatus(); - string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); - this.ShowTipMsg(msg2); - Shared.Phone.Device.Logic.SkipView.LockCloseLogic(doorLock); + + //鍒犻櫎璁剧疆甯稿紑妯″紡鍒涘缓鐨勯�昏緫 + 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); + } } } }; } - ///// <summary> + /// <summary> /// 甯稿紑妯″紡澶辨晥鏃堕棿澶勭悊 /// </summary> private void NomallyOpenModeInvalidTimeDialog() @@ -1237,25 +1301,33 @@ var alertTimeInValidSetting = new ShowDoorLockMsgControl(ShowDoorLockMsgControl.DoorLockMsgType.InValid, msgTimeInValidSetting, timeConfrim); alertTimeInValidSetting.Show(); - alertTimeInValidSetting.InvalidTimeAction += (obj) => - { - Regex rg = new Regex("^[0-9]+$"); - if (!rg.IsMatch(obj)) - { - //蹇呴』鏄暟瀛� - string msg0 = Language.StringByID(R.MyInternationalizationString.NormallyOpenModeInvalidTimeTip); - this.ShowTipMsg(msg0); + 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; - Shared.Phone.Device.Logic.SkipView.LockAddModifyLogic(DoorLockCommonInfo.NormallyOpenModeInvalidTime, doorLock); - }; + 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; + //榛樿鍒涘缓甯稿紑妯″紡鐨勭壒娈婇�昏緫 + 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; + } + }; } /// <summary> /// 甯稿紑妯″紡鐘舵�佹洿鏂� @@ -1305,7 +1377,7 @@ var result1 = await DoorLockCommonInfo.GetDoorLockUnlockAccess(doorLock, Shared.Common.Config.Instance.Guid); if (result1 == true) { - RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); + RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); devicNameSecAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) @@ -1335,7 +1407,7 @@ } else { - RemoteUnlockRequest(doorLock, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); + RemoteUnlockRequest(currentRoom, deviceUI, action, progressButton, btnDoorLockPic, btnStatus, btnDoorLockTitle); devicNameSecAction += (deviceRename) => { if (!string.IsNullOrEmpty(deviceRename)) -- Gitblit v1.8.0