import { BasicInfoComponent } from './shared/components/basic-info/basic-info.component';
import { CheckProcessModelComponent } from './views/services/slicing-management/slicing-task-management/check-process-model/check-process-model.component'
import { NsiTableComponent } from './views/services/slicing-management/slicing-resource-management/nsi-management/nsi-table/nsi-table.component'
+import { NssiTableComponent } from './views/services/slicing-management/slicing-resource-management/nssi-management/nssi-table/nssi-table.component'
+
@NgModule({
providers: [
{ provide: LocationStrategy, useClass: HashLocationStrategy },
SlicingBusinessTableComponent,
BasicInfoComponent,
CheckProcessModelComponent,
- NsiTableComponent
+ NsiTableComponent,
+ NssiTableComponent
],
imports: [
BrowserModule,
slicingNsiList:this.baseUrl+"/resource/nsi/instances/pageNo/{pageNo}/pageSize/{pageSize}",\r
slicingNsiQueryOfStatus:this.baseUrl+"/resource/nsi/{instanceStatus}/instances/pageNo/{pageNo}/pageSize/{pageSize}",\r
slicingNsiDetail:this.baseUrl+"/resource/nsi/{nsiId}/details",\r
+ //slicing-nssi-management\r
+ slicingNssiList:this.baseUrl+"/resource/nssi/instances/pageNo/{pageNo}/pageSize/{pageSize}",\r
+ slicingNssiQueryOfStatus:this.baseUrl+"/resource/nssi/{instanceStatus}/instances/pageNo/{pageNo}/pageSize/{pageSize}",\r
+ slicingNssiDetail:this.baseUrl+"/resource/nssi/{nssiId}/details",\r
}\r
\r
\r
return this.http.get<any>(url);\r
}\r
// Get slicing nsi list\r
- // Get slicing business list\r
getSlicingNsiList (paramsObj,isSelect: boolean) {\r
let url = this.url.slicingNsiList .replace("{pageNo}", paramsObj.pageNo)\r
.replace("{pageSize}", paramsObj.pageSize);\r
if(isSelect){\r
- url = this.url.slicingNsiQueryOfStatus.replace("{instanceStatus}", paramsObj.businessStatus).replace("{pageNo}", paramsObj.pageNo)\r
+ url = this.url.slicingNsiQueryOfStatus.replace("{instanceStatus}", paramsObj.instanceStatus).replace("{pageNo}", paramsObj.pageNo)\r
+ .replace("{pageSize}", paramsObj.pageSize);\r
+ }\r
+ return this.http.get<any>(url);\r
+ }\r
+ // Get slicing nssi list\r
+ getSlicingNssiList (paramsObj,isSelect: boolean) {\r
+ let url = this.url.slicingNssiList .replace("{pageNo}", paramsObj.pageNo)\r
+ .replace("{pageSize}", paramsObj.pageSize);\r
+ if(isSelect){\r
+ url = this.url.slicingNssiQueryOfStatus.replace("{instanceStatus}", paramsObj.instanceStatus).replace("{pageNo}", paramsObj.pageNo)\r
.replace("{pageSize}", paramsObj.pageSize);\r
}\r
return this.http.get<any>(url);\r
"/uui-slicing/nsmf/resource/:serviceId": "/slicing_business_activate",
"/uui-slicing/nsmf/resource/:serviceId/progress":"/getSlicingBusinessProgress",
///////<-------------slicing_nsi--------->/////
- // "/uui-slicing/nsmf/resource/nsi/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_nsi_list",
"/uui-slicing/nsmf/resource/nsi/:instanceStatus/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_nsi_list_activated",
+ ///////<-------------slicing_nssi--------->/////
+ "/uui-slicing/nsmf/resource/nssi/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_nssi_list",
+ "/uui-slicing/nsmf/resource/nssi/:instanceStatus/instances/pageNo/:pageNo/pageSize/:pageSize": "/slicing_nssi_list_activated",
///////<-------------general interface--------->/////
"/api/*": "/$1",
"/*/*": "/$1_$2",
</nz-select>
</div>
</div>
- <div>
+ <div class="slicing-resource-table-list">
<nz-table
- #nsiTable
+ #nssiTable
[nzData]="listOfData"
[nzFrontPagination]="false"
nzShowSizeChanger
</tr>
</thead>
<tbody>
- <ng-template ngFor let-data [ngForOf]="nsiTable.data" let-i="index">
+ <ng-template ngFor let-data [ngForOf]="nssiTable.data" let-i="index">
<tr>
<td>{{ data.service_instance_id }}</td>
<td>{{ data.service_instance_name }}</td>
nz-select {
width: 200px;
}
-.task_status{
- margin-bottom: 20px;
- span{
- margin-right: 5%;
- }
-}
\ No newline at end of file
import { Component, OnInit } from '@angular/core';
import {BUSINESS_STATUS} from '../../../../../../../constants/constants';
-import { NzModalService } from 'ng-zorro-antd';
import {SlicingTaskServices} from "../../../../../../core/services/slicingTaskServices";
@Component({
selector: 'app-nsi-table',
export class NsiTableComponent implements OnInit {
constructor(
- private myhttp: SlicingTaskServices,
- private modalService: NzModalService
+ private myhttp: SlicingTaskServices
) {
}
<p>
- nssi-management works!
+ <app-nssi-table></app-nssi-table>
</p>
--- /dev/null
+<div class="slicing-resource-table">
+ <div nz-row>
+ <div nz-col nzSpan="12" class="task_status">
+ <span>Status : </span>
+ <nz-select nzShowSearch nzPlaceHolder="Select a processing status" [(ngModel)]="selectedValue"
+ (ngModelChange)="getListOfProcessingStatus()">
+ <nz-option *ngFor="let item of statusOptions" [nzLabel]="item" [nzValue]="item"></nz-option>
+ </nz-select>
+ </div>
+ </div>
+ <div class="slicing-resource-table-list">
+ <nz-table
+ #nsiTable
+ [nzData]="listOfData"
+ [nzFrontPagination]="false"
+ nzShowSizeChanger
+ [nzPageSizeOptions]="[5,10,15,20]"
+ [nzTotal]='total'
+ [(nzPageSize)]="pageSize"
+ [(nzPageIndex)]='pageIndex'
+ [nzLoading]="loading"
+ (nzPageIndexChange)="searchData()"
+ (nzPageSizeChange)="searchData(true)"
+ >
+ <thead>
+ <tr>
+ <th>Service Instance Id</th>
+ <th>Service Instance Name</th>
+ <th>Service Type</th>
+ <th>Context</th>
+ <th>Status</th>
+ <th width="140px">Detail</th>
+ </tr>
+ </thead>
+ <tbody>
+ <ng-template ngFor let-data [ngForOf]="nsiTable.data" let-i="index">
+ <tr>
+ <td>{{ data.service_instance_id }}</td>
+ <td>{{ data.service_instance_name }}</td>
+ <td>{{ data.service_type }}</td>
+ <td>{{data.environment_context}}</td>
+ <td>{{data.orchestration_status}}</td>
+ <td>
+ <a (click)="showdetail(data)">detail</a>
+ </td>
+ </tr>
+ </ng-template>
+ </tbody>
+ </nz-table>
+ </div>
+</div>
\ No newline at end of file
--- /dev/null
+nz-select {
+ width: 200px;
+}
\ No newline at end of file
--- /dev/null
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { NssiTableComponent } from './nssi-table.component';
+
+describe('NssiTableComponent', () => {
+ let component: NssiTableComponent;
+ let fixture: ComponentFixture<NssiTableComponent>;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ NssiTableComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(NssiTableComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
--- /dev/null
+import { Component, OnInit } from '@angular/core';
+import {BUSINESS_STATUS} from '../../../../../../../constants/constants';
+import {SlicingTaskServices} from "../../../../../../core/services/slicingTaskServices";
+@Component({
+ selector: 'app-nssi-table',
+ templateUrl: './nssi-table.component.html',
+ styleUrls: ['./nssi-table.component.less']
+})
+export class NssiTableComponent implements OnInit {
+
+ constructor(
+ private myhttp: SlicingTaskServices
+ ) {
+ }
+
+ ngOnInit() {
+ this.getNssiList()
+ }
+ selectedValue:string = BUSINESS_STATUS[0];
+ listOfData: any[] = [];
+ pageIndex: number = 1;
+ pageSize: number = 10;
+ total: number = 100;
+ loading = false;
+ isSelect: boolean = false;
+ statusOptions: any[] = BUSINESS_STATUS;
+
+ getNssiList (): void{
+ this.loading = true;
+ this.isSelect = false;
+ let paramsObj = {
+ pageNo: this.pageIndex,
+ pageSize: this.pageSize
+ };
+ if(this.selectedValue !== BUSINESS_STATUS[0]){
+ paramsObj["instanceStatus"] = this.selectedValue;
+ this.isSelect = true;
+ }
+ this.myhttp.getSlicingNssiList(paramsObj,this.isSelect).subscribe (res => {
+ const { result_header: { result_code }, result_body: { nssi_service_instances } } = res;
+ if (+result_code === 200) {
+ this.total = nssi_service_instances.length;
+ this.loading = false;
+ this.listOfData = nssi_service_instances;
+ }
+ })
+ }
+ getListOfProcessingStatus(){
+ this.pageIndex = 1;
+ this.pageSize = 10;
+ this.getNssiList();
+ }
+ searchData(reset: boolean = false) {
+ this.getNssiList();
+ }
+ showdetail(data){
+
+ }
+}
</nz-select>
</div>
</div>
- <div>
+ <div class="slicing-resource-table-list">
<nz-table
#basicTable
[nzData]="listOfData"
background:#313449!important;
}
// slicing-resource-management
+.task_status{
+ margin-bottom: 20px;
+ span{
+ margin-right: 5%;
+ }
+}
.slicing-resource_tab {
width: 104%;
margin-left: 20px!important;
}
.slicing-resource-table{
padding: 20px!important;
+}
+.slicing-resource-table-list{
+ padding: 0 20px 0 0!important;
}
\ No newline at end of file