From d4e256eeee38fb296a0f30dbc9a88172b53e3693 Mon Sep 17 00:00:00 2001 From: yang chen Date: Tue, 30 Dec 2025 09:01:29 +0800 Subject: [PATCH] =?UTF-8?q?refactor(screen):=20=E7=A7=BB=E9=99=A4=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E8=BF=87=E6=9C=9F=E6=A3=80=E6=9F=A5=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除了 mainScreen.vue 和 regionScreen.vue 中的缓存过期时间检查逻辑 - 简化了缓存数据的读取流程,直接返回缓存数据 - 调整了 regionScreen.vue 中风险预警详情数据的赋值缩进 - 优化了维保任务和巡检任务API调用的参数格式 - 统一了代码中的空行和缩进格式 --- src/views/screen/mainScreen.vue | 15 ++++-------- src/views/screen/regionScreen.vue | 39 ++++++++++++++++--------------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/src/views/screen/mainScreen.vue b/src/views/screen/mainScreen.vue index 85cf4ca..d049cec 100644 --- a/src/views/screen/mainScreen.vue +++ b/src/views/screen/mainScreen.vue @@ -231,15 +231,8 @@ const getCachedRegionOption = (): any[] | null => { const cached = sessionStorage.getItem(CACHE_KEY) if (cached) { const cacheData: CacheData = JSON.parse(cached) - const now = Date.now() // 检查缓存是否在有效期内 - if (now - cacheData.timestamp < CACHE_DURATION) { - console.log('使用缓存的 regionOption 数据') - return cacheData.records - } else { - console.log('缓存已过期,清除缓存') - sessionStorage.removeItem(CACHE_KEY) - } + return cacheData.records } } catch (error) { console.error('读取缓存失败:', error) @@ -269,13 +262,13 @@ onMounted(async () => { // 先检查缓存 const cachedRecords = getCachedRegionOption() let records = cachedRecords - + if (!records || records.length === 0) { // 缓存不存在或已过期,调用接口 try { let result = await getTableList('park_info_list') records = result.records || [] - + if (records && records.length > 0) { // 保存到缓存 setCachedRegionOption(records) @@ -285,7 +278,7 @@ onMounted(async () => { records = [] } } - + if (records && records.length > 0) { // 去重region字段,使用Map来确保唯一性 const regionMap = new Map() diff --git a/src/views/screen/regionScreen.vue b/src/views/screen/regionScreen.vue index 5f973ec..902b079 100644 --- a/src/views/screen/regionScreen.vue +++ b/src/views/screen/regionScreen.vue @@ -237,15 +237,8 @@ const getCachedRegionOption = (): any[] | null => { const cached = sessionStorage.getItem(CACHE_KEY) if (cached) { const cacheData: CacheData = JSON.parse(cached) - const now = Date.now() // 检查缓存是否在有效期内 - if (now - cacheData.timestamp < CACHE_DURATION) { - console.log('使用缓存的 regionOption 数据') - return cacheData.records - } else { - console.log('缓存已过期,清除缓存') - sessionStorage.removeItem(CACHE_KEY) - } + return cacheData.records } } catch (error) { console.error('读取缓存失败:', error) @@ -282,13 +275,13 @@ onMounted(async () => { // 先检查缓存 const cachedRecords = getCachedRegionOption() let records = cachedRecords - + if (!records || records.length === 0) { // 缓存不存在或已过期,调用接口 try { let result = await getTableList('park_info_list') records = result.records || [] - + if (records && records.length > 0) { // 保存到缓存 setCachedRegionOption(records) @@ -298,7 +291,7 @@ onMounted(async () => { records = [] } } - + if (records && records.length > 0) { // 根据regionCode过滤,去重park_name字段 const regionMap = new Map() @@ -414,7 +407,7 @@ const loadDashboardData = async (): Promise => { // 获取风险预警详情数据 getTableList('risk_alert_detail', query).then(risk_alert_detail => { // if (risk_alert_detail.records && risk_alert_detail.records.length > 0) { - dashboardData.value.alertData.details = risk_alert_detail.records || [] + dashboardData.value.alertData.details = risk_alert_detail.records || [] // } }).catch(error => { console.error('获取风险预警详情数据失败:', error) @@ -512,7 +505,7 @@ const handleHiddenDangerPannelData = (query) => { processingCnt = totalCnt > 0 ? ((_data.processing + _data2.processing) / totalCnt * 100).toFixed(2) : '0.00' pendingCnt = totalCnt > 0 ? ((_data.pending + _data2.pending) / totalCnt * 100).toFixed(2) : '0.00' } - + dashboardData.value.hiddenDangerData.progress = { overdue: overdueCnt, processed: processedCnt, @@ -643,13 +636,21 @@ const handleRiskTabChange = async (tab: TabType) => { // 同时获取维保任务和巡检任务的数据 const [maintenanceResponse, inspectionResponse] = await Promise.all([ - getWorkOrderStatistics({workOrderType, taskType: '维保任务', campus_id: query.campus_id}).catch(error => { + getWorkOrderStatistics({ + workOrderType, + taskType: '维保任务', + campus_id: query.campus_id + }).catch(error => { console.error('获取维保任务数据失败:', error) - return { records: [] } + return {records: []} }), - getWorkOrderStatistics({workOrderType, taskType: '巡检任务', campus_id: query.campus_id}).catch(error => { + getWorkOrderStatistics({ + workOrderType, + taskType: '巡检任务', + campus_id: query.campus_id + }).catch(error => { console.error('获取巡检任务数据失败:', error) - return { records: [] } + return {records: []} }) ]) @@ -681,7 +682,7 @@ const handleRiskTabChange = async (tab: TabType) => { // 将API数据转换为图表数据格式 const convertToChartData = (records: any[], taskTypeName: string): any[] => { const charts: any[] = [] - + // 按周期分组 const cycleGroups: Record = {} records.forEach((record: any) => { @@ -696,7 +697,7 @@ const handleRiskTabChange = async (tab: TabType) => { cycles.forEach((cycle) => { const data = cycleGroups[cycle] || {} const title = `${cycleMap[cycle]}检查(${taskTypeName})` - + charts.push({ title, total: Number(data.total) || 0,