zs 1 year ago
parent
commit
085d8a1e2c
3 changed files with 15 additions and 4 deletions
  1. 6 3
      src/layout/index.vue
  2. 4 0
      src/views/achievement/index.vue
  3. 5 1
      src/views/home/index.vue

+ 6 - 3
src/layout/index.vue

@@ -171,9 +171,9 @@ const search = async () => {
     foot.value = result.data[0].footInfo || {}
   }
 }
-const selectMenu = (item) => {
+const selectMenu = (item, query) => {
   current.value = item
-  router.push({ path: `/${item}` })
+  router.push({ path: `/${item}`, query })
 }
 // 登录|注册
 const toLogin = (status) => {
@@ -210,7 +210,10 @@ const toLogout = () => {
 watch(
   route,
   (newVal) => {
-    if (newVal && newVal.name) selectMenu(newVal.name)
+    if (newVal && newVal.name) {
+      if (newVal.query?.type) selectMenu(newVal.name, newVal.query)
+      else selectMenu(newVal.name)
+    }
   },
   {
     immediate: true //初始化立即执行

+ 4 - 0
src/views/achievement/index.vue

@@ -253,6 +253,7 @@ const store = AchievementStore()
 const dictDataStore = DictDataStore()
 // 路由
 const router = useRouter()
+const route = useRoute()
 // 图片引入
 import achievement from '@/assets/bg.png'
 // 加载中
@@ -318,6 +319,9 @@ const search = async (query = { skip: 0, limit }) => {
     is_use: '0',
     status: '1'
   }
+  // if (route?.query?.type) {
+  //   info.field = route.query.type
+  // }
   const res = await store.query(info)
   if (res.errcode == '0') {
     list.value = res.data

+ 5 - 1
src/views/home/index.vue

@@ -261,7 +261,7 @@
                     class="list"
                     v-for="(item, index) in fieldList"
                     :key="index"
-                    @click="selectMenu('achievement')"
+                    @click="toAchive(item)"
                   >
                     <RocketTwoTone />
                     <span class="textOver">{{ item.label }}</span>
@@ -477,6 +477,10 @@ const mouseOver = async (item) => {
 const toChat = (item) => {
   router.push({ path: '/chat', query: { id: item.user } })
 }
+// 查看成果
+const toAchive = (item) => {
+  router.push({ path: '/achievement', query: { type: item.value } })
+}
 const removeHtmlStyle = (html) => {
   let relStyle = /style\s*?=\s*?([‘"])[\s\S]*?\1/g //去除样式
   let relTag = /<.+?>/g //去除标签