mac
2023-11-06 54c202bd4867092fca2bc6f96bec0cfd1056a46a
HDL_ON/UI/UI2/3-Intelligence/Scene/SceneFunctionListChoosePage.cs
@@ -128,7 +128,11 @@
            };
            bodyView.AddChidren(functionListView);
            foreach (var function in FunctionList.List.Functions)
            List<Function> showList = new List<Function>();
            showList.AddRange(FunctionList.List.Functions);
            showList.AddRange(FunctionList.List.groupControls);
            foreach (var function in showList)
            {
                if (!MainPage.SceneSupportFunctionList.Contains(function.spk))
                {
@@ -165,22 +169,28 @@
            else
            {
                var selectedRoom = Room.CurrentSpatial.RoomList.Find((obj) => obj.uid == DB_ResidenceData.Instance.sceneChooseRoomId);
                var listAllFun = new List<Function>();
                var listFun = new List<Function>();
                listAllFun.AddRange(unallocatedList);
                listAllFun.AddRange(allocatedList);
                btnFloor.Text = selectedRoom.floorRoomName;
                foreach(var funtion in listAllFun)
                if (selectedRoom == null)
                {
                    if (funtion.roomIds.Contains(selectedRoom.roomId))
                    {
                        listFun.Add(funtion);
                    }
                    LoadFunctionListRow(null);
                }
                LoadFunctionListRow(listFun);
                else
                {
                    var listAllFun = new List<Function>();
                    var listFun = new List<Function>();
                    listAllFun.AddRange(unallocatedList);
                    listAllFun.AddRange(allocatedList);
                    btnFloor.Text = selectedRoom.floorRoomName;
                    foreach (var funtion in listAllFun)
                    {
                        if (funtion.roomIds.Contains(selectedRoom.roomId))
                        {
                            listFun.Add(funtion);
                        }
                    }
                    LoadFunctionListRow(listFun);
                }
            }
@@ -190,9 +200,8 @@
        /// <summary>
        /// 显示功能Row
        /// </summary>
        void LoadFunctionListRow(List<Function> functions)
        void LoadFunctionListRow(List<Function> functions, bool isAppend = false)
        {
            functionListView.RemoveAll();
            if (functions == null)
            {
                //初始值
@@ -200,8 +209,20 @@
                functions.AddRange(unallocatedList);
                functions.AddRange(allocatedList);
            }
            foreach (var function in functions)
            if (!isAppend)
            {
                showCount = -1;
                functionListView.RemoveAll();
            }
            for (var i = 0; i < 100; i++)
            //foreach (var function in functions)
            {
                showCount++;
                if (showCount >= functions.Count)
                {
                    break;
                }
                var function = functions[showCount];
                if (!MainPage.SceneSupportFunctionList.Contains(function.spk))
                {
                    continue;
@@ -280,10 +301,33 @@
                };
                functionRow.AddChidren(btnChooseIcon);
                LoadEvent_SkipEditFunctionInfo(functionRow, btnFunctionFloorName, btnChooseIcon, btnFunctionName, function);
            }
            if (functions.Count > showCount)
            {
                var btnAppend = new Button()
                {
                    Height = Application.GetRealHeight(60),
                    TextAlignment = TextAlignment.Center,
                    TextSize = CSS_FontSize.SubheadingFontSize,
                    TextColor = CSS_Color.FirstLevelTitleColor,
                    TextID = StringId.LoadMore,
                };
                functionListView.AddChidren(btnAppend);
                btnAppend.MouseUpEventHandler = (sender, e) =>
                {
                    btnAppend.RemoveFromParent();
                    LoadFunctionListRow(functions, true);
                };
            }
        }
        /// <summary>
        /// 显示的设备的总数
        /// </summary>
        int showCount = -1;
        /// <summary>
        /// 住宅列表点击事件