no message

This commit is contained in:
zhujida 2021-01-15 09:45:32 +08:00
parent 3d957cadf2
commit b99c67a63b

View File

@ -1,80 +1,149 @@
<!-- 目标确认组件 -->
<template>
<div class="ProcessList">
<div class="ProcessList-top">
<div class="ProcessList-top-item" v-for="(i,index) in handleGetList(list)" :key="i.id">
<div class="itemH">
<div v-if="i.id !==9999" @click="handleClick(i)" class="ProcessList-top-item-contant commonFont" :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 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 class="ProcessList">
<div class="ProcessList-top">
<div
class="ProcessList-top-item"
v-for="(i,index) in handleGetList(list)"
:key="i.id"
>
<div class="itemH">
<div
v-if="i.id !==9999"
@click="handleClick(i)"
class="ProcessList-top-item-contant commonFont"
: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 class='addP'>
<i @click="handleAdd" class="el-icon-circle-plus-outline add"></i>
<div
v-if="index+1!==handleGetList(list).length && handleGetList(list).length!==0"
class="process-title-item-img"
>
<img
src="./imgs/right.png"
alt=""
>
</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>
<div class='addP'>
<i
@click="handleAdd"
class="el-icon-circle-plus-outline add"
></i>
</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>
<script>
@ -135,7 +204,7 @@ export default {
}
},
computed: {},
beforeMount () {},
beforeMount () { },
mounted () {
this.list = [].concat(this.handleListFor(this.info))
this.$forceUpdate()
@ -200,7 +269,7 @@ export default {
// itemInfo.list.list.length===0?(itemInfo.list.title + '' + itemInfo.list.list.length + '' ):""
},
handleGroupItemChang (group, item) {
if (group.checkMenu.length == 0) {
if (group.checkMenu.length === 0) {
group.checked = false
}
},
@ -380,32 +449,32 @@ export default {
</script>
<style lang='less' scoped>
.ProcessList{
.addP{
.ProcessList {
.addP {
padding-bottom: 20px;
.center()
.center();
}
&-top{
&-top {
padding: 20px 0 0 0;
border-bottom: 1px solid @borderColor;
display: flex;
width: 100%;
flex-wrap: wrap;
.itemH{
.itemH {
display: flex;
align-items: center;
}
.add{
font-size: 30px;
color: #c5c5c5;
margin:0 4px ;
}
&-item{
.add {
font-size: 30px;
color: #c5c5c5;
margin: 0 4px;
}
&-item {
display: flex;
align-items: center;
padding-bottom: 20px;
&-contant{
&-contant {
position: relative;
width: 136px;
height: 56px;
@ -416,10 +485,10 @@ export default {
justify-content: center;
font-size: 14px;
border-radius: 4px;
span:nth-child(1){
span:nth-child(1) {
margin-bottom: 4px;
}
.close{
.close {
position: absolute;
right: 5px;
top: 4px;
@ -427,30 +496,28 @@ export default {
cursor: pointer;
}
}
&-contant:hover{
background: rgb(236, 246, 253);
.close{
&-contant:hover {
background: rgb(236, 246, 253);
.close {
display: block;
}
}
.active{
.active {
background: @fontBlue;
color: #fff;
}
&-img{
&-img {
width: 37px;
height: 19px;
margin: 0 10px;
img{
img {
width: 100%;
height: 100%;
}
}
}
}
&-center{
&-center {
padding: 10px 0;
}
.popup-menu-mange-group {