From 9f326f4000847e6167d8166fa2f6a66f53cb3734 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 17 十二月 2020 09:07:13 +0800 Subject: [PATCH] 新云端Ver1.3 --- ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs | 85 +++++++++++++++++++++++++++++++++++------- 1 files changed, 70 insertions(+), 15 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs index 045ed5d..c793d2b 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/SceneCategoryView.cs @@ -70,7 +70,9 @@ //鍦烘櫙鐐瑰嚮 sceneContr.ButtonClickEvent += (sender, e) => { - this.SceneUpHandler(); + //涓嶈兘鍙嶅鐐瑰嚮 + sceneContr.CanClick = false; + this.SceneUpHandler(sceneContr); }; //鏀惰棌 @@ -87,7 +89,7 @@ this.btnDelayTime = new NormalViewControl(400, 58, true); btnDelayTime.X = Application.GetRealWidth(580); btnDelayTime.Y = Application.GetRealHeight(317); - btnDelayTime.Text = CommonFormResouce.GetTimeString(scene.SceneDelayTime); + btnDelayTime.Text = this.GetTimeString(scene.SceneDelayTime); btnDelayTime.TextAlignment = TextAlignment.CenterRight; btnDelayTime.TextColor = ZigbeeColor.Current.GXCTextSelectedColor3; btnDelayTime.IsBold = true; @@ -181,7 +183,7 @@ var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id); if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null) { - CommonPage.Instance.FailureToServer(); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.RequestServerFailed)); return; } //1鎴愬姛 @@ -193,7 +195,7 @@ //0 绉婚櫎澶辫触 else if (removeSceneAllData.removeSceneData.Result == 0) { - CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain)); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain)); return; } //2 娌℃湁璇ュ満鏅� @@ -232,7 +234,7 @@ { if (scene.RemainTime > 0) { - CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.TheSceneIsDelaying)); + HdlMessageLogic.Current.ShowMassage(ShowMsgType.Tip, Language.StringByID(R.MyInternationalizationString.TheSceneIsDelaying)); return; } var timeSelect = new SelectTime(); @@ -243,8 +245,13 @@ { //闅愯棌鍙冲垝鑿滃崟 this.HideMenu(); - scene.SceneDelayTime = t; - btnDelayTime.Text = CommonFormResouce.GetTimeString(t); + if (t != 0) + { + scene.SceneDelayTime = t; + btnDelayTime.Text = this.GetTimeString(t); + //缂栬緫寤舵椂鏃�,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; + } }; }; } @@ -254,9 +261,8 @@ /// <summary> /// /// </summary> - /// <param name="btnScenePic"></param> - /// <param name="btnSceneName"></param> - private async void SceneUpHandler() + /// <param name="sceneContr"></param> + private async void SceneUpHandler(ScenePictrueControl sceneContr) { if (scene.SceneDelayTime <= 0 && scene.RemainTime <= 0) { @@ -267,6 +273,7 @@ var result = await HdlSceneLogic.Current.ControlScene(scene); if (result == false) { + sceneContr.CanClick = true; return; } @@ -274,8 +281,12 @@ scene.SceneDelayTime = 0; if (scene.RemainTime <= 0) { + sceneContr.CanClick = true; return; } + //璋冪敤鏈夊欢鏃剁殑鍦烘櫙,闇�瑕佸埛鏂颁富椤� + UserView.UserPage.Instance.RefreshAllForm = true; + int myRemainTime = scene.RemainTime; //寮�鍚唴閮ㄥ欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾) HdlSceneLogic.Current.StartDelayTimeThread(scene); @@ -285,21 +296,22 @@ while (myRemainTime > 0 && this.Parent != null) { System.Threading.Thread.Sleep(1000); - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { - SetTimeText(CommonFormResouce.GetTimeString(scene.RemainTime)); - }); + SetTimeText(this.GetTimeString(scene.RemainTime)); + }, ShowErrorMode.NO); myRemainTime--; } - Application.RunOnMainThread(() => + HdlThreadLogic.Current.RunMain(() => { if (this.Parent != null) { SetTimeImage(); //鐩存帴寮�鍚疞oading鐗规晥 this.StartLoadingApreal(); + sceneContr.CanClick = true; } - }); + }, ShowErrorMode.NO); }) { IsBackground = true }.Start(); } @@ -360,6 +372,49 @@ } /// <summary> + /// 鑾峰彇鍦烘櫙寤舵椂瀛楃涓� + /// </summary> + /// <param name="second"></param> + /// <returns></returns> + private string GetTimeString(int second) + { + if (second == 0) + { + return null; + } + string timeStr = string.Empty; + int hour = second / 3600; + int minu = second % 3600 / 60; + int sec = second % 60; + if (hour > 0) + { + timeStr += $"{hour}{Language.StringByID(R.MyInternationalizationString.Hour)}"; + if (minu > 0) + { + timeStr += $"{minu}{Language.StringByID(R.MyInternationalizationString.Minute)}"; + } + if (sec > 0) + { + timeStr += $"{sec}{Language.StringByID(R.MyInternationalizationString.Second)}"; + } + return timeStr; + } + else if (minu > 0) + { + timeStr += $"{minu}{Language.StringByID(R.MyInternationalizationString.Minute)}"; + if (sec > 0) + { + timeStr += $"{sec}{Language.StringByID(R.MyInternationalizationString.Second)}"; + } + return timeStr; + } + else + { + return $"{sec}{Language.StringByID(R.MyInternationalizationString.Second)}"; + } + } + + /// <summary> /// 鑷畾涔夋帶浠�(闇�瑕佺殑瀹冪Щ闄や簨浠�) /// </summary> private class MyProgressLoading : ProgressLoading -- Gitblit v1.8.0