From e01dc8708284e34fb86de1ad29d6b6ece949452c Mon Sep 17 00:00:00 2001
From: zhangxiaoxu123 <819527061@qq.com>
Date: 星期三, 04 一月 2023 09:10:39 +0800
Subject: [PATCH] 1
---
src/components/page/invoice/invoiceForm.vue | 220 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 130 insertions(+), 90 deletions(-)
diff --git a/src/components/page/invoice/invoiceForm.vue b/src/components/page/invoice/invoiceForm.vue
index 36b428d..5d7f31f 100644
--- a/src/components/page/invoice/invoiceForm.vue
+++ b/src/components/page/invoice/invoiceForm.vue
@@ -5,20 +5,22 @@
<div class="invoiceForm-main-inside">
<div class="invoice-date-box">
<el-date-picker
+ :editable="false"
format="yyyy-MM"
value-format="yyyy-MM"
v-model="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">
@@ -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,26 +87,32 @@
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() {
+ 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,39 +134,72 @@
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 url = this.$systemconfig.basePath + '/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
+ console.log(time,'time===========')
+ 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 = time
+ document.body.appendChild(downloadElement);
+ downloadElement.click(); //鐐瑰嚮涓嬭浇
+ document.body.removeChild(downloadElement); //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+ window.URL.revokeObjectURL(href); //閲婃斁鎺塨lob瀵硅薄
+ })
+ })
+ }
+ },
+ changeDate(){
+ this.getByCarNo();
}
}
}
</script>
<style lang="scss">
+ .el-message-box{
+ width: 80% !important;
+ }
.fapiao-btn{
.el-checkbox{
- width: 100px!important;
+ width: 100px!important;
}
}
@@ -233,83 +274,82 @@
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 */;
- display: flex;
- border-bottom: 1px solid #f5f5f5;
- }
+ 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;
}
- .money{
- display: flex;
- align-self: center;
- justify-content: center;
+ .invoiceForm-content{
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;
+ 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-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>
--
Gitblit v1.9.1