diff --git a/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/http-request-param-setting.vue b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/http-request-param-setting.vue new file mode 100644 index 000000000..6f18a06dc --- /dev/null +++ b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/http-request-param-setting.vue @@ -0,0 +1,228 @@ + + + diff --git a/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/user-task-listener.vue b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/user-task-listener.vue new file mode 100644 index 000000000..e071c6d82 --- /dev/null +++ b/apps/web-antd/src/components/simple-process-design/components/nodes-config/modules/user-task-listener.vue @@ -0,0 +1,107 @@ + + diff --git a/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue index fdeac0433..d76b00ed8 100644 --- a/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -34,7 +34,6 @@ import { TypographyText, } from 'ant-design-vue'; -// TODO import { defaultProps4AntTree } from '#/utils/tree'; import { APPROVE_METHODS, APPROVE_TYPE, @@ -65,10 +64,9 @@ import { useNodeName, useWatchNode, } from '../../helpers'; +import UserTaskListener from './modules/user-task-listener.vue'; import { convertTimeUnit, getApproveTypeText } from './utils'; -// TODO import UserTaskListener from './components/UserTaskListener.vue'; - defineOptions({ name: 'UserTaskNodeConfig' }); const props = defineProps({ flowNode: { @@ -233,8 +231,7 @@ const { cTimeoutMaxRemindCount, } = useTimeoutHandler(); -// TODO 监听器待实现 -// const userTaskListenerRef = ref(); +const userTaskListenerRef = ref(); /** 节点类型名称 */ const nodeTypeName = computed(() => { @@ -253,25 +250,24 @@ const saveConfig = async () => { drawerApi.close(); return true; } - // TODO 监听器待实现 - // activeTabName.value = 'listener'; - // await nextTick(); - activeTabName.value = 'user'; - if (!formRef.value) return false; - // TODO 监听器待实现 - // if (!userTaskListenerRef.value) return false; - // const valid = - // (await formRef.value.validate()) && - // (await userTaskListenerRef.value.validate()); + if (!userTaskListenerRef.value) return false; - if (!(await formRef.value.validate())) { - activeTabName.value = 'user'; + // 先进行表单验证,记录验证结果 + const userFormValid = await formRef.value.validate().catch(() => false); + const listenerValid = await userTaskListenerRef.value.validate().catch(() => { + return false; + }); + // 如果监听器有错误,切换到监听器Tab + if (!listenerValid) { + activeTabName.value = 'listener'; + return false; + } + // 如果审批人表单有错误,切换到审批人Tab + if (!userFormValid) { + activeTabName.value = 'user'; + return false; } - // TODO 监听器待实现 - // if (!(await userTaskListenerRef.value.validate())) { - // activeTabName.value = 'listener'; - // } const showText = getShowText(); if (!showText) return false; @@ -658,10 +654,14 @@ onMounted(() => { label="指定部门" name="deptIds" > - { - - - 待实现 - + />