diff --git a/package.json b/package.json index 1389ad4..0a514b0 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "dependencies": { "axios": "0.18.1", "core-js": "^3.20.2", - "element-ui": "2.13.2", + "element-ui": "2.15.6", "js-cookie": "2.2.0", "normalize.css": "7.0.0", "nprogress": "0.2.0", diff --git a/src/api/duty/dimension.js b/src/api/duty/dimension.js new file mode 100644 index 0000000..ce7a228 --- /dev/null +++ b/src/api/duty/dimension.js @@ -0,0 +1,42 @@ +// 考核纬度api +import request from '@/utils/request' +//考核维度 +export const dutyclasslist = (data) => { + return request({ + url: '/duty/dutyclasslist', + method: 'post', + data: data + }) +} +//添加考核类别 +export const adddutyclass = (data) => { + return request({ + url: '/duty/adddutyclass', + method: 'post', + data: data + }) +} +//查询考核维度详情 +export const getdutyclassinfo = (data) => { + return request({ + url: '/duty/getdutyclassinfo', + method: 'post', + data: data + }) +} +//编辑考核维度内容 +export const eitedutyclassinfo = (data) => { + return request({ + url: '/duty/eitedutyclassinfo', + method: 'post', + data: data + }) +} +//删除或改变考核维度状态 +export const statedutyclass = (data) => { + return request({ + url: '/duty/statedutyclass', + method: 'post', + data: data + }) +} diff --git a/src/api/duty/duty.js b/src/api/duty/duty.js new file mode 100644 index 0000000..b6ba020 --- /dev/null +++ b/src/api/duty/duty.js @@ -0,0 +1,115 @@ +// 定性考核api +import request from '@/utils/request' +//定性考核列表 +export const getqualevallist = (data) => { + return request({ + url: '/duty/getqualevallist', + method: 'post', + data: data + }) +} +//添加定性考核 +export const addqualeval = (data) => { + return request({ + url: '/duty/addqualeval', + method: 'post', + data: data + }) + } +//根据条件获取组合指标 +export const gettasktarget = (data) => { + return request({ + url: '/duty/gettasktarget', + method: 'post', + data: data + }) + } +//根据条件获取组合指标子栏目 +export const gettasktargetsun = (data) => { + return request({ + url: '/duty/gettasktargetsun', + method: 'post', + data: data + }) + } +//根据条件获取考核详情 +export const gettasktargetcontary = (data) => { + return request({ + url: '/duty/gettasktargetcontary', + method: 'post', + data: data + }) + } + //添加定量考核 +export const addration = (data) => { + return request({ + url: '/duty/addration', + method: 'post', + data: data + }) +} +//考核表列表 +export const departmenttasklist = (data) => { + return request({ + url: '/duty/departmenttasklist', + method: 'post', + data: data + }) +} +//删除考核 +export const delrationlist = (data) => { + return request({ + url: '/duty/delrationlist', + method: 'post', + data: data + }) +} +//删除定性考核内容 +export const delqualevalcont = (data) => { + return request({ + url: '/duty/delqualevalcont', + method: 'post', + data: data + }) +} +//删除考核细则方案内容 +export const deldepartmenttasklist = (data) => { + return request({ + url: '/duty/deldepartmenttasklist', + method: 'post', + data: data + }) +} +//获取定量考核详情 +export const getrationlist = (data) => { + return request({ + url: '/duty/getrationlist', + method: 'post', + data: data + }) +} +//修改定量考核 +export const eiterationlist = (data) => { + return request({ + url: '/duty/eiterationlist', + method: 'post', + data: data + }) +} +//获取部门考核指标详情 +export const getqualeval = (data) => { + return request({ + url: '/duty/getqualeval', + method: 'post', + data: data + }) +} +//修改定性考核内容 +export const eitequalevalcont = (data) => { + return request({ + url: '/duty/eitequalevalcont', + method: 'post', + data: data + }) +} + diff --git a/src/api/duty/group.js b/src/api/duty/group.js new file mode 100644 index 0000000..5108c5f --- /dev/null +++ b/src/api/duty/group.js @@ -0,0 +1,162 @@ +// 集团api +import service from '@/utils/request' +// @Tags api +// @Summary 获取集团详情 不分页 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body modelInterface.PageInfo true "分页获取用户列表" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /api/getApiList [post] +// { +// page int +// pageSize int +// } +export const getgroupinfo = (data) => { + return service({ + url: '/group/getgroupinfo', + method: 'post', + data + }) +} + +// @Tags Api +// @Summary 获取子公司详情 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body api.CreateApiParams true "创建api" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /api/createApi [post] +export const getsubsidiaryinfo = (data) => { + return service({ + url: '/group/getsubsidiaryinfo', + method: 'post', + data + }) +} + +// @Tags menu +// @Summary 添加集团信息 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body api.GetById true "添加集团信息" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /menu/getApiById [post] +export const addgroupinfo = (data) => { + return service({ + url: '/group/addgroupinfo', + method: 'post', + data + }) +} + +// @Tags Api +// @Summary 获取工段详情 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body api.CreateApiParams true "获取工段详情" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"更新成功"}" +// @Router /api/updateApi [post] +export const getgrouppositioninfo = (data) => { + return service({ + url: '/group/getgrouppositioninfo', + method: 'post', + data + }) +} + +// @Tags Api +// @Summary 修改集团信息 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body api.CreateApiParams true "修改集团信息" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"更新成功"}" +// @Router /group/eitegroupinfo [post] +export const eitegroupinfo = (data) => { + return service({ + url: '/group/eitegroupinfo', + method: 'post', + data + }) +} + +// @Tags Api +// @Summary 删除集团框架相应信息 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /group/delgroupinfo [post] +export const delgroupinfo = (data) => { + return service({ + url: '/group/delgroupinfo', + method: 'post', + data + }) +} + +// @Tags Api +// @Summary 获取集团架构 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.Api true "获取集团架构" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /group/grouplist [get] +export const grouplist = (data) => { + return service({ + url: '/group/grouplist', + method: 'post', + data + }) +} +// @Tags Api +// @Summary 获取集团架构(集团+分厂) +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.Api true "获取集团架构" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /group/grouplist [get] +export const getgroupdepartmap = (data) => { + return service({ + url: '/group/getgroupdepartmap', + method: 'post', + data + }) +} +// @Tags Api +// @Summary 获取集团架构人员信息对照表 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.Api true "获取集团架构" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /group/grouplist [get] +export const getgroupuser = (data) => { + return service({ + url: '/group/getgroupuser', + method: 'post', + data + }) +} +// @Tags Api +// @Summary 获取分厂部室列表 +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body dbModel.Api true "获取集团架构" +// @Success 200 {string} json "{"success":true,"data":{},"msg":"获取成功"}" +// @Router /group/grouplist [get] +export const departmentlist = (data) => { + return service({ + url: '/group/departmentlist', + method: 'post', + data + }) +} + diff --git a/src/api/duty/project.js b/src/api/duty/project.js new file mode 100644 index 0000000..183300e --- /dev/null +++ b/src/api/duty/project.js @@ -0,0 +1,82 @@ +// 考核项目api +import request from '@/utils/request' +//考核项目列表 +export const assessList = (data) => { + return request({ + url: '/duty/assessList', + method: 'post', + data: data + }) +} +//添加考核项目 +export const addassessinfo = (data) => { + return request({ + url: '/duty/addassessinfo', + method: 'post', + data: data + }) +} +//查询考核项目详情 +export const getassessinfo = (data) => { + return request({ + url: '/duty/getassessinfo', + method: 'post', + data: data + }) +} +//编辑考核项目内容 +export const eiteassessinfo = (data) => { + return request({ + url: '/duty/eiteassessinfo', + method: 'post', + data: data + }) +} +//删除或改变考核项目状态 +export const eiteassessstate = (data) => { + return request({ + url: '/duty/eiteassessstate', + method: 'post', + data: data + }) +} +//获取考核指标列表 +export const gettarget = (data) => { + return request({ + url: '/duty/gettarget', + method: 'post', + data: data + }) +} +//添加考核指标 +export const addtarget = (data) => { + return request({ + url: '/duty/addtarget', + method: 'post', + data: data + }) +} +//获取考核指标详细内容 +export const gettargetinfo = (data) => { + return request({ + url: '/duty/gettargetinfo', + method: 'post', + data: data + }) +} +//删除指标/更改考核指标状态 +export const deltarget = (data) => { + return request({ + url: '/duty/deltarget', + method: 'post', + data: data + }) +} +//编辑指标内容 +export const eitetarget = (data) => { + return request({ + url: '/duty/eitetarget', + method: 'post', + data: data + }) +} diff --git a/src/api/duty/quantitativeIndicators.js b/src/api/duty/quantitativeIndicators.js new file mode 100644 index 0000000..3caf5d1 --- /dev/null +++ b/src/api/duty/quantitativeIndicators.js @@ -0,0 +1,42 @@ +// 定量/定性指标api +import request from '@/utils/request' +//定量/定性指标列表 +export const dutylist = (data) => { + return request({ + url: '/duty/dutylist', + method: 'post', + data: data + }) +} +//添加定量/定性指标 +export const adddutyinfo = (data) => { + return request({ + url: '/duty/adddutyinfo', + method: 'post', + data: data + }) +} +//查询定量/定性指标详情 +export const getdutyinfo = (data) => { + return request({ + url: '/duty/getdutyinfo', + method: 'post', + data: data + }) +} +//编辑定量/定性指标内容 +export const eitedutyinfo = (data) => { + return request({ + url: '/duty/eitedutyinfo', + method: 'post', + data: data + }) +} +//删除或改变定量/定性指标状态 +export const eitedutystate = (data) => { + return request({ + url: '/duty/eitedutystate', + method: 'post', + data: data + }) +} diff --git a/src/api/duty/rules.js b/src/api/duty/rules.js new file mode 100644 index 0000000..dad043c --- /dev/null +++ b/src/api/duty/rules.js @@ -0,0 +1,83 @@ +// 考核细则api +import request from '@/utils/request' +//考核细则列表 +export const getqualitativetargetlist = (data) => { + return request({ + url: '/duty/getqualitativetargetlist', + method: 'post', + data: data + }) +} +//添加定性指标子栏目 +export const addqualitativetarget = (data) => { + return request({ + url: '/duty/addqualitativetarget', + method: 'post', + data: data + }) + } + //获取定性指标子栏目详细内容 +export const getqualitativetargetinfo = (data) => { + return request({ + url: '/duty/getqualitativetargetinfo', + method: 'post', + data: data + }) + } + //修改定性指标子栏目详细内容 +export const eitequalitativetargetinfo = (data) => { + return request({ + url: '/duty/eitequalitativetargetinfo', + method: 'post', + data: data + }) + } + //修改定性指标子栏目状态或删除 + export const delqualitativetargetinfo = (data) => { + return request({ + url: '/duty/delqualitativetargetinfo', + method: 'post', + data: data + }) + } + //添加考核细则 + export const adddetailedtarget = (data) => { + return request({ + url: '/duty/adddetailedtarget', + method: 'post', + data: data + }) + } + //获取考核细则内容 + export const getdetailedtarget = (data) => { + return request({ + url: '/duty/getdetailedtarget', + method: 'post', + data: data + }) + } + //获取考核细则列表 + export const getdetailedtargetlist = (data) => { + return request({ + url: '/duty/getdetailedtargetlist', + method: 'post', + data: data + }) + } + //编辑考核细则内容 + export const eitedetailedtarget = (data) => { + return request({ + url: '/duty/eitedetailedtarget', + method: 'post', + data: data + }) + } + //编辑考核细则内容 + export const deldetailedtarget = (data) => { + return request({ + url: '/duty/deldetailedtarget', + method: 'post', + data: data + }) + } + diff --git a/src/api/user.js b/src/api/user.js index 0cc0ea5..149beb6 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -32,6 +32,17 @@ export function captcha() { method: 'post' }) } +// @Summary 后端登录 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const mysystemlogin = (data) => { + return request({ + url: '/base/mysystemlogin?id=1', + method: 'post', + data: data + }) +} // @Summary 用户端登录 // @Produce application/json // @Param data body {username:"string",password:"string"} @@ -43,6 +54,17 @@ export const mylogin = (data) => { data: data }) } +// @Summary 获取系统左侧菜单 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const getmenu = (data) => { + return request({ + url: '/systemmenu/getmenu', + method: 'post', + data: data + }) +} export function logout() { return request({ url: '/vue-admin-template/user/logout', diff --git a/src/components/projectDialog/index.vue b/src/components/projectDialog/index.vue new file mode 100644 index 0000000..11b0c81 --- /dev/null +++ b/src/components/projectDialog/index.vue @@ -0,0 +1,151 @@ + + + + + \ No newline at end of file diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index f6a3286..7ffc1df 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -24,6 +24,7 @@ export default { width: 100%; position: relative; overflow: hidden; + padding: 10px; } .fixed-header+.app-main { padding-top: 50px; diff --git a/src/main.js b/src/main.js index 63dbece..5d59cb7 100644 --- a/src/main.js +++ b/src/main.js @@ -12,6 +12,7 @@ import App from './App' import store from './store' import router from './router' +import 'handsontable/dist/handsontable.full.css'; import '@/icons' // icon // import '@/permission' // permission control diff --git a/src/permission.js b/src/permission.js index e1e40d8..15c844e 100644 --- a/src/permission.js +++ b/src/permission.js @@ -24,53 +24,53 @@ router.beforeEach(async(to, from, next) => { } else { next({path:'/login'}) } -// if (hasToken) { -// console.log("hasToken") -// console.log(hasToken) -// // if (to.path === '/login') { -// // console.log("111") -// // // if is logged in, redirect to the home page -// // next({ path: '/' }) -// // NProgress.done() -// // } else { -// // console.log("222") -// // const hasGetUserInfo = store.getters.name -// // if (hasGetUserInfo) { -// // console.log("333") -// // next() + if (hasToken) { + console.log("hasToken") + console.log(hasToken) + // if (to.path === '/login') { + // console.log("111") + // // if is logged in, redirect to the home page + // next({ path: '/' }) + // NProgress.done() + // } else { + // console.log("222") + // const hasGetUserInfo = store.getters.name + // if (hasGetUserInfo) { + // console.log("333") + // next() -// // } else { -// // try { -// // console.log("444") -// // // get user info -// // await store.dispatch('user/getInfo') + // } else { + // try { + // console.log("444") + // // get user info + // await store.dispatch('user/getInfo') -// // next() -// // } catch (error) { -// // console.log("555") -// // // remove token and go to login page to re-login -// // await store.dispatch('user/resetToken') -// // Message.error(error || 'Has Error') -// // next(`/login?redirect=${to.path}`) -// // NProgress.done() -// // } -// // } -// // } -// } else { -// console.log("666") -// /* has no token*/ + // next() + // } catch (error) { + // console.log("555") + // // remove token and go to login page to re-login + // await store.dispatch('user/resetToken') + // Message.error(error || 'Has Error') + // next(`/login?redirect=${to.path}`) + // NProgress.done() + // } + // } + // } + } else { + console.log("666") + /* has no token*/ -// if (whiteList.indexOf(to.path) !== -1) { -// console.log("777") -// // in the free login whitelist, go directly -// next() -// } else { -// console.log("888") -// // other pages that do not have permission to access are redirected to the login page. -// next(`/login?redirect=${to.path}`) -// NProgress.done() -// } -// } + if (whiteList.indexOf(to.path) !== -1) { + console.log("777") + // in the free login whitelist, go directly + next() + } else { + console.log("888") + // other pages that do not have permission to access are redirected to the login page. + next(`/login?redirect=${to.path}`) + NProgress.done() + } + } }) router.afterEach(() => { diff --git a/src/router/index.js b/src/router/index.js index c47424f..e891a9f 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,145 +56,193 @@ export const constantRoutes = [ component: () => import('@/views/404'), hidden: true }, - { - path: '/', - component: Layout, - redirect: '/dashboard', - children: [{ - path: 'dashboard', - name: 'Dashboard', - component: () => import('@/views/dashboard/index'), - meta: { title: '考核项目'} - }] - }, - { - path: '/record', - component: Layout, - redirect: '/record', - children: [{ - path: 'record', - name: 'Record', - component: () => import('@/views/record/index'), - meta: { title: '考核记录'} - }] - }, - { - path: '/details', - component: Layout, - redirect: '/details', - children: [{ - path: 'details', - name: 'Details', - component: () => import('@/views/record/details'), - // meta: { title: '考核记录详情'} - }] - }, - - // { - // path: '/example', + // path: '/', // component: Layout, - // redirect: '/example/table', - // name: 'Example', - // meta: { title: '表格', icon: 'el-icon-s-help' }, - // children: [ - // { - // path: 'table', - // name: 'Table', - // component: () => import('@/views/table/index'), - // meta: { title: 'Table', icon: 'table' } - // }, - // { - // path: 'tree', - // name: 'Tree', - // component: () => import('@/views/tree/index'), - // meta: { title: 'Tree', icon: 'tree' } - // } - // ] + // redirect: '/dashboard', + // children: [{ + // path: 'dashboard', + // name: 'Dashboard', + // component: () => import('@/views/dashboard/index'), + // meta: { title: '考核项目'} + // }] // }, - // { - // path: '/form', + // path: '/', // component: Layout, - // children: [ - // { - // path: 'index', - // name: 'Form', - // component: () => import('@/views/form/index'), - // meta: { title: 'Form', icon: 'form' } - // } - // ] + // redirect: '/dashboard', + // children: [{ + // path: 'dashboard', + // name: 'Dashboard', + // component: () => import('@/views/approval/index'), + // meta: { title: '测试'} + // }] // }, - // { - // path: '/nested', + // path: '/aaa', // component: Layout, - // redirect: '/nested/menu1', - // name: 'Nested', - // meta: { - // title: 'Nested', - // icon: 'nested' - // }, - // children: [ - // { - // path: 'menu1', - // component: () => import('@/views/nested/menu1/index'), // Parent router-view - // name: 'Menu1', - // meta: { title: 'Menu1' }, - // children: [ - // { - // path: 'menu1-1', - // component: () => import('@/views/nested/menu1/menu1-1'), - // name: 'Menu1-1', - // meta: { title: 'Menu1-1' } - // }, - // { - // path: 'menu1-2', - // component: () => import('@/views/nested/menu1/menu1-2'), - // name: 'Menu1-2', - // meta: { title: 'Menu1-2' }, - // children: [ - // { - // path: 'menu1-2-1', - // component: () => import('@/views/nested/menu1/menu1-2/menu1-2-1'), - // name: 'Menu1-2-1', - // meta: { title: 'Menu1-2-1' } - // }, - // { - // path: 'menu1-2-2', - // component: () => import('@/views/nested/menu1/menu1-2/menu1-2-2'), - // name: 'Menu1-2-2', - // meta: { title: 'Menu1-2-2' } - // } - // ] - // }, - // { - // path: 'menu1-3', - // component: () => import('@/views/nested/menu1/menu1-3'), - // name: 'Menu1-3', - // meta: { title: 'Menu1-3' } - // } - // ] - // }, - // { - // path: 'menu2', - // component: () => import('@/views/nested/menu2/index'), - // name: 'Menu2', - // meta: { title: 'menu2' } - // } - // ] + // redirect: '/aaa', + // children: [{ + // path: 'aaa', + // name: 'aaa', + // component: () => import('@/views/approval/aaa'), + // meta: { title: '测试1'} + // }] // }, - // { - // path: 'external-link', + // path: '/bbb', + // component: Layout, + // redirect: '/bbb', + // children: [{ + // path: 'bbb', + // name: 'bbb', + // component: () => import('@/views/approval/bbb'), + // meta: { title: 'table编辑测试'} + // }] + // }, + // { + // path: '/bbb', + // component: Layout, + // redirect: '/bbb', + // children: [{ + // path: 'bbb', + // name: 'bbb', + // component: () => import('@/views/basicInfo/assessmentDimension'), + // meta: { title: '测试b'} + // }] + // }, + // { + // path: '/dataReporting', + // component: Layout, + // redirect: '/dataReporting/departmentKpi', + // name: 'Example', + // meta: { title: '数据提报', icon: 'el-icon-s-help' }, + // children: [ + // { + // path: 'departmentKpi', + // name: 'departmentKpi', + // component: () => import('@/views/dataReporting/departmentKpi'), + // meta: { title: '部门KPI', icon: 'table' } + // }, + // { + // path: 'personalKpi', + // name: 'personalKpi', + // component: () => import('@/views/dataReporting/personalKpi'), + // meta: { title: '个人KPI', icon: 'tree' } + // }, + // { + // path: 'operationalEvaluation', + // name: 'operationalEvaluation', + // component: () => import('@/views/dataReporting/operationalEvaluation'), + // meta: { title: '运营评价', icon: 'tree' } + // } + // ] + // }, + { + path: '/assessmentProgram', + component: Layout, + redirect: '/assessmentProgram/departmentalAssessment', + name: 'Example', + meta: { title: '考核方案', icon: 'el-icon-s-help' }, + children: [ + { + path: 'departmentalAssessment', + name: 'departmentalAssessment', + component: () => import('@/views/assessmentProgram/departmentalAssessment'), + meta: { title: '部门考核', icon: 'table' } + }, + // { + // path: 'jobAssessment', + // name: 'jobAssessment', + // component: () => import('@/views/assessmentProgram/jobAssessment'), + // meta: { title: '岗位考核', icon: 'tree' } + // }, + { + path: 'qualitativeIndicators', + name: 'qualitativeIndicators', + component: () => import('@/views/assessmentProgram/qualitativeIndicators'), + meta: { title: '定性考核', icon: 'tree' } + }, + { + path: 'quantitativeIndicators', + name: 'quantitativeIndicators', + component: () => import('@/views/assessmentProgram/quantitativeIndicators'), + meta: { title: '定量考核', icon: 'tree' } + }, + // { + // path: 'subSection', + // name: 'subSection', + // component: () => import('@/views/assessmentProgram/subSection'), + // meta: { title: '定性考核子栏目', icon: 'tree' } + // },{ + // path: 'rules', + // name: 'rules', + // component: () => import('@/views/assessmentProgram/rules'), + // meta: { title: '考核细则', icon: 'tree' } + // } + ] + }, + { + path: '/basicInfo', + component: Layout, + redirect: '/basicInfo/assessmentDimension', + name: 'Example', + meta: { title: '基础信息', icon: 'el-icon-s-help' }, + children: [ + { + path: 'assessmentDimension', + name: 'assessmentDimension', + component: () => import('@/views/basicInfo/assessmentDimension.vue'), + meta: { title: '考核维度', icon: 'table' } + }, + // { + // path: 'quantitativeIndicators', + // name: 'quantitativeIndicators', + // component: () => import('@/views/basicInfo/quantitativeIndicators'), + // meta: { title: '定量指标', icon: 'tree' } + // }, + // { + // path: 'qualitativeIndicators', + // name: 'qualitativeIndicators', + // component: () => import('@/views/basicInfo/qualitativeIndicators'), + // meta: { title: '定性指标', icon: 'tree' } + // }, + { + path: 'project', + name: 'project', + component: () => import('@/views/basicInfo/project'), + meta: { title: '考核指标', icon: 'tree' } + }, + // { + // path: 'jobEntry', + // name: 'jobEntry', + // component: () => import('@/views/basicInfo/jobEntry'), + // meta: { title: '岗位录入', icon: 'tree' } + // } + ] + }, + // { + // path: '/record', // component: Layout, - // children: [ - // { - // path: 'https://panjiachen.github.io/vue-element-admin-site/#/', - // meta: { title: 'External Link', icon: 'link' } - // } - // ] + // redirect: '/record', + // children: [{ + // path: 'record', + // name: 'Record', + // component: () => import('@/views/record/index'), + // meta: { title: '考核记录'} + // }] // }, + { + path: '/details', + component: Layout, + redirect: '/details', + children: [{ + path: 'details', + name: 'Details', + component: () => import('@/views/record/details'), + // meta: { title: '考核记录详情'} + }] + }, // 404 page must be placed at the end !!! { path: '*', redirect: '/404', hidden: true } diff --git a/src/views/approval/aaa.vue b/src/views/approval/aaa.vue new file mode 100644 index 0000000..5ca5bbe --- /dev/null +++ b/src/views/approval/aaa.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/src/views/approval/bbb.vue b/src/views/approval/bbb.vue new file mode 100644 index 0000000..52498e0 --- /dev/null +++ b/src/views/approval/bbb.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/approval/index.vue b/src/views/approval/index.vue index 43c4f2c..a3fc0b4 100644 --- a/src/views/approval/index.vue +++ b/src/views/approval/index.vue @@ -1,6 +1,7 @@