|
|
|
@ -40,7 +40,7 @@ |
|
|
|
</div> |
|
|
|
<div title="聊天记录" class="el-icon-chat-dot-round" @click="showHistoryBox()"></div> |
|
|
|
</div> |
|
|
|
<textarea v-model="sendText" ref="sendBox" class="send-text-area" @keydown.enter="sendTextMessage()"></textarea> |
|
|
|
<textarea v-model="sendText" ref="sendBox" class="send-text-area" :disabled="lockMessage" @keydown.enter="sendTextMessage()"></textarea> |
|
|
|
<div class="im-chat-send"> |
|
|
|
<el-button type="primary" @click="sendTextMessage()">发送</el-button> |
|
|
|
</div> |
|
|
|
@ -94,7 +94,8 @@ |
|
|
|
x: 0, |
|
|
|
y: 0 |
|
|
|
}, |
|
|
|
showHistory: false // 是否显示历史聊天记录 |
|
|
|
showHistory: false, // 是否显示历史聊天记录 |
|
|
|
lockMessage: false // 是否锁定发送 |
|
|
|
} |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
@ -269,6 +270,7 @@ |
|
|
|
} |
|
|
|
// 填充对方id |
|
|
|
this.setTargetId(msgInfo, this.chat.targetId); |
|
|
|
this.lockMessage = true; |
|
|
|
this.$http({ |
|
|
|
url: this.messageAction, |
|
|
|
method: 'post', |
|
|
|
@ -281,11 +283,14 @@ |
|
|
|
msgInfo.sendId = this.$store.state.userStore.userInfo.id; |
|
|
|
msgInfo.selfSend = true; |
|
|
|
this.$store.commit("insertMessage", msgInfo); |
|
|
|
}).finally(() => { |
|
|
|
// 解除锁定 |
|
|
|
this.lockMessage = false; |
|
|
|
// 保持输入框焦点 |
|
|
|
this.$refs.sendBox.focus(); |
|
|
|
this.$nextTick(() => this.$refs.sendBox.focus()); |
|
|
|
// 滚动到底部 |
|
|
|
this.scrollToBottom(); |
|
|
|
}) |
|
|
|
}); |
|
|
|
const e = window.event || arguments[0]; |
|
|
|
if (e.key === 'Enter' || e.code === 'Enter' || e.keyCode === 13) { |
|
|
|
e.returnValue = false; |
|
|
|
|