From 11bf8ca6afddcedda634c7494b3550e758165001 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 07 三月 2024 17:05:52 +0800 Subject: [PATCH] 权限屏蔽 --- src/views/home/data-chart/index.vue | 53 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 49 insertions(+), 4 deletions(-) diff --git a/src/views/home/data-chart/index.vue b/src/views/home/data-chart/index.vue index 0681229..2421e0a 100644 --- a/src/views/home/data-chart/index.vue +++ b/src/views/home/data-chart/index.vue @@ -5,7 +5,7 @@ <div class="title-container"> <h1>杩愮淮鐩戞帶鎶ヨ〃</h1> <div class="select-container"> - <el-select v-model="company" placeholder="璇烽�夋嫨杩愮淮鍏徃"> + <el-select v-model="company" placeholder="璇烽�夋嫨杩愮淮鍏徃" @change="companyChange"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> @@ -27,6 +27,7 @@ <script> import * as echarts from 'echarts'; let lineChart = null; +let observer = null; export default { name: 'DataChart', data() { @@ -43,6 +44,26 @@ { name: 'XX杩愮淮鍏徃1', state: { '1鏈�': 1000, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211 }, + state2: { '1鏈�': 123, '2鏈�': 213, '3鏈�': 1412, '4鏈�': 23, '5鏈�': 123 } + }, + { + name: 'XX杩愮淮鍏徃2', + state: { '1鏈�': 213, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211 }, + state2: { '1鏈�': 123, '2鏈�': 123, '3鏈�': 1412, '4鏈�': 23, '5鏈�': 123 } + }, + { + name: 'XX杩愮淮鍏徃3', + state: { '1鏈�': 1000, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211, '6鏈�': 1321 }, + state2: { '1鏈�': 123, '2鏈�': 213, '3鏈�': 123, '4鏈�': 23, '5鏈�': 123 } + }, + { + name: 'XX杩愮淮鍏徃4', + state: { '1鏈�': 1000, '2鏈�': 2131, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 3211 }, + state2: { '1鏈�': 123, '2鏈�': 613, '3鏈�': 1412, '4鏈�': 2336, '5鏈�': 123 } + }, + { + name: 'XX杩愮淮鍏徃5', + state: { '1鏈�': 1000, '2鏈�': 433, '3鏈�': 1233, '4鏈�': 2132, '5鏈�': 8886 }, state2: { '1鏈�': 123, '2鏈�': 213, '3鏈�': 1412, '4鏈�': 23, '5鏈�': 123 } }, ], @@ -106,21 +127,45 @@ lineChart.setOption(option, true); }, + + companyChange() { + this.acitveData = this.dataList.find((item) => { + return item.name === this.company; + }); + if (this.acitveData) { + this.initChart(); + } + }, + + // 鐩戝惉鍙樺寲 + observe() { + if (!observer) { + observer = new ResizeObserver(entries => { + this.handleResize(); + }) + } + observer.observe(this.$refs.chartContent); + }, + // 绐楀彛鍙樻崲 handleResize() { if (lineChart) { - lineChart.resize() + lineChart.resize(); } } }, mounted() { this.acitveData = this.dataList[0]; + this.company = this.acitveData.name; lineChart = echarts.init(this.$refs.chartContent); this.initChart(); - window.addEventListener('resize', this.handleResize) + this.observe(); }, beforeDestroy() { - window.removeEventListener('resize', this.handleResize) + if (lineChart) { + lineChart.dispose(); + observer.unobserve(this.$refs.chartContent); + } }, } </script> -- Gitblit v1.8.0