This commit is contained in:
熊成强 2020-10-30 17:57:59 +08:00
commit 61953f090a
2 changed files with 45 additions and 41 deletions

View File

@ -152,7 +152,8 @@ export default [
name: 'reportDetial',
component: (resolve) => require(['@/views/kpi/report/detail.vue'], resolve),
meta: {
title: '绩效详情'
title: '绩效详情',
isNav: true
}
}
]

View File

@ -7,11 +7,9 @@
<div>等级分布详情</div>
</div>
<div class="detail_content">
<el-cascader
:options="depList"
@change="handleChange"
style="margin-bottom:20px"
v-model="defaultOpt"></el-cascader>
<el-button
@click="handleChange"
style="margin-bottom:20px">{{selectDepName}}<i class="el-icon-arrow-down"></i></el-button>
<el-table :data="tableData"
border
:header-cell-style="{ background:'#F5F7FA'}"
@ -23,29 +21,46 @@
<el-table-column prop="scoreLevel" label="实际分布"></el-table-column>
</el-table>
</div>
<dialog-depart
v-if="showDialogDepart"
:isShow.sync='showDialogDepart'
:showDataList.sync='showData'
:len.sync="len"
:isSignle.sync="isSignle"
/>
</div>
</template>
<script>
import {getChartDetail, getDepList} from '@/api/report'
import dialogDepart from '@/components/getDepart'
export default {
components: {
dialogDepart
},
data () {
return {
//
tableData: [],
//
depList: [{
value: '',
label: '全部'
}],
//
selectDepName: '全部',
// id
selectDepId: '',
showDialogDepart: false,
//
defaultOpt: ['']
showData: {},
//
len: 1,
//
isSignle: true
}
},
computed: {},
computed: {
},
beforeMount () {},
mounted () {
this.handleDepListReq()
this.handleDetailReq()
},
methods: {
@ -55,7 +70,7 @@ export default {
},
//
handleChange (val) {
this.handleDetailReq(val[1])
this.showDialogDepart = true
},
//
async handleDetailReq (depId) {
@ -64,38 +79,23 @@ export default {
departmentId: depId,
flowProcess: this.$route.query.flowProcess,
startId: this.$route.query.startId,
pageSize: 20
pageSize: 999
}
let result = await getChartDetail(params)
this.tableData = result.data.list
},
//
async handleDepListReq (handleNode) {
let params = {
type: 0
}
let result = await getDepList(params)
this.depList = this.depList.concat(this.handleDepResult(result.data))
console.log(this.depList)
},
//
handleDepResult (list) {
return Array.from(list).map(item => {
let resItem = {
value: item.departmentId,
label: item.departmentName
}
//
if (item.list && item.list.length > 0) {
let children = this.handleDepResult(item.list)
resItem['children'] = children
}
return resItem
})
}
},
watch: {
showDialogDepart (newV, oldV) {
console.log(this.showData)
if (!newV && oldV) {
console.log(this.showData.list[0])
this.selectDepName = this.showData.list[0].departmentName
console.log(this.selectDepName)
this.selectDepId = this.showData.list[0].departmentId
this.handleDetailReq(this.selectDepId)
}
}
}
}
@ -127,4 +127,7 @@ export default {
padding: 40px 20px;
border:solid 1px #b4b4b4;
}
.el-icon-arrow-down{
margin-left: 20px;
}
</style>