✨ feat(im): 增加群管理的 code review
parent
238862b572
commit
92b1466597
|
|
@ -1,3 +1,6 @@
|
||||||
|
<!-- TODO @AI git mv 到 /Users/yunai/Java/yudao-all-in-im/yudao-ui-admin-vue3/src/views/im/manager/group -->
|
||||||
|
<!-- TODO @AI:需要增加状态;然后有个筛选:仅展示当前群内的成员;和不选中,就是全部; -->
|
||||||
|
<!-- TODO @AI:displayUserName、displayGroupName、muted;群成员状态;退群时间;需要也展示; -->
|
||||||
<template>
|
<template>
|
||||||
<el-drawer v-model="drawerVisible" :title="drawerTitle" size="600px" :destroy-on-close="true">
|
<el-drawer v-model="drawerVisible" :title="drawerTitle" size="600px" :destroy-on-close="true">
|
||||||
<el-table v-loading="loading" :data="memberList" border>
|
<el-table v-loading="loading" :data="memberList" border>
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
:model="queryParams"
|
:model="queryParams"
|
||||||
ref="queryFormRef"
|
ref="queryFormRef"
|
||||||
:inline="true"
|
:inline="true"
|
||||||
label-width="80px"
|
label-width="68px"
|
||||||
>
|
>
|
||||||
<el-form-item label="群名称" prop="name">
|
<el-form-item label="群名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
placeholder="请输入群名称"
|
placeholder="请输入群名称"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
class="!w-200px"
|
class="!w-240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="群主编号" prop="ownerUserId">
|
<el-form-item label="群主编号" prop="ownerUserId">
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
placeholder="请输入群主用户编号"
|
placeholder="请输入群主用户编号"
|
||||||
clearable
|
clearable
|
||||||
@keyup.enter="handleQuery"
|
@keyup.enter="handleQuery"
|
||||||
class="!w-200px"
|
class="!w-240px"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="群状态" prop="status">
|
<el-form-item label="群状态" prop="status">
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
v-model="queryParams.status"
|
v-model="queryParams.status"
|
||||||
placeholder="请选择群状态"
|
placeholder="请选择群状态"
|
||||||
clearable
|
clearable
|
||||||
class="!w-160px"
|
class="!w-240px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getIntDictOptions(DICT_TYPE.IM_GROUP_STATUS)"
|
v-for="dict in getIntDictOptions(DICT_TYPE.IM_GROUP_STATUS)"
|
||||||
|
|
@ -46,7 +46,7 @@
|
||||||
v-model="queryParams.banned"
|
v-model="queryParams.banned"
|
||||||
placeholder="请选择封禁状态"
|
placeholder="请选择封禁状态"
|
||||||
clearable
|
clearable
|
||||||
class="!w-160px"
|
class="!w-240px"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
|
||||||
|
|
@ -85,7 +85,13 @@
|
||||||
</el-avatar>
|
</el-avatar>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="群名称" align="center" prop="name" min-width="160" show-overflow-tooltip />
|
<el-table-column
|
||||||
|
label="群名称"
|
||||||
|
align="center"
|
||||||
|
prop="name"
|
||||||
|
min-width="160"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
<el-table-column label="群主" align="center" min-width="160">
|
<el-table-column label="群主" align="center" min-width="160">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<span>{{ row.ownerNickname || '-' }}</span>
|
<span>{{ row.ownerNickname || '-' }}</span>
|
||||||
|
|
@ -154,9 +160,11 @@
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
|
||||||
<!-- 群成员抽屉 -->
|
<!-- 群成员抽屉 -->
|
||||||
|
<!-- TODO @AI:DrawerRef 简化下 -->
|
||||||
<GroupMemberDrawer ref="memberDrawerRef" />
|
<GroupMemberDrawer ref="memberDrawerRef" />
|
||||||
|
|
||||||
<!-- 封禁原因弹窗 -->
|
<!-- 封禁原因弹窗 -->
|
||||||
|
<!-- TODO @AI:独立出来 -->
|
||||||
<el-dialog v-model="banDialogVisible" title="封禁群" width="500" :close-on-click-modal="false">
|
<el-dialog v-model="banDialogVisible" title="封禁群" width="500" :close-on-click-modal="false">
|
||||||
<el-form :model="banForm" :rules="banFormRules" ref="banFormRef" label-width="80px">
|
<el-form :model="banForm" :rules="banFormRules" ref="banFormRef" label-width="80px">
|
||||||
<el-form-item label="群名称">
|
<el-form-item label="群名称">
|
||||||
|
|
@ -189,7 +197,7 @@ import GroupMemberDrawer from './components/GroupMemberDrawer.vue'
|
||||||
defineOptions({ name: 'ImGroup' })
|
defineOptions({ name: 'ImGroup' })
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化 TODO @AI:这里 linter 报错;
|
||||||
|
|
||||||
const loading = ref(true) // 列表的加载中
|
const loading = ref(true) // 列表的加载中
|
||||||
const total = ref(0) // 列表的总页数
|
const total = ref(0) // 列表的总页数
|
||||||
|
|
@ -270,6 +278,7 @@ const submitBan = async () => {
|
||||||
|
|
||||||
/** 解封按钮操作 */
|
/** 解封按钮操作 */
|
||||||
const handleUnban = async (row: ManagerGroupApi.ImManagerGroupVO) => {
|
const handleUnban = async (row: ManagerGroupApi.ImManagerGroupVO) => {
|
||||||
|
// TODO @AI:对齐 system user info 写的习惯;manager 下其他写的,也检查下;
|
||||||
try {
|
try {
|
||||||
// 解封的二次确认
|
// 解封的二次确认
|
||||||
await message.confirm(`确认解封群「${row.name}」吗?`)
|
await message.confirm(`确认解封群「${row.name}」吗?`)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue