1
zhangxiaoxu123
2023-01-04 e01dc8708284e34fb86de1ad29d6b6ece949452c
src/components/page/invoice/invoiceForm.vue
@@ -1,77 +1,71 @@
<template>
    <div class="invoiceForm-wrap">
        <div v-if="isWeiXin ">
            <div class="title">订单发票</div>
            <div class="invoiceForm-main">
                <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 class="title">订单发票</div>
        <div class="invoiceForm-main">
            <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"
                >
                    <div v-for="(item,index) in invoiceData" :key="index">
                        <el-checkbox
                                v-model="item.isShow"
                                class="invoiceForm-block"
                                @change="handleCheckedCitiesChange(invoiceData)">
                            <div>
                                <div class="invoiceForm-content">
                                    <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                        <use xlink:href="#icon-shijian3"></use>
                                    </svg>
                                    {{item.enterTime}}
                                </div>
                                <div class="invoiceForm-content">
                                    <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                        <use xlink:href="#icon-shijian3"></use>
                                    </svg>
                                    {{item.outTime}}
                                </div>
                                <div class="invoiceForm-content">
                                    <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                        <use xlink:href="#icon-dizhi1"></use>
                                    </svg>
                                    {{item.address}}
                                </div>
                            </div>
                            <div class="money-main">
                                <h1 class="money-box">{{item.money}}<font class="money-small">元</font></h1>
                            </div>
                        </el-checkbox>
                    </div>
                    <van-list
                            v-model="loading"
                            :finished="finished"
                            finished-text="没有更多了"
                            :offset="50"
                            :immediate-check="false"
                            @load="onLoad"
                    >
                        <div v-for="(item,index) in invoiceData" :key="index">
                            <el-checkbox
                                    v-model="item.isShow"
                                    class="invoiceForm-block"
                                    @change="handleCheckedCitiesChange(invoiceData)">
                                <div>
                                    <div class="invoiceForm-content">
                                        <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                            <use xlink:href="#icon-shijian3"></use>
                                        </svg>
                                        {{item.enterTime}}
                                    </div>
                                    <div class="invoiceForm-content">
                                        <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                            <use xlink:href="#icon-shijian3"></use>
                                        </svg>
                                        {{item.outTime}}
                                    </div>
                                    <div class="invoiceForm-content">
                                        <svg class="iconSvg" style="font-size: 12px" aria-hidden="true">
                                            <use xlink:href="#icon-dizhi1"></use>
                                        </svg>
                                        {{item.address}}
                                    </div>
                                </div>
                                <div class="money-main">
                                    <h1 class="money-box">{{item.money}}<font class="money-small">元</font></h1>
                                </div>
                            </el-checkbox>
                        </div>
                    </van-list>
                    <div class="fapiao-btn">
                        <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
                        <div class="fapiao-right">
                            <span class="money">金额:<font class="big">{{countMoney}}</font>元</span>
                            <el-button size="mini" @click="seeInvoice">下载发票</el-button>
                        </div>
                </van-list>
                <div class="fapiao-btn">
                    <el-checkbox v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
                    <div class="fapiao-right">
                        <span class="money">金额:<font class="big">{{countMoney}}</font>元</span>
                        <el-button size="mini" @click="seeInvoice">下载发票</el-button>
                    </div>
                </div>
            </div>
        </div>
        <div class="middlePge-wrap" v-else>
            <div class="middlePge-main">
                <img src="../../../assets/images/middlePage.png" alt="">
            </div>
        </div>
    </div>
</template>
@@ -84,7 +78,6 @@
        },
        data() {
            return {
                isWeiXin: false,
                date:'',
                checkedInvoices: [1,2],
                invoiceData:[],
@@ -99,29 +92,12 @@
            }
        },
        created() {
            this.checkWeiXin()
            this.date = this.$byutil.dateFormat(new Date(), "yyyy-MM");
        },
        mounted() {
            this.getByCarNo()
        },
        methods: {
            checkWeiXin() {
                // let userAgent = navigator.userAgent;
                // console.log(userAgent)
                // if (userAgent.includes("MicroMessenger")) {
                //     this.isWeiXin = true
                // } else {
                //     this.isWeiXin = false
                // }
                let ua = window.navigator.userAgent.toLowerCase();
                //通过正则表达式匹配ua中是否含有MicroMessenger字符串
                if(ua.match(/MicroMessenger/i) == 'micromessenger'){
                    this.isWeiXin = true
                } else{
                    this.isWeiXin = false
                }
            },
            onLoad() {
                this.loading = true
                this.current += 1
@@ -188,14 +164,14 @@
                }else {
                    let url = this.$systemconfig.basePath + '/fileInfo/download/downloadPng';
                    this.filedId.forEach(item => {
                        console.log(item,'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')
                            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";
@@ -292,18 +268,6 @@
        .el-checkbox__inner::after{
            left: 5px;
            top: 2px;
        }
    }
    .middlePge-wrap{
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.7);
        .middlePge-main{
            width: 100%;
            height: 100%;
            img{
                width: 100%;
            }
        }
    }
    .iconSvg{