RuoYi
2025-03-01 537fc97695717b3db452ed52b1d4f7b475b393be
优化前端树结构性能问题
已修改1个文件
37 ■■■■ 文件已修改
src/utils/ruoyi.js 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/ruoyi.js
@@ -1,5 +1,3 @@
/**
 * 通用js方法封装处理
 * Copyright (c) 2019 ruoyi
@@ -86,7 +84,7 @@
  return actions.join('');
}
// 回显数据字典(字符串数组)
// 回显数据字典(字符串、数组)
export function selectDictLabels(datas, value, separator) {
  if (value === undefined || value.length ===0) {
    return "";
@@ -165,37 +163,19 @@
  };
  var childrenListMap = {};
  var nodeIds = {};
  var tree = [];
  for (let d of data) {
    let parentId = d[config.parentId];
    if (childrenListMap[parentId] == null) {
      childrenListMap[parentId] = [];
    }
    nodeIds[d[config.id]] = d;
    childrenListMap[parentId].push(d);
    let id = d[config.id];
    childrenListMap[id] = d;
  }
  for (let d of data) {
    let parentId = d[config.parentId];
    if (nodeIds[parentId] == null) {
    let parentId = d[config.parentId]
    let parentObj = childrenListMap[parentId]
    if (!parentObj) {
      tree.push(d);
    }
  }
  for (let t of tree) {
    adaptToChildrenList(t);
  }
  function adaptToChildrenList(o) {
    if (childrenListMap[o[config.id]] !== null) {
      o[config.childrenList] = childrenListMap[o[config.id]];
    }
    if (o[config.childrenList]) {
      for (let c of o[config.childrenList]) {
        adaptToChildrenList(c);
      }
    } else {
      parentObj[config.childrenList].push(d)
    }
  }
  return tree;
@@ -226,7 +206,6 @@
  }
  return result
}
// 返回项目路径
export function getNormalPath(p) {