diff --git a/resources/assets/js/pages/manage/components/DialogUpload.vue b/resources/assets/js/pages/manage/components/DialogUpload.vue
index cf935f3e3..61c7a414c 100644
--- a/resources/assets/js/pages/manage/components/DialogUpload.vue
+++ b/resources/assets/js/pages/manage/components/DialogUpload.vue
@@ -140,8 +140,8 @@ export default {
file.msg = this.fileMsgCaches[msgName]
delete this.fileMsgCaches[msgName]
}
- this.$emit('on-progress', file)
}
+ this.$emit('on-progress', file)
},
handleSuccess(res, file) {
diff --git a/resources/assets/js/pages/manage/components/DialogView.vue b/resources/assets/js/pages/manage/components/DialogView.vue
index a06a07227..233141ddb 100644
--- a/resources/assets/js/pages/manage/components/DialogView.vue
+++ b/resources/assets/js/pages/manage/components/DialogView.vue
@@ -40,6 +40,9 @@
{{$A.bytesToSize(msgData.msg.size)}}
+
+
+
@@ -508,6 +511,15 @@ export default {
return `${Math.max(1, seconds)}″`
},
+ fileStyle(percentage) {
+ if (percentage) {
+ return {
+ width: (100 - percentage) + '%'
+ };
+ }
+ return {};
+ },
+
imageStyle(info) {
const {width, height} = info;
if (width && height) {
diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue
index 184d36768..ba1e4be5d 100644
--- a/resources/assets/js/pages/manage/components/DialogWrapper.vue
+++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue
@@ -1983,13 +1983,19 @@ export default {
chatFile(type, file) {
switch (type) {
case 'progress':
+ const percentage = file.showProgress ? Math.max(file.percentage, 0.01) : false
+ const temp = this.tempMsgs.find(({id}) => id == file.tempId);
+ if (temp) {
+ temp.msg.percentage = percentage
+ return;
+ }
const tempMsg = {
id: file.tempId,
dialog_id: this.dialogData.id,
reply_id: this.quoteId,
type: 'file',
userid: this.userId,
- msg: file.msg || {},
+ msg: Object.assign(file.msg || {}, {percentage}),
}
this.tempMsgs.push(tempMsg)
this.msgType = ''
diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss
index 049870038..e3ee9205d 100644
--- a/resources/assets/sass/pages/components/dialog-wrapper.scss
+++ b/resources/assets/sass/pages/components/dialog-wrapper.scss
@@ -937,6 +937,26 @@
}
.content-file {
+ position: relative;
+
+ .file-percentage {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border-radius: 3px;
+ overflow: hidden;
+ > span {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ width: 0;
+ background-color: rgba(170, 170, 170, 0.2);
+ }
+ }
+
&.file {
display: inline-block;