mirror of
https://gitee.com/likeadmin/likeadmin_java.git
synced 2026-05-07 23:57:20 +08:00
feat 还原日志列表的UI和接口
feat 还原系统配置的显示
This commit is contained in:
@@ -1,54 +1,112 @@
|
||||
<!-- 系统环境 -->
|
||||
<template>
|
||||
<div class="system-environment">
|
||||
<div class="system-environment" v-loading="loading">
|
||||
<div class="lg:flex">
|
||||
<el-card class="!border-none flex-1 mb-4 lg:mr-4" shadow="never">
|
||||
<div>CPU</div>
|
||||
<div class="mt-4">
|
||||
<div class="flex flex-wrap">
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">{{ info.cpu.cpuNum }}</div>
|
||||
<div class="text-tx-regular">核心数</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.cpu.used ? `${info.cpu.used}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">用户使用率</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.cpu.sys ? `${info.cpu.sys}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">系统使用率</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.cpu.free ? `${info.cpu.free}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">当前空闲率</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card class="!border-none flex-1 mb-4" shadow="never">
|
||||
<div>内存</div>
|
||||
<div class="mt-4">
|
||||
<div class="flex flex-wrap">
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">{{ info.mem.total }}</div>
|
||||
<div class="text-tx-regular">总内存</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.mem.used ? `${info.mem.used}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">已用内存</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.mem.free ? `${info.mem.free}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">剩余内存</div>
|
||||
</div>
|
||||
|
||||
<div class="sm:flex-1 w-1/2 mb-4">
|
||||
<div class="text-4xl mb-3">
|
||||
{{ info.mem.usage ? `${info.mem.usage}%` : '-' }}
|
||||
</div>
|
||||
<div class="text-tx-regular">使用率</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
<el-card class="!border-none" shadow="never">
|
||||
<div>服务器信息</div>
|
||||
<div class="mt-4">
|
||||
<el-table :data="info.server">
|
||||
<el-table-column prop="param" label="参数"></el-table-column>
|
||||
<el-table-column prop="value" label="值"></el-table-column>
|
||||
<el-table :data="[info.sys]" size="large">
|
||||
<el-table-column prop="computerName" label="服务器名称" min-width="150" />
|
||||
<el-table-column prop="computerIp" label="服务器IP" min-width="120" />
|
||||
<el-table-column prop="osName" label="操作系统" min-width="100" />
|
||||
<el-table-column prop="osArch" label="系统架构" min-width="100" />
|
||||
<el-table-column prop="userDir" label="项目路径" min-width="250" />
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="!border-none mt-4">
|
||||
<div>PHP环境要求</div>
|
||||
<div>Java虚拟机信息</div>
|
||||
<div class="mt-4">
|
||||
<el-table :data="info.env">
|
||||
<el-table-column prop="option" label="选项"></el-table-column>
|
||||
<el-table-column prop="require" label="要求"></el-table-column>
|
||||
<el-table-column label="状态">
|
||||
<template #default="scope">
|
||||
<icon
|
||||
v-if="scope.row.status"
|
||||
name="el-icon-Select"
|
||||
class="text-success"
|
||||
/>
|
||||
<icon v-else name="el-icon-CloseBold" class="text-danger" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="说明及帮助"></el-table-column>
|
||||
<el-table :data="[info.jvm]" size="large">
|
||||
<el-table-column prop="name" label="Java名称" min-width="120" />
|
||||
<el-table-column prop="startTime" label="启动时间" min-width="120" />
|
||||
<el-table-column prop="home" label="安装路径" min-width="120" />
|
||||
<el-table-column prop="inputArgs" label="运行参数" min-width="120" />
|
||||
<el-table-column prop="version" label="Java版本" min-width="120" />
|
||||
<el-table-column prop="runTime" label="运行时长" min-width="120" />
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card shadow="never" class="!border-none mt-4">
|
||||
<div>目录权限</div>
|
||||
<div>硬盘状态</div>
|
||||
<div class="mt-4">
|
||||
<el-table :data="info.auth">
|
||||
<el-table-column prop="dir" label="选项"></el-table-column>
|
||||
<el-table-column prop="require" label="要求"></el-table-column>
|
||||
<el-table-column label="状态">
|
||||
<template #default="scope">
|
||||
<icon
|
||||
v-if="scope.row.status"
|
||||
name="el-icon-Select"
|
||||
class="text-success"
|
||||
/>
|
||||
<icon v-else name="el-icon-CloseBold" class="text-danger" />
|
||||
</template>
|
||||
<el-table :data="info.disk" size="large">
|
||||
<el-table-column prop="dirName" label="盘符路径" min-width="100" />
|
||||
<el-table-column prop="sysTypeName" label="文件系统" min-width="100" />
|
||||
<el-table-column prop="typeName" label="盘符类型" min-width="100" />
|
||||
<el-table-column prop="total" label="总大小" min-width="100" />
|
||||
<el-table-column prop="free" label="可用大小" min-width="100" />
|
||||
<el-table-column prop="used" label="已用大小" min-width="100" />
|
||||
<el-table-column prop="usage" label="已用百分比" min-width="100">
|
||||
<template #default="{ row }"> {{ row.usage }}% </template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="说明及帮助"></el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -57,24 +115,28 @@
|
||||
|
||||
<script lang="ts" setup name="environment">
|
||||
import { systemInfo } from '@/api/setting/system'
|
||||
|
||||
const info = reactive({
|
||||
server: [], // 服务器信息
|
||||
env: [], // PHP环境要求
|
||||
auth: [] // 目录权限
|
||||
const loading = ref(false)
|
||||
const info = ref({
|
||||
cpu: {} as any,
|
||||
disk: [],
|
||||
jvm: {},
|
||||
mem: {} as any,
|
||||
sys: {}
|
||||
})
|
||||
|
||||
const getSystemInfo = () => {
|
||||
systemInfo().then((res) => {
|
||||
info.server = res.server
|
||||
info.env = res.env
|
||||
info.auth = res.auth
|
||||
})
|
||||
const getSystemInfo = async () => {
|
||||
try {
|
||||
loading.value = true
|
||||
const data = await systemInfo()
|
||||
info.value = data
|
||||
|
||||
loading.value = false
|
||||
} catch (error) {
|
||||
loading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
getSystemInfo()
|
||||
})
|
||||
getSystemInfo()
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<el-input
|
||||
class="w-[280px]"
|
||||
placeholder="请输入"
|
||||
v-model="formData.admin_name"
|
||||
v-model="formData.username"
|
||||
clearable
|
||||
@keyup.enter="resetPage"
|
||||
/>
|
||||
@@ -36,8 +36,8 @@
|
||||
|
||||
<el-form-item label="访问时间">
|
||||
<daterange-picker
|
||||
v-model:startTime="formData.start_time"
|
||||
v-model:endTime="formData.end_time"
|
||||
v-model:startTime="formData.startTime"
|
||||
v-model:endTime="formData.endTime"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
@@ -54,12 +54,6 @@
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="resetPage">查询</el-button>
|
||||
<el-button @click="resetParams">重置</el-button>
|
||||
<export-data
|
||||
class="ml-2.5"
|
||||
:fetch-fun="systemLogLists"
|
||||
:params="formData"
|
||||
:page-size="pager.size"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-card>
|
||||
@@ -68,14 +62,14 @@
|
||||
<div>
|
||||
<el-table :data="pager.lists" size="large">
|
||||
<el-table-column label="记录ID" prop="id" />
|
||||
<el-table-column label="操作" prop="action" min-width="120" />
|
||||
<el-table-column label="管理员" prop="admin_name" min-width="120" />
|
||||
<el-table-column label="管理员ID" prop="admin_id" min-width="120" />
|
||||
<el-table-column label="操作" prop="title" min-width="120" />
|
||||
<el-table-column label="管理员" prop="username" min-width="120" />
|
||||
<el-table-column label="访问链接" prop="url" min-width="160" />
|
||||
<el-table-column label="访问方式" prop="type" />
|
||||
<el-table-column label="访问参数" prop="params" min-width="160" />
|
||||
<el-table-column label="访问方式" prop="type" min-width="100" />
|
||||
<el-table-column label="来源IP" prop="ip" min-width="160" />
|
||||
<el-table-column label="日志时间" prop="create_time" min-width="180" />
|
||||
<el-table-column label="错误信息" prop="error" min-width="160" />
|
||||
<el-table-column label="执行耗时(毫秒)" prop="taskTime" min-width="100" />
|
||||
<el-table-column label="日志时间" prop="createTime" min-width="180" />
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="flex mt-4 justify-end">
|
||||
@@ -89,23 +83,14 @@
|
||||
import { systemLogLists } from '@/api/setting/system'
|
||||
import { usePaging } from '@/hooks/usePaging'
|
||||
|
||||
interface formDataObj {
|
||||
admin_name?: string // 管理员
|
||||
url?: string // 访问链接
|
||||
ip?: string // ip
|
||||
type?: string // 访问方式
|
||||
start_time?: string // 日志时间开始
|
||||
end_time?: string // 日志时间结束
|
||||
}
|
||||
|
||||
// 查询表单
|
||||
const formData = ref<formDataObj>({
|
||||
admin_name: '',
|
||||
const formData = ref({
|
||||
username: '',
|
||||
url: '',
|
||||
ip: '',
|
||||
type: '',
|
||||
start_time: '',
|
||||
end_time: ''
|
||||
startTime: '',
|
||||
endTime: ''
|
||||
})
|
||||
|
||||
// 访问方式
|
||||
@@ -121,18 +106,6 @@ const visitType = ref<Array<any>>([
|
||||
{
|
||||
label: 'post',
|
||||
value: 'post'
|
||||
},
|
||||
{
|
||||
label: 'put',
|
||||
value: 'put'
|
||||
},
|
||||
{
|
||||
label: 'delete',
|
||||
value: 'delete'
|
||||
},
|
||||
{
|
||||
label: 'option',
|
||||
value: 'option'
|
||||
}
|
||||
])
|
||||
|
||||
@@ -141,9 +114,7 @@ const { pager, getLists, resetParams, resetPage } = usePaging({
|
||||
params: formData.value
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
getLists()
|
||||
})
|
||||
getLists()
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
Reference in New Issue
Block a user