Procházet zdrojové kódy

Merge branch 'master' of http://47.100.3.209:3000/gdc/yiliangyiyun-pc

zhongtianhaoyuan před 3 roky
rodič
revize
b06000e255

+ 43 - 32
src/api/V2/statisticalReport/index.js

@@ -1,64 +1,64 @@
-//采购入库报表
+//期货采购入库报表
 export const API_GET_PURCHRECEIPT = '/purchaseReceiptReport/selectPurchaseOrder'
-// 销售平仓合同
+// 期货销售平仓合同
 export const API_GET_SALE_CONTRACTNO = '/salesClosingReport/selectContractNoList'
-// 销售出库合同
+// 期货销售出库合同
 export const API_GET_SALE_OUT_CONTRACTNO = '/salesDeliveryReport/selectContractNoList'
-// 采购平仓合同
+// 期货采购平仓合同
 export const API_GET_PURCHASE_CONTRACTNO = '/purchaseClosingReport/selectContractNoList'
-// 采购入库合同
+// 期货采购入库合同
 export const API_GET_PURCHASE_IN_CONTRACTNO = '/purchaseReceiptReport/selectContractNoList'
-// 采购入库修改
+// 期货采购入库修改
 export const API_POST_AMEND_PURCHRECEIPT = '/purchaseReceiptReport/api/editProcurementReceiptReport'
-// 采购入库补货结转
+// 期货采购入库补货结转
 export const API_POST_REPLANISHENT = '/purchaseReceiptReport/api/replenishment'
-// 采购入库补货结转其他合同
+// 期货采购入库补货结转其他合同
 export const API_GET_SELECTCONTRACTNO = '/purchaseReceiptReport/selectContractNo'
-// 采购入库审核
+// 期货采购入库审核
 export const API_POST_AUDIT = '/purchaseReceiptReport/api/examinePurchaseOrder'
-// 采购入库付款
+// 期货采购入库付款
 export const API_POST_PAYMONEY = '/purchaseReceiptReport/api/payMoney'
-// 采购订单flag0 补充定金 1解冻定金 2完成 3更改基差
+// 期货采购订单flag0 补充定金 1解冻定金 2完成 3更改基差
 export const API_POST_EDITSTATUS = '/purchaseOrder/api/editStatus'
-//采购状态,基差,单价修改 
+//期货采购状态,基差,单价修改 
 export const API_POST_PROCUREMENT_EDITSTATUS = '/procurementPlanInfo/api/editStatus'
-// 采购订单删除
+// 期货采购订单删除
 export const API_POST_DELETEPURCHASE = '/purchaseOrder/api/deletePurchaseOrder'
-// 采购入库报表头部信息
+// 期货采购入库报表头部信息
 export const API_GET_SELECTORDER= '/purchaseReceiptReport/selectOrder'
-// 销售平仓审核、通过、驳回
+// 期货销售平仓审核、通过、驳回
 export const API_POST_SALE_EXAMINE ='/salesClosingReport/api/examine'
-// 销售平仓列表
+// 期货销售平仓列表
 export const API_GET_SALE_LIST ='/salesClosingReport/selectSalesClosingOrder'
-// 销售平仓付款
+// 期货销售平仓付款
 export const API_POST_PAY_MONEY ='/salesClosingReport/api/payMoney'
-// 销售平仓收款
+// 期货销售平仓收款
 export const API_POST_COLLECT_MONEY ='/salesClosingReport/api/collectMoney'
-//采购平仓报表
+//期货采购平仓报表
 export const API_GET_CLOSE = '/purchaseClosingReport/selectPurchaseOrder'
-//采购平仓审核
+//期货采购平仓审核
 export const API_POST_CLOAEAUDIT = '/purchaseClosingReport/api/examine'
-//采购平仓付款
+//期货采购平仓付款
 export const API_POST_CLOSEPAYMONEY = '/purchaseClosingReport/api/payMoney'
-//采购平仓收款
+//期货采购平仓收款
 export const API_POST_CLOSECOLLMONEY = '/purchaseClosingReport/api/collectMoney'
-//采购入库开发票
+//期货采购入库开发票
 export const API_POST_OPENINVOICE = '/purchaseReceiptReport/api/openInvoice'
-//采购入库批量开发票
+//期货采购入库批量开发票
 export const API_POST_BATCHOPENINVOICE = '/purchaseReceiptReport/api/openInvoiceList'
-//销售出库报表
+//期货销售出库报表
 export const API_GET_SALELIST = '/salesDeliveryReport/selectSalesDeliveryReport'
-// 销售出库出纳收款
+// 期货销售出库出纳收款
 export const API_POST_CASHIER_PAYMENT = '/salesDeliveryReport/api/collectMoney'
-// 销售出库开发票
+// 期货销售出库开发票
 export const API_POST_SALES_INVOICING = '/salesDeliveryReport/api/openInvoice'
-// 销售出库批量开发票
+// 期货销售出库批量开发票
 export const API_POST_SALES_BATCH_INVOICING = '/salesDeliveryReport/api/openInvoiceList'
-// 销售出库最终结算价
+// 期货销售出库最终结算价
 export const API_POST_FINAL_SETTLEMENT_PRICE = '/salesDeliveryReport/api/editSalesDeliveryReport'
-// 销售出库审核
+// 期货销售出库审核
 export const API_POST_ISSUE_APPROVAL = '/salesDeliveryReport/api/examineSalesDeliveryReport'
-// 销售出库报表头部信息
+// 期货销售出库报表头部信息
 export const API_GET_SELECTSALEORDER= '/salesDeliveryReport/selectOrder'
 // 汽运结算报表
 export const API_GET_AUTOSETTLEMENT= '/tranSettlementReport/selectTranSettlementReport'
@@ -69,4 +69,15 @@ export const API_GET_AUTOCONTRACT= '/tranSettlementReport/selectContractNoList'
 // 汽运结算报表付款
 export const API_POST_AUTOPAYMONEY= '/tranSettlementReport/api/payMoney'
 // 汽运结算报表批量开发票
-export const API_POST_OPENINVOICELIST= '/tranSettlementReport/api/openInvoiceList'
+export const API_POST_OPENINVOICELIST= '/tranSettlementReport/api/openInvoiceList'
+
+//现货采购入库报表
+export const API_GET_STOCKPURCHASERECEIPT = '/stockPurchaseReceiptReport/selectPurchaseOrder'
+//现货采购入库付款
+export const API_POST_STOCKPURCHASEPAYMONEY = '/stockPurchaseReceiptReport/api/payMoney'
+//现货采购入库 定金/备注
+export const API_POST_ADDDISORREMARKS = '/stockPurchaseReceiptReport/api/disAndRemark'
+//现货采购入库修改结算重量
+export const API_POST_EDITSETTLEMENTWEIGHT = '/stockPurchaseReceiptReport/api/edit'
+//现货采购入库合同
+export const API_GET_STOCK_PURCHASE_CONTRACTNO = '/stockPurchaseReceiptReport/selectContractNoList'

+ 12 - 9
src/lang/zh.js

