diff options
Diffstat (limited to 'usecaseui-portal/src/app/views/maas/knowledge-base-management')
8 files changed, 224 insertions, 35 deletions
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts index 891fb9bd..2757137b 100644 --- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts @@ -3,7 +3,9 @@ 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'; +import { MaasApi } from '@src/app/api/maas.api'; +import { Operator } from 'rxjs'; +import { MaaSPlatform, Operators } from '../knowledge-base.type'; @Component({ selector: 'app-create-knowledge-base', @@ -14,16 +16,13 @@ export class CreateKnowledgeBaseComponent implements OnInit { title = 'Add Knowledge Base'; @Input() showModal: boolean; @Output() modalOpreation = new EventEmitter(); - - apiUrl = '/api/usecaseui-llm-adaptation/v1/knowledgeBase/create'; - maasUrl = '/api/usecaseui-llm-adaptation/v1/operator/maas/getAll' - fileList: UploadFile[] = []; - operators: any[] = []; - filteredPlatforms: any[] = []; + fileList: File[] = []; + operators: Operators[] = []; + filteredPlatforms: MaaSPlatform[] = []; validateForm: FormGroup; constructor( - private myhttp: MaasService, + private myhttp: MaasApi, private Util: Util, private message: NzMessageService, private http: HttpClient, @@ -40,7 +39,7 @@ export class CreateKnowledgeBaseComponent implements OnInit { }); } fetchOperators(): void { - this.http.get<any>(this.maasUrl).subscribe( + this.myhttp.getOperators().subscribe( (response) => { this.operators = response.result_body; }, @@ -55,7 +54,7 @@ export class CreateKnowledgeBaseComponent implements OnInit { this.validateForm.controls[i].updateValueAndValidity(); } } - handleOperatorChange(value: any): void { + handleOperatorChange(value: Operators): void { if (value) { this.filteredPlatforms = value.maaSPlatformList; } else { @@ -63,7 +62,7 @@ export class CreateKnowledgeBaseComponent implements OnInit { } this.validateForm.get('selectedPlatform').setValue(null); } - beforeUpload = (file: UploadFile): boolean => { + beforeUpload = (file: File): boolean => { this.fileList.push(file); return false; } @@ -84,7 +83,7 @@ export class CreateKnowledgeBaseComponent implements OnInit { }; const metaDataJson = JSON.stringify(metaData); formData.append('metaData', metaDataJson); - this.fileList.forEach((file: any) => { + this.fileList.forEach((file: File) => { formData.append('files', file); }); return formData @@ -96,7 +95,7 @@ export class CreateKnowledgeBaseComponent implements OnInit { this.showModal = true; return; } - this.http.post<any>(this.apiUrl, this.constructBody()).subscribe( + this.myhttp.createKnowledgeBase(this.constructBody()).subscribe( (response) => { if (response.result_header.result_code === 200) { this.message.success('Created successfully'); diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html new file mode 100644 index 00000000..feee9b8f --- /dev/null +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html @@ -0,0 +1,18 @@ +<nz-modal [(nzVisible)]="showModal" [nzTitle]="title" (nzOnCancel)="handleCancel()" + (nzOnOk)="submitForm()" nzWidth="648px" nzHeight="800px"> + <form nz-form [formGroup]="validateForm" (ngSubmit)="checkForm()"> + <nz-form-item> + <nz-form-label [nzSpan]="8" nzFor="name" nzRequired>Knowledge Base Name</nz-form-label> + <nz-form-control [nzSpan]="12"> + <input 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> + <nz-form-label [nzSpan]="8" nzFor="description">Knowledge Base Description</nz-form-label> + <nz-form-control [nzSpan]="12"> + <textarea rows="2" formControlName="description" nz-input></textarea> + </nz-form-control> + </nz-form-item> + </form> +</nz-modal>
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less new file mode 100644 index 00000000..a5e73a17 --- /dev/null +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.less @@ -0,0 +1,21 @@ +.intent-management-modal { + .ant-input { + width: 300px; + } +} + + +.resizable-textarea { + min-width: 200px; + min-height: 80px; + resize: vertical; +} + +.disabled-input { + color: #00000040; + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; + cursor: not-allowed; + opacity: 1; +}
\ No newline at end of file diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts new file mode 100644 index 00000000..3a71d800 --- /dev/null +++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts @@ -0,0 +1,106 @@ +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; +import { NzMessageService } from 'ng-zorro-antd'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { KnowledgeBase } from '../knowledge-base.type'; +import { MaasApi } from '@src/app/api/maas.api'; + +@Component({ + selector: 'app-edit-knowledge-base', + templateUrl: './edit-knowledge-base.component.html', + styleUrls: ['./edit-knowledge-base.component.less'] +}) +export class EditKnowledgeBaseComponent implements OnInit { + title = 'Edit Knowledge Base'; + @Input() showModal: boolean; + @Input() knowledgeBaseId: string; + @Output() modalOpreation = new EventEmitter(); + validateForm: FormGroup; + defalutKnowledgeBase: KnowledgeBase = { + knowledgeBaseName: '', + knowledgeBaseDescription: '', + knowledgeBaseId: '', + operatorName: '', + maaSPlatformName: '', + maaSPlatformId: '', + updateTime: '', + filesName: [], + operatorId: '' + } + knowledgeBase: KnowledgeBase = this.defalutKnowledgeBase; + + constructor( + private myhttp: MaasApi, + private message: NzMessageService, + private fb: FormBuilder, + ) { } + + ngOnInit() { + this.validateForm = this.fb.group({ + name: [this.knowledgeBase.knowledgeBaseName, [Validators.required]], + description: [this.knowledgeBase.knowledgeBaseDescription], + }); + this.fetchKnowledgeBase(); + } + + checkForm(): void { + for (const i in this.validateForm.controls) { + this.validateForm.controls[i].markAsDirty(); + this.validateForm.controls[i].updateValueAndValidity(); + } + } + + submitForm(): void { + this.checkForm(); + this.create(); + } + + fetchKnowledgeBase(): void { + this.myhttp.getKnowledgeBaseById(this.knowledgeBaseId) + .subscribe( + (response) => { + if (response.result_header.result_code !== 200) { + this.message.error('get Knowledge Base error'); + return; + } + this.knowledgeBase = response.result_body; + this.validateForm.patchValue({ + name: this.knowledgeBase.knowledgeBaseName, + description: this.knowledgeBase.knowledgeBaseDescription + }); + }, + () => { + this.message.error('Failed to obtain knowledge base data'); + } + ) + } + + handleCancel(): void { + this.showModal = false; + this.modalOpreation.emit({ "cancel": true }); + } + + create() { + const body = { + knowledgeBaseId: this.knowledgeBase.knowledgeBaseId, + knowledgeBaseName: this.validateForm.get('name').value, + knowledgeBaseDescription: this.validateForm.get('description').value, + operatorId: this.knowledgeBase.operatorId, + operatorName: this.knowledgeBase.operatorName, + maaSPlatformId: this.knowledgeBase.maaSPlatformId, + maaSPlatformName: this.knowledgeBase.maaSPlatformName + }; + this.myhttp.updateKnowledgeBase(body).subscribe( + (response) => { + if (response.result_header.result_code === 200) { + this.message.success('update knowledge base successfully'); + } else { + this.message.error(response.result_header.result_message); + } + this.modalOpreation.emit({ "cancel": false }); + }, + (error) => { + console.log('Upload failed', error); + } + ); + } +}
\ 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 3bcc1455..49b9de4a 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 @@ -20,11 +20,11 @@ export class KnowledgeBaseDetailComponent implements OnInit { handleCancel(): void { this.showModal = false; - this.modalOpreation.emit({ "cancel": true }); + this.modalOpreation.emit(); } handleOk(): void { this.showModal = false; - this.modalOpreation.emit({ "cancel": true }); + this.modalOpreation.emit(); } }
\ 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 6186ef2f..eb7c232a 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 @@ -35,8 +35,8 @@ <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> + <i class="anticon anticon-edit" (click)="editKnowedgeBase(data)"></i> + <i class="anticon anticon-delete" (click)="showDeleteConfirm(data)"></i> </td> </tr> </tbody> @@ -45,8 +45,8 @@ <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)" + (modalOpreation)="knowledgeBaseDetailClose()" [knowledgeBaseDetail]="knowledgeBaseDetail"></app-knowledge-base-detail> -<!-- <app-edit-knowledge-base *ngIf="editKnowledgeBaseShow" [showModal]="editKnowledgeBaseShow" [knowledgeBaseId]="knowledgeBaseId" -(modalOpreation)="editKnowledgeBaseModuleClose($event)"></app-edit-knowledge-base> -->
\ No newline at end of file +<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.ts b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts index bad5808c..26b672cc 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,8 @@ -import { Component, OnInit } from '@angular/core'; -import { NzMessageService } from "ng-zorro-antd"; -import { MaasService } from '@src/app/core/services/maas.service'; -import { KnowledgeBase } from './knowledge-base.type'; +import { Component, OnDestroy, OnInit } from '@angular/core'; +import { NzMessageService, NzModalService } from "ng-zorro-antd"; +import { MaasApi } from '@src/app/api/maas.api'; +import { KnowledgeBase, modalClose } from './knowledge-base.type'; +import { TranslateService } from '@ngx-translate/core'; @Component({ selector: 'app-knowledge-base-management', @@ -17,8 +18,10 @@ export class KnowledgeBaseManagementComponent implements OnInit { knowledgeBaseDetail: Object = {}; constructor( - private myhttp: MaasService, - private message: NzMessageService + private myhttp: MaasApi, + private message: NzMessageService, + private modalService: NzModalService, + private translate: TranslateService ) { } ngOnInit() { @@ -40,7 +43,7 @@ export class KnowledgeBaseManagementComponent implements OnInit { create(): void { this.createModalShow = true; } - createModalClose($event: any): void { + createModalClose($event: modalClose): void { this.createModalShow = false; if ($event.cancel) { return; @@ -48,7 +51,7 @@ export class KnowledgeBaseManagementComponent implements OnInit { this.getKnowledgeBaseData() } - editKnowledgeBaseModuleClose($event: any): void { + editKnowledgeBaseModuleClose($event: modalClose): void { this.editKnowledgeBaseShow = false; if ($event.cancel) { return; @@ -56,11 +59,11 @@ export class KnowledgeBaseManagementComponent implements OnInit { this.getKnowledgeBaseData() } - knowledgeBaseDetailClose($event: any): void { + knowledgeBaseDetailClose(): void { this.knowledgeBaseShow = false; } - deleteKnowledgeBase(data): void { + deleteKnowledgeBase(data: KnowledgeBase): void { this.myhttp.deleteKnowledgeBaseData(data.knowledgeBaseId).subscribe((data) => { this.getKnowledgeBaseData() if (data.result_header.result_code === 200) { @@ -86,9 +89,20 @@ export class KnowledgeBaseManagementComponent implements OnInit { ) } - editKnowedgeBase(data) { + editKnowedgeBase(data: KnowledgeBase) { this.knowledgeBaseId = data.knowledgeBaseId; this.editKnowledgeBaseShow = true; } + showDeleteConfirm(data: KnowledgeBase): void { + this.modalService.confirm({ + nzTitle: this.translate.instant('maas.deleteTitle'), + nzContent: this.translate.instant('maas.knowledgeBase.deleteKnowledgeBaseContent'), + nzOkText: 'Yes', + nzOkType: 'danger', + nzOnOk: () => this.deleteKnowledgeBase(data), + nzCancelText: 'No' + }); + } + }
\ No newline at end of file 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 e6004ff1..b9ec432d 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 @@ -10,11 +10,42 @@ export type KnowledgeBase = { knowledgeBaseId: string } -export type KnowledgeBaseResponse = { - result_body: KnowledgeBase, - result_header: { - result_code :number, +export type KnowledgeBaseResponse = Response<KnowledgeBase> + +export type KnowledgeBasesResponse = Response<Array<KnowledgeBase>> + +export type Operators = { + operatorId: string, + operatorName: string, + maaSPlatformList: Array<MaaSPlatform>, +} + +export type MaaSPlatform = { + maaSPlatformId: string, + maaSPlatformName: string, + operatorId: string, + operatorName: string, + modelList: Array<ModelInformation>; +} + +export type ModelInformation = { + modelId: string, + modelName: string, +} + +export type ResponseHeader = { + result_header:{ + result_code: number, result_message: string } } +export type OperatorsResponse = Response<Array<Operators>> + +export type Response<T> = { + result_body: T +} & ResponseHeader + +export type modalClose = { + cancel: boolean +}
\ No newline at end of file |