refactor: user group
This commit is contained in:
parent
fef23579ac
commit
0badeb8cef
@ -25,5 +25,6 @@ interface ChatUserGroupUserItem {
|
||||
is_active: boolean,
|
||||
create_time: string,
|
||||
update_time: string,
|
||||
user_group_relation_id: string,
|
||||
}
|
||||
export type { ChatUserGroupUserItem, ChatUserItem }
|
||||
@ -14,7 +14,8 @@
|
||||
<div class="user-left border-r p-16">
|
||||
<div class="user-left_title flex-between">
|
||||
<h4 class="medium">{{ $t('views.chatUser.group.title') }}</h4>
|
||||
<el-tooltip effect="dark" :content="`${$t('common.create')}${$t('views.chatUser.group.title')}`"
|
||||
<el-tooltip effect="dark"
|
||||
:content="`${$t('common.create')}${$t('views.chatUser.group.title')}`"
|
||||
placement="top">
|
||||
<el-button type="primary" text @click="createOrUpdate()">
|
||||
<AppIcon iconName="app-copy"></AppIcon>
|
||||
@ -23,7 +24,8 @@
|
||||
</div>
|
||||
|
||||
<div class="p-8">
|
||||
<el-input v-model="filterText" :placeholder="$t('common.search')" prefix-icon="Search" clearable />
|
||||
<el-input v-model="filterText" :placeholder="$t('common.search')" prefix-icon="Search"
|
||||
clearable/>
|
||||
</div>
|
||||
<div class="list-height-left">
|
||||
<el-scrollbar v-loading="loading">
|
||||
@ -69,7 +71,8 @@
|
||||
<div class="flex align-center">
|
||||
<h4 class="medium">{{ current?.name }}</h4>
|
||||
<el-divider direction="vertical" class="mr-8 ml-8"/>
|
||||
<AppIcon iconName="app-wordspace" style="font-size: 16px" class="color-input-placeholder"></AppIcon>
|
||||
<AppIcon iconName="app-wordspace" style="font-size: 16px"
|
||||
class="color-input-placeholder"></AppIcon>
|
||||
<span class="color-input-placeholder ml-4">
|
||||
{{ paginationConfig.total }}
|
||||
</span>
|
||||
@ -88,15 +91,19 @@
|
||||
<el-select class="complex-search__left" v-model="searchType" style="width: 120px">
|
||||
<el-option :label="$t('views.login.loginForm.username.label')" value="username"/>
|
||||
</el-select>
|
||||
<el-input v-if="searchType === 'username'" v-model="searchForm.username" @change="getList"
|
||||
:placeholder="$t('common.searchBar.placeholder')" style="width: 220px" clearable />
|
||||
<el-input v-if="searchType === 'username'" v-model="searchForm.username"
|
||||
@change="getList"
|
||||
:placeholder="$t('common.searchBar.placeholder')" style="width: 220px"
|
||||
clearable/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<app-table :data="tableData" :pagination-config="paginationConfig" @sizeChange="handleSizeChange"
|
||||
<app-table :data="tableData" :pagination-config="paginationConfig"
|
||||
@sizeChange="handleSizeChange"
|
||||
@changePage="getList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="nick_name" :label="$t('views.userManage.userForm.nick_name.label')" />
|
||||
<el-table-column prop="nick_name"
|
||||
:label="$t('views.userManage.userForm.nick_name.label')"/>
|
||||
<el-table-column prop="username" :label="$t('views.login.loginForm.username.label')"/>
|
||||
<el-table-column prop="source" :label="$t('views.userManage.source.label')">
|
||||
<template #default="{ row }">
|
||||
@ -117,7 +124,8 @@
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('common.operation')" width="100" fixed="right">
|
||||
<template #default="{ row }">
|
||||
<el-tooltip effect="dark" :content="`${$t('views.role.member.delete.button')}`" placement="top">
|
||||
<el-tooltip effect="dark" :content="`${$t('views.role.member.delete.button')}`"
|
||||
placement="top">
|
||||
<el-button type="primary" text @click.stop="handleDeleteUser(row)">
|
||||
<el-icon>
|
||||
<EditPen/>
|
||||
@ -187,6 +195,7 @@ function clickUserGroup(item: ListItem) {
|
||||
}
|
||||
|
||||
const createOrUpdateGroupDialogRef = ref<InstanceType<typeof CreateOrUpdateGroupDialog>>()
|
||||
|
||||
function createOrUpdate(item?: ListItem) {
|
||||
createOrUpdateGroupDialogRef.value?.open(item);
|
||||
}
|
||||
@ -252,11 +261,13 @@ watch(() => current.value?.id, () => {
|
||||
})
|
||||
|
||||
const createGroupUserDialogRef = ref<InstanceType<typeof CreateGroupUserDialog>>()
|
||||
|
||||
function createUser() {
|
||||
createGroupUserDialogRef.value?.open(current.value?.id);
|
||||
}
|
||||
|
||||
const multipleSelection = ref<any[]>([])
|
||||
|
||||
function handleSelectionChange(val: any[]) {
|
||||
multipleSelection.value = val
|
||||
}
|
||||
@ -271,7 +282,7 @@ function handleDeleteUser(item?: ChatUserGroupUserItem) {
|
||||
},
|
||||
)
|
||||
.then(() => {
|
||||
SystemGroupApi.postRemoveMember(current.value?.id as string, { group_relation_ids: item ? [item.id] : multipleSelection.value.map(item => (item.id)) }, loading).then(async () => {
|
||||
SystemGroupApi.postRemoveMember(current.value?.id as string, {group_relation_ids: item ? [item.user_group_relation_id] : multipleSelection.value.map(item => (item.user_group_relation_id))}, loading).then(async () => {
|
||||
MsgSuccess(t('common.deleteSuccess'))
|
||||
await getList()
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user