diff --git a/.env.development b/.env.development index 8035636..19f177b 100644 --- a/.env.development +++ b/.env.development @@ -4,3 +4,4 @@ ENV = 'development' # base api VUE_APP_BASE_API = 'http://vue.admin.net/api' VUE_APP_BASE_API1 = 'http://vue.admin.net/hrapi' +VUE_APP_BASE_API2 = 'http://vue.admin.net/fileapi' diff --git a/src/App.vue b/src/App.vue index 777b673..1007cb1 100644 --- a/src/App.vue +++ b/src/App.vue @@ -48,7 +48,8 @@ window.addEventListener('hashchange',()=>{ var currentPath = window.location.hash.slice(1); // 获取输入的路由 if(this.$router.path !== currentPath){ -this.$router.push(currentPath); // 动态跳转 + console.log('动态跳转') +// this.$router.push(currentPath); // 动态跳转 } diff --git a/src/__layout/components/Navbar.vue b/src/__layout/components/Navbar.vue index 346811c..827a4ee 100644 --- a/src/__layout/components/Navbar.vue +++ b/src/__layout/components/Navbar.vue @@ -57,6 +57,7 @@ export default { }, created () { if (JSON.parse(sessionStorage.getItem('userinfo'))==null) { + console.log('Navbarr Login') this.$router.push('/login') } this.userInfo=JSON.parse(sessionStorage.getItem('userinfo')); diff --git a/src/api/api/dutys.js b/src/api/api/dutys.js index e0b7618..b28e99f 100644 --- a/src/api/api/dutys.js +++ b/src/api/api/dutys.js @@ -262,4 +262,12 @@ export const sanction = (data) => { data: data }) } +//汇总详情 +export const summarydetails = (data) => { + return request({ + url: '/quan/summarydetails', + method: 'post', + data: data + }) +} diff --git a/src/api/duty/project.js b/src/api/duty/project.js index 183300e..1ec8463 100644 --- a/src/api/duty/project.js +++ b/src/api/duty/project.js @@ -80,3 +80,75 @@ export const eitetarget = (data) => { data: data }) } +//汇总详情 +export const summarydetails = (data) => { + return request({ + url: '/quant/summarydetails', + method: 'post', + data: data + }) +} +//岗位考核指标列表 +export const posttargetlist = (data) => { + return request({ + url: '/postkpi/posttargetlist', + method: 'post', + data: data + }) +} +//编辑岗位指标 +export const editposttarget = (data) => { + return request({ + url: '/postkpi/editposttarget', + method: 'post', + data: data + }) +} +//编辑岗位指标状态 +export const editstate = (data) => { + return request({ + url: '/postkpi/editstate', + method: 'post', + data: data + }) +} +//添加岗位考核指标 +export const addposttarget = (data) => { + return request({ + url: '/postkpi/addposttarget', + method: 'post', + data: data + }) +} +//修改定性指标关联岗位 +export const editposttargetaual = (data) => { + return request({ + url: '/postkpi/editposttargetaual', + method: 'post', + data: data + }) +} +//添加岗位细则 +export const addposttargetcont = (data) => { + return request({ + url: '/postkpi/addposttargetcont', + method: 'post', + data: data + }) +} +//岗位定性考核列表 +export const posttargetsunlist = (data) => { + return request({ + url: '/postkpi/posttargetsunlist', + method: 'post', + data: data + }) +} +//获取指标关联的岗位 +export const targetorglist = (data) => { + return request({ + url: '/postkpi/targetorglist', + method: 'post', + data: data + }) +} diff --git a/src/api/echarts/echarts.js b/src/api/echarts/echarts.js index f4ed3fc..c4a4d72 100644 --- a/src/api/echarts/echarts.js +++ b/src/api/echarts/echarts.js @@ -30,4 +30,20 @@ export const departmenttranscript = (data) => { method: 'post', data: data }) +} +//汇总详情定性历史记录 +export const summarydetailsxinglog = (data) => { + return request({ + url: '/quant/summarydetailsxinglog', + method: 'post', + data: data + }) +} +//汇总详情定量历史记录 +export const summarydetailslianglog = (data) => { + return request({ + url: '/quant/summarydetailslianglog', + method: 'post', + data: data + }) } \ No newline at end of file diff --git a/src/api/honer.js b/src/api/honer.js new file mode 100644 index 0000000..a8919fd --- /dev/null +++ b/src/api/honer.js @@ -0,0 +1,65 @@ +import request from '@/utils/requestFile' +// 载体类型列表 +export function carrierlist(data) { + return request({ + url: '/honors/carrierlist', + method: 'post', + data + }) +} +// 添加载体类型 +export function addcarrier(data) { + return request({ + url: '/honors/addcarrier', + method: 'post', + data + }) + } + // 编辑载体类型 +export function eidycarrier(data) { + return request({ + url: '/honors/eidycarrier', + method: 'post', + data + }) + } + // 编辑载体类型状态 +export function eidycarrierstate(data) { + return request({ + url: '/honors/eidycarrierstate', + method: 'post', + data + }) + } + // 荣誉列表 + export function honorlist(data) { + return request({ + url: '/honors/honorlist', + method: 'post', + data + }) + } + // 添加荣誉 + export function addhonorcont(data) { + return request({ + url: '/honors/addhonorcont', + method: 'post', + data + }) + } + // 编辑荣誉 + export function eidyhonorcont(data) { + return request({ + url: '/honors/eidyhonorcont', + method: 'post', + data + }) + } + // 编辑荣誉状态 + export function eidyhonorcontstate(data) { + return request({ + url: '/honors/eidyhonorcontstate', + method: 'post', + data + }) + } \ No newline at end of file diff --git a/src/api/personnel/post.js b/src/api/personnel/post.js index 25fb503..e5299f9 100644 --- a/src/api/personnel/post.js +++ b/src/api/personnel/post.js @@ -248,5 +248,45 @@ export const archivescont = (data) => { data: data }) } +//获取班组 +export const getteamcont = (data) => { + return request({ + url: '/org/getteamcont', + method: 'post', + data: data + }) +} +//编辑班组状态或删除 +export const eidtdelteamcont = (data) => { + return request({ + url: '/org/eidtdelteamcont', + method: 'post', + data: data + }) +} +//班组列表 +export const teamcontlist = (data) => { + return request({ + url: '/org/teamcontlist', + method: 'post', + data: data + }) +} +//添加班组 +export const addteamcont = (data) => { + return request({ + url: '/org/addteamcont', + method: 'post', + data: data + }) +} +//编辑班组 +export const eiteteamcont = (data) => { + return request({ + url: '/org/eiteteamcont', + method: 'post', + data: data + }) +} diff --git a/src/permission.js b/src/permission.js index 15c844e..fc999e9 100644 --- a/src/permission.js +++ b/src/permission.js @@ -22,6 +22,7 @@ router.beforeEach(async(to, from, next) => { if (hasToken!='') { next({path:'/index'}) } else { + console.log("permission login") next({path:'/login'}) } if (hasToken) { diff --git a/src/router/index.js b/src/router/index.js index a42ebcd..121cb8b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -31,15 +31,33 @@ import Layout from '@/layout' */ export const constantRoutes = [ { - path: '/ceshi', - component: () => import('@/views/ce/index'), - // hidden: true + path: '/', + component: Layout, + redirect: '/frontPage', + children: [{ + path: 'frontPage', + name: 'frontPage', + component: () => import('@/views/frontPage/index'), + meta: { title: '首页'} + }] }, { path: '/login', component: () => import('@/views/login/wxLogin'), hidden: true }, + // 扫码登录中间件 + { + path: '/ceshi', + component: () => import('@/views/ce/index'), + // hidden: true + }, + { + path: '/lunbo', + component: () => import('@/views/lunbo/index'), + // hidden: true + }, + { path: '/approval', component: () => import('@/views/approval/index'), @@ -60,15 +78,15 @@ export const constantRoutes = [ component: () => import('@/views/404'), hidden: true }, + { - path: '/', + path: '/permissionSetting', component: Layout, - redirect: '/frontPage', + redirect: '/permissionSetting', children: [{ - path: 'frontPage', - name: 'frontPage', - component: () => import('@/views/frontPage/index'), - meta: { title: '首页'} + path: 'permissionSetting', + component: () => import('@/views/permission/permissionSetting'), + meta: { title: '权限配置'} }] }, // /setsystem/systemmenulist @@ -153,6 +171,11 @@ export const constantRoutes = [ path: 'organization', component: () => import('@/views/hr/organization.vue'), }, + { + path: 'team', + component: () => import('@/views/hr/team.vue'), + meta: { title: '班组管理'} + }, ], }, // 数据提报 @@ -174,6 +197,25 @@ export const constantRoutes = [ }, ], }, + // 荣誉档案 + { + path: '/honer', + component: Layout, + children: [ + // 当 /user/:id 匹配成功 + // UserHome 将被渲染到 User 的 内部 + { + path: 'index', + component: () => import('@/views/honor/index'), + meta: { title: '荣誉档案'} + }, + { + path: 'type', + component: () => import('@/views/honor/type'), + meta: { title: '载体类型'} + }, + ], + }, // 审核记录 { path: '/approvalData', @@ -224,6 +266,11 @@ export const constantRoutes = [ component: () => import('@/views/basicInfo/project'), meta: { title: '考核指标'} }, + { + path: 'gwproject', + component: () => import('@/views/basicInfo/projectBase'), + meta: { title: '岗位指标'} + }, { path: 'Target', component: () => import('@/views/basicInfo/target'), @@ -327,6 +374,12 @@ export const constantRoutes = [ component: () => import('@/views/assessmentProgram/qualitativeIndicators'), meta: { title: '定性考核', icon: 'tree' } }, + { + path: 'gwQualitativeIndicators', + name: 'gwQualitativeIndicators', + component: () => import('@/views/assessmentProgram/gwQualitativeIndicators'), + meta: { title: '定性考核', icon: 'tree' } + }, // { // path: 'quantitativeIndicators', // name: 'quantitativeIndicators', diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 70d20a9..141a956 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -18,6 +18,7 @@ const state = getDefaultState() const mutations = { loginOut(state) { + console.log('user.js loginOut') state.userInfo = {} state.token = '' state.key = '' diff --git a/src/utils/request.js b/src/utils/request.js index bc686ca..a3369d0 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -58,11 +58,13 @@ service.interceptors.response.use( */ response => { const res = response.data - + console.log("res.code") + console.log(res.code) // if the custom code is not 20000, it is judged as an error. if (res.code !== 0) { endLoading() if(res.code === 7){ + console.log('res.code === 7') store.commit('user/loginOut') } Message({ @@ -88,6 +90,7 @@ service.interceptors.response.use( // return Promise.reject(Error).catch(Error=>{console.log(Error)}) // return Promise.reject(new Error(res.msg || 'Error')) } else { + console.log("成功") return res } }, diff --git a/src/utils/requestFile.js b/src/utils/requestFile.js new file mode 100644 index 0000000..6cce14c --- /dev/null +++ b/src/utils/requestFile.js @@ -0,0 +1,89 @@ +import axios from 'axios' +import { MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken,getKey } from '@/utils/auth' + +// create an axios instance +const service = axios.create({ + baseURL: process.env.VUE_APP_BASE_API2, // url = base url + request url + // withCredentials: true, // send cookies when cross-domain requests + timeout: 180000 // request timeout +}) + +// request interceptor +service.interceptors.request.use( + config => { + // do something before request is sent + + if (store.getters.token) { + // let each request carry token + // ['X-Token'] is a custom headers key + // please modify it according to the actual situation + config.headers['user-token'] = getToken() + config.headers['user-key'] = getKey() + } + return config + }, + error => { + // do something with request error + console.log(error) // for debug + return Promise.reject(error) + } +) + +// response interceptor +service.interceptors.response.use( + /** + * If you want to get http information such as headers or status + * Please return response => response + */ + + /** + * Determine the request status by custom code + * Here is just an example + * You can also judge the status by HTTP Status Code + */ + response => { + const res = response.data + + // if the custom code is not 20000, it is judged as an error. + if (res.code !== 0) { + if(res.code === 7){ + store.commit('user/loginOut') + } + Message({ + message: res.msg || 'Error', + type: 'error', + duration: 5 * 1000 + }) + + // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired; + if (res.code === 50008 || res.code === 50012 || res.code === 50014) { + // to re-login + MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', { + confirmButtonText: 'Re-Login', + cancelButtonText: 'Cancel', + type: 'warning' + }).then(() => { + store.dispatch('user/resetToken').then(() => { + location.reload() + }) + }) + } + return Promise.reject(new Error(res.msg || 'Error')) + } else { + return res + } + }, + error => { + console.log('err' + error) // for debug + Message({ + message: error.msg, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +export default service diff --git a/src/views/assessmentProgram/departmentalAssessment.vue b/src/views/assessmentProgram/departmentalAssessment.vue index 57f3239..5aaad7f 100644 --- a/src/views/assessmentProgram/departmentalAssessment.vue +++ b/src/views/assessmentProgram/departmentalAssessment.vue @@ -46,57 +46,67 @@ 生成部门考核方案 - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -282,7 +292,6 @@ - @@ -303,7 +312,6 @@ - @@ -610,7 +618,6 @@ - + + diff --git a/src/views/assessmentProgram/qualitativeIndicators.vue b/src/views/assessmentProgram/qualitativeIndicators.vue index 782168a..790f047 100644 --- a/src/views/assessmentProgram/qualitativeIndicators.vue +++ b/src/views/assessmentProgram/qualitativeIndicators.vue @@ -1093,9 +1093,9 @@ export default { } }, created() { - if (this.$store.state.user.token=='') { - this.$router.push('/login') - } + // if (this.$store.state.user.token=='') { + // this.$router.push('/login') + // } // 页面渲染时获取初始数据 this.getDataList() this.getGrouplist() diff --git a/src/views/basicInfo/assessmentDimension.vue b/src/views/basicInfo/assessmentDimension.vue index 447be78..1dd8bbb 100644 --- a/src/views/basicInfo/assessmentDimension.vue +++ b/src/views/basicInfo/assessmentDimension.vue @@ -155,6 +155,7 @@ export default { created() { console.log(this.$store.state.user.token) if (this.$store.state.user.token=='') { + console.log("跳转login") this.$router.push('/login') } // 页面渲染时获取初始数据 diff --git a/src/views/basicInfo/gwProject.vue b/src/views/basicInfo/gwProject.vue new file mode 100644 index 0000000..3ebf31b --- /dev/null +++ b/src/views/basicInfo/gwProject.vue @@ -0,0 +1,889 @@ + + + + + diff --git a/src/views/basicInfo/project.vue b/src/views/basicInfo/project.vue index eb3356b..7df8926 100644 --- a/src/views/basicInfo/project.vue +++ b/src/views/basicInfo/project.vue @@ -19,9 +19,9 @@ - + --> 查询 - 重置 + @@ -84,7 +84,6 @@ @@ -296,6 +295,7 @@ import { } from '@/api/duty/group' export default { name: 'Dashboard', + props:['bmId'], data() { return { grouplistBackup:[], @@ -413,10 +413,23 @@ export default { this.getGrouplist() }, + watch:{ + bmId(){ + console.log("bmid变化") + console.log(this.bmId) + const list = [] + list.push(this.bmId) + this.searchInfo.relevantdepartments=list + this.getDataList() + }, + }, methods: { // 获取员工列表 async getSystemadminlist(){ - const res = await getgroupuser() + const from = { + level: 4 + } + const res = await getgroupuser(from) this.grouplistBackup=res.data this.grouplistBackup.forEach(item => { if (item.govlist != null) { diff --git a/src/views/basicInfo/projectBase.vue b/src/views/basicInfo/projectBase.vue new file mode 100644 index 0000000..5d8fefd --- /dev/null +++ b/src/views/basicInfo/projectBase.vue @@ -0,0 +1,456 @@ + + + + + diff --git a/src/views/basicInfo/qualitativeIndicators.vue b/src/views/basicInfo/qualitativeIndicators.vue index c90e546..7ebecc6 100644 --- a/src/views/basicInfo/qualitativeIndicators.vue +++ b/src/views/basicInfo/qualitativeIndicators.vue @@ -91,7 +91,7 @@ - + diff --git a/src/views/basicInfo/target.vue b/src/views/basicInfo/target.vue index 952abb4..b537eae 100644 --- a/src/views/basicInfo/target.vue +++ b/src/views/basicInfo/target.vue @@ -4,7 +4,7 @@