diff --git a/package.json b/package.json index 0bdff025b..3548911d9 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "vue-resize-observer": "^2.0.16", "vue-router": "^3.6.5", "vue-template-compiler": "~2.6.14", - "vue-virtual-scroll-list-hi": "^2.3.5-5", + "vue-virtual-scroll-list-hi": "^2.3.5-7", "vuedraggable": "^2.24.3", "vuex": "^3.6.2" }, diff --git a/resources/assets/js/pages/manage/components/DialogItem.vue b/resources/assets/js/pages/manage/components/DialogItem.vue index 2c914d9b3..2f38789e6 100644 --- a/resources/assets/js/pages/manage/components/DialogItem.vue +++ b/resources/assets/js/pages/manage/components/DialogItem.vue @@ -170,10 +170,7 @@ export default { if (!this.windowActive) { return; } - if (!this.$el) { - return; - } - if (this.$el.parentNode.classList.contains('inactive')) { + if (!this.$el?.parentNode.classList.contains('item-enter')) { return; } // 标记已读 diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 90f5838e8..d5f3e1d00 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -148,7 +148,7 @@ 1 - } else { - item.is_unread = false } return item }, @@ -1217,8 +1214,13 @@ export default { } }, - positionMsg(msg) { - if (msg && msg.is_unread === true) { + positionMsg() { + const {unread, position_msgs} = this.dialogData + if (!$A.isArray(position_msgs) || unread < 2) { + return + } + const msg = position_msgs.find(item => item.label === '{UNREAD}') + if (msg) { this.unreadMsgId = msg.msg_id } } diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss index 508fe33ff..50e5da3f4 100644 --- a/resources/assets/sass/pages/components/dialog-wrapper.scss +++ b/resources/assets/sass/pages/components/dialog-wrapper.scss @@ -432,7 +432,7 @@ -webkit-overflow-scrolling: touch; } - .inactive { + .item-leave { pre, code { visibility: hidden; }