树图构建组织结构--主动构建value

描述:当前是关于Echarts图表中的 矩形树图 示例。
 
            var struct_colors = [
    '#ed6f6d', '#f3765d', '#f77a57', '#f98866', '#f99579',
    '#ff9f3b', '#f0a732', '#e6a840', '#e9b253', '#ebbb66',
    '#78b7e8', '#59b1f3', '#66bbf5', '#6ec3f2', '#75cae2',
    '#70cccc', '#5dc4c4', '#4dbebd', '#4cc1a7', '#4fca96',
    '#4cc686'
];
RICH = {
    name: {
        color: '#fff',
        fontSize: 24
    },
    basic: {
        color: '#fff',
        fontSize: 8,
        lineHeight: 16

    }
};
var info2 = {
    'children': [{
        'asset_num': 0,
        'name': '一级结构',
        'manage': 'liang-01',
    }, {
        'asset_num': 42,
        'name': 'fds-------test--------------------------yy----',
        'manage': 'liang-01',
    }, {
        'children': [{
            'name': '二级组织结构-1',
            'asset_num': 20,
            'manage': 'liang-01',
        }, {
            'name': '二级组织结构-2',
            'asset_num': 20,
            'manage': 'liang-01',
        }, {
            'children': [{
                'name': '三级-1',
                'asset_num': 10,
                'manage': 'liang-01',
            }, {
                'name': '三级-2',
                'asset_num': 20,
                'manage': 'liang-01',
            }],
            'name': '二级-03',
            'manage': 'liang-02',
        }],
        'asset_num': 10,
        'name': 'has children',
        'manage': 'liang-01',
    }, {
        'name': 'fds no children',
        'asset_num': 100,
        'manage': 'liang-01',
        // 'color': struct_colors[index],
    }]
};
var structs_datas = [];
var formatUtil = echarts.format;

function format_struct_data(children, structs_datas) {
    // 添加每个单位的颜色
    for (var prop in children) {
        var index = Math.floor(Math.random() * 20);
        var value = 1;
        if (children[prop].asset_num !== 0) {
            value = children[prop].asset_num;
        }
        var tmp = {
            itemStyle: {
                normal: {
                    color: struct_colors[index]
                }
            },
            name: children[prop].name,
            manage: children[prop].manage,
            children: [],
            asset_num: children[prop].asset_num,
            value: value
        }
        format_struct_data(children[prop].children, tmp.children);
        if (tmp.children.length === 0) {
            delete tmp.children;
        }
        structs_datas.push(tmp);
        // return structs_datas;

    }

}

function showMenu(param) {
    // 可在此处添加右击操作内容
    console.log('showMenu==============', param);
    var event = param.event;
    var pageX = event.offsetX;
    var pageY = event.offsetY;
    console.log('showMenu========', pageX, pageY);

}
format_struct_data(info2.children, structs_datas);
myChart.setOption(option = {
    title: {
        text: '树图构建组织结构',
        subtext: '2017/07 by liang',
        left: 'leafDepth'
    },
    tooltip: {

        formatter: function(info) {
            console.log('tool------', info);
            var asset_num = info.data.asset_num;
            var name = info.name;
            return [
                '<h4>' + name + '</>',
                '<div>资产数量:' + asset_num + '</>',
            ].join('\n');
            // return [
            //     '{name|' + name + '}',
            //     '{basic| 资产数量:' + asset_num + '}',
            // ].join('\n');
        },
        // rich: RICH, tooltip不支持富文本

    },

    series: [{
        name: 'org',
        type: 'treemap',
        visibleMin: 300,
        // data: format_struct_data(info2.children, structs_datas),
        data: structs_datas,
        leafDepth: 1,
        label: {
            normal: {
                show: true,
                position: 'insideTopLeft',
                formatter: function(a) {
                    console.log('formatter==label=======', a);
                    return '{name|' + a.name + '}' + "\n\n" + "{basic|资产数量 : " + a.data.asset_num + '}' + "\n" + '{basic|管理员 : ' + a.data.manage + '}';
                    // return [
                    //     '<div><h1>' + a.name + '</h1></div>',
                    //     '<div><p>' + a.value + '</></div>',
                    // ].join('');
                },
                textStyle: {
                    // color: '',  label的字体颜色
                    fontSize: '14',
                    fontWeight: 'bold'
                },
                rich: RICH,

            },
            // emphasis: {
            //     show: true,
            //     position: 'insideTopLeft',
            //     formatter: function(a) {
            //         console.log('formatter===label======', a);
            //         return a.name + "\n\n" + "资产数量 : " + a.data.value + "\n等级得分";
            //     },
            //     textStyle: {
            //         fontSize: '14',
            //         fontWeight: 'bold'
            //     }
            // }
        },
        levels: [{
            itemStyle: {
                normal: {
                    borderWidth: 0,
                    gapWidth: 2
                }
            }
        }, {
            itemStyle: {
                normal: {
                    gapWidth: 2
                }
            }
        }, {
            // colorSaturation: [0.35, 0.5],
            itemStyle: {
                normal: {
                    gapWidth: 2,
                    // borderColorSaturation: 0.6
                }
            }
        }],
        breadcrumb: {
            show: true,
            // "height": 22,
            left: "10%",
            top: "93%",
            emptyItemWidth: 25,
            itemStyle: {
                normal: {
                    color: "#fff",
                    borderColor: "rgba(255,255,255,0.7)",
                    borderWidth: 1,
                    shadowColor: "rgba(150,150,150,1)",
                    shadowBlur: 3,
                    shadowOffsetX: 0,
                    shadowOffsetY: 0,
                    textStyle: {
                        color: "#000",
                        fontWeight: 'bold'
                    }
                },
                emphasis: {
                    textStyle: {}
                }
            }
        },
    }]
});

document.oncontextmenu = function() {
    return false;
};
myChart.on('contextmenu', showMenu);