wangzhuo 1 năm trước cách đây
mục cha
commit
488bfa7abb

+ 9 - 0
src/api/invoice/payment.js

@@ -77,3 +77,12 @@ export function quashBilling(data) {
     data: data
   })
 }
+
+// 确认打印
+export function paymentConfirmPrinting(data) {
+  return request({
+    url: '/fwarehouse/payment/confirmprinting',
+    method: 'post',
+    data: data
+  })
+}

+ 60 - 0
src/api/system/bank.js

@@ -0,0 +1,60 @@
+import request from '@/utils/request'
+
+// 查询用户银行信息列表
+export function listBank(query) {
+  return request({
+    url: '/warehouse/bank/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询用户银行信息详细
+export function getBank(id) {
+  return request({
+    url: '/warehouse/bank/' + id,
+    method: 'get'
+  })
+}
+
+// 新增用户银行信息
+export function addBank(data) {
+  return request({
+    url: '/warehouse/bank',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改用户银行信息
+export function updateBank(data) {
+  return request({
+    url: '/warehouse/bank',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除用户银行信息
+export function delBank(id) {
+  return request({
+    url: '/warehouse/bank/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出用户银行信息
+export function exportBank(query) {
+  return request({
+    url: '/warehouse/bank/export',
+    method: 'get',
+    params: query
+  })
+}
+
+export function getListBankByUserId(id) {
+  return request({
+    url: '/warehouse/bank/user/' + id,
+    method: 'get'
+  })
+}

+ 81 - 0
src/views/basicdata/corps/index.vue

@@ -779,6 +779,67 @@
         </el-table-column>
       </el-table>
 
+      <h1>银行信息</h1>
+      <div>
+        <el-row :gutter="10" class="mb8">
+          <el-col :span="1.5">
+            <el-button
+              type="primary"
+              icon="el-icon-plus"
+              size="mini"
+              @click="addRow(bankList)"
+            >添加</el-button
+            >
+          </el-col>
+        </el-row>
+      </div>
+      <el-table
+        v-loading="loading"
+        :data="bankList"
+      >
+        <el-table-column label="银行名称" align="center" prop="fNo">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.cdbName" placeholder="编号" />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="银行账号" align="center" prop="fName">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.cdbNo" placeholder="银行账号" />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="开户名称" align="center" prop="fEname">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.accountTitle" placeholder="开户名称" />
+          </template>
+        </el-table-column>
+
+
+        <el-table-column label="备注" align="center" prop="remark">
+          <template slot-scope="scope">
+            <el-input v-model="scope.row.remark" placeholder="备注" />
+          </template>
+        </el-table-column>
+
+        <el-table-column
+          label="操作"
+          align="center"
+          class-name="small-padding fixed-width"
+          width="100"
+        >
+          <template slot-scope="scope">
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click.native.prevent="deleteRow(scope.$index, bankList)"
+            >删除</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -865,6 +926,7 @@ export default {
   components: {draggable},
   data() {
     return {
+      bankList: [],
       disCorps: false,
       //全屏放大
       dialogFull: false,
@@ -1248,6 +1310,7 @@ export default {
       this.reset();
       this.query();
       this.contactList = [];
+      this.bankList = [];
       if (Cookies.get("sysType") == 2) {
         this.form.fTypeid = [this.fTypeidOptions[0].dictValue];
         this.disCorps = true;
@@ -1265,6 +1328,12 @@ export default {
       getCorps(fId).then((response) => {
         this.form = response.data["corp"];
         var contactList1 = response.data["customerContact"];
+        var bankList = response.data["userBanksList"];
+        if (bankList != null) {
+          this.bankList = bankList
+        } else {
+          this.bankList = [];
+        }
         this.form.fTypeid = this.form.fTypeid
           .replace(/\[|]/g, "")
           .replace(/\"/g, "")
@@ -1308,6 +1377,12 @@ export default {
               "customerContacts",
               JSON.stringify(this.contactList)
             );
+
+
+            formDate.append(
+              "bankList",
+              JSON.stringify(this.bankList)
+            );
             addCorps(formDate).then((response) => {
               console.log("111");
               this.msgSuccess("修改成功");
@@ -1339,6 +1414,12 @@ export default {
               "customerContacts",
               JSON.stringify(this.contactList)
             );
+
+
+            formDate.append(
+              "bankList",
+              JSON.stringify(this.bankList)
+            );
             addCorps(formDate).then((response) => {
               console.log("222");
               this.msgSuccess("新增成功");

+ 15 - 3
src/views/costManagement/index.vue

@@ -142,9 +142,9 @@
         <table class="table table-striped table-bordered" align="center" valign="center">
 
           <tr>
-            <td colspan="8"></td>
-            <td>打印次数:{{ formList.printTime + 1 }}</td>
-            <td colspan="2">打印日期:{{ formList.printDate }}</td>
+            <td colspan="6"></td>
+            <td colspan="2">打印次数:{{ formList.printTime + 1 }}</td>
+            <td colspan="4">打印日期:{{ formList.printDate }}</td>
           </tr>
           <tr>
             <td style="font-size: 24px;font-weight:bold" class="column" colspan="11">{{ reverse }}</td>
@@ -218,6 +218,18 @@
             <td class="column" style="text-align: left;border: none;width: 15%">总经理:</td>
             <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
           </tr>
+
+          <tr>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="text-align: left;border: none;width: 15%">领款人:</td>
+            <td class="column" style="text-align: left;border: none;width: 10%"></td>
+          </tr>
         </table>
       </div>
       <span slot="footer" class="dialog-footer">

+ 2 - 2
src/views/finance/invoiceAccess/detailsPage.vue

@@ -309,9 +309,9 @@ export default {
           sums[index] = values.reduce((prev, curr) => {
             const value = Number(curr);
             if (!isNaN(value)) {
-              return prev + curr;
+              return Math.round(prev + curr * 100) / 100;
             } else {
-              return prev;
+              return Math.round(prev * 100) / 100;
             }
           }, 0);
           sums[index];

+ 2 - 3
src/views/finance/invoiceAccess/index.vue

@@ -57,7 +57,6 @@
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
           <el-button
-            v-hasPermi="['warehouse:fee:add']"
             icon="el-icon-plus"
             size="mini"
             type="primary"
@@ -270,9 +269,9 @@ export default {
           sums[index] = values.reduce((prev, curr) => {
             const value = Number(curr);
             if (!isNaN(value)) {
-              return prev + curr;
+              return Math.round(prev + curr * 100) / 100;
             } else {
-              return prev;
+              return Math.round(prev * 100) / 100;
             }
           }, 0);
           sums[index];

+ 9 - 1
src/views/finance/invoiceDestroy/detailsPage.vue

@@ -178,8 +178,13 @@
         title="导入明细"
         width="80%"
     >
+      备注:
+      <el-input v-model="remark" clearable style="width: 217px; margin-right: 10px"></el-input>
+
       <el-button type="primary" @click="handleQuery(1)">未开发票</el-button>
       <el-button type="primary" @click="handleQuery(2)">已开发票</el-button>
+
+
       <el-table v-loading="loading" :data="tableData" show-summary style="width: 100%" @selection-change="selectL">
         <el-table-column type="selection" width="55"/>
         <el-table-column align="center" label="系统编号" prop="fBillno"/>
@@ -226,6 +231,7 @@ export default {
   },
   data() {
     return {
+      remark: '',
       queryParams: {
         kpTime: new Date(),
         type: 1
@@ -457,7 +463,9 @@ export default {
 
           rest.isKp = kp
           this.isKp = kp
-          console.log(rest, 123231)
+          if (this.remark) {
+            rest.remarkInquire = this.remark
+          }
           listQuery(rest).then((res) => {
             this.tableData = res.rows
             this.tableData.forEach((item) => {

+ 2 - 3
src/views/finance/invoiceDestroy/index.vue

@@ -57,7 +57,6 @@
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
           <el-button
-              v-hasPermi="['warehouse:fee:add']"
               icon="el-icon-plus"
               size="mini"
               type="primary"
@@ -261,9 +260,9 @@ export default {
           sums[index] = values.reduce((prev, curr) => {
             const value = Number(curr);
             if (!isNaN(value)) {
-              return prev + curr;
+              return Math.round(prev + curr * 100) / 100;
             } else {
-              return prev;
+              return Math.round(prev * 100) / 100;
             }
           }, 0);
           sums[index];

+ 12 - 5
src/views/finance/invoicePayment/detailsPage.vue

@@ -402,11 +402,18 @@ export default {
       })
     },
     ttCoIdChange(id) {
-      getCorps(id).then(res => {
-        this.$set(this.queryParams, 'cdbName', res.data.corp.fBankname)
-        this.$set(this.queryParams, 'cdbNo', res.data.corp.fBankno)
-        this.$set(this.queryParams, 'accountTitle', res.data.corp.accountTitle)
-      })
+      if (id != null) {
+        getCorps(id).then(res => {
+          this.$set(this.queryParams, 'cdbName', res.data.corp.fBankname)
+          this.$set(this.queryParams, 'cdbNo', res.data.corp.fBankno)
+          this.$set(this.queryParams, 'accountTitle', res.data.corp.accountTitle)
+        })
+      } else {
+        this.$set(this.queryParams, 'cdbName', null)
+        this.$set(this.queryParams, 'cdbNo', null)
+        this.$set(this.queryParams, 'accountTitle', null)
+      }
+
     },
     submit() {
       this.$refs['queryForm'].validate((valid) => {

+ 2 - 3
src/views/finance/invoicePayment/index.vue

@@ -57,7 +57,6 @@
       <el-row :gutter="10" class="mb8">
         <el-col :span="1.5">
           <el-button
-            v-hasPermi="['warehouse:payment:add']"
             icon="el-icon-plus"
             size="mini"
             type="primary"
@@ -233,9 +232,9 @@ export default {
           sums[index] = values.reduce((prev, curr) => {
             const value = Number(curr);
             if (!isNaN(value)) {
-              return prev + curr;
+              return Math.round(prev + curr * 100) / 100;
             } else {
-              return prev;
+              return Math.round(prev * 100) / 100;
             }
           }, 0);
           sums[index];

+ 376 - 71
src/views/finance/invoicePaymentAccess/detailsPage.vue

@@ -11,9 +11,35 @@
     <el-form ref="queryForm" :inline="true" :model="queryParams" :rules="rules" label-width="68px">
       <el-row :gutter="15">
         <el-col :span="6">
+          <el-form-item label="开票日期起" label-width="120px" prop="kpTimeStart">
+            <el-date-picker
+              v-model="queryParams.kpTimeStart"
+              :disabled="searchCriteriaDisabled"
+              format="yyyy-MM-dd"
+              placeholder="选择销售日期起"
+              type="date"
+              value-format="yyyy-MM-dd 00:00:00"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="开票日期止" label-width="120px" prop="kpTimeTerminate">
+            <el-date-picker
+              v-model="queryParams.kpTimeTerminate"
+              :disabled="searchCriteriaDisabled"
+              format="yyyy-MM-dd"
+              placeholder="选择销售日期起"
+              type="date"
+              value-format="yyyy-MM-dd 23:59:59"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
           <el-form-item label="供应商" label-width="120px" prop="fCorpid">
             <el-select v-model="queryParams.fCorpid" :disabled="searchCriteriaDisabled" clearable filterable
-                       placeholder="请选择供应商"
+                       placeholder="请选择供应商" @change="fCorpidChange(queryParams.fCorpid)"
             >
               <el-option
                 v-for="item in vendorList"
@@ -25,46 +51,32 @@
             </el-select>
           </el-form-item>
         </el-col>
+      </el-row>
 
+      <el-row :gutter="15">
         <el-col :span="6">
           <el-form-item label="开票公司" label-width="120px" prop="kpCoId">
             <el-select v-model="queryParams.kpCoId" :disabled="searchCriteriaDisabled" clearable filterable
-                       placeholder="请选择项目"
+                       placeholder="请选择项目" @change="kpCoIdChange(queryParams.kpCoId)"
             >
               <el-option
-                v-for="item in fSbuList"
-                :key="item.fId"
-                :label="item.fName"
-                :value="item.fId"
+                v-for="item in fCorpBankList"
+                :key="item.accountTitle"
+                :label="item.accountTitle"
+                :value="item.accountTitle"
               >
               </el-option>
             </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="开票日期起" label-width="120px" prop="kpTimeStart">
-            <el-date-picker
-              v-model="queryParams.kpTimeStart"
-              :disabled="searchCriteriaDisabled"
-              format="yyyy-MM-dd"
-              placeholder="选择销售日期起"
-              type="date"
-              value-format="yyyy-MM-dd 00:00:00"
-            >
-            </el-date-picker>
+          <el-form-item label="收款银行名称" label-width="120px" prop="cdbName">
+            <el-input v-model="queryParams.skCdbName" :disabled="dataDisabled" style="width: 217px;"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label="开票日期止" label-width="120px" prop="kpTimeTerminate">
-            <el-date-picker
-              v-model="queryParams.kpTimeTerminate"
-              :disabled="searchCriteriaDisabled"
-              format="yyyy-MM-dd"
-              placeholder="选择销售日期起"
-              type="date"
-              value-format="yyyy-MM-dd 23:59:59"
-            >
-            </el-date-picker>
+          <el-form-item label="收款银行账号" label-width="120px" prop="cdbNo">
+            <el-input v-model="queryParams.skCdbNo" :disabled="dataDisabled" style="width: 217px;"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -86,6 +98,21 @@
             </el-select>
           </el-form-item>
         </el-col>
+
+        <el-col :span="6">
+          <el-form-item label="开户名称" label-width="120px" prop="accountTitle">
+            <el-select v-model="queryParams.accountTitle" :disabled="dataDisabled" clearable filterable
+                       placeholder="请选择收款公司" @change="accountTitleChange(queryParams.accountTitle)">
+              <el-option
+                v-for="item in BankList"
+                :key="item.accountTitle"
+                :label="item.accountTitle"
+                :value="item.accountTitle"
+              >
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
         <el-col :span="6">
           <el-form-item label="银行名称" label-width="120px" prop="cdbName">
             <el-input v-model="queryParams.cdbName" :disabled="dataDisabled" style="width: 217px;"></el-input>
@@ -96,22 +123,10 @@
             <el-input v-model="queryParams.cdbNo" :disabled="dataDisabled" style="width: 217px;"></el-input>
           </el-form-item>
         </el-col>
-
-
-        <!--        <el-col :span="6">-->
-        <!--          <el-form-item label="金额合计" label-width="120px" prop="sumMoney">-->
-        <!--            <el-input v-model="queryParams.sumMoney" :disabled="dataDisabled"></el-input>-->
-        <!--          </el-form-item>-->
-        <!--        </el-col>-->
       </el-row>
 
       <el-row :gutter="15">
         <el-col :span="6">
-          <el-form-item label="开户名称" label-width="120px" prop="remark">
-            <el-input v-model="queryParams.accountTitle" :disabled="dataDisabled" style="width: 217px;"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="6">
           <el-form-item label="付款类型" label-width="120px" prop="remark">
             <el-select v-model="queryParams.payTypes" :disabled="dataDisabled" placeholder="请选择"
                        @change="$set(queryParams, 'chequeNo', null)"
@@ -133,9 +148,9 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="6">
+        <el-col :span="12">
           <el-form-item label="备注" label-width="120px" prop="remark">
-            <el-input v-model="queryParams.remark" :disabled="dataDisabled" style="width: 217px;"></el-input>
+            <el-input v-model="queryParams.remark" :disabled="dataDisabled" style="width: 640px;"></el-input>
           </el-form-item>
         </el-col>
       </el-row>
@@ -158,6 +173,7 @@
                    type="primary" @click="approvalRevocation"
         >撤销付费
         </el-button>
+        <el-button type="info" @click="printFunction" size="mini">打印</el-button>
         <!--        <el-button v-else :disabled="queryParams.auditType != 2" size="mini" icon="el-icon-ice-cream-round" type="primary" @click="billings(2)">撤销付费</el-button>-->
         <!--        <el-button @click="check(queryParams, 1)">审批进度</el-button>-->
         <el-button size="mini" type="primary" @click="addOrUpdateHandle">查看审批流</el-button>
@@ -184,31 +200,11 @@
           ></el-input-number>
         </template>
       </el-table-column>
-
-      <!--      <el-table-column align="center" label="付费类型" prop="payType" width="140px">-->
-      <!--        <template slot-scope="{ row }">-->
-      <!--          <el-select v-model="row.payType" :disabled="datasDisabled" placeholder="请选择" @change="row.chequeNo = null">-->
-      <!--            <el-option-->
-      <!--                v-for="item in payTypeList"-->
-      <!--                :key="item.dictSort"-->
-      <!--                :label="item.dictLabel"-->
-      <!--                :value="item.dictSort"-->
-      <!--            >-->
-      <!--            </el-option>-->
-      <!--          </el-select>-->
-      <!--        </template>-->
-      <!--      </el-table-column>-->
-      <!--      <el-table-column align="center" label="支票号" prop="chequeNo" width="140px">-->
-      <!--        <template slot-scope="{ row }">-->
-      <!--          <el-input v-model="row.chequeNo" :disabled="datasDisabled || row.payType != 1" placeholder="请输入内容"></el-input>-->
-      <!--        </template>-->
-      <!--      </el-table-column>-->
       <el-table-column align="center" label="备注" prop="remark"/>
       <el-table-column align="center" class-name="small-padding fixed-width" label="操作">
         <template slot-scope="scope">
           <el-button
-            v-hasPermi="['warehouse:fee:remove']"
-            :disabled="queryParams.payType == 2"
+            :disabled="queryParams.auditType == 2"
             icon="el-icon-delete"
             size="mini"
             type="text"
@@ -276,6 +272,123 @@
         @refreshDataList="returnData"
       ></approval-comments>
     </div>
+
+    <!-- 打印 -->
+    <el-dialog
+      :title="`打印`"
+      :visible.sync="printTheDialogBox"
+      :fullscreen="true"
+      style="padding: 0;margin:0"
+      width="70%"
+    >
+      <div ref="print">
+        <table class="table table-striped table-bordered" align="center" valign="center">
+          <tr>
+            <td colspan="6"></td>
+            <td colspan="2">打印次数:{{ printData.printQuantity + 1 }}</td>
+            <td colspan="3">打印日期:{{ printData.fPrintTime }}</td>
+          </tr>
+          <tr>
+            <td style="font-size: 24px;font-weight:bold" class="column" colspan="12">付费</td>
+          </tr>
+          <tr>
+            <td class="column" rowspan="4">收款方</td>
+            <td class="column" colspan="2">供应商</td>
+            <td class="column" colspan="2">{{ printData.fCorpid }}</td>
+            <td class="column" rowspan="4">付款方</td>
+            <td class="column" colspan="2">付款公司</td>
+            <td class="column" colspan="3">{{ printData.ttCoId }}</td>
+          </tr>
+          <tr>
+            <td class="column" colspan="2">开票公司</td>
+            <td class="column" colspan="2">{{ printData.kpCoId }}</td>
+            <td class="column" colspan="2">开户名称</td>
+            <td class="column" colspan="3">{{ printData.accountTitle }}</td>
+          </tr>
+          <tr>
+            <td class="column" colspan="2">银行名称</td>
+            <td class="column" colspan="2">{{ printData.skCdbName }}</td>
+            <td class="column" colspan="2">银行名称</td>
+            <td class="column" colspan="3">{{ printData.cdbName }}</td>
+          </tr>
+          <tr>
+            <td class="column" colspan="2">银行账号</td>
+            <td class="column" colspan="2">{{ printData.skCdbNo }}</td>
+            <td class="column" colspan="2">银行账号</td>
+            <td class="column" colspan="3">{{ printData.cdbNo }}</td>
+          </tr>
+
+
+
+          <tr>
+            <td class="column">付款类型</td>
+            <td class="column" colspan="2">{{ printData.payTypes }}</td>
+            <td class="column">支票号</td>
+            <td class="column" colspan="2">{{ printData.chequeNo }}</td>
+            <td class="column">备注</td>
+            <td class="column" colspan="4">{{ printData.remark }}</td>
+          </tr>
+
+
+          <tr>
+            <td class="column">序号</td>
+            <td class="column">发票号</td>
+            <td class="column" colspan="3">开票公司</td>
+            <td class="column" colspan="3">项目名称</td>
+<!--            <td class="column">金额</td>-->
+            <td class="column">付款金额</td>
+            <td class="column" colspan="3">备注</td>
+          </tr>
+          <!-- feeDoList -->
+          <tr v-for="(item,index) in xsckXzprintDataList" :key="index">
+            <td class="column">{{ Number(index) + 1 }}</td>
+            <td class="column">{{ item.invoiceNo }}</td>
+            <td class="column" colspan="3">{{ item.fSbuName }}</td>
+            <td class="column" colspan="3">{{ item.fGoodsName }}</td>
+<!--            <td class="column">{{ item.sumMoney }}</td>-->
+            <td class="column">{{ item.proceeds }}</td>
+            <td class="column" colspan="3">{{ item.remark }}</td>
+          </tr>
+
+          <tr>
+            <td class="column">付费日期</td>
+            <td class="column" colspan="3">{{ printData.createTime }}</td>
+            <td class="column">合计金额(小写)</td>
+            <td class="column" colspan="2">{{ printData.sumMoney }}</td>
+            <td class="column">合计金额(大写)</td>
+            <td class="column" colspan="3">{{ printData.sumMoneyZh }}</td>
+          </tr>
+        </table>
+
+        <table class="table table-striped table-bordered" align="center" valign="center">
+          <tr>
+            <td class="column" style="width: 15%;border: none">提交人:{{ printData.createBy }}</td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none">财务主管:{{ printData.firstLevelReviewerName }}</td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none">财务经理:{{ printData.secondaryReviewerName }}</td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="text-align: left;border: none;width: 15%">总经理:</td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+          </tr>
+          <tr>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="width: 15%;border: none"></td>
+            <td class="column" colspan="2" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="text-align: left;border: none;width: 10%"></td>
+            <td class="column" style="text-align: left;border: none;width: 15%">领款人:</td>
+            <td class="column" style="text-align: left;border: none;width: 10%"></td>
+          </tr>
+        </table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="printTheDialogBox = false">取 消</el-button>
+        <el-button type="primary" @click="confirmPrinting">打印</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -284,13 +397,16 @@ import { company, queryItem } from '@/api/purchaseIssue/index'
 import { addPayment, getPayment, payForIt, quashBilling, updatePayment } from '@/api/invoice/payment'
 import { listInvoice } from '@/api/invoice/invoice'
 import { getCorps } from '@/api/basicdata/corps'
-import { delPaymentDetails } from '../../../api/invoice/payment'
+import { getListBankByUserId } from '@/api/system/bank'
+import { delPaymentDetails, paymentConfirmPrinting } from '../../../api/invoice/payment'
 
 import ApprovalComments from '@/views/startApproval'
 import AddOrUpdate from '@/views/viewApproval'
 import { parseTime } from '../../../utils/ruoyi'
 
 import { revocation } from '@/api/finance/payment'
+import Cookies from 'js-cookie'
+import { getApproved } from '../../../api/finance/applyForInvoice/chargeInvoice'
 
 export default {
   name: 'Fees',
@@ -305,6 +421,9 @@ export default {
   },
   data() {
     return {
+      printData: {},
+      xsckXzprintDataList: [],
+      printTheDialogBox: false,
       addOrUpdateVisible: false,
       addOrUpdateVisib: false,
       queryParams: {
@@ -335,6 +454,8 @@ export default {
       vendorMap: {},
       payTypeList: [],
       invoiceTypeList: [],
+      BankList: [],
+      fCorpBankList: [],
       rules: {
         fCorpid: [
           { required: true, message: ' ', trigger: 'change' }
@@ -574,6 +695,11 @@ export default {
           message: '请先保存数据',
           type: 'warning'
         })
+      } else if (this.xsckXzDataList.length == 0) {
+        this.$message({
+          message: '请添加单据',
+          type: 'warning'
+        })
       } else {
         if (kpType == 1) {
           payForIt(this.queryParams).then(res => {
@@ -630,13 +756,47 @@ export default {
       })
     },
     ttCoIdChange(id) {
-      getCorps(id).then(res => {
-        // this.queryParams.cdbName = res.data.corp.fBankname
-        // this.queryParams.cdbNo = res.data.corp.fBankno
-        // this.queryParams.accountTitle = res.data.corp.accountTitle
-        this.$set(this.queryParams, 'cdbName', res.data.corp.fBankname)
-        this.$set(this.queryParams, 'cdbNo', res.data.corp.fBankno)
-        this.$set(this.queryParams, 'accountTitle', res.data.corp.accountTitle)
+      if (id) {
+        getListBankByUserId(id).then(res => {
+          this.BankList = res.data
+        })
+      } else {
+        this.BankList = [];
+        this.$set(this.queryParams, 'cdbName', null)
+        this.$set(this.queryParams, 'cdbNo', null)
+        this.$set(this.queryParams, 'accountTitle', null)
+      }
+    },
+    accountTitleChange(accountTitle) {
+      this.BankList.forEach(data => {
+        if (data.accountTitle == accountTitle) {
+          this.$set(this.queryParams, 'cdbName', data.cdbName)
+          this.$set(this.queryParams, 'cdbNo', data.cdbNo)
+          // this.$set(this.queryParams, 'accountTitle', data.accountTitle)
+        }
+      })
+    },
+    fCorpidChange(fCorpid) {
+      if (fCorpid) {
+        getListBankByUserId(fCorpid).then(res => {
+          this.fCorpBankList = res.data
+        })
+      } else {
+        this.fCorpBankList = [];
+        this.$set(this.queryParams, 'skCdbName', null)
+        this.$set(this.queryParams, 'skCdbNo', null)
+        this.$set(this.queryParams, 'kpCoId', null)
+      }
+    },
+    kpCoIdChange(kpCoId) {
+      this.fCorpBankList.forEach(data => {
+        if (data.accountTitle == kpCoId) {
+          console.log(data.kpCoId)
+          console.log(data.cdbName)
+          this.$set(this.queryParams, 'skCdbName', data.cdbName)
+          this.$set(this.queryParams, 'skCdbNo', data.cdbNo)
+          // this.$set(this.queryParams, 'accountTitle', data.accountTitle)
+        }
       })
     },
     submit() {
@@ -748,7 +908,7 @@ export default {
     xsckClick() {
       for (let i = 0; i < this.xsckXzDataList.length; i++) {
         for (let j = 0; j < this.listSelect.length; j++) {
-          if (this.xsckXzDataList[i].fId == this.listSelect[j].fId) {
+          if (this.xsckXzDataList[i].invoiceId == this.listSelect[j].id) {
             var a = j + 1
             this.$message({
               message: `选中的第${a}条数据重复`,
@@ -790,8 +950,72 @@ export default {
     selectL(selection, row) {
       this.listSelect = selection
       this.listSelectId = selection.map(item => item.id)
-    }
+    },
+    // 打印
+    printFunction() {
+
+      let data = {
+        id: this.queryParams.id,
+        actId: 580
+      }
+      data.actId = 580
+
+      getApproved(data).then(res => {
+        var approval = res.data.pop()
+        if (approval == null) {
+          this.$message.warning('未审核或未通过审核')
+          return
+        }
+        if (approval.auditStatus != 'A') {
+          this.$message.warning('未审核或未通过审核')
+          return
+        }
 
+        getPayment(this.detailData.id).then(res => {
+          this.printData = res.data
+          this.xsckXzprintDataList = res.data.invoicePaymentDetailList
+
+          this.printData.fCorpid = this.vendorMap[this.printData.fCorpid]
+          // 收款公司
+          this.printData.ttCoId = this.ttCoMap[this.printData.ttCoId]
+
+          for (let payType of this.payTypeList) {
+            if (this.printData.payTypes == payType.dictSort) {
+              this.printData.payTypes = payType.dictLabel
+            }
+          }
+
+          this.printData.createTime = this.printData.createTime.slice(0, 10)
+
+
+          let printDate = new Date();
+          this.printData.fPrintTime = printDate.toLocaleString();
+
+          this.xsckXzprintDataList.forEach(data => {
+            data.fSbuName = this.fSbuMap[data.fSbu]
+            data.fGoodsName = this.fGoodsMap[data.fGoodsid]
+          })
+
+          this.printTheDialogBox = true;
+        })
+      })
+    },
+    // 确认打印
+    confirmPrinting() {
+      // 添加打印次数
+      let data = {
+        id : this.printData.id + '',
+        printTime : this.printData.fPrintTime
+      };
+
+      paymentConfirmPrinting(data).then(res => {
+        if (res.code === 200) {
+          this.$print(this.$refs.print)
+        } else {
+          this.$message.error('修改打印此处出错');
+        }
+      })
+    }
   }
 }
 </script>
@@ -800,4 +1024,85 @@ export default {
 ::v-deep.el-form-item {
   margin-bottom: 6px;
 }
+.tabSetting {
+  display: flex;
+  justify-content: flex-end;
+}
+.listStyle {
+  display: flex;
+  border-top: 1px solid #dcdfe6;
+  border-left: 1px solid #dcdfe6;
+  border-right: 1px solid #dcdfe6;
+}
+.listStyle:last-child {
+  border-bottom: 1px solid #dcdfe6;
+}
+.progress {
+  display: flex;
+  align-items: center;
+  padding: 2px;
+  background-color: rgba(0, 0, 0, 0.05);
+  height: 100%;
+}
+.avue-crud__dialog__header {
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -ms-flex-pack: justify;
+  justify-content: space-between;
+}
+.el-dialog__title {
+  color: rgba(0, 0, 0, 0.85);
+  font-weight: 500;
+  word-wrap: break-word;
+}
+.avue-crud__dialog__menu {
+  padding-right: 20px;
+  float: left;
+}
+.avue-crud__dialog__menu i {
+  color: #909399;
+  font-size: 15px;
+}
+.el-icon-full-screen {
+  cursor: pointer;
+}
+.el-icon-full-screen:before {
+  content: "\e719";
+}
+</style>
+<style lang="scss">
+.el-dialog__body{
+  padding: 0 20px 30px 20px;
+}
+
+.table {
+  border-collapse: collapse;
+  border-spacing: 0;
+  background-color: transparent;
+  display: table;
+  width: 100%;
+  max-width: 100%;
+  margin: 0 auto;
+}
+
+.table td {
+  text-align: center;
+  vertical-align: middle;
+  font-size: 14px;
+  color: #000000;
+  padding: 8px 12px;
+}
+
+.column {
+  border: 1px solid #000;
+}
+
+.app-container >>> .el-form-item {
+  margin-bottom: 0;
+}
 </style>

+ 2 - 2
src/views/finance/invoicePaymentAccess/index.vue

@@ -257,9 +257,9 @@ export default {
           sums[index] = values.reduce((prev, curr) => {
             const value = Number(curr);
             if (!isNaN(value)) {
-              return prev + curr;
+              return Math.round(prev + curr * 100) / 100;
             } else {
-              return prev;
+              return Math.round(prev * 100) / 100;
             }
           }, 0);
           sums[index];