summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-portal')
-rw-r--r--usecaseui-portal/package-lock.json76
-rw-r--r--usecaseui-portal/package.json2
-rw-r--r--usecaseui-portal/src/app/app-routing.module.ts9
-rw-r--r--usecaseui-portal/src/app/app.component.html54
-rw-r--r--usecaseui-portal/src/app/app.component.ts51
-rw-r--r--usecaseui-portal/src/app/app.module.ts14
-rw-r--r--usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts7
-rw-r--r--usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html3
-rw-r--r--usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less0
-rw-r--r--usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts15
-rw-r--r--usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.css (renamed from usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css)0
-rw-r--r--usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.html (renamed from usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html)0
-rw-r--r--usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.less (renamed from usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less)0
-rw-r--r--usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts (renamed from usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts)6
-rw-r--r--usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.ts (renamed from usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts)44
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts10
-rw-r--r--usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts30
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html8
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less0
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts15
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html3
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less0
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts15
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html37
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less3
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts43
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html149
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less15
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts25
-rw-r--r--usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts61
-rw-r--r--usecaseui-portal/src/assets/i18n/cn.json258
-rw-r--r--usecaseui-portal/src/assets/i18n/en.json258
36 files changed, 957 insertions, 354 deletions
diff --git a/usecaseui-portal/package-lock.json b/usecaseui-portal/package-lock.json
index e1653e5e..7fa0c160 100644
--- a/usecaseui-portal/package-lock.json
+++ b/usecaseui-portal/package-lock.json
@@ -851,24 +851,34 @@
"dev": true
},
"axios": {
- "version": "0.15.3",
- "resolved": "http://registry.npmjs.org/axios/-/axios-0.15.3.tgz",
- "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
- "dev": true,
- "optional": true,
+ "version": "0.19.0",
+ "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.19.0.tgz",
+ "integrity": "sha1-jgm/89kSLhM/e4EByPvdAO09Krg=",
"requires": {
- "follow-redirects": "1.0.0"
+ "follow-redirects": "1.5.10",
+ "is-buffer": "^2.0.2"
},
"dependencies": {
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz",
+ "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=",
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
"follow-redirects": {
- "version": "1.0.0",
- "resolved": "http://registry.npmjs.org/follow-redirects/-/follow-redirects-1.0.0.tgz",
- "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
- "dev": true,
- "optional": true,
+ "version": "1.5.10",
+ "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.5.10.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.5.10.tgz",
+ "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=",
"requires": {
- "debug": "^2.2.0"
+ "debug": "=3.1.0"
}
+ },
+ "is-buffer": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-2.0.4.tgz?cache=0&sync_timestamp=1569905495687&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-buffer%2Fdownload%2Fis-buffer-2.0.4.tgz",
+ "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM="
}
}
},
@@ -7428,6 +7438,16 @@
"streamroller": "0.7.0"
},
"dependencies": {
+ "axios": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.15.3.tgz",
+ "integrity": "sha1-LJ1jiy4ZGgjqHWzJiOrda6W9wFM=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "follow-redirects": "1.0.0"
+ }
+ },
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@@ -7437,6 +7457,35 @@
"ms": "^2.1.1"
}
},
+ "follow-redirects": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.0.0.tgz",
+ "integrity": "sha1-jjQpjL0uF28lTv/sdaHHjMhJ/Tc=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "debug": "^2.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz",
+ "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fms%2Fdownload%2Fms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
@@ -8024,8 +8073,7 @@
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multicast-dns": {
"version": "6.2.3",
diff --git a/usecaseui-portal/package.json b/usecaseui-portal/package.json
index 067fe771..eabd63d0 100644
--- a/usecaseui-portal/package.json
+++ b/usecaseui-portal/package.json
@@ -61,4 +61,4 @@
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
-} \ No newline at end of file
+}
diff --git a/usecaseui-portal/src/app/app-routing.module.ts b/usecaseui-portal/src/app/app-routing.module.ts
index 55a2c5ba..8c8bf2e8 100644
--- a/usecaseui-portal/src/app/app-routing.module.ts
+++ b/usecaseui-portal/src/app/app-routing.module.ts
@@ -20,8 +20,10 @@ import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './views/home/home.component';
import { ManagementComponent } from './views/management/management.component';
import { FcapsComponent } from './views/fcaps/fcaps.component';
+import { Monitor5gComponent } from './views/fcaps/monitor-5g/monitor-5g.component';
import { ServicesListComponent } from './views/services/services-list/services-list.component';
-import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component';
+import { SlicingManagementComponent } from './views/services/slicing-management/slicing-management.component';
+import { OnboardVnfVmComponent } from './views/onboard-vnf-vm/onboard-vnf-vm.component';
import { AlarmComponent } from './views/alarm/alarm.component';
import { PerformanceComponent } from './views/performance/performance.component';
import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component';
@@ -45,8 +47,11 @@ const routes: Routes = [
{ path: 'home', component: HomeComponent },
{ path: 'management', component: ManagementComponent },
{ path: 'fcaps', component: FcapsComponent },
+ { path: 'fcaps/5gslicing', component: Monitor5gComponent },
{ path: 'services/services-list', component: ServicesListComponent },
- { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent },
+ { path: 'services/slicing-management', component: SlicingManagementComponent },
+ // { path: 'services/onboard-vnf-vm', component: OnboardVnfVmComponent },
+ { path: 'onboard-vnf-vm', component: OnboardVnfVmComponent },
{ path: 'alarm', component: AlarmComponent },
{ path: 'performance', component: PerformanceComponent },
{ path: 'performance/performance-vnf', component: PerformanceVnfComponent },
diff --git a/usecaseui-portal/src/app/app.component.html b/usecaseui-portal/src/app/app.component.html
index f5ee199c..c64bf307 100644
--- a/usecaseui-portal/src/app/app.component.html
+++ b/usecaseui-portal/src/app/app.component.html
@@ -19,6 +19,7 @@
<img src="assets/images/uui-logo130.png" alt="">
</div>
<ul nz-menu [nzTheme]="'dark'" [nzMode]="'inline'">
+ <!-- home page -->
<li nz-menu-item [ngClass]="{'activeMenuBar': url === 'home'}">
<a routerLink="home">
<span title>
@@ -31,6 +32,7 @@
</a>
</li>
<hr>
+ <!-- customer page -->
<li nz-menu-item [ngClass]="{'activeMenuBar': url === 'management'}">
<a routerLink="management">
<span title>
@@ -44,18 +46,7 @@
</a>
</li>
<hr>
- <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'fcaps'}">
- <a routerLink="fcaps">
- <span title>
- <i>
- <img src="{{ url === 'fcaps' ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}"
- alt="home">
- </i>
- <span> {{"i18nTextDefine_Monitor" | translate}} </span>
- </span>
- </a>
- </li>
- <hr>
+ <!-- service page -->
<li nz-submenu [ngClass]="{'activeMenuBar': url.indexOf('services') === 0}" [nzOpen]="flag">
<span title>
<i>
@@ -66,15 +57,32 @@
{{"i18nTextDefine_Services" | translate}}
</span>
<ul>
+ <!-- all kinds of package management -->
<li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/services-list'}">
<a routerLink='services/services-list'> {{"i18nTextDefine_ServicesList" | translate}} </a>
</li>
- <li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/onboard-vnf-vm'}">
- <a routerLink='services/onboard-vnf-vm'> {{"i18nTextDefine_PackageManagement" | translate}} </a>
+ <!-- 5g slicing management -->
+ <li nz-menu-item [ngClass]="{'activeMenuList': url === 'services/slicing-management'}">
+ <a routerLink='services/slicing-management'> {{"i18nTextDefine_Mangement_5g" | translate}} </a>
</li>
</ul>
</li>
<hr>
+ <!-- package page -->
+ <li nz-menu-item [ngClass]="{'activeMenuBar': url === 'onboard-vnf-vm'}">
+ <a routerLink="onboard-vnf-vm">
+ <span title>
+ <i>
+ <img
+ src="{{url === 'onboard-vnf-vm' ? 'assets/images/customer-icon-active.png':'assets/images/customer-icon.png'}}"
+ alt="home">
+ </i>
+ <span>{{"i18nTextDefine_PackageManagement" | translate}} </span>
+ </span>
+ </a>
+ </li>
+ <hr>
+ <!-- network page -->
<li nz-menu-item [ngClass]="{'activeMenuBar': url === 'network'}">
<a routerLink="network">
<span title>
@@ -87,6 +95,24 @@
</span>
</a>
</li>
+ <hr>
+ <!-- monitor page -->
+ <li nz-submenu [ngClass]="{'activeMenuBar': url.indexOf('fcaps') === 0}" [nzOpen]="monitorflag">
+ <span title>
+ <i>
+ <img src="{{ url === 'fcaps' ? 'assets/images/monitor-icon-active.png':'assets/images/monitor-icon.png'}}"
+ alt="home">
+ </i>
+ <span> {{"i18nTextDefine_Monitor" | translate}} </span>
+ </span>
+ <ul>
+ <li nz-menu-item [ngClass]="{'activeMenuList': url === 'fcaps/5gslicing'}">
+ <a routerLink='fcaps/5gslicing'> {{"i18nTextDefine_Monitor_5g" | translate}} </a>
+ </li>
+ </ul>
+
+ </li>
+ <hr>
</ul>
</nz-sider>
<nz-layout class="main">
diff --git a/usecaseui-portal/src/app/app.component.ts b/usecaseui-portal/src/app/app.component.ts
index d8dad5f9..90d5606f 100644
--- a/usecaseui-portal/src/app/app.component.ts
+++ b/usecaseui-portal/src/app/app.component.ts
@@ -13,33 +13,33 @@
See the License for the specific language governing permissions and
limitations under the License.
*/
-import {Component} from '@angular/core';
-import {TranslateService} from '@ngx-translate/core';
-import {ServiceListService} from "./core/services/serviceList.service";
-import {HomesService} from "./core/services/homes.service";
-import {NavigationEnd, Router} from '@angular/router';
+import { Component } from '@angular/core';
+import { TranslateService } from '@ngx-translate/core';
+import { ServiceListService } from "./core/services/serviceList.service";
+import { HomesService } from "./core/services/homes.service";
+import { NavigationEnd, Router } from '@angular/router';
import 'rxjs/add/operator/map';
@Component({
- selector: 'app-root',
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.less']
+ selector: 'app-root',
+ templateUrl: './app.component.html',
+ styleUrls: ['./app.component.less']
})
export class AppComponent {
- public url:string = 'home';
- constructor(private translate: TranslateService,private myhttp: HomesService,private router:Router,) {
+ public url: string = 'home';
+ constructor(private translate: TranslateService, private myhttp: HomesService, private router: Router, ) {
this.currentLanguageGet();
this.getUrl();
}
// Get the current routing path
- getUrl(){
- this.router.events.map(event=> {
- if(event instanceof NavigationEnd){
+ getUrl() {
+ this.router.events.map(event => {
+ if (event instanceof NavigationEnd) {
this.url = event['urlAfterRedirects'].slice(1)
}
- }).subscribe(event=>{})
+ }).subscribe(event => { })
}
//209.05.08 Get the currentLanguage
@@ -51,28 +51,35 @@ export class AppComponent {
this.myhttp.getCurrentLanguage(this.currentloginId)
.subscribe(
(data) => {
- console.log(data,"-------------getCurrentLanguage");
+ console.log(data, "-------------getCurrentLanguage");
this.currentLanguage = data.languageAlias.toLowerCase();
this.translate.use(this.currentLanguage);
- sessionStorage.setItem("DefaultLang",this.currentLanguage);
+ sessionStorage.setItem("DefaultLang", this.currentLanguage);
},
(err) => {
console.log(err);
}
)
- }else {
+ } else {
this.translate.setDefaultLang(this.currentLanguage);
- sessionStorage.setItem("DefaultLang",this.currentLanguage);
+ sessionStorage.setItem("DefaultLang", this.currentLanguage);
}
}
// Whether the submenu expands the identifier
- get flag () {
- if(!this.url.indexOf('services')){
+ get flag() {
+ if (!this.url.indexOf('services')) {
return true
- }else{
+ } else {
return false
}
}
-
+ get monitorflag() {
+ if (!this.url.indexOf('fcaps')) {
+ return true
+ } else {
+ return false
+ }
+ }
+
}
diff --git a/usecaseui-portal/src/app/app.module.ts b/usecaseui-portal/src/app/app.module.ts
index 17804649..f579c7e4 100644
--- a/usecaseui-portal/src/app/app.module.ts
+++ b/usecaseui-portal/src/app/app.module.ts
@@ -41,7 +41,7 @@ import { AppComponent } from './app.component';
import { HomeComponent } from './views/home/home.component';
import { ManagementComponent } from './views/management/management.component';
import { ServicesListComponent } from './views/services/services-list/services-list.component';
-import { OnboardVnfVmComponent } from './views/services/onboard-vnf-vm/onboard-vnf-vm.component';
+import { OnboardVnfVmComponent } from './views/onboard-vnf-vm/onboard-vnf-vm.component';
import { AlarmComponent } from './views/alarm/alarm.component';
import { PerformanceComponent } from './views/performance/performance.component';
import { PerformanceVnfComponent } from './views/performance/performance-vnf/performance-vnf.component';
@@ -79,6 +79,11 @@ import { DeleteModelComponent } from './views/services/services-list/delete-mode
import { NotificationComponent } from './shared/components/notification/notification.component';
import { ScaleModelComponent } from './views/services/services-list/scale-model/scale-model.component';
import { HealModelComponent } from './views/services/services-list/heal-model/heal-model.component';
+import { Monitor5gComponent } from './views/fcaps/monitor-5g/monitor-5g.component';
+import { SlicingManagementComponent } from './views/services/slicing-management/slicing-management.component';
+import { SlicingTaskManagementComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-management.component';
+import { SlicingResourceManagementComponent } from './views/services/slicing-management/slicing-resource-management/slicing-resource-management.component';
+import { SlicingTaskModelComponent } from './views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component';
@NgModule({
providers: [
@@ -124,7 +129,12 @@ import { HealModelComponent } from './views/services/services-list/heal-model/he
DeleteModelComponent,
NotificationComponent,
ScaleModelComponent,
- HealModelComponent
+ HealModelComponent,
+ Monitor5gComponent,
+ SlicingManagementComponent,
+ SlicingTaskManagementComponent,
+ SlicingResourceManagementComponent,
+ SlicingTaskModelComponent
],
imports: [
BrowserModule,
diff --git a/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts b/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts
index 69192c5e..5d144a43 100644
--- a/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts
+++ b/usecaseui-portal/src/app/shared/components/notification/notification.component.spec.ts
@@ -1,4 +1,7 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { TranslateModule } from '@ngx-translate/core';
+import { NzNotificationService } from 'ng-zorro-antd';
+import { NgZorroAntdModule } from 'ng-zorro-antd';
import { NotificationComponent } from './notification.component';
@@ -8,7 +11,9 @@ describe('NotificationComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ NotificationComponent ]
+ declarations: [ NotificationComponent ],
+ imports: [ TranslateModule, NgZorroAntdModule ],
+ providers: [ NzNotificationService ]
})
.compileComponents();
}));
diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html
new file mode 100644
index 00000000..951eb5e7
--- /dev/null
+++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.html
@@ -0,0 +1,3 @@
+<p>
+ monitor-5g works!
+</p>
diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.less
diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts
new file mode 100644
index 00000000..14203595
--- /dev/null
+++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { Monitor5gComponent } from './monitor-5g.component';
+
+describe('Monitor5gComponent', () => {
+ let component: Monitor5gComponent;
+ let fixture: ComponentFixture<Monitor5gComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ Monitor5gComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(Monitor5gComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts
new file mode 100644
index 00000000..128f1ba4
--- /dev/null
+++ b/usecaseui-portal/src/app/views/fcaps/monitor-5g/monitor-5g.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-monitor-5g',
+ templateUrl: './monitor-5g.component.html',
+ styleUrls: ['./monitor-5g.component.less']
+})
+export class Monitor5gComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.css
index 4e80750c..4e80750c 100644
--- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.css
+++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.css
diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.html
index c48d68f9..c48d68f9 100644
--- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.html
+++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.html
diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.less
index f877e1ca..f877e1ca 100644
--- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.less
+++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.less
diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
index 07c8b959..51980b8a 100644
--- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
+++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.spec.ts
@@ -5,7 +5,7 @@ import { HttpClientModule } from '@angular/common/http';
import { NzMessageService, NzModalService } from 'ng-zorro-antd';
import { OnboardVnfVmComponent } from './onboard-vnf-vm.component';
-import { onboardService } from '../../../core/services/onboard.service';
+import { onboardService } from '../../core/services/onboard.service';
describe('OnboardVnfVmComponent', () => {
let component: OnboardVnfVmComponent;
@@ -18,10 +18,10 @@ describe('OnboardVnfVmComponent', () => {
NO_ERRORS_SCHEMA
],
imports: [TranslateModule, HttpClientModule],
- declarations: [ OnboardVnfVmComponent ],
+ declarations: [OnboardVnfVmComponent],
providers: [onboardService, NzMessageService, NzModalService]
})
- .compileComponents();
+ .compileComponents();
}));
beforeEach(() => {
diff --git a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.ts
index 3d312c5c..682f48cf 100644
--- a/usecaseui-portal/src/app/views/services/onboard-vnf-vm/onboard-vnf-vm.component.ts
+++ b/usecaseui-portal/src/app/views/onboard-vnf-vm/onboard-vnf-vm.component.ts
@@ -15,8 +15,8 @@
*/
import { HttpClient, HttpRequest, HttpResponse } from '@angular/common/http';
import { Component, OnInit, HostBinding, TemplateRef, ViewChild } from '@angular/core';
-import { onboardService } from '../../../core/services/onboard.service';
-import { slideToRight } from '../../../shared/utils/animates';
+import { onboardService } from '../../core/services/onboard.service';
+import { slideToRight } from '../../shared/utils/animates';
import { NzMessageService, UploadFile, NzModalRef, NzModalService } from 'ng-zorro-antd';
import { filter } from 'rxjs/operators';
@@ -34,7 +34,7 @@ export class OnboardVnfVmComponent implements OnInit {
tabs: string[] = ['NS', 'VNF', 'PNF'];
currentTab: string = 'NS'
fileList: UploadFile[] = [];
- uploading:boolean = false;
+ uploading: boolean = false;
infoId: string;
display: string = 'block';
@@ -107,13 +107,13 @@ export class OnboardVnfVmComponent implements OnInit {
}
beforeUpload = (file: UploadFile): boolean => {
- this.fileList.splice(0,1,file);
+ this.fileList.splice(0, 1, file);
let API: string;
- if(this.currentTab === 'NS'){
+ if (this.currentTab === 'NS') {
API = 'createNetworkServiceData';
- }else if(this.currentTab === 'VNF'){
+ } else if (this.currentTab === 'VNF') {
API = 'createVnfData';
- }else {
+ } else {
API = 'createPnfData';
}
this.myhttp.getCreatensData(API, this.requestBody)//on-line
@@ -182,7 +182,7 @@ export class OnboardVnfVmComponent implements OnInit {
}
// Get the NS list
- getTableData(): void{
+ getTableData(): void {
this.isSpinning = true;
//ns vfc lists
this.myhttp.getOnboardTableData()
@@ -207,7 +207,7 @@ export class OnboardVnfVmComponent implements OnInit {
}
// Get the vnf list
- getTableVnfData(): void{
+ getTableVnfData(): void {
this.isSpinning = true;
//vnf vfc lists
this.myhttp.getOnboardTableVnfData()
@@ -240,24 +240,24 @@ export class OnboardVnfVmComponent implements OnInit {
this.isSpinning = false; //loading hide
}, (err) => {
console.error(err);
- this.isSpinning = false;
+ this.isSpinning = false;
})
}
// confirm
- showConfirm(requestBody: object, id: string): void{
- let API = this.currentTab === 'NS'? 'getNsonboard' : 'getVnfonboard';
+ showConfirm(requestBody: object, id: string): void {
+ let API = this.currentTab === 'NS' ? 'getNsonboard' : 'getVnfonboard';
this.modalService.confirm({
nzTitle: '<p>Are you sure you want to do this?</p>',
nzOnOk: () => {
this.myhttp[API](requestBody)
.subscribe((data) => {
if (data.status == "success") {
- if(this.currentTab === 'NS'){
+ if (this.currentTab === 'NS') {
this.isUpdate = false;
this.notification.notificationSuccess(this.currentTab, "OnboardingState", id);
this.getTableData();
- }else{
+ } else {
this.jobId = data.jobId;
this.queryProgress(this.jobId, id);
this.getTableVnfData();
@@ -266,7 +266,7 @@ export class OnboardVnfVmComponent implements OnInit {
this.isUpdate = false;
this.notification.notificationFailed(this.currentTab, "OnboardingState", id);
return false
- }
+ }
}, (err) => {
console.log(err);
})
@@ -280,10 +280,10 @@ export class OnboardVnfVmComponent implements OnInit {
this.isUpdate = true;
let requestBody = { "csarId": id };
this.showConfirm(requestBody, id)
- }
+ }
//Progress Progress inquiry
- queryProgress(jobId: string, id: string): any{
+ queryProgress(jobId: string, id: string): any {
let mypromise = new Promise((res) => {
this.myhttp.getProgress(jobId, 0)
.subscribe((data) => {
@@ -297,7 +297,7 @@ export class OnboardVnfVmComponent implements OnInit {
if (data.responseDescriptor.progress > 100) {
this.isUpdate = false;
this.notification.notificationFailed(this.currentTab, 'OnboardingState', id);
- }else if (data.responseDescriptor.progress < 100) {
+ } else if (data.responseDescriptor.progress < 100) {
this.isUpdate = true;
setTimeout(() => {
this.queryProgress(this.jobId, id);
@@ -329,11 +329,11 @@ export class OnboardVnfVmComponent implements OnInit {
//delete nsItem
deleteService(pkgid, resolve) {
let API: string;
- if(this.currentTab === 'NS'){
+ if (this.currentTab === 'NS') {
API = 'deleteNsIdData';
- }else if(this.currentTab === 'VNF'){
+ } else if (this.currentTab === 'VNF') {
API = 'deleteVnfIdData';
- }else{
+ } else {
API = 'deletePnfIdData';
}
this.myhttp[API](pkgid)
@@ -341,7 +341,7 @@ export class OnboardVnfVmComponent implements OnInit {
this.notification.notificationSuccess(this.currentTab, 'OnboardingState', pkgid);
resolve()
//refresh list after successful deletion
- switch(this.currentTab){
+ switch (this.currentTab) {
case 'NS':
this.getTableData();
break
diff --git a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts
index e5e94c94..9057502c 100644
--- a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts
+++ b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.spec.ts
@@ -1,14 +1,20 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { TranslateModule } from '@ngx-translate/core';
+import { NgZorroAntdModule } from 'ng-zorro-antd';
+import { NZ_I18N, en_US } from 'ng-zorro-antd';
+import { FormsModule } from '@angular/forms';
import { DeleteModelComponent } from './delete-model.component';
-describe('DeleteModelComponent', () => {
+fdescribe('DeleteModelComponent', () => {
let component: DeleteModelComponent;
let fixture: ComponentFixture<DeleteModelComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ DeleteModelComponent ]
+ declarations: [ DeleteModelComponent ],
+ imports: [ TranslateModule.forRoot(), NgZorroAntdModule.forRoot(), FormsModule ],
+ providers: [ { provide: NZ_I18N, useValue: en_US } ]
})
.compileComponents();
}));
diff --git a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts
index f9bf9a9c..5ce0d108 100644
--- a/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts
+++ b/usecaseui-portal/src/app/views/services/services-list/delete-model/delete-model.component.ts
@@ -1,25 +1,25 @@
-import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';
+import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
@Component({
- selector: 'app-delete-model',
- templateUrl: './delete-model.component.html',
- styleUrls: ['./delete-model.component.less']
+ selector: 'app-delete-model',
+ templateUrl: './delete-model.component.html',
+ styleUrls: ['./delete-model.component.less']
})
export class DeleteModelComponent implements OnInit {
- @Input()deleteModalVisible: boolean;
- @Input()thisService;
- @Input()terminationType;
- @Input()loadingAnimateShow;
- @Input()templateDeleteSuccessFaild;
- @Input()gracefulTerminationTimeout;
+ @Input() deleteModalVisible: boolean;
+ @Input() thisService;
+ @Input() terminationType;
+ @Input() loadingAnimateShow;
+ @Input() templateDeleteSuccessFaild;
+ @Input() gracefulTerminationTimeout;
- @Output() cancel = new EventEmitter<boolean>();
- @Output() deleteModalOK = new EventEmitter<any>();
+ @Output() cancel = new EventEmitter<boolean>();
+ @Output() deleteModalOK = new EventEmitter<any>();
- constructor() { }
+ constructor() { }
- ngOnInit() {
- }
+ ngOnInit() {
+ }
deleteOk() {
this.deleteModalVisible = false;
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html
new file mode 100644
index 00000000..59401e02
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.html
@@ -0,0 +1,8 @@
+<nz-tabset>
+ <nz-tab nzTitle="Slicing Task Management">
+ <app-slicing-task-management></app-slicing-task-management>
+ </nz-tab>
+ <nz-tab nzTitle="Slicing Resource Management">
+ <app-slicing-resource-management></app-slicing-resource-management>
+ </nz-tab>
+</nz-tabset> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.less
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts
new file mode 100644
index 00000000..25fbf515
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SlicingManagementComponent } from './slicing-management.component';
+
+describe('SlicingManagementComponent', () => {
+ let component: SlicingManagementComponent;
+ let fixture: ComponentFixture<SlicingManagementComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ SlicingManagementComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(SlicingManagementComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts
new file mode 100644
index 00000000..ae2133de
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-management.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-slicing-management',
+ templateUrl: './slicing-management.component.html',
+ styleUrls: ['./slicing-management.component.less']
+})
+export class SlicingManagementComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html
new file mode 100644
index 00000000..0408552d
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.html
@@ -0,0 +1,3 @@
+<p>
+ slicing-resource-management works!
+</p>
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.less
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts
new file mode 100644
index 00000000..6a22984b
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SlicingResourceManagementComponent } from './slicing-resource-management.component';
+
+describe('SlicingResourceManagementComponent', () => {
+ let component: SlicingResourceManagementComponent;
+ let fixture: ComponentFixture<SlicingResourceManagementComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ SlicingResourceManagementComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(SlicingResourceManagementComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts
new file mode 100644
index 00000000..38dc48c8
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-resource-management/slicing-resource-management.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-slicing-resource-management',
+ templateUrl: './slicing-resource-management.component.html',
+ styleUrls: ['./slicing-resource-management.component.less']
+})
+export class SlicingResourceManagementComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() {
+ }
+
+}
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html
new file mode 100644
index 00000000..6a5abe88
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.html
@@ -0,0 +1,37 @@
+<div>
+ <div nz-row>
+ <div nz-col nzSpan="6">
+ <span>Status:</span>
+ <nz-select nzShowSearch nzAllowClear nzPlaceHolder="Select a person" [(ngModel)]="selectedValue">
+ <nz-option nzLabel="Jack" nzValue="jack"></nz-option>
+ <nz-option nzLabel="Lucy" nzValue="lucy"></nz-option>
+ <nz-option nzLabel="Tom" nzValue="tom"></nz-option>
+ </nz-select>
+ </div>
+ </div>
+ <div>
+ <nz-table #basicTable [nzData]="listOfData">
+ <thead>
+ <tr>
+ <th>Name</th>
+ <th>Age</th>
+ <th>Status</th>
+ <th>Action</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr *ngFor="let data of basicTable.data">
+ <td>{{ data.name }}</td>
+ <td>{{ data.age }}</td>
+ <td>{{ data.status===0?"Checking Configuration":"Creating Slicing" }}</td>
+ <td>
+ <a (click)="showdetail(data)">Show Detail</a>
+ </td>
+ </tr>
+ </tbody>
+ </nz-table>
+ </div>
+ <app-slicing-task-model [moduleTitle]="moduleTitle" [showDetail]="showDetail" [modelData]="detailData"
+ (cancel)="showDetail=$event">
+ </app-slicing-task-model>
+</div> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less
new file mode 100644
index 00000000..1de685d6
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.less
@@ -0,0 +1,3 @@
+nz-select {
+ width: 200px;
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts
new file mode 100644
index 00000000..a2631a98
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SlicingTaskManagementComponent } from './slicing-task-management.component';
+
+describe('SlicingTaskManagementComponent', () => {
+ let component: SlicingTaskManagementComponent;
+ let fixture: ComponentFixture<SlicingTaskManagementComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ SlicingTaskManagementComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(SlicingTaskManagementComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts
new file mode 100644
index 00000000..ad29c5ed
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-management.component.ts
@@ -0,0 +1,43 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-slicing-task-management',
+ templateUrl: './slicing-task-management.component.html',
+ styleUrls: ['./slicing-task-management.component.less']
+})
+export class SlicingTaskManagementComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit() { }
+ showDetail: boolean = false;
+ selectedValue = null;
+ detailData: object = {};
+ moduleTitle: string = "";
+ listOfData = [
+ {
+ key: '1',
+ name: 'John Brown',
+ age: 32,
+ status: 0
+ },
+ {
+ key: '2',
+ name: 'Jim Green',
+ age: 42,
+ status: 0
+ },
+ {
+ key: '3',
+ name: 'Joe Black',
+ age: 32,
+ status: 1
+ }
+ ];
+ showdetail(data: any) {
+ console.log(data, this.showDetail)
+ this.detailData = data;
+ this.showDetail = true;
+ this.moduleTitle = data.status === 0 ? "Check Configuration" : "View Progress";
+ }
+}
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html
new file mode 100644
index 00000000..f864dc92
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.html
@@ -0,0 +1,149 @@
+<nz-modal [nzVisible]="showDetail" nzWidth="85%" [nzTitle]="moduleTitle" (nzOnCancel)="handleCancel()"
+ (nzOnOk)="handleOk()">
+ <nz-list class="taskmodel_list" [nzDataSource]="checkDetail" nzBordered [nzHeader]="'配置审核详情:'" [nzFooter]="null"
+ [nzRenderItem]="checkItem">
+ <ng-template #checkItem let-check>
+ <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8">
+ <div nz-col nzSpan="10">
+ <span>Task ID: {{ check.id }}</span>
+ </div>
+ <div nz-col nzSpan="8">
+ <span>Task Name: {{ check.name }}</span>
+ </div>
+ <div nz-col nzSpan="6">
+ <span>S-NSSAI:{{ check.snssai }}</span>
+ </div>
+ </nz-list-item>
+ <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8">
+ <div nz-col nzSpan="10">
+ <span>Arrived Time: {{ check.arrivedtime }}</span>
+ </div>
+ <div nz-col nzSpan="8">
+ <span>Status: {{ check.status }}</span>
+ </div>
+ </nz-list-item>
+ </ng-template>
+ </nz-list>
+
+ <nz-list class="taskmodel_list" [nzDataSource]="businessRequirement" nzBordered [nzHeader]="'业务需求信息:'"
+ [nzFooter]="null" [nzRenderItem]="businessItem">
+ <ng-template #businessItem let-item>
+ <nz-list-item>
+ <span class="ant-typography">Name:</span>
+ {{ item.name }}
+ </nz-list-item>
+ <nz-list-item>
+ <span class="ant-typography">S-NSSAI: </span>
+ {{ item.snssai }}
+ </nz-list-item>
+ <nz-list-item>
+ <span class="ant-typography">Time: </span>
+ {{ item.expiretime }}
+ </nz-list-item>
+ <nz-list-item>
+ <span class="ant-typography">Area: </span>
+ {{ item. area }}
+ </nz-list-item>
+ </ng-template>
+ </nz-list>
+
+ <nz-list class="taskmodel_list" [nzDataSource]="NSTinfo" nzBordered [nzHeader]="'匹配NST信息:'" [nzFooter]="null"
+ [nzRenderItem]="taskItem">
+ <ng-template #taskItem let-item>
+ <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8">
+ <div nz-col nzSpan="12">
+ <span>NST ID: {{ item.id }}</span>
+ </div>
+ <div nz-col nzSpan="12">
+ <span>NST Name: {{ item.name }}</span>
+ </div>
+ </nz-list-item>
+ </ng-template>
+ </nz-list>
+
+
+ <div>
+ <nz-list class="taskmodel_list" nzBordered [nzHeader]="'匹配共享切片实例:'" [nzFooter]="null">
+ <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8">
+ <div nz-col nzSpan="12">
+ 切片实例 ID:
+ <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)">
+ <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option>
+ </nz-select>
+ </div>
+ <div nz-col nzSpan="8">
+ 切片实例名称:{{selectedServiceName}}
+ </div>
+ <div nz-col nzSpan="4">
+ <button nz-button nzType="primary" (click)="resetService()">
+ <i nz-icon class="anticon anticon-plus"></i>
+ </button>
+ </div>
+ </nz-list-item>
+ <nz-list-item nz-row nzType="flex" nzJustify="start" [nzGutter]="8">
+ <p class="listitem_subtitle" nz-col nzSpan="24">匹配的共享切片子网实例:</p>
+ <nz-card nzType="inner" nz-col nzSpan="24" nzTitle="无线域:">
+ <div nz-row [nzGutter]="8">
+ <div nz-col nzSpan="12">
+ 切片子网实例 ID:
+ <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)">
+ <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option>
+ </nz-select>
+ </div>
+ <div nz-col nzSpan="8">
+ 切片子网实例名称:{{selectedServiceName}}
+ </div>
+ <div nz-col nzSpan="4">
+ <button nz-button nzType="primary" (click)="resetService()"> <i nz-icon
+ class="anticon anticon-plus"></i></button>
+ <button nz-button nzType="primary"> <i nz-icon class="anticon anticon-setting"
+ nzTheme="outline"></i></button>
+ </div>
+ </div>
+ </nz-card>
+ <nz-card nzType="inner" nz-col nzSpan="24" style="margin-top:16px;" nzTitle="传输域:">
+ <div nz-row [nzGutter]="8">
+ <div nz-col nzSpan="12">
+ 切片子网实例 ID:
+ <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)">
+ <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option>
+ </nz-select>
+ </div>
+ <div nz-col nzSpan="8">
+ 切片子网实例名称:{{selectedServiceName}}
+ </div>
+ <div nz-col nzSpan="4">
+ <button nz-button nzType="primary" (click)="resetService()"> <i nz-icon
+ class="anticon anticon-plus"></i></button>
+ <button nz-button nzType="primary"> <i nz-icon class="anticon anticon-setting"
+ nzTheme="outline"></i></button>
+ </div>
+ </div>
+ </nz-card>
+ <nz-card nzType="inner" nz-col nzSpan="24" style="margin-top:16px;" nzTitle="核心网域:">
+
+ <div nz-row [nzGutter]="12" nzType="flex" nzAlign="middle">
+ <div nz-col nzSpan="12">
+ 切片子网实例 ID:
+ <nz-select nzShowSearch [(ngModel)]="selectedServiceId" (ngModelChange)="serviceIdChange($event)">
+ <nz-option *ngFor="let p of serviceId" [nzValue]="p" [nzLabel]="p"></nz-option>
+ </nz-select>
+ </div>
+ <div nz-col nzSpan="8">
+ 切片子网实例名称:{{selectedServiceName}}
+ </div>
+ <div nz-col nzSpan="4">
+ <button nz-button nzType="primary" (click)="resetService()">
+ <i nz-icon class="anticon anticon-plus"></i>
+ </button>
+ <button nz-button nzType="primary">
+ <i nz-icon class="anticon anticon-setting" nzTheme="outline"></i>
+ </button>
+ </div>
+ </div>
+ </nz-card>
+ </nz-list-item>
+ </nz-list>
+ </div>
+
+</nz-modal> \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less
new file mode 100644
index 00000000..aad9a554
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.less
@@ -0,0 +1,15 @@
+nz-select {
+ width: 70%;
+}
+
+.taskmodel_list {
+ margin-bottom: 20px;
+
+ .listitem_subtitle {
+ font-size: 14px;
+ color: rgba(0, 0, 0, 0.85);
+ margin-bottom: 16px;
+ font-weight: 500;
+ }
+
+} \ No newline at end of file
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts
new file mode 100644
index 00000000..a6c02728
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { SlicingTaskModelComponent } from './slicing-task-model.component';
+
+describe('SlicingTaskModelComponent', () => {
+ let component: SlicingTaskModelComponent;
+ let fixture: ComponentFixture<SlicingTaskModelComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ SlicingTaskModelComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(SlicingTaskModelComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts
new file mode 100644
index 00000000..2abe8d44
--- /dev/null
+++ b/usecaseui-portal/src/app/views/services/slicing-management/slicing-task-management/slicing-task-model/slicing-task-model.component.ts
@@ -0,0 +1,61 @@
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+
+@Component({
+ selector: 'app-slicing-task-model',
+ templateUrl: './slicing-task-model.component.html',
+ styleUrls: ['./slicing-task-model.component.less']
+})
+export class SlicingTaskModelComponent implements OnInit {
+ @Input() showDetail: boolean;
+ @Input() moduleTitle: string;
+ @Input() modelData: object;
+ @Output() cancel = new EventEmitter<boolean>();
+
+ constructor() { }
+ checkDetail: [{}] = [{
+ id: "b1bb0ce7-ebca-4fa7-95ed-4840d70a1177",
+ name: "5G Slice eMMB",
+ snssai: "1-010101",
+ arrivedtime: "2019-10-29 10:00",
+ status: "Checking"
+ }]; //配置审核详情
+ businessRequirement: [{}] = [{
+ name: "5G Slice eMMB",
+ snssai: "1-010101",
+ expiretime: "2019-10-29 10:00",
+ area: "Beijing",
+ }];//业务需求信息
+ NSTinfo: [{}] = [{
+ id: "46da8cf8-0878-48ac-bea3-f2200959411a",
+ name: "eMBB instancel"
+ }];//匹配NST信息
+ selectedServiceId = '46da8cf8-0878-48ac-bea3-f2200959411a';
+ selectedServiceName = '';
+ serviceId = ['46da8cf8-0878-48ac-bea3-f2200959411a', '46da8cf8-0878-48ac-bea3-f2200959411b', '46da8cf8-0878-48ac-bea3-f2200959411c'];
+ serviceData: {} = {
+ "46da8cf8-0878-48ac-bea3-f2200959411a": "eMBB instancela",
+ "46da8cf8-0878-48ac-bea3-f2200959411b": "eMBB instancelb",
+ "46da8cf8-0878-48ac-bea3-f2200959411c": "eMBB instancelc",
+ };
+
+ ngOnInit() {
+ this.serviceIdChange(this.selectedServiceId)
+ }
+
+ serviceIdChange(value: string): void {
+ this.selectedServiceName = this.serviceData[value];
+ console.log(this.selectedServiceName, "=====")
+ }
+ resetService() {
+ this.selectedServiceId = "";
+ this.serviceIdChange(this.selectedServiceId);
+ }
+
+ handleCancel() {
+ this.showDetail = false;
+ this.cancel.emit(this.showDetail);
+ }
+ handleOk() {
+ this.handleCancel();
+ }
+}
diff --git a/usecaseui-portal/src/assets/i18n/cn.json b/usecaseui-portal/src/assets/i18n/cn.json
index f1dcc066..e2938833 100644
--- a/usecaseui-portal/src/assets/i18n/cn.json
+++ b/usecaseui-portal/src/assets/i18n/cn.json
@@ -1,139 +1,141 @@
{
- "app-component":"--:",
- "i18nTextDefine_Home":"首页",
- "i18nTextDefine_Customer":"用户",
- "i18nTextDefine_Monitor":"监控",
- "i18nTextDefine_Services":"服务",
- "i18nTextDefine_ServicesList":"服务列表",
- "i18nTextDefine_PackageManagement":"包管理",
- "i18nTextDefine_Alarm":"告警",
- "i18nTextDefine_Performance":"性能",
- "i18nTextDefine_NetworkTopology":"网络拓扑",
+ "app-component": "--:",
+ "i18nTextDefine_Home": "首页",
+ "i18nTextDefine_Customer": "用户",
+ "i18nTextDefine_Monitor": "监控",
+ "i18nTextDefine_Monitor_5g": "5G 切片",
+ "i18nTextDefine_Services": "服务",
+ "i18nTextDefine_ServicesList": "服务列表",
+ "i18nTextDefine_Mangement_5g": "5G切片管理",
+ "i18nTextDefine_PackageManagement": "包管理",
+ "i18nTextDefine_Alarm": "告警",
+ "i18nTextDefine_Performance": "性能",
+ "i18nTextDefine_NetworkTopology": "网络拓扑",
- "home-component":"--:",
- "i18nTextDefine_SERVICES":"服务",
- "i18nTextDefine_PACKAGE":"包",
- "i18nTextDefine_Total":"总数",
- "i18nTextDefine_cutomers_and":"用户和",
- "i18nTextDefine_service_instance":"服务实例",
- "i18nTextDefine_ViewDetails":"查看详情",
- "i18nTextDefine_ALARM":"告警",
- "i18nTextDefine_VNF_Alarm":"VNF告警",
- "i18nTextDefine_VM_Alarm":"VM告警",
- "i18nTextDefine_VM_Performance":"VM性能",
+ "home-component": "--:",
+ "i18nTextDefine_SERVICES": "服务",
+ "i18nTextDefine_PACKAGE": "包",
+ "i18nTextDefine_Total": "总数",
+ "i18nTextDefine_cutomers_and": "用户和",
+ "i18nTextDefine_service_instance": "服务实例",
+ "i18nTextDefine_ViewDetails": "查看详情",
+ "i18nTextDefine_ALARM": "告警",
+ "i18nTextDefine_VNF_Alarm": "VNF告警",
+ "i18nTextDefine_VM_Alarm": "VM告警",
+ "i18nTextDefine_VM_Performance": "VM性能",
- "services-list-component":"--:",
- "i18nTextDefine_ServiceType":"服务类型",
- "i18nTextDefine_Create":"创建",
- "i18nTextDefine_Failed":"失败",
- "i18nTextDefine_Success":"成功",
- "i18nTextDefine_InProgress":"执行中",
- "i18nTextDefine_End_To_End_Service":"端到端服务",
- "i18nTextDefine_Network_Service":"NS服务",
- "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN":"CCVPN服务",
- "i18nTextDefine_NO":"序号",
- "i18nTextDefine_Name":"名称",
- "i18nTextDefine_Description":"描述",
- "i18nTextDefine_UseCase":"场景用例",
- "i18nTextDefine_Status":"状态",
- "i18nTextDefine_Action":"动作",
- "i18nTextDefine_Template":"模板",
- "i18nTextDefine_Orchestrator":"编排器",
- "i18nTextDefine_ServiceCreation":"服务创建",
- "i18nTextDefine_Cancel":"取消",
- "i18nTextDefine_modelOk":"确认",
- "i18nTextDefine_Scale":"缩扩容",
- "i18nTextDefine_SureScale":"您确定缩扩容此实例吗?",
- "i18nTextDefine_InstanceName":"实例名称",
- "i18nTextDefine_InstanceID":"实例ID",
- "i18nTextDefine_ScaleType":"缩扩容类型",
- "i18nTextDefine_AspectId":"详情Id",
- "i18nTextDefine_Number_Of_Steps":"级数",
- "i18nTextDefine_ScalingDirection":"缩扩容方向",
- "i18nTextDefine_delete":"删除",
- "i18nTextDefine_SureDelete":"您确定删除此实例吗?",
- "i18nTextDefine_terminationType":"终止类型",
- "i18nTextDefine_graceful":"优雅",
- "i18nTextDefine_forceful":"强制",
- "i18nTextDefine_gracefulTerminationTimeout":"优雅终止超时时间",
- "i18nTextDefine_Heal":"自愈",
- "i18nTextDefine_SureHeal":"您确定自愈此实例吗?",
- "i18nTextDefine_degreeHealing":"自愈程度",
- "i18nTextDefine_actionsHealing":"自愈行为",
- "i18nTextDefine_healScript":"自愈脚本",
- "i18nTextDefine_additionalParamsforNs":"NS附加参数",
- "i18nTextDefine_cause":"原因",
- "i18nTextDefine_action":"动作",
- "i18nTextDefine_actionvminfo":"操作虚拟机信息",
- "i18nTextDefine_Update":"更新",
- "i18nTextDefine_InstanceCreationStarting":"创建开始",
- "i18nTextDefine_InstanceCreatedSuccessfully":"创建成功",
- "i18nTextDefine_InstanceCreationFailed":"创建失败!",
- "i18nTextDefine_InstanceTeminationStarting":"删除开始",
- "i18nTextDefine_InstanceTeminatedSuccessfully":"删除成功",
- "i18nTextDefine_InstanceTeminationFailed":" 删除失败",
- "i18nTextDefine_InstanceScaleStarting":"缩扩容开始",
- "i18nTextDefine_InstanceScaledSuccessfully":"缩扩容成功",
- "i18nTextDefine_InstanceScaleFailed":"缩扩容失败",
- "i18nTextDefine_InstanceHealingStarting":"自愈开始",
- "i18nTextDefine_InstanceHealedSuccessfully":"自愈成功",
- "i18nTextDefine_InstanceHealingFailed":"自愈失败",
- "i18nTextDefine_InstanceUpdateStarting":"更新开始",
- "i18nTextDefine_InstanceUpdatedSuccessfully":"更新成功",
- "i18nTextDefine_InstanceUpdateFailed":"更新失败",
- "i18nTextDefine_Close":"关闭",
+ "services-list-component": "--:",
+ "i18nTextDefine_ServiceType": "服务类型",
+ "i18nTextDefine_Create": "创建",
+ "i18nTextDefine_Failed": "失败",
+ "i18nTextDefine_Success": "成功",
+ "i18nTextDefine_InProgress": "执行中",
+ "i18nTextDefine_End_To_End_Service": "端到端服务",
+ "i18nTextDefine_Network_Service": "NS服务",
+ "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN": "CCVPN服务",
+ "i18nTextDefine_NO": "序号",
+ "i18nTextDefine_Name": "名称",
+ "i18nTextDefine_Description": "描述",
+ "i18nTextDefine_UseCase": "场景用例",
+ "i18nTextDefine_Status": "状态",
+ "i18nTextDefine_Action": "动作",
+ "i18nTextDefine_Template": "模板",
+ "i18nTextDefine_Orchestrator": "编排器",
+ "i18nTextDefine_ServiceCreation": "服务创建",
+ "i18nTextDefine_Cancel": "取消",
+ "i18nTextDefine_modelOk": "确认",
+ "i18nTextDefine_Scale": "缩扩容",
+ "i18nTextDefine_SureScale": "您确定缩扩容此实例吗?",
+ "i18nTextDefine_InstanceName": "实例名称",
+ "i18nTextDefine_InstanceID": "实例ID",
+ "i18nTextDefine_ScaleType": "缩扩容类型",
+ "i18nTextDefine_AspectId": "详情Id",
+ "i18nTextDefine_Number_Of_Steps": "级数",
+ "i18nTextDefine_ScalingDirection": "缩扩容方向",
+ "i18nTextDefine_delete": "删除",
+ "i18nTextDefine_SureDelete": "您确定删除此实例吗?",
+ "i18nTextDefine_terminationType": "终止类型",
+ "i18nTextDefine_graceful": "优雅",
+ "i18nTextDefine_forceful": "强制",
+ "i18nTextDefine_gracefulTerminationTimeout": "优雅终止超时时间",
+ "i18nTextDefine_Heal": "自愈",
+ "i18nTextDefine_SureHeal": "您确定自愈此实例吗?",
+ "i18nTextDefine_degreeHealing": "自愈程度",
+ "i18nTextDefine_actionsHealing": "自愈行为",
+ "i18nTextDefine_healScript": "自愈脚本",
+ "i18nTextDefine_additionalParamsforNs": "NS附加参数",
+ "i18nTextDefine_cause": "原因",
+ "i18nTextDefine_action": "动作",
+ "i18nTextDefine_actionvminfo": "操作虚拟机信息",
+ "i18nTextDefine_Update": "更新",
+ "i18nTextDefine_InstanceCreationStarting": "创建开始",
+ "i18nTextDefine_InstanceCreatedSuccessfully": "创建成功",
+ "i18nTextDefine_InstanceCreationFailed": "创建失败!",
+ "i18nTextDefine_InstanceTeminationStarting": "删除开始",
+ "i18nTextDefine_InstanceTeminatedSuccessfully": "删除成功",
+ "i18nTextDefine_InstanceTeminationFailed": " 删除失败",
+ "i18nTextDefine_InstanceScaleStarting": "缩扩容开始",
+ "i18nTextDefine_InstanceScaledSuccessfully": "缩扩容成功",
+ "i18nTextDefine_InstanceScaleFailed": "缩扩容失败",
+ "i18nTextDefine_InstanceHealingStarting": "自愈开始",
+ "i18nTextDefine_InstanceHealedSuccessfully": "自愈成功",
+ "i18nTextDefine_InstanceHealingFailed": "自愈失败",
+ "i18nTextDefine_InstanceUpdateStarting": "更新开始",
+ "i18nTextDefine_InstanceUpdatedSuccessfully": "更新成功",
+ "i18nTextDefine_InstanceUpdateFailed": "更新失败",
+ "i18nTextDefine_Close": "关闭",
"i18nTextDefine_Templateparsingfailed": "模板解析失败",
- "ccvpn-creation-component":"--:",
- "i18nTextDefine_InstanceCreation":"实例创建",
- "i18nTextDefine_InstanceTopology":"实例拓扑",
- "i18nTextDefine_Add":"新增",
- "i18nTextDefine_Base":"基本信息",
- "i18nTextDefine_templateInputs":"模板输入",
+ "ccvpn-creation-component": "--:",
+ "i18nTextDefine_InstanceCreation": "实例创建",
+ "i18nTextDefine_InstanceTopology": "实例拓扑",
+ "i18nTextDefine_Add": "新增",
+ "i18nTextDefine_Base": "基本信息",
+ "i18nTextDefine_templateInputs": "模板输入",
- "ccvpn-detail-component":"--:",
- "i18nTextDefine_InstanceDetail":"实例详情",
+ "ccvpn-detail-component": "--:",
+ "i18nTextDefine_InstanceDetail": "实例详情",
- "onboard-vnf-vm-component":"--:",
- "i18nTextDefine_Click_CSAR_File":"单击此处或拖入CSAR文件",
- "i18nTextDefine_Uploaded_files":"已上传文件",
- "i18nTextDefine_Uploading":"上传中",
- "i18nTextDefine_StartUpload":"开始上传",
- "i18nTextDefine_Nofileuploading":"没有文件正在上传。",
- "i18nTextDefine_File_upload_completed":"文件上传完毕",
- "i18nTextDefine_File_upload_failed":"文件上传失败",
- "i18nTextDefine_Version":"版本",
- "i18nTextDefine_OnboardingState":"分发状态",
- "i18nTextDefine_OperationalState":"操作状态",
- "i18nTextDefine_UsageState":"使用状态",
- "i18nTextDefine_Operationbutton":"操作按钮",
+ "onboard-vnf-vm-component": "--:",
+ "i18nTextDefine_Click_CSAR_File": "单击此处或拖入CSAR文件",
+ "i18nTextDefine_Uploaded_files": "已上传文件",
+ "i18nTextDefine_Uploading": "上传中",
+ "i18nTextDefine_StartUpload": "开始上传",
+ "i18nTextDefine_Nofileuploading": "没有文件正在上传。",
+ "i18nTextDefine_File_upload_completed": "文件上传完毕",
+ "i18nTextDefine_File_upload_failed": "文件上传失败",
+ "i18nTextDefine_Version": "版本",
+ "i18nTextDefine_OnboardingState": "分发状态",
+ "i18nTextDefine_OperationalState": "操作状态",
+ "i18nTextDefine_UsageState": "使用状态",
+ "i18nTextDefine_Operationbutton": "操作按钮",
- "management-component":"--:",
- "i18nTextDefine_Create_initial_customer":"创建初始用户",
- "i18nTextDefine_Customer_not_in_ONAP":"ONAP尚未存在已创建用户",
- "i18nTextDefine_CreateCustomer":"请创建用户及其服务类型",
- "i18nTextDefine_Input_customerName":"输入用户名称",
+ "management-component": "--:",
+ "i18nTextDefine_Create_initial_customer": "创建初始用户",
+ "i18nTextDefine_Customer_not_in_ONAP": "ONAP尚未存在已创建用户",
+ "i18nTextDefine_CreateCustomer": "请创建用户及其服务类型",
+ "i18nTextDefine_Input_customerName": "输入用户名称",
- "customer-component":"--:",
- "i18nTextDefine_Instance_Count_of_Customer":"用户实例计数",
- "i18nTextDefine_users":"用户",
- "i18nTextDefine_Instance_Count_of_ServiceType":"服务类型实例计数",
- "i18nTextDefine_Input_ServicesType":"输入服务类型",
- "i18nTextDefine_Input_Sure_deleteCustomer":"您确定删除此用户吗?",
- "i18nTextDefine_Input_Sure_deleteServiceType":"您确定删除此服务类型吗?",
- "i18nTextDefine_CustomerName":"用户名称",
- "i18nTextDefine_CustomerID":"用户ID",
+ "customer-component": "--:",
+ "i18nTextDefine_Instance_Count_of_Customer": "用户实例计数",
+ "i18nTextDefine_users": "用户",
+ "i18nTextDefine_Instance_Count_of_ServiceType": "服务类型实例计数",
+ "i18nTextDefine_Input_ServicesType": "输入服务类型",
+ "i18nTextDefine_Input_Sure_deleteCustomer": "您确定删除此用户吗?",
+ "i18nTextDefine_Input_Sure_deleteServiceType": "您确定删除此服务类型吗?",
+ "i18nTextDefine_CustomerName": "用户名称",
+ "i18nTextDefine_CustomerID": "用户ID",
- "ccvpn-network-component":"--:",
- "i18nTextDefine_CreateLink":"添加链接",
- "i18nTextDefine_SetAttribtes":"设置属性",
- "i18nTextDefine_LinkName":"链接名称",
- "i18nTextDefine_LeftPort":"左侧端口",
- "i18nTextDefine_Network":"网络",
- "i18nTextDefine_Node":"节点",
- "i18nTextDefine_TerminalPoint":"终端",
- "i18nTextDefine_RightPort":"右侧端口",
- "i18nTextDefine_PartnerNetwork":"伙伴网络",
- "i18nTextDefine_HostUrl":"主机网址",
- "i18nTextDefine_deleteLink":"删除链接"
+ "ccvpn-network-component": "--:",
+ "i18nTextDefine_CreateLink": "添加链接",
+ "i18nTextDefine_SetAttribtes": "设置属性",
+ "i18nTextDefine_LinkName": "链接名称",
+ "i18nTextDefine_LeftPort": "左侧端口",
+ "i18nTextDefine_Network": "网络",
+ "i18nTextDefine_Node": "节点",
+ "i18nTextDefine_TerminalPoint": "终端",
+ "i18nTextDefine_RightPort": "右侧端口",
+ "i18nTextDefine_PartnerNetwork": "伙伴网络",
+ "i18nTextDefine_HostUrl": "主机网址",
+ "i18nTextDefine_deleteLink": "删除链接"
} \ No newline at end of file
diff --git a/usecaseui-portal/src/assets/i18n/en.json b/usecaseui-portal/src/assets/i18n/en.json
index 5b5626e5..dcc1c924 100644
--- a/usecaseui-portal/src/assets/i18n/en.json
+++ b/usecaseui-portal/src/assets/i18n/en.json
@@ -1,139 +1,141 @@
{
- "app-component":"--:",
- "i18nTextDefine_Home":"Home",
- "i18nTextDefine_Customer":"Customer",
- "i18nTextDefine_Monitor":"Monitor",
- "i18nTextDefine_Services":"Services",
- "i18nTextDefine_ServicesList":"Lifecycle Management",
- "i18nTextDefine_PackageManagement":"Package Management",
- "i18nTextDefine_Alarm":"Alarm",
- "i18nTextDefine_Performance":"Performance",
- "i18nTextDefine_NetworkTopology":"Network Topology",
+ "app-component": "--:",
+ "i18nTextDefine_Home": "Home",
+ "i18nTextDefine_Customer": "Customer",
+ "i18nTextDefine_Monitor": "Monitor",
+ "i18nTextDefine_Monitor_5g": "5G Slicing",
+ "i18nTextDefine_Services": "Services",
+ "i18nTextDefine_ServicesList": "Lifecycle Management",
+ "i18nTextDefine_Mangement_5g": "5G Slicing Management",
+ "i18nTextDefine_PackageManagement": "Package Management",
+ "i18nTextDefine_Alarm": "Alarm",
+ "i18nTextDefine_Performance": "Performance",
+ "i18nTextDefine_NetworkTopology": "Network Topology",
- "home-component":"--:",
- "i18nTextDefine_SERVICES":"SERVICES",
- "i18nTextDefine_PACKAGE":"PACKAGE",
- "i18nTextDefine_Total":"Total",
- "i18nTextDefine_cutomers_and":"cutomers and",
- "i18nTextDefine_service_instance":"Service instance",
- "i18nTextDefine_ViewDetails":"View Details",
- "i18nTextDefine_ALARM":"ALARM",
- "i18nTextDefine_VNF_Alarm":"VNF Alarm",
- "i18nTextDefine_VM_Alarm":"VM Alarm",
- "i18nTextDefine_VM_Performance":"VM PERFORMANCE",
+ "home-component": "--:",
+ "i18nTextDefine_SERVICES": "SERVICES",
+ "i18nTextDefine_PACKAGE": "PACKAGE",
+ "i18nTextDefine_Total": "Total",
+ "i18nTextDefine_cutomers_and": "cutomers and",
+ "i18nTextDefine_service_instance": "Service instance",
+ "i18nTextDefine_ViewDetails": "View Details",
+ "i18nTextDefine_ALARM": "ALARM",
+ "i18nTextDefine_VNF_Alarm": "VNF Alarm",
+ "i18nTextDefine_VM_Alarm": "VM Alarm",
+ "i18nTextDefine_VM_Performance": "VM PERFORMANCE",
- "services-list-component":"--:",
- "i18nTextDefine_ServiceType":"Service Type",
- "i18nTextDefine_Create":"Create",
- "i18nTextDefine_Failed":"Failed",
- "i18nTextDefine_Success":"Success",
- "i18nTextDefine_InProgress":"In Progress",
- "i18nTextDefine_End_To_End_Service":"End To End Service",
- "i18nTextDefine_Network_Service":"Network Service",
- "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN":"Cross Domain and Cross Layer VPN",
- "i18nTextDefine_NO":"NO",
- "i18nTextDefine_Name":"Name",
- "i18nTextDefine_Description":"Description",
- "i18nTextDefine_UseCase":"Use Case",
- "i18nTextDefine_Status":"Status",
- "i18nTextDefine_Action":"Action",
- "i18nTextDefine_Template":"Template",
- "i18nTextDefine_Orchestrator":"Orchestrator",
- "i18nTextDefine_ServiceCreation":"Service Creation",
- "i18nTextDefine_Cancel":"Cancel",
- "i18nTextDefine_modelOk":"OK",
- "i18nTextDefine_Scale":"Scale",
- "i18nTextDefine_SureScale":"Are you sure scale this instance?",
- "i18nTextDefine_InstanceName":"Instance Name",
- "i18nTextDefine_InstanceID":"Instance ID",
- "i18nTextDefine_ScaleType":"Scale Type",
- "i18nTextDefine_AspectId":"AspectId",
- "i18nTextDefine_Number_Of_Steps":"Number Of Steps",
- "i18nTextDefine_ScalingDirection":"Scaling Direction",
- "i18nTextDefine_delete":"Delete",
- "i18nTextDefine_SureDelete":"Are you sure delete this instance?",
- "i18nTextDefine_terminationType":"Termination Type",
- "i18nTextDefine_graceful":"graceful",
- "i18nTextDefine_forceful":"forceful",
- "i18nTextDefine_gracefulTerminationTimeout":"graceful Termination Timeout",
- "i18nTextDefine_Heal":"Heal",
- "i18nTextDefine_SureHeal":"Are you sure heal this instance?",
- "i18nTextDefine_degreeHealing":"degreeHealing",
- "i18nTextDefine_actionsHealing":"actionsHealing",
- "i18nTextDefine_healScript":"healScript",
- "i18nTextDefine_additionalParamsforNs":"additional Params for NS",
- "i18nTextDefine_cause":"cause",
- "i18nTextDefine_action":"action",
- "i18nTextDefine_actionvminfo":"actionvminfo",
- "i18nTextDefine_Update":"Update",
- "i18nTextDefine_InstanceCreationStarting":"instance creation is starting.",
- "i18nTextDefine_InstanceCreatedSuccessfully":"instance was created successfully.",
- "i18nTextDefine_InstanceCreationFailed":"instance creation failed!!!",
- "i18nTextDefine_InstanceTeminationStarting":"instance temination is starting.",
- "i18nTextDefine_InstanceTeminatedSuccessfully":"instance was teminated successfully.",
- "i18nTextDefine_InstanceTeminationFailed":" instance temination failed!!!",
- "i18nTextDefine_InstanceScaleStarting":"instance scale is starting.",
- "i18nTextDefine_InstanceScaledSuccessfully":"instance was scaled successfully.",
- "i18nTextDefine_InstanceScaleFailed":"instance scale failed!!!",
- "i18nTextDefine_InstanceHealingStarting":" instance healing is starting.",
- "i18nTextDefine_InstanceHealedSuccessfully":"instance was healed successfully.",
- "i18nTextDefine_InstanceHealingFailed":"instance healing failed!!!",
- "i18nTextDefine_InstanceUpdateStarting":"instance update is starting.",
- "i18nTextDefine_InstanceUpdatedSuccessfully":"instance was updated successfully.",
- "i18nTextDefine_InstanceUpdateFailed":"instance update failed!!!",
- "i18nTextDefine_Close":"close",
+ "services-list-component": "--:",
+ "i18nTextDefine_ServiceType": "Service Type",
+ "i18nTextDefine_Create": "Create",
+ "i18nTextDefine_Failed": "Failed",
+ "i18nTextDefine_Success": "Success",
+ "i18nTextDefine_InProgress": "In Progress",
+ "i18nTextDefine_End_To_End_Service": "End To End Service",
+ "i18nTextDefine_Network_Service": "Network Service",
+ "i18nTextDefine_Cross_Domain_and_Cross_Layer_VPN": "Cross Domain and Cross Layer VPN",
+ "i18nTextDefine_NO": "NO",
+ "i18nTextDefine_Name": "Name",
+ "i18nTextDefine_Description": "Description",
+ "i18nTextDefine_UseCase": "Use Case",
+ "i18nTextDefine_Status": "Status",
+ "i18nTextDefine_Action": "Action",
+ "i18nTextDefine_Template": "Template",
+ "i18nTextDefine_Orchestrator": "Orchestrator",
+ "i18nTextDefine_ServiceCreation": "Service Creation",
+ "i18nTextDefine_Cancel": "Cancel",
+ "i18nTextDefine_modelOk": "OK",
+ "i18nTextDefine_Scale": "Scale",
+ "i18nTextDefine_SureScale": "Are you sure scale this instance?",
+ "i18nTextDefine_InstanceName": "Instance Name",
+ "i18nTextDefine_InstanceID": "Instance ID",
+ "i18nTextDefine_ScaleType": "Scale Type",
+ "i18nTextDefine_AspectId": "AspectId",
+ "i18nTextDefine_Number_Of_Steps": "Number Of Steps",
+ "i18nTextDefine_ScalingDirection": "Scaling Direction",
+ "i18nTextDefine_delete": "Delete",
+ "i18nTextDefine_SureDelete": "Are you sure delete this instance?",
+ "i18nTextDefine_terminationType": "Termination Type",
+ "i18nTextDefine_graceful": "graceful",
+ "i18nTextDefine_forceful": "forceful",
+ "i18nTextDefine_gracefulTerminationTimeout": "graceful Termination Timeout",
+ "i18nTextDefine_Heal": "Heal",
+ "i18nTextDefine_SureHeal": "Are you sure heal this instance?",
+ "i18nTextDefine_degreeHealing": "degreeHealing",
+ "i18nTextDefine_actionsHealing": "actionsHealing",
+ "i18nTextDefine_healScript": "healScript",
+ "i18nTextDefine_additionalParamsforNs": "additional Params for NS",
+ "i18nTextDefine_cause": "cause",
+ "i18nTextDefine_action": "action",
+ "i18nTextDefine_actionvminfo": "actionvminfo",
+ "i18nTextDefine_Update": "Update",
+ "i18nTextDefine_InstanceCreationStarting": "instance creation is starting.",
+ "i18nTextDefine_InstanceCreatedSuccessfully": "instance was created successfully.",
+ "i18nTextDefine_InstanceCreationFailed": "instance creation failed!!!",
+ "i18nTextDefine_InstanceTeminationStarting": "instance temination is starting.",
+ "i18nTextDefine_InstanceTeminatedSuccessfully": "instance was teminated successfully.",
+ "i18nTextDefine_InstanceTeminationFailed": " instance temination failed!!!",
+ "i18nTextDefine_InstanceScaleStarting": "instance scale is starting.",
+ "i18nTextDefine_InstanceScaledSuccessfully": "instance was scaled successfully.",
+ "i18nTextDefine_InstanceScaleFailed": "instance scale failed!!!",
+ "i18nTextDefine_InstanceHealingStarting": " instance healing is starting.",
+ "i18nTextDefine_InstanceHealedSuccessfully": "instance was healed successfully.",
+ "i18nTextDefine_InstanceHealingFailed": "instance healing failed!!!",
+ "i18nTextDefine_InstanceUpdateStarting": "instance update is starting.",
+ "i18nTextDefine_InstanceUpdatedSuccessfully": "instance was updated successfully.",
+ "i18nTextDefine_InstanceUpdateFailed": "instance update failed!!!",
+ "i18nTextDefine_Close": "close",
"i18nTextDefine_Templateparsingfailed": "Template parsing failed",
- "ccvpn-creation-component":"--:",
- "i18nTextDefine_InstanceCreation":"Instance Creation",
- "i18nTextDefine_InstanceTopology":"Instance Topology",
- "i18nTextDefine_Add":"Add",
- "i18nTextDefine_Base":"Base",
- "i18nTextDefine_templateInputs":"Template Inputs",
+ "ccvpn-creation-component": "--:",
+ "i18nTextDefine_InstanceCreation": "Instance Creation",
+ "i18nTextDefine_InstanceTopology": "Instance Topology",
+ "i18nTextDefine_Add": "Add",
+ "i18nTextDefine_Base": "Base",
+ "i18nTextDefine_templateInputs": "Template Inputs",
- "ccvpn-detail-component":"--:",
- "i18nTextDefine_InstanceDetail":"Instance Detail",
+ "ccvpn-detail-component": "--:",
+ "i18nTextDefine_InstanceDetail": "Instance Detail",
- "onboard-vnf-vm-component":"--:",
- "i18nTextDefine_Click_CSAR_File":"Click or drag CSAR File here",
- "i18nTextDefine_Uploaded_files":"Uploaded files",
- "i18nTextDefine_Uploading":"Uploading",
- "i18nTextDefine_StartUpload":"StartUpload",
- "i18nTextDefine_Nofileuploading":"No file is uploading.",
- "i18nTextDefine_File_upload_completed":"File upload completed",
- "i18nTextDefine_File_upload_failed":"File upload failed",
- "i18nTextDefine_Version":"Version",
- "i18nTextDefine_OnboardingState":"Onboarding State",
- "i18nTextDefine_OperationalState":"Operational State",
- "i18nTextDefine_UsageState":"Usage State",
- "i18nTextDefine_Operationbutton":"Operation button",
+ "onboard-vnf-vm-component": "--:",
+ "i18nTextDefine_Click_CSAR_File": "Click or drag CSAR File here",
+ "i18nTextDefine_Uploaded_files": "Uploaded files",
+ "i18nTextDefine_Uploading": "Uploading",
+ "i18nTextDefine_StartUpload": "StartUpload",
+ "i18nTextDefine_Nofileuploading": "No file is uploading.",
+ "i18nTextDefine_File_upload_completed": "File upload completed",
+ "i18nTextDefine_File_upload_failed": "File upload failed",
+ "i18nTextDefine_Version": "Version",
+ "i18nTextDefine_OnboardingState": "Onboarding State",
+ "i18nTextDefine_OperationalState": "Operational State",
+ "i18nTextDefine_UsageState": "Usage State",
+ "i18nTextDefine_Operationbutton": "Operation button",
- "management-component":"--:",
- "i18nTextDefine_Create_initial_customer":"Create initial customer",
- "i18nTextDefine_Customer_not_in_ONAP":"Customer has not been created in ONAP",
- "i18nTextDefine_CreateCustomer":"Please create customer and its service type",
- "i18nTextDefine_Input_customerName":"Input customer name",
+ "management-component": "--:",
+ "i18nTextDefine_Create_initial_customer": "Create initial customer",
+ "i18nTextDefine_Customer_not_in_ONAP": "Customer has not been created in ONAP",
+ "i18nTextDefine_CreateCustomer": "Please create customer and its service type",
+ "i18nTextDefine_Input_customerName": "Input customer name",
- "customer-component":"--:",
- "i18nTextDefine_Instance_Count_of_Customer":"Instance Count of Customer",
- "i18nTextDefine_users":"Users",
- "i18nTextDefine_Instance_Count_of_ServiceType":"Instance Count of Service Type",
- "i18nTextDefine_Input_ServicesType":"Input services type",
- "i18nTextDefine_Input_Sure_deleteCustomer":"Are you sure delete this Customer ?",
- "i18nTextDefine_Input_Sure_deleteServiceType":"Are you sure delete this Service Type ?",
- "i18nTextDefine_CustomerName":"Customer Name",
- "i18nTextDefine_CustomerID":"Customer ID",
+ "customer-component": "--:",
+ "i18nTextDefine_Instance_Count_of_Customer": "Instance Count of Customer",
+ "i18nTextDefine_users": "Users",
+ "i18nTextDefine_Instance_Count_of_ServiceType": "Instance Count of Service Type",
+ "i18nTextDefine_Input_ServicesType": "Input services type",
+ "i18nTextDefine_Input_Sure_deleteCustomer": "Are you sure delete this Customer ?",
+ "i18nTextDefine_Input_Sure_deleteServiceType": "Are you sure delete this Service Type ?",
+ "i18nTextDefine_CustomerName": "Customer Name",
+ "i18nTextDefine_CustomerID": "Customer ID",
- "ccvpn-network-component":"--:",
- "i18nTextDefine_CreateLink":"Create Link",
- "i18nTextDefine_SetAttribtes":"Set Attribtes",
- "i18nTextDefine_LinkName":"Link Name ",
- "i18nTextDefine_LeftPort":"Left Port",
- "i18nTextDefine_Network":"Network",
- "i18nTextDefine_Node":"Node",
- "i18nTextDefine_TerminalPoint":"Terminal Point",
- "i18nTextDefine_RightPort":"Right Port",
- "i18nTextDefine_PartnerNetwork":"Partner Network",
- "i18nTextDefine_HostUrl":"Host Url",
- "i18nTextDefine_DeleteLink":"Delete Link"
+ "ccvpn-network-component": "--:",
+ "i18nTextDefine_CreateLink": "Create Link",
+ "i18nTextDefine_SetAttribtes": "Set Attribtes",
+ "i18nTextDefine_LinkName": "Link Name ",
+ "i18nTextDefine_LeftPort": "Left Port",
+ "i18nTextDefine_Network": "Network",
+ "i18nTextDefine_Node": "Node",
+ "i18nTextDefine_TerminalPoint": "Terminal Point",
+ "i18nTextDefine_RightPort": "Right Port",
+ "i18nTextDefine_PartnerNetwork": "Partner Network",
+ "i18nTextDefine_HostUrl": "Host Url",
+ "i18nTextDefine_DeleteLink": "Delete Link"
} \ No newline at end of file