From b57c02f998cac0f54afb4a27757b0101659234f4 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 01 七月 2025 15:24:17 +0800
Subject: [PATCH] 图片上传问题,可多上传几个文件

---
 src/views/salesManagement/invoiceLedger/index.vue                 |  254 ++--------------
 src/views/salesManagement/salesLedger/index.vue                   |  480 ++++++-------------------------
 src/components/FileUpload/index.vue                               |   49 --
 src/views/procurementManagement/invoiceEntry/components/Modal.vue |  112 +------
 4 files changed, 163 insertions(+), 732 deletions(-)

diff --git a/src/components/FileUpload/index.vue b/src/components/FileUpload/index.vue
index e39a6ed..57e62b7 100644
--- a/src/components/FileUpload/index.vue
+++ b/src/components/FileUpload/index.vue
@@ -1,21 +1,8 @@
 <template>
   <div class="upload-file">
-    <el-upload
-      multiple
-      :action="uploadFileUrl"
-      :before-upload="handleBeforeUpload"
-      :file-list="fileList"
-      :data="data"
-      :limit="limit"
-      :on-error="handleUploadError"
-      :on-exceed="handleExceed"
-      :on-success="handleUploadSuccess"
-      :show-file-list="false"
-      :headers="headers"
-      class="upload-file-uploader"
-      ref="fileUpload"
-      v-if="!disabled"
-    >
+    <el-upload multiple :action="uploadFileUrl" :before-upload="handleBeforeUpload" :file-list="fileList" :data="data"
+      :limit="limit" :on-error="handleUploadError" :on-exceed="handleExceed" :on-success="handleUploadSuccess"
+      :show-file-list="false" :headers="headers" class="upload-file-uploader" ref="fileUpload" v-if="!disabled">
       <!-- 涓婁紶鎸夐挳 -->
       <el-button type="primary">閫夊彇鏂囦欢</el-button>
     </el-upload>
@@ -31,31 +18,13 @@
       鐨勬枃浠�
     </div>
     <!-- 鏂囦欢鍒楄〃 -->
-    <transition-group
-      class="upload-file-list el-upload-list el-upload-list--text"
-      name="el-fade-in-linear"
-      tag="ul"
-    >
-      <li
-        :key="file.uid"
-        class="el-upload-list__item ele-upload-list__item-content"
-        v-for="(file, index) in fileList"
-      >
-        <el-link
-          :href="`${baseUrl}${file.url}`"
-          :underline="false"
-          target="_blank"
-        >
+    <transition-group class="upload-file-list el-upload-list el-upload-list--text" name="el-fade-in-linear" tag="ul">
+      <li :key="file.uid" class="el-upload-list__item ele-upload-list__item-content" v-for="(file, index) in fileList">
+        <el-link :href="`${baseUrl}${file.url}`" :underline="false" target="_blank">
           <span class="el-icon-document"> {{ getFileName(file.name) }} </span>
         </el-link>
         <div class="ele-upload-list__item-content-action">
-          <el-link
-            :underline="false"
-            @click="handleDelete(index)"
-            type="danger"
-            v-if="!disabled"
-            >&nbsp;鍒犻櫎</el-link
-          >
+          <el-link :underline="false" @click="handleDelete(index)" type="danger" v-if="!disabled">&nbsp;鍒犻櫎</el-link>
         </div>
       </li>
     </transition-group>
@@ -264,9 +233,11 @@
   opacity: 0.5;
   background: #c8ebfb;
 }
+
 .upload-file-uploader {
   margin-bottom: 5px;
 }
+
 .upload-file-list .el-upload-list__item {
   border: 1px solid #e4e7ed;
   line-height: 2;
@@ -274,12 +245,14 @@
   position: relative;
   transition: none !important;
 }
+
 .upload-file-list .ele-upload-list__item-content {
   display: flex;
   justify-content: space-between;
   align-items: center;
   color: inherit;
 }
+
 .ele-upload-list__item-content-action .el-link {
   margin-right: 10px;
 }
diff --git a/src/views/procurementManagement/invoiceEntry/components/Modal.vue b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
index 7e38af6..3296bb3 100644
--- a/src/views/procurementManagement/invoiceEntry/components/Modal.vue
+++ b/src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -1,12 +1,6 @@
 <template>
   <el-dialog :title="modalOptions.title" v-model="visible" width="70%">
-    <el-form
-      ref="formRef"
-      :model="form"
-      :rules="rules"
-      label-width="120px"
-      label-position="top"
-    >
+    <el-form ref="formRef" :model="form" :rules="rules" label-width="120px" label-position="top">
       <el-row :gutter="30">
         <el-col :span="12">
           <el-form-item label="閲囪喘鍚堝悓鍙凤細" prop="purchaseLedgerNo">
@@ -15,131 +9,61 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
-            <el-input
-              v-model="form.salesContractNo"
-              placeholder="鑷姩濉厖"
-              clearable
-              disabled
-            />
+            <el-input v-model="form.salesContractNo" placeholder="鑷姩濉厖" clearable disabled />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="渚涘簲鍟嗗悕绉帮細" prop="supplierName">
-            <el-input
-              v-model="form.supplierName"
-              placeholder="鑷姩濉厖"
-              clearable
-              disabled
-            />
+            <el-input v-model="form.supplierName" placeholder="鑷姩濉厖" clearable disabled />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
-            <el-input
-              v-model="form.projectName"
-              placeholder="鑷姩濉厖"
-              clearable
-              disabled
-            />
+            <el-input v-model="form.projectName" placeholder="鑷姩濉厖" clearable disabled />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="鍙戠エ鍙凤細" prop="invoiceNumber">
-            <el-input
-              v-model="form.invoiceNumber"
-              placeholder="璇疯緭鍏�"
-              clearable
-            />
+            <el-input v-model="form.invoiceNumber" placeholder="璇疯緭鍏�" clearable />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="鍙戠エ閲戦(鍏�)锛�" prop="invoiceAmount">
-            <el-input
-              type="number"
-              :step="0.01"
-              :min="0"
-              v-model="form.invoiceAmount"
-              placeholder="鑷姩濉厖"
-              clearable
-              :disabled="true"
-            />
+            <el-input type="number" :step="0.01" :min="0" v-model="form.invoiceAmount" placeholder="鑷姩濉厖" clearable />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="褰曞叆浜猴細" prop="issUer">
-            <el-input
-              v-model="form.issUer"
-              placeholder="璇疯緭鍏�"
-              clearable
-              disabled
-            />
+            <el-input v-model="form.issUer" placeholder="璇疯緭鍏�" clearable disabled />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="寮�绁ㄦ棩鏈燂細" prop="entryDate">
-            <el-date-picker
-              style="width: 100%"
-              v-model="form.entryDate"
-              type="date"
-              clearable
-            />
+            <el-date-picker style="width: 100%" v-model="form.entryDate" type="date" clearable />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="涓婁紶闄勪欢">
-            <FileUpload
-              :showTip="false"
-              accept="*"
-              :autoUpload="true"
-              :action="action"
-              :headers="{
-                Authorization: 'Bearer ' + getToken(),
-              }"
-              :limit="10"
-              @success="uploadSuccess"
-              @remove="removeFile"
-            />
+            <FileUpload :showTip="false" accept="*" :autoUpload="true" :action="action" :headers="{
+              Authorization: 'Bearer ' + getToken(),
+            }" :limit="10" @success="uploadSuccess" @remove="removeFile" />
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label="褰曞叆鏃ユ湡锛�" prop="enterDate">
-            <el-date-picker
-              style="width: 100%"
-              v-model="form.enterDate"
-              type="date"
-              clearable
-            />
+            <el-date-picker style="width: 100%" v-model="form.enterDate" type="date" clearable />
           </el-form-item>
         </el-col>
       </el-row>
       <el-form-item label="浜у搧淇℃伅锛�"> </el-form-item>
-      <PIMTable
-        rowKey="id"
-        :column="columns"
-        :tableData="form.productData"
-        height="auto"
-      >
+      <PIMTable rowKey="id" :column="columns" :tableData="form.productData" height="auto">
         <template #ticketsNumRef="{ row }">
-          <el-input-number
-            v-model="row.ticketsNum"
-            placeholder="璇烽�夋嫨"
-            :min="0"
-            :step="0.1"
-            clearable
-            style="width: 100%"
-            @change="invoiceNumBlur(row)"
-          />
+          <el-input-number v-model="row.ticketsNum" placeholder="璇烽�夋嫨" :min="0" :step="0.1" clearable style="width: 100%"
+            @change="invoiceNumBlur(row)" />
         </template>
         <template #ticketsAmountRef="{ row }">
-          <el-input-number
-            v-model="row.ticketsAmount"
-            placeholder="璇烽�夋嫨"
-            :min="0"
-            :step="0.1"
-            clearable
-            style="width: 100%"
-            @change="invoiceAmountBlur(row)"
-          />
+          <el-input-number v-model="row.ticketsAmount" placeholder="璇烽�夋嫨" :min="0" :step="0.1" clearable
+            style="width: 100%" @change="invoiceAmountBlur(row)" />
         </template>
       </PIMTable>
     </el-form>
@@ -412,6 +336,8 @@
       if (code == 200) {
         closeModal();
       }
+    } else {
+      modalLoading.value = false;
     }
   });
 };
diff --git a/src/views/salesManagement/invoiceLedger/index.vue b/src/views/salesManagement/invoiceLedger/index.vue
index 194b86c..9f2d1fb 100644
--- a/src/views/salesManagement/invoiceLedger/index.vue
+++ b/src/views/salesManagement/invoiceLedger/index.vue
@@ -3,40 +3,17 @@
     <div class="search_form">
       <el-form :inline="true" :model="searchForm">
         <el-form-item label="瀹㈡埛鍚嶇О/鍚堝悓鍙�">
