From 1d79d97a675194ab5cd6b7273829edefc095a648 Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Thu, 17 Jul 2025 13:35:08 +0800
Subject: [PATCH] feat:工作台优化

---
 src/views/wel/components/taskOutcome.vue |  256 +++++++++++++++++++++++++-------------------------
 1 files changed, 127 insertions(+), 129 deletions(-)

diff --git a/src/views/wel/components/taskOutcome.vue b/src/views/wel/components/taskOutcome.vue
index 422bfb3..f9d0d8c 100644
--- a/src/views/wel/components/taskOutcome.vue
+++ b/src/views/wel/components/taskOutcome.vue
@@ -1,5 +1,5 @@
 <template>
- <div class="taskOutcome">
+  <div class="taskOutcome">
     <div class="card-title">
       <div class="cardtotal">
         <p>任务成果</p>
@@ -19,15 +19,15 @@
         </div>
       </div>
     </div>
-   <div class="chart" ref="echartsRef"></div>
- </div>
+    <div class="chart" ref="echartsRef"></div>
+  </div>
 </template>
 
-<script setup >
-import { getdisposeApi} from '@/api/home/index';
-import * as echarts from 'echarts'
-import dayjs from 'dayjs'
-import useEchartsResize from '@/hooks/useEchartsResize'
+<script setup>
+import { getdisposeApi } from '@/api/home/index';
+import * as echarts from 'echarts';
+import dayjs from 'dayjs';
+import useEchartsResize from '@/hooks/useEchartsResize';
 let checked = ref('YEAR');
 let timeListStr = ['本周', '本月', '本年'];
 let timeListEnum = ['WEEK', 'MONTH', 'YEAR'];
@@ -43,126 +43,124 @@
   checked.value = item;
   params.value.date_enum = item;
   dateSelect.value = item;
