Files
crmeb_java/admin/src/utils/ZBKJIutil.js
guaishoudemao c9b86697c3 更新代码
2021-02-06 16:42:26 +08:00

90 lines
2.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import store from '@/store'
/**
* 根据需求过滤掉treeData中的child.length === 0的数据
* @param treeData
* @returns {Uint8Array | BigInt64Array | any[] | Float64Array | Int8Array | Float32Array | Int32Array | Uint32Array | Uint8ClampedArray | BigUint64Array | Int16Array | Uint16Array}
*/
export function clearTreeData(treeData) {
return treeData.map((item) => {
if (item.child.length === 0) {
delete item.child
} else {
clearTreeData(item.child)
}
return item
})
}
export function addTreeListLabel(treeData) { // 因树形控件在slot-scope模式下显示字段只能为label为此自定义添加label字段和child=children
return treeData.map((item) => {
if ((item.name === '设置' || item.name === '管理员列表' ||
item.name === '身份管理' || item.name === '管理权限' ||
item.name === '管理员列表' || item.name === '权限规则') && store.getters.name !== 'admin') {
item.disabled = true
}
item.label = item.name
return item
})
}
export function addTreeListLabelForCasCard(treeData, child) {
treeData.map((item) => {
if ((item.name === '设置' || item.name === '管理员列表' ||
item.name === '身份管理' || item.name === '管理权限' ||
item.name === '管理员列表' || item.name === '权限规则') && store.getters.name !== 'admin') {
item.disabled = true
}
item.label = item.name
return item
})
}
//加法函数,用来得到精确的加法结果
//说明javascript的加法结果会有误差在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。
//调用:$h.Add(arg1,arg2)
//返回值arg1加上arg2的精确结果
export function Add(arg1, arg2) {
arg2 = parseFloat(arg2);
var r1, r2, m;
try {
r1 = arg1.toString().split(".")[1].length
} catch (e) {
r1 = 0
}
try {
r2 = arg2.toString().split(".")[1].length
} catch (e) {
r2 = 0
}
m = Math.pow(100, Math.max(r1, r2));
return (this.Mul(arg1, m) + this.Mul(arg2, m)) / m;
}
//乘法函数,用来得到精确的乘法结果
//说明javascript的乘法结果会有误差在两个浮点数相乘的时候会比较明显。这个函数返回较为精确的乘法结果。
//调用:$h.Mul(arg1,arg2)
//返回值arg1乘以arg2的精确结果
export function Mul(arg1, arg2) {
arg1 = parseFloat(arg1);
arg2 = parseFloat(arg2);
var m = 0,
s1 = arg1.toString(),
s2 = arg2.toString();
try {
m += s1.split(".")[1].length
} catch (e) {}
try {
m += s2.split(".")[1].length
} catch (e) {}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
}
//替换安全域名
export function setDomain(url) {
url = url ? url.toString() : '';
//本地调试打开,生产请注销
if (url.indexOf("https://") > -1) return url;
else return url.replace('http://', 'https://');
}