-          <el-input
-            v-model="searchForm.searchText"
-            style="width: 240px"
-            placeholder="杈撳叆瀹㈡埛鍚嶇О/鍚堝悓鍙锋悳绱�"
-            @change="handleQuery"
-            clearable
-            :prefix-icon="Search"
-          />
+          <el-input v-model="searchForm.searchText" style="width: 240px" placeholder="杈撳叆瀹㈡埛鍚嶇О/鍚堝悓鍙锋悳绱�"
+            @change="handleQuery" clearable :prefix-icon="Search" />
         </el-form-item>
         <el-form-item label="寮�绁ㄦ棩鏈�">
-          <el-date-picker
-            style="width: 240px"
-            v-model="searchForm.invoiceDate"
-            value-format="YYYY-MM-DD"
-            format="YYYY-MM-DD"
-            type="daterange"
-            start-placeholder="寮�濮嬫椂闂�"
-            end-placeholder="缁撴潫鏃堕棿"
-            clearable
-            @change="changeDateRange"
-            @clear="clearRange"
-          />
+          <el-date-picker style="width: 240px" v-model="searchForm.invoiceDate" value-format="YYYY-MM-DD"
+            format="YYYY-MM-DD" type="daterange" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" clearable
+            @change="changeDateRange" @clear="clearRange" />
         </el-form-item>
         <el-form-item label="褰曞叆鏃ユ湡">
-          <el-date-picker
-            style="width: 100%"
-            v-model="searchForm.createTimeStart"
-            value-format="YYYY-MM-DD HH:mm:ss"
-            format="YYYY-MM-DD"
-            type="date"
-            placeholder="璇烽�夋嫨"
-            clearable
-            @change="handleQuery"
-          />
+          <el-date-picker style="width: 100%" v-model="searchForm.createTimeStart" value-format="YYYY-MM-DD HH:mm:ss"
+            format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable @change="handleQuery" />
         </el-form-item>
         <el-form-item label="涓嶆樉绀烘湁鍙戠エ琛�">
           <el-checkbox v-model="searchForm.status" @change="handleQuery" />
@@ -49,143 +26,46 @@
       </el-form>
     </div>
     <div class="table_list">
-      <el-table
-        :data="tableData"
-        border
-        v-loading="tableLoading"
-        @selection-change="handleSelectionChange"
-        :row-key="(row) => row.id"
-        show-summary
-        :summary-method="summarizeMainTable"
-        height="calc(100vh - 18.5em)"
-      >
+      <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
+        :row-key="(row) => row.id" show-summary :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
         <el-table-column align="center" type="selection" width="55" />
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
-          label="閿�鍞悎鍚屽彿"
-          prop="salesContractNo"
-          show-overflow-tooltip
-          width="180"
-        />
-        <el-table-column
-          label="瀹㈡埛鍚堝悓鍙�"
-          prop="customerContractNo"
-          show-overflow-tooltip
-          width="180"
-        />
-        <el-table-column
-          label="瀹㈡埛鍚嶇О"
-          prop="customerName"
-          show-overflow-tooltip
-          width="240"
-        />
+        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" show-overflow-tooltip width="180" />
+        <el-table-column label="瀹㈡埛鍚堝悓鍙�" prop="customerContractNo" show-overflow-tooltip width="180" />
+        <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" show-overflow-tooltip width="240" />
         <el-table-column label="椤圭洰" prop="projectName" width="150" />
         <el-table-column label="浜у搧澶х被" prop="productCategory" />
-        <el-table-column
-          label="瑙勬牸鍨嬪彿"
-          prop="specificationModel"
-          width="300"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="鍙戠エ鍙�"
-          prop="invoiceNo"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="鍙戠エ閲戦(鍏�)"
-          prop="invoiceTotal"
-          show-overflow-tooltip
-          :formatter="formattedNumber"
-          width="120"
-        />
+        <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" width="300" show-overflow-tooltip />
+        <el-table-column label="鍙戠エ鍙�" prop="invoiceNo" show-overflow-tooltip />
+        <el-table-column label="鍙戠エ閲戦(鍏�)" prop="invoiceTotal" show-overflow-tooltip :formatter="formattedNumber"
+          width="120" />
         <el-table-column label="绋庣巼(%)" prop="taxRate" show-overflow-tooltip />
-        <el-table-column
-          label="褰曞叆浜�"
-          prop="invoicePerson"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="褰曞叆鏃ユ湡"
-          prop="createTime"
-          show-overflow-tooltip
-          :formatter="formatDate"
-          width="180"
-        />
-        <el-table-column
-          label="寮�绁ㄦ棩鏈�"
-          prop="invoiceDate"
-          show-overflow-tooltip
-          width="120"
-        />
-        <el-table-column
-          label="鍙戠エ"
-          prop="invoiceFileName"
-          width="120"
-          align="center"
-          show-overflow-tooltip
-        >
+        <el-table-column label="褰曞叆浜�" prop="invoicePerson" show-overflow-tooltip />
+        <el-table-column label="褰曞叆鏃ユ湡" prop="createTime" show-overflow-tooltip :formatter="formatDate" width="180" />
+        <el-table-column label="寮�绁ㄦ棩鏈�" prop="invoiceDate" show-overflow-tooltip width="120" />
+        <el-table-column label="鍙戠エ" prop="invoiceFileName" width="120" align="center" show-overflow-tooltip>
           <template #default="scope">
