소스 검색

Merge branch 'dev' of https://git.citupro.com/zhengnaiwen_citu/menduner into dev

lifanagju_citu 11 달 전
부모
커밋
2bfc27d0a2

+ 2 - 2
src/api/enterprise.js

@@ -79,8 +79,8 @@ export const saveUserInfo = async (data) => {
 }
 
 // 招聘端-获取人才的在线简历详情
-export const getPersonCvDetail = async (userId) => {
+export const getPersonCvDetail = async (userId, id) => {
   return await request.get({
-    url: `/app-admin-api/menduner/system/person-cv/detail?userId=${userId}`
+    url: `/app-admin-api/menduner/system/person-cv/detail?userId=${userId}&id=${id}`
   })
 }

+ 1 - 1
src/layout/company/navBar.vue

@@ -104,7 +104,7 @@ const handleEnterpriseClick = () => {
   // router.push({ path: '/enterprise/enterpriseCenter?key=mIntroduction' })
 }
 const enterpriseClick = (tabKey = 1) => {
-  const path = '/enterprise/systemManagement/informationSettings'
+  const path = '/enterprise/informationManagement/informationSettings'
   router.push({ path, query: { tabKey } })
 }
 

+ 15 - 7
src/layout/company/side.vue

@@ -52,20 +52,28 @@ const list = computed(() => {
 })
 
 const getList = (arr, obj = []) => {
+  // 是否为企业管理员
+  const isAdmin = localStorage.getItem('isAdmin')
+
   arr.forEach(element => {
     if (element.show) return
-    const data = {}
-    data.title = element?.meta?.title
-    data.enName = element?.meta?.enName
-    data.icon = element?.meta?.icon
-    data.name = element?.name
-    data.path = element?.path
-    data.children = []
+    let data = {}
+    data = {
+      title: element?.meta?.title,
+      enName: element?.meta?.enName,
+      icon: element?.meta?.icon,
+      name: element?.name,
+      path: element?.path,
+      children: []
+    }
+    if (element?.meta?.isAdmin) data.isAdmin = true
     if (element?.children) {
       getList(element.children, data.children)
     }
     obj.push(data)
   })
+
+  if (!isAdmin) obj = obj.filter(e => !e.isAdmin)
   return obj
 }
 </script>

+ 29 - 7
src/router/modules/enterprise.js

@@ -148,23 +148,23 @@ const enterprise = [
     ]
   },
   {
-    path: '/enterprise/systemManagement',
+    path: '/enterprise/informationManagement',
     component: Layout,
-    redirect: '/enterprise/systemManagement/informationSettings',
-    name: 'systemManagement',
+    redirect: '/enterprise/informationManagement/informationSettings',
+    name: 'informationManagement',
     meta: {
-      title: '系统管理',
-      enName: 'System Management',
+      title: '信息管理',
+      enName: 'Information Management',
       icon: 'mdi-tune'
     },
     children: [
       {
-        path: '/enterprise/systemManagement/informationSettings',
+        path: '/enterprise/informationManagement/informationSettings',
         meta: {
           title: '企业信息设置',
           enName: 'Enterprise Information Settings'
         },
-        component: () => import('@/views/enterprise/systemManagement/informationSettings.vue')
+        component: () => import('@/views/enterprise/informationManagement/informationSettings.vue')
       },
       {
         path: '/enterprise/informationSettings',
@@ -176,6 +176,28 @@ const enterprise = [
       }
     ]
   },
+  {
+    path: '/enterprise/systemManagement',
+    component: Layout,
+    redirect: '/enterprise/systemManagement/userManagement/index.vue',
+    name: 'systemManagement',
+    meta: {
+      title: '系统管理',
+      enName: 'system Management',
+      icon: 'mdi-cog-outline',
+      isAdmin: true // 企业管理员菜单
+    },
+    children: [
+      {
+        path: '/enterprise/systemManagement/userManagement',
+        meta: {
+          title: '用户管理',
+          enName: 'User Management '
+        },
+        component: () => import('@/views/enterprise/systemManagement/userManagement/index.vue')
+      }
+    ]
+  },
   {
     path: '/enterprise/enterpriseCenter',
     component: Layout,

+ 5 - 0
src/store/user.js

@@ -117,6 +117,11 @@ export const useUserStore = defineStore('user',
       async getEnterpriseInfo () {
         const result = await getEnterprisingUserInfo()
         this.baseInfo = result
+        
+        // 是否为企业账号管理员
+        const isAdmin = result.userType === '1'
+        localStorage.setItem('isAdmin', isAdmin)
+
         localStorage.setItem('baseInfo', JSON.stringify(result))
       }
     }

+ 0 - 0
src/views/enterprise/systemManagement/index.vue → src/views/enterprise/informationManagement/index.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettings.vue → src/views/enterprise/informationManagement/informationSettings.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/basicInfo.vue → src/views/enterprise/informationManagement/informationSettingsComponents/basicInfo.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/enterpriseAlbum.vue → src/views/enterprise/informationManagement/informationSettingsComponents/enterpriseAlbum.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/enterpriseLogo.vue → src/views/enterprise/informationManagement/informationSettingsComponents/enterpriseLogo.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/enterpriseVideo.vue → src/views/enterprise/informationManagement/informationSettingsComponents/enterpriseVideo.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/recruitmentQRCode.vue → src/views/enterprise/informationManagement/informationSettingsComponents/recruitmentQRCode.vue


+ 0 - 0
src/views/enterprise/systemManagement/informationSettingsComponents/welfareLabel.vue → src/views/enterprise/informationManagement/informationSettingsComponents/welfareLabel.vue


+ 3 - 3
src/views/enterprise/personnelManagement/components/table.vue

@@ -76,9 +76,9 @@ const handleInappropriate = () => {
 }
 
 // 人才详情
-const handleToPersonDetail = ({ userId }) => {
-  if (!userId) return
-  window.open(`/enterprise/talentPool/details/${userId}`)
+const handleToPersonDetail = ({ userId, id }) => {
+  if (!userId || !id) return
+  window.open(`/enterprise/talentPool/details/${userId}?id=${id}`)
 }
 </script>
 

+ 1 - 1
src/views/enterprise/personnelManagement/index.vue

@@ -70,7 +70,7 @@ const getList = async () => {
   items.value = list.map(e => {
     let obj = e
     if (e.person) {
-      obj = Object.assign(obj, dealDictObjData({}, e.person))
+      obj = Object.assign(dealDictObjData({}, e.person), obj)
       if (e.person.workExpList && e.person.workExpList.length > 0) obj.jobExperience = e.person.workExpList[0]
       if (e.person.eduExpList && e.person.eduExpList.length > 0) obj.eduExperience = e.person.eduExpList[0]
     }

+ 11 - 0
src/views/enterprise/systemManagement/userManagement/index.vue

@@ -0,0 +1,11 @@
+<template>
+  <div>用户管理</div>
+</template>
+
+<script setup>
+defineOptions({ name: 'system-management-user'})
+</script>
+
+<style scoped lang="scss">
+
+</style>

+ 6 - 3
src/views/enterprise/talentPool/components/details.vue

@@ -73,8 +73,9 @@ import educationExp from './details/educationExp.vue'
 // import attachmentResume from './details/attachmentResume.vue'
 import { getPersonCvDetail } from '@/api/enterprise'
 import { ref } from 'vue'
-import { useRouter } from 'vue-router'
+import { useRouter, useRoute } from 'vue-router'
 
+const route = useRoute()
 const router = useRouter()
 const operateItems = [
   { text: '邀请面试', icon: 'mdi-account-check' },
@@ -87,8 +88,10 @@ const operateItems = [
 // 获取人才详情
 const cvData = ref({})
 const getCvDetail = async () => {
-  const { id } = router.currentRoute.value.params
-  const data = await getPersonCvDetail(id)
+  const { id } = route.query
+  const { id: userId } = router.currentRoute.value.params
+  if (!id || !userId) return
+  const data = await getPersonCvDetail(userId, id)
   cvData.value = data
 }
 getCvDetail()

+ 7 - 4
src/views/enterprise/talentPool/index.vue

@@ -110,7 +110,8 @@ const items = ref([
     age: '27岁',
     expName: '3年经验',
     areaName: '广州',
-    id: '1',
+    userId: '1',
+    id: '1793583467288223745',
     sex: '2',
     select: false,
     eduName: '本科',
@@ -151,7 +152,8 @@ const items = ref([
     age: '27岁',
     expName: '3年经验',
     areaName: '广州',
-    id: '1',
+    userId: '1',
+    id: '1793583467288223745',
     sex: '2',
     select: false,
     eduName: '本科',
@@ -231,8 +233,9 @@ const handleChangePage = () => {
 }
 
 // 人才详情
-const talentPoolDetails = (val) => {
-  window.open(`/enterprise/talentPool/details/${val.id}`)
+const talentPoolDetails = ({ userId, id }) => {
+  if (!userId || !id) return
+  window.open(`/enterprise/talentPool/details/${userId}?id=${id}`)
 }
 </script>