From 036d317e9a713fca592015837c38625a8e1bdbc9 Mon Sep 17 00:00:00 2001 From: zhenzhenbai <850084376@qq.com> Date: Thu, 20 Apr 2023 17:24:35 +0800 Subject: Title: Displaying the intent report status Desc: the protal supports intention management to display the intention reeporting status Issue-ID: USECASEUI-798 Signed-off-by: zhenzhenbai <850084376@qq.com> Change-Id: I2e0034eeb640be7f372bfe703fc3444794ac497a --- .../intent-management.component.html | 10 ++-- .../intent-management.component.less | 8 +++- .../intent-management.component.ts | 53 ++++++++++++++++++++++ .../intent-report-detail.component.html | 35 ++++++++++++++ .../intent-report-detail.component.less | 0 .../intent-report-detail.component.spec.ts | 25 ++++++++++ .../intent-report-detail.component.ts | 25 ++++++++++ 7 files changed, 151 insertions(+), 5 deletions(-) create mode 100644 usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.html create mode 100644 usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.less create mode 100644 usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.spec.ts create mode 100644 usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.ts (limited to 'usecaseui-portal/src/app/views') diff --git a/usecaseui-portal/src/app/views/intent-management/intent-management.component.html b/usecaseui-portal/src/app/views/intent-management/intent-management.component.html index 7e3a5712..e7eb0ad4 100644 --- a/usecaseui-portal/src/app/views/intent-management/intent-management.component.html +++ b/usecaseui-portal/src/app/views/intent-management/intent-management.component.html @@ -26,10 +26,11 @@ > - No + No Intent ID Intent Name - {{"i18nTextDefine_Action" | translate}} + Status + {{"i18nTextDefine_Action" | translate}} @@ -38,7 +39,9 @@ {{i+1}} {{ data.intentId }} {{ data.intentName }} + {{ data.intentStatus }} + @@ -47,4 +50,5 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/usecaseui-portal/src/app/views/intent-management/intent-management.component.less b/usecaseui-portal/src/app/views/intent-management/intent-management.component.less index 04580fef..43f61660 100644 --- a/usecaseui-portal/src/app/views/intent-management/intent-management.component.less +++ b/usecaseui-portal/src/app/views/intent-management/intent-management.component.less @@ -14,7 +14,7 @@ margin-top: 7px; } } - .anticon-edit,.anticon-delete{ + .anticon-edit,.anticon-delete,.anticon-menu-fold{ font-size: 18px; margin-right: 10px; cursor: pointer; @@ -53,7 +53,7 @@ top: 32px; left: 110px; } - .anticon-edit,.anticon-delete{ + .anticon-edit,.anticon-delete,.anticon-menu-fold{ font-size: 18px; margin-right: 10px; cursor: pointer; @@ -61,6 +61,10 @@ } .intent-table{ margin-bottom: 15px; + ::ng-deep ant-modal-body{ + height: 300 !important; + overflow-y: auto !important; + } } .target-div{ float: left; diff --git a/usecaseui-portal/src/app/views/intent-management/intent-management.component.ts b/usecaseui-portal/src/app/views/intent-management/intent-management.component.ts index 758aad06..e7dbc7fd 100644 --- a/usecaseui-portal/src/app/views/intent-management/intent-management.component.ts +++ b/usecaseui-portal/src/app/views/intent-management/intent-management.component.ts @@ -17,9 +17,20 @@ export class IntentManagementComponent implements OnInit { ngOnInit() { this.getIntentManagementData() } + ngOnDestroy(){ + window.clearInterval(this.timer) + } listOfData: any[] = []; + reportData: any[] = []; + intentInfo: Object={ + intentId:'', + intentName:'', + reportTime: '' + }; + timer: any; intentModuleShow: boolean = false; + intentReportDetailShow: boolean = false; editIntentTableList: Object={}; currentIndex: number=-1; @@ -28,12 +39,28 @@ export class IntentManagementComponent implements OnInit { .subscribe( (data) => { this.listOfData=data.result_body + this.getIntentReportData(this.listOfData) + this.timer=setInterval(function(){ + this.getIntentReportData(this.listOfData) + },5000) }, (err) => { this.message.error('Failed to obtain intent data'); } ) } + getIntentReportData(data): void{ + data.forEach(item => { + this.myhttp.getIntentReportData(item.intentId).subscribe( + (data) => { + item.intentStatus=data.result_body.fulfillmentInfos[0].fulfillmentStatus + }, + (err) => { + this.message.error('Failed to obtain Report data'); + } + ) + }); + } inputIntentModuleShow(): void { this.intentModuleShow = true; } @@ -45,6 +72,32 @@ export class IntentManagementComponent implements OnInit { } this.getIntentManagementData() } + intentReportModuleClose($event: any): void { + this.intentReportDetailShow = false + if ($event.cancel) { + return; + } + } + viewReport(data,i): void{ + this.reportData=[] + this.intentInfo={ + intentId:'', + intentName:'', + reportTime: '' + }; + this.intentInfo['intentId']=data['intentId'] + this.intentInfo['intentName']=data['intentName'] + this.myhttp.getIntentReportData(data.intentId).subscribe( + (data) => { + this.reportData=data.result_body.fulfillmentInfos + this.intentInfo['reportTime']=data.result_body.reportTime + this.intentReportDetailShow = true + }, + (err) => { + this.message.error('Failed to obtain Report data'); + } + ) + } editIntentList(data,i): void { this.editIntentTableList=JSON.parse(JSON.stringify(data)) this.currentIndex=i diff --git a/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.html b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.html new file mode 100644 index 00000000..0f263c76 --- /dev/null +++ b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.html @@ -0,0 +1,35 @@ + +
+

+ Intent Name: {{intentInfo['intentName']}} + ID: {{intentInfo['intentId']}} +

+
+

ReportTime: {{intentInfo['reportTime']}}

+ + + + No + Status + Reason + + + + + + {{i+1}} + {{ data.fulfillmentStatus }} + {{ data.notFulfilledReason }} + + + + +
+
+ +
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.less b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.less new file mode 100644 index 00000000..e69de29b diff --git a/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.spec.ts b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.spec.ts new file mode 100644 index 00000000..b507cd4e --- /dev/null +++ b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { IntentReportDetailComponent } from './intent-report-detail.component'; + +describe('IntentReportDetailComponent', () => { + let component: IntentReportDetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ IntentReportDetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IntentReportDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.ts b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.ts new file mode 100644 index 00000000..aa65d9fe --- /dev/null +++ b/usecaseui-portal/src/app/views/intent-management/intent-report-detail/intent-report-detail.component.ts @@ -0,0 +1,25 @@ +import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; + +@Component({ + selector: 'app-intent-report-detail', + templateUrl: './intent-report-detail.component.html', + styleUrls: ['../intent-management.component.less'] +}) +export class IntentReportDetailComponent implements OnInit { + + constructor() { } + + @Input() showModel: boolean; + @Input() reportData; + @Input() intentInfo; + @Output() modalOpreation = new EventEmitter(); + + ngOnInit() { + } + ngOnChanges(){ + } + handleCancel(): void { + this.showModel = false; + this.modalOpreation.emit({ "cancel": false }); + } +} -- cgit 1.2.3-korg