From 695c77ca60f4470d5f3294bac44d7c5723c34004 Mon Sep 17 00:00:00 2001 From: chenhao Date: Tue, 30 Dec 2025 15:20:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(invoice):=20=E6=B7=BB=E5=8A=A0=E7=BA=A2?= =?UTF-8?q?=E5=86=B2=E5=8A=9F=E8=83=BD=E5=92=8C=E7=9B=B8=E5=85=B3=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改ApplyInvoice组件支持红冲操作,添加isRedRush属性控制红冲逻辑 - 在输入验证中修复数字验证正则表达式,支持负数输入 - 添加applyRefund API接口用于提交红冲申请 - 实现红冲审批流程,包括待审批和已审批页面 - 更新发票详情显示组件支持负数金额显示 - 在发票列表页面添加红冲按钮和相关状态判断 - 修改后端applyRefund接口接收完整对象参数 - 实现发票明细项导出功能 - 添加红冲状态和发票类型的字典数据支持 - 优化金额转中文大写函数支持负数显示 - 添加发票详情导出PDF功能 --- oms_web/oms_vue/src/api/finance/invoice.js | 9 + oms_web/oms_vue/src/router/index.js | 5 + .../components/ReceivableInvoiceDetail.vue | 80 +++-- .../approved/index.vue | 215 +++++++++++++ .../components/ReceivableInvoiceDetail.vue | 182 +++++++++++ .../finance/receivableInvoiceRefund/index.vue | 302 ++++++++++++++++++ .../invoice/components/ApplyInvoice.vue | 45 ++- .../invoice/components/InvoiceInfoView.vue | 8 +- .../src/views/finance/invoice/index.vue | 25 +- .../controller/OmsInvoiceBillController.java | 11 +- .../sip/dto/InvoiceDetailItemExcelDto.java | 64 ++++ .../OmsReceivableInvoiceDetailItemMapper.java | 3 + .../sip/service/IOmsInvoiceBillService.java | 3 +- ...OmsReceivableInvoiceDetailItemService.java | 2 + .../impl/OmsInvoiceBillServiceImpl.java | 125 +++++++- ...eceivableInvoiceDetailItemServiceImpl.java | 11 + .../service/impl/ProjectInfoServiceImpl.java | 2 +- .../OmsReceivableInvoiceDetailItemMapper.xml | 25 ++ .../mapper/sip/OmsInvoiceBillMapper.xml | 3 +- 19 files changed, 1062 insertions(+), 58 deletions(-) create mode 100644 oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/approved/index.vue create mode 100644 oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue create mode 100644 oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/index.vue create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/dto/InvoiceDetailItemExcelDto.java diff --git a/oms_web/oms_vue/src/api/finance/invoice.js b/oms_web/oms_vue/src/api/finance/invoice.js index 1151753d..b479995b 100644 --- a/oms_web/oms_vue/src/api/finance/invoice.js +++ b/oms_web/oms_vue/src/api/finance/invoice.js @@ -51,6 +51,15 @@ export function redRush(id) { }) } +// 申请红冲 (提交表单) +export function applyRefund(data) { + return request({ + url: '/finance/invoice/applyRefund', + method: 'post', + data: data + }) +} + // 退回销售收票单 export function returnInvoice(id) { return request({ diff --git a/oms_web/oms_vue/src/router/index.js b/oms_web/oms_vue/src/router/index.js index f63afeba..db6984e1 100644 --- a/oms_web/oms_vue/src/router/index.js +++ b/oms_web/oms_vue/src/router/index.js @@ -124,6 +124,11 @@ export const constantRoutes = [ component: () => import('@/views/approve/finance/receivableInvoice/approved/index.vue'), hidden: true }, + { + path: 'receivableInvoiceRefundLog', + component: () => import('@/views/approve/finance/receivableInvoiceRefund/approved/index.vue'), + hidden: true + }, ] }, { diff --git a/oms_web/oms_vue/src/views/approve/finance/receivableInvoice/components/ReceivableInvoiceDetail.vue b/oms_web/oms_vue/src/views/approve/finance/receivableInvoice/components/ReceivableInvoiceDetail.vue index 44166a92..e440634f 100644 --- a/oms_web/oms_vue/src/views/approve/finance/receivableInvoice/components/ReceivableInvoiceDetail.vue +++ b/oms_web/oms_vue/src/views/approve/finance/receivableInvoice/components/ReceivableInvoiceDetail.vue @@ -33,28 +33,43 @@ -
-
附件信息
- - - - - - - - -
+
+
附件信息
+ + + + + + + + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -77,6 +92,7 @@ export default { data() { return { attachments: [], + excelList: [], pdfPreviewVisible: false, currentPdfUrl: '', imagePreviewVisible: false, @@ -84,7 +100,20 @@ export default { }; }, watch: { - + data: { + handler(val) { + if (val && val.updateTime) { + this.excelList = [{ + fileName: '电子发票--购买方公司信息.xlsx', + createUserName: '系统生成', + createTime: val.updateTime, + isSystemGenerated: true + }]; + } + }, + immediate: true, + deep: true + } }, methods: { @@ -112,6 +141,15 @@ export default { } }, handleDownload(row) { + if (row.isSystemGenerated) { + request({ + url: '/finance/invoice/export/' + this.data.invoiceBillCode, + method: 'get' + }).then(res => { + window.location.href = process.env.VUE_APP_BASE_API + "/common/download?fileName=" + encodeURIComponent(res.msg) + "&delete=true"; + }); + return; + } const link = document.createElement('a'); link.href = this.getImageUrl(row.filePath); link.download = row.fileName || 'attachment'; diff --git a/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/approved/index.vue b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/approved/index.vue new file mode 100644 index 00000000..4cca9323 --- /dev/null +++ b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/approved/index.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue new file mode 100644 index 00000000..44293ab1 --- /dev/null +++ b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/components/ReceivableInvoiceDetail.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/index.vue b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/index.vue new file mode 100644 index 00000000..52ff0883 --- /dev/null +++ b/oms_web/oms_vue/src/views/approve/finance/receivableInvoiceRefund/index.vue @@ -0,0 +1,302 @@ + + + + + diff --git a/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue b/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue index b19118af..4e64929f 100644 --- a/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue +++ b/oms_web/oms_vue/src/views/finance/invoice/components/ApplyInvoice.vue @@ -110,7 +110,7 @@ @@ -185,7 +185,7 @@