1414 <div class =" user-left border-r p-16" >
1515 <div class =" user-left_title flex-between" >
1616 <h4 class =" medium" >{{ $t('views.chatUser.group.title') }}</h4 >
17- <el-tooltip effect =" dark" :content =" `${$t('common.create')}${$t('views.chatUser.group.title')}`"
18- placement =" top" >
17+ <el-tooltip effect =" dark"
18+ :content =" `${$t('common.create')}${$t('views.chatUser.group.title')}`"
19+ placement =" top" >
1920 <el-button type =" primary" text @click =" createOrUpdate()" >
2021 <AppIcon iconName =" app-copy" ></AppIcon >
2122 </el-button >
2223 </el-tooltip >
2324 </div >
2425
2526 <div class =" p-8" >
26- <el-input v-model =" filterText" :placeholder =" $t('common.search')" prefix-icon =" Search" clearable />
27+ <el-input v-model =" filterText" :placeholder =" $t('common.search')" prefix-icon =" Search"
28+ clearable />
2729 </div >
2830 <div class =" list-height-left" >
2931 <el-scrollbar v-loading =" loading" >
3436 <el-dropdown :teleported =" false" >
3537 <el-button text >
3638 <el-icon class =" color-secondary" >
37- <MoreFilled />
39+ <MoreFilled />
3840 </el-icon >
3941 </el-button >
4042 <template #dropdown >
6870 <div class =" user-right" v-loading =" rightLoading" >
6971 <div class =" flex align-center" >
7072 <h4 class =" medium" >{{ current?.name }}</h4 >
71- <el-divider direction =" vertical" class =" mr-8 ml-8" />
72- <AppIcon iconName =" app-wordspace" style =" font-size : 16px " class =" color-input-placeholder" ></AppIcon >
73+ <el-divider direction =" vertical" class =" mr-8 ml-8" />
74+ <AppIcon iconName =" app-wordspace" style =" font-size : 16px "
75+ class =" color-input-placeholder" ></AppIcon >
7376 <span class =" color-input-placeholder ml-4" >
7477 {{ paginationConfig.total }}
7578 </span >
8689 </div >
8790 <div class =" flex-between complex-search" >
8891 <el-select class =" complex-search__left" v-model =" searchType" style =" width : 120px " >
89- <el-option :label =" $t('views.login.loginForm.username.label')" value =" username" />
92+ <el-option :label =" $t('views.login.loginForm.username.label')" value =" username" />
9093 </el-select >
91- <el-input v-if =" searchType === 'username'" v-model =" searchForm.username" @change =" getList"
92- :placeholder =" $t('common.searchBar.placeholder')" style =" width : 220px " clearable />
94+ <el-input v-if =" searchType === 'username'" v-model =" searchForm.username"
95+ @change =" getList"
96+ :placeholder =" $t('common.searchBar.placeholder')" style =" width : 220px "
97+ clearable />
9398 </div >
9499 </div >
95100
96- <app-table :data =" tableData" :pagination-config =" paginationConfig" @sizeChange =" handleSizeChange"
97- @changePage =" getList" @selection-change =" handleSelectionChange" >
98- <el-table-column type =" selection" width =" 55" />
99- <el-table-column prop =" nick_name" :label =" $t('views.userManage.userForm.nick_name.label')" />
100- <el-table-column prop =" username" :label =" $t('views.login.loginForm.username.label')" />
101+ <app-table :data =" tableData" :pagination-config =" paginationConfig"
102+ @sizeChange =" handleSizeChange"
103+ @changePage =" getList" @selection-change =" handleSelectionChange" >
104+ <el-table-column type =" selection" width =" 55" />
105+ <el-table-column prop =" nick_name"
106+ :label =" $t('views.userManage.userForm.nick_name.label')" />
107+ <el-table-column prop =" username" :label =" $t('views.login.loginForm.username.label')" />
101108 <el-table-column prop =" source" :label =" $t('views.userManage.source.label')" >
102109 <template #default =" { row } " >
103110 {{
117124 </el-table-column >
118125 <el-table-column :label =" $t('common.operation')" width =" 100" fixed =" right" >
119126 <template #default =" { row } " >
120- <el-tooltip effect =" dark" :content =" `${$t('views.role.member.delete.button')}`" placement =" top" >
127+ <el-tooltip effect =" dark" :content =" `${$t('views.role.member.delete.button')}`"
128+ placement =" top" >
121129 <el-button type =" primary" text @click.stop =" handleDeleteUser(row)" >
122130 <el-icon >
123- <EditPen />
131+ <EditPen />
124132 </el-icon >
125133 </el-button >
126134 </el-tooltip >
131139 </div >
132140 </el-card >
133141 </ContentContainer >
134- <CreateOrUpdateGroupDialog ref =" createOrUpdateGroupDialogRef" @refresh =" refresh" />
135- <CreateGroupUserDialog ref =" createGroupUserDialogRef" @refresh =" getList" />
142+ <CreateOrUpdateGroupDialog ref =" createOrUpdateGroupDialogRef" @refresh =" refresh" />
143+ <CreateGroupUserDialog ref =" createGroupUserDialogRef" @refresh =" getList" />
136144</template >
137145
138146<script lang="ts" setup>
139- import { onMounted , ref , watch , reactive } from ' vue'
147+ import {onMounted , ref , watch , reactive } from ' vue'
140148import SystemGroupApi from ' @/api/system/user-group'
141- import { t } from ' @/locales'
142- import type { ChatUserGroupUserItem } from ' @/api/type/systemChatUser'
149+ import {t } from ' @/locales'
150+ import type {ChatUserGroupUserItem } from ' @/api/type/systemChatUser'
143151import iconMap from ' @/components/app-icon/icons/common'
144152import CreateOrUpdateGroupDialog from ' ./component/CreateOrUpdateGroupDialog.vue'
145153import CreateGroupUserDialog from ' ./component/CreateGroupUserDialog.vue'
146- import type { ListItem } from ' @/api/type/common'
147- import { MsgSuccess , MsgConfirm } from ' @/utils/message'
154+ import type {ListItem } from ' @/api/type/common'
155+ import {MsgSuccess , MsgConfirm } from ' @/utils/message'
148156
149157const filterText = ref (' ' )
150158const loading = ref (false )
@@ -187,6 +195,7 @@ function clickUserGroup(item: ListItem) {
187195}
188196
189197const createOrUpdateGroupDialogRef = ref <InstanceType <typeof CreateOrUpdateGroupDialog >>()
198+
190199function createOrUpdate(item ? : ListItem ) {
191200 createOrUpdateGroupDialogRef .value ?.open (item );
192201}
@@ -252,26 +261,28 @@ watch(() => current.value?.id, () => {
252261})
253262
254263const createGroupUserDialogRef = ref <InstanceType <typeof CreateGroupUserDialog >>()
264+
255265function createUser() {
256266 createGroupUserDialogRef .value ?.open (current .value ?.id );
257267}
258268
259269const multipleSelection = ref <any []>([])
270+
260271function handleSelectionChange(val : any []) {
261272 multipleSelection .value = val
262273}
263274
264275function handleDeleteUser(item ? : ChatUserGroupUserItem ) {
265276 MsgConfirm (
266- item ? ` ${t (' views.workspace.member.delete.confirmTitle' )}${item .nick_name } ? ` : t (' views.chatUser.group.batchDeleteMember' , { count: multipleSelection .value .length }),
277+ item ? ` ${t (' views.workspace.member.delete.confirmTitle' )}${item .nick_name } ? ` : t (' views.chatUser.group.batchDeleteMember' , {count: multipleSelection .value .length }),
267278 ' ' ,
268279 {
269280 confirmButtonText: t (' common.confirm' ),
270281 confirmButtonClass: ' danger' ,
271282 },
272283 )
273284 .then (() => {
274- SystemGroupApi .postRemoveMember (current .value ?.id as string , { group_relation_ids: item ? [item .id ] : multipleSelection .value .map (item => (item .id )) }, loading ).then (async () => {
285+ 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 () => {
275286 MsgSuccess (t (' common.deleteSuccess' ))
276287 await getList ()
277288 })
@@ -324,4 +335,4 @@ function handleDeleteUser(item?: ChatUserGroupUserItem) {
324335 flex-direction : column ;
325336 padding : 24px ;
326337}
327- </style >
338+ </style >
0 commit comments