增加前端格式检查配置
This commit is contained in:
@@ -2,7 +2,12 @@
|
||||
import { ElMessage } from 'element-plus'
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { fetchAdminUsers, freezeAdminUser, unfreezeAdminUser, type AdminUserItem } from '@/features/admin/api/adminUsers'
|
||||
import {
|
||||
fetchAdminUsers,
|
||||
freezeAdminUser,
|
||||
unfreezeAdminUser,
|
||||
type AdminUserItem,
|
||||
} from '@/features/admin/api/adminUsers'
|
||||
import { useAdminPaginatedTable } from '@/features/admin/composables/useAdminPaginatedTable'
|
||||
import { userStatusLabel } from '@/utils/statusLabels'
|
||||
import { formatDateTime } from '@/utils/time'
|
||||
@@ -12,7 +17,15 @@ const submitting = ref(false)
|
||||
const activeUser = ref<AdminUserItem | null>(null)
|
||||
const freezeReason = ref('')
|
||||
|
||||
const { loading, data: users, total, currentPage, currentPageSize, load: loadUsers, handleSizeChange } = useAdminPaginatedTable<AdminUserItem>({
|
||||
const {
|
||||
loading,
|
||||
data: users,
|
||||
total,
|
||||
currentPage,
|
||||
currentPageSize,
|
||||
load: loadUsers,
|
||||
handleSizeChange,
|
||||
} = useAdminPaginatedTable<AdminUserItem>({
|
||||
fetchFn: fetchAdminUsers,
|
||||
})
|
||||
|
||||
@@ -81,10 +94,23 @@ function readError(error: unknown, fallback: string) {
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" width="150">
|
||||
<template #default="{ row }">
|
||||
<el-button v-if="row.status === 'active'" size="small" type="danger" :loading="submitting" @click="openFreeze(row)">
|
||||
<el-button
|
||||
v-if="row.status === 'active'"
|
||||
size="small"
|
||||
type="danger"
|
||||
:loading="submitting"
|
||||
@click="openFreeze(row)"
|
||||
>
|
||||
冻结
|
||||
</el-button>
|
||||
<el-button v-else size="small" type="primary" :loading="submitting" @click="handleUnfreeze(row)">解冻</el-button>
|
||||
<el-button
|
||||
v-else
|
||||
size="small"
|
||||
type="primary"
|
||||
:loading="submitting"
|
||||
@click="handleUnfreeze(row)"
|
||||
>解冻</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -98,10 +124,22 @@ function readError(error: unknown, fallback: string) {
|
||||
@page-change="loadUsers"
|
||||
/>
|
||||
|
||||
<el-dialog :model-value="!!activeUser" title="冻结用户" width="560px" @update:model-value="activeUser = null">
|
||||
<el-dialog
|
||||
:model-value="!!activeUser"
|
||||
title="冻结用户"
|
||||
width="560px"
|
||||
@update:model-value="activeUser = null"
|
||||
>
|
||||
<div v-if="activeUser" class="dialog-body">
|
||||
<p><strong>{{ activeUser.phone }}</strong> · {{ activeUser.nickname }}</p>
|
||||
<el-input v-model="freezeReason" type="textarea" :rows="4" placeholder="填写冻结原因,便于审计追踪" />
|
||||
<p>
|
||||
<strong>{{ activeUser.phone }}</strong> · {{ activeUser.nickname }}
|
||||
</p>
|
||||
<el-input
|
||||
v-model="freezeReason"
|
||||
type="textarea"
|
||||
:rows="4"
|
||||
placeholder="填写冻结原因,便于审计追踪"
|
||||
/>
|
||||
</div>
|
||||
<template #footer>
|
||||
<el-button @click="activeUser = null">取消</el-button>
|
||||
|
||||
Reference in New Issue
Block a user