From c84d328cb6448786aee00f1b0684aaa07186e410 Mon Sep 17 00:00:00 2001
From: whyczyk <525500596@qq.com>
Date: 星期四, 04 三月 2021 10:56:56 +0800
Subject: [PATCH] chart字体自适应

---
 src/components/charts/abeamProChart.vue    |   16 +++++--
 src/components/charts/prossPieChart.vue    |   15 +++++--
 src/components/charts/imgPieChart.vue      |   18 +++++----
 src/components/charts/latticeBar.vue       |   12 ++++-
 src/assets/js/chartFontsize.js             |    6 +++
 src/components/charts/triangleBarChart.vue |   15 +++++--
 6 files changed, 56 insertions(+), 26 deletions(-)

diff --git a/src/assets/js/chartFontsize.js b/src/assets/js/chartFontsize.js
new file mode 100644
index 0000000..05bf1a8
--- /dev/null
+++ b/src/assets/js/chartFontsize.js
@@ -0,0 +1,6 @@
+export const chartFontsize = (res) => {
+  let clientWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
+  if (!clientWidth) return;
+  let fontSize = clientWidth / 1920;
+  return res * fontSize;
+}
\ No newline at end of file
diff --git a/src/components/charts/abeamProChart.vue b/src/components/charts/abeamProChart.vue
index 3f920db..fdaf635 100644
--- a/src/components/charts/abeamProChart.vue
+++ b/src/components/charts/abeamProChart.vue
@@ -8,8 +8,10 @@
 
 <script>
   import * as echarts from 'echarts';
