edu/admin/src/views/setting/system/journal.vue

106 lines
3.7 KiB
Vue
Raw Normal View History

2022-04-12 02:33:06 +00:00
<!-- 系统日志 -->
<template>
<div class="journal">
2022-08-12 10:44:09 +00:00
<el-card class="!border-none" shadow="never">
<el-form class="ls-form" :model="formData" inline>
2022-04-12 02:33:06 +00:00
<el-form-item label="管理员">
2022-09-21 08:42:53 +00:00
<el-input class="w-56" placeholder="请输入" v-model="formData.username" clearable
@keyup.enter="resetPage" />
2022-04-12 02:33:06 +00:00
</el-form-item>
<el-form-item label="访问方式">
2022-08-12 10:44:09 +00:00
<el-select class="w-56" v-model="formData.type" placeholder="请选择">
2022-04-12 02:33:06 +00:00
<el-option
v-for="(item, index) in visitType"
:key="index"
:label="item.label"
:value="item.value"
2022-09-21 08:42:53 +00:00
/>
2022-04-12 02:33:06 +00:00
</el-select>
</el-form-item>
2022-04-14 08:22:13 +00:00
<el-form-item label="来源IP">
2022-09-21 08:42:53 +00:00
<el-input class="w-56" placeholder="请输入" v-model="formData.ip" clearable
@keyup.enter="resetPage" />
2022-04-14 08:22:13 +00:00
</el-form-item>
<el-form-item label="访问时间">
2022-08-15 03:46:57 +00:00
<daterange-picker
v-model:startTime="formData.startTime"
v-model:endTime="formData.endTime"
/>
2022-04-14 08:22:13 +00:00
</el-form-item>
<el-form-item label="访问链接">
2022-09-21 08:42:53 +00:00
<el-input class="w-56" placeholder="请输入" v-model="formData.url" clearable
@keyup.enter="resetPage" />
2022-04-14 08:22:13 +00:00
</el-form-item>
2022-04-12 02:33:06 +00:00
<el-form-item>
2022-08-12 10:44:09 +00:00
<el-button type="primary" @click="resetPage">查询</el-button>
<el-button @click="resetParams">重置</el-button>
2022-04-12 02:33:06 +00:00
</el-form-item>
</el-form>
</el-card>
2022-08-12 10:44:09 +00:00
<el-card class="!border-none mt-4" shadow="never" v-loading="pager.loading">
2022-04-12 02:33:06 +00:00
<div>
2022-08-12 10:44:09 +00:00
<el-table :data="pager.lists" size="large">
<el-table-column label="记录ID" prop="id" />
<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" min-width="100" />
<el-table-column label="来源IP" prop="ip" min-width="160" />
<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" />
2022-04-12 02:33:06 +00:00
</el-table>
</div>
2022-08-12 10:44:09 +00:00
<div class="flex mt-4 justify-end">
<pagination v-model="pager" @change="getLists" />
2022-04-12 02:33:06 +00:00
</div>
</el-card>
</div>
</template>
2022-09-20 02:58:38 +00:00
<script setup lang="ts" name="journal">
2022-08-12 10:44:09 +00:00
import { systemLogLists } from '@/api/setting/system'
import { usePaging } from '@/hooks/usePaging'
2022-04-14 08:22:13 +00:00
// 查询表单
2022-08-12 10:44:09 +00:00
const formData = ref({
2022-04-14 08:22:13 +00:00
username: '',
url: '',
ip: '',
type: '',
2022-08-12 10:44:09 +00:00
startTime: '',
endTime: ''
2022-04-14 08:22:13 +00:00
})
2022-04-12 02:33:06 +00:00
2022-04-14 08:22:13 +00:00
// 访问方式
const visitType = ref<Array<any>>([
{
label: '全部',
value: ''
},
{
label: 'get',
value: 'get'
},
{
label: 'post',
value: 'post'
2022-04-12 02:33:06 +00:00
}
2022-04-14 08:22:13 +00:00
])
2022-04-12 02:33:06 +00:00
2022-08-12 10:44:09 +00:00
const { pager, getLists, resetParams, resetPage } = usePaging({
fetchFun: systemLogLists,
2022-04-14 08:22:13 +00:00
params: formData.value
})
2022-04-12 02:33:06 +00:00
2022-08-12 10:44:09 +00:00
getLists()
2022-04-12 02:33:06 +00:00
</script>
<style lang="scss" scoped></style>