From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DeviceRowCommon.cs | 50 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 34 insertions(+), 16 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DeviceRowCommon.cs b/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DeviceRowCommon.cs index 2789bd2..8a72cc1 100755 --- a/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DeviceRowCommon.cs +++ b/ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DeviceRowCommon.cs @@ -53,6 +53,10 @@ /// 鍒ゆ柇鏄惁鏈夊紑鍏冲姛鑳� /// </summary> private bool isHadOpenSwitch = true; + /// <summary> + /// 褰撳墠閫夋嫨鐨勬埧闂� + /// </summary> + public Common.Room nowSelectRoom = null; #endregion @@ -71,9 +75,11 @@ /// 鍒濆鍖栨帶浠� /// </summary> /// <param name="i_device">璁惧瀵硅薄</param> - public virtual void InitControl(CommonDevice i_device) + /// <param name="i_nowSelectRoom">褰撳墠閫夋嫨鐨勬埧闂�(鏈夌偣鐢ㄥ)</param> + public virtual void InitControl(CommonDevice i_device, Common.Room i_nowSelectRoom) { this.device = i_device; + this.nowSelectRoom = i_nowSelectRoom; //璁惧鍥炬爣鑳屾櫙鎺т欢 this.frameIconBackGroud = new FrameLayout(); frameIconBackGroud.Height = this.GetPictrueRealSize(112); @@ -94,16 +100,21 @@ Common.LocalDevice.Current.SetDeviceIconToControl(btnDeviceIcon, i_device); frameIconBackGroud.AddChidren(btnDeviceIcon); //閲嶆柊缁戝畾浜嬩欢 - this.frameTable.ChangedChidrenBindMode(frameIconBackGroud, ChidrenBindMode.BindEventOnly); + this.frameTable.ChangedChidrenBindMode(frameIconBackGroud, ChidrenBindMode.BindEvent); //璁惧鍚嶅瓧 this.btnDeviceName = new NormalViewControl(600, 60, true); + if (this.device.Type == DeviceType.WindowCoveringDevice) + { + //绐楀笜鍥犱负鍙宠竟鏈変笁涓寜閽�,鎵�浠ラ渶瑕佹墍鏈夊悕瀛楃殑瀹藉害 + this.btnDeviceName.Width = Application.GetRealWidth(360); + } btnDeviceName.X = Application.GetRealWidth(181); //褰撴寚瀹氬疄闄呭潗鏍囨椂,杩欓噷闇�瑕佺殑鍋忕Щ閲忎负2鍊� btnDeviceName.Y = Application.GetRealHeight(16) + this.chidrenYaxis * 2; btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device); btnDeviceName.SelectedTextColor = Common.ZigbeeColor.Current.GXCTextSelectedColor; - this.frameTable.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly); + this.frameTable.AddChidren(btnDeviceName, ChidrenBindMode.BindEvent); if (this.hadStatuFunction == false) { @@ -121,7 +132,7 @@ btnStatu.Y = Application.GetRealHeight(70) + this.chidrenYaxis * 2; btnStatu.TextSize = 10; btnStatu.TextColor = UserCenterColor.Current.TextGrayColor1; - this.frameTable.AddChidren(btnStatu, ChidrenBindMode.BindEventOnly); + this.frameTable.AddChidren(btnStatu, ChidrenBindMode.BindEvent); } //搴曠嚎 @@ -137,17 +148,17 @@ btnSwitch.SelectedImagePath = "Item/SwitchSelected.png"; //鍒嗕韩鐨勬埧闂�,鍒欎笉鑳界紪杈戝拰鍒犻櫎 - if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) + if (this.nowSelectRoom.IsSharedRoom == false) { //缂栬緫 var btnEditor = this.AddEditorControl(); btnEditor.ButtonClickEvent += (sender, e) => { var detailInfo = new MainPage.DeviceDetailInfoForm(); - detailInfo.AddForm(i_device, HdlRoomLogic.Current.CurrentRoom); - detailInfo.FormCloseEvent += (curDevice, curRoom) => + detailInfo.AddForm(i_device, this.nowSelectRoom); + detailInfo.FormCloseEvent += () => { - if (HdlRoomLogic.Current.CurrentRoom.IsLove == true) + if (this.nowSelectRoom.IsLove == true) { //褰撳墠鏄枩鐖辨埧闂存椂 if (HdlRoomLogic.Current.IsCollectInRoom(this.device) == false) @@ -159,7 +170,8 @@ return; } } - else if (HdlRoomLogic.Current.CurrentRoom.Id != curRoom.Id) + var curRoom = HdlRoomLogic.Current.GetRoomByDevice(this.device); + if (curRoom == null || this.nowSelectRoom.Id != curRoom.Id) { //鍥炶皟鎺т欢琚Щ闄ょ殑浜嬩欢 this.RowNeedRemoveEvent?.Invoke(); @@ -182,7 +194,7 @@ { //绉婚櫎鏀惰棌(涓嶇浠�涔堟儏鍐�,鏀惰棌閮借绉婚櫎) HdlRoomLogic.Current.DeleteLoveDevice(i_device); - if (HdlRoomLogic.Current.CurrentRoom.IsLove == false) + if (this.nowSelectRoom.IsLove == false) { //浠庢埧闂翠腑绉婚櫎 HdlRoomLogic.Current.DeleteDevice(i_device); @@ -342,10 +354,9 @@ /// 娣卞害鍗$墖淇℃伅鐨勮繑鍥炰簨浠�(搴曞眰涓撶敤) /// </summary> /// <param name="device">璁惧</param> - /// <param name="room">鎴块棿</param> - public void CardDetailInfoBackEvent(CommonDevice device, Common.Room room) + public void CardDetailInfoBackEvent(CommonDevice device) { - if (HdlRoomLogic.Current.CurrentRoom.IsLove == true) + if (this.nowSelectRoom.IsLove == true) { //宸茬粡鍙栨秷鐨勬敹钘� if (HdlRoomLogic.Current.IsCollectInRoom(device) == false) @@ -361,7 +372,7 @@ { //濡傛灉杩欎釜璁惧鏀瑰彉浜嗘埧闂寸殑璇�,鍥炶皟鍗$墖琚垹闄ょ殑鍑芥暟 var nowRoom = HdlRoomLogic.Current.GetRoomByDevice(device); - if (nowRoom == null || nowRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id) + if (nowRoom == null || nowRoom.Id != this.nowSelectRoom.Id) { //鍥炶皟鎺т欢琚Щ闄ょ殑浜嬩欢 this.RowNeedRemoveEvent?.Invoke(); @@ -388,7 +399,7 @@ this.ResponeResult = 0; HdlThreadLogic.Current.RunThread(() => { - int waitime = 30; + int waitime = 40; while (waitime > 0) { System.Threading.Thread.Sleep(100); @@ -398,8 +409,15 @@ break; } waitime--; + //2绉掔殑鏃跺��,杩樻槸鎺ュ彈涓嶅埌鐨勮瘽,寮哄埗鍐嶆鍒锋柊璁惧鐘舵�� + if (waitime == 20) + { + //浠庢柊鍙戦�佽幏鍙栬澶囩殑鐘舵��(寮哄埗) + this.device.HadReadDeviceStatu = false; + this.SendStatuComand(); + } } - if (waitime <= 0) + if (waitime <= 0 && this.Parent != null) { //娌℃湁鑾峰彇寰楀埌缁撴灉 HdlThreadLogic.Current.RunMain(() => -- Gitblit v1.8.0