From a9d1161b1df96e7ddad566335989a1444e433ef5 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 28 三月 2023 11:54:45 +0800 Subject: [PATCH] 2023年03月28日11:52:02 --- HDL_ON/UI/UI2/2-Classification/FunctionPage.cs | 186 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 148 insertions(+), 38 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs index 0af5488..5ba2bed 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs @@ -182,59 +182,169 @@ { functionList.AddRange(FunctionList.List.GetAirFreshList()); } - functionList.OrderByDescending(o => o.controlCounter).ToList(); + else if(titleId == StringId.MechanicalArm) + { + functionList.AddRange(FunctionList.List.GetMechanicalArmList()); + } + else if(titleId == StringId.SecurityMonitoring) + { + functionList.AddRange(FunctionList.List.GetIpCamImouList()); + } + functionList = functionList.OrderByDescending(o => o.controlCounter).ToList(); ShowFunctionRow(functionList); LoadDialog_ChangeFloor(); - } + + #region 鍔犺浇缁勫悎璋冨厜鍦烘櫙 + if (titleId == StringId.Lights) + { + foreach (var lightScene in FunctionList.List.scenes) + { + if (lightScene.sceneType == SceneType.LightScene) + if (lightScene != null) + { + functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); + var sceneRow = new SceneControlZone(lightScene); + functionListView.AddChidren(sceneRow); + sceneRow.LoadView(); + } + } + } + #endregion + + } + /// <summary> + /// 鏄剧ず鐨勮澶囩殑鎬绘暟 + /// </summary> + int showCount = 0; /// <summary> /// 鍔犺浇鍔熻兘row /// </summary> - void ShowFunctionRow(List<Function> showList) + void ShowFunctionRow(List<Function> showList, bool isAppend = false) { - functionListView.RemoveAll(); - foreach (var function in showList) + var waitPage = new Loading(); + bodyView.AddChidren(waitPage); + waitPage.Start(""); + + new System.Threading.Thread(() => { - if(function.spk == SPK.SensorDryContact|| function.spk == SPK.SensorDryContact2) + try { - continue; - } - if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) - { - var functionDiv = new FunctionControlZone(function) + Application.RunOnMainThread(() => { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(116), - Radius = (uint)Application.GetMinRealAverage(12), - BorderColor = 0x00FFFFFF, - BorderWidth = 1, - BackgroundColor = CSS_Color.MainBackgroundColor, - Tag = function.spk + function.sid - }; - functionDiv.LoadFunctionDiv(); - functionListView.AddChidren(functionDiv); + if (!isAppend) + { + showCount = 0; + functionListView.RemoveAll(); + } + int i = 0; + foreach (var function in showList) + { + i++; + if (i > 50) + { + break; + } + showCount++; + + if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2) + { + continue; + } + if (function.spk == SPK.LightRGBW || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) + { + var functionDiv = new FunctionControlZone(function) + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(116), + Radius = (uint)Application.GetMinRealAverage(12), + BorderColor = 0x00FFFFFF, + BorderWidth = 1, + BackgroundColor = CSS_Color.MainBackgroundColor, + Tag = function.spk + function.sid + }; + functionDiv.LoadFunctionDiv(); + functionListView.AddChidren(functionDiv); + } + else if (function.spk == SPK.IpCam_Imou) + { + var functionDiv = new FunctionControlZone(function) + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(96), + Radius = (uint)Application.GetMinRealAverage(12), + BorderColor = 0x00FFFFFF, + BorderWidth = 1, + BackgroundColor = CSS_Color.MainBackgroundColor, + Tag = function.spk + function.sid + }; + functionDiv.LoadFunctionDiv(); + functionListView.AddChidren(functionDiv); + + } + else + { + var functionDiv = new FunctionControlZone(function) + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(96), + Radius = (uint)Application.GetMinRealAverage(12), + BorderColor = 0x00FFFFFF, + BorderWidth = 1, + BackgroundColor = CSS_Color.MainBackgroundColor, + Tag = function.spk + function.sid + }; + functionDiv.LoadFunctionDiv(); + functionListView.AddChidren(functionDiv); + } + functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(10) }); + } + if (showList.Count > showCount) + { + var btnAppend = new Button() + { + Height = Application.GetRealHeight(60), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.SubheadingFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + Text = "鍔犺浇鏇村", + }; + if (Language.CurrentLanguage != "Chinese") + { + btnAppend.Text = "Load more"; + } + functionListView.AddChidren(btnAppend); + btnAppend.MouseUpEventHandler = (sender, e) => + { + btnAppend.RemoveFromParent(); + ShowFunctionRow(showList, true); + }; + } + + }); } - else + catch (Exception ex) { - var functionDiv = new FunctionControlZone(function) - { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(96), - Radius = (uint)Application.GetMinRealAverage(12), - BorderColor = 0x00FFFFFF, - BorderWidth = 1, - BackgroundColor = CSS_Color.MainBackgroundColor, - Tag = function.spk + function.sid - }; - functionDiv.LoadFunctionDiv(); - functionListView.AddChidren(functionDiv); + MainPage.Log("ShowFunctionRowError : " + ex.Message); } - functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(10) }); - } + finally + { + Application.RunOnMainThread(() => + { + if (waitPage != null) + { + waitPage.RemoveFromParent(); + waitPage = null; + } + }); + } + }) + { IsBackground = true }.Start(); } -- Gitblit v1.8.0