fix: stats loader and smtp daily reset
This commit is contained in:
@@ -3,7 +3,8 @@ import { computed, onBeforeUnmount, onMounted, ref } from 'vue'
|
||||
|
||||
import { fetchDockerStats, fetchRunningTasks, fetchServerInfo, fetchTaskStats } from '../api/tasks'
|
||||
|
||||
const loading = ref(false)
|
||||
const initialLoading = ref(true)
|
||||
const lastUpdatedAt = ref('')
|
||||
|
||||
const server = ref({
|
||||
cpu_percent: '-',
|
||||
@@ -60,8 +61,15 @@ const serverDiskDisplay = computed(() => `${server.value.disk_used} / ${server.v
|
||||
let stop = false
|
||||
let timer = null
|
||||
|
||||
function recordUpdatedAt() {
|
||||
try {
|
||||
lastUpdatedAt.value = new Date().toLocaleTimeString('zh-CN', { hour12: false })
|
||||
} catch {
|
||||
lastUpdatedAt.value = ''
|
||||
}
|
||||
}
|
||||
|
||||
async function loadOnce() {
|
||||
loading.value = true
|
||||
try {
|
||||
const [serverInfo, dockerInfo, taskStat, running] = await Promise.all([
|
||||
fetchServerInfo(),
|
||||
@@ -74,10 +82,11 @@ async function loadOnce() {
|
||||
docker.value = dockerInfo || docker.value
|
||||
taskStats.value = taskStat || taskStats.value
|
||||
monitor.value = running || monitor.value
|
||||
recordUpdatedAt()
|
||||
} catch {
|
||||
// handled by interceptor
|
||||
} finally {
|
||||
loading.value = false
|
||||
initialLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,10 +112,10 @@ onBeforeUnmount(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div class="page-stack" v-loading="loading">
|
||||
<div class="page-stack" v-loading="initialLoading">
|
||||
<div class="app-page-title">
|
||||
<h2>统计</h2>
|
||||
<span class="app-muted">实时更新</span>
|
||||
<span class="app-muted">{{ lastUpdatedAt ? `最后更新:${lastUpdatedAt}` : '实时更新' }}</span>
|
||||
</div>
|
||||
|
||||
<el-row :gutter="12">
|
||||
|
||||
Reference in New Issue
Block a user