点击文件直接下载

This commit is contained in:
kuaifan 2022-07-01 16:17:11 +08:00
parent 42bc25381c
commit a9950a4365
4 changed files with 21 additions and 4 deletions

View File

@ -23,6 +23,7 @@
@on-view-reply="onViewReply" @on-view-reply="onViewReply"
@on-view-text="onViewText" @on-view-text="onViewText"
@on-view-file="onViewFile" @on-view-file="onViewFile"
@on-down-file="onDownFile"
@on-reply-list="onReplyList" @on-reply-list="onReplyList"
@on-emoji="onEmoji"/> @on-emoji="onEmoji"/>
</template> </template>
@ -114,6 +115,10 @@ export default {
this.dispatch("on-view-file", data) this.dispatch("on-view-file", data)
}, },
onDownFile(data) {
this.dispatch("on-down-file", data)
},
onReplyList(data) { onReplyList(data) {
this.dispatch("on-reply-list", data) this.dispatch("on-reply-list", data)
}, },

View File

@ -24,7 +24,7 @@
<div v-else-if="msgData.type === 'file'" :class="`content-file ${msgData.msg.type}`"> <div v-else-if="msgData.type === 'file'" :class="`content-file ${msgData.msg.type}`">
<div class="dialog-file"> <div class="dialog-file">
<img v-if="msgData.msg.type === 'img'" class="file-img" :style="imageStyle(msgData.msg)" :src="msgData.msg.thumb" @click="viewFile"/> <img v-if="msgData.msg.type === 'img'" class="file-img" :style="imageStyle(msgData.msg)" :src="msgData.msg.thumb" @click="viewFile"/>
<div v-else class="file-box"> <div v-else class="file-box" @click="downFile">
<img class="file-thumb" :src="msgData.msg.thumb"/> <img class="file-thumb" :src="msgData.msg.thumb"/>
<div class="file-info"> <div class="file-info">
<div class="file-name">{{msgData.msg.name}}</div> <div class="file-name">{{msgData.msg.name}}</div>
@ -392,6 +392,10 @@ export default {
this.$emit("on-view-file", this.msgData) this.$emit("on-view-file", this.msgData)
}, },
downFile() {
this.$emit("on-down-file", this.msgData)
},
replyList() { replyList() {
this.$emit("on-reply-list", { this.$emit("on-reply-list", {
msg_id: this.msgData.id, msg_id: this.msgData.id,

View File

@ -105,6 +105,7 @@
@on-view-reply="onViewReply" @on-view-reply="onViewReply"
@on-view-text="onViewText" @on-view-text="onViewText"
@on-view-file="onViewFile" @on-view-file="onViewFile"
@on-down-file="onDownFile"
@on-reply-list="onReplyList" @on-reply-list="onReplyList"
@on-emoji="onEmoji"> @on-emoji="onEmoji">
<template slot="header"> <template slot="header">
@ -1434,13 +1435,19 @@ export default {
} }
}, },
onDownFile() { onDownFile(data) {
if (this.operateVisible) {
return
}
if (!$A.isJson(data)) {
data = this.operateItem
}
$A.modalConfirm({ $A.modalConfirm({
title: '下载文件', title: '下载文件',
content: `${this.operateItem.msg.name} (${$A.bytesToSize(this.operateItem.msg.size)})`, content: `${data.msg.name} (${$A.bytesToSize(data.msg.size)})`,
okText: '立即下载', okText: '立即下载',
onOk: () => { onOk: () => {
this.$store.dispatch('downUrl', $A.apiUrl(`dialog/msg/download?msg_id=${this.operateItem.id}`)) this.$store.dispatch('downUrl', $A.apiUrl(`dialog/msg/download?msg_id=${data.id}`))
} }
}); });
}, },

View File

@ -577,6 +577,7 @@
padding: 10px 14px; padding: 10px 14px;
border-radius: 3px; border-radius: 3px;
width: 220px; width: 220px;
cursor: pointer;
.file-thumb { .file-thumb {
width: 36px; width: 36px;