kongdeqiang
2023-09-12 b6809f71253a524d81c086ef1293acafdaba395e
src/components/page/invoice/invoiceForm.vue
@@ -15,12 +15,12 @@
                    </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">
@@ -92,21 +92,21 @@
            }
        },
        created() {
          this.date = this.$byutil.dateFormat(new Date(), "yyyy-MM");
            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';
                this.invoiceData = []
                let url = this.$systemconfig.basePath + '/ffzf/orderrecord/getByCarNo';
                let params = {
                    carNo: this.$route.query.carNo,
                    phone: this.$route.query.phone,
@@ -152,47 +152,76 @@
                if(ids.length > 0) {
                    ids.forEach(item => {
                       this.countMoney += item.money
                        this.countMoney += item.money
                        this.filedId.push(item.fileId)
                    })
                }
                this.checkAll = checkedCount === ids.length;
            },
            seeInvoice() {  //查看发票
              if(this.filedId.length == 0){
                alert("请至少选择一项")
              }else {
                let result =  this.filedId.join(",")
                let url = this.$systemconfig.basePath + '/fileInfo/download/downloadZips';
                let param = {
                  fileIds : result
                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对象
                        })
                    }
                }
                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); //释放掉blob对象
                })
              }
            },
          changeDate(){
              this.getByCarNo();
          }
            changeDate(){
                this.getByCarNo();
            }
        }
    }
</script>
<style lang="scss">
    .el-message-box{
        width: 80% !important;
    }
    .fapiao-btn{
        .el-checkbox{
          width: 100px!important;
            width: 100px!important;
        }
    }
@@ -267,82 +296,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 */;
    }
}
</style>