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