xtz 4 år sedan
förälder
incheckning
4b0eae1fb4

+ 2 - 2
src/common/api/axios.js

@@ -13,7 +13,7 @@ let api = ''
 let loading
 const whiteList = ['test', 'production']
 const allowList = [ // 文件请求路径数组
-  '/export/export2Web'
+  '/admin/export/export2Web'
 ]
 
 const service = axios.create({
@@ -49,7 +49,7 @@ service.interceptors.request.use(
       config.responseType = 'blob'
     }
 
-    config.headers['platform-sessionId'] = localStorage.getItem('token')
+    config.headers['Authorization'] = localStorage.getItem('token')
     api = config.url
     return config
   },

+ 1 - 1
src/components/vAbove/vAbove.vue

@@ -32,7 +32,7 @@ export default {
     }
   },
   mounted () {
-    this.name = localStorage.getItem('managername')
+    this.name = localStorage.getItem('companyName')
   },
   methods: {
     logout () {

+ 21 - 13
src/components/vNav/vNav.vue

@@ -46,42 +46,42 @@ export default {
           child: [
             {
               name: '基本信息设置',
-              // menuid: 101,
+              menuid: 503,
               to: 'basicInfo'
             },
             {
               name: '职位信息设置',
-              // menuid: 101,
+              menuid: 504,
               to: 'positionInfo'
             },
             {
               name: '简历信息设置',
-              // menuid: 101,
+              menuid: 505,
               to: 'formManage'
             },
             {
               name: '面试问题设置',
-              // menuid: 101,
+              menuid: 506,
               to: 'procedureManage'
             },
             {
               name: '视频库管理',
-              // menuid: 101,
+              menuid: 507,
               to: 'videoManage'
             },
             {
               name: '应用场景管理',
-              // menuid: 101,
+              menuid: 508,
               to: 'sceneManage'
             },
             {
               name: '模板管理',
-              // menuid: 101,
+              menuid: 509,
               to: 'templateManage'
             },
             {
               name: '邮箱管理',
-              // menuid: 202,
+              menuid: 510,
               to: 'mailManage'
             }
           ]
@@ -94,17 +94,17 @@ export default {
           child: [
             {
               name: '人才库',
-              // menuid: 202,
+              menuid: 511,
               to: 'candidateAll'
             },
             {
               name: '简历管理',
-              // menuid: 202,
+              menuid: 512,
               to: 'resumeList'
             },
             {
               name: '面试管理',
-              // menuid: 202,
+              menuid: 513,
               to: 'candidateList'
             }
           ]
@@ -117,12 +117,12 @@ export default {
           child: [
             {
               name: '密码设置',
-              // menuid: 101,
+              menuid: 514,
               to: 'passwordSettings'
             },
             {
               name: '数据统计',
-              // menuid: 202,
+              menuid: 515,
               to: 'statistics'
             }
           ]
@@ -133,6 +133,14 @@ export default {
   created () {
     // localStorage.getItem('token') && this.queryNumber()
     // this.menuIdList = localStorage.getItem('menuId') ? localStorage.getItem('menuId').split(',').map(item => item - 0) : []
+    let menuList = JSON.parse(localStorage.getItem('menuId'))
+    menuList && this.route.forEach(item => {
+      item.child.forEach(i => {
+        menuList.forEach(j => {
+          j.menuid === i.menuid && (i.name = j.menuname)
+        })
+      })
+    })
   },
   mounted () {
     this.handleSelect('0-0', this.route)

+ 29 - 29
src/router/index.js

@@ -92,7 +92,7 @@ const routes = [
   // redirect
   {
     path: '/',
-    redirect: '/candidateList'
+    redirect: '/basicInfo'
   }
 ]
 
@@ -101,33 +101,33 @@ const router = new VueRouter({
   base: process.env.BASE_URL,
   routes
 })
-// const whiteList = ['/login'] // 不重定向白名单
-// const info = JSON.parse(sessionStorage.getItem('info'))
-// router.beforeEach((to, from, next) => {
-//   if (info && info.managerid && localStorage.getItem('menuId')) {
-//     if (to.path === '/login') {
-//       next({ path: '/' })
-//     } else {
-//       if (!to.meta.id) next()
-//       else if (localStorage.getItem('menuId')) {
-//         list = localStorage.getItem('menuId').split(',').map(item => item - 0)
-//         // console.log(to, list)
-//         // console.log(list.includes(to.meta.id))
-//         list.includes(to.meta.id) ? next() : next({
-//           path: routes[routes.findIndex(item => list.includes(item.meta.id))].path
-//         })
-//         next()
-//       }
-//     }
-//   } else {
-//     if (whiteList.indexOf(to.path) !== -1) {
-//       next()
-//     } else {
-//       next({
-//         name: 'login'
-//       })
-//     }
-//   }
-// })
+const whiteList = ['/login'] // 不重定向白名单
+const info = JSON.parse(sessionStorage.getItem('info'))
+router.beforeEach((to, from, next) => {
+  if (info && info.id && localStorage.getItem('menuId')) {
+    if (to.path === '/login') {
+      next({ path: '/' })
+    } else {
+      // if (!to.meta.id) next()
+      // else if (localStorage.getItem('menuId')) {
+      //   list = localStorage.getItem('menuId').split(',').map(item => item - 0)
+      //   // console.log(to, list)
+      //   // console.log(list.includes(to.meta.id))
+      //   list.includes(to.meta.id) ? next() : next({
+      //     path: routes[routes.findIndex(item => list.includes(item.meta.id))].path
+      //   })
+      next()
+      // }
+    }
+  } else {
+    if (whiteList.indexOf(to.path) !== -1) {
+      next()
+    } else {
+      next({
+        name: 'login'
+      })
+    }
+  }
+})
 
 export default router

+ 3 - 3
src/views/candidateManage/candidateAll.vue

@@ -79,8 +79,8 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="closeDia">取消</el-button>
-          <el-button type="primary" @click="submit">立即发出</el-button>
+          <el-button @click="closeDia">取 消</el-button>
+          <el-button type="primary" @click="submit">修 改</el-button>
         </el-form-item>
       </el-form>
     </el-dialog>
@@ -345,7 +345,7 @@ export default {
       this.dialogVisible = true
     },
     closeDia () {
-      this.dialogVisible = true
+      this.dialogVisible = false
       this.form = {}
     },
     open () {

+ 18 - 7
src/views/candidateManage/candidateList.vue

@@ -113,7 +113,7 @@
       :before-close="closeVisible"
       :close-on-click-modal="false"
       >
-      <el-form :model="uform" ref="form" label-width="140px" :rules="rule" label-position="right">
+      <el-form :model="uform" ref="uform" label-width="140px" :rules="rule" label-position="right">
         <el-form-item label="姓名" prop="delivererName">
           <el-input placeholder="请输入姓名" v-model="uform.delivererName"></el-input>
         </el-form-item>
@@ -166,8 +166,8 @@
           </el-select>
         </el-form-item>
         <el-form-item>
-          <el-button @click="closeVisible">取消</el-button>
-          <el-button type="primary" @click="submit">立即发出</el-button>
+          <el-button @click="closeVisible">取 消</el-button>
+          <el-button type="primary" @click="submit">修 改</el-button>
         </el-form-item>
       </el-form>
     </el-dialog>
@@ -198,6 +198,7 @@ export default {
       pickList: [],
       copyPickList: [],
       downList: [],
+      positionList: [],
       searchForm: {},
       form: {},
       uform: {},
@@ -381,7 +382,7 @@ export default {
             props: 'confirmInterviewTime'
           }
         ],
-        width: 400,
+        width: 500,
         handle: [
           {
             title: '查看简历',
@@ -407,6 +408,11 @@ export default {
             title: '标记待定',
             method: 'undetermined',
             type: 'danger'
+          },
+          {
+            title: '修改简历',
+            method: 'update',
+            type: 'info'
           }
         ]
       },
@@ -577,7 +583,7 @@ export default {
           reqdata: {}
         })
         .then((res) => {
-          this.list[3].options = res.list.map((item) => ({
+          this.positionList = res.list.map((item) => ({
             value: item.id,
             label: item.positionName
           }))
@@ -727,9 +733,9 @@ export default {
       this.$set(this.info, 'active', index)
       this.vedioUrl = this.info.answerVideoList[this.info.active || 0] ? this.info.answerVideoList[this.info.active || 0].answerVideoPath : ''
     },
-    update ({ id }) {
+    update (row) {
       this.openVisible()
-      this.uform.id = id
+      this.uform = row
     },
     submit () {
       let a
@@ -827,6 +833,11 @@ export default {
               title: '标记待定',
               method: 'undetermined',
               type: 'danger'
+            },
+            {
+              title: '修改简历',
+              method: 'update',
+              type: 'info'
             }
           ]
         )

+ 24 - 14
src/views/candidateManage/mailManage.vue

@@ -10,14 +10,14 @@
   <div class="mailManage">
     <el-card class="box-card">
       <div class="title">收件邮箱</div>
-      <el-form ref="form" :model="form51" :rules="rules" label-width="140px" label-position="left">
-        <el-form-item label="51job邮箱">
+      <el-form ref="form51" :model="form51" :rules="rules" label-width="140px" label-position="left">
+        <el-form-item label="51job邮箱" prop="cmpMailAccount">
           <el-input v-model.trim="form51.cmpMailAccount"></el-input>
         </el-form-item>
-        <el-form-item label="密码">
+        <el-form-item label="密码" prop="cmpMailPassword">
           <el-input v-model.trim="form51.cmpMailPassword" show-password></el-input>
         </el-form-item>
-        <el-form-item label="邮箱类型">
+        <el-form-item label="邮箱类型" prop="cmpMailType">
           <el-radio-group v-model="form51.cmpMailType">
             <el-radio :label="0">阿里</el-radio>
             <el-radio :label="1">网易</el-radio>
@@ -28,14 +28,14 @@
           <el-button type="primary" @click="determine(0)">验证并使用</el-button>
         </el-form-item>
       </el-form>
-      <el-form ref="form" :model="formzl" :rules="rules" label-width="140px" label-position="left">
-        <el-form-item label="智联邮箱">
+      <el-form ref="formzl" :model="formzl" :rules="rules" label-width="140px" label-position="left">
+        <el-form-item label="智联邮箱" prop="cmpMailAccount">
           <el-input v-model.trim="formzl.cmpMailAccount"></el-input>
         </el-form-item>
-        <el-form-item label="密码">
+        <el-form-item label="密码" prop="cmpMailPassword">
           <el-input v-model.trim="formzl.cmpMailPassword" show-password></el-input>
         </el-form-item>
-        <el-form-item label="邮箱类型">
+        <el-form-item label="邮箱类型" prop="cmpMailType">
           <el-radio-group v-model="formzl.cmpMailType">
             <el-radio :label="0">阿里</el-radio>
             <el-radio :label="1">网易</el-radio>
@@ -46,14 +46,14 @@
           <el-button type="primary" @click="determine(1)">验证并使用</el-button>
         </el-form-item>
       </el-form>
-      <el-form ref="form" :model="form58" :rules="rules" label-width="140px" label-position="left">
-        <el-form-item label="58邮箱">
+      <el-form ref="form58" :model="form58" :rules="rules" label-width="140px" label-position="left">
+        <el-form-item label="58邮箱" prop="cmpMailAccount">
           <el-input v-model.trim="form58.cmpMailAccount"></el-input>
         </el-form-item>
-        <el-form-item label="密码">
+        <el-form-item label="密码" prop="cmpMailPassword">
           <el-input v-model.trim="form58.cmpMailPassword" show-password></el-input>
         </el-form-item>
-        <el-form-item label="邮箱类型">
+        <el-form-item label="邮箱类型" prop="cmpMailType">
           <el-radio-group v-model="form58.cmpMailType">
             <el-radio :label="0">阿里</el-radio>
             <el-radio :label="1">网易</el-radio>
@@ -66,10 +66,10 @@
       </el-form>
       <div class="title">发件邮箱</div>
       <el-form ref="form" :model="form" :rules="rules" label-width="140px" label-position="left">
-        <el-form-item label="发件邮箱">
+        <el-form-item label="发件邮箱" prop="cmpMailAccount">
           <el-input v-model.trim="form.cmpMailAccount"></el-input>
         </el-form-item>
-        <el-form-item label="密码">
+        <el-form-item label="密码" prop="cmpMailPassword">
           <el-input v-model.trim="form.cmpMailPassword" show-password></el-input>
         </el-form-item>
         <el-form-item label="邮箱类型">
@@ -92,6 +92,11 @@
 export default {
   data () {
     let determine = (val) => {
+      let a
+      this.$refs[val === 0 ? 'form51' : val === 1 ? 'formzl' : 'form58'].validate((valid) => {
+        a = valid
+      })
+      if (!a) return
       let reqdata = val === 0 ? this.form51 : val === 1 ? this.formzl : this.form58
       reqdata.companyId = 2
       reqdata.useType = 0
@@ -126,6 +131,11 @@ export default {
         })
     }
     let submit = () => {
+      let a
+      this.$refs['form'].validate((valid) => {
+        a = valid
+      })
+      if (!a) return
       let reqdata = this.form
       reqdata.useType = 1
       this.$api

+ 18 - 13
src/views/candidateManage/resumeList.vue

@@ -87,7 +87,7 @@
       :before-close="closeDia"
       :close-on-click-modal="false"
       >
-      <el-form :model="uform" ref="form" label-width="140px" :rules="rule" label-position="right">
+      <el-form :model="uform" ref="uform" label-width="140px" :rules="rule" label-position="right">
         <el-form-item label="姓名" prop="delivererName">
           <el-input placeholder="请输入姓名" v-model="uform.delivererName"></el-input>
         </el-form-item>
@@ -127,8 +127,8 @@
           <el-input placeholder="请输入联系电话" v-model="uform.delivererPhone"></el-input>
         </el-form-item>
         <el-form-item>
-          <el-button @click="closeDia">取消</el-button>
-          <el-button type="primary" @click="submit">立即发出</el-button>
+          <el-button @click="closeDia">取 消</el-button>
+          <el-button type="primary" @click="submit">修改简历</el-button>
         </el-form-item>
       </el-form>
     </el-dialog>
@@ -282,7 +282,7 @@ export default {
             props: 'delivererPhone'
           }
         ],
-        width: 420,
+        width: 500,
         handle: [
           {
             title: '查看简历',
@@ -308,6 +308,11 @@ export default {
             title: '删除',
             method: 'del',
             type: 'danger'
+          },
+          {
+            title: '修改简历',
+            method: 'update',
+            type: 'info'
           }
         ]
       },
@@ -585,9 +590,9 @@ export default {
     selection (val) {
       this.$set(this.$data, 'pickList', val)
     },
-    update ({ id }) {
+    update (row) {
       this.openDia()
-      this.uform.id = id
+      this.uform = row
     },
     submit () {
       let a
@@ -613,7 +618,7 @@ export default {
       this.dialogVisible = true
     },
     closeDia () {
-      this.dialogVisible = true
+      this.dialogVisible = false
       this.uform = {}
     },
     open () {
@@ -664,12 +669,12 @@ export default {
               title: '标记待定',
               method: 'undetermined',
               type: 'warning'
+            },
+            {
+              title: '修改简历',
+              method: 'update',
+              type: 'info'
             }
-            // {
-            //   title: '删除',
-            //   method: 'del',
-            //   type: 'danger'
-            // }
           ]
           : this.isCollapse === 1
             ? [
@@ -832,7 +837,7 @@ export default {
         this.table,
         'width',
         this.isCollapse === 0
-          ? 420 : this.isCollapse === 1
+          ? 500 : this.isCollapse === 1
             ? 300 : this.isCollapse === 2
               ? 300 : 400
       )

+ 14 - 4
src/views/companyManage/formManage.vue

@@ -29,13 +29,20 @@
           <el-input v-if="state!==2" type="textarea" :rows="4" resize="none" placeholder="请输入说明" v-model="form.formIntroduce"></el-input>
           <div v-else>{{form.formIntroduce}}</div>
         </el-form-item>
-        <el-form-item label="选择需要的表单项" prop="checkList">
-          勾选需要的表单选项,点击生成表单即可
-          <el-checkbox-group v-model="form.checkList">
+        <el-form-item :label="state!==2?'选择需要的表单项':'已选择的表单项'" prop="checkList">
+          <div v-if="state!==2">勾选需要的表单选项,点击生成表单即可</div>
+          <el-checkbox-group v-if="state!==2" v-model="form.checkList">
             <div v-for="item in formConfigList" :key="item.id" >
-              <el-checkbox :disabled="state===2" :label="item.id">{{item.configName + ' ' + (item.type === 0 ? '单行输入框' : item.type === 1 ? '多行输入框' : '下拉选择框')}}</el-checkbox>
+              <el-checkbox :label="item.id">{{item.configName + ' ' + (item.type === 0 ? '单行输入框' : item.type === 1 ? '多行输入框' : '下拉选择框')}}</el-checkbox>
             </div>
           </el-checkbox-group>
+          <div v-else>
+            <div v-for="item in formConfigList.filter(i => form.checkList.includes(i.id))" :key="item.id">
+              <el-input class="p10" v-if="item.type === 0" :placeholder="'请输入' + item.configName"></el-input>
+              <el-input class="p10" v-else-if="item.type === 1" type="textarea" :rows="4" resize="none" :placeholder="'请输入' + item.configName"></el-input>
+              <el-select class="p10" v-else :placeholder="'请选择' + item.configName"></el-select>
+            </div>
+          </div>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -258,4 +265,7 @@ export default {
     justify-content: center;
     align-items: center;
   }
+  .p10 {
+    padding: 8px;
+  }
 </style>

+ 4 - 4
src/views/login.vue

@@ -86,7 +86,7 @@ export default {
       this.$refs['pwdLogin'].validate(res => {
         if (res) {
           const { loginname, password } = this.loginForm
-          this.$api.post('/sys/platformLogin', {
+          this.$api.post('/companyInfo/login', {
             'reqdata': {
               loginname,
               password
@@ -96,9 +96,9 @@ export default {
             this.$message.success({ message: '登陆成功' })
             // this.$cookies.setCookies(res)
             sessionStorage.setItem('info', JSON.stringify(res.object))
-            localStorage.setItem('menuId', res.object.menuids)
-            localStorage.setItem('managername', res.object.managername)
-            localStorage.setItem('managerid', res.object.managerid)
+            localStorage.setItem('menuId', JSON.stringify(res.object.roleMenuDtoList))
+            localStorage.setItem('companyName', res.object.companyName)
+            // localStorage.setItem('managerid', res.object.managerid)
             localStorage.setItem('token', res.object.token)
             let time = setTimeout(() => {
               location.reload()