陈嘉乐
2020-10-13 611786df5108dca0bdcff03834cc285cba4b8e61
HDL_ON/UI/UI2/4-PersonalCenter/ResidentialManage/FloorsManagementPage.cs
@@ -39,6 +39,10 @@
        /// 后退回调事件
        /// </summary>
        Action backAction;
        /// <summary>
        /// 最后一次点击的按钮
        /// </summary>
        Button lastButton;
        public FloorsManagementPage()
        {
@@ -61,11 +65,10 @@
        {
            bodyView.RemoveAll();
            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
            refreshFloorList = (type,floor) => {
                RefreshFloorsListView(type, floor);
            refreshFloorList = (type,floorName) => {
                RefreshFloorsListView(type, floorName);
            };
            new TopViewDiv(bodyView, Language.StringByID(StringId.FloorsManagement)).LoadTopView("floors",refreshFloorList,backAction);
            //new PublicAssmebly().LoadTopView(bodyView, Language.StringByID(StringId.FloorsManagement),"floors",topCallBcak);
            int count = DB_ResidenceData.residenceData.floors.Count > 8 ? 8 : DB_ResidenceData.residenceData.floors.Count;
            var contentViewHeight = (count + 1) * Application.GetRealHeight(50);
@@ -117,12 +120,12 @@
        /// 加载楼层Row
        /// </summary>
        /// <param name="floor"></param>
        void LoadFloorRow(string floor)
        void LoadFloorRow(Floor floor)
        {
            var row = new RowLayout()
            {
                Height = Application.GetRealHeight(50),
                Tag = floor,
                Tag = floor.name,
                LineColor = CSS_Color.DividingLineColor,
            };
            floorsListView.AddChidren(row);
@@ -134,26 +137,31 @@
                TextSize = CSS_FontSize.SubheadingFontSize,
                TextColor = CSS_Color.TextualColor,
                SelectedTextColor = CSS_Color.MainColor,
                Text = floor,
                Text = floor.name,
                Tag = floor.sid,
            };
            row.AddChidren(btnFloor);
            if (room == null)
            {
                LoadEvent_FloorNamgeChange(btnFloor);
                var btnDel = new Button()
                {
                    TextID = StringId.Del,
                    BackgroundColor = CSS_Color.WarningColor,
                    TextColor = CSS_Color.MainBackgroundColor,
                    Tag = DB_ResidenceData.residenceData.floors.IndexOf(floor)
                    Tag = floor.name
                };
                row.AddRightView(btnDel);
                LoadEvent_DelFloor(btnDel);
                LoadEvent_FloorNamgeChange(btnFloor,btnDel,row,floor);
            }
            else {
                LoadEvent_FloorChoose(btnFloor);
                if (room.floorId == floor.sid)
                {
                    lastButton = btnFloor;
                    btnFloor.IsSelected = true;
                }
            }
        }
@@ -164,8 +172,9 @@
                case "add":
                    try
                    {
                        DB_ResidenceData.residenceData.floors.Add(floorName);
                        LoadFloorRow(floorName);
                        var f = new Floor() { sid = Guid.NewGuid().ToString(), name = floorName };
                        DB_ResidenceData.residenceData.floors.Add(f);
                        LoadFloorRow(f);
                    }
                    catch (Exception ex)
                    {
@@ -191,16 +200,16 @@
                    }
                    break;
                case "del":
                    //该楼层删除之后,绑定该楼层的房间要重置绑定的楼层
                    foreach (var r in DB_ResidenceData.residenceData.rooms)
                    {
                        if (r.floorId == DB_ResidenceData.residenceData.floors.Find((obj) => obj.name == floorName).sid)
                        {
                            r.floorId = "";
                        }
                    }
                    for (int i = 0; i < floorsListView.ChildrenCount; i++)
                    {
                        //该楼层删除之后,绑定该楼层的房间要重置绑定的楼层
                        foreach (var r in DB_ResidenceData.residenceData.rooms)
                        {
                            if (r.floorIndex == DB_ResidenceData.residenceData.floors.IndexOf(floorName))
                            {
                                r.floorIndex = -1;
                            }
                        }
                        if (floorsListView.GetChildren(i).GetType() == typeof(Button))
                        {
                            Button btn = floorsListView.GetChildren(i) as Button;
@@ -221,7 +230,7 @@
                                row.RemoveFromParent();
                            }
                        }
                        DB_ResidenceData.residenceData.floors.Remove(floorName);
                        DB_ResidenceData.residenceData.floors.Remove(DB_ResidenceData.residenceData.floors.Find((obj) => obj.name == floorName));
                    }
                    break;
            }