瀏覽代碼

no message

ly 1 年之前
父節點
當前提交
f023fe8560

+ 3 - 1
src/api/business/entrust/deduct.js

@@ -117,4 +117,6 @@ export function exportAccountStatement(query) {
  
     `对账单导出_${query.title}.xlsx`
   )
-}
+}
+
+

+ 10 - 0
src/api/business/financial/collection.js

@@ -77,6 +77,16 @@ export function delCollection(id) {
   })
 }
 
+export function setCollectionZero(id) {
+  request.defaults.baseURL = '/ezhizao-yzbh-financial'
+  return request({
+    url: '/business/collection/setCollectionZero/' + id,
+    method: 'get'
+  })
+}
+
+
+
 export function getCreditTermByCompId(query) {
   request.defaults.baseURL = '/ezhizao-yzbh-financial'
   return request({

+ 8 - 0
src/api/business/financial/payment.js

@@ -143,3 +143,11 @@ export function verifyPayment(data) {
   })
 }
 
+export function setPaymentZero(id) {
+  request.defaults.baseURL = '/ezhizao-yzbh-financial'
+  return request({
+    url: '/business/payment/setPaymentZero/'+ id,
+    method: 'get',
+  })
+}
+

+ 19 - 0
src/api/business/production/deduction.js

@@ -78,3 +78,22 @@ export function getAmountView(data) {
     data: data
   })
 }
+export function saveFiles(data) {
+  request.defaults.baseURL = '/ezhizao-yzbh-production'
+  return request({
+    url: '/business/deduction/saveFiles',
+    method: 'post',
+    data: data
+  })
+
+}
+
+export function remove(data) {
+  request.defaults.baseURL = '/ezhizao-yzbh-production'
+  return request({
+    url: '/business/deduction/delFile',
+      method: 'post',
+      data: data
+  })
+
+}

+ 180 - 0
src/views/business/deduction/fileDialog.vue

@@ -0,0 +1,180 @@
+<template>
+    <el-dialog v-model="visible" :width="width" append-to-body draggable show-close :close-on-click-modal="false">
+        <template #header>
+            <div class="dialog-title-container">
+                <span class="title-label" style="color: #fff;">
+                    <el-icon>
+                        <Document />
+                    </el-icon> 附件信息</span>
+                <!-- <el-icon @click="close">
+            <Close />
+          </el-icon> -->
+            </div>
+        </template>
+        <div class="dialog-list-container">
+            <el-table ref="dbTable" :data="list" size="small" border header-row-class-name="list-header-row"
+                row-class-name="list-row" @selection-change="handleSelectionChange">
+                <el-table-column type="selection" width="40" align="center" />
+                <el-table-column type="index" label="序号" width="46" 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>
+                    </template>
+                </el-table-column>
+            </el-table>
+
+
+
+
+            <div  style="display: flex; justify-content: space-between; margin-top: 10px;margin-bottom: 10px;">
+                <div>
+                    补传文件
+                </div>
+                <div>
+                    <el-upload 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>
+            <el-table ref="filesTable" :data="supplementList" size="small" border
+                header-row-class-name="list-header-row">
+                <el-table-column type="index" label="序号" width="47" align="center" />
+                <el-table-column label="文件名" prop="originalFileName" align="center">
+                    <template #default="scope">
+                        <el-link :href="`${baseUrl}${scope.row.fileUrl}`" :underline="false" target="_blank"
+                            type="primary">
+                            {{ scope.row.originalFileName }}
+                        </el-link>
+                    </template>
+                </el-table-column>
+                <el-table-column label="操作" width="47" align="center">
+                    <template #default="scope">
+                        <el-button link size="small" type="danger"
+                            @click="handleDelFile(scope.row.id,scope.$index)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+
+        <div style="height: 100px;">
+
+        </div>
+        <!-- <pagination v-show="total > 0" :total="total" v-model:page="query.pageNum" v-model:limit="query.pageSize"
+            @pagination="loadData" style="background-color: rgba(0, 0, 0, 0);" /> -->
+    </el-dialog>
+</template>
+<script setup>
+    import { reactive } from 'vue';
+    import { listFile } from '@/api/system/file'
+    import { saveFiles, remove } from "@/api/business/production/deduction";
+    import { uploadFile } from "@/api/tool/file";
+    const props = defineProps(
+        {
+            width: {
+                type: String,
+                default: '800px'
+            }
+        }
+    )
+
+    // import api from '@/api/biz/fileStorage'
+    const data = reactive({
+        visible: false,
+        list: [],
+        total: 0,
+        query: {
+            name: '',
+            total: 0,
+            pageSize: 15,
+            pageNum: 1
+        },
+        selection: [],
+        baseUrl: import.meta.env.VITE_APP_BASE_API,
+        options: {}
+    })
+    const { visible, list, query, selection, baseUrl, options, total } = toRefs(data)
+    const supplementList = ref([])
+    function open(arg) {
+        visible.value = true
+        options.value = arg
+        loadData()
+    }
+    /**
+     * 对话框关闭 事件
+     */
+    function close() {
+        visible.value = false
+    }
+    /**
+     * 加载数据
+     */
+    const loadData = async () => {
+        const res = await listFile({ ...query.value, ...options.value })
+        list.value = res.rows
+        total.value = res.total
+        list.value = list.value.filter(item => {
+            return item.supplement != 1
+        })
+        supplementList.value = res.rows.filter(item => {
+            return item.supplement === 1
+        })
+
+    }
+
+    function upload(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.originalFileName = res.originalFilename;
+                file.fileUrl = res.fileName;
+                file.masterId = options.value.masterId;
+                file.supplement = 1;
+                file.masterTableName = "biz_deduction";
+                saveFiles(file)
+                supplementList.value.push(file);
+
+            }
+        });
+    }
+    /**
+     * 列表checkbox列选择 事件
+     */
+    function handleSelectionChange(selection) {
+        selection.value = selection
+    }
+    function handleDelFile(id, index) {
+        console.log(id, index);
+        if (id == undefined) {
+            supplementList.value.splice(index, 1);
+        } else {
+            let data = { id: id }
+            remove(data).then(res => {
+                if (res.code === 200) {
+                    supplementList.value.splice(index, 1);
+                }
+            })
+        }
+
+    }
+    /**
+     * 搜索 事件
+     */
+    function handleSearch() {
+        loadData()
+    }
+    function openFile(attach) {
+        window.open(`${baseUrl.value}/${attach.fileUrl}`, attach.fileName)
+    }
+
+    defineExpose({
+        open
+    })
+</script>

