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