-            <el-button
-              v-if="scope.row.invoiceFileName"
-              text
-              bg
-              type="primary"
-              @click="handleFile(scope.row.commonFiles)"
-            >
+            <el-button v-if="scope.row.invoiceFileName" text bg type="primary"
+              @click="handleFile(scope.row.commonFiles)">
               鏌ョ湅闄勪欢
             </el-button>
-            <el-button
-              v-else
-              link
-              type="primary"
-              @click="handleDownload(scope.row)"
-            >
+            <el-button v-else link type="primary" @click="handleDownload(scope.row)">
               涓婁紶
             </el-button>
           </template>
         </el-table-column>
         <el-table-column fixed="right" label="鎿嶄綔" width="150" align="center">
           <template #default="scope">
-            <el-button
-              link
-              type="primary"
-              size="small"
-              @click="openForm(scope.row)"
-              >缂栬緫</el-button
-            >
-            <el-button
-              link
-              type="primary"
-              size="small"
-              @click="delInvoiceLedger(scope.row)"
-              >鍒犻櫎</el-button
-            >
+            <el-button link type="primary" size="small" @click="openForm(scope.row)">缂栬緫</el-button>
+            <el-button link type="primary" size="small" @click="delInvoiceLedger(scope.row)">鍒犻櫎</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        v-show="total > 0"
-        :total="total"
-        layout="total, sizes, prev, pager, next, jumper"
-        :page="page.current"
-        :limit="page.size"
-        @pagination="paginationChange"
-      />
+      <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
+        :page="page.current" :limit="page.size" @pagination="paginationChange" />
     </div>
-    <el-dialog
-      v-model="dialogFormVisible"
-      title="寮�绁ㄥ彴璐﹂〉闈�"
-      width="70%"
-      @close="closeDia"
-    >
-      <el-form
-        :model="form"
-        label-width="140px"
-        label-position="top"
-        :rules="rules"
-        ref="formRef"
-      >
+    <el-dialog v-model="dialogFormVisible" title="寮�绁ㄥ彴璐﹂〉闈�" width="70%" @close="closeDia">
+      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
@@ -194,79 +74,41 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="瀹㈡埛鍚嶇О锛�" prop="customerName">
-              <el-input
-                v-model="form.customerName"
-                placeholder="鑷姩濉厖"
-                clearable
-                disabled
-              />
+              <el-input v-model="form.customerName" placeholder="鑷姩濉厖" clearable disabled />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍙戠エ鍙凤細" prop="invoiceNo">
-              <el-input
-                v-model="form.invoiceNo"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="form.invoiceNo" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鍙戠エ閲戦(鍏�)锛�" prop="invoiceTotal">
-              <el-input
-                type="number"
-                :step="0.01"
-                v-model="form.invoiceTotal"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input type="number" :step="0.01" v-model="form.invoiceTotal" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="寮�绁ㄤ汉锛�" prop="invoicePerson">
-              <el-input
-                v-model="form.invoicePerson"
-                placeholder="璇疯緭鍏�"
-                clearable
-                disabled
-              />
+              <el-input v-model="form.invoicePerson" placeholder="璇疯緭鍏�" clearable disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="寮�绁ㄦ棩鏈燂細" prop="invoiceDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.invoiceDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-              />
+              <el-date-picker style="width: 100%" v-model="form.invoiceDate" value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">
-              <el-upload
-                v-model:file-list="fileList"
-                :action="upload.url"
-                multiple
-                ref="fileUpload"
-                auto-upload
-                :headers="upload.headers"
-                accept=".pdf"
-                :limit="1"
-                :before-upload="handleBeforeUpload"
-                :on-error="handleUploadError"
-                :on-success="handleUploadSuccess"
-                :on-remove="handleRemove"
-              >
+              <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
+                :headers="upload.headers" accept=".pdf" :limit="10" :before-upload="handleBeforeUpload"
+                :on-error="handleUploadError" :on-success="handleUploadSuccess" :on-remove="handleRemove">
                 <el-button type="primary">涓婁紶</el-button>
                 <template #tip>
                   <!--                  鏂囦欢鏍煎紡鏀寔 doc锛宒ocx锛寈ls锛寈lsx锛宲pt锛宲ptx锛宲df锛宼xt锛寈ml锛宩pg锛宩peg锛宲ng锛実if锛宐mp锛宺ar锛寊ip锛�7z-->
@@ -288,22 +130,10 @@
       <el-row :gutter="30">
         <el-col :span="24">
           <el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">
-            <el-upload
-              v-model:file-list="fileList"
-              :action="upload.url"
-              multiple
-              ref="fileUpload"
-              auto-upload
-              :headers="upload.headers"
-              accept=".pdf"
-              :limit="1"
-              style="width: 100%"
-              :on-exceed="handleExceed"
-              :before-upload="handleBeforeUpload"
-              :on-error="handleUploadError"
-              :on-success="handleUploadSuccess"
-              :on-remove="handleRemove"
-            >
+            <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
+              :headers="upload.headers" accept=".pdf" :limit="10" style="width: 100%" :on-exceed="handleExceed"
+              :before-upload="handleBeforeUpload" :on-error="handleUploadError" :on-success="handleUploadSuccess"
+              :on-remove="handleRemove">
               <el-button type="primary">涓婁紶</el-button>
               <template #tip>
                 <div class="el-upload__tip">鏂囦欢鏍煎紡浠呮敮鎸� pdf</div>
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 7ed2f28..eb0855d 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -3,51 +3,24 @@
     <div class="search_form">
       <el-form :model="searchForm" :inline="true">
         <el-form-item label="瀹㈡埛鍚嶇О锛�">
-          <el-input
-            v-model="searchForm.customerContractNo"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.customerContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="瀹㈡埛鍚堝悓鍙凤細">
-          <el-input
-            v-model="searchForm.customerContractNo"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.customerContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="閿�鍞悎鍚屽彿锛�">
-          <el-input
-            v-model="searchForm.salesContractNo"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="椤圭洰鍚嶇О锛�">
-          <el-input
-            v-model="searchForm.projectName"
-            placeholder="璇疯緭鍏�"
-            clearable
-            prefix-icon="Search"
-            @change="handleQuery"
-          />
+          <el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
+            @change="handleQuery" />
         </el-form-item>
         <el-form-item label="褰曞叆鏃ユ湡锛�">
-          <el-date-picker
-            v-model="searchForm.entryDate"
-            value-format="YYYY-MM-DD"
-            format="YYYY-MM-DD"
-            type="daterange"
-            placeholder="璇烽�夋嫨"
-            clearable
-            @change="changeDaterange"
-          />
+          <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
+            placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
@@ -65,177 +38,61 @@
           <el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
         </div>
       </div>
-      <el-table
-        :data="tableData"
-        border
-        v-loading="tableLoading"
-        @selection-change="handleSelectionChange"
-        :expand-row-keys="expandedRowKeys"
-        :row-key="(row) => row.id"
-        show-summary
-        style="width: 100%"
-        :summary-method="summarizeMainTable"
-        @expand-change="expandChange"
-        height="calc(100vh - 18.5em)"
-      >
+      <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
+        :expand-row-keys="expandedRowKeys" :row-key="(row) => row.id" show-summary style="width: 100%"
+        :summary-method="summarizeMainTable" @expand-change="expandChange" height="calc(100vh - 18.5em)">
         <el-table-column align="center" type="selection" width="55" />
         <el-table-column type="expand">
           <template #default="props">
-            <el-table
-              :data="props.row.children"
-              border
-              show-summary
-              :summary-method="summarizeChildrenTable"
-            >
-              <el-table-column
-                align="center"
-                label="搴忓彿"
-                type="index"
-                width="60"
-              />
+            <el-table :data="props.row.children" border show-summary :summary-method="summarizeChildrenTable">
+              <el-table-column align="center" label="搴忓彿" type="index" width="60" />
               <el-table-column label="浜у搧澶х被" prop="productCategory" />
               <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
               <el-table-column label="鍗曚綅" prop="unit" />
               <el-table-column label="鏁伴噺" prop="quantity" />
               <el-table-column label="绋庣巼(%)" prop="taxRate" />
-              <el-table-column
-                label="鍚◣鍗曚环(鍏�)"
-                prop="taxInclusiveUnitPrice"
-                :formatter="formattedNumber"
-              />
-              <el-table-column
-                label="鍚◣鎬讳环(鍏�)"
-                prop="taxInclusiveTotalPrice"
-                :formatter="formattedNumber"
-              />
-              <el-table-column
-                label="涓嶅惈绋庢�讳环(鍏�)"
-                prop="taxExclusiveTotalPrice"
-                :formatter="formattedNumber"
-              />
+              <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
+              <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
+              <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
             </el-table>
           </template>
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column
-          label="閿�鍞悎鍚屽彿"
-          prop="salesContractNo"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="瀹㈡埛鍚堝悓鍙�"
-          prop="customerContractNo"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="瀹㈡埛鍚嶇О"
-          prop="customerName"
-          width="300"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="涓氬姟鍛�"
-          prop="salesman"
-          width="100"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="椤圭洰鍚嶇О"
-          prop="projectName"
-          width="180"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="浠樻鏂瑰紡"
-          prop="paymentMethod"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="鍚堝悓閲戦(鍏�)"
-          prop="contractAmount"
-          width="180"
-          show-overflow-tooltip
-          :formatter="formattedNumber"
-        />
-        <el-table-column
-          label="褰曞叆浜�"
-          prop="entryPersonName"
-          width="100"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="褰曞叆鏃ユ湡"
-          prop="entryDate"
-          width="120"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          label="绛捐鏃ユ湡"
-          prop="executionDate"
-          width="120"
-          show-overflow-tooltip
-        />
-        <el-table-column
-          fixed="right"
-          label="鎿嶄綔"
-          min-width="60"
-          align="center"
-        >
+        <el-table-column label="閿�鍞悎鍚屽彿" prop="salesContractNo" width="180" show-overflow-tooltip />
+        <el-table-column label="瀹㈡埛鍚堝悓鍙�" prop="customerContractNo" width="180" show-overflow-tooltip />
+        <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
+        <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
+        <el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
+        <el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
+        <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="180" show-overflow-tooltip
+          :formatter="formattedNumber" />
+        <el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
+        <el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
+        <el-table-column label="绛捐鏃ユ湡" prop="executionDate" width="120" show-overflow-tooltip />
+        <el-table-column fixed="right" label="鎿嶄綔" min-width="100" align="center">
           <template #default="scope">
