feat(finance): 添加提交日期筛选功能和金额汇总功能
- 在收票、红冲、付款等审批页面添加提交日期范围筛选功能 - 在财务页面表格中添加金额汇总显示功能 - 修复收票单详情页面字段显示问题 - 优化数据库查询时间范围处理逻辑 - 添加附件金额相关字段支持dev_1.0.1
parent
b21c54a901
commit
389deac133
|
|
@ -75,3 +75,16 @@ export function revokeReceipt(id) {
|
||||||
method: 'put'
|
method: 'put'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 申请红冲(带附件)
|
||||||
|
export function applyRedRush(data) {
|
||||||
|
return request({
|
||||||
|
url: '/finance/ticket/applyRefund',
|
||||||
|
method: 'post',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'multipart/form-data'
|
||||||
|
},
|
||||||
|
data: data,
|
||||||
|
needLoading: true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -21,6 +32,11 @@
|
||||||
<el-table-column label="收票编号" align="center" prop="ticketBillCode" />
|
<el-table-column label="收票编号" align="center" prop="ticketBillCode" />
|
||||||
<el-table-column label="供应商" align="center" prop="vendorName" />
|
<el-table-column label="供应商" align="center" prop="vendorName" />
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -97,6 +113,7 @@ export default {
|
||||||
processKey: 'fianance_ticket',
|
processKey: 'fianance_ticket',
|
||||||
projectName: null
|
projectName: null
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -111,7 +128,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listInvoiceReceiptApproved(this.queryParams).then(response => {
|
listInvoiceReceiptApproved(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.invoiceReceiptList = response.rows;
|
this.invoiceReceiptList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -122,6 +139,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="invoice-receipt-detail">
|
<div class="invoice-receipt-detail">
|
||||||
<el-descriptions title="收票单信息" :column="3" border>
|
<el-descriptions title="收票单信息" :column="3" border>
|
||||||
<el-descriptions-item label="收票单编号">{{ data.ticketBillCode }}</el-descriptions-item>
|
<el-descriptions-item label="采购-收票单编号">{{ data.ticketBillCode }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="供应商名称">{{ data.vendorName }}</el-descriptions-item>
|
<el-descriptions-item label="制造商名称">{{ data.vendorName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="发票类型">
|
<el-descriptions-item label="票据类型">
|
||||||
<dict-tag :options="dict.type.finance_invoice_type" :value="data.ticketType"/>
|
<dict-tag :options="dict.type.finance_invoice_type" :value="data.ticketType"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="含税总价">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
<el-descriptions-item label="含税总价(元)">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="未税总价">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
<el-descriptions-item label="未税总价(元)">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="税额">{{ data.taxAmount }}</el-descriptions-item>
|
<el-descriptions-item label="税额(元)">{{ data.taxAmount }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="预计收票时间">{{ data.ticketTime }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="制造商开票时间">{{ data.vendorTicketTime }}</el-descriptions-item>
|
<el-descriptions-item label="制造商开票时间">{{ data.vendorTicketTime }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>-->
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<div class="section" style="margin-top: 20px;" v-show="data.detailList && data.detailList.length>0">
|
<div class="section" style="margin-top: 20px;" v-show="data.detailList && data.detailList.length>0">
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -35,6 +46,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="登记人" align="center" prop="createUserName" />-->
|
<!-- <el-table-column label="登记人" align="center" prop="createUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -126,6 +142,7 @@ export default {
|
||||||
processKey: 'fianance_ticket',
|
processKey: 'fianance_ticket',
|
||||||
projectName: null
|
projectName: null
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -151,7 +168,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listInvoiceReceiptApprove(this.queryParams).then(response => {
|
listInvoiceReceiptApprove(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.invoiceReceiptList = response.rows;
|
this.invoiceReceiptList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -162,6 +179,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -22,7 +33,11 @@
|
||||||
<el-table-column label="供应商" align="center" prop="vendorName" />
|
<el-table-column label="供应商" align="center" prop="vendorName" />
|
||||||
|
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -96,9 +111,10 @@ export default {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
receiptNo: null,
|
receiptNo: null,
|
||||||
vendorName: null,
|
vendorName: null,
|
||||||
processKey: 'fianance_ticket_red',
|
processKey: 'finance_ticket_refound',
|
||||||
projectName: null
|
projectName: null
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -113,7 +129,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listInvoiceReceiptApproved(this.queryParams).then(response => {
|
listInvoiceReceiptApproved(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.invoiceReceiptList = response.rows;
|
this.invoiceReceiptList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -124,6 +140,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="invoice-red-detail">
|
<div class="invoice-red-detail">
|
||||||
<el-descriptions title="红冲发票信息" :column="3" border>
|
<el-descriptions title="红冲发票信息" :column="3" border>
|
||||||
<el-descriptions-item label="收票单编号">{{ data.ticketBillCode }}</el-descriptions-item>
|
<el-descriptions-item label="采购-收票单编号">{{ data.ticketBillCode }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="供应商名称">{{ data.vendorName }}</el-descriptions-item>
|
<el-descriptions-item label="制造商名称">{{ data.vendorName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="发票类型">
|
<el-descriptions-item label="票据类型">
|
||||||
<dict-tag :options="dict.type.finance_invoice_type" :value="data.ticketType"/>
|
<dict-tag :options="dict.type.finance_invoice_type" :value="data.ticketType"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="含税总价">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
<el-descriptions-item label="含税总价(元)">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="未税总价">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
<el-descriptions-item label="未税总价(元)">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="税额">{{ data.taxAmount }}</el-descriptions-item>
|
<el-descriptions-item label="税额(元)">{{ data.taxAmount }}</el-descriptions-item>
|
||||||
|
<el-descriptions-item label="收票时间">{{ data.ticketTime }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="制造商开票时间">{{ data.vendorTicketTime }}</el-descriptions-item>
|
<el-descriptions-item label="制造商开票时间">{{ data.vendorTicketTime }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>-->
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<div class="section" style="margin-top: 20px;" v-show="data.detailList && data.detailList.length>0">
|
<div class="section" style="margin-top: 20px;" v-show="data.detailList && data.detailList.length>0">
|
||||||
|
|
@ -25,7 +26,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
||||||
<el-table-column prop="paymentAmount" label="本次收票金额" align="center"></el-table-column>
|
<el-table-column prop="paymentAmount" label="本次红冲金额" align="center"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -35,6 +46,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="登记人" align="center" prop="createUserName" />-->
|
<!-- <el-table-column label="登记人" align="center" prop="createUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -123,9 +139,10 @@ export default {
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
receiptNo: null,
|
receiptNo: null,
|
||||||
vendorName: null,
|
vendorName: null,
|
||||||
processKey: 'fianance_ticket_red',
|
processKey: 'finance_ticket_refound',
|
||||||
projectName: null
|
projectName: null
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -139,7 +156,7 @@ export default {
|
||||||
opinionRules: {
|
opinionRules: {
|
||||||
approveOpinion: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }],
|
approveOpinion: [{ required: true, message: '审批意见不能为空', trigger: 'blur' }],
|
||||||
},
|
},
|
||||||
processKey: 'fianance_ticket_red',
|
processKey: 'finance_ticket_refound',
|
||||||
taskId: null,
|
taskId: null,
|
||||||
currentInvoiceReceiptId: null,
|
currentInvoiceReceiptId: null,
|
||||||
pdfExporting: false
|
pdfExporting: false
|
||||||
|
|
@ -151,7 +168,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listInvoiceReceiptApprove(this.queryParams).then(response => {
|
listInvoiceReceiptApprove(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.invoiceReceiptList = response.rows;
|
this.invoiceReceiptList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -162,6 +179,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -23,6 +34,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -99,6 +115,7 @@ export default {
|
||||||
projectName: null,
|
projectName: null,
|
||||||
processKey: 'finance_payment',
|
processKey: 'finance_payment',
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -113,7 +130,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listPaymentApproved(this.queryParams).then(response => {
|
listPaymentApproved(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.paymentList = response.rows;
|
this.paymentList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -124,6 +141,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1,30 +1,35 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="payment-detail">
|
<div class="payment-detail">
|
||||||
<el-descriptions title="付款单信息" :column="3" border>
|
<el-descriptions title="付款单信息" :column="3" border>
|
||||||
<el-descriptions-item label="采购付款单编号">{{ data.paymentBillCode }}</el-descriptions-item>
|
<el-descriptions-item label="采购-付款单编号">{{ data.paymentBillCode }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="制造商名称">{{ data.vendorName }}</el-descriptions-item>
|
<el-descriptions-item label="制造商名称">{{ data.vendorName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="付款单类型">
|
<el-descriptions-item label="付款单类型">
|
||||||
<dict-tag :options="dict.type.payment_bill_type" :value="data.paymentBillType"/>
|
<dict-tag :options="dict.type.payment_bill_type" :value="data.paymentBillType"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="含税总价">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
<el-descriptions-item label="含税总价(元)">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="未税总价">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
<el-descriptions-item label="未税总价(元)">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="税额">{{ data.taxAmount }}</el-descriptions-item>
|
<el-descriptions-item label="税额(元)">{{ data.taxAmount }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="付款方式">
|
<el-descriptions-item label="支付方式">
|
||||||
<dict-tag :options="dict.type.payment_method" :value="data.paymentMethod"/>
|
<dict-tag :options="dict.type.payment_method" :value="data.paymentMethod"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行账号">{{ data.payBankNumber }}</el-descriptions-item>
|
<el-descriptions-item label="银行账号">{{ data.payBankNumber }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="账户名称">{{ data.payName }}</el-descriptions-item>
|
<el-descriptions-item label="账户名称">{{ data.payName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行开户行">{{ data.payBankOpenAddress }}</el-descriptions-item>
|
<el-descriptions-item label="银行开户行">{{ data.payBankOpenAddress }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行行号">{{ data.bankNumber }}</el-descriptions-item>
|
<el-descriptions-item label="银行行号">{{ data.bankNumber }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>-->
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<div class="section" style="margin-top: 20px;" v-show="data.payableDetails && data.payableDetails.length>0">
|
<div class="section" style="margin-top: 20px;" v-show="data.payableDetails && data.payableDetails.length>0">
|
||||||
<div class="el-descriptions__title">应付单列表</div>
|
<div class="el-descriptions__title">应付单列表</div>
|
||||||
<el-table :data="data.payableDetails" border style="width: 100%; margin-top: 10px;">
|
<el-table :data="data.payableDetails" border style="width: 100%; margin-top: 10px;">
|
||||||
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
|
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
|
||||||
<el-table-column prop="payableBillCode" label="采购应付单编号" align="center"></el-table-column>
|
<el-table-column prop="payableBillCode" label="采购-应付单编号" align="center"></el-table-column>
|
||||||
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column>
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="productType" label="产品类型" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
||||||
<el-table-column prop="paymentAmount" label="本次付款金额" align="center"></el-table-column>
|
<el-table-column prop="paymentAmount" label="本次付款金额" align="center"></el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -68,7 +73,7 @@ export default {
|
||||||
default: () => ({})
|
default: () => ({})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dicts: ['payment_bill_type', 'payment_method'],
|
dicts: ['payment_bill_type', 'product_type','payment_method'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
attachments: [],
|
attachments: [],
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -35,6 +46,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -126,6 +142,7 @@ export default {
|
||||||
projectName: null,
|
projectName: null,
|
||||||
processKey: 'finance_payment',
|
processKey: 'finance_payment',
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -151,7 +168,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listPaymentApprove(this.queryParams).then(response => {
|
listPaymentApprove(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.paymentList = response.rows;
|
this.paymentList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -162,6 +179,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -23,6 +34,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -99,6 +115,7 @@ export default {
|
||||||
projectName: null,
|
projectName: null,
|
||||||
processKey: 'finance_refund',
|
processKey: 'finance_refund',
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -113,7 +130,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listPaymentApproved(this.queryParams).then(response => {
|
listPaymentApproved(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.paymentList = response.rows;
|
this.paymentList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -124,6 +141,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -6,25 +6,30 @@
|
||||||
<el-descriptions-item label="付款单类型">
|
<el-descriptions-item label="付款单类型">
|
||||||
<dict-tag :options="dict.type.payment_bill_type" :value="data.paymentBillType"/>
|
<dict-tag :options="dict.type.payment_bill_type" :value="data.paymentBillType"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="含税总价">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
<el-descriptions-item label="含税总价(元)">{{ data.totalPriceWithTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="未税总价">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
<el-descriptions-item label="未税总价(元)">{{ data.totalPriceWithoutTax }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="税额">{{ data.taxAmount }}</el-descriptions-item>
|
<el-descriptions-item label="税额(元)">{{ data.taxAmount }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="付款方式">
|
<el-descriptions-item label="支付方式">
|
||||||
<dict-tag :options="dict.type.payment_method" :value="data.paymentMethod"/>
|
<dict-tag :options="dict.type.payment_method" :value="data.paymentMethod"/>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行账号">{{ data.payBankNumber }}</el-descriptions-item>
|
<el-descriptions-item label="银行账号">{{ data.payBankNumber }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="账户名称">{{ data.payName }}</el-descriptions-item>
|
<el-descriptions-item label="账户名称">{{ data.payName }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行开户行">{{ data.payBankOpenAddress }}</el-descriptions-item>
|
<el-descriptions-item label="银行开户行">{{ data.payBankOpenAddress }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="银行行号">{{ data.bankNumber }}</el-descriptions-item>
|
<el-descriptions-item label="银行行号">{{ data.bankNumber }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>
|
<!-- <el-descriptions-item label="备注" :span="3">{{ data.remark }}</el-descriptions-item>-->
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<div class="section" style="margin-top: 20px;" v-show="data.payableDetails && data.payableDetails.length>0">
|
<div class="section" style="margin-top: 20px;" v-show="data.payableDetails && data.payableDetails.length>0">
|
||||||
<div class="el-descriptions__title">退款明细列表</div>
|
<div class="el-descriptions__title">应付单信息</div>
|
||||||
<el-table :data="data.payableDetails" border style="width: 100%; margin-top: 10px;">
|
<el-table :data="data.payableDetails" border style="width: 100%; margin-top: 10px;">
|
||||||
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
|
<el-table-column type="index" label="序号" width="50" align="center"></el-table-column>
|
||||||
<el-table-column prop="payableBillCode" label="采购应付单编号" align="center"></el-table-column>
|
<el-table-column prop="payableBillCode" label="采购应付单编号" align="center"></el-table-column>
|
||||||
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column>
|
<el-table-column prop="projectName" label="项目名称" align="center"></el-table-column>
|
||||||
|
<el-table-column prop="productType" label="产品类型" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- Note: Product Type is requested but not present in reference DetailDrawer.vue. Omitting for safety or need to ask. -->
|
<!-- Note: Product Type is requested but not present in reference DetailDrawer.vue. Omitting for safety or need to ask. -->
|
||||||
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
<el-table-column prop="totalPriceWithTax" label="含税总价" align="center"></el-table-column>
|
||||||
<el-table-column prop="paymentAmount" label="本次付款金额" align="center"></el-table-column>
|
<el-table-column prop="paymentAmount" label="本次付款金额" align="center"></el-table-column>
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,17 @@
|
||||||
<el-form-item label="项目名称" prop="projectName">
|
<el-form-item label="项目名称" prop="projectName">
|
||||||
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
<el-input v-model="queryParams.projectName" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="提交日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="dateRange"
|
||||||
|
style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="-"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
></el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -35,6 +46,11 @@
|
||||||
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
<!-- <el-table-column label="项目名称" align="center" prop="projectName" />-->
|
||||||
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
<el-table-column label="金额" align="center" prop="totalPriceWithTax" />
|
||||||
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
<!-- <el-table-column label="汇智负责人" align="center" prop="hzUserName" />-->
|
||||||
|
<el-table-column label="提交日期" align="center" prop="applyTime" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.applyTime) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
<el-table-column label="审批节点" align="center" prop="approveNode" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="200">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -126,6 +142,7 @@ export default {
|
||||||
projectName: null,
|
projectName: null,
|
||||||
processKey: 'finance_refund',
|
processKey: 'finance_refund',
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
detailDialogVisible: false,
|
detailDialogVisible: false,
|
||||||
detailLoading: false,
|
detailLoading: false,
|
||||||
form: {},
|
form: {},
|
||||||
|
|
@ -151,7 +168,7 @@ export default {
|
||||||
methods: {
|
methods: {
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
listPaymentApprove(this.queryParams).then(response => {
|
listPaymentApprove(this.addDateRange(this.queryParams, this.dateRange, 'ApplyTime')).then(response => {
|
||||||
this.paymentList = response.rows;
|
this.paymentList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -162,6 +179,7 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
|
this.dateRange = [];
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="payableList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="payableList" show-summary :summary-method="getSummaries" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="50" />
|
<el-table-column type="selection" width="50" />
|
||||||
<!-- <el-table-column label="项目编号" align="center" prop="projectCode" width="120" />-->
|
<!-- <el-table-column label="项目编号" align="center" prop="projectCode" width="120" />-->
|
||||||
<el-table-column label="项目名称" align="center" prop="projectName" width="260" />
|
<el-table-column label="项目名称" align="center" prop="projectName" width="260" />
|
||||||
|
|
@ -396,6 +396,35 @@ export default {
|
||||||
this.getList(); // Refresh the list
|
this.getList(); // Refresh the list
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
getSummaries(param) {
|
||||||
|
const { columns, data } = param;
|
||||||
|
const sums = [];
|
||||||
|
columns.forEach((column, index) => {
|
||||||
|
if (index === 0) {
|
||||||
|
sums[index] = '合计';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const values = data.map(item => Number(item[column.property]));
|
||||||
|
if (column.property === 'planAmount' || column.property === 'totalPriceWithTax') {
|
||||||
|
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);
|
||||||
|
sums[index] = sums[index].toFixed(2);
|
||||||
|
} else {
|
||||||
|
sums[index] = 'N/A';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sums[index] = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return sums;
|
||||||
|
},
|
||||||
getPaymentDateStyle(dateStr) {
|
getPaymentDateStyle(dateStr) {
|
||||||
|
|
||||||
if (!dateStr) return {};
|
if (!dateStr) return {};
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="paymentList">
|
<el-table v-loading="loading" :data="paymentList" show-summary :summary-method="getSummaries">
|
||||||
<el-table-column label="采购-付款单编号" width="200" align="center" prop="paymentBillCode"/>
|
<el-table-column label="采购-付款单编号" width="200" align="center" prop="paymentBillCode"/>
|
||||||
<el-table-column label="预计付款时间" align="center" prop="paymentTime" width="180">
|
<el-table-column label="预计付款时间" align="center" prop="paymentTime" width="180">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -474,6 +474,35 @@ export default {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$modal.msgSuccess("撤销成功");
|
this.$modal.msgSuccess("撤销成功");
|
||||||
}).catch(() => {});
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
getSummaries(param) {
|
||||||
|
const { columns, data } = param;
|
||||||
|
const sums = [];
|
||||||
|
columns.forEach((column, index) => {
|
||||||
|
if (index === 0) {
|
||||||
|
sums[index] = '合计';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const values = data.map(item => Number(item[column.property]));
|
||||||
|
if (column.property === 'totalPriceWithTax') {
|
||||||
|
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);
|
||||||
|
sums[index] = sums[index].toFixed(2);
|
||||||
|
} else {
|
||||||
|
sums[index] = 'N/A';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sums[index] = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return sums;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">发票含税金额</span>
|
<span class="item-label">发票含税金额</span>
|
||||||
<span class="item-value">{{ receiptData.ticketPriceWithTax }}</span>
|
<span class="item-value">{{ attachment.priceWithTax||receiptData.ticketPriceWithTax }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">未税金额</span>
|
<span class="item-label">未税金额</span>
|
||||||
|
|
@ -65,7 +65,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">发票未税金额</span>
|
<span class="item-label">发票未税金额</span>
|
||||||
<span class="item-value">{{ receiptData.ticketPriceWithoutTax }}</span>
|
<span class="item-value">{{ attachment.priceWithoutTax||receiptData.ticketPriceWithoutTax }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">税额</span>
|
<span class="item-label">税额</span>
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">发票税额</span>
|
<span class="item-label">发票税额</span>
|
||||||
<span class="item-value">{{ receiptData.ticketAmount }}</span>
|
<span class="item-value">{{ attachment.taxAmount || receiptData.ticketAmount }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-item">
|
<div class="detail-item">
|
||||||
<span class="item-label">备注</span>
|
<span class="item-label">备注</span>
|
||||||
|
|
@ -114,7 +114,7 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form :model="uploadForm" ref="uploadForm" :rules="rules" label-width="120px" size="medium" >
|
<el-form :model="uploadForm" ref="uploadForm" :rules="rules" label-width="120px" size="medium" >
|
||||||
<el-form-item label="票据类型" prop="ticketType" required>
|
<el-form-item label="票据类型" prop="ticketType" required>
|
||||||
<el-select v-model="uploadForm.ticketType" placeholder="请输入发票含税总价">
|
<el-select v-model="uploadForm.ticketType" placeholder="请选择票据类型">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dict.type.finance_invoice_type"
|
v-for="item in dict.type.finance_invoice_type"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
|
@ -140,19 +140,19 @@
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="含税总价">
|
<el-form-item label="含税总价">
|
||||||
<span>{{ receiptData.totalPriceWithTax }}</span>
|
<span>{{ this.uploadType !== 'red_rush' ? receiptData.totalPriceWithTax : -receiptData.totalPriceWithTax}}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发票含税总价" prop="ticketPriceWithTax" required>
|
<el-form-item label="发票含税总价" prop="ticketPriceWithTax" required>
|
||||||
<el-input v-model="uploadForm.ticketPriceWithTax" placeholder="请输入发票含税总价" @input="handlePriceWithTaxChange"></el-input>
|
<el-input v-model="uploadForm.ticketPriceWithTax" placeholder="请输入发票含税总价" @input="handlePriceWithTaxChange"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="未税总价">
|
<el-form-item label="未税总价">
|
||||||
<span>{{ receiptData.totalPriceWithoutTax }}</span>
|
<span>{{ this.uploadType !== 'red_rush'? receiptData.totalPriceWithoutTax : -receiptData.totalPriceWithoutTax }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发票未税总价" prop="ticketPriceWithoutTax" required>
|
<el-form-item label="发票未税总价" prop="ticketPriceWithoutTax" required>
|
||||||
<el-input v-model="uploadForm.ticketPriceWithoutTax" placeholder="请输入发票未税总价" @input="handlePriceWithoutTaxChange"></el-input>
|
<el-input v-model="uploadForm.ticketPriceWithoutTax" placeholder="请输入发票未税总价" @input="handlePriceWithoutTaxChange"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="税额">
|
<el-form-item label="税额">
|
||||||
<span>{{ receiptData.taxAmount }}</span>
|
<span>{{ this.uploadType !== 'red_rush' ? receiptData.taxAmount : -receiptData.taxAmount }}</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发票税额" prop="ticketAmount" required>
|
<el-form-item label="发票税额" prop="ticketAmount" required>
|
||||||
<el-input v-model="uploadForm.ticketAmount" placeholder="请输入发票税额" @input="handleAmountChange"></el-input>
|
<el-input v-model="uploadForm.ticketAmount" placeholder="请输入发票税额" @input="handleAmountChange"></el-input>
|
||||||
|
|
@ -193,7 +193,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getReceiptAttachments, uploadReceiptAttachment } from "@/api/finance/receipt";
|
import { getReceiptAttachments, uploadReceiptAttachment, applyRedRush } from "@/api/finance/receipt";
|
||||||
import request from '@/utils/request';
|
import request from '@/utils/request';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -214,6 +214,10 @@ export default {
|
||||||
autoUpload: {
|
autoUpload: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
|
},
|
||||||
|
uploadType: {
|
||||||
|
type: String,
|
||||||
|
default: 'normal'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
dicts:['finance_invoice_type'],
|
dicts:['finance_invoice_type'],
|
||||||
|
|
@ -235,7 +239,7 @@ export default {
|
||||||
ticketPriceWithTax: [
|
ticketPriceWithTax: [
|
||||||
{ required: true, message: "请输入发票含税总价", trigger: "blur" },
|
{ required: true, message: "请输入发票含税总价", trigger: "blur" },
|
||||||
{ validator: (rule, value, callback) => {
|
{ validator: (rule, value, callback) => {
|
||||||
if (Number(value) !== Number(this.receiptData.totalPriceWithTax)) {
|
if (Number(value) !== Number(this.uploadType !== 'red_rush'? this.receiptData.totalPriceWithTax : -this.receiptData.totalPriceWithTax)) {
|
||||||
callback(new Error('发票含税总价必须等于含税总价'));
|
callback(new Error('发票含税总价必须等于含税总价'));
|
||||||
} else {
|
} else {
|
||||||
callback();
|
callback();
|
||||||
|
|
@ -245,7 +249,7 @@ export default {
|
||||||
ticketPriceWithoutTax: [
|
ticketPriceWithoutTax: [
|
||||||
{ required: true, message: "请输入发票未税总价", trigger: "blur" },
|
{ required: true, message: "请输入发票未税总价", trigger: "blur" },
|
||||||
{ validator: (rule, value, callback) => {
|
{ validator: (rule, value, callback) => {
|
||||||
const total = Number(this.receiptData.totalPriceWithTax);
|
const total = Number(this.uploadType !== 'red_rush'? this.receiptData.totalPriceWithoutTax : -this.receiptData.totalPriceWithTax);
|
||||||
const val = Number(value);
|
const val = Number(value);
|
||||||
if (total > 0 && val < 0) {
|
if (total > 0 && val < 0) {
|
||||||
callback(new Error('发票未税总价不能小于0'));
|
callback(new Error('发票未税总价不能小于0'));
|
||||||
|
|
@ -259,7 +263,7 @@ export default {
|
||||||
ticketAmount: [
|
ticketAmount: [
|
||||||
{ required: true, message: "请输入发票税额", trigger: "blur" },
|
{ required: true, message: "请输入发票税额", trigger: "blur" },
|
||||||
{ validator: (rule, value, callback) => {
|
{ validator: (rule, value, callback) => {
|
||||||
const total = Number(this.receiptData.totalPriceWithTax);
|
const total = Number(this.uploadType !== 'red_rush'? this.receiptData.totalPriceWithTax : -this.receiptData.totalPriceWithTax);
|
||||||
const val = Number(value);
|
const val = Number(value);
|
||||||
if (total > 0 && val < 0) {
|
if (total > 0 && val < 0) {
|
||||||
callback(new Error('发票税额不能小于0'));
|
callback(new Error('发票税额不能小于0'));
|
||||||
|
|
@ -306,7 +310,9 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
visible(val) {
|
visible(val) {
|
||||||
if (val && this.receiptData) {
|
if (val && this.receiptData) {
|
||||||
|
if (this.uploadType !== 'red_rush') {
|
||||||
this.fetchAttachments();
|
this.fetchAttachments();
|
||||||
|
}
|
||||||
if (this.autoUpload) {
|
if (this.autoUpload) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.openUploadDialog();
|
this.openUploadDialog();
|
||||||
|
|
@ -377,10 +383,10 @@ export default {
|
||||||
// New Upload Dialog Methods
|
// New Upload Dialog Methods
|
||||||
openUploadDialog() {
|
openUploadDialog() {
|
||||||
this.uploadForm = {
|
this.uploadForm = {
|
||||||
ticketPriceWithTax: this.receiptData.totalPriceWithTax,
|
ticketPriceWithTax: this.uploadType !== 'red_rush' ? this.receiptData.totalPriceWithTax : -this.receiptData.totalPriceWithTax,
|
||||||
ticketPriceWithoutTax: this.receiptData.totalPriceWithoutTax,
|
ticketPriceWithoutTax: this.uploadType !== 'red_rush' ? this.receiptData.totalPriceWithoutTax : -this.receiptData.totalPriceWithoutTax,
|
||||||
ticketAmount: this.receiptData.taxAmount,
|
ticketAmount: this.uploadType !== 'red_rush' ? this.receiptData.taxAmount : -this.receiptData.taxAmount,
|
||||||
ticketType: '',
|
ticketType: this.receiptData.ticketType,
|
||||||
remark: '',
|
remark: '',
|
||||||
file: null
|
file: null
|
||||||
};
|
};
|
||||||
|
|
@ -410,6 +416,9 @@ export default {
|
||||||
this.uploadDialogVisible = false;
|
this.uploadDialogVisible = false;
|
||||||
this.uploadForm.file = null;
|
this.uploadForm.file = null;
|
||||||
this.previewUrl = '';
|
this.previewUrl = '';
|
||||||
|
if (this.uploadType === 'red_rush') {
|
||||||
|
this.dialogVisible = false;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
handleFileChange(file) {
|
handleFileChange(file) {
|
||||||
const isLt2M = file.size / 1024 / 1024 < 2;
|
const isLt2M = file.size / 1024 / 1024 < 2;
|
||||||
|
|
@ -449,9 +458,19 @@ export default {
|
||||||
formData.append("ticketPriceWithTax", this.uploadForm.ticketPriceWithTax);
|
formData.append("ticketPriceWithTax", this.uploadForm.ticketPriceWithTax);
|
||||||
// formData.append("totalPriceWithoutTax", this.uploadForm.totalPriceWithoutTax);
|
// formData.append("totalPriceWithoutTax", this.uploadForm.totalPriceWithoutTax);
|
||||||
formData.append("ticketPriceWithoutTax", this.uploadForm.ticketPriceWithoutTax);
|
formData.append("ticketPriceWithoutTax", this.uploadForm.ticketPriceWithoutTax);
|
||||||
|
formData.append("ticketAmount", this.uploadForm.ticketAmount);
|
||||||
// formData.append("taxAmount", this.uploadForm.taxAmount);
|
// formData.append("taxAmount", this.uploadForm.taxAmount);
|
||||||
formData.append("ticketType", this.uploadForm.ticketType);
|
formData.append("ticketType", this.uploadForm.ticketType);
|
||||||
|
|
||||||
|
if (this.uploadType === 'red_rush') {
|
||||||
|
applyRedRush(formData).then(response => {
|
||||||
|
this.$message.success("申请红冲成功");
|
||||||
|
this.closeUploadDialog();
|
||||||
|
this.$emit('refresh');
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error("申请红冲失败");
|
||||||
|
});
|
||||||
|
} else {
|
||||||
uploadReceiptAttachment(formData)
|
uploadReceiptAttachment(formData)
|
||||||
.then(response => {
|
.then(response => {
|
||||||
this.$message.success("上传成功");
|
this.$message.success("上传成功");
|
||||||
|
|
@ -462,6 +481,7 @@ export default {
|
||||||
this.$message.error("上传失败");
|
this.$message.error("上传失败");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,9 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="制造商名称" prop="vendorCode">
|
<el-form-item label="制造商名称" prop="vendorName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.vendorCode"
|
v-model="queryParams.vendorName"
|
||||||
placeholder="请输入制造商名称"
|
placeholder="请输入制造商名称"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
|
|
@ -42,12 +42,12 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="收票单类型" prop="receiptBillType">
|
<el-form-item label="收票单类型" prop="receiptBillType">
|
||||||
<el-select v-model="queryParams.receiptBillType" placeholder="请选择收票单类型" clearable>
|
<el-select v-model="queryParams.ticketBillType" placeholder="请选择收票单类型" clearable>
|
||||||
<el-option v-for="dict in dict.type.receipt_bill_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
<el-option v-for="dict in dict.type.ticket_bill_type" :key="dict.value" :label="dict.label" :value="dict.value"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="收票状态" prop="receiptStatus">
|
<el-form-item label="收票状态" prop="ticketStatus">
|
||||||
<el-select v-model="queryParams.receiptStatus" placeholder="请选择收票状态" clearable>
|
<el-select v-model="queryParams.ticketStatus" placeholder="请选择收票状态" clearable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in dict.type.receipt_status"
|
v-for="dict in dict.type.receipt_status"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
|
|
@ -127,7 +127,7 @@
|
||||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="receiptList">
|
<el-table v-loading="loading" :data="receiptList" show-summary :summary-method="getSummaries">
|
||||||
<el-table-column label="采购-收票单编号" align="center" prop="ticketBillCode" />
|
<el-table-column label="采购-收票单编号" align="center" prop="ticketBillCode" />
|
||||||
<!-- <el-table-column label="预计收票时间" align="center" prop="ticketTime" width="180">-->
|
<!-- <el-table-column label="预计收票时间" align="center" prop="ticketTime" width="180">-->
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- <template slot-scope="scope">-->
|
||||||
|
|
@ -230,7 +230,7 @@
|
||||||
<!-- 新增弹窗 -->
|
<!-- 新增弹窗 -->
|
||||||
<add-form :visible.sync="addOpen" :dicts="dict.type" @submit="handleAddSubmit"></add-form>
|
<add-form :visible.sync="addOpen" :dicts="dict.type" @submit="handleAddSubmit"></add-form>
|
||||||
<!-- 收票附件弹窗 -->
|
<!-- 收票附件弹窗 -->
|
||||||
<receipt-dialog :visible.sync="receiptOpen" :receipt-data="currentRow" :dicts="dict.type" :auto-upload="autoUpload"></receipt-dialog>
|
<receipt-dialog :visible.sync="receiptOpen" :receipt-data="currentRow" :dicts="dict.type" :auto-upload="autoUpload" :upload-type="uploadType" @refresh="getList"></receipt-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -249,7 +249,7 @@ export default {
|
||||||
AddForm,
|
AddForm,
|
||||||
ReceiptDialog
|
ReceiptDialog
|
||||||
},
|
},
|
||||||
dicts:['receipt_bill_type','approve_status','receipt_status'],
|
dicts:['ticket_bill_type','approve_status','receipt_status'],
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
|
|
@ -269,9 +269,9 @@ export default {
|
||||||
ticketBillCode: null,
|
ticketBillCode: null,
|
||||||
vendorCode: null,
|
vendorCode: null,
|
||||||
payableBillCode: null,
|
payableBillCode: null,
|
||||||
receiptBillType: null,
|
ticketBillType: null,
|
||||||
approveStatus: null,
|
approveStatus: null,
|
||||||
receiptStatus: null,
|
ticketStatus: null,
|
||||||
approveNode: null,
|
approveNode: null,
|
||||||
},
|
},
|
||||||
// 日期范围
|
// 日期范围
|
||||||
|
|
@ -286,13 +286,43 @@ export default {
|
||||||
// 收票附件弹窗
|
// 收票附件弹窗
|
||||||
receiptOpen: false,
|
receiptOpen: false,
|
||||||
currentRow: {},
|
currentRow: {},
|
||||||
autoUpload: false
|
autoUpload: false,
|
||||||
|
uploadType: 'normal'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getSummaries(param) {
|
||||||
|
const { columns, data } = param;
|
||||||
|
const sums = [];
|
||||||
|
columns.forEach((column, index) => {
|
||||||
|
if (index === 0) {
|
||||||
|
sums[index] = '合计';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const values = data.map(item => Number(item[column.property]));
|
||||||
|
if (['totalPriceWithTax', 'totalPriceWithoutTax', 'taxAmount'].includes(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);
|
||||||
|
sums[index] = sums[index].toFixed(2);
|
||||||
|
} else {
|
||||||
|
sums[index] = '0.00';
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
sums[index] = '';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return sums;
|
||||||
|
},
|
||||||
addDateRange,
|
addDateRange,
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|
@ -348,16 +378,19 @@ export default {
|
||||||
this.currentRow = row;
|
this.currentRow = row;
|
||||||
this.receiptOpen = true;
|
this.receiptOpen = true;
|
||||||
this.autoUpload = false;
|
this.autoUpload = false;
|
||||||
|
this.uploadType = 'normal';
|
||||||
},
|
},
|
||||||
handleApplyInvoice(row) {
|
handleApplyInvoice(row) {
|
||||||
this.currentRow = row;
|
this.currentRow = row;
|
||||||
this.receiptOpen = true;
|
this.receiptOpen = true;
|
||||||
this.autoUpload = true;
|
this.autoUpload = true;
|
||||||
|
this.uploadType = 'invoice';
|
||||||
},
|
},
|
||||||
handleApplyRedRush(row) {
|
handleApplyRedRush(row) {
|
||||||
this.currentRow = row;
|
this.currentRow = row;
|
||||||
this.receiptOpen = true;
|
this.receiptOpen = true;
|
||||||
this.autoUpload = true;
|
this.autoUpload = true;
|
||||||
|
this.uploadType = 'red_rush';
|
||||||
},
|
},
|
||||||
/** 退回按钮操作 */
|
/** 退回按钮操作 */
|
||||||
handleReturn(row) {
|
handleReturn(row) {
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
v-model="payableDateRange"
|
v-model="payableDateRange"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
|
@ -68,7 +68,7 @@
|
||||||
v-model="paymentDateRange"
|
v-model="paymentDateRange"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
|
@ -380,8 +380,8 @@ export default {
|
||||||
this.payableQueryParams.payableBillCode = this.queryParams.payableBillCode;
|
this.payableQueryParams.payableBillCode = this.queryParams.payableBillCode;
|
||||||
this.payableQueryParams.params = {};
|
this.payableQueryParams.params = {};
|
||||||
if (null != this.payableDateRange && '' != this.payableDateRange) {
|
if (null != this.payableDateRange && '' != this.payableDateRange) {
|
||||||
this.payableQueryParams.params["beginTime"] = this.payableDateRange[0];
|
this.payableQueryParams.createTimeStart = this.payableDateRange[0];
|
||||||
this.payableQueryParams.params["endTime"] = this.payableDateRange[1];
|
this.payableQueryParams.createTimeEnd = this.payableDateRange[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
this.paymentQueryParams.vendorName = this.queryParams.vendorName;
|
this.paymentQueryParams.vendorName = this.queryParams.vendorName;
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="dateRange"
|
v-model="dateRange"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
|
@ -103,12 +103,12 @@
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>查看详情</el-button>
|
>查看详情</el-button>
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
size="mini"
|
<!-- size="mini"-->
|
||||||
type="text"
|
<!-- type="text"-->
|
||||||
icon="el-icon-delete"
|
<!-- icon="el-icon-delete"-->
|
||||||
@click="handleDelete(scope.row)"
|
<!-- @click="handleDelete(scope.row)"-->
|
||||||
>反核销</el-button>
|
<!-- >反核销</el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
|
||||||
|
|
@ -17,23 +17,21 @@
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="采购收票单编号" prop="receiptBillCode">
|
<el-form-item label="采购收票单编号" prop="ticketBillCode">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.receiptBillCode"
|
v-model="queryParams.ticketBillCode"
|
||||||
placeholder="请输入采购收票单编号"
|
placeholder="请输入采购收票单编号"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter.native="handleQuery"
|
@keyup.enter.native="handleQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="制造商名称" prop="vendorName">
|
<el-form-item label="制造商名称" prop="vendorName">
|
||||||
<el-select v-model="queryParams.vendorName" placeholder="请选择制造商名称" clearable filterable>
|
<el-input
|
||||||
<el-option
|
v-model="queryParams.vendorName"
|
||||||
v-for="item in vendorOptions"
|
placeholder="请输入制造商名称"
|
||||||
:key="item.vendorName"
|
clearable
|
||||||
:label="item.vendorName"
|
@keyup.enter.native="handleQuery"
|
||||||
:value="item.vendorName"
|
|
||||||
/>
|
/>
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="核销类型" prop="writeOffType">
|
<el-form-item label="核销类型" prop="writeOffType">
|
||||||
<el-select v-model="queryParams.writeOffType" placeholder="请选择核销类型" clearable>
|
<el-select v-model="queryParams.writeOffType" placeholder="请选择核销类型" clearable>
|
||||||
|
|
@ -49,8 +47,8 @@
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="dateRange"
|
v-model="dateRange"
|
||||||
style="width: 240px"
|
style="width: 240px"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
type="daterange"
|
type="datetimerange"
|
||||||
range-separator="-"
|
range-separator="-"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
|
@ -103,12 +101,12 @@
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>查看详情</el-button>
|
>查看详情</el-button>
|
||||||
<el-button
|
<!-- <el-button-->
|
||||||
size="mini"
|
<!-- size="mini"-->
|
||||||
type="text"
|
<!-- type="text"-->
|
||||||
icon="el-icon-delete"
|
<!-- icon="el-icon-delete"-->
|
||||||
@click="handleDelete(scope.row)"
|
<!-- @click="handleDelete(scope.row)"-->
|
||||||
>反核销</el-button>
|
<!-- >反核销</el-button>-->
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,7 @@ private IOmsFinAttachmentService omsFinAttachmentService;
|
||||||
*/
|
*/
|
||||||
@PostMapping("/applyRefund")
|
@PostMapping("/applyRefund")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public AjaxResult applyRefund(@RequestParam("id")OmsTicketBill ticketBill, @RequestParam("file") MultipartFile file) {
|
public AjaxResult applyRefund(OmsTicketBill ticketBill, @RequestParam("file") MultipartFile file) {
|
||||||
try {
|
try {
|
||||||
return omsTicketBillService.applyRefund(ticketBill,file);
|
return omsTicketBillService.applyRefund(ticketBill,file);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,15 @@
|
||||||
package com.ruoyi.sip.domain;
|
package com.ruoyi.sip.domain;
|
||||||
|
|
||||||
|
import lombok.AccessLevel;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
import com.ruoyi.common.annotation.Excel;
|
import com.ruoyi.common.annotation.Excel;
|
||||||
import com.ruoyi.common.core.domain.BaseEntity;
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -51,6 +54,19 @@ public class OmsFinAttachment extends BaseEntity
|
||||||
/** 删除标志(0代表存在 2代表删除) */
|
/** 删除标志(0代表存在 2代表删除) */
|
||||||
private String delFlag;
|
private String delFlag;
|
||||||
private String createByName;
|
private String createByName;
|
||||||
|
private BigDecimal priceWithTax;
|
||||||
|
private BigDecimal priceWithoutTax;
|
||||||
|
@Setter(AccessLevel.NONE)
|
||||||
|
@Getter(AccessLevel.NONE)
|
||||||
|
private BigDecimal taxAmount;
|
||||||
|
|
||||||
|
public BigDecimal getTaxAmount() {
|
||||||
|
if (null != priceWithTax && null != priceWithoutTax){
|
||||||
|
return priceWithTax.subtract(priceWithoutTax);
|
||||||
|
}else{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
public enum RelatedBillTypeEnum {
|
public enum RelatedBillTypeEnum {
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ public class OmsPayableTicketWriteOff extends BaseEntity
|
||||||
/** 收票单编号 */
|
/** 收票单编号 */
|
||||||
@Excel(name = "收票单编号")
|
@Excel(name = "收票单编号")
|
||||||
private String ticketBillCode;
|
private String ticketBillCode;
|
||||||
|
private String payableBillCode;
|
||||||
private List<String> ticketBillCodeList;
|
private List<String> ticketBillCodeList;
|
||||||
|
|
||||||
/** 供应商编码 */
|
/** 供应商编码 */
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ public class OmsPayableWriteOff extends BaseEntity
|
||||||
/** 付款单编号 */
|
/** 付款单编号 */
|
||||||
@Excel(name = "付款单编号")
|
@Excel(name = "付款单编号")
|
||||||
private String paymentBillCode;
|
private String paymentBillCode;
|
||||||
|
private String payableBillCode;
|
||||||
private List<String> paymentBillCodeList;
|
private List<String> paymentBillCodeList;
|
||||||
|
|
||||||
/** 供应商编码 */
|
/** 供应商编码 */
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@ import com.ruoyi.common.utils.DateUtils;
|
||||||
import com.ruoyi.common.utils.ShiroUtils;
|
import com.ruoyi.common.utils.ShiroUtils;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||||
|
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||||
import com.ruoyi.sip.domain.*;
|
import com.ruoyi.sip.domain.*;
|
||||||
import com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO;
|
import com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO;
|
||||||
import com.ruoyi.sip.dto.WriteOffTicketRequestDto;
|
import com.ruoyi.sip.dto.WriteOffTicketRequestDto;
|
||||||
|
|
@ -163,9 +164,9 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
if (omsTicketBill == null) {
|
if (omsTicketBill == null) {
|
||||||
return AjaxResult.error("收票单不存在");
|
return AjaxResult.error("收票单不存在");
|
||||||
}
|
}
|
||||||
if (omsTicketBill.getTotalPriceWithTax().compareTo(bill.getTicketPriceWithTax()) != 0){
|
// if (omsTicketBill.getTotalPriceWithTax().compareTo(bill.getTicketPriceWithTax()) != 0){
|
||||||
return AjaxResult.error("票据金额不一致");
|
// return AjaxResult.error("票据金额不一致");
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (file.isEmpty())
|
if (file.isEmpty())
|
||||||
{
|
{
|
||||||
|
|
@ -178,7 +179,8 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
|
|
||||||
SysUser loginUser = ShiroUtils.getSysUser();
|
SysUser loginUser = ShiroUtils.getSysUser();
|
||||||
|
|
||||||
|
attachment.setPriceWithoutTax(bill.getTicketPriceWithoutTax());
|
||||||
|
attachment.setPriceWithTax(bill.getTicketPriceWithTax());
|
||||||
attachment.setFileName(file.getOriginalFilename());
|
attachment.setFileName(file.getOriginalFilename());
|
||||||
attachment.setFilePath(fileName);
|
attachment.setFilePath(fileName);
|
||||||
attachment.setFileSize(file.getSize());
|
attachment.setFileSize(file.getSize());
|
||||||
|
|
@ -212,7 +214,9 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
@Override
|
@Override
|
||||||
public AjaxResult applyRefund(OmsTicketBill ticketBill, MultipartFile file) {
|
public AjaxResult applyRefund(OmsTicketBill ticketBill, MultipartFile file) {
|
||||||
// 1. 验证原始付款单
|
// 1. 验证原始付款单
|
||||||
OmsTicketBill originalBill = selectOmsTicketBillById(ticketBill.getOriginalBillId());
|
Long originId = ticketBill.getId();
|
||||||
|
ticketBill.setId(null);
|
||||||
|
OmsTicketBill originalBill = selectOmsTicketBillById(originId);
|
||||||
if (originalBill == null) {
|
if (originalBill == null) {
|
||||||
return AjaxResult.error("原始付款单不存在");
|
return AjaxResult.error("原始付款单不存在");
|
||||||
}
|
}
|
||||||
|
|
@ -233,7 +237,7 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
refundBill.setTicketTime(originalBill.getTicketTime());
|
refundBill.setTicketTime(originalBill.getTicketTime());
|
||||||
refundBill.setVendorTicketTime(originalBill.getVendorTicketTime());
|
refundBill.setVendorTicketTime(originalBill.getVendorTicketTime());
|
||||||
refundBill.setVendorCode(originalBill.getVendorCode());
|
refundBill.setVendorCode(originalBill.getVendorCode());
|
||||||
|
refundBill.setOriginalBillId(originId);
|
||||||
refundBill.setTicketBillCode(generateTicketBillCode());
|
refundBill.setTicketBillCode(generateTicketBillCode());
|
||||||
refundBill.setTicketType(originalBill.getTicketType());
|
refundBill.setTicketType(originalBill.getTicketType());
|
||||||
// 设置新属性
|
// 设置新属性
|
||||||
|
|
@ -260,7 +264,7 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
|
|
||||||
//上传文件 再开启流程
|
//上传文件 再开启流程
|
||||||
try {
|
try {
|
||||||
omsFinAttachmentService.uploadAttachment(file, refundBill.getId(), OmsFinAttachment.RelatedBillTypeEnum.INVOICE);
|
SpringUtils.getAopProxy(this).uploadReceipt(refundBill,file);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e.getMessage());
|
throw new RuntimeException(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
@ -407,10 +411,10 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
//1:修改状态
|
//1:修改状态
|
||||||
OmsTicketBill updateBill = new OmsTicketBill();
|
OmsTicketBill updateBill = new OmsTicketBill();
|
||||||
updateBill.setApproveStatus(ApproveStatusEnum.WAIT_COMMIT.getCode());
|
updateBill.setApproveStatus(ApproveStatusEnum.WAIT_COMMIT.getCode());
|
||||||
|
updateBill.setTicketStatus(OmsTicketBill.TicketStatusEnum.WAIT_TICKET.getCode());
|
||||||
updateBill.setId(existBill.getId());
|
updateBill.setId(existBill.getId());
|
||||||
omsTicketBillMapper.revokeTicket(updateBill);
|
omsTicketBillMapper.revokeTicket(updateBill);
|
||||||
//2:删除对应的文件
|
|
||||||
omsFinAttachmentService.deleteOmsFinAttachment(Collections.singletonList(existBill.getId()), OmsFinAttachment.RelatedBillTypeEnum.INVOICE.getCode());
|
|
||||||
} else {
|
} else {
|
||||||
//红冲撤销
|
//红冲撤销
|
||||||
deleteOmsTicketBillById(id);
|
deleteOmsTicketBillById(id);
|
||||||
|
|
@ -420,6 +424,8 @@ public class OmsTicketBillServiceImpl implements IOmsTicketBillService, TodoComm
|
||||||
ticketBill.setRefundStatus(OmsTicketBill.RefundStatusEnum.WAIT_REFUNDED.getCode());
|
ticketBill.setRefundStatus(OmsTicketBill.RefundStatusEnum.WAIT_REFUNDED.getCode());
|
||||||
updateOmsTicketBill(ticketBill);
|
updateOmsTicketBill(ticketBill);
|
||||||
}
|
}
|
||||||
|
//2:删除对应的文件
|
||||||
|
omsFinAttachmentService.deleteOmsFinAttachment(Collections.singletonList(existBill.getId()), OmsFinAttachment.RelatedBillTypeEnum.INVOICE.getCode());
|
||||||
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="vendorCode != null and vendorCode != ''"> and t1.vendor_code = #{vendorCode}</if>
|
<if test="vendorCode != null and vendorCode != ''"> and t1.vendor_code = #{vendorCode}</if>
|
||||||
|
<if test="payableBillCode != null and payableBillCode != ''"> and t1.id in (
|
||||||
|
select write_off_id from oms_payable_payment_detail t1 left join oms_payable_bill t2 on t1.payable_bill_id=t2.id where t2.payable_bill_code=#{payableBillCode}
|
||||||
|
) </if>
|
||||||
|
<if test="vendorName != null and vendorName != ''"> and t2.vendor_name = #{vendorName}</if>
|
||||||
|
<if test="(params.beginTime != null and params.beginTime != '') or (params.endTime != null and params.endTime!='')">
|
||||||
|
<choose>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '') and (params.endTime != null and params.endTime!='')">
|
||||||
|
and t1.create_time between #{params.beginTime} and #{params.endTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '')">
|
||||||
|
and t1.create_time <![CDATA[ >= ]]> #{params.beginTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.endTime != null and params.endTime!='')">
|
||||||
|
and t1.create_time <![CDATA[ <= ]]> #{params.endTime}
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
<select id="selectMaxCodeByPrefix" resultType="java.lang.Integer">
|
<select id="selectMaxCodeByPrefix" resultType="java.lang.Integer">
|
||||||
|
|
|
||||||
|
|
@ -18,11 +18,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="updateTime" column="update_time" />
|
<result property="updateTime" column="update_time" />
|
||||||
<result property="remark" column="remark" />
|
<result property="remark" column="remark" />
|
||||||
<result property="delFlag" column="del_flag" />
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="priceWithTax" column="price_with_tax" />
|
||||||
|
<result property="priceWithoutTax" column="price_without_tax" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectOmsFinAttachmentVo">
|
<sql id="selectOmsFinAttachmentVo">
|
||||||
select t1.id, t1.related_bill_id, t1.related_bill_type, t1.file_name, t1.file_path, t1.file_size, t1.file_type,
|
select t1.id, t1.related_bill_id, t1.related_bill_type, t1.file_name, t1.file_path, t1.file_size, t1.file_type,
|
||||||
t1.create_by, t1.create_time, t1.update_by, t1.update_time, t1.remark, t1.del_flag
|
t1.create_by, t1.create_time, t1.update_by, t1.update_time, t1.remark, t1.del_flag,
|
||||||
|
t1.price_with_tax, t1.price_without_tax
|
||||||
,t2.user_name as create_by_name
|
,t2.user_name as create_by_name
|
||||||
from oms_fin_attachment t1
|
from oms_fin_attachment t1
|
||||||
left join sys_user t2 on t1.create_by=t2.user_id
|
left join sys_user t2 on t1.create_by=t2.user_id
|
||||||
|
|
@ -66,6 +69,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">update_time,</if>
|
<if test="updateTime != null">update_time,</if>
|
||||||
<if test="remark != null">remark,</if>
|
<if test="remark != null">remark,</if>
|
||||||
<if test="delFlag != null">del_flag,</if>
|
<if test="delFlag != null">del_flag,</if>
|
||||||
|
<if test="priceWithTax != null">price_with_tax,</if>
|
||||||
|
<if test="priceWithoutTax != null">price_without_tax,</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="relatedBillId != null">#{relatedBillId},</if>
|
<if test="relatedBillId != null">#{relatedBillId},</if>
|
||||||
|
|
@ -80,6 +85,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">#{updateTime},</if>
|
<if test="updateTime != null">#{updateTime},</if>
|
||||||
<if test="remark != null">#{remark},</if>
|
<if test="remark != null">#{remark},</if>
|
||||||
<if test="delFlag != null">#{delFlag},</if>
|
<if test="delFlag != null">#{delFlag},</if>
|
||||||
|
<if test="priceWithTax != null">#{priceWithTax},</if>
|
||||||
|
<if test="priceWithoutTax != null">#{priceWithoutTax},</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
@ -98,6 +105,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">update_time = #{updateTime},</if>
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
<if test="delFlag != null">del_flag = #{delFlag},</if>
|
||||||
|
<if test="priceWithTax != null">price_with_tax = #{priceWithTax},</if>
|
||||||
|
<if test="priceWithoutTax != null">price_without_tax = #{priceWithoutTax},</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
|
||||||
|
|
@ -146,14 +146,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="createTimeStart != null or createTimeEnd != null">
|
<if test="createTimeStart != null or createTimeEnd != null">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="createTimeStart != null and createTimeEnd != null">
|
<when test="createTimeStart != null and createTimeEnd != null">
|
||||||
and t1.create_time between date_format(#{createTimeStart}, '%Y-%m-%d 00:00:00') and
|
and t1.create_time between #{createTimeStart} and #{createTimeEnd}
|
||||||
date_format(#{createTimeEnd}, '%Y-%m-%d 23:59:59')
|
|
||||||
</when>
|
</when>
|
||||||
<when test="createTimeStart != null">
|
<when test="createTimeStart != null">
|
||||||
and t1.create_time <![CDATA[ >= ]]> date_format(#{createTimeStart}, '%Y-%m-%d 00:00:00')
|
and t1.create_time <![CDATA[ >= ]]> #{createTimeStart}
|
||||||
</when>
|
</when>
|
||||||
<when test="createTimeEnd != null">
|
<when test="createTimeEnd != null">
|
||||||
and t1.create_time <![CDATA[ <= ]]> date_format(#{createTimeEnd}, '%Y-%m-%d 23:59:59')
|
and t1.create_time <![CDATA[ <= ]]>#{createTimeEnd}
|
||||||
</when>
|
</when>
|
||||||
|
|
||||||
</choose>
|
</choose>
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</if>
|
</if>
|
||||||
<if test="paymentStatus != null and paymentStatus != ''">and pb.payment_status = #{paymentStatus}</if>
|
<if test="paymentStatus != null and paymentStatus != ''">and pb.payment_status = #{paymentStatus}</if>
|
||||||
<if test="approveStatus != null and approveStatus != ''">and pb.approve_status = #{approveStatus}</if>
|
<if test="approveStatus != null and approveStatus != ''">and pb.approve_status = #{approveStatus}</if>
|
||||||
<if test="approveNode != null and approveNode != ''">and pb.approve_node = #{approveNode}</if>
|
|
||||||
<if test="approveTime != null ">and date_format(pb.approve_time,'%Y-%m-%d') =
|
<if test="approveTime != null ">and date_format(pb.approve_time,'%Y-%m-%d') =
|
||||||
date_format(#{approveTime},'%Y-%m-%d')
|
date_format(#{approveTime},'%Y-%m-%d')
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -174,6 +173,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
</choose>
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
|
<if test="(params.beginTime != null and params.beginTime != '') or (params.endTime != null and params.endTime!='')">
|
||||||
|
<choose>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '') and (params.endTime != null and params.endTime!='')">
|
||||||
|
and pb.create_time between #{params.beginTime} and #{params.endTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '')">
|
||||||
|
and pb.create_time <![CDATA[ >= ]]> #{params.beginTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.endTime != null and params.endTime!='')">
|
||||||
|
and pb.create_time <![CDATA[ <= ]]> #{params.endTime}
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
<if test="(params.beginActualPaymentTime != null and params.beginActualPaymentTime != '') or (params.endActualPaymentTime != null and params.endActualPaymentTime!='')">
|
<if test="(params.beginActualPaymentTime != null and params.beginActualPaymentTime != '') or (params.endActualPaymentTime != null and params.endActualPaymentTime!='')">
|
||||||
<choose>
|
<choose>
|
||||||
<when test="(params.beginActualPaymentTime != null and params.beginActualPaymentTime != '') and (params.endActualPaymentTime != null and params.endActualPaymentTime!='')">
|
<when test="(params.beginActualPaymentTime != null and params.beginActualPaymentTime != '') and (params.endActualPaymentTime != null and params.endActualPaymentTime!='')">
|
||||||
|
|
@ -464,6 +477,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="entity.actualPaymentTime != null "> and date_format(pb.actual_payment_time,'%Y-%m-%d') = date_format(#{entity.actualPaymentTime},'%Y-%m-%d')</if>
|
<if test="entity.actualPaymentTime != null "> and date_format(pb.actual_payment_time,'%Y-%m-%d') = date_format(#{entity.actualPaymentTime},'%Y-%m-%d')</if>
|
||||||
<if test="entity.paymentMethod != null and entity.paymentMethod != ''"> and pb.payment_method = #{entity.paymentMethod}</if>
|
<if test="entity.paymentMethod != null and entity.paymentMethod != ''"> and pb.payment_method = #{entity.paymentMethod}</if>
|
||||||
<if test="entity.payableBillCode != null and entity.payableBillCode != ''"> and apb.payable_bill_code like concat('%', #{entity.payableBillCode}, '%')</if>
|
<if test="entity.payableBillCode != null and entity.payableBillCode != ''"> and apb.payable_bill_code like concat('%', #{entity.payableBillCode}, '%')</if>
|
||||||
|
<if test="entity.payableBillCode != null and entity.payableBillCode != ''"> and apb.payable_bill_code like concat('%', #{entity.payableBillCode}, '%')</if>
|
||||||
|
<if test="entity.params.beginApplyTime != null or entity.params.endApplyTime != null">
|
||||||
|
<choose>
|
||||||
|
<when test="entity.params.beginApplyTime != null and entity.params.endApplyTime != null">
|
||||||
|
and t3.apply_time between date_format(#{entity.params.beginApplyTime}, '%Y-%m-%d 00:00:00') and
|
||||||
|
date_format(#{entity.params.endApplyTime}, '%Y-%m-%d 23:59:59')
|
||||||
|
</when>
|
||||||
|
<when test="entity.params.beginApplyTime != null">
|
||||||
|
and t3.apply_time <![CDATA[ >= ]]> date_format(#{entity.params.beginApplyTime}, '%Y-%m-%d 00:00:00')
|
||||||
|
</when>
|
||||||
|
<when test="entity.params.endApplyTime != null">
|
||||||
|
and t3.apply_time <![CDATA[ <= ]]> date_format(#{entity.params.endApplyTime}, '%Y-%m-%d 23:59:59')
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
and pb.del_flag = '0'
|
and pb.del_flag = '0'
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="updateTime != null">
|
<if test="updateTime != null">
|
||||||
and t1.update_time = #{updateTime}
|
and t1.update_time = #{updateTime}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="payableBillCode != null and payableBillCode != ''"> and t1.id in (
|
||||||
|
select write_off_id from oms_payable_ticket_detail t1 left join oms_payable_bill t2 on t1.payable_bill_id=t2.id where t2.payable_bill_code=#{payableBillCode}
|
||||||
|
) </if>
|
||||||
|
<if test="vendorName != null and vendorName != ''"> and t2.vendor_name = #{vendorName}</if>
|
||||||
|
<if test="(params.beginTime != null and params.beginTime != '') or (params.endTime != null and params.endTime!='')">
|
||||||
|
<choose>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '') and (params.endTime != null and params.endTime!='')">
|
||||||
|
and t1.create_time between #{params.beginTime} and #{params.endTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.beginTime != null and params.beginTime != '')">
|
||||||
|
and t1.create_time <![CDATA[ >= ]]> #{params.beginTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.endTime != null and params.endTime!='')">
|
||||||
|
and t1.create_time <![CDATA[ <= ]]> #{params.endTime}
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<result property="approveNode" column="approve_node" />
|
<result property="approveNode" column="approve_node" />
|
||||||
<result property="approveTime" column="approve_time" />
|
<result property="approveTime" column="approve_time" />
|
||||||
<result property="refundStatus" column="refund_status" />
|
<result property="refundStatus" column="refund_status" />
|
||||||
|
<result property="originalBillId" column="original_bill_id" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectOmsTicketBillVo">
|
<sql id="selectOmsTicketBillVo">
|
||||||
select t1.id, t1.ticket_bill_code, t1.ticket_type, t1.ticket_bill_type, t1.vendor_ticket_time, t1.ticket_time, t1.vendor_code,
|
select t1.id, t1.ticket_bill_code, t1.ticket_type, t1.ticket_bill_type, t1.vendor_ticket_time, t1.ticket_time, t1.vendor_code,
|
||||||
t1.total_price_with_tax, t1.total_price_without_tax, t1.ticket_price_with_tax, t1.ticket_price_without_tax, t1.tax_rate, t1.create_by, t1.create_time, t1.update_by,
|
t1.total_price_with_tax, t1.total_price_without_tax, t1.ticket_price_with_tax, t1.ticket_price_without_tax, t1.tax_rate, t1.create_by, t1.create_time, t1.update_by,
|
||||||
t1.update_time, t1.remark, t1.del_flag, t1.actual_ticket_time, t1.ticket_status, t1.approve_status, t1.approve_node, t1.approve_time, t1.refund_status
|
t1.update_time, t1.remark, t1.del_flag, t1.actual_ticket_time, t1.ticket_status, t1.approve_status, t1.approve_node, t1.approve_time, t1.refund_status,t1.original_bill_id
|
||||||
,t2.vendor_name
|
,t2.vendor_name
|
||||||
from oms_ticket_bill t1
|
from oms_ticket_bill t1
|
||||||
left join oms_vendor_info t2 on t1.vendor_code=t2.vendor_code
|
left join oms_vendor_info t2 on t1.vendor_code=t2.vendor_code
|
||||||
|
|
@ -42,7 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<include refid="selectOmsTicketBillVo"/>
|
<include refid="selectOmsTicketBillVo"/>
|
||||||
<where>
|
<where>
|
||||||
<if test="ticketBillCode != null and ticketBillCode != ''">
|
<if test="ticketBillCode != null and ticketBillCode != ''">
|
||||||
and ticket_bill_code = #{ticketBillCode}
|
and t1.ticket_bill_code = #{ticketBillCode}
|
||||||
</if>
|
</if>
|
||||||
<if test="projectCode != null and projectCode != ''">
|
<if test="projectCode != null and projectCode != ''">
|
||||||
and t1.ticket_bill_code in (
|
and t1.ticket_bill_code in (
|
||||||
|
|
@ -63,63 +64,105 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
)
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="ticketBillCodeList != null and ticketBillCodeList.size>0">
|
<if test="ticketBillCodeList != null and ticketBillCodeList.size>0">
|
||||||
and ticket_bill_code in <foreach item="item" collection="ticketBillCodeList" separator="," open="(" close=")" index="">
|
and t1.ticket_bill_code in <foreach item="item" collection="ticketBillCodeList" separator="," open="(" close=")" index="">
|
||||||
#{item}
|
#{item}
|
||||||
</foreach>
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
<if test="ticketType != null and ticketType != ''">
|
<if test="ticketType != null and ticketType != ''">
|
||||||
and ticket_type = #{ticketType}
|
and t1.ticket_type = #{ticketType}
|
||||||
</if>
|
</if>
|
||||||
<if test="ticketBillType != null and ticketBillType != ''">
|
<if test="ticketBillType != null and ticketBillType != ''">
|
||||||
and ticket_bill_type = #{ticketBillType}
|
and t1.ticket_bill_type = #{ticketBillType}
|
||||||
</if>
|
</if>
|
||||||
<if test="vendorCode != null and vendorCode != ''">
|
<if test="vendorCode != null and vendorCode != ''">
|
||||||
and vendor_code = #{vendorCode}
|
and t1.vendor_code = #{vendorCode}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="vendorName != null and vendorName != ''">
|
||||||
|
and t2.vendor_name = #{vendorName}
|
||||||
|
</if>
|
||||||
|
|
||||||
<if test="totalPriceWithTax != null">
|
<if test="totalPriceWithTax != null">
|
||||||
and total_price_with_tax = #{totalPriceWithTax}
|
and t1.total_price_with_tax = #{totalPriceWithTax}
|
||||||
</if>
|
</if>
|
||||||
<if test="totalPriceWithoutTax != null">
|
<if test="totalPriceWithoutTax != null">
|
||||||
and total_price_without_tax = #{totalPriceWithoutTax}
|
and t1.total_price_without_tax = #{totalPriceWithoutTax}
|
||||||
</if>
|
</if>
|
||||||
<if test="taxRate != null">
|
<if test="taxRate != null">
|
||||||
and tax_rate = #{taxRate}
|
and t1.tax_rate = #{taxRate}
|
||||||
</if>
|
</if>
|
||||||
<if test="createBy != null and createBy != ''">
|
<if test="createBy != null and createBy != ''">
|
||||||
and create_by = #{createBy}
|
and t1.create_by = #{createBy}
|
||||||
</if>
|
</if>
|
||||||
<if test="createTime != null">
|
<if test="createTime != null">
|
||||||
and create_time = #{createTime}
|
and t1.create_time = #{createTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="updateBy != null and updateBy != ''">
|
<if test="updateBy != null and updateBy != ''">
|
||||||
and update_by = #{updateBy}
|
and t1.update_by = #{updateBy}
|
||||||
</if>
|
</if>
|
||||||
<if test="updateTime != null">
|
<if test="updateTime != null">
|
||||||
and update_time = #{updateTime}
|
and t1.update_time = #{updateTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="remark != null and remark != ''">
|
<if test="remark != null and remark != ''">
|
||||||
and remark like concat('%', #{remark}, '%')
|
and t1.remark like concat('%', #{remark}, '%')
|
||||||
</if>
|
</if>
|
||||||
<if test="delFlag != null and delFlag != ''">
|
<if test="delFlag != null and delFlag != ''">
|
||||||
and del_flag = #{delFlag}
|
and t1.del_flag = #{delFlag}
|
||||||
</if>
|
</if>
|
||||||
<if test="actualTicketTime != null">
|
<if test="actualTicketTime != null">
|
||||||
and actual_ticket_time = #{actualTicketTime}
|
and t1.actual_ticket_time = #{actualTicketTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="ticketStatus != null and ticketStatus != ''">
|
<if test="ticketStatus != null and ticketStatus != ''">
|
||||||
and ticket_status = #{ticketStatus}
|
and t1.ticket_status = #{ticketStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="approveStatus != null and approveStatus != ''">
|
<if test="approveStatus != null and approveStatus != ''">
|
||||||
and approve_status = #{approveStatus}
|
and t1.approve_status = #{approveStatus}
|
||||||
</if>
|
</if>
|
||||||
<if test="approveNode != null and approveNode != ''">
|
<if test="approveNode != null and approveNode != ''">
|
||||||
and approve_node = #{approveNode}
|
and t1.ticket_bill_code in
|
||||||
|
(
|
||||||
|
select business_key from bu_todo where approve_user_name like concat('%', #{approveNode}, '%') and process_key in (
|
||||||
|
'finance_ticket_refound','fianance_ticket')
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
<if test="payableBillCode != null and payableBillCode != ''">and t1.ticket_bill_code in (
|
||||||
|
select ticket_bill_code from oms_payable_ticket_detail t1 left join oms_payable_bill t2 on
|
||||||
|
t1.payable_bill_id=t2.id
|
||||||
|
where t2.payable_bill_code=#{payableBillCode}
|
||||||
|
)
|
||||||
|
</if>
|
||||||
|
<if test="(params.beginApproveTime != null and params.beginApproveTime != '') or (params.endApproveTime != null and params.endApproveTime!='')">
|
||||||
|
<choose>
|
||||||
|
<when test="(params.beginApproveTime != null and params.beginApproveTime != '') and (params.endApproveTime != null and params.endApproveTime!='')">
|
||||||
|
and t1.approve_time between #{params.beginApproveTime} and #{params.endApproveTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.beginApproveTime != null and params.beginApproveTime != '')">
|
||||||
|
and t1.approve_time <![CDATA[ >= ]]> #{params.beginApproveTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.endApproveTime != null and params.endApproveTime!='')">
|
||||||
|
and t1.approve_time <![CDATA[ <= ]]> #{params.endApproveTime}
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
|
<if test="(params.beginVendorTicketTime != null and params.beginVendorTicketTime != '') or (params.endVendorTicketTime != null and params.endVendorTicketTime!='')">
|
||||||
|
<choose>
|
||||||
|
<when test="(params.beginVendorTicketTime != null and params.beginVendorTicketTime != '') and (params.endVendorTicketTime != null and params.endVendorTicketTime!='')">
|
||||||
|
and t1.vendor_ticket_time between #{params.beginVendorTicketTime} and #{params.endVendorTicketTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.beginVendorTicketTime != null and params.beginVendorTicketTime != '')">
|
||||||
|
and t1.vendor_ticket_time <![CDATA[ >= ]]> #{params.beginVendorTicketTime}
|
||||||
|
</when>
|
||||||
|
<when test="(params.endVendorTicketTime != null and params.endVendorTicketTime!='')">
|
||||||
|
and t1.vendor_ticket_time <![CDATA[ <= ]]> #{params.endVendorTicketTime}
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
</if>
|
</if>
|
||||||
<if test="approveTime != null">
|
<if test="approveTime != null">
|
||||||
and approve_time = #{approveTime}
|
and t1.approve_time = #{approveTime}
|
||||||
</if>
|
</if>
|
||||||
<if test="refundStatus != null and refundStatus != ''">
|
<if test="refundStatus != null and refundStatus != ''">
|
||||||
and refund_status = #{refundStatus}
|
and t1.refund_status = #{refundStatus}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
@ -195,6 +238,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="refundStatus != null and refundStatus != ''">
|
<if test="refundStatus != null and refundStatus != ''">
|
||||||
refund_status,
|
refund_status,
|
||||||
</if>
|
</if>
|
||||||
|
<if test="originalBillId != null and originalBillId != ''">
|
||||||
|
original_bill_id,
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||||
<if test="ticketBillCode != null and ticketBillCode != ''">
|
<if test="ticketBillCode != null and ticketBillCode != ''">
|
||||||
|
|
@ -260,6 +306,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="refundStatus != null and refundStatus != ''">
|
<if test="refundStatus != null and refundStatus != ''">
|
||||||
#{refundStatus},
|
#{refundStatus},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="originalBillId != null and originalBillId != ''">
|
||||||
|
#{originalBillId},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
@ -335,6 +384,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="refundStatus != null and refundStatus != ''">
|
<if test="refundStatus != null and refundStatus != ''">
|
||||||
refund_status = #{refundStatus},
|
refund_status = #{refundStatus},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="originalBillId != null and originalBillId != ''">
|
||||||
|
original_bill_id = #{originalBillId},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
</update>
|
</update>
|
||||||
|
|
@ -408,6 +460,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="refundStatus != null and refundStatus != ''">
|
<if test="refundStatus != null and refundStatus != ''">
|
||||||
refund_status = #{refundStatus},
|
refund_status = #{refundStatus},
|
||||||
</if>
|
</if>
|
||||||
|
<if test="originalBillId != null and originalBillId != ''">
|
||||||
|
original_bill_id = #{originalBillId},
|
||||||
|
</if>
|
||||||
</trim>
|
</trim>
|
||||||
where ticket_bill_code = #{ticketBillCode}
|
where ticket_bill_code = #{ticketBillCode}
|
||||||
</update>
|
</update>
|
||||||
|
|
@ -425,6 +480,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<update id="revokeTicket">
|
<update id="revokeTicket">
|
||||||
update oms_ticket_bill
|
update oms_ticket_bill
|
||||||
set approve_status =#{approveStatus},
|
set approve_status =#{approveStatus},
|
||||||
|
ticket_status =#{ticketStatus},
|
||||||
ticket_price_with_tax=null,
|
ticket_price_with_tax=null,
|
||||||
ticket_price_without_tax=null,
|
ticket_price_without_tax=null,
|
||||||
total_price_with_tax=null
|
total_price_with_tax=null
|
||||||
|
|
@ -519,6 +575,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="entity.refundStatus != null and entity.refundStatus != ''">
|
<if test="entity.refundStatus != null and entity.refundStatus != ''">
|
||||||
and t1.refund_status = #{entity.refundStatus}
|
and t1.refund_status = #{entity.refundStatus}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="entity.params.beginApplyTime != null or entity.params.endApplyTime != null">
|
||||||
|
<choose>
|
||||||
|
<when test="entity.params.beginApplyTime != null and entity.params.endApplyTime != null">
|
||||||
|
and t3.apply_time between date_format(#{entity.params.beginApplyTime}, '%Y-%m-%d 00:00:00') and
|
||||||
|
date_format(#{entity.params.endApplyTime}, '%Y-%m-%d 23:59:59')
|
||||||
|
</when>
|
||||||
|
<when test="entity.params.beginApplyTime != null">
|
||||||
|
and t3.apply_time <![CDATA[ >= ]]> date_format(#{entity.params.beginApplyTime}, '%Y-%m-%d 00:00:00')
|
||||||
|
</when>
|
||||||
|
<when test="entity.params.endApplyTime != null">
|
||||||
|
and t3.apply_time <![CDATA[ <= ]]> date_format(#{entity.params.endApplyTime}, '%Y-%m-%d 23:59:59')
|
||||||
|
</when>
|
||||||
|
|
||||||
|
</choose>
|
||||||
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
<select id="selectOmsTicketBillByCode" resultType="com.ruoyi.sip.domain.OmsTicketBill">
|
<select id="selectOmsTicketBillByCode" resultType="com.ruoyi.sip.domain.OmsTicketBill">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue