ZhangXianQiang
2024-02-29 39913b145347f509a1137a398f9803fca7e4f4b8
src/views/daoAnOffice/right/analysis/index.vue
@@ -11,7 +11,6 @@
    <template #content>
      <div class="charts-container">
        <div id="analysisChart" ref="analysisChart"></div>
      </div>
    </template>
  </RightTitle>
@@ -21,31 +20,68 @@
import RightTitle from "@/components/right-title";
import * as echarts from 'echarts';
import { ref, onMounted } from 'vue';
// dom示例
const analysisChart = ref(null);
const echartRef = 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: 1400, state2: 3533, state3: 2316 },
  { name: '蒲阳街道', state1: 1820, state2: 4281, state3: 3064 },
  { name: '聚源镇', state1: 972, state2: 2124, state3: 1500 },
  { 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: 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 testData1 = ref([
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
  { name: '都江堰市', state: { '2023-1': 1000, '2023-2': 2000, '2023-3': 1233 }, state2: { '2023-1': 12312, '2023-2': 23123, '2023-3': 2111 } },
]);
const echartsConfig = {
// 圆柱图表
const barConfig = ref({
  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: {
@@ -59,14 +95,20 @@
    dimensions: ['name', 'state1', 'state2', 'state3'],
    source: testData.value
  },
  xAxis: { type: 'category' },
  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(
@@ -81,6 +123,14 @@
    {
      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(
@@ -95,6 +145,14 @@
    {
      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(
@@ -107,13 +165,17 @@
      },
    },
  ]
}
});
// line配置
const lineConfig = ref({})
// let acitveData = ref(testData1.values[0]);
onMounted(() => {
  const myChart = echarts.init(analysisChart.value);
  myChart.setOption(echartsConfig);
  echartRef.value = echarts.init(analysisChart.value);
  echartRef.value.setOption(barConfig.value);
})
</script>
@@ -137,7 +199,7 @@
.charts-container {
  width: 100%;
  height: 306px;
  height: 280px;
  padding: 20px;
  background-color: rgba(17, 34, 58, 0.6);
  border: 1px solid rgba(47, 91, 157, 0.8);