From 8ef32fdf165c26fb24d3bdd2a75cb71cf10e3682 Mon Sep 17 00:00:00 2001 From: bob <312777916@qq.com> Date: Tue, 5 Nov 2024 21:55:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=A1=86=E6=8A=BD=E6=88=90=E5=85=AC=E5=85=B1?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/SelectDialog.vue | 186 +++++++++++++++++++++++ src/views/contacts/user/SubPartition.vue | 62 +++----- 2 files changed, 204 insertions(+), 44 deletions(-) create mode 100644 src/components/common/SelectDialog.vue diff --git a/src/components/common/SelectDialog.vue b/src/components/common/SelectDialog.vue new file mode 100644 index 0000000..655898a --- /dev/null +++ b/src/components/common/SelectDialog.vue @@ -0,0 +1,186 @@ + + + + + + + + + + + + + + {{ `${optionsBySearch[item]?.nickName} ${optionsBySearch[item]?.account}` }} + + + + + + + + {{ `已选择:${selected.length} 人` }} + + 清空 + + + + {{ `${optionsBySearch[item].nickName} ${optionsBySearch[item].account}` }} + + + + + + + + + + + + + diff --git a/src/views/contacts/user/SubPartition.vue b/src/views/contacts/user/SubPartition.vue index 291083e..8b44c3f 100644 --- a/src/views/contacts/user/SubPartition.vue +++ b/src/views/contacts/user/SubPartition.vue @@ -16,11 +16,14 @@ import { } from '@/api/message' import { PARTITION_TYPE } from '@/const/userConst' import { ElMessage, ElMessageBox } from 'element-plus' -import { messageStore } from '@/stores' +import { messageStore, userStore } from '@/stores' import { ElLoading } from 'element-plus' import { el_loading_options } from '@/const/commonConst' +import SelectDialog from '@/components/common/SelectDialog.vue' +import { combineId } from '@/js/utils/common' const messageData = messageStore() +const userData = userStore() const partitionSearchKey = ref('') const userSearchKey = ref('') const isShowAddPartitionDialog = ref(false) @@ -29,10 +32,9 @@ const oprMenuRef = ref() const showOprMenuPartitionId = ref(0) const selectedIndex = ref('') -const isAddSession = ref(false) +const isShowSelectDialog = ref(false) const addSessionSelected = ref([]) const addSessionPartitionId = ref(null) -const addSessionTransferRef = ref() onMounted(async () => { if (!Object.keys(messageData.sessionList).length) { @@ -77,13 +79,10 @@ const detailData = computed(() => { }) const hasNoParitionSessions = computed(() => { - const data = [] + const data = {} Object.values(messageData.sessionList).forEach((item) => { if (item.partitionId === 0) { - data.push({ - key: item.sessionId, - label: item.objectInfo.nickName - }) + data[item.objectInfo.account] = item.objectInfo } }) return data @@ -186,23 +185,18 @@ const showOperationMenu = (e, partitionId) => { const onShowAddSessionByButton = (partitionId) => { addSessionPartitionId.value = partitionId addSessionSelected.value = [] - isAddSession.value = true + isShowSelectDialog.value = true } -const onCloseAddSession = () => { - addSessionTransferRef.value.clearQuery('left') - addSessionTransferRef.value.clearQuery('right') - isAddSession.value = false -} - -const onSaveAddSession = () => { - addSessionSelected.value.forEach((sessionId) => { +const onConfirmSelect = (selected) => { + addSessionSelected.value = selected + addSessionSelected.value.forEach((account) => { + const sessionId = combineId(account, userData.user.account) messageData.updateSession({ sessionId: sessionId, partitionId: partitions.value[addSessionPartitionId.value].partitionId }) }) - isAddSession.value = false } const isShowUserCard = ref(false) @@ -314,17 +308,12 @@ const onShowUserCard = async ({ sessionId, account }) => { @close="isShowRenamePartitionDialog = false" @confirm="onRenamePartitionConfirm" > - - + 为分组 { 添加联系人 - - - - - +