| | |
| | | |
| | | |
| | | /** |
| | | * 通用js方法封装处理 |
| | | * Copyright (c) 2019 ruoyi |
| | |
| | | }; |
| | | |
| | | 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; |
| | |
| | | return result |
| | | } |
| | | |
| | | // 返回项目路径 |
| | | export function getNormalPath(p) { |
| | | if (p.length === 0 || !p || p == 'undefined') { |
| | | return p |
| | | }; |
| | | let res = p.replace('//', '/') |
| | | if (res[res.length - 1] === '/') { |
| | | return res.slice(0, res.length - 1) |
| | | } |
| | | return res |
| | | } |
| | | |
| | | // 验证是否为blob格式 |
| | | export function blobValidate(data) { |
| | | return data.type !== 'application/json' |