From d68551caef23bd5d3c00035d7add3814f0fdece1 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 19 二月 2025 15:19:52 +0800
Subject: [PATCH] 搬迁检验任务11%

---
 src/views/structural/capabilityAndLaboratory/laboratory/index.vue |  573 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 376 insertions(+), 197 deletions(-)

diff --git a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
index c0bf840..820d8d2 100644
--- a/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
+++ b/src/views/structural/capabilityAndLaboratory/laboratory/index.vue
@@ -3,219 +3,383 @@
     <div>
       <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
         <el-form-item label="璧勮川鍚嶇О" prop="name">
-          <el-select v-model="queryParams.name" placeholder="閫夋嫨璧勮川鍚嶇О" size="small" @change="refreshTable()">
-            <el-option v-for="dict in dict.type.qualification_name" :key="dict.value" :label="dict.label" :value="dict.value">
+          <el-select
+            v-model="queryParams.name"
+            placeholder="閫夋嫨璧勮川鍚嶇О"
+            size="small"
+            @change="refreshTable()"
+          >
+            <el-option
+              v-for="dict in dict.type.cnas_method_qualification"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            >
               {{ dict.label }}
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button type="primary" icon="el-icon-search" size="mini" @click="refreshTable">鏌� 璇�</el-button>
-          <el-button icon="el-icon-refresh" size="mini" @click="refresh">閲� 缃�</el-button>
+          <el-button
+            type="primary"
+            icon="el-icon-search"
+            size="mini"
+            @click="refreshTable"
+            >鏌� 璇�</el-button
+          >
+          <el-button icon="el-icon-refresh" size="mini" @click="refresh"
+            >閲� 缃�</el-button
+          >
         </el-form-item>
       </el-form>
     </div>
     <div>
       <el-row class="title">
         <el-col :span="12" style="text-align: left">
-          <el-radio-group v-model="radio" @input="selectorSwitch" size="medium" fill="#409EFF">
+          <el-radio-group
+            v-model="radio"
+            @input="selectorSwitch"
+            size="medium"
+            fill="#409EFF"
+          >
             <el-radio-button :label="0">璧勮川鏄庣粏</el-radio-button>
             <el-radio-button :label="1">璧勮川鎬昏</el-radio-button>
           </el-radio-group>
         </el-col>
-        <el-col :span="12" style="text-align: right;" v-if="radio===0">
-          <el-button size="small" type="primary" @click="openAdd">璧勮川鏇存柊</el-button>
-          <el-button size="small" icon="el-icon-delete" @click="handleDel">鍒犻櫎</el-button>
+        <el-col :span="12" style="text-align: right" v-if="radio === 0">
+          <el-button size="small" type="primary" @click="openAdd"
+            >璧勮川鏇存柊</el-button
+          >
+          <el-button size="small" icon="el-icon-delete" @click="handleDel"
+            >鍒犻櫎</el-button
+          >
         </el-col>
       </el-row>
     </div>
-    <div v-if="radio===0">
-      <lims-table :tableData="tableData" :column="column"
-                  :isSelection="true" :handleSelectionChange="handleSelectionChange"
-                  @pagination="pagination" :height="'calc(100vh - 300px)'"
-                  :page="page" :tableLoading="tableLoading"></lims-table>
+    <div v-if="radio === 0">
+      <lims-table
+        :tableData="tableData"
+        :column="column"
+        :isSelection="true"
+        :handleSelectionChange="handleSelectionChange"
+        @pagination="pagination"
+        :height="'calc(100vh - 300px)'"
+        :page="page"
+        :tableLoading="tableLoading"
+      ></lims-table>
     </div>
-    <div class="table" v-if="radio===1" v-loading="pageLoading" @scroll="scrollFn">
+    <div
+      class="table"
+      v-if="radio === 1"
+      v-loading="pageLoading"
+      @scroll="scrollFn"
+    >
       <el-row :gutter="16">
