刘洋 преди 1 година
родител
ревизия
07b00999ed
променени са 4 файла, в които са добавени 49 реда и са изтрити 38 реда
  1. 11 7
      src/utils/chart.js
  2. 5 4
      src/views/report/project-analysis/index.vue
  3. 30 27
      src/views/report/service-analysis/index.vue
  4. 3 0
      src/views/sop/sop-manage/sop-step/index.vue

+ 11 - 7
src/utils/chart.js

@@ -307,6 +307,8 @@ export const createCakePieOption = (
     center = ['35%', '50%'],
     seriesName = '',
     radius = [0, 60],
+    showLegendValue = true,
+    showLegendPercent = true,
   },
   extend = {}
 ) => {
@@ -336,7 +338,9 @@ export const createCakePieOption = (
           let percent =
             total == 0 ? 0 : ((item?.value / total) * 100).toFixed(2);
           return item?.value
-            ? `${name} ${item?.value} (${percent + '%'})`
+            ? `${name}${showLegendValue ? ' ' + item?.value : ''}${
+                showLegendPercent ? '(' + percent + '%' + ')' : ''
+              }`
             : `${name}`;
         },
       },
@@ -435,12 +439,12 @@ export const createWaterBallOption = (
             color: `rgba(${color},0.26)`,
           },
           outline: {
-            // borderDistance: 0,
-            // itemStyle: {
-            //   borderWidth: 10,
-            //   borderColor: `rgba(${color},0.5)`,
-            // },
-            show: false,
+            borderDistance: 0,
+            itemStyle: {
+              borderWidth: 5,
+              borderColor: `rgba(${color},0.5)`,
+            },
+            // show: false,
           },
           // amplitude: 0,
         },

+ 5 - 4
src/views/report/project-analysis/index.vue

@@ -142,12 +142,12 @@ const {
   run: run4,
 } = useRequest(projectProcessAnalysis);
 const options4 = computed(() => {
-  let actual = result4?.actual || [];
-  let plan = result4?.plan || [];
+  let actual = result4.value?.actual || [];
+  let plan = result4.value?.plan || [];
   let xData = Array.from(
     new Set([
-      ...actual.filter((item) => item.datetime),
-      ...plan.filter((item) => item.datetime),
+      ...actual.map((item) => item.datetime),
+      ...plan.map((item) => item.datetime),
     ])
   );
   xData.sort();
@@ -223,6 +223,7 @@ const options2 = computed(() => {
       radius: [0, 70],
       center: ['50%', '40%'],
       seriesName: '总体分布占比',
+      showLegendValue: false,
     },
     {
       legend: {

+ 30 - 27
src/views/report/service-analysis/index.vue

@@ -430,52 +430,54 @@ const options3 = computed(() => {
 });
 
 const options41 = computed(() => {
-  let projectRoleQuota = result4.value?.projectRoleQuota || {};
+  let projectRoleQuota = result4.value?.projectRoleQuota;
   return createWaterBallOption({
-    data: projectRoleQuota.effectQuota
+    data: projectRoleQuota?.effectQuota
       ? projectRoleQuota.effectDistributed / projectRoleQuota.effectQuota
       : 0,
-    title:
-      projectRoleQuota.effectQuota - projectRoleQuota.effectDistributed
-        ? `剩${
-            projectRoleQuota.effectQuota - projectRoleQuota.effectDistributed
-          }配额`
-        : '无数据',
+    title: projectRoleQuota
+      ? `剩${
+          projectRoleQuota.effectQuota - projectRoleQuota.effectDistributed
+        }配额`
+      : loading4.value
+      ? 'Loading...'
+      : '无数据',
     radius: '80%',
   });
 });
 const options42 = computed(() => {
-  let projectRoleQuota = result4.value?.projectRoleQuota || {};
+  let projectRoleQuota = result4.value?.projectRoleQuota;
   return createWaterBallOption({
-    data: projectRoleQuota.coordinatorQuota
+    data: projectRoleQuota?.coordinatorQuota
       ? projectRoleQuota.coordinatorDistributed /
         projectRoleQuota.coordinatorQuota
       : 0,
-    title:
-      projectRoleQuota.coordinatorQuota -
-      projectRoleQuota.coordinatorDistributed
-        ? `剩${
-            projectRoleQuota.coordinatorQuota -
-            projectRoleQuota.coordinatorDistributed
-          }配额`
-        : '无数据',
+    title: projectRoleQuota
+      ? `剩${
+          projectRoleQuota.coordinatorQuota -
+          projectRoleQuota.coordinatorDistributed
+        }配额`
+      : loading4.value
+      ? 'Loading...'
+      : '无数据',
     radius: '80%',
     color: '35, 195, 67',
   });
 });
 const options43 = computed(() => {
-  let projectRoleQuota = result4.value?.projectRoleQuota || {};
+  let projectRoleQuota = result4.value?.projectRoleQuota;
   return createWaterBallOption({
-    data: projectRoleQuota.assistantQuota
+    data: projectRoleQuota?.assistantQuota
       ? projectRoleQuota.assistantDistributed / projectRoleQuota.assistantQuota
       : 0,
-    title:
-      projectRoleQuota.assistantQuota - projectRoleQuota.assistantDistributed
-        ? `剩${
-            projectRoleQuota.assistantQuota -
-            projectRoleQuota.assistantDistributed
-          }配额`
-        : '无数据',
+    title: projectRoleQuota
+      ? `剩${
+          projectRoleQuota.assistantQuota -
+          projectRoleQuota.assistantDistributed
+        }配额`
+      : loading4.value
+      ? 'Loading...'
+      : '无数据',
     radius: '80%',
     color: '255, 154, 46',
   });
@@ -593,6 +595,7 @@ const options8 = computed(() => {
             justify-content: space-around;
             .chart-item {
               width: 33.3%;
+              max-width: 246px;
               height: 100%;
               display: flex;
               flex-direction: column;

+ 3 - 0
src/views/sop/sop-manage/sop-step/index.vue

@@ -512,6 +512,9 @@ const curFormConfig = computed(() => {
           };
         });
       }
+      if (field.formId.startsWith('week_people_day')) {
+        field.value = crmInfo.value.peoperDay;
+      }
     });
   }
   return formProperty;