刘洋 2 лет назад
Родитель
Сommit
7e3e3d0829

+ 3 - 0
src/components/shared/message/Message.vue

@@ -154,6 +154,9 @@ const replyUserId = useVModel(props, 'replyUserId')
 
 /** 发送/查看消息Modal */
 const visibleMessageWindow = ref<boolean>(false)
+bus.on('logout', () => {
+  visibleMessageWindow.value = false
+})
 const openMsgDialog = () => {
   messageWindowType.value = 'view'
   visibleMessageWindow.value = true

+ 13 - 2
src/components/shared/message/MessageHeadList.vue

@@ -1,12 +1,19 @@
 <template>
   <div class="message-list p-base scroll-y-auto">
     <template v-if="!!(messageList || []).length">
-      <div
+      <!-- <div
         v-for="message in messageList"
         :key="message.id"
         class="radius-base fill-blank p-base m-b-mini relative message-item"
         :class="{ active: currentMessage?.sendUserId === message.sendUserId, 'un-read': message.unReadCount > 0 }"
         @click="checkMessage(message)"
+      > -->
+      <div
+        v-for="message in messageList"
+        :key="message.id"
+        class="radius-base fill-blank p-base m-b-mini relative message-item"
+        :class="{ active: isActiveMessage(currentMessage, message), 'un-read': message.unReadCount > 0 }"
+        @click="checkMessage(message)"
       >
         <div class="flex items-center m-b-base message-title">
           <div class="message-send-user">
@@ -46,7 +53,11 @@ const checkMessage = (msg: any) => {
   bus.emit('clickChangeMsg', msg)
   emits('leftMsgClick', msg)
 }
-
+const isActiveMessage = (message1: any, message2: any) => {
+  let otherUserId1 = mainStore?.myUserInfo?.id == message1?.sendUserId ? message1?.receiveUserId : message1?.sendUserId
+  let otherUserId2 = mainStore?.myUserInfo?.id == message2?.sendUserId ? message2?.receiveUserId : message2?.sendUserId
+  return otherUserId1 && otherUserId1 === otherUserId2
+}
 getMessageList().then((result) => {
   //   currentMessage.value = result?.[0]
   if (props.mode !== 'view' && !props.replyUserId) {

+ 12 - 11
src/components/shared/message/MessageList.vue

@@ -112,7 +112,7 @@ const props = defineProps<{
   replyUserName?: string | null
 }>()
 
-const emits = defineEmits(['close', 'change-type', 'reply'])
+const emits = defineEmits(['close', 'change-type', 'reply', 'refresh'])
 const { fetch: getMessageHistory, result: history, loading } = useFetch('getMessageHistory')
 const historyReverse = computed(() => {
   return ((history.value as any) || []).reverse()
@@ -220,16 +220,17 @@ const onSendMessage = async () => {
     })
     ElMessage.success('发送成功')
     messageContent.value = ''
-    if (currentMessage.value?.sendUserId) {
-      getMessageHistory({
-        sendUserId:
-          currentMessage.value.sendUserId == mainStore?.myUserInfo?.id
-            ? currentMessage.value.receiveUserId
-            : currentMessage.value.sendUserId,
-      }).then(() => {
-        setTimeout(scrollToBottom, 1)
-      })
-    }
+    emits('refresh')
+    // if (currentMessage.value?.sendUserId) {
+    //   getMessageHistory({
+    //     sendUserId:
+    //       currentMessage.value.sendUserId == mainStore?.myUserInfo?.id
+    //         ? currentMessage.value.receiveUserId
+    //         : currentMessage.value.sendUserId,
+    //   }).then(() => {
+    //     setTimeout(scrollToBottom, 1)
+    //   })
+    // }
     // emit('close')
   } catch (error) {
     console.error(error)

+ 1 - 0
src/modules/analysis/view-marked-detail/index.vue

@@ -21,6 +21,7 @@
         <span class="preview" @click="onPreview">
           <svg-icon name="preview"></svg-icon>
         </span>
+        <p v-if="current" class="absolute mark-score">{{ current.markScore }}</p>
         <right-button class="next-button" @click="checkNext" />
         <div class="flex-1 p-base scroll-auto mark-content-paper img-wrap">
           <img :src="dataUrl" alt="" class="paper-img" :style="{ 'background-color': frontColor }" />

+ 2 - 1
src/utils/shared.ts

@@ -1,7 +1,7 @@
 import router from '@/router'
 import { sessionStorage } from '@/plugins/storage'
 import useFetch from '@/hooks/useFetch'
-
+import bus from '@/utils/bus'
 /** 清理评卷任务 */
 export const clearTasks = () => {
   const loginResult = sessionStorage.get('LOGIN_RESULT')
@@ -27,6 +27,7 @@ export const logout = async (clear = true) => {
   Promise.resolve().then(() => {
     console.log('Promise.resolve and will replace to login')
     sessionStorage.remove('LOGIN_RESULT')
+    bus.emit('logout')
     router.replace({ name: 'Login' })
   })
 }