From f14dcfd967404e197e7ec995ca8d6f2b090d3b7d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 11 九月 2020 09:16:59 +0800 Subject: [PATCH] 优化多功能面板:绑定温湿度传感器目标,和设备列表回路显示。优化数据矫正功能温湿度度不设置的情况。优化门锁时间设置最后一天和最后最后一个月的时间显示等 细节 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 216 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs new file mode 100755 index 0000000..2ecd19d --- /dev/null +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/BelongAreaControl.cs @@ -0,0 +1,216 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.UserCenter +{ + /// <summary> + /// 鎵�灞炲尯鍩熺殑鎺т欢 + /// </summary> + public class BelongAreaControl : FrameRowControl + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 閫夋嫨鎴块棿鐨勪簨浠�(鎴块棿涓婚敭) + /// </summary> + public Action<string> SelectRoomEvent = null; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬埧闂寸殑涓婚敭(妤煎眰涓婚敭鍙互鏃犺) + /// </summary> + public string RoomKey = string.Empty; + /// <summary> + /// 鏄剧ず鏂囨湰 + /// </summary> + private NormalViewControl btnTextView = null; + + #endregion + + #region 鈻� 鍒濆鍖朹____________________________ + + /// <summary> + /// 鎵�灞炲尯鍩熺殑鎺т欢 + /// </summary> + /// <param name="i_ChidrenYaxis">瀛愭帶浠禮杞村亸绉婚噺(銆愬垪琛ㄦ帶浠剁殑rowSpace/2銆戝嵆鍙�,涓嶆噦榛樿涓�0鍗冲彲)</param> + public BelongAreaControl(int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) + { + } + + /// <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> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鍥炶矾) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_device">璁惧瀵硅薄</param> + public void InitControl(string i_caption, ZigBee.Device.CommonDevice i_device) + { + var room = HdlRoomLogic.Current.GetRoomByDevice(i_device); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠�(閽堝鐨勬槸鏁翠釜璁惧) + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_listDevice">璁惧瀵硅薄</param> + public void InitControl(string i_caption, List<ZigBee.Device.CommonDevice> i_listDevice) + { + var room = Common.LocalDevice.Current.GeteRealDeviceRoom(i_listDevice[0]); + this.DoInitControl(i_caption, room); + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="i_caption"></param> + /// <param name="i_Room"></param> + private void DoInitControl(string i_caption, Common.Room i_Room) + { + if (i_Room == null) + { + //鏈垎閰嶅尯鍩� + this.InitControl(i_caption, Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom), false); + } + else + { + string roomName = i_Room.Name; + this.RoomKey = i_Room.Id; + if (Common.Config.Instance.Home.FloorDics.ContainsKey(i_Room.FloorId) == true) + { + //妤煎眰+鎴块棿 + roomName = Common.Config.Instance.Home.FloorDics[i_Room.FloorId] + " " + roomName; + } + this.InitControl(i_caption, roomName, i_Room.IsSharedRoom); + } + } + + /// <summary> + /// 鍒濆鍖栨帶浠� + /// </summary> + /// <param name="i_caption">鏍囬鏂囨湰</param> + /// <param name="i_RoomName">鎴块棿鍚嶅瓧</param> + /// <param name="IsSharedRoom">鎴块棿鏄惁鏄垎浜殑</param> + private void InitControl(string i_caption, string i_RoomName, bool IsSharedRoom) + { + //鏍囬 + var btnCaption = new NormalViewControl(270, 58, true); + btnCaption.X = ControlCommonResourse.XXLeft; + btnCaption.Gravity = Gravity.CenterVertical; + btnCaption.Text = i_caption + "锛�"; + this.AddChidren(btnCaption, ChidrenBindMode.BindEvent); + + //鏄剧ず妗� + 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; + btnTextView.Y += chidrenYaxis; + } + + if (IsSharedRoom == true) + { + //濡傛灉杩欎釜璁惧浣嶄簬鍒嗕韩鐨勬埧闂� + this.UseClickStatu = false; + return; + } + + //鍙崇澶� + this.AddRightArrow(); + + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞� + if (Common.Config.Instance.Home.IsShowTemplate == false) + { + this.ButtonClickEvent += (sender, e) => + { + //鍖哄煙閫夋嫨 + this.ShowSelectRoom(btnTextView, i_caption); + }; + } + } + + #endregion + + #region 鈻� 鍖哄煙閫夋嫨___________________________ + + /// <summary> + /// 鍖哄煙閫夋嫨 + /// </summary> + /// <param name="txtView"></param> + /// <param name="i_caption"></param> + private void ShowSelectRoom(NormalViewControl txtView, string i_caption) + { + //鏄剧ず搴曢儴寮圭獥鐨勬埧闂村垪琛� + var result = HdlControlLogic.Current.ShowBottomListRoomView(this.RoomKey, i_caption, (selectId, selectName) => + { + this.RoomKey = selectId; + txtView.Text = selectName; + //璋冪敤鍥炶皟鍑芥暟 + this.SelectRoomEvent?.Invoke(RoomKey); + }); + if (result == false) + { + //鎴栬�呮牴鏈氨娌℃湁鍒涘缓鎴块棿锛屽垯涓嶅厑璁告洿鏀� + 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> + /// 鎺т欢鎽ф瘉 + /// </summary> + public override void RemoveFromParent() + { + this.SelectRoomEvent = null; + + base.RemoveFromParent(); + } + + #endregion + } +} -- Gitblit v1.8.0