diff options
Diffstat (limited to 'usecaseui-portal/src/app/views/maas/knowledge-base-management')
10 files changed, 125 insertions, 144 deletions
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html index de2e6450..78773c0a 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.html +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html @@ -13,13 +13,16 @@ See the License for the specific language governing permissions and limitations under the License. --> -<nz-modal [(nzVisible)]="showModel" [nzTitle]="title" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" +<nz-modal [(nzVisible)]="showModal" [nzTitle]="title" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" nzWidth="648px" nzHeight="800px"> <form nz-form [formGroup]="validateForm" (ngSubmit)="submitForm()"> <nz-form-item> - <nz-form-label [nzSpan]="8" nzFor="name">Knowledge Base Name</nz-form-label> + <nz-form-label [nzSpan]="8" nzFor="name" nzRequired>Knowledge Base Name</nz-form-label> <nz-form-control [nzSpan]="12"> - <input type="text" nz-input formControlName="name"> + <input type="text" nz-input formControlName="name" placeholder="Please input knowledge base name"> + <nz-form-explain *ngIf="validateForm.get('name').dirty && validateForm.get('name').errors"> + Please input knowledge base name! + </nz-form-explain> </nz-form-control> </nz-form-item> <nz-form-item> @@ -29,26 +32,32 @@ </nz-form-control> </nz-form-item> <nz-form-item> - <nz-form-label [nzSpan]="8" nzFor="selectedOperator">Operator Name</nz-form-label> + <nz-form-label [nzSpan]="8" nzFor="selectedOperator" nzRequired>Operator Name</nz-form-label> <nz-form-control [nzSpan]="12"> <nz-select name="selectedOperator" nzPlaceHolder="Select Operator" formControlName="selectedOperator" (ngModelChange)="handleOperatorChange($event)"> <nz-option *ngFor="let operator of operators" [nzValue]="operator" [nzLabel]="operator.operatorName"></nz-option> </nz-select> + <nz-form-explain + *ngIf="validateForm.get('selectedOperator').dirty && validateForm.get('selectedOperator').errors">Please + select operator!</nz-form-explain> </nz-form-control> </nz-form-item> <nz-form-item> - <nz-form-label [nzSpan]="8" nzFor="selectedPlatform">MaaS Platform Name</nz-form-label> + <nz-form-label [nzSpan]="8" nzFor="selectedPlatform" nzRequired>MaaS Platform Name</nz-form-label> <nz-form-control [nzSpan]="12"> <nz-select nzPlaceHolder="Select MaaS" formControlName="selectedPlatform"> <nz-option *ngFor="let platform of filteredPlatforms" [nzValue]="platform" [nzLabel]="platform.maaSPlatformName"></nz-option> </nz-select> + <nz-form-explain + *ngIf="validateForm.get('selectedPlatform').dirty && validateForm.get('selectedPlatform').errors">Please + select maas platform!</nz-form-explain> </nz-form-control> </nz-form-item> <nz-form-item> - <nz-form-label [nzSpan]="8" nzFor="fileList">File Upload</nz-form-label> + <nz-form-label [nzSpan]="8" nzFor="fileList" nzRequired>File Upload</nz-form-label> <nz-form-control [nzSpan]="12"> <nz-upload [(nzFileList)]="fileList" [nzBeforeUpload]="beforeUpload"> <button nz-button> diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.less b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.less index e69de29b..e69de29b 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.less +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.less diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts index 9984f664..891fb9bd 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/input-knowledge-base/input-knowledge-base.component.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts @@ -1,73 +1,60 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { IntentManagementService } from '../../../../core/services/intentManagement.service'; import { Util } from '../../../../shared/utils/utils'; import { NzMessageService, UploadFile } from 'ng-zorro-antd'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { MaasService } from '@src/app/core/services/maas.service'; @Component({ - selector: 'app-input-knowledge-base', - templateUrl: './input-knowledge-base.component.html', - styleUrls: ['./input-knowledge-base.component.less'] + selector: 'app-create-knowledge-base', + templateUrl: './create-knowledge-base.component.html', + styleUrls: ['./create-knowledge-base.component.less'] }) -export class InputKnowledgeBaseComponent implements OnInit { +export class CreateKnowledgeBaseComponent implements OnInit { title = 'Add Knowledge Base'; - constructor( - private myhttp: IntentManagementService, - private Util: Util, - private message: NzMessageService, - private http: HttpClient, - private fb: FormBuilder - ) { } - - @Input() showModel: boolean; + @Input() showModal: boolean; @Output() modalOpreation = new EventEmitter(); apiUrl = '/api/usecaseui-llm-adaptation/v1/knowledgeBase/create'; - apiUrl1 = '/api/usecaseui-intent-analysis/v1/intents/upload'; maasUrl = '/api/usecaseui-llm-adaptation/v1/operator/maas/getAll' - url = "http://172.22.16.126:3000/api/core/dataset/create"; - knowledgeBase = { - name: '', - description: '' - }; fileList: UploadFile[] = []; operators: any[] = []; - selectedOperator: any = null; filteredPlatforms: any[] = []; - allPlatforms: any[] = []; - selectedPlatform: any = null; validateForm: FormGroup; + constructor( + private myhttp: MaasService, + private Util: Util, + private message: NzMessageService, + private http: HttpClient, + private fb: FormBuilder + ) { } + ngOnInit() { this.fetchOperators(); this.validateForm = this.fb.group({ - name: [null], + name: [null, [Validators.required]], description: [null], - selectedOperator: [null], - selectedPlatform: [null], + selectedOperator: [null, [Validators.required]], + selectedPlatform: [null, [Validators.required]], }); } - fetchOperators(): void { this.http.get<any>(this.maasUrl).subscribe( (response) => { - console.log(response); this.operators = response.result_body; }, - (error) => { + () => { this.message.error('Failed to fetch operators'); } ); } - submitForm(): void { for (const i in this.validateForm.controls) { this.validateForm.controls[i].markAsDirty(); this.validateForm.controls[i].updateValueAndValidity(); } } - handleOperatorChange(value: any): void { if (value) { this.filteredPlatforms = value.maaSPlatformList; @@ -76,52 +63,49 @@ export class InputKnowledgeBaseComponent implements OnInit { } this.validateForm.get('selectedPlatform').setValue(null); } - - beforeUpload = (file: UploadFile): boolean => { this.fileList.push(file); return false; } - handleCancel(): void { - this.showModel = false; + this.showModal = false; this.modalOpreation.emit({ "cancel": true }); } - handleOk(): void { + + constructBody() { const formData = new FormData(); const metaData = { - knowledgeBaseName: this.validateForm.controls.name.value, - knowledgeBaseDescription: this.validateForm.controls.description.value, - operatorId: this.validateForm.controls.selectedOperator.value.operatorId, - operatorName: this.validateForm.controls.selectedOperator.value.operatorName, - maaSPlatformId: this.validateForm.controls.selectedPlatform.value.maaSPlatformId, - maaSPlatformName: this.validateForm.controls.selectedPlatform.value.maaSPlatformName + knowledgeBaseName: this.validateForm.value.name, + knowledgeBaseDescription: this.validateForm.value.description, + operatorId: this.validateForm.value.selectedOperator.operatorId, + operatorName: this.validateForm.value.selectedOperator.operatorName, + maaSPlatformId: this.validateForm.value.selectedPlatform.maaSPlatformId, + maaSPlatformName: this.validateForm.value.selectedPlatform.maaSPlatformName }; const metaDataJson = JSON.stringify(metaData); formData.append('metaData', metaDataJson); this.fileList.forEach((file: any) => { formData.append('files', file); }); - this.http.post<any>(this.apiUrl, formData).subscribe( + return formData + } + + handleOk(): void { + this.submitForm(); + if (this.validateForm.invalid) { + this.showModal = true; + return; + } + this.http.post<any>(this.apiUrl, this.constructBody()).subscribe( (response) => { if (response.result_header.result_code === 200) { this.message.success('Created successfully'); } else { this.message.error(response.result_header.result_message); } - this.knowledgeBase = { - name: '', - description: '' - }; - this.fileList = []; this.modalOpreation.emit({ "cancel": false }); }, (error) => { - this.knowledgeBase = { - name: '', - description: '' - }; - this.fileList = []; console.log('Upload failed', error); } ); diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.html index 9653f29f..b491df86 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.html +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.html @@ -13,9 +13,23 @@ See the License for the specific language governing permissions and limitations under the License. --> -<nz-modal [(nzVisible)]="showModel" nzTitle="Knowledge Base Detail" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" +<nz-modal [(nzVisible)]="showModal" nzTitle="Knowledge Base Detail" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()" nzWidth="56%" nzHeight="800px" class="intent-management-modal"> - <div> - <app-description-info [data]="data"></app-description-info> - </div> + <app-descriptions> + <app-descriptions-item nzTitle="Knowledge Base Name">{{knowledgeBaseDetail.knowledgeBaseName}} + </app-descriptions-item> + <app-descriptions-item nzTitle="Operator Name">{{knowledgeBaseDetail.operatorName}} + </app-descriptions-item> + <app-descriptions-item nzTitle="MaaS Platform Name">{{knowledgeBaseDetail.maaSPlatformName}} + </app-descriptions-item> + <app-descriptions-item nzTitle="Update Time"> + {{knowledgeBaseDetail.updateTime}} + </app-descriptions-item> + <app-descriptions-item nzTitle="Files Name"> + {{knowledgeBaseService.getFiles(knowledgeBaseDetail)}} + </app-descriptions-item> + <app-descriptions-item [nzSpan]="3" + nzTitle="Knowledge Base Description">{{knowledgeBaseDetail.knowledgeBaseDescription}} + </app-descriptions-item> + </app-descriptions> </nz-modal>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts index 172e9d1d..3bcc1455 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts @@ -1,5 +1,5 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { knowledgeBase } from '../knowledge-base.type'; +import { KnowledgeBase } from '../knowledge-base.type'; import { KnowledgeBaseService } from '../knowledge-base.service'; @Component({ selector: 'app-knowledge-base-detail', @@ -9,56 +9,22 @@ import { KnowledgeBaseService } from '../knowledge-base.service'; export class KnowledgeBaseDetailComponent implements OnInit { constructor( - private knowledgeBaseService: KnowledgeBaseService + public knowledgeBaseService: KnowledgeBaseService ) { } - @Input() showModel: boolean; - _knowledgeBase: knowledgeBase; - data: Array<{ label: string, value: string }> = []; - @Input() - - set knowledgeBaseDetail(v: any) { - if (!v) { - return; - } - this.data = [ - { - label: 'Knowledge Base Name', value: v.knowledgeBaseName - }, - { - label: 'Knowledge Base Description', value: v.knowledgeBaseDescription - }, - { - label: 'Operator Name', value: v.operatorName - }, - { - label: 'MaaS Platform Name', value: v.maaSPlatformName - }, - { - label: 'Update Time', value: v.updateTime - }, - { - label: 'Files Name', value: this.knowledgeBaseService.getFiles(v) - } - ] - this._knowledgeBase = v; - } - - get knowledgeBaseDetail() { - return this._knowledgeBase; - }; + @Input() showModal: boolean; + @Input() knowledgeBaseDetail: KnowledgeBase; @Output() modalOpreation = new EventEmitter(); - files = ''; ngOnInit() { } handleCancel(): void { - this.showModel = false; + this.showModal = false; this.modalOpreation.emit({ "cancel": true }); } handleOk(): void { - this.showModel = false; + this.showModal = false; this.modalOpreation.emit({ "cancel": true }); } }
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html index eba272c2..6186ef2f 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html @@ -16,10 +16,10 @@ <div class="content"> <p class="title"> {{ "i18nTextDefine_KnowledgeBaseList" | translate }} - <button nz-button nzType="primary" class="add" (click)="inputKnowledgeBaseModuleShow()"> + <button nz-button nzType="primary" class="add" (click)="create()"> {{"i18nTextDefine_Create" | translate}} </button> </p> - <nz-table #basicTable [nzData]="listOfData" [nzFrontPagination]="false" [nzShowPagination]="false"> + <nz-table #basicTable [nzData]="data" [nzFrontPagination]="false" [nzShowPagination]="false"> <thead> <tr> <th nzWidth="25%" style="font-size: 20px;">{{"i18nTextDefine_NO" | translate}}</th> @@ -29,23 +29,24 @@ </tr> </thead> <tbody> - <tr *ngFor="let data of basicTable.data; let i = index"> - <td>{{ i+1 }}</td> - <td>{{ data.knowledgeBaseName }}</td> - <td>{{ data.knowledgeBaseDescription }}</td> - <td> - <i class="anticon anticon-menu-fold" (click)="displayKnowledgeDetails(data)"></i> - <!-- <i class="anticon anticon-edit" (click)="editKnowedgeBase(data)"></i> --> - <i class="anticon anticon-delete" (click)="deleteKnowledgeBase(data)"></i> - </td> - </tr> + <tr *ngFor="let data of basicTable.data; let i = index"> + <td>{{ i+1 }}</td> + <td>{{ data.knowledgeBaseName }}</td> + <td>{{ data.knowledgeBaseDescription }}</td> + <td> + <i class="anticon anticon-menu-fold" (click)="displayKnowledgeDetails(data)"></i> + <!-- <i class="anticon anticon-edit" (click)="editKnowedgeBase(data)"></i> --> + <i class="anticon anticon-delete" (click)="deleteKnowledgeBase(data)"></i> + </td> + </tr> </tbody> </nz-table> </div> -<app-input-knowledge-base *ngIf="intentModuleShow" [showModel]="intentModuleShow" - (modalOpreation)="inputKnowledgeBaseModuleClose($event)"></app-input-knowledge-base> -<app-knowledge-base-detail *ngIf="knowledgeBaseShow" [showModel]="knowledgeBaseShow" (modalOpreation)="knowledgeBaseDetailClose($event)" +<app-create-knowledge-base *ngIf="createModalShow" [showModal]="createModalShow" + (modalOpreation)="createModalClose($event)"></app-create-knowledge-base> +<app-knowledge-base-detail *ngIf="knowledgeBaseShow" [showModal]="knowledgeBaseShow" + (modalOpreation)="knowledgeBaseDetailClose($event)" [knowledgeBaseDetail]="knowledgeBaseDetail"></app-knowledge-base-detail> -<!-- <app-edit-knowledge-base *ngIf="editKnowledgeBaseShow" [showModel]="editKnowledgeBaseShow" [knowledgeBaseId]="editKnowledgeBaseId" +<!-- <app-edit-knowledge-base *ngIf="editKnowledgeBaseShow" [showModal]="editKnowledgeBaseShow" [knowledgeBaseId]="knowledgeBaseId" (modalOpreation)="editKnowledgeBaseModuleClose($event)"></app-edit-knowledge-base> -->
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.less b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.less index 0b44f752..b4aeaecc 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.less +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.less @@ -19,6 +19,9 @@ margin-right: 10px; cursor: pointer; } + .anticon { + user-select: none; + } } .column-size { diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts index e54f1e23..bad5808c 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts @@ -1,7 +1,7 @@ import { Component, OnInit } from '@angular/core'; -import { IntentManagementService } from '../../../core/services/intentManagement.service' import { NzMessageService } from "ng-zorro-antd"; -import { Router } from '@angular/router'; +import { MaasService } from '@src/app/core/services/maas.service'; +import { KnowledgeBase } from './knowledge-base.type'; @Component({ selector: 'app-knowledge-base-management', @@ -10,28 +10,26 @@ import { Router } from '@angular/router'; }) export class KnowledgeBaseManagementComponent implements OnInit { editKnowledgeBaseShow = false; - editKnowledgeBaseId = ''; + knowledgeBaseId = ''; + data: KnowledgeBase[] = []; + createModalShow: boolean = false; + knowledgeBaseShow: boolean = false; + knowledgeBaseDetail: Object = {}; + constructor( - private myhttp: IntentManagementService, - private message: NzMessageService, - private router: Router + private myhttp: MaasService, + private message: NzMessageService ) { } ngOnInit() { this.getKnowledgeBaseData() } - listOfData: any[] = []; - - intentModuleShow: boolean = false; - knowledgeBaseShow: boolean = false; - editIntentTableList: Object = {}; - currentIndex: number = -1; getKnowledgeBaseData(): void { this.myhttp.getKnowledgeBaseRecord() .subscribe( (data) => { - this.listOfData = data.result_body + this.data = data.result_body }, () => { this.message.error('Failed to obtain knowledgeBase data'); @@ -39,12 +37,11 @@ export class KnowledgeBaseManagementComponent implements OnInit { ) } - inputKnowledgeBaseModuleShow(): void { - this.intentModuleShow = true; + create(): void { + this.createModalShow = true; } - inputKnowledgeBaseModuleClose($event: any): void { - console.log($event); - this.intentModuleShow = false; + createModalClose($event: any): void { + this.createModalShow = false; if ($event.cancel) { return; } @@ -71,12 +68,11 @@ export class KnowledgeBaseManagementComponent implements OnInit { } else { this.message.error(data.result_header.result_message); } - }, (err) => { + }, () => { this.message.error('Deletion failed'); }); } - knowledgeBaseDetail: Object = {}; displayKnowledgeDetails(data): void { this.knowledgeBaseShow = true; this.myhttp.getKnowledgeBaseById(data.knowledgeBaseId) @@ -84,14 +80,14 @@ export class KnowledgeBaseManagementComponent implements OnInit { (data) => { this.knowledgeBaseDetail = data.result_body; }, - (err) => { + () => { this.message.error('Failed to obtain knowledge base data'); } ) } editKnowedgeBase(data) { - this.editKnowledgeBaseId = data.knowledgeBaseId; + this.knowledgeBaseId = data.knowledgeBaseId; this.editKnowledgeBaseShow = true; } diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.service.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.service.ts index 4af8c292..f7d91b1c 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.service.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.service.ts @@ -1,11 +1,11 @@ import { Injectable } from '@angular/core'; -import { knowledgeBase } from './knowledge-base.type'; +import { KnowledgeBase } from './knowledge-base.type'; @Injectable() export class KnowledgeBaseService { constructor() { } - getFiles(v: knowledgeBase) { + getFiles(v: KnowledgeBase) { return v.filesName ? v.filesName.join(',') : ''; } } diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts index ec9c7daa..e6004ff1 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts @@ -1,4 +1,4 @@ -export type knowledgeBase = { +export type KnowledgeBase = { knowledgeBaseName: string, knowledgeBaseDescription: string, operatorName: string, @@ -10,3 +10,11 @@ export type knowledgeBase = { knowledgeBaseId: string } +export type KnowledgeBaseResponse = { + result_body: KnowledgeBase, + result_header: { + result_code :number, + result_message: string + } +} + |