Bladeren bron

企业菜单权限调整

Xiao_123 2 maanden geleden
bovenliggende
commit
2331b70381
4 gewijzigde bestanden met toevoegingen van 39 en 53 verwijderingen
  1. 4 7
      src/layout/company/navBar.vue
  2. 0 4
      src/main.js
  3. 34 38
      src/permission.js
  4. 1 4
      src/views/recruit/enterprise/staffChangePassword/index.vue

+ 4 - 7
src/layout/company/navBar.vue

@@ -40,7 +40,7 @@
               </template>
               </template>
 
 
               <v-list>
               <v-list>
-                <v-list-item v-for="(item, index) in items" :key="index" @click="item.change">
+                <v-list-item v-for="(item, index) in menuList" :key="index" @click="item.change">
                   <template v-slot:prepend>
                   <template v-slot:prepend>
                     <v-icon :icon="item.icon"></v-icon>
                     <v-icon :icon="item.icon"></v-icon>
                   </template>
                   </template>
@@ -84,11 +84,12 @@
 </template>
 </template>
 
 
 <script setup>
 <script setup>
+defineOptions({ name: 'personal-navbar' })
 import {
 import {
   getUserBindEnterpriseList,
   getUserBindEnterpriseList,
   // getUserRegisterEnterpriseApply
   // getUserRegisterEnterpriseApply
 } from '@/api/personal/user'
 } from '@/api/personal/user'
-import { computed, ref, onMounted } from 'vue'
+import { ref, onMounted } from 'vue'
 import { getToken } from '@/utils/auth'
 import { getToken } from '@/utils/auth'
 import { useUserStore } from '@/store/user'; const userStore = useUserStore()
 import { useUserStore } from '@/store/user'; const userStore = useUserStore()
 // import { useLocaleStore } from '@/store/locale'; const localeStore = useLocaleStore()
 // import { useLocaleStore } from '@/store/locale'; const localeStore = useLocaleStore()
@@ -96,8 +97,7 @@ import { useRouter } from 'vue-router'; const router = useRouter()
 import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 import { useI18n } from '@/hooks/web/useI18n'; const { t } = useI18n()
 import MessageNotification from '../message.vue'
 import MessageNotification from '../message.vue'
 import { getUserAvatar } from '@/utils/avatar'
 import { getUserAvatar } from '@/utils/avatar'