-
 };
 const echartsOption = {
-	tooltip: {
-		trigger: 'axis',
-		axisPointer: {
-			type: 'shadow',
-		},
-	
-	},
-	legend: {
-		itemWidth: 14,
-		itemHeight: 8,
-		data: ['待处理', '处理中', '已完成', '事件完成率'], // 确保包含所有系列名称
-		top: '-1%',
-		textStyle: {
-			color: '#383838',
-			fontSize: 12,
-		},
-	},
-	grid: {
-		// top: '5%',
-		left: 0,
-		right: 0,
-		bottom: 0,
-		containLabel: true,
-	},
-	xAxis: {
-		type: 'category',
-		axisLine: {
-			show: true, // 隐藏轴线
-		},
-		axisLabel: {
-			color: '#383838',
-			// interval: 0, // 显示所有标签
-		},
-		data: [],
-	},
-	yAxis: [
-		{
-			type: 'value',
-			name: '',
-			nameTextStyle: {
-				color: '#E6F7FF',
-				fontSize: '1rem',
-				padding: [-8, 0, 0, 0], // 调整单位文字位置,向左偏移
-				verticalAlign: 'top',
-				lineHeight: 12,
-			},
-			axisLabel: {
-				interval: 0, // 显示所有标签
-				color: '#383838',
-				fontFamily: 'Source Han Sans CN, Source Han Sans CN',
-				fontWeight: 400,
-				fontSize: 10,
-			},
-			axisLine: {
-				lineStyle: {
-					color: '#383838',
-				},
-			},
-			splitLine: {
-				lineStyle: {
-					color: '#9A9A9A',
-					type: 'dashed', // 设置为虚线
-				},
-			},
-		},
-	
-	],
-	series: [],
-}
+  tooltip: {
+    trigger: 'axis',
+    axisPointer: {
+      type: 'shadow',
+    },
+  },
+  legend: {
+    itemWidth: 14,
+    itemHeight: 8,
+    data: ['待处理', '处理中', '已完成', '事件完成率'], // 确保包含所有系列名称
+    top: '-1%',
+    textStyle: {
+      color: '#383838',
+      fontSize: 12,
+    },
+  },
+  grid: {
+    // top: '5%',
+    left: 0,
+    right: 0,
+    bottom: 0,
+    containLabel: true,
+  },
+  xAxis: {
+    type: 'category',
+    axisLine: {
+      show: true, // 隐藏轴线
+       lineStyle: {
+          color: '#cdd5e2',
+        },
+    },
+    axisLabel: {
+      color: '#383838',
+      // interval: 0, // 显示所有标签
+    },
+    data: [],
+  },
+  yAxis: [
+    {
+      type: 'value',
+      name: '',
+      nameTextStyle: {
+        color: '#E6F7FF',
+        fontSize: '1rem',
+        padding: [-8, 0, 0, 0], // 调整单位文字位置,向左偏移
+        verticalAlign: 'top',
+        lineHeight: 12,
+      },
+      axisLabel: {
+        interval: 0, // 显示所有标签
+        color: '#383838',
+        fontFamily: 'Source Han Sans CN, Source Han Sans CN',
+        fontWeight: 400,
+        fontSize: 10,
+      },
+      axisLine: {
+        lineStyle: {
+          color: '#383838',
+        },
+      },
+      splitLine: {
+        lineStyle: {
+          color: '#cdd5e2',
+          type: 'dashed', // 设置为虚线
+        },
+      },
+    },
+  ],
+  series: [],
+};
 
 const eventTypeList = ref([
-	{ name: '待处理', value: 0, color: '#FF7411' },
-	{ name: '处理中', value: 0, color: '#FFFF61' },
-	{ name: '已完成', value: 0, color: '#06D957' },
-])
-const seriesObj = {}
+  { name: '待处理', value: 0, color: '#FF7411' },
+  { name: '处理中', value: 0, color: '#FFFF61' },
+  { name: '已完成', value: 0, color: '#06D957' },
+]);
+const seriesObj = {};
 eventTypeList.value.forEach(item => {
-	seriesObj[item.name] = {
-		type: 'bar',
-		stack: 'Ad',
-		barWidth: 8,
-		emphasis: {
-			focus: 'series',
-		},
-		name: item.name,
-		itemStyle: { color: item.color },
-		data: [],
-	}
-})
-const echartsRef = ref(null)
-let { chart } = useEchartsResize(echartsRef)
-
-
+  seriesObj[item.name] = {
+    type: 'bar',
+    stack: 'Ad',
+    barWidth: 8,
+    emphasis: {
+      focus: 'series',
+    },
+    name: item.name,
+    itemStyle: { color: item.color },
+    data: [],
+  };
+});
+const echartsRef = ref(null);
+let { chart } = useEchartsResize(echartsRef);
 // 获取柱状图数据
 const getBarChartData = value => {
-	getdisposeApi(value).then(res => {
-		const list = res?.data?.data || []
-		echartsOption.xAxis.data = list.map(item => item.name)
-		// 赋值前清空数据
-		Object.keys(seriesObj).forEach(key => {
-			seriesObj[key].data = []
-		})
-		list.forEach(item => {
-			item.data.forEach((item1, index) => {
-				if (!seriesObj?.[item1.name]) return
-				seriesObj[item1.name].data.push(item1.value)
-			})
-		})
+  getdisposeApi(value).then(res => {
+    const list = res?.data?.data || [];
+    echartsOption.xAxis.data = list.map(item => item.name);
+    // 赋值前清空数据
+    Object.keys(seriesObj).forEach(key => {
+      seriesObj[key].data = [];
+    });
+    list.forEach(item => {
+      item.data.forEach((item1, index) => {
+        if (!seriesObj?.[item1.name]) return;
+        seriesObj[item1.name].data.push(item1.value);
+      });
+    });
 
-		echartsOption.series = Object.values(seriesObj)
-	
-		chart.value.setOption(echartsOption)
-	})
-}
+    echartsOption.series = Object.values(seriesObj);
+
+    chart.value.setOption(echartsOption);
+  });
+};
 onMounted(() => {
-	getBarChartData(params.value)
-})
+  getBarChartData(params.value);
+});
 </script>
 
 <style scoped lang="scss">
@@ -172,8 +170,8 @@
   background: #ffffff !important;
   margin-top: 10px;
   margin-left: 10px;
-  height: 100%;
-.card-title {
+  height: pxToVh(400);
+  .card-title {
     display: flex;
     margin-bottom: 10px;
     align-items: center;
@@ -215,8 +213,8 @@
     }
   }
 }
- 
-  .time-card {
+
+.time-card {
   text-align: center;
   // height: 30px;
   height: pxToVh(30);
@@ -256,9 +254,9 @@
   }
 }
 .chart {
-		width: 98%;
-		height: 250px;
-		padding-left: 15px;
-		margin-top: 27px;
-	}
-</style>
\ No newline at end of file
+  width: 98%;
+  height: 265px;
+  padding-left: 10px;
+  margin-top: 27px;
+}
+</style>

--
Gitblit v1.9.3