feat: 添加系统配置、审计中心、通知中心、文件管理模块

This commit is contained in:
张翔
2026-03-11 12:11:59 +08:00
commit 52c66444a5
264 changed files with 10109 additions and 0 deletions
@@ -0,0 +1,68 @@
<template>
<div class="dashboard">
<a-row :gutter="16">
<a-col :span="6">
<a-card>
<a-statistic title="用户总数" :value="stats.userCount" :prefix="h(UserOutlined)" />
</a-card>
</a-col>
<a-col :span="6">
<a-card>
<a-statistic title="角色总数" :value="stats.roleCount" :prefix="h(TeamOutlined)" />
</a-card>
</a-col>
<a-col :span="6">
<a-card>
<a-statistic title="今日登录" :value="stats.todayLogin" :prefix="h(LogoutOutlined)" />
</a-card>
</a-col>
<a-col :span="6">
<a-card>
<a-statistic title="操作日志" :value="stats.operationLog" :prefix="h(FileTextOutlined)" />
</a-card>
</a-col>
</a-row>
<a-row :gutter="16" style="margin-top: 16px">
<a-col :span="12">
<a-card title="最近登录">
<a-timeline>
<a-timeline-item v-for="item in recentLogins" :key="item.id" :color="item.status === '0' ? 'green' : 'red'">
<p>{{ item.username }} - {{ item.ip }}</p>
<p>{{ item.loginTime }}</p>
</a-timeline-item>
</a-timeline>
</a-card>
</a-col>
<a-col :span="12">
<a-card title="系统信息">
<a-descriptions :column="1" bordered size="small">
<a-descriptions-item label="系统版本">1.0.0</a-descriptions-item>
<a-descriptions-item label="Java版本">21</a-descriptions-item>
<a-descriptions-item label="前端框架">Vue 3 + Ant Design Vue</a-descriptions-item>
<a-descriptions-item label="数据库">PostgreSQL</a-descriptions-item>
</a-descriptions>
</a-card>
</a-col>
</a-row>
</div>
</template>
<script setup lang="ts">
import { ref, reactive, h } from 'vue'
import { UserOutlined, TeamOutlined, LogoutOutlined, FileTextOutlined } from '@ant-design/icons-vue'
const stats = reactive({
userCount: 0,
roleCount: 0,
todayLogin: 0,
operationLog: 0
})
const recentLogins = ref<any[]>([])
</script>
<style scoped lang="scss">
.dashboard {
padding: 16px;
}
</style>