Преглед на файлове

Merge branch 'bencao' of ssh://gogs.hanyiyun.com:2222/xmnk/party into bencao

xsc преди 1 година
родител
ревизия
5dc34c814b
променени са 4 файла, в които са добавени 131 реда и са изтрити 26 реда
  1. 27 10
      src/views/kaohe/components/detail.vue
  2. 73 6
      src/views/kaohe/components/uploadFile.vue
  3. 28 7
      src/views/kaohe/fileDetail.vue
  4. 3 3
      src/views/kaohe/index.vue

+ 27 - 10
src/views/kaohe/components/detail.vue

@@ -3,7 +3,7 @@
  * @Author: 旭颖
  * @Date: 2023-03-22 11:54:21
  * @LastEditors: Please set LastEditors
- * @LastEditTime: 2023-03-24 17:48:03
+ * @LastEditTime: 2023-03-26 16:25:24
 -->
 <template>
   <el-drawer
@@ -13,12 +13,26 @@
     :before-close="handleClose"
   >
     <div class="tab-body" style="overflow: auto">
-      <iframe
-        v-if="fileList && fileList.length > 0"
-        :src="fileList[0].url"
-        height="900px"
-        width="100%"
-      />
+      <el-tabs v-if="extraFile" v-model="activeName">
+        <el-tab-pane label="附件" name="first">
+          <iframe
+            v-if="fileList && fileList.length > 0"
+            :src="fileList[0].url"
+            height="900px"
+            width="100%"
+        /></el-tab-pane>
+        <el-tab-pane label="证明材料" name="second">
+          <iframe :src="extraFile" height="900px" width="100%"
+        /></el-tab-pane>
+      </el-tabs>
+      <div v-else>
+        <iframe
+          v-if="fileList && fileList.length > 0"
+          :src="fileList[0].url"
+          height="900px"
+          width="100%"
+        />
+      </div>
 
       <div
         class="button"
@@ -44,7 +58,7 @@ export default {
   },
   data() {
     return {
-      activeName: "tab0",
+      activeName: "first",
       dialogVisible: false,
       form: {},
       fileData: {
@@ -55,6 +69,7 @@ export default {
       point: 0,
       fileList: [],
       can_check: false,
+      extraFile: "",
     };
   },
   methods: {
@@ -69,7 +84,7 @@ export default {
       });
     },
     handleClose() {
-      this.$emit('fetch-data')
+      this.$emit("fetch-data");
       this.dialogVisible = false;
     },
     async showEdit(row) {
@@ -89,7 +104,9 @@ export default {
           url: data1[key],
         });
       }
-
+      if (row.extra) {
+        this.extraFile = row.extra.prove_files;
+      }
       this.fileList = arr;
       this.dialogVisible = true;
     },

+ 73 - 6
src/views/kaohe/components/uploadFile.vue

@@ -3,7 +3,7 @@
  * @Author: 旭颖
  * @Date: 2023-03-22 11:54:21
  * @LastEditors: Please set LastEditors
- * @LastEditTime: 2023-03-23 20:04:39
+ * @LastEditTime: 2023-03-26 16:31:14
 -->
 <template>
   <el-dialog
@@ -17,9 +17,18 @@
         v-for="(item, index) in formList"
         :key="index"
         :label="item.name + ':'"
-        :prop="item.key == 'resource_ids' ? '' : item.key"
+        :prop="
+          item.key == 'resource_ids' || item.key == 'prove_files'
+            ? ''
+            : item.key
+        "
       >
-        <div class="star" v-if="item.key == 'resource_ids'">*</div>
+        <div
+          class="star"
+          v-if="item.key == 'resource_ids' || item.key == 'prove_files'"
+        >
+          *
+        </div>
         <el-input-number
           v-if="item.key == 'point'"
           v-model="form[item.key]"
@@ -34,6 +43,7 @@
           :auto-upload="true"
           :on-success="uploadSuccess"
           :on-error="uploadError"
+          :on-remove="uploadRemove"
           :multiple="false"
           :data="fileData"
           accept=".pdf,.jpg,.png"
@@ -43,10 +53,29 @@
             >点击上传</el-button
           >
           <div slot="tip" class="el-upload__tip">
-            请将材料转换成pdf格式进行上传
+            请将材料转换成pdf格式进行上传,仅可上传一个pdf
+          </div>
+        </el-upload>
+        <el-upload
+          v-else-if="item.key == 'prove_files'"
+          class="upload-demo"
+          :action="base_url + '/upload'"
+          :auto-upload="true"
+          :on-success="uploadSuccess1"
+          :on-error="uploadError1"
+          :on-remove="uploadRemove1"
+          :multiple="false"
+          :data="fileData"
+          accept=".pdf,.jpg,.png"
+          :file-list="fileList1"
+        >
+          <el-button size="small" type="primary" @click="clickUpload1"
+            >点击上传</el-button
+          >
+          <div slot="tip" class="el-upload__tip">
+            请将材料转换成pdf格式进行上传,仅可上传一个pdf
           </div>
         </el-upload>
-
         <el-select
           v-else-if="item.key == 'grade_id'"
           v-model="form[item.key]"