-        <el-col :span="8" v-for="(m,i) in list" :key="i" :xs="24" :sm="12" :md="8" :lg="8" :xl="6" style="margin-bottom: 16px;">
+        <el-col
+          :span="8"
+          v-for="(m, i) in list"
+          :key="i"
+          :xs="24"
+          :sm="12"
+          :md="8"
+          :lg="8"
+          :xl="6"
+          style="margin-bottom: 16px"
+        >
           <div class="table-item">
-            <el-image style="width: 102px;height: 102px;margin-right: 20px;border-radius: 16px;" :src="javaApi +'/img/'+m.imageUrl">
-              <div slot="error" class="image-error" style="width: 100px;
-                height: 100px;
+            <el-image
+              style="
+                width: 102px;
+                height: 102px;
+                margin-right: 20px;
                 border-radius: 16px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                border: 1px solid #EEEEEE;">
-                <i class="el-icon-picture-outline" style="font-size:30px;color:#666666;"></i>
+              "
+              :src="javaApi + '/img/' + m.imageUrl"
+            >
+              <div
+                slot="error"
+                class="image-error"
+                style="
+                  width: 100px;
+                  height: 100px;
+                  border-radius: 16px;
+                  display: flex;
+                  align-items: center;
+                  justify-content: center;
+                  border: 1px solid #eeeeee;
+                "
+              >
+                <i
+                  class="el-icon-picture-outline"
+                  style="font-size: 30px; color: #666666"
+                ></i>
               </div>
             </el-image>
-            <div class="table-item-right" style="flex: 1;font-size: 12px;color: #666666;">
-              <p style="line-height: 26px;">璧勮川鍚嶇О锛�<span style="color: #3A7BFA;">{{ m.name }}</span></p>
-              <p style="line-height: 26px;">棰佸彂鏃堕棿锛歿{m.recentlyTime}}</p>
-              <p style="line-height: 26px;">鍒版湡鏃堕棿锛歿{m.expireTime}}</p>
+            <div
+              class="table-item-right"
+              style="flex: 1; font-size: 12px; color: #666666"
+            >
+              <p style="line-height: 26px">
+                璧勮川鍚嶇О锛�<span style="color: #3a7bfa">{{ m.name }}</span>
+              </p>
+              <p style="line-height: 26px">棰佸彂鏃堕棿锛歿{ m.recentlyTime }}</p>
+              <p style="line-height: 26px">鍒版湡鏃堕棿锛歿{ m.expireTime }}</p>
               <p>
                 <span>鐘舵�侊細</span>
-                <el-tag :type="m.state===0?'danger':'success'" size="small">{{ m.state===0?'澶辨晥':'鏈夋晥' }}</el-tag>
+                <el-tag
+                  :type="m.state === 0 ? 'danger' : 'success'"
+                  size="small"
+                  >{{ m.state === 0 ? "澶辨晥" : "鏈夋晥" }}</el-tag
+                >
               </p>
             </div>
           </div>
         </el-col>
       </el-row>
-      <div v-if="list.length<1&&!pageLoading&&!isLoding" style="color:#909399;font-size:14px;text-align: center;margin-top:200px" >鏆傛棤鏁版嵁</div>
-      <div v-if="list.length>0">
-        <el-button v-if="isLoding" type="text" style="display: flex; margin: 0 auto; color: #909399">
-          <i class="el-icon-loading" style="font-size:20px"></i>
+      <div
+        v-if="list.length < 1 && !pageLoading && !isLoding"
+        style="
+          color: #909399;
+          font-size: 14px;
+          text-align: center;
+          margin-top: 200px;
+        "
+      >
+        鏆傛棤鏁版嵁
+      </div>
+      <div v-if="list.length > 0">
+        <el-button
+          v-if="isLoding"
+          type="text"
+          style="display: flex; margin: 0 auto; color: #909399"
+        >
+          <i class="el-icon-loading" style="font-size: 20px"></i>
         </el-button>
