<template>
<el-card>
<div id="tree" ref="tree"></div>
</el-card>
</template>
<script>
import { defineComponent, reactive, toRefs, onMounted, ref } from "vue";
import OrgChart from "/@/utils/orgchart.min.js";
import img1 from "/@/assets/head/2.jpg";
import img2 from "/@/assets/head/3.jpg";
import img3 from "/@/assets/head/4.jpg";
import img4 from "/@/assets/head/5.jpg";
import img5 from "/@/assets/head/6.jpg";
import img6 from "/@/assets/head/7.jpg";
import img7 from "/@/assets/head/8.jpg";
import img8 from "/@/assets/head/9.jpg";
export default defineComponent({
name: "home",
components: {},
setup() {
const tree = ref(null);
const state = reactive({
nodes: [
{
id: 1,
name: "李总",
title: "总裁",
img: img1,
},
{
id: 2,
pid: 1,
name: "邓总",
title: "经理",
img: img2,
},
{
id: 3,
pid: 1,
name: "张总",
title: "经理",
img: img3,
},
{
id: 4,
pid: 2,
name: "咸鱼1号",
title: "咸鱼",
img: img4,
},
{
id: 5,
pid: 2,
name: "咸鱼2号",
title: "咸鱼",
img: img5,
},
{
id: 6,
pid: 3,
name: "咸鱼3号",
title: "咸鱼",
img: img6,
},
{
id: 7,
pid: 3,
name: "咸鱼4号",
title: "咸鱼",
img: img7,
},
{
id: 8,
pid: 3,
name: "咸鱼5号",
title: "咸鱼",
img: img8,
},
],
});
//页面加载
onMounted(() => {
mytree(tree.value, state.nodes);
});
const mytree = (domEl, x) => {
new OrgChart(domEl, {
nodes: x,
nodeBinding: {
field_0: "name",
img_0: "img",
},
});
};
return {
...toRefs(state),
tree,
};
},
});
</script>