mirror of
https://gitee.com/lijingbo-2021/open-anylink-web.git
synced 2025-12-30 11:02:25 +00:00
多选模式下系统消息,撤回消息禁选
This commit is contained in:
@@ -1291,10 +1291,10 @@ const handleGlobalMouseUp = (e) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const msgId = el.dataset.msgId
|
const msgId = el.dataset.msgId
|
||||||
const isRecording = el.dataset.isRecording
|
const disabled = el.dataset.disabled
|
||||||
if (multiSelectedMsgIds.value.has(msgId)) {
|
if (multiSelectedMsgIds.value.has(msgId)) {
|
||||||
multiSelectedMsgIds.value.delete(msgId)
|
multiSelectedMsgIds.value.delete(msgId)
|
||||||
} else if (isRecording !== 'true') {
|
} else if (disabled !== 'true') {
|
||||||
// 语音消息不能被选中
|
// 语音消息不能被选中
|
||||||
multiSelectedMsgIds.value.add(msgId)
|
multiSelectedMsgIds.value.add(msgId)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -909,8 +909,12 @@ watch(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const multiSelectOptionDisabled = computed(() => {
|
||||||
|
return contentType.value === msgContentType.RECORDING || isSystemMsg.value || isRevoke.value
|
||||||
|
})
|
||||||
|
|
||||||
const handleItemClick = () => {
|
const handleItemClick = () => {
|
||||||
if (props.isMultiSelect && contentType.value !== msgContentType.RECORDING) {
|
if (props.isMultiSelect && !multiSelectOptionDisabled.value) {
|
||||||
emit('select', props.msgKey, !props.isSelected)
|
emit('select', props.msgKey, !props.isSelected)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -922,14 +926,14 @@ const handleItemClick = () => {
|
|||||||
:class="{
|
:class="{
|
||||||
'multi-select-mode': props.isMultiSelect,
|
'multi-select-mode': props.isMultiSelect,
|
||||||
'is-selected': props.isSelected,
|
'is-selected': props.isSelected,
|
||||||
'is-valid-option': props.isMultiSelect && contentType !== msgContentType.RECORDING
|
'is-valid-option': props.isMultiSelect && !multiSelectOptionDisabled
|
||||||
}"
|
}"
|
||||||
@click="handleItemClick"
|
@click="handleItemClick"
|
||||||
>
|
>
|
||||||
<div v-if="props.isMultiSelect" class="message-checkbox">
|
<div v-if="props.isMultiSelect" class="message-checkbox">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
:model-value="props.isSelected"
|
:model-value="props.isSelected"
|
||||||
:disabled="contentType === msgContentType.RECORDING"
|
:disabled="multiSelectOptionDisabled"
|
||||||
@update:model-value="handleItemClick"
|
@update:model-value="handleItemClick"
|
||||||
@click.stop
|
@click.stop
|
||||||
/>
|
/>
|
||||||
@@ -937,7 +941,7 @@ const handleItemClick = () => {
|
|||||||
<div
|
<div
|
||||||
class="message-item"
|
class="message-item"
|
||||||
:data-msg-id="props.msgKey"
|
:data-msg-id="props.msgKey"
|
||||||
:data-is-recording="contentType === msgContentType.RECORDING"
|
:data-disabled="multiSelectOptionDisabled"
|
||||||
:class="{ unreadMsg: isUnreadMsg }"
|
:class="{ unreadMsg: isUnreadMsg }"
|
||||||
>
|
>
|
||||||
<span v-if="isShowNoMoreMsg" class="no-more-message">当前无更多消息</span>
|
<span v-if="isShowNoMoreMsg" class="no-more-message">当前无更多消息</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user