@@ -90,12 +119,15 @@ export default {
       },
       rules: {},
       ids: [],
+      fileList1: [],
     };
   },
   methods: {
     showEdit(row) {
       let data = Object.assign({}, row);
-      this.gradeList = data.extra.position_grade;
+      if (data.extra) {
+        this.gradeList = data.extra.position_grade;
+      }
       if (data.verification) {
         let arr = [];
         data.verification.map((item) => {
@@ -118,6 +150,9 @@ export default {
     handleClose() {
       this.formList = [];
       this.fileList = [];
+      this.fileList1 = [];
+      this.form.prove_files = "";
+      this.ids = [];
       this.rules = {};
       this.form = {};
       this.dialogVisible = false;
@@ -131,6 +166,13 @@ export default {
         });
         return;
       }
+      if (!("prove_files" in this.form) && !this.form.prove_files) {
+        this.$message({
+          message: "请上传证明材料",
+          type: "warning",
+        });
+        return;
+      }
       this.$refs["form"].validate(async (valid) => {
         if (valid) {
           const { message } = await formUpload(this.form);
@@ -143,6 +185,10 @@ export default {
       this.fileList = [];
       this.ids = [];
     },
+    clickUpload1() {
+      this.fileList1 = [];
+      this.form.prove_files = "";
+    },
     //上传成功
     uploadSuccess(response) {
       if (response.code == 200) {
@@ -150,6 +196,20 @@ export default {
         this.form.resource_ids = this.ids;
       }
     },
+    //移除当前上传的文件
+    uploadRemove() {
+      this.ids = [];
+      this.form.resource_ids = "";
+    },
+    uploadSuccess1(response) {
+      if (response.code == 200) {
+        this.form.prove_files = response.data.url;
+      }
+    },
+    //移除当前上传的文件
+    uploadRemove1() {
+      this.form.prove_files = "";
+    },
     //上传事变
     uploadError(e) {
       this.$message({
@@ -157,6 +217,13 @@ export default {
         type: "error",
       });
     },
+    //上传事变
+    uploadError1(e) {
+      this.$message({
+        message: "附件上传失败",
+        type: "error",
+      });
+    },
   },
 };
 </script>

+ 28 - 7
src/views/kaohe/fileDetail.vue

@@ -3,7 +3,7 @@
  * @Author: 旭颖
  * @Date: 2023-03-22 11:54:21
  * @LastEditors: Please set LastEditors
- * @LastEditTime: 2023-03-24 17:18:08
+ * @LastEditTime: 2023-03-26 16:28:29
 -->
 <template>
   <div class="tab-body" style="overflow: auto">
@@ -41,13 +41,27 @@
         }}</span>
       </span>
     </div>
+    <el-tabs v-if="extraFile" v-model="activeName">
+      <el-tab-pane label="附件" name="first">
+        <iframe
+          v-if="fileList && fileList.length > 0"
+          :src="fileList[0].url"
+          height="900px"
+          width="100%"
+      /></el-tab-pane>
+      <el-tab-pane label="证明材料" name="second">
+        <iframe :src="extraFile" height="900px" width="100%"
+      /></el-tab-pane>
+    </el-tabs>
+    <div v-else>
+      <iframe
+        v-if="fileList && fileList.length > 0"
+        :src="fileList[0].url"
+        height="900px"
+        width="100%"
+      />
+    </div>
 
-    <iframe
-      v-if="fileList && fileList.length > 0"
-      :src="fileList[0].url"
-      height="900px"
-      width="100%"
-    />
     <div
       v-if="detail.check_status == 1 && can_check"
       class="button"
@@ -87,6 +101,7 @@ export default {
       can_check: false,
       type: 2, //当前信息
       examine_id: "",
+      extraFile: "",
     };
   },
   created() {
@@ -133,6 +148,9 @@ export default {
         });
       }
       this.fileList = arr;
+      if (row.extra) {
+        this.extraFile = data.extra.prove_files;
+      }
       console.log(data, "shujushushsu");
     },
     async getDetailStu() {
@@ -157,6 +175,9 @@ export default {
           });
         }
         this.fileList = arr;
+        if (data.extra) {
+          this.extraFile = data.extra.prove_files;
+        }
       } else {
         this.$message.warning("当前已是最后一条!");
       }

+ 3 - 3
src/views/kaohe/index.vue

@@ -3,7 +3,7 @@
  * @Author: 旭颖
  * @Date: 2023-03-22 10:15:16
  * @LastEditors: Please set LastEditors
- * @LastEditTime: 2023-03-25 18:26:14
+ * @LastEditTime: 2023-03-26 15:12:41
 -->
 <template>
   <div class="index-home" v-loading.fullscreen.lock="loadingFull">
@@ -85,14 +85,14 @@
           > -->
           <el-button
             type="primary"
-            v-if="row.type == 1"
+            v-if="row.type == 1 && row.examine"
             size="mini"
             @click="lookDetail(row)"
             >查看</el-button
           >
           <el-button
             type="primary"
-            v-if="row.type == 2"
+            v-if="row.type == 2 && row.examine.length > 0"
             size="mini"
             @click="lookDetail(row)"
             >查看</el-button