@@ -534,11 +534,13 @@ export default {
     salesOrderList: '销售订单',
     //统计报表
     statisticalReport:'统计报表',
-    purchaseReceiptStatisticsList:'采购入库报表',
-    purchaseClosingCashierList:'采购平仓报表',
-    salesDeliveryReportList:'销售出库报表',
-    salesClosingCashierList:'销售平仓报表',
+    purchaseReceiptStatisticsList:'期货采购入库报表',
+    purchaseClosingCashierList:'期货采购平仓报表',
+    salesDeliveryReportList:'期货销售出库报表',
+    salesClosingCashierList:'期货销售平仓报表',
     autoSettlementList:'汽运结算报表',
+    stockSaleOutReportList:'现货销售出库报表',
+    stockPurchaseReceiptReportList:'现货采购入库报表',
     // 财务管理
     financialManagement:'财务管理',
     collectionManagementList:'收款管理',
@@ -4827,11 +4829,12 @@ export default {
   //统计管理
 
   statisticalReport:{
-    purchaseReceiptStatisticsList:'采购入库报表',
-    purchaseClosingCashierList:'采购平仓报表',
-    salesDeliveryReportList:'销售出库报表',
-    salesClosingCashierList:'销售平仓报表',
-
+    purchaseReceiptStatisticsList:'期货采购入库报表',
+    purchaseClosingCashierList:'期货采购平仓报表',
+    salesDeliveryReportList:'期货销售出库报表',
+    salesClosingCashierList:'期货销售平仓报表',
+    stockSaleOutReportList:'现货销售出库报表',
+    stockPurchaseReceiptReportList:'现货采购入库报表'
   },
   financialManagement:{
     collectionManagementList:'收款管理',

+ 47 - 30
src/model/statisticalReport/index.js

@@ -33,66 +33,71 @@ import {
     API_POST_EDITAUTOSETTLEMENT,
     API_GET_AUTOCONTRACT,
     API_POST_AUTOPAYMONEY,
-    API_POST_OPENINVOICELIST
+    API_POST_OPENINVOICELIST,
+    API_GET_STOCKPURCHASERECEIPT,
+    API_POST_STOCKPURCHASEPAYMONEY,
+    API_POST_ADDDISORREMARKS,
+    API_POST_EDITSETTLEMENTWEIGHT,
+    API_GET_STOCKPURCHASECONTRACTNOLIST
 } from '@/api/V2/statisticalReport'
-//采购入库报表
+//期货采购入库报表
 export const getpurchreceipt = appRx.get(API_GET_PURCHRECEIPT, errorCatcher, errorHandle, filter)
-//销售平仓合同
+//期货销售平仓合同
 export const getsaleclosingcontractno = appRx.get(API_GET_SALE_CONTRACTNO, errorCatcher, errorHandle, filter)
-//销售出库合同
+//期货销售出库合同
 export const getsaleoutcontractno = appRx.get(API_GET_SALE_OUT_CONTRACTNO, errorCatcher, errorHandle, filter)
-//采购平仓合同
+//期货采购平仓合同
 export const getpurchasecontractno = appRx.get(API_GET_PURCHASE_CONTRACTNO, errorCatcher, errorHandle, filter)
-//采购入库合同
+//期货采购入库合同
 export const getpurchaseincontractno = appRx.get(API_GET_PURCHASE_IN_CONTRACTNO, errorCatcher, errorHandle, filter)
-//采购入库修改
+//期货采购入库修改
 export const postamend = appRx.post(API_POST_AMEND_PURCHRECEIPT, errorCatcher, errorHandle, filter)
-//采购入库补货结转
+//期货采购入库补货结转
 export const postreplanishent = appRx.post(API_POST_REPLANISHENT, errorCatcher, errorHandle, filter)
-//采购入库补货结转其他合同
+//期货采购入库补货结转其他合同
 export const getselectctcontractno = appRx.get(API_GET_SELECTCONTRACTNO, errorCatcher, errorHandle, filter)
-//采购入库审核
+//期货采购入库审核
 export const postaudit = appRx.post(API_POST_AUDIT, errorCatcher, errorHandle, filter)
-//采购入库付款
+//期货采购入库付款
 export const postpaymoney = appRx.post(API_POST_PAYMONEY, errorCatcher, errorHandle, filter)
-//采购入库报表头部
+//期货采购入库报表头部
 export const getorder = appRx.get(API_GET_SELECTORDER, errorCatcher, errorHandle, filter)
-//销售平仓审核
+//期货销售平仓审核
 export const postsaleaudit = appRx.post(API_POST_SALE_EXAMINE, errorCatcher, errorHandle, filter)
-//销售平仓列表
+//期货销售平仓列表
 export const getsalelist = appRx.get(API_GET_SALE_LIST, errorCatcher, errorHandle, filter)
-//销售平仓付款
+//期货销售平仓付款
 export const postsalepaymoney= appRx.post(API_POST_PAY_MONEY, errorCatcher, errorHandle, filter)
-//销售平仓收款
+//期货销售平仓收款
 export const postsalecollectmoney= appRx.post(API_POST_COLLECT_MONEY, errorCatcher, errorHandle, filter)
-//采购平仓报表
+//期货采购平仓报表
 export const getclose = appRx.get(API_GET_CLOSE, errorCatcher, errorHandle, filter)
-//采购平仓审核
+//期货采购平仓审核
 export const closeaudit = appRx.post(API_POST_CLOAEAUDIT, errorCatcher, errorHandle, filter)
-//采购平仓付款
+//期货采购平仓付款
 export const closepaymoney = appRx.post(API_POST_CLOSEPAYMONEY, errorCatcher, errorHandle, filter)
-//采购平仓收款
+//期货采购平仓收款
 export const closecollmoney = appRx.post(API_POST_CLOSECOLLMONEY, errorCatcher, errorHandle, filter)
-//采购入库开发票
+//期货采购入库开发票
 export const postopeninvoice = appRx.post(API_POST_OPENINVOICE, errorCatcher, errorHandle, filter)
-//采购入库批量开发票
+//期货采购入库批量开发票
 export const postbatchopeninvoice = appRx.post(API_POST_BATCHOPENINVOICE, errorCatcher, errorHandle, filter)
 
 
 
-//销售出库报表
+//期货销售出库报表
 export const salelist = appRx.get(API_GET_SALELIST, errorCatcher, errorHandle, filter)
-//销售出库出纳收款
+//期货销售出库出纳收款
 export const cashierpayment = appRx.post(API_POST_CASHIER_PAYMENT, errorCatcher, errorHandle, filter)
-//销售出库开发票
+//期货销售出库开发票
 export const salesinvoicing = appRx.post(API_POST_SALES_INVOICING, errorCatcher, errorHandle, filter)
-//销售出库批量开发票
+//期货销售出库批量开发票
 export const salesbatchinvoicing = appRx.post(API_POST_SALES_BATCH_INVOICING, errorCatcher, errorHandle, filter)
-//销售出库最终结算价
+//期货销售出库最终结算价
 export const finalsettlementprice = appRx.post(API_POST_FINAL_SETTLEMENT_PRICE, errorCatcher, errorHandle, filter)
-//销售出库审核
+//期货销售出库审核
 export const issueapproval = appRx.post(API_POST_ISSUE_APPROVAL, errorCatcher, errorHandle, filter)
-//销售出库报表头部
+//期货销售出库报表头部
 export const getsaleorder = appRx.get(API_GET_SELECTSALEORDER, errorCatcher, errorHandle, filter)
 
 
@@ -106,4 +111,16 @@ export const autocontract = appRx.get(API_GET_AUTOCONTRACT, errorCatcher, errorH
 // 汽运结算报表付款
 export const autopaymoney = appRx.post(API_POST_AUTOPAYMONEY, errorCatcher, errorHandle, filter)
 // 汽运结算报表批量开发票
-export const openinvoicelist = appRx.post(API_POST_OPENINVOICELIST, errorCatcher, errorHandle, filter)
+export const openinvoicelist = appRx.post(API_POST_OPENINVOICELIST, errorCatcher, errorHandle, filter)
+
+
+//现货采购入库报表
+export const getStockPurchaseReceiptList = appRx.get(API_GET_STOCKPURCHASERECEIPT, errorCatcher, errorHandle, filter)
+//现货采购入库付款
+export const stockPurchasePayMoney = appRx.post(API_POST_STOCKPURCHASEPAYMONEY, errorCatcher, errorHandle, filter)
+//现货采购入库 定金/备注
+export const addDisOrRemarks = appRx.post(API_POST_ADDDISORREMARKS, errorCatcher, errorHandle, filter)
+//现货采购入库修改结算重量
+export const editSettlementWeight = appRx.post(API_POST_EDITSETTLEMENTWEIGHT, errorCatcher, errorHandle, filter)
+//现货采购入库合同编号下拉
+export const getStockPurchaseContractNoList = appRx.get(API_GET_STOCKPURCHASECONTRACTNOLIST, errorCatcher, errorHandle, filter)

+ 3 - 3
src/views/houseSelfCollect/acquisitionManagementAdd.vue

@@ -799,7 +799,7 @@
                     confirmButtonText: '确定',
                     type: 'warning',
                   }).then(() => {
-                    that.audit(this.baseInfoForm,0,true,2)
+                    that.audit(this.baseInfoForm,true,2)
                   })
               })
             }
@@ -807,11 +807,11 @@
         }
       },
       //审核
-      audit(item,status, status2, reason) {
+      audit(item,status, status2) {
           posthandle({
             taskId: item.taskId,
             approved: status,
-            auditMind: reason != undefined ? '已驳回' : '34',
+            auditMind: '',
             needReapply: status2 != undefined ? true : false,
           })
             .toPromise()

+ 64 - 34
src/views/statisticalReport/component/routers/route.js

@@ -12,7 +12,7 @@ const statisticalReportRouter = {
     icon: '-tongjibaobiao'
   },
   children: [
-      // 采购入库报表统计
+    // 期货采购入库报表统计
     {
       path: 'purchaseReceiptStatisticsList',
       component: () =>
@@ -27,22 +27,22 @@ const statisticalReportRouter = {
         // module: 'procurement.sparepart.applDetail'
       }
     },
-      //采购平仓报表
-      {
-          path: 'purchaseClosingCashierList',
-          component: () =>
-          import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/purchaseClosingCashierList'),
-          name: 'purchaseClosingCashierList',
-          meta: {
-          title: 'purchaseClosingCashierList',
-          shortcutEntrance: 'statisticalReport',
-          module: 'report.procurementCloseReport',
-          permissicon: [],
-          keepAlive: true
-          // module: 'procurement.sparepart.applDetail'
-          }
-      },
-      // 销售出库报表统计
+    //期货采购平仓报表
+    {
+      path: 'purchaseClosingCashierList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/purchaseClosingCashierList'),
+      name: 'purchaseClosingCashierList',
+      meta: {
+        title: 'purchaseClosingCashierList',
+        shortcutEntrance: 'statisticalReport',
+        module: 'report.procurementCloseReport',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      }
+    },
+    // 期货销售出库报表统计
     {
       path: 'salesDeliveryReportList',
       component: () =>
@@ -57,37 +57,67 @@ const statisticalReportRouter = {
         // module: 'procurement.sparepart.applDetail'
       }
     },
-      //销售平仓报表
-      {
-        path: 'salesClosingCashierList',
-        component: () =>
+    //期货销售平仓报表
+    {
+      path: 'salesClosingCashierList',
+      component: () =>
         import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/salesClosingCashierList'),
-        name: 'salesClosingCashierList',
-        meta: {
+      name: 'salesClosingCashierList',
+      meta: {
         title: 'salesClosingCashierList',
         shortcutEntrance: 'statisticalReport',
         module: 'report.saleCloseReport',
         permissicon: [],
         keepAlive: true
         // module: 'procurement.sparepart.applDetail'
-        }
-      },
-      //汽运结算报表
-      {
-        path: 'autoSettlementList',
-        component: () =>
+      }
+    },
+    //汽运结算报表
+    {
+      path: 'autoSettlementList',
+      component: () =>
         import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/autoSettlementList'),
-        name: 'autoSettlementList',
-        meta: {
+      name: 'autoSettlementList',
+      meta: {
         title: 'autoSettlementList',
         shortcutEntrance: 'statisticalReport',
         module: 'report.transportationReport',
         permissicon: [],
         keepAlive: true
         // module: 'procurement.sparepart.applDetail'
-        }
-      },
-    
+      }
+    },
+    // 现货采购入库报表统计
+    {
+      path: 'stockPurchaseReceiptReportList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/stockPurchaseReceiptReportList'),
+      name: 'stockPurchaseReceiptReportList',
+      meta: {
+        title: 'stockPurchaseReceiptReportList',
+        shortcutEntrance: 'statisticalReport',
+        module: 'report.saleOutReport',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      }
+    },
+    // 现货销售出库报表统计
+    {
+      path: 'stockSaleOutReportList',
+      component: () =>
+        import(/* webpackChunkName: "applDetail" */ '@/views/statisticalReport/stockSaleOutReportList'),
+      name: 'stockSaleOutReportList',
+      meta: {
+        title: 'stockSaleOutReportList',
+        shortcutEntrance: 'statisticalReport',
+        module: 'report.saleOutReport',
+        permissicon: [],
+        keepAlive: true
+        // module: 'procurement.sparepart.applDetail'
+      }
+    },
+
   ],
 
 };

+ 1664 - 0
src/views/statisticalReport/stockPurchaseReceiptReportList.vue

