You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 lines
2.9 KiB

import request from '@/utils/request'
// 模拟数据
const mockOverviewData = {
month: {
total: 42,
onlineRate: 90.9,
communicationCount: 50,
avgCommunicationTime: 2.0
},
year: {
total: 45,
onlineRate: 92.5,
communicationCount: 580,
avgCommunicationTime: 2.2
}
}
const mockTrendData = {
month: {
legends: ['大连', '小连'],
xAxis: ['1日', '2日', '3日', '4日', '5日', '6日', '7日', '8日', '9日', '10日', '11日', '12日', '13日', '14日', '15日', '16日', '17日', '18日', '19日', '20日', '21日', '22日', '23日', '24日', '25日', '26日', '27日', '28日', '29日', '30日', '31日'],
series: [
{
name: '大连',
data: [60, 58, 65, 70, 75, 85, 80, 70, 60, 90, 85, 80, 95, 85, 65, 70, 75, 85, 80, 70, 60, 90, 85, 80, 95, 85, 65, 70, 75, 85, 80]
},
{
name: '小连',
data: [65, 70, 80, 75, 60, 55, 90, 85, 95, 85, 75, 60, 55, 65, 80, 75, 60, 55, 90, 85, 95, 85, 75, 60, 55, 65, 80, 75, 60, 55, 90]
}
]
},
year: {
legends: ['大连', '小连'],
xAxis: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
series: [
{
name: '大连',
data: [85, 88, 90, 92, 88, 85, 90, 92, 95, 90, 88, 85]
},
{
name: '小连',
data: [80, 85, 88, 90, 85, 80, 88, 90, 92, 88, 85, 80]
}
]
}
}
// 获取设备统计概览数据
export function getDeviceOverview(params) {
return {
data: mockOverviewData[params.type]
}
}
// 获取设备在线率趋势数据
export function getDeviceOnlineTrend(params) {
return {
data: mockTrendData[params.type]
}
}
// 获取行驶概览数据
export function getDrivingOverview(params) {
return new Promise((resolve) => {
setTimeout(() => {
resolve({
data: {
totalMileage: 12345.67,
avgMileage: 1234.56,
maxMileage: 2345.67,
minMileage: 123.45
}
})
}, 500)
})
}
// 获取行驶趋势数据
export function getDrivingTrend(params) {
return new Promise((resolve) => {
setTimeout(() => {
const isMonth = params.type === 'month'
const xAxis = isMonth
? Array.from({length: 31}, (_, i) => `${i + 1}`)
: Array.from({length: 12}, (_, i) => `${i + 1}`)
const series = Array.from({length: xAxis.length}, () =>
Math.floor(Math.random() * 2000) + 500
)
resolve({
data: {
xAxis,
series
}
})
}, 500)
})
}
// 获取行驶排名数据
export function getDrivingRanking(params) {
return new Promise((resolve) => {
setTimeout(() => {
const data = Array.from({length: params.limit}, (_, i) => ({
deviceName: `设备${i + 1}`,
mileage: Math.floor(Math.random() * 2000) + 500
})).sort((a, b) => b.mileage - a.mileage)
resolve({
data
})
}, 500)
})
}