From 7c0e34f7919fe3bc70a4df726cd5304006f3b1c0 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期三, 28 二月 2024 16:46:08 +0800
Subject: [PATCH] feat:交通安全形势研判分析图表
---
src/views/daoAnOffice/right/analysis/index.vue | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 110 insertions(+), 3 deletions(-)
diff --git a/src/views/daoAnOffice/right/analysis/index.vue b/src/views/daoAnOffice/right/analysis/index.vue
index 394c160..5b30525 100644
--- a/src/views/daoAnOffice/right/analysis/index.vue
+++ b/src/views/daoAnOffice/right/analysis/index.vue
@@ -9,19 +9,112 @@
</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: 972, state2: 2124, state3: 1500 },
+ { name: '钂查槼琛楅亾', state1: 972, state2: 2124, state3: 1500 },
+ { name: '鑱氭簮闀�', state1: 972, state2: 2124, state3: 1500 },
+ { name: '閾舵潖琛楅亾', state1: 972, state2: 2124, state3: 1500 },
+ { name: '鐭崇緤闀�', state1: 972, state2: 2124, state3: 1500 },
+ { name: '榫欐睜闀�', state1: 972, state2: 2124, state3: 1500 },
+ { name: '澶╅┈闀�', state1: 972, state2: 2124, state3: 1500 },
+ { name: '鐜夊爞琛楅亾', state1: 972, state2: 2124, state3: 1500 },
+ { name: '鐏屽彛琛楅亾', state1: 972, state2: 2124, state3: 1500 },
+]);
+
+
+const echartsConfig = {
+ legend: {
+ right: '0',
+ textStyle: {
+ color: 'rgba(77, 118, 176, 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' },
+ yAxis: {},
+ // Declare several bar series, each will be mapped
+ // to a column of dataset.source by default.
+ series: [
+ {
+ type: 'bar',
+ name: '閱夐┚',
+ 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: '閰掗┚',
+ 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: '鍏朵粬',
+ 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 +134,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