陪诊医疗系统(二)

右上角退出:

权限获取:

通过接口拿到了权限:

根据获得的数据动态设置动态路由:

先拿到数据:

通过glob导入,使得与对应文件夹对应

结果如下:

通过接口返回的路由信息已完成

但是存在store中的数据一刷新就丢失,因此下载持久化插件:

npm i vuex-persistedstate

配置:

这样能处理白屏,但是点击一个选项之后,又会空白,因为其数据属于动态路由的:

动态获取顶部数据:

先打印看看原来的数据:

动态绑定:

然后传值:

效果:

把点击的高亮效果保存下来:

#aside.vue
// 默认选中颜色
const active=computed(()=>store.state.menu.menuActive)


##  :default-active="active"
<el-menu
        :style="{width: !isCollapse ? '230px': '64px'}"
        active-text-color="#ffd04b"
        background-color="#545c64"
        class="aside-container"
        text-color="#fff"
        @open="handleOpen"
        @close="handleClose"
        :collapse="isCollapse"
        :default-active="active"
      >

#menu.js
###  menuActive:'1-1'
const state= localData ? localData.menu:{
  isCollapse:false,
  selectMenu:[],
  routerList:[],
  menuActive:'1-1'
}

updateMenuActive(state, payload){
      state.menuActive=payload
  }

#treeMenu.vue
### store.commit('updateMenuActive',active)
// 点击侧边栏跳转
const handleClick=(item,active) =>{
  // console.log(item);
  store.commit('addMenu',item.meta)
  store.commit('updateMenuActive',active)
  router.push(item.meta.path)
}

效果:

重定向:

#router/index.js

const localData = localStorage.getItem('pz_v3pz')

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { 
      path: '/',
      component: Layout,
      name: 'main',
      redirect:to =>{
        if(localData){
          // 有子菜单情况
          const child=JSON.parse(localData).menu.routerList[0].children
          if(child){
            return child[0].meta.path
          }else{
            return JSON.parse(localData).menu.routerList[0].meta.path
          }
        }else{
          return '/'
        }
      },
........

删除功能:


 


 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值