diff --git a/src/views/message/MessageLayout.vue b/src/views/message/MessageLayout.vue index de896d5..1de4d43 100644 --- a/src/views/message/MessageLayout.vue +++ b/src/views/message/MessageLayout.vue @@ -1291,10 +1291,10 @@ const handleGlobalMouseUp = (e) => { } const msgId = el.dataset.msgId - const isRecording = el.dataset.isRecording + const disabled = el.dataset.disabled if (multiSelectedMsgIds.value.has(msgId)) { multiSelectedMsgIds.value.delete(msgId) - } else if (isRecording !== 'true') { + } else if (disabled !== 'true') { // 语音消息不能被选中 multiSelectedMsgIds.value.add(msgId) } diff --git a/src/views/message/components/MessageItem.vue b/src/views/message/components/MessageItem.vue index be1974b..58e1c2f 100644 --- a/src/views/message/components/MessageItem.vue +++ b/src/views/message/components/MessageItem.vue @@ -909,8 +909,12 @@ watch( } ) +const multiSelectOptionDisabled = computed(() => { + return contentType.value === msgContentType.RECORDING || isSystemMsg.value || isRevoke.value +}) + const handleItemClick = () => { - if (props.isMultiSelect && contentType.value !== msgContentType.RECORDING) { + if (props.isMultiSelect && !multiSelectOptionDisabled.value) { emit('select', props.msgKey, !props.isSelected) } } @@ -922,14 +926,14 @@ const handleItemClick = () => { :class="{ 'multi-select-mode': props.isMultiSelect, 'is-selected': props.isSelected, - 'is-valid-option': props.isMultiSelect && contentType !== msgContentType.RECORDING + 'is-valid-option': props.isMultiSelect && !multiSelectOptionDisabled }" @click="handleItemClick" >