From e96e11d6f8b965ea522c983e040d41e3b9ef105a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 18 五月 2020 21:33:19 +0800 Subject: [PATCH] 2020-05-18-4 --- ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs | 113 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 88 insertions(+), 25 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs index d8a77a6..b92f1ca 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.cs @@ -16,7 +16,7 @@ } /// 缁欏緪姊呭埛鏂扮晫闈㈢敤鐨� - public Action<bool> action; + public Action<bool> action; ///绗簩鍧楃涓�绾х埗鎺т欢 FrameLayout fLayout = new FrameLayout(); ///绗笁鍧楃涓�绾х埗鎺т欢 @@ -31,9 +31,17 @@ /// 璁板綍閫変腑鏃堕棿 /// </summary> public int timeValue = 0; + /// <summary> + /// 鏍囪鏄剧ず鎵ц鏃ユ湡(鐢ㄧ綉鍏崇殑锛岃繕鏄敤绯荤粺鐨勬椂闂�) + /// </summary> + public bool _if = false; + /// <summary> + /// 鏃堕棿鎴� + /// </summary> + public int timeLong = 0; public async void Show() { - + #region 鐣岄潰鐨勫竷灞�浠g爜 UserView.HomePage.Instance.ScrollEnabled = false;//閿佷綇宸︽粦 TopView view = new TopView(); @@ -60,11 +68,12 @@ this.AddChidren(middle); #endregion //鏄父寮�妯″紡鍐嶅幓璇诲彇 + if (Send.CurrentDoorLock.IsDoorLockNormallyMode) { //杩涙潵鏇存柊涓�娆� //鏌ユ壘鏄惁瀛樺湪鏃舵晥鎬ц嚜鍔ㄥ寲锛涙湁鐨勮瘽灏辫繑鍥炶嚜鍔ㄥ寲瀵硅薄; - var logic = await SkipView.GetLogicIfon(Send.CurrentDoorLock); + var logic = await SkipView.GetLogicIfon(Send.CurrentDoorLock); if (logic != null) { try @@ -72,6 +81,8 @@ //杩涙潵鏇存柊涓�娆″�� logicId = logic.LogicId; timeValue = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); + timeLong = int.Parse(logic.Conditions[0]["TriggerTime"]); + } catch { } } @@ -86,7 +97,6 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; middle.AddChidren(fLayout); - ModeView(); #endregion #region 甯稿紑鑷姩鍖� ///绗笁鍧楃涓�绾х埗鎺т欢 @@ -100,7 +110,7 @@ }; middle.AddChidren(listLogicFl); listLogicFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); - + ModeView(); ///娣诲姞甯稿紑鑷姩鍖栫殑鐖舵帶浠� var addLogicfL = new FrameLayout { @@ -220,7 +230,7 @@ /// <summary> /// 甯稿紑妯″紡寮�鍏冲垏鎹㈠浘鏍囩晫闈� /// </summary> - public void ModeView() + public void ModeView() { fLayout.RemoveAll(); @@ -274,6 +284,7 @@ Send.DelLogic(logicId); } Send.CurrentDoorLock.IsDoorLockNormallyMode = false; + _if = false; ModeView(); } else @@ -296,8 +307,8 @@ var timeTextBtn = new Button { Y = Application.GetRealHeight(127 + 69), - X = Application.GetRealWidth(125), - Width = Application.GetRealWidth(634 + 200), + X = Application.GetRealWidth(86),//125 + Width = Application.GetRealWidth(907),//634 + 200 Height = Application.GetRealHeight(60), TextSize = 15, TextColor = ZigbeeColor.Current.LogicTextBlackColor, @@ -305,20 +316,50 @@ if (logicId != 0) { openModeFl.AddChidren(timeTextBtn); - ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� - var y = DateTime.Now.Year.ToString();//閭d竴骞� - var m = DateTime.Now.Month.ToString();//閭d竴鏈� - var d = DateTime.Now.ToString("dd");//閭d竴澶� - var h = int.Parse(DateTime.Now.ToString("HH"));//褰撳墠绯荤粺鏃堕棿 - int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛� - int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛� - int days = int.Parse(d) + dayInt; - string text1 = Language.StringByID(MyInternationalizationString.timeSensitive); - string text2 = Language.StringByID(MyInternationalizationString.yearSone); - string text3 = Language.StringByID(MyInternationalizationString.monthSone); - string text4 = Language.StringByID(MyInternationalizationString.numberSone); - string text5 = Language.StringByID(MyInternationalizationString.executeSone); - timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5; + if (_if) + { + + ///绗竴娆¤繘鏉ヨ鍙栫綉鍏虫椂闂达紱 + var datetime = GetLocalTime(timeLong); + ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� + var y = datetime.Year.ToString();//閭d竴骞� + var m = datetime.Month.ToString();//閭d竴鏈� + var d = datetime.ToString("dd");//閭d竴澶� + var h = int.Parse(datetime.ToString("HH"));//灏忔椂 + // int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛� + // int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛� + // int days = int.Parse(d) + dayInt; + int minute = datetime.Minute;//鍒嗛挓 + string text1 = Language.StringByID(MyInternationalizationString.timeSensitive); + string text2 = Language.StringByID(MyInternationalizationString.yearSone); + string text3 = Language.StringByID(MyInternationalizationString.monthSone); + string text4 = Language.StringByID(MyInternationalizationString.numberSone); + string text5 = Language.StringByID(MyInternationalizationString.hour1); + string text6 = Language.StringByID(MyInternationalizationString.executeSone); + timeTextBtn.Text = text1 + y + text2 + m + text3 + d + text4 + h + text5 + minute.ToString() + text6; + + } + else + { + + + + ///鏈夋椂鏁堟�у父寮�鎵嶆樉绀烘椂闂存潯浠舵枃鏈� var y = DateTime.Now.Year.ToString();//閭d竴骞� + var m = DateTime.Now.Month.ToString();//閭d竴鏈� + var d = DateTime.Now.ToString("dd");//閭d竴澶� + var h = int.Parse(DateTime.Now.ToString("HH"));//灏忔椂 + int dayInt = (h + timeValue) / 24;//绠楀嚭鍑犲ぉ鍚庢墽琛� + int hour = (h + timeValue) % 24;//绠楀嚭鍑犲ぉ鍚庨偅涓椂闂存墽琛� + int days = int.Parse(d) + dayInt; + int minute = DateTime.Now.Minute;//鍒嗛挓 + string text1 = Language.StringByID(MyInternationalizationString.timeSensitive); + string text2 = Language.StringByID(MyInternationalizationString.yearSone); + string text3 = Language.StringByID(MyInternationalizationString.monthSone); + string text4 = Language.StringByID(MyInternationalizationString.numberSone); + string text5 = Language.StringByID(MyInternationalizationString.hour1); + string text6 = Language.StringByID(MyInternationalizationString.executeSone); + timeTextBtn.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5 + minute.ToString() + text6; + } } @@ -407,6 +448,7 @@ logicId = addResult; timeValue = int.Parse(str); Send.CurrentDoorLock.IsDoorLockNormallyMode = true; + _if = false; ModeView(); ///娣诲姞APP寮�鍚父寮�妯″紡鐨勫巻鍙茶褰� UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); @@ -438,12 +480,17 @@ listLogicFl.Height = Application.GetRealHeight(Method.H - 184) - fLayout.Height; listLogicFl.Width = Application.GetRealWidth(1022); listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; + + // verticalRefresh.Y = Application.GetRealHeight(187); + // verticalRefresh.X = Application.GetRealWidth(46); + verticalRefresh.Height = listLogicFl.Height - Application.GetRealHeight(187);//鍔ㄦ�佹敼鍔ㄤ笂涓嬫粦鍔╲iew楂樺害; + //verticalRefresh.Width = listLogicFl.Width - Application.GetRealWidth(46); } /// <summary> /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱 /// </summary> /// <param name="yes"></param> - private async void Read( bool yes) + private async void Read(bool yes) { if (yes) { @@ -497,6 +544,10 @@ verticalRefresh.RemoveAll(); foreach (var logic in Common.Logic.SoneLogicList) { + if (!SkipView.ExistLogic(logic, Send.CurrentDoorLock)) + { + continue; + } #region 鑷姩鍖栧竷灞�View ///鑷姩鍖栫埗鎺т欢 var fLayoutLogic = new FrameLayout @@ -587,7 +638,7 @@ TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, }; logicRow.AddRightView(edit); - + ///鍒犻櫎 var del = new Button { @@ -620,6 +671,7 @@ else { //閫昏緫鍏� + logic.IsEnable = 0; typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nofunction.png"; typeBjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; } @@ -653,6 +705,17 @@ }; } } - + + /// <summary> + /// 灏哢NIX鏃堕棿鎴宠浆鎹㈡垚绯荤粺鏃堕棿(绮剧‘鍒扮) + /// <returns></returns> + public DateTime GetLocalTime(int unixTimeStamp) + { + DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); + long lTime = long.Parse(unixTimeStamp + "0000000"); + TimeSpan toNow = new TimeSpan(lTime); + DateTime dtResult = dtStart.Add(toNow); + return dtResult; + } } } -- Gitblit v1.8.0