luobisheng
2022-11-29 4641a877cd6a94e4d35dca7f7f14bc1443e2d2ad
src/utils/helper.js
@@ -2,7 +2,7 @@
// 深拷贝
export function deepClone(obj) {
    let objClone = Array.isArray(obj) ? [] : {};
    if (obj && typeof obj === 'object' && obj != null) {
    if (obj && typeof obj === 'object') {
        for (let key in obj) {
            if (obj.hasOwnProperty(key)) {
                if (obj[key] && typeof obj[key] === 'object') {
@@ -33,30 +33,38 @@
        })
    return arr;
}
export async function myDownLoad(arr){
    let fileName = arr.headers['content-disposition'];
            console.log(fileName);
            if (fileName) {
                fileName = fileName.slice(fileName.indexOf('filename=') + 9);
            }
            const blob = new Blob([arr.data], {
                type: 'application/octet-stream'
            })
            // content-disposition
            const downloadElement = document.createElement('a')
            // 创建下载的链接
            const href = window.URL.createObjectURL(blob)
            downloadElement.href = href
            // // 下载后文件名
            downloadElement.download = fileName
            document.body.appendChild(downloadElement)
            // 点击下载
            downloadElement.click()
            // 下载完成移除元素
            document.body.removeChild(downloadElement)
            // 释放掉blob对象
            window.URL.revokeObjectURL(href)
// 获取字典表2
export async function getCodeList(code){
    let arr;
    await myrequest({
        method: 'get',
        url: `/sccg/dict/queryByCode?code=${code}`
    })
        .then(res => {
            arr = res.data;
        })
    return arr;
}
// data: 文件, contentDisposition:请求头中文件的名字
// 默认不用修改,直接将返回的res传入即可
export function downloadFile(res) {
    const blob = new Blob([res.data], { type: 'application/octet-stream' });
    const fileName = res.contentDisposition.split(`''`)[1];
    if (window.navigator && window.navigator.msSaveBlob) {
        window.navigator.msSaveBlob(blob, fileName);
    } else {
        const link = document.createElement('a');
        link.style.display = 'none';
        link.href = window.URL.createObjectURL(blob);
        link.download = decodeURI(fileName);
        document.body.appendChild(link);
        link.click();
        window.URL.revokeObjectURL(link.href);
        document.body.removeChild(link);
    }
}
// 获取token
export function getToken() {
    const token = sessionStorage.getItem('token');
@@ -64,7 +72,17 @@
    if (token && tokenHead) {
        return tokenHead + token;
    }
    return;
}
// 获取年月日时分秒
export function getNowDate(time){
    const result = new Date(time);
    let yy = result.getFullYear(),
    mm = result.getMonth()+1,
    dd = result.getDate(),
    hh = result.getHours(),
    mi = result.getMinutes(),
    ss = result.getSeconds()
    return yy+'-'+ fillTime(mm)+'-'+fillTime(dd)+" "+fillTime(hh)+':'+fillTime(mi) + ':' + fillTime(ss);
}
function filterTime(time) {
    if (time < 0) {
@@ -102,3 +120,18 @@
    }
    return str + '分钟'
}
export const EVENT_SOURCE = [
    { label: '视频抓拍', value: 1 },
    { label: '手动登记', value: 2 }
]
export const CATEGOTY = [
    { label: '违规', value: 1 },
    { label: '违建', value: 2 }
]
export const RESOURCE_TYPE = [
    { label: '上报', value: '01' },
    { label: '处置', value: '02' }
]