集团不请求接口

This commit is contained in:
chenlin
2026-01-08 12:32:11 +08:00
parent 5462cdb292
commit 801530d011
2 changed files with 39 additions and 28 deletions

View File

@@ -202,17 +202,6 @@ const handleMajorClick = () => {
window.open('http://10.0.64.20/pms/workorder-list', '_blank')
}
watch(() => props.hiddenDangerData?.progress, (newVal, oldVal) => {
console.log('HiddenDangerPanel watch 触发progress 数据:', newVal, '旧数据:', oldVal)
// 确保每次数据变化都更新图表
if (newVal) {
refreshProcessCharts(newVal)
} else {
// 即使数据为空,也要显示空图表
refreshProcessCharts(null)
}
}, { deep: true, immediate: true })
// 辅助函数:安全地将值转换为数字,处理 NaN 和字符串 "NaN" 的情况
const safeNumber = (val: any): number => {
if (val === null || val === undefined || val === '' || val === 'NaN') {
@@ -310,11 +299,6 @@ const refreshProcessCharts = (process): void => {
// chartKey.value = Date.now()
}
watch(() => props.hiddenDangerData?.top3Types, (newVal) => {
refreshTop3TypesCharts(newVal)
}, { deep: true })
// 更新图表数据
const refreshTop3TypesCharts = (top3Types): void => {
if (!top3Types || !Array.isArray(top3Types) || top3Types.length === 0) {
@@ -336,6 +320,21 @@ const refreshTop3TypesCharts = (top3Types): void => {
top3TypesChartOption.value = option
}
watch(() => props.hiddenDangerData?.progress, (newVal, oldVal) => {
console.log('HiddenDangerPanel watch 触发progress 数据:', newVal, '旧数据:', oldVal)
// 确保每次数据变化都更新图表
if (newVal) {
refreshProcessCharts(newVal)
} else {
// 即使数据为空,也要显示空图表
refreshProcessCharts(null)
}
}, { deep: true, immediate: true })
watch(() => props.hiddenDangerData?.top3Types, (newVal) => {
refreshTop3TypesCharts(newVal)
}, { deep: true })
onMounted(() => {
// 组件挂载时,如果已有数据,立即更新图表
if (props.hiddenDangerData?.progress) {

View File

@@ -50,7 +50,7 @@
<script setup lang="ts">
import {getTableList, getTableData, getWorkOrderStatistics} from './report'
import {ref, onMounted, watch, onUnmounted} from 'vue'
import {ref, reactive, onMounted, watch, onUnmounted} from 'vue'
import {useRouter} from 'vue-router'
import HeaderSelector from './components/HeaderSelector.vue'
import WeatherWarning from './components/WeatherWarning.vue'
@@ -61,7 +61,6 @@ import RiskStatisticsPanel from './components/RiskStatisticsPanel.vue'
import HighRiskAlertPanel from './components/HighRiskAlertPanel.vue'
import TimeoutWorkOrderPanel from './components/TimeoutWorkOrderPanel.vue'
import HiddenDangerPanel from './components/HiddenDangerPanel.vue'
import {error} from "echarts/types/src/util/log";
// 类型定义
interface AlertItem {
@@ -292,15 +291,20 @@ onMounted(async () => {
// 将parkMap转换为数组
query.campus_id = Array.from(parkMap.values()).map(e1 => e1.code).join();
}
// 将初始化的逻辑放在这里
dashboardData.value.hiddenDangerData.general = 0
dashboardData.value.hiddenDangerData.major = 0
dashboardData.value.hiddenDangerData.progress.overdue = 0
dashboardData.value.hiddenDangerData.progress.processed = 0
dashboardData.value.hiddenDangerData.progress.processing = 0
// 初始化数据loadDashboardData()既然是包含初始化的逻辑,所以并不适合定时调用,不然每次都要初始化。
await loadDashboardData()
// 将初始化的逻辑放在这里在loadDashboardData之后确保dashboardData.value已初始化
if (dashboardData.value && dashboardData.value.hiddenDangerData) {
dashboardData.value.hiddenDangerData.general = dashboardData.value.hiddenDangerData.general || 0
dashboardData.value.hiddenDangerData.major = dashboardData.value.hiddenDangerData.major || 0
if (dashboardData.value.hiddenDangerData.progress) {
dashboardData.value.hiddenDangerData.progress.overdue = dashboardData.value.hiddenDangerData.progress.overdue || 0
dashboardData.value.hiddenDangerData.progress.processed = dashboardData.value.hiddenDangerData.progress.processed || 0
dashboardData.value.hiddenDangerData.progress.processing = dashboardData.value.hiddenDangerData.progress.processing || 0
}
}
// 启动定时器
timeOut1()
@@ -599,11 +603,19 @@ const handleHiddenDangerPannelData = (query) => {
}
// 处理风险统计tab切换
const handleRiskTabChange = async (tab: TabType) => {
const handleRiskTabChange = async (tab: TabType | '安全类事项' | '工程类事项') => {
console.log('Tab changed to:', tab)
try {
// 处理类型映射:组件可能传入 '安全类事项' 或 '工程类事项'
let normalizedTab: TabType = '安全类'
if (tab === '安全类事项' || tab === '安全类') {
normalizedTab = '安全类'
} else if (tab === '工程类事项' || tab === '工程类') {
normalizedTab = '工程类'
}
let workOrderType = ''
switch (tab) {
switch (normalizedTab) {
case '安全类':
workOrderType = '物业服务-安全'
break
@@ -683,8 +695,8 @@ const handleRiskTabChange = async (tab: TabType) => {
// 合并为6个图表先维保3个后巡检3个
const allCharts = [...maintenanceCharts, ...inspectionCharts]
// 更新riskStatistics
riskStatistics.value[tab] = allCharts
// 更新riskStatistics使用标准化后的tab
riskStatistics.value[normalizedTab] = allCharts
console.log('更新后的riskStatistics:', riskStatistics.value)
} catch (error) {