| | |
| | | <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: 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/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; |
| | | 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{ |
| | |
| | | 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> |