From c1cb2d8c6034a2ee7aa8a5710bba15b14f76cebc Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期五, 18 八月 2023 18:54:31 +0800 Subject: [PATCH] 2023年08月18日18:54:22 --- HDL_ON/UI/UI2/2-Classification/FunctionPage.cs | 128 ++++++++++++++++++++++++++---------------- 1 files changed, 80 insertions(+), 48 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs index 5ba2bed..f7fe3ad 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionPage.cs @@ -12,7 +12,7 @@ /// <summary> /// 褰撳墠绐椾綋 /// </summary> - static FrameLayout bodyView; + public static FunctionPage bodyView; /// <summary> /// 妤煎眰閫夋嫨涓嬫媺鍥炬爣 /// </summary> @@ -28,18 +28,41 @@ #endregion List<Function> functionList; + int titleId; public FunctionPage() { bodyView = this; functionList = new List<Function>(); + } - public void LoadPage(int titleId) + /// <summary> + /// 閲嶈浇鐣岄潰 + /// </summary> + public void ReLoadPage() { + if (bodyView != null) + { + try + { + bodyView.RemoveAll(); + LoadPage(this.titleId); + functionList = new List<Function>(); + } + catch (Exception ex) + { + MainPage.Log($"FunctionPage ReloadPage error :\r\n {ex.Message}"); + } + } + } + + public void LoadPage(int titleId_out) + { + this.titleId = titleId_out; bodyView.BackgroundColor = CSS_Color.BackgroundColor; - if (titleId == StringId.Lights) + if (titleId == StringId.Lights && !DB_ResidenceData.Instance.HomeGateway.isSupportGroupControl) { Action action = () => { @@ -141,18 +164,12 @@ if (titleId == StringId.Lights) { + //functionList.AddRange(FunctionList.List.groupControls); functionList.AddRange(FunctionList.List.GetLightList()); - var lightScene = FunctionList.List.scenes.FindAll((obj) => obj.sceneType == SceneType.LightScene); - - foreach (var scene in lightScene) - { - functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); - - var sceneRow = new SceneControlZone(scene); - functionListView.AddChidren(sceneRow); - sceneRow.LoadView(); - } - + } + else if(titleId == StringId.HorseRaceLamp) + { + functionList.AddRange(FunctionList.List.GetSeries()); } else if (titleId == StringId.AC) { @@ -169,6 +186,8 @@ else if (titleId == StringId.Electric) { functionList.AddRange(FunctionList.List.GetElectricals()); + functionList.Add(new Function { spk = SPK.ElectricalTvHisense, name = "娴蜂俊鐢佃1",sid="123456789"}); + functionList.Add(new Function { spk = SPK.ElectricalTvHisense, name = "娴蜂俊鐢佃2", sid = "1234567890" }); } else if (titleId == StringId.EnvironmentalScience) { @@ -182,11 +201,11 @@ { functionList.AddRange(FunctionList.List.GetAirFreshList()); } - else if(titleId == StringId.MechanicalArm) + else if (titleId == StringId.MechanicalArm) { functionList.AddRange(FunctionList.List.GetMechanicalArmList()); } - else if(titleId == StringId.SecurityMonitoring) + else if (titleId == StringId.SecurityMonitoring) { functionList.AddRange(FunctionList.List.GetIpCamImouList()); } @@ -197,28 +216,13 @@ 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; + int showCount = -1; /// <summary> /// 鍔犺浇鍔熻兘row /// </summary> @@ -236,18 +240,34 @@ { if (!isAppend) { - showCount = 0; + showCount = -1; functionListView.RemoveAll(); + #region 鍔犺浇缁勫悎璋冨厜鍦烘櫙 + if (titleId == StringId.Lights) + { + foreach (var lightScene in FunctionList.List.scenes) + { + if (lightScene.sceneType == SceneType.LightScene) + if (lightScene != null) + { + var sceneRow = new SceneControlZone(lightScene); + functionListView.AddChidren(sceneRow); + sceneRow.LoadView(); + functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); + } + } + } + #endregion } - int i = 0; - foreach (var function in showList) + for (var i = 0;i<50;i++) + //foreach (var function in showList) { - i++; - if (i > 50) + showCount++; + if (showCount >= showList.Count) { break; } - showCount++; + var function = showList[showCount]; if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2) { @@ -255,7 +275,7 @@ } if (function.spk == SPK.LightRGBW || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) { - var functionDiv = new FunctionControlZone(function) + var functionDiv = new FunctionControlZone(function,null) { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), @@ -267,11 +287,12 @@ Tag = function.spk + function.sid }; functionDiv.LoadFunctionDiv(); + functionDiv.OrderEvent = OrderEvent; functionListView.AddChidren(functionDiv); } else if (function.spk == SPK.IpCam_Imou) { - var functionDiv = new FunctionControlZone(function) + var functionDiv = new FunctionControlZone(function,null) { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), @@ -288,7 +309,7 @@ } else { - var functionDiv = new FunctionControlZone(function) + var functionDiv = new FunctionControlZone(function,null) { Gravity = Gravity.CenterHorizontal, Width = Application.GetRealWidth(343), @@ -300,6 +321,7 @@ Tag = function.spk + function.sid }; functionDiv.LoadFunctionDiv(); + functionDiv.OrderEvent = OrderEvent; functionListView.AddChidren(functionDiv); } functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(10) }); @@ -312,12 +334,8 @@ TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.SubheadingFontSize, TextColor = CSS_Color.FirstLevelTitleColor, - Text = "鍔犺浇鏇村", + TextID = StringId.LoadMore, }; - if (Language.CurrentLanguage != "Chinese") - { - btnAppend.Text = "Load more"; - } functionListView.AddChidren(btnAppend); btnAppend.MouseUpEventHandler = (sender, e) => { @@ -346,7 +364,21 @@ }) { IsBackground = true }.Start(); } - + /// <summary> + /// 鎺掑簭浜嬩欢 + /// </summary> + void OrderEvent() + { + Action action = () => + { + functionList = functionList.OrderBy(o => o.FunctionOrderNumber).ToList(); + ShowFunctionRow(functionList); + }; + var skipView = new OrderFunctionPage(); + MainPage.BasePageView.AddChidren(skipView); + skipView.LoadPage(functionList, action); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + } ///// <summary> ///// 鍔犺浇鍔熻兘绫诲瀷鎺у埗鍗$墖 -- Gitblit v1.8.0