From 224ea4055d5359d0bae0e7087ccc11724a2e49e5 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 14 七月 2020 16:09:19 +0800
Subject: [PATCH] 备份新改的代码
---
ZigbeeApp/Shared/Phone/MainPage/ListRoomViewFrom.cs | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 323 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/MainPage/ListRoomViewFrom.cs b/ZigbeeApp/Shared/Phone/MainPage/ListRoomViewFrom.cs
new file mode 100755
index 0000000..3b2d07d
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/MainPage/ListRoomViewFrom.cs
@@ -0,0 +1,323 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared.Common;
+using Shared.Phone.Device.CommonForm;
+using Shared.Phone.UserCenter;
+using Shared.Phone.UserView;
+
+namespace Shared.Phone.MainPage
+{
+ /// <summary>
+ /// 宸︽粦鑿滃崟鐨勭殑鎴块棿鍒楄〃鐣岄潰
+ /// </summary>
+ public class ListRoomViewFrom : EditorCommonForm
+ {
+ #region 鈻� 鍙橀噺澹版槑___________________________
+
+ private static ListRoomViewFrom roomManagement = null;
+ /// <summary>
+ /// 宸︽粦鑿滃崟鐨勭殑鎴块棿瀵硅薄
+ /// </summary>
+ public static ListRoomViewFrom Instance
+ {
+ get
+ {
+ if (roomManagement == null)
+ {
+ //鍒濆鍖栧乏婊戣彍鍗�
+ roomManagement = new ListRoomViewFrom();
+ CommonPage.Instance.AddLeftView(roomManagement);
+ }
+ return roomManagement;
+ }
+ }
+
+ /// <summary>
+ /// 鏄惁鍙互瑙﹀彂鐐瑰嚮浜嬩欢--鏄惁鍙互璺宠浆涓婚〉鎴块棿
+ /// </summary>
+ public bool CanClick = true;
+ /// <summary>
+ /// 鏄惁鍒濆鍖栧畬鎴�
+ /// </summary>
+ private bool isInitFinish = false;
+ /// <summary>
+ /// 褰撳墠妤煎眰id
+ /// </summary>
+ private string curFloorId = string.Empty;
+ /// <summary>
+ /// 鍒楄〃鎺т欢
+ /// </summary>
+ private VerticalFrameControl listView = null;
+ /// <summary>
+ /// 鍗$墖鎺т欢闆嗗悎
+ /// </summary>
+ private Dictionary<string, Controls.ListRoomCardControl> dicCardControl = new Dictionary<string, Controls.ListRoomCardControl>();
+
+ #endregion
+
+ #region 鈻� 鍒濆鍖朹____________________________
+
+ /// <summary>
+ /// 鐢婚潰鏄剧ず
+ /// </summary>
+ public void ShowForm()
+ {
+ //鍒濆鍖栧ご閮ㄤ俊鎭�
+ this.InitTopFrame();
+ //鍒濆鍖栦腑閮ㄦ帶浠�
+ this.InitBodyFrameLayout();
+
+ //鍒濆鍖栦腑閮ㄤ俊鎭�
+ this.InitMiddleFrame();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栧ご閮ㄤ俊鎭�
+ /// </summary>
+ private void InitTopFrame()
+ {
+ //鍒濆鍖栧ご閮ㄦ帶浠�
+ this.InitTopFrameLayout();
+
+ //璁剧疆澶撮儴淇℃伅
+ base.SetTitleText(Language.StringByID(R.MyInternationalizationString.RoomList));
+
+ //閲嶇疆杩斿洖鎸夐敭鐨勪簨浠�
+ var btnBack = this.GetBackButton();
+ btnBack.ButtonClickEvent = null;
+ btnBack.ButtonClickEvent += (sender, e) =>
+ {
+ //鏀惰捣宸﹁彍鍗�
+ CommonPage.Instance.CloseLeftMenu();
+ };
+
+ //鑾峰彇妤煎眰
+ this.curFloorId = Config.Instance.Home.CurrentFloorId;
+
+ var dicFloor = HdlRoomLogic.Current.GetFloorSortList();
+ if (dicFloor.Count == 0)
+ {
+ return;
+ }
+ //妤煎眰鍥炬爣
+ var btnIconContr = new MostRightIconControl(69, 69);
+ btnIconContr.UnSelectedImagePath = "Item/Drop_Down.png";
+ topFrameLayout.AddChidren(btnIconContr);
+ btnIconContr.InitControl();
+ //妤煎眰鍚�
+ var btnFloor = new NormalViewControl(200, 69, true);
+ btnFloor.Gravity = Gravity.CenterVertical;
+ btnFloor.X = btnIconContr.X + btnIconContr.btnIcon.X - Application.GetRealWidth(200);
+ btnFloor.TextAlignment = TextAlignment.CenterRight;
+ btnFloor.Text = HdlResidenceLogic.Current.GetFloorNameById(this.curFloorId);
+ topFrameLayout.AddChidren(btnFloor);
+
+ btnIconContr.ButtonClickEvent += (sender, e) =>
+ {
+ //妤煎眰鑿滃崟
+ var floors = new Category.SelectFloorForm();
+ AddChidren(floors);
+ floors.changeFloor = false;
+ floors.CurFloorId = curFloorId;
+ floors.Init(599, 161, Direction.Right);
+ floors.FloorAction += (floorId) =>
+ {
+ this.curFloorId = floorId;
+ btnFloor.Text = dicFloor[floorId];
+ //鍒锋柊Body瀹瑰櫒
+ this.RefreshBodyFrame();
+ };
+ };
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栦腑閮ㄤ俊鎭�
+ /// </summary>
+ private void InitMiddleFrame()
+ {
+ this.listView = new VerticalFrameControl();
+ listView.Height = bodyFrameLayout.Height;
+ listView.Width = bodyFrameLayout.Width;
+ bodyFrameLayout.AddChidren(listView);
+ //鍒锋柊Body瀹瑰櫒
+ this.RefreshBodyFrame();
+ }
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鎴块棿鍒楄〃_______________________
+
+ /// <summary>
+ /// 鍒锋柊鎴块棿鍒楄〃
+ /// </summary>
+ public void RefreshListRoom()
+ {
+ //濡傛灉杩樻病鏈夊垵濮嬪寲瀹屾垚鐣岄潰鐨勮瘽
+ if (this.isInitFinish == false)
+ {
+ this.ShowForm();
+ this.isInitFinish = true;
+ return;
+ }
+ //鎶婂ご閮ㄤ篃涓�璧峰垵濮嬪寲浜�
+ this.topFrameLayout.RemoveAll();
+ //鍒濆鍖栧ご閮ㄤ俊鎭�
+ this.InitTopFrame();
+
+ //鍒锋柊Body瀹瑰櫒
+ this.RefreshBodyFrame();
+ }
+
+ /// <summary>
+ /// 鍒锋柊Body瀹瑰櫒
+ /// </summary>
+ private void RefreshBodyFrame()
+ {
+ //鍏堟竻绌�
+ this.listView.frameTable.RemoveAll();
+ this.listView.frameTable.Height = Application.GetRealHeight(100);
+ this.dicCardControl.Clear();
+
+ var listRoom = HdlRoomLogic.Current.GetFloorSortRoom(curFloorId);
+ //杩藉姞鎴戠殑鍠滅埍
+ listRoom.Insert(0, HdlRoomLogic.Current.GetLoveRoom());
+
+ //X杞�
+ int XX = this.GetPictrueRealSize(43);
+ //Y杞�
+ int YY = this.GetPictrueRealSize(58);
+ //鎴块棿璁℃暟
+ int roomCount = 0;
+ foreach (var room in listRoom)
+ {
+ roomCount++;
+ //鍒濆鍖栧崱鐗囨帶浠�
+ var contr = new Controls.ListRoomCardControl();
+ contr.X = XX;
+ contr.Y = YY;
+ listView.frameTable.AddChidren(contr);
+ contr.InitControl(room);
+ //鍔犵紦瀛�
+ this.dicCardControl[room.Id] = contr;
+ //姣忎袱涓噸缃甔杞�
+ XX = roomCount % 2 == 0 ? this.GetPictrueRealSize(43) : contr.Right + this.GetPictrueRealSize(3);
+ //姣忎袱涓疮鍔燳杞�
+ if (roomCount >= 2 && roomCount % 2 == 0)
+ {
+ YY = contr.Bottom + this.GetPictrueRealSize(14);
+ }
+ contr.ButtonClickEvent += (sender, e) =>
+ {
+ if (CanClick == false)
+ {
+ return;
+ }
+ string oldFloorId = Config.Instance.Home.CurrentFloorId;
+ CommonPage.Instance.CloseLeftMenu();
+
+ HdlThreadLogic.Current.RunThread(() =>
+ {
+ //绛夊緟鎺т欢鍚戝乏绉诲姩缁撴潫
+ System.Threading.Thread.Sleep(300);
+ HdlThreadLogic.Current.RunMain(() =>
+ {
+ //鐐瑰嚮鐨勬槸鏀惰棌鎴块棿鐨勮瘽,涓嶅彉鏇村綋鍓嶆ゼ灞俰d
+ if (room.FloorId != string.Empty)
+ {
+ Config.Instance.Home.CurrentFloorId = room.FloorId;
+ if (oldFloorId != room.FloorId)
+ {
+ //妤煎眰閮藉垏鎹㈢殑璇�,鍒锋柊鏁翠釜涓婚〉
+ UserPage.Instance.ReFreshControl();
+ return;
+ }
+ }
+ //濡傛灉鍙槸鍒囨崲褰撳墠妤煎眰鐨勫叾浠栨埧闂�,鍒欏彧婊戝姩涓婚〉鐨勬粦鍔ㄦ帶浠�
+ HomeMainPageForm.Instance?.SetRoomPageViewSelect(room);
+ });
+ });
+ };
+ }
+ //鎴愬憳鏄病鏈夋湭鍒嗛厤杩欎釜涓滆タ鍑烘潵鐨�
+ if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2)
+ {
+ //鍒濆鍖栨湭鍒嗛厤鍗$墖
+ this.InitRoomCardControl(XX, YY);
+ }
+ //璋冩暣妗屽竷楂樺害
+ this.listView.AdjustTableHeight();
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨湭鍒嗛厤鍗$墖
+ /// </summary>
+ private void InitRoomCardControl(int XX, int YY)
+ {
+ //妗屽竷鎺т欢
+ var frameBack = new FrameLayoutStatuControl();
+ frameBack.X = XX;
+ frameBack.Y = YY;
+ frameBack.Width = this.GetPictrueRealSize(495);
+ frameBack.Height = this.GetPictrueRealSize(354);
+ listView.frameTable.AddChidren(frameBack);
+
+ //搴曢儴闃村奖鏁堟灉
+ var btnShadow = new NormalViewControl(frameBack.Width, frameBack.Height, false);
+ btnShadow.UnSelectedImagePath = "Room/RoomCardView.png";
+ frameBack.AddChidren(btnShadow, ChidrenBindMode.NotBind);
+
+ //鑳屾櫙鎺т欢
+ var picBackGroud = new NormalViewControl(this.GetPictrueRealSize(467), this.GetPictrueRealSize(311), false);
+ picBackGroud.Gravity = Gravity.CenterHorizontal;
+ picBackGroud.Radius = (uint)this.GetPictrueRealSize(29);
+ picBackGroud.BackgroundColor = ZigbeeColor.Current.GXCBlackBackgroundColor3;
+ frameBack.AddChidren(picBackGroud, ChidrenBindMode.BindEvent);
+
+ //鏈垎閰嶅浘鏍�
+ var btnIcon = new PicViewControl(92, 72);
+ btnIcon.X = this.GetPictrueRealSize(129);
+ btnIcon.Y = this.GetPictrueRealSize(141);
+ btnIcon.UnSelectedImagePath = "Room/NoNameRoom.png";
+ frameBack.AddChidren(btnIcon, ChidrenBindMode.BindEvent);
+
+ //鏈垎閰�
+ var btnName = new NormalViewControl(141, 84, true);
+ btnName.X = this.GetPictrueRealSize(244);
+ btnName.Y = this.GetPictrueRealSize(131);
+ btnName.IsBold = true;
+ btnName.TextColor = UserCenterColor.Current.White;
+ btnName.TextID = R.MyInternationalizationString.Unallocated;
+ frameBack.AddChidren(btnName, ChidrenBindMode.BindEvent);
+ frameBack.ButtonClickEvent += (sender, e) =>
+ {
+ if (this.CanClick == false)
+ {
+ return;
+ }
+ //鏈垎閰�
+ var unalloctedRoom = new UnallocatedRoomForm();
+ this.AddChidren(unalloctedRoom);
+ unalloctedRoom.ShowForm();
+ };
+ }
+
+ #endregion
+
+ #region 鈻� 鍒锋柊鎸囧畾鎴块棿_______________________
+
+ /// <summary>
+ /// 鍒锋柊鎸囧畾鎴块棿
+ /// </summary>
+ /// <param name="room"></param>
+ public void RefreshRoomInfo(Room room)
+ {
+ if (this.dicCardControl.ContainsKey(room.Id) == true)
+ {
+ //鍒锋柊鍗$墖淇℃伅
+ this.dicCardControl[room.Id].RefreshControl();
+ }
+ }
+
+ #endregion
+ }
+}
--
Gitblit v1.8.0