fix:付款单/收票单/收款单/开票单详情中添加应付单/应收单详情页

dev_1.0.2
UNISINSIGHT\rdpnr_jiangpeng 2026-03-23 12:31:08 +08:00
parent c39ed025b9
commit 5409a3c225
18 changed files with 139 additions and 24 deletions

View File

@ -111,12 +111,16 @@
</div> </div>
<div class="section"> <div class="section">
<el-divider content-position="left">销售-应收单</el-divider> <el-divider content-position="left">销售 - 应收单</el-divider>
<el-table :data="detail.detailDTOList"> <el-table :data="detail.detailDTOList">
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<!-- <el-table-column property="projectCode" label="项目编号"></el-table-column>--> <!-- <el-table-column property="projectCode" label="项目编号"></el-table-column>-->
<el-table-column property="projectName" label="项目名称"></el-table-column> <el-table-column property="projectName" label="项目名称"></el-table-column>
<el-table-column property="receivableBillCode" label="销售-应收单编号"></el-table-column> <el-table-column label="销售 - 应收单编号">
<template slot-scope="scope">
<el-button type="text" @click="handleViewReceivable(scope.row)">{{ scope.row.receivableBillCode }}</el-button>
</template>
</el-table-column>
<el-table-column property="totalPriceWithTax" label="含税总价(元)"></el-table-column> <el-table-column property="totalPriceWithTax" label="含税总价(元)"></el-table-column>
<el-table-column property="receiptAmount" label="本次开票金额"> <el-table-column property="receiptAmount" label="本次开票金额">
<template slot-scope="scope"> <template slot-scope="scope">
@ -131,12 +135,16 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<edit-form :visible.sync="receivableVisible" :data="selectedReceivableRow" :z-index="2000" @close="receivableVisible = false" />
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
import EditForm from "@/views/finance/receivable/components/EditForm.vue";
export default { export default {
name: "DetailDrawer", name: "DetailDrawer",
components: {EditForm},
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
@ -148,10 +156,21 @@ export default {
}, },
}, },
dicts:['finance_invoice_type','approve_status','invoice_bill_status'], dicts:['finance_invoice_type','approve_status','invoice_bill_status'],
data() {
return {
receivableVisible: false,
selectedReceivableRow: {},
};
},
methods: { methods: {
handleClose() { handleClose() {
this.$emit("update:visible", false); this.$emit("update:visible", false);
}, },
handleViewReceivable(row) {
row.id = row.receivableBillId;
this.selectedReceivableRow = row;
this.receivableVisible = true;
},
}, },
}; };
</script> </script>

View File

@ -177,7 +177,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批节点" align="center" prop="approveNode" width="100" fixed="right"/> <el-table-column label="审批节点" align="center" prop="approveNode" width="100" fixed="right"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="100" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width operation-column" width="100" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -400,3 +400,9 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-drawer title="采购-应付单详情" :visible.sync="internalVisible" :wrapper-closable="false" size="70%" @close="handleClose"> <el-drawer title="采购 - 应付单详情" :visible.sync="internalVisible" :wrapper-closable="false" size="70%" :z-index="zIndex" @close="handleClose">
<div class="dialog-body"> <div class="dialog-body">
<!-- Part 1: Details --> <!-- Part 1: Details -->
<div> <div>
@ -207,6 +207,10 @@ export default {
data: { data: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
},
zIndex: {
type: Number,
default: 2000
} }
}, },
data() { data() {

View File

@ -178,7 +178,7 @@
<el-table-column label="未付款金额(元)" align="center" prop="unpaidPaymentAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" /> <el-table-column label="未付款金额(元)" align="center" prop="unpaidPaymentAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" />
<el-table-column label="未收票金额(元)" align="center" prop="unreceivedTicketAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" /> <el-table-column label="未收票金额(元)" align="center" prop="unreceivedTicketAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" />
<!-- <el-table-column label="付款中金额" align="center" prop="payingAmount" width="120" />--> <!-- <el-table-column label="付款中金额" align="center" prop="payingAmount" width="120" />-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width operation-column" width="300" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -468,3 +468,9 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -7,7 +7,7 @@
:wrapper-closable="false" :wrapper-closable="false"
@close="handleClose" @close="handleClose"
> >
<div class="dialog-body" v-if="detail"> <div class="dialog-body" v-if="detail" ref="paymentDrawer">
<div class="section"> <div class="section">
<el-divider content-position="left">采购-付款单</el-divider> <el-divider content-position="left">采购-付款单</el-divider>
<div class="details-container"> <div class="details-container">
@ -118,7 +118,11 @@
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column property="projectCode" label="项目编号"></el-table-column> <el-table-column property="projectCode" label="项目编号"></el-table-column>
<el-table-column property="projectName" label="项目名称"></el-table-column> <el-table-column property="projectName" label="项目名称"></el-table-column>
<el-table-column property="payableBillCode" label="采购-应付单编号"></el-table-column> <el-table-column label="采购应付单编号">
<template slot-scope="scope">
<el-button type="text" @click="handleViewPayable(scope.row)" >{{ scope.row.payableBillCode }}</el-button>
</template>
</el-table-column>
<el-table-column property="totalPriceWithTax" label="含税总价" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column> <el-table-column property="totalPriceWithTax" label="含税总价" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column>
<el-table-column property="paymentAmount" label="本次付款金额"> <el-table-column property="paymentAmount" label="本次付款金额">
<template slot-scope="scope"> <template slot-scope="scope">
@ -133,15 +137,17 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<edit-form :visible.sync="payableVisible" :data="selectedPayableRow" :z-index="2000" @close="payableVisible = false" />
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
import FileUpload from "@/components/FileUpload"; import FileUpload from "@/components/FileUpload";
import EditForm from "@/views/finance/payable/components/EditForm.vue";
export default { export default {
name: "DetailDrawer", name: "DetailDrawer",
components: {FileUpload}, components: {FileUpload, EditForm},
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
@ -156,6 +162,8 @@ export default {
return { return {
fileList: [], fileList: [],
fileId: null, fileId: null,
payableVisible: false,
selectedPayableRow: {},
}; };
}, },
watch: { watch: {
@ -206,6 +214,11 @@ export default {
}; };
this.$emit('submit', saveData); this.$emit('submit', saveData);
}, },
handleViewPayable(row) {
row.id = row.payableBillId;
this.selectedPayableRow = row;
this.payableVisible = true;
},
}, },
}; };
</script> </script>

View File

@ -197,7 +197,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批节点" fixed="right" width="80" align="center" prop="approveNode"/> <el-table-column label="审批节点" fixed="right" width="80" align="center" prop="approveNode"/>
<el-table-column label="操作" fixed="right" width="100" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" fixed="right" width="100" align="center" class-name="small-padding fixed-width operation-column">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -571,3 +571,9 @@ export default {
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -75,24 +75,32 @@
</div> </div>
<div class="section"> <div class="section">
<el-divider content-position="left">采购-应付单</el-divider> <el-divider content-position="left">采购 - 应付单</el-divider>
<el-table :data="detail.detailList"> <el-table :data="detail.detailList">
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column property="projectCode" label="项目编号"></el-table-column> <el-table-column property="projectCode" label="项目编号"></el-table-column>
<el-table-column property="projectName" label="项目名称"></el-table-column> <el-table-column property="projectName" label="项目名称"></el-table-column>
<el-table-column property="payableBillCode" label="采购应付单编号"></el-table-column> <el-table-column label="采购应付单编号">
<template slot-scope="scope">
<el-button type="text" @click="handleViewPayable(scope.row)">{{ scope.row.payableBillCode }}</el-button>
</template>
</el-table-column>
<el-table-column property="totalPriceWithTax" label="含税总价" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column> <el-table-column property="totalPriceWithTax" label="含税总价" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column>
<el-table-column property="paymentAmount" label="本次收票金额" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column> <el-table-column property="paymentAmount" label="本次收票金额" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column>
<el-table-column property="paymentRate" label="本次收票比例(%)"></el-table-column> <el-table-column property="paymentRate" label="本次收票比例(%)"></el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
<edit-form :visible.sync="payableVisible" :data="selectedPayableRow" :z-index="2000" @close="payableVisible = false" />
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
import EditForm from "@/views/finance/payable/components/EditForm.vue";
export default { export default {
name: "DetailDrawer", name: "DetailDrawer",
components: {EditForm},
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
@ -103,11 +111,22 @@ export default {
default: () => null, default: () => null,
}, },
}, },
data() {
return {
payableVisible: false,
selectedPayableRow: {},
};
},
dicts:['receipt_bill_type','approve_status','receipt_status'], dicts:['receipt_bill_type','approve_status','receipt_status'],
methods: { methods: {
handleClose() { handleClose() {
this.$emit("update:visible", false); this.$emit("update:visible", false);
}, },
handleViewPayable(row) {
row.id = row.payableBillId;
this.selectedPayableRow = row;
this.payableVisible = true;
},
}, },
}; };
</script> </script>

View File

@ -182,7 +182,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批节点" align="center" prop="approveNode" width="100" /> <el-table-column label="审批节点" align="center" prop="approveNode" width="100" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width operation-column">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -434,3 +434,9 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-drawer title="修改销售应收单" :visible.sync="internalVisible" size="70%" @close="handleClose"> <el-drawer title="修改销售应收单" :visible.sync="internalVisible" size="70%" :z-index="zIndex" @close="handleClose">
<div class="dialog-body"> <div class="dialog-body">
<!-- Part 1: Details --> <!-- Part 1: Details -->
<div> <div>
@ -197,6 +197,10 @@ export default {
data: { data: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
},
zIndex: {
type: Number,
default: 2000
} }
}, },
data() { data() {

View File

@ -120,7 +120,7 @@
<el-table-column label="含税总价(元)" align="center" prop="totalPriceWithTax" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"/> <el-table-column label="含税总价(元)" align="center" prop="totalPriceWithTax" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"/>
<el-table-column label="未收款金额" align="center" prop="unreceivedAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"/> <el-table-column label="未收款金额" align="center" prop="unreceivedAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"/>
<el-table-column label="未开票金额" align="center" prop="uninvoicedAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" /> <el-table-column label="未开票金额" align="center" prop="uninvoicedAmount" width="120" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width operation-column" width="120" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -331,3 +331,9 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -100,12 +100,16 @@
</div> </div>
<div class="section"> <div class="section">
<el-divider content-position="left">销售-应收单</el-divider> <el-divider content-position="left">销售 - 应收单</el-divider>
<el-table :data="detail.detailDTOList"> <el-table :data="detail.detailDTOList">
<el-table-column type="index" label="序号" width="50"></el-table-column> <el-table-column type="index" label="序号" width="50"></el-table-column>
<el-table-column property="projectCode" label="项目编号"></el-table-column> <el-table-column property="projectCode" label="项目编号"></el-table-column>
<el-table-column property="projectName" label="项目名称"></el-table-column> <el-table-column property="projectName" label="项目名称"></el-table-column>
<el-table-column property="receivableBillCode" label="应收单编号"></el-table-column> <el-table-column label="应收单编号">
<template slot-scope="scope">
<el-button type="text" @click="handleViewReceivable(scope.row)">{{ scope.row.receivableBillCode }}</el-button>
</template>
</el-table-column>
<el-table-column property="totalPriceWithTax" label="含税总价(元)" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column> <el-table-column property="totalPriceWithTax" label="含税总价(元)" :formatter="(row, column, cellValue)=>formatCurrency(cellValue)"></el-table-column>
<el-table-column property="receiptAmount" label="本次收款金额"> <el-table-column property="receiptAmount" label="本次收款金额">
<template slot-scope="scope"> <template slot-scope="scope">
@ -126,16 +130,19 @@
<GlobalFilePreview ref="filePreview" /> <GlobalFilePreview ref="filePreview" />
</div> </div>
<edit-form :visible.sync="receivableVisible" :data="selectedReceivableRow" :z-index="2000" @close="receivableVisible = false" />
</el-drawer> </el-drawer>
</template> </template>
<script> <script>
import GlobalFilePreview from '@/components/GlobalFilePreview'; import GlobalFilePreview from '@/components/GlobalFilePreview';
import EditForm from "@/views/finance/receivable/components/EditForm.vue";
export default { export default {
name: "DetailDrawer", name: "DetailDrawer",
components: { components: {
GlobalFilePreview GlobalFilePreview,
EditForm
}, },
props: { props: {
visible: { visible: {
@ -149,6 +156,8 @@ export default {
}, },
data() { data() {
return { return {
receivableVisible: false,
selectedReceivableRow: {},
}; };
}, },
dicts:['receipt_bill_type','approve_status','receipt_bill_status','payment_method'], dicts:['receipt_bill_type','approve_status','receipt_bill_status','payment_method'],
@ -161,7 +170,12 @@ export default {
}, },
downloadFile(attachment) { downloadFile(attachment) {
this.$refs.filePreview.downloadFile(attachment); this.$refs.filePreview.downloadFile(attachment);
} },
handleViewReceivable(row) {
row.id = row.receivableBillId;
this.selectedReceivableRow = row;
this.receivableVisible = true;
},
}, },
}; };
</script> </script>

View File

@ -157,7 +157,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审批节点" align="center" prop="approveNode" width="100" fixed="right" /> <el-table-column label="审批节点" align="center" prop="approveNode" width="100" fixed="right" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120" fixed="right"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width operation-column" width="120" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
size="mini" size="mini"
@ -405,3 +405,9 @@ export default {
} }
}; };
</script> </script>
<style scoped>
.operation-column .el-button--text:hover {
color: red !important;
}
</style>

View File

@ -21,6 +21,9 @@ public class PaymentBillPayableDetailDTO {
private String projectName; private String projectName;
private String productType; private String productType;
/** 采购应付单ID */
private Long payableBillId;
/** 采购应付单编号 */ /** 采购应付单编号 */
private String payableBillCode; private String payableBillCode;

View File

@ -21,7 +21,10 @@ public class ReceiptDetailDTO {
private String projectName; private String projectName;
private String productType; private String productType;
/** 采购应付单编号 */ /** 采购应收单ID */
private Long receivableBillId;
/** 采购应收单编号 */
private String receivableBillCode; private String receivableBillCode;
/** 应付单含税总价 */ /** 应付单含税总价 */

View File

@ -122,7 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY t1.create_time DESC ORDER BY t1.create_time DESC
</select> </select>
<select id="listPayableByPaymentCode" resultType="com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO"> <select id="listPayableByPaymentCode" resultType="com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO">
select t1.payment_amount, t2.payable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type select t1.payment_amount, t1.payable_bill_id, t2.payable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type
from (SELECT sum(payment_amount) payment_amount, from (SELECT sum(payment_amount) payment_amount,
payable_bill_id payable_bill_id
FROM oms_payable_payment_detail t1 FROM oms_payable_payment_detail t1

View File

@ -91,7 +91,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where id = #{id} where id = #{id}
</select> </select>
<select id="listByTickerCode" resultType="com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO"> <select id="listByTickerCode" resultType="com.ruoyi.sip.domain.dto.PaymentBillPayableDetailDTO">
select t1.payment_amount, t2.payable_bill_code,t2.product_type, t4.project_name, t4.project_code, t2.total_price_with_tax select t1.payment_amount, t1.payable_bill_id, t2.payable_bill_code,t2.product_type, t4.project_name, t4.project_code, t2.total_price_with_tax
from (SELECT sum(payment_amount) payment_amount, from (SELECT sum(payment_amount) payment_amount,
payable_bill_id payable_bill_id
FROM oms_payable_ticket_detail t1 FROM oms_payable_ticket_detail t1

View File

@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
order by create_time desc order by create_time desc
</select> </select>
<select id="listReceivableByInvoiceBillCode" resultType="com.ruoyi.sip.domain.dto.ReceiptDetailDTO"> <select id="listReceivableByInvoiceBillCode" resultType="com.ruoyi.sip.domain.dto.ReceiptDetailDTO">
select t1.receipt_amount, t2.receivable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type select t1.receipt_amount, t1.receivable_bill_id, t2.receivable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type
from (SELECT sum(invoice_amount) receipt_amount, from (SELECT sum(invoice_amount) receipt_amount,
receivable_bill_id receivable_bill_id
FROM oms_receivable_invoice_detail t1 FROM oms_receivable_invoice_detail t1

View File

@ -93,7 +93,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
ORDER BY t1.create_time DESC ORDER BY t1.create_time DESC
</select> </select>
<select id="listReceivableByReceiptBillCode" resultType="com.ruoyi.sip.domain.dto.ReceiptDetailDTO"> <select id="listReceivableByReceiptBillCode" resultType="com.ruoyi.sip.domain.dto.ReceiptDetailDTO">
select t1.receipt_amount, t2.receivable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type select t1.receipt_amount, t1.receivable_bill_id, t2.receivable_bill_code, t4.project_name, t4.project_code, t2.total_price_with_tax,t2.product_type
from (SELECT sum(receipt_amount) receipt_amount, from (SELECT sum(receipt_amount) receipt_amount,
receivable_bill_id receivable_bill_id
FROM oms_receivable_receipt_detail t1 FROM oms_receivable_receipt_detail t1