From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 13:32:33 +0800 Subject: [PATCH] 2019-12-30-1 --- ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs | 185 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 163 insertions(+), 22 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs index bfbff84..7c00eb6 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/DoorLockLogic/LockLogicList.cs @@ -3,12 +3,17 @@ using Shared.Common; using Shared.R; -namespace Shared.Phone.Logic.DoorLockLogic +namespace Shared.Phone.Device.Logic.DoorLockLogic { public class LockLogicList : FrameLayout { - public async void Show() + public LockLogicList() + { + Tag = "LockLogicList"; + } + VerticalRefreshLayout middle; + public void Show() { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 @@ -22,14 +27,15 @@ var titleName = new Button { - TextSize = 16, + TextSize = 17, TextColor = ZigbeeColor.Current.LogicTextBlackColor, TextAlignment = TextAlignment.CenterLeft, X = Application.GetRealWidth(176), - Width = Application.GetRealWidth(400), + Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(69), Y = Application.GetRealHeight(92), - TextID = MyInternationalizationString.selection, + TextID = MyInternationalizationString.linkageevent, + IsBold = true, }; topRowLayout.AddChidren(titleName); @@ -75,10 +81,7 @@ Common.Logic.CurrentLogic = new Common.Logic(); Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 Common.Logic.CurrentLogic.LogicType = 1; - //Config.Instance.Guid鐢ㄦ潵璇嗗埆璐﹀彿韬唤锛� - var accounts = new System.Collections.Generic.Dictionary<string, string>(); - accounts.Add("Account", Config.Instance.Guid); - Common.Logic.CurrentLogic.Accounts.Add(accounts); + Common.Logic.CurrentLogic.Relationship = 1; Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1); var lockLogicCommunalPage = new LockLogicCommunalPage(); UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage); @@ -87,37 +90,107 @@ }; #endregion - var middle = new VerticalScrolViewLayout + middle = new VerticalRefreshLayout { Y = topRowLayout.Bottom, Height = Application.GetRealHeight(1920 - 184), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); + middle.BeginHeaderRefreshingAction += () => + { + //閲嶆柊鍒锋柊logic鍒楄〃 + Common.Logic.LockLogicList.Clear(); + Read(); + //鍏抽棴鍒锋柊View锛� + middle.EndHeaderRefreshing(); + }; + Read(); + } + /// <summary> + /// 璇诲彇鑷姩鍖栨暟鎹� + /// </summary> + public async void Read() + { CommonPage.Loading.Start(); if (Common.Logic.LockLogicList.Count == 0) { - var Idlist = await Device.Logic.Send.GetLogicId(); + var Idlist = await Send.GetLogicId(1); if (Idlist.Count != 0) { - var listlogic = await Device.Logic.Send.ReadList(Idlist.Count); - for (int i = 0; i < Idlist.Count; i++) + var listlogic = await Send.ReadList(Idlist.Count, 1); + //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆� + for (int j = 0; j < listlogic.Count; j++) { - var LogicId = Idlist[i]; - //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆� - for (int j = 0; j < listlogic.Count; j++) + var logic = listlogic[j]; + if (logic.LogicType == 0) { - var logic = listlogic[j]; - if (logic.LogicId == LogicId) + continue; + } + bool yes = false; + for (int a = 0; a < logic.Accounts.Count; a++) + { + if (logic.Accounts[a]["Account"].ToString() == Config.Instance.Guid) { - Common.Logic.LockLogicList.Add(logic); + //鏌ユ壘鑷繁璐﹀彿涓嬬殑鍒涘缓鑱斿姩浜嬩欢锛� + yes = true; + break; } + } + if (yes) + { + Common.Logic.LockLogicList.Add(listlogic[j]); } } } } - //鑷姩鍖� + Automationview(); + CommonPage.Loading.Hide(); + } + /// <summary> + /// 鍔犺浇鑷姩鍖栧垪琛ㄧ殑鐣岄潰 + /// </summary> + public void Automationview() + { + middle.RemoveAll(); + + if (Common.Logic.LockLogicList.Count == 0) + { + //灏辨槸涓轰簡鏄剧ず寮曞娣诲姞鍥炬爣; + var noFrameLayout = new FrameLayout + { + Height = Application.GetRealHeight(434 + 200 + 32 + 320), + //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + middle.AddChidren(noFrameLayout); + + + var noIconBtn = new Button + { + Y = Application.GetRealHeight(320), + Width = Application.GetMinRealAverage(756), + Height = Application.GetMinRealAverage(434), + UnSelectedImagePath = "Item/NoFunction.png", + X = Application.GetRealWidth(162), + }; + noFrameLayout.AddChidren(noIconBtn); + + var noTextBtn = new Button() + { + Y = noIconBtn.Bottom, + Height = Application.GetRealHeight(200) + Application.GetRealHeight(32), + Width = Application.GetRealWidth(700), + //Gravity = Gravity.CenterHorizontal, + Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), + TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, + TextAlignment = TextAlignment.Center, + IsMoreLines = true, + X = Application.GetRealWidth(190), + }; + noFrameLayout.AddChidren(noTextBtn); + + } for (int i = 0; i < Common.Logic.LockLogicList.Count; i++) { var logic = Common.Logic.LockLogicList[i]; @@ -125,7 +198,7 @@ { Width = Application.GetRealWidth(1080), Height = Application.GetRealHeight(190), - LineColor = ZigbeeColor.Current.LogicBackgroundColor, + LineColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, }; @@ -140,6 +213,7 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, Gravity = Gravity.CenterVertical, + TextSize = 15, }; logicRowlayout.AddChidren(logicnameBtn); @@ -155,8 +229,75 @@ }; logicRowlayout.AddChidren(logicswitchBtn); + logicswitchBtn.MouseUpEventHandler += (sender, e) => + { + logicswitchBtn.IsSelected = !logicswitchBtn.IsSelected; + if (logicswitchBtn.IsSelected) + { + //閫昏緫寮� + logic.IsEnable = 1; + } + else + { + //閫昏緫鍏� + logic.IsEnable = 0; + } + Send.LogicControlSwitch(logic); + + }; + if (logic.IsEnable == 1) + { + logicswitchBtn.IsSelected = true; + } + else if (logic.IsEnable == 0) + { + logicswitchBtn.IsSelected = false; + } + ///缂栬緫 + var edit = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1, + Text = Language.StringByID(MyInternationalizationString.edit), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + logicRowlayout.AddRightView(edit); + edit.MouseUpEventHandler += (sender, e) => + { + Common.Logic.CurrentLogic = logic; + var lockLogicCommunalPage = new LockLogicCommunalPage(); + UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage); + UserView.HomePage.Instance.PageIndex += 1; + lockLogicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(); }); + + }; + + + ///鍒犻櫎 + var del = new Button + { + BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1, + Text = Language.StringByID(MyInternationalizationString.del), + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + }; + logicRowlayout.AddRightView(del); + del.MouseUpEventHandler += (sender, e) => + { + var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), + Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); + alert.ResultEventHandler += (sender1, e1) => + { + if (e1) + { + Common.Logic.LockLogicList.Remove(logic); + Automationview(); + Send.DelLogic(logic.LogicId); + } + }; + alert.Show(); + + }; } - CommonPage.Loading.Hide(); + } } } -- Gitblit v1.8.0