diff --git a/package.json b/package.json index 0d71846..a2b4df8 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ }, "dependencies": { "axios": "^0.20.0", + "dingtalk-jsapi": "^2.13.7", "echarts": "^4.9.0", "element-ui": "^2.13.2", "less": "^3.8.1", @@ -44,6 +45,7 @@ "babel-register": "^6.22.0", "chalk": "^2.0.1", "chromedriver": "^2.27.2", + "cli": "^1.0.1", "copy-webpack-plugin": "^4.0.1", "cross-spawn": "^5.0.1", "css-loader": "^0.28.0", @@ -84,7 +86,7 @@ "vue-loader": "^13.3.0", "vue-style-loader": "^3.0.1", "vue-template-compiler": "^2.5.2", - "webpack": "^3.6.0", + "webpack": "^3.12.0", "webpack-bundle-analyzer": "^2.9.0", "webpack-dev-server": "^2.9.1", "webpack-merge": "^4.1.0" diff --git a/src/api/initiateAssessment.js b/src/api/initiateAssessment.js index 8e74e5e..e574775 100644 --- a/src/api/initiateAssessment.js +++ b/src/api/initiateAssessment.js @@ -1,5 +1,6 @@ import request from '@/utils/request' + // 发起考核 export function apiInitiateAssessmentInfo (query) { return request({ diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..a099445 --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,10 @@ +import requestFuc from '@/utils/request' + +// 钉钉免登录 +export function apiDingtalkLogin (query) { + return requestFuc({ + url: '/lz_management/dtlg/login', + method: 'post', + params: query + }) +} diff --git a/src/api/report.js b/src/api/report.js index 1434fb1..b08b85b 100644 --- a/src/api/report.js +++ b/src/api/report.js @@ -17,3 +17,20 @@ export function getStartsData (query) { data: query }) } +// 获取绩效排名详情 +export function getChartDetail (query) { + return requestFuc({ + url: '/lz_management/performance/chart/detail', + method: 'POST', + data: query + }) +} + +// 获取部门信息 +export function getDepList (query) { + return requestFuc({ + url: '/lz_management/staff/structure/deplist', + method: 'GET', + params: query + }) +} diff --git a/src/api/toDo.js b/src/api/toDo.js new file mode 100644 index 0000000..3dae5d5 --- /dev/null +++ b/src/api/toDo.js @@ -0,0 +1,10 @@ +import requestFuc from '@/utils/request' + +// 获取考核组列表 +export function apiGetWaitList (query) { + return requestFuc({ + url: '/lz_management/performance/task/list', + method: 'POST', + data: query + }) +} diff --git a/src/router/config_route.js b/src/router/config_route.js new file mode 100644 index 0000000..8a16081 --- /dev/null +++ b/src/router/config_route.js @@ -0,0 +1,11 @@ +export default [ + { + path: '/dingTalkLogin', + name: 'dingTalkLogin', + component: (resolve) => require(['@/views/login/dingTalkLogin.vue'], resolve), + meta: { + title: '登录', + isNav: true + } + } +] diff --git a/src/router/index.js b/src/router/index.js index 0303ac8..b033fcf 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,17 +1,18 @@ import Vue from 'vue' import Router from 'vue-router' +import configRouter from './config_route.js' import kpiRouter from './kpi_route.js' Vue.use(Router) -const routes = [ +const router = [ { path: '/', redirect: kpiRouter.length > 0 ? kpiRouter[0].redirect : '/' } -].concat(kpiRouter) +] export default new Router({ base: '/digitization/', mode: 'history', - routes + routes: [...configRouter, ...kpiRouter, ...router] }) diff --git a/src/router/kpi_route.js b/src/router/kpi_route.js index 6370552..1cbbc19 100644 --- a/src/router/kpi_route.js +++ b/src/router/kpi_route.js @@ -147,6 +147,13 @@ export default [ title: '智能测试带弹窗', pop: true } + }, { + path: 'report-detial', + name: 'reportDetial', + component: (resolve) => require(['@/views/kpi/report/detail.vue'], resolve), + meta: { + title: '绩效详情' + } } ] } diff --git a/src/style/common.less b/src/style/common.less index dfbeccb..007167b 100644 --- a/src/style/common.less +++ b/src/style/common.less @@ -1,15 +1,28 @@ @borderColor: #ebebeb; @fontBlue: #3ba1ff; -@headerHeight:60px; -.boderAndRadius{ +@headerHeight: 60px; + +.boderAndRadius { border: 1px solid @borderColor; - border-radius:6px ; + border-radius: 6px; background: #fff; } + .commonFont { font-size: 16px; color: #52575b; } + +.comonPromptFont { + font-size: 14px; + color: #b1b1b1; +} + +.common-main { + background-color: white; + padding: 40px 20px; +} + .noSelect { -webkit-touch-callout: none; -webkit-user-select: none; @@ -18,7 +31,8 @@ -ms-user-select: none; user-select: none; } -.center(){ + +.center() { display: flex; align-items: center; justify-content: center; @@ -30,4 +44,4 @@ // } // ::-webkit-scrollbar { // width: 0 !important;height: 0; -// } \ No newline at end of file +// } diff --git a/src/utils/request.js b/src/utils/request.js index 19514ca..b1ae2e5 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -25,9 +25,9 @@ const service = axios.create({ const options = { fullscreen: true, target: document.querySelector('.appamin'), - background: 'rgba(255, 255, 255, 0.1)', + background: 'rgba(255, 255, 255, 0.8)', spinner: 'el-icon-loading', - text: '请求加载中。。。'} + text: '数据加载中'} // request拦截器 service.interceptors.request.use(config => { diff --git a/src/views/kpi/report/detail.vue b/src/views/kpi/report/detail.vue index 2fea95c..3d1eff7 100644 --- a/src/views/kpi/report/detail.vue +++ b/src/views/kpi/report/detail.vue @@ -1,40 +1,121 @@ diff --git a/src/views/kpi/report/index.vue b/src/views/kpi/report/index.vue index 9001924..d5aa51f 100644 --- a/src/views/kpi/report/index.vue +++ b/src/views/kpi/report/index.vue @@ -27,61 +27,65 @@
{{statisticals[4].desc}}
-
{{statisticals[4].num}}
-
{{statisticals[4].desc}}
+
{{statisticals[5].num}}
+
{{statisticals[5].desc}}
-
{{statisticals[4].num}}
-
{{statisticals[4].desc}}
+
{{statisticals[6].num}}
+
{{statisticals[6].desc}}
-
考核人数分析
-
+
考核人数分析
+
+
考核人数分析
-
参与考核部门人数
+
-
-
    +
    参与考核部门人数
    +
    • -
      {{ index }} -
      -
      {{ assessItem.title }} {{ assessItem.num }}人
      +
      +
      {{index}}
      +
      {{assessItem.desc}}
      +
      {{ assessItem.num }}人
      +
-
结果分析
-
等级分布
-
+
+
结果分析
+
+
+
等级分布
- - - - - - - @@ -102,6 +106,8 @@ export default { // 当前选择的月份 pickerTime: '', // + startId: '', + // statisticals: [ {num: '0', desc: '参与人数'}, {num: '0', desc: '目标制定'}, @@ -249,12 +255,19 @@ export default { return { width: '20px', height: '20px', + 'text-align': 'center', + 'line-height': '20px', + color: 'white', background: color } }, - // + // 页面跳转 handleDetailClick (index, rows) { - + this.$router.push({ + path: ('report-detial'), + query: {startId: this.startId, flowProcess: rows.desc} + }) + console.log(this.$router) }, // Y轴坐标计算,取靠近最大值的3的倍数作为上限,然后划分成4个刻度(0为初始刻度) handleChartYMul (val) { @@ -274,7 +287,7 @@ export default { }, // handleChange (val) { - console.log(val) + this.startId = val[1] this.handleChartDataReq(val[1]) }, // 获取报表内容 @@ -284,7 +297,7 @@ export default { } try { const result = await getChartData(params) - result.forEach((val, index) => { + result.data.forEach((val, index) => { console.log(val) if (val.type === 0) { // 头部数据 @@ -300,6 +313,7 @@ export default { this.assessNum = val.statisticals this.option.series[0].data = Array.from(this.assessNum).map(item => (item.num)) this.option.xAxis[0].data = Array.from(this.assessNum).map(item => (item.desc)) + console.log(this.option.xAxis[0].data) this.handleNumChart() } }) @@ -316,8 +330,7 @@ export default { } try { let res = await getStartsData(params) - res = res.data - handleNode(res) + handleNode(res.data) } catch (error) { console.log(error) } @@ -329,10 +342,8 @@ export default { diff --git a/src/views/kpi/set/index.vue b/src/views/kpi/set/index.vue index 32d701b..a8660c9 100644 --- a/src/views/kpi/set/index.vue +++ b/src/views/kpi/set/index.vue @@ -1,6 +1,6 @@