-            <el-button
-              link
-              type="primary"
-              size="small"
-              @click="openForm('edit', scope.row)"
-              >缂栬緫</el-button
-            >
+            <el-button link type="primary" size="small" @click="openForm('edit', scope.row)">缂栬緫</el-button>
+            <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
           </template>
         </el-table-column>
       </el-table>
-      <pagination
-        v-show="total > 0"
-        :total="total"
-        layout="total, sizes, prev, pager, next, jumper"
-        :page="page.current"
-        :limit="page.size"
-        @pagination="paginationChange"
-      />
+      <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
+        :page="page.current" :limit="page.size" @pagination="paginationChange" />
     </div>
-    <el-dialog
-      v-model="dialogFormVisible"
-      :title="operationType === 'add' ? '鏂板閿�鍞彴璐﹂〉闈�' : '缂栬緫閿�鍞彴璐﹂〉闈�'"
-      width="70%"
-      @close="closeDia"
-    >
-      <el-form
-        :model="form"
-        label-width="140px"
-        label-position="top"
-        :rules="rules"
-        ref="formRef"
-      >
+    <el-dialog v-model="dialogFormVisible" :title="operationType === 'add' ? '鏂板閿�鍞彴璐﹂〉闈�' : '缂栬緫閿�鍞彴璐﹂〉闈�'" width="70%"
+      @close="closeDia">
+      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="閿�鍞悎鍚屽彿锛�" prop="salesContractNo">
-              <el-input
-                v-model="form.salesContractNo"
-                placeholder="鑷姩鐢熸垚"
-                clearable
-                disabled
-              />
+              <el-input v-model="form.salesContractNo" placeholder="鑷姩鐢熸垚" clearable disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="涓氬姟鍛橈細" prop="salesman">
               <el-select v-model="form.salesman" placeholder="璇烽�夋嫨" clearable>
-                <el-option
-                  v-for="item in userList"
-                  :key="item.nickName"
-                  :label="item.nickName"
-                  :value="item.nickName"
-                />
+                <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
+                  :value="item.nickName" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -243,26 +100,13 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="瀹㈡埛鍚堝悓鍙凤細" prop="customerContractNo">
-              <el-input
-                v-model="form.customerContractNo"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="form.customerContractNo" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="瀹㈡埛鍚嶇О锛�" prop="customerId">
-              <el-select
-                v-model="form.customerId"
-                placeholder="璇烽�夋嫨"
-                clearable
-              >
-                <el-option
-                  v-for="item in customerOption"
-                  :key="item.id"
-                  :label="item.customerName"
-                  :value="item.id"
-                >
+              <el-select v-model="form.customerId" placeholder="璇烽�夋嫨" clearable>
+                <el-option v-for="item in customerOption" :key="item.id" :label="item.customerName" :value="item.id">
                   {{
                     item.customerName + "鈥斺��" + item.taxpayerIdentificationNumber
                   }}
