ly před 1 rokem
rodič
revize
6a9fd4d1ec

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 194 - 566
src/views/business/crm/order/form.vue


+ 17 - 8
src/views/business/deduction/index.vue

@@ -98,13 +98,13 @@
       </el-table-column>
       <el-table-column label="操作" fixed="right" width="220" align="center">
         <template #default="scope">
-          <template v-if="scope.row.deductible === 1">
-            <template v-if="(scope.row.status === 0 || scope.row.status === 4) &&
+          <div v-if="scope.row.deductible === 1">
+            <div v-if="(scope.row.status === 0 || scope.row.status === 4) &&
               checkConfirm(scope.row)
               ">
               <el-button v-hasPermi="['business:deduction:confirm']" link type="primary" size="small"
                 @click="showConfirm(scope.row)">确认扣款</el-button>
-            </template>
+            </div>
             <div v-if="scope.row.sourceName === '公积金'">
               <template v-if="scope.row.status === 1">
                 <el-button link v-hasPermi="['business:deduction:declare']" style="margin-right: 5px" type="primary"
@@ -120,14 +120,18 @@
               </template>
             </div>
             <div v-else>
-              <template v-if="scope.row.status === 1">
+              <div v-if="scope.row.status === 1">
                 <el-button link v-hasPermi="['business:deduction:deduction']" style="margin-right: 5px" type="primary"
                   size="small" @click="openUpload(scope.row)">扣款成功</el-button>
                 <el-button link v-hasPermi="['business:deduction:deduction']" style="margin-left: 5px; " type="primary"
                   size="small" @click="showFeedbackDialog(scope.row)">扣款失败</el-button>
-              </template>
+              </div>
+              <div v-if="scope.row.status === 2">
+                <el-button link  style="margin-left: 5px; " type="primary"
+                size="small" @click="returnInit(scope.row)" v-hasPermi="['business:deduction:return']">退回</el-button>
+              </div>
             </div>
-          </template>
+          </div>
         </template>
       </el-table-column>
     </el-table>
@@ -231,7 +235,7 @@
 import {
   listDeduction,
   exportDeposition,
-  saveDeduction,
+  saveDeduction
 } from "@/api/business/production/deduction";
 import MergeTaxViewDialog from "./MergeTaxViewDialog";
 import feedbackDialog from "./feedbackDialog";
@@ -336,7 +340,12 @@ function handleOneself() {
   }
   getList();
 }
