From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期五, 14 二月 2025 10:08:32 +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