From 031f5b166a1626a223863ccfca8950ddb4d4aef9 Mon Sep 17 00:00:00 2001 From: wuteng <419274783@qq.com> Date: Sat, 8 Nov 2025 11:26:38 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=B7=B2=E5=BC=80=E7=A5=A8=EF=BC=8C?= =?UTF-8?q?=E2=80=98=E5=AE=9A=E5=88=B6=E5=AF=BC=E5=87=BA=E2=80=99=E8=B0=83?= =?UTF-8?q?=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue index 6a0f55b3..97b46c14 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue @@ -649,7 +649,7 @@ export default { this.initQueryParams(); let params = this.addDateRange(this.queryParams, this.dateTimeRange,'createTime'); //判断时间必选 且开始和结束时间相差不超一个月 - if(!this.dateTimeRange){ + if(!this.dateTimeRange && !this.queryParams.queryCode){ this.$modal.msgError('请选择开票时间'); return; } From d7253faed23729a1738c491f2cce81f4d16e68a4 Mon Sep 17 00:00:00 2001 From: wuteng <419274783@qq.com> Date: Sat, 8 Nov 2025 14:12:19 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=92=8C=E5=B7=B2=E5=BC=80=E7=A5=A8=E2=80=98?= =?UTF-8?q?=E5=AF=BC=E5=87=BA=E2=80=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/CenterInvoiceHasOpenPanel.vue | 111 +++++++++++++++- .../CenterInvoiceRecordDealListPanel.vue | 120 ++++++++++++++---- 2 files changed, 202 insertions(+), 29 deletions(-) diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue index 97b46c14..15289cdb 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue @@ -99,7 +99,7 @@ slot="pageContent" slot-scope="slotProps" :height="(slotProps.contentHeight)+'px'" - + ref="refTable" v-loading="loading" border size="mini" @@ -169,6 +169,16 @@ v-hasPermi="['emis:emisSettleInvoiceRecord:payByInvoice']" >发票收款 + + 导出 + 0){ + this.exportData(this.selectList,loadingInstance); + }else{ + this.initQueryParams(); + var qParam = {...this.queryParams}; + qParam.pageNum=1; + qParam.pageSize=5000; + listEmisSettleInvoiceRecord(this.addDateRange(qParam, this.dateTimeRange, 'createTime')).then(response => { + if (response.code === 200) { + this.exportData(response.rows, loadingInstance); + } + }); + } + }, + exportData(selData,loadingInstance){ + const curList =selData + import('@/vendor/Export2Excel').then(excel => { + const exportParam=this.$refs.refTable.getExportParam(); + const tHeader = exportParam.header; + const filterVal = exportParam.filter; + const data = this.formatJson(filterVal, curList, selData) + excel.export_json_to_excel({ + header: tHeader, + data, + filename: '已开票列表', + autoWidth: true + }) + loadingInstance.close() + }) }, formatJson(filterVal, jsonData, resData) { let index = 0 @@ -678,6 +722,69 @@ export default { } return statusStr; } + // 开票状态 + if (j === 'invoiceStatus') { + let invoiceStatus = v[j]; + if (invoiceStatus == 0) { + return '未开票'; + } + else if (invoiceStatus == 1) { + return '开票中'; + } + else if (invoiceStatus == 2) { + return '已开票'; + } + else if (invoiceStatus == 3) { + return '开票异常'; + } + } + // 审核状态 + if (j === 'blAudit') { + let auditStatus = v[j]; + if (auditStatus == 0) { + return '未审核'; + } + else if (auditStatus == 1) { + return '审核中'; + } + else if (auditStatus == 2) { + return '已审核'; + } + else if (auditStatus == 3) { + return '审核异常'; + } + } + //开票类型 + if (j === 'invoiceType') { + let invoiceType = v[j]; + if (invoiceType == 1) { + return '增值税电子普通发票'; + } + else if (invoiceType == 4) { + return '增值税电子专用发票'; + } else if (invoiceType == 2) { + return '增值税普通发票'; + } else if (invoiceType == 3) { + return '增值税专用发票'; + } else if (invoiceType == 9) { + return '其它手工发票'; + } + } + // 收款状态 + if (j === 'paymentStatus') { + let paymentStatus = v[j]; + if (paymentStatus == 0) { + return '未收款'; + } + else if (paymentStatus == 1) { + return '已收款'; + } + else if (paymentStatus == 2) { + return '部分收款'; + } + } + + return v[j] })) }, diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue index 93603948..25216445 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue @@ -97,7 +97,7 @@ slot="pageContent" slot-scope="slotProps" :height="(slotProps.contentHeight)+'px'" - + ref="refTable" v-loading="loading" border size="mini" @@ -158,7 +158,7 @@ >开票驳回 - + @@ -632,34 +632,39 @@ export default { }, /** 导出按钮操作 */ handleExport() { - // this.download('emis/emisSettleInvoiceRecord/export', { - // ...this.queryParams - // }, `emisSettleInvoiceRecord_${new Date().getTime()}.xlsx`) const loadingInstance = this.$loading({ text: '正在导出...' }) - var qParam = {...this.queryParams}; - qParam.pageNum=1; - qParam.pageSize=5000; + if(this.selectList&&this.selectList.length>0){ + this.exportData(this.selectList,loadingInstance); + }else{ - listEmisSettleInvoiceRecord(this.addDateRange(qParam, this.dateTimeRange)).then(response => { - this.downloadLoading = false - if (response.code === 200) { - const curList = response.rows - import('@/vendor/Export2Excel').then(excel => { - const tHeader = ['id','申请序号','申请时间','审核人','审核站点','客户编码','客户名称','账单号编号','账单名称','申请开票金额','开票类型','开票名称','开票税号','开票电话','开票地址','联系人','联系电话','税类型','开票上限','开票金额','发票号','开票状态','开票状态描述','纸质发票邮寄地址','发票投递邮箱','发票下载路径','备注','审核状态','审核日期','审核人','审核站点','操作人','操作时间','操作站点','开票渠道编号','开票渠道状态','开票渠道描述','使用的开票企业代码','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建站点','更新站点',]; - const filterVal = ['id','applySeqNo','applyDate','applyManCode','applySiteCode','customerCode','customerName','settleBillNo','settleBillName','applyMoney','invoiceType','companyName','companyTaxNo','companyTel','companyAddress','contact','phone','realTaxType','openMoneyMax','openMoney','invoiceNo','invoiceStatus','invoiceStatusDesc','recieveAddress','email','filePath','remark','blAudit','auditDate','auditManCode','auditSiteCode','opManCode','opDate','opSiteCode','openChId','openChStatus','openChStatusDesc','openComCode','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',]; - const data = this.formatJson(filterVal, curList, response.rows) - excel.export_json_to_excel({ - header: tHeader, - data, - filename: '开票记录表', - autoWidth: true - }) - loadingInstance.close() - }) - } - }); + var qParam = {...this.queryParams}; + qParam.pageNum=1; + qParam.pageSize=5000; + + listEmisSettleInvoiceRecord(this.addDateRange(qParam, this.dateTimeRange)).then(response => { + if (response.code === 200) { + this.exportData(response.rows,loadingInstance); + } + }); + } + }, + exportData(selData, loadingInstance) { + const curList = selData + import('@/vendor/Export2Excel').then(excel => { + const exportParam = this.$refs.refTable.getExportParam(); + const tHeader = exportParam.header; + const filterVal = exportParam.filter; + const data = this.formatJson(filterVal, curList, selData) + excel.export_json_to_excel({ + header: tHeader, + data, + filename: '开票申请记录', + autoWidth: true + }) + loadingInstance.close() + }) }, formatJson(filterVal, jsonData, resData) { let index = 0 @@ -674,6 +679,67 @@ export default { } return statusStr; } + // 开票状态 + if (j === 'invoiceStatus') { + let invoiceStatus = v[j]; + if (invoiceStatus == 0) { + return '未开票'; + } + else if (invoiceStatus == 1) { + return '开票中'; + } + else if (invoiceStatus == 2) { + return '已开票'; + } + else if (invoiceStatus == 3) { + return '开票异常'; + } + } + // 审核状态 + if (j === 'blAudit') { + let auditStatus = v[j]; + if (auditStatus == 0) { + return '未审核'; + } + else if (auditStatus == 1) { + return '审核中'; + } + else if (auditStatus == 2) { + return '已审核'; + } + else if (auditStatus == 3) { + return '审核异常'; + } + } + //开票类型 + if (j === 'invoiceType') { + let invoiceType = v[j]; + if (invoiceType == 1) { + return '增值税电子普通发票'; + } + else if (invoiceType == 4) { + return '增值税电子专用发票'; + } else if (invoiceType == 2) { + return '增值税普通发票'; + } else if (invoiceType == 3) { + return '增值税专用发票'; + } else if (invoiceType == 9) { + return '其它手工发票'; + } + } + // 收款状态 + if (j === 'paymentStatus') { + let paymentStatus = v[j]; + if (paymentStatus == 0) { + return '未收款'; + } + else if (paymentStatus == 1) { + return '已收款'; + } + else if (paymentStatus == 2) { + return '部分收款'; + } + } return v[j] })) }, From d07a12bace26065b1b949e8fe19dce161f718539 Mon Sep 17 00:00:00 2001 From: wuteng <419274783@qq.com> Date: Sat, 8 Nov 2025 15:04:01 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=BC=80=E7=A5=A8=E4=B8=BB=E4=BD=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/CenterInvoiceHasOpenPanel.vue | 6 +++++- .../panel/CenterInvoiceRecordDealListPanel.vue | 11 +++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue index 15289cdb..756b860b 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceHasOpenPanel.vue @@ -85,6 +85,9 @@ clearable /> + + + From ad8a43fc1e5404f59909bea534a3b083a1e9426f Mon Sep 17 00:00:00 2001 From: wuteng <419274783@qq.com> Date: Mon, 10 Nov 2025 09:41:02 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E5=BC=80=E7=A5=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/emis/emisSettleInvoiceRecord.js | 18 +++++++ .../CenterInvoiceRecordDealListPanel.vue | 51 ++++++++++++++++++- 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/src/api/emis/emisSettleInvoiceRecord.js b/src/api/emis/emisSettleInvoiceRecord.js index b1a0e1df..d914596c 100644 --- a/src/api/emis/emisSettleInvoiceRecord.js +++ b/src/api/emis/emisSettleInvoiceRecord.js @@ -61,3 +61,21 @@ export function auditCenterPass(id) { data: {} }) } + +// 批量延迟开票 +export function batchDelayInvoice(ids) { + console.log('延迟开票ids batchDelayInvoice:', ids); + return request({ + url: 'emis/emisSettleInvoiceRecord/batchDelayInvoice/' + ids, + method: 'post', + data: {} + }) +} +//取消延迟开票 +export function cancelBatchDelayInvoice(ids) { + return request({ + url: 'emis/emisSettleInvoiceRecord/batchCancelDelayInvoice/' + ids, + method: 'post', + data: {} + }) +} \ No newline at end of file diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue index e2801209..02de0b10 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue @@ -175,6 +175,26 @@ v-hasPermi="['emis:emisSettleInvoiceRecord:export']" >导出 + + 批量发票延期 + + + 取消发票延期 + @@ -287,7 +307,7 @@