【代码评审】BPM:子流程

This commit is contained in:
YunaiV 2025-02-24 23:06:56 +08:00
parent cd0f1322fb
commit 32f2d406c3
3 changed files with 11 additions and 8 deletions

View File

@ -28,11 +28,7 @@
<div> <div>
<el-form ref="formRef" :model="configForm" label-position="top" :rules="formRules"> <el-form ref="formRef" :model="configForm" label-position="top" :rules="formRules">
<el-form-item label="是否异步" prop="async"> <el-form-item label="是否异步" prop="async">
<el-switch <el-switch v-model="configForm.async" active-text="异步" inactive-text="不异步" />
v-model="configForm.async"
active-text="异步"
inactive-text="不异步"
/>
</el-form-item> </el-form-item>
<el-form-item label="选择子流程" prop="calledProcessDefinitionKey"> <el-form-item label="选择子流程" prop="calledProcessDefinitionKey">
<el-select <el-select
@ -107,6 +103,7 @@
<Icon icon="ep:plus" class="mr-5px" />添加一行 <Icon icon="ep:plus" class="mr-5px" />添加一行
</el-button> </el-button>
</el-form-item> </el-form-item>
<!-- TODO @lesanasyncsourcetarget 几个字段会告警 -->
<el-form-item <el-form-item
v-if="configForm.async === false" v-if="configForm.async === false"
label="子→主变量传递" label="子→主变量传递"
@ -163,6 +160,7 @@
<Icon icon="ep:plus" class="mr-5px" />添加一行 <Icon icon="ep:plus" class="mr-5px" />添加一行
</el-button> </el-button>
</el-form-item> </el-form-item>
<!-- TODO @lesanstartUserTypestartUserEmptyType 要不走写下枚举类 -->
<el-form-item label="子流程发起人" prop="startUserType"> <el-form-item label="子流程发起人" prop="startUserType">
<el-radio-group v-model="configForm.startUserType"> <el-radio-group v-model="configForm.startUserType">
<el-radio :value="1">同主流程发起人</el-radio> <el-radio :value="1">同主流程发起人</el-radio>
@ -213,6 +211,7 @@ import { getForm } from '@/api/bpm/form'
import { SimpleFlowNode, NodeType } from '../consts' import { SimpleFlowNode, NodeType } from '../consts'
import { useWatchNode, useDrawer, useNodeName, useFormFieldsAndStartUser } from '../node' import { useWatchNode, useDrawer, useNodeName, useFormFieldsAndStartUser } from '../node'
import { parseFormFields } from '@/components/FormCreate/src/utils' import { parseFormFields } from '@/components/FormCreate/src/utils'
defineOptions({ defineOptions({
name: 'ChildProcessNodeConfig' name: 'ChildProcessNodeConfig'
}) })
@ -264,6 +263,7 @@ const saveConfig = async () => {
if (!formRef) return false if (!formRef) return false
const valid = await formRef.value.validate() const valid = await formRef.value.validate()
if (!valid) return false if (!valid) return false
// TODO @lesan option
const childInfo = childProcessOptions.value.find( const childInfo = childProcessOptions.value.find(
(option) => option.key === configForm.value.calledProcessDefinitionKey (option) => option.key === configForm.value.calledProcessDefinitionKey
) )
@ -286,11 +286,11 @@ const saveConfig = async () => {
return true return true
} }
// //
// TODO @lesaninVariablesoutVariables
const showChildProcessNodeConfig = (node: SimpleFlowNode) => { const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
nodeName.value = node.name nodeName.value = node.name
if (node.childProcessSetting) { if (node.childProcessSetting) {
configForm.value.async = configForm.value.async = node.childProcessSetting.async
node.childProcessSetting.async
configForm.value.calledProcessDefinitionKey = configForm.value.calledProcessDefinitionKey =
node.childProcessSetting.calledProcessDefinitionKey node.childProcessSetting.calledProcessDefinitionKey
configForm.value.skipStartUserNode = node.childProcessSetting.skipStartUserNode configForm.value.skipStartUserNode = node.childProcessSetting.skipStartUserNode
@ -305,6 +305,7 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => {
defineExpose({ openDrawer, showChildProcessNodeConfig }) // defineExpose({ openDrawer, showChildProcessNodeConfig }) //
// TODO @lesan arr cursor quick fix
const addVariable = (arr) => { const addVariable = (arr) => {
arr.push({ arr.push({
source: '', source: '',

View File

@ -66,6 +66,7 @@ import { SimpleFlowNode, NodeType, NODE_DEFAULT_TEXT } from '../consts'
import NodeHandler from '../NodeHandler.vue' import NodeHandler from '../NodeHandler.vue'
import { useNodeName2, useWatchNode, useTaskStatusClass } from '../node' import { useNodeName2, useWatchNode, useTaskStatusClass } from '../node'
import ChildProcessNodeConfig from '../nodes-config/ChildProcessNodeConfig.vue' import ChildProcessNodeConfig from '../nodes-config/ChildProcessNodeConfig.vue'
defineOptions({ defineOptions({
name: 'ChildProcessNode' name: 'ChildProcessNode'
}) })
@ -86,6 +87,7 @@ const currentNode = useWatchNode(props)
// //
const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.CHILD_PROCESS_NODE) const { showInput, blurEvent, clickTitle } = useNodeName2(currentNode, NodeType.CHILD_PROCESS_NODE)
const nodeSetting = ref() const nodeSetting = ref()
// //
const openNodeConfig = () => { const openNodeConfig = () => {
if (readonly) { if (readonly) {

View File

@ -157,7 +157,7 @@ const initProcessInfo = async (row: any, formVariables?: any) => {
} }
/** 预测流程节点会因为输入的参数值而产生新的预测结果值,所以需重新预测一次 */ /** 预测流程节点会因为输入的参数值而产生新的预测结果值,所以需重新预测一次 */
// TODO @ // TODO @ @lesan
// watch( // watch(
// detailForm.value, // detailForm.value,
// (newValue) => { // (newValue) => {