Pārlūkot izejas kodu

下载导出简历

yanliming 4 gadi atpakaļ
vecāks
revīzija
81ad469cd6

+ 13 - 1
src/api/job/jobUser.js

@@ -42,7 +42,19 @@ function create(){
     });
   }
 
+  function exportXls(formData){
+    return request.post(constant.serverUrl + "/job/jobUser/exportXls", formData);
+  }
+
+  function batchExportXls(idList){
+    return request.post(constant.serverUrl + "/job/jobUser/batchExportXls",idList,{
+      headers: {
+        "Content-Type": "application/json"
+      }
+    });
+  }
+
 
 export default {
-  pageList,create,edit,add,update,remove,batchRemove
+  pageList,create,edit,add,update,remove,batchRemove,exportXls,batchExportXls
 }

+ 43 - 3
src/views/job/resumeHR-list.vue

@@ -122,7 +122,7 @@
                             </el-row>
                             <el-row style="margin-top:20px">
                                 <el-col :span="13">
-                                <el-button type="primary" style="width:80px" plain>导出</el-button>
+                                <el-button type="primary" style="width:80px" plain @click="handleDownload(item)">导出</el-button>
                                 </el-col>
                                 <el-col :span="11">
                                     <el-button type="primary" style="width:80px" plain @click="handleDeleteHr(item)">删除</el-button>
@@ -196,7 +196,7 @@
                             </el-row>
                             <el-row style="margin-top:20px">
                                 <el-col :span="13">
-                                <el-button type="primary" style="width:80px" plain>导出</el-button>
+                                <el-button type="primary" style="width:80px" plain @click="handleDownload(item)">导出</el-button>
                                 </el-col>
                                 <el-col :span="11">
                                     <el-button type="primary" style="width:80px" plain @click="handleDelete(item)">删除</el-button>
@@ -270,7 +270,7 @@
                             </el-row>
                             <el-row style="margin-top:20px">
                                 <el-col :span="13">
-                                <el-button type="primary" style="width:80px" plain>导出</el-button>
+                                <el-button type="primary" style="width:80px" plain @click="handleDownload(item)">导出</el-button>
                                 </el-col>
                                 <el-col :span="11">
                                     <el-button type="primary" style="width:80px" plain @click="handleDeleteCollection(item)">删除</el-button>
@@ -309,6 +309,7 @@ import "nprogress/nprogress.css"; // progress bar style
 import dataDictionaryApi from "@/api/sys/dataDictionary";
 import SelectTree from "@/components/SelectTree";
 import workCategoryApi from "@/api/job/workCategory";
+import jobUserApi from "@/api/job/jobUser";
 
 
 export default {
@@ -678,6 +679,45 @@ export default {
         });
       });
     },
+    handleDownload(row){
+      var self = this;
+
+      self.loading = true;
+      self.loading2 = true;
+      self.loading3 = true;
+
+      var formData = new FormData();
+
+      formData.append("id", row.jobUserId);
+
+      jobUserApi
+        .exportXls(formData)
+        .then(function (response) {
+          self.loading = false;
+          self.loading2 = false;
+          self.loading3 = false;
+
+          var jsonData = response.data;
+
+          if(jsonData.result) {
+              //导出
+              self.$message({
+                showClose: true,
+                type: "success",
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000,
+              });
+          }
+
+        })
+        .catch((error) => {
+          self.loading = false;
+          self.loading2 = false;
+          self.loading3 = false;
+          // self.$message.error(error + "");
+        });
+    },
     onDetailModalClose(refreshed) {
       //保存成功后回调
       this.showModal = false;

+ 40 - 7
src/views/job/talentPool-detail.vue

@@ -114,8 +114,8 @@
                             <span>期望薪资:{{formModel.dreamMoneyName}}</span>
                         </div>
                         <div class="descDivBottom">
-                            <el-button type="primary" plain icon="el-icon-star-off" @click="handleCollection">收藏简历</el-button>
-                            <el-button type="primary" icon="el-icon-download">下载简历</el-button>
+                            <el-button type="primary" plain icon="el-icon-star-off" @click="handleCollection(formModel.resumeId)">收藏简历</el-button>
+                            <el-button type="primary" icon="el-icon-download" @click="handleDownload">下载简历</el-button>
                             <el-button type="warning" icon="el-icon-phone">立即沟通</el-button>
                         </div>
                     </div>
@@ -186,11 +186,11 @@ export default {
             });
             this.$store.state.tagsView.visitedViews.splice(this.$store.state.tagsView.visitedViews.findIndex(item => item.path === this.$route.path), 1)
         },
-        handleCollection(){
+        handleCollection(resumeId){
             var self = this;
 
             (function() {
-                self.formModel.resumeId = self.id;
+                self.formModel.resumeId = resumeId;
 
                 return recruitmentCollectionApi.add(self.formModel);
             })().then(function(response) {
@@ -210,7 +210,40 @@ export default {
                     });
                 }
             });
-        }
+        },
+        handleDownload(){
+            var self = this;
+
+            self.loading = true;
+
+            var formData = new FormData();
+
+            formData.append("id",self.id);
+
+            jobUserApi
+                .exportXls(formData)
+                .then(function (response) {
+                self.loading = false;
+
+                var jsonData = response.data;
+
+                if(jsonData.result) {
+                    //导出
+                    self.$message({
+                        showClose: true,
+                        type: "success",
+                        message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                        dangerouslyUseHTMLString: true,
+                        duration: 30000,
+                    });
+                }
+
+                })
+                .catch((error) => {
+                self.loading = false;
+                // self.$message.error(error + "");
+                });
+            },
     },
     async mounted() {
         var self = this;
@@ -226,8 +259,8 @@ export default {
             self.loading = false;
 
             if (jsonData.result) {
-            self.formModel = jsonData.data;
-            self.formModel.id = this.businessKey;
+                self.formModel = jsonData.data;
+                self.formModel.id = this.businessKey;
             } else {
             self.$message.error(jsonData.message + "");
             }

+ 82 - 1
src/views/job/talentPool-list.vue

@@ -78,6 +78,16 @@
       </el-form-item>
     </el-form>
 
+    <el-divider></el-divider>
+      <el-row class="button-group">
+        <el-button
+          type="primary"
+          icon="el-icon-download"
+          @click="handleBatchDownload"
+          >批量下载</el-button
+        >
+    </el-row>
+
     <el-table
       :data="tableData"
       style="min-height: 400px"
@@ -133,7 +143,7 @@
         </el-table-column>
         <el-table-column width="150px">
         <template slot-scope="{ row }">
-            <el-button type="primary" @click="handleEdit(row)"
+            <el-button type="primary" @click="handleDownload(row)"
             >下载简历</el-button
             >
         </template>
@@ -394,6 +404,73 @@ export default {
         });
       });
     },
+    handleDownload(row){
+      var self = this;
+
+      self.loading = true;
+
+      var formData = new FormData();
+
+      formData.append("id", row.id);
+
+      jobUserApi
+        .exportXls(formData)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data;
+
+          if(jsonData.result) {
+              //导出
+              self.$message({
+                showClose: true,
+                type: "success",
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000,
+              });
+          }
+
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
+    handleBatchDownload(){
+      var self = this;
+
+      self.loading = true;
+
+      var idList = this.multipleSelection.map((record) => {
+        return record.id;
+      });
+
+
+      jobUserApi
+        .batchExportXls(idList)
+        .then(function (response) {
+          self.loading = false;
+
+          var jsonData = response.data;
+
+          if(jsonData.result) {
+              //导出
+              self.$message({
+                showClose: true,
+                type: "success",
+                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                dangerouslyUseHTMLString: true,
+                duration: 30000,
+              });
+          }
+
+        })
+        .catch((error) => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
+    },
     onDetailModalClose(refreshed) {
       //保存成功后回调
       this.showModal = false;
@@ -436,4 +513,8 @@ export default {
 .nameSpan{
     font-size: 18px;
 }
+.button-group {
+  margin-left: 10px;
+  text-align: right;
+}
 </style>