summaryrefslogtreecommitdiffstats
path: root/usecaseui-portal/src/app/views/maas/knowledge-base-management
diff options
context:
space:
mode:
Diffstat (limited to 'usecaseui-portal/src/app/views/maas/knowledge-base-management')
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html3
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.ts2
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.html3
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/edit-knowledge-base/edit-knowledge-base.component.ts2
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.html32
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.less14
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.ts94
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.html4
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-management.component.ts10
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.service.ts4
-rw-r--r--usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base.type.ts9
11 files changed, 146 insertions, 31 deletions
diff --git a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html
index 78773c0a..1931220f 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/create-knowledge-base/create-knowledge-base.component.html
@@ -61,7 +61,8 @@
<nz-form-control [nzSpan]="12">
<nz-upload [(nzFileList)]="fileList" [nzBeforeUpload]="beforeUpload">
<button nz-button>
- <i class="anticon anticon-upload"></i><span>Select File</span>
+ <i class="anticon anticon-upload"></i>
+ <span>Select File</span>
</button>
</nz-upload>
</nz-form-control>
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 2757137b..aefe2066 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
@@ -35,7 +35,7 @@ export class CreateKnowledgeBaseComponent implements OnInit {
name: [null, [Validators.required]],
description: [null],
selectedOperator: [null, [Validators.required]],
- selectedPlatform: [null, [Validators.required]],
+ selectedPlatform: [null, [Validators.required]]
});
}
fetchOperators(): void {
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
index feee9b8f..e181ee5c 100644
--- 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
@@ -4,8 +4,7 @@
<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>
+ <input nz-input class="disabled-input" formControlName="name" placeholder="Please input knowledge base name"/>
</nz-form-control>
</nz-form-item>
<nz-form-item>
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
index 3a71d800..00b65dfe 100644
--- 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
@@ -23,7 +23,7 @@ export class EditKnowledgeBaseComponent implements OnInit {
maaSPlatformName: '',
maaSPlatformId: '',
updateTime: '',
- filesName: [],
+ fileList: [],
operatorId: ''
}
knowledgeBase: KnowledgeBase = this.defalutKnowledgeBase;
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 b491df86..419bb6b3 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
@@ -15,7 +15,7 @@
-->
<nz-modal [(nzVisible)]="showModal" nzTitle="Knowledge Base Detail" (nzOnCancel)="handleCancel()" (nzOnOk)="handleOk()"
nzWidth="56%" nzHeight="800px" class="intent-management-modal">
- <app-descriptions>
+ <app-descriptions *ngIf="knowledgeBaseDetail else LoadingTmp">
<app-descriptions-item nzTitle="Knowledge Base Name">{{knowledgeBaseDetail.knowledgeBaseName}}
</app-descriptions-item>
<app-descriptions-item nzTitle="Operator Name">{{knowledgeBaseDetail.operatorName}}
@@ -25,11 +25,35 @@
<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-item [nzSpan]="3" nzTitle="Files Name">
+ <div class="upload-file">
+ <nz-upload [nzAction]="url" [(nzFileList)]="fileList" (nzChange)="handleChange($event)" nzName="files" [nzData]="nzdata">
+ <button nz-button>
+ <i class="anticon anticon-upload"></i>
+ <span>Select File</span>
+ </button>
+ </nz-upload>
+ <div *ngFor="let file of displayFiles"
+ class="ant-upload-list-item ant-upload-list-item- ng-trigger ng-trigger-itemState ng-star-inserted" [ngClass]="{'ant-upload-list-item-error': file.status === 'error'}">
+ <div class="ant-upload-list-item-info">
+ <span class="ng-tns-c15-6 ng-star-inserted">
+ <i class="anticon anticon-paper-clip ng-star-inserted"></i>
+ <span class="ant-upload-list-item-name ng-tns-c15-6 ng-star-inserted"
+ title="fastgpt_README.md">{{file.fileName}}</span>
+ </span>
+ </div>
+ <i class="anticon anticon-cross ng-tns-c15-6 ng-star-inserted" title="Remove file"
+ (click)="removedFile(file)"></i>
+ </div>
+ </div>
+ </app-descriptions-item>
</app-descriptions>
+ <ng-template #LoadingTmp>
+ <div class="loading">
+ <nz-spin class="upload-loading" [nzSize]="'large'"></nz-spin>
+ </div>
+ </ng-template>
</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.less b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.less
index e69de29b..9447ad74 100644
--- a/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.less
+++ b/usecaseui-portal/src/app/views/maas/knowledge-base-management/knowledge-base-detail/knowledge-base-detail.component.less
@@ -0,0 +1,14 @@
+.upload-file {
+ width: 100%;
+}
+
+.upload-loading {
+ position: absolute;
+ left: 50%;
+ transform: translateX(-50%);
+}
+
+.loading {
+ position: relative;
+ height: 37px;
+}
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 49b9de4a..a9b0adaa 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,21 +1,56 @@
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { KnowledgeBase } from '../knowledge-base.type';
import { KnowledgeBaseService } from '../knowledge-base.service';
+import { MaasApi } from '@src/app/api/maas.api';
+import { NzMessageService } from 'ng-zorro-antd';
+import { forkJoin } from 'rxjs/observable/forkJoin';
+import { of } from 'rxjs/observable/of';
+import { catchError } from 'rxjs/operators';
+import { MaasService } from '../../maas-service.service';
@Component({
selector: 'app-knowledge-base-detail',
templateUrl: './knowledge-base-detail.component.html',
styleUrls: ['./knowledge-base-detail.component.less']
})
export class KnowledgeBaseDetailComponent implements OnInit {
-
constructor(
- public knowledgeBaseService: KnowledgeBaseService
+ public knowledgeBaseService: KnowledgeBaseService,
+ public myhttp: MaasApi,
+ private maasServie: MaasService,
+ private message: NzMessageService,
) { }
@Input() showModal: boolean;
- @Input() knowledgeBaseDetail: KnowledgeBase;
+ displayFiles = [];
+ init = true;
+ data: KnowledgeBase ;
+ set knowledgeBaseDetail(v: KnowledgeBase) {
+ if(v) {
+ this.displayFiles = v.fileList.slice().reverse();
+ this.data = v;
+ }
+ }
+ get knowledgeBaseDetail() {
+ return this.data;
+ }
+ @Input() id = '';
+ fileList: File[] = [];
@Output() modalOpreation = new EventEmitter();
-
+ removedFiles:string[] = [];
+ url = `${(window as any).baseUrl}${this.myhttp.url.uploadFile}`;
+
ngOnInit() {
+ this.displayKnowledgeDetails(this.id);
+ }
+
+ displayKnowledgeDetails(id: string) {
+ this.myhttp.getKnowledgeBaseById(id).subscribe(
+ (response) => {
+ this.knowledgeBaseDetail = response.result_body;
+ },
+ () => {
+ this.message.error('Failed to obtain knowledge base data');
+ }
+ );
}
handleCancel(): void {
@@ -27,4 +62,55 @@ export class KnowledgeBaseDetailComponent implements OnInit {
this.showModal = false;
this.modalOpreation.emit();
}
+
+ handleChange({ file}): void {
+ const status = file.status;
+ if (status === 'done') {
+ this.fileList = [];
+ if (file.response.result_header.result_code === 200) {
+ this.message.success(`${file.name} upload successfully.`);
+ this.displayKnowledgeDetails(this.id);
+ } else {
+ this.displayFiles.unshift({fileId: this.maasServie.generateUniqueId, fileName: file.name, status: 'error'});
+ }
+ } else if (status === 'error') {
+ this.fileList = [];
+ this.displayFiles.unshift({fileId: this.maasServie.generateUniqueId, fileName: file.name, status: 'error'});
+ this.message.error(`${file.name} file upload failed.`);
+ } else if (status === 'removed') {
+ console.log('file event removed!');
+ }
+ }
+
+ nzdata = () => {
+ const metaData = JSON.stringify({
+ knowledgeBaseId: this.knowledgeBaseDetail.knowledgeBaseId
+ });
+ return {metaData}
+ }
+
+ removedFile({fileId, status, fileName}) {
+ if (status === 'error') {
+ this.displayFiles = this.displayFiles.filter(file => file.fileId !== fileId);
+ this.message.success(`${fileName} delete successfully.`);
+ return;
+ }
+ this.myhttp.removeFile(fileId).pipe(
+ ).subscribe(
+ (response) => {
+ if (response.result_header.result_code === 200) {
+ this.displayFiles = this.displayFiles.filter(file => file.fileId !== fileId);
+ this.message.success(`${fileName} delete successfully.`);
+ }
+ },
+ () => {
+ this.message.success(`${fileName} delete failed.`);
+ }
+ )
+ }
+
+ beforeUpload = (): boolean => {
+ return 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 eb7c232a..703bc04a 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
@@ -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()"
- [knowledgeBaseDetail]="knowledgeBaseDetail"></app-knowledge-base-detail>
+ (modalOpreation)="knowledgeBaseDetailClose()" [id]="knowledgeBaseId"
+ ></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
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 843387b3..e6c96189 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
@@ -77,16 +77,8 @@ export class KnowledgeBaseManagementComponent implements OnInit {
}
displayKnowledgeDetails(data): void {
+ this.knowledgeBaseId = data.knowledgeBaseId;
this.knowledgeBaseShow = true;
- this.myhttp.getKnowledgeBaseById(data.knowledgeBaseId)
- .subscribe(
- (data) => {
- this.knowledgeBaseDetail = data.result_body;
- },
- () => {
- this.message.error('Failed to obtain knowledge base data');
- }
- )
}
editKnowedgeBase(data: KnowledgeBase) {
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 f7d91b1c..84f27181 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
@@ -3,9 +3,5 @@ import { KnowledgeBase } from './knowledge-base.type';
@Injectable()
export class KnowledgeBaseService {
-
constructor() { }
- 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 b9ec432d..ac273a96 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
@@ -4,12 +4,15 @@ export type KnowledgeBase = {
operatorName: string,
maaSPlatformName: string,
updateTime: string,
- filesName: Array<string>,
operatorId: string,
maaSPlatformId: string,
- knowledgeBaseId: string
+ knowledgeBaseId: string,
+ fileList: Array<File>,
+}
+export type File = {
+ fileId: string,
+ fileName: string
}
-
export type KnowledgeBaseResponse = Response<KnowledgeBase>
export type KnowledgeBasesResponse = Response<Array<KnowledgeBase>>