diff options
Diffstat (limited to 'usecaseui-portal/src/app/views/services')
7 files changed, 295 insertions, 5 deletions
diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.html b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.html index f4dd029f..ae733c5f 100644 --- a/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.html +++ b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.html @@ -51,7 +51,7 @@ nz-button nzType="primary" class="buy-button" - (click)="goMonitorService()" + (click)="goMonitorService(data)" > Intent Monitor </button> diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.ts b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.ts index 7b39f1aa..a9d239df 100644 --- a/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.ts +++ b/usecaseui-portal/src/app/views/services/intent-based-services/cloud-leased-line/cloud-leased-line.component.ts @@ -147,8 +147,14 @@ export class CloudLeasedLineComponent implements OnInit { this.cloudLeasedLineShowFlag = true; } // to monitor page - goMonitorService(): void { - this.router.navigateByUrl('/fcaps/monitor_service'); + goMonitorService(data): void { + // this.router.navigateByUrl('/fcaps/monitor_service');navigate + this.router.navigate(['/fcaps/monitor_service'], { + queryParams: { + instanceId: data.instanceId + }, + skipLocationChange: true + }); } activeCloudLeasedLine(row): void { diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/intent-based-services.component.html b/usecaseui-portal/src/app/views/services/intent-based-services/intent-based-services.component.html index e4262859..52f70988 100644 --- a/usecaseui-portal/src/app/views/services/intent-based-services/intent-based-services.component.html +++ b/usecaseui-portal/src/app/views/services/intent-based-services/intent-based-services.component.html @@ -9,4 +9,9 @@ *ngIf="selectedIndex === 1" ></app-cloud-leased-line> </nz-tab> + <nz-tab [nzTitle]="'i18nTextDefine_intentInstance' | translate"> + <app-intent-instance + *ngIf="selectedIndex === 2" + ></app-intent-instance> + </nz-tab> </nz-tabset>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.html b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.html new file mode 100644 index 00000000..ee71be03 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.html @@ -0,0 +1,64 @@ +<div class="intent-resource_tab"> + <div class="intent-resource-table-list"> + <nz-table + #basicTable [nzData]="listOfData" + [nzFrontPagination]="false" + nzShowSizeChanger + [nzPageSizeOptions]="[5,10,15,20]" + [nzTotal]='total' + [(nzPageSize)]="pageSize" + [(nzPageIndex)]='pageIndex' + [nzLoading]="loading" + (nzPageIndexChange)="searchData()" + (nzPageSizeChange)="searchData()" + [nzScroll]="{ x: '1500px' }" + nzTableLayout="fixed" + > + <thead> + <tr> + <th [nzLeft]="true">No</th> + <th>Intent Name</th> + <th>Intent Source</th> + <th>Customer</th> + <th nzEllipsis>Intent Content</th> + <th>Intent Config</th> + <th>Business Instance</th> + <th [nzRight]="true" [nzWidth]="300"></th> + </tr> + </thead> + <tbody> + <ng-template ngFor let-data [ngForOf]="basicTable.data" let-i="index"> + <tr> + <td [nzLeft]="true">{{i+1}}</td> + <td>{{ data.intentName }}</td> + <td>{{ data.intentSource }}</td> + <td>{{ data.customer }}</td> + <td [title]="data.intentContent" nzEllipsis> + {{ data.intentContent }} + </td> + <td>{{ data.intentConfig }}</td> + <td>{{ data.businessInstance }}</td> + <td [nzRight]="true"> + <button + nz-button + nzType="primary" + class="buy-button" + (click)="verificationIntentionInstance(data)" + > + check + </button> + <button + nz-button + nzType="primary" + class="buy-button" + (click)="deleteIntentionInstance(data)" + > + Delete + </button> + </td> + </tr> + </ng-template> + </tbody> + </nz-table> + </div> +</div>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.less b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.less new file mode 100644 index 00000000..f665fdb0 --- /dev/null +++ b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.less @@ -0,0 +1,87 @@ +.intent-resource_tab { + width: 103%; + margin-left: 60px!important; + margin-top: -35px!important; + .ant-tabs-content.ant-tabs-content-animated{ + padding: 20px 0!important; + } +} +.slicing-resource-table{ + padding: 20px!important; +} +.intent-resource-table-list{ + padding: 20px!important; + nz-table{ + .ant-table-wrapper{ + .ant-table-body{ + th,td{ + word-break: break-word!important; + } + } + } + } +} +nz-select { + width: 200px; +} + +.task_status { + margin-bottom: 20px; + + span { + margin-right: 5%; + } +} + +.action-icon { + display: inline-block; + vertical-align: top; +} + +i.anticon { + cursor: pointer; + font-size: 18px; + padding: 2px 15px; + vertical-align: inherit !important; + + &:hover { + color: #147dc2; + } +} + +.cannotclick { + pointer-events: none; + color: #aaa; + opacity: 0.6; +} + +.buy-button { + float: right; + margin-right: 2%; +} +::ng-deep .ant-table-row .buy-button { + float: left; +} + +::ng-deep .ant-table-th-right-sticky { + width: 200px; +} +.ant-table-th-right-sticky, .ant-table-td-right-sticky { + position: -webkit-sticky; + position: sticky; + z-index: 1; + right: 0; +} +.ant-table-th-left-sticky, .ant-table-td-left-sticky { + position: -webkit-sticky; + position: sticky; + z-index: 1; + left: 0; +} +.ellipsisClass{ + display: inline-block; + max-width: 150px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.ts b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.ts new file mode 100644 index 00000000..d13b9d7e --- /dev/null +++ b/usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.ts @@ -0,0 +1,96 @@ +import { Component, OnInit } from "@angular/core"; +import { Router } from "@angular/router"; +import { NzMessageService } from "ng-zorro-antd"; +import { intentBaseService } from "../../../../core/services/intentBase.service"; + +@Component({ + selector: 'app-intent-instance', + templateUrl: './intent-instance.component.html', + styleUrls: ['./intent-instance.component.less'] +}) +export class IntentInstanceComponent implements OnInit { + + constructor( + private router:Router, + private myHttp: intentBaseService, + private nzMessage: NzMessageService + ) {} + + ngOnChanges() {} + + ngOnInit() { + this.pageIndex = 1; + this.pageSize = 10; + this.getIntentionInstanceList(); + } + + ngOnDestroy() {} + + // table lists + listOfData: any[] = []; + // pageSize or pageNum + pageIndex: number = 1; + pageSize: number = 10; + total: number = 0; + loading = false; + + // init source data + getIntentionInstanceList(): void { + this.myHttp.getIntentInstanceList({ + currentPage: this.pageIndex, + pageSize: this.pageSize + }).subscribe((response) => { + const { code, message, data:{ totalRecords, list } } = response; + if (code !== 200) { + this.nzMessage.error(message); + return; + } + + this.total = totalRecords; + this.listOfData = list; + }, (err) => { + console.log(err); + }); + } + + // change page message + searchData(): void { + this.getIntentionInstanceList(); + } + + verificationIntentionInstance(row): void { + this.myHttp.verifyIntentInstance({ + id: row.id + }).subscribe((response) => { + const { code, message, data } = response; + if (code !== 200) { + this.nzMessage.error(message); + return; + } + this.nzMessage.success(data); + this.resetParam2Query(); + }, (err) => { + console.log(err); + }); + } + + deleteIntentionInstance(row): void { + this.myHttp.delIntentInstance(row.id).subscribe((response) => { + const { code, message } = response; + if (code !== 200) { + this.nzMessage.error(message); + return; + } + this.nzMessage.success('Delete IntentionInstance Success'); + this.resetParam2Query(); + }, (err) => { + console.log(err); + }); + } + + resetParam2Query() { + this.pageIndex = 1; + this.pageSize = 10; + this.getIntentionInstanceList(); + } +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.ts b/usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.ts index aa5a5db1..70ef4ef8 100644 --- a/usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.ts +++ b/usecaseui-portal/src/app/views/services/slicing-management/csmf-slicing-business-management/business-order/business-order.component.ts @@ -51,6 +51,7 @@ export class BusinessOrderComponent implements OnInit { uEMobilityLevel: "stationary", coverageArea: "", coverageAreaNumber: null, + intentContent: '', }; areaList: any[] = []; validateRulesShow: any[] = []; @@ -95,6 +96,7 @@ export class BusinessOrderComponent implements OnInit { uEMobilityLevel: "stationary", coverageArea: "", coverageAreaNumber: null, + intentContent: '' }; this.validateRulesShow = []; } @@ -152,7 +154,18 @@ export class BusinessOrderComponent implements OnInit { this.handleCancel(); }; this.loading = true; - this.myhttp + + // csmfSlicingPurchaseWithContent + const { intentContent } = this.slicing_order_info; + if (intentContent) { + this.csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback); + return; + } + this.csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback); + } + + csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback): void { + this.myhttp .csmfSlicingPurchase(paramsObj, csmfSlicingPurchaseFailedCallback) .then((res) => { const result = res.result_header; @@ -168,5 +181,24 @@ export class BusinessOrderComponent implements OnInit { this.loading = false; this.handleCancel(); }); - } + } + + csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback): void { + this.myhttp + .csmfSlicingPurchaseWithContent(paramsObj, csmfSlicingPurchaseFailedCallback) + .then((res) => { + const result = res.result_header; + if ( + result && + result.result_code && + +result.result_code === 200 + ) { + console.log(res); + } else { + this.message.create("error", "Network error"); + } + this.loading = false; + this.handleCancel(); + }); + } } |