Commit 966202ad authored by 朱彩云's avatar 朱彩云

fix(登陆): 登陆密码encodeuri

parent e1dd1f68
......@@ -4,62 +4,67 @@
export function arrToObj(arr) {
// 参数必须是一个数组
if (!Array.isArray(arr)) {
throw new Error("type err: arr 必须是一个数组");
throw new Error('type err: arr 必须是一个数组')
}
// 存放返回结果
const obj = {};
const obj = {}
arr.map((item) => {
obj[Object.keys(item)[0]] = item[Object.keys(item)[0]];
});
return obj;
obj[Object.keys(item)[0]] = item[Object.keys(item)[0]]
})
return obj
}
/*
* 文件流转换为url
* @params file 文件流
* @return url
*/
* 文件流转换为url
* @params file 文件流
* @return url
*/
export function getObjectURL(file) {
console.log(file)
let url = null;
if (window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if (window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
} else if (window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
}
return url;
let url = null
if (window.createObjectURL != undefined) {
// basic
url = window.createObjectURL(file)
} else if (window.webkitURL != undefined) {
// webkit or chrome
url = window.webkitURL.createObjectURL(file)
} else if (window.URL != undefined) {
// mozilla(firefox)
url = window.URL.createObjectURL(file)
}
return url
}
/**
* @description 文件下载(兼容IE)
* @param {Object} response options 接口响应的数据 包括文件流及保文信息
* @param {String} file_name 文件名称
* @returns {undefined} undefined
*/
export function downloadFile(response, file_name = "ExportFile") {
const fileType = response.headers["content-type"] || "application/pdf";
const disposition = response.headers["content-disposition"]
* @description 文件下载(兼容IE)
* @param {Object} response options 接口响应的数据 包括文件流及保文信息
* @param {String} file_name 文件名称
* @returns {undefined} undefined
*/
export function downloadFile(response, file_name = 'ExportFile') {
const fileType = response.headers['content-type'] || 'application/pdf'
const disposition = response.headers['content-disposition']
if (disposition) {
file_name = disposition.split("filename=")[1]
file_name = disposition.split('filename=')[1]
}
const blob = new Blob([response.data], { type: `${fileType};charset=utf-8` });
const blob = new Blob([response.data], { type: `${fileType};charset=utf-8` })
const ie = navigator.userAgent.match(/MSIE\s([\d.]+)/),
ie11 = navigator.userAgent.match(/Trident\/7.0/) && navigator.userAgent.match(/rv:11/),
ie11 =
navigator.userAgent.match(/Trident\/7.0/) &&
navigator.userAgent.match(/rv:11/),
ieEDGE = navigator.userAgent.match(/Edge/g),
ieVer = ie ? ie[1] : ie11 ? 11 : ieEDGE ? 12 : -1;
ieVer = ie ? ie[1] : ie11 ? 11 : ieEDGE ? 12 : -1
if (ie && ieVer < 10) {
this.message.error('No blobs on IE<10');
return;
this.message.error('No blobs on IE<10')
return
}
if (ieVer > -1) {
window.navigator.msSaveBlob(blob, file_name);
window.navigator.msSaveBlob(blob, file_name)
return {}
} else {
const url = window.URL.createObjectURL(blob);
const url = window.URL.createObjectURL(blob)
return {
url,
file_name
......@@ -70,17 +75,17 @@ export function downloadFile(response, file_name = "ExportFile") {
//导出excel
export function exportFile(res, file_name) {
let blob = new Blob([res.data], {
type:"application/vnd.ms-excel;charset=utf-8"
});
let url=window.URL.createObjectURL(blob);
let aLink=document.createElement("a");
aLink.style.display="none";
aLink.href=url;
aLink.setAttribute("download", file_name);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink);
window.URL.revokeObjectURL(url);
type: 'application/vnd.ms-excel;charset=utf-8'
})
let url = window.URL.createObjectURL(blob)
let aLink = document.createElement('a')
aLink.style.display = 'none'
aLink.href = url
aLink.setAttribute('download', file_name)
document.body.appendChild(aLink)
aLink.click()
document.body.removeChild(aLink)
window.URL.revokeObjectURL(url)
}
export const numValid = /^([1-9][0-9]*|0)([.][0-9]+)?$/
......@@ -88,13 +93,13 @@ export const numValid = /^([1-9][0-9]*|0)([.][0-9]+)?$/
// 对象转换成query字符串
export const toQuery = (params) => {
if (!params) {
return "";
return ''
}
let query = [];
let query = []
for (let i in params) {
query.push(`${i}=${params[i]}`);
query.push(`${i}=${encodeURIComponent(params[i])}`)
}
return query.join("&");
return query.join('&')
}
// 数值计算
export const accuracy = {
......@@ -103,104 +108,107 @@ export const accuracy = {
var t1 = 0,
t2 = 0,
r1,
r2;
r2
try {
t1 = arg1.toString().split('.')[1].length;
} catch(e) {
console.log(e);
t1 = arg1.toString().split('.')[1].length
} catch (e) {
console.log(e)
}
try {
t2 = arg2.toString().split('.')[1].length;
} catch(e) {
console.log(e);
t2 = arg2.toString().split('.')[1].length
} catch (e) {
console.log(e)
}
if(Math) {
r1 = Number(arg1.toString().replace('.', ''));
r2 = Number(arg2.toString().replace('.', ''));
return this.multiply(r1 / r2, Math.pow(10, t2 - t1));
if (Math) {
r1 = Number(arg1.toString().replace('.', ''))
r2 = Number(arg2.toString().replace('.', ''))
return this.multiply(r1 / r2, Math.pow(10, t2 - t1))
}
},
multiply(arg1, arg2) {
//乘法
var m = 0,
s1 = arg1.toString(),
s2 = arg2.toString();
s2 = arg2.toString()
try {
m += s1.split('.')[1].length;
} catch(e) {
m += s1.split('.')[1].length
} catch (e) {
console.log(e)
}
try {
m += s2.split('.')[1].length;
} catch(e) {
m += s2.split('.')[1].length
} catch (e) {
console.log(e)
}
return Number(s1.replace('.', '')) * Number(s2.replace('.', '')) / Math.pow(10, m);
return (
(Number(s1.replace('.', '')) * Number(s2.replace('.', ''))) /
Math.pow(10, m)
)
},
add(arg1, arg2) {
//加法
var r1, r2, m;
var r1, r2, m
try {
r1 = arg1.toString().split('.')[1].length;
} catch(e) {
r1 = 0;
r1 = arg1.toString().split('.')[1].length
} catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split('.')[1].length;
} catch(e) {
r2 = 0;
r2 = arg2.toString().split('.')[1].length
} catch (e) {
r2 = 0
}
m = Math.pow(10, Math.max(r1, r2));
m = Math.pow(10, Math.max(r1, r2))
console.log(this.multiply(arg1, m), this.multiply(arg2, m))
return(this.multiply(arg1, m) + this.multiply(arg2, m)) / m;
return (this.multiply(arg1, m) + this.multiply(arg2, m)) / m
},
subtract(arg1, arg2) {
//减法
var r1, r2, m, n;
var r1, r2, m, n
try {
r1 = arg1.toString().split('.')[1].length;
} catch(e) {
r1 = 0;
r1 = arg1.toString().split('.')[1].length
} catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split('.')[1].length;
} catch(e) {
r2 = 0;
r2 = arg2.toString().split('.')[1].length
} catch (e) {
r2 = 0
}
m = Math.pow(10, Math.max(r1, r2));
n = r1 >= r2 ? r1 : r2;
return((arg1 * m - arg2 * m) / m).toFixed(n);
m = Math.pow(10, Math.max(r1, r2))
n = r1 >= r2 ? r1 : r2
return ((arg1 * m - arg2 * m) / m).toFixed(n)
},
// 计算一个数组的总和
sum(arr) {
let result = 0;
arr.forEach(item => {
result = this.add(result, item);
let result = 0
arr.forEach((item) => {
result = this.add(result, item)
})
return result;
return result
},
// 计算一个数组的总和 fn是对每项数据的处理方式
sumBy(arr, fn) {
let result = 0;
arr.forEach(item => {
let val = item;
if(fn) {
let result = 0
arr.forEach((item) => {
let val = item
if (fn) {
val = fn(item)
}
result = this.add(result, val);
result = this.add(result, val)
})
return result;
return result
},
toCeil(num, p = 4) {
num = isNaN(num) ? 0 : num;
p = isNaN(p) ? 0 : p;
let precision = Math.pow(10, p);
return Math.ceil((num * precision).toFixed(1)) / precision;
num = isNaN(num) ? 0 : num
p = isNaN(p) ? 0 : p
let precision = Math.pow(10, p)
return Math.ceil((num * precision).toFixed(1)) / precision
},
toFloor(num, p = 4) {
num = isNaN(num) ? 0 : num;
p = isNaN(p) ? 0 : p;
let precision = Math.pow(10, p);
return Math.floor((num * precision).toFixed(1)) / precision;
num = isNaN(num) ? 0 : num
p = isNaN(p) ? 0 : p
let precision = Math.pow(10, p)
return Math.floor((num * precision).toFixed(1)) / precision
}
};
\ No newline at end of file
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment