tjx
2025-11-04 aa89ca0a32631d365b42ab7d1e9dbb60a8ae8108
utils/equipmentInspection.js
@@ -1,12 +1,13 @@
// 设备点检接口辅助方法,预留后台接入并提供本地缓存降级逻辑
const STORAGE_PREFIX = 'equipment_inspection_cache_'; // 本地缓存前缀,便于调试阶段存储
const DAY_COUNT = 31;
const MONTH_COUNT = 12;
const DAILY_ITEM_COUNT = 6;  // 日常点检项目数量
const MONTHLY_ITEM_COUNT = 2;  // 月度点检项目数量
function buildDefaultRecord() {
   return {
      dailyChecks: Array(DAY_COUNT).fill(false),
      monthlyChecks: Array(MONTH_COUNT).fill(false)
      dailyChecks: Array(DAILY_ITEM_COUNT).fill(null).map(() => Array(DAY_COUNT).fill(false)),
      monthlyChecks: Array(MONTHLY_ITEM_COUNT).fill(null).map(() => Array(DAY_COUNT).fill(false))
   };
}
@@ -19,12 +20,51 @@
      return buildDefaultRecord();
   }
   const daily = Array.isArray(payload.dailyChecks) ? payload.dailyChecks.slice(0, DAY_COUNT) : [];
   const monthly = Array.isArray(payload.monthlyChecks) ? payload.monthlyChecks.slice(0, MONTH_COUNT) : [];
   // 验证并规范化日常点检数据(6项×31天)
   let dailyChecks = [];
   if (Array.isArray(payload.dailyChecks)) {
      dailyChecks = payload.dailyChecks.slice(0, DAILY_ITEM_COUNT).map(item => {
         if (Array.isArray(item)) {
            // 确保每项都是31天的数组
            const normalized = item.slice(0, DAY_COUNT);
            while (normalized.length < DAY_COUNT) {
               normalized.push(false);
            }
            return normalized;
         }
         // 如果不是数组,返回全false的31天数组
         return Array(DAY_COUNT).fill(false);
      });
   }
   // 补齐到6项
   while (dailyChecks.length < DAILY_ITEM_COUNT) {
      dailyChecks.push(Array(DAY_COUNT).fill(false));
   }
   // 验证并规范化月度点检数据(2项×31天)
   let monthlyChecks = [];
   if (Array.isArray(payload.monthlyChecks)) {
      monthlyChecks = payload.monthlyChecks.slice(0, MONTHLY_ITEM_COUNT).map(item => {
         if (Array.isArray(item)) {
            // 确保每项都是31天的数组
            const normalized = item.slice(0, DAY_COUNT);
            while (normalized.length < DAY_COUNT) {
               normalized.push(false);
            }
            return normalized;
         }
         // 如果不是数组,返回全false的31天数组
         return Array(DAY_COUNT).fill(false);
      });
   }
   // 补齐到2项
   while (monthlyChecks.length < MONTHLY_ITEM_COUNT) {
      monthlyChecks.push(Array(DAY_COUNT).fill(false));
   }
   return {
      dailyChecks: [...daily, ...Array(Math.max(0, DAY_COUNT - daily.length)).fill(false)],
      monthlyChecks: [...monthly, ...Array(Math.max(0, MONTH_COUNT - monthly.length)).fill(false)]
      dailyChecks,
      monthlyChecks
   };
}