2024-09-27 17:52:34 +08:00
|
|
|
|
import { Space } from 'antd';
|
|
|
|
|
|
import one from '../../../assets/img/u0.png'
|
|
|
|
|
|
// const one = `${process.env.PUBLIC_URL}/assets/img/u0.png`;
|
|
|
|
|
|
console.log(one);
|
|
|
|
|
|
|
2024-09-26 17:59:26 +08:00
|
|
|
|
const getBackground = () => {
|
|
|
|
|
|
return {
|
|
|
|
|
|
type: 'linear',
|
|
|
|
|
|
x: 0,
|
|
|
|
|
|
y: 0,
|
|
|
|
|
|
x2: 0,
|
|
|
|
|
|
y2: 1,
|
|
|
|
|
|
colorStops: [{
|
|
|
|
|
|
offset: 0, color: '#ffffff' // 0% 处的颜色
|
|
|
|
|
|
}, {
|
|
|
|
|
|
offset: 0.5, color: 'blue' // 100% 处的颜色
|
|
|
|
|
|
}, {
|
|
|
|
|
|
offset: 1, color: '#ffffff' // 100% 处的颜色
|
|
|
|
|
|
}],
|
|
|
|
|
|
global: false // 缺省为 false
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
const data = {
|
|
|
|
|
|
name: '销售部',
|
|
|
|
|
|
children: [{
|
|
|
|
|
|
name: '销售一部',
|
|
|
|
|
|
children: [{
|
|
|
|
|
|
name: '任务名称1',
|
|
|
|
|
|
itemStyle: { color: "#ff9800" },
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称2',
|
|
|
|
|
|
itemStyle: { color: "#4d8dd9" },
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称3',
|
|
|
|
|
|
itemStyle: { color: "#22b07b" },
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称4'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称5'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称6'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称7'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务名称8'
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '销售二部',
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '销售三部',
|
|
|
|
|
|
children: [{
|
|
|
|
|
|
name: '任务3-1'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务3-2'
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '销售四部',
|
|
|
|
|
|
children: [{
|
|
|
|
|
|
name: '任务4-1'
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
name: '任务4-2'
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
}
|
2024-09-23 13:49:58 +08:00
|
|
|
|
export default function jgOption() {
|
|
|
|
|
|
return {
|
2024-09-26 17:59:26 +08:00
|
|
|
|
tooltip: {
|
|
|
|
|
|
trigger: 'item',
|
|
|
|
|
|
triggerOn: 'mousemove'
|
|
|
|
|
|
},
|
|
|
|
|
|
series: [{
|
|
|
|
|
|
type: 'tree',
|
|
|
|
|
|
id: 0,
|
|
|
|
|
|
name: 'tree1',
|
|
|
|
|
|
data: [data],
|
|
|
|
|
|
top: '10%',
|
|
|
|
|
|
left: '10%',
|
|
|
|
|
|
bottom: '20%',
|
|
|
|
|
|
right: '10%',
|
|
|
|
|
|
avoidLabelOverlap: true,//防止标签重叠
|
|
|
|
|
|
roam: true, //移动+缩放 'scale' 或 'zoom':只能够缩放。 'move' 或 'pan':只能够平移。
|
|
|
|
|
|
scaleLimit:{ //缩放比例
|
|
|
|
|
|
min:0.7,//最小的缩放值
|
|
|
|
|
|
max:4,//最大的缩放值
|
|
|
|
|
|
},
|
|
|
|
|
|
layout: 'orthogonal',//树图布局,orthogonal水平垂直方向,radial径向布局 是指以根节点为圆心,每一层节点为环,一层层向外
|
|
|
|
|
|
orient: 'TB', //树形方向 TB为上下结构 LR为左右结构
|
|
|
|
|
|
// nodePadding: 100,//结点间距 (发现没用)
|
|
|
|
|
|
//layerPadding: 30,//连接线长度 (发现没用)
|
|
|
|
|
|
symbol: 'circle', //图形形状 rect方形 roundRect圆角 emptyCircle圆形 circle实心圆
|
|
|
|
|
|
symbolSize: 14, //状态大小
|
2024-09-27 17:52:34 +08:00
|
|
|
|
symbol: function(value, params) {
|
|
|
|
|
|
console.log("params", value, params);
|
|
|
|
|
|
// params.data节点的所有数据
|
|
|
|
|
|
|
|
|
|
|
|
return "image://" + require("../../../assets/img/u0.png");
|
|
|
|
|
|
},
|
2024-09-26 17:59:26 +08:00
|
|
|
|
edgeShape: 'polyline', //线条类型 curve曲线
|
|
|
|
|
|
initialTreeDepth: 1, //初始展开的层级
|
|
|
|
|
|
expandAndCollapse: true,//子树折叠和展开的交互,默认打开
|
|
|
|
|
|
lineStyle: {//结构线条样式
|
|
|
|
|
|
width: 0.7,
|
|
|
|
|
|
color: '#1E9FFF',
|
|
|
|
|
|
type: 'broken'
|
|
|
|
|
|
},
|
|
|
|
|
|
label: {
|
|
|
|
|
|
// 每个节点对应的文本标签样式
|
|
|
|
|
|
show: true, // 是否显示标签
|
|
|
|
|
|
distance: 8, // 文本距离图形元素的距离
|
|
|
|
|
|
position: ['50%', '50%'], // 标签位置
|
|
|
|
|
|
verticalAlign: 'middle', // 文字垂直对齐方式,默认自动,top,middle,bottom
|
|
|
|
|
|
align: 'center', // 文字水平对齐方式,默认自动,left,right,center
|
|
|
|
|
|
fontSize: 16, // 字体大小
|
|
|
|
|
|
color: '#333', // 字体颜色
|
|
|
|
|
|
// color: 'red', // 字体颜色
|
|
|
|
|
|
backgroundColor: '#F8F9FA', // 文字块的背景颜色
|
|
|
|
|
|
borderColor: '#CED4DA', // 文字块边框颜色
|
|
|
|
|
|
borderWidth: 1, // 文字块边框宽度
|
|
|
|
|
|
borderType: 'solid', // 文字块边框描边类型 solid dashed dotted
|
|
|
|
|
|
borderRadius: 2, // 文字块的圆角
|
2024-09-27 17:52:34 +08:00
|
|
|
|
padding: [0,0,0, 0], // 文字块内边距
|
2024-09-26 17:59:26 +08:00
|
|
|
|
shadowColor: 'rgba(0,121,221,0.3)', // 文字块的背景阴影颜色
|
|
|
|
|
|
shadowBlur: 6, // 文字块的背景阴影长度
|
|
|
|
|
|
formatter: (params) => {
|
2024-09-27 17:52:34 +08:00
|
|
|
|
let t = params.data.name
|
|
|
|
|
|
|
|
|
|
|
|
let str = [`{name|}${t}`].join('\n')
|
2024-09-26 17:59:26 +08:00
|
|
|
|
return str
|
2024-09-23 13:49:58 +08:00
|
|
|
|
},
|
2024-09-26 17:59:26 +08:00
|
|
|
|
rich: {
|
2024-09-27 17:52:34 +08:00
|
|
|
|
b:{
|
|
|
|
|
|
fontSize: 14,
|
|
|
|
|
|
},
|
2024-09-26 17:59:26 +08:00
|
|
|
|
name: {
|
2024-09-27 17:52:34 +08:00
|
|
|
|
fontSize: 14,
|
|
|
|
|
|
padding:[0,0,0,5],
|
|
|
|
|
|
backgroundColor:{
|
|
|
|
|
|
image:one,
|
|
|
|
|
|
},
|
2024-09-26 17:59:26 +08:00
|
|
|
|
},
|
|
|
|
|
|
current: {
|
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
|
padding: 0,
|
|
|
|
|
|
color: '#07CA42',
|
|
|
|
|
|
fontWeight: 600,
|
|
|
|
|
|
backgroundColor: '#E5F7EA',
|
|
|
|
|
|
borderRadius: 2
|
2024-09-23 13:49:58 +08:00
|
|
|
|
},
|
2024-09-26 17:59:26 +08:00
|
|
|
|
main: {
|
|
|
|
|
|
color: '#0780ED',
|
|
|
|
|
|
fontSize: 12,
|
|
|
|
|
|
padding: 0,
|
|
|
|
|
|
fontWeight: 600,
|
|
|
|
|
|
backgroundColor: '#E6F2FD',
|
|
|
|
|
|
borderRadius: 2
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
leaves: { //叶子节点文本样式
|
|
|
|
|
|
label: {
|
|
|
|
|
|
//backgroundColor: '#81c5f7',
|
|
|
|
|
|
backgroundColor: '#fff',
|
|
|
|
|
|
color:'#333',
|
|
|
|
|
|
position: 'bottom',
|
|
|
|
|
|
rotate: 0,//标签旋转。
|
|
|
|
|
|
verticalAlign: 'middle',
|
|
|
|
|
|
align: 'center',
|
|
|
|
|
|
//文本框内文字超过6个字折行
|
|
|
|
|
|
/* formatter: function(val) {
|
|
|
|
|
|
let strs = val.name.split(''); //字符串数组
|
|
|
|
|
|
let str = ''
|
|
|
|
|
|
for(let i = 0, s; s = strs[i++];) { //遍历字符串数组
|
|
|
|
|
|
str += s;
|
|
|
|
|
|
if(!(i % 6)) str += '\n'; //按需要求余,目前是一个字换一行
|
|
|
|
|
|
}
|
|
|
|
|
|
return str
|
|
|
|
|
|
}, */
|
|
|
|
|
|
//或者
|
|
|
|
|
|
overflow:'break',//break为文字折行, truncate为文字超出部分省略号显示
|
|
|
|
|
|
lineOverflow:'truncate',//文字超出高度后 直接截取
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
expandAndCollapse: true, //默认展开树形结构
|
|
|
|
|
|
animationDuration: 550,
|
|
|
|
|
|
animationDurationUpdate: 750
|
|
|
|
|
|
}]
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|