@@ -274,28 +118,13 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
-              <el-input
-                v-model="form.projectName"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="form.projectName" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="褰曞叆浜猴細" prop="entryPerson">
-              <el-select
-                v-model="form.entryPerson"
-                placeholder="璇烽�夋嫨"
-                clearable
-                @change="changs"
-                disabled
-              >
-                <el-option
-                  v-for="item in userList"
-                  :key="item.userId"
-                  :label="item.nickName"
-                  :value="item.userId"
-                />
+              <el-select v-model="form.entryPerson" placeholder="璇烽�夋嫨" clearable @change="changs" disabled>
+                <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -303,132 +132,61 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="褰曞叆鏃ユ湡锛�" prop="entryDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.entryDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-                disabled
-              />
+              <el-date-picker style="width: 100%" v-model="form.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
+                type="date" placeholder="璇烽�夋嫨" clearable disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="绛捐鏃ユ湡锛�" prop="executionDate">
-              <el-date-picker
-                style="width: 100%"
-                v-model="form.executionDate"
-                value-format="YYYY-MM-DD"
-                format="YYYY-MM-DD"
-                type="date"
-                placeholder="璇烽�夋嫨"
-                clearable
-              />
+              <el-date-picker style="width: 100%" v-model="form.executionDate" value-format="YYYY-MM-DD"
+                format="YYYY-MM-DD" type="date" placeholder="璇烽�夋嫨" clearable />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="浠樻鏂瑰紡">
-              <el-input
-                v-model="form.paymentMethod"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="form.paymentMethod" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-form-item label="浜у搧淇℃伅锛�" prop="entryDate">
-            <el-button type="primary" @click="openProductForm('add')"
-              >娣诲姞</el-button
-            >
-            <el-button plain type="danger" @click="deleteProduct"
-              >鍒犻櫎</el-button
-            >
+            <el-button type="primary" @click="openProductForm('add')">娣诲姞</el-button>
+            <el-button plain type="danger" @click="deleteProduct">鍒犻櫎</el-button>
           </el-form-item>
         </el-row>
-        <el-table
-          :data="productData"
-          border
-          @selection-change="productSelected"
-          show-summary
-          :summary-method="summarizeMainTable"
-        >
+        <el-table :data="productData" border @selection-change="productSelected" show-summary
+          :summary-method="summarizeMainTable">
           <el-table-column align="center" type="selection" width="55" />
-          <el-table-column
-            align="center"
-            label="搴忓彿"
-            type="index"
-            width="60"
-          />
+          <el-table-column align="center" label="搴忓彿" type="index" width="60" />
           <el-table-column label="浜у搧澶х被" prop="productCategory" />
           <el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
           <el-table-column label="鍗曚綅" prop="unit" />
           <el-table-column label="鏁伴噺" prop="quantity" />
           <el-table-column label="绋庣巼(%)" prop="taxRate" />
-          <el-table-column
-            label="鍚◣鍗曚环(鍏�)"
-            prop="taxInclusiveUnitPrice"
-            :formatter="formattedNumber"
-          />
-          <el-table-column
-            label="鍚◣鎬讳环(鍏�)"
-            prop="taxInclusiveTotalPrice"
-            :formatter="formattedNumber"
-          />
-          <el-table-column
-            label="涓嶅惈绋庢�讳环(鍏�)"
-            prop="taxExclusiveTotalPrice"
-            :formatter="formattedNumber"
-          />
-          <el-table-column
-            fixed="right"
-            label="鎿嶄綔"
-            min-width="60"
-            align="center"
-          >
+          <el-table-column label="鍚◣鍗曚环(鍏�)" prop="taxInclusiveUnitPrice" :formatter="formattedNumber" />
+          <el-table-column label="鍚◣鎬讳环(鍏�)" prop="taxInclusiveTotalPrice" :formatter="formattedNumber" />
+          <el-table-column label="涓嶅惈绋庢�讳环(鍏�)" prop="taxExclusiveTotalPrice" :formatter="formattedNumber" />
+          <el-table-column fixed="right" label="鎿嶄綔" min-width="60" align="center">
             <template #default="scope">
-              <el-button
-                link
-                type="primary"
-                size="small"
-                @click="openProductForm('edit', scope.row)"
-                >缂栬緫</el-button
-              >
+              <el-button link type="primary" size="small" @click="openProductForm('edit', scope.row)">缂栬緫</el-button>
             </template>
           </el-table-column>
         </el-table>
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="澶囨敞路锛�" prop="remark">
-              <el-input
-                v-model="form.remark"
-                placeholder="璇疯緭鍏�"
-                clearable
-                type="textarea"
-                :rows="2"
-              />
+              <el-input v-model="form.remark" placeholder="璇疯緭鍏�" clearable type="textarea" :rows="2" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="闄勪欢鏉愭枡锛�" prop="remark">
-              <el-upload
-                v-model:file-list="fileList"
-                :action="upload.url"
-                multiple
-                ref="fileUpload"
-                auto-upload
-                :headers="upload.headers"
-                :before-upload="handleBeforeUpload"
-                :on-error="handleUploadError"
-                :on-success="handleUploadSuccess"
-                :on-remove="handleRemove"
-              >
+              <el-upload v-model:file-list="fileList" :action="upload.url" multiple ref="fileUpload" auto-upload
+                :headers="upload.headers" :before-upload="handleBeforeUpload" :on-error="handleUploadError"
+                :on-success="handleUploadSuccess" :on-remove="handleRemove">
                 <el-button type="primary">涓婁紶</el-button>
                 <template #tip>
                   <div class="el-upload__tip">
@@ -448,53 +206,25 @@
         </div>
       </template>
     </el-dialog>
