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"
>
-
{
-
-
- 待实现
-
+ />
diff --git a/apps/web-antd/src/views/bpm/model/form/index.vue b/apps/web-antd/src/views/bpm/model/form/index.vue
index 2c2f61fbb..79a698c8e 100644
--- a/apps/web-antd/src/views/bpm/model/form/index.vue
+++ b/apps/web-antd/src/views/bpm/model/form/index.vue
@@ -338,7 +338,6 @@ const handleDeploy = async () => {
/** 步骤切换处理 */
const handleStepClick = async (index: number) => {
try {
- console.warn('handleStepClick', index);
if (index !== 0) {
await validateBasic();
}