|
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 !== 'supervisor'
|
) {
|
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() : '';
|
// 正则替换存在的转义符
|
url = url.replace(/\\/g, '');
|
url = window.location.protocol === 'https:' ? url.replace('http://', 'https://') : url;
|
if (url.startsWith('src="')) {
|
url = url.replaceAll('src="', '');
|
}
|
if (url.startsWith('//img') && window.location.protocol === 'https:') {
|
url = url.replace('//img', 'https://img');
|
}
|
return url;
|
}
|
|
// 过滤富文本中的 img 相对路径访问
|
export function replaceImgSrcHttps(content) {
|
return content.replaceAll('src="//', 'src="https://');
|
}
|
|
/**
|
*计算table固定高度
|
*/
|
export function getTableHeight(height) {
|
let windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
|
let herderHeight = 100;
|
let footerHeight = 93;
|
return windowHeight - herderHeight - footerHeight - height;
|
}
|