|
|
|
@ -5,18 +5,23 @@ |
|
|
|
<el-card shadow="hover"> |
|
|
|
<el-form ref="queryFormRef" :model="queryParams" :inline="true"> |
|
|
|
<el-form-item label="用户名" prop="userName"> |
|
|
|
<el-input v-model="queryParams.userName" placeholder="请输入用户名" clearable @keyup.enter="handleQuery" /> |
|
|
|
<el-input v-model="queryParams.userName" placeholder="请输入用户名" clearable style="width: 180px" @keyup.enter="handleQuery" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="用户昵称" prop="nickName"> |
|
|
|
<el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable @keyup.enter="handleQuery" /> |
|
|
|
<el-input v-model="queryParams.nickName" placeholder="请输入用户昵称" clearable style="width: 180px" @keyup.enter="handleQuery" /> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="平台来源" prop="platformId"> |
|
|
|
<el-select v-model="queryParams.platformId" placeholder="请选择平台来源" clearable style="width: 180px"> |
|
|
|
<el-option v-for="item in platformOptions" :key="item.id" :label="item.platformName" :value="item.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="标签" prop="labelIds"> |
|
|
|
<el-select v-model="queryParams.labelIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择标签" style="width: 200px"> |
|
|
|
<el-select v-model="queryParams.labelIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择标签" style="width: 180px"> |
|
|
|
<el-option v-for="item in labelOptions" :key="item.id" :label="item.labelName" :value="item.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="群组" prop="groupIds"> |
|
|
|
<el-select v-model="queryParams.groupIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择群组" style="width: 200px"> |
|
|
|
<el-select v-model="queryParams.groupIds" multiple collapse-tags collapse-tags-tooltip placeholder="请选择群组" style="width: 180px"> |
|
|
|
<el-option v-for="item in groupOptions" :key="item.id" :label="item.groupName" :value="item.id" /> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
@ -208,6 +213,7 @@ |
|
|
|
|
|
|
|
<script setup name="User" lang="ts"> |
|
|
|
import { listUser, getUser, ban, unban, getLabelList, getGroupList, updateBatchUser } from '@/api/im/user'; |
|
|
|
import { allListPlatformConfiguration } from '@/api/im/platformConfiguration'; |
|
|
|
import { UserVO, UserQuery, UserForm } from '@/api/im/user/types'; |
|
|
|
import { ElMessageBox, ElFormInstance, ComponentInternalInstance } from 'element-plus'; |
|
|
|
|
|
|
|
@ -224,6 +230,7 @@ const total = ref(0); |
|
|
|
// 存储标签和群组选项 |
|
|
|
const labelOptions = ref<any[]>([]); |
|
|
|
const groupOptions = ref<any[]>([]); |
|
|
|
const platformOptions = ref<any[]>([]); // 新增:存储平台选项 |
|
|
|
|
|
|
|
const queryFormRef = ref<ElFormInstance>(); |
|
|
|
const userFormRef = ref<ElFormInstance>(); |
|
|
|
@ -258,6 +265,7 @@ const data = reactive<PageData<UserForm, UserQuery>>({ |
|
|
|
nickName: undefined, |
|
|
|
labelIds: [] as any, |
|
|
|
groupIds: [] as any, |
|
|
|
platformId: undefined, // 新增:平台来源查询参数 |
|
|
|
params: {} |
|
|
|
}, |
|
|
|
rules: {} |
|
|
|
@ -591,15 +599,16 @@ const getGroupNameById = (id: string | number) => { |
|
|
|
return group ? group.groupName : ''; |
|
|
|
}; |
|
|
|
|
|
|
|
// 获取标签和群组列表 |
|
|
|
// 获取标签、群组和平台列表 |
|
|
|
const getLabelAndGroupList = async () => { |
|
|
|
try { |
|
|
|
const [labelsRes, groupsRes] = await Promise.all([getLabelList(), getGroupList()]); |
|
|
|
const [labelsRes, groupsRes, platformRes] = await Promise.all([getLabelList(), getGroupList(), allListPlatformConfiguration()]); |
|
|
|
labelOptions.value = labelsRes.data || []; |
|
|
|
groupOptions.value = groupsRes.data || []; |
|
|
|
platformOptions.value = platformRes.data || []; // 新增:设置平台选项 |
|
|
|
} catch (error) { |
|
|
|
console.error('获取标签和群组列表失败:', error); |
|
|
|
proxy?.$modal?.msgError('获取标签和群组列表失败'); |
|
|
|
console.error('获取标签、群组和平台列表失败:', error); |
|
|
|
proxy?.$modal?.msgError('获取标签、群组和平台列表失败'); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|