From e83dacb5066a86db29dbdc232218d8aba6adc95f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 02 八月 2024 13:34:04 +0800
Subject: [PATCH] #
---
zy-asrs-flow/src/utils/tree-util.js | 101 ++++++++++----------------------------------------
1 files changed, 21 insertions(+), 80 deletions(-)
diff --git a/zy-asrs-flow/src/utils/tree-util.js b/zy-asrs-flow/src/utils/tree-util.js
index 2af1e75..a64efff 100644
--- a/zy-asrs-flow/src/utils/tree-util.js
+++ b/zy-asrs-flow/src/utils/tree-util.js
@@ -1,86 +1,27 @@
-import { DataNode } from 'antd/es/tree';
-import { parse } from 'querystring';
-/**
- * 鏋勯�犳爲鍨嬬粨鏋勬暟鎹�
- * @param {*} data 鏁版嵁婧�
- * @param {*} id id瀛楁 榛樿 'id'
- * @param {*} parentId 鐖惰妭鐐瑰瓧娈� 榛樿 'parentId'
- * @param {*} children 瀛╁瓙鑺傜偣瀛楁 榛樿 'children'
- */
-export function buildTreeData(data, id, name, parentId, parentName, children) {
- const config = {
- id: id || 'id',
- name: name || 'name',
- parentId: parentId || 'parentId',
- parentName: parentName || 'parentName',
- childrenList: children || 'children',
- };
-
- const childrenListMap = [];
- const nodeIds = [];
- const tree = [];
- data.forEach((item) => {
- const d = item;
- const pId = d[config.parentId];
- if (!childrenListMap[pId]) {
- childrenListMap[pId] = [];
- }
- d.key = d[config.id];
- d.title = d[config.name];
- d.value = d[config.id];
- d[config.childrenList] = null;
- nodeIds[d[config.id]] = d;
- childrenListMap[pId].push(d);
- });
-
- data.forEach((item) => {
- const d = item;
- const pId = d[config.parentId];
- if (!nodeIds[pId]) {
- d[config.parentName] = '';
- tree.push(d);
- }
- });
-
- function adaptToChildrenList(item) {
- const o = item;
- if (childrenListMap[o[config.id]]) {
- if (!o[config.childrenList]) {
- o[config.childrenList] = [];
- }
- o[config.childrenList] = childrenListMap[o[config.id]];
- }
- if (o[config.childrenList]) {
- o[config.childrenList].forEach((child) => {
- const c = child;
- c[config.parentName] = o[config.name];
- adaptToChildrenList(c);
- });
- }
- }
-
- tree.forEach((t) => {
- adaptToChildrenList(t);
- });
-
- return tree;
-}
-
-export const getPageQuery = () => parse(window.location.href.split('?')[1]);
-
-export function formatTreeData(arrayList) {
- const treeSelectData = arrayList.map((item) => {
- const node = {
- id: item.id,
- title: item.label,
- key: `${item.id}`,
+export function transformTreeData(originalData) {
+ return originalData.map(item => {
+ let newItem = {
+ key: item.id,
+ title: item.name,
value: item.id,
+ // 鍏跺畠闇�瑕佺殑灞炴��...
};
- if (item.children) {
- node.children = formatTreeData(item.children);
+ if (item.children && item.children.length > 0) {
+ newItem.children = transformTreeData(item.children);
}
- return node;
+
+ return newItem;
});
- return treeSelectData;
}
+
+export function getTreeAllKeys(data) {
+ let keys = [];
+ for (let item of data) {
+ keys.push(item.key);
+ if (item.children) {
+ keys = keys.concat(getTreeAllKeys(item.children));
+ }
+ }
+ return keys;
+}
\ No newline at end of file
--
Gitblit v1.9.1