no message
This commit is contained in:
parent
3d957cadf2
commit
b99c67a63b
@ -1,80 +1,149 @@
|
|||||||
<!-- 目标确认组件 -->
|
<!-- 目标确认组件 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="ProcessList">
|
<div class="ProcessList">
|
||||||
<div class="ProcessList-top">
|
<div class="ProcessList-top">
|
||||||
<div class="ProcessList-top-item" v-for="(i,index) in handleGetList(list)" :key="i.id">
|
<div
|
||||||
<div class="itemH">
|
class="ProcessList-top-item"
|
||||||
<div v-if="i.id !==9999" @click="handleClick(i)" class="ProcessList-top-item-contant commonFont" :class="{active:i.isCick}">
|
v-for="(i,index) in handleGetList(list)"
|
||||||
<span>{{i.name}}</span>
|
:key="i.id"
|
||||||
<span style="font-size:12px;">{{i.label || "---"}}</span>
|
>
|
||||||
<i @click.stop="handleDelete(i)" class="el-icon-close close"></i>
|
<div class="itemH">
|
||||||
</div>
|
<div
|
||||||
<div v-if="index+1!==handleGetList(list).length && handleGetList(list).length!==0" class="process-title-item-img">
|
v-if="i.id !==9999"
|
||||||
<img src="./imgs/right.png" alt="">
|
@click="handleClick(i)"
|
||||||
</div>
|
class="ProcessList-top-item-contant commonFont"
|
||||||
</div>
|
:class="{active:i.isCick}"
|
||||||
|
>
|
||||||
|
<span>{{i.name}}</span>
|
||||||
|
<span style="font-size:12px;">{{i.label || "---"}}</span>
|
||||||
|
<i
|
||||||
|
@click.stop="handleDelete(i)"
|
||||||
|
class="el-icon-close close"
|
||||||
|
></i>
|
||||||
</div>
|
</div>
|
||||||
<div class='addP'>
|
<div
|
||||||
<i @click="handleAdd" class="el-icon-circle-plus-outline add"></i>
|
v-if="index+1!==handleGetList(list).length && handleGetList(list).length!==0"
|
||||||
|
class="process-title-item-img"
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src="./imgs/right.png"
|
||||||
|
alt=""
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- v-if="JSON.stringify(itemInfo) !== '{}'" -->
|
</div>
|
||||||
<div v-if="JSON.stringify(itemInfo) !== '{}'" class="ProcessList-center">
|
<div class='addP'>
|
||||||
<div class="ProcessList-center-zhixingren commonFont">
|
<i
|
||||||
<span>执行人:</span>
|
@click="handleAdd"
|
||||||
<el-radio-group v-model="itemInfo.isActive">
|
class="el-icon-circle-plus-outline add"
|
||||||
<el-radio :label="1">主管(指定一级)</el-radio>
|
></i>
|
||||||
<el-radio :label="0">指定成员</el-radio>
|
</div>
|
||||||
</el-radio-group>
|
|
||||||
<div v-if="itemInfo.isActive!==0 && itemInfo.isActive!==-1" style="padding:30px 0 0 20px;">
|
|
||||||
<span>被考评人的</span>
|
|
||||||
<el-select size="mini" style="width:100px;" v-model="itemInfo.optType" placeholder="请选择">
|
|
||||||
<el-option
|
|
||||||
v-for="item in options"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id">
|
|
||||||
</el-option>
|
|
||||||
</el-select>
|
|
||||||
</div>
|
|
||||||
<div v-if="itemInfo.isActive===0" style="padding:30px 0 0 20px;">
|
|
||||||
<el-button size="mini" @click="itemInfo.isShow=true" plain>选择成员</el-button>
|
|
||||||
<span style="font-size:14px;padding:0 0 0 10px;">{{itemInfo.name}}</span>
|
|
||||||
</div>
|
|
||||||
<getpersonl v-if="itemInfo.isShow" :value.sync='itemInfo.optIds' :isShow.sync='itemInfo.isShow' :showDataList.sync='itemInfo.list'/>
|
|
||||||
<div style="padding:20px 0 0 0 ">
|
|
||||||
<span>评分权重:</span>
|
|
||||||
<div style="padding:10px 0 0 20px">
|
|
||||||
<el-input @blur="$handleBlur('itemInfo.weight1')" @input.native="$handleInputInt('itemInfo.weight1')" style="width:200px;" size="small" v-model="itemInfo.weight1">
|
|
||||||
<template slot="append">%</template>
|
|
||||||
</el-input>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="padding:20px 0 0 0 ">
|
|
||||||
<span>当执行人为多人时的处理方式:</span>
|
|
||||||
<div style="padding:10px 0 0 20px">
|
|
||||||
<el-radio-group v-model="itemInfo.stepType">
|
|
||||||
<el-radio :label="0">依次评分(计算时求平均)</el-radio>
|
|
||||||
<!-- <el-radio :label="1">各自评分(计算时求和)</el-radio> -->
|
|
||||||
</el-radio-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div style="padding:20px 0 0 0 " v-for="i in itemInfo.roleDtos" :key="i.id">
|
|
||||||
<el-checkbox v-if="i.roleGroupId === 0" @change="handleChang(i)" v-model="i.checked">{{i.roleName}}</el-checkbox>
|
|
||||||
<div v-else>
|
|
||||||
<el-checkbox @change="handleChang(i)" v-model="i.checked">{{i.roleName}}</el-checkbox>
|
|
||||||
<el-checkbox-group
|
|
||||||
class="popup-menu-mange-group"
|
|
||||||
v-model="i.checkMenu"
|
|
||||||
v-if="i.checked">
|
|
||||||
<el-checkbox v-for="b in i.roleDtos" :key="b.id" :label="b.roleId" @change="handleGroupItemChang(i, b)" v-model="b.checked">{{b.roleName}}</el-checkbox>
|
|
||||||
</el-checkbox-group>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
<!-- v-if="JSON.stringify(itemInfo) !== '{}'" -->
|
||||||
|
<div
|
||||||
|
v-if="JSON.stringify(itemInfo) !== '{}'"
|
||||||
|
class="ProcessList-center"
|
||||||
|
>
|
||||||
|
<div class="ProcessList-center-zhixingren commonFont">
|
||||||
|
<span>执行人:</span>
|
||||||
|
<el-radio-group v-model="itemInfo.isActive">
|
||||||
|
<el-radio :label="1">主管(指定一级)</el-radio>
|
||||||
|
<el-radio :label="0">指定成员</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
<div
|
||||||
|
v-if="itemInfo.isActive!==0 && itemInfo.isActive!==-1"
|
||||||
|
style="padding:30px 0 0 20px;"
|
||||||
|
>
|
||||||
|
<span>被考评人的</span>
|
||||||
|
<el-select
|
||||||
|
size="mini"
|
||||||
|
style="width:100px;"
|
||||||
|
v-model="itemInfo.optType"
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in options"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-if="itemInfo.isActive===0"
|
||||||
|
style="padding:30px 0 0 20px;"
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
size="mini"
|
||||||
|
@click="itemInfo.isShow=true"
|
||||||
|
plain
|
||||||
|
>选择成员</el-button>
|
||||||
|
<span style="font-size:14px;padding:0 0 0 10px;">{{itemInfo.name}}</span>
|
||||||
|
</div>
|
||||||
|
<getpersonl
|
||||||
|
v-if="itemInfo.isShow"
|
||||||
|
:value.sync='itemInfo.optIds'
|
||||||
|
:isShow.sync='itemInfo.isShow'
|
||||||
|
:showDataList.sync='itemInfo.list'
|
||||||
|
/>
|
||||||
|
<div style="padding:20px 0 0 0 ">
|
||||||
|
<span>评分权重:</span>
|
||||||
|
<div style="padding:10px 0 0 20px">
|
||||||
|
<el-input
|
||||||
|
@blur="$handleBlur('itemInfo.weight1')"
|
||||||
|
@input.native="$handleInputInt('itemInfo.weight1')"
|
||||||
|
style="width:200px;"
|
||||||
|
size="small"
|
||||||
|
v-model="itemInfo.weight1"
|
||||||
|
>
|
||||||
|
<template slot="append">%</template>
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div style="padding:20px 0 0 0 ">
|
||||||
|
<span>当执行人为多人时的处理方式:</span>
|
||||||
|
<div style="padding:10px 0 0 20px">
|
||||||
|
<el-radio-group v-model="itemInfo.stepType">
|
||||||
|
<el-radio :label="0">依次评分(计算时求平均)</el-radio>
|
||||||
|
<!-- <el-radio :label="1">各自评分(计算时求和)</el-radio> -->
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="padding:20px 0 0 0 "
|
||||||
|
v-for="i in itemInfo.roleDtos"
|
||||||
|
:key="i.id"
|
||||||
|
>
|
||||||
|
<el-checkbox
|
||||||
|
v-if="i.roleGroupId === 0"
|
||||||
|
@change="handleChang(i)"
|
||||||
|
v-model="i.checked"
|
||||||
|
>{{i.roleName}}</el-checkbox>
|
||||||
|
<div v-else>
|
||||||
|
<el-checkbox
|
||||||
|
@change="handleChang(i)"
|
||||||
|
v-model="i.checked"
|
||||||
|
>{{i.roleName}}</el-checkbox>
|
||||||
|
<el-checkbox-group
|
||||||
|
class="popup-menu-mange-group"
|
||||||
|
v-model="i.checkMenu"
|
||||||
|
v-if="i.checked"
|
||||||
|
>
|
||||||
|
<el-checkbox
|
||||||
|
v-for="b in i.roleDtos"
|
||||||
|
:key="b.id"
|
||||||
|
:label="b.roleId"
|
||||||
|
@change="handleGroupItemChang(i, b)"
|
||||||
|
v-model="b.checked"
|
||||||
|
>{{b.roleName}}</el-checkbox>
|
||||||
|
</el-checkbox-group>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -135,7 +204,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {},
|
computed: {},
|
||||||
beforeMount () {},
|
beforeMount () { },
|
||||||
mounted () {
|
mounted () {
|
||||||
this.list = [].concat(this.handleListFor(this.info))
|
this.list = [].concat(this.handleListFor(this.info))
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
@ -200,7 +269,7 @@ export default {
|
|||||||
// itemInfo.list.list.length===0?(itemInfo.list.title + '等' + itemInfo.list.list.length + '人' ):"未指定成员"
|
// itemInfo.list.list.length===0?(itemInfo.list.title + '等' + itemInfo.list.list.length + '人' ):"未指定成员"
|
||||||
},
|
},
|
||||||
handleGroupItemChang (group, item) {
|
handleGroupItemChang (group, item) {
|
||||||
if (group.checkMenu.length == 0) {
|
if (group.checkMenu.length === 0) {
|
||||||
group.checked = false
|
group.checked = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -380,32 +449,32 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='less' scoped>
|
<style lang='less' scoped>
|
||||||
.ProcessList{
|
.ProcessList {
|
||||||
.addP{
|
.addP {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
.center()
|
.center();
|
||||||
}
|
}
|
||||||
&-top{
|
&-top {
|
||||||
padding: 20px 0 0 0;
|
padding: 20px 0 0 0;
|
||||||
border-bottom: 1px solid @borderColor;
|
border-bottom: 1px solid @borderColor;
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.itemH{
|
.itemH {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
.add{
|
.add {
|
||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
color: #c5c5c5;
|
color: #c5c5c5;
|
||||||
margin:0 4px ;
|
margin: 0 4px;
|
||||||
}
|
}
|
||||||
&-item{
|
&-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
|
|
||||||
&-contant{
|
&-contant {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 136px;
|
width: 136px;
|
||||||
height: 56px;
|
height: 56px;
|
||||||
@ -416,10 +485,10 @@ export default {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
span:nth-child(1){
|
span:nth-child(1) {
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
.close{
|
.close {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 5px;
|
right: 5px;
|
||||||
top: 4px;
|
top: 4px;
|
||||||
@ -427,30 +496,28 @@ export default {
|
|||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
&-contant:hover{
|
&-contant:hover {
|
||||||
background: rgb(236, 246, 253);
|
background: rgb(236, 246, 253);
|
||||||
.close{
|
.close {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.active{
|
.active {
|
||||||
background: @fontBlue;
|
background: @fontBlue;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
&-img{
|
&-img {
|
||||||
width: 37px;
|
width: 37px;
|
||||||
height: 19px;
|
height: 19px;
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
img{
|
img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
&-center{
|
&-center {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
}
|
}
|
||||||
.popup-menu-mange-group {
|
.popup-menu-mange-group {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user