From ecba45c93391066bc30c7bd602c3a7683fbb99a7 Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 31 七月 2020 10:56:12 +0800 Subject: [PATCH] 临时备份 --- ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs | 92 ++++++++++++++++++++++++++++++++-------------- 1 files changed, 64 insertions(+), 28 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs index bf17018..d30d6cd 100755 --- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs +++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs @@ -66,6 +66,10 @@ { //鍏堟竻闄ゅ惂 this.RemoveAll(); + + //鍒濆鍖栭粯璁ゆゼ灞侷D + this.InitDefultFloorId(); + //鍒濆鍖栧ご閮ㄦ帶浠� this.InitTopControl(); //鍒濆鍖栦腑闂存帶浠� @@ -152,18 +156,21 @@ btnFloorName.Y = Application.GetRealHeight(17); btnFloorName.TextAlignment = TextAlignment.CenterRight; btnFloorName.IsBold = true; - btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(Config.Instance.Home.CurrentFloorId); + btnFloorName.Text = Common.Config.Instance.Home.GetCurrentFloorName; frameSwitchBack.AddChidren(btnFloorName); btnFloorName.ButtonClickEvent += (sender, e) => { var floors = new SelectFloorForm(); + floors.CurFloorId = Config.Instance.Home.CurrentFloorId; AddChidren(floors); floors.Init(580, 330, Direction.Right); - floors.changeFloor = true; floors.FloorAction += (floorId) => { btnFloorName.Text = HdlResidenceLogic.Current.GetFloorNameById(floorId); + Config.Instance.Home.CurrentFloorId = floorId; HdlRoomLogic.Current.NowCategoryRoom = HdlRoomLogic.Current.GetLoveRoom(); + //杩欎釜鏃跺�欓渶瑕佸埛鏂颁富椤� + UserPage.Instance.RefreshMainPageForm = true; //鍒锋柊bodyView this.RefreshBodyView(); }; @@ -188,6 +195,7 @@ //鍦烘櫙,鍔熻兘,鑷姩鍖栫殑鍒囨崲鎺т欢 var switchContr = new SceneFunctionSwitchControl(); + switchContr.Y = Application.GetRealHeight(40); switchContr.Width = Application.GetRealWidth(650); switchContr.Gravity = Gravity.CenterVertical; frameSwitchBack.AddChidren(switchContr); @@ -276,7 +284,7 @@ private void InitRoomMenuControl() { //褰撳墠妤煎眰鐨勫叏閮ㄦ埧闂� - var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom(); + var lisrRoom = HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(Config.Instance.Home.CurrentFloorId); if (HdlRoomLogic.Current.NowCategoryRoom == null) { //璁剧疆绗竴涓负鍒濆鎴块棿 @@ -391,9 +399,9 @@ //涓婁竴娆¢�夋嫨鐨勮彍鍗� MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null; DeviceRowInfo nowSelectDeviceInfo = null; - foreach (int Textid in dicGroupDevice.Keys) + foreach (string strText in dicGroupDevice.Keys) { - var rowInfo = dicGroupDevice[Textid]; + var rowInfo = dicGroupDevice[strText]; //璁惧绫诲瀷鐨勫鍣� var devieFrame = new FrameLayout(); @@ -403,11 +411,11 @@ //鑿滃崟鍥剧墖鎺т欢 var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl(); devieFrame.AddChidren(deviceObjContr); - deviceObjContr.InitControl(Language.StringByID(Textid), rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys); + deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys); deviceObjContr.ButtonClickEvent += (sender, e) => { //閫夋嫨鐨勬槸鍚屼竴涓笢瑗跨殑璇�,涓嶅鐞� - if (nowSelectDeviceInfo.TextId != rowInfo.TextId) + if (nowSelectDeviceInfo.Text != rowInfo.Text) { //涓婁竴娆$殑鑿滃崟鍙栨秷,鏈鑿滃崟閫夋嫨 oldSelectContr.SetSelectStatu(false); @@ -628,14 +636,18 @@ HdlThreadLogic.Current.RunThread(() => { //浠庣綉鍏冲埛鏂板満鏅垪琛� - bool result = HdlSceneLogic.Current.RefreshSceneUIList(); + bool result = HdlSceneLogic.Current.RefreshSceneUIList(false); HdlThreadLogic.Current.RunMain(() => { listview1.EndHeaderRefreshing(); - if (result == true) + //listview1.Parent涓簄ull浠h〃瀹冨垏鎹㈡埧闂翠簡 + if (result == true && listview1.Parent != null) { + //鍒锋柊鍦烘櫙鐨勬椂鍊�,鍏抽棴宸﹀垝鑿滃崟鐨勬湭鍒嗛厤鐣岄潰 + MainPage.LeftListRoomViewFrom.Instance?.CloseUnallocatedRoomForm(); //鍦ㄥ闈㈡竻绌�(鐗规晥鐨勯棶棰�) this.functionSceneBodyView.RemoveAll(); + HdlThreadLogic.Current.RunMainInThread(() => { //鍒锋柊鍦烘櫙鍒嗘敮鎺т欢 @@ -775,13 +787,13 @@ while (remainTime > 0 && this.Parent != null) { System.Threading.Thread.Sleep(1000); - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { sceneContr.SetTimeText(this.GetTimeString(remainTime, hourText, minuText, secondText)); - }); + }, ShowErrorMode.NO); remainTime--; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (listview.Parent != null) { @@ -789,7 +801,7 @@ //寮�鍚疞oading鐗规晥 sceneContr.StartLoadingApreal(); } - }); + }, ShowErrorMode.NO); }); } @@ -816,7 +828,16 @@ //宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 2020.05.09:鍒犻櫎Ack涓婚 this.dicDeviceRowControl[mainKeys].SetHadGetResponeResultStatu(); //鍒锋柊鎺т欢 - this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice); + if (locadevice.Type != DeviceType.IASZone) + { + //浼犳劅鍣ㄤ笉闇�瑕佸睘鎬т笂鎶�(浣嗘槸閭d釜鐞冨瀷浼犳劅鍣ㄥ眳鐒朵細灞炴�т笂鎶�) + this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice); + } + else if (report.DeviceStatusReport.CluterID == 1) + { + //杩欎釜鏄數閲忔帹閫� + this.dicDeviceRowControl[mainKeys].RefreshBatteryStatu(); + } } }, ShowErrorMode.NO); }); @@ -857,10 +878,8 @@ string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report); if (this.dicDeviceRowControl.ContainsKey(mainKeys) == true) { - //鏈湴璁惧瀵硅薄 - var locadevice = LocalDevice.Current.GetDevice(mainKeys); - //鍒锋柊鍗$墖淇℃伅 - this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice); + //寮�鍚闂儊鐗规晥 + this.dicDeviceRowControl[mainKeys].StartRowLightAppeal(); } }, ShowErrorMode.NO); @@ -875,7 +894,7 @@ /// 鑾峰彇鍒嗙粍鍚庣殑璁惧 /// </summary> /// <returns></returns> - private Dictionary<int, DeviceRowInfo> GetAllGroupDevice(Common.Room room) + private Dictionary<string, DeviceRowInfo> GetAllGroupDevice(Common.Room room) { //鍏ㄩ儴鐨勮澶� var listDeviceTemp = HdlRoomLogic.Current.GetRoomListDevice(room); @@ -892,23 +911,23 @@ //鏍规嵁璁惧鎵�灞炵被鍨嬫帓搴� listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice); - var dic = new Dictionary<int, DeviceRowInfo>(); + var dic = new Dictionary<string, DeviceRowInfo>(); foreach (var device in listDevice) { var typeInfo = LocalDevice.Current.GetDeviceBelongEnumInfo(device); //鎸夋墍灞濱D鍒嗙粍 - if (dic.ContainsKey(typeInfo.BeloneTextId) == false) + if (dic.ContainsKey(typeInfo.BeloneText) == false) { - dic[typeInfo.BeloneTextId] = new DeviceRowInfo(); + dic[typeInfo.BeloneText] = new DeviceRowInfo(); string path1 = string.Empty; string path2 = string.Empty; //鑾峰彇鍥剧墖 LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2); - dic[typeInfo.BeloneTextId].IconPath = path1; - dic[typeInfo.BeloneTextId].IconPathSelected = path2; - dic[typeInfo.BeloneTextId].TextId = typeInfo.BeloneTextId; + dic[typeInfo.BeloneText].IconPath = path1; + dic[typeInfo.BeloneText].IconPathSelected = path2; + dic[typeInfo.BeloneText].Text = typeInfo.BeloneText; } - dic[typeInfo.BeloneTextId].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device)); + dic[typeInfo.BeloneText].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device)); } return dic; } @@ -964,6 +983,23 @@ return timeStr; } + /// <summary> + /// 鍒濆鍖栭粯璁ゆゼ灞侷D + /// </summary> + private void InitDefultFloorId() + { + if (Config.Instance.Home.CurrentFloorId != string.Empty) + { + return; + } + var dicFloor = HdlRoomLogic.Current.GetFloorSortList(); + foreach (var floorId in dicFloor.Keys) + { + Config.Instance.Home.CurrentFloorId = floorId; + break; + } + } + #endregion #region 鈻� 缁撴瀯浣揰____________________________ @@ -974,9 +1010,9 @@ private class DeviceRowInfo { /// <summary> - /// 鏂囨湰ID,鐩墠鐢ㄦ潵鍋氫富閿� + /// 鏂囨湰,鐩墠鐢ㄦ潵鍋氫富閿� /// </summary> - public int TextId = 0; + public string Text = string.Empty; /// <summary> /// 鍥炬爣 /// </summary> -- Gitblit v1.8.0