From a7e6761ba0cfccdf33ed552eb2d3b783c8e4ab4a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 16 Apr 2025 20:49:12 +0800
Subject: [PATCH] feat:事件弹窗显示调整
---
src/views/TaskManage/TaskTop/TaskTime.vue | 94 ++++++++++++++++++++++++++--------------------
1 files changed, 53 insertions(+), 41 deletions(-)
diff --git a/src/views/TaskManage/TaskTop/TaskTime.vue b/src/views/TaskManage/TaskTop/TaskTime.vue
index efea1b5..c9cb869 100644
--- a/src/views/TaskManage/TaskTop/TaskTime.vue
+++ b/src/views/TaskManage/TaskTop/TaskTime.vue
@@ -1,36 +1,48 @@
-<!-- 任务事件统计 -->
+<!-- 任务数量统计 -->
<template>
- <!-- <common-title title="任务时间统计"></common-title> -->
<div class="task-time">
+ <div class="title">任务数量统计</div>
<div class="chart" ref="chartRef"></div>
</div>
</template>
<script setup>
-import CommonTitle from '@/components/CommonTitle.vue';
import * as echarts from 'echarts';
import { jobNumBar } from '@/api/home/task';
import dayjs from 'dayjs';
+import useEchartsResize from '@/hooks/useEchartsResize'
+import { useStore } from 'vuex';
+
+const store = useStore();
// 日期
const currenDate = dayjs().format('YYYY-MM-DD');
const newTime = ref([currenDate, currenDate]);
const chartRef = ref(null);
-let chart = null;
+let { chart } = useEchartsResize(chartRef)
+
const option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
+ },
+ formatter: '{b}: {c} 件'
+ },
+ legend: {
+ top: '2%',
+ textStyle: {
+ color: '#6B90B5',
+ fontSize: 12,
}
},
grid: {
top: '15%',
left: '3%',
right: '4%',
- bottom: '3%',
+ bottom: '2%',
containLabel: true
},
xAxis: {
@@ -48,6 +60,12 @@
},
yAxis: {
type: 'value',
+ name: '单位:件',
+ nameTextStyle: {
+ color: '#E6F7FF',
+ fontSize: 12,
+ padding: [0, 0, 0, 0] // 调整单位文字位置
+ },
axisLine: {
lineStyle: {
color: '#fff'
@@ -64,12 +82,13 @@
},
series: [
{
+ name: '任务数量',
type: 'bar',
- barWidth: '40%',
+ barWidth: '6px',
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
- { offset: 0, color: '#1EE7E7' },
- { offset: 1, color: 'rgba(30, 231, 231, 0.1)' }
+ { offset: 0, color: '#0EECE4' },
+ { offset: 1, color: '#058FE7' }
])
}
}
@@ -77,55 +96,48 @@
};
// 获取任务时间统计数据
-const getJobNumBar = (value,date_enum) => {
- jobNumBar({date_enum}).then(res => {
+const getJobNumBar = (value) => {
+ jobNumBar(value).then(res => {
if (res.data.code !== 0) return;
option.xAxis.data = res.data.data.map(item => item.name);
option.series[0].data = res.data.data.map(item => item.value);
- chart.setOption(option);
+ chart.value.setOption(option);
});
};
-onBeforeUnmount(() => {
- if (chart) {
- chart.dispose();
- chart = null;
+// 添加监听
+watch(() => store.state.task.taskSearchParams, (newVal) => {
+ if (newVal) {
+ getJobNumBar(newVal);
+ (newVal);
}
- window.removeEventListener('resize', handleResize);
-});
+}, { deep: true });
+
onMounted(() => {
- chart = echarts.init(chartRef.value);
- getJobNumBar(newTime.value, 'CURRENT_YEAR');
-
- if (chart && !chart.isDisposed()) {
- chart.resize();
- }
+ getJobNumBar({date_enum: 'TODAY'});
});
-onUnmounted(() => {
- window.removeEventListener('resize', chart?.resize);
- chart?.dispose();
-});
</script>
<style lang="scss" scoped>
.task-time {
font-family: YouSheBiaoTiHei, YouSheBiaoTiHei;
- // margin-left: 29px;
- // padding: 16px 16px;
- width: 340px;
- height: 200px;
- background: linear-gradient(
- 270deg,
- rgba(31, 62, 122, 0) 0%,
- rgba(31, 62, 122, 0.35) 21%,
- #1f3e7a 100%
- );
- border-radius: 0px 0px 0px 0px;
- opacity: 0.85;
+ width: 502px;
+ height: 100%;
+ margin-left: 14px;
+ .title {
+ font-size: 14px;
+ margin-top: 10px;
+ width: 502px;
+ height: 28.6px;
+ background: url('@/assets/images/task/task-num-total.png') no-repeat center / 100% 100%;
+ color: #CFEAFF;
+ padding-left: 44px;
+ line-height: 8px;
+ }
.chart {
width: 100%;
- height: 100%;
+ height: 200px;
}
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3