refactor: user group
This commit is contained in:
parent
62d0089c9e
commit
f2f6f82240
@ -1,94 +0,0 @@
|
|||||||
import {Result} from '@/request/Result.ts'
|
|
||||||
import {get, post} from '@/request'
|
|
||||||
import type {LoginRequest} from '@/api/type/login.ts'
|
|
||||||
import type {Ref} from 'vue'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 登录
|
|
||||||
* @param request 登录接口请求表单
|
|
||||||
* @param loading 接口加载器
|
|
||||||
* @returns 认证数据
|
|
||||||
*/
|
|
||||||
const login: (accessToken: string, request: LoginRequest, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
accessToken: string,
|
|
||||||
request,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return post('/chat_user/login/' + accessToken, request, undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
const ldapLogin: (accessToken: string, request: LoginRequest, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
accessToken: string,
|
|
||||||
request,
|
|
||||||
loading,
|
|
||||||
) => {
|
|
||||||
return post('/chat_user/ldap/login/' + accessToken, request, undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取验证码
|
|
||||||
* @param loading 接口加载器
|
|
||||||
*/
|
|
||||||
const getCaptcha: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
||||||
return get('/user/captcha', undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取登录方式
|
|
||||||
*/
|
|
||||||
const getAuthType: (accessToken: string, loading?: Ref<boolean>) => Promise<Result<any>> = (accessToken, loading) => {
|
|
||||||
return get('chat_user/auth/types/' + accessToken, undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取二维码类型
|
|
||||||
*/
|
|
||||||
const getQrType: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
||||||
return get('qr_type', undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getQrSource: (loading?: Ref<boolean>) => Promise<Result<any>> = (loading) => {
|
|
||||||
return get('qr_type/source', undefined, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDingCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
code,
|
|
||||||
loading
|
|
||||||
) => {
|
|
||||||
return get('dingtalk', {code}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getDingOauth2Callback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
code,
|
|
||||||
loading
|
|
||||||
) => {
|
|
||||||
return get('dingtalk/oauth2', {code}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
const getWecomCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
code,
|
|
||||||
loading
|
|
||||||
) => {
|
|
||||||
return get('wecom', {code}, loading)
|
|
||||||
}
|
|
||||||
const getLarkCallback: (code: string, loading?: Ref<boolean>) => Promise<Result<any>> = (
|
|
||||||
code,
|
|
||||||
loading
|
|
||||||
) => {
|
|
||||||
return get('lark/oauth2', {code}, loading)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
|
||||||
login,
|
|
||||||
getCaptcha,
|
|
||||||
getAuthType,
|
|
||||||
getDingCallback,
|
|
||||||
getQrType,
|
|
||||||
getWecomCallback,
|
|
||||||
getDingOauth2Callback,
|
|
||||||
getLarkCallback,
|
|
||||||
getQrSource,
|
|
||||||
ldapLogin
|
|
||||||
}
|
|
||||||
@ -44,7 +44,7 @@ const delUserGroup: (user_group_id: string, loading?: Ref<boolean>) => Promise<R
|
|||||||
*/
|
*/
|
||||||
const postAddMember: (
|
const postAddMember: (
|
||||||
user_group_id: string,
|
user_group_id: string,
|
||||||
body: string[],
|
body: any,
|
||||||
loading?: Ref<boolean>,
|
loading?: Ref<boolean>,
|
||||||
) => Promise<Result<any>> = (user_group_id, body, loading) => {
|
) => Promise<Result<any>> = (user_group_id, body, loading) => {
|
||||||
return post(`${prefix}/${user_group_id}/add_member`, body, {}, loading)
|
return post(`${prefix}/${user_group_id}/add_member`, body, {}, loading)
|
||||||
|
|||||||
@ -1,11 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog :title="$t('views.role.member.add')" v-model="dialogVisible" :close-on-click-modal="false"
|
<el-dialog :title="$t('views.role.member.add')" v-model="dialogVisible"
|
||||||
:close-on-press-escape="false" :destroy-on-close="true">
|
:close-on-click-modal="false"
|
||||||
<el-form label-position="top" ref="formRef" :rules="rules" :model="form" require-asterisk-position="right">
|
:close-on-press-escape="false" :destroy-on-close="true">
|
||||||
|
<el-form label-position="top" ref="formRef" :rules="rules" :model="form"
|
||||||
|
require-asterisk-position="right">
|
||||||
<el-form-item :label="$t('views.chatUser.group.usernameOrName')" prop="user">
|
<el-form-item :label="$t('views.chatUser.group.usernameOrName')" prop="user">
|
||||||
<el-select v-model="form.user" multiple filterable :placeholder="$t('common.selectPlaceholder')"
|
<el-select v-model="form.user" multiple filterable
|
||||||
:loading="optionLoading">
|
:placeholder="$t('common.selectPlaceholder')"
|
||||||
<el-option v-for="item in chatUserList" :key="item.id" :label="item.nick_name" :value="item.id">
|
:loading="optionLoading">
|
||||||
|
<el-option v-for="item in chatUserList" :key="item.id" :label="item.nick_name"
|
||||||
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -22,13 +26,13 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onBeforeMount } from 'vue'
|
import {ref, reactive, onBeforeMount} from 'vue'
|
||||||
import type { FormInstance } from 'element-plus'
|
import type {FormInstance} from 'element-plus'
|
||||||
import { MsgSuccess } from '@/utils/message'
|
import {MsgSuccess} from '@/utils/message'
|
||||||
import { t } from '@/locales'
|
import {t} from '@/locales'
|
||||||
import SystemGroupApi from '@/api/system/user-group'
|
import SystemGroupApi from '@/api/system/user-group'
|
||||||
import userManageApi from '@/api/system/chat-user'
|
import userManageApi from '@/api/system/chat-user'
|
||||||
import type { ChatUserItem } from '@/api/type/systemChatUser'
|
import type {ChatUserItem} from '@/api/type/systemChatUser'
|
||||||
|
|
||||||
const emit = defineEmits<{
|
const emit = defineEmits<{
|
||||||
(e: 'refresh'): void;
|
(e: 'refresh'): void;
|
||||||
@ -44,6 +48,7 @@ const form = ref<{ user: string[] }>({
|
|||||||
|
|
||||||
const optionLoading = ref(false)
|
const optionLoading = ref(false)
|
||||||
const chatUserList = ref<ChatUserItem[]>([])
|
const chatUserList = ref<ChatUserItem[]>([])
|
||||||
|
|
||||||
async function getChatUserList() {
|
async function getChatUserList() {
|
||||||
try {
|
try {
|
||||||
const res = await userManageApi.getChatUserList(optionLoading)
|
const res = await userManageApi.getChatUserList(optionLoading)
|
||||||
@ -58,8 +63,9 @@ onBeforeMount(() => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
const groupId = ref('');
|
const groupId = ref('');
|
||||||
|
|
||||||
function open(id: string) {
|
function open(id: string) {
|
||||||
form.value = { ...defaultForm }
|
form.value = {...defaultForm}
|
||||||
groupId.value = id
|
groupId.value = id
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
@ -67,7 +73,7 @@ function open(id: string) {
|
|||||||
const formRef = ref<FormInstance>();
|
const formRef = ref<FormInstance>();
|
||||||
|
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
user: [{ required: true, message: t('common.selectPlaceholder'), trigger: 'blur' }],
|
user: [{required: true, message: t('common.selectPlaceholder'), trigger: 'blur'}],
|
||||||
})
|
})
|
||||||
|
|
||||||
const loading = ref<boolean>(false)
|
const loading = ref<boolean>(false)
|
||||||
@ -75,7 +81,7 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
await formEl.validate((valid) => {
|
await formEl.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
SystemGroupApi.postAddMember(groupId.value, form.value.user, loading).then(() => {
|
SystemGroupApi.postAddMember(groupId.value, {"user_ids": form.value.user}, loading).then(() => {
|
||||||
MsgSuccess(t('common.createSuccess'))
|
MsgSuccess(t('common.createSuccess'))
|
||||||
emit('refresh')
|
emit('refresh')
|
||||||
dialogVisible.value = false
|
dialogVisible.value = false
|
||||||
@ -84,5 +90,5 @@ const submit = async (formEl: FormInstance | undefined) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
defineExpose({ open })
|
defineExpose({open})
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user