mirror of https://github.com/nocodb/nocodb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
2.8 KiB
115 lines
2.8 KiB
<template> |
|
<div class="h-100" style="overflow: auto"> |
|
<v-toolbar height="30"> |
|
<v-spacer /> |
|
<v-btn x-small outlined @click="loadAudits"> |
|
<v-icon small class="mr-2"> |
|
refresh |
|
</v-icon> |
|
<!-- Reload --> |
|
{{ $t('general.reload') }} |
|
</v-btn> |
|
</v-toolbar> |
|
<v-container class="h-100 d-flex flex-column"> |
|
<v-simple-table |
|
v-if="audits" |
|
dense |
|
style="max-width: 1000px; overflow: auto" |
|
class="mx-auto flex-grow-1" |
|
> |
|
<thead> |
|
<tr> |
|
<th class="caption"> |
|
Operation Type |
|
</th> |
|
<th class="caption"> |
|
Operation Sub Type |
|
</th> |
|
<th class="caption"> |
|
Description |
|
</th> |
|
<th class="caption"> |
|
User |
|
</th> |
|
<!-- <th class="caption">Ip</th>--> |
|
<th class="caption"> |
|
Created |
|
</th> |
|
</tr> |
|
</thead> |
|
<tbody> |
|
<tr v-for="(audit,i) in audits" :key="i"> |
|
<td class="caption"> |
|
{{ audit.op_type }} |
|
</td> |
|
<td class="caption"> |
|
{{ audit.op_sub_type }} |
|
</td> |
|
<td class="caption"> |
|
{{ audit.description }} |
|
</td> |
|
<td class="caption"> |
|
{{ audit.user == null?'Shared base':audit.user }} |
|
</td> |
|
<!-- <td class="caption">--> |
|
<!-- {{ audit.ip }}--> |
|
<!-- </td>--> |
|
<td class="caption"> |
|
<v-tooltip bottom> |
|
<template #activator="{on}"> |
|
<span v-on="on">{{ calculateDiff(audit.created_at) }}</span> |
|
</template> |
|
<span class="caption">{{ audit.created_at }}</span> |
|
</v-tooltip> |
|
</td> |
|
</tr> |
|
</tbody> |
|
</v-simple-table> |
|
<v-pagination |
|
v-model="page" |
|
:length="Math.ceil(count / limit)" |
|
:total-visible="8" |
|
@input="loadAudits" |
|
/> |
|
</v-container> |
|
</div> |
|
</template> |
|
|
|
<script> |
|
import dayjs from 'dayjs' |
|
|
|
const relativeTime = require('dayjs/plugin/relativeTime') |
|
const utc = require('dayjs/plugin/utc') |
|
dayjs.extend(utc) |
|
dayjs.extend(relativeTime) |
|
|
|
export default { |
|
name: 'Audit', |
|
data: () => ({ |
|
audits: null, |
|
count: 0, |
|
limit: 25, |
|
page: 1 |
|
}), |
|
created() { |
|
this.loadAudits() |
|
}, |
|
methods: { |
|
async loadAudits() { |
|
const { list, count } = await this.$store.dispatch('sqlMgr/ActSqlOp', [null, 'xcAuditList', { |
|
limit: this.limit, |
|
offset: this.limit * (this.page - 1) |
|
}]) |
|
this.audits = list |
|
this.count = count |
|
}, |
|
calculateDiff(date) { |
|
return dayjs.utc(date).fromNow() |
|
} |
|
} |
|
} |
|
</script> |
|
|
|
<style scoped> |
|
|
|
</style>
|
|
|