增加忽略商品

This commit is contained in:
yml
2026-04-12 16:10:21 +08:00
parent eb5041ea60
commit 4c98b78267
18 changed files with 328 additions and 124 deletions
@@ -1,9 +1,9 @@
<script setup lang="ts">
import { onMounted, ref } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import AdminPaginationBar from '@/components/admin/AdminPaginationBar.vue'
import AdminStatusTag from '@/components/admin/AdminStatusTag.vue'
import { isFeedbackDismissed, showConfirm, showError, showPrompt, showSuccess } from '@/lib/feedback'
import {
createAdminUser,
fetchAdminUsers,
@@ -65,7 +65,7 @@ async function loadUsers(page = pagination.value.page) {
async function submitCreate() {
if (!createUsername.value.trim() || !createPassword.value.trim()) {
ElMessage.error('请填写账号和密码')
showError('请填写账号和密码')
return
}
@@ -78,13 +78,13 @@ async function submitCreate() {
role: createRole.value,
status: 'active',
})
ElMessage.success('后台用户已创建')
showSuccess('后台用户已创建')
createUsername.value = ''
createPassword.value = ''
createRole.value = 'operator'
await loadUsers(1)
} catch (error) {
ElMessage.error(error instanceof Error ? error.message : '创建后台用户失败')
showError(error instanceof Error ? error.message : '创建后台用户失败')
} finally {
creating.value = false
}
@@ -94,7 +94,7 @@ async function toggleRole(item: AdminUserListItem) {
const nextRole: AdminRole = item.role === 'admin' ? 'operator' : 'admin'
try {
await ElMessageBox.confirm(`确认将 ${item.username} 调整为${nextRole === 'admin' ? '管理员' : '普通运营'}吗?`, '确认操作', {
await showConfirm(`确认将 ${item.username} 调整为${nextRole === 'admin' ? '管理员' : '普通运营'}吗?`, '确认操作', {
type: 'warning',
confirmButtonText: '继续执行',
cancelButtonText: '取消',
@@ -107,10 +107,10 @@ async function toggleRole(item: AdminUserListItem) {
try {
await updateAdminUserRole(item.userId, { role: nextRole })
ElMessage.success('用户角色已更新')
showSuccess('用户角色已更新')
await loadUsers()
} catch (error) {
ElMessage.error(error instanceof Error ? error.message : '更新用户角色失败')
showError(error instanceof Error ? error.message : '更新用户角色失败')
} finally {
actionLoadingId.value = null
}
@@ -120,7 +120,7 @@ async function toggleStatus(item: AdminUserListItem) {
const nextStatus = item.status === 'active' ? 'disabled' : 'active'
try {
await ElMessageBox.confirm(`确认将 ${item.username}${nextStatus === 'active' ? '启用' : '停用'}吗?`, '确认操作', {
await showConfirm(`确认将 ${item.username}${nextStatus === 'active' ? '启用' : '停用'}吗?`, '确认操作', {
type: nextStatus === 'active' ? 'info' : 'warning',
confirmButtonText: '继续执行',
cancelButtonText: '取消',
@@ -133,10 +133,10 @@ async function toggleStatus(item: AdminUserListItem) {
try {
await updateAdminUserStatus(item.userId, { status: nextStatus })
ElMessage.success('用户状态已更新')
showSuccess('用户状态已更新')
await loadUsers()
} catch (error) {
ElMessage.error(error instanceof Error ? error.message : '更新用户状态失败')
showError(error instanceof Error ? error.message : '更新用户状态失败')
} finally {
actionLoadingId.value = null
}
@@ -144,7 +144,7 @@ async function toggleStatus(item: AdminUserListItem) {
async function promptResetPassword(item: AdminUserListItem) {
try {
const result = await ElMessageBox.prompt(`请输入 ${item.username} 的新密码`, '重置密码', {
const result = await showPrompt(`请输入 ${item.username} 的新密码`, '重置密码', {
inputType: 'password',
inputPlaceholder: '至少 8 位',
confirmButtonText: '提交',
@@ -154,13 +154,13 @@ async function promptResetPassword(item: AdminUserListItem) {
actionLoadingId.value = item.userId
await resetAdminUserPassword(item.userId, { password: result.value.trim() })
ElMessage.success('用户密码已重置')
showSuccess('用户密码已重置')
await loadUsers()
} catch (error) {
if (error === 'cancel' || error === 'close') {
if (isFeedbackDismissed(error)) {
return
}
ElMessage.error(error instanceof Error ? error.message : '重置密码失败')
showError(error instanceof Error ? error.message : '重置密码失败')
} finally {
actionLoadingId.value = null
}