| | |
| | | <!-- 图表显示 --> |
| | | <div class="charts-main" v-if="activeTabs == 'chart'"> |
| | | <div class="radial-tree-container"> |
| | | <div ref="chart" style="width: 100%; height: 600px"></div> |
| | | <div ref="chart" style="width: 100%; height: 70vh"></div> |
| | | </div> |
| | | |
| | | <div class="legend"> |
| | | <div class="tagItem" v-for="(item, index) in legendList" :key="index"> |
| | | <div class="tagColor" :style="{ background: item.color }"></div> |
| | | <div class="tagText" :style="{ color: item.color }"> |
| | | {{ item.name }} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <transition name="el-fade-in-linear"> |
| | | <div class="tooltipBox" v-show="tooltipShow"> |
| | |
| | | text-align: center; |
| | | " |
| | | > |
| | | <div class="closeBtn" @click="tooltipShow = false"> |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | |
| | | <div style="display: flex"> |
| | | <div |
| | | style=" |
| | |
| | | chartData: treeData, |
| | | currentNodeInfo: {}, |
| | | tooltipShow: false, |
| | | legendList: [ |
| | | { |
| | | color: "#87A7B9", |
| | | name: "北京中医大学", |
| | | }, |
| | | { |
| | | color: "#C48787", |
| | | name: "北京师范大学", |
| | | }, |
| | | { |
| | | color: "#6F8F5A", |
| | | name: "中国中医科学院", |
| | | }, |
| | | { |
| | | color: "#937950", |
| | | name: "广州中医药大学", |
| | | }, |
| | | { |
| | | color: "#8D77B3", |
| | | name: "拜师弟子", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | |
| | | mounted() { |
| | | this.initChart(); |
| | | |
| | | window.addEventListener("resize", this.handleResize); |
| | | }, |
| | | beforeDestroy() { |
| | |
| | | changeTab(key) { |
| | | this.activeTabs = key; |
| | | console.log(this.activeTabs, "activeTabs"); |
| | | if (key == "chart") { |
| | | this.$nextTick(() => { |
| | | this.initChart(); |
| | | window.addEventListener("resize", this.handleResize); |
| | | }); |
| | | } |
| | | }, |
| | | initChart() { |
| | | this.chart = echarts.init(this.$refs.chart); |
| | | |
| | | const option = { |
| | | tooltip: { |
| | | trigger: "item", |
| | |
| | | }, |
| | | }, |
| | | textStyle: { |
| | | color: "#bc1c00" // 设置整体字体颜色为红色 |
| | | color: "#bc1c00", // 设置整体字体颜色为红色 |
| | | }, |
| | | edgeLabel: { |
| | | normal: { |
| | | color: "#bc1c00" // 设置线条的颜色为红色 |
| | | } |
| | | color: "#bc1c00", // 设置线条的颜色为红色 |
| | | }, |
| | | }, |
| | | series: [ |
| | | { |
| | |
| | | }; |
| | | |
| | | this.chart.setOption(option); |
| | | |
| | | this.chart.on( |
| | | "showTip", |
| | | debounce((event) => { |
| | | console.log("显示时的回调", event); |
| | | this.tooltipShow = true; |
| | | }, 500) |
| | | ); |
| | | |
| | | this.chart.on( |
| | | "hideTip", |
| | | debounce((event) => { |
| | | console.log("隐藏时的回调", event); |
| | | this.tooltipShow = false; |
| | | }, 500) |
| | | ); |
| | | this.chart.on("click", (params) => { |
| | | console.log("点击时的回调", params); |
| | | this.tooltipShow = true; |
| | | }); |
| | | }, |
| | | handleResize() { |
| | | if (this.chart) { |
| | |
| | | /* 移除最后一行的下边框 */ |
| | | } |
| | | } |
| | | |
| | | .charts-main { |
| | | // background-color: #000; |
| | | position: relative; |
| | | } |
| | | |
| | | .table-title { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | max-width: 500px; |
| | | background-color: #fdf8f0; |
| | | position: absolute; |
| | | bottom: -60px; |
| | | right: 40px; |
| | | top: 12vh; |
| | | } |
| | | .closeBtn { |
| | | position: absolute; |
| | | top: 10px; |
| | | right: 0; |
| | | cursor: pointer; |
| | | } |
| | | .legend { |
| | | position: absolute; |
| | | bottom: 300px; |
| | | left: 100px; |
| | | } |
| | | .tagItem { |
| | | display: flex; |
| | | margin-top: 20px; |
| | | } |
| | | .tagColor { |
| | | width: 20px; |
| | | height: 20px; |
| | | } |
| | | .tagText { |
| | | margin-left: 30px; |
| | | } |
| | | </style> |