|
@@ -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>
|