+ 3 - 2
src/views/business/deduction/index.vue

@@ -61,7 +61,8 @@
       @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="客户名" prop="companyName" min-width="250" align="center" />
-      <el-table-column label="来源" min-width="100" align="center" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" prop="taxType" width="100" align="center" />
       <el-table-column label="扣款期" prop="currentMonth" min-width="100" align="center">
         <template #default="scope">
@@ -249,7 +250,7 @@ import { taxTypes } from "@/utils/default";
 import useUserStore from "@/store/modules/user";
 import { getTenant } from "@/utils/auth";
 import { ref } from "vue";
-import FileDialog from "../../dialog/fileDialog.vue";
+import FileDialog from "./fileDialog.vue";
 import HousingFundViewDialog from "./HousingFundViewDialog";
 import SocialSecurityViewDialog from "./SocialSecurityViewDialog";
 

+ 465 - 738
src/views/business/financial/collection/form.vue

@@ -4,47 +4,21 @@
     <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
-          >
+            付款信息</span>
 
-          <el-button
-            v-if="editStatus"
-            type="primary"
-            size="small"
-            icon="Finished"
-            @click="submitForm"
-            >保存</el-button
-          >
-          <el-button
-            v-show="!editStatus && form.verifyDate == null"
-            type="warning"
-            size="small"
-            icon="Edit"
-            v-hasPermi="['business:collection:edit']"
-            @click="editStatus = true"
-            >修改</el-button
-          >
-          <el-button
-            v-if="form.id && editStatus"
-            type="info"
-            size="small"
-            icon="Close"
-            @click="editStatus = false"
-            >取消修改</el-button
-          >
-          <el-button
-            v-show="form.id && !editStatus && form.verifyDate == null"
-            v-hasPermi="['business:collection:verify']"
-            type="primary"
-            size="small"
-            icon="Check"
-            @click="verifyHandler"
-            >收款审核</el-button
-          >
+          <el-button v-if="editStatus" type="primary" size="small" icon="Finished" @click="submitForm">保存</el-button>
+          <el-button v-show="form.status == 1 " type="warning" size="small" icon="Finished"
+            @click="returnZero"  v-hasPermi="['business:collection:return']">退回</el-button> 
+          <el-button v-show="!editStatus && form.verifyDate == null " type="warning" size="small" icon="Edit"
+            v-hasPermi="['business:collection:edit']" @click="editStatus = true">修改</el-button>
+          <el-button v-if="form.id && editStatus" type="info" size="small" icon="Close"
+            @click="editStatus = false">取消修改</el-button>
+          <el-button v-show="form.id && !editStatus && form.verifyDate == null"
+            v-hasPermi="['business:collection:verify']" type="primary" size="small" icon="Check"
+            @click="verifyHandler">收款审核</el-button>
 
           <div class="screen-btn" @click="handleScreen">
             <template v-if="!isFullscreen">
@@ -61,67 +35,37 @@
             <!-- <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"
-                  v-model.trim="form.flowNo"
-                  readonly
-                  size="small"
-                  type="text"
-                  placeholder="收款流水号"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" 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="subsidiaryName">
-                <el-autocomplete
-                  v-if="editStatus"
-                  :fetch-suggestions="querySearchAccountAsync"
-                  :trigger-on-focus="true"
-                  v-model="form.subsidiaryName"
-                  placeholder="请输入收款账户"
-                  style="width: 100%"
-                  popper-class="my-autocomplete"
-                  @select="handleSelectAccount"
-                >
+                <el-autocomplete v-if="editStatus" :fetch-suggestions="querySearchAccountAsync" :trigger-on-focus="true"
+                  v-model="form.subsidiaryName" placeholder="请输入收款账户" style="width: 100%" popper-class="my-autocomplete"
+                  @select="handleSelectAccount">
                   <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>
-                      <span
-                        class="code"
-                        style="font-size: 10px; color: darkgrey"
-                        >{{ item.code }}</span
-                      >
+                      <span class="code" style="font-size: 10px; color: darkgrey">{{ item.code }}</span>
                     </div>
                   </template>
                 </el-autocomplete>
