فهرست منبع

招募信息批量上传图片

yanliming 1 سال پیش
والد
کامیت
525dc9c911
2فایلهای تغییر یافته به همراه96 افزوده شده و 6 حذف شده
  1. 94 5
      src/views/base/recruitInformationInfo-detail.vue
  2. 2 1
      src/views/statistical/generateReport-list.vue

+ 94 - 5
src/views/base/recruitInformationInfo-detail.vue

@@ -88,6 +88,31 @@
           <el-form-item label="详细地址" prop="address">
             <el-input v-model="formModel.address" placeholder="请输入详细地址" style="width: 300px"></el-input>
           </el-form-item>
+          <el-form-item label="图片">
+              <el-upload
+                name="photoFile"
+                :action="uploadUrl"
+                :headers="headers"
+                :data="uploadData"
+                list-type="picture-card"
+                :on-success="handlePictureCardPreview"
+                :on-remove="handleRemove"
+                :limit='5'
+                :file-list="fileList"
+              >
+                <i class="el-icon-plus"></i>
+                <div
+                  class="el-upload__tip"
+                  slot="tip"
+                  style="font-weight: bold"
+                >
+                  建议尺寸大小为192*128,大小不超过2M,图片不超过5张
+                </div>
+              </el-upload>
+              <el-dialog :visible.sync="dialogVisible">
+                <img width="100%" :src="formModel.dialogImageUrl" alt="" />
+              </el-dialog>
+            </el-form-item>
         </el-form>
       </div>
       <span slot="footer" class="dialog-footer">
@@ -99,6 +124,8 @@
     </el-dialog>
   </template>
   <script>
+  import Constant from "@/constant";
+  import { getToken } from "@/utils/auth"; // get token from cookie
   import recruitInformationInfoApi from "@/api/base/recruitInformationInfo";
   import dataDictionaryApi from "@/api/sys/dataDictionary";
   import enterpriseInfoApi from "@/api/base/enterpriseInfo";
@@ -145,6 +172,7 @@
           },
           roleList: [],
           formModel: {},
+          dialogVisible: false,
           showDialog: true,
           loading: false,
           submitting: false,
@@ -152,6 +180,18 @@
           methodList:[],
           enterpriseList:[],
           unit:"",
+          //上传地址
+          fileList:[],
+          uploadUrl: Constant.serverUrl + "/uploadPicture",
+          uploadData: {
+              subFolder: "recruitInformationInfo",
+          },
+          fileUrl: "",
+          headers: {
+              Authorization: getToken(),
+          },
+          head_portraitUrl: "",
+          fileList1: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
       };
     },
     created() {
@@ -188,6 +228,10 @@
           if (valid) {
             (function () {
               var id = self.formModel.id;
+
+              self.formModel.fileList = self.fileList;
+
+              //alert(JSON.stringify(self.fileList))
   
               if (id == null || id.length == 0) {
                 return recruitInformationInfoApi.add(self.formModel);
@@ -226,7 +270,30 @@
         else if(val=="3"){
           this.unit="元/月"
         }
-      }
+      },
+      //老师风采-图片上传--移除
+      handleRemove(file) {
+        console.log(file.response);
+        this.fileList.pop(file.response);
+      },
+      //老师风采--图片上传数组
+      handlePictureCardPreview(res,file) {
+        console.log(file);
+        //alert(JSON.stringify(file))
+        var obj = {};
+        obj["name"]=file.name;
+        obj["url"]=res.data;
+        this.fileList.push(obj);
+        //alert(JSON.stringify(this.fileArr))
+        // this.formModel.dialogImageUrl.push(file.data);
+        // alert(JSON.stringify(this.formModel.dialogImageUrl))
+        this.dialogVisible = false;
+      },
+
+      enitPictureCardPreview(data) {
+        this.formModel.dialogImageUrl = data;
+        this.dialogVisible = false;
+      },
     },
     async mounted() {
       var self = this;
@@ -245,10 +312,9 @@
           if (jsonData.result) {
             self.formModel = jsonData.data;
 
-            let licenseImage = self.formModel.licenseImage;
-            if (licenseImage != null) {
-                self.fileUrl = licenseImage 
-            }
+            let fileList = jsonData.data.fileList;
+            
+            self.fileList = fileList;
 
             self.showModal = true;
           } else {
@@ -270,4 +336,27 @@
   .user-panel {
     margin: 10px auto;
   }
+  .avatar-uploader .el-upload {
+    border: 1px dashed #d9d9d9;
+    border-radius: 6px;
+    cursor: pointer;
+    position: relative;
+    overflow: hidden;
+  }
+  .avatar-uploader .el-upload:hover {
+    border-color: #409EFF;
+  }
+  .avatar-uploader-icon {
+    font-size: 28px;
+    color: #8c939d;
+    width: 178px;
+    height: 178px;
+    line-height: 178px;
+    text-align: center;
+  }
+  .avatar {
+    width: 178px;
+    height: 178px;
+    display: block;
+  }
   </style>

+ 2 - 1
src/views/statistical/generateReport-list.vue

@@ -171,6 +171,7 @@
             //alert(exportFlag)
     
             formData.append("date", self.queryModel.date);
+            formData.append("pageIndex", self.pageIndex);
             //formData.append("exportFlag", exportFlag);
 
             if(exportFlag!=null){
@@ -208,7 +209,7 @@
                     
                     self.tableData = page.data;
                     self.totalPages = page.totalPages;
-                    self.totalElements = page.recordsTotal;
+                    self.totalElements = page.totalElements;
                 }
             }
             else {