From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期五, 18 九月 2020 13:58:19 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 191 +++++++++++++++++------------------------------ 1 files changed, 70 insertions(+), 121 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs index b0aca49..2ecd19d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs @@ -20,25 +20,9 @@ /// </summary> public string RoomKey = string.Empty; /// <summary> - /// 褰撳墠閫夋嫨鐨勬ゼ灞備富閿�(娌″繀瑕佸叕寮�鍑哄幓) + /// 鏄剧ず鏂囨湰 /// </summary> - private string FloorKey = string.Empty; - /// <summary> - /// 妤煎眰鍒楄〃鍚嶅瓧 - /// </summary> - private List<string> listFloorName = new List<string>(); - /// <summary> - /// 妤煎眰鍒楄〃涓婚敭 - /// </summary> - private List<string> listFloorKeys = new List<string>(); - /// <summary> - /// 鎴块棿鍚嶅瓧 - /// </summary> - private List<List<string>> listRoomName = new List<List<string>>(); - /// <summary> - /// 鎴块棿涓婚敭 - /// </summary> - private List<List<string>> listRoomKeys = new List<List<string>>(); + private NormalViewControl btnTextView = null; #endregion @@ -47,11 +31,31 @@ /// <summary> /// 鎵�灞炲尯鍩熺殑鎺т欢 /// </summary> - /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(鐪熷疄鍊�,鏈変簺鐣岄潰闇�瑕佽繖绉嶇壒娈婃搷浣�)</param> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) { - //鍒濆鍖栨暟鎹� - this.InitData(); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍦烘櫙) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_roomId">鎴块棿ID</param> + public void InitControl(string i_caption, string i_roomId) + { + var room = HdlRoomLogic.Current.GetRoomById(i_roomId); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸缃戝叧) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_gateway">缃戝叧瀵硅薄</param> + public void InitControl(string i_caption, ZigBee.Device.ZbGateway i_gateway) + { + var room = HdlGatewayLogic.Current.GetRoomByGateway(i_gateway); + this.DoInitControl(i_caption, room); } /// <summary> @@ -61,8 +65,8 @@ /// <param name="i_device">璁惧瀵硅薄</param> public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device) { - var room = Common.Room.CurrentRoom.GetRoomByDevice(i_device); - this.InitControl(i_caption, room); + var room = HdlRoomLogic.Current.GetRoomByDevice(i_device); + this.DoInitControl(i_caption, room); } /// <summary> @@ -73,7 +77,7 @@ public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice) { var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]); - this.InitControl(i_caption, room); + this.DoInitControl(i_caption, room); } /// <summary> @@ -81,7 +85,7 @@ /// </summary> /// <param name="i_caption"></param> /// <param name="i_Room"></param> - private void InitControl(string i_caption, Common.Room i_Room) + private void DoInitControl(string i_caption, Common.Room i_Room) { if (i_Room == null) { @@ -92,7 +96,6 @@ { string roomName = i_Room.Name; this.RoomKey = i_Room.Id; - this.FloorKey = i_Room.FloorId; if (Common.Config.Instance.Home.FloorDics.ContainsKey(i_Room.FloorId) == true) { //妤煎眰+鎴块棿 @@ -115,20 +118,20 @@ btnCaption.X = ControlCommonResourse.XXLeft; btnCaption.Gravity = Gravity.CenterVertical; btnCaption.Text = i_caption + "锛�"; - this.AddChidren(btnCaption, ChidrenBindMode.BindEventOnly); + this.AddChidren(btnCaption, ChidrenBindMode.BindEvent); //鏄剧ず妗� - var txtView = new NormalViewControl(700, true); - txtView.X = Application.GetRealWidth(294); - txtView.Gravity = Gravity.CenterVertical; - txtView.TextColor = UserCenterColor.Current.TextGrayColor1; - txtView.Text = i_RoomName; - this.AddChidren(txtView, ChidrenBindMode.BindEventOnly); + this.btnTextView = new NormalViewControl(700, true); + btnTextView.X = Application.GetRealWidth(294); + btnTextView.Gravity = Gravity.CenterVertical; + btnTextView.TextColor = UserCenterColor.Current.TextGrayColor1; + btnTextView.Text = i_RoomName; + this.AddChidren(btnTextView, ChidrenBindMode.BindEvent); if (chidrenYaxis != 0) { btnCaption.Y += chidrenYaxis; - txtView.Y += chidrenYaxis; + btnTextView.Y += chidrenYaxis; } if (IsSharedRoom == true) @@ -137,67 +140,18 @@ this.UseClickStatu = false; return; } - if (this.listFloorKeys.Count == 0 && listRoomKeys.Count == 0) - { - //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀� - this.UseClickStatu = false; - return; - } + //鍙崇澶� this.AddRightArrow(); - this.ButtonClickEvent += (sender, e) => + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞� + if (Common.Config.Instance.Home.IsShowTemplate == false) { - //鍖哄煙閫夋嫨 - this.ShowSelectRoom(txtView, i_caption); - }; - } - - /// <summary> - /// 鍒濆鍖栨暟鎹� - /// </summary> - private void InitData() - { - var dicFloor = Common.Room.CurrentRoom.GetFloorSortList(); - if (dicFloor.Count == 0) - { - var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(string.Empty, false); - if (listRoom.Count > 0) + this.ButtonClickEvent += (sender, e) => { - //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - var listName = new List<string>(); - var listKeys = new List<string>(); - foreach (var myRoom in listRoom) - { - listName.Add(myRoom.Name); - listKeys.Add(myRoom.Id); - } - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); - } - } - else - { - foreach (string fKeys in dicFloor.Keys) - { - var listRoom = Common.Room.CurrentRoom.GetFloorSortRoom(fKeys, false); - if (listRoom.Count > 0) - { - //妤煎眰鍚嶅瓧鍜屼富閿敹闆� - this.listFloorKeys.Add(fKeys); - this.listFloorName.Add(dicFloor[fKeys]); - //鎴块棿鍚嶅瓧鍜屼富閿敹闆� - var listName = new List<string>(); - var listKeys = new List<string>(); - foreach (var myRoom in listRoom) - { - listName.Add(myRoom.Name); - listKeys.Add(myRoom.Id); - } - listRoomName.Add(listName); - listRoomKeys.Add(listKeys); - } - } + //鍖哄煙閫夋嫨 + this.ShowSelectRoom(btnTextView, i_caption); + }; } } @@ -212,44 +166,39 @@ /// <param name="i_caption"></param> private void ShowSelectRoom(NormalViewControl txtView, string i_caption) { - int index1 = this.listFloorKeys.IndexOf(FloorKey); - if (index1 == -1) { index1 = 0; } - int index2 = this.listRoomKeys[index1].IndexOf(RoomKey); - if (index2 == -1) { index2 = 0; } - - if (this.listFloorKeys.Count == 0) + //鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛� + var result = HdlControlLogic.Current.ShowBottomListRoomView(this.RoomKey, i_caption, (selectId, selectName) => { - //鏃犳ゼ灞傛ā寮� - PickerView.Show(this.listRoomName[0], (value) => - { - //妤煎眰+鎴块棿 - txtView.Text = this.listRoomName[0][value]; - RoomKey = this.listRoomKeys[0][value]; - this.SelectRoomEvent?.Invoke(RoomKey); - - }, index2, i_caption, - Language.StringByID(R.MyInternationalizationString.uFinish), - Language.StringByID(R.MyInternationalizationString.uCancel)); - } - else + this.RoomKey = selectId; + txtView.Text = selectName; + //璋冪敤鍥炶皟鍑芥暟 + this.SelectRoomEvent?.Invoke(RoomKey); + }); + if (result == false) { - //鏈夋ゼ灞傛ā寮� - PickerView.ShowSecondary(this.listFloorName, this.listRoomName, (value1, value2) => - { - //妤煎眰+鎴块棿 - txtView.Text = this.listFloorName[value1] + " " + this.listRoomName[value1][value2]; - FloorKey = this.listFloorKeys[value1]; - RoomKey = this.listRoomKeys[value1][value2]; - this.SelectRoomEvent?.Invoke(RoomKey); - - }, index1, index2, i_caption, - Language.StringByID(R.MyInternationalizationString.uFinish), - Language.StringByID(R.MyInternationalizationString.uCancel)); + //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀� + this.UseClickStatu = false; } } #endregion + #region 鈻� 鍒锋柊鎺т欢___________________________ + + /// <summary> + /// 閲嶆柊鍒锋柊鎺т欢 + /// </summary> + /// <param name="i_RoomId">鎸囧畾浠ュ摢涓埧闂碔D鍒锋柊鎺т欢</param> + public void RefreshControl(string i_RoomId) + { + this.RoomKey = i_RoomId; + + var room = HdlRoomLogic.Current.GetRoomById(i_RoomId); + this.btnTextView.Text = HdlRoomLogic.Current.GetRoomName(room); + } + + #endregion + #region 鈻� 鎺т欢鎽ф瘉___________________________ /// <summary> -- Gitblit v1.8.0