From d387848d15a40fb16c8a6eefb007d5f7411c5dbc Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期日, 28 四月 2024 13:32:27 +0800
Subject: [PATCH] fix:修改图片浏览组件

---
 src/views/home/data-chart/index.vue |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/src/views/home/data-chart/index.vue b/src/views/home/data-chart/index.vue
index 0681229..0f0d2b4 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() {
@@ -45,6 +46,26 @@
           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 }
+        },
       ],
     }
   },
@@ -52,12 +73,12 @@
     initChart() {
       const option = {
         legend: {
-          right: '2%',
-          top: '5%',
+          right: 'right',
+          top: 'top',
+          orient: "vertical",
           icon: 'rect',
           data: [
             {
-
               name: '姝e父鏁�',
               itemStyle: {
                 color: 'rgba(62, 144, 247, 1)'
@@ -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>
@@ -148,7 +193,6 @@
   align-items: center;
   z-index: 2;
 
-
   .more-button {
     cursor: pointer;
     font-size: 16px;
@@ -171,4 +215,4 @@
   margin: 0 20px;
   width: 180px;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0