diff --git a/resources/assets/js/pages/manage/components/DialogUpload.vue b/resources/assets/js/pages/manage/components/DialogUpload.vue index 5d6d3cc04..27f60235a 100644 --- a/resources/assets/js/pages/manage/components/DialogUpload.vue +++ b/resources/assets/js/pages/manage/components/DialogUpload.vue @@ -61,7 +61,11 @@ export default { handleProgress(event, file) { //上传时 if (file.tempId === undefined) { - file.tempId = $A.randNum(1000000000, 9999999999) + if (this.$parent.$options.name === 'DialogWrapper') { + file.tempId = this.$parent.getTempId() + } else { + file.tempId = $A.randNum(1000000000, 9999999999) + } this.$emit('on-progress', file) } }, diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 01f1ffe88..11bc58cc4 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -538,6 +538,7 @@ export default { allMsgs: [], tempMsgs: [], + tempId: $A.randNum(1000000000, 9999999999), msgLoadIng: 0, pasteShow: false, @@ -1102,10 +1103,9 @@ export default { }); } else { // 发送 - const tempId = $A.randNum(1000000000, 9999999999) const typeLoad = $A.stringLength(msgText.replace(/]*?>/g, '')) > 5000 const tempMsg = { - id: tempId, + id: this.getTempId(), dialog_id: this.dialogData.id, reply_id: this.replyId, reply_data: this.replyItem, @@ -1130,7 +1130,7 @@ export default { }, method: 'post', }).then(({data}) => { - this.tempMsgs = this.tempMsgs.filter(({id}) => id != tempId) + this.tempMsgs = this.tempMsgs.filter(({id}) => id != tempMsg.id) this.sendSuccess(data) }).catch(error => { this.$set(tempMsg, 'error', true) @@ -1147,9 +1147,8 @@ export default { * @param msg {base64, duration} */ sendRecord(msg) { - const tempId = $A.randNum(1000000000, 9999999999); const tempMsg = { - id: tempId, + id: this.getTempId(), dialog_id: this.dialogData.id, reply_id: this.replyId, reply_data: this.replyItem, @@ -1171,7 +1170,7 @@ export default { }), method: 'post', }).then(({data}) => { - this.tempMsgs = this.tempMsgs.filter(({id}) => id != tempId) + this.tempMsgs = this.tempMsgs.filter(({id}) => id != tempMsg.id) this.sendSuccess(data); }).catch(error => { this.$set(tempMsg, 'error', true) @@ -1221,6 +1220,10 @@ export default { this.sendMsg(`

${item.label}

`) }, + getTempId() { + return this.tempId++ + }, + getMsgs(data) { return new Promise((resolve, reject) => { setTimeout(_ => this.msgLoadIng++, 2000)