@@ -130,95 +74,55 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款开户行:" prop="subsidiaryBankName">
-                <el-input
-                  v-if="editStatus"
-                  v-model.trim="form.subsidiaryBankName"
-                  size="small"
-                  type="text"
-                  placeholder="开户行"
-                  :clearable="true"
-                  :readonly="true"
-                />
+                <el-input v-if="editStatus" v-model.trim="form.subsidiaryBankName" size="small" type="text"
+                  placeholder="开户行" :clearable="true" :readonly="true" />
                 <span v-else>{{ form.subsidiaryBankName }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款账号:" prop="subsidiaryBankAccount">
-                <el-input
-                  v-if="editStatus"
-                  v-model.trim="form.subsidiaryBankAccount"
-                  size="small"
-                  type="text"
-                  placeholder="账号"
-                  :clearable="true"
-                  :readonly="true"
-                />
+                <el-input v-if="editStatus" v-model.trim="form.subsidiaryBankAccount" size="small" type="text"
+                  placeholder="账号" :clearable="true" :readonly="true" />
                 <span v-else>{{ form.subsidiaryBankAccount }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="付款名称:" prop="applyName">
-                <el-input
-                  v-if="editStatus"
-                  v-model.trim="form.applyName"
-                  size="small"
-                  type="text"
-                  placeholder="付款名称"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" v-model.trim="form.applyName" size="small" type="text" placeholder="付款名称"
+                  :clearable="true" />
                 <span v-else>{{ form.applyName }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="付款账号:" prop="appyAccount">
-                <el-input
-                  v-if="editStatus"
-                  v-model.trim="form.appyAccount"
-                  size="small"
-                  type="text"
-                  placeholder="付款账号"
-                  :clearable="true"
-                />
+                <el-input v-if="editStatus" v-model.trim="form.appyAccount" size="small" type="text" placeholder="付款账号"
+                  :clearable="true" />
                 <span v-else>{{ form.appyAccount }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="到账日期:" prop="arriveDate">
-                <el-date-picker
-                  v-if="editStatus"
-                  v-model.trim="form.arriveDate"
-                  size="small"
-                  :clearable="true"
-                  style="width: 100%"
-                  format="YYYY-MM-DD"
-                  value-format="YYYY-MM-DD HH:mm:ss"
-                  align="center"
-                  type="date"
-                  placeholder="到账日期"
-                />
+                <el-date-picker v-if="editStatus" v-model.trim="form.arriveDate" size="small" :clearable="true"
+                  style="width: 100%" format="YYYY-MM-DD" value-format="YYYY-MM-DD HH:mm:ss" align="center" type="date"
+                  placeholder="到账日期" />
                 <span v-else>{{ form.arriveDate }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="到账时间:" prop="arriveTime">
-                <el-time-select
-                  v-if="editStatus"
-                  style="width: 100%"
-                  v-model.trim="form.arriveTime"
-                  :picker-options="timeOptions"
-                  placeholder="选择时间"
-                />
+                <el-time-select v-if="editStatus" style="width: 100%" v-model.trim="form.arriveTime"
+                  :picker-options="timeOptions" placeholder="选择时间" />
                 <span v-else>{{ form.arriveTime }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="客户名称:" prop="companyName">
-                <el-link :underline="false" type="primary" @click="handleInfo(form)" >{{ form.companyName }}</el-link>
+                <el-link :underline="false" type="primary" @click="handleInfo(form)">{{ form.companyName }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="合同编号:" prop="remark">
-                <el-link :underline="false" type="primary" @click="handleContract(form)" >{{ form.contractNo }}</el-link>
+                <el-link :underline="false" type="primary" @click="handleContract(form)">{{ form.contractNo }}</el-link>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -233,17 +137,8 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="收款金额:" required>
-                <el-input-number
-                  v-if="editStatus"
-                  v-model.trim="form.arriveAmount"
-                  size="small"
-                  placeholder="收款金额"
-                  :clearable="true"
-                  :precision="2"
-                  controls-position="right"
-                  :controls="false"
-                  @change="amountChange"
-                />
+                <el-input-number v-if="editStatus" v-model.trim="form.arriveAmount" size="small" placeholder="收款金额"
+                  :clearable="true" :precision="2" controls-position="right" :controls="false" @change="amountChange" />
                 <span>{{ rowNum(form.arriveAmount) }}</span>
               </el-form-item>
             </el-col>
@@ -251,7 +146,7 @@
               <el-form-item label="订单备注:">
                 <span style="word-break: break-all">{{
                   form.orderRemark
-                }}</span>
+                  }}</span>
               </el-form-item>
             </el-col>
             <el-col v-if="form.status === 1" :span="6">
@@ -266,22 +161,16 @@
             </el-col>
             <el-col :span="6">
               <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-col :span="6">
               <el-form-item label="签单类型:" prop="isNew">
-                <el-radio-group v-model="form.isNew" disabled  v-if="editStatus">
+                <el-radio-group v-model="form.isNew" disabled v-if="editStatus">
                   <el-radio :label="0">新签</el-radio>
                   <el-radio :label="1">续签</el-radio>
                 </el-radio-group>
@@ -289,8 +178,8 @@
               </el-form-item>
             </el-col>
             <el-col :span="6">
-              <el-form-item label="是否为项目:" prop="isProject" >
-                <el-radio-group v-model="form.isProject" disabled  v-if="editStatus">
+              <el-form-item label="是否为项目:" prop="isProject">
+                <el-radio-group v-model="form.isProject" disabled v-if="editStatus">
                   <el-radio :label="0">项目</el-radio>
                   <el-radio :label="1">非项目</el-radio>
                 </el-radio-group>
@@ -299,51 +188,33 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="项目编号:" prop="projectNo">
-                <el-input
-                v-if="editStatus"
-                v-model.trim="form.projectNo"
-                size="small"
-                type="text"
-                placeholder="项目编号"
-                :clearable="true"
-              />
-                  <span v-else>{{ form.projectNo }}</span>
+                <el-input v-if="editStatus" v-model.trim="form.projectNo" size="small" type="text" placeholder="项目编号"
+                  :clearable="true" />
+                <span v-else>{{ form.projectNo }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="项目名称:" prop="projectName">
-                <el-input
-                v-if="editStatus"
-                v-model.trim="form.projectName"
-                size="small"
-                type="text"
-                placeholder="项目名称"
-                :clearable="true"
-              />
-              <span v-else>{{ form.projectName }}</span>
+                <el-input v-if="editStatus" v-model.trim="form.projectName" size="small" type="text" placeholder="项目名称"
+                  :clearable="true" />
+                <span v-else>{{ form.projectName }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="项目主体名称:" prop="projectMainName">
-                    <el-input
-                      v-if="editStatus"
-                      v-model.trim="form.projectMainName"
-                      size="small"
-                      type="text"
-                      placeholder="项目主体名称"
-                      :clearable="true"
-                    />
-                    <span v-else>{{ form.projectMainName }}</span>
+                <el-input v-if="editStatus" v-model.trim="form.projectMainName" size="small" type="text"
+                  placeholder="项目主体名称" :clearable="true" />
+                <span v-else>{{ form.projectMainName }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="审核时间" prop="verifyDate">
-                  <span>{{ form.verifyDate }}</span>
+                <span>{{ form.verifyDate }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
               <el-form-item label="制表时间" prop="createTime">
-                  <span>{{ form.createTime }}</span>
+                <span>{{ form.createTime }}</span>
               </el-form-item>
             </el-col>
             <el-col :span="6">
@@ -362,87 +233,39 @@
                 </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
-                    label="任务金额"
-                    prop="amount"
-                    width="150"
-                    header-align="center"
-                    align="right"
-                  >
+                  <el-table-column label="说明" prop="explain" align="center" show-overflow-tooltip />
+
+
+                  <el-table-column label="任务金额" prop="amount" width="150" header-align="center" align="right">
                     <template #default="scope">
                       <span>{{ rowNum(scope.row.amount) }}</span>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                    label="本次收款金额"
-                    prop="arriveAmount"
-                    width="150"
-                    header-align="center"
-                    align="right"
-                  >
+                  <el-table-column label="本次收款金额" prop="arriveAmount" width="150" header-align="center" align="right">
                     <template #default="scope">
                       <template v-if="editStatus">
-                        <el-input-number
-                          v-model="scope.row.arriveAmount"
-                          size="small"
-                          :min="0.0"
-                          placeholder="本次收款金额"
-                          :precision="2"
-                          :controls="false"
-                          style="width: 100%"
-                          @change="
+                        <el-input-number v-model="scope.row.arriveAmount" size="small" :min="0.0" placeholder="本次收款金额"
+                          :precision="2" :controls="false" style="width: 100%" @change="
                             (arg) =>
                               amountChangeHandler(
                                 arg,
                                 scope.row,
                                 'arriveAmount'
                               )
-                          "
-                        />
+                          " />
                       </template>
                       <template v-else>{{
                         rowNum(scope.row.arriveAmount)
-                      }}</template>
+                        }}</template>
                     </template>
                   </el-table-column>
-                  <el-table-column
-                    label="已收款金额"
-                    prop="arrived"
-                    width="150"
-                    align="right"
-                    header-align="center"
-                  >
+                  <el-table-column label="已收款金额" prop="arrived" width="150" align="right" header-align="center">
                     <template #default="scope">
                       <span>{{ rowNum(scope.row.arrived) }}</span>
                     </template>
@@ -461,65 +284,30 @@
             <el-col :span="6">
               <div class="details-head">
                 <div class="title">
-                  <i class="fa fa-th-list" aria-hidden="true" /> 
+                  <i class="fa fa-th-list" aria-hidden="true" />
                   <span style="color: red"><i style="color: red" /> *</span>
                 </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"
-                    min-width="200"
-                    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" min-width="200"
+                    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="操作" min-width="60" 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>
@@ -530,94 +318,36 @@
         </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="form" label-width="100" size="small">
         <el-form-item label="审核状态">
-          <el-select
-            style="width: 100%"
-            v-model.trim="form.status"
-            placeholder="请选择"
-            size="small"
-          >
-            <el-option
-              v-for="i in verified"
-              :key="i.value"
-              :label="i.label"
-              :value="i.value"
-            />
+          <el-select style="width: 100%" v-model.trim="form.status" 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="实际付款时间" required>
-          <el-date-picker
-            style="width: 100%"
-            v-model.trim="form.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 style="width: 100%" v-model.trim="form.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="form.status == 2 ? '驳回原因' : '审核意见'"
-          :prop="verifyComment"
-        >
-          <el-input
-            type="textarea"
-            maxlength="200"
-            show-word-limit
-            v-model.trim="form.verifyComment"
-            :rows="3"
-            placeholder="请输入审核意见"
-          />
+        <el-form-item :label="form.status == 2 ? '驳回原因' : '审核意见'" :prop="verifyComment">
+          <el-input type="textarea" maxlength="200" show-word-limit v-model.trim="form.verifyComment" :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="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
-            >
+          <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>
               <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
@@ -626,20 +356,10 @@
               prop="fileType"
               align="center"
             /> -->
-            <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>
@@ -647,16 +367,8 @@
       </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>
@@ -665,380 +377,395 @@
   </div>
 </template>
 <script setup>
-import { uploadFile } from "@/api/tool/file";
-// import {
-//   getOrder,
-//   initTaskTypes,
-//   addOrder,
-//   updateOrder,
-//   verifyOrder,
-//   alterOrder,
-//   dissolutionOrder,
-// } from "@/api/business/crm/contract";
-import {
-  listContract,
-  listAccount,
-  getCollection,
-  getCollectionByContract,
-  saveCollection,
-  verifyCollection,
-} 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 companyForm from "@/views/business/crm/company/formView.vue";
-import contractForm from "@/views/business/crm/order/form.vue";
-import { ref } from "vue";
+  import { uploadFile } from "@/api/tool/file";
+  // import {
+  //   getOrder,
+  //   initTaskTypes,
+  //   addOrder,
+  //   updateOrder,
+  //   verifyOrder,
+  //   alterOrder,
+  //   dissolutionOrder,
+  // } from "@/api/business/crm/contract";
+  import {
+    listContract,
+    listAccount,
+    getCollection,
+    getCollectionByContract,
+    saveCollection,
+    verifyCollection, setCollectionZero,
+  } 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 companyForm from "@/views/business/crm/company/formView.vue";
+  import contractForm from "@/views/business/crm/order/form.vue";
+  import { ref } from "vue";
 
-import useUserStore from "@/store/modules/user";
-const { proxy } = getCurrentInstance();
-const baseUrl = import.meta.env.VITE_APP_BASE_API;
+  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 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 rejectOpen = ref(false);
 
-const detailEmpty = {
-  id: null,
-  taskTypeName: "",
-  taskTypeId: null,
-  serviceNum: undefined,
-  freeNum: undefined,
-  price: undefined,
-  amount: undefined,
-  addressStyle: undefined,
-  address: undefined,
-  fictionAddressId: undefined,
-  tenantId: 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 detailEmpty = {
+    id: null,
+    taskTypeName: "",
+    taskTypeId: null,
+    serviceNum: undefined,
+    freeNum: undefined,
+    price: undefined,
+    amount: undefined,
+    addressStyle: undefined,
+    address: undefined,
+    fictionAddressId: undefined,
+    tenantId: 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 contractEmpty = {
-  serviceType: 1,
-  contractType: 0,
-  formDate: formatDate(new Date(), "YYYY-MM-DD"),
-  signerId: useUserStore().user.userId,
-  signerName: useUserStore().user.nickName,
-  files: [],
-};
-const isFullscreen = ref(false);
-const webHost = import.meta.env.VITE_APP_BASE_API;
-const data = reactive({
-  form: {},
-  rules: {},
-  timeOptions: { start: "08:30", step: "00:15", end: "18:30" },
-  verified: [
-    {
-      value: 0,
-      label: "未审核",
-    },
-    {
-      value: 1,
-      label: "通过",
-    },
-    {
-      value: 2,
-      label: "不通过",
-    },
-  ],
-});
-const { form, rules, timeOptions, verified } = toRefs(data);
-/***********************  方法区  ****************************/
-/** 打开抽屉 */
-function open(id) {
-  reset();
-  visible.value = true;
-  editStatus.value = true;
-  getCollection(id).then((res) => {
-    form.value = res.data;
-    console.log("form", form.value);
-    editStatus.value = false;
+  const contractEmpty = {
+    serviceType: 1,
+    contractType: 0,
+    formDate: formatDate(new Date(), "YYYY-MM-DD"),
+    signerId: useUserStore().user.userId,
+    signerName: useUserStore().user.nickName,
+    files: [],
+  };
+  const isFullscreen = ref(false);
+  const webHost = import.meta.env.VITE_APP_BASE_API;
+  const data = reactive({
+    form: {},
+    rules: {},
+    timeOptions: { start: "08:30", step: "00:15", end: "18:30" },
+    verified: [
+      {
+        value: 0,
+        label: "未审核",
+      },
+      {
+        value: 1,
+        label: "通过",
+      },
+      {
+        value: 2,
+        label: "不通过",
+      },
+    ],
   });
-}
+  const { form, rules, timeOptions, verified } = toRefs(data);
+  /***********************  方法区  ****************************/
+  /** 打开抽屉 */
+  function open(id) {
+    reset();
+    visible.value = true;
+    editStatus.value = true;
+    getCollection(id).then((res) => {
+      form.value = res.data;
+      console.log("form23", form.value);
+      editStatus.value = false;
+    });
+  }
 
-/** 取消按钮 */
-function cancel() {
-  visible.value = false;
-  reset();
-}
-function handleInfo(row) {
+  /** 取消按钮 */
+  function cancel() {
+    visible.value = false;
+    reset();
+  }
+  function handleInfo(row) {
     proxy.$refs.companyRef.open(row.companyId);
-}
-function handleContract(){
+  }
+  function handleContract() {
     proxy.$refs.contractRef.open(form.value.contractId);
-}
-// 数字格式化
-function rowNum(num) {
-  if (!num) {
-    return;
   }
-  num = num.toLocaleString(); // 3,000
-  if (num.indexOf(".") == -1) {
-    num = num + ".00"; //3,000.00
-  } else if (num.charAt(num.indexOf(".") == num.length - 2)) {
-    num = num + "0";
+  // 数字格式化
+  function rowNum(num) {
+    if (!num) {
+      return;
+    }
+    num = num.toLocaleString(); // 3,000
+    if (num.indexOf(".") == -1) {
+      num = num + ".00"; //3,000.00
+    } else if (num.charAt(num.indexOf(".") == num.length - 2)) {
+      num = num + "0";
+    }
+    return num;
   }
-  return num;
-}
 
-/** 表单重置 */
-function reset() {
-  form.value = JSON.parse(JSON.stringify(contractEmpty));
-  console.log("重置表单", form.value);
-  type.value = "";
-  // console.log(form)
-  // proxy.resetForm("orderRef");
-}
-
-/** 全屏缩放 */
-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 reset() {
+    form.value = JSON.parse(JSON.stringify(contractEmpty));
+    console.log("重置表单", form.value);
+    type.value = "";
+    // console.log(form)
+    // proxy.resetForm("orderRef");
+  }
 
-/** 提交按钮 */
-function submitForm() {
-  proxy.$refs["orderRef"].validate((valid) => {
-    if (valid && detailValid()) {
-      const formValue = form.value;
-      saveCollection(formValue).then((res) => {
-        open(form.value.id);
+  function returnZero() {
+    form.value.status = 0;
+    proxy.$modal
+      .confirm("是否确认退回")
+      .then(function () {
+        setCollectionZero(form.value.id)
+      })
+      .then(() => {
+        visible.value = false;
         getList.value();
-        proxy.$modal.msgSuccess("保存成功");
-      });
-    }
-  });
-}
-
-function detailValid() {
-  // 20240109 暂时附件非必填。
-  // if (form.value.files.length === 0) {
-  //   proxy.$modal.msgError("收款附件为空");
-  //   return false;
-  // }
-  return true;
-}
-
-/** 查询表单信息  */
-function getForm() {
-  loading.value = true;
-  getOrder(form.value.id).then((response) => {
-    loading.value = false;
-    form.value = response.data;
-  });
-}
-function handleServiceTypeClick(tab) {
-  computedService();
-}
+        proxy.$modal.msgSuccess("退回成功");
+      })
+      .catch(() => { });
+  }
 
-function verifyHandler() {
-  // proxy.$modal
-  //   .confirm("是否确认审核?")
-  //   .then((_) => {
-  //     verifyUpload(1);
-  //   })
-  //   .catch((_) => {
-  //     proxy.$modal.msg("取消审核");
-  //   });
-  rejectOpen.value = true;
-}
+  /** 全屏缩放 */
+  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 rejectHandler() {
-  rejectOpen.value = true;
-}
+  /** 提交按钮 */
+  function submitForm() {
+    proxy.$refs["orderRef"].validate((valid) => {
+      if (valid && detailValid()) {
+        const formValue = form.value;
+        saveCollection(formValue).then((res) => {
+          open(form.value.id);
+          getList.value();
+          proxy.$modal.msgSuccess("保存成功");
+        });
+      }
+    });
+  }
 
-function rejectCancel() {
-  rejectOpen.value = false;
-  rejectReset();
-}
+  function detailValid() {
+    // 20240109 暂时附件非必填。
+    // if (form.value.files.length === 0) {
+    //   proxy.$modal.msgError("收款附件为空");
+    //   return false;
+    // }
+    return true;
+  }
 
-function rejectReset() {}
+  /** 查询表单信息  */
+  function getForm() {
+    loading.value = true;
+    getOrder(form.value.id).then((response) => {
+      loading.value = false;
+      form.value = response.data;
+    });
+  }
+  function handleServiceTypeClick(tab) {
+    computedService();
+  }
 
-function rejectSubmitHandler() {
-  if (form.value.verifyRemark === "" || form.value.verifyRemark == null) {
-    proxy.$modal.msgError("请填写驳回原因");
-    return;
+  function verifyHandler() {
+    // proxy.$modal
+    //   .confirm("是否确认审核?")
+    //   .then((_) => {
+    //     verifyUpload(1);
+    //   })
+    //   .catch((_) => {
+    //     proxy.$modal.msg("取消审核");
+    //   });
+    rejectOpen.value = true;
   }
-}
 
-function verifyUpload() {
-  // const formValue = proxy.deepClone(form.value);
-  // formValue.verifyStatus = status;
-  // formValue.status = status;
-  if (form.value.status === 0) {
-    proxy.$modal.msgError("请选择审核结果");
-    return;
+  function rejectHandler() {
+    rejectOpen.value = true;
   }
-  if (form.value.actuallyDate == null || form.value.actuallyDate === "") {
-    proxy.$modal.msgError("请输入实际付款时间");
-    return;
+
+  function rejectCancel() {
+    rejectOpen.value = false;
+    rejectReset();
   }
-  if (
-    form.value.status === 2 &&
-    (form.value.verifyComment == null || form.value.verifyComment === "")
-  ) {
-    proxy.$modal.msgError("请输入审核意见");
-    return;
+
+  function rejectReset() { }
+
+  function rejectSubmitHandler() {
+    if (form.value.verifyRemark === "" || form.value.verifyRemark == null) {
+      proxy.$modal.msgError("请填写驳回原因");
+      return;
+    }
   }
-  // if (
-  //   form.value.evidenceFiles == null ||
-  //   form.value.evidenceFiles.length === 0 || form.value.evidenceFiles.length>5
-  // ) {
-  //   proxy.$modal.msgError("请上传凭证并至多上传5个");
-  //   return;
-  // }
-  form.value.arriveStatus = form.value.status === 1 ? 1 : 0;
-  verifyCollection(form.value).then((res) => {
-    open(form.value.id);
-    getList.value();
-    rejectCancel();
-    proxy.$modal.mseSuccess("保存成功");
-  });
-}
 
-/** 文件上传 */
-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;
-      console.log(11212,form.value.files);
-      form.value.files.push(file);
+  function verifyUpload() {
+    // const formValue = proxy.deepClone(form.value);
+    // formValue.verifyStatus = status;
+    // formValue.status = status;
+    if (form.value.status === 0) {
+      proxy.$modal.msgError("请选择审核结果");
+      return;
     }
-  });
-}
-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(form.value.evidenceFiles == null){
-        form.value.evidenceFiles = [];
-      }
-      form.value.evidenceFiles.push(file);
+    if (form.value.actuallyDate == null || form.value.actuallyDate === "") {
+      proxy.$modal.msgError("请输入实际付款时间");
+      return;
     }
-  });
-}
-
-function handleDelFile(index) {
-  form.value.files.splice(index, 1);
-}
+    if (
+      form.value.status === 2 &&
+      (form.value.verifyComment == null || form.value.verifyComment === "")
+    ) {
+      proxy.$modal.msgError("请输入审核意见");
+      return;
+    }
+    // if (
+    //   form.value.evidenceFiles == null ||
+    //   form.value.evidenceFiles.length === 0 || form.value.evidenceFiles.length>5
+    // ) {
+    //   proxy.$modal.msgError("请上传凭证并至多上传5个");
+    //   return;
+    // }
+    form.value.arriveStatus = form.value.status === 1 ? 1 : 0;
+    verifyCollection(form.value).then((res) => {
+      open(form.value.id);
+      getList.value();
+      rejectCancel();
+      proxy.$modal.mseSuccess("保存成功");
+    });
+  }
 
-function amountChangeHandler(arg, row, field) {
-  computeTotalAmount();
-}
-function handlerEportFilesDel(row, index) {
-  proxy.$modal
-    .confirm("确定删除吗?")
-    .then((_) => {
-      form.value.evidenceFiles.splice(index, 1);
-    })
-    .catch((_) => {
-      proxy.$modal.msg("已取消删除");
+  /** 文件上传 */
+  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;
+        console.log(11212, form.value.files);
+        form.value.files.push(file);
+      }
     });
-}
+  }
+  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 (form.value.evidenceFiles == null) {
+          form.value.evidenceFiles = [];
+        }
+        form.value.evidenceFiles.push(file);
+      }
+    });
+  }
 
-function computeTotalAmount() {
-  let amount = 0;
-  for (let index = 0; index < form.value.details.length; index++) {
-    const element = form.value.details[index];
-    amount += element.arriveAmount == null ? 0 : element.arriveAmount;
+  function handleDelFile(index) {
+    form.value.files.splice(index, 1);
   }
-  form.value.arriveAmount = amount;
-}
 
-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].arriveAmount;
+  function amountChangeHandler(arg, row, field) {
+    computeTotalAmount();
+  }
+  function handlerEportFilesDel(row, index) {
+    proxy.$modal
+      .confirm("确定删除吗?")
+      .then((_) => {
+        form.value.evidenceFiles.splice(index, 1);
+      })
+      .catch((_) => {
+        proxy.$modal.msg("已取消删除");
+      });
+  }
+
+  function computeTotalAmount() {
+    let amount = 0;
+    for (let index = 0; index < form.value.details.length; index++) {
+      const element = form.value.details[index];
+      amount += element.arriveAmount == null ? 0 : element.arriveAmount;
     }
-    // 判断到款状态
     form.value.arriveAmount = amount;
-    if (form.value.arriveAmount > 0)
-      form.value.arriveStatus =
-        form.value.arriveAmount === form.value.amount ? 1 : 2;
-    else form.value.arriveStatus = 0;
   }
-}
-function querySearchAccountAsync(queryString, cb) {
-  const query =
-    queryString.length > 0
-      ? { keyword: queryString, pageSize: 20, pageNum: 1 }
-      : { pageSize: 20, pageNum: 1 };
-  listAccount(query).then((res) => {
-    cb(res.rows);
-  });
-}
 
-function handleSelectAccount(item) {
-  form.value.subsidiaryName = item.name;
-  form.value.subsidiaryBankName = item.accountOpen;
-  form.value.subsidiaryBankAccount = item.accountNum;
-}
+  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].arriveAmount;
+      }
+      // 判断到款状态
+      form.value.arriveAmount = amount;
+      if (form.value.arriveAmount > 0)
+        form.value.arriveStatus =
+          form.value.arriveAmount === form.value.amount ? 1 : 2;
+      else form.value.arriveStatus = 0;
+    }
+  }
+  function querySearchAccountAsync(queryString, cb) {
+    const query =
+      queryString.length > 0
+        ? { keyword: queryString, pageSize: 20, pageNum: 1 }
+        : { pageSize: 20, pageNum: 1 };
+    listAccount(query).then((res) => {
+      cb(res.rows);
+    });
+  }
 