-        <el-button type="text" v-if="finishLoding" style="display: flex; margin: 0 auto; color: #909399">宸茬粡娌℃湁鏇村鍟</el-button>
+        <el-button
+          type="text"
+          v-if="finishLoding"
+          style="display: flex; margin: 0 auto; color: #909399"
+          >宸茬粡娌℃湁鏇村鍟</el-button
+        >
       </div>
     </div>
-    <el-dialog title="璧勮川鏇存柊" :visible.sync="qualificationsConnectVisible" width="400px">
-      <el-form ref="formDataRef" :model="formData" label-position="right" :rules="formDataRules" label-width="78px">
+    <el-dialog
+      title="璧勮川鏇存柊"
+      :visible.sync="qualificationsConnectVisible"
+      width="400px"
+    >
+      <el-form
+        ref="formDataRef"
+        :model="formData"
+        label-position="right"
+        :rules="formDataRules"
+        label-width="78px"
+      >
         <el-form-item label="璧勮川鍚嶇О" prop="name">
-          <el-select v-model="formData.name" placeholder="璇烽�夋嫨" style="width: 100%;" size="small" clearable>
-            <el-option v-for="dict in dict.type.qualification_name" :key="dict.value" :label="dict.label" :value="dict.value">
+          <el-select
+            v-model="formData.name"
+            placeholder="璇烽�夋嫨"
+            style="width: 100%"
+            size="small"
+            clearable
+          >
+            <el-option
+              v-for="dict in dict.type.cnas_method_qualification"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            >
               {{ dict.label }}
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="璧勮川缂栫爜" prop="code">
-          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="formData.code"></el-input>
+          <el-input
+            size="small"
+            placeholder="璇疯緭鍏�"
+            clearable
+            v-model="formData.code"
+          ></el-input>
         </el-form-item>
         <el-form-item label="棰佸彂鏈烘瀯" prop="organization">
-          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="formData.organization"></el-input>
+          <el-input
+            size="small"
+            placeholder="璇疯緭鍏�"
+            clearable
+            v-model="formData.organization"
+          ></el-input>
         </el-form-item>
         <el-form-item label="璧勮川璇存槑" prop="explanation">
-          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="formData.explanation"></el-input>
+          <el-input
+            size="small"
+            placeholder="璇疯緭鍏�"
+            clearable
+            v-model="formData.explanation"
+          ></el-input>
         </el-form-item>
         <el-form-item label="棰佸彂鏃堕棿" prop="dateOfIssuance">
-          <el-date-picker style="width:100%" v-model="formData.dateOfIssuance"
-                          type="datetime"
-                          size="small"
-                          format="yyyy-MM-dd HH:mm:ss"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          clearable
-                          placeholder="閫夋嫨鏃ユ湡">
+          <el-date-picker
+            style="width: 100%"
+            v-model="formData.dateOfIssuance"
+            type="datetime"
+            size="small"
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            clearable
+            placeholder="閫夋嫨鏃ユ湡"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="鍒版湡鏃堕棿" prop="expireTime">
-          <el-date-picker style="width:100%" v-model="formData.expireTime"
-                          type="datetime"
-                          size="small"
-                          format="yyyy-MM-dd HH:mm:ss"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          clearable
-                          placeholder="閫夋嫨鏃ユ湡">
+          <el-date-picker
+            style="width: 100%"
+            v-model="formData.expireTime"
+            type="datetime"
+            size="small"
+            format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss"
+            clearable
+            placeholder="閫夋嫨鏃ユ湡"
+          >
           </el-date-picker>
         </el-form-item>
         <el-form-item label="璧勮川鍥剧墖">
           <el-upload
             ref="upload"
             :action="uploadAction"
-            :on-success="m=>handleSuccessUpImg(m,'imageUrl')"
-            accept='image/jpg,image/jpeg,image/png'
+            :on-success="(m) => handleSuccessUpImg(m, 'imageUrl')"
+            accept="image/jpg,image/jpeg,image/png"
             :multiple="false"
             :limit="1"
