From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期一, 30 十二月 2019 13:32:33 +0800 Subject: [PATCH] 2019-12-30-1 --- ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs | 243 +++++++++++++++++++++++++++++++++--------------- 1 files changed, 167 insertions(+), 76 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs index e10217c..8070799 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicCommunalPage.cs @@ -18,7 +18,7 @@ Tag = "Logic"; } EditText logicTextBox; - public void Show(Action action) + public async void Show(Action action) { #region 鏈�涓婇潰鐨勫竷灞�浠g爜 @@ -79,12 +79,7 @@ action(); RemoveFromParent(); }; - - - #endregion - - var middle = new VerticalScrolViewLayout { @@ -93,7 +88,26 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); + var saveFrameLayout = new FrameLayout + { + Y = middle.Bottom, + Height = Application.GetRealHeight(180), + BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, + }; + this.AddChidren(saveFrameLayout); + var btnsave = new Button + { + X = Application.GetRealWidth(85), + Height = Application.GetRealHeight(130),//194 + Width = Application.GetRealWidth(910), + Radius = (uint)Application.GetRealHeight(60), + BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, + TextID = MyInternationalizationString.Save, + TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, + TextSize = 16, + }; + saveFrameLayout.AddChidren(btnsave); #region -----鑷姩鍖栧悕绉� 璁剧疆鍚嶇О----- var logicnamefl = new FrameLayout @@ -497,7 +511,8 @@ var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return obj.DeviceAddr == conditions["MacAddr"] && obj.DeviceEpoint.ToString() == conditions["Epoint"]; }); if (deviceinof == null) { - continue; + deviceinof = new ZigBee.Device.CommonDevice(); + //continue; } ///鏄剧ず璁惧鍚嶇О var btndevice = new Button @@ -620,19 +635,19 @@ int second = int.Parse(conditions["IgnoreTime"]) % 60; if (minute != 0 && second != 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } else { if (minute == 0 && second != 0) { - devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1); } if (minute != 0 && second == 0) { - devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.closetime); + devicestatus.Text = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1); } @@ -921,26 +936,37 @@ }; conditionsRowLayout.AddChidren(securitystatus); - if (conditions["EnOrWithdrawMode"] == "1") + switch (conditions["EnOrWithdrawMode"]) { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); - } - else - { - if (conditions["ModeId"] == "1") - { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/athome.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicathomegarrison); + case "0": + { + if (conditions["ModeId"] == "1") + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/athome.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.logicathomegarrison); - } - else - { - conditionIcon.UnSelectedImagePath = "ZigeeLogic/leavehome.png"; - securitystatus.Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); - - } + } + else + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/leavehome.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.logicremovehomegarrison); + } + } + break; + case "1": + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.withdrawal); + } + break; + case "2": + { + conditionIcon.UnSelectedImagePath = "ZigeeLogic/withdrawal.png"; + securitystatus.Text = Language.StringByID(MyInternationalizationString.urgentwithdrawal); + } + break; } + } break; case 7: @@ -949,7 +975,7 @@ conditionIcon.UnSelectedImagePath = "ZigeeLogic/position.png"; var btnlocation = new Button { - Width = Application.GetRealWidth(700), + Width = Application.GetRealWidth(250), TextAlignment = TextAlignment.CenterLeft, Gravity = Gravity.CenterVertical, TextColor = ZigbeeColor.Current.LogicBtnCancelColor, @@ -976,11 +1002,11 @@ var locationstatus = new Button { - Width = Application.GetRealWidth(300), + Width = Application.GetRealWidth(550), Height = Application.GetRealHeight(130), Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterRight, - X = Application.GetRealWidth(500), + X = Application.GetRealWidth(250), TextColor = ZigbeeColor.Current.LogicBtnCancelColor, TextSize = 14, }; @@ -1195,9 +1221,11 @@ var deviceinof = Common.Logic.LogicDviceList.Find((obj) => { return ((obj.DeviceAddr == obj1) && (obj.DeviceEpoint.ToString() == obj2)); }); if (deviceinof == null) { - continue; + + deviceinof = new ZigBee.Device.CommonDevice(); + // continue; } - + ///璁惧鍚嶇ОButton var btndevicename = new Button { @@ -1503,11 +1531,29 @@ break; case 2: { - + //鍦ㄦ湰鍦版煡鎵捐鍦烘櫙; var sceneinof = Common.Room.AllRoomSceneUIList.Find((obj) => { return obj.Id.ToString() == actions["DeviceAddr"].ToString(); }); + //鏈湴娌℃湁瀛樺湪; if (sceneinof == null) { - continue; + //瀹炵幇鐩殑:鏄剧ず鍑烘潵璁╁彲浠ヨ嚜宸辨槸鍚﹀垹闄� + sceneinof = new SceneUI(); + #region -------- + ////鍦ㄧ綉鍏虫煡鎵捐鍦烘櫙; + ////鏍囪闂:缃戠粶璇锋眰锛屽瓨鍦ㄨ鍥惧姞杞藉揩鎱㈢殑闂锛� + //sceneinof = await Send.GetScene(int.Parse(actions["DeviceAddr"].ToString())); + ////缃戝叧娌℃湁瀛樺湪; + //if (sceneinof == null) + //{ + // //娉ㄨВ:鏈湴鍜岀綉鍏抽兘涓嶅瓨鍦ㄨ鍦烘櫙,鐣岄潰灏嗕笉浼氭樉绀鸿鍦烘櫙; + // //sceneinof = new SceneUI(); + // //绉婚櫎璇ュ満鏅暟鎹�; + // Common.Logic.CurrentLogic.Actions.Remove(actions); + // //绉婚櫎璇ュ満鏅鍥�; + // devicesFrameLayout.RemoveFromParent(); + // continue; + //} + #endregion } actionsIcon.UnSelectedImagePath = "ZigeeLogic/scene.png"; @@ -1539,7 +1585,6 @@ Common.Room room = new Common.Room(); btnregionname.Text = room.GetRoomNameBySceneId(sceneinof.Id); //Send.RoomNmae(btnregionname, deviceinof); - } @@ -1752,6 +1797,7 @@ if (e1) { Common.Logic.CurrentLogic.Actions.Remove(actions); + // devicesFrameLayout.RemoveFromParent(); var logicCommunalPage = new LogicCommunalPage(); UserView.HomePage.Instance.AddChidren(logicCommunalPage); UserView.HomePage.Instance.PageIndex += 1; @@ -1888,23 +1934,11 @@ Gravity = Gravity.CenterVertical, }; pushswitchRowlayout.AddChidren(btnswitch); - btnswitch.MouseUpEventHandler += (sender1, e1) => - { - btnswitch.IsSelected = !btnswitch.IsSelected; - if (btnswitch.IsSelected) - { - - } - else - { - - } - }; var custompushFrameLayout = new FrameLayout { - Height = Application.GetRealHeight(160), + Height = Application.GetRealHeight(0), BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor, }; middle.AddChidren(custompushFrameLayout); @@ -1952,30 +1986,35 @@ btncustompush.MouseUpEventHandler += customclick; custompushback.MouseUpEventHandler += customclick; custompushRowLayout.MouseUpEventHandler += customclick; + bool tag = false;//鏍囪寮�鍏崇姸鎬�; + btnswitch.MouseUpEventHandler += (sender1, e1) => + { + btnswitch.IsSelected = !btnswitch.IsSelected; + if (btnswitch.IsSelected) + { + tag = true; + custompushFrameLayout.Height = Application.GetRealHeight(160); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } + } + else + { + tag = false; + custompushFrameLayout.Height = Application.GetRealHeight(0); + if (Common.Logic.CurrentLogic.LogicId != 0) + { + Send.Data("鍒犻櫎", "/App/DelHomeLogicConfig", "POST"); + } + + } + }; #endregion - var saveFrameLayout = new FrameLayout - { - Y = middle.Bottom, - Height = Application.GetRealHeight(180), - BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, - }; - this.AddChidren(saveFrameLayout); - - var btnsave = new Button - { - X = Application.GetRealWidth(85), - Height = Application.GetRealHeight(130),//194 - Width = Application.GetRealWidth(910), - Radius = (uint)Application.GetRealHeight(60), - BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor, - TextID = MyInternationalizationString.Save, - TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, - TextSize=16, - }; - saveFrameLayout.AddChidren(btnsave); + btnsave.MouseUpEventHandler += async (sender, e) => { var name = logicTextBox.Text.Trim(); @@ -1984,12 +2023,13 @@ new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.PleaseEnterLogicName), Language.StringByID(MyInternationalizationString.Close)).Show(); return; } - var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); - if (logicname != null) - { - new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); - return; - } + ///鍏堥殣钘忓垽鏂悕瀛楃浉鍚岀殑鍔熻兘锛� + //var logicname = Common.Logic.LogicList.Find((logic) => Common.Logic.CurrentLogic.LogicId != logic.LogicId && logic.LogicName == name); + //if (logicname != null) + //{ + // new Alert(Language.StringByID(MyInternationalizationString.Tip), Language.StringByID(MyInternationalizationString.Rename), Language.StringByID(MyInternationalizationString.Close)).Show(); + // return; + //} Common.Logic.CurrentLogic.LogicName = name; bool succeed = false; @@ -2004,6 +2044,10 @@ succeed = true; Common.Logic.CurrentLogic.LogicId = logicifon.LogicId; Common.Logic.LogicList.Add(Common.Logic.CurrentLogic); + if (tag) + { + Send.Data("娣诲姞/鏇存柊", "/App/HomeLogicConfig", "POST"); + } } } else @@ -2015,11 +2059,13 @@ } CommonPage.Loading.Hide(); - if (!succeed) { + if (!succeed)//succeed鏍囪鏄坊鍔犳垚鍔熻繕鏄け璐� + { //缃戝叧鍥炲澶辫触锛屼笉鍏抽棴鐣岄潰锛岃瀹冨仠鐣欏綋鍓嶇晫闈紱 //锛堝師鍥狅細鑰冭檻鍒板け璐ラ噸鏂扮紪杈戝師鏉ユ暟鎹粰鐢ㄦ埛甯︽潵浜嗛夯鐑︼級 ///鎻愮ず锛氭坊鍔犺嚜鍔ㄥ寲澶辫触锛� - return; + //TipView("娣诲姞鑷姩鍖栧け璐�"); + //return; } UserView.HomePage.Instance.RemoveViewByTag("Logic"); Category.Category.instance?.RefreshBodyView(); @@ -2520,5 +2566,50 @@ }; } + /// <summary> + /// 闂幇寮忔彁绀烘鐨勬柟娉� + /// </summary> + /// <param name="tipText">鎻愮ず鍐呭</param> + /// <param name="second">鍋滅暀鏃堕棿鍗曚綅涓簊</param> + public void TipView(string tipText, int second = 1) + { + + var frameLayout = new FrameLayout { BackgroundColor = 0x50000000 }; + this.AddChidren(frameLayout); + + var btn = new Button + { + Gravity = Gravity.Center, + Text = tipText, + BackgroundColor = 0xff1f1f1f, + Width = Application.GetRealWidth(500), + Height = Application.GetRealHeight(100), + Radius = (uint)Application.GetRealHeight(50), + }; + frameLayout.AddChidren(btn); + + var dateTime1 = DateTime.Now; + new System.Threading.Thread(() => + { + Application.RunOnMainThread(() => + { + while (true) + { + if ((DateTime.Now - dateTime1).TotalMilliseconds > second * 1000) + { + //榛樿涓�绉掑叧闂� + frameLayout.RemoveFromParent(); + break; + } + } + }); + }) + { IsBackground = true }.Start(); + + } + + + + } } -- Gitblit v1.8.0