From d048c7eb44ccaa504b7b4f462d83dbaa25928d8f Mon Sep 17 00:00:00 2001 From: zhangxiaoxu123 <819527061@qq.com> Date: 星期六, 31 十二月 2022 21:26:27 +0800 Subject: [PATCH] 发票下载 --- src/components/page/invoice/invoiceForm.vue | 82 ++++++++++++++++++++++++++++++---------- 1 files changed, 61 insertions(+), 21 deletions(-) diff --git a/src/components/page/invoice/invoiceForm.vue b/src/components/page/invoice/invoiceForm.vue index 49e0165..7f26dac 100644 --- a/src/components/page/invoice/invoiceForm.vue +++ b/src/components/page/invoice/invoiceForm.vue @@ -5,9 +5,12 @@ <div class="invoiceForm-main-inside"> <div class="invoice-date-box"> <el-date-picker - class="invoice-date-box" + :editable="false" + format="yyyy-MM" + value-format="yyyy-MM" v-model="date" - type="date" + type="month" + @change="changeDate" placeholder="閫夋嫨鏃ユ湡"> </el-date-picker> </div> @@ -31,7 +34,6 @@ <svg class="iconSvg" style="font-size: 12px" aria-hidden="true"> <use xlink:href="#icon-shijian3"></use> </svg> - {{item.isShow}} {{item.enterTime}} </div> <div class="invoiceForm-content"> @@ -57,7 +59,7 @@ <div class="fapiao-btn"> <el-checkbox v-model="checkAll" @change="handleCheckAllChange">鍏ㄩ��</el-checkbox> <div class="fapiao-right"> - <span class="money">閲戦锛�<font class="big">235</font>鍏�</span> + <span class="money">閲戦锛�<font class="big">{{countMoney}}</font>鍏�</span> <el-button size="mini" @click="seeInvoice">涓嬭浇鍙戠エ</el-button> </div> </div> @@ -85,8 +87,12 @@ current:1, size:8, total:'', - filedId: [] + filedId: [], + countMoney:0 } + }, + created() { + this.date = this.$byutil.dateFormat(new Date(), "yyyy-MM"); }, mounted() { this.getByCarNo() @@ -99,12 +105,14 @@ }, getByCarNo() { + this.invoiceData = [] let url = this.$systemconfig.basePath + '/orderrecord/getByCarNo'; let params = { carNo: this.$route.query.carNo, phone: this.$route.query.phone, current: this.current, - size: this.size + size: this.size, + month: this.date } this.$byutil.postData(this,url,params,res => { let row = res.data.records @@ -126,31 +134,57 @@ handleCheckAllChange(val) { this.filedId = [] let ids = [] + this.countMoney = 0 this.invoiceData.forEach(item => { - ids.push(item.id) + ids.push(item.fileId) item.isShow = val - this.filedId.push(item.id) + this.countMoney += item.money + this.filedId.push(item.fileId) }) }, handleCheckedCitiesChange(value) { - console.log(value,'value') this.filedId = [] + this.countMoney = 0 let checkedCount = value.length; let ids = value.filter(item => { return item.isShow == true }) - console.log(ids,'ids=========') if(ids.length > 0) { ids.forEach(item => { - this.filedId.push(item.id) + this.countMoney += item.money + this.filedId.push(item.fileId) }) } this.checkAll = checkedCount === ids.length; }, seeInvoice() { //鏌ョ湅鍙戠エ - console.log(this.filedId,'this.filedId==========') - } + if(this.filedId.length == 0){ + alert("璇疯嚦灏戦�夋嫨涓�椤�") + }else { + let result = this.filedId.join(",") + let url = this.$systemconfig.basePath + '/fileInfo/download/downloadZips'; + let param = { + fileIds : result + } + this.$byutil.exportData(this,url,param,res => { + console.log(res,'res=========') + let blob = new Blob([res], {type: 'application/zip'}); + let downloadElement = document.createElement("a"); + downloadElement.style.display = "none"; + let href = window.URL.createObjectURL(blob); //鍒涘缓涓嬭浇鐨勯摼鎺� + downloadElement.href = href; + downloadElement.download = '鍙戠エ涓嬭浇.zip' + document.body.appendChild(downloadElement); + downloadElement.click(); //鐐瑰嚮涓嬭浇 + document.body.removeChild(downloadElement); //涓嬭浇瀹屾垚绉婚櫎鍏冪礌 + window.URL.revokeObjectURL(href); //閲婃斁鎺塨lob瀵硅薄 + }) + } + }, + changeDate(){ + this.getByCarNo(); + } } } </script> @@ -164,34 +198,40 @@ } .invoice-date-box{ .el-input__prefix{ - right: 0vw /* 10/7.5 */!important; - top: 0.93vw /* 7/7.5 */; + left: 21vw /* 10/7.5 */!important; + top: 2.4vw; } .el-input__inner{ border: none!important; color: #303030; - font-size: 3.2vw /* 24/7.5 */; + font-size: 3.73vw /* 28/7.5 */; font-weight: 500; } .el-icon-date:before{ - content: url("../../../assets/images/down1.png"); + background: url("../../../assets/images/down1.png") no-repeat center; + background-size: 100% 100%; width: 2.67vw /* 20/7.5 */; - height: 0.267rem /* 20/75 */; + height: 2.67vw /* 20/7.5 */; + content: ''; + display: block; } input::-webkit-input-placeholder{ /*WebKit browsers*/ color: #303030; - font-size: 3.2vw /* 24/7.5 */; + font-size: 3.73vw /* 28/7.5 */; font-weight: 500; } .el-input--prefix .el-input__inner{ padding-left: 2.67vw /* 20/7.5 */; + } + .el-icon-circle-close:before{ + content: ''; } } </style> <style lang="scss" scoped> *{ - font-family: '骞虫柟'; + font-family: '鑻规柟'; color: #626262; } ::v-deep{ @@ -250,6 +290,7 @@ background-color: #fff; padding:1.33vw /* 10/7.5 */ 2.67vw /* 20/7.5 */; display: flex; + border-bottom: 1px solid #f5f5f5; } } @@ -302,7 +343,6 @@ } .money-small{ font-size: 3.2vw /* 24/7.5 */; - font-weight: lighter; } } </style> -- Gitblit v1.9.1