From 31b046ab4f95a032fbf35e57b29b1b60c62eee63 Mon Sep 17 00:00:00 2001 From: cpf <1105965053@qq.com> Date: Tue, 14 Dec 2021 10:40:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=AE=9A=E4=B9=89=E7=AE=A1=E9=81=93?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/pages/facility-sort.pipe.ts | 67 +++++++++++++++++++ .../left-domain/left-domain.component.html | 4 +- .../left-domain/left-domain.component.ts | 1 - src/app/pages/pages.module.ts | 3 +- 4 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 src/app/pages/facility-sort.pipe.ts diff --git a/src/app/pages/facility-sort.pipe.ts b/src/app/pages/facility-sort.pipe.ts new file mode 100644 index 0000000..46d2c30 --- /dev/null +++ b/src/app/pages/facility-sort.pipe.ts @@ -0,0 +1,67 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { FacilityInfoUIItem } from '../babylon/view/facilityinfoinscene-window/facilityinfo-ui-item'; + +@Pipe({ + name: 'facilitySort' +}) +export class FacilitySortPipe implements PipeTransform { + + transform(items: FacilityInfoUIItem[]) { + items.forEach(item=>{ + if (!this.isHasNumber(item.getPropertyData().name)) { + item.getPropertyData().name = this.handleChineseNumber(item.getPropertyData().name) + } + }) + items.sort(function (a, b) { + var _a = a.getPropertyData().name.match(/^(.*?)(\d*)$/); + var _b = b.getPropertyData().name.match(/^(.*?)(\d*)$/); + if (_a[1] === _b[1]) { + return parseInt(_a[2] || 0) - parseInt(_b[2] || 0); + } else { + return _a[1].localeCompare(_b[1]); + } + }) + return items; + } + + //处理 汉字数字 + handleChineseNumber(str: string): string { + if (str.includes('一')) { + str = str.replace("一", "") + return `1${str}` + } else if (str.includes('二')) { + str = str.replace("二", "") + return `2${str}` + } else if (str.includes('三')) { + str = str.replace("三", "") + return `3${str}` + } else if (str.includes('四')) { + str = str.replace("四", "") + return `4${str}` + } else if (str.includes('五')) { + str = str.replace("五", "") + return `5${str}` + } else if (str.includes('六')) { + str = str.replace("六", "") + return `6${str}` + } else if (str.includes('七')) { + str = str.replace("七", "") + return `7${str}` + } else if (str.includes('八')) { + str = str.replace("八", "") + return `8${str}` + } else if (str.includes('九')) { + str = str.replace("九", "") + return `9${str}` + } else { + return str + } + } + + //正则校验 是否包含阿拉伯数字 + isHasNumber(str: string): boolean { + let reg = /\d/; + return reg.test(str) + } + +} diff --git a/src/app/pages/left-domain/left-domain.component.html b/src/app/pages/left-domain/left-domain.component.html index c7fadf5..8c3842b 100644 --- a/src/app/pages/left-domain/left-domain.component.html +++ b/src/app/pages/left-domain/left-domain.component.html @@ -47,7 +47,7 @@
-
+

@@ -73,7 +73,7 @@
-
+

diff --git a/src/app/pages/left-domain/left-domain.component.ts b/src/app/pages/left-domain/left-domain.component.ts index dff46d2..b21ac8e 100644 --- a/src/app/pages/left-domain/left-domain.component.ts +++ b/src/app/pages/left-domain/left-domain.component.ts @@ -130,7 +130,6 @@ export class LeftDomainComponent implements OnInit { } PlanComponent.instance.isShowLoading = true //打开遮罩 let institutionKey = `${PlanComponent.instance.companyData.id}` || "ceshi"; //单位id - console.log(PlanComponent.instance.buildingUIItems, PlanComponent.instance.beforeOneBuildingID); let buildingKey = PlanComponent.instance.buildingUIItems.find(item => { return item.getBuildingID() == PlanComponent.instance.beforeOneBuildingID }) let url = DataManager.getResPath_facilityProperty(institutionKey, buildingKey ? buildingKey.getBuildingID() : "building", item.getType(), item.getID(), null) ServeManager.instance.openFileSelect(file, url, (name: string, path: string) => { //上传 diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index 5511d88..dbf5a42 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -54,11 +54,12 @@ import { OilUnloadingProcessComponent } from './oil-unloading-process/oil-unload import { HomePageComponent } from './home-page/home-page.component'; import { OilUnloadingProcessListComponent } from './oil-unloading-process-list/oil-unloading-process-list.component'; import { ChangePasswordComponent } from './change-password/change-password.component'; +import { FacilitySortPipe } from './facility-sort.pipe'; @NgModule({ declarations: [LoginComponent, RegisterComponent, HomeComponent, PlanComponent, TodayWarningComponent, CriminalRecordsComponent, TodayWarningAdminComponent, CriminalRecordsAdminComponent, LeftDomainComponent, EquipmentInfoComponent, OilStationInfoComponent, - AddequipmentComponent, EditequipmentComponent,PlanAdminComponent, GetOutOfLineDetailsComponent, DispositionComponent, OilUnloadingProcessComponent, HomePageComponent, OilUnloadingProcessListComponent, ChangePasswordComponent], + AddequipmentComponent, EditequipmentComponent,PlanAdminComponent, GetOutOfLineDetailsComponent, DispositionComponent, OilUnloadingProcessComponent, HomePageComponent, OilUnloadingProcessListComponent, ChangePasswordComponent, FacilitySortPipe], imports: [