fix: 提交修改
Build and Deploy Vue3 / build (push) Successful in 1m31s
Build and Deploy Vue3 / deploy (push) Successful in 1m9s

This commit is contained in:
2026-04-15 16:02:36 +08:00
parent 2f06aa9f5f
commit b3ed406f84
61 changed files with 7476 additions and 7226 deletions
+42 -6
View File
@@ -1,7 +1,7 @@
<template>
<el-dialog
v-model="visible"
title="选择用户组"
:title="adminGroup ? '选择管理员组' : '选择用户组'"
width="900px"
append-to-body
@close="handleClose"
@@ -9,7 +9,7 @@
<div class="user-group-selector">
<el-tabs v-model="activeTab" @tab-click="handleTabClick">
<!-- 选择用户组 -->
<el-tab-pane label="选择用户组" name="selectGroup">
<el-tab-pane :label="adminGroup ? '选择管理员组' : '选择用户组'" name="selectGroup">
<div class="group-list-container">
<!-- 搜索筛选区域 -->
<div class="filter-section">
@@ -17,7 +17,7 @@
<el-form-item label="关键词">
<el-input
v-model="searchParams.key"
placeholder="搜索用户组名称"
:placeholder="adminGroup ? '搜索管理员组名称' : '搜索用户组名称'"
clearable
@keyup.enter="handleSearch"
style="width: 200px"
@@ -38,8 +38,35 @@
</el-form>
</div>
<!-- 管理员组列表表格 -->
<el-table
v-if="adminGroup"
v-loading="loading"
:data="groupList"
highlight-current-row
@current-change="handleCurrentChange"
style="width: 100%"
:height="350"
:row-class-name="tableRowClassName"
>
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="id" label="ID" width="80" align="center" />
<el-table-column prop="name" label="组名称" min-width="150" show-overflow-tooltip>
<template #default="{ row }">
<span class="group-name">{{ row.name }}</span>
</template>
</el-table-column>
<el-table-column prop="auth" label="权限标识" min-width="120" show-overflow-tooltip />
<el-table-column prop="note" label="备注" min-width="150" show-overflow-tooltip>
<template #default="{ row }">
{{ row.note || '-' }}
</template>
</el-table-column>
</el-table>
<!-- 用户组列表表格 -->
<el-table
v-else
v-loading="loading"
:data="groupList"
highlight-current-row
@@ -102,7 +129,7 @@
/>
</div>
<el-empty v-if="groupList.length === 0 && !loading" description="暂无用户组数据" />
<el-empty v-if="groupList.length === 0 && !loading" :description="adminGroup ? '暂无管理员组数据' : '暂无用户组数据'" />
</div>
</el-tab-pane>
</el-tabs>
@@ -128,6 +155,7 @@ import { ref, reactive, watch } from 'vue'
import { ElMessage } from 'element-plus'
import { Search, Refresh } from '@element-plus/icons-vue'
import { getUserGroupList } from '@/api/admin/user'
import { getAdminGroupList } from '@/api/admin/group'
// Props
const props = defineProps({
@@ -144,6 +172,11 @@ const props = defineProps({
excludeGroupId: {
type: [String, Number],
default: ''
},
// 是否请求管理员组接口
adminGroup: {
type: Boolean,
default: false
}
})
@@ -193,12 +226,15 @@ const fetchGroupList = async () => {
count: searchParams.count
}
const res = await getUserGroupList(params)
const res = props.adminGroup ? await getAdminGroupList(params) : await getUserGroupList(params)
if (res.data.code === 200) {
let responseData = res.data?.data || res.data
if (Array.isArray(responseData)) {
if (props.adminGroup) {
groupList.value = responseData?.data || []
total.value = responseData?.total || groupList.value.length
} else if (Array.isArray(responseData)) {
groupList.value = responseData
total.value = responseData.length
} else if (responseData.list) {