huwhois лет назад: 5
Родитель
Сommit
135e22ff84
3 измененных файлов с 44 добавлено и 22 удалено
  1. 5 5
      src/router/index.js
  2. 0 14
      src/views/main-sidebar-sub-menu.vue
  3. 39 3
      src/views/main-sidebar.vue

+ 5 - 5
src/router/index.js

@ -171,14 +171,14 @@ function fnAddDynamicMenuRoutesMy (menuList = [], routes = []) {
171 171
    } else if (menuList[i].url && /\S/.test(menuList[i].url)) {
172 172
      menuList[i].url = menuList[i].url.replace(/^\//, '')
173 173
      var route = {
174
        path: addMeetingId(menuList[i].url.replace('/', '-'), menuList[i].parentId),
174
        path: addMeetingId(menuList[i].url.replace('/', '-'), menuList[i].me),
175 175
        component: null,
176
        name: addMeetingId(menuList[i].url.replace('/', '-'), menuList[i].parentId),
176
        name: addMeetingId(menuList[i].url.replace('/', '-'), menuList[i].me),
177 177
        meta: {
178 178
          menuId: menuList[i].menuId,
179 179
          title: menuList[i].name,
180 180
          isDynamic: true,
181
          isTab: menuList[i].isTab,
181
          isTab: false,
182 182
          iframeUrl: ''
183 183
        }
184 184
      }
@ -213,9 +213,9 @@ function fnAddDynamicMenuRoutesMy (menuList = [], routes = []) {
213 213
  }
214 214
}
215 215
216
function addMeetingId (url, parentId) {
216
function addMeetingId (url, me) {
217 217
  // console.log(url)
218
  if (parentId === 76) {
218
  if (me === 1) {
219 219
    url += '/:id'
220 220
  }
221 221
  return url

+ 0 - 14
src/views/main-sidebar-sub-menu.vue

@ -12,7 +12,6 @@
12 12
        :key="item.menuId"
13 13
        :menu="item"
14 14
        :dynamicMenuRoutes="dynamicMenuRoutes"
15
        v-if="item.me!=0 || meetingId!=0"  
16 15
      >
17 16
    </sub-menu>
18 17
    </template>
@ -26,11 +25,6 @@
26 25
<script>
27 26
  import SubMenu from './main-sidebar-sub-menu'
28 27
  export default {
29
    data () {
30
      return {
31
        meetingId: 0
32
      }
33
    },
34 28
    name: 'sub-menu',
35 29
    props: {
36 30
      menu: {
@ -50,14 +44,6 @@
50 44
        get () { return this.$store.state.common.sidebarLayoutSkin }
51 45
      }
52 46
    },
53
    watch: {
54
      '$route' (to, from) {
55
        // 对路由变化作出响应...
56
        // console.log(this.$route.params)
57
        this.meetingId = this.$route.params.hasOwnProperty('id') ? this.$route.params.id :0
58
        console.log(this.meetingId)
59
      }
60
    },
61 47
    methods: {
62 48
      // 通过menuId与动态(菜单)路由进行匹配跳转至指定路由
63 49
      gotoRouteHandle (menu) {

+ 39 - 3
src/views/main-sidebar.vue

@ -28,7 +28,8 @@
28 28
          v-for="menu in menuList"
29 29
          :key="menu.menuId"
30 30
          :menu="menu"
31
          :dynamicMenuRoutes="dynamicMenuRoutes">
31
          :dynamicMenuRoutes="dynamicMenuRoutes"
32
          :meetindId="meetingId">
32 33
        </sub-menu>
33 34
      </el-menu>
34 35
    </div>
@ -41,7 +42,8 @@
41 42
  export default {
42 43
    data () {
43 44
      return {
44
        dynamicMenuRoutes: []
45
        dynamicMenuRoutes: [],
46
        meetingId: 0
45 47
      }
46 48
    },
47 49
    components: {
@ -73,15 +75,49 @@
73 75
    },
74 76
    watch: {
75 77
      $route: 'routeHandle'
78
      // '$route' (to, from) {
79
      //   // 对路由变化作出响应...
80
      //   // console.log(this.$route.params)
81
      //   this.meetingId = this.$route.params.hasOwnProperty('id') ? this.$route.params.id : 0
82
      //   console.log(this.meetingId)
83
      // }
76 84
    },
77 85
    created () {
78
      this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
86
      // console.log(JSON.parse(sessionStorage.getItem('menuList') || '[]'))
87
      let mList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
88
      let myList = []
89
      mList.forEach(element => {
90
        if (element.me === 0) {
91
          myList.push(element)
92
        }
93
      })
94
      // this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
95
      this.menuList = myList
79 96
      this.dynamicMenuRoutes = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
97
      console.log(this.$route)
80 98
      this.routeHandle(this.$route)
81 99
    },
82 100
    methods: {
83 101
      // 路由操作
84 102
      routeHandle (route) {
103
        console.log(this.meetingId + '103')
104
        this.meetingId = this.$route.params.hasOwnProperty('id') ? this.$route.params.id : 0
105
        console.log(this.meetingId + '105')
106
        if (this.meetingId !== 0) {
107
          this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
108
          console.log(this.menuList)
109
        } else {
110
          let mList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
111
          let myList = []
112
          mList.forEach(element => {
113
            if (element.me === 0) {
114
              myList.push(element)
115
            }
116
          })
117
          console.log(myList)
118
          // this.menuList = JSON.parse(sessionStorage.getItem('menuList') || '[]')
119
          this.menuList = myList
120
        }
85 121
        if (route.meta.isTab) {
86 122
          // tab选中, 不存在先添加
87 123
          var tab = this.mainTabs.filter(item => item.name === route.name)[0]