Ver Fonte

Merge branch 'release_v1.0.1' of http://git.qmth.com.cn/sop/web into release_v1.0.1

刘洋 há 1 ano atrás
pai
commit
440a48777b

+ 45 - 18
src/utils/chart.js

@@ -354,7 +354,18 @@ export const createCakePieOption = (
           center: center,
           data: data,
           label: {
-            show: false,
+            show: true,
+            position: 'inside',
+            textStyle: {
+              fontSize: '14',
+              color: '#FFFFFF',
+            },
+            // formatter: '{d}%',
+            formatter: (obj) => {
+              return obj.value == 0
+                ? ''
+                : ((obj.value / total) * 100).toFixed(2) + '%';
+            },
           },
         },
       ],
@@ -544,7 +555,7 @@ export const createPercentBarOption = (
       calculable: true,
       grid: {
         left: '1%',
-        right: '4%',
+        right: '5%',
         bottom: '1%',
         containLabel: true,
       },
@@ -567,18 +578,36 @@ export const createPercentBarOption = (
           },
         },
       ],
-      xAxis: [
-        {
-          type: 'value',
-          splitArea: { show: true },
+      xAxis: {
+        type: 'value',
+        splitArea: { show: true },
+        axisLabel: {
+          formatter: '{value}%',
+          color: '#8c8c8c',
+          textStyle: {
+            fontSize: 12,
+          },
         },
-      ],
-      series: sData.map((item, index) => ({
-        name: legendData[index],
-        type: 'bar',
-        stack: '百分比',
-        data: item,
-      })),
+      },
+      series: sData.map((item, index) => {
+        return {
+          name: legendData[index],
+          type: 'bar',
+          stack: '百分比',
+          data: item,
+          label: {
+            // show: true,
+            normal: {
+              show: true,
+              // position: 'insideRight',
+              color: '#fff',
+              formatter: (obj) => {
+                return obj.value == 0 ? '' : obj.value + '%';
+              },
+            },
+          },
+        };
+      }),
     },
     extend
   );
@@ -615,11 +644,9 @@ export const createLineOption = ({ sData = [], xData = [] }, extend = {}) => {
         },
         data: xData,
       },
-      yAxis: [
-        {
-          type: 'value',
-        },
-      ],
+      yAxis: {
+        type: 'value',
+      },
       series: sData.map((item, index) => ({
         name: item.name,
         type: 'line',

+ 2 - 1
src/views/report/dispatch-analysis/index.vue

@@ -132,7 +132,7 @@
                     <div
                       class="status"
                       :class="{ finished: item.rate === '100%' }"
-                      >{{ item.rate === '100%' ? '已完成' : '未完成' }}</div
+                      >{{ item.rate === '100%' ? '已完成' : '已发布' }}</div
                     >
                     <div class="process-box">
                       <div class="process" :style="{ width: item.rate }"></div>
@@ -167,6 +167,7 @@
       v-model:visible="showMonthDispatchDrill"
       :data="monthDispatchDrillData"
       :footer="false"
+      :timeParams="timeParams"
     ></MonthDispatchDrillDialog>
     <RegionDispatchDrillDialog
       v-model:visible="showRegionDispatchDrill"

+ 3 - 0
src/views/report/dispatch-analysis/month-dispatch-drill-dialog.vue

@@ -63,6 +63,7 @@ const tableColumns = [
 const props = defineProps({
   visible: Boolean,
   data: Object,
+  timeParams: Object,
 });
 const emit = defineEmits(['close']);
 
@@ -77,6 +78,8 @@ const transParams = computed(() => {
     type: props.data?.type,
     month: props.data?.month,
     year: props.data?.year,
+    startTime: props.timeParams.startTime,
+    endTime: props.timeParams.endTime,
   };
 });
 

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

@@ -144,6 +144,7 @@ const {
 const options4 = computed(() => {
   let actual = result4.value?.actual || [];
   let plan = result4.value?.plan || [];
+
   let xData = Array.from(
     new Set([
       ...actual.map((item) => item.datetime),
@@ -151,17 +152,25 @@ const options4 = computed(() => {
     ])
   );
   xData.sort();
-  let data1 = actual.map((item) => {
-    return xData.includes(item.datetime) ? item.count : 0;
+  let data1 = xData.map((datetime) => {
+    let find1 = actual.find((item) => item.datetime == datetime);
+    return find1 ? find1.count : 0;
   });
-  let data2 = plan.map((item) => {
-    return xData.includes(item.datetime) ? item.count : 0;
+  let data2 = xData.map((datetime) => {
+    let find2 = plan.find((item) => item.datetime == datetime);
+    return find2 ? find2.count : 0;
   });
+  // let data1 = actual.map((item) => {
+  //   return xData.includes(item.datetime) ? item.count : 0;
+  // });
+  // let data2 = plan.map((item) => {
+  //   return xData.includes(item.datetime) ? item.count : 0;
+  // });
   let sData = [
     { name: '实际', data: data1 },
     { name: '计划', data: data2 },
   ];
-  return createLineOption({ xData, sData });
+  return createLineOption({ xData, sData }, { yAxis: { name: '单位:人/天' } });
 });
 
 watch(serviceId, (serviceId) => {

+ 13 - 9
src/views/report/service-analysis/index.vue

@@ -335,6 +335,12 @@ watch(serviceId, (serviceUnitId) => {
   run6({ serviceUnitId });
   run7({ serviceUnitId });
   run8({ serviceUnitId });
+
+  runGetRegionList({ serviceUnitId: serviceId.value }).then((res) => {
+    if (res && res.length) {
+      regionId.value = res[0].region_id;
+    }
+  });
 });
 
 const supplierId = ref('');
@@ -342,8 +348,6 @@ const supplierOptions = computed(() => {
   return (result2.value?.supplierDistribution || []).map((item) => {
     return { ...item, label: item.name, value: item.id };
   });
-  //与result2相关,转换数据即可
-  return [];
 });
 const regionId = ref('');
 const regionOptions = computed(() => {
@@ -365,13 +369,13 @@ watch(supplierId, (supplierId) => {
       obj1 && (ssgcsNum.value = obj1.count);
       obj2 && (qyxtrNum.value = obj2.count);
     });
-    runGetRegionList({ serviceUnitId: serviceId.value, supplierId }).then(
-      (res) => {
-        if (res && res.length) {
-          regionId.value = res[0].region_id;
-        }
-      }
-    );
+    // runGetRegionList({ serviceUnitId: serviceId.value, supplierId }).then(
+    //   (res) => {
+    //     if (res && res.length) {
+    //       regionId.value = res[0].region_id;
+    //     }
+    //   }
+    // );
   }
 });
 watch(regionId, (regionId) => {