Files
frost-navigation/src/assets/js/utils.js
2021-02-06 23:36:46 +08:00

69 lines
1.6 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 { Loading } from 'element-ui';
class Utils {
constructor() { }
/**
* 初始化链接列表设置唯一ID
*/
initNavLinkID() {
// 加载中提示
var loading = Loading.service({
customClass: 'loading-link',
lock: true,
spinner: 'el-icon-loading',
text: '载入中,请稍候'
});
var currentIndex = 0;
var currentIndexCpy = 0;
var fn = (obj) => {
currentIndex += 1;
obj.id = currentIndex;
// 有链接,无子路径
if (obj.links != undefined && obj.sub === undefined) {
obj.sub = [];
}
// 递归
if (obj.links != undefined) {
obj.links.forEach(item => {
// 添加到子路径(适配 Element UI - Tree
obj.sub.push(item);
});
}
// 递归
if (obj.sub != undefined) {
obj.sub.forEach(item => {
setTimeout(() => {
fn(item);
}, 0);
});
}
};
// 检测 currentIndex 是否已停止变化
var timer = setInterval(() => {
if (currentIndex == currentIndexCpy) {
clearInterval(timer);
// 加载中提示
loading.close();
}
// 同步
currentIndexCpy = currentIndex;
}, 1000);
return fn;
}
}
const utils = new Utils;
export default utils;