fix: add sync messages for user synchronization feedback in chat-user.ts and SyncUsersDialog.vue

This commit is contained in:
wxg0103 2025-07-15 17:50:32 +08:00
parent 816825d5de
commit 41a0b1adca
4 changed files with 47 additions and 15 deletions

View File

@ -20,5 +20,10 @@ export default {
confirmMessage: 'All members in this group will be removed after deletion. Proceed with caution!',
},
batchDeleteMember: 'Remove selected {count} members?',
},
syncMessage: {
title: 'Successfully synced {count} users',
usernameExist: 'The following usernames already exist:',
nicknameExist: 'The following nicknames already exist:',
}
}

View File

@ -20,5 +20,10 @@ export default {
confirmMessage: '删除后,该用户组下的成员将全部移除,请谨慎操作!',
},
batchDeleteMember: '是否移除选中的 {count} 个成员?',
},
syncMessage: {
title: '成功同步 {count} 个用户',
usernameExist: '以下用户名已存在:',
nicknameExist: '以下姓名已存在:',
}
}

View File

@ -20,5 +20,10 @@ export default {
confirmMessage: '刪除後,該用戶組下的成員將全部移除,請謹慎操作!',
},
batchDeleteMember: '是否移除選中的 {count} 個成員?',
},
syncMessage: {
title: '成功同步 {count} 個用戶',
usernameExist: '以下用戶名已存在:',
nicknameExist: '以下姓名已存在:',
}
}

View File

@ -5,7 +5,8 @@
<h4 class="mb-8 medium">{{ t('views.chatUser.syncUsers') }}</h4>
<div class="color-secondary lighter">{{ t('views.chatUser.syncUsersTip') }}</div>
</template>
<el-form label-position="top" ref="formRef" :rules="rules" :model="form" require-asterisk-position="right">
<el-form label-position="top" ref="formRef" :rules="rules" :model="form"
require-asterisk-position="right">
<el-form-item :label="$t('views.userManage.source.label')" prop="sync_type">
<el-select v-model="form.sync_type" :placeholder="$t('common.selectPlaceholder')">
<el-option :label="t('views.userManage.source.local')" value="LOCAL">
@ -27,7 +28,7 @@
<script setup lang="ts">
import {ref, reactive} from 'vue'
import type {FormInstance} from 'element-plus'
import { MsgSuccess } from '@/utils/message'
import {MsgError, MsgSuccess} from '@/utils/message'
import {t} from '@/locales'
import userManageApi from '@/api/system/chat-user'
@ -61,10 +62,26 @@ const submit = async (formEl: FormInstance | undefined) => {
if (!formEl) return
await formEl.validate((valid) => {
if (valid) {
userManageApi.batchSync(form.value.sync_type, loading).then(() => {
MsgSuccess(t('common.syncSuccess'))
userManageApi.batchSync(form.value.sync_type, loading).then((res) => {
if (res.data) {
const count = res.data.success_count
if (res.data.conflict_users && res.data.conflict_users.length > 0) {
// res.data.conflict_users
let ErrorMsg = ''
res.data.conflict_users.forEach((item: any) => {
if (item.type === 'username') {
ErrorMsg += '\n\n' + t('views.chatUser.syncMessage.usernameExist') + " [ " + item.users.join(',') + '\n' + ' ]'
}
if (item.type === 'nick_name') {
ErrorMsg += '\n\n' + t('views.chatUser.syncMessage.nicknameExist') + " [ " + item.users.join(',') + '\n' + ' ]'
}
})
MsgSuccess(t('views.chatUser.syncMessage.title', {count: count}) + ErrorMsg)
emit('refresh')
dialogVisible.value = false
}
}
})
}
})