Commit c17988d2 by pangchong

feat: 多人通话

parent e81c4b06
......@@ -15,7 +15,7 @@
多人呼叫
</a-button>
</div>
<a-collapse :bordered="false">
<a-collapse :bordered="false" :default-active-key="[0, 1]">
<a-collapse-item :header="key + '列表'" :key="index" v-for="(value, key, index) in getUserListGroup">
<contacts-list :data="value"></contacts-list>
</a-collapse-item>
......@@ -72,7 +72,7 @@ onSuccess(({ data }) => {
})
const searchParams = reactive({
userName: '',
isOnline: false
isOnline: true
})
//获取联系人分组
const getUserListGroup = computed(() => {
......
<template>
<a-checkbox-group v-model="checkbox" class="w-full">
<template v-for="(item, index) in data" :key="item.id">
<div class="item flex items-center px-4 py-3 rounded cursor-pointer" v-if="userStore.user_info.id !== item.id">
<div class="item flex items-center px-4 py-3 rounded cursor-pointer">
<global-avatar></global-avatar>
<div class="ml-[9px] inline-block">{{ item.nickname }}</div>
<div class="flex-auto text-right">
......@@ -14,9 +14,7 @@
<script setup lang="ts">
import { ContactsItemDto } from '@/store/contacts/types'
import useUserStore from '@/store/user'
const userStore = useUserStore()
interface Props {
data?: Array<ContactsItemDto>
}
......
<template>
<global-model v-model:visible="showModel" title="选择通话用户" :width="320">
<div class="h-80 overflow-y-auto">
<a-collapse :bordered="false">
<a-collapse :bordered="false" :default-active-key="[0, 1]">
<a-collapse-item :header="key + '列表'" :key="index" v-for="(value, key, index) in getUserListGroup">
<contacts-list-choose :data="value" v-model="chooseUserIds" v-if="value.length"></contacts-list-choose>
</a-collapse-item>
</a-collapse>
</div>
<template #footer>
<a-button size="large" type="primary" @click="showModel = false" :disabled="chooseUserIds.length == 0">呼叫{{ chooseUserIds.length }}</a-button>
<a-button size="large" type="primary" @click="multiCall" :disabled="chooseUserIds.length == 0">呼叫{{ chooseUserIds.length }}</a-button>
<a-button size="large" @click="showModel = false">取消</a-button>
</template>
</global-model>
......@@ -20,7 +20,9 @@ import useContactsStore from '@/store/contacts/index'
import contactsListChoose from './contactsListChoose.vue'
import { cloneDeep } from 'lodash'
import { videoGroup } from '@/constants/common/user'
import useUserStore from '@/store/user'
const userStore = useUserStore()
//选中的联系人数组id
const chooseUserIds = ref([])
const showModel = ref(false)
......@@ -40,12 +42,16 @@ const getUserListGroup = computed(() => {
result[groupName] = []
}
//在线人员
if (getOnlineContacts.value.find((_item) => _item.id == item.id)) {
if (getOnlineContacts.value.find((_item) => _item.id == item.id) && userStore.user_info.id !== item.id) {
result[groupName].push(item)
}
return result
}, {})
})
//多人呼叫
const multiCall = () => {
console.log(chooseUserIds.value)
}
defineExpose({
open
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment