From bec7efb74cb9350dc720fb1ea641f06d7316b4dc Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Fri, 09 May 2025 16:24:41 +0800
Subject: [PATCH] 个人工作台

---
 src/views/wel/components/flyratio.vue |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/src/views/wel/components/flyratio.vue b/src/views/wel/components/flyratio.vue
index 08cb6fc..00c6fbe 100644
--- a/src/views/wel/components/flyratio.vue
+++ b/src/views/wel/components/flyratio.vue
@@ -4,7 +4,7 @@
       <div class="card-title">
         <img :src="jc1" alt="" />
         <div class="cardtotal">
-          <p>机巢事件数量排名</p>
+          <p>机巢工单数量排名</p>
           <!-- <div class="total-number">111</div>
           <span>个</span> -->
         </div>
@@ -36,21 +36,41 @@
 const echartsRef = ref(null);
 let { chart: jcchart } = useEchartsResize(echartsRef);
 const jcOrder = ref([]);
+const props = defineProps({
+  dateSelect: {
+    type: String,
+  },
+});
+const params = reactive({
+  date_enum: props.dateSelect,
+});
 // 获取机巢事件数据
-const getIndustryJobNumPieChart = value => {
-  industryJobNumPieChart(value).then(res => {
-    console.log('ppp', res);
-
+const getIndustryJobNumPieChart = () => {
+  industryJobNumPieChart(params).then(res => {
     const resList = res?.data?.data || [];
     jcOrder.value = resList;
     pieInit(resList);
   });
 };
+watch(
+  () => props.dateSelect,
+  newVal => {
+    params.date_enum = newVal;
+    getIndustryJobNumPieChart();
+  },
+  { immediate: true }
+);
 const pieInit = resList => {
   // 处理数据,过滤掉没有name的项
   const validData = resList.filter(item => item.name);
-
-  // 准备图表数据
+  const colors = [
+  '#F87E04',  
+  '#FFC400',  
+  '#08BC44', 
+  '#07B5FF',  
+  '#A98DFF',  
+  '#9ABFFF'  
+];
   const optionData = {
     yAxisData: validData.map(item => item.name),
     seriesData: validData.map(item => item.value),
@@ -102,10 +122,18 @@
         type: 'bar',
         data: optionData.seriesData, // 使用处理后的数值数据
         itemStyle: {
-          color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [
+          // 修改为根据索引返回不同颜色
+        color: (params) => {
+          if (params.dataIndex < 5) {
+            // 前5条使用固定颜色
+            return colors[params.dataIndex % colors.length];
+          }
+          // 第6条及之后保持原渐变
+          return new echarts.graphic.LinearGradient(0, 0, 1, 0, [
             { offset: 0, color: '#93BAFF' },
-            { offset: 1, color: '#C5DEFF' },
-          ]),
+            { offset: 1, color: '#C5DEFF' }
+          ]);
+        }
         },
         barWidth: '30%',
         label: {
@@ -120,12 +148,13 @@
   jcchart.value.setOption(option);
 };
 onMounted(() => {
-  getIndustryJobNumPieChart({ date_enum: 'CURRENT_WEEK' });
+  getIndustryJobNumPieChart();
 });
 </script>
 
 <style scoped lang="scss">
 .machineNest {
+width: 100%;
   .nestTop {
     .card-title {
       display: flex;

--
Gitblit v1.9.3