zhaoxiaoqiang
2023-09-01 ecad399599cc91ebd70e2ed45262ca1579cbf9d2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
 * @Author: 小明丶
 * @Date: 2019-10-25 10:17:56
 * @LastEditors: zhaoxiaoqiang 287285524@qq.com
 * @LastEditTime: 2023-09-01 10:34:18
 * @Description: 
 */
/**
 * 作者:c.k
 * 文件说明:
 * Creeated by c.k on 2018/2/7
 *
 */
import dateForm from './date'
 
export default {
    /**
     * excel 文件下载参数配置
     * @param data    参数
     * @param apiuURL  访问地址
     * @returns {[null,null]}
     */
    configDate: function(res, parFilename, from) {
        console.log(res)
        // console.log(parFilename)
        let fileNamet =/\.{1}[A-Za-z]{1,}$/.exec(res.headers['content-disposition'])
        let blob = new Blob([res.data], {
            type: 'application/vnd.ms-excel'
        });
        let fileName = '';
        let prefix = fileNamet[0];
        if(parFilename==undefined&& from !== 'overDay'){
            fileName = dateForm(new Date(), 'YYYY-MM-DD') + prefix;
        }
        if (parFilename != undefined && from !== 'overDay') {
            fileName = parFilename + '_' + dateForm(new Date(), 'YYYYMMDDHHssmm') + prefix;
        }
        if (parFilename != undefined && from === 'overDay') {
            fileName = `${parFilename}_${dateForm((dateForm(new Date()) - 24*60*60*1000), 'YYYYMMDD')}${prefix}`
            console.log(fileName)
        }
        //        let fileName = res.headers['content-disposition'].match(/fushun(\S*)xls/)[0];
        function downFile(blob, fileName) {
            if (window.navigator.msSaveOrOpenBlob) {
                navigator.msSaveBlob(blob, fileName);
                console.log(1)
            } else {
                console.log(2)
                // let objectUrl = URL.createObjectURL(blob);
                // window.location.href = objectUrl;
                let link = document.createElement('a');
                link.href = window.URL.createObjectURL(blob);
                link.download = fileName;
                // appendChild这个是为了解决火狐浏览器下载的兼容问题,火狐必须append到html中
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
                window.URL.revokeObjectURL(link.href);
            }
        }
 
        downFile(blob, fileName);
    },
    configDate2: function(res, parFilename, from) {
        // let fileNamet =/\.{1}[A-Za-z]{1,}$/.exec(res.headers['content-disposition']);
        let blob = new Blob([res.data], {type: 'application/vnd.ms-excel'});
        let fileName = parFilename?parFilename:"";
        function downFile(blob, fileName) {
            // console.log(blob)
            if (window.navigator.msSaveOrOpenBlob) {
                navigator.msSaveBlob(blob, fileName);
            } else {
                let link = document.createElement('a');
                link.href = window.URL.createObjectURL(blob);
                link.download = fileName;
                // appendChild这个是为了解决火狐浏览器下载的兼容问题,火狐必须append到html中
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
                window.URL.revokeObjectURL(link.href);
            }
        }
 
        downFile(blob, fileName);
    },
    configDate3: function(res, parFilename, from) {
        console.log(parFilename,123123)
        let blob = new Blob([res], {
            type: 'application/zip'
        });
        let fileName = '';
        let prefix = '.zip';
        if (parFilename != undefined && from !== 'overDay') {
            fileName = parFilename + '_' + dateForm(new Date(), 'YYYYMMDDHHssmm') + prefix;
        }
        if (parFilename != undefined && from === 'overDay') {
            fileName = `${parFilename}_${dateForm((dateForm(new Date()) - 24*60*60*1000), 'YYYYMMDD')}${prefix}`
            console.log(fileName)
        }
        //        let fileName = res.headers['content-disposition'].match(/fushun(\S*)xls/)[0];
        function downFile(blob, fileName) {
            if (window.navigator.msSaveOrOpenBlob) {
                navigator.msSaveBlob(blob, fileName);
                console.log(1)
            } else {
                console.log(2)
                // let objectUrl = URL.createObjectURL(blob);
                // window.location.href = objectUrl;
                let link = document.createElement('a');
                link.href = window.URL.createObjectURL(blob);
                link.download = fileName;
                // appendChild这个是为了解决火狐浏览器下载的兼容问题,火狐必须append到html中
                document.body.appendChild(link);
                link.click();
                document.body.removeChild(link);
                window.URL.revokeObjectURL(link.href);
            }
        }
 
        downFile(blob, fileName);
    },
    downexcelModel:function(url,name) {
        var a = document.createElement("a"); //页面上创建一个标签
        var str = process.env.NODE_ENV == "development" ? "t.finlean.com" : window.location.host
        a.style.display = "none";
        a.setAttribute("href",`https://${str}${url}`);
        a.setAttribute("download", name); //设置a 标签的download 属性,并限定下载文件名。
        a.click(); //出发a点击事件,下载文件
    }
}