|
@@ -17,13 +17,7 @@
|
|
|
<el-input v-model="form.content" type="textarea" placeholder="请输入内容" maxlength="64" show-word-limit> </el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item
|
|
|
- v-if="nodeModelsData.length"
|
|
|
- label="下一节点审批人"
|
|
|
- prop="assigneeMap"
|
|
|
- required
|
|
|
- :rules="[{ required: true, message: '请选择下一节点审批人' }]"
|
|
|
- >
|
|
|
+ <el-form-item v-if="nodeModelsData.length" label="下一节点审批人" prop="assigneeMap" :rules="assigneeMapRules">
|
|
|
<el-timeline>
|
|
|
<el-timeline-item v-for="(item, index) in nodeModelsData" :key="index" placement="top" :timestamp="item.nodeName">
|
|
|
<div class="flex">
|
|
@@ -165,8 +159,7 @@ const datas = reactive({
|
|
|
useSelectRef: null,
|
|
|
active_assigneeKey: null
|
|
|
})
|
|
|
-const { formRef, uploadLoading, rollbackOptions, btnDisabled, nodeModelsData, active_selectOpts, useSelectRef, active_assigneeKey } =
|
|
|
- toRefs(datas)
|
|
|
+const { formRef, uploadLoading, rollbackOptions, btnDisabled, nodeModelsData, active_selectOpts, useSelectRef, active_assigneeKey } = toRefs(datas)
|
|
|
const $myEmit = defineEmits(['update:modelValue', 'successCb'])
|
|
|
|
|
|
const closeDialog = () => {
|
|
@@ -222,6 +215,15 @@ const getNextNodesEv = async params => {
|
|
|
"nodeType": 1
|
|
|
*/
|
|
|
}
|
|
|
+// 下一节点审批人规则
|
|
|
+const assigneeMapRules = computed(() => {
|
|
|
+ const _nodes = nodeModelsData.value || []
|
|
|
+ // 发起人自选(setType: 4) 才需要选择下一节点审批人
|
|
|
+ if (_nodes.find(v => v.setType === 4)) {
|
|
|
+ return [{ required: true, message: '请选择下一节点审批人' }]
|
|
|
+ }
|
|
|
+ return []
|
|
|
+})
|
|
|
const findNodeByKey = nodeKey => {
|
|
|
return nodeModelsData.value.find(node => node.nodeKey === nodeKey)
|
|
|
}
|