ylong hai 8 meses
pai
achega
73aba1513b
Modificáronse 1 ficheiros con 25 adicións e 12 borrados
  1. 25 12
      src/views/statistic/entry/index.vue

+ 25 - 12
src/views/statistic/entry/index.vue

@@ -111,19 +111,32 @@
 
             switch (column.property) {
                 case 'badRate': {
-                    // 不良率计算平均值
-                    const validValues = values.filter(
-                        (value) => value && !isNaN(value)
-                    );
-                    if (validValues.length > 0) {
-                        const sum = validValues.reduce(
-                            (prev, curr) => prev + curr,
-                            0
-                        );
-                        sums[index] =
-                            (sum / validValues.length).toFixed(2) + '%';
+                    // 不良率 = 品相极差总数 / 录入书籍总数
+                    const totalBadValues = data.map((item) => Number(item.totalBadNum || 0));
+                    const totalNumValues = data.map((item) => Number(item.totalNum || 0));
+                    
+                    const totalBadSum = totalBadValues.reduce((prev, curr) => {
+                        const value = Number(curr);
+                        if (!isNaN(value)) {
+                            return prev + value;
+                        } else {
+                            return prev;
+                        }
+                    }, 0);
+                    
+                    const totalNumSum = totalNumValues.reduce((prev, curr) => {
+                        const value = Number(curr);
+                        if (!isNaN(value)) {
+                            return prev + value;
+                        } else {
+                            return prev;
+                        }
+                    }, 0);
+                    
+                    if (totalNumSum > 0) {
+                        sums[index] = ((totalBadSum / totalNumSum) * 100).toFixed(2) + '%';
                     } else {
-                        sums[index] = '';
+                        sums[index] = '0.00%';
                     }
                     break;
                 }