-            :headers="headers" :on-change="beforeUpload"
-            :on-error="onError">
-            <el-button slot="trigger" size="small" type="primary">閫夊彇鍥剧墖</el-button>
+            :headers="headers"
+            :on-change="beforeUpload"
+            :on-error="onError"
+          >
+            <el-button slot="trigger" size="small" type="primary"
+              >閫夊彇鍥剧墖</el-button
+            >
           </el-upload>
         </el-form-item>
         <el-form-item label="璧勮川闄勪欢">
           <el-upload
             ref="upload1"
             :action="uploadAction"
-            :on-success="m=>handleSuccessUpImg(m,'fileUrl')"
-            accept='image/jpg,image/jpeg,image/png,application/pdf,.doc,.docx'
-            :headers="headers" :multiple="false" :limit="1" :on-change="beforeUpload1"
-            :on-error="onError1">
-            <el-button slot="trigger" size="small" type="primary">閫夊彇鏂囦欢</el-button>
+            :on-success="(m) => handleSuccessUpImg(m, 'fileUrl')"
+            accept="image/jpg,image/jpeg,image/png,application/pdf,.doc,.docx"
+            :headers="headers"
+            :multiple="false"
+            :limit="1"
+            :on-change="beforeUpload1"
+            :on-error="onError1"
+          >
+            <el-button slot="trigger" size="small" type="primary"
+              >閫夊彇鏂囦欢</el-button
+            >
           </el-upload>
         </el-form-item>
       </el-form>
       <span slot="footer" class="dialog-footer">
-				<el-button @click="qualificationsConnectVisible = false">鍙� 娑�</el-button>
-				<el-button type="primary" @click="confirmQualifications" :loading="loading">纭� 瀹�</el-button>
-			</span>
+        <el-button @click="qualificationsConnectVisible = false"
+          >鍙� 娑�</el-button
+        >
+        <el-button
+          type="primary"
+          @click="confirmQualifications"
+          :loading="loading"
+          >纭� 瀹�</el-button
+        >
+      </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
 import limsTable from "@/components/Table/lims-table.vue";
-import {addCertificationDetail, delCertificationDetail, getCertificationDetail} from "@/api/structural/laboratory";
-import {getToken} from "@/utils/auth";
+import {
+  addCertificationDetail,
+  delCertificationDetail,
+  getCertificationDetail,
+} from "@/api/structural/laboratory";
+import { getToken } from "@/utils/auth";
 
 export default {
   components: {
-    limsTable
+    limsTable,
   },
-  dicts: ['qualification_name'],
+  dicts: ["cnas_method_qualification"],
   data() {
     return {
       radio: 0,
       queryParams: {
-        name: ''
+        name: "",
       },
       tableData: [],
       selection: [],
       column: [
-        {label: '璧勮川鍚嶇О', prop: 'name'},
-        {label: '璧勮川缂栫爜', prop: 'code'},
-        {label: '棰佸彂鏈烘瀯', prop: 'organization'},
-        {label: '璧勮川璇存槑', prop: 'explanation'},
-        {label: '棣栨棰佸彂鏃堕棿', prop: 'firstIssuanceDate'},
-        {label: '鏈�杩戦鍙戞椂闂�', prop: 'latestIssuanceDate'},
-        {label: '鍒版湡棰佸彂鏃堕棿', prop: 'expireTime'},
+        { label: "璧勮川鍚嶇О", prop: "name" },
+        { label: "璧勮川缂栫爜", prop: "code" },
+        { label: "棰佸彂鏈烘瀯", prop: "organization" },
+        { label: "璧勮川璇存槑", prop: "explanation" },
+        { label: "棣栨棰佸彂鏃堕棿", prop: "firstIssuanceDate" },
+        { label: "鏈�杩戦鍙戞椂闂�", prop: "latestIssuanceDate" },
+        { label: "鍒版湡棰佸彂鏃堕棿", prop: "expireTime" },
         {
-          dataType: 'action',
-          fixed: 'right',
-          label: '鎿嶄綔',
+          dataType: "action",
+          fixed: "right",
+          label: "鎿嶄綔",
           operation: [
             {
-              name: '闄勪欢涓嬭浇',
-              type: 'text',
+              name: "闄勪欢涓嬭浇",
+              type: "text",
               clickFun: (row) => {
                 this.handleDownLoad(row);
               },
             },
-          ]
-        }
+          ],
+        },
       ],
       page: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 10,
+        current: 1,
       },
       tableLoading: false,
