Merge branch 'v_1.0.0' of http://gitlab.ldxinyong.com/enterpriseManagement/digitization-ui into v_1.0.0
This commit is contained in:
commit
72b33afce9
@ -18,6 +18,16 @@
|
|||||||
color: #b1b1b1;
|
color: #b1b1b1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.comonTitle {
|
||||||
|
font-size: 20px;
|
||||||
|
color: #52575b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.comonPrompt {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #9b9b9b;
|
||||||
|
}
|
||||||
|
|
||||||
.common-main {
|
.common-main {
|
||||||
background-color: white;
|
background-color: white;
|
||||||
padding: 40px 20px;
|
padding: 40px 20px;
|
||||||
|
|||||||
@ -32,7 +32,8 @@ import {
|
|||||||
TabPane,
|
TabPane,
|
||||||
Menu,
|
Menu,
|
||||||
MenuItem,
|
MenuItem,
|
||||||
Loading
|
Loading,
|
||||||
|
Image
|
||||||
} from 'element-ui'
|
} from 'element-ui'
|
||||||
|
|
||||||
Vue.prototype.$loading = Loading
|
Vue.prototype.$loading = Loading
|
||||||
@ -71,3 +72,4 @@ Vue.use(DropdownItem)
|
|||||||
Vue.use(Cascader)
|
Vue.use(Cascader)
|
||||||
Vue.use(Menu)
|
Vue.use(Menu)
|
||||||
Vue.use(MenuItem)
|
Vue.use(MenuItem)
|
||||||
|
Vue.use(Image)
|
||||||
|
|||||||
@ -7,7 +7,11 @@
|
|||||||
<div>等级分布详情</div>
|
<div>等级分布详情</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail_content">
|
<div class="detail_content">
|
||||||
<el-cascader :options="depList" @change="handleChange" style="margin-bottom:20px" ></el-cascader>
|
<el-cascader
|
||||||
|
:options="depList"
|
||||||
|
@change="handleChange"
|
||||||
|
style="margin-bottom:20px"
|
||||||
|
v-model="defaultOpt"></el-cascader>
|
||||||
<el-table :data="tableData"
|
<el-table :data="tableData"
|
||||||
border
|
border
|
||||||
:header-cell-style="{ background:'#F5F7FA'}"
|
:header-cell-style="{ background:'#F5F7FA'}"
|
||||||
@ -30,7 +34,12 @@ export default {
|
|||||||
// 表格数据
|
// 表格数据
|
||||||
tableData: [],
|
tableData: [],
|
||||||
// 部门数据列表
|
// 部门数据列表
|
||||||
depList: []
|
depList: [{
|
||||||
|
value: '',
|
||||||
|
label: '全部'
|
||||||
|
}],
|
||||||
|
//
|
||||||
|
defaultOpt: ['']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
@ -66,8 +75,8 @@ export default {
|
|||||||
type: 0
|
type: 0
|
||||||
}
|
}
|
||||||
let result = await getDepList(params)
|
let result = await getDepList(params)
|
||||||
console.log(result)
|
this.depList = this.depList.concat(this.handleDepResult(result.data))
|
||||||
this.depList = this.handleDepResult(result.data)
|
console.log(this.depList)
|
||||||
},
|
},
|
||||||
// 递归生成可用数组
|
// 递归生成可用数组
|
||||||
handleDepResult (list) {
|
handleDepResult (list) {
|
||||||
|
|||||||
@ -1,7 +1,12 @@
|
|||||||
<!-- -->
|
<!-- -->
|
||||||
<template>
|
<template>
|
||||||
<div class="block">
|
<div class="report_index">
|
||||||
<el-cascader :props="props" :options="timeOptions" @change="handleChange">
|
<el-cascader
|
||||||
|
:props="props"
|
||||||
|
:options="timeOptions"
|
||||||
|
@change="handleChange"
|
||||||
|
v-model="defaultStartId"
|
||||||
|
style="width:250px">
|
||||||
</el-cascader>
|
</el-cascader>
|
||||||
<div class="report_content">
|
<div class="report_content">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
@ -66,7 +71,7 @@
|
|||||||
<el-table :data="tableData"
|
<el-table :data="tableData"
|
||||||
:header-cell-style="{ background:'#F5F7FA'}"
|
:header-cell-style="{ background:'#F5F7FA'}"
|
||||||
border
|
border
|
||||||
style="flex-grow:2;margin-top:20px">
|
style="flex-grow:2;margin-top:20px;height:100%">
|
||||||
<el-table-column prop="desc" label="绩效等级">
|
<el-table-column prop="desc" label="绩效等级">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="num" label="实际分布">
|
<el-table-column prop="num" label="实际分布">
|
||||||
@ -105,7 +110,9 @@ export default {
|
|||||||
return {
|
return {
|
||||||
// 当前选择的月份
|
// 当前选择的月份
|
||||||
pickerTime: '',
|
pickerTime: '',
|
||||||
//
|
// 给选择器设置默认选项
|
||||||
|
defaultStartId: [],
|
||||||
|
// 当前的绩效id
|
||||||
startId: '',
|
startId: '',
|
||||||
//
|
//
|
||||||
statisticals: [
|
statisticals: [
|
||||||
@ -135,16 +142,15 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
lazy: true,
|
lazy: true,
|
||||||
lazyLoad: (node, resolve) => {
|
lazyLoad: (node, resolve) => {
|
||||||
console.log('aaaa')
|
|
||||||
// 获取节点类型
|
// 获取节点类型
|
||||||
let type = node.data.value
|
let type = node.data.value
|
||||||
// 请求获取2级列表
|
// 请求获取2级列表
|
||||||
this.handleStartsReq(type, function (reslut) {
|
this.handleStartsReq(type, function (reslut) {
|
||||||
const childNode = Array.from(reslut.list).map(item => ({
|
const childNode = Array.from(reslut.list).map(item => ({
|
||||||
value: item.startId,
|
value: item.startId,
|
||||||
label: item.time,
|
label: item.time
|
||||||
leaf: true
|
|
||||||
}))
|
}))
|
||||||
|
// console.log(childNode)
|
||||||
resolve(childNode)
|
resolve(childNode)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -232,7 +238,6 @@ export default {
|
|||||||
beforeMount () { },
|
beforeMount () { },
|
||||||
mounted () {
|
mounted () {
|
||||||
this.handleChartDataReq()
|
this.handleChartDataReq()
|
||||||
this.handleLevelChart()
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 背景色计算
|
// 背景色计算
|
||||||
@ -267,7 +272,6 @@ export default {
|
|||||||
path: ('report-detial'),
|
path: ('report-detial'),
|
||||||
query: {startId: this.startId, flowProcess: rows.desc}
|
query: {startId: this.startId, flowProcess: rows.desc}
|
||||||
})
|
})
|
||||||
console.log(this.$router)
|
|
||||||
},
|
},
|
||||||
// Y轴坐标计算,取靠近最大值的3的倍数作为上限,然后划分成4个刻度(0为初始刻度)
|
// Y轴坐标计算,取靠近最大值的3的倍数作为上限,然后划分成4个刻度(0为初始刻度)
|
||||||
handleChartYMul (val) {
|
handleChartYMul (val) {
|
||||||
@ -287,6 +291,7 @@ export default {
|
|||||||
},
|
},
|
||||||
//
|
//
|
||||||
handleChange (val) {
|
handleChange (val) {
|
||||||
|
console.log(val)
|
||||||
this.startId = val[1]
|
this.startId = val[1]
|
||||||
this.handleChartDataReq(val[1])
|
this.handleChartDataReq(val[1])
|
||||||
},
|
},
|
||||||
@ -297,8 +302,16 @@ export default {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const result = await getChartData(params)
|
const result = await getChartData(params)
|
||||||
|
// 如果没传startId则对startId赋予初始值,
|
||||||
|
if (typeof startId === 'undefined') {
|
||||||
|
this.defaultStartId[0] = result.data[0].type
|
||||||
|
this.defaultStartId[1] = result.data[0].defaultId
|
||||||
|
this.startId = result.data[0].defaultId
|
||||||
|
this.defaultStartName = result.data[0].defaultTime
|
||||||
|
//
|
||||||
|
this.handleStartsReq(result.data[0].type)
|
||||||
|
}
|
||||||
result.data.forEach((val, index) => {
|
result.data.forEach((val, index) => {
|
||||||
console.log(val)
|
|
||||||
if (val.type === 0) {
|
if (val.type === 0) {
|
||||||
// 头部数据
|
// 头部数据
|
||||||
this.statisticals = val.statisticals
|
this.statisticals = val.statisticals
|
||||||
@ -313,7 +326,6 @@ export default {
|
|||||||
this.assessNum = val.statisticals
|
this.assessNum = val.statisticals
|
||||||
this.option.series[0].data = Array.from(this.assessNum).map(item => (item.num))
|
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))
|
this.option.xAxis[0].data = Array.from(this.assessNum).map(item => (item.desc))
|
||||||
console.log(this.option.xAxis[0].data)
|
|
||||||
this.handleNumChart()
|
this.handleNumChart()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -330,7 +342,20 @@ export default {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
let res = await getStartsData(params)
|
let res = await getStartsData(params)
|
||||||
handleNode(res.data)
|
if (typeof handleNode === 'undefined') {
|
||||||
|
let children = Array.from(res.data.list).map(item => ({
|
||||||
|
value: item.startId,
|
||||||
|
label: item.time,
|
||||||
|
leaf: true
|
||||||
|
}))
|
||||||
|
if (type === 0) {
|
||||||
|
this.timeOptions[0].children = children
|
||||||
|
} else {
|
||||||
|
this.timeOptions[1].children = children
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
handleNode(res.data)
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
}
|
}
|
||||||
@ -341,6 +366,10 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='' scoped>
|
<style lang='' scoped>
|
||||||
|
.report_index{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
.report_content {
|
.report_content {
|
||||||
background: white;
|
background: white;
|
||||||
border: #fcfcfc solid 1px;
|
border: #fcfcfc solid 1px;
|
||||||
@ -385,8 +414,8 @@ export default {
|
|||||||
.num_tips{
|
.num_tips{
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.num_chart {
|
.num_chart{
|
||||||
flex-grow: 1;
|
flex-grow: 1
|
||||||
}
|
}
|
||||||
.num_chart>:nth-child(1){
|
.num_chart>:nth-child(1){
|
||||||
color: #3a3a3a;
|
color: #3a3a3a;
|
||||||
|
|||||||
147
src/views/kpi/set/authority/index.vue
Normal file
147
src/views/kpi/set/authority/index.vue
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
<template>
|
||||||
|
<div class="authority commonFont">
|
||||||
|
<div>
|
||||||
|
<div class="authority-main line-space">
|
||||||
|
<div class="authority-main-header">
|
||||||
|
<div class="comonTitle">智能绩效主管理员</div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
@click="handleChangeDirector"
|
||||||
|
>更换智能绩效主管理员</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="comonPrompt">绩效应用的主管理员,可由钉钉主管理员设置,绩效主管理员具有应用所有权限,且可以设置智能绩效应用子管理员</div>
|
||||||
|
<div class="authority-main-info">
|
||||||
|
<el-image :src="url"></el-image>
|
||||||
|
<div class="authority-main-info-name">阿三来了</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="authority-sub line-space">
|
||||||
|
<div class="authority-sub-header">
|
||||||
|
<div class="comonTitle">智能绩效子管理员</div>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
size="small"
|
||||||
|
@click="handleSubAdd"
|
||||||
|
icon="el-icon-plus"
|
||||||
|
plain
|
||||||
|
>添加</el-button>
|
||||||
|
</div>
|
||||||
|
<div class="comonPrompt line-space">可把绩效应用的日常管理工作交给绩效子管理员,绩效子管理员可由绩效主管理员设置</div>
|
||||||
|
<el-table
|
||||||
|
:data="tableDataList"
|
||||||
|
:header-cell-style="handleSubGetTableStyle"
|
||||||
|
>
|
||||||
|
<el-table-column label="姓名"></el-table-column>
|
||||||
|
<el-table-column label="功能模块"></el-table-column>
|
||||||
|
<el-table-column label="管理范围"></el-table-column>
|
||||||
|
<el-table-column label="是否可见考核结果"></el-table-column>
|
||||||
|
<el-table-column label="菜单权限"></el-table-column>
|
||||||
|
<el-table-column label="管理考评组"></el-table-column>
|
||||||
|
<el-table-column label="操作"></el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<div class="authority-ceo line-space">
|
||||||
|
<div class="comonTitle line-space">企业负责人</div>
|
||||||
|
<div class="comonPrompt">企业负责人可以看到全公司的绩效数据,可由钉钉主管理员在通讯录设置</div>
|
||||||
|
</div>
|
||||||
|
<div class="authority-department line-space">
|
||||||
|
<div class="comonTitle line-space">部门主管</div>
|
||||||
|
<div class="comonPrompt">部门主管可看到管理部门的绩效数据,可由钉钉管理员在钉钉通讯录设置</div>
|
||||||
|
</div>
|
||||||
|
<div class="authority-employee line-space">
|
||||||
|
<div class="comonTitle line-space">员工</div>
|
||||||
|
<div class="comonPrompt">员工仅可见自己的绩效数据</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<dialog-depart
|
||||||
|
v-if="showDialogDepart"
|
||||||
|
:value.sync='depIds'
|
||||||
|
:isShow.sync='showDialogDepart'
|
||||||
|
:showDataList.sync='showData'
|
||||||
|
/>
|
||||||
|
<popup-right
|
||||||
|
v-if="showPopupAddSub"
|
||||||
|
@cancel="hundlePopupAddSubHide"
|
||||||
|
@submit="handlePopupAddSubSubmit"
|
||||||
|
title="智能绩效子管理员设置"
|
||||||
|
class="popup"
|
||||||
|
></popup-right>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import dialogDepart from '@/components/getDepart'
|
||||||
|
import popupRight from '@/components/PopupRight'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
dialogDepart,
|
||||||
|
popupRight
|
||||||
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
url: '',
|
||||||
|
showDialogDepart: false,
|
||||||
|
tableDataList: [],
|
||||||
|
showData: {},
|
||||||
|
depIds: '22',
|
||||||
|
showPopupAddSub: false // 显示添加子管理员
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleSubGetTableStyle () {
|
||||||
|
return { 'background-color': '#f5f4f5', 'text-align': 'center' }
|
||||||
|
},
|
||||||
|
handleChangeDirector () {
|
||||||
|
// 更换主管
|
||||||
|
this.showDialogDepart = true
|
||||||
|
},
|
||||||
|
handleSubAdd () {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.authority {
|
||||||
|
background-color: white;
|
||||||
|
padding-top: 40px;
|
||||||
|
.line-space {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
.el-image {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
&-main {
|
||||||
|
&-header {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
&-info {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
height: 72px;
|
||||||
|
width: 100%;
|
||||||
|
line-height: 72px;
|
||||||
|
&-name {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&-sub {
|
||||||
|
&-header {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -13,14 +13,14 @@
|
|||||||
</el-menu>
|
</el-menu>
|
||||||
<ground-table v-if="activeIndex==='0'"></ground-table>
|
<ground-table v-if="activeIndex==='0'"></ground-table>
|
||||||
<div v-else-if="activeIndex==='1'">
|
<div v-else-if="activeIndex==='1'">
|
||||||
<span>默认值设置</span>
|
<try-authority></try-authority>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import groundTable from '../workbench/assessmentGroup/groundTable'
|
import groundTable from '../workbench/assessmentGroup/groundTable'
|
||||||
|
import tryAuthority from './authority'
|
||||||
export default {
|
export default {
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
@ -28,7 +28,8 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
groundTable
|
groundTable,
|
||||||
|
tryAuthority
|
||||||
},
|
},
|
||||||
beforeMount () { },
|
beforeMount () { },
|
||||||
mounted () { },
|
mounted () { },
|
||||||
@ -48,6 +49,6 @@ export default {
|
|||||||
<style lang='less' scoped>
|
<style lang='less' scoped>
|
||||||
.set-mian {
|
.set-mian {
|
||||||
padding-top: 0px;
|
padding-top: 0px;
|
||||||
min-height: 600px;
|
// min-height: 600px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user