xdd 1 dzień temu
rodzic
commit
3f53c38a09
1 zmienionych plików z 39 dodań i 36 usunięć
  1. 39 36
      src/views/statistics/section/inline.vue

+ 39 - 36
src/views/statistics/section/inline.vue

@@ -131,8 +131,10 @@ import {
   getDeptData,
   exportSellerData, listInlineList,exportInlineList
 } from '@/api/system/employeeStats'
+import {getCompanyList} from "@/api/company/company";
 import {getUserList} from "@/api/company/companyUser";
 import SelectTree from "@/components/TreeSelect/index.vue";
+import { exportLineCustomer } from '@/api/crm/customer'
 
 export default {
   name: "EmployeeStats",
@@ -211,48 +213,48 @@ export default {
           return;
         }
 
-        const values = data.map(item => Number(item[column.property]));
+        // 定义所有需要求和的列
+        const sumColumns = [
+          'periodPersonNum', 'periodNum', 'sendNum', 'notRegisteredNum', 'registeredNum',
+          'interruptNum', 'completedNum', 'qwRepeatNum', 'userRepeatNum', 'blackNum', 'deletedNum',
+          'orderNum', 'orderMoneyTotal', 'redPackageMoneyTotal', 'callNum', 'receivePassNum',
+          'receiveNotNum', 'callTimeTotal', 'remindPendingNum', 'remindProcessedNum',
+          // 增加其他所有需要计算的数值列
+          'deleteNum', 'lineNum', 'orderTotalNum'
+        ];
 
-        if (['periodPersonNum','periodNum', 'sendNum', 'notRegisteredNum', 'registeredNum',
-        'interruptNum', 'completedNum', 'qwRepeatNum', 'userRepeatNum','blackNum','deletedNum',
-        'orderNum','orderMoneyTotal','redPackageMoneyTotal','callNum','receivePassNum','receiveNotNum',
-      'callTimeTotal','remindPendingNum','remindProcessedNum'].includes(column.property)) {
-          if (!values.every(value => isNaN(value))) {
-            sums[index] = values.reduce((prev, curr) => {
-              const value = Number(curr);
-              if (!isNaN(value)) {
-                return prev + curr;
-              } else {
-                return prev;
-              }
-            }, 0);
-          } else {
-            sums[index] = 'N/A';
-          }
-          if(['orderMoneyTotal','redPackageMoneyTotal'].includes(column.property)){
+        const rateColumns = ['regRate', 'finishedRate'];
+
+        if (sumColumns.includes(column.property)) {
+          const values = data.map(item => Number(item[column.property]) || 0);
+          sums[index] = values.reduce((prev, curr) => prev + curr, 0);
+
+          if(['orderMoneyTotal', 'redPackageMoneyTotal'].includes(column.property)){
             sums[index] = sums[index].toFixed(2);
           }
         }
-        else if (column.property === 'regRate') {
-          const totalRegistered = data.reduce((sum, item) => sum + (Number(item.registeredNum) || 0), 0);
-          const totalSendNum = data.reduce((sum, item) => sum + (Number(item.sendNum) || 0), 0);
+        else if (rateColumns.includes(column.property)) {
+          if (column.property === 'regRate') {
+            const totalRegistered = data.reduce((sum, item) => sum + (Number(item.registeredNum) || 0), 0);
+            const totalSendNum = data.reduce((sum, item) => sum + (Number(item.sendNum) || 0), 0);
 
-          if (totalSendNum > 0) {
-            const rate = (totalRegistered / totalSendNum * 100).toFixed(2);
-            sums[index] = `${rate}%`;
-          } else {
-            sums[index] = '0.00%';
+            if (totalSendNum > 0) {
+              const rate = (totalRegistered / totalSendNum * 100).toFixed(2);
+              sums[index] = `${rate}%`;
+            } else {
+              sums[index] = '0.00%';
+            }
           }
-        }
-        else if (column.property === 'finishedRate') {
-          const totalCompleted = data.reduce((sum, item) => sum + (Number(item.completedNum) || 0), 0);
-          const totalSendNum = data.reduce((sum, item) => sum + (Number(item.sendNum) || 0), 0);
+          else if (column.property === 'finishedRate') {
+            const totalCompleted = data.reduce((sum, item) => sum + (Number(item.completedNum) || 0), 0);
+            const totalSendNum = data.reduce((sum, item) => sum + (Number(item.sendNum) || 0), 0);
 
-          if (totalSendNum > 0) {
-            const rate = (totalCompleted / totalSendNum * 100).toFixed(2);
-            sums[index] = `${rate}%`;
-          } else {
-            sums[index] = '0.00%';
+            if (totalSendNum > 0) {
+              const rate = (totalCompleted / totalSendNum * 100).toFixed(2);
+              sums[index] = `${rate}%`;
+            } else {
+              sums[index] = '0.00%';
+            }
           }
         }
         else {
@@ -261,7 +263,8 @@ export default {
       });
 
       return sums;
-    },
+    }
+    ,
     handleCompanyUserId(val){
       if(val == null || val === '') {
         this.queryParams.companyUserId = null;