addexport 02/138202/1 14.0.0
authorzhen1234 <liz779@chinatelecom.cn>
Thu, 13 Jun 2024 03:45:49 +0000 (11:45 +0800)
committerzhen1234 <liz779@chinatelecom.cn>
Thu, 13 Jun 2024 03:45:59 +0000 (11:45 +0800)
Issue-ID: USECASEUI-837
Signed-off-by: zhen1234 <liz779@chinatelecom.cn>
Change-Id: Ib550bd47b32cddd08d99859aabfae2c8ec5f6264

usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.html
usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.less
usecaseui-portal/src/app/views/services/intent-based-services/intent-instance/intent-instance.component.ts

index ee71be0..4509730 100644 (file)
@@ -1,4 +1,14 @@
 <div class="intent-resource_tab">
+  <div nz-row class="header-row">
+    <button
+      nz-button
+      nzType="primary"
+      class="buy-button"
+      (click)="exportData()"
+    >
+    exportData
+    </button>
+  </div>
   <div class="intent-resource-table-list">
     <nz-table
       #basicTable [nzData]="listOfData"
index f665fdb..b2b59b7 100644 (file)
@@ -32,7 +32,14 @@ nz-select {
     margin-right: 5%;
   }
 }
-
+.header-row{
+  margin-top:16px;
+  margin-bottom:-10px;
+}
+.buy-button {
+  float: right;
+  margin-right: 2%;
+}
 .action-icon {
   display: inline-block;
   vertical-align: top;
index d13b9d7..597719b 100644 (file)
@@ -1,7 +1,9 @@
 import { Component, OnInit } from "@angular/core";
 import { Router } from "@angular/router";
+import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
 import { NzMessageService } from "ng-zorro-antd";
 import { intentBaseService } from "../../../../core/services/intentBase.service";
+import Swal from 'sweetalert2';
 
 @Component({
   selector: 'app-intent-instance',
@@ -11,41 +13,42 @@ import { intentBaseService } from "../../../../core/services/intentBase.service"
 export class IntentInstanceComponent implements OnInit {
 
   constructor(
-    private router:Router,
+    private router: Router,
+    private http: HttpClient,
     private myHttp: intentBaseService,
-    private nzMessage: NzMessageService 
-  ) {}
+    private nzMessage: NzMessageService
+  ) { }
 
-       ngOnChanges() {}
+  ngOnChanges() { }
 
-       ngOnInit() {
+  ngOnInit() {
     this.pageIndex = 1;
     this.pageSize = 10;
     this.getIntentionInstanceList();
   }
 
-       ngOnDestroy() {}
+  ngOnDestroy() { }
 
   // table lists
-       listOfData: any[] = [];
+  listOfData: any[] = [];
   // pageSize or pageNum
-       pageIndex: number = 1;
-       pageSize: number = 10;
-       total: number = 0;
-       loading = false;
-  
+  pageIndex: number = 1;
+  pageSize: number = 10;
+  total: number = 0;
+  loading = false;
+
   // init source data
-       getIntentionInstanceList(): void {
+  getIntentionInstanceList(): void {
     this.myHttp.getIntentInstanceList({
       currentPage: this.pageIndex,
       pageSize: this.pageSize
     }).subscribe((response) => {
-      const { code, message, data:{ totalRecords, list } } = response;
+      const { code, message, data: { totalRecords, list } } = response;
       if (code !== 200) {
         this.nzMessage.error(message);
-                               return;
+        return;
       }
-      
+
       this.total = totalRecords;
       this.listOfData = list;
     }, (err) => {
@@ -65,7 +68,7 @@ export class IntentInstanceComponent implements OnInit {
       const { code, message, data } = response;
       if (code !== 200) {
         this.nzMessage.error(message);
-                               return;
+        return;
       }
       this.nzMessage.success(data);
       this.resetParam2Query();
@@ -79,7 +82,7 @@ export class IntentInstanceComponent implements OnInit {
       const { code, message } = response;
       if (code !== 200) {
         this.nzMessage.error(message);
-                               return;
+        return;
       }
       this.nzMessage.success('Delete IntentionInstance Success');
       this.resetParam2Query();
@@ -87,7 +90,26 @@ export class IntentInstanceComponent implements OnInit {
       console.log(err);
     });
   }
-
+  params: Object = {
+    intentId: '',
+    startDate: '',
+    endData: ''
+  };
+  exportData() {
+    this.http.post('/api/usecaseui-server/v1/intent/exportIntentContent', {}, { responseType: 'blob' })
+      .subscribe((data) => {
+        const link = document.createElement('a');
+        link.href = window.URL.createObjectURL(data);
+        link.setAttribute('download', 'excelData');
+        link.click();
+      }, (error) => {
+        console.error('export failed:', error);
+        Swal.fire({
+          icon: 'error',
+          title: 'export failed',
+        });
+      });
+  }
   resetParam2Query() {
     this.pageIndex = 1;
     this.pageSize = 10;