Files
admin-sjzx/src/components/XnWorkflow/chart/nodes/cServiceTask.vue

81 lines
2.0 KiB
Vue
Raw Normal View History

2024-05-06 13:57:06 +08:00
<template>
<div class="node-wrap">
<a-tooltip placement="left">
<template #title v-if="childNode.properties && childNode.properties.commentList.length > 0">
<div v-for="comment in childNode.properties.commentList" :key="comment.id">
{{ comment.userName }}{{ comment.approveTime }}
<a-tag color="rgb(212, 212, 212)">{{ comment.operateText }}</a-tag
>意见{{ comment.comment }}
</div>
</template>
<div :class="childNode.properties && childNode.properties.commentList.length > 0 ? 'node-state-label' : ''">
<div class="node-wrap-box">
<div class="title" style="background: #3296fa">
<send-outlined class="icon" />
<span>{{ childNode.title }}</span>
</div>
<div class="content">
<span v-if="toText(childNode)">{{ toText(childNode) }}</span>
<span v-else class="placeholder">未选择人员</span>
</div>
</div>
</div>
</a-tooltip>
<add-nodes v-model="childNode.childNode" />
</div>
</template>
<script>
import addNodes from './cAddNode.vue'
export default {
components: {
addNodes
},
props: {
modelValue: { type: Object, default: () => {} },
currentActivityId: { type: String, default: () => '' }
},
data() {
return {
childNode: {}
}
},
watch: {
modelValue() {
this.childNode = this.modelValue
}
},
mounted() {
this.childNode = this.modelValue
},
methods: {
toText(childNode) {
if (JSON.stringify(childNode) !== '{}') {
const participateInfo = childNode.properties.participateInfo
if (participateInfo.length > 0) {
let resultArray = []
if (participateInfo[0].label.indexOf(',') !== -1) {
resultArray = participateInfo[0].label.split(',')
} else {
resultArray.push(participateInfo[0].label)
}
return resultArray.toString()
} else {
return false
}
} else {
return false
}
}
}
}
</script>
<style scoped>
.node-state-label {
padding: 1px;
border: 3px solid rgb(24, 144, 255);
border-radius: 2px;
}
</style>