-    <el-dialog
-      v-model="productFormVisible"
-      :title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'"
-      width="40%"
-      @close="closeProductDia"
-    >
-      <el-form
-        :model="productForm"
-        label-width="140px"
-        label-position="top"
-        :rules="productRules"
-        ref="productFormRef"
-      >
+    <el-dialog v-model="productFormVisible" :title="productOperationType === 'add' ? '鏂板浜у搧' : '缂栬緫浜у搧'" width="40%"
+      @close="closeProductDia">
+      <el-form :model="productForm" label-width="140px" label-position="top" :rules="productRules" ref="productFormRef">
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
               <!-- <el-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable>
                 <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
               </el-select> -->
-              <el-tree-select
-                v-model="productForm.productCategory"
-                placeholder="璇烽�夋嫨"
-                clearable
-                check-strictly
-                @change="getModels"
-                :data="productOptions"
-                :render-after-expand="false"
-                style="width: 100%"
-              />
+              <el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable check-strictly
+                @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="24">
             <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productModelId">
-              <el-select
-                v-model="productForm.productModelId"
-                placeholder="璇烽�夋嫨"
-                clearable
-                @change="getProductModel"
-              >
-                <el-option
-                  v-for="item in modelOptions"
-                  :key="item.id"
-                  :label="item.model"
-                  :value="item.id"
-                />
+              <el-select v-model="productForm.productModelId" placeholder="璇烽�夋嫨" clearable @change="getProductModel">
+                <el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
               </el-select>
             </el-form-item>
           </el-col>
@@ -502,46 +232,25 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍗曚綅锛�" prop="unit">
-              <el-input
-                v-model="productForm.unit"
-                placeholder="璇疯緭鍏�"
-                clearable
-              />
+              <el-input v-model="productForm.unit" placeholder="璇疯緭鍏�" clearable />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="鏁伴噺锛�" prop="quantity">
-              <el-input
-                type="number"
-                :step="0.1"
-                :min="0"
-                v-model="productForm.quantity"
-                placeholder="璇疯緭鍏�"
-                clearable
-                @change="mathNum"
-              />
+              <el-input type="number" :step="0.1" :min="0" v-model="productForm.quantity" placeholder="璇疯緭鍏�" clearable
+                @change="mathNum" />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍚◣鍗曚环(鍏�)锛�" prop="taxInclusiveUnitPrice">
-              <el-input
-                v-model="productForm.taxInclusiveUnitPrice"
-                placeholder="璇疯緭鍏�"
-                clearable
-                @change="mathNum"
-              />
+              <el-input v-model="productForm.taxInclusiveUnitPrice" placeholder="璇疯緭鍏�" clearable @change="mathNum" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="绋庣巼(%)锛�" prop="taxRate">
-              <el-select
-                v-model="productForm.taxRate"
-                placeholder="璇烽�夋嫨"
-                clearable
-                @change="mathNum"
-              >
+              <el-select v-model="productForm.taxRate" placeholder="璇烽�夋嫨" clearable @change="mathNum">
                 <el-option label="1" value="1" />
                 <el-option label="6" value="6" />
                 <el-option label="13" value="13" />
@@ -552,36 +261,19 @@
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍚◣鎬讳环(鍏�)锛�" prop="taxInclusiveTotalPrice">
-              <el-input
-                v-model="productForm.taxInclusiveTotalPrice"
-                placeholder="璇疯緭鍏�"
-                clearable
-                disabled
-              />
+              <el-input v-model="productForm.taxInclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable disabled />
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item
-              label="涓嶅惈绋庢�讳环(鍏�)锛�"
-              prop="taxExclusiveTotalPrice"
-            >
-              <el-input
-                v-model="productForm.taxExclusiveTotalPrice"
-                placeholder="璇疯緭鍏�"
-                clearable
-                disabled
-              />
+            <el-form-item label="涓嶅惈绋庢�讳环(鍏�)锛�" prop="taxExclusiveTotalPrice">
+              <el-input v-model="productForm.taxExclusiveTotalPrice" placeholder="璇疯緭鍏�" clearable disabled />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="30">
           <el-col :span="12">
             <el-form-item label="鍙戠エ绫诲瀷锛�" prop="invoiceType">
-              <el-select
-                v-model="productForm.invoiceType"
-                placeholder="璇烽�夋嫨"
-                clearable
-              >
+              <el-select v-model="productForm.invoiceType" placeholder="璇烽�夋嫨" clearable>
                 <el-option label="澧炴櫘绁�" value="澧炴櫘绁�" />
                 <el-option label="澧炰笓绁�" value="澧炰笓绁�" />
               </el-select>
@@ -1112,6 +804,14 @@
       );
   }
 };
+/**
+ * 涓嬭浇鏂囦欢
+ *
+ * @param row 涓嬭浇鏂囦欢鐨勭浉鍏充俊鎭璞�
+ */
+const downLoadFile = (row) => {
+  console.log('row', row)
+}
 getList();
 </script>
 
@@ -1119,9 +819,11 @@
 .ml-10 {
   margin-left: 10px;
 }
+
 .table_list {
   margin-top: unset;
 }
+
 .actions {
   display: flex;
   justify-content: space-between;

--
Gitblit v1.9.3