diff --git a/.env.development b/.env.development index a15bddb..8035636 100644 --- a/.env.development +++ b/.env.development @@ -3,3 +3,4 @@ ENV = 'development' # base api VUE_APP_BASE_API = 'http://vue.admin.net/api' +VUE_APP_BASE_API1 = 'http://vue.admin.net/hrapi' diff --git a/.env.production b/.env.production index 888638c..12dd067 100644 --- a/.env.production +++ b/.env.production @@ -3,4 +3,5 @@ ENV = 'production' # base api VUE_APP_BASE_API = 'http://ginadmin.hxgk.group/api' +VUE_APP_BASE_API1 = 'http://ginadmin.hxgk.group/hrapi' diff --git a/.env.staging b/.env.staging index abd748d..72fb432 100644 --- a/.env.staging +++ b/.env.staging @@ -4,5 +4,6 @@ NODE_ENV = production ENV = 'staging' # base api -VUE_APP_BASE_API = 'http://new.hxgk.group/api' +VUE_APP_BASE_API = '172.0.0.1:8888/api' +VUE_APP_BASE_API1 = '172.0.0.1:8888/hrapi' diff --git a/package.json b/package.json index 0a514b0..9ae281c 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "dependencies": { "axios": "0.18.1", "core-js": "^3.20.2", + "echarts": "^5.3.2", "element-ui": "2.15.6", "js-cookie": "2.2.0", "normalize.css": "7.0.0", diff --git a/src/--layout/components/Sidebar/index.vue b/src/--layout/components/Sidebar/index.vue deleted file mode 100644 index b1fef16..0000000 --- a/src/--layout/components/Sidebar/index.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - diff --git a/src/App.vue b/src/App.vue index c94831c..777b673 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,10 +9,41 @@ export default { name: 'App', data () { return { + sjUrl:'https://www.hxgk.group/jumpapiurl/webindex?url=http://new.hxgk.group/sj/index.html' + } + }, + beforeCreate(){ + if ( + navigator.userAgent.match( + /(Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i + ) + ) { + window.open('https://www.hxgk.group/jumpapiurl/webindex?url=http://new.hxgk.group/sj/index.html','_blank') + //return true; // 手机端 + } else { + console.log("PC端"); + //return false; // alert('PC端') + } + if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS + window.location.href = 'https://www.hxgk.group/jumpapiurl/webindex?url=http://new.hxgk.group/sj/index.html'; } + }, + created(){ + + // let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i) + // if (flag) { + // // 手机端 + // window.open(this.sjUrl,'_blank') + // } else { + // // pc端 + + // } + + }, mounted(){ + window.addEventListener('hashchange',()=>{ var currentPath = window.location.hash.slice(1); // 获取输入的路由 @@ -24,5 +55,6 @@ this.$router.push(currentPath); // 动态跳转 },false); } + } diff --git a/src/--layout/components/AppMain.vue b/src/__layout/components/AppMain.vue similarity index 83% rename from src/--layout/components/AppMain.vue rename to src/__layout/components/AppMain.vue index 63783eb..a5454fb 100644 --- a/src/--layout/components/AppMain.vue +++ b/src/__layout/components/AppMain.vue @@ -3,8 +3,6 @@ - - @@ -16,9 +14,7 @@ export default { console.log("AppMain") console.log("AppMain") console.log(this.$route.path) - console.log(this.$route.fullPath) - return this.$route.fullPath - + return this.$route.path } } } diff --git a/src/--layout/components/Navbar.vue b/src/__layout/components/Navbar.vue similarity index 98% rename from src/--layout/components/Navbar.vue rename to src/__layout/components/Navbar.vue index a5081eb..346811c 100644 --- a/src/--layout/components/Navbar.vue +++ b/src/__layout/components/Navbar.vue @@ -60,6 +60,8 @@ export default { this.$router.push('/login') } this.userInfo=JSON.parse(sessionStorage.getItem('userinfo')); + console.log(this.userInfo) + console.log("this.userInfo") }, methods: { toggleSideBar() { diff --git a/src/--layout/components/Sidebar/FixiOSBug.js b/src/__layout/components/Sidebar/FixiOSBug.js similarity index 100% rename from src/--layout/components/Sidebar/FixiOSBug.js rename to src/__layout/components/Sidebar/FixiOSBug.js diff --git a/src/--layout/components/Sidebar/Item.vue b/src/__layout/components/Sidebar/Item.vue similarity index 100% rename from src/--layout/components/Sidebar/Item.vue rename to src/__layout/components/Sidebar/Item.vue diff --git a/src/--layout/components/Sidebar/Link.vue b/src/__layout/components/Sidebar/Link.vue similarity index 90% rename from src/--layout/components/Sidebar/Link.vue rename to src/__layout/components/Sidebar/Link.vue index 09075ed..cd46e19 100644 --- a/src/--layout/components/Sidebar/Link.vue +++ b/src/__layout/components/Sidebar/Link.vue @@ -14,6 +14,10 @@ export default { required: true } }, + created () { + console.log("tiaozhuan") + }, + computed: { isExternal() { return isExternal(this.to) @@ -34,6 +38,7 @@ export default { console.log("this.type") console.log(this.type) if (this.isExternal) { + console.log("isExternal") return { href: to, target: '_blank', diff --git a/src/--layout/components/Sidebar/Logo.vue b/src/__layout/components/Sidebar/Logo.vue similarity index 100% rename from src/--layout/components/Sidebar/Logo.vue rename to src/__layout/components/Sidebar/Logo.vue diff --git a/src/--layout/components/Sidebar/SidebarItem copy.vue b/src/__layout/components/Sidebar/SidebarItem.vue similarity index 100% rename from src/--layout/components/Sidebar/SidebarItem copy.vue rename to src/__layout/components/Sidebar/SidebarItem.vue diff --git a/src/__layout/components/Sidebar/index.vue b/src/__layout/components/Sidebar/index.vue new file mode 100644 index 0000000..da39034 --- /dev/null +++ b/src/__layout/components/Sidebar/index.vue @@ -0,0 +1,56 @@ + + + diff --git a/src/--layout/components/index.js b/src/__layout/components/index.js similarity index 100% rename from src/--layout/components/index.js rename to src/__layout/components/index.js diff --git a/src/--layout/index.vue b/src/__layout/index.vue similarity index 88% rename from src/--layout/index.vue rename to src/__layout/index.vue index df648d5..db22a7b 100644 --- a/src/--layout/index.vue +++ b/src/__layout/index.vue @@ -6,7 +6,7 @@
- + @@ -24,16 +24,6 @@ export default { }, mixins: [ResizeMixin], computed: { - - key() { - console.log("AppMain") - console.log("AppMain") - console.log(this.$route.path) - console.log(this.$route.fullPath) - return this.$route.fullPath - - }, - sidebar() { return this.$store.state.app.sidebar }, diff --git a/src/--layout/mixin/ResizeHandler copy.js b/src/__layout/mixin/ResizeHandler copy.js similarity index 100% rename from src/--layout/mixin/ResizeHandler copy.js rename to src/__layout/mixin/ResizeHandler copy.js diff --git a/src/--layout/mixin/ResizeHandler.js b/src/__layout/mixin/ResizeHandler.js similarity index 100% rename from src/--layout/mixin/ResizeHandler.js rename to src/__layout/mixin/ResizeHandler.js diff --git a/src/api/api/dutys.js b/src/api/api/dutys.js new file mode 100644 index 0000000..e0b7618 --- /dev/null +++ b/src/api/api/dutys.js @@ -0,0 +1,265 @@ +import request from '@/utils/request' +//个人需要填写的考核项目 +export function myassessmentlist(params) { + return request({ + url: '/dutys/myassessmentlist', + method: 'post', + params + }) +} +//根据具体考核项目获取被考核部门 +export const getDutydepartlist = (data) => { + return request({ + url: '/dutys/getDutydepartlist', + method: 'post', + data: data + }) +} +//根据具体考核项目获取被考核部门 +export const addassessmentscore = (data) => { + return request({ + url: '/dutys/addassessmentscore', + method: 'post', + data: data + }) +} +//个人考核评价记录 +export const myevaluatelist = (data) => { + return request({ + url: '/dutys/myevaluatelist', + method: 'post', + data: data + }) +} +//根据部门和时间获取考核详情 +export const getdeparttimeassess = (data) => { + return request({ + url: '/dutys/getdeparttimeassess', + method: 'post', + data: data + }) +} +//获取企业微信发起基础配置 +export const getconfig = (data) => { + return request({ + url: '/examine/getconfig', + method: 'post', + data: data + }) +} +//以部门维度考核内容列表 +export const departmentassess = (data) => { + return request({ + url: '/dutys/departmentassess', + method: 'post', + data: data + }) +} +//根据部门和时间写入全部考核项分值 +export const departmentassessdata = (data) => { + return request({ + url: '/dutys/departmentassessdata', + method: 'post', + data: data + }) +} +//查看审批详细内容 +export const lookdepartmentassessinfo = (data) => { + return request({ + url: '/noverify/lookdepartmentassessinfo', + method: 'post', + data: data + }) +} +//查看本部门提交的和个人提交的审批 +export const lookpersonalordepartment = (data) => { + return request({ + url: '/dutys/lookpersonalordepartment', + method: 'post', + data: data + }) +} +//定性考核列表 +export const qualevalulist = (data) => { + return request({ + url: '/eval/qualevalulist', + method: 'post', + data: data + }) +} +//添加加分或减分 +export const additionandsubtractionscore = (data) => { + return request({ + url: '/eval/plusorminuspoints', + method: 'post', + data: data + }) +} +//流程列表 +export const seeflowlog = (data) => { + return request({ + url: '/eval/seeflowlog', + method: 'post', + data: data + }) +} +//文档上传 +export const upordown = (data) => { + return request({ + url: '/upordown', + method: 'post', + data: 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 request({ + url: '/group/getgroupuser', + method: 'post', + data + }) +} +//划分责任人 +export const adddivisionresponsibility = (data) => { + return request({ + url: '/eval/rersonincharge', + method: 'post', + data: data + }) +} +//添加整改措施 +export const addcorrectivemeasures = (data) => { + return request({ + url: '/eval/rectificationmeasures', + method: 'post', + data: data + }) +} +//定量考核列表 +export const qualitativeevalration = (data) => { + return request({ + url: '/eval/qualitativeevalration', + method: 'post', + data: data + }) +} +//获取集团架构(集团+分厂) +export const getgroupdepartmap = (data) => { + return request({ + url: '/group/getgroupdepartmap', + method: 'post', + data: data + }) +} +//获取分厂 +export const departmentlist = (data) => { + return request({ + url: '/group/departmentlist', + method: 'post', + data: data + }) +} +//定量考核打分 +export const addflowrationlog = (data) => { + return request({ + url: '/eval/addflowrationlog', + method: 'post', + data: data + }) +} +//提交定量审核 +export const quanOperation = (data) => { + return request({ + url: '/quan/operation', + method: 'post', + data: data + }) +} +//查看定性考核审批列表 +export const lookdutkscoreflow = (data) => { + return request({ + url: '/eval/lookdutkscoreflow', + method: 'post', + data: data + }) +} +//查看定量考核 +export const lookrationkscoreflow = (data) => { + return request({ + url: '/eval/lookrationkscoreflow', + method: 'post', + data: data + }) +} +//获取班组 +export const getteamlist = (data) => { + return request({ + url: '/noverify/getteamlist', + method: 'post', + data: data + }) +} +//获取人员 +export const stafflist = (data) => { + return request({ + url: '/staff/stafflist', + method: 'post', + data: data + }) +} +//新定性考核列表 +export const newqualitative = (data) => { + return request({ + url: '/eval/newqualitative', + method: 'post', + data: data + }) +} +//获取新定性考核详细指标 +export const newgetqualdetailedtarget = (data) => { + return request({ + url: '/eval/newgetqualdetailedtarget', + method: 'post', + data: data + }) +} +//加减分NEW +export const plusorminuspoints = (data) => { + return request({ + url: '/eval/plusorminuspointsnew', + method: 'post', + data: data + }) +} +//流程图 1是整改2是不整改 +export const examineflow = (data) => { + return request({ + url: '/eval/examineflow', + method: 'post', + data: data + }) +} +//定性审批 +export const operation = (data) => { + return request({ + url: '/qual/operation', + method: 'post', + data: data + }) +} +//定量审批 +export const sanction = (data) => { + return request({ + url: '/quan/sanction', + method: 'post', + data: data + }) +} + diff --git a/src/api/api/group.js b/src/api/api/group.js new file mode 100644 index 0000000..633ce2c --- /dev/null +++ b/src/api/api/group.js @@ -0,0 +1,24 @@ +import request from '@/utils/request' +// @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 request({ + url: '/group/getgroupdepartmap', + method: 'post', + data: data + }) + } + //以部门维度考核内容列表 +export const departmentassess = (data) => { + return request({ + url: '/dutys/departmentassess', + method: 'post', + data: data + }) + } \ No newline at end of file diff --git a/src/api/api/login/login.js b/src/api/api/login/login.js new file mode 100644 index 0000000..6015f22 --- /dev/null +++ b/src/api/api/login/login.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' +//个人需要填写的考核项目 +export const oauth2 = (data) => { + return request({ + url: '/base/oauth2', + method: 'post', + data: data + }) + } +// @Summary 用户端登录 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const mylogin = (data) => { + return request({ + url: '/base/mylogin', + method: 'post', + data: data + }) +} +export function logout() { + return request({ + url: '/vue-admin-template/user/logout', + method: 'post' + }) +} diff --git a/src/api/api/renwu.js b/src/api/api/renwu.js new file mode 100644 index 0000000..97ea0c8 --- /dev/null +++ b/src/api/api/renwu.js @@ -0,0 +1,75 @@ +import request from '@/utils/request' +//注销接口 +export function logout(params) { + return request({ + url: '/logout.do', + method: 'get', + params + }) +} +//登录接口 +export const login = (data) => { + return request({ + url: '/login.do', + method: 'post', + data: data + }) +} +//注册 +export const register = (data) => { + return request({ + url: '/login/register', + method: 'post', + data: data + }) +} +//绑定提现账户 +export const accountBinding = (data) => { + return request({ + url: '/user/accountBinding', + method: 'post', + data: data + }) +} +//申请提现 +export const withdraw = (data) => { + return request({ + url: '/user/withdraw', + method: 'post', + data: data + }) +} +//激活码激活 +export const cdkActivation = (data) => { + return request({ + url: '/user/cdkActivation', + method: 'post', + data: data + }) +} +//主页 +export const index = (data) => { + return request({ + url: '/user/index', + method: 'post', + data: data + }) +} +//开始任务按钮 +export const start = (data) => { + return request({ + url: '/user/start', + method: 'post', + data: data + }) +} +//校验是否到期并且上传收益接口 +export const checkAndAdd = (data) => { + return request({ + url: '/user/checkAndAdd', + method: 'post', + data: data + }) +} + + diff --git a/src/api/api/table.js b/src/api/api/table.js new file mode 100644 index 0000000..2752f52 --- /dev/null +++ b/src/api/api/table.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function getList(params) { + return request({ + url: '/vue-admin-template/table/list', + method: 'get', + params + }) +} diff --git a/src/api/api/user.js b/src/api/api/user.js new file mode 100644 index 0000000..1bda9a4 --- /dev/null +++ b/src/api/api/user.js @@ -0,0 +1,73 @@ +import request from '@/utils/request' + +export function login(data) { + return request({ + url: '/vue-admin-template/user/login', + method: 'post', + data + }) +} + +export function getInfo(token) { + return request({ + url: '/vue-admin-template/user/info', + method: 'get', + params: { token } + }) +} +// @Summary 获取验证码 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/captcha [post] +// export const captcha = (data) => { +// return service({ +// url: '/base/captcha', +// method: 'post', +// data: data +// }) +// } +export function captcha() { + return request({ + url: '/base/captcha', + method: 'post' + }) +} +// @Summary 用户端登录 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const mylogin = (data) => { + return request({ + url: '/base/mylogin', + method: 'post', + data: data + }) +} +// @Summary 超级登录 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const scancodelogin = (data) => { + return request({ + url: '/base/scancodelogin', + method: 'post', + data: data + }) +} +export function logout() { + return request({ + url: '/vue-admin-template/user/logout', + method: 'post' + }) +} +// @Summary 查询个人信息 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const scancode = (data) => { + return request({ + url: '/noverify/scancode', + method: 'post', + data: data + }) +} diff --git a/src/api/duty/duty.js b/src/api/duty/duty.js index f2c0223..efa3457 100644 --- a/src/api/duty/duty.js +++ b/src/api/duty/duty.js @@ -8,6 +8,14 @@ export const getqualevallist = (data) => { data: data }) } +//获取正在激活的考核方案 +export const getactivationplanversion = (data) => { + return request({ + url: '/admin/getactivationplanversion', + method: 'post', + data: data + }) +} //添加定性考核 export const addqualeval = (data) => { return request({ @@ -384,4 +392,27 @@ export const geteitesuntarterinfo = (data) => { data: data }) } - +//复制部门考核版本 +export const copydepartdutyversio = (data) => { + return request({ + url: '/admin/copydepartdutyversio', + method: 'post', + data: data + }) +} +//删除定量考核目标设定 +export const delquantitativeconfig = (data) => { + return request({ + url: '/admin/delquantitativeconfig', + method: 'post', + data: data + }) +} +//编辑定量考核目标设定 +export const eitequantitativeconfig = (data) => { + return request({ + url: '/admin/eitequantitativeconfig', + method: 'post', + data: data + }) +} diff --git a/src/api/dutys.js b/src/api/dutys.js index 60e5370..8b6f046 100644 --- a/src/api/dutys.js +++ b/src/api/dutys.js @@ -79,3 +79,11 @@ export const lookpersonalordepartment = (data) => { data: data }) } +//获取正在激活的考核方案 +export const getactivationplanversion = (data) => { + return request({ + url: '/admin/getactivationplanversion', + method: 'post', + data: data + }) +} diff --git a/src/api/echarts/echarts.js b/src/api/echarts/echarts.js new file mode 100644 index 0000000..f4ed3fc --- /dev/null +++ b/src/api/echarts/echarts.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' +//计算定量考核组织范围,及起止年份 +export const getquantechartorgandyear = (data) => { + return request({ + url: '/quant/getquantechartorgandyear', + method: 'post', + data: data + }) + } +//表格数据 +export const getplanversionvalid = (data) => { + return request({ + url: '/ststic/getplanversionvalid', + method: 'post', + data: data + }) +} +//计算定量考核数据 +export const quantechart = (data) => { + return request({ + url: '/quant/quantechart', + method: 'post', + data: data + }) +} +//成绩表查询 +export const departmenttranscript = (data) => { + return request({ + url: '/ststic/departmenttranscript', + method: 'post', + data: data + }) +} \ No newline at end of file diff --git a/src/api/personnel/post.js b/src/api/personnel/post.js new file mode 100644 index 0000000..25fb503 --- /dev/null +++ b/src/api/personnel/post.js @@ -0,0 +1,252 @@ +import request from '@/utils/request1' +//添加职位(岗位) +export const addpositioncont = (data) => { + return request({ + url: '/org/addpositioncont', + method: 'post', + data: data + }) + } +//获取职位(岗位)详情 +export const getpositioncont = (data) => { + return request({ + url: '/org/getpositioncont', + method: 'post', + data: data + }) + } +//编辑职位(岗位)状态或删除 +export const eitepositionstateordel = (data) => { + return request({ + url: '/org/eitepositionstateordel', + method: 'post', + data: data + }) +} +//职位(岗位)列表 +export const positionlist = (data) => { + return request({ + url: '/org/positionlist', + method: 'post', + data: data + }) +} +//编辑职位(岗位) +export const eitepositioncont = (data) => { + return request({ + url: '/org/eitepositioncont', + method: 'post', + data: data + }) +} +//职务列表 +export const dutieslist = (data) => { + return request({ + url: '/org/dutieslist', + method: 'post', + data: data + }) +} +//行政组织列表 +export const govlist = (data) => { + return request({ + url: '/org/govlist', + method: 'post', + data: data + }) +} +//行政组织树 +export const govthree = (data) => { + return request({ + url: '/org/govthree', + method: 'post', + data: data + }) +} +//岗位(职位)配权 +export const getpositionrole = (data) => { + return request({ + url: '/org/getpositionrole', + method: 'post', + data: data + }) +} +//岗位(职位)配权 +export const positionallotment = (data) => { + return request({ + url: '/permit/positionallotment', + method: 'post', + data: data + }) +} +//人员列表 +export const stafflist = (data) => { + return request({ + url: '/staff/stafflist', + method: 'post', + data: data + }) +} +//职务分类列表 +export const utiesclasslist = (data) => { + return request({ + url: '/org/utiesclasslist', + method: 'post', + data: data + }) +} +//添加职务分类 +export const adddutiesclass = (data) => { + return request({ + url: '/org/adddutiesclass', + method: 'post', + data: data + }) +} +//删除职务分类 +export const delutiesclassinfo = (data) => { + return request({ + url: '/org/delutiesclassinfo', + method: 'post', + data: data + }) +} +//修改职务分类详情 +export const eiteutiesclassinfo = (data) => { + return request({ + url: '/org/eiteutiesclassinfo', + method: 'post', + data: data + }) +} +//获取职务分类详情 +export const getutiesclassinfo = (data) => { + return request({ + url: '/org/getutiesclassinfo', + method: 'post', + data: data + }) +} +//编辑职务 +export const eitedutiescont = (data) => { + return request({ + url: '/org/eitedutiescont', + method: 'post', + data: data + }) +} +//编辑职务状态或删除 +export const eitedutiesstatordel = (data) => { + return request({ + url: '/org/eitedutiesstatordel', + method: 'post', + data: data + }) +} + +//获取职务详情 +export const getdutiescont = (data) => { + return request({ + url: '/org/getdutiescont', + method: 'post', + data: data + }) +} +//添加职务 +export const adddutiescont = (data) => { + return request({ + url: '/org/adddutiescont', + method: 'post', + data: data + }) +} +//行政组织类型列表 +export const govclasslist = (data) => { + return request({ + url: '/org/govclasslist', + method: 'post', + data: data + }) +} +//添加行政组织类型 +export const addgovclass = (data) => { + return request({ + url: '/org/addgovclass', + method: 'post', + data: data + }) +} +//编辑行政组织类型 +export const eitegovclasscont = (data) => { + return request({ + url: '/org/eitegovclasscont', + method: 'post', + data: data + }) +} +//获取行政组织类型 +export const getgovclasscont = (data) => { + return request({ + url: '/org/getgovclasscont', + method: 'post', + data: data + }) +} +//编辑行政组织类型状态或删除 +export const eitegovclassstateordel = (data) => { + return request({ + url: '/org/eitegovclassstateordel', + method: 'post', + data: data + }) +} +//编辑行政组织状态或删除 +export const eitegovstateordel = (data) => { + return request({ + url: '/org/eitegovstateordel', + method: 'post', + data: data + }) +} +//添加行政组织 +export const addgovcont = (data) => { + return request({ + url: '/org/addgovcont', + method: 'post', + data: data + }) +} +//编辑行政组织 +export const eitegovcont = (data) => { + return request({ + url: '/org/eitegovcont', + method: 'post', + data: data + }) +} +//获取行政组织详情 +export const getgovcont = (data) => { + return request({ + url: '/org/getgovcont', + method: 'post', + data: data + }) +} +//人员列表(新) +export const archiveslist = (data) => { + return request({ + url: '/staff/archiveslist', + method: 'post', + data: data + }) +} +//个人档案 +export const archivescont = (data) => { + return request({ + url: '/staff/archivescont', + method: 'post', + data: data + }) +} + + diff --git a/src/api/user.js b/src/api/user.js index 5f8c5d4..f294bf1 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -159,3 +159,14 @@ export const scancodelogin = (data) => { data: data }) } +// @Summary 登出 +// @Produce application/json +// @Param data body {username:"string",password:"string"} +// @Router /base/login [post] +export const signout = (data) => { + return request({ + url: '/base/signout', + method: 'post', + data: data + }) +} diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue index a5454fb..63783eb 100644 --- a/src/layout/components/AppMain.vue +++ b/src/layout/components/AppMain.vue @@ -3,6 +3,8 @@ + + @@ -14,7 +16,9 @@ export default { console.log("AppMain") console.log("AppMain") console.log(this.$route.path) - return this.$route.path + console.log(this.$route.fullPath) + return this.$route.fullPath + } } } diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index de9f067..b2c3ef8 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -9,7 +9,7 @@
- {{userInfo.groupName}}{{userInfo.roleName}} + {{userInfo.name}}{{userInfo.number}}
@@ -38,6 +38,7 @@ import { mapGetters } from 'vuex' import Breadcrumb from '@/components/Breadcrumb' import Hamburger from '@/components/Hamburger' +import { signout } from '@/api/user' export default { data () { @@ -60,13 +61,13 @@ export default { this.$router.push('/login') } this.userInfo=JSON.parse(sessionStorage.getItem('userinfo')); - }, methods: { toggleSideBar() { this.$store.dispatch('app/toggleSideBar') }, - logout() { + async logout() { + const res = await signout() this.$store.commit('user/loginOut') } } diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue index cd46e19..09075ed 100644 --- a/src/layout/components/Sidebar/Link.vue +++ b/src/layout/components/Sidebar/Link.vue @@ -14,10 +14,6 @@ export default { required: true } }, - created () { - console.log("tiaozhuan") - }, - computed: { isExternal() { return isExternal(this.to) @@ -38,7 +34,6 @@ export default { console.log("this.type") console.log(this.type) if (this.isExternal) { - console.log("isExternal") return { href: to, target: '_blank', diff --git a/src/--layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem copy.vue similarity index 71% rename from src/--layout/components/Sidebar/SidebarItem.vue rename to src/layout/components/Sidebar/SidebarItem copy.vue index 9c308f2..a418c3d 100644 --- a/src/--layout/components/Sidebar/SidebarItem.vue +++ b/src/layout/components/Sidebar/SidebarItem copy.vue @@ -1,23 +1,23 @@ @@ -595,7 +710,7 @@ import { dutyclasslist } from '@/api/duty/dimension' import { gettasktarget,gettasktargetsun,gettasktargetcontary,addqualeval, addration,departmenttasklist,addqubatch,bumenList,departmentlistnew,adddepartmentdutyinfo, newgerderpattarlist,newadddepartduty,deldepartdutytarger,deldepartduty,departdutyplanversion,adddepartdutyversio, -lookdepartdutyversio,onoffdepartdutyversio,eitedepartexplain +lookdepartdutyversio,onoffdepartdutyversio,eitedepartexplain,copydepartdutyversio } from '@/api/duty/duty' import projectDialog from '@/components/projectDialog/index.vue' import { dutylist,getdutyinfo,eitedutyinfo,eitedutystate } from '@/api/duty/quantitativeIndicators' @@ -612,7 +727,12 @@ export default { }, data() { return { + copyDialogFormVisible:false, + weiduFractionCopy:0, + weiDuCopyList:[], + copyForm1:{}, props1: { + checkStrictly: true, value: "id", label: "name", @@ -636,9 +756,9 @@ export default { showUser:false, // 选择员工配置项 userProps: { - value: "id", + value: "key", label: "name", - children: "groupUser", + children: "govlist", emitPath:false, multiple: true }, @@ -777,7 +897,7 @@ export default { }, // 新条件查询变量 searchVersion: { - group: '', + group: 2, deaprtid:'', year: "", //年 }, @@ -887,6 +1007,36 @@ export default { this.detailsShow=true }, + // 显示复制弹窗 + async copyShow(row){ + const that = this + const from = { + key:row.key + } + const res = await copydepartdutyversio(from) + this.copyForm1=res.data + + this.weiDuCopyList=res.data.child + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + element.zhiFraction=0 + }); + this.weiDuCopyList.forEach(function(element) { + if (element.child!=null) { + element.child.forEach(function(iteam){ + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + + }) + } + }); + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + that.weiduFractionCopy+=element.zhiFraction + }); + this.copyDialogFormVisible=true + }, // 删除部门考核 async deldetePartDuty(row){ const deleFrom = { @@ -918,7 +1068,9 @@ export default { qualevalid:row.qualevalid, deaprtid:row.parentid, dimension:row.dimension, - targetid:row.target + targetid:row.target, + state:row.state, + operator:row.userlist }, // this.editTargerFrom.content=row.content // this.editTargerFrom.group=row.group @@ -944,7 +1096,13 @@ export default { }, // 删除部门考核指标 async deldepTarger(row){ - const deleFrom = { + this.$confirm('此操作将永久删除, 是否继续?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }) + .then(async() => { + const deleFrom = { group: row.group, deaprtid: row.parentid, dimension: "1", //维度 @@ -958,18 +1116,89 @@ export default { }) this.getDataList() } + }) + }, // 指标分值合计 zhibiaofen(){ + const that=this + this.Fraction=0 + this.weiDuList.forEach(function(element) { + element.zhiFraction=0 + }); + this.weiDuList.forEach(function(element) { + if (element.child!=null) { + element.child.forEach(function(iteam){ + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + + }) + } + }); + this.weiduFraction=0 + this.weiDuList.forEach(function(element) { + that.weiduFraction+=element.zhiFraction + }); + }, + // 指标分值合计 + zhibiaofenCopy(){ + const that=this + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + element.zhiFraction=0 + }); + this.weiDuCopyList.forEach(function(element) { + if (element.child!=null) { + element.child.forEach(function(iteam){ + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + + }) + } + }); + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + that.weiduFractionCopy+=element.zhiFraction + }); + }, + // 复制弹窗点击禁用 + zhibiaostatusCopy(row){ + const that=this + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + element.zhiFraction=0 + }); + this.weiDuCopyList.forEach(function(element) { + if (element.child!=null) { + element.child.forEach(function(iteam){ + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + + }) + } + }); + this.weiduFractionCopy=0 + this.weiDuCopyList.forEach(function(element) { + that.weiduFractionCopy+=element.zhiFraction + }); + }, + // 点击禁用 + zhibiaostatus(row){ const that=this this.Fraction=0 this.weiDuList.forEach(function(element) { element.zhiFraction=0 - }); + }); this.weiDuList.forEach(function(element) { if (element.child!=null) { element.child.forEach(function(iteam){ - element.zhiFraction+=iteam.referencescore + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + }) } }); @@ -983,32 +1212,81 @@ export default { }, // 组合提交 async zhuheTi(){ + if (this.weiduFraction==100) { - console.log(this.weiDuList) + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); this.form.group=this.form.group.toString() this.form.parentid=this.form.parentid.toString() this.form.child=this.weiDuList // const res = await adddepartmentdutyinfo(this.form) // const res = await newadddepartduty(this.form) + // this.demDialogFormVisible=false const res = await adddepartdutyversio(this.form) if (res.code === 0) { this.$message({ type: 'success', message: '操作成功!' }) - this.demDialogFormVisible=false + this.getVersionDataList() this.form={ - group:'', - parentid:'', - child:[] - } + group:'', + parentid:'', + child:[] + } + } this.weiduFraction=0 this.form={ - group:'', - parentid:'', - child:[] + group:'', + parentid:'', + child:[] + } + loading.close(); + }else{ + this.$message({ + type: 'error', + message: '总分不是100!' + }) + } + + }, + // 复制组合提交 + async zhuheTiCopy(){ + + if (this.weiduFractionCopy==100) { + const loading = this.$loading({ + lock: true, + text: 'Loading', + spinner: 'el-icon-loading', + background: 'rgba(0, 0, 0, 0.7)' + }); + const from ={ + group:this.copyForm1.group.toString(), + parentid:this.copyForm1.department.toString(), + child:this.weiDuCopyList, + year:this.copyForm1.year } + // const res = await adddepartmentdutyinfo(this.form) + // const res = await newadddepartduty(this.form) + // this.demDialogFormVisible=false + const res = await adddepartdutyversio(from) + if (res.code === 0) { + this.$message({ + type: 'success', + message: '操作成功!' + }) + this.getVersionDataList() + + + } + this.weiduFractionCopy=0 + + loading.close(); }else{ this.$message({ type: 'error', @@ -1072,6 +1350,7 @@ export default { departmentid: row.parentid, //被考核部门 dimension: row.dimension, //维度 target: row.target, //考核指标 + versionnumber: row.qualevalid //版本号 } const res = await departmenttasklist(methodData) if (res.code==0) { @@ -1150,15 +1429,15 @@ export default { // colspan: _col // }; // } - if (columnIndex === 10) { - const _row = this.spanArr[rowIndex]; - const _col = _row > 0 ? 1 : 0; - return { - // [0,0] 表示这一行不显示, [2,1]表示行的合并数 - rowspan: _row, - colspan: _col - }; - } + // if (columnIndex === 10) { + // const _row = this.spanArr[rowIndex]; + // const _col = _row > 0 ? 1 : 0; + // return { + // // [0,0] 表示这一行不显示, [2,1]表示行的合并数 + // rowspan: _row, + // colspan: _col + // }; + // } if (columnIndex === 0||columnIndex === 1) { const _row = this.spanArr1[rowIndex]; const _col = _row > 0 ? 1 : 0; @@ -1168,7 +1447,7 @@ export default { colspan: _col }; } - if (columnIndex === 2||columnIndex === 3||columnIndex === 4||columnIndex === 5||columnIndex === 6||columnIndex === 7||columnIndex === 8||columnIndex === 9) { + if (columnIndex === 2||columnIndex === 3||columnIndex === 4||columnIndex === 5||columnIndex === 6||columnIndex === 7||columnIndex === 8||columnIndex === 9||columnIndex === 10) { const _row = this.spanArr2[rowIndex]; const _col = _row > 0 ? 1 : 0; return { @@ -1226,6 +1505,24 @@ export default { }) } }); + this.Fraction=0 + this.weiDuList.forEach(function(element) { + element.zhiFraction=0 + }); + this.weiDuList.forEach(function(element) { + if (element.child!=null) { + element.child.forEach(function(iteam){ + if(iteam.status!=2){ + element.zhiFraction+=iteam.referencescore + } + + }) + } + }); + this.weiduFraction=0 + this.weiDuList.forEach(function(element) { + that.weiduFraction+=element.zhiFraction + }); console.log(this.weiDuList) } }, @@ -1287,8 +1584,42 @@ export default { // 获取员工列表 async getSystemadminlist(){ const res = await getgroupuser() - this.grouplistBackup=res.data.list + this.grouplistBackup=res.data + this.grouplistBackup.forEach(item => { + if (item.govlist != null) { + // 即:this.digui(item);在这地方添加的 + item.govlist.forEach(items => { + // 下面的就是执行递归的方法,因为我是从第二层才开始需要往下挖的,所以这里多了个forEach,如果从第一层起,从item就好了,即:this.digui(item);在上面添加 + this.digui(items); // 这里是源头,把一个对象开始递归,开始循环 + // 如果想看完整数据,那么是在这里打印数据哦 + console.log(items, '看我查看完整的数据哦') + // 因为上一步递归时,就已经把循环children的动作做完了,这里是验收递归方法的地方。 + }) + } else { + item.govlist=item.child + // 如果第一层没有子项做的操作。。。。。 + } + }) }, + // 树形结构递归 + digui (item) { + // 一层一层往下面执行,循环,直到不满足情况的条件下,会自动跳出这个递归方法,然后又到上面方法的源头处,开始执行下一个对象。。。 + if (item.govlist != null) { + // 因为三级联动的数据格式是value和label,所以需要自己手动添加,没有的忽略。 + item.govlist.forEach(ff => { + // 这里就是判断他的children下面还有没有值,有的话我就要往下挖,就又开始自己调用自己了 + this.digui(ff) + }) + } else { + // 这里就是判断,如果我这一层的children下面没有东西的时候该做什么操作 + // 要添加value和label,否则会看不到标签名字和值 + // --------------------------分割线--------------------------------- + + item.govlist=item.child + + } + // 到这里为止,不能在这里打印数据,不然数据就是个断层的,因为在这里打印的数据是当前循环的这一层的数据,如果想看完整数据效果,那么就需要在递归方法第一次调用的地方打印需要递归的值,即上一个方法中。 + }, // 获取公司 async getGrouplist(){ const idFrom = { @@ -1368,6 +1699,7 @@ export default { this.getVersionDataList() } } + this.getVersionDataList() }, // 重置搜索条件 onReset() { diff --git a/src/views/assessmentProgram/qualitativeIndicators.vue b/src/views/assessmentProgram/qualitativeIndicators.vue index 2005e10..8814b22 100644 --- a/src/views/assessmentProgram/qualitativeIndicators.vue +++ b/src/views/assessmentProgram/qualitativeIndicators.vue @@ -99,7 +99,7 @@ - + @@ -372,7 +372,7 @@ label="执行人" align="center"> @@ -459,7 +459,7 @@ label="执行人" align="center"> - + - + @@ -536,19 +536,19 @@ - - + + + +
+ 批量修改目标值 +
+ +
+ + + + + + + + + + + + + + + + + + + 确定 + + +
+
+
+ + + + - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/echarts/echarts1.vue b/src/views/echarts/echarts1.vue new file mode 100644 index 0000000..875d478 --- /dev/null +++ b/src/views/echarts/echarts1.vue @@ -0,0 +1,824 @@ + + + + + + \ No newline at end of file diff --git a/src/views/echarts/table.vue b/src/views/echarts/table.vue new file mode 100644 index 0000000..4de967f --- /dev/null +++ b/src/views/echarts/table.vue @@ -0,0 +1,1196 @@ + + + + + + \ No newline at end of file diff --git a/src/views/echarts/total.vue b/src/views/echarts/total.vue new file mode 100644 index 0000000..4cbcc23 --- /dev/null +++ b/src/views/echarts/total.vue @@ -0,0 +1,883 @@ + + + + + + \ No newline at end of file diff --git a/src/views/frontPage/index.vue b/src/views/frontPage/index.vue index 283fc27..8b389bf 100644 --- a/src/views/frontPage/index.vue +++ b/src/views/frontPage/index.vue @@ -3,7 +3,7 @@
-
早安,管理员,请开始一天的工作吧
+
{{hourTittle}},请开始工作吧
今日晴,0℃ - 10℃,天气寒冷,注意添加衣物。
@@ -47,7 +47,7 @@
-
+ +
+
--> + +
+
+
+ 月度绩效成绩 +
+
+
+
+
@@ -80,20 +91,80 @@ 数据统计
- + + + +
+
+ +
+
+ +
+
+ +
+ + +
+
+ +
+
+ +
+
+ +
+ + +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + diff --git a/src/views/hr/organization.vue b/src/views/hr/organization.vue new file mode 100644 index 0000000..1615662 --- /dev/null +++ b/src/views/hr/organization.vue @@ -0,0 +1,484 @@ + + + + + diff --git a/src/views/hr/organizeType.vue b/src/views/hr/organizeType.vue new file mode 100644 index 0000000..1fc2769 --- /dev/null +++ b/src/views/hr/organizeType.vue @@ -0,0 +1,360 @@ + + + + + diff --git a/src/views/hr/personnel.vue b/src/views/hr/personnel.vue new file mode 100644 index 0000000..86dc2ef --- /dev/null +++ b/src/views/hr/personnel.vue @@ -0,0 +1,1072 @@ + + + + + diff --git a/src/views/hr/position.vue b/src/views/hr/position.vue new file mode 100644 index 0000000..eee316d --- /dev/null +++ b/src/views/hr/position.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/src/views/login/wxLogin.vue b/src/views/login/wxLogin.vue index 0049061..0211821 100644 --- a/src/views/login/wxLogin.vue +++ b/src/views/login/wxLogin.vue @@ -91,6 +91,7 @@ 扫码登录 + @@ -208,6 +209,9 @@ export default { // async login() { // return await this.myLoginIn(this.loginForm) // }, + qyWx(){ + window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww02f310301953277a&redirect_uri=https%3A%2F%2Fwww.hxgk.group%2Fjumpapiurl%2Fscancode%3Fcontroll%3Dshiyan%26id%3D123456%26num%3D654321&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect" + }, async submitForm() { this.$refs.loginForm.validate(async(v) => { if (v) { diff --git a/src/views/menuSettings/index.vue b/src/views/menuSettings/index.vue index 8f98111..85029a4 100644 --- a/src/views/menuSettings/index.vue +++ b/src/views/menuSettings/index.vue @@ -41,29 +41,29 @@ inactive-color="#ff4949" :active-value=1 :inactive-value=2 - @change="changeVal($event,scope.row.outId)" + @change="changeVal($event,scope.row.id)" />
@@ -107,10 +107,10 @@ - - + + - + - + - + - - + + - - + + + + + + +