Quellcode durchsuchen

导出报名人员

yanliming vor 2 Jahren
Ursprung
Commit
2c134f79a3
1 geänderte Dateien mit 44 neuen und 11 gelöschten Zeilen
  1. 44 11
      src/views/base/activityMember-list.vue

+ 44 - 11
src/views/base/activityMember-list.vue

@@ -11,6 +11,15 @@
       @close="closeDialog"
     >
       <div class="user-panel" v-loading="loading">
+    <el-row class="button-group">
+      <el-button
+          type="primary"
+          size="small"
+          plain
+          icon="el-icon-upload"
+          @click="exportXls"
+      >导出数据</el-button>
+    </el-row>
         <el-table
         ref="formTable"
         :data="tableData"
@@ -18,23 +27,23 @@
         stripe
       >
         <el-table-column
-          prop="memberRealName"
+          prop="realName"
           label="会员姓名"
           width="150"
         ></el-table-column>
         <el-table-column
-          prop="memberPhone"
+          prop="phone"
           label="电话"
           width="150"
         ></el-table-column>
         <el-table-column
-          prop="memberIdCard"
+          prop="idCard"
           label="身份证"
         ></el-table-column>
         <el-table-column
           prop="createTime"
           label="报名时间"
-          width="150"
+          width="160"
         ></el-table-column>
       </el-table>
       <el-pagination
@@ -104,7 +113,7 @@
       pageSizeChange(pageSize) {
         this.pageSize = pageSize;
       },
-      changePage(pageIndex) {
+      changePage(pageIndex,exportFlag) {
         var self = this;
   
         self.loading = true;
@@ -113,7 +122,13 @@
         var formData = new FormData();
   
         formData.append("pageIndex", self.pageIndex);
-        formData.append("pageSize", self.pageSize);
+        if(exportFlag!=null){
+          formData.append("exportFlag", exportFlag);
+          formData.append("pageSize", 10000);
+        }
+        else{
+            formData.append("pageSize", self.pageSize);
+        }
         formData.append("activityId", self.businessKey);
   
         activityMemberApi
@@ -121,17 +136,35 @@
           .then(function (response) {
             self.loading = false;
   
-            var jsonData = response.data.data;
-  
-            self.tableData = jsonData.data;
-            self.totalPages = jsonData.totalPages;
-            self.totalElements = jsonData.recordsTotal;
+            var jsonData = response.data;
+
+            if(exportFlag){
+                  //导出
+                  self.$message({
+                      showClose: true,
+                      type: "success",
+                      message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                      dangerouslyUseHTMLString: true,
+                      duration: 30000
+                  });
+              }
+              else{
+                  //分页查看
+                  var page = jsonData.data;
+                  
+                  self.tableData = page.data;
+                  self.totalPages = page.totalPages;
+                  self.totalElements = page.recordsTotal;
+              }
           })
           .catch((error) => {
             self.loading = false;
             // self.$message.error(error + "");
           });
       },
+      exportXls() {
+        this.changePage(1,true);
+      },
     },
     created() {
     },