Forráskód Böngészése

提交增加跳转判断

wenmenghao 4 hete
szülő
commit
8e80df487c
1 módosított fájl, 47 hozzáadás és 30 törlés
  1. 47 30
      apps/mobile/src/components/message/message-card.vue

+ 47 - 30
apps/mobile/src/components/message/message-card.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="message-bg" v-if="list.length">
+  <div v-if="list.length" class="message-bg">
     <div class="message-main clickable">
       <!-- <div class="card-title">
         <span>最新消息</span>
@@ -10,27 +10,27 @@
           <AppIcon name="youbian" size="14" color="#c0c4cc" />
         </div>
       </div> -->
-      <div class="message-card" ref="msgCard">
+      <div ref="msgCard" class="message-card">
         <div
           class="message-group"
           :style="{
             transform: `translateY(-${offsetHeight}px)`,
-            height: groupHeight + 'px'
+            height: `${groupHeight}px`,
           }"
         >
           <div
-            class="message-item"
             v-for="(item, index) in list"
             :key="index"
-            :class="{ visited: item.visited }"
             ref="listItem"
-            @click="goMessage(item)"
             v-bound-phone="bindPhoneGoMessage(item)"
+            class="message-item"
+            :class="{ visited: item.visited }"
+            @click="goMessage(item)"
           >
             <!-- <span class="dot"></span> -->
             <van-cell class="message-item-cell" is-link>
               <template #title>
-                <span class="icon iconfont icon-nav_un_message"></span>
+                <span class="icon iconfont icon-nav_un_message" />
                 <span class="type">{{ item.type }}</span>
                 <span class="flex-1 title van-ellipsis">{{ item.title }}</span>
               </template>
@@ -48,23 +48,22 @@
 </template>
 
 <script>
+import { Cell } from 'vant'
+import { mapGetters } from 'vuex'
 import {
-  ajaxMessageList,
   ajaxMarkRead,
+  ajaxMessageList,
   ajaxMessageOpenLog
 } from '@/api/modules/message'
 import { AppIcon } from '@/ui'
-import { Cell } from 'vant'
 import { dateMatter } from '@/utils/date'
 import { appCallReloadTab } from '@/utils/callFn/appFn'
-import { callChangeTab, openLinkOfOther } from '@/utils'
-import { mapGetters } from 'vuex'
-import { vw2px, px2viewport } from '@/utils'
+import { callChangeTab, openLinkOfOther, px2viewport, vw2px } from '@/utils'
 
 // const MSG_TYPE = ['活动通知', '服务通知', '订阅消息', '项目动态', '企业动态', '分析报告', '系统通知', '剑鱼学堂', '商机情报']
 
 export default {
-  name: 'message-card',
+  name: 'MessageCard',
   components: {
     [AppIcon.name]: AppIcon,
     [Cell.name]: Cell
@@ -97,7 +96,8 @@ export default {
       const height = !this.msgData.unread
       if (height) {
         return 70 / 3.75
-      } else {
+      }
+      else {
         return 76 / 3.75
       }
     }
@@ -120,7 +120,7 @@ export default {
   methods: {
     decimalValue(numberValue) {
       // 将数值转换为字符串并截取前两位小数
-      const decimalValue = numberValue.toString().match(/^\d+(?:\.\d{0,1})?/)
+      const decimalValue = numberValue.toString().match(/^\d+(?:\.\d?)?/)
       // 返回处理后的数值字符串
       return decimalValue ? decimalValue[0] : ''
     },
@@ -131,7 +131,8 @@ export default {
       let listItem
       if (this.$refs.listItem) {
         listItem = this.$refs.listItem[1] // 列表项高度
-      } else {
+      }
+      else {
         listItem = {
           offsetHeight: offsetYPx
         }
@@ -163,7 +164,7 @@ export default {
         }
         this.list = [].concat(
           data.map((v) => {
-            const MSG_TYPE = column.filter((m) => m.msg_type === v.msg_type)
+            const MSG_TYPE = column.filter(m => m.msg_type === v.msg_type)
             return {
               title: v.title,
               visited: v.isRead === 1,
@@ -176,13 +177,24 @@ export default {
       })
     },
     goVisited(item) {
-      this.$router.push({
-        path: '/message/msgDetail',
-        query: {
-          id: Number(item.data.id),
-          msgLogId: Number(item.data.msgLogId)
-        }
-      })
+      if (item.realType === 14) {
+        this.$router.push({
+          path: '/message/materialDetail',
+          query: {
+            id: Number(item.data.id),
+            msgLogId: Number(item.data.msgLogId)
+          }
+        })
+      }
+      else {
+        this.$router.push({
+          path: '/message/msgDetail',
+          query: {
+            id: Number(item.data.id),
+            msgLogId: Number(item.data.msgLogId)
+          }
+        })
+      }
     },
     goMore() {
       callChangeTab('message', this.$router)
@@ -201,7 +213,8 @@ export default {
       this.onClickMsg(item.data.msgLogId)
       if (item.visited) {
         return this.goVisited(item)
-      } else {
+      }
+      else {
         this.changeMessageStatus(item)
       }
     },
@@ -222,18 +235,21 @@ export default {
       if (inWX) {
         if (url.weChatUrl) {
           this.wxLocationTo(url.weChatUrl)
-        } else {
+        }
+        else {
           this.goVisited(item)
         }
-      } else {
+      }
+      else {
         let toLink = inIOS ? url.iosUrl : url.androidUrl
         if (toLink) {
           const hasHttp = /^http(s)?:\/\//.test(toLink)
           if (!hasHttp && toLink[0] !== '/') {
-            toLink = '/' + toLink
+            toLink = `/${toLink}`
           }
           openLinkOfOther(toLink)
-        } else {
+        }
+        else {
           this.goVisited(item)
         }
       }
@@ -243,7 +259,8 @@ export default {
       // 链接中如果是www.jianyu360.cn域名,微信中会唤起app,该用window.open
       // window.open(url)
       // window.open在安卓正常,但是ios无法跳转。改为location.href跳转
-      if (!url) return
+      if (!url)
+        return
       location.href = url
     },
     bindPhoneGoMessage(item) {