|
@@ -1,1448 +1,883 @@
|
|
|
-//销售出库报表
|
|
|
+//现货销售出库报表
|
|
|
<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>
|
|
|
+ <div class="container">
|
|
|
+ <el-scrollbar style="height: 100%">
|
|
|
+ <el-row>
|
|
|
+ <el-col style="padding-left: 15px" :span="16">
|
|
|
+ <ws-button type="primary" v-hasPermission="`report.saleOutReport.view`" @click="adopt()">备注
|
|
|
+ </ws-button>
|
|
|
+ <ws-button type="primary" v-hasPermission="`report.saleOutReport.view`" @click="depositbutton()">定金
|
|
|
+ </ws-button>
|
|
|
+ <ws-button type="primary" v-hasPermission="`report.saleOutReport.payment`" @click="handlecollect()">收款
|
|
|
+ </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.buyer">买方: {{ orderList.buyer }} </span>
|
|
|
+ <span v-else>买方: </span>
|
|
|
+ </div>
|
|
|
+ <div v-if="contractNo != ''">
|
|
|
+ <span v-if="orderList.goodsName">货名: {{ orderList.goodsName }} </span>
|
|
|
+ <span v-else>货名: </span>
|
|
|
+ <span v-if="orderList.weight">合同重量: {{ orderList.weight }} 吨</span>
|
|
|
+ <span v-else>合同重量: 0 吨</span>
|
|
|
+ <span v-if="outboundVolume">出库量: {{ outboundVolume }} 吨</span>
|
|
|
+ <span v-else>出库量: 0 吨</span>
|
|
|
+ <span v-if="orderList.unitContractPrice">合同单价: {{ orderList.unitContractPrice }} 元/吨</span>
|
|
|
+ <span v-else>合同单价: 0 元/吨</span>
|
|
|
+ <span v-if="amountReceivable">应收: {{ amountReceivable }} 元</span>
|
|
|
+ <span v-else>应收: 0 元</span>
|
|
|
+ <span v-if="amountReceived">已收: {{ amountReceived }} 元</span>
|
|
|
+ <span v-else>已收: 0 元</span>
|
|
|
+ <span v-if="uncollectedAmount">未收: {{ uncollectedAmount }} 元</span>
|
|
|
+ <span v-else>未收: 0 元</span>
|
|
|
+ <span v-if="orderList.deposit">定金: {{ orderList.deposit }} 元</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-table class="wenzi" :data="saleList.records" style="width: 100%; margin-top: 20px" ref="saleList" border
|
|
|
+ :summary-method="getSummaries" show-summary @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="warehouseName" label="仓库"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="deliveryDate" label="出库日期"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="grossWeight" label="毛重(吨)"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="tare" label="皮重(吨)"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="netWeight" label="净重(吨)"></el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="settlementWeight" label="结算重量(吨)">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div class="inputChenge">
|
|
|
+ <el-input v-model="scope.row.settlementWeight" v-if="scope.row.identification == 'true'">
|
|
|
+ </el-input>
|
|
|
+ <div v-if="scope.row.identification == 'false'" class="inputs">
|
|
|
+ {{ scope.row.settlementWeight }}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <img width="17" height="18" style="vertical-align: text-top; position: relative; top: -1px"
|
|
|
+ src="../../../public/img/edit.png" @click="whether(scope.row)"
|
|
|
+ v-if="scope.row.identification == 'false'" alt="" />
|
|
|
+ <i class="el-icon-check" style="line-height: 29px; margin-left: 10px"
|
|
|
+ v-if="scope.row.identification == 'true'" @click="weightClick(scope.row)"></i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column class="table_td" prop="amountIngReceivable" label="应收金额(元)"></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> -->
|
|
|
+ <!-- 页数 -->
|
|
|
+ <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" prop="amountNotReceivable">
|
|
|
+ <span>{{ uncollectedAmount }}</span>
|
|
|
+ </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="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="25%" title="定金" :visible.sync="dialogFormVisible2" :append-to-body="true">
|
|
|
+ <el-form :model="form">
|
|
|
+ <el-form-item label="已收定金(元)" :label-width="formLabelWidth">
|
|
|
+ <el-input v-model="deposit" autocomplete="off" placeholder="输入定金金额" class="deal"></el-input>
|
|
|
+ </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="handlePictureCardPreview1" :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="dialogFormVisible2 = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="depositSubmit()">提 交</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <!--备注-->
|
|
|
+ <el-dialog width="25%" title="备注" :visible.sync="collectForm1" :append-to-body="true">
|
|
|
+ <el-form :model="form">
|
|
|
+ <div class="beizhu">
|
|
|
+ <el-input v-model="remark" autocomplete="off" placeholder="备注信息,不超过1000字" class="deal"></el-input>
|
|
|
+ </div>
|
|
|
+ </el-form>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="collectForm1 = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="adoptRemarks()">保存</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
|
|
|
- },
|
|
|
- },
|
|
|
+ import {
|
|
|
+ getStockSaleReceiptList,
|
|
|
+ getStockSaleContractNoList,
|
|
|
+ stockSaleCollectMoney,
|
|
|
+ disOrRemarks,
|
|
|
+ saleEditSettlementWeight,
|
|
|
+ } 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 {
|
|
|
+ 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,
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dialogFormVisible1: false,
|
|
|
+ dialogFormVisible2: false,
|
|
|
+ amountEdReceivable: 0,
|
|
|
+ amountNotReceivable: 0,
|
|
|
+ deptBudgetList: {},
|
|
|
+ //分页
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ allmoney1: 0,
|
|
|
+ deptCircularPage: {},
|
|
|
+ deptBudgetTotal: 0,
|
|
|
+ stockSaleReceiptReportList: [],
|
|
|
+ stockSaleReceiptReport: {
|
|
|
+ stockSaleReceiptReportList: [],
|
|
|
+ money: '',
|
|
|
+ amountEdReceivable: 0,
|
|
|
+ amountNotReceivable: 0,
|
|
|
+ collectionDate: '',
|
|
|
+ id: '',
|
|
|
+ invoiceType: '',
|
|
|
+ },
|
|
|
+ orderList: {},
|
|
|
+ options: [],
|
|
|
+ contractNoList: [],
|
|
|
+ contractNo: '',
|
|
|
+ dialogVisible: false,
|
|
|
+ form: {},
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
|
+ collectForm: false,
|
|
|
+ collectForm1: false,
|
|
|
+ managementType: 3,
|
|
|
+ money: 0,
|
|
|
+ // id:'',
|
|
|
+ collectmoney: 0,
|
|
|
+ remark: '',
|
|
|
+ remarkInformationList: {},
|
|
|
+ remarkInformation: {
|
|
|
+ remarkInformationList: [],
|
|
|
+ id: '',
|
|
|
+ remark: '',
|
|
|
+ deposit: '0',
|
|
|
+ depositUrl: '',
|
|
|
+ },
|
|
|
+ deposit: '0',
|
|
|
+ depositUrl: [],
|
|
|
+ saleList: [],
|
|
|
+ amountReceivable: '',
|
|
|
+ amountReceived: '',
|
|
|
+ uncollectedAmount: '',
|
|
|
+ outboundVolume:'',
|
|
|
+ collectionDate: '',
|
|
|
+ collectionScreenshot: '',
|
|
|
+ amountEdCollectionable: '',
|
|
|
+ actualCollectionment: '',
|
|
|
+ // collectDate: '',
|
|
|
+ calculationCollectable: '',
|
|
|
+ searchType: '',
|
|
|
+ searchTypeText: '',
|
|
|
+ formLabelWidth: '120px',
|
|
|
+ searchKeyWord: '',
|
|
|
+ value1: '', //收款日期
|
|
|
+ modification: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ activated() {
|
|
|
+ this.getList()
|
|
|
+ this.showType = this.isShow
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ //表头
|
|
|
+ contractchange(e) {
|
|
|
+ for (var i = 0; i < this.contractNoList.length; i++) {
|
|
|
+ if (this.contractNoList[i].contractNo == e) {
|
|
|
+ this.orderList= this.contractNoList[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.contractNo = e
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ //选择合同
|
|
|
+ dataFilter(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
|
|
|
+ }
|
|
|
+ },
|
|
|
+ //修改结算重量
|
|
|
+ whether(row) {
|
|
|
+ row.identification = 'true'
|
|
|
+ },
|
|
|
+ weightClick(row) {
|
|
|
+ if (
|
|
|
+ row.settlementWeight > 200 ||
|
|
|
+ row.settlementWeight < 1 ||
|
|
|
+ (String(row.settlementWeight).indexOf(
|
|
|
+ '.'
|
|
|
+ ) != -1 &&
|
|
|
+ String(row.settlementWeight).length -
|
|
|
+ (String(row.settlementWeight).indexOf(
|
|
|
+ '.'
|
|
|
+ ) +
|
|
|
+ 1) >
|
|
|
+ 3)
|
|
|
+ ) {
|
|
|
+ this.$message({
|
|
|
+ message: '结算重量输入错误',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$confirm(`确定要修改结算重量?`, {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ saleEditSettlementWeight({
|
|
|
+ settlementWeight: row.settlementWeight,
|
|
|
+ id: row.id,
|
|
|
+ })
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.$notify.success({
|
|
|
+ title: '成功',
|
|
|
+ message: '结算重量修改成功',
|
|
|
+ })
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //备注信息
|
|
|
+ adopt() {
|
|
|
+ this.collectForm1 = true
|
|
|
+ },
|
|
|
+ adoptRemarks() {
|
|
|
+ this.remarkInformation.remark = this.remark
|
|
|
+ this.$confirm(`确定要保存备注信息?`, {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ for (var i = 0; i < this.contractNoList.length; i++) {
|
|
|
+ if (this.contractNoList[i].contractNo == this.contractNo) {
|
|
|
+ this.remarkInformationList.id = this.contractNoList[i].id
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.remarkInformationList.remark = this.remark
|
|
|
+ disOrRemarks(this.remarkInformationList)
|
|
|
+ .toPromise()
|
|
|
+ .then(() => {
|
|
|
+ this.collectForm1 = false
|
|
|
+ this.$message.success('添加备注信息成功')
|
|
|
+ this.remarkInformationList = {}
|
|
|
+ this.getList()
|
|
|
|
|
|
- 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)
|
|
|
- }
|
|
|
- },
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ return false
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ selectInit(row) {
|
|
|
+ //在这里一定要记得类型匹配的上。
|
|
|
+ if (row.approveStatus == null) {
|
|
|
+ return true
|
|
|
+ } else if (row.approveStatus != null) {
|
|
|
+ if (row.taskId == null) {
|
|
|
+ return false
|
|
|
+ } else {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.modification = val
|
|
|
+ },
|
|
|
+ //合计
|
|
|
+ getSummaries(param) {
|
|
|
+ const {
|
|
|
+ columns,
|
|
|
+ data
|
|
|
+ } = param
|
|
|
+ const sums = []
|
|
|
+ columns.forEach((column, index) => {
|
|
|
+ if (index === 0) {
|
|
|
+ sums[index] = '合计'
|
|
|
+ } else if (
|
|
|
+ index === 7 ||
|
|
|
+ index === 8
|
|
|
+ ) {
|
|
|
+ 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
|
|
|
+ },
|
|
|
+ //定金
|
|
|
+ depositbutton() {
|
|
|
+ this.dialogFormVisible2 = true
|
|
|
+ },
|
|
|
+ depositSubmit() {
|
|
|
+ this.remarkInformation.deposit = this.deposit
|
|
|
+ this.remarkInformation.depositUrl = this.depositUrl
|
|
|
+ this.$confirm(`确定提交定金信息?`, {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ for (var i = 0; i < this.contractNoList.length; i++) {
|
|
|
+ if (this.contractNoList[i].contractNo == this.contractNo) {
|
|
|
+ this.remarkInformationList.id = this.contractNoList[i].id
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.remarkInformationList.deposit = this.deposit
|
|
|
+ this.remarkInformationList.depositUrl = this.depositUrl
|
|
|
+ disOrRemarks(this.remarkInformationList)
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.$notify.success({
|
|
|
+ title: '成功',
|
|
|
+ message: '定金成功',
|
|
|
+ })
|
|
|
+ this.remarkInformationList = {}
|
|
|
+ this.dialogFormVisible2 = false
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ .catch((response) => {
|
|
|
+ console.log(response)
|
|
|
+ EventBus.$emit('error', response.message)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //收款
|
|
|
+ handlecollect() {
|
|
|
+ this.amountEdReceivable = this.saleList.records[0].amountEdReceivable
|
|
|
+ this.amountNotReceivable = this.saleList.records[0].amountNotReceivable
|
|
|
+ this.stockSaleReceiptReportList = this.saleList.records
|
|
|
+ this.dialogFormVisible1 = true
|
|
|
+ },
|
|
|
+ collectment() {
|
|
|
+ this.stockSaleReceiptReport.money = this.money
|
|
|
+ this.stockSaleReceiptReport.collectionDate = this.collectionDate
|
|
|
+ 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.uncollectedAmount) {
|
|
|
+ this.$message({
|
|
|
+ message: '收款金额不能大于未收金额!',
|
|
|
+ type: 'warning',
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.$confirm(`确定提交收款信息?`, {
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ stockSaleCollectMoney({
|
|
|
+ stockSaleReceiptReportList: this.stockSaleReceiptReportList,
|
|
|
+ amountEdReceivable: this.amountEdReceivable,
|
|
|
+ amountNotReceivable: this.amountNotReceivable,
|
|
|
+ money: this.money,
|
|
|
+ collectionDate: this.collectionDate,
|
|
|
+ collectionScreenshot: this.collectionScreenshot,
|
|
|
+ })
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.$notify.success({
|
|
|
+ title: '成功',
|
|
|
+ message: '收款成功',
|
|
|
+ })
|
|
|
+ this.stockSaleReceiptReportList = {}
|
|
|
+ this.money = ''
|
|
|
+ this.collectionDate = ''
|
|
|
+ this.collectionScreenshot = ''
|
|
|
+ this.dialogFormVisible1 = false
|
|
|
+ this.getList()
|
|
|
+ })
|
|
|
+ .catch((response) => {
|
|
|
+ console.log(response)
|
|
|
+ EventBus.$emit('error', response.message)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //列表
|
|
|
+ getList() {
|
|
|
+ getStockSaleReceiptList({
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
|
+ currentPage: this.currentPage,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ searchType: this.searchType,
|
|
|
+ contractNo: this.contractNo,
|
|
|
+ })
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.amountReceivable = 0
|
|
|
+ this.amountReceived = 0
|
|
|
+ this.uncollectedAmount = 0
|
|
|
+ this.outboundVolume = 0
|
|
|
+ for (var i = 0; i < response.records.length; i++) {
|
|
|
+ response.records[i].identification = 'false'
|
|
|
+ this.amountReceivable += response.records[i].amountIngReceivable
|
|
|
+ this.amountReceived += response.records[i].amountEdReceivable
|
|
|
+ this.uncollectedAmount += response.records[i].amountNotReceivable
|
|
|
+ this.outboundVolume += response.records[i].settlementWeight
|
|
|
+ }
|
|
|
+ this.deptBudgetTotal = response.total
|
|
|
+ this.saleList = response
|
|
|
+ })
|
|
|
+ getStockSaleContractNoList({
|
|
|
+ compId: sessionStorage.getItem('ws-pf_compId'),
|
|
|
+ currentPage: this.currentPage,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ roleFlag: this.roleFlag,
|
|
|
+ })
|
|
|
+ .toPromise()
|
|
|
+ .then((response) => {
|
|
|
+ this.contractNoList = response
|
|
|
+ // this.contractNoList.unshift({})
|
|
|
+ this.options = this.contractNoList
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //收款截图
|
|
|
+ handleRemove(file) {
|
|
|
+ console.log(file)
|
|
|
+ },
|
|
|
+ handlePictureCardPreview(file) {
|
|
|
+ this.collectionScreenshot = file.url
|
|
|
+ },
|
|
|
+ handlePictureCardPreview1(file) {
|
|
|
+ this.depositUrl = file.url
|
|
|
+ },
|
|
|
+ handleDownload(file) {
|
|
|
+ console.log(file)
|
|
|
+ },
|
|
|
+ handleSizeChange(val) {
|
|
|
+ console.log(`每页 ${val} 条`)
|
|
|
+ this.pageSize = val
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ this.currentPage = val
|
|
|
+ console.log(`当前页: ${val}`)
|
|
|
+ this.getList()
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+ .connert {
|
|
|
+ width: 90%;
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
|
|
|
- handleRemove(file) {
|
|
|
- console.log(file)
|
|
|
- },
|
|
|
- handlePictureCardPreview(file) {
|
|
|
- this.collectionScreenshot = file.url
|
|
|
- },
|
|
|
- handleDownload(file) {
|
|
|
- console.log(file)
|
|
|
- },
|
|
|
+ .vertical-text-left {
|
|
|
+ width: 62px;
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
|
|
|
- getSpanArr(data) {
|
|
|
- let that = this
|
|
|
+ //分页
|
|
|
+ .el-pagination {
|
|
|
+ padding: 10px 15px;
|
|
|
+ margin-bottom: 0;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
|
|
|
- //页面展示的数据,不一定是全部的数据,所以每次都清空之前存储的 保证遍历的数据是最新的数据。以免造成数据渲染混乱
|
|
|
+ /deep/.el-pager li.active {
|
|
|
+ color: #5878e8;
|
|
|
+ cursor: default;
|
|
|
+ }
|
|
|
|
|
|
- that.spanArr = []
|
|
|
+ /deep/.el-pager li:hover {
|
|
|
+ color: #5878e8;
|
|
|
+ cursor: default;
|
|
|
+ }
|
|
|
|
|
|
- that.pos = 0
|
|
|
+ .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;
|
|
|
+ }
|
|
|
|
|
|
- data.forEach((item, index) => {
|
|
|
- //判断是否是第一项
|
|
|
+ /deep/.findValue .el-input__inner {
|
|
|
+ border-top-right-radius: 0px;
|
|
|
+ border-bottom-right-radius: 0px;
|
|
|
+ width: 385px;
|
|
|
+ }
|
|
|
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
+ .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;
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/.beizhu .el-input--small .el-input__inner {
|
|
|
+ height: 220px;
|
|
|
+ line-height: 28px;
|
|
|
+ width: 146%;
|
|
|
+ margin-left: 15px;
|
|
|
+ }
|
|
|
|
|
|
- /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;
|
|
|
-// }
|
|
|
+ .inputs {
|
|
|
+ margin: 0 auto;
|
|
|
+ margin-right: 15%;
|
|
|
+ }
|
|
|
+ .inputChenge {
|
|
|
+ width: 120%;
|
|
|
+ display: inline-flex;
|
|
|
+ margin-left: -69%;
|
|
|
+ }
|
|
|
</style>
|