3
0
Эх сурвалжийг харах

[Mod 0000]修改系统首页数据处理

wangkeyi 3 сар өмнө
parent
commit
ed4bc8f92c

+ 6 - 6
src/views/dashboard/SealedGoaf/configurable.data.sealedGoaf.ts

@@ -75,7 +75,7 @@ export const testConfigSealedGoaf: Config[] = [
         show: true,
         readFrom: '',
         selector: { show: false, value: '' },
-        slot: { show: true, value: '(总计:${productionStatusData[0].num})' },
+        slot: { show: true, value: '(总计:${totalNum.productionNum})' },
       },
       background: { show: false, type: 'video', link: '' },
       layout: {
@@ -278,7 +278,7 @@ export const testConfigSealedGoaf: Config[] = [
         },
         slot: {
           show: true,
-          value: '(总计:211)',
+          value: '(总计:${totalNum.alarmNum.alarmTotal})',
         },
       },
       background: {
@@ -309,19 +309,19 @@ export const testConfigSealedGoaf: Config[] = [
           items: [
             {
               label: '低风险',
-              value: '1',
+              value: '${totalNum.alarmNum.alarm1Total}',
             },
             {
               label: '一般风险',
-              value: '1',
+              value: '${totalNum.alarmNum.alarm2Total}',
             },
             {
               label: '较高风险',
-              value: '1',
+              value: '${totalNum.alarmNum.alarm3Total}',
             },
             {
               label: '高风险',
-              value: '4',
+              value: '${totalNum.alarmNum.alarm4Total}',
             },
           ],
         },

+ 40 - 4
src/views/dashboard/SealedGoaf/index.vue

@@ -27,7 +27,23 @@
 
   const cfgs = computed(() => configs.value);
   const { configs, fetchConfigs } = useInitConfigs();
-  const mineData = ref({}); // 所有数据汇总
+  const mineData = ref({
+    coalSeamFireData: null,
+    productionStatusData: null,
+    overLimitData: null,
+    goafAlarmData: null,
+    goafAlarmLevel: null,
+    totalNum: {
+      productionNum: 0, // 原有生产状态总计
+      alarmNum: {
+        alarm1Total: 0,   // alarm1 总计
+        alarm2Total: 0,   // alarm2 总计
+        alarm3Total: 0,   // alarm3 总计
+        alarm4Total: 0,   // alarm4 总计
+        alarmTotal: 0     // 所有alarm总计
+      }
+    },
+  }); // 所有数据汇总
 
   onMounted(async () => {
     try {
@@ -43,10 +59,30 @@
         getGoafAlarmLevel({ mineCode: '100008' }),
       ]);
 
-      // 3. 把接口数据赋值给响应式变量(备用)
-      mineData.value = { coalSeamFireData, productionStatusData, overLimitData, goafAlarmData, goafAlarmLevel };
-      console.log('接口数据:', mineData.value);
+      const totalProductionNum = Array.isArray(productionStatusData) ? productionStatusData.reduce((sum, item) => sum + (item.num || 0), 0) : 0;
+
+      let alarm1Total = 0;
+      let alarm2Total = 0;
+      let alarm3Total = 0;
+      let alarm4Total = 0;
+
+      // 遍历数组累加(边界处理:确保是数组,字段非数字则取0)
+      if (Array.isArray(goafAlarmData)) {
+        goafAlarmData.forEach(item => {
+          alarm1Total += Number(item.alarm1) || 0;
+          alarm2Total += Number(item.alarm2) || 0;
+          alarm3Total += Number(item.alarm3) || 0;
+          alarm4Total += Number(item.alarm4) || 0;
+        });
+      }
+
+      // 计算所有alarm的总合计
+      const alarmTotal = alarm1Total + alarm2Total + alarm3Total + alarm4Total;
+      // console.log('所有alarm的总合计:', alarmTotal);
+      const totalNum = { productionNum: totalProductionNum, alarmNum: { alarm1Total, alarm2Total, alarm3Total, alarm4Total, alarmTotal } };
 
+            // 3. 把接口数据赋值给响应式变量(备用)
+      mineData.value = { coalSeamFireData, productionStatusData, overLimitData, goafAlarmData, goafAlarmLevel, totalNum };
       // 4. 赋值更新后的配置到configs(触发组件重新渲染)
       if (configs.value.length === 0) {
         configs.value = [...testConfigSealedGoaf]; // 解构触发响应式更新