From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期二, 21 七月 2020 09:46:53 +0800 Subject: [PATCH] 请合并最新多功能面板代码 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 201 ++++++++++++++++++++++++++++---------------------- 1 files changed, 112 insertions(+), 89 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs index c3226dd..920a4ab 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs @@ -18,7 +18,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 鎴块棿瀵硅薄 /// </summary> @@ -69,29 +69,33 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍔犱竴涓櫧鑹茶儗鏅� var frameBack1 = new FrameLayout(); frameBack1.Height = Application.GetRealHeight(450); frameBack1.Y = Application.GetRealHeight(196); frameBack1.BackgroundColor = UserCenterColor.Current.White; frameBack1.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); - bodyFrameLayout.AddChidren(frameBack1); + listBackControl.frameTable.AddChidren(frameBack1); //鍒濆鍖栦俊鎭甯� var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 613, 1175); + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 1175); //鎴块棿鍥剧墖搴曢儴闃村奖 var btnShadow = new PicViewControl(853, 593); btnShadow.Y = Application.GetRealHeight(58); btnShadow.Gravity = Gravity.CenterHorizontal; btnShadow.UnSelectedImagePath = "Room/RoomShadow.png"; - bodyFrameLayout.AddChidren(btnShadow); + listBackControl.frameTable.AddChidren(btnShadow); //鎴块棿鍥剧墖 var btnPic = new ImageView(); btnPic.Y = Application.GetRealHeight(60); - btnPic.Width = Application.GetMinRealAverage(824); - btnPic.Height = Application.GetMinRealAverage(549); + btnPic.Width = this.GetPictrueRealSize(824); + btnPic.Height = this.GetPictrueRealSize(549); btnPic.Radius = (uint)Application.GetRealHeight(17); btnPic.Gravity = Gravity.CenterHorizontal; if (this.editorRoom.BackgroundImageType == 0) @@ -102,20 +106,25 @@ { btnPic.ImageBytes = Common.Global.ReadFileByHomeId(this.editorRoom.BackgroundImage); } - bodyFrameLayout.AddChidren(btnPic); + listBackControl.frameTable.AddChidren(btnPic); //鍥剧墖閬僵 var btnZhezhao = new FrameLayout(); btnZhezhao.Width = btnPic.Width; btnZhezhao.Height = btnPic.Height; btnZhezhao.Y = btnPic.Y; btnZhezhao.Gravity = Gravity.CenterHorizontal; - btnZhezhao.Radius = btnPic.Radius; - bodyFrameLayout.AddChidren(btnZhezhao); - btnZhezhao.MouseUpEventHandler += (sender, e) => + btnZhezhao.BackgroundColor = UserCenterColor.Current.PictrueZhezhaoColor; + btnZhezhao.Radius = (uint)Application.GetRealHeight(17); + listBackControl.frameTable.AddChidren(btnZhezhao); + //鍒嗕韩鐨勬埧闂翠笉鑳界紪杈� + if (this.editorRoom.IsSharedRoom == false) { - //鎴块棿鍥剧墖閫夋嫨 - this.RoomPictrueSelect(btnPic); - }; + btnZhezhao.MouseUpEventHandler += (sender, e) => + { + //鎴块棿鍥剧墖閫夋嫨 + this.RoomPictrueSelect(btnPic); + }; + } //鍙樻洿涓�涓嬮偅涓櫧鑹茶儗鏅殑Y杞�,瀹冨埌鍥剧墖鐨勪腑闂翠綅缃� frameBack1.Y = btnPic.Y + btnPic.Height / 2; @@ -134,27 +143,41 @@ private void AddAllMenuRow(InformationEditorControl tableContr, ImageView btnPic) { //銆愭埧闂村悕绉般�� - var txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2); - txtRoomName.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName); - listview.AddChidren(txtRoomName); - txtRoomName.InitControl(); - //搴曠嚎 - txtRoomName.AddBottomLine(); + FrameCaptionInputControl txtRoomName = null; + if (this.editorRoom.IsLove == false) + { + txtRoomName = new FrameCaptionInputControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2); + txtRoomName.txtInput.PlaceholderText = Language.StringByID(R.MyInternationalizationString.uPleaseInputRoomName); + listview.AddChidren(txtRoomName); + txtRoomName.InitControl(); + //搴曠嚎 + txtRoomName.AddBottomLine(); + } + else + { + //鎴戠殑鍠滅埍涓嶈兘缂栬緫鍚嶅瓧 + var rowRoomName = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uRoomName), this.cloneRoom.Name, this.listview.rowSpace / 2); + listview.AddChidren(rowRoomName); + rowRoomName.UseClickStatu = false; + rowRoomName.InitControl(); + //搴曠嚎 + rowRoomName.AddBottomLine(); + } //璇PP涓烘湁妤煎眰鐨勬ā寮忔墠寮�鍚繖涓彍鍗� - if (string.IsNullOrEmpty(this.cloneRoom.FloorId) == false) + if (this.editorRoom.IsLove == false && string.IsNullOrEmpty(this.cloneRoom.FloorId) == false) { //銆愭墍灞炴ゼ灞傘�� var btnBelone = new FrameCaptionViewControl(Language.StringByID(R.MyInternationalizationString.uBelongeFloor), Common.Config.Instance.Home.FloorDics[this.cloneRoom.FloorId], this.listview.rowSpace / 2); listview.AddChidren(btnBelone); btnBelone.InitControl(); - //鍙崇澶� - btnBelone.AddRightArrow(); //搴曠嚎 btnBelone.AddBottomLine(); //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� if (this.editorRoom.IsSharedRoom == false) { + //鍙崇澶� + btnBelone.AddRightArrow(); btnBelone.ButtonClickEvent += (sender, e) => { //妤煎眰閫夋嫨 @@ -172,8 +195,8 @@ var btnTemper = rowTemperature.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); //搴曠嚎 rowTemperature.AddBottomLine(); - //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� - if (this.editorRoom.IsSharedRoom == false) + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑 + if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false) { rowTemperature.ButtonClickEvent += (sender, e) => { @@ -196,8 +219,8 @@ var btnHumi = rowHumidity.AddMostRightView(Language.StringByID(R.MyInternationalizationString.uNothing), 300); //搴曠嚎 rowHumidity.AddBottomLine(); - //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� - if (this.editorRoom.IsSharedRoom == false) + //鍒嗕韩鐨勬埧闂翠笉鑳戒慨鏀� 鎴栬�呭綋鍓嶄綇瀹呬笉鏄櫄鎷熺殑 + if (this.editorRoom.IsSharedRoom == false && Common.Config.Instance.Home.IsVirtually == false) { rowHumidity.ButtonClickEvent += (sender, e) => { @@ -212,8 +235,14 @@ } //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr.FinishInitControl(); tableContr = null; + + //鍒嗕韩鐨勬埧闂翠笉鑳戒繚瀛� + if (this.editorRoom.IsSharedRoom == true) + { + return; + } //淇濆瓨 var btnFinish = new BottomClickButton(); @@ -221,7 +250,10 @@ bodyFrameLayout.AddChidren(btnFinish); btnFinish.ButtonClickEvent += (sender, e) => { - this.cloneRoom.Name = txtRoomName.Text; + if (txtRoomName != null) + { + this.cloneRoom.Name = txtRoomName.Text; + } //妫�娴嬭兘鍚︿繚瀛樻埧闂� if (this.CheckCanSaveRoom() == false) { @@ -274,13 +306,17 @@ if (changedFloor == false) { //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎸囧畾鎴块棿鐨勪俊鎭� - MainPage.ListRoomViewFrom.Instance.RefreshRoomInfo(this.editorRoom); + MainPage.LeftListRoomViewFrom.Instance.RefreshRoomInfo(this.editorRoom); } else { //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎴块棿鍒楄〃淇℃伅 - MainPage.ListRoomViewFrom.Instance.RefreshListRoom(); + MainPage.LeftListRoomViewFrom.Instance.RefreshListRoom(); } + + //绠椾簡,杩欓噷濡傛灉鎸変笅淇濆瓨,鍒欎富椤甸渶瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshAllForm = true; + this.CloseForm(); }; } @@ -339,6 +375,11 @@ { listDevice.Add(device); } + //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐� + else if (device.Type == ZigBee.Device.DeviceType.PMSensor) + { + listDevice.Add(device); + } } var listSelect = new List<string>() { cloneRoom.TemperatrueDevice }; var form = new SelectDeviceForm(); @@ -388,41 +429,22 @@ { return; } - - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + if (((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0鈩� - btnTemper.Text = "0.0鈩�"; - this.cloneRoom.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - }); + //0鈩� + btnTemper.Text = "0.0鈩�"; + this.cloneRoom.Temperatrue = 0; } - } + else + { + //璁板綍娓╁害 + this.cloneRoom.Temperatrue = ((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue; + btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; + } + }, ShowErrorMode.NO); })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); @@ -443,6 +465,16 @@ { //鑾峰彇婀垮害浼犳劅鍣� if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2) + { + listDevice.Add(device); + } + //鏂伴 + else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor) + { + listDevice.Add(device); + } + //PM2.5鏄俯搴﹀拰婀垮害鍚堝湪鍚屼竴涓鐐� + else if (device.Type == ZigBee.Device.DeviceType.PMSensor) { listDevice.Add(device); } @@ -495,33 +527,26 @@ { return; } - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + decimal humidity = (decimal)localDevice.GetType().InvokeMember("Humidity", System.Reflection.BindingFlags.GetField, null, localDevice, null); + if (humidity == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0 - btnHumi.Text = "0.0%"; - this.cloneRoom.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍婀垮害 - this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; - } - }); + //0 + btnHumi.Text = "0.0%"; + this.cloneRoom.Humidity = 0; } - } + else + { + //璁板綍婀垮害 + this.cloneRoom.Humidity = humidity; + btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; + } + }, ShowErrorMode.NO); }); //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 - ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); + device.GetType().InvokeMember("ReadTemperatureOrHumidity", System.Reflection.BindingFlags.InvokeMethod, null, device, null); } #endregion @@ -539,11 +564,9 @@ //榛樿鍥惧簱 menuContr.AddMenu(Language.StringByID(R.MyInternationalizationString.LocalPicture), () => { - var localPic = new Phone.Device.Room.AddRoomSelectPicByLocal(); - Shared.Phone.UserView.HomePage.Instance.AddChidren(localPic); - Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; - localPic.Show(); - localPic.action = (imgPath) => + var form = new SelectLocalRoomImageForm(); + form.AddForm(); + form.FinishSelectEvent = (imgPath) => { if (string.IsNullOrEmpty(imgPath) == true) { -- Gitblit v1.8.0