优化
This commit is contained in:
parent
ed728518e1
commit
bb87ee9ef0
@ -2,24 +2,34 @@
|
|||||||
<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 class="ProcessList-top-item"
|
||||||
|
v-for="(i,index) in handleGetList(list)"
|
||||||
|
:key="i.id">
|
||||||
<div class="itemH">
|
<div class="itemH">
|
||||||
<div v-if="i.id !==9999" @click="handleClick(i)" class="ProcessList-top-item-contant commonFont" :class="{active:i.isCick}">
|
<div v-if="i.id !==9999"
|
||||||
|
@click="handleClick(i)"
|
||||||
|
class="ProcessList-top-item-contant commonFont"
|
||||||
|
:class="{active:i.isCick}">
|
||||||
<span>{{i.name}}</span>
|
<span>{{i.name}}</span>
|
||||||
<span>{{i.label}}</span>
|
<span>{{i.label}}</span>
|
||||||
<i @click.stop="handleDelete(i)" class="el-icon-close close"></i>
|
<i @click.stop="handleDelete(i)"
|
||||||
|
class="el-icon-close close"></i>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="index+1!==list.length && list.length!==0" class="process-title-item-img">
|
<div v-if="index+1!==list.length && list.length!==0"
|
||||||
<img src="./imgs/right.png" alt="">
|
class="process-title-item-img">
|
||||||
|
<img src="./imgs/right.png"
|
||||||
|
alt="">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class='addP'>
|
<div class='addP'>
|
||||||
<i @click="handleAdd" class="el-icon-circle-plus-outline add"></i>
|
<i @click="handleAdd"
|
||||||
|
class="el-icon-circle-plus-outline add"></i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- v-if="JSON.stringify(itemInfo) !== '{}'" -->
|
<!-- v-if="JSON.stringify(itemInfo) !== '{}'" -->
|
||||||
<div v-if="JSON.stringify(itemInfo) !== '{}'" class="ProcessList-center">
|
<div v-if="JSON.stringify(itemInfo) !== '{}'"
|
||||||
|
class="ProcessList-center">
|
||||||
<div class="ProcessList-center-zhixingren commonFont">
|
<div class="ProcessList-center-zhixingren commonFont">
|
||||||
<span>执行人:</span>
|
<span>执行人:</span>
|
||||||
<el-radio-group v-model="itemInfo.isActive">
|
<el-radio-group v-model="itemInfo.isActive">
|
||||||
@ -27,23 +37,33 @@
|
|||||||
<el-radio :label="0">指定成员</el-radio>
|
<el-radio :label="0">指定成员</el-radio>
|
||||||
<el-radio :label="-1">被考核人自己</el-radio>
|
<el-radio :label="-1">被考核人自己</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<div v-if="itemInfo.isActive!==0 && itemInfo.isActive!==-1" style="padding:30px 0 0 20px;">
|
<div v-if="itemInfo.isActive!==0 && itemInfo.isActive!==-1"
|
||||||
|
style="padding:30px 0 0 20px;">
|
||||||
<span>被考评人的</span>
|
<span>被考评人的</span>
|
||||||
<el-select size="mini" style="width:100px;" v-model="itemInfo.optType" placeholder="请选择">
|
<el-select size="mini"
|
||||||
<el-option
|
style="width:100px;"
|
||||||
v-for="item in options"
|
v-model="itemInfo.optType"
|
||||||
|
placeholder="请选择">
|
||||||
|
<el-option v-for="item in options"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.name"
|
:label="item.name"
|
||||||
:value="item.id">
|
:value="item.id">
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="itemInfo.isActive===0" style="padding:30px 0 0 20px;">
|
<div v-if="itemInfo.isActive===0"
|
||||||
<el-button size="mini" @click="itemInfo.isShow=true" plain>选择成员</el-button>
|
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>
|
<span style="font-size:14px;padding:0 0 0 10px;">{{itemInfo.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
<getpersonl v-if="itemInfo.isShow" :value.sync='itemInfo.optIds' :isShow.sync='itemInfo.isShow' :showDataList.sync='itemInfo.list'/>
|
<getpersonl v-if="itemInfo.isShow"
|
||||||
<div v-if="itemInfo.isActive!==-1" style="padding:20px 0 0 0 ">
|
:value.sync='itemInfo.optIds'
|
||||||
|
:isShow.sync='itemInfo.isShow'
|
||||||
|
:showDataList.sync='itemInfo.list' />
|
||||||
|
<div v-if="itemInfo.isActive!==-1"
|
||||||
|
style="padding:20px 0 0 0 ">
|
||||||
<span>当执行人为多人时的处理方式:</span>
|
<span>当执行人为多人时的处理方式:</span>
|
||||||
<div style="padding:10px 0 0 20px">
|
<div style="padding:10px 0 0 20px">
|
||||||
<el-radio-group v-model="itemInfo.stepType">
|
<el-radio-group v-model="itemInfo.stepType">
|
||||||
@ -53,8 +73,12 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="padding:20px 0 0 0 " v-for="i in itemInfo.roleDtos" :key="i.id">
|
<div style="padding:20px 0 0 0 "
|
||||||
<el-checkbox v-if="i.type !== 1" @change="handleChang(i)" v-model="i.checked">{{i.roleName}}</el-checkbox>
|
v-for="i in itemInfo.roleDtos"
|
||||||
|
:key="i.id">
|
||||||
|
<el-checkbox v-if="i.type !== 1"
|
||||||
|
@change="handleChang(i)"
|
||||||
|
v-model="i.checked">{{i.roleName}}</el-checkbox>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -303,7 +327,7 @@ export default {
|
|||||||
.ProcessList {
|
.ProcessList {
|
||||||
.addP {
|
.addP {
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
.center()
|
.center();
|
||||||
}
|
}
|
||||||
&-top {
|
&-top {
|
||||||
padding: 20px 0 0 0;
|
padding: 20px 0 0 0;
|
||||||
@ -366,9 +390,7 @@ export default {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
&-center {
|
&-center {
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
|
|||||||
@ -1,16 +1,32 @@
|
|||||||
<!-- 录入 -->
|
<!-- 录入 -->
|
||||||
<template>
|
<template>
|
||||||
<div class="entry">
|
<div class="entry">
|
||||||
<div class="commonFont" style="padding:20px 0;">
|
<div class="commonFont"
|
||||||
|
style="padding:20px 0;">
|
||||||
<span>启用:</span>
|
<span>启用:</span>
|
||||||
<el-switch
|
<el-switch v-model="form.chartDetails.status"
|
||||||
v-model="form.chartDetails.status" :disabled='info.status===0' active-color="#3ba1ff" :active-value='1' :inactive-value='0' inactive-color="#dcdfe6">
|
:disabled='info.status===0'
|
||||||
|
active-color="#3ba1ff"
|
||||||
|
:active-value='1'
|
||||||
|
:inactive-value='0'
|
||||||
|
inactive-color="#dcdfe6">
|
||||||
</el-switch>
|
</el-switch>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="form.chartDetails.status" class="commonFont" style="padding:20px 0;">由谁录入</div>
|
<div v-if="form.chartDetails.status"
|
||||||
<div v-if="form.chartDetails.status" class="commonFont" style="padding:20px 0;">
|
class="commonFont"
|
||||||
|
style="padding:20px 0;">由谁录入</div>
|
||||||
|
<div v-if="form.chartDetails.status"
|
||||||
|
class="commonFont"
|
||||||
|
style="padding:20px 0;">
|
||||||
<span>执行人:</span>
|
<span>执行人:</span>
|
||||||
<el-radio v-model="form.chartDetails.recordSimpleDtos[0].optType" :label="-1">被考核人</el-radio>
|
<el-radio v-model="form.chartDetails.recordSimpleDtos[0].optType"
|
||||||
|
:label="-1">被考核人</el-radio>
|
||||||
|
<div style="padding:20px 0 0 0 "
|
||||||
|
v-for="i in listinfo"
|
||||||
|
:key="i.id">
|
||||||
|
<el-checkbox v-if="i.type !== 1"
|
||||||
|
v-model="i.checked">{{i.roleName}}</el-checkbox>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -20,6 +36,7 @@ export default {
|
|||||||
props: ['info'],
|
props: ['info'],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
listinfo: [],
|
||||||
form: {
|
form: {
|
||||||
chartDetails: {
|
chartDetails: {
|
||||||
status: '',
|
status: '',
|
||||||
@ -42,13 +59,26 @@ export default {
|
|||||||
optType: -1
|
optType: -1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
this.listinfo = this.form.roleDtos.map(j => {
|
||||||
|
j.checked = this.form.chartDetails.recordSimpleDtos[0].roleIds ? this.form.chartDetails.recordSimpleDtos[0].roleIds.includes(String(j.roleId)) : false
|
||||||
|
return j
|
||||||
|
})
|
||||||
|
console.log(this.form.roleDtos)
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleIsEmit (n) {
|
||||||
|
const roleIds = this._.compact(this.listinfo.map(j => {
|
||||||
|
if (j.type !== 1 && j.checked) return j.roleId
|
||||||
|
})).join(',')
|
||||||
|
n.chartDetails.recordSimpleDtos[0].roleIds = roleIds
|
||||||
|
this.$emit('update:info', Object.assign({}, n, { label: n.chartDetails.status ? '' : '已禁用' }))
|
||||||
|
}
|
||||||
},
|
},
|
||||||
methods: {},
|
|
||||||
watch: {
|
watch: {
|
||||||
form: {
|
form: {
|
||||||
deep: true,
|
deep: true,
|
||||||
handler (n, o) {
|
handler (n, o) {
|
||||||
this.$emit('update:info', Object.assign({}, this.info, this.form, {label: n.chartDetails.status ? '' : '已禁用'}))
|
this.handleIsEmit(JSON.parse(JSON.stringify(n)))
|
||||||
this.$forceUpdate()
|
this.$forceUpdate()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -60,6 +90,5 @@ export default {
|
|||||||
|
|
||||||
<style lang='less' scoped>
|
<style lang='less' scoped>
|
||||||
.entry {
|
.entry {
|
||||||
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user