-import { formatName } from '@/utils/getText';
-defineOptions({ name: 'personal-navbar' })
+import { formatName } from '@/utils/getText'
 
 
 defineProps({
 defineProps({
   sticky: {
   sticky: {
@@ -132,9 +132,6 @@ const menuList = ref([
   { title: t('setting.editPassword'), icon: 'mdi-shield-lock-open-outline', change: () => router.push({ path: '/recruit/enterprise/systemManagement/staffChangePassword' }) },
   { title: t('setting.editPassword'), icon: 'mdi-shield-lock-open-outline', change: () => router.push({ path: '/recruit/enterprise/systemManagement/staffChangePassword' }) },
   { title: t('setting.logOut'), icon: 'mdi-logout', change: handleLogout }
   { title: t('setting.logOut'), icon: 'mdi-logout', change: handleLogout }
 ])
 ])
-const items = computed(() => {
-  return menuList.value.filter(item => !item.hidden)
-})
 
 
 // 企业logo、用户基本信息
 // 企业logo、用户基本信息
 let baseInfo = ref(JSON.parse(localStorage.getItem('entBaseInfo')) || {})
 let baseInfo = ref(JSON.parse(localStorage.getItem('entBaseInfo')) || {})

+ 0 - 4
src/main.js

@@ -32,7 +32,6 @@ import VueLuckyCanvas from '@lucky-canvas/vue'
 import router from './router'
 import router from './router'
 
 
 import { ellipsisTooltip } from '@/directives/ellipsisTooltip/index.js'
 import { ellipsisTooltip } from '@/directives/ellipsisTooltip/index.js'
-// import imageDirective from '@/directives/previewImageDirective'
 
 
 import './permission'
 import './permission'
 
 
@@ -48,10 +47,7 @@ app.use(pinia)
 app.use(router)
 app.use(router)
 app.use(Clipboard)
 app.use(Clipboard)
 app.use(VueLuckyCanvas)
 app.use(VueLuckyCanvas)
-// imageDirective(app)
 
 
-
-// app.config.globalProperties.$echarts = echarts
 registerPlugins(app)
 registerPlugins(app)
 app.component('VueDatePicker', VueDatePicker)
 app.component('VueDatePicker', VueDatePicker)
 
 

+ 34 - 38
src/permission.js

@@ -5,6 +5,7 @@ import { getToken, getIsEnterprise } from '@/utils/auth'
 // import { useDictStore } from '@/store/dict'
 // import { useDictStore } from '@/store/dict'
 import { useUserStore } from '@/store/user'
 import { useUserStore } from '@/store/user'
 import Confirm from '@/plugins/confirm'
 import Confirm from '@/plugins/confirm'
+import fullScreen from '@/plugins/fullScreen'
 import dialogExtend from '@/plugins/dialogExtend'
 import dialogExtend from '@/plugins/dialogExtend'
 import { useMallStore } from '@/store/mall'
 import { useMallStore } from '@/store/mall'
 import { useEnterpriseStore } from '@/store/enterprise'
 import { useEnterpriseStore } from '@/store/enterprise'
@@ -76,15 +77,37 @@ router.beforeEach(async (to, from, next) => {
           next('/404')
           next('/404')
           return
           return
         }
         }
+
+        // 强制修改密码
+        if (localStorage.getItem('entUpdatePassword') === 'needChange') fullScreen('entUpdatePassword')
+        // 企业登录-招聘会广告
+        else if (hasRoute('/recruit/enterprise/jobFair/index') && !localStorage.getItem('jobFairAd') && tokenIndex === 1) {
+          localStorage.setItem('jobFairAd', 'hasBeenShow')
+          dialogExtend('jobFairAd')
+        }
+        // 企业登录-免费职位广告提示
+        else if (hasRoute('/recruit/enterprise/position/index') && localStorage.getItem('positionAd') && tokenIndex === 1) {
+          localStorage.setItem('positionAd', '')
+          dialogExtend('positionAd')
+        }
+        // 企业信息完成度提示(只有企业管理弹)
+        else if (localStorage.getItem('checkEnterpriseBaseInfoFalseHref') && tokenIndex === 1) {
+          if (to.path !== '/recruit/enterprise/position/add') { // 除了点击企业登录免费职位广告提示跳转路由不提示
+            const href = localStorage.getItem('checkEnterpriseBaseInfoFalseHref')
+            localStorage.setItem('checkEnterpriseBaseInfoFalseHref', '')
+            localStorage.setItem('entUpdatePassword', '')
+            if (to.path !== href) {
+              setTimeout(() => {
+                Confirm('系统提示', '企业信息设置未完善,是否前往完善?').then(() => {
+                  window.location.href = href
+                })
+              }, 4000)
+            }
+          }
+        }
+
         if (to.path === ENTERPRISE_PATH) {
         if (to.path === ENTERPRISE_PATH) {
           next(findPath(routes))
           next(findPath(routes))
-          // const firstPath = routes[0]
-          // if (!firstPath.children) {
-          //   next(firstPath.path)
-          // } else {
-          //   // 查找二级路由
-          //   next(routes[0].children[0].path)
-          // }
           function findPath (nodes, root = '') {
           function findPath (nodes, root = '') {
             const first = nodes[0]
             const first = nodes[0]
             const path = root + first.path
             const path = root + first.path
@@ -94,6 +117,7 @@ router.beforeEach(async (to, from, next) => {
             return findPath(first.children, path + '/')
             return findPath(first.children, path + '/')
           }
           }
         }
         }
+
         next({ ...to, replace: true })
         next({ ...to, replace: true })
         return
         return
       }
       }
@@ -103,43 +127,15 @@ router.beforeEach(async (to, from, next) => {
         return
         return
       }
       }
     }
     }
-    // 强制修改密码
-    if (localStorage.getItem('entUpdatePassword') === 'needChange') fullScreen('entUpdatePassword')
+    
     // 强制填写个人信息 fddeaddc47868b/ready
     // 强制填写个人信息 fddeaddc47868b/ready
-    else if (localStorage.getItem('chooseRole') === 'showChooseRole' && to.path !== '/register/selectedPersonRole' && tokenIndex === 2) next('/register/selectedPersonRole')
+    if (localStorage.getItem('chooseRole') === 'showChooseRole' && to.path !== '/register/selectedPersonRole' && tokenIndex === 2) next('/register/selectedPersonRole')
     else if (localStorage.getItem('necessaryInfoReady') === 'fddeaddc47868b' && tokenIndex === 2 && localStorage.getItem('chooseRole') !== 'showChooseRole') dialogExtend('necessaryInfoDialog')
     else if (localStorage.getItem('necessaryInfoReady') === 'fddeaddc47868b' && tokenIndex === 2 && localStorage.getItem('chooseRole') !== 'showChooseRole') dialogExtend('necessaryInfoDialog')
-    // 企业登录-招聘会广告
-    else if (!localStorage.getItem('jobFairAd') && tokenIndex === 1) {
-      localStorage.setItem('jobFairAd', 'hasBeenShow')
-      dialogExtend('jobFairAd')
-    }
-    // 企业登录-免费职位广告提示
-    else if (localStorage.getItem('positionAd') && tokenIndex === 1) {
-      localStorage.setItem('positionAd', '')
-      dialogExtend('positionAd')
-    }
-    // 企业信息完成度提示
-    else if (localStorage.getItem('checkEnterpriseBaseInfoFalseHref') && tokenIndex === 1) {
-      if (to.path !== '/recruit/enterprise/position/add') { // 除了点击企业登录免费职位广告提示跳转路由不提示
-        const href = localStorage.getItem('checkEnterpriseBaseInfoFalseHref')
-        localStorage.setItem('checkEnterpriseBaseInfoFalseHref', '')
-        localStorage.setItem('entUpdatePassword', '')
-        if (to.path !== href) {
-          setTimeout(() => {
-            Confirm('系统提示', '企业信息设置未完善,是否前往完善?').then(() => {
-              window.location.href = href
-            })
-          }, 4000)
-        }
-      }
-    }
+    
     if (to.fullPath === '/login') {
     if (to.fullPath === '/login') {
       next('/recruitHome')
       next('/recruitHome')
       return
       return
     }
     }
-    // 获取字典信息
-    // const dictStore = useDictStore()
-    // dictStore.getDictTypeData()
     next()
     next()
     return
     return
   }
   }

+ 1 - 4
src/views/recruit/enterprise/staffChangePassword/index.vue

@@ -108,10 +108,7 @@ const handleCommit = async () => {
   if (props.entChangePassword) {
   if (props.entChangePassword) {
     localStorage.setItem('entUpdatePassword', 'doNotNeedChange')
     localStorage.setItem('entUpdatePassword', 'doNotNeedChange')
     loading.value = false
     loading.value = false
-    // setTimeout(() => {
-    //   loading.value = false
-    //   window.location.href = '/enterprise'
-    // }, 1500)
+    window.location.href = '/recruit/enterprise'
   } else {
   } else {
     loading.value = false
     loading.value = false
     router.go(-1)
     router.go(-1)