@@ -70,6 +70,7 @@
width: 162px;
height: 183px;
object-fit: cover;
+ animation: shakeY 4s ease-in-out infinite;
}
h2 {
diff --git a/src/views/business-supervision/business-supervision-left/charts/sideBottom.ts b/src/views/business-supervision/business-supervision-left/charts/sideBottom.ts
new file mode 100644
index 0000000..35fe0c2
--- /dev/null
+++ b/src/views/business-supervision/business-supervision-left/charts/sideBottom.ts
@@ -0,0 +1,84 @@
+import 'echarts/lib/component/dataZoom';
+
+import { useDebounceFn, useEventListener } from '@vueuse/core';
+import type { EChartsOption } from 'echarts';
+import { type Ref, ref } from 'vue';
+
+import echarts from '@/plugins/echarts';
+
+const option = ref
();
+option.value = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'shadow',
+ shadowStyle: {
+ shadowColor: '#66FFFF',
+ shadowBlur: 10,
+ },
+ },
+ },
+ grid: { top: '9%', right: '0%', left: '6%', bottom: '9%', containLabel: false },
+ xAxis: [
+ {
+ type: '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',
+ ],
+ axisTick: { alignWithLabel: true },
+ },
+ ],
+ yAxis: [
+ {
+ type: 'value',
+ splitLine: {
+ show: true,
+ lineStyle: { type: 'solid', color: '#707070', width: 2 },
+ },
+ },
+ ],
+ series: [
+ {
+ name: 'Direct',
+ type: 'bar',
+ barWidth: '40%',
+ itemStyle: {
+ color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+ { offset: 0, color: '#00CCD2' },
+ { offset: 1, color: '#00A2FF' },
+ ]),
+ emphasis: {
+ shadowBlur: 10, // 取消阴影模糊
+ shadowColor: '#000', // 取消阴影颜色
+ },
+ },
+ label: { show: true, position: 'top', color: '#fff', fontSize: 14 },
+ data: [10, 52, 200, 334, 390, 330, 220, 500, 482, 499, 999, 444],
+ },
+ ],
+};
+
+export const renderEcharts = (element: Ref) => {
+ const myChart = echarts.init(element.value, null, {
+ renderer: 'svg',
+ devicePixelRatio: window.devicePixelRatio,
+ });
+
+ const debouncedFn = useDebounceFn(() => {
+ myChart.resize();
+ }, 1000);
+ useEventListener(window, 'resize', debouncedFn);
+
+ myChart.setOption(option.value);
+};
diff --git a/src/views/business-supervision/business-supervision-left/charts/sidebarMiddle.ts b/src/views/business-supervision/business-supervision-left/charts/sidebarMiddle.ts
index a736b09..de1a344 100644
--- a/src/views/business-supervision/business-supervision-left/charts/sidebarMiddle.ts
+++ b/src/views/business-supervision/business-supervision-left/charts/sidebarMiddle.ts
@@ -1,5 +1,6 @@
import 'echarts/lib/component/dataZoom';
+import { useDebounceFn, useEventListener } from '@vueuse/core';
import type { EChartsOption } from 'echarts';
import { type Ref, ref } from 'vue';
@@ -17,10 +18,15 @@ option.value = {
avoidLabelOverlap: false,
label: { show: false, position: false },
labelLine: { show: false },
+ emphasis: {
+ disabled: true, // 禁用 emphasis 状态
+ scale: false, // 禁用放大效果
+ scaleSize: 0, // 将放大尺寸设置为 0
+ },
data: [
{
value: 1048,
- name: '国营企业',
+ name: '国营',
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [
{ offset: 0, color: '#0DBBB3' },
@@ -30,7 +36,7 @@ option.value = {
},
{
value: 735,
- name: '私营企业',
+ name: '私营',
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [
{ offset: 0, color: '#DEA60F' },
@@ -41,16 +47,21 @@ option.value = {
],
},
{
- name: '企业1',
+ name: '企业',
type: 'pie',
radius: ['54%', '74%'],
avoidLabelOverlap: false,
label: { show: false, position: false },
labelLine: { show: false },
+ emphasis: {
+ disabled: true, // 禁用 emphasis 状态
+ scale: false, // 禁用放大效果
+ scaleSize: 0, // 将放大尺寸设置为 0
+ },
data: [
{
value: 1048,
- name: '国营企业',
+ name: '国营',
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [
{ offset: 0, color: '#0DBBB37f' },
@@ -60,7 +71,7 @@ option.value = {
},
{
value: 735,
- name: '私营企业',
+ name: '私营',
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 1, 1, [
{ offset: 0, color: '#DEA60F7F' },
@@ -78,5 +89,11 @@ export const renderEcharts = (element: Ref) => {
renderer: 'svg',
devicePixelRatio: window.devicePixelRatio,
});
+
+ const debouncedFn = useDebounceFn(() => {
+ myChart.resize();
+ }, 1000);
+ useEventListener(window, 'resize', debouncedFn);
+
myChart.setOption(option.value);
};
diff --git a/src/views/business-supervision/business-supervision-left/charts/sidebarTop.ts b/src/views/business-supervision/business-supervision-left/charts/sidebarTop.ts
index 04c96f1..11094a3 100644
--- a/src/views/business-supervision/business-supervision-left/charts/sidebarTop.ts
+++ b/src/views/business-supervision/business-supervision-left/charts/sidebarTop.ts
@@ -1,5 +1,6 @@
import 'echarts/lib/component/dataZoom';
+import { useDebounceFn, useEventListener } from '@vueuse/core';
import type { EChartsOption } from 'echarts';
import { type Ref, ref } from 'vue';
@@ -48,5 +49,11 @@ export const renderEcharts = (element: Ref) => {
renderer: 'svg',
devicePixelRatio: window.devicePixelRatio,
});
+
+ const debouncedFn = useDebounceFn(() => {
+ myChart.resize();
+ }, 1000);
+ useEventListener(window, 'resize', debouncedFn);
+
myChart.setOption(option.value);
};
diff --git a/src/views/business-supervision/business-supervision-left/components/sidebar-left-bottom.vue b/src/views/business-supervision/business-supervision-left/components/sidebar-left-bottom.vue
index 0176be8..da073e7 100644
--- a/src/views/business-supervision/business-supervision-left/components/sidebar-left-bottom.vue
+++ b/src/views/business-supervision/business-supervision-left/components/sidebar-left-bottom.vue
@@ -6,13 +6,13 @@ const devices = ref([
{ color: '#ff7e5f', title: 738, description: '设备总数1' },
{ color: '#ff7e5f', title: 738, description: '设备总数' },
{ color: '#fff', title: 738, description: '设备总数' },
- { color: '#ff7e5f', title: 738, description: '设备总数' },
+ { color: '#08D9F1', title: 738, description: '设备总数' },
],
[
- { color: '#2a65ea', title: '7.3k㎡', description: '设备总数' },
+ { color: '#ff7e5f', title: '7.3k㎡', description: '设备总数' },
{ color: '#2a65ea', title: 738, description: '设备总数' },
{ color: '#fff', title: 738, description: '设备总数' },
- { color: '#2a65ea', title: 738, description: '设备总数' },
+ { color: '#08D9F1', title: 738, description: '设备总数' },
],
]);
@@ -28,13 +28,12 @@ const devices = ref([
-
-
{{ item.title.toString() }}
+
{{ item.title.toString() }}
{{ item.description }}
-
diff --git a/src/views/business-supervision/business-supervision-left/components/sidebar-left-middle.vue b/src/views/business-supervision/business-supervision-left/components/sidebar-left-middle.vue
index 5d47f78..79ec531 100644
--- a/src/views/business-supervision/business-supervision-left/components/sidebar-left-middle.vue
+++ b/src/views/business-supervision/business-supervision-left/components/sidebar-left-middle.vue
@@ -32,7 +32,7 @@ onMounted(() => {