优化
This commit is contained in:
parent
54c87a671e
commit
4564d987b5
@ -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)
|
||||
|
||||
@ -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{
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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: {
|
||||
|
||||
@ -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%;
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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: {}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user