diff --git a/resources/assets/js/pages/manage/components/DialogView.vue b/resources/assets/js/pages/manage/components/DialogView.vue index 45a935969..cc65a0ada 100644 --- a/resources/assets/js/pages/manage/components/DialogView.vue +++ b/resources/assets/js/pages/manage/components/DialogView.vue @@ -101,18 +101,18 @@

                     
@@ -316,12 +316,17 @@ export default {
             todoShow: false,
             todoList: [],
 
-            emojiUsersNum: 5
+            emojiUsersNum: 5,
+
+            voteData: {}
         }
     },
 
     mounted() {
         this.emojiUsersNum = Math.min(6, Math.max(2, Math.floor((this.windowWidth - 180) / 52)))
+        if (Object.keys(this.voteData).length === 0) {
+            this.voteData = JSON.parse(window.localStorage.getItem(`__cache:vote__`)) || {};
+        }
     },
 
     beforeDestroy() {
@@ -411,6 +416,18 @@ export default {
             if (val) {
                 setTimeout(_ => this.operateEnter = true, 500)
             }
+        },
+        voteData: {
+            handler(val) {
+                const voteData = JSON.parse(window.localStorage.getItem('__cache:vote__')) || {}
+                for (const key in val) {
+                    voteData[key] = val[key];
+                }
+                if (Object.keys(voteData).length > 0) {
+                    window.localStorage.setItem('__cache:vote__', JSON.stringify(voteData))
+                }
+            },
+            deep: true
         }
     },
 
@@ -614,7 +631,7 @@ export default {
                 data: {
                     dialog_id: msgData.dialog_id,
                     uuid: msgData.msg.uuid,
-                    vote: msgData.msg._vote || [],
+                    vote: this.voteData[msgData.msg.uuid] || [],
                     type: type
                 }
             }).then(({ data }) => {
diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue
index de81a9529..11d363e8f 100644
--- a/resources/assets/js/pages/manage/components/DialogWrapper.vue
+++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue
@@ -1153,6 +1153,9 @@ export default {
         dialogId: {
             handler(dialog_id, old_id) {
                 if (dialog_id) {
+                    //
+                    window.localStorage.removeItem('__cache:vote__')
+                    //
                     this.msgNew = 0
                     this.msgType = ''
                     this.unreadOne = 0