-      qualificationsList:[],
-      qualificationsConnectVisible:false,
-      formData:{},
+      qualificationsList: [],
+      qualificationsConnectVisible: false,
+      formData: {},
       formDataRules: {
-        name: [{ required: true, message: "璇峰~鍐欒祫璐ㄥ悕绉�", trigger: "change" }],
+        name: [
+          { required: true, message: "璇峰~鍐欒祫璐ㄥ悕绉�", trigger: "change" },
+        ],
         code: [{ required: true, message: "璇峰~鍐欒祫璐ㄧ紪鐮�", trigger: "blur" }],
-        organization: [{ required: true, message: "璇峰~鍐欓鍙戞満鏋�", trigger: "blur" }],
-        dateOfIssuance: [{ required: true, message: "璇烽�夋嫨棰佸彂鏃堕棿", trigger: "change" }],
-        expireTime: [{ required: true, message: "璇峰~鍐欏埌鏈熸椂闂�", trigger: "change" }],
+        organization: [
+          { required: true, message: "璇峰~鍐欓鍙戞満鏋�", trigger: "blur" },
+        ],
+        dateOfIssuance: [
+          { required: true, message: "璇烽�夋嫨棰佸彂鏃堕棿", trigger: "change" },
+        ],
+        expireTime: [
+          { required: true, message: "璇峰~鍐欏埌鏈熸椂闂�", trigger: "change" },
+        ],
       },
-      loading:false,
-      pageLoading:false,
+      loading: false,
+      pageLoading: false,
       isLoding: false, // 鍔犺浇涓紝loading鍥炬爣,榛樿涓簍rue
       finishLoding: false, // 鍔犺浇瀹屾垚锛屾樉绀哄凡缁忔病鏈夋洿澶氫簡
       currentPage: 1, // 褰撳墠椤�
       pageSize: 16, // 涓�椤�16鏉�
-      total: '',
-      list:[],
-      uploadAction: process.env.VUE_APP_BASE_API + '/deviceScope/uploadFile',
+      total: "",
+      list: [],
+      uploadAction: process.env.VUE_APP_BASE_API + "/deviceScope/uploadFile",
       headers: { Authorization: "Bearer " + getToken() },
