From 944b87b6bcccb095cd73f13f4410fb20faf48f74 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期三, 25 十二月 2019 11:21:06 +0800 Subject: [PATCH] 2019.12.25 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs | 150 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 133 insertions(+), 17 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs index f7e7f35..0b71266 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/ResidenceManagementForm.cs @@ -68,6 +68,7 @@ rowHome.Height = Application.GetRealHeight(173); rowHome.BackgroundColor = UserCenterColor.Current.White; bodyFrameLayout.AddChidren(rowHome); + rowHome.frameTable.UseClickStatu = false; var btnAdreeIcon = rowHome.frameTable.AddLeftIcon(81); btnAdreeIcon.UnSelectedImagePath = "Item/FixedPositionSelected.png"; @@ -83,8 +84,36 @@ btnNowView.Y = Application.GetRealHeight(95); btnNowView.TextColor = UserCenterColor.Current.TextGrayColor1; rowHome.frameTable.AddChidren(btnNowView, ChidrenBindMode.BindEventOnly); - //鍙崇澶� - rowHome.frameTable.AddRightArrow(); + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + //鍙崇澶� + rowHome.frameTable.AddRightArrow(); + } + //缁忕含搴� + var btnLocation = rowHome.frameTable.AddMostRightView(string.Empty, 500); + btnLocation.Text = this.GetLatitudeAndLongitudeText(Common.Config.Instance.Home.Longitude, Common.Config.Instance.Home.Latitude); + + //涓讳汉鎴栬�呯鐞嗗憳鎵嶄細鍑虹幇杩欎釜鑿滃崟 + if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + { + rowHome.frameTable.UseClickStatu = true; + 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); + }); + }, Language.StringByID(R.MyInternationalizationString.uSelectAdrress), true, latitude, longitude, 100); + }; + } if (i_CanDeleteResidence == true) { @@ -375,7 +404,7 @@ private void CreatOrEditorFloor(NormalViewControl btnFloor, string keys, string floorName) { //鐢熸垚涓�涓脊绐楃敾闈� - var dialogForm = new DialogInputFrameControl(this, DialogFrameMode.OnlyInput); + var dialogForm = new DialogInputControl(); //鍒涘缓妤煎眰 dialogForm.SetTitleText(Language.StringByID(R.MyInternationalizationString.uCreatFloor)); if (keys != string.Empty) @@ -513,13 +542,7 @@ } //缂栬緫 - var btnEditor = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false); - btnEditor.BackgroundColor = 0xff4a4a4a; - btnEditor.TextSize = 12; - btnEditor.TextColor = UserCenterColor.Current.White; - btnEditor.TextAlignment = TextAlignment.Center; - btnEditor.TextID = R.MyInternationalizationString.uEditor; - frameRow.AddRightView(btnEditor); + var btnEditor = frameRow.AddEditorControl(); btnEditor.ButtonClickEvent += (sender, e) => { var form = new EditorRoomInforForm(); @@ -531,13 +554,7 @@ }; //鍒犻櫎 - var btnDelete = new NormalViewControl(Application.GetRealWidth(184), frameRow.Height, false); - btnDelete.BackgroundColor = 0xfff75858; - btnDelete.TextSize = 12; - btnDelete.TextColor = UserCenterColor.Current.White; - btnDelete.TextAlignment = TextAlignment.Center; - btnDelete.TextID = R.MyInternationalizationString.uDelete; - frameRow.AddRightView(btnDelete); + var btnDelete = frameRow.AddDeleteControl(); btnDelete.ButtonClickEvent += (sender, e) => { //纭鍒犻櫎鎴块棿? @@ -635,6 +652,61 @@ #endregion + #region 鈻� 淇濆瓨浣忓畢鍦板浘鍦板潃___________________ + + /// <summary> + /// 淇濆瓨浣忓畢鍦板潃 + /// </summary> + /// <param name="btnLocation">鏄剧ず鎺т欢</param> + /// <param name="latitude">绾害</param> + /// <param name="longitude">缁忓害</param> + private async void SaveResidenceAdrress(NormalViewControl btnLocation, double latitude, double longitude) + { + //寮�鍚繘搴︽潯 + this.ShowProgressBar(); + + var Pra = new EditorResidencePra(); + Pra.HomeId = Common.Config.Instance.Home.Id; + Pra.Name = Common.Config.Instance.Home.Name; + Pra.LoginAccessToken = UserCenterLogic.GetConnectMainToken(); + Pra.Latitude = latitude; + Pra.Longitude = longitude; + + //缂栬緫浣忓畢 + bool flage = await UserCenterLogic.GetResultStatuByRequestHttps("App/EditHome", true, Pra); + if (flage == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + //璁剧疆鍏ㄩ儴缃戝叧鐨勪綇瀹呭湴鍧� + var listGateway = HdlGatewayLogic.Current.GetAllLocalGateway(); + foreach (var gateway in listGateway) + { + var result = HdlGatewayLogic.Current.SetGatewaySite(gateway, longitude, latitude); + if (result == false) + { + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //淇濆瓨缂撳瓨 + Common.Config.Instance.Home.Longitude = longitude; + Common.Config.Instance.Home.Latitude = latitude; + Common.Config.Instance.Home.Save(); + HdlThreadLogic.Current.RunMain(() => + { + btnLocation.Text = this.GetLatitudeAndLongitudeText(longitude, latitude); + }); + } + + #endregion + #region 鈻� 涓�鑸柟娉昣__________________________ /// <summary> @@ -686,6 +758,50 @@ return true; } + /// <summary> + /// 鑾峰彇缁忕含搴︾殑缈昏瘧鍚嶅瓧 + /// </summary> + /// <param name="Longitude">缁忓害</param> + /// <param name="Latitude">绾害</param> + /// <returns></returns> + private string GetLatitudeAndLongitudeText(double Longitude, double Latitude) + { + string value1 = string.Empty; + string value2 = string.Empty; + if (Longitude == 0) + { + //榛樿涓滅粡 + value1 = "0掳00'E"; + } + else if (Longitude > 0) + { + //涓滅粡 + value1 = Math.Round(Longitude, 2).ToString().Replace(".", "掳") + "'E"; + } + else if (Longitude < 0) + { + //瑗跨粡 + value1 = Math.Round(-Longitude, 2).ToString().Replace(".", "掳") + "'W"; + } + + if (Latitude == 0) + { + //榛樿鍖楃含 + value2 = "0掳00'N"; + } + else if (Latitude > 0) + { + //鍖楃含 + value2 = Math.Round(Latitude, 2).ToString().Replace(".", "掳") + "'N"; + } + else if (Latitude < 0) + { + //鍗楃含 + value2 = Math.Round(-Latitude, 2).ToString().Replace(".", "掳") + "'S"; + } + return value1 + " " + value2; + } + #endregion #region 鈻� 缁撴瀯浣揰____________________________ -- Gitblit v1.8.0