From 8c803b4e7eb897a4fd1c8fe83383c598eff87f60 Mon Sep 17 00:00:00 2001
From: bunny <1319900154@qq.com>
Date: Sun, 16 Mar 2025 23:03:46 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=AD=E9=97=B4=E9=83=A8=E5=88=86?=
=?UTF-8?q?=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/big-data/charts/content-bottom.tsx | 61 ++++++++--
.../components/content-bottom.vue | 5 +-
.../components/right-bottom.vue | 113 +++++++++++++++++-
.../components/right-middle.vue | 113 +++++++++++++++++-
.../big-data-right/components/right-top.vue | 73 +++++++++--
src/views/big-data/index.vue | 4 +-
6 files changed, 337 insertions(+), 32 deletions(-)
diff --git a/src/views/big-data/charts/content-bottom.tsx b/src/views/big-data/charts/content-bottom.tsx
index 05b8962..25758e9 100644
--- a/src/views/big-data/charts/content-bottom.tsx
+++ b/src/views/big-data/charts/content-bottom.tsx
@@ -7,33 +7,72 @@ let myChart = null;
const option = {
backgroundColor: 'transparent',
- grid: { top: '54px', right: '14px', left: '14px', bottom: '24px' },
+ grid: { top: 79, right: 9, left: 34, bottom: '24px' },
title: {
text: '最近12个月税收概览',
+ subtext: '单位/万元',
textStyle: { color: '#fff', fontSize: 22, fontWeight: 'lighter' },
+ subtextStyle: { color: '#fff', fontSize: 12, fontWeight: 'lighter' },
+ },
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: { type: 'shadow' },
+ formatter: function (params: any): string {
+ return `
${params[0].seriesName}
${params[0].marker} ${params[0].name} ${params[0].value}万元`;
+ },
},
- tooltip: {},
legend: { show: false },
xAxis: {
type: 'category',
show: true,
- data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
- // data: category,
+ data: [
+ '2021.01',
+ '2021.02',
+ '2021.03',
+ '2021.04',
+ '2021.05',
+ '2021.06',
+ '2021.07',
+ '2021.08',
+ '2021.09',
+ '2021.10',
+ '2021.11',
+ '2021.12',
+ ],
itemStyle: { color: '#ccc' },
- splitLine: { show: true, lineStyle: { color: '#333', width: 1, type: 'solid' } },
- splitArea: { show: false },
+ splitLine: { show: false },
+ },
+ yAxis: {
+ show: true,
+ type: 'value',
+ name: '',
+ nameTextStyle: { color: '#fff', padding: [0, 0, 0, 40] },
+ splitLine: { show: true, lineStyle: { color: '#333', width: 1, type: 'solid' } },
},
- yAxis: { show: true, type: 'value', splitLine: { show: false } },
series: [
{
name: '金额',
type: 'bar',
- barWidth: 14,
+ barWidth: 9,
+ label: { show: true, position: 'top', color: '#fff', distance: 9 },
itemStyle: {
- borderRadius: 5,
+ borderRadius: [0, 0, 4, 4],
color: graphicLinearGradient('#66FFFF', '#66FFFF33'),
},
- data: [2, 8, 3, 7, 1, 9, 18, 3, 7, 1, 9, 6],
+ data: [596, 566, 512, 375, 566, 437, 492, 519, 309, 482, 539, 572],
+ },
+ {
+ name: '金额',
+ type: 'line',
+ smooth: true,
+ symbol: 'circle',
+ symbolSize: 19,
+ symbolOffset: [0, 5],
+ data: [596, 566, 512, 375, 566, 437, 492, 519, 309, 482, 539, 572],
+ itemStyle: { color: '#66FFFF' },
+ lineStyle: { color: 'transparent' },
+ animationDuration: 499,
+ animationDelay: 644,
},
],
};
@@ -41,7 +80,7 @@ const option = {
/** 渲染图表 */
export const renderEcharts = (element: Ref) => {
myChart = echarts.init(element.value, null, {
- renderer: 'svg',
+ renderer: 'canvas',
devicePixelRatio: window.devicePixelRatio,
});
diff --git a/src/views/big-data/components/big-data-content/components/content-bottom.vue b/src/views/big-data/components/big-data-content/components/content-bottom.vue
index 0a474c6..2944104 100644
--- a/src/views/big-data/components/big-data-content/components/content-bottom.vue
+++ b/src/views/big-data/components/big-data-content/components/content-bottom.vue
@@ -18,11 +18,12 @@ onMounted(() => {
\ No newline at end of file
+.big-data__sidebar-card {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-content: flex-start;
+ width: 100%;
+
+ li {
+ padding: 9px 16px 0 19px;
+ margin: 15px 0 0 0;
+ width: 242px;
+ height: 124px;
+ background: url('@/assets/images/business-supervision/bg/sidebar/frame-1.png') no-repeat center;
+ background-size: cover;
+
+ h1 {
+ margin: 0 0 2px 0;
+ font-size: 18px;
+ }
+
+ p {
+ font-size: 30px;
+ }
+ }
+
+ &-enterprise-type {
+ margin: 4px 0 0 0;
+ width: 100%;
+
+ span {
+ font-size: 13px;
+ }
+
+ i {
+ display: inline-block;
+ width: 9px;
+ height: 9px;
+ border-radius: 50%;
+ }
+ }
+
+ &-chart-pie {
+ width: 82px;
+ height: 82px;
+ }
+}
+
diff --git a/src/views/big-data/components/big-data-right/components/right-middle.vue b/src/views/big-data/components/big-data-right/components/right-middle.vue
index 82f77e3..bcfcbc3 100644
--- a/src/views/big-data/components/big-data-right/components/right-middle.vue
+++ b/src/views/big-data/components/big-data-right/components/right-middle.vue
@@ -1,11 +1,116 @@
-
-top
+
-
\ No newline at end of file
+.big-data__sidebar-card {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-content: flex-start;
+ width: 100%;
+
+ li {
+ padding: 9px 16px 0 19px;
+ margin: 15px 0 0 0;
+ width: 242px;
+ height: 124px;
+ background: url('@/assets/images/business-supervision/bg/sidebar/frame-1.png') no-repeat center;
+ background-size: cover;
+
+ h1 {
+ margin: 0 0 2px 0;
+ font-size: 18px;
+ }
+
+ p {
+ font-size: 30px;
+ }
+ }
+
+ &-enterprise-type {
+ margin: 4px 0 0 0;
+ width: 100%;
+
+ span {
+ font-size: 13px;
+ }
+
+ i {
+ display: inline-block;
+ width: 9px;
+ height: 9px;
+ border-radius: 50%;
+ }
+ }
+
+ &-chart-pie {
+ width: 82px;
+ height: 82px;
+ }
+}
+
diff --git a/src/views/big-data/components/big-data-right/components/right-top.vue b/src/views/big-data/components/big-data-right/components/right-top.vue
index 868ff8a..876b0cf 100644
--- a/src/views/big-data/components/big-data-right/components/right-top.vue
+++ b/src/views/big-data/components/big-data-right/components/right-top.vue
@@ -1,32 +1,87 @@
-
-