-    }
+    };
   },
   mounted() {
-    this.refreshTable()
+    this.refreshTable();
   },
   methods: {
     selectorSwitch(radio) {
-      if(radio === 1){
+      if (radio === 1) {
         this.list = [];
         this.refreshTable();
       }
@@ -223,156 +387,165 @@
     refreshTable() {
       if (this.radio === 0) {
         this.tableLoading = true;
-        getCertificationDetail({...this.page,...this.queryParams}).then(res => {
-          this.tableLoading = false
-          if (res.code === 200) {
-            this.tableData = res.data.records
-            this.page.total = res.data.total
-          }
-        }).catch(err => {
-          this.tableLoading = false
-        })
+        getCertificationDetail({ ...this.page, ...this.queryParams })
+          .then((res) => {
+            this.tableLoading = false;
+            if (res.code === 200) {
+              this.tableData = res.data.records;
+              this.page.total = res.data.total;
+            }
+          })
+          .catch((err) => {
+            this.tableLoading = false;
+          });
       } else {
-        if(this.currentPage>1){
-          this.isLoding = true
-        }else{
-          this.pageLoading = true
+        if (this.currentPage > 1) {
+          this.isLoding = true;
+        } else {
+          this.pageLoading = true;
         }
-        if(this.list.length===0){
-          window.addEventListener("scroll", this.throttle(this.scrollFn, 20000));
+        if (this.list.length === 0) {
+          window.addEventListener(
+            "scroll",
+            this.throttle(this.scrollFn, 20000)
+          );
         }
         getCertificationDetail({
           current: this.currentPage,
           size: this.pageSize,
-          ...this.queryParams
-        }).then(res => {
-          if(res.code===200){
-            this.total = res.data.total
-            let list = res.data.records;
-            if(list.length===0){
-              this.finishLoding = true;
-            }else{
-              if(list.length<this.pageSize){
+          ...this.queryParams,
+        })
+          .then((res) => {
+            if (res.code === 200) {
+              this.total = res.data.total;
+              let list = res.data.records;
+              if (list.length === 0) {
                 this.finishLoding = true;
-              }
-              this.list = this.list.concat(list)
-              if(this.total===this.list.length){
-                this.finishLoding = true;
+              } else {
+                if (list.length < this.pageSize) {
+                  this.finishLoding = true;
+                }
+                this.list = this.list.concat(list);
+                if (this.total === this.list.length) {
+                  this.finishLoding = true;
+                }
               }
             }
-          }
-          this.pageLoading = false
-          this.isLoding = false;
-        }).catch(err => {
-          this.pageLoading = false
-          this.isLoding = false;
-        })
+            this.pageLoading = false;
+            this.isLoding = false;
+          })
+          .catch((err) => {
+            this.pageLoading = false;
+            this.isLoding = false;
+          });
       }
     },
     // 閲嶇疆
     refresh() {
-      if(this.radio === 0){
-        this.queryParams.name = ''
-        this.page.size = 10
-        this.page.current = 1
-        this.refreshTable()
+      if (this.radio === 0) {
+        this.queryParams.name = "";
+        this.page.size = 10;
+        this.page.current = 1;
+        this.refreshTable();
       } else {
         this.finishLoding = false;
-        this.currentPage= 1;
-        this.list=[];
-        this.refreshTable()
+        this.currentPage = 1;
+        this.list = [];
+        this.refreshTable();
       }
     },
     // 琛ㄦ牸澶氶��
-    handleSelectionChange (selection) {
+    handleSelectionChange(selection) {
       this.selection = selection;
     },
-    pagination (page) {
-      this.page.size = page.limit
-      this.refreshTable()
+    pagination(page) {
+      this.page.size = page.limit;
+      this.refreshTable();
     },
     // 璧勮川鏄庣粏鎵归噺鍒犻櫎
-    handleDel(){
-      if (this.selection.length===0) {
-        this.$message.warning('璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�')
-        return
+    handleDel() {
+      if (this.selection.length === 0) {
+        this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        return;
       }
-      const delIds = []
-      this.selection.forEach(item => {
-        delIds.push(item.id)
-      })
-      delCertificationDetail(delIds).then(res => {
-        if (res.code !== 200) return
+      const delIds = [];
+      this.selection.forEach((item) => {
+        delIds.push(item.id);
+      });
+      delCertificationDetail(delIds).then((res) => {
+        if (res.code !== 200) return;
         this.refreshTable();
-        this.$message.success('鍒犻櫎鎴愬姛')
-      })
+        this.$message.success("鍒犻櫎鎴愬姛");
+      });
     },
     // 璧勮川鏄庣粏闄勪欢涓嬭浇
-    handleDownLoad(row){
+    handleDownLoad(row) {
       // let url = row.fileUrl;
       // const link = document.createElement('a');
       // link.href = this.javaApi + '/img/'+ url;
       // document.body.appendChild(link);
       // link.target = '_blank';
       // link.click();
-      const url = process.env.VUE_APP_BASE_API + '/img/'+ row.fileUrl
+      const url = process.env.VUE_APP_BASE_API + "/img/" + row.fileUrl;
       this.$download.saveAs(url, row.fileUrl);
     },
     openAdd() {
       this.qualificationsConnectVisible = true;
-      this.$nextTick(()=>{
-        this.$refs.upload.clearFiles()
-        this.$refs.upload1.clearFiles()
-      })
+      this.$nextTick(() => {
+        this.$refs.upload.clearFiles();
+        this.$refs.upload1.clearFiles();
+      });
       this.formData = {};
     },
-    handleSuccessUpImg(response,name) {
+    handleSuccessUpImg(response, name) {
       if (response.code === 200) {
         this.formData[name] = response.data.url;
       }
     },
     beforeUpload(file) {
       if (file.size > 1024 * 1024 * 10) {
-        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-        this.$refs.upload.clearFiles()
+        this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+        this.$refs.upload.clearFiles();
         return false;
       } else {
         return true;
       }
     },
     onError(err, file, fileList) {
-      this.$message.error('涓婁紶澶辫触')
-      this.$refs.upload.clearFiles()
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload.clearFiles();
     },
     beforeUpload1(file) {
       if (file.size > 1024 * 1024 * 10) {
-        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-        this.$refs.upload1.clearFiles()
+        this.$message.error("涓婁紶鏂囦欢涓嶈秴杩�10M");
+        this.$refs.upload1.clearFiles();
         return false;
       } else {
         return true;
       }
     },
     onError1(err, file, fileList) {
-      this.$message.error('涓婁紶澶辫触')
-      this.$refs.upload1.clearFiles()
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload1.clearFiles();
     },
-    confirmQualifications(){
-      this.$refs['formDataRef'].validate((valid) => {
+    confirmQualifications() {
+      this.$refs["formDataRef"].validate((valid) => {
         if (valid) {
           this.loading = true;
-          addCertificationDetail({...this.formData}).then(res => {
-            this.loading = false
-            if (res.code === 201) return
-            this.$message.success('宸叉彁浜�')
-            this.refreshTable()
-            this.resetForm("formDataRef");
-            this.qualificationsConnectVisible = false
-          }).catch(err => {
-            this.loading = false
-          })
+          addCertificationDetail({ ...this.formData })
+            .then((res) => {
+              this.loading = false;
+              if (res.code === 201) return;
+              this.$message.success("宸叉彁浜�");
+              this.refreshTable();
+              this.resetForm("formDataRef");
+              this.qualificationsConnectVisible = false;
+            })
+            .catch((err) => {
+              this.loading = false;
+            });
         }
-      })
+      });
     },
     // 婊氬姩瑙﹀簳鍔犺浇
     scrollFn() {
@@ -380,8 +553,14 @@
       let scrollHeight = document.body.scrollHeight; // 婊氬姩鏂囨。楂樺害
       let scrollTop = parseInt(document.documentElement.scrollTop); // 宸叉粴鍔ㄧ殑楂樺害
       let height = 300;
-      if (scrollTop + clientHeight >= scrollHeight - height && scrollHeight !== 0) {
-        if (!this.finishLoding&&this.currentPage*this.pageSize<this.total) {
+      if (
+        scrollTop + clientHeight >= scrollHeight - height &&
+        scrollHeight !== 0
+      ) {
+        if (
+          !this.finishLoding &&
+          this.currentPage * this.pageSize < this.total
+        ) {
           this.currentPage = this.currentPage + 1;
           this.refreshTable();
         }
@@ -407,7 +586,7 @@
   destroyed() {
     window.removeEventListener("scroll", this.throttle(), false);
   },
-}
+};
 </script>
 
 <style scoped>
@@ -416,10 +595,10 @@
   line-height: 40px;
   margin-bottom: 10px;
 }
-.table-item{
+.table-item {
   border-radius: 8px 8px 8px 8px;
-  box-shadow: 4px 4px 8px 0px rgba(51,51,51,0.04);
-  border: 1px solid #EEEEEE;
+  box-shadow: 4px 4px 8px 0px rgba(51, 51, 51, 0.04);
+  border: 1px solid #eeeeee;
   box-sizing: border-box;
   padding: 14px 12px;
   display: flex;

--
Gitblit v1.9.3