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>
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-form-item class="w-[280px]" label="管理员">
|
2022-09-21 08:44:00 +00:00
|
|
|
<el-input
|
|
|
|
|
placeholder="请输入"
|
2024-10-28 15:29:03 +00:00
|
|
|
v-model="formData.admin_name"
|
2022-09-21 08:44:00 +00:00
|
|
|
clearable
|
|
|
|
|
@keyup.enter="resetPage"
|
|
|
|
|
/>
|
2022-04-12 02:33:06 +00:00
|
|
|
</el-form-item>
|
|
|
|
|
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-form-item class="w-[280px]" label="访问方式">
|
|
|
|
|
<el-select 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:44:00 +00:00
|
|
|
/>
|
2022-04-12 02:33:06 +00:00
|
|
|
</el-select>
|
|
|
|
|
</el-form-item>
|
2022-04-14 08:22:13 +00:00
|
|
|
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-form-item class="w-[280px]" label="来源IP">
|
2022-09-21 08:44:00 +00:00
|
|
|
<el-input
|
|
|
|
|
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
|
2024-10-28 15:29:03 +00:00
|
|
|
v-model:startTime="formData.start_time"
|
|
|
|
|
v-model:endTime="formData.end_time"
|
2022-08-15 03:46:57 +00:00
|
|
|
/>
|
2022-04-14 08:22:13 +00:00
|
|
|
</el-form-item>
|
|
|
|
|
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-form-item class="w-[280px]" label="访问链接">
|
2022-09-21 08:44:00 +00:00
|
|
|
<el-input
|
|
|
|
|
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>
|
2024-10-28 15:29:03 +00:00
|
|
|
<export-data
|
|
|
|
|
class="ml-2.5"
|
|
|
|
|
:fetch-fun="systemLogLists"
|
|
|
|
|
:params="formData"
|
|
|
|
|
:page-size="pager.size"
|
|
|
|
|
/>
|
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" />
|
2024-10-28 15:29:03 +00:00
|
|
|
<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" />
|
2022-08-12 10:44:09 +00:00
|
|
|
<el-table-column label="访问链接" prop="url" min-width="160" />
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-table-column label="访问方式" prop="type" />
|
|
|
|
|
<el-table-column label="访问参数" prop="params" min-width="160" />
|
2022-08-12 10:44:09 +00:00
|
|
|
<el-table-column label="来源IP" prop="ip" min-width="160" />
|
2024-10-28 15:29:03 +00:00
|
|
|
<el-table-column label="日志时间" prop="create_time" 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
|
|
|
|
2024-10-28 15:29:03 +00:00
|
|
|
interface formDataObj {
|
|
|
|
|
admin_name?: string // 管理员
|
|
|
|
|
url?: string // 访问链接
|
|
|
|
|
ip?: string // ip
|
|
|
|
|
type?: string // 访问方式
|
|
|
|
|
start_time?: string // 日志时间开始
|
|
|
|
|
end_time?: string // 日志时间结束
|
|
|
|
|
}
|
|
|
|
|
|
2022-04-14 08:22:13 +00:00
|
|
|
// 查询表单
|
2024-10-28 15:29:03 +00:00
|
|
|
const formData = ref<formDataObj>({
|
|
|
|
|
admin_name: '',
|
2022-04-14 08:22:13 +00:00
|
|
|
url: '',
|
|
|
|
|
ip: '',
|
|
|
|
|
type: '',
|
2024-10-28 15:29:03 +00:00
|
|
|
start_time: '',
|
|
|
|
|
end_time: ''
|
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'
|
2024-10-28 15:29:03 +00:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'put',
|
|
|
|
|
value: 'put'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'delete',
|
|
|
|
|
value: 'delete'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: 'option',
|
|
|
|
|
value: 'option'
|
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
|
|
|
|
2024-10-28 15:29:03 +00:00
|
|
|
onMounted(() => {
|
|
|
|
|
getLists()
|
|
|
|
|
})
|
2022-04-12 02:33:06 +00:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped></style>
|