集团不请求接口
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -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,14 +291,19 @@ 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) {
|
||||
|
||||
Reference in New Issue
Block a user