feat: new feature

This commit is contained in:
JaguarJack
2022-12-23 19:47:13 +08:00
parent 17f2dc4d3c
commit 81fac9f62c
38 changed files with 1019 additions and 1486 deletions

View File

@@ -1,30 +1,20 @@
<template>
<el-table :data="tableData" class="mt-3" v-loading="loading">
<el-table-column prop="account" label="账户" width="150px" />
<el-table-column prop="browser" label="浏览器" width="100px" />
<el-table-column prop="platform" label="平台" width="100px" />
<el-table-column prop="login_ip" label="IP" width="120px" />
<el-table-column prop="status" label="状态" width="100px">
<template #default="scope">
<el-tag type="success" v-if="scope.row.status === 1">成功</el-tag>
<el-tag type="danger" v-else>失败</el-tag>
</template>
</el-table-column>
<el-table-column prop="login_at" label="登录时间" />
</el-table>
<div class="pl-2 pr-2 bg-white dark:bg-regal-dark rounded-lg mt-4 pb-6">
<el-table :data="tableData" class="mt-3" v-loading="loading">
<el-table-column prop="account" label="账户" width="150px" />
<el-table-column prop="browser" label="浏览器" width="100px" />
<el-table-column prop="platform" label="平台" width="100px" />
<el-table-column prop="login_ip" label="IP" width="120px" />
<el-table-column prop="status" label="状态" width="100px">
<template #default="scope">
<el-tag type="success" v-if="scope.row.status === 1">成功</el-tag>
<el-tag type="danger" v-else>失败</el-tag>
</template>
</el-table-column>
<el-table-column prop="login_at" label="登录时间" />
</el-table>
<div class="pt-2 pb-2 flex justify-end">
<el-pagination
background
v-if="total > query.limit"
layout="total,sizes,prev, pager,next"
:current-page="query.page"
:page-size="query.limit"
@current-change="changePage"
@size-change="changeLimit"
:total="total"
:page-sizes="[10, 20, 30, 50]"
/>
<Paginate />
</div>
</template>
@@ -34,12 +24,11 @@ import { useGetList } from '/admin/composables/curd/useGetList'
const api = 'user/login/log'
const { data, query, search, changePage, changeLimit, loading } = useGetList(api)
const { data, query, search, reset, loading } = useGetList(api)
onMounted(() => search())
const tableData = computed(() => data.value?.data)
const total = computed(() => data.value?.total)
</script>
<style scoped></style>

View File

@@ -1,28 +1,32 @@
<template>
<el-table :data="tableData" class="mt-3" v-loading="loading">
<el-table-column prop="username" label="用户名" width="180" />
<el-table-column prop="avatar" label="头像" width="180" />
<el-table-column prop="email" label="邮箱" />
<el-table-column prop="status" label="状态">
<template #default="scope">
<Status v-model="scope.row.status" :id="scope.row.id" :api="api" />
</template>
</el-table-column>
<el-table-column prop="created_at" label="创建时间" />
</el-table>
<div class="pt-2 pb-2 flex justify-end">
<el-pagination
background
v-if="total > query.limit"
layout="total,sizes,prev, pager,next"
:current-page="query.page"
:page-size="query.limit"
@current-change="changePage"
@size-change="changeLimit"
:total="total"
:page-sizes="[10, 20, 30, 50]"
/>
<div class="pl-2 pr-2 bg-white dark:bg-regal-dark rounded-lg mt-2 pb-6">
<div class="w-full flex justify-end">
<el-radio-group v-model="query.scope" size="small" @change="search">
<el-radio-button label="self">只看自己</el-radio-button>
<el-radio-button label="all">全部</el-radio-button>
</el-radio-group>
</div>
<el-table :data="tableData" class="mt-3" v-loading="loading">
<el-table-column prop="creator" label="创建人" />
<el-table-column prop="module" label="模块" />
<el-table-column prop="action" label="操作" width="150" />
<el-table-column prop="http_method" label="请求方法" width="90" />
<el-table-column prop="http_code" label="请求状态" width="90">
<template #default="scope">
<el-tag type="success" v-if="scope.row.http_code >= 200 && scope.row.http_code < 300"> {{ scope.row.http_code }}</el-tag>
<el-tag type="danger" v-else>{{ scope.row.http_code }}</el-tag>
</template>
</el-table-column>
<el-table-column prop="time_taken" label="耗时" />
<el-table-column prop="params" label="参数">
<template #default="scope">
<el-tooltip class="box-item" effect="dark" :content="scope.row.params" placement="top-start">
<el-button size="small" type="primary">查看</el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<Paginate />
</div>
</template>
@@ -30,14 +34,15 @@
import { computed, onMounted } from 'vue'
import { useGetList } from '/admin/composables/curd/useGetList'
const api = 'users'
const api = 'user/operate/log'
const { data, query, search, reset, changePage, changeLimit, loading } = useGetList(api)
const { data, query, search, reset, loading } = useGetList(api)
query.value.scope = 'self'
onMounted(() => search())
const tableData = computed(() => data.value?.data)
const total = computed(() => data.value?.total)
</script>
<style scoped></style>