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
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)
|
|
})
|
|
}
|