月球大数据地理空间分析展示平台-【中台】
Surpriseplus
2023-08-29 968394a4f9885e7df2a4af4b5b35af070975f4b6
src/utils/treeData.js
@@ -74,65 +74,80 @@
            std.push(dir);
        }
    }
    var str = [];
    for (var i in std) {
        let dir = std[i].split('/');
        for (var j = 1; j < dir.length; j++) {
            if (j == 1) {
                var clabel = dir[0] + "/" + dir[j]
                let f_val = res.filter((rs) => {
                    if (rs.label === dir[j - 1]) {
                        return rs;
        if (dir.length > 1) {
            for (var j = 1; j < dir.length; j++) {
                if (j == 1) {
                    var clabel = dir[0] + "/" + dir[j]
                    let f_val = res.filter((rs) => {
                        if (rs.label === dir[j - 1]) {
                            return rs;
                        }
                    })
                    var c_Data = str.filter(rs => {
                        if (rs.bak == clabel) {
                            return rs;
                        }
                    })
                    if (f_val.length != 0 && c_Data.length == 0) {
                        num++;
                        var val = {
                            id: num,
                            pid: f_val[0].id,
                            label: dir[j],
                            bak: clabel
                        }
                        str.push(val)
                    }
                })
                var c_Data = str.filter(rs => {
                    if (rs.bak == clabel) {
                        return rs;
                    }
                })
                if (f_val.length != 0 && c_Data.length == 0) {
                    num++;
                    var val = {
                        id: num,
                        pid: f_val[0].id,
                        label: dir[j],
                        bak: clabel
                    }
                    str.push(val)
                }
            } else {
                var clabel1 = dir[0]
                for (var k = 1; k < j; k++) {
                    clabel1 = clabel1 + "/" + dir[k];
                }
                var f_val = [];
                for (var w in str) {
                    if (str[w].label == dir[j - 1]) {
                        if (str[w].bak == clabel1) {
                            f_val.push(str[w])
                } else {
                    var clabel1 = dir[0]
                    for (var k = 1; k < j; k++) {
                        clabel1 = clabel1 + "/" + dir[k];
                    }
                    var f_val = [];
                    for (var w in str) {
                        if (str[w].label == dir[j - 1]) {
                            if (str[w].bak == clabel1) {
                                f_val.push(str[w])
                            }
                        }
                    }
                }
                var clabel2 = clabel1 + "/" + dir[j]
                var c_Data = str.filter(rs => {
                    if (rs.bak == clabel2) {
                        return rs;
                    var clabel2 = clabel1 + "/" + dir[j]
                    var c_Data = str.filter(rs => {
                        if (rs.bak == clabel2) {
                            return rs;
                        }
                    })
                    if (f_val.length != 0 && c_Data.length == 0) {
                        num++;
                        var val = {
                            id: num,
                            pid: f_val[0].id,
                            label: dir[j],
                            bak: clabel2
                        }
                        str.push(val)
                    }
                })
                if (f_val.length != 0 && c_Data.length == 0) {
                    num++;
                    var val = {
                        id: num,
                        pid: f_val[0].id,
                        label: dir[j],
                        bak: clabel2
                    }
                    str.push(val)
                }
            }
        } else {
            num++;
            var val = {
                id: num,
                pid: -1,
                label: dir[0],
                bak: dir[0]
            }
            str.push(val)
        }
    }
    return str
@@ -146,25 +161,32 @@
    var str = [];
    for (var i in result) {
        var dir = result[i].bak.split('/');
        var f_filter = dataFilter(std, dir[0]);
        if (f_filter.length == 0) {
            std.push(dir[0])
            num++
            str.push({
                id: num,
                pid: -1,
                label: dir[0]
            })
        if (dir.length > 1) {
            var f_filter = dataFilter(std, dir[0]);
            if (f_filter.length == 0) {
                std.push(dir[0])
                num++
                str.push({
                    id: num,
                    pid: -1,
                    label: dir[0]
                })
            }
        }
    }
    return str;
}
//遍历匹配获取数据
function dataFilter(result, bak) {
    let val = result.filter(res => {
        if (res == bak) {
            return res;
        }
    })
    return val;
}