修复: list->items
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 6m46s
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 6m46s
This commit is contained in:
@@ -869,7 +869,7 @@
|
|||||||
}
|
}
|
||||||
const res = await OrderService.getOrders(params)
|
const res = await OrderService.getOrders(params)
|
||||||
if (res.code === 0) {
|
if (res.code === 0) {
|
||||||
orderList.value = res.data.list || []
|
orderList.value = res.data.items || []
|
||||||
pagination.total = res.data.total || 0
|
pagination.total = res.data.total || 0
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
@@ -1011,9 +1011,7 @@
|
|||||||
try {
|
try {
|
||||||
// 获取资源ID (IoT卡ID或设备ID)
|
// 获取资源ID (IoT卡ID或设备ID)
|
||||||
const resourceId =
|
const resourceId =
|
||||||
createForm.order_type === 'single_card'
|
createForm.order_type === 'single_card' ? createForm.iot_card_id : createForm.device_id
|
||||||
? createForm.iot_card_id
|
|
||||||
: createForm.device_id
|
|
||||||
|
|
||||||
if (!resourceId) {
|
if (!resourceId) {
|
||||||
ElMessage.error('请选择IoT卡或设备')
|
ElMessage.error('请选择IoT卡或设备')
|
||||||
|
|||||||
@@ -161,7 +161,9 @@
|
|||||||
:stroke-width="20"
|
:stroke-width="20"
|
||||||
:color="getProgressColor(initProgress.progress)"
|
:color="getProgressColor(initProgress.progress)"
|
||||||
>
|
>
|
||||||
<span style="font-size: 14px; font-weight: bold">{{ initProgress.progress.toFixed(1) }}%</span>
|
<span style="font-size: 14px; font-weight: bold"
|
||||||
|
>{{ initProgress.progress.toFixed(1) }}%</span
|
||||||
|
>
|
||||||
</el-progress>
|
</el-progress>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -169,37 +171,37 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, onUnmounted } from 'vue'
|
import { ref, onMounted, onUnmounted } from 'vue'
|
||||||
import { ElMessage } from 'element-plus'
|
import { ElMessage } from 'element-plus'
|
||||||
import { Document, CircleCheck, User, Box, DataLine } from '@element-plus/icons-vue'
|
import { Document, CircleCheck, User, Box, DataLine } from '@element-plus/icons-vue'
|
||||||
import { PollingMonitorService } from '@/api/modules'
|
import { PollingMonitorService } from '@/api/modules'
|
||||||
import type {
|
import type {
|
||||||
PollingOverviewStats,
|
PollingOverviewStats,
|
||||||
PollingInitProgress,
|
PollingInitProgress,
|
||||||
PollingQueueStatus,
|
PollingQueueStatus,
|
||||||
PollingTaskStats
|
PollingTaskStats
|
||||||
} from '@/types/api'
|
} from '@/types/api'
|
||||||
import { formatDateTime } from '@/utils/business/format'
|
import { formatDateTime } from '@/utils/business/format'
|
||||||
|
|
||||||
const overviewStats = ref<PollingOverviewStats>()
|
const overviewStats = ref<PollingOverviewStats>()
|
||||||
const initProgress = ref<PollingInitProgress>()
|
const initProgress = ref<PollingInitProgress>()
|
||||||
const queueStatusList = ref<PollingQueueStatus[]>([])
|
const queueStatusList = ref<PollingQueueStatus[]>([])
|
||||||
const taskStatsList = ref<PollingTaskStats[]>([])
|
const taskStatsList = ref<PollingTaskStats[]>([])
|
||||||
|
|
||||||
let refreshTimer: NodeJS.Timeout | null = null
|
let refreshTimer: NodeJS.Timeout | null = null
|
||||||
|
|
||||||
// 加载总览统计
|
// 加载总览统计
|
||||||
const loadOverviewStats = async () => {
|
const loadOverviewStats = async () => {
|
||||||
try {
|
try {
|
||||||
const { data } = await PollingMonitorService.getOverviewStats()
|
const { data } = await PollingMonitorService.getOverviewStats()
|
||||||
overviewStats.value = data
|
overviewStats.value = data
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error('加载总览统计失败')
|
ElMessage.error('加载总览统计失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载初始化进度
|
// 加载初始化进度
|
||||||
const loadInitProgress = async (showMessage = false) => {
|
const loadInitProgress = async (showMessage = false) => {
|
||||||
try {
|
try {
|
||||||
const { data } = await PollingMonitorService.getInitProgress()
|
const { data } = await PollingMonitorService.getInitProgress()
|
||||||
initProgress.value = data
|
initProgress.value = data
|
||||||
@@ -212,10 +214,10 @@ const loadInitProgress = async (showMessage = false) => {
|
|||||||
ElMessage.error('加载初始化进度失败')
|
ElMessage.error('加载初始化进度失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载队列状态
|
// 加载队列状态
|
||||||
const loadQueueStatus = async (showMessage = false) => {
|
const loadQueueStatus = async (showMessage = false) => {
|
||||||
try {
|
try {
|
||||||
const { data } = await PollingMonitorService.getQueueStatus()
|
const { data } = await PollingMonitorService.getQueueStatus()
|
||||||
queueStatusList.value = data.items
|
queueStatusList.value = data.items
|
||||||
@@ -225,10 +227,10 @@ const loadQueueStatus = async (showMessage = false) => {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error('加载队列状态失败')
|
ElMessage.error('加载队列状态失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载任务统计
|
// 加载任务统计
|
||||||
const loadTaskStats = async (showMessage = false) => {
|
const loadTaskStats = async (showMessage = false) => {
|
||||||
try {
|
try {
|
||||||
const { data } = await PollingMonitorService.getTaskStats()
|
const { data } = await PollingMonitorService.getTaskStats()
|
||||||
taskStatsList.value = data.items
|
taskStatsList.value = data.items
|
||||||
@@ -238,48 +240,48 @@ const loadTaskStats = async (showMessage = false) => {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error('加载任务统计失败')
|
ElMessage.error('加载任务统计失败')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 加载所有数据
|
// 加载所有数据
|
||||||
const loadAllData = () => {
|
const loadAllData = () => {
|
||||||
loadOverviewStats()
|
loadOverviewStats()
|
||||||
loadInitProgress()
|
loadInitProgress()
|
||||||
loadQueueStatus()
|
loadQueueStatus()
|
||||||
loadTaskStats()
|
loadTaskStats()
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取成功率颜色
|
// 获取成功率颜色
|
||||||
const getSuccessRateColor = (rate: number) => {
|
const getSuccessRateColor = (rate: number) => {
|
||||||
if (rate >= 95) return '#67c23a'
|
if (rate >= 95) return '#67c23a'
|
||||||
if (rate >= 85) return '#e6a23c'
|
if (rate >= 85) return '#e6a23c'
|
||||||
return '#f56c6c'
|
return '#f56c6c'
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取进度颜色
|
// 获取进度颜色
|
||||||
const getProgressColor = (progress: number) => {
|
const getProgressColor = (progress: number) => {
|
||||||
if (progress >= 90) return '#67c23a'
|
if (progress >= 90) return '#67c23a'
|
||||||
if (progress >= 50) return '#409eff'
|
if (progress >= 50) return '#409eff'
|
||||||
return '#e6a23c'
|
return '#e6a23c'
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
loadAllData()
|
loadAllData()
|
||||||
|
|
||||||
// 每30秒自动刷新
|
// 每30秒自动刷新
|
||||||
refreshTimer = setInterval(() => {
|
refreshTimer = setInterval(() => {
|
||||||
loadAllData()
|
loadAllData()
|
||||||
}, 30000)
|
}, 30000)
|
||||||
})
|
})
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
if (refreshTimer) {
|
if (refreshTimer) {
|
||||||
clearInterval(refreshTimer)
|
clearInterval(refreshTimer)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.polling-monitor-page {
|
.polling-monitor-page {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
.stats-row {
|
.stats-row {
|
||||||
@@ -371,5 +373,5 @@ onUnmounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Reference in New Issue
Block a user