-function openFile(row) {
-  window.open(`${baseUrl}${row.fileUrl}`);
-}
+  function handleSelectAccount(item) {
+    form.value.subsidiaryName = item.name;
+    form.value.subsidiaryBankName = item.accountOpen;
+    form.value.subsidiaryBankAccount = item.accountNum;
+  }
 
-function handlerDelAttach(row, index) {
-  proxy.$modal
-    .confirm("确认删除该项么?")
-    .then((_) => {
-      form.value.files.splice(index, 1);
-    })
-    .catch((err) => {
-      proxy.$modal.msgError("取消删除");
-    });
-}
+  function openFile(row) {
+    window.open(`${baseUrl}${row.fileUrl}`);
+  }
 
-/** 暴露给父组件的方法 */
-defineExpose({
-  open,
-});
-</script>
+  function handlerDelAttach(row, index) {
+    proxy.$modal
+      .confirm("确认删除该项么?")
+      .then((_) => {
+        form.value.files.splice(index, 1);
+      })
+      .catch((err) => {
+        proxy.$modal.msgError("取消删除");
+      });
+  }
+
+  /** 暴露给父组件的方法 */
+  defineExpose({
+    open,
+  });
+</script>

+ 16 - 2
src/views/business/financial/payment/form.vue

@@ -14,6 +14,8 @@
             <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-show="form.verifyStatus == 3 " type="warning" size="small" icon="Finished"
+              @click="returnZero"    v-hasPermi="['business:payment:return']">退回</el-button>
             <el-button v-if="form.id && editStatus" size="small" icon="Close"
               @click="editStatus = false">取消修改</el-button>
           </template>
@@ -386,7 +388,7 @@
     savePayment,
     listTypes,
     listContractDetail,
-    verifyPayment,
+    verifyPayment,setPaymentZero
   } from "@/api/business/financial/payment";
   import { listSource } from "@/api/settings/source";
   import { listUser } from "@/api/system/user";
@@ -553,7 +555,19 @@
     form.value = JSON.parse(JSON.stringify(paymentEmpty));
     paymentSubjects.value = [];
   }
-
+  function returnZero() {
+    proxy.$modal
+      .confirm("是否确认退回")
+      .then(function () {
+        setPaymentZero(form.value.id)
+      })
+      .then(() => {
+        visible.value = false;
+        getList.value();
+        proxy.$modal.msgSuccess("退回成功");
+      })
+      .catch(() => { });
+  }
   /** 全屏缩放 */
   function handleScreen() {
     const dom = document.querySelector(

+ 2 - 1
src/views/business/housingFund/confirm/index.vue

@@ -67,7 +67,8 @@
       @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="客户名称" align="center" prop="companyName" min-width="250" />
-      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" width="120" align="center" prop="taxType" />
       <el-table-column label="所属期" min-width="90" align="center">
         <template #default="scope">

+ 2 - 42
src/views/business/housingFund/declare/index.vue

@@ -64,7 +64,8 @@
       @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="客户名称" min-width="250" align="center" prop="companyName" />
-      <el-table-column label="来源" min-width="100" align="center" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" width="100" align="center" prop="taxType" />
       <el-table-column label="人员信息" width="100" align="center" prop="">
         <template #default="scope">
@@ -204,7 +205,6 @@
   </div>
 </template>
 
-<<<<<<< HEAD
 <script setup>
   import useUserStore from "@/store/modules/user";
   import {
@@ -241,48 +241,8 @@
   const viewDialogRef = ref(null);
   const memeberDialogRef = ref(null);
   const fileListDialogRef = ref(null);
-=======
-<script setup name="HousingFundDeclare">
-import useUserStore from "@/store/modules/user";
-import {
-  listHousingFundDeclare,
-  turnBackDetail,
-  exportHoisngFundDeclare,
-} from "@/api/business/production/housingFundDeclare";
-import { uploadFile } from "@/api/tool/file";
-import { listCompany } from "@/api/business/crm/company";
-import { ref } from "vue";
-import formDialog from "./form";
-import { taxTypes } from "@/utils/default";
-import viewDialog from "./view";
-import memberDialog from "../memberDialog";
-import FileListDialog from "../fileListDialog.vue";
-const { proxy } = getCurrentInstance();
-/** 字典数组区 */
-/** 查询 对象 */
-const tenant = useUserStore().tenant;
-const orderList = ref([]);
-const loading = ref(true);
-const ids = ref([]);
-const single = ref(true);
-const multiple = ref(true);
-const oneself = ref(false);
-const total = ref(0);
-const prev = ref([]);
-const baseUrl = ref(import.meta.env.VITE_APP_BASE_API);
-const showViewer = ref(false);
-const currentFileList = ref([]);
-const moreSearch = ref(false);
-const showIndex = ref(0);
-const formDialogRef = ref(null);
-const viewDialogRef = ref(null);
-const memeberDialogRef = ref(null);
-const fileListDialogRef = ref(null);
->>>>>>> dev2
-
   const formOpen = ref(false);
   const currentMonth = ref(proxy.moment().format("YYYY-MM-01"));
-
   const form = ref({
     id: null,
     companyName: "",

+ 2 - 2
src/views/business/production/IndividualIncomeTaxIs/index.vue

@@ -84,8 +84,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="客户名称" align="center" prop="companyName" min-width="250" />
-      <el-table-column label="来源" align="center" prop="fromCompanyName" width="180" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" align="center" width="100" prop="taxType" />
       <el-table-column label="人员信息" align="center">
         <template #default="scope">

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

@@ -83,7 +83,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" align="center" width="100" prop="taxType" />
       <el-table-column label="人员信息" min-width="60" align="center">
         <template #default="scope">

+ 3 - 2
src/views/business/production/archiveTicket/index.vue

@@ -62,7 +62,7 @@
     <!-- 列表区 -->
     <el-table v-loading="loading" :data="list" size="small" border height="100%"
       @selection-change="handleSelectionChange">
-      <el-table-column label="客户名称" align="center" prop="companyName" min-width="250">
+      <el-table-column label="客户名称" align="center" prop="companyName">
         <template #default="scope">
           <div style="display: flex; align-items: center; ">
             <template v-if="scope.row.customerLabelName ">
@@ -80,7 +80,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" min-width="80" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" prop="taxType" min-width="110" align="center" />
       <el-table-column label="上传人" align="center" prop="finishUserName" min-width="100" />
       <el-table-column label="上传时间" align="center" prop="finishTime" min-width="100" />

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

@@ -84,7 +84,8 @@
         </div>
       </template>
     </el-table-column>
-    <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
+    <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+    <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
     <el-table-column label="纳税性质" align="center" width="100" prop="taxType" />
     <el-table-column label="是否零申报" align="center" min-width="80" prop="isZero">
       <template #default="scope">

+ 2 - 6
src/views/business/production/financialReportTaxIsZero/index.vue

@@ -121,12 +121,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column
-        label="来源"
-        align="center"
-        prop="fromCompanyName"
-        width="180"
-      />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <!-- <el-table-column
         label="税号"
         align="center"

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

@@ -86,7 +86,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" min-width="100" align="center" prop="taxType" />
       <el-table-column label="所属期" width="90" align="center">
         <template #default="scope">

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

@@ -86,7 +86,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="90" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="130"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" min-width="90" align="center" prop="taxType" />
       <el-table-column label="所属期" width="90" align="center">
         <template #default="scope">

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

@@ -61,7 +61,8 @@ label="序号"
 width="50"
 ></el-table-column> -->
       <el-table-column label="客户名称" prop="companyName" min-width="250" align="center" />
-      <el-table-column label="来源" min-width="90" align="center" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="130"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" prop="taxType" align="center" min-width="90" />
       <el-table-column label="收票月份" prop="provinceCode" min-width="80" align="center">
         <template #default="scope">

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

@@ -88,7 +88,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" min-width="80" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="130"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" min-width="100" align="center" prop="taxType" />
 
       <el-table-column label="所属期" min-width="90" align="center">

+ 3 - 2
src/views/business/production/salaryZero/index.vue

@@ -93,8 +93,9 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="100" />
-      <el-table-column label="纳税性质" align="center" min-width="130" prop="taxType" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName" min-width="130"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
+      <el-table-column label="纳税性质" align="center" min-width="150" prop="taxType" />
 
       <el-table-column label="所属期" min-width="90" align="center">
         <template #default="scope">

+ 2 - 1
src/views/business/socialSecurity/confirm/index.vue

@@ -68,7 +68,8 @@
       @selection-change="handleSelectionChange">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
       <el-table-column label="客户名称" align="center" prop="companyName" min-width="250" />
-      <el-table-column label="来源" align="center" prop="fromCompanyName" width="100" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" width="100" align="center" prop="taxType" />
       <el-table-column label="所属期" min-width="90" align="center">
         <template #default="scope">

+ 2 - 1
src/views/business/socialSecurity/declare/index.vue

@@ -62,7 +62,8 @@
       @selection-change="handleSelectionChange">
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
       <el-table-column label="客户名称" min-width="250" align="center" prop="companyName" />
-      <el-table-column label="来源" min-width="100" align="center" prop="fromCompanyName" />
+      <el-table-column label="来源" align="center" prop="fromCompanyName"  v-if="tenant.versionId === '4'" />
+      <el-table-column label="受委托方" align="center" prop="toTenantName" min-width="130" v-if="tenant.versionId !== '4'" />
       <el-table-column label="纳税性质" min-width="100" align="center" prop="taxType" />
       <el-table-column label="人员信息" min-width="60" align="center" prop="">
         <template #default="scope">