修复显示异常与筛选功能UI

This commit is contained in:
Cheng Zhou
2025-12-23 22:02:57 +08:00
parent 9e9404d273
commit 148fa6ad9a
5 changed files with 127 additions and 81 deletions
+47 -51
View File
@@ -1,48 +1,54 @@
<template>
<div class="page">
<el-card>
<div class="filters">
<el-select v-model="filters.eventType" clearable placeholder="操作类型" @change="loadLogs">
<el-option v-for="opt in eventTypeOptions" :key="opt.value" :label="opt.label" :value="opt.value" />
</el-select>
<el-select v-model="filters.operatorId" clearable placeholder="操作人" filterable @change="loadLogs">
<el-option v-for="u in userOptions" :key="u.value" :label="u.label" :value="u.value" />
</el-select>
<el-select v-model="filters.result" clearable placeholder="结果" @change="loadLogs">
<el-option label="成功" value="SUCCESS" />
<el-option label="失败" value="FAIL" />
</el-select>
<el-date-picker
v-model="filters.range"
type="daterange"
unlink-panels
start-placeholder="开始日期"
end-placeholder="结束日期"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
@change="loadLogs"
/>
<div class="spacer" />
<el-button type="primary" @click="loadLogs">查询</el-button>
<el-button
v-if="isAdmin"
type="warning"
plain
:loading="exportLoading"
@click="confirmExport('system')"
>
导出系统审计
</el-button>
<el-button
v-if="canProjectExport"
type="warning"
plain
:loading="exportLoading"
@click="confirmExport('project')"
>
导出项目审计
</el-button>
<div class="ctms-table-toolbar">
<div class="ctms-filter-group">
<el-select v-model="filters.eventType" clearable placeholder="操作类型" @change="loadLogs" class="ctms-filter-item">
<el-option v-for="opt in eventTypeOptions" :key="opt.value" :label="opt.label" :value="opt.value" />
</el-select>
<el-select v-model="filters.operatorId" clearable placeholder="操作人" filterable @change="loadLogs" class="ctms-filter-item">
<el-option v-for="u in userOptions" :key="u.value" :label="u.label" :value="u.value" />
</el-select>
<el-select v-model="filters.result" clearable placeholder="结果" @change="loadLogs" style="width: 100px">
<el-option label="成功" value="SUCCESS" />
<el-option label="失败" value="FAIL" />
</el-select>
<el-date-picker
v-model="filters.range"
type="daterange"
unlink-panels
start-placeholder="开始"
end-placeholder="结束"
format="YYYY-MM-DD"
value-format="YYYY-MM-DD"
style="width: 240px"
@change="loadLogs"
/>
</div>
<div class="ctms-action-group">
<el-button
v-if="isAdmin"
type="warning"
plain
size="small"
:loading="exportLoading"
@click="confirmExport('system')"
>
导出系统审计
</el-button>
<el-button
v-if="canProjectExport"
type="warning"
plain
size="small"
:loading="exportLoading"
@click="confirmExport('project')"
>
导出项目审计
</el-button>
</div>
</div>
<el-table :data="logs" v-loading="loading" style="width: 100%">
<el-table-column prop="timestamp" label="时间" width="180">
<template #default="scope">{{ displayDateTime(scope.row.timestamp) }}</template>
@@ -318,16 +324,6 @@ onMounted(async () => {
.page {
padding: 16px;
}
.filters {
display: flex;
gap: 8px;
align-items: center;
margin-bottom: 12px;
flex-wrap: wrap;
}
.spacer {
flex: 1;
}
.pagination {
margin-top: 12px;
text-align: right;