-
+function returnInit(row){
+  row.status = 0;
+  saveDeduction(row).then(res=>{
+    getList();
+  })
+}
 function radioChangeHandler(arg) {
   const query = {
     pageNum: 1,

+ 5 - 3
src/views/business/entrust/statementAccount/form.vue

@@ -12,10 +12,12 @@
 
             <el-button v-if="editStatus" type="primary" size="small" icon="Finished" @click="submitForm">保存</el-button>
             <el-button v-else-if="form.entrustOrderStatus !== 2 && form.status !== 2" type="warning" size="small"
-              icon="Edit" @click="editStatus = true">修改</el-button>
-            <el-button v-if="form.id && editStatus" type="info" size="small" icon="Close"
+              icon="Edit" @click="editStatus = true"
+              v-hasPermi="['business:statement:update']"
+              >修改</el-button>
+            <el-button v-if="form.id && editStatus" type="info"   v-hasPermi="['business:statement:update']"  size="small" icon="Close"
               @click="editStatus = false">取消修改</el-button>
-            <el-button type="warning" size="small" icon="Download" @click="exportExcel">导出</el-button>
+            <el-button type="warning" size="small" icon="Download" @click="exportExcel" v-hasPermi="['business:statement:export']">导出</el-button>
             <el-button v-if="form.id" type="success" icon="refresh" size="small" @click="getForm">
               刷新</el-button>
 

+ 3 - 3
src/views/business/entrust/workOrder/currentMonth/index.vue

@@ -6,8 +6,8 @@
         v-hasPermi="['business:entrust:workOrder:current:edit']">设置委托</el-button>
       <el-button type="danger" size="small" icon="delete" :disabled="cancel" @click="delEntrustHandle"
         v-hasPermi="['business:entrust:workOrder:current:edit']">取消委托</el-button>
-      <el-button type="success" size="small" icon="Refresh" @click="transEntrustHandler"
-        v-hasPermi="['business:entrust:workOrder:current:trans']">委托流转</el-button>
+      <!-- <el-button type="success" size="small" icon="Refresh" @click="transEntrustHandler"
+        v-hasPermi="['business:entrust:workOrder:current:trans']">委托流转11</el-button> -->
       <el-dropdown trigger="click">
         <el-button type="primary" size="small">
           其它<el-icon class="el-icon--right"><arrow-down /></el-icon>
@@ -28,7 +28,7 @@
       <el-form-item label="当前月:">{{
         currentMonth == null
         ? "未设定本月"
-        : moment(currentMonth).format("YYYY年MM月")
+        : moment().format("YYYY年MM月")
         }}</el-form-item>
       <el-form-item label="客户名称:" prop="companyName">
         <el-input v-model="queryParams.companyName" style="width: 150px" placeholder="请输入客户名称" clearable

+ 3 - 3
src/views/business/entrust/workOrderForFactory/currentMonth/index.vue

@@ -2,8 +2,8 @@
   <div class="page-container list-container">
     <!-- 功能按钮区 -->
     <div class="list-btns-container">
-      <el-button type="success" size="small" icon="Refresh" @click="transEntrustHandler"
-        v-hasPermi="['business:entrust:workOrder:current:trans']">委托流转</el-button>
+      <!-- <el-button type="success" size="small" icon="Refresh" @click="transEntrustHandler"
+        v-hasPermi="['business:entrust:workOrder:current:trans']">委托流转</el-button> -->
       <el-dropdown trigger="click">
         <el-button type="primary" size="small">
           其它<el-icon class="el-icon--right"><arrow-down /></el-icon>
@@ -23,7 +23,7 @@
       <el-form-item label="当前月:">{{
         currentMonth == null
         ? "未设定本月"
-        : moment(currentMonth).format("YYYY年MM月")
+        : moment().format("YYYY年MM月")
         }}</el-form-item>
       <el-form-item label="客户名称:" prop="companyName">
         <el-input v-model="queryParams.companyName" placeholder="请输入客户名称" clearable @keyup.enter="handleQuery" />

+ 12 - 3
src/views/business/financial/collection/form.vue

@@ -213,12 +213,12 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="客户名称:" prop="companyName">
-                <span>{{ form.companyName }}</span>
+                <el-link type="primary" @click="handleInfo(form)" >{{ form.companyName }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="合同编号:" prop="remark">
-                <span>{{ form.contractNo }}</span>
+                <el-link type="primary" @click="handleContract(form)" >{{ form.contractNo }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -660,6 +660,8 @@
         </div>
       </template>
     </el-dialog>
+    <company-form ref="companyRef" :get-list="getList"></company-form>
+    <contract-form ref="contractRef" :get-list="getList" />
   </div>
 </template>
 <script setup>
@@ -686,6 +688,8 @@ import { listCompany } from "@/api/business/crm/company";
 import { listUser } from "@/api/system/user";
 import CustomerFormCom from "@/components/CustomerFormCom";
 import { formatDate } from "@/utils/index";
+import companyForm from "@/views/business/crm/company/form.vue";
+import contractForm from "@/views/business/crm/order/form.vue";
 import { ref } from "vue";
 
 import useUserStore from "@/store/modules/user";
@@ -786,7 +790,12 @@ function cancel() {
   visible.value = false;
   reset();
 }
-
+function handleInfo(row) {
+    proxy.$refs.companyRef.open(row.companyId);
+}
+function handleContract(){
+    proxy.$refs.contractRef.open(form.value.contractId);
+}
 // 数字格式化
 function rowNum(num) {
   if (!num) {

+ 13 - 3
src/views/business/financial/contract/form.vue

@@ -121,12 +121,12 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="客户名称:" prop="companyName">
-                <span>{{ form.companyName }}</span>
+                <el-link type="primary" @click="handleInfo(form)" >{{ form.companyName }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="合同编号:" prop="remark">
-                <span>{{ form.contractNo }}</span>
+                <el-link type="primary" @click="handleContract(form)" >{{ form.contractNo }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -296,6 +296,8 @@
         </div>
       </template>
     </el-dialog>
+    <company-form ref="companyRef" :get-list="getList"></company-form>
+    <contract-form ref="contractRef" :get-list="getList" />
   </div>
 </template>
 <script setup>
@@ -310,12 +312,15 @@
     saveCollection,
     setCollectionStatus,
   } from "@/api/business/financial/collection";
+
   import { listSource } from "@/api/settings/source";
   import { listCompany } from "@/api/business/crm/company";
   import { listUser } from "@/api/system/user";
   import CustomerFormCom from "@/components/CustomerFormCom";
   import { formatDate } from "@/utils/index";
   import { ref } from "vue";
+  import companyForm from "@/views/business/crm/company/form.vue";
+  import contractForm from "@/views/business/crm/order/form.vue";
   import match from "@/utils/match";
   import useUserStore from "@/store/modules/user";
   const { proxy } = getCurrentInstance();
@@ -504,7 +509,9 @@
       }
     });
   }
-
+  function handleInfo(row) {
+    proxy.$refs.companyRef.open(row.companyId);
+  }
   function detailValid() {
     // if (form.value.files.length === 0) {
     //   proxy.$modal.msgError("收款附件为空");
@@ -549,6 +556,9 @@
       proxy.$modal.msgError("请填写驳回原因");
       return;
     }
+  } 
+  function handleContract(){
+    proxy.$refs.contractRef.open(form.value.contractId);
   }
 
   function verifyUpload(status) {

+ 644 - 1006
src/views/business/financial/payment/form.vue

@@ -4,59 +4,25 @@
     <el-drawer :title="title" v-model="visible" direction="rtl" size="100%">
       <div class="page-container form-container">
         <div class="form-btns-container">
-          <span class="title-label"
-            ><el-icon>
+          <span class="title-label"><el-icon>
               <Document />
             </el-icon>
-            支出信息</span
-          >
-          <template
-            v-if="
+            支出信息</span>
+          <template v-if="
               checkPermission(['business:payment:edit', 'business:payment:add'])
-            "
-          >
-            <el-button
-              v-if="editStatus"
-              type="primary"
-              size="small"
-              icon="Finished"
-              @click="submitForm"
-              >保存</el-button
-            >
-            <el-button
-              v-else-if="form.verifyStatus === 0"
-              type="warning"
-              size="small"
-              icon="Edit"
-              @click="editStatus = true"
-              >修改</el-button
-            >
-            <el-button
-              v-if="form.id && editStatus"
-              size="small"
-              icon="Close"
-              @click="editStatus = false"
-              >取消修改</el-button
-            >
+            ">
+            <el-button v-if="editStatus" type="primary" size="small" icon="Finished" @click="submitForm">保存</el-button>
+            <el-button v-else-if="form.verifyStatus === 0" type="warning" size="small" icon="Edit"
+              @click="editStatus = true">修改</el-button>
+            <el-button v-if="form.id && editStatus" size="small" icon="Close"
+              @click="editStatus = false">取消修改</el-button>
           </template>
-          <el-button
-            v-show="form.id && !editStatus && form.verifyStatus === 0"
-            v-hasPermi="['business:payment:financialVerify']"
-            type="primary"
-            size="small"
-            icon="Check"
-            @click="verifyHandler"
-            >财务审核</el-button
-          >
-          <el-button
-            v-show="form.id && !editStatus && form.verifyStatus === 1"
-            v-hasPermi="['business:payment:cashierVerify']"
-            type="primary"
-            size="small"
-            icon="Check"
-            @click="cashierVerifyHandler"
-            >出纳审核</el-button
-          >
+          <el-button v-show="form.id && !editStatus && form.verifyStatus === 0"
+            v-hasPermi="['business:payment:financialVerify']" type="primary" size="small" icon="Check"
+            @click="verifyHandler">财务审核</el-button>
+          <el-button v-show="form.id && !editStatus && form.verifyStatus === 1"
+            v-hasPermi="['business:payment:cashierVerify']" type="primary" size="small" icon="Check"
+            @click="cashierVerifyHandler">出纳审核</el-button>
           <div class="screen-btn" @click="handleScreen">
             <template v-if="!isFullscreen">
               <i class="fa fa-window-maximize" aria-hidden="true" />
@@ -72,166 +38,85 @@
             <!-- <span>关闭</span> -->
           </div>
         </div>
-        <div
-          class="Y-scrollbar"
-          style="
+        <div class="Y-scrollbar" style="
             position: absolute;
             top: 32px;
             bottom: 0;
             width: 100%;
             overflow: auto;
-          "
-        ></div>
-        <el-form
-          ref="orderRef"
-          class="master-container"
-          size="small"
-          :model="form"
-          :rules="rules"
-          label-width="100px"
-        >
+          "></div>
+        <el-form ref="orderRef" class="master-container" size="small" :model="form" :rules="rules" label-width="100px">
           <el-row :gutter="30">
             <el-col :span="6">
               <el-form-item label="支出流水号:">
-                <el-input
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.flowNo"
-                  readonly
-                  size="small"
-                  type="text"
-                  placeholder="支出流水号"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" style="width: 100%" v-model.trim="form.flowNo" readonly size="small"
+                  type="text" placeholder="支出流水号" :clearable="true" />
                 <span v-else>{{ form.flowNo }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="申请日期" prop="formDate" required>
-                <el-date-picker
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model="form.formDate"
-                  size="small"
-                  :clearable="true"
-                  format="YYYY-MM-DD"
-                  value-format="YYYY-MM-DD"
-                  align="center"
-                  type="date"
-                  placeholder="申请日期"
-                />
+                <el-date-picker v-if="editStatus" style="width: 100%" v-model="form.formDate" size="small"
+                  :clearable="true" format="YYYY-MM-DD" value-format="YYYY-MM-DD" align="center" type="date"
+                  placeholder="申请日期" />
                 <span v-else>{{ form.formDate }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="支出类目:">
-                <el-select
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.paymentCauseId"
-                  placeholder="支出类目"
-                  size="small"
-                  :clearable="true"
-                  @change="paymentCauseChange"
-                >
-                  <el-option
-                    v-for="item in paymentTypes"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                  />
+                <el-select v-if="editStatus" style="width: 100%" v-model.trim="form.paymentCauseId" placeholder="支出类目"
+                  size="small" :clearable="true" @change="paymentCauseChange">
+                  <el-option v-for="item in paymentTypes" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
                 <span v-else>{{ form.paymentCause }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="支出科目:">
-                <el-select
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.paymentSubjectId"
-                  placeholder="支出科目"
-                  size="small"
-                  :clearable="true"
-                  @change="paymentSubjectChange"
-                >
-                  <el-option
-                    v-for="item in paymentSubjects"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                  />
+                <el-select v-if="editStatus" style="width: 100%" v-model.trim="form.paymentSubjectId" placeholder="支出科目"
+                  size="small" :clearable="true" @change="paymentSubjectChange">
+                  <el-option v-for="item in paymentSubjects" :key="item.id" :label="item.name" :value="item.id" />
                 </el-select>
                 <span v-else>{{ form.paymentSubject }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款账户名:">
-                <el-input
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.acceptAccount"
-                  size="small"
-                  type="text"
-                  placeholder="收款账户名"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" style="width: 100%" v-model.trim="form.acceptAccount" size="small"
+                  type="text" placeholder="收款账户名" :clearable="true" />
                 <span v-else>{{ form.acceptAccount }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款账号:">
                 <template v-if="editStatus">
-                  <el-input
-                    v-model.trim="form.acceptAccountNo"
-                    size="small"
-                    type="text"
-                    style="width: 100%"
-                    placeholder="收款账号"
-                    :clearable="true"
-                  />
+                  <el-input v-model.trim="form.acceptAccountNo" size="small" type="text" style="width: 100%"
+                    placeholder="收款账号" :clearable="true" />
                 </template>
-                <span v-else
-                  >{{ form.acceptAccountType }} -
-                  {{ form.acceptAccountNo }}</span
-                >
+                <span v-else>{{ form.acceptAccountType }} -
+                  {{ form.acceptAccountNo }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款账户开户银行:" label-width="120px">
                 <template v-if="editStatus">
-                  <el-input
-                    v-model.trim="form.bankNo"
-                    size="small"
-                    type="text"
-                    style="width: 100%"
-                    placeholder="收款账户开户银行"
-                    :clearable="true"
-                  />
+                  <el-input v-model.trim="form.bankNo" size="small" type="text" style="width: 100%"
+                    placeholder="收款账户开户银行" :clearable="true" />
                 </template>
                 <span v-else>{{ form.bankNo }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="客户名称:" prop="companyName" required>
-                <el-autocomplete
-                  v-if="editStatus"
-                  style="width: 100%"
-                  :fetch-suggestions="querySearchCompanyAsync"
-                  :trigger-on-focus="true"
-                  v-model="form.companyName"
-                  placeholder="请输入客户名称"
-                  popper-class="my-autocomplete"
-                  @select="handleSelectCompany"
-                >
+                <el-autocomplete v-if="editStatus" style="width: 100%" :fetch-suggestions="querySearchCompanyAsync"
+                  :trigger-on-focus="true" v-model="form.companyName" placeholder="请输入客户名称"
+                  popper-class="my-autocomplete" @select="handleSelectCompany">
                   <template #default="{ item }">
-                    <div
-                      style="
+                    <div style="
                         display: flex;
                         flex-direction: row;
                         justify-content: space-between;
-                      "
-                    >
+                      ">
                       <div class="name" style="font-size: 12px">
                         {{ item.name }}
                       </div>
@@ -239,32 +124,21 @@
                     </div>
                   </template>
                 </el-autocomplete>
-                <span v-else>{{ form.companyName }}</span>
+                <span v-else> <el-link type="primary" @click="handleInfo(form)">{{ form.companyName }}</el-link></span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="合同编号:" required>
-                <el-input
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.contractNo"
-                  size="small"
-                  type="text"
-                  placeholder="请选择"
-                  :clearable="true"
-                >
+                <el-input v-if="editStatus" style="width: 100%" v-model.trim="form.contractNo" size="small" type="text"
+                  placeholder="请选择" :clearable="true">
                   <template #append>
-                    <el-button
-                      icon="Search"
-                      @click="() => contractChoiceHandler()"
-                    />
+                    <el-button icon="Search" @click="() => contractChoiceHandler()" />
                   </template>
                 </el-input>
                 <span v-else style="width: 100%">
-                  <el-tooltip :content="form.contractNo">
                     <!-- <el-button class="text-overflow" type="primary" link @click="(showContractDialog(currentContract.contractId))">{{ currentContract.formNo }}</el-button> -->
-                    {{ form.contractNo }}
-                  </el-tooltip>
+                    <!-- {{ form.contractNo }} -->
+                    <el-link type="primary" @click="handleContract(form)" >{{ form.contractNo }}</el-link>
                 </span>
               </el-form-item>
             </el-col>
@@ -280,44 +154,25 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="支出金额:" required>
-                <el-input-number
-                  v-if="editStatus"
-                  v-model.trim="form.amount"
-                  size="small"
-                  readonly
-                  placeholder="支出金额"
-                  :clearable="true"
-                  :precision="2"
-                  controls-position="right"
-                  :controls="false"
-                  @change="amountChange"
-                />
+                <el-input-number v-if="editStatus" v-model.trim="form.amount" size="small" readonly placeholder="支出金额"
+                  :clearable="true" :precision="2" controls-position="right" :controls="false" @change="amountChange" />
                 <span v-else>{{ rowNum(form.amount) }}</span>
               </el-form-item>
             </el-col>
-            <el-col
-              v-if="form.verifyStatus === 2 || form.verifyStatus === 4"
-              :span="6"
-            >
+            <el-col v-if="form.verifyStatus === 2 || form.verifyStatus === 4" :span="6">
               <el-form-item label="驳回原因:" required>
                 <span>{{ form.verifyComment }}</span>
               </el-form-item>
             </el-col>
-                    
-        
+
+
             <el-col :span="12">
               <el-form-item label="备注:">
-                <el-input
-                  v-if="editStatus"
-                  v-model.trim="form.remark"
-                  size="small"
-                  type="text"
-                  placeholder="备注"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" v-model.trim="form.remark" size="small" type="text" placeholder="备注"
+                  :clearable="true" />
                 <span v-else style="word-break: break-all">{{
                   form.remark
-                }}</span>
+                  }}</span>
               </el-form-item>
             </el-col>
           </el-row>
@@ -331,92 +186,43 @@
                 </div>
               </div>
               <div class="details-body">
-                <el-table
-                  ref="filesTable"
-                  :data="form.details"
-                  size="small"
-                  height="100%"
-                  border
-                  header-row-class-name="list-header-row"
-                  highlight-current-row
-                >
-                  <el-table-column
-                    type="index"
-                    label="序号"
-                    width="47"
-                    align="center"
-                  />
-                  <el-table-column
-                    label="任务名称"
-                    prop="taskTypeName"
-                    align="center"
-                    show-overflow-tooltip
-                  >
+                <el-table ref="filesTable" :data="form.details" size="small" height="100%" border
+                  header-row-class-name="list-header-row" highlight-current-row>
+                  <el-table-column type="index" label="序号" width="47" align="center" />
+                  <el-table-column label="任务名称" prop="taskTypeName" align="center" show-overflow-tooltip>
                   </el-table-column>
-                  <el-table-column
-                  label="说明"
-                  prop="explain"
-                  align="center"
-                  show-overflow-tooltip
-                >
-                </el-table-column>
-             
-                  <el-table-column
-                    label="任务金额"
-                    prop="amount"
-                    width="100"
-                    align="center"
-                  >
+                  <el-table-column label="说明" prop="explain" align="center" show-overflow-tooltip>
+                  </el-table-column>
+
+                  <el-table-column label="任务金额" prop="amount" width="100" align="center">
                     <template #default="scope">
                       <span>{{ rowNum(scope.row.amount) }}</span>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                  label="已收款金额"
-                  prop="reallyAmount"
-                  width="100"
-                  align="center"
-                >
-                  <template #default="scope">
-                    <span>{{ rowNum(scope.row.reallyAmount) }}</span>
-                  </template>
-                </el-table-column>
-                  <el-table-column
-                    label="本次支出金额"
-                    prop="paymentAmount"
-                    width="100"
-                    align="center"
-                  >
+                  <el-table-column label="已收款金额" prop="reallyAmount" width="100" align="center">
+                    <template #default="scope">
+                      <span>{{ rowNum(scope.row.reallyAmount) }}</span>
+                    </template>
+                  </el-table-column>
+                  <el-table-column label="本次支出金额" prop="paymentAmount" width="100" align="center">
                     <template #default="scope">
                       <template v-if="editStatus">
-                        <el-input-number
-                          v-model="scope.row.paymentAmount"
-                          size="small"
-                          placeholder="本次支出金额"
-                          :precision="2"
-                          :controls="false"
-                          style="width: 100%"
-                          @change="
+                        <el-input-number v-model="scope.row.paymentAmount" size="small" placeholder="本次支出金额"
+                          :precision="2" :controls="false" style="width: 100%" @change="
                             (arg) =>
                               amountChangeHandler(
                                 arg,
                                 scope.row,
                                 'paymentAmount'
                               )
-                          "
-                        />
+                          " />
                       </template>
                       <template v-else>{{
                         rowNum(scope.row.paymentAmount)
-                      }}</template>
+                        }}</template>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                    label="已支付金额"
-                    prop="payment"
-                    width="100"
-                    align="center"
-                  >
+                  <el-table-column label="已支付金额" prop="payment" width="100" align="center">
                     <template #default="scope">
                       <span>{{ rowNum(scope.row.payment) }}</span>
                     </template>
@@ -430,61 +236,26 @@
                   <i class="fa fa-th-list" aria-hidden="true" /> 附件
                   <i style="color: red">*</i>
                 </div>
-                <el-upload
-                  v-if="editStatus"
-                  action="#"
-                  :http-request="upload"
-                  :with-credentials="true"
-                  :show-file-list="false"
-                  multiple
-                >
-                  <el-button size="small" type="primary" icon="Upload"
-                    >点击上传</el-button
-                  >
+                <el-upload v-if="editStatus" action="#" :http-request="upload" :with-credentials="true"
+                  :show-file-list="false" multiple>
+                  <el-button size="small" type="primary" icon="Upload">点击上传</el-button>
                 </el-upload>
               </div>
               <div class="details-body">
-                <el-table
-                  ref="filesTable"
-                  :data="form.files"
-                  size="small"
-                  height="100%"
-                  border
-                  header-row-class-name="list-header-row"
-                  highlight-current-row
-                >
-                  <el-table-column
-                    type="index"
-                    label="序号"
-                    width="47"
-                    align="center"
-                  />
-                  <el-table-column
-                    label="文件名"
-                    prop="originalFileName"
-                    align="center"
-                    show-overflow-tooltip
-                  >
+                <el-table ref="filesTable" :data="form.files" size="small" height="100%" border
+                  header-row-class-name="list-header-row" highlight-current-row>
+                  <el-table-column type="index" label="序号" width="47" align="center" />
+                  <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
                     <template #default="scope">
-                      <el-button
-                        size="small"
-                        type="primary"
-                        link
-                        @click="openFile(scope.row)"
-                        >{{ scope.row.originalFileName }}</el-button
-                      >
+                      <el-button size="small" type="primary" link @click="openFile(scope.row)">{{
+                        scope.row.originalFileName }}</el-button>
                     </template>
                   </el-table-column>
                   <el-table-column label="操作" width="50" align="center">
                     <template #default="scope">
                       <div v-if="editStatus">
-                        <el-button
-                          size="small"
-                          link
-                          type="danger"
-                          @click="handlerDelAttach(scope.row, scope.$index)"
-                          >删除</el-button
-                        >
+                        <el-button size="small" link type="danger"
+                          @click="handlerDelAttach(scope.row, scope.$index)">删除</el-button>
                       </div>
                     </template>
                   </el-table-column>
@@ -495,99 +266,40 @@
         </div>
       </div>
     </el-drawer>
-    <el-dialog
-      title="财务审核详情"
-      v-model="rejectOpen"
-      width="500px"
-      append-to-body
-      draggable
-      :close-on-click-modal = "false"
-    >
+    <el-dialog title="财务审核详情" v-model="rejectOpen" width="500px" append-to-body draggable :close-on-click-modal="false">
       <el-form ref="dictRef" :model="rejectForm" label-width="100" size="small">
         <el-form-item label="审核状态">
-          <el-select
-            v-model.trim="rejectForm.verifyStatus"
-            placeholder="请选择"
-            size="small"
-          >
-            <el-option
-              v-for="i in verified"
-              :key="i.value"
-              :label="i.label"
-              :value="i.value"
-            />
+          <el-select v-model.trim="rejectForm.verifyStatus" placeholder="请选择" size="small">
+            <el-option v-for="i in verified" :key="i.value" :label="i.label" :value="i.value" />
           </el-select>
         </el-form-item>
 
-        <el-form-item
-          :label="rejectForm.verifyStatus == 2 ? '驳回原因' : '审核意见'"
-          :prop="verifyRemark"
-        >
-          <el-input
-            v-model.trim="rejectForm.verifyComment"
-            type="textarea"
-            maxlength="200"
-            show-word-limit
-            :rows="3"
-            placeholder="请输入审核意见"
-          />
+        <el-form-item :label="rejectForm.verifyStatus == 2 ? '驳回原因' : '审核意见'" :prop="verifyRemark">
+          <el-input v-model.trim="rejectForm.verifyComment" type="textarea" maxlength="200" show-word-limit :rows="3"
+            placeholder="请输入审核意见" />
         </el-form-item>
 
-        <el-form-item label="附件" >
-          <el-upload
-            action="#"
-            :http-request="upload2"
-            :with-credentials="true"
-            :show-file-list="false"
-            multiple
-            :limit="5"
-          >
-            <el-button size="small" type="primary" icon="Upload"
-              >点击上传</el-button
-            >
+        <el-form-item label="附件">
+          <el-upload action="#" :http-request="upload2" :with-credentials="true" :show-file-list="false" multiple
+            :limit="5">
+            <el-button size="small" type="primary" icon="Upload">点击上传</el-button>
           </el-upload>
-          <el-table
-            ref="dbTable"
-            :data="rejectForm.evidenceFiles"
-            size="small"
-            border
-            header-row-class-name="list-header-row"
-            row-class-name="list-row"
-          >
-            <el-table-column
-              label="文件名"
-              prop="originalFileName"
-              align="center"
-              show-overflow-tooltip
-            >
+          <el-table ref="dbTable" :data="rejectForm.evidenceFiles" size="small" border
+            header-row-class-name="list-header-row" row-class-name="list-row">
+            <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
               <template #default="scope">
-                <el-button
-                  size="small"
-                  type="text"
-                  @click="openFile(scope.row)"
-                  >{{
-                    scope.row.originalFileName == ""
-                      ? "打开文件"
-                      : scope.row.originalFileName
-                  }}</el-button
-                >
+                <el-button size="small" type="text" @click="openFile(scope.row)">{{
+                  scope.row.originalFileName == ""
+                  ? "打开文件"
+                  : scope.row.originalFileName
+                  }}</el-button>
               </template>
             </el-table-column>
 
-            <el-table-column
-              label="操作"
-              width="80"
-              prop="fileType"
-              align="center"
-            >
+            <el-table-column label="操作" width="80" prop="fileType" align="center">
               <template #default="scope">
-                <el-button
-                  size="small"
-                  link
-                  type="danger"
-                  @click="handlerEportFilesDel(scope.row, scope.$index)"
-                  >删除</el-button
-                >
+                <el-button size="small" link type="danger"
+                  @click="handlerEportFilesDel(scope.row, scope.$index)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -595,124 +307,51 @@
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button
-            type="primary"
-            icon="Finished"
-            size="small"
-            @click="verifyUpload()"
-            >确 定</el-button
-          >
-          <el-button icon="close" size="small" @click="rejectCancel"
-            >取 消</el-button
-          >
+          <el-button type="primary" icon="Finished" size="small" @click="verifyUpload()">确 定</el-button>
+          <el-button icon="close" size="small" @click="rejectCancel">取 消</el-button>
         </div>
       </template>
     </el-dialog>
-    <el-dialog
-      title="出纳审核详情"
-      v-model="cashierOpen"
-      width="500px"
-      append-to-body
-      draggable
-    >
+    <el-dialog title="出纳审核详情" v-model="cashierOpen" width="500px" append-to-body draggable>
       <el-form ref="dictRef" :model="form" label-width="100" size="small">
         <el-form-item label="审核状态">
-          <el-select
-            v-model.trim="cashierForm.verifyStatus"
-            placeholder="请选择"
-            size="small"
-          >
-            <el-option
-              v-for="i in cashierVerified"
-              :key="i.value"
-              :label="i.label"
-              :value="i.value"
-            />
+          <el-select v-model.trim="cashierForm.verifyStatus" placeholder="请选择" size="small">
+            <el-option v-for="i in cashierVerified" :key="i.value" :label="i.label" :value="i.value" />
           </el-select>
         </el-form-item>
         <el-form-item label="实际支出时间" required>
-          <el-date-picker
-            v-model.trim="cashierForm.actuallyDate"
-            size="small"
-            :clearable="true"
-            format="YYYY-MM-DD HH:mm:ss"
-            value-format="YYYY-MM-DD HH:mm:ss"
-            align="center"
-            type="datetime"
-            placeholder="实际付款时间"
-          />
+          <el-date-picker v-model.trim="cashierForm.actuallyDate" size="small" :clearable="true"
+            format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss" align="center" type="datetime"
+            placeholder="实际付款时间" />
         </el-form-item>
 
         <!-- <el-form-item label="支出附件上传" required>
         </el-form-item> -->
-        <el-form-item
-          :label="cashierForm.verifyStatus == 4 ? '驳回原因' : '审核意见'"
-          :prop="verifyComment"
-        >
-          <el-input
-            v-model.trim="cashierForm.verifyComment"
-            type="textarea"
-            maxlength="200"
-            show-word-limit
-            :rows="3"
-            placeholder="请输入审核意见"
-          />
+        <el-form-item :label="cashierForm.verifyStatus == 4 ? '驳回原因' : '审核意见'" :prop="verifyComment">
+          <el-input v-model.trim="cashierForm.verifyComment" type="textarea" maxlength="200" show-word-limit :rows="3"
+            placeholder="请输入审核意见" />
         </el-form-item>
-        <el-form-item label="附件" >
-          <el-upload
-            action="#"
-            :http-request="upload3"
-            :with-credentials="true"
-            :show-file-list="false"
-            multiple
-            :limit="5"
-          >
-            <el-button size="small" type="primary" icon="Upload"
-              >点击上传</el-button
-            >
+        <el-form-item label="附件">
+          <el-upload action="#" :http-request="upload3" :with-credentials="true" :show-file-list="false" multiple
+            :limit="5">
+            <el-button size="small" type="primary" icon="Upload">点击上传</el-button>
           </el-upload>
-          <el-table
-            ref="dbTable"
-            :data="cashierForm.evidenceFiles"
-            size="small"
-            border
-            header-row-class-name="list-header-row"
-            row-class-name="list-row"
-          >
-            <el-table-column
-              label="文件名"
-              prop="originalFileName"
-              align="center"
-              show-overflow-tooltip
-            >
+          <el-table ref="dbTable" :data="cashierForm.evidenceFiles" size="small" border
+            header-row-class-name="list-header-row" row-class-name="list-row">
+            <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
               <template #default="scope">
-                <el-button
-                  size="small"
-                  type="text"
-                  @click="openFile(scope.row)"
-                  >{{
-                    scope.row.originalFileName == ""
-                      ? "打开文件"
-                      : scope.row.originalFileName
-                  }}</el-button
-                >
+                <el-button size="small" type="text" @click="openFile(scope.row)">{{
+                  scope.row.originalFileName == ""
+                  ? "打开文件"
+                  : scope.row.originalFileName
+                  }}</el-button>
               </template>
             </el-table-column>
 
-            <el-table-column
-              label="操作"
-              width="80"
-              prop="fileType"
-              align="center"
-            >
+            <el-table-column label="操作" width="80" prop="fileType" align="center">
               <template #default="scope">
-                <el-button
-                  size="small"
-                  link
-                  type="danger"
-                  @click="handlerEportFilesDel(scope.row, scope.$index)"
-                  >删除</el-button
-                >
+                <el-button size="small" link type="danger"
+                  @click="handlerEportFilesDel(scope.row, scope.$index)">删除</el-button>
               </template>
             </el-table-column>
           </el-table>
@@ -720,576 +359,575 @@
       </el-form>
       <template #footer>
         <div class="dialog-footer">
-          <el-button
-            type="primary"
-            icon="Finished"
-            size="small"
-            @click="cashierVerifyUpload()"
-            >确 定</el-button
-          >
-          <el-button icon="close" size="small" @click="cashierVerifyCancel"
-            >取 消</el-button
-          >
+          <el-button type="primary" icon="Finished" size="small" @click="cashierVerifyUpload()">确 定</el-button>
+          <el-button icon="close" size="small" @click="cashierVerifyCancel">取 消</el-button>
         </div>
       </template>
     </el-dialog>
-    <dialog-contract-choice
-      ref="contractChoiceRef"
-      @choice="contractChoiceHandle"
-    />
+    <dialog-contract-choice ref="contractChoiceRef" @choice="contractChoiceHandle" />
+    <company-form ref="companyRef" :get-list="getList"></company-form>
+    <contract-form ref="contractRef" :get-list="getList" />
   </div>
 </template>
 <script setup>
-import { uploadFile } from "@/api/tool/file";
-// import {
-//   getOrder,
-//   initTaskTypes,
-//   addOrder,
-//   updateOrder,
-//   verifyOrder,
-//   alterOrder,
-//   dissolutionOrder,
-// } from "@/api/business/crm/contract";
-import {
-  listCompany,
-  getPayment,
-  savePayment,
-  listTypes,
-  listContractDetail,
-  verifyPayment,
-} from "@/api/business/financial/payment";
-import { listSource } from "@/api/settings/source";
-import { listUser } from "@/api/system/user";
-import CustomerFormCom from "@/components/CustomerFormCom";
-import DialogContractChoice from "@/views/dialog/DialogContractChoice.vue";
-import { formatDate, rowNum } from "@/utils/index";
-import { ref } from "vue";
-import useUserStore from "@/store/modules/user";
-const { proxy } = getCurrentInstance();
-const baseUrl = import.meta.env.VITE_APP_BASE_API;
-
-/** 父组件传参 */
-const props = defineProps({
-  getList: {
-    type: Function,
-    default: () => {},
-  },
-});
-const { getList } = toRefs(props);
-/** 字典数组区 */
-const { virtual_address } = proxy.useDict("virtual_address");
-/** 表单抽屉 页变量 */
-const title = ref("");
-const loading = ref(false);
-const multiple = ref(true);
-const visible = ref(false);
-const editStatus = ref(false);
-const sourceCategories = ref([]);
-const type = ref("");
-
-const rejectOpen = ref(false);
-const rejectForm = ref({});
-
-const cashierForm = ref({});
-
-const detailEmpty = {
-  id: null,
-  taskTypeName: "",
-  taskTypeId: null,
-  serviceNum: undefined,
-  freeNum: undefined,
-  price: undefined,
-  amount: undefined,
-  addressStyle: undefined,
-  address: undefined,
-  fictionAddressId: undefined,
-  tenantId: undefined,
-  explain:undefined,
-  province: "",
-  city: "",
-  district: "",
-  addressStyle: 1,
-  provinceId: undefined,
-  processes: [],
-  defaultProcesses: [],
-};
-const provinces = ref(proxy.region.getProvinces());
-provinces.value.unshift({ code: "", name: "全部" });
-const cities = ref([]);
-const districts = ref([]);
-const paymentTypes = ref([]);
-const paymentSubjects = ref([]);
-
-const paymentEmpty = {
-  id: null,
-  flowNo: "",
-  paymentCauseId: null,
-  paymentSubjectId: null,
-  acceptAccountTypeId: null,
-  subsidiaryId: null,
-  subsidiary: null,
-  subsidiaryName: "",
-  subsidiaryBankAccount: "",
-  subsidiaryBankName: "",
-  explain:undefined,
-  companyId: null,
-  companyName: "",
-  amount: 0,
-  verifyStatus: 0,
-  acceptAccount: "",
-  accountBank: "",
-  applierId: useUserStore().user.userId,
-  applierName: "",
-  creatorName: useUserStore().user.nickName,
-  details: [],
-  files: [],
-};
-const isFullscreen = ref(false);
-const webHost = import.meta.env.VITE_APP_BASE_API;
-const data = reactive({
-  form: {},
-  rules: {
-    companyName: [
-      { required: true, message: "客户名称不能为空", trigger: "blur" },
-    ],
-    formDate: [
-      { required: true, message: "支出日期不能为空", trigger: "blur" },
-    ],
-  },
-  timeOptions: { start: "08:30", step: "00:15", end: "18:30" },
-  verified: [
-    {
-      value: 0,
-      label: "未审核",
+  import { uploadFile } from "@/api/tool/file";
+  // import {
+  //   getOrder,
+  //   initTaskTypes,
+  //   addOrder,
+  //   updateOrder,
+  //   verifyOrder,
+  //   alterOrder,
+  //   dissolutionOrder,
+  // } from "@/api/business/crm/contract";
+  import {
+    listCompany,
+    getPayment,
+    savePayment,
+    listTypes,
+    listContractDetail,
+    verifyPayment,
+  } from "@/api/business/financial/payment";
+  import { listSource } from "@/api/settings/source";
+  import { listUser } from "@/api/system/user";
+  import CustomerFormCom from "@/components/CustomerFormCom";
+  import DialogContractChoice from "@/views/dialog/DialogContractChoice.vue";
+  import { formatDate, rowNum } from "@/utils/index";
+  import { ref } from "vue";
+  import companyForm from "@/views/business/crm/company/form.vue";
+  import contractForm from "@/views/business/crm/order/form.vue";
+  import useUserStore from "@/store/modules/user";
+  const { proxy } = getCurrentInstance();
+  const baseUrl = import.meta.env.VITE_APP_BASE_API;
+
+  /** 父组件传参 */
+  const props = defineProps({
+    getList: {
+      type: Function,
+      default: () => { },
     },
-    {
-      value: 1,
-      label: "通过",
-    },
-    {
-      value: 2,
-      label: "驳回",
-    },
-  ],
-  cashierVerified: [
-    {
-      value: 1,
-      label: "未审核",
-    },
-    {
-      value: 3,
-      label: "通过",
-    },
-    {
-      value: 4,
-      label: "驳回",
+  });
+  const { getList } = toRefs(props);
+  /** 字典数组区 */
+  const { virtual_address } = proxy.useDict("virtual_address");
+  /** 表单抽屉 页变量 */
+  const title = ref("");
+  const loading = ref(false);
+  const multiple = ref(true);
+  const visible = ref(false);
+  const editStatus = ref(false);
+  const sourceCategories = ref([]);
+  const type = ref("");
+
+  const rejectOpen = ref(false);
+  const rejectForm = ref({});
+
+  const cashierForm = ref({});
+
+  const detailEmpty = {
+    id: null,
+    taskTypeName: "",
+    taskTypeId: null,
+    serviceNum: undefined,
+    freeNum: undefined,
+    price: undefined,
+    amount: undefined,
+    addressStyle: undefined,
+    address: undefined,
+    fictionAddressId: undefined,
+    tenantId: undefined,
+    explain: undefined,
+    province: "",
+    city: "",
+    district: "",
+    addressStyle: 1,
+    provinceId: undefined,
+    processes: [],
+    defaultProcesses: [],
+  };
+  const provinces = ref(proxy.region.getProvinces());
+  provinces.value.unshift({ code: "", name: "全部" });
+  const cities = ref([]);
+  const districts = ref([]);
+  const paymentTypes = ref([]);
+  const paymentSubjects = ref([]);
+
+  const paymentEmpty = {
+    id: null,
+    flowNo: "",
+    paymentCauseId: null,
+    paymentSubjectId: null,
+    acceptAccountTypeId: null,
+    subsidiaryId: null,
+    subsidiary: null,
+    subsidiaryName: "",
+    subsidiaryBankAccount: "",
+    subsidiaryBankName: "",
+    explain: undefined,
+    companyId: null,
+    companyName: "",
+    amount: 0,
+    verifyStatus: 0,
+    acceptAccount: "",
+    accountBank: "",
+    applierId: useUserStore().user.userId,
+    applierName: "",
+    creatorName: useUserStore().user.nickName,
+    details: [],
+    files: [],
+  };
+  const isFullscreen = ref(false);
+  const webHost = import.meta.env.VITE_APP_BASE_API;
+  const data = reactive({
+    form: {},
+    rules: {
+      companyName: [
+        { required: true, message: "客户名称不能为空", trigger: "blur" },
+      ],
+      formDate: [
+        { required: true, message: "支出日期不能为空", trigger: "blur" },
+      ],
     },
-  ],
-  cashierOpen: false,
-});
-const { form, rules, timeOptions, verified, cashierVerified, cashierOpen } =
-  toRefs(data);
-/***********************  方法区  ****************************/
-/** 打开抽屉 */
-function open(id) {
-  reset();
-  visible.value = true;
-  editStatus.value = true;
-  if (id != null) {
-    getPayment(id).then((res) => {
-      form.value = res.data;
-      editStatus.value = false;
-      paymentCauseChange(form.value.paymentCauseId);
-      paymentSubjectChange(form.value.paymentSubjectId);
+    timeOptions: { start: "08:30", step: "00:15", end: "18:30" },
+    verified: [
+      {
+        value: 0,
+        label: "未审核",
+      },
+      {
+        value: 1,
+        label: "通过",
+      },
+      {
+        value: 2,
+        label: "驳回",
+      },
+    ],
+    cashierVerified: [
+      {
+        value: 1,
+        label: "未审核",
+      },
+      {
+        value: 3,
+        label: "通过",
+      },
+      {
+        value: 4,
+        label: "驳回",
+      },
+    ],
+    cashierOpen: false,
+  });
+  const { form, rules, timeOptions, verified, cashierVerified, cashierOpen } =
+    toRefs(data);
+  /***********************  方法区  ****************************/
+  /** 打开抽屉 */
+  function open(id) {
+    reset();
+    visible.value = true;
+    editStatus.value = true;
+    if (id != null) {
+      getPayment(id).then((res) => {
+        form.value = res.data;
+        editStatus.value = false;
+        paymentCauseChange(form.value.paymentCauseId);
+        paymentSubjectChange(form.value.paymentSubjectId);
+      });
+    }
+  }
+
+  function init() {
+    Promise.all([listTypes()]).then((res) => {
+      paymentTypes.value = res[0].rows;
     });
   }
-}
+  /** 取消按钮 */
+  function cancel() {
+    visible.value = false;
+    reset();
+  }
 
-function init() {
-  Promise.all([listTypes()]).then((res) => {
-    paymentTypes.value = res[0].rows;
-  });
-}
-/** 取消按钮 */
-function cancel() {
-  visible.value = false;
-  reset();
-}
+  /** 表单重置 */
+  function reset() {
+    form.value = JSON.parse(JSON.stringify(paymentEmpty));
+    paymentSubjects.value = [];
+  }
 
-/** 表单重置 */
-function reset() {
-  form.value = JSON.parse(JSON.stringify(paymentEmpty));
-  paymentSubjects.value = [];
-}
+  /** 全屏缩放 */
+  function handleScreen() {
+    const dom = document.querySelector(
+      ".list-container > .el-drawer__wrapper > .el-overlay"
+    );
+    isFullscreen.value = !isFullscreen.value;
+    dom.style.position = isFullscreen.value ? "fixed" : "absolute";
+  }
 
-/** 全屏缩放 */
-function handleScreen() {
-  const dom = document.querySelector(
-    ".list-container > .el-drawer__wrapper > .el-overlay"
-  );
-  isFullscreen.value = !isFullscreen.value;
-  dom.style.position = isFullscreen.value ? "fixed" : "absolute";
-}
+  /** 提交按钮 */
+  function submitForm() {
+    if (form.value.contractId === 0 || form.value.contractId == null) {
+      proxy.$modal.msgError("请输入合同");
+      return;
+    }
+    if (form.value.amount == null || form.value.amount === 0) {
+      proxy.$modal.msgError("请输入支出金额");
+      return;
+    }
+    if (form.value.amount > form.value.contractAmount - form.value.payedAmount) {
+      proxy.$modal.msgError("支出金额大于合同金额");
+      return;
+    }
+    proxy.$refs["orderRef"].validate((valid) => {
+      if (valid && detailValid()) {
+        const formValue = form.value;
+        savePayment(formValue).then((res) => {
+          open(res.data.id);
+          getList.value();
+        });
+      }
+    });
+  }
 
-/** 提交按钮 */
-function submitForm() {
-  if (form.value.contractId === 0 || form.value.contractId == null) {
-    proxy.$modal.msgError("请输入合同");
-    return;
+  function detailValid() {
+    if (form.value.files.length === 0) {
+      proxy.$modal.msgError("收款附件为空");
+      return false;
+    }
+    return true;
   }
-  if (form.value.amount == null || form.value.amount === 0) {
-    proxy.$modal.msgError("请输入支出金额");
-    return;
+
+  /** 查询表单信息  */
+  function getForm() {
+    loading.value = true;
+    getOrder(form.value.id).then((response) => {
+      loading.value = false;
+      form.value = response.data;
+    });
   }
-  if (form.value.amount > form.value.contractAmount - form.value.payedAmount) {
-    proxy.$modal.msgError("支出金额大于合同金额");
-    return;
+  function handleServiceTypeClick(tab) {
+    computedService();
   }
-  proxy.$refs["orderRef"].validate((valid) => {
-    if (valid && detailValid()) {
-      const formValue = form.value;
-      savePayment(formValue).then((res) => {
-        open(res.data.id);
-        getList.value();
-      });
-    }
-  });
-}
 
-function detailValid() {
-  if (form.value.files.length === 0) {
-    proxy.$modal.msgError("收款附件为空");
-    return false;
+  function verifyHandler() {
+    rejectHandler();
   }
-  return true;
-}
 
-/** 查询表单信息  */
-function getForm() {
-  loading.value = true;
-  getOrder(form.value.id).then((response) => {
-    loading.value = false;
-    form.value = response.data;
-  });
-}
-function handleServiceTypeClick(tab) {
-  computedService();
-}
-
-function verifyHandler() {
-  rejectHandler();
-}
-
-function cashierVerifyHandler() {
-  cashierOpen.value = true;
-  cashierForm.value = proxy.deepClone(form.value);
-}
+  function cashierVerifyHandler() {
+    cashierOpen.value = true;
+    cashierForm.value = proxy.deepClone(form.value);
+  }
 
-function rejectHandler() {
-  rejectOpen.value = true;
-  rejectForm.value = proxy.deepClone(form.value);
-}
+  function rejectHandler() {
+    rejectOpen.value = true;
+    rejectForm.value = proxy.deepClone(form.value);
+  }
 
-function rejectCancel() {
-  rejectOpen.value = false;
-  rejectForm.value = {};
-}
+  function rejectCancel() {
+    rejectOpen.value = false;
+    rejectForm.value = {};
+  }
 
-function cashierVerifyCancel() {
-  cashierOpen.value = false;
-  cashierForm.value = {};
-}
-function upload2(param) {
-  const formData = new FormData();
-  formData.append("file", param.file);
-  uploadFile(formData).then((res) => {
-    if (res.code === 200) {
-      const file = {};
-      file.fileName = res.newFileName;
-      file.url = res.url;
-      file.fileType =
-        res.newFileName.split(".")[res.newFileName.split(".").length - 1];
-      file.originalFileName = res.originalFilename;
-      file.fileUrl = res.fileName;
-      console.log(11212,file);
-      if(rejectForm.value.evidenceFiles == null){
-        rejectForm.value.evidenceFiles = [];
+  function cashierVerifyCancel() {
+    cashierOpen.value = false;
+    cashierForm.value = {};
+  }
+  function upload2(param) {
+    const formData = new FormData();
+    formData.append("file", param.file);
+    uploadFile(formData).then((res) => {
+      if (res.code === 200) {
+        const file = {};
+        file.fileName = res.newFileName;
+        file.url = res.url;
+        file.fileType =
+          res.newFileName.split(".")[res.newFileName.split(".").length - 1];
+        file.originalFileName = res.originalFilename;
+        file.fileUrl = res.fileName;
+        console.log(11212, file);
+        if (rejectForm.value.evidenceFiles == null) {
+          rejectForm.value.evidenceFiles = [];
+        }
+        rejectForm.value.evidenceFiles.push(file);
       }
-      rejectForm.value.evidenceFiles.push(file);
-    }
-  });
-}
-function upload3(param) {
-  const formData = new FormData();
-  formData.append("file", param.file);
-  uploadFile(formData).then((res) => {
-    if (res.code === 200) {
-      const file = {};
-      file.fileName = res.newFileName;
-      file.url = res.url;
-      file.fileType =
-        res.newFileName.split(".")[res.newFileName.split(".").length - 1];
-      file.originalFileName = res.originalFilename;
-      file.fileUrl = res.fileName;
-      console.log(11212,file);
-      if(cashierForm.value.evidenceFiles == null){
-        cashierForm.value.evidenceFiles = [];
+    });
+  }
+  function upload3(param) {
+    const formData = new FormData();
+    formData.append("file", param.file);
+    uploadFile(formData).then((res) => {
+      if (res.code === 200) {
+        const file = {};
+        file.fileName = res.newFileName;
+        file.url = res.url;
+        file.fileType =
+          res.newFileName.split(".")[res.newFileName.split(".").length - 1];
+        file.originalFileName = res.originalFilename;
+        file.fileUrl = res.fileName;
+        console.log(11212, file);
+        if (cashierForm.value.evidenceFiles == null) {
+          cashierForm.value.evidenceFiles = [];
+        }
+        cashierForm.value.evidenceFiles.push(file);
       }
-      cashierForm.value.evidenceFiles.push(file);
-    }
-  });
-}
-function handleDelFile2(index) {
-  rejectForm.value.files.splice(index, 1);
-}
-function rejectSubmitHandler() {
-  if (form.value.verifyRemark === "" || form.value.verifyRemark == null) {
-    proxy.$modal.msgError("请填写驳回原因");
-    return;
+    });
   }
-}
-
-function verifyUpload() {
-  if (rejectForm.value.verifyStatus === 0) {
-    proxy.$modal.msgError("请选择审核结果");
-    return;
+  function handleDelFile2(index) {
+    rejectForm.value.files.splice(index, 1);
   }
-  if (
-    rejectForm.value.verifyStatus === 2 &&
-    (rejectForm.value.verifyComment == null ||
-      rejectForm.value.verifyComment === "")
-  ) {
-    proxy.$modal.msgError("请输入审核意见");
-    return;
+  function rejectSubmitHandler() {
+    if (form.value.verifyRemark === "" || form.value.verifyRemark == null) {
+      proxy.$modal.msgError("请填写驳回原因");
+      return;
+    }
   }
 
+  function verifyUpload() {
+    if (rejectForm.value.verifyStatus === 0) {
+      proxy.$modal.msgError("请选择审核结果");
+      return;
+    }
+    if (
+      rejectForm.value.verifyStatus === 2 &&
+      (rejectForm.value.verifyComment == null ||
+        rejectForm.value.verifyComment === "")
+    ) {
+      proxy.$modal.msgError("请输入审核意见");
+      return;
+    }
 
-  // if (
-  //   rejectForm.value.evidenceFiles == null ||
-  //   rejectForm.value.evidenceFiles.length === 0 || rejectForm.value.evidenceFiles.length>5
-  // ) {
-  //   proxy.$modal.msgError("请上传附件并至多上传5个");
-  //   return;
-  // }
-  verifyPayment(rejectForm.value).then((res) => {
-    open(form.value.id);
-    getList.value();
-    rejectCancel();
-    proxy.$modal.msgSuccess("保存成功");
-  });
-}
 
-function cashierVerifyUpload() {
-  if (cashierForm.value.verifyStatus === 1) {
-    proxy.$modal.msgError("请选择审核结果");
-    return;
-  }
-  if (
-    cashierForm.value.actuallyDate == null ||
-    cashierForm.value.actuallyDate === ""
-  ) {
-    proxy.$modal.msgError("请选择支出时间");
-    return;
-  }
-  // if (
-  //   cashierForm.value.evidenceFiles == null ||
-  //   cashierForm.value.evidenceFiles.length === 0 || cashierForm.value.evidenceFiles.length>5
-  // ) {
-  //   proxy.$modal.msgError("请上传附件并至多上传5个");
-  //   return;
-  // }
-  if (
-    cashierForm.value.verifyStatus === 4 &&
-    (cashierForm.value.verifyComment == null ||
-      cashierForm.value.verifyComment === "")
-  ) {
-    proxy.$modal.msgError("请输入审核意见");
-    return;
+    // if (
+    //   rejectForm.value.evidenceFiles == null ||
+    //   rejectForm.value.evidenceFiles.length === 0 || rejectForm.value.evidenceFiles.length>5
+    // ) {
+    //   proxy.$modal.msgError("请上传附件并至多上传5个");
+    //   return;
+    // }
+    verifyPayment(rejectForm.value).then((res) => {
+      open(form.value.id);
+      getList.value();
+      rejectCancel();
+      proxy.$modal.msgSuccess("保存成功");
+    });
   }
-  cashierForm.value.paymentStatus =
-    cashierForm.value.verifyStatus === 3 ? 1 : 0;
-  verifyPayment(cashierForm.value).then((res) => {
-    open(cashierForm.value.id);
-    getList.value();
-    cashierVerifyCancel();
-    proxy.$modal.msgSuccess("保存成功");
-  });
-}
 
-/** 文件上传 */
-function upload(param) {
-  const fileForm = new FormData();
-  fileForm.append("file", param.file);
-  uploadFile(fileForm).then((res) => {
-    if (res.code === 200) {
-      const file = {};
-      file.fileName = res.newFileName;
-      file.url = res.url;
-      file.originalFileName = res.originalFilename;
-      file.fileUrl = res.fileName;
-      form.value.files.push(file);
+  function cashierVerifyUpload() {
+    if (cashierForm.value.verifyStatus === 1) {
+      proxy.$modal.msgError("请选择审核结果");
+      return;
     }
-  });
-}
+    if (
+      cashierForm.value.actuallyDate == null ||
+      cashierForm.value.actuallyDate === ""
+    ) {
+      proxy.$modal.msgError("请选择支出时间");
+      return;
+    }
+    // if (
+    //   cashierForm.value.evidenceFiles == null ||
+    //   cashierForm.value.evidenceFiles.length === 0 || cashierForm.value.evidenceFiles.length>5
+    // ) {
+    //   proxy.$modal.msgError("请上传附件并至多上传5个");
+    //   return;
+    // }
+    if (
+      cashierForm.value.verifyStatus === 4 &&
+      (cashierForm.value.verifyComment == null ||
+        cashierForm.value.verifyComment === "")
+    ) {
+      proxy.$modal.msgError("请输入审核意见");
+      return;
+    }
+    cashierForm.value.paymentStatus =
+      cashierForm.value.verifyStatus === 3 ? 1 : 0;
+    verifyPayment(cashierForm.value).then((res) => {
+      open(cashierForm.value.id);
+      getList.value();
+      cashierVerifyCancel();
+      proxy.$modal.msgSuccess("保存成功");
+    });
+  }
 
-function handleDelFile(index) {
-  form.value.files.splice(index, 1);
-}
+  /** 文件上传 */
+  function upload(param) {
+    const fileForm = new FormData();
+    fileForm.append("file", param.file);
+    uploadFile(fileForm).then((res) => {
+      if (res.code === 200) {
+        const file = {};
+        file.fileName = res.newFileName;
+        file.url = res.url;
+        file.originalFileName = res.originalFilename;
+        file.fileUrl = res.fileName;
+        form.value.files.push(file);
+      }
+    });
+  }
 
-function amountChangeHandler(arg, row, field) {
-  computeTotalAmount();
-}
+  function handleDelFile(index) {
+    form.value.files.splice(index, 1);
+  }
 
-function computeTotalAmount() {
-  let amount = 0;
-  for (let index = 0; index < form.value.details.length; index++) {
-    const element = form.value.details[index];
-    amount += element.paymentAmount == null ? 0 : element.paymentAmount;
+  function amountChangeHandler(arg, row, field) {
+    computeTotalAmount();
   }
-  form.value.amount = amount;
-}
-function handlerEportFilesDel(row, index) {
-  proxy.$modal
-    .confirm("确定删除吗?")
-    .then((_) => {
-      rejectForm.value.evidenceFiles.splice(index, 1);
-    })
-    .catch((_) => {
-      proxy.$modal.msg("已取消删除");
-    });
-}
-function handlerEportFilesDel2(row, index) {
-  proxy.$modal
-    .confirm("确定删除吗?")
-    .then((_) => {
-      cashierForm.value.evidenceFiles.splice(index, 1);
-    })
-    .catch((_) => {
-      proxy.$modal.msg("已取消删除");
-    });
-}
-function amountChange() {
-  let amount = 0;
-  if (form.value.details.length > 0) {
-    for (let i = 0; i < form.value.details.length; i++) {
-      amount = amount + form.value.details[i].paymentAmount;
+
+  function computeTotalAmount() {
+    let amount = 0;
+    for (let index = 0; index < form.value.details.length; index++) {
+      const element = form.value.details[index];
+      amount += element.paymentAmount == null ? 0 : element.paymentAmount;
     }
-    // 判断到款状态
     form.value.amount = amount;
-    if (form.value.payedAmount > 0)
-      form.value.arriveStatus =
-        form.value.payedAmount === form.value.amount ? 1 : 2;
-    else form.value.arriveStatus = 0;
   }
-}
+  function handlerEportFilesDel(row, index) {
+    proxy.$modal
+      .confirm("确定删除吗?")
+      .then((_) => {
+        rejectForm.value.evidenceFiles.splice(index, 1);
+      })
+      .catch((_) => {
+        proxy.$modal.msg("已取消删除");
+      });
+  }
+  function handlerEportFilesDel2(row, index) {
+    proxy.$modal
+      .confirm("确定删除吗?")
+      .then((_) => {
+        cashierForm.value.evidenceFiles.splice(index, 1);
+      })
+      .catch((_) => {
+        proxy.$modal.msg("已取消删除");
+      });
+  }
+  function amountChange() {
+    let amount = 0;
+    if (form.value.details.length > 0) {
+      for (let i = 0; i < form.value.details.length; i++) {
+        amount = amount + form.value.details[i].paymentAmount;
+      }
+      // 判断到款状态
+      form.value.amount = amount;
+      if (form.value.payedAmount > 0)
+        form.value.arriveStatus =
+          form.value.payedAmount === form.value.amount ? 1 : 2;
+      else form.value.arriveStatus = 0;
+    }
+  }
+  function handleInfo(row) {
+    proxy.$refs.companyRef.open(row.companyId);
+  }
+  function handleContract() {
+    proxy.$refs.contractRef.open(form.value.contractId);
+  }
 
-function openFile(row) {
-  window.open(`${baseUrl}${row.fileUrl}`);
-}
+  function openFile(row) {
+    window.open(`${baseUrl}${row.fileUrl}`);
+  }
 
-function querySearchCompanyAsync(queryString, cb) {
-  const query =
-    queryString.length > 0
-      ? {
+  function querySearchCompanyAsync(queryString, cb) {
+    const query =
+      queryString.length > 0
+        ? {
           keyword: queryString,
           pageSize: 50,
           pageNum: 1,
           orderByColumn: "create_time",
         }
-      : { pageSize: 50, pageNum: 1, orderByColumn: "create_time" };
-  listCompany(query).then((res) => {
-    cb(res.rows);
-  });
-}
+        : { pageSize: 50, pageNum: 1, orderByColumn: "create_time" };
+    listCompany(query).then((res) => {
+      cb(res.rows);
+    });
+  }
 
-function handleSelectCompany(item) {
-  form.value.companyName = item.name;
-  form.value.companyId = item.id;
-}
+  function handleSelectCompany(item) {
+    form.value.companyName = item.name;
+    form.value.companyId = item.id;
+  }
 
-function paymentCauseChange(arg) {
-  const index = paymentTypes.value.findIndex((v) => v.id === arg);
-  if (index >= 0) {
-    paymentSubjects.value = [{ id: "0", name: "请选择" }].concat(
-      paymentTypes.value[index].bizPaymentSubjectList
-    );
-    form.value.paymentCause = paymentTypes.value[index].name;
-    if (
-      paymentSubjects.value.findIndex(
-        (v) => v.id === form.value.paymentSubjectId
-      ) < 0
-    ) {
-      form.value.paymentSubjectId = null;
-      form.value.paymentSubject = "";
+  function paymentCauseChange(arg) {
+    const index = paymentTypes.value.findIndex((v) => v.id === arg);
+    if (index >= 0) {
+      paymentSubjects.value = [{ id: "0", name: "请选择" }].concat(
+        paymentTypes.value[index].bizPaymentSubjectList
+      );
+      form.value.paymentCause = paymentTypes.value[index].name;
+      if (
+        paymentSubjects.value.findIndex(
+          (v) => v.id === form.value.paymentSubjectId
+        ) < 0
+      ) {
+        form.value.paymentSubjectId = null;
+        form.value.paymentSubject = "";
+      }
     }
   }
-}
-function contractChoiceHandler() {
-  if (form.value.companyId == null || form.value.companyId === "") {
-    proxy.$modal.msgError("请选择客户");
-    return;
+  function contractChoiceHandler() {
+    if (form.value.companyId == null || form.value.companyId === "") {
+      proxy.$modal.msgError("请选择客户");
+      return;
+    }
+    proxy.$refs.contractChoiceRef.open({ companyId: form.value.companyId });
   }
-  proxy.$refs.contractChoiceRef.open({ companyId: form.value.companyId });
-}
 
-function contractChoiceHandle(info) {
-  form.value.details = []
-  form.value.contractId = info.id;
-  form.value.contractNo = info.contractNo;
-  form.value.contractAmount = info.trueAmount;
-  form.value.payedAmount = info.paidAmount;
-  listContractDetail({ contractId: info.id }).then((res) => {
-    const rows = res.rows;
-    rows.forEach((item) => {
-      const detail = {
-        contractId: item.contractId,
-        contractDetailId: item.id,
-        companyId: form.value.companyId,
-        taskTypeId: item.taskTypeId,
-        amount: item.amount,
-        taskTypeName: item.taskTypeName,
-        payment: item.payment,
-        reallyAmount:item.reallyAmount,
-        explain:item.explain
-      };
-      form.value.details.push(detail);
+  function contractChoiceHandle(info) {
+    form.value.details = []
+    form.value.contractId = info.id;
+    form.value.contractNo = info.contractNo;
+    form.value.contractAmount = info.trueAmount;
+    form.value.payedAmount = info.paidAmount;
+    listContractDetail({ contractId: info.id }).then((res) => {
+      const rows = res.rows;
+      rows.forEach((item) => {
+        const detail = {
+          contractId: item.contractId,
+          contractDetailId: item.id,
+          companyId: form.value.companyId,
+          taskTypeId: item.taskTypeId,
+          amount: item.amount,
+          taskTypeName: item.taskTypeName,
+          payment: item.payment,
+          reallyAmount: item.reallyAmount,
+          explain: item.explain
+        };
+        form.value.details.push(detail);
+      });
     });
-  });
-}
+  }
 
-function handlerDelAttach(row, index) {
-  proxy.$modal
-    .confirm("确认删除该项么?")
-    .then((_) => {
-      form.value.files.splice(index, 1);
-    })
-    .catch((err) => {
-      proxy.$modal.msgError("取消删除");
-    });
-}
+  function handlerDelAttach(row, index) {
+    proxy.$modal
+      .confirm("确认删除该项么?")
+      .then((_) => {
+        form.value.files.splice(index, 1);
+      })
+      .catch((err) => {
+        proxy.$modal.msgError("取消删除");
+      });
+  }
 
-function paymentSubjectChange(id) {
-  const index = paymentSubjects.value.findIndex((v) => v.id === id);
-  if (index >= 0) {
-    form.value.paymentSubjectId = paymentSubjects.value[index].id;
+  function paymentSubjectChange(id) {
+    const index = paymentSubjects.value.findIndex((v) => v.id === id);
+    if (index >= 0) {
+      form.value.paymentSubjectId = paymentSubjects.value[index].id;
+    }
   }
-}
 
-function checkPermission(templatePermission) {
-  const all_permission = "*:*:*";
-  const permissions = useUserStore().permissions;
-  const hasPermissions = permissions.some((permission) => {
-    return (
-      all_permission === permission || templatePermission.includes(permission)
-    );
-  });
-  return hasPermissions;
-}
+  function checkPermission(templatePermission) {
+    const all_permission = "*:*:*";
+    const permissions = useUserStore().permissions;
+    const hasPermissions = permissions.some((permission) => {
+      return (
+        all_permission === permission || templatePermission.includes(permission)
+      );
+    });
+    return hasPermissions;
+  }
 
-init();
+  init();
 
-/** 暴露给父组件的方法 */
-defineExpose({
-  open,
-});
-</script>
+  /** 暴露给父组件的方法 */
+  defineExpose({
+    open,
+  });
+</script>

+ 5 - 3
src/views/business/housingFund/declare/form.vue

@@ -88,9 +88,10 @@
           </el-col>
           <el-col :span="24">
             <el-form-item label="凭证" required>
-              <el-upload action="#" :http-request="upload" :with-credentials="true" :show-file-list="false" multiple>
+              <!-- <el-upload action="#" :http-request="upload" :with-credentials="true" :show-file-list="false" multiple>
                 <el-button size="small" type="primary" icon="Upload"  v-if="form.status !==3" >点击上传</el-button>
-              </el-upload>
+              </el-upload> -->
+              <dragUpload :accept="accept" style="width:100%" @file="upload"/>
               <el-table style="margin-top: 15px;" ref="dbTable" :data="form.evidenceFiles" size="small" border
                 header-row-class-name="list-header-row" row-class-name="list-row">
                 <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
@@ -135,6 +136,7 @@
     saveDetail, turnBackDetail,
   } from "@/api/business/production/housingFundDeclare";
   import { uploadFile } from "@/api/tool/file";
+  import dragUpload from "@/components/dragUpload"
   import { rowNum } from "@/utils/index";
   import { ref } from "vue";
   const { proxy } = getCurrentInstance();
@@ -318,7 +320,7 @@
 
   function upload(param) {
     const formData = new FormData();
-    formData.append("file", param.file);
+    formData.append("file", param);
     uploadFile(formData).then((res) => {
       if (res.code === 200) {
         const file = {};

+ 2 - 1
src/views/business/production/onceWork/index.vue

@@ -9,12 +9,13 @@
         <template #dropdown>
           <el-dropdown-menu>
             <el-dropdown-item icon="Download" @click="handleExport"
-              v-hasPermi="['business:entrust:workOrder:current:export']">
+              v-hasPermi="['business:production:onceexport']">
               导出</el-dropdown-item>
           </el-dropdown-menu>
         </template>
       </el-dropdown>
     </div>
+    <!-- v-hasPermi="['business:entrust:workOrder:current:export']"> -->
     <!-- 搜索区 -->
     <el-form class="list-search-container" size="small" :model="queryParams" ref="queryRef" :inline="true"
       label-width="78px">

+ 1 - 1
src/views/business/service/loop/socialSecurityForm.vue

@@ -226,7 +226,7 @@
                 type="textarea" rows="2" />
             </el-form-item>
           </el-col>
-          <el-divider content-position="left">社保申报信息</el-divider>
+          <el-divider content-position="left">社保申报信息222</el-divider>
           <el-col :span="12">
             <el-form-item label="单位养老金:">
               <el-input-number v-model="form.socialSecurityDeclare.unitPension" size="small" placeholder="单位养老金"

+ 6 - 9
src/views/business/socialSecurity/declare/form.vue

@@ -178,9 +178,10 @@
             </el-col>
             <el-col :span="24">
               <el-form-item label="凭证" required>
-                <el-upload action="#" :http-request="upload" :with-credentials="true" :show-file-list="false" multiple>
+              <!-- <el-upload action="#" :http-request="upload" :with-credentials="true" :show-file-list="false" multiple>
                   <el-button size="small" type="primary" icon="Upload" v-if="form.status !==3">点击上传</el-button>
-                </el-upload>
+                </el-upload>" -->
+                <dragUpload :accept="accept" style="width:100%" @file="upload"/>
                 <el-table ref="dbTable" :data="form.evidenceFiles" size="small" border
                   header-row-class-name="list-header-row" row-class-name="list-row">
                   <el-table-column label="文件名" prop="originalFileName" align="center" show-overflow-tooltip>
@@ -192,12 +193,6 @@
                         }}</el-button>
                     </template>
                   </el-table-column>
-                  <!-- <el-table-column
-                  label="文件类型"
-                  width="80"
-                  prop="fileType"
-                  align="center"
-                /> -->
                   <el-table-column label="操作" width="80" prop="fileType" align="center">
                     <template #default="scope">
                       <el-button size="small" link type="danger" v-if=" form.status !== 3"
@@ -261,6 +256,7 @@
   } from "@/api/business/production/socialSecurityDeclare";
   import { uploadFile } from "@/api/tool/file";
   import { rowNum } from "@/utils/index";
+  import dragUpload from "@/components/dragUpload"
   import { ref } from "vue";
   const { proxy } = getCurrentInstance();
   const visible = ref(false);
@@ -463,8 +459,9 @@
   }
 
   function upload(param) {
+    console.log(param);
     const formData = new FormData();
-    formData.append("file", param.file);
+    formData.append("file", param);
     uploadFile(formData).then((res) => {
       if (res.code === 200) {
         const file = {};

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů