From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 126 +++++++++++++++++++++++++++++++++++------- 1 files changed, 105 insertions(+), 21 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index cfa71e7..02092c1 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -44,8 +44,12 @@ //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { - //鍒濆鍖栧彸涓婅鑿滃崟 - this.InitTopRightMenu(); + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == false) + { + //鍒濆鍖栧彸涓婅鑿滃崟 + this.InitTopRightMenu(); + } } //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleFrame(i_CanDeleteResidence); @@ -102,27 +106,19 @@ if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { rowHome.frameTable.UseClickStatu = true; + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + rowHome.frameTable.CanClick = false; + } rowHome.frameTable.ButtonClickEvent += (sender, e) => { - //榛樿鍊� 23.134421,113.267189 - double latitude = Common.Config.Instance.Home.Latitude; - double longitude = Common.Config.Instance.Home.Longitude; - //鍦板浘 - GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => - { - HdlThreadLogic.Current.RunThread(() => - { - //淇濆瓨浣忓畢鍦板潃 - this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude, name); - }); - }, - Language.StringByID(R.MyInternationalizationString.uSelectAdrress), - Language.StringByID(R.MyInternationalizationString.uSave), - true, latitude, longitude, 100); + //妫�娴嬫潈闄�,鐒跺悗鏄剧ず鍦板浘 + this.CheckAuthorityAndShowMap(btnLocation); }; } - if (i_CanDeleteResidence == true) + if (i_CanDeleteResidence == true && Common.Config.Instance.Home.IsShowTemplate == false) { //鍒犻櫎 var btnDelete = new NormalViewControl(Application.GetRealWidth(184), rowHome.Height, false); @@ -326,6 +322,11 @@ if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) { + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + return; + } //鏇存敼 var btnChanged = frameRow.AddEditorControl(); btnChanged.TextID = R.MyInternationalizationString.uChanged1; @@ -363,6 +364,7 @@ //鍒犻櫎褰撳墠妤煎眰鐨勮瘽,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� HdlRoomLogic.Current.RefreshRoomListView(); } + var uploadRoom = false; var listDeleteId = new List<string>(); var listAllRoom = HdlRoomLogic.Current.GetAllListRooms(); for (int i = 0; i < listAllRoom.Count; i++) @@ -370,6 +372,11 @@ if (listAllRoom[i].FloorId == keys) { listDeleteId.Add(listAllRoom[i].Id); + } + if (listAllRoom[i].ListDevice.Count > 0) + { + //闇�瑕佷笂浼犵┖闂村尯鍩� + uploadRoom = true; } } //鍒犻櫎鎴块棿 @@ -404,6 +411,11 @@ frameRow.RemoveFromParent(); //璋冩暣妗屽竷楂樺害 this.AdjustContrlTableHeight(); + } + if (uploadRoom == true) + { + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); } //鍒犻櫎妤煎眰鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� UserView.UserPage.Instance.RefreshAllForm = true; @@ -460,13 +472,15 @@ { keys = Guid.NewGuid().ToString(); } + bool hadFloor = Common.Config.Instance.Home.CurrentFloorId != string.Empty; Common.Config.Instance.Home.FloorDics[keys] = textValue; Common.Config.Instance.Home.Save(); - if (Common.Config.Instance.Home.CurrentFloorId == string.Empty) + if (hadFloor == false) { //鍒涘缓绗竴涓柊鐨勬ゼ灞傜殑璇�,闇�瑕佸幓鍒锋柊涓婚〉宸﹁竟鐨勬埧闂村垪琛� HdlRoomLogic.Current.RefreshRoomListView(); } + if (btnFloor != null) { btnFloor.Text = textValue; @@ -580,7 +594,12 @@ btnName.Text = roomName; }; }; - + //鏌ョ湅妯℃澘鏃�,涓嶅厑璁哥紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnEditor.Text = Language.StringByID(R.MyInternationalizationString.uSearch1); + return; + } //鍒犻櫎 var btnDelete = frameRow.AddDeleteControl(); btnDelete.ButtonClickEvent += (sender, e) => @@ -616,6 +635,11 @@ frameRow.RemoveFromParent(); //璋冩暣妗屽竷楂樺害 this.AdjustContrlTableHeight(); + } + if (room.ListDevice.Count > 0) + { + //涓婁紶绌洪棿鍖哄煙淇℃伅 + HdlRoomLogic.Current.SetRoomInfoToGateway(); } //鍒犻櫎鎴块棿鐨勮瘽,涓婚〉闇�瑕侀噸鏂板埛鏂� UserView.UserPage.Instance.RefreshAllForm = true; @@ -693,7 +717,7 @@ var myHouse = HdlResidenceLogic.Current.GetHouseByFilePath(Common.Config.Instance.HomeFilePathList[index]); //鍒囨崲浣忓畢 Common.Config.Instance.HomeId = myHouse.Id; - Common.Config.Instance.Home = HdlResidenceLogic.Current.GetHouseByHouseId(myHouse.Id); + Common.Config.Instance.Home = myHouse; Common.Global.CreateHomeDirectory(myHouse.Id); Common.Config.Instance.Save(); @@ -717,6 +741,66 @@ #endregion + #region 鈻� 鏄剧ず鍦板浘___________________________ + + /// <summary> + /// 妫�娴嬫潈闄�,鐒跺悗鏄剧ず鍦板浘 + /// </summary> + /// <param name="btnLocation">鍦板潃鏄剧ず鎺т欢</param> + private void CheckAuthorityAndShowMap(NormalViewControl btnLocation) + { +#if Android + //鐢宠瀹氫綅鏉冮檺 + ((BaseActivity)Application.Activity).SetGPSLocationPermission((result1) => + { + if (result1 == false) { return; } + + //鐢宠鍏佽绋嬪簭鍐欏叆澶栭儴瀛樺偍锛屽SD鍗′笂鍐欐枃浠� + ((BaseActivity)Application.Activity).SetPermission((result2) => + { + if (result2 == false) { return; } + //璇诲彇鐢佃瘽鐘舵�佹潈闄� + ((BaseActivity)Application.Activity).SetPermission((result3) => + { + if (result3 == false) { return; } + //鏄剧ず鍦板浘 + this.ShowMap(btnLocation); + }, "android.permission.READ_PHONE_STATE"); + + }, "android.permission.WRITE_EXTERNAL_STORAGE"); + }); +#endif +#if iOS + //鏄剧ず鍦板浘 + this.ShowMap(btnLocation); +#endif + } + + /// <summary> + /// 鏄剧ず鍦板浘 + /// </summary> + /// <param name="btnLocation">鍦板潃鏄剧ず鎺т欢</param> + private void ShowMap(NormalViewControl btnLocation) + { + //榛樿鍊� 23.134421,113.267189 + double latitude = Common.Config.Instance.Home.Latitude; + double longitude = Common.Config.Instance.Home.Longitude; + //鍦板浘 + GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => + { + HdlThreadLogic.Current.RunThread(() => + { + //淇濆瓨浣忓畢鍦板潃 + this.SaveResidenceAdrress(btnLocation, mLatitude, mLongitude, name); + }); + }, + Language.StringByID(R.MyInternationalizationString.uSelectAdrress), + Language.StringByID(R.MyInternationalizationString.uSave), + true, latitude, longitude, 100); + } + + #endregion + #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________ /// <summary> -- Gitblit v1.8.0