@@ -0,0 +1,1664 @@
+//采购入库报表
+<template>
+  <div class="container">
+    <el-scrollbar style="height: 100%">
+      <el-row>
+        <el-col style="padding-left: 15px" :span="16">
+          <ws-button
+            :type="searchType == 1 ? 'primary' : ''"
+            @click="handlestatus(1)"
+            >待审核</ws-button
+          >
+          <ws-button
+            :type="searchType == 2 ? 'primary' : ''"
+            @click="handlestatus(2)"
+            >待结算</ws-button
+          >
+          <ws-button
+            :type="searchType == 3 ? 'primary' : ''"
+            @click="handlestatus(3)"
+            >已结算</ws-button
+          >
+          <ws-button
+            :type="searchType == '' ? 'primary' : ''"
+            @click="handlestatus('')"
+            >全部</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.view`"
+            @click="handlepass()"
+            >通过</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.view`"
+            @click="handlereject()"
+            >驳回</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.payment`"
+            @click="handlepayment"
+            >付款</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.draw`"
+            @click="handleninvoice"
+            >开发票</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.edit`"
+            @click="amend()"
+            >修改</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.procurementInReport.carry`"
+            @click="carryover"
+            >补货结转</ws-button
+          >
+        </el-col>
+        <el-col
+          style="text-align: right; line-height: 60px; padding-right: 10px"
+          :span="8"
+        >
+           <el-select
+            v-model="contractNo"
+            placeholder="请选择合同"
+            clearable
+            filterable
+            :filter-method="dataFilter"
+            @change="contractchange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-if="item.reportStatus"
+              v-for="item in options"
+              :key="item.constKey"
+              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :value="item.contractNo"
+            />
+            <el-option
+              v-if="!item.reportStatus"
+              v-for="item in options"
+              :key="item.constKey"
+              :label="item.contractNo"
+              :value="item.contractNo"
+            />
+          </el-select>
+        </el-col>
+      </el-row>
+      <div v-if="contractNo != ''">
+        <span v-if="orderList.transactionsNumber"
+          >合同重量: {{ orderList.transactionsNumber }} 吨</span
+        >
+        <span v-else>合同重量: 0 吨</span>
+        <span v-if="orderList.cumulativeTurnover"
+          >成交量: {{ orderList.cumulativeTurnover }} 吨</span
+        >
+        <span v-else>成交量: 0 吨</span>
+        <span v-if="orderList.closedPosition"
+          >已平仓: {{ orderList.closedPosition }} 吨</span
+        >
+        <span v-else>已平仓: 0 吨</span>
+        <span v-if="orderList.stockInQuantity"
+          >入库量: {{ orderList.stockInQuantity }} 吨</span
+        >
+        <span v-else>入库量: 0 吨</span>
+      </div>
+
+      <el-table
+        class="wenzi"
+        :data="warehouseList.records"
+        style="width: 100%; margin-top: 20px"
+        ref="warehouseList"
+        border
+        :summary-method="getSummaries"
+        show-summary
+        @row-click="handleRowClick"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          :selectable="selectInit"
+          type="selection"
+          width="55"
+        ></el-table-column>
+        <el-table-column type="index" label="序号" width="50"></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="contractNo"
+          width="120"
+          label="合同编号"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="goodsName"
+          label="货名"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="positionNumber"
+          label="仓位号"
+        ></el-table-column>
+        <el-table-column class="table_td" prop="carNo" label="车牌号" width="140"
+          ><template slot-scope="scope">
+            {{ scope.row.carNo }}({{ scope.row.tranCarNo }})
+          </template></el-table-column
+        >
+        <el-table-column
+          class="table_td"
+          prop="warehousingDate"
+          width="100"
+          label="入库日期"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="protein"
+          label="蛋白(%)>="
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="waterContent"
+          label="水分(%)<="
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="unitPrice"
+          label="单价(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="basisPrice"
+          label="基差(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="120"
+          class="table_td"
+          prop="unloadingCharge"
+          label="卸车费(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="120"
+          class="table_td"
+          prop="invoiceFee"
+          label="发票费(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="deductionAmount"
+          label="扣款(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="140"
+          class="table_td"
+          prop="settlementPrice"
+          label="结算单价(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="netWeight"
+          label="净重(吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="应付金额(元)"
+          prop="amountIngPayable"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="已付金额(元)"
+          prop="amountEdPayable"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="未付金额(元)"
+          prop="amountNotPayable"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="付款日期"
+          prop="paymentDate"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="结转"
+          prop="carryForward"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="客户确认"
+          prop="customerConfirmationStatus"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="客户"
+          prop="customerName"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="库点"
+          prop="warehouseName"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="发票类型"
+          prop="invoiceType"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          v-hasPermission="`report.procurementInReport.draw`"
+          prop="alreadyInvoice"
+          label="已开发票(元)"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.alreadyInvoice }}
+            <img
+            v-if="
+                scope.row.amountEdPayable > 0
+              "
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png"
+              @click="editClickInvoice(scope.row)"
+              alt=""
+            />
+          </template>
+        </el-table-column>
+
+        <el-table-column label="状态" prop="status">
+          <template slot-scope="scope">
+            <span v-if="scope.row.approveStatus != null">{{
+              scope.row.approveStatus
+            }}</span>
+            <span v-else>{{ scope.row.status }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <!-- 页数 -->
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal"
+      ></el-pagination>
+    </el-scrollbar>
+    <el-dialog
+      width="25%"
+      title="付款"
+      :visible.sync="dialogFormVisible1"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="未付金额(元)" :label-width="formLabelWidth">
+          <template>
+            <span>{{ amountNotPayable }}</span>
+          </template>
+        </el-form-item>
+        <el-form-item label="本次付款金额" :label-width="formLabelWidth">
+          <el-input
+            v-model="money"
+            autocomplete="off"
+            placeholder="请输入本次付款金额"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item
+          label="付款日期"
+          prop="paymentDate"
+          :label-width="formLabelWidth"
+          class="deal"
+        >
+          <ws-date-picker
+            v-model="paymentDate"
+            type="date"
+            placeholder="请选择付款日期"
+            value-format="yyyy-MM-dd"
+            class="deal"
+          />
+        </el-form-item>
+        <el-form-item label="上传付款截图" :label-width="formLabelWidth">
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            list-type="picture-card"
+            :on-success="handlePictureCardPreview"
+            :on-remove="handleRemove"
+            class="photo2"
+          >
+            <i class="el-icon-plus"></i>
+          </el-upload>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible1 = false">取 消</el-button>
+        <el-button type="primary" @click="submitMoney()">提 交</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog
+      width="30%"
+      title="批量开发票"
+      :visible.sync="dialogFormVisible2"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="发票类型" :label-width="formLabelWidth">
+          <el-select
+            v-model="invoiceType"
+            data="1"
+            autocomplete="off"
+            class="deal"
+          >
+            <el-option
+              v-for="item in invoiceTypeList"
+              :key="item.value"
+              :label="item.value"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="发票金额(元)" :label-width="formLabelWidth">
+          <span> {{ amountEdPayable }}</span>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible2 = false">取 消</el-button>
+        <el-button type="primary" @click="submitBatchInvoice">提 交</el-button>
+      </div>
+    </el-dialog>
+    <!-- 开发票 -->
+    <el-dialog
+      width="30%"
+      title="开发票"
+      :visible.sync="dialogFormVisible3"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="发票类型" :label-width="formLabelWidth">
+          <el-select v-model="invoiceType" autocomplete="off" class="deal">
+            <el-option
+              v-for="item in invoiceTypeList"
+              :key="item.value"
+              :label="item.value"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="可开发票金额(元)" :label-width="formLabelWidth">
+          {{ amountEdPayable }}
+        </el-form-item>
+        <el-form-item label="实际发票金额(元)" :label-width="formLabelWidth">
+          <el-input
+            v-model="alreadyInvoice"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible3 = false">取 消</el-button>
+        <el-button type="primary" @click="submitInvoice()">提 交</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog
+      width="30%"
+      title="修改"
+      :visible.sync="dialogFormVisible5"
+      :append-to-body="true"
+    >
+      <el-form>
+        <el-form-item label="单价" :label-width="formLabelWidth">
+          <el-input
+            v-model="amendlist.unitPrice"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="基差" :label-width="formLabelWidth">
+          <el-input
+            v-model="amendlist.basisPrice"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="卸车费" :label-width="formLabelWidth">
+          <el-input
+            v-model="amendlist.unloadingCharge"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="发票费" :label-width="formLabelWidth">
+          <el-input
+            v-model="amendlist.invoiceFee"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="扣款" :label-width="formLabelWidth">
+          <el-input
+            v-model="amendlist.deductionAmount"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible5 = false">取 消</el-button>
+        <el-button type="primary" @click="amendconfirm">提 交</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog
+      width="30%"
+      title="补货结转"
+      :visible.sync="dialogFormVisible11"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-button :type="currect ? 'primary' : ''" @click="cur(0)"
+          >本合同</el-button
+        >
+        <el-button :type="!currect ? 'primary' : ''" @click="cur(1)"
+          >其他合同</el-button
+        >
+        <el-form-item
+          v-if="!currect"
+          label="合同编号"
+          :label-width="formLabelWidth"
+        >
+          <ws-select
+            v-if="carryovercontractnolist"
+            v-model="carryoverlist.contractNo"
+            placeholder="请选择合同"
+            clearable
+            @change="carryovercontractchange"
+            maxlength="500"
+            type="input"
+          >
+            <ws-option
+              v-for="item in carryovercontractnolist"
+              :key="item.constKey"
+              :label="item.contractNo + '(' + item.closeaccountstatus + ')'"
+              :value="item.contractNo"
+            />
+          </ws-select>
+          <div v-else>无可结转的其他合同</div>
+        </el-form-item>
+        <el-form-item label="结转重量" :label-width="formLabelWidth">
+          <el-input
+            v-model="carryoverlist.carryOverWeight"
+            autocomplete="off"
+            class="deal"
+            placeholder="请输入结转重量"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible11 = false">取 消</el-button>
+        <el-button type="primary" @click="carryoverconfirm()">确认</el-button>
+      </div>
+    </el-dialog>
+  </div>
+  <!-- </div> -->
+</template>
+<script>
+import {
+  getpurchreceipt,
+  getpurchaseincontractno,
+  postamend,
+  getorder,
+  postreplanishent,
+  postaudit,
+  postpaymoney,
+  postopeninvoice,
+  postbatchopeninvoice,
+  getselectctcontractno,
+} from '@/model/statisticalReport/index'
+import { posthandle } from '@/model/purchasingManagement/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+
+  data() {
+    return {
+      checked: true,
+      invoiceType: '自开发票',
+      // invoiceTypeKey:'',
+      alreadyInvoice: '',
+      needReapply: true,
+      dialogFormVisible1: false,
+      dialogFormVisible2: false,
+      dialogFormVisible3: false,
+      dialogFormVisible4: false,
+      dialogFormVisible5: false,
+      dialogFormVisible6: false,
+      dialogFormVisible7: false,
+      dialogFormVisible8: false,
+      dialogFormVisible11: false,
+      dialogVisible: false,
+
+      form: {
+        transactionPrice: '',
+        transactionsNumber: '',
+        basis: '',
+      },
+      currect: true,
+      formLabelWidth: '120px',
+      barWidth: 0,
+      barHeight: 0,
+      retioX: 1,
+      ratioY: 1,
+      isTaped: false,
+      isHover: false,
+      isShow: !this.autohide,
+      //弹出框
+      dialogViewSpareMoney: false,
+      contractNoList: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      options:[],
+      pickerOptions: {},
+      invoiceTypeList: [
+        { value: '自开发票', type: 1 },
+        { value: '对方开具', type: 2 },
+      ],
+      invoiceTypeKey: '',
+      value2: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      pageSize: 10,
+      searchType: '1',
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      enter: {
+        closePositionList: [],
+      },
+
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      contractNo: '全部合同',
+      inOutTaskNo: '',
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      roleId: sessionStorage.getItem('ws-pf_roleId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      orderList: {},
+      deptBudgetList: {},
+      id: '',
+
+      pcFlag: 1,
+      carryoverlist: {},
+      modification: [],
+      amendlist: {},
+      roleFlag: 1,
+      alreadyInvoice1: 0,
+      money: '',
+      paymentDate: '',
+      purchaseReceiptReportList: [],
+      purchaseReceiptReport: {
+        purchaseReceiptReportList: [],
+        money: '',
+        amountNotPayable: 0,
+        amountEdPayable: 0,
+        paymentDate: '',
+        paymentScreenshot: '',
+        id: '',
+        invoiceType: '',
+      },
+
+      amountNotPayable: 0,
+      amountEdPayable: 0,
+      paymentScreenshotUrls: [],
+      carryovercontractnolist: [],
+      historyList: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    this.getList()
+    this.showType = this.isShow
+  },
+  methods: {
+    cur(status) {
+      if (status == 0) {
+        this.currect = true
+      } else {
+        var that = this
+        this.currect = false
+        getselectctcontractno({
+          customerName: this.modification[0].customerName,
+          contractNo: this.modification[0].contractNo,
+        })
+          .toPromise()
+          .then((response) => {
+            that.carryovercontractnolist = response
+            for (var i = 0; i < that.carryovercontractnolist.length; i++) {
+              if (that.carryovercontractnolist[i].amountNotPayable > 0) {
+                that.carryovercontractnolist[i].closeaccountstatus = '待结算'
+              } else {
+                that.carryovercontractnolist[i].closeaccountstatus = '已结算'
+              }
+            }
+          })
+          .catch((response) => {
+            console.log(response)
+            EventBus.$emit('error', response.message)
+          })
+      }
+    },
+    handleRowClick(row) {
+      if (row.approveStatus == null) {
+        this.$refs.warehouseList.toggleRowSelection(row)
+        return true
+      } else if (row.approveStatus != null) {
+        if (row.taskId == null) {
+          return false
+        } else {
+          this.$refs.warehouseList.toggleRowSelection(row)
+          return true
+        }
+      }
+    },
+    selectInit(row) {
+      //在这里一定要记得类型匹配的上。
+      if (row.approveStatus == null) {
+        return true
+      } else if (row.approveStatus != null) {
+        if (row.taskId == null) {
+          return false
+        } else {
+          return true
+        }
+      }
+    },
+    //付款
+    handlepayment() {
+      this.amountNotPayable = 0
+      this.money = this.money
+      this.purchaseReceiptReportList =
+        this.warehouseList.records[0].purchaseReceiptReportList
+      this.amountEdPayable = this.warehouseList.records[0].amountEdPayable
+      this.paymentDate = this.paymentDate
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要付款的条目')
+      } else {
+        for (var i = 0; i < this.modification.length; i++) {
+          if (
+            this.modification[i].status != '已通过' &&
+            this.modification[i].status != '部分付款'
+          ) {
+            this.$message.warning('只有已通过或部分付款的条目才可进行付款操作')
+            return
+          }
+          this.amountNotPayable += this.modification[i].amountNotPayable
+        }
+        this.dialogFormVisible1 = true
+      }
+    },
+    submitMoney() {
+      this.purchaseReceiptReport.money = this.money
+      this.purchaseReceiptReport.paymentDate = this.paymentDate
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要付款的条目')
+      } else {
+        if (
+          this.money < 0 ||
+          (String(this.money).indexOf('.') != -1 &&
+            String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+        ) {
+          this.$message({
+            message: '付款金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.money) {
+          if (isNaN(this.money)) {
+            this.$message({
+              message: '付款金额非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.money) {
+          this.$message({
+            message: '付款金额不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.money > this.modification[0].amountNotPayable) {
+          this.$message({
+            message: '付款金额不能大于未付金额!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定提交付款信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          postpaymoney({
+            purchaseReceiptReportList: this.modification,
+            amountEdPayable: this.modification[0].amountEdPayable,
+            amountNotPayable: this.modification[0].amountNotPayable,
+            money: this.money,
+            paymentDate: this.paymentDate,
+            paymentScreenshot: this.paymentScreenshot,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '付款成功',
+              })
+              this.purchaseReceiptReportList = {}
+              this.money = ''
+              // this.paymentScreenshot = ''
+              this.paymentDate = ''
+              this.dialogFormVisible1 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+    //开发票
+    editClickInvoice(row) {
+      this.id = row.id
+      this.alreadyInvoice1 = row.alreadyInvoice
+      this.amountEdPayable = row.amountEdPayable
+      this.amountNotPayable = row.amountNotPayable
+      this.dialogFormVisible3 = 'true'
+    },
+    submitInvoice() {
+      if (this.amountEdPayable < 0) {
+        this.$message.warning('请选择一条已付款的条目')
+      } else {
+        if (
+          this.alreadyInvoice < 0 ||
+          this.alreadyInvoice > this.amountEdPayable - this.alreadyInvoice1 ||
+          (String(this.alreadyInvoice).indexOf('.') != -1 &&
+            String(this.alreadyInvoice).length -
+              (String(this.alreadyInvoice).indexOf('.') + 1) >
+              2)
+        ) {
+          this.$message({
+            message: '金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.alreadyInvoice) {
+          if (isNaN(this.alreadyInvoice)) {
+            this.$message({
+              message: '金额非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.alreadyInvoice) {
+          this.$message({
+            message: '金额不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定提交发票信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          postopeninvoice({
+            id: this.id,
+            invoiceType: this.invoiceType,
+            alreadyInvoice: this.alreadyInvoice,
+            amountEdPayable: this.amountEdPayable,
+            amountNotPayable: this.amountNotPayable,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '提交成功',
+              })
+              this.dialogFormVisible3 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+    //批量开发票
+    handleninvoice() {
+      this.amountEdPayable = 0
+      this.purchaseReceiptReportList =
+        this.warehouseList.records[0].purchaseReceiptReportList
+      for (var i = 0; i < this.modification.length; i++) {
+        this.amountEdPayable += this.modification[i].amountEdPayable
+      }
+      this.dialogFormVisible2 = true
+    },
+    submitBatchInvoice() {
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要开发票的条目')
+      } else if (this.modification[0].amountEdPayable < 0) {
+        this.$message.warning('请选择一条已付款的条目')
+      } else {
+        this.$confirm(`确定提交发票信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          postbatchopeninvoice({
+            purchaseReceiptReportList: this.modification,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '提交成功',
+              })
+              this.dialogFormVisible2 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+
+    //审核
+    handleAudit() {
+      var that = this
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要审核的条目')
+      } else {
+        this.$confirm(`审核通过后,任务将发送给财务,是否确定通过?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          that.audit(this.modification[0], 0, true)
+        })
+      }
+    },
+    audit(item, index, status, status2, reason) {
+      if (index < this.modification.length) {
+        posthandle({
+          taskId: item.taskId,
+          approved: status,
+          auditMind: reason != undefined ? '已驳回' : '34',
+          needReapply: status2 != undefined ? true : false,
+        })
+          .toPromise()
+          .then((response) => {
+            this.audit(this.modification[index + 1], index + 1, status,status2,reason)
+          })
+          .catch((req) => {
+            this.$message.warning(req.message)
+          })
+      } else {
+        if (status==true) {
+          this.$message.success('通过成功')
+          this.getList()
+        } else if (status==false) {
+          this.$message.success('驳回成功')
+          this.getList()
+          }
+      }
+    },
+    handlereject(status) {
+      var that = this
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择要驳回的条目')
+      } else {
+        this.$confirm(`是否确定驳回?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          that.audit(this.modification[0], 0, false, true, '已驳回')
+        })
+      }
+    },
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.contractNo = val
+      if (val) {
+        //val存在
+        this.options = this.contractNoList.filter(item => {
+          if (
+            !!~item.contractNo.indexOf(val) ||
+            !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options =this.contractNoList
+      }
+    },
+    handlepass() {
+      var that = this
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择要通过的条目')
+      } else {
+        this.$confirm(`是否确定通过?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          that.audit(this.modification[0], 0, true, 2)
+        })
+      }
+    },
+    carryoverconfirm() {
+      var data = {}
+      if (!this.carryoverlist.carryOverWeight) {
+        this.$message.warning('结转重量不能为空')
+        return
+      }
+      if (this.carryoverlist.carryOverWeight > this.modification[0].netWeight) {
+        this.$message.warning('结转重量不能超过净重')
+        return
+      }
+      if (this.currect == true) {
+        data = {
+          customerConfirmationStatusFlag:
+            this.modification[0].customerConfirmationStatusFlag,
+          id: this.modification[0].id,
+          contractNo: this.modification[0].contractNo,
+          carryOverWeight: this.carryoverlist.carryOverWeight,
+          purchaseReceiptReport: {
+            id: this.carryoverlist.id,
+            contractNo: this.carryoverlist.contractNo,
+            carryOverWeight: this.carryoverlist.carryOverWeight,
+          },
+          amountNotPayable: this.modification[0].amountNotPayable,
+        }
+      } else {
+        data = {
+          customerConfirmationStatusFlag:
+            this.modification[0].customerConfirmationStatusFlag,
+          id: this.modification[0].id,
+          contractNo: this.carryoverlist.contractNo,
+          carryOverWeight: this.carryoverlist.carryOverWeight,
+          purchaseReceiptReport: {
+            id: this.carryoverlist.id,
+            contractNo: this.carryoverlist.contractNo,
+            carryOverWeight: this.carryoverlist.carryOverWeight,
+          },
+          amountNotPayable: this.modification[0].amountNotPayable,
+        }
+      }
+      postreplanishent(data)
+        .toPromise()
+        .then((response) => {
+          this.dialogFormVisible11 = false
+          this.$message.success('结转成功')
+          this.getList()
+        })
+    },
+    amendconfirm() {
+      this.amendlist.id = this.modification[0].id
+      this.amendlist.statusFlag = this.modification[0].statusFlag
+      postamend(this.amendlist)
+        .toPromise()
+        .then((response) => {
+          this.$message.success('修改成功')
+          this.dialogFormVisible5 = false
+          this.getList()
+        })
+    },
+    amend() {
+      if (this.modification.length > 1) {
+        this.$message.warning('一次仅可修改一条数据')
+      } else if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要修改的条目')
+      } else {
+        this.dialogFormVisible5 = true
+      }
+    },
+    carryover() {
+      if (this.modification.length > 1) {
+        this.$message.warning('一次仅可结转一条数据')
+      } else if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要结转的条目')
+      } else {
+        this.dialogFormVisible11 = true
+      }
+    },
+    handleSelectionChange(val) {
+      this.modification = val
+    },
+    handlestatus(status) {
+      this.searchType = status
+      this.getList()
+    },
+    contractchange(e) {
+      this.contractNo = e
+      getorder({
+        contractNo: this.contractNo,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response != null) {
+            this.orderList = response
+          }
+        })
+      this.getList()
+    },
+    carryovercontractchange(e) {
+      for (let i = 0; i < this.carryovercontractnolist.length; i++) {
+        if (this.carryovercontractnolist[i].contractNo == e) {
+          this.carryoverlist.netWeight =
+            this.carryovercontractnolist[i].netWeight,
+            this.carryoverlist.id =
+            this.carryovercontractnolist[i].id
+        }
+      }
+    },
+    updated() {
+      this.$nextTick(() => {
+        this.$refs.warehouseList.doLayout()
+      })
+    },
+    //合计
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计'
+        } else if (
+          index === 15 ||
+          index === 17 ||
+          index === 18 ||
+          index === 16 ||
+          index === 25
+        ) {
+          const values = data.map((item) => Number(item[column.property]))
+          if (!values.every((value) => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr)
+              if (!isNaN(value)) {
+                return prev + curr
+              } else {
+                return prev
+              }
+            }, 0)
+          } else {
+            sums[index] = '元'
+          }
+        } else {
+          sums[index] = '--'
+        }
+      })
+      return sums
+    },
+    //成交
+    submit() {
+      if (!this.warehouseList.transactionPrice) {
+        this.$message({
+          message: '成交价不能为空',
+          type: 'warning',
+        })
+        return
+      }
+      this.$confirm(`确定提交成交信息`, {
+        cancelButtonText: '取消',
+        confirmButtonText: '确定',
+        type: 'warning',
+      }).then(() => {
+        console.log(23456678790)
+        // chengList({
+        //    id: this.id,
+        //    compId: sessionStorage.getItem('ws-pf_compId'),
+        //    transactionPrice: this.transactionPrice,
+        //    transactionsNumber: this.transactionsNumber,
+        //    basis: this.basis,
+        // })
+        chengList(this.warehouseList)
+          .toPromise()
+          .then((response) => {
+            this.$message.success('添加成功')
+            this.getList()
+          })
+          .catch(() => {
+            return false
+          })
+      })
+    },
+    getList() {
+      // if(this.roleId=='4c2d50d8ff2943c1b7a1e947feefe048'){
+      //   this.roleFlag=1
+      // }else if(this.roleId=='cca3cf0ca2814d1e918f5b0a4380fe69'){
+      //   this.roleFlag=2
+      // }else if(this.roleId=='9ad8abb997714ef29068f23c2ad3b125'){
+      //   this.roleFlag=3
+      // }else if(this.roleId=='3d7b9179552b4c3e9c2d7af43962e2e4'){
+      //   this.roleFlag=4
+      // }else if(this.roleId=="4ef070439cd64784bce8844fd3f0f8e1"){
+      //   this.roleFlag=''
+      // }
+
+      getpurchreceipt({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        contractNo: this.contractNo,
+        // roleFlag: this.roleFlag,
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            response.records[i].identification = 'false'
+            response.records[i].settlementPrice =
+              // response.records[i].unitPrice -
+              // Math.abs(response.records[i].basisPrice) -
+              // Math.abs(response.records[i].unloadingCharge) -
+              // Math.abs(response.records[i].invoiceFee) -
+              // Math.abs(response.records[i].deductionAmount)
+              response.records[i].unitPrice +
+              response.records[i].basisPrice+
+              response.records[i].unloadingCharge+
+              response.records[i].invoiceFee+
+              response.records[i].deductionAmount
+          }
+
+          this.deptBudgetTotal = response.total
+          this.warehouseList = response
+        })
+      getpurchaseincontractno({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        roleFlag: this.roleFlag,
+      })
+        .toPromise()
+        .then((response) => {
+          this.contractNoList = response
+          this.contractNoList.unshift({contractNo:'全部合同'})
+          this.options=this.contractNoList
+        })
+    },
+    handleRemove(file) {
+      console.log(file)
+    },
+    handlePictureCardPreview(file) {
+      this.paymentScreenshot = file.url
+
+      this.dialogVisible = true
+    },
+    handleDownload(file) {
+      console.log(file)
+    },
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+          //不是第一项时,就根据标识去存储
+          if (data[index].warehouseNumViewList.length > 1) {
+            查找到符合条件的数据时每次要把之前存储的数据 + 1
+            this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+            this.spanArr.push(0)
+          } else {
+            // 没有符合的数据时,要记住当前的index
+            this.spanArr.push(1)
+            this.pos = index
+          }
+        }
+      })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({
+        path: 'warehouseManagementPutOutLook',
+        query: {
+          relevanceId: row.relevanceId,
+        },
+      })
+    },
+    //返回
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待审核' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          alsostate({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    //查找
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+    total() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  width: 385px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+// .el-row{
+//     height: 150px;
+// }
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.bg-left {
+  padding-left: 30px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+  // margin-left: 85%;
+  margin-top: 13px;
+}
+//导航条样式
+.el-col-12 {
+  width: 50%;
+  height: 60px;
+  background: #f6f7fc;
+  border-radius: 4px 4px 1px 1px;
+}
+.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+  width: 385px;
+  margin-top: 10px;
+}
+.bg-bottom {
+  margin-left: 85%;
+}
+.but {
+  margin-left: 30%;
+  /* margin-top: -32px; */
+  overflow: auto;
+  /* float: left; */
+  /* margin-left: 1px; */
+  margin-left: -10px;
+}
+.el-input--small {
+  font-size: 13px;
+  width: 390px;
+  margin-left: 74%;
+}
+/deep/.el-table .el-table__header .cell,
+.el-table .el-table__body .cell {
+  text-align: center;
+}
+.el-scrollbar__wrap {
+  overflow-y: hidden;
+}
+/deep/.deal {
+  margin-left: 0%;
+  width: 64%;
+}
+.photo {
+  padding: 0% 34%;
+}
+.photo1 {
+  padding: 0 10%;
+}
+.photo2 {
+  padding: 0 12%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: center;
+}
+hr {
+  width: 91%;
+}
+/deep/.deaal {
+  width: 66%;
+  margin-left: 9%;
+}
+.el-date-editor.el-input,
+.el-date-editor.el-input__inner,
+.el-input-number--small {
+  width: 123% !important;
+}
+/deep/.el-table td,
+.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+  height: 40px;
+}
+</style>

+ 1448 - 0
src/views/statisticalReport/stockSaleOutReportList.vue

@@ -0,0 +1,1448 @@
+//销售出库报表
+<template>
+  <div class="container">
+    <el-scrollbar style="height: 100%">
+      <el-row>
+        <el-col style="padding-left: 15px" :span="16">
+          <ws-button
+            :type="searchType == 1 ? 'primary' : ''"
+            @click="handlestatus(1)"
+            >待审核</ws-button
+          >
+          <ws-button
+            :type="searchType == 2 ? 'primary' : ''"
+            @click="handlestatus(2)"
+            >待结算</ws-button
+          >
+          <ws-button
+            :type="searchType == 3 ? 'primary' : ''"
+            @click="handlestatus(3)"
+            >已结算</ws-button
+          >
+          <ws-button
+            :type="searchType == '' ? 'primary' : ''"
+            @click="handlestatus('')"
+            >全部</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.saleOutReport.view`"
+            @click="handlepass()"
+            >通过</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.saleOutReport.view`"
+            @click="handlereject()"
+            >驳回</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.saleOutReport.payment`"
+            @click="handlecollect()"
+            >收款</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.saleOutReport.draw`"
+            @click="handleninvoice()"
+            >开发票</ws-button
+          >
+          <ws-button
+            type="primary"
+            v-hasPermission="`report.saleOutReport.carry`"
+            @click="amend()"
+            >最终结算价</ws-button
+          >
+        </el-col>
+        <el-col
+          style="text-align: right; line-height: 60px; padding-right: 10px"
+          :span="8"
+        >
+          <el-select
+            v-model="contractNo"
+            placeholder="请选择合同"
+            clearable
+            filterable
+            :filter-method="dataFilter"
+            @change="contractchange"
+            maxlength="500"
+            type="input"
+            class="findValue"
+          >
+            <el-option
+              v-if="item.reportStatus"
+              v-for="item in options"
+              :key="item.constKey"
+              :label="item.contractNo + '(' + item.reportStatus + ')'"
+              :value="item.contractNo"
+            />
+            <el-option
+              v-if="!item.reportStatus"
+              v-for="item in options"
+              :key="item.constKey"
+              :label="item.contractNo"
+              :value="item.contractNo"
+            />
+          </el-select>
+        </el-col>
+      </el-row>
+      <div v-if="contractNo != ''">
+        <span v-if="orderList.transactionsNumber"
+          >合同重量: {{ orderList.transactionsNumber }} 吨</span
+        >
+        <span v-else>合同重量: 0 吨</span>
+        <span v-if="orderList.cumulativeTurnover"
+          >成交量: {{ orderList.cumulativeTurnover }} 吨</span
+        >
+        <span v-else>成交量: 0 吨</span>
+        <span v-if="orderList.closedPosition"
+          >已平仓: {{ orderList.closedPosition }} 吨</span
+        >
+        <span v-else>已平仓: 0 吨</span>
+        <span v-if="orderList.stockOutQuantity"
+          >出库量: {{ orderList.stockOutQuantity }} 吨</span
+        >
+        <span v-else>出库量: 0 吨</span>
+      </div>
+
+      <el-table
+        class="wenzi"
+        :data="warehouseList.records"
+        style="width: 100%; margin-top: 20px"
+        ref="warehouseList"
+        border
+        :summary-method="getSummaries"
+        show-summary
+        @row-click="handleRowClick"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column
+          :selectable="selectInit"
+          type="selection"
+          width="55"
+        ></el-table-column>
+        <el-table-column type="index" label="序号" width="50"></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="contractNo"
+          width="120"
+          label="合同编号"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="goodsName"
+          label="货名"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="positionNumber"
+          label="仓位号"
+        ></el-table-column>
+        <el-table-column class="table_td" prop="carNo" label="车牌号" width="140">
+          <template slot-scope="scope">
+            {{ scope.row.carNo }}({{ scope.row.tranCarNo }})
+          </template>
+        </el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="retrievalDate"
+          width="100"
+          label="出库日期"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="protein"
+          label="蛋白(%)>="
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="waterContent"
+          label="水分(%)<="
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="unitPrice"
+          label="单价(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="basisPrice"
+          label="基差(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          prop="invoiceFee"
+          label="发票费(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          width="120"
+          class="table_td"
+          prop="settlementPrice"
+          label="结算单价(元/吨)"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          prop="netWeight"
+          label="净重(吨)"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="应收金额(元)"
+          prop="collectionIngPayable"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="已收金额(元)"
+          prop="collectionEdPayable"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="未收金额(元)"
+          prop="collectionNotPayable"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="收款日期"
+          prop="collectionDate"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="客户确认"
+          prop="customerConfirmationStatus"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="客户"
+          prop="customerName"
+        ></el-table-column>
+        <el-table-column
+          class="table_td"
+          label="库点"
+          prop="warehouseName"
+        ></el-table-column>
+        <el-table-column
+          width="100"
+          class="table_td"
+          label="已开发票(元)"
+          prop="alreadyInvoice"
+        >
+          <template slot-scope="scope">
+            {{ scope.row.alreadyInvoice }}
+            <img
+            v-if="
+                scope.row.collectionEdPayable > 0
+              "
+              width="17"
+              height="18"
+              style="vertical-align: text-top; position: relative; top: -1px"
+              src="../../../public/img/edit.png"
+              @click="editClickInvoice(scope.row)"
+              alt=""
+            /> </template
+        ></el-table-column>
+        <el-table-column label="状态" prop="status">
+          <template slot-scope="scope">
+            <span v-if="scope.row.approveStatus != null">{{
+              scope.row.approveStatus
+            }}</span>
+            <span v-else>{{ scope.row.status }}</span>
+          </template>
+        </el-table-column>
+      </el-table>
+
+      <!-- 页数 -->
+      <el-pagination
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+        :current-page="currentPage"
+        :page-size="pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="deptBudgetTotal"
+      ></el-pagination>
+    </el-scrollbar>
+    <!-- 收款 -->
+    <el-dialog
+      width="25%"
+      title="收款"
+      :visible.sync="dialogFormVisible1"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="未收金额(元)" :label-width="formLabelWidth">
+          <span>{{ collectionNotPayable }}</span>
+          <!-- <el-input v-model="form.region" autocomplete="off" class="deal"></el-input> -->
+        </el-form-item>
+        <el-form-item label="本次收款金额" :label-width="formLabelWidth">
+          <el-input
+            v-model="money"
+            autocomplete="off"
+            placeholder="请输入本次收款金额"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item
+          label="收款日期"
+          prop="collectionDate"
+          :label-width="formLabelWidth"
+          class="deal"
+        >
+          <ws-date-picker
+            v-model="deptBudgetList.collectionDate"
+            type="date"
+            placeholder="请选择收款日期"
+            value-format="yyyy-MM-dd"
+            class="deal"
+          />
+        </el-form-item>
+        <el-form-item label="上传收款截图" :label-width="formLabelWidth">
+          <el-upload
+            action="https://www.zthymaoyi.com/upload/admin"
+            list-type="picture-card"
+            :on-success="handlePictureCardPreview"
+            :on-remove="handleRemove"
+            class="photo2"
+          >
+            <i class="el-icon-plus"></i>
+          </el-upload>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible1 = false">取 消</el-button>
+        <el-button type="primary" @click="collectment">提 交</el-button>
+      </div>
+    </el-dialog>
+    <!-- 批量开发票 -->
+    <el-dialog
+      width="30%"
+      title="批量开发票"
+      :visible.sync="dialogFormVisible2"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="发票金额(元)" :label-width="formLabelWidth">
+          <span>{{ collectionEdPayable }}</span>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible2 = false">取 消</el-button>
+        <el-button type="primary" @click="submitBatchInvoice()"
+          >提 交</el-button
+        >
+      </div>
+    </el-dialog>
+    <!-- 开发票 -->
+    <el-dialog
+      width="30%"
+      title="开发票"
+      :visible.sync="dialogFormVisible3"
+      :append-to-body="true"
+    >
+      <el-form :model="form">
+        <el-form-item label="可开发票金额(元)" :label-width="formLabelWidth">
+          <span>{{ collectionEdPayable }}</span>
+        </el-form-item>
+        <el-form-item label="实际发票金额(元)" :label-width="formLabelWidth">
+          <el-input
+            v-model="alreadyInvoice"
+            autocomplete="off"
+            class="deal"
+            placeholder="请输入本次收款金额"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible3 = false">取 消</el-button>
+        <el-button type="primary" @click="submitInvoice()">提 交</el-button>
+      </div>
+    </el-dialog>
+    <!-- 最终结算价 -->
+    <el-dialog
+      width="30%"
+      title="最终结算价"
+      :visible.sync="dialogFormVisible5"
+      :append-to-body="true"
+    >
+      <el-form :rules="rules">
+        <el-form-item label="单价" :label-width="formLabelWidth">
+          <el-input
+            @input="getprice"
+            v-model="amendlist.unitPrice"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="基差" :label-width="formLabelWidth">
+          <el-input
+            @input="getbasis"
+            v-model="amendlist.basisPrice"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="发票费" :label-width="formLabelWidth">
+          <el-input
+            @input="getinvoice"
+            v-model="amendlist.invoiceFee"
+            autocomplete="off"
+            class="deal"
+          ></el-input>
+        </el-form-item>
+        <el-form-item label="最终结算价" :label-width="formLabelWidth">
+          <el-input
+            readonly="readonly"
+            v-model="amendlist.settlementPrice"
+            autocomplete="off"
+            class="deal"
+            placeholder="不可编辑,自动计算"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogFormVisible5 = false">取 消</el-button>
+        <el-button type="primary" @click="amendconfirm">提 交</el-button>
+      </div>
+    </el-dialog>
+  </div>
+  <!-- </div> -->
+</template>
+<script>
+import {
+  salelist,
+  getsaleoutcontractno,
+  finalsettlementprice,
+  issueapproval,
+  getsaleorder,
+  cashierpayment,
+  salesinvoicing,
+  salesbatchinvoicing,
+} from '@/model/statisticalReport/index'
+import { posthandle } from '@/model/purchasingManagement/index'
+import { downloadFile } from '@/utils/batchDown'
+import Pagination from '@/components/Pagination'
+import WsUpload from '@/components/WsUpload'
+import { dayjs, fmoney, EventBus } from 'base-core-lib'
+export default {
+  name: 'viewSpareMoney',
+  components: {
+    WsUpload,
+    Pagination,
+  },
+  watch: {
+    vesselId(val) {
+      this.getList()
+    },
+    isShow(val) {
+      this.showType = val
+    },
+  },
+
+  data() {
+    return {
+      checked: true,
+      dialogFormVisible1: false,
+      dialogFormVisible2: false,
+      dialogFormVisible3: false,
+      dialogFormVisible4: false,
+      dialogFormVisible5: false,
+      dialogFormVisible6: false,
+      dialogFormVisible7: false,
+      dialogFormVisible8: false,
+      dialogVisible: false,
+      collectionEdPayable: 0,
+      collectionNotPayable: 0,
+      alreadyInvoice: 0,
+
+      form: {
+        transactionPrice: '',
+        transactionsNumber: '',
+        basis: '',
+        submissionDate: '',
+        // delivery: false,
+        // type: [],
+        // resource: '',
+        // desc: ''
+      },
+      currect: true,
+      formLabelWidth: '120px',
+      barWidth: 0,
+      barHeight: 0,
+      retioX: 1,
+      ratioY: 1,
+      orderList: {},
+      isTaped: false,
+      isHover: false,
+      isShow: !this.autohide,
+      //弹出框
+      dialogViewSpareMoney: false,
+      contractNoList: [],
+      // 是否显示
+      showType: true,
+      // 年
+      year: '',
+      pickerOptions: {},
+      value2: '',
+      deptBudgetTotal: 0,
+      currentPage: 1,
+      tranTypeKey: 1,
+      collectmoney: 0,
+      pageSize: 10,
+      searchType: '1',
+      searchTypeText: '未完成',
+      searchKeyWord: '',
+      contractType: 2,
+      enter: {
+        closePositionList: [],
+      },
+      // 提交类型
+      submitType: true,
+      size: 10,
+      spanArr: [],
+      contractNo: '全部合同',
+      inOutTaskNo: '',
+      options:[],
+      compId: sessionStorage.getItem('ws-pf_compId'),
+      deptCircularPage: {},
+      warehouseList: [],
+      deptBudgetList: {},
+      rules: {
+        settlementPrice: [
+          {
+            required: true,
+            type: 'number',
+            trigger: 'blur',
+          },
+        ],
+      },
+      pcFlag: 1,
+      modification: [],
+      amendlist: {},
+      money: '',
+      roleFlag: 1,
+      roleId: sessionStorage.getItem('ws-pf_roleId'),
+      collectionScreenshot: '',
+      salesDeliveryReportList: [],
+      salesDeliveryReport: {
+        salesDeliveryReportList: [],
+        money: '',
+        collectionEdPayable: 0,
+        collectionNotPayable: 0,
+        collectionDate: '',
+        id: '',
+        invoiceType: '',
+      },
+      historyList: [],
+      collectionScreenshotUrls: [],
+      pickerBeginDateBefore: {
+        disabledDate: (time) => {
+          return time.getTime() > Date.now()
+        },
+      },
+      accessoryTFs: false,
+    }
+  },
+  activated() {
+    // this.loaddata()
+    console.log(1111)
+    this.getList()
+    this.showType = this.isShow
+  },
+  // computed:{
+  //   sum:function(){
+  //       this.amendlist.settlementPrice = Number(
+  //         this.amendlist.unitPrice )+ Number(this.amendlist.basisPrice )+ Number(this.amendlist.invoiceFee)
+  //    }
+  // },
+  methods: {
+    dataFilter(val) {
+      // console.log(val,"名")
+      this.contractNo = val 
+      if (val) {
+        //val存在
+        this.options = this.contractNoList.filter(item => {
+          if (
+            !!~item.contractNo.indexOf(val) ||
+            !!~item.contractNo.toUpperCase().indexOf(val.toUpperCase())
+          ) {
+            return true
+          }
+        })
+      } else {
+        //val为空时,还原数组
+        this.options = this.contractNoList
+      }
+    },
+    handleRowClick(row) {
+      if (row.approveStatus == null) {
+        this.$refs.warehouseList.toggleRowSelection(row)
+        return true
+      } else if (row.approveStatus != null) {
+        if (row.taskId == null) {
+          return false
+        } else {
+          this.$refs.warehouseList.toggleRowSelection(row)
+          return true
+        }
+      }
+    },
+    selectInit(row) {
+      //在这里一定要记得类型匹配的上。
+      if (row.approveStatus == null) {
+        return true
+      } else if (row.approveStatus != null) {
+        if (row.taskId == null) {
+          return false
+        } else {
+          return true
+        }
+      }
+    },
+    audit(item, index, status, status2, reason) {
+      if (index < this.modification.length) {
+        posthandle({
+          taskId: item.taskId,
+          approved: status,
+          auditMind: reason != undefined ? '已驳回' : '34',
+          needReapply: status2 != undefined ? true : false,
+        })
+          .toPromise()
+          .then((response) => {
+            this.audit(this.modification[index + 1], index + 1, status)
+          })
+          .catch((req) => {
+            this.$message.warning(req.message)
+          })
+      } else {
+       if (status==true) {
+          this.$message.success('通过成功')
+          this.getList()
+        } else if (status==false) {
+          this.$message.success('驳回成功')
+          this.getList()
+          }
+      }
+    },
+    handlereject(status) {
+      var that = this
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择要驳回的条目')
+      } else {
+        this.$confirm(`是否确定驳回?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          that.audit(this.modification[0], 0, false, true, '已驳回')
+        })
+      }
+    },
+    handlepass() {
+      var that = this
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择要通过的条目')
+      } else {
+        this.$confirm(`是否确定通过?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          that.audit(this.modification[0], 0, true)
+        })
+      }
+    },
+    //最终结算价
+    amendconfirm() {
+      this.amendlist.id = this.modification[0].id
+      finalsettlementprice(this.amendlist)
+        .toPromise()
+        .then((response) => {
+          this.$message.success('修改成功')
+          this.dialogFormVisible5 = false
+          this.getList()
+        })
+    },
+    handleSelectionChange(val) {
+      this.modification = val
+    },
+    handlestatus(status) {
+      this.searchType = status
+      this.getList()
+    },
+    contractchange(e) {
+      this.contractNo = e
+      getsaleorder({
+        contractNo: this.contractNo,
+      })
+        .toPromise()
+        .then((response) => {
+          if (response != null) {
+            this.orderList = response
+          }
+        })
+      this.getList()
+    },
+    updated() {
+      this.$nextTick(() => {
+        this.$refs.warehouseList.doLayout()
+      })
+    },
+    //合计
+    getSummaries(param) {
+      const { columns, data } = param
+      const sums = []
+      columns.forEach((column, index) => {
+        if (index === 0) {
+          sums[index] = '合计'
+        } else if (
+          index === 13 ||
+          index === 14 ||
+          index === 15 ||
+          index === 16 ||
+          index === 21
+        ) {
+          const values = data.map((item) => Number(item[column.property]))
+          if (!values.every((value) => isNaN(value))) {
+            sums[index] = values.reduce((prev, curr) => {
+              const value = Number(curr)
+              if (!isNaN(value)) {
+                return prev + curr
+              } else {
+                return prev
+              }
+            }, 0)
+          } else {
+            sums[index] = '元'
+          }
+        } else {
+          sums[index] = '--'
+        }
+      })
+      return sums
+    },
+    handlecollect() {
+      this.collectionNotPayable = 0
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要收款的条目')
+      } else {
+        for (var i = 0; i < this.modification.length; i++) {
+          if (
+            this.modification[i].status != '已通过' &&
+            this.modification[i].status != '部分收款'
+          ) {
+            this.$message.warning('只有已通过或部分收款的条目才可进行收款操作')
+            return
+          }
+          this.collectionNotPayable += this.modification[i].collectionNotPayable
+        }
+        this.dialogFormVisible1 = true
+      }
+    },
+    //收款
+    collectment() {
+      this.salesDeliveryReport.money = this.money
+      this.salesDeliveryReport.collectionDate = this.collectionDate
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要收款的条目')
+      } else {
+        if (
+          this.money < 0 ||
+          (String(this.money).indexOf('.') != -1 &&
+            String(this.money).length - (String(this.money).indexOf('.') + 1) >
+              2)
+        ) {
+          this.$message({
+            message: '收款金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.money) {
+          if (isNaN(this.money)) {
+            this.$message({
+              message: '收款金额非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.money) {
+          this.$message({
+            message: '收款金额不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.money > this.modification[0].collectionNotPayable) {
+          this.$message({
+            message: '收款金额不能大于未收金额!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定提交收款信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          cashierpayment({
+            salesDeliveryReportList: this.modification,
+            collectionEdPayable: this.modification[0].collectionEdPayable,
+            collectionNotPayable: this.modification[0].collectionNotPayable,
+            money: this.money,
+            collectionDate: this.collectionDate,
+            collectionScreenshot: this.collectionScreenshot,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '收款成功',
+              })
+              this.salesDeliveryReportList = {}
+              this.money = ''
+              this.collectionDate = ''
+              this.collectionScreenshot=''
+              this.dialogFormVisible1 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+    //批量开发票
+    handleninvoice() {
+      this.collectionEdPayable = 0
+      for (var i = 0; i < this.modification.length; i++) {
+        this.collectionEdPayable += this.modification[i].collectionEdPayable
+      }
+      this.dialogFormVisible2 = true
+    },
+    submitBatchInvoice() {
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要开发票的条目')
+      } else if (this.modification[0].collectionEdPayable < 0) {
+        this.$message.warning('请选择一条已收款的条目')
+      } else {
+        this.$confirm(`确定提交发票信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          salesbatchinvoicing({
+            salesDeliveryReportList: this.modification,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '提交成功',
+              })
+              this.dialogFormVisible2 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+    //开发票
+    editClickInvoice(row) {
+      this.id = row.id
+      this.alreadyInvoice1 = row.alreadyInvoice
+      this.amountEdPayable = row.amountEdPayable
+      this.amountNotPayable = row.amountNotPayable
+      this.dialogFormVisible3 = 'true'
+    },
+    submitInvoice() {
+      if (this.collectionEdPayable < 0) {
+        this.$message.warning('请选择一条已付款的条目')
+      } else {
+        if (
+          this.alreadyInvoice < 0 ||
+          this.alreadyInvoice >
+            this.collectionEdPayable - this.alreadyInvoice1 ||
+          (String(this.alreadyInvoice).indexOf('.') != -1 &&
+            String(this.alreadyInvoice).length -
+              (String(this.alreadyInvoice).indexOf('.') + 1) >
+              2)
+        ) {
+          this.$message({
+            message: '金额输入错误',
+            type: 'warning',
+          })
+          return
+        }
+        if (this.alreadyInvoice) {
+          if (isNaN(this.alreadyInvoice)) {
+            this.$message({
+              message: '金额非数字!',
+              type: 'warning',
+            })
+            return
+          }
+        }
+        if (!this.alreadyInvoice) {
+          this.$message({
+            message: '金额不能为空!',
+            type: 'warning',
+          })
+          return
+        }
+        this.$confirm(`确定提交发票信息?`, {
+          cancelButtonText: '取消',
+          confirmButtonText: '确定',
+          type: 'warning',
+        }).then(() => {
+          salesinvoicing({
+            id: this.id,
+            invoiceType: this.invoiceType,
+            alreadyInvoice: this.alreadyInvoice,
+            collectionEdPayable: this.collectionEdPayable,
+            collectionNotPayable: this.collectionNotPayable,
+          })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '提交成功',
+              })
+              this.dialogFormVisible3 = false
+              this.getList()
+            })
+            .catch((response) => {
+              console.log(response)
+              EventBus.$emit('error', response.message)
+            })
+        })
+      }
+    },
+    //列表
+    getList() {
+      // if(this.roleId=='4c2d50d8ff2943c1b7a1e947feefe048'){
+      //   this.roleFlag=1
+      // }else if(this.roleId=='cca3cf0ca2814d1e918f5b0a4380fe69'){
+      //   this.roleFlag=2
+      // }else if(this.roleId=='9ad8abb997714ef29068f23c2ad3b125'){
+      //   this.roleFlag=3
+      // }else if(this.roleId=='3d7b9179552b4c3e9c2d7af43962e2e4'){
+      //   this.roleFlag=4
+      // }else if(this.roleId=="4ef070439cd64784bce8844fd3f0f8e1"){
+      //   this.roleFlag=''
+      // }
+      salelist({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        searchType: this.searchType,
+        contractNo: this.contractNo,
+        // roleFlag:this.roleFlag
+      })
+        .toPromise()
+        .then((response) => {
+          for (var i = 0; i < response.records.length; i++) {
+            response.records[i].settlementPrice =
+              response.records[i].unitPrice +
+              response.records[i].basisPrice +
+              response.records[i].invoiceFee
+          }
+          this.deptBudgetTotal = response.total
+          this.warehouseList = response
+        })
+      getsaleoutcontractno({
+        compId: sessionStorage.getItem('ws-pf_compId'),
+        currentPage: this.currentPage,
+        pageSize: this.pageSize,
+        roleFlag: this.roleFlag,
+      })
+        .toPromise()
+        .then((response) => {
+          this.contractNoList = response
+          this.contractNoList.unshift({contractNo:'全部合同'})
+          this.options=this.contractNoList
+        })
+    },
+    //最终结算价
+    amend() {
+      if (this.modification.length == 0) {
+        this.$message.warning('请选择一条要修改最终结算价的条目')
+      } else {
+        this.dialogFormVisible5 = true
+      }
+    },
+    getprice(e) {
+      if (
+        this.amendlist.unitPrice &&
+        this.amendlist.basisPrice &&
+        this.amendlist.invoiceFee
+      ) {
+        this.amendlist.settlementPrice =
+          Number(this.amendlist.unitPrice) +
+          Number(this.amendlist.basisPrice) +
+          Number(this.amendlist.invoiceFee)
+      }
+    },
+    getbasis(e) {
+      console.log(e)
+      if (
+        this.amendlist.unitPrice &&
+        this.amendlist.basisPrice &&
+        this.amendlist.invoiceFee
+      ) {
+        this.amendlist.settlementPrice =
+          Number(this.amendlist.unitPrice) +
+          Number(this.amendlist.basisPrice) +
+          Number(this.amendlist.invoiceFee)
+      }
+    },
+    getinvoice(e) {
+      if (
+        this.amendlist.unitPrice &&
+        this.amendlist.basisPrice &&
+        this.amendlist.invoiceFee
+      ) {
+        this.amendlist.settlementPrice =
+          Number(this.amendlist.unitPrice) +
+          Number(this.amendlist.basisPrice) +
+          Number(this.amendlist.invoiceFee)
+      }
+    },
+
+    handleRemove(file) {
+      console.log(file)
+    },
+    handlePictureCardPreview(file) {
+      this.collectionScreenshot = file.url
+    },
+    handleDownload(file) {
+      console.log(file)
+    },
+
+    getSpanArr(data) {
+      let that = this
+
+      //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
+
+      that.spanArr = []
+
+      that.pos = 0
+
+      // //遍历数据
+
+      data.forEach((item, index) => {
+        //判断是否是第一项
+
+        if (index === 0) {
+          this.spanArr.push(1)
+          this.pos = 0
+        } else {
+          //不是第一项时,就根据标识去存储
+          if (data[index].warehouseNumViewList.length > 1) {
+            查找到符合条件的数据时每次要把之前存储的数据 + 1
+            this.spanArr[this.pos] = data[index].warehouseNumViewList.length
+            this.spanArr.push(0)
+          } else {
+            // 没有符合的数据时,要记住当前的index
+            this.spanArr.push(1)
+            this.pos = index
+          }
+        }
+      })
+    },
+    //查看
+    handleLook(row) {
+      this.$router.push({
+        path: 'warehouseManagementPutOutLook',
+        query: {
+          relevanceId: row.relevanceId,
+        },
+      })
+    },
+    //返回
+    revert() {
+      this.$router.push({ path: 'warehouseManagementList' })
+    },
+    dateFormat(fmt, date) {
+      let ret
+      const opt = {
+        'Y+': date.getFullYear().toString(), // 年
+        'm+': (date.getMonth() + 1).toString(), // 月
+        'd+': date.getDate().toString(), // 日
+        'H+': date.getHours().toString(), // 时
+        // "M+": date.getMinutes().toString(),         // 分
+        // "S+": date.getSeconds().toString()          // 秒
+        // 有其他格式化字符需求可以继续添加,必须转化成字符串
+      }
+      for (let k in opt) {
+        ret = new RegExp('(' + k + ')').exec(fmt)
+        if (ret) {
+          fmt = fmt.replace(
+            ret[1],
+            ret[1].length == 1 ? opt[k] : opt[k].padStart(ret[1].length, '0')
+          )
+        }
+      }
+      return fmt
+    },
+    handleClose() {
+      this.accessoryTFs = false
+    },
+    handleSizeChange(val) {
+      console.log(`每页 ${val} 条`)
+      this.pageSize = val
+      this.getList()
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val
+      console.log(`当前页: ${val}`)
+      this.getList()
+    },
+    editClick(row) {
+      var status = ''
+      if (row.status == '待审核' || row.status == '已完成') {
+        status = '执行中'
+      } else if (row.status == '执行中') {
+        status = '已完成'
+      }
+      //cancelButtonClass: "btn-custom-cancel"
+      this.$confirm(`是否将状态改为${status}`, {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      })
+        .then(() => {
+          alsostate({ id: row.id })
+            .toPromise()
+            .then((response) => {
+              this.$notify.success({
+                title: '成功',
+                message: '状态修改成功',
+              })
+              this.getList()
+            })
+            .catch((response) => {
+              // EventBus.$emit('error', this.$t('showMessage.asteriskRequired'))
+            })
+        })
+        .catch(() => {
+          return false
+        })
+    },
+    selecttaskType(e) {
+      for (var i = 0; i < this.taskTypeList.length; i++) {
+        if (this.taskTypeList[i].value == e) {
+          this.searchType = this.taskTypeList[i].type
+        }
+      }
+    },
+    handleExamine(row) {
+      this.$router.push({
+        name: 'salesContractExamine',
+        query: { id: row.id },
+      })
+    },
+    // 关闭 dialog时 处理文件url 初始化upload组件
+    handleCloe() {
+      this.dialogViewSpareMoney = false
+    },
+    history(row) {
+      billoperatehis({ id: row.id })
+        .toPromise()
+        .then((response) => {
+          this.historyList = response
+        })
+    },
+    //查找
+    find() {
+      this.currentPage = 1
+      this.getList()
+    },
+    async exportlist() {
+      const { data } = await export1(
+        {
+          compId: sessionStorage.getItem('ws-pf_compId'),
+          contractType: this.contractType,
+          currentPage: this.currentPage,
+          pageSize: this.pageSize,
+          searchType: this.searchType,
+          searchKeyWord: this.searchKeyWord,
+          startDate: this.startDate,
+          endDate: this.endDate,
+        },
+        {},
+        { responseType: 'blob' }
+      ).toPromise()
+      downloadFile({
+        res: data,
+        fileName: `${
+          this.date.year + (this.date.month ? `-${this.date.month}` : '')
+        }_采购合同`,
+        type: 'xls',
+      })
+    },
+    total() {},
+  },
+}
+</script>
+<style lang="scss" scoped>
+.connert {
+  width: 90%;
+  margin: 0 auto;
+}
+.vertical-text-left {
+  width: 62px;
+  text-align: right;
+}
+//分页
+.el-pagination {
+  padding: 10px 15px;
+  margin-bottom: 0;
+  text-align: center;
+}
+/deep/.el-pager li.active {
+  color: #5878e8;
+  cursor: default;
+}
+/deep/.el-pager li:hover {
+  color: #5878e8;
+  cursor: default;
+}
+.el-button--default {
+  color: #8890b1;
+  border-color: #e8eaf1;
+}
+/deep/.base_header_layout .grid-content.right .find.el-button--primary {
+  width: 30px;
+  margin-left: 0;
+  border-top-left-radius: 0px;
+  border-bottom-left-radius: 0px;
+}
+/deep/.findValue .el-input__inner {
+  border-top-right-radius: 0px;
+  border-bottom-right-radius: 0px;
+  width: 385px;
+}
+.completed.el-button--default {
+  border-color: #5878e8;
+  background-color: #f6f7fc;
+  color: #5878e8;
+}
+.putstorage.el-button--default,
+.deliverystorage.el-button--default {
+  border-color: #8890b1;
+  background-color: #fff;
+  color: #8890b1;
+}
+/deep/.el-table td,
+/deep/.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+}
+/deep/.el-table tr td:first-child,
+/deep/.el-table tr th.is-leaf:first-child {
+  border-left: 1px solid #e9ecf7;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+}
+.record:after {
+  position: absolute;
+  content: '';
+  display: block;
+  top: 5px;
+  right: -2px;
+  width: 1px;
+  height: 12px;
+  background: #e9ecf7;
+}
+// .el-row{
+//     height: 150px;
+// }
+.base_header_layout .grid-content {
+  margin-top: 80px;
+}
+.el-input--small .el-input__inner {
+  margin-left: 20px;
+}
+.el-range-editor--small.el-input__inner {
+  height: 32px;
+  margin-left: -20%;
+}
+//执行样式
+.executory,
+.inExecution,
+.done {
+  width: 6px;
+  height: 6px;
+  display: inline-block;
+  border-radius: 50%;
+  position: relative;
+  top: -1px;
+  font-size: 14px;
+}
+.executory {
+  background: #ff9f24;
+}
+.inExecution {
+  background: #5878e8;
+}
+.done {
+  background: #50cad4;
+}
+.record,
+.adjustment {
+  display: inline-block;
+  color: #5878e8;
+  padding: 0 4px !important;
+  position: relative;
+  font-size: 14px;
+}
+.container {
+  overflow: scroll;
+  height: 93vh;
+}
+.button-container {
+  display: flex;
+  flex-wrap: nowrap;
+  justify-content: space-between;
+  align-items: center;
+  background-color: #fff;
+  width: 100%;
+  height: 50px;
+  padding: 0 10px;
+  & > div {
+    margin-left: 10px;
+    display: flex;
+    flex-wrap: nowrap;
+    flex-direction: row;
+    & > span {
+      line-height: 50px;
+    }
+  }
+
+  /deep/.auditFlow-box {
+    position: unset;
+    margin-left: 10px;
+    &/deep/.auditFlow-icon {
+      width: auto;
+      padding-right: 30px;
+    }
+    &/deep/.auditFlow-main {
+      position: absolute;
+    }
+  }
+}
+.bg-left {
+  padding-left: 30px;
+}
+.title {
+  position: relative;
+}
+.title::before {
+  content: '';
+  display: inline-block;
+  width: 5px;
+  height: 30px;
+  background: #5473e8;
+  position: absolute;
+  left: 0;
+}
+.el-button--primary {
+  background-color: #5878e8;
+  border-color: #5878e8;
+  // margin-left: 85%;
+  margin-top: 13px;
+}
+//导航条样式
+.el-col-12 {
+  width: 50%;
+  height: 60px;
+  background: #f6f7fc;
+  border-radius: 4px 4px 1px 1px;
+}
+.el-input--small .el-input__inner {
+  height: 32px;
+  line-height: 32px;
+  width: 385px;
+  margin-top: 10px;
+}
+.bg-bottom {
+  margin-left: 85%;
+}
+.but {
+  margin-left: 30%;
+  /* margin-top: -32px; */
+  overflow: auto;
+  /* float: left; */
+  /* margin-left: 1px; */
+  margin-left: -10px;
+}
+.el-input--small {
+  font-size: 13px;
+  width: 390px;
+  margin-left: 74%;
+}
+/deep/.el-table .el-table__header .cell,
+.el-table .el-table__body .cell {
+  text-align: center;
+}
+.el-scrollbar__wrap {
+  overflow-y: hidden;
+}
+/deep/.deal {
+  margin-left: 0%;
+  width: 64%;
+}
+.photo {
+  padding: 0% 34%;
+}
+.photo1 {
+  padding: 0 10%;
+}
+.photo2 {
+  padding: 0 12%;
+}
+/deep/.el-form-item--small .el-form-item__label,
+.el-form-item--small .el-form-item__content {
+  text-align: center;
+}
+hr {
+  width: 91%;
+}
+/deep/.deaal {
+  width: 66%;
+  margin-left: 9%;
+}
+.el-date-editor.el-input,
+.el-date-editor.el-input__inner,
+.el-input-number--small {
+  width: 123% !important;
+}
+/deep/.el-table td,
+.el-table th.is-leaf {
+  border-right: 1px solid #e9ecf7;
+  text-align: center;
+  height: 40px;
+}
+// .danjia{
+//   width: 9px;
+//   height: 9px;
+//   margin-left: 40px;
+// }
+</style>