tjx
2025-11-04 aa89ca0a32631d365b42ab7d1e9dbb60a8ae8108
样式调整1
已修改2个文件
90 ■■■■ 文件已修改
components/EquipmentInspection.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
utils/equipmentInspection.js 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
components/EquipmentInspection.vue
@@ -160,14 +160,32 @@
                    date: this.currentDate
                }, { mock: true, showLoading: true })
                if (record && record.dailyChecks) {
                // 验证并设置日常点检数据
                if (record && Array.isArray(record.dailyChecks) && record.dailyChecks.length === 6) {
                    // 确保每个子数组都是有效的数组
                    const isValid = record.dailyChecks.every(arr => Array.isArray(arr) && arr.length === 31)
                    if (isValid) {
                    this.dailyChecks = record.dailyChecks
                } else {
                    this.initChecks()
                        console.warn('日常点检数据格式不正确,使用默认值')
                        this.dailyChecks = this.dailyItems.map(() => Array(31).fill(false))
                    }
                } else {
                    this.dailyChecks = this.dailyItems.map(() => Array(31).fill(false))
                }
                if (record && record.monthlyChecks) {
                // 验证并设置月度点检数据
                if (record && Array.isArray(record.monthlyChecks) && record.monthlyChecks.length === 2) {
                    // 确保每个子数组都是有效的数组
                    const isValid = record.monthlyChecks.every(arr => Array.isArray(arr) && arr.length === 31)
                    if (isValid) {
                    this.monthlyChecks = record.monthlyChecks
                    } else {
                        console.warn('月度点检数据格式不正确,使用默认值')
                        this.monthlyChecks = this.monthlyItems.map(() => Array(31).fill(false))
                    }
                } else {
                    this.monthlyChecks = this.monthlyItems.map(() => Array(31).fill(false))
                }
                this.dirty = false
@@ -186,8 +204,20 @@
            }
            if (type === 'daily') {
                // 安全检查:确保数组和索引有效
                if (!Array.isArray(this.dailyChecks) || !Array.isArray(this.dailyChecks[itemIdx])) {
                    console.error('日常点检数据结构异常,重新初始化')
                    this.initChecks()
                    return
                }
                this.$set(this.dailyChecks[itemIdx], dayIdx, !this.dailyChecks[itemIdx][dayIdx])
            } else {
                // 安全检查:确保数组和索引有效
                if (!Array.isArray(this.monthlyChecks) || !Array.isArray(this.monthlyChecks[itemIdx])) {
                    console.error('月度点检数据结构异常,重新初始化')
                    this.initChecks()
                    return
                }
                this.$set(this.monthlyChecks[itemIdx], dayIdx, !this.monthlyChecks[itemIdx][dayIdx])
            }
            this.dirty = true
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
    };
}