This commit is contained in:
熊成强 2020-10-29 18:18:41 +08:00
parent 54c87a671e
commit 4564d987b5
7 changed files with 247 additions and 80 deletions

View File

@ -62,6 +62,10 @@
import bbb from './a'
export default {
props: {
len: {
type: Number,
default: 99999
},
showDataList: {
type: Object,
default: () => {
@ -163,10 +167,18 @@ export default {
},
//
centerDialogVisible () {
if (this.len < this.tags.length) {
this.$message.info('最多只能选择' + this.len + '个部门')
return
}
const params = this.$departGetForm(this.tags)
this.$emit('update:value', params.value)
this.$emit('update:showDataList', params)
this.$emit('update:isShow', false)
if (this.$listeners.cb) {
this.$emit('cb', params)
} else {
this.$emit('update:value', params.value)
this.$emit('update:showDataList', params)
this.$emit('update:isShow', false)
}
},
handleGetNextChildren (list = this.data) {
console.log('list: ', list)

View File

@ -9,8 +9,7 @@
departmentName:obj.departmentName
}"/>
<div>
<el-button size='small' @click="handleSaveDetail()" plain>暂存</el-button>
<el-button size='small' type="primary" >提交</el-button>
</div>
</div>
<div class="goals-content-tabbar">
@ -98,6 +97,12 @@
</el-form>
</div>
</popup-right>
<div class="goals-bottom">
<div class="goals-bottom-content">
<el-button size='small' @click="handleSaveDetail()" plain>暂存</el-button>
<el-button size='small' type="primary" >提交</el-button>
</div>
</div>
</div>
</template>
@ -245,9 +250,29 @@ export default {
<style lang='less' scoped>
.goals{
margin-bottom: 100px;
position: relative;
.my-handle{
cursor: move ;
}
&-bottom{
position: fixed;
height: 60px;
border-top: 1px solid @borderColor;
padding: 0 80px;
width: 100%;
background: #fff;
bottom: 0;
left: 0;
&-content{
width: 1360px;
margin: 0 auto;
height: 100%;
display: flex;
align-items: center;
justify-content: flex-end;
}
}
&-content{
padding: 28px;
&-name{

View File

@ -148,16 +148,27 @@ export default {
},
methods: {
async handleDelete (item) {
try {
await apiDeleteAssessList({assessId: item})
this.handleGetData()
this.$confirm('此操作不可撤回, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
try {
await apiDeleteAssessList({assessId: item})
this.handleGetData()
this.$message({
message: '成功',
type: 'success'
})
} catch (error) {
this.$message.error(error.msg)
}
}).catch(() => {
this.$message({
message: '成功',
type: 'success'
type: 'info',
message: '已取消删除'
})
} catch (error) {
this.$message.error(error.msg)
}
})
},
handleChange (value) {
this.params.currPage = 1

View File

@ -1,20 +1,37 @@
<!-- -->
<template>
<div>
<el-button
size="mini"
@click="handleZhiding"
type="primary"
>制定目标</el-button>
<getPersonnel :len='1' @cb='cb' v-if="isShowPersonnel" :value.sync='staffIds' :isShow.sync='isShowPersonnel' :showDataList.sync='personnelList'/>
<el-button size="mini" @click="handleJieguo" type="primary">结果值录入</el-button>
<el-button size="mini" @click="handlePingfen" type="primary">开始评分</el-button>
<el-button size="mini" @click="handleZhiding" type="primary">制定目标</el-button>
<el-button size="mini" @click="handleTongyi" type="primary"> </el-button>
<el-button size="mini" @click="handleBohui" type="primary"> </el-button>
<el-button size="mini" @click="handleZhuanjiao" type="primary"> </el-button>
<getPersonnel @cb='cb' v-if="isShowPersonnel" :value.sync='staffIds' :isShow.sync='isShowPersonnel' :showDataList.sync='personnelList'/>
<popup-right
v-if="bohui"
@cancel='handleCancel'
@submit="handleSubmit"
:footer='true'
title="驳回评分"
>
<div
slot="content"
class="chooseManage"
>
999
</div>
</popup-right>
</div>
</template>
<script>
import getPersonnel from '@/components/getPersonnel'
import PopupRight from '@/components/PopupRight'
export default {
data () {
return {
bohui: false,
isShowPersonnel: false,
staffIds: '',
personnelList: {
@ -23,19 +40,44 @@ export default {
}
},
components: {
getPersonnel
getPersonnel,
PopupRight
},
computed: {},
beforeMount () {},
mounted () {},
methods: {
//
handleJieguo () {
},
//
handlePingfen () {
},
//
handleTongyi () {
},
//
handleBohui () {
this.bohui = true
},
handleSubmit () {
this.bohui = false
},
handleCancel () {
this.bohui = false
},
cb (info) {
console.log(info)
},
//
handleZhuanjiao () {
this.isShowPersonnel = true
},
//
handleZhiding () {
this.isShowPersonnel = true
return
this.$router.push({
name: 'assessment-goals',
query: {

View File

@ -1,5 +1,6 @@
<template>
<table
<div class='table'>
<table
cellspacing="0"
border="1">
<!-- 顶部title -->
@ -7,7 +8,10 @@
<th>维度</th>
<th>名称</th>
<th>考核标准</th>
<th>结果值</th>
<th>权重({{obj.weight*100}}%)</th>
<th>上级评分</th>
<th>评分说明</th>
</tr>
<!-- 暂无数据时显示 -->
<tr v-if="obj.recortModelDtos.length === 0">
@ -20,30 +24,46 @@
<!-- 左侧跨行区域 -->
<tr :key="index+1000">
<td :rowspan="item.detailDtos.length+1">{{item.name}}</td>
<td v-if="item.detailDtos.length===0">
</td>
<td v-if="item.detailDtos.length===0">
</td>
<td v-if="item.detailDtos.length===0">
</td>
<td v-if="item.detailDtos.length===0"></td>
<td v-if="item.detailDtos.length===0"></td>
<td v-if="item.detailDtos.length===0"></td>
<td v-if="item.detailDtos.length===0"></td>
<td v-if="item.detailDtos.length===0"></td>
<td v-if="item.detailDtos.length===0"></td>
</tr>
<!-- 右侧数据 -->
<tr v-for="(child,index1) in item.detailDtos" :key="index1">
<td>
{{child.target}}
</td>
<td>
<td>
{{child.keyResult}}
</td>
<td>
<span>{{child.checkResult || '--'}}</span>
<el-input type="textarea" placeholder="请输入内容" v-model="child.checkResulted" clearable></el-input>
</td>
<td>
{{child.checkWeight*100}}%
</td>
<td>
<span>{{child.superScore || '--'}}</span>
<el-input type="textarea" placeholder="请输入内容" v-model="child.superScoreed" clearable></el-input>
</td>
<td style="padding:10px;">
<span>{{child.scoreComment || '--'}}</span>
<el-input type="textarea" placeholder="请输入内容" v-model="child.scoreCommented" clearable></el-input>
</td>
</tr>
</template>
</table>
</table>
<div class="table-bottom">
<div class="table-bottom-content">
<el-button size='small' @click="handleSaveDetail()" plain>暂存</el-button>
<el-button size='small' type="primary" >提交</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
@ -56,16 +76,54 @@ export default {
recortModelDtos: []
}
}
},
tableInfo: {
type: Object,
default: () => {
return {
result: false,
score: false
}
}
}
},
data () {
return {
input: ''
}
},
mounted () {
console.log('list', this.obj)
},
methods: {
handleSaveDetail () {
}
}
}
</script>
<style scoped>
<style lang='less' scoped>
.table{
position: relative;
}
.table-bottom {
position: fixed;
height: 60px;
padding: 0 80px;
width: 100%;
background: #fff;
border-top: 1px solid @borderColor;
bottom: 0;
left: 0;
&-content{
width: 1360px;
margin: 0 auto;
height: 100%;
display: flex;
align-items: center;
justify-content: flex-end;
}
}
table{
margin-top: 15px;
width: 100%;

View File

@ -3,22 +3,6 @@
<div class="performance">
<SmallNav />
<div class="performance-content boderAndRadius">
<!-- <div class="performance-content-top">
<div class="performance-content-top-left">
<el-select size="small" v-model="form.value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="performance-content-top-right">
<el-button size="small" @click="handleChangeTtitle" plain>沟通管理</el-button>
<el-button size="small" plain>管理</el-button>
</div>
</div> -->
<div class="performance-content-title">
<InfoHeader :obj="{
name:obj.currentApprovalStaffName,
@ -84,7 +68,8 @@
</div>
<div class="performance-content-bottom">
<tables
v-if="obj.length !==0"
:tableInfo='tableInfo'
v-if="obj.recortModelDtos.length !==0"
:obj='obj'
/>
</div>
@ -141,11 +126,14 @@
</div>
<div>
<el-button size="mini" @click="handleJump(i)" type="primary" plain>跳过</el-button>
<el-button size="mini" type="primary" plain>转交</el-button>
<el-button size="mini" @click="handleZhuanjiao(i)" type="primary" plain>转交</el-button>
</div>
</div>
</div>
</popup-right>
<getPersonnel title='选择转交给' :len='1' @cb='cb' v-if="choosePerson"
:value.sync='Personnel.value'
:isShow.sync='choosePerson' :showDataList.sync='Personnel'/>
</div>
</template>
@ -154,13 +142,17 @@ import SmallNav from '@/components/kpi-layout/SmallNav'
import InfoHeader from '@/components/InfoHeader'
import PopupRight from '@/components/PopupRight'
import UseButton from './components/UseButton'
import getPersonnel from '@/components/getPersonnel'
import { apiResultRecordDetail, apiResultGetDetail } from '@/api/assessment'
import tables from './components/table'
export default {
data () {
return {
Personnel: {
list: []
},
choosePerson: false,
right: {
showRight: false
},
@ -172,22 +164,10 @@ export default {
obj: {
recortModelDtos: []
},
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}]
tableInfo: {
result: false,
score: false
}
}
},
components: {
@ -195,7 +175,8 @@ export default {
InfoHeader,
PopupRight,
tables,
UseButton
UseButton,
getPersonnel
},
computed: {},
beforeMount () { },
@ -204,6 +185,13 @@ export default {
this.handleGetTbale()
},
methods: {
cb (info) {
console.log('info: ', info)
},
//
handleZhuanjiao (item) {
this.choosePerson = true
},
//
handleJump (item) {
console.log('item: ', item)

View File

@ -13,7 +13,7 @@
</el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item @click.native="handleToEidt" >新增考评组</el-dropdown-item>
<el-dropdown-item @click.native="handleToEidt" > 复制考评组</el-dropdown-item>
<el-dropdown-item @click.native="handleToEidtCopy" > 复制考评组</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</el-form-item>
@ -64,14 +64,21 @@
:total="params.totalCount">
</el-pagination>
</div>
<popup-right v-if="showRight" @cancel='handleCancel' @submit="handleSubmit" title="选择复制考评组">
<div slot="content" class="chooseManage">
99
</div>
</popup-right>
</div>
</template>
<script>
import {getWorkList, groundDelete} from '@/api/workbench'
import PopupRight from '@/components/PopupRight'
export default {
data () {
return {
showRight: false,
params: {
'currPage': 1,
'pageSize': 10
@ -80,15 +87,28 @@ export default {
tableData: []
}
},
components: {
PopupRight
},
computed: {},
beforeMount () {},
mounted () {
this.handleGetData()
},
methods: {
handleSubmit () {
this.showRight = false
},
handleCancel () {
this.showRight = false
},
handlePush (id) {
this.$router.push({name: 'workbench-edit-group', query: {id}})
},
handleToEidtCopy (id) {
this.showRight = true
// this.$router.push({name: 'workbench-edit-group', query: {id: id, copy: 1}})
},
handleChange (value) {
this.params = {
'currPage': 1,
@ -122,16 +142,27 @@ export default {
console.log('row: ', row)
},
async handleDelete (item) {
try {
await groundDelete({id: item})
this.handleGetData()
this.$confirm('此操作不可撤回, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
try {
await groundDelete({id: item})
this.handleGetData()
this.$message({
message: '成功',
type: 'success'
})
} catch (error) {
this.$message.error(error.msg)
}
}).catch(() => {
this.$message({
message: '成功',
type: 'success'
type: 'info',
message: '已取消删除'
})
} catch (error) {
this.$message.error(error.msg)
}
})
}
},
watch: {}