|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | <van-list | 
|---|
|  |  |  | v-model="loading" | 
|---|
|  |  |  | :finished="finished" | 
|---|
|  |  |  | finished-text="没有更多了" | 
|---|
|  |  |  | :offset="50" | 
|---|
|  |  |  | :immediate-check="false" | 
|---|
|  |  |  | @load="onLoad" | 
|---|
|  |  |  | v-model="loading" | 
|---|
|  |  |  | :finished="finished" | 
|---|
|  |  |  | finished-text="没有更多了" | 
|---|
|  |  |  | :offset="50" | 
|---|
|  |  |  | :immediate-check="false" | 
|---|
|  |  |  | @load="onLoad" | 
|---|
|  |  |  | > | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div v-for="(item,index) in invoiceData" :key="index"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  | 
|---|
|  |  |  | current:1, | 
|---|
|  |  |  | size:8, | 
|---|
|  |  |  | total:'', | 
|---|
|  |  |  | filedId: [] | 
|---|
|  |  |  | filedId: [], | 
|---|
|  |  |  | countMoney:0 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | created() { | 
|---|
|  |  |  | this.date = this.$byutil.dateFormat(new Date(), "yyyy-MM"); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | mounted() { | 
|---|
|  |  |  | this.getByCarNo() | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | onLoad() { | 
|---|
|  |  |  | this.loading = true | 
|---|
|  |  |  | this.current += 1 | 
|---|
|  |  |  | this.getByCarNo() | 
|---|
|  |  |  | this.loading = true | 
|---|
|  |  |  | this.current += 1 | 
|---|
|  |  |  | this.getByCarNo() | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getByCarNo() { | 
|---|
|  |  |  | let url = this.$systemconfig.basePath + '/orderrecord/getByCarNo'; | 
|---|
|  |  |  | this.invoiceData = [] | 
|---|
|  |  |  | let url = this.$systemconfig.basePath + '/ffzf/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 | 
|---|
|  |  |  | 
|---|
|  |  |  | 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==========') | 
|---|
|  |  |  | console.log(this.filedId.length,'this.filedId====') | 
|---|
|  |  |  | if(this.filedId.length == 0){ | 
|---|
|  |  |  | alert("请至少选择一项") | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | if(this.filedId.length == 1) { | 
|---|
|  |  |  | let url = this.$systemconfig.basePath + '/ffzf/fileInfo/download/downloadPng'; | 
|---|
|  |  |  | this.filedId.forEach(item => { | 
|---|
|  |  |  | let param = { | 
|---|
|  |  |  | fileId : item | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.$byutil.exportData(this,url,param,res => { | 
|---|
|  |  |  | console.log(res,'res====') | 
|---|
|  |  |  | let date = new Date() | 
|---|
|  |  |  | let time = this.$moment(date).format('YYYY-MM-DD HH:mm:ss') + '-' + item | 
|---|
|  |  |  | let blob = new Blob([res], {type: 'image/png'}); | 
|---|
|  |  |  | let downloadElement = document.createElement("a"); | 
|---|
|  |  |  | downloadElement.style.display = "none"; | 
|---|
|  |  |  | let href = window.URL.createObjectURL(blob); //创建下载的链接 | 
|---|
|  |  |  | downloadElement.href = href; | 
|---|
|  |  |  | downloadElement.download = '发票下载.png' | 
|---|
|  |  |  | document.body.appendChild(downloadElement); | 
|---|
|  |  |  | downloadElement.click(); //点击下载 | 
|---|
|  |  |  | document.body.removeChild(downloadElement); //下载完成移除元素 | 
|---|
|  |  |  | window.URL.revokeObjectURL(href); //释放掉blob对象 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }else if(this.filedId.length > 1) { | 
|---|
|  |  |  | let result =  this.filedId.join(",") | 
|---|
|  |  |  | let url = this.$systemconfig.basePath + '/ffzf/fileInfo/download/downloadZips'; | 
|---|
|  |  |  | let param = { | 
|---|
|  |  |  | fileIds : result | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.$byutil.exportData(this,url,param,res => { | 
|---|
|  |  |  | let date = new Date() | 
|---|
|  |  |  | let time = this.$moment(date).format('YYYY-MM-DD HH:mm:ss') | 
|---|
|  |  |  | 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 = time | 
|---|
|  |  |  | document.body.appendChild(downloadElement); | 
|---|
|  |  |  | downloadElement.click(); //点击下载 | 
|---|
|  |  |  | document.body.removeChild(downloadElement); //下载完成移除元素 | 
|---|
|  |  |  | window.URL.revokeObjectURL(href); //释放掉blob对象 | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | changeDate(){ | 
|---|
|  |  |  | this.getByCarNo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|
|  |  |  | .el-message-box{ | 
|---|
|  |  |  | width: 80% !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .fapiao-btn{ | 
|---|
|  |  |  | .el-checkbox{ | 
|---|
|  |  |  | width: 100px!important; | 
|---|
|  |  |  | width: 100px!important; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoice-date-box{ | 
|---|
|  |  |  | .el-input__prefix{ | 
|---|
|  |  |  | right: 3vw  /* 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.73vw  /* 28/7.5 */; | 
|---|
|  |  |  | font-weight: 500; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .el-icon-date:before{ | 
|---|
|  |  |  | content: url("../../../assets/images/down.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; | 
|---|
|  |  |  | 
|---|
|  |  |  | .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{ | 
|---|
|  |  |  | 
|---|
|  |  |  | width: 3.2vw  /* 24/7.5 */; | 
|---|
|  |  |  | height: 3.2vw  /* 24/7.5 */; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-wrap{ | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | background-color: #f5f5f5; | 
|---|
|  |  |  | .title{ | 
|---|
|  |  |  | font-size: 4vw  /* 30/7.5 */; | 
|---|
|  |  |  | font-weight: bolder; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | height:11.73vw  /* 88/7.5 */; | 
|---|
|  |  |  | line-height: 11.73vw  /* 88/7.5 */; | 
|---|
|  |  |  | background: #fff; | 
|---|
|  |  |  | border-bottom: 1px solid #f5f5f5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-main{ | 
|---|
|  |  |  | .invoiceForm-wrap{ | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | height: calc(100% - 11.73vw); | 
|---|
|  |  |  | .invoiceForm-main-inside{ | 
|---|
|  |  |  | padding-bottom: 8vw  /* 60/7.5 */; | 
|---|
|  |  |  | .invoice-date-box{ | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | padding:1.33vw  /* 10/7.5 */ 2.67vw  /* 20/7.5 */; | 
|---|
|  |  |  | height: 100%; | 
|---|
|  |  |  | background-color: #f5f5f5; | 
|---|
|  |  |  | .title{ | 
|---|
|  |  |  | font-size: 4vw  /* 30/7.5 */; | 
|---|
|  |  |  | font-weight: bolder; | 
|---|
|  |  |  | text-align: center; | 
|---|
|  |  |  | height:11.73vw  /* 88/7.5 */; | 
|---|
|  |  |  | line-height: 11.73vw  /* 88/7.5 */; | 
|---|
|  |  |  | background: #fff; | 
|---|
|  |  |  | border-bottom: 1px solid #f5f5f5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-main{ | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | box-sizing: border-box; | 
|---|
|  |  |  | height: calc(100% - 11.73vw); | 
|---|
|  |  |  | .invoiceForm-main-inside{ | 
|---|
|  |  |  | padding-bottom: 8vw  /* 60/7.5 */; | 
|---|
|  |  |  | .invoice-date-box{ | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | padding:1.33vw  /* 10/7.5 */ 2.67vw  /* 20/7.5 */; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | border-bottom: 1px solid #f5f5f5; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-content{ | 
|---|
|  |  |  | font-size: 3.73vw  /* 28/7.5 */; | 
|---|
|  |  |  | line-height: 1.8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-block{ | 
|---|
|  |  |  | border-bottom: 1px solid #e5e5e5; | 
|---|
|  |  |  | padding:4vw  /* 30/7.5 */; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .fapiao-btn{ | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | padding:1.87vw  /* 14/7.5 */ 2.67vw  /* 20/7.5 */; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | background: #fafafa; | 
|---|
|  |  |  | border-top: 1px solid #e5e5e5; | 
|---|
|  |  |  | z-index: 9; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | .fapiao-right{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-content{ | 
|---|
|  |  |  | font-size: 3.73vw  /* 28/7.5 */; | 
|---|
|  |  |  | line-height: 1.8; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .invoiceForm-block{ | 
|---|
|  |  |  | border-bottom: 1px solid #e5e5e5; | 
|---|
|  |  |  | padding:4vw  /* 30/7.5 */; | 
|---|
|  |  |  | background-color: #fff; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .fapiao-btn{ | 
|---|
|  |  |  | position: fixed; | 
|---|
|  |  |  | bottom: 0; | 
|---|
|  |  |  | left: 0; | 
|---|
|  |  |  | padding:1.87vw  /* 14/7.5 */ 2.67vw  /* 20/7.5 */; | 
|---|
|  |  |  | width: 100%; | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | background: #fafafa; | 
|---|
|  |  |  | border-top: 1px solid #e5e5e5; | 
|---|
|  |  |  | z-index: 9; | 
|---|
|  |  |  | justify-content: space-between; | 
|---|
|  |  |  | .fapiao-right{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-self: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | font-size: 3.73vw  /* 28/7.5 */; | 
|---|
|  |  |  | align-items: baseline; | 
|---|
|  |  |  | margin-right: 4vw  /* 30/7.5 */; | 
|---|
|  |  |  | .big{ | 
|---|
|  |  |  | font-size: 4.8vw  /* 36/7.5 */; | 
|---|
|  |  |  | color: #dd894b; | 
|---|
|  |  |  | .money{ | 
|---|
|  |  |  | display: flex; | 
|---|
|  |  |  | align-self: center; | 
|---|
|  |  |  | justify-content: center; | 
|---|
|  |  |  | font-size: 3.73vw  /* 28/7.5 */; | 
|---|
|  |  |  | align-items: baseline; | 
|---|
|  |  |  | margin-right: 4vw  /* 30/7.5 */; | 
|---|
|  |  |  | .big{ | 
|---|
|  |  |  | font-size: 4.8vw  /* 36/7.5 */; | 
|---|
|  |  |  | color: #dd894b; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-main{ | 
|---|
|  |  |  | align-self: flex-start; | 
|---|
|  |  |  | line-height: 1.2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-box{ | 
|---|
|  |  |  | font-size: 6.4vw  /* 48/7.5 */; | 
|---|
|  |  |  | font-weight: normal; | 
|---|
|  |  |  | font-family: '苹方'; | 
|---|
|  |  |  | color: #343434; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-small{ | 
|---|
|  |  |  | font-size: 3.2vw  /* 24/7.5 */; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-main{ | 
|---|
|  |  |  | align-self: flex-start; | 
|---|
|  |  |  | line-height: 1.2; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-box{ | 
|---|
|  |  |  | font-size: 6.4vw  /* 48/7.5 */; | 
|---|
|  |  |  | font-weight: normal; | 
|---|
|  |  |  | font-family: '苹方'; | 
|---|
|  |  |  | color: #343434; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | .money-small{ | 
|---|
|  |  |  | font-size: 3.2vw  /* 24/7.5 */; | 
|---|
|  |  |  | font-weight: lighter; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|