地区饼图处理

This commit is contained in:
chenlin
2025-12-16 15:08:05 +08:00
parent 5f5fbe8891
commit 4301d64450
2 changed files with 71 additions and 37 deletions

View File

@@ -980,12 +980,17 @@ const handleHiddenDangerPannelData = (query) => {
// 获取隐患排查治理数据
getTableList('risk_status_count', query).then(res => {
if (res.records && res.records.length > 0) {
_data.overdue = _data.overdue + Number(res.records[0].overdueCnt)
_data.processed = _data.processed + Number(res.records[0].processedCnt)
_data.processing = _data.processing + Number(res.records[0].processingCnt)
_data.pending = _data.pending
// 接口返回的已经是百分比,直接使用
const record = res.records[0]
_data.overdue = Number(record.overdueCnt) || 0
_data.processed = Number(record.processedCnt) || 0
_data.processing = Number(record.processingCnt) || 0
_data.pending = 0 // 接口没有返回pending设为0
_data.flag = true
console.log('risk_status_count 接口返回数据:', record)
console.log('处理后的 _data:', _data)
if (_data2.flag) {
// 合并数据
console.log("请求系统和第三方成功,合并数据", _data, _data2);
@@ -994,18 +999,31 @@ const handleHiddenDangerPannelData = (query) => {
mockData.hiddenDangerData.generalCount = generalCnt
mockData.hiddenDangerData.severityCount = majorCnt
let totalCnt = generalCnt + majorCnt
let overdueCnt = ((_data.overdue + _data2.overdue) / totalCnt * 100).toFixed(2)
let processedCnt = ((_data.processed + _data2.processed) / totalCnt * 100).toFixed(2)
let processingCnt = ((_data.processing + _data2.processing) / totalCnt * 100).toFixed(2)
let pendingCnt = ((_data.pending + _data2.pending) / totalCnt * 100).toFixed(2)
// 如果第三方数据也是百分比,需要合并;否则使用系统数据
// 这里假设系统数据是百分比,第三方数据可能是数量或百分比
let overdueCnt, processedCnt, processingCnt, pendingCnt
if (_data2.overdue > 1 || _data2.processed > 1 || _data2.processing > 1) {
// 第三方数据可能是百分比,直接使用系统数据(因为系统数据更准确)
overdueCnt = _data.overdue.toFixed(2)
processedCnt = _data.processed.toFixed(2)
processingCnt = _data.processing.toFixed(2)
pendingCnt = _data.pending.toFixed(2)
} else {
// 第三方数据可能是数量,需要计算百分比
let totalCnt = generalCnt + majorCnt
overdueCnt = totalCnt > 0 ? ((_data.overdue + _data2.overdue) / totalCnt * 100).toFixed(2) : '0.00'
processedCnt = totalCnt > 0 ? ((_data.processed + _data2.processed) / totalCnt * 100).toFixed(2) : '0.00'
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'
}
progressOption.series[0].data = [
{ value: overdueCnt || 0, name: '已逾期', itemStyle: { color: '#ef4444' } },
{ value: processedCnt || 0, name: '已处理', itemStyle: { color: '#10b981' } },
{ value: pendingCnt || 0, name: '待排查', itemStyle: { color: '#eab308' } },
{ value: processingCnt || 0, name: '处理中', itemStyle: { color: '#3b82f6' } }
{ value: Number(overdueCnt) || 0, name: '已逾期', itemStyle: { color: '#ef4444' } },
{ value: Number(processedCnt) || 0, name: '已处理', itemStyle: { color: '#10b981' } },
{ value: Number(pendingCnt) || 0, name: '待排查', itemStyle: { color: '#eab308' } },
{ value: Number(processingCnt) || 0, name: '处理中', itemStyle: { color: '#3b82f6' } }
]
console.log('合并后的图表数据:', progressOption.series[0].data)
if (progressChart.value != null) {
progressChart.value.setOption(progressOption)
}
@@ -1014,17 +1032,14 @@ const handleHiddenDangerPannelData = (query) => {
mockData.hiddenDangerData.generalCount = _data.general
mockData.hiddenDangerData.severityCount = _data.major
let totalCnt = _data.general + _data.major
let overdueCnt = (_data.overdue / totalCnt * 100).toFixed(2)
let processedCnt = (_data.processed / totalCnt * 100).toFixed(2)
let processingCnt = (_data.processing / totalCnt * 100).toFixed(2)
let pendingCnt = (_data.pending / totalCnt * 100).toFixed(2)
// 接口返回的已经是百分比,直接使用
progressOption.series[0].data = [
{ value: overdueCnt || 0, name: '已逾期', itemStyle: { color: '#ef4444' } },
{ value: processedCnt || 0, name: '已处理', itemStyle: { color: '#10b981' } },
{ value: pendingCnt || 0, name: '待排查', itemStyle: { color: '#eab308' } },
{ value: processingCnt || 0, name: '处理中', itemStyle: { color: '#3b82f6' } }
{ value: _data.overdue || 0, name: '已逾期', itemStyle: { color: '#ef4444' } },
{ value: _data.processed || 0, name: '已处理', itemStyle: { color: '#10b981' } },
{ value: _data.pending || 0, name: '待排查', itemStyle: { color: '#eab308' } },
{ value: _data.processing || 0, name: '处理中', itemStyle: { color: '#3b82f6' } }
]
console.log('系统数据图表数据:', progressOption.series[0].data)
if (progressChart.value != null) {
progressChart.value.setOption(progressOption)
}

View File

@@ -440,12 +440,17 @@ const handleHiddenDangerPannelData = (query) => {
// 获取隐患排查治理数据
getTableList('risk_status_count', query).then(res => {
if (res.records && res.records.length > 0) {
_data.overdue = _data.overdue + Number(res.records[0].overdueCnt)
_data.processed = _data.processed + Number(res.records[0].processedCnt)
_data.processing = _data.processing + Number(res.records[0].processingCnt)
_data.pending = _data.pending
// 接口返回的已经是百分比,直接使用
const record = res.records[0]
_data.overdue = Number(record.overdueCnt) || 0
_data.processed = Number(record.processedCnt) || 0
_data.processing = Number(record.processingCnt) || 0
_data.pending = 0 // 接口没有返回pending设为0
_data.flag = true
console.log('risk_status_count 接口返回数据:', record)
console.log('处理后的 _data:', _data)
if (_data2.flag) {
// 合并数据
console.log("请求系统和第三方成功,合并数据", _data, _data2);
@@ -454,30 +459,44 @@ const handleHiddenDangerPannelData = (query) => {
dashboardData.value.hiddenDangerData.general = generalCnt
dashboardData.value.hiddenDangerData.major = majorCnt
let totalCnt = generalCnt + majorCnt
let overdueCnt = ((_data.overdue + _data2.overdue) / totalCnt * 100).toFixed(2)
let processedCnt = ((_data.processed + _data2.processed) / totalCnt * 100).toFixed(2)
let processingCnt = ((_data.processing + _data2.processing) / totalCnt * 100).toFixed(2)
let pendingCnt = ((_data.pending + _data2.pending) / totalCnt * 100).toFixed(2)
// 如果第三方数据也是百分比,需要合并;否则使用系统数据
// 这里假设系统数据是百分比,第三方数据可能是数量或百分比
let overdueCnt, processedCnt, processingCnt, pendingCnt
if (_data2.overdue > 1 || _data2.processed > 1 || _data2.processing > 1) {
// 第三方数据可能是百分比,直接使用系统数据(因为系统数据更准确)
overdueCnt = _data.overdue.toFixed(2)
processedCnt = _data.processed.toFixed(2)
processingCnt = _data.processing.toFixed(2)
pendingCnt = _data.pending.toFixed(2)
} else {
// 第三方数据可能是数量,需要计算百分比
let totalCnt = generalCnt + majorCnt
overdueCnt = totalCnt > 0 ? ((_data.overdue + _data2.overdue) / totalCnt * 100).toFixed(2) : '0.00'
processedCnt = totalCnt > 0 ? ((_data.processed + _data2.processed) / totalCnt * 100).toFixed(2) : '0.00'
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,
processing: processingCnt,
pending: pendingCnt,
}
console.log('合并后的 progress:', dashboardData.value.hiddenDangerData.progress)
} else {
console.log("请求系统成功,展示数据", _data, _data2);
dashboardData.value.hiddenDangerData.general = _data.general
dashboardData.value.hiddenDangerData.major = _data.major
let totalCnt = _data.general + _data.major
// 显示系统数据
// 接口返回的已经是百分比,直接使用
dashboardData.value.hiddenDangerData.progress = {
overdue: (_data.overdue / totalCnt * 100).toFixed(2),
processed: (_data.processed / totalCnt * 100).toFixed(2),
processing: (_data.processing / totalCnt * 100).toFixed(2),
pending: (_data.pending / totalCnt * 100).toFixed(2),
overdue: _data.overdue.toFixed(2),
processed: _data.processed.toFixed(2),
processing: _data.processing.toFixed(2),
pending: _data.pending.toFixed(2),
}
console.log('系统数据 progress:', dashboardData.value.hiddenDangerData.progress)
}
}
})