<template>
|
<node :title="config.name" :show-error="showError" :content="content" :error-info="errorInfo"
|
@selected="$emit('selected')" @delNode="$emit('delNode')" @insertNode="type => $emit('insertNode', type)"
|
placeholder="请设置审批人" :header-bgc="headerBgc" header-icon="el-icon-s-check"/>
|
</template>
|
|
<script>
|
import Node from './Node'
|
|
export default {
|
name: "ApprovalNode",
|
props:{
|
config:{
|
type: Object,
|
default: () => {
|
return {}
|
}
|
}
|
},
|
components: {Node},
|
data() {
|
return {
|
showError: false,
|
errorInfo: '',
|
}
|
},
|
computed:{
|
headerBgc() {
|
if (this.$store.state.diagramMode === 'viewer') {
|
return this.config.props.headerBgc
|
} else {
|
return '#ff943e'
|
}
|
},
|
content(){
|
const config = this.config.props
|
console.log("content:config.assignedUser",config)
|
let texts = []
|
config.assignedUser.forEach(org => texts.push(org.name))
|
return String(texts).replaceAll(',', '、')||"aaa"
|
},
|
|
},
|
created() {
|
console.log("加载ApprovalNode.vue")
|
this.content
|
},
|
methods: {
|
getFormItemById(id){
|
return this.$store.state.design.formItems.find(item => item.id === id)
|
},
|
//校验数据配置的合法性
|
validate(err){
|
try {
|
this.showError = !this[`validate_${this.config.props.assignedType}`](err)
|
|
if (this.config.props.nobody.handler === 'TO_USER' && this.config.props.nobody.assignedUser.length === 0) {
|
this.errorInfo = '审批人为空时, 转交给指定人员:【请指定一个具体的人】'
|
err.push('审批人为空时, 转交给指定人员:【请指定一个具体的人】')
|
this.showError = true
|
}
|
|
return this.showError
|
} catch (e) {
|
return true;
|
}
|
},
|
validate_ASSIGN_USER(err){
|
if(this.config.props.assignedUser.length > 0){
|
return true;
|
}else {
|
this.errorInfo = '请指定审批人员'
|
err.push(`${this.config.name} 未指定审批人员`)
|
return false
|
}
|
},
|
validate_SELF_SELECT(err){
|
return true;
|
},
|
validate_LEADER_TOP(err){
|
return true;
|
},
|
validate_LEADER(err){
|
return true;
|
},
|
validate_ROLE(err){
|
if (this.config.props.assignedUser.length <= 0){
|
this.errorInfo = '请指定负责审批的系统角色'
|
err.push(`${this.config.name} 未指定审批角色`)
|
return false
|
}
|
return true;
|
},
|
validate_SELF(err){
|
return true;
|
},
|
validate_FORM_USER(err){
|
if (this.config.props.formUser === ''){
|
this.errorInfo = '请指定表单中的人员组件'
|
err.push(`${this.config.name} 审批人为表单中人员,但未指定`)
|
return false
|
}
|
return true;
|
},
|
validate_REFUSE(err){
|
return true;
|
},
|
}
|
}
|
</script>
|
|
<style scoped>
|
|
</style>
|