From 10dc4b8a7527c0464d30acdc2a39e5aa6edc83f5 Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期三, 28 二月 2024 17:20:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/daoAnOffice/right/analysis/index.vue | 159 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 156 insertions(+), 3 deletions(-) diff --git a/src/views/daoAnOffice/right/analysis/index.vue b/src/views/daoAnOffice/right/analysis/index.vue index 394c160..1fde5a4 100644 --- a/src/views/daoAnOffice/right/analysis/index.vue +++ b/src/views/daoAnOffice/right/analysis/index.vue @@ -9,19 +9,158 @@ </div> </template> <template #content> - <div id="analysisChart"></div> + <div class="charts-container"> + <div id="analysisChart" ref="analysisChart"></div> + + </div> </template> </RightTitle> </template> <script setup> import RightTitle from "@/components/right-title"; -import { ref } from 'vue'; - +import * as echarts from 'echarts'; +import { ref, onMounted } from 'vue'; +const analysisChart = ref(null); const selectItems = ref([ { itemIndex: 1, name: '鏃堕棿缁熻', isActive: false }, { itemIndex: 2, name: '琛楅亾缁熻', isActive: true }, ]); + +const testData = ref([ + { name: '濂庡厜濉旇閬�', state1: 1400, state2: 3533, state3: 2316 }, + { name: '钂查槼琛楅亾', state1: 1820, state2: 4281, state3: 3064 }, + { name: '鑱氭簮闀�', state1: 972, state2: 2124, state3: 1500 }, + { name: '閾舵潖琛楅亾', state1: 1109, state2: 2876, state3: 1500 }, + { name: '鐭崇緤闀�', state1: 972, state2: 2124, state3: 1500 }, + { name: '榫欐睜闀�', state1: 972, state2: 2124, state3: 1500 }, + { name: '澶╅┈闀�', state1: 972, state2: 4000, state3: 1500 }, + { name: '鐜夊爞琛楅亾', state1: 972, state2: 2878, state3: 1500 }, + { name: '鐏屽彛琛楅亾', state1: 972, state2: 2124, state3: 1500 }, +]); + + +const echartsConfig = { + legend: { + right: '0', + icon: 'circle', + textStyle: { + color: 'rgba(77, 118, 176, 1)' + }, + data: [ + { + name: '閱夐┚', + itemStyle: { + color: 'rgba(0, 168, 217, 1)' + } + }, + { + name: '閰掗┚', + itemStyle: { + color: 'rgba(207, 178, 73, 1)' + } + }, + { + name: '鍏朵粬', + itemStyle: { + color: 'rgba(43, 176, 109, 1)' + } + }, + ] + + }, + tooltip: {}, + grid: { + left: 0, + right: 0, + bottom: 0, + top: '15%', + containLabel: true + }, + dataset: { + dimensions: ['name', 'state1', 'state2', 'state3'], + source: testData.value + }, + xAxis: { type: 'category', axisTick: false }, + yAxis: {}, + // Declare several bar series, each will be mapped + // to a column of dataset.source by default. + series: [ + { + type: 'bar', + name: '閱夐┚', + barWidth: 13, + barGap: '50%', + label: { + show: true, // 鏄剧ず鏍囩 + position: 'top', // 鏍囩浣嶇疆 + color: 'rgba(0, 168, 217, 1)', // 鏍囩棰滆壊 + fontSize: 10, + }, + itemStyle: { + // 璁剧疆娓愬彉鑹� + color: new echarts.graphic.LinearGradient( + 0, 1, 0, 0, + [ + { offset: 0, color: 'rgba(14, 32, 54, 1)' }, // 0% 澶勭殑棰滆壊 + { offset: 1, color: 'rgba(0, 168, 217, 1)' } // 100% 澶勭殑棰滆壊 + ] + ) + }, + }, + { + type: 'bar', + name: '閰掗┚', + barWidth: 13, + barGap: '50%', + label: { + show: true, // 鏄剧ず鏍囩 + position: 'top', // 鏍囩浣嶇疆 + color: 'rgba(207, 178, 73, 1)', // 鏍囩棰滆壊 + fontSize: 10, + }, + itemStyle: { + // 璁剧疆娓愬彉鑹� + color: new echarts.graphic.LinearGradient( + 0, 1, 0, 0, + [ + { offset: 0, color: 'rgba(14, 31, 53, 1)' }, // 0% 澶勭殑棰滆壊 + { offset: 1, color: 'rgba(207, 178, 73, 1)' } // 100% 澶勭殑棰滆壊 + ] + ) + }, + }, + { + type: 'bar', + name: '鍏朵粬', + barWidth: 13, + barGap: '50%', + label: { + show: true, // 鏄剧ず鏍囩 + position: 'top', // 鏍囩浣嶇疆 + color: 'rgba(43, 176, 109, 1)', // 鏍囩棰滆壊 + fontSize: 10, + }, + itemStyle: { + // 璁剧疆娓愬彉鑹� + color: new echarts.graphic.LinearGradient( + 0, 1, 0, 0, + [ + { offset: 0, color: 'rgba(14, 31, 53, 1)' }, // 0% 澶勭殑棰滆壊 + { offset: 1, color: 'rgba(43, 176, 109, 1)' } // 100% 澶勭殑棰滆壊 + ] + ) + }, + }, + ] +} + + + +onMounted(() => { + const myChart = echarts.init(analysisChart.value); + myChart.setOption(echartsConfig); +}) </script> <style lang="scss" scoped> @@ -41,4 +180,18 @@ .item:last-child { margin-right: 0; } + +.charts-container { + width: 100%; + height: 306px; + padding: 20px; + background-color: rgba(17, 34, 58, 0.6); + border: 1px solid rgba(47, 91, 157, 0.8); +} + +#analysisChart { + width: 100%; + height: 100%; + box-sizing: border-box; +} </style> \ No newline at end of file -- Gitblit v1.8.0