diff --git a/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordList.vue b/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordList.vue index 32d6d4b2..8a9c838f 100644 --- a/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordList.vue +++ b/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordList.vue @@ -79,7 +79,7 @@ - + @@ -118,7 +118,18 @@ - + + + @@ -262,6 +273,39 @@ export default { }); }, + handleDownPDF(row) { + let settleBillName=row.companyName; + let pdfUrl=row.filePath; + let fileName=settleBillName+"-"+row.invoiceNo+".pdf"; + this.downloadUrlFile(pdfUrl,fileName); + }, + // 下载含有url的文件 + downloadUrlFile(url, fileName) { + const url2 = url.replace(/\\/g, '/'); + const xhr = new XMLHttpRequest(); + xhr.open('GET', url2, true); + xhr.responseType = 'blob'; + //xhr.setRequestHeader('Authorization', 'Basic a2VybWl0Omtlcm1pdA=='); + // 为了避免大文件影响用户体验,建议加loading + xhr.onload = () => { + if (xhr.status === 200) { + // 获取文件blob数据并保存 + this.saveAs(xhr.response, fileName); + } + }; + xhr.send(); + }, + saveAs(data, name) { + const urlObject = window.URL || window.webkitURL || window; + const export_blob = new Blob([data]); + //createElementNS() 方法可创建带有指定命名空间的元素节点。 + //此方法可返回一个 Element 对象。 + const save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a'); + save_link.href = urlObject.createObjectURL(export_blob); + save_link.download = name; + save_link.click(); + }, + /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; diff --git a/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordListReadOnly.vue b/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordListReadOnly.vue index c9654d06..6e290083 100644 --- a/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordListReadOnly.vue +++ b/src/views/emis/emisSettleInvoiceChRecord/InvoiceChRecordListReadOnly.vue @@ -3,6 +3,10 @@ - @@ -76,7 +79,18 @@ - + + + @@ -216,6 +230,40 @@ export default { }); }, + + handleDownPDF(row) { + let settleBillName=row.companyName; + let pdfUrl=row.filePath; + let fileName=settleBillName+"-"+row.invoiceNo+".pdf"; + this.downloadUrlFile(pdfUrl,fileName); + }, + // 下载含有url的文件 + downloadUrlFile(url, fileName) { + const url2 = url.replace(/\\/g, '/'); + const xhr = new XMLHttpRequest(); + xhr.open('GET', url2, true); + xhr.responseType = 'blob'; + //xhr.setRequestHeader('Authorization', 'Basic a2VybWl0Omtlcm1pdA=='); + // 为了避免大文件影响用户体验,建议加loading + xhr.onload = () => { + if (xhr.status === 200) { + // 获取文件blob数据并保存 + this.saveAs(xhr.response, fileName); + } + }; + xhr.send(); + }, + saveAs(data, name) { + const urlObject = window.URL || window.webkitURL || window; + const export_blob = new Blob([data]); + //createElementNS() 方法可创建带有指定命名空间的元素节点。 + //此方法可返回一个 Element 对象。 + const save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a'); + save_link.href = urlObject.createObjectURL(export_blob); + save_link.download = name; + save_link.click(); + }, + /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; diff --git a/src/views/emis/emisSettleInvoiceRecord/OpenBillForm.vue b/src/views/emis/emisSettleInvoiceRecord/OpenBillForm.vue index c4af7412..4ea56eb7 100644 --- a/src/views/emis/emisSettleInvoiceRecord/OpenBillForm.vue +++ b/src/views/emis/emisSettleInvoiceRecord/OpenBillForm.vue @@ -129,3 +129,22 @@ export default { } }; + + diff --git a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue index ee4e6e08..453a9159 100644 --- a/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue +++ b/src/views/emis/emisSettleInvoiceRecord/panel/CenterInvoiceRecordDealListPanel.vue @@ -1,80 +1,33 @@