ZaiZai 1 rok temu
rodzic
commit
f5d076c337
4 zmienionych plików z 28 dodań i 10 usunięć
  1. 1 1
      public/version.json
  2. 6 2
      src/router/routers.js
  3. 6 0
      src/store/index.js
  4. 15 7
      src/views/project/middle.vue

+ 1 - 1
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20240402180040"
+  "value": "20240403094004"
 }

+ 6 - 2
src/router/routers.js

@@ -1,7 +1,11 @@
-import { getStore, setStore } from 'hc-vue3-ui'
+import pinia from '~src/store/init'
+import { useAppStore } from '~src/store'
+import { getStore } from 'hc-vue3-ui'
 import { deepClone, getArrValue, isNullES } from 'js-fast-way'
 import testMenu from './modules/menu'
 
+const store = useAppStore(pinia)
+
 //获取路由菜单
 export const getRouterData = async (toName) => {
     const routes = getArrValue(getStore('routes'))
@@ -17,7 +21,7 @@ export const getMenuData = async () => {
             break
         }
     }
-    setStore('projectMenu', projectMenu)
+    store.setProjectMenu(projectMenu || [])
     return testMenu
 }
 

+ 6 - 0
src/store/index.js

@@ -7,6 +7,7 @@ export const useAppStore = defineStore('main', {
         userInfo: getStore('userInfo') || {},
         //菜单信息
         menus: getStore('menus') || [],
+        projectMenu: getStore('projectMenu') || [],
         home: getStore('home') || 'anomaly-invest',
         buttons: getStore('buttons') || {},
     }),
@@ -21,6 +22,10 @@ export const useAppStore = defineStore('main', {
             this.menus = value
             setStore('menus', value)
         },
+        setProjectMenu(value) {
+            this.projectMenu = value
+            setStore('projectMenu', value)
+        },
         setButtons(value) {
             this.buttons = value
             setStore('buttons', value)
@@ -36,6 +41,7 @@ export const useAppStore = defineStore('main', {
         clearStoreData() {
             this.userInfo = null
             this.menus = null
+            this.projectMenu = null
             this.buttons = null
             //清除缓存
             clearStoreAll()

+ 15 - 7
src/views/project/middle.vue

@@ -16,10 +16,12 @@
 </template>
 
 <script setup>
-import { onMounted, ref } from 'vue'
-import { getStore } from 'hc-vue3-ui'
+import { onMounted, ref, watch } from 'vue'
+import { useAppStore } from '~src/store'
 import { useRoute, useRouter } from 'vue-router'
-import { getArrValue, isNullES } from 'js-fast-way'
+import { isArray, isNullES } from 'js-fast-way'
+
+//子组件
 import HcMenuBar from '~src/layout/modules/MenuBar.vue'
 import AdminCreate from './admin/create.vue'
 import AdminListe from './admin/list.vue'
@@ -29,10 +31,16 @@ import GistListe from './gist/list.vue'
 //初始化
 const router = useRouter()
 const useRoutes = useRoute()
+const store = useAppStore()
 
 //渲染完成
 onMounted(() => {
-    getMenuDataKey()
+    getMenuDataKey(store.projectMenu)
+})
+
+//监听菜单变化
+watch(() => store.projectMenu, (menu) => {
+    getMenuDataKey(menu)
 })
 
 //左侧菜单
@@ -49,11 +57,11 @@ const menuChange = ({ code }) => {
 }
 
 //获取菜单数据
-const getMenuDataKey = async () => {
+const getMenuDataKey = async (menu) => {
+    if (!isArray(menu)) return
     //获取当前左侧菜单
-    const menu = getArrValue(getStore('projectMenu'))
-    console.log(menu)
     menuData.value = menu
+    if (menu.length <= 0) return
     //获取当前页面key
     const df_key = await getMenuDefaultKey(menu)
     const { code } = useRoutes.query