-  //寮曞叆鎻愮ず妗�
-  import "echarts/lib/component/tooltip";
+  //寮曞叆chart瀛椾綋鑷�傚簲
+  import {
+    chartFontsize
+  } from '@/assets/js/chartFontsize'
   export default {
     name: "abeamProChart",
     chart: "",
@@ -31,6 +33,7 @@
         this.$options.chart.setOption(opt);
       },
       setData(sendData) {
+        this.$options.chartData = sendData;
         let dataColor = sendData.color;
         let bgColor = sendData.bgColor;
         let yData = sendData.yData;
@@ -69,7 +72,8 @@
             axisLabel: {
               show: true,
               textStyle: {
-                color: '#fff'
+                color: '#fff',
+                fontSize: chartFontsize(12),
               },
             },
             splitLine: {
@@ -88,7 +92,8 @@
             axisLabel: {
               show: true,
               textStyle: {
-                color: '#fff'
+                color: '#fff',
+                fontSize: chartFontsize(12),
               },
             },
             splitLine: {
@@ -130,7 +135,7 @@
                 normal: {
                   show: true,
                   position: 'insideRight',
-                  fontSize: 20,
+                  fontSize: chartFontsize(20),
                   color: '#021750'
                 }
               },
@@ -167,6 +172,7 @@
       },
       resize() {
         this.$options.chart.resize();
+        this.setData(this.$options.chartData);
       }
     },
     mounted() {
diff --git a/src/components/charts/imgPieChart.vue b/src/components/charts/imgPieChart.vue
index 6ac204e..40ec934 100644
--- a/src/components/charts/imgPieChart.vue
+++ b/src/components/charts/imgPieChart.vue
@@ -8,8 +8,10 @@
 
 <script>
   import * as echarts from 'echarts';
-  //寮曞叆鎻愮ず妗�
-  import "echarts/lib/component/tooltip";
+  //寮曞叆chart瀛椾綋鑷�傚簲
+  import {
+    chartFontsize
+  } from '@/assets/js/chartFontsize'
   const pieImg = require('../../assets/images/rectifier-img.png');
   export default {
     name: "imgPieChart",
@@ -32,7 +34,7 @@
         this.$options.chart.setOption(opt);
       },
       setData(sendData) {
-        this.$options.chartData = sendData
+        this.$options.chartData = sendData;
         let imgWidth = this.$refs.chart.clientWidth * 0.14;
         let imgheight = imgWidth / 0.82;
         let centerx = this.$refs.chart.clientWidth / 2;
@@ -79,16 +81,16 @@
                 rich: {
                   yellow: {
                     color: "#f67f21",
-                    fontSize: 16,
+                    fontSize: chartFontsize(16),
                     fontWeight: '600',
-                    padding: [4, 0, 0, 0],
+                    padding: [chartFontsize(4), 0, 0, 0],
                     align: 'center'
                   },
                   white: {
                     color: "#ffffff",
                     align: 'center',
-                    fontSize: 12,
-                    padding: 4
+                    fontSize: chartFontsize(12),
+                    padding: chartFontsize(4)
                   },
                   hr: {
                     borderColor: '#007ed3',
@@ -171,7 +173,7 @@
       },
       resize() {
         this.$options.chart.resize();
-        this.setData(this.$options.chartData)
+        this.setData(this.$options.chartData);
       }
     },
     mounted() {
diff --git a/src/components/charts/latticeBar.vue b/src/components/charts/latticeBar.vue
index 8521829..c4a97a6 100644
--- a/src/components/charts/latticeBar.vue
+++ b/src/components/charts/latticeBar.vue
@@ -8,10 +8,13 @@
 
 <script>
   import * as echarts from 'echarts';
-
+  import {
+    chartFontsize
+  } from '@/assets/js/chartFontsize'
   export default {
     name: "latticeBar",
     chart: "",
+    chartData: [],
     props: {
       id: {
         require: true,
@@ -29,6 +32,7 @@
         this.$options.chart.setOption(opt);
       },
       setData(sendData) {
+        this.$options.chartData = sendData;
         let option = {
           tooltip: {
             trigger: 'axis',
@@ -71,7 +75,7 @@
             },
             axisLabel: {
               color: '#FFFFFF',
-              fontSize: 12,
+              fontSize: chartFontsize(12),
               interval: 0
             }
           }],
@@ -91,7 +95,8 @@
             },
             axisLabel: {
               textStyle: {
-                color: '#FFFFFF'
+                color: '#FFFFFF',
+                fontSize: chartFontsize(12),
               },
             },
           }],
@@ -162,6 +167,7 @@
       },
       resize() {
         this.$options.chart.resize();
+        this.setData(this.$options.chartData);
       }
     },
     mounted() {
diff --git a/src/components/charts/prossPieChart.vue b/src/components/charts/prossPieChart.vue
index 392eaed..f90b15e 100644
--- a/src/components/charts/prossPieChart.vue
+++ b/src/components/charts/prossPieChart.vue
@@ -8,11 +8,14 @@
 
 <script>
   import * as echarts from 'echarts';
-  //寮曞叆鎻愮ず妗�
-  import "echarts/lib/component/tooltip";
+  //寮曞叆chart瀛椾綋鑷�傚簲
+  import {
+    chartFontsize
+  } from '@/assets/js/chartFontsize'
   export default {
     name: "prossPieChart",
     chart: "",
+    chartData: [],
     props: {
       id: {
         require: true,
@@ -30,6 +33,7 @@
         this.$options.chart.setOption(opt);
       },
       setData(sendData) {
+        this.$options.chartData = sendData;
         let color = sendData.color;
         let data = sendData.data;
         let text;
@@ -47,7 +51,7 @@
             textStyle: {
               rich: {
                 a: {
-                  fontSize: 16,
+                  fontSize: chartFontsize(16),
                   color: '#ffffff'
                 },
               }
@@ -135,7 +139,7 @@
                 normal: {
                   show: true,
                   position: "center",
-                  fontSize: 14,
+                  fontSize: chartFontsize(24),
                   fontWeight: '600',
                   color: '#ffffff'
                 }
@@ -167,7 +171,8 @@
       },
       resize() {
         this.$options.chart.resize();
-      }
+        this.setData(this.$options.chartData);
+      },
     },
     mounted() {
       // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
diff --git a/src/components/charts/triangleBarChart.vue b/src/components/charts/triangleBarChart.vue
index 5fdb2f4..f230114 100644
--- a/src/components/charts/triangleBarChart.vue
+++ b/src/components/charts/triangleBarChart.vue
@@ -8,8 +8,10 @@
 
 <script>
   import * as echarts from 'echarts';
-  //寮曞叆鎻愮ず妗�
-  import "echarts/lib/component/tooltip";
+  //寮曞叆chart瀛椾綋鑷�傚簲
+  import {
+    chartFontsize
+  } from '@/assets/js/chartFontsize'
   export default {
     name: "triangleBarChart",
     chart: "",
@@ -31,6 +33,7 @@
         this.$options.chart.setOption(opt);
       },
       setData(sendData) {
+        this.$options.chartData = sendData;
         let inData = []
         sendData.data.map(item => {
           inData.push(item - 10);
@@ -70,7 +73,7 @@
             },
             axisLabel: {
               color: '#FFFFFF',
-              fontSize: 12,
+              fontSize: chartFontsize(12),
               interval: 0
             }
           }, {
@@ -87,7 +90,7 @@
             },
             axisLabel: {
               color: '#FFFFFF',
-              fontSize: 12,
+              fontSize: chartFontsize(12),
               interval: 0
             }
           }],
@@ -108,7 +111,8 @@
             },
             axisLabel: {
               textStyle: {
-                color: '#FFFFFF'
+                color: '#FFFFFF',
+                fontSize: chartFontsize(12)
               },
             },
           }],
@@ -165,6 +169,7 @@
       },
       resize() {
         this.$options.chart.resize();
+        this.setData(this.$options.chartData);
       }
     },
     mounted() {

--
Gitblit v1.9.1