From 835da00f2c841e8f204cb09735278cfbf8b839a6 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 21 Dec 2025 22:41:03 +0800 Subject: [PATCH] =?UTF-8?q?review=EF=BC=9A=E3=80=90antd/ele=E3=80=91?= =?UTF-8?q?=E3=80=90bpm=E3=80=91=E6=B5=81=E7=A8=8B=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../penal/listeners/ListenerFieldModal.vue | 2 +- .../child-process-node-config.vue | 1 - .../nodes-config/copy-task-node-config.vue | 2 +- .../nodes-config/trigger-node-config.vue | 2 +- .../nodes-config/user-task-node-config.vue | 2 +- .../components/nodes/child-process-node.vue | 2 +- .../components/nodes/copy-task-node.vue | 2 +- .../components/nodes/delay-timer-node.vue | 2 +- .../components/nodes/exclusive-node.vue | 2 +- .../components/nodes/inclusive-node.vue | 2 +- .../components/nodes/parallel-node.vue | 6 ++-- .../components/nodes/start-user-node.vue | 2 +- .../web-antd/src/views/bpm/oa/leave/index.vue | 1 + .../process-expression-select-modal.vue | 1 + .../process-listener-select-modal.vue | 1 + .../bpmn-process-designer/package/index.ts | 2 -- .../penal/listeners/ListenerFieldModal.vue | 2 +- .../package/penal/task/ElementTask.vue | 1 + .../penal/task/task-components/UserTask.vue | 1 + .../time-event-config/TimeEventConfig.vue | 4 +++ .../child-process-node-config.vue | 8 ++--- .../nodes-config/condition-node-config.vue | 5 +-- .../nodes-config/modules/condition.vue | 1 + .../nodes-config/trigger-node-config.vue | 3 +- .../nodes-config/user-task-node-config.vue | 12 +++---- .../components/nodes/exclusive-node.vue | 6 ++-- .../components/nodes/inclusive-node.vue | 6 ++-- .../nodes/modules/process-instance-modal.vue | 2 +- .../nodes/modules/task-list-modal.vue | 2 +- .../components/process-node-tree.vue | 10 +++--- .../src/views/bpm/model/form/index.vue | 6 ++-- .../model/form/modules/bpm-model-editor.vue | 5 +-- .../bpm/model/form/modules/extra-setting.vue | 1 + .../bpm/processInstance/create/index.vue | 1 + .../bpm/processInstance/detail/index.vue | 2 +- .../detail/modules/bpm-viewer.vue | 1 + .../detail/modules/operation-button.vue | 32 ++++++++++++------- .../detail/modules/signature.vue | 1 - .../detail/modules/task-list.vue | 3 ++ 39 files changed, 85 insertions(+), 62 deletions(-) diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue index 4cce76196..4ce87247b 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue @@ -32,7 +32,7 @@ const [Modal, modalApi] = useVbenModal({ try { await formRef.value?.validate(); emit('confirm', { ...form.value }); - modalApi.close(); + await modalApi.close(); } catch { // validate failed } diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index 25557024f..a89375397 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -193,7 +193,6 @@ const childFormFieldOptions = ref([]); const saveConfig = async () => { activeTabName.value = 'child'; if (!formRef.value) return false; - const valid = await formRef.value.validate().catch(() => false); if (!valid) return false; diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/copy-task-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/copy-task-node-config.vue index 673caa68e..4a0feab8b 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/copy-task-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/copy-task-node-config.vue @@ -137,7 +137,7 @@ const { } = useNodeForm(BpmNodeTypeEnum.COPY_TASK_NODE); const configForm = tempConfigForm as Ref; -// 抄送人策略, 去掉发起人自选 和 发起人自己 +// 抄送人策略,去掉发起人自选 和 发起人自己 const copyUserStrategies = computed(() => { return CANDIDATE_STRATEGY.filter( (item) => item.value !== CandidateStrategy.START_USER, diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/trigger-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/trigger-node-config.vue index 758c5e8c4..421fce968 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/trigger-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/trigger-node-config.vue @@ -348,7 +348,7 @@ function getShowText(): string { return showText; } -/** 显示触发器节点配置, 由父组件传过来 */ +/** 显示触发器节点配置,由父组件传过来 */ function showTriggerNodeConfig(node: SimpleFlowNode) { nodeName.value = node.name; originalSetting = node.triggerSetting diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue index e09057ab6..80e6b0e07 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes-config/user-task-node-config.vue @@ -532,7 +532,7 @@ function useTimeoutHandler() { if (timeUnit.value === TimeUnitType.HOUR) { configForm.value.timeDuration = 6; } - // 天, 默认 1天 + // 天, 默认 1 天 if (timeUnit.value === TimeUnitType.DAY) { configForm.value.timeDuration = 1; } diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/child-process-node.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/child-process-node.vue index 09d0d2dd4..a167f3107 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/child-process-node.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/child-process-node.vue @@ -19,7 +19,7 @@ const props = defineProps<{ flowNode: SimpleFlowNode; }>(); -/** 定义事件,更新父组件。 */ +/** 定义事件,更新父组件 */ const emits = defineEmits<{ 'update:flowNode': [node: SimpleFlowNode | undefined]; }>(); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/copy-task-node.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/copy-task-node.vue index 3ab058b25..3cef78906 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/copy-task-node.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/copy-task-node.vue @@ -22,7 +22,7 @@ const props = defineProps({ required: true, }, }); -// 定义事件,更新父组件。 +// 定义事件,更新父组件 const emits = defineEmits<{ 'update:flowNode': [node: SimpleFlowNode | undefined]; }>(); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/delay-timer-node.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/delay-timer-node.vue index c72b23a09..f6f941e7c 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/delay-timer-node.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/delay-timer-node.vue @@ -20,7 +20,7 @@ const props = defineProps({ required: true, }, }); -// 定义事件,更新父组件。 +// 定义事件,更新父组件 const emits = defineEmits<{ 'update:flowNode': [node: SimpleFlowNode | undefined]; }>(); diff --git a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/exclusive-node.vue b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/exclusive-node.vue index bc53b0e0d..7c6b6f555 100644 --- a/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/exclusive-node.vue +++ b/apps/web-antd/src/views/bpm/components/simple-process-design/components/nodes/exclusive-node.vue @@ -289,7 +289,7 @@ function recursiveFindParentNode( :condition-node="item" :ref="item.id" /> - + - + ([]); watch( showInputs, (newValues) => { - // 当输入框显示时, 自动聚焦 + // 当输入框显示时 自动聚焦 newValues.forEach((value, index) => { if (value) { - // 当显示状态从 false 变为 true 时, 自动聚焦 + // 当显示状态从 false 变为 true 时 自动聚焦 nextTick(() => { inputRefs.value[index]?.focus(); }); @@ -212,7 +212,7 @@ function recursiveFindParentNode( /> - + (); diff --git a/apps/web-antd/src/views/bpm/oa/leave/index.vue b/apps/web-antd/src/views/bpm/oa/leave/index.vue index d00ff092e..fae7f7c4a 100644 --- a/apps/web-antd/src/views/bpm/oa/leave/index.vue +++ b/apps/web-antd/src/views/bpm/oa/leave/index.vue @@ -17,6 +17,7 @@ import { router } from '#/router'; import { useGridColumns, useGridFormSchema } from './data'; +// TODO @jason:这里是不是要迁移下? /** 刷新表格 */ function handleRefresh() { gridApi.query(); diff --git a/apps/web-antd/src/views/bpm/processExpression/components/process-expression-select-modal.vue b/apps/web-antd/src/views/bpm/processExpression/components/process-expression-select-modal.vue index 4876e9a32..8b8b66c09 100644 --- a/apps/web-antd/src/views/bpm/processExpression/components/process-expression-select-modal.vue +++ b/apps/web-antd/src/views/bpm/processExpression/components/process-expression-select-modal.vue @@ -16,6 +16,7 @@ const emit = defineEmits<{ select: [expression: BpmProcessExpressionApi.ProcessExpression]; }>(); +// TODO @jason:这里是不是要迁移下? // 查询参数 const queryParams = ref({ status: CommonStatusEnum.ENABLE, diff --git a/apps/web-antd/src/views/bpm/processListener/components/process-listener-select-modal.vue b/apps/web-antd/src/views/bpm/processListener/components/process-listener-select-modal.vue index 37b1ae49c..c93b79ef5 100644 --- a/apps/web-antd/src/views/bpm/processListener/components/process-listener-select-modal.vue +++ b/apps/web-antd/src/views/bpm/processListener/components/process-listener-select-modal.vue @@ -18,6 +18,7 @@ const emit = defineEmits<{ select: [listener: BpmProcessListenerApi.ProcessListener]; }>(); +// TODO @jason:这里是不是要迁移下? // 查询参数 const queryParams = ref({ type: '', diff --git a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/index.ts b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/index.ts index 483d5fb4d..f27319abb 100644 --- a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/index.ts +++ b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/index.ts @@ -3,9 +3,7 @@ import 'bpmn-js/dist/assets/diagram-js.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'; import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'; -// TODO @puhui999:样式问题:设计器那,位置不太对; export { default as MyProcessDesigner } from './designer'; -// TODO @puhui999:流程发起时,预览相关的,需要使用; export { default as MyProcessViewer } from './designer/index2'; export { default as MyProcessPenal } from './penal'; diff --git a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue index 59368cd46..5d1c57a3a 100644 --- a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue +++ b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ListenerFieldModal.vue @@ -32,7 +32,7 @@ const [Modal, modalApi] = useVbenModal({ try { await formRef.value?.validate(); emit('confirm', { ...form.value }); - modalApi.close(); + await modalApi.close(); } catch { // validate failed } diff --git a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/task/ElementTask.vue b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/task/ElementTask.vue index 030b1d6bd..8775cb942 100644 --- a/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/task/ElementTask.vue +++ b/apps/web-ele/src/views/bpm/components/bpmn-process-designer/package/penal/task/ElementTask.vue @@ -65,6 +65,7 @@ watch(
+ (window as any).bpmnInstances; const type: Ref = ref('time'); const condition: Ref = ref(''); const valid: Ref = ref(false); +// TODO @jason:const dateValue = ref(); 需要么? const dateValue = ref(); const placeholder = computed(() => { @@ -106,6 +107,7 @@ function validate(): boolean { // 选择时间 Modal const [DateModal, dateModalApi] = useVbenModal({ title: '选择时间', + // TODO @jason:antd 这里有个属性,需要么? onConfirm: onDateConfirm, }); @@ -123,6 +125,7 @@ function onDateConfirm(): void { // 持续时长 Modal const [DurationModal, durationModalApi] = useVbenModal({ title: '时间配置', + // TODO @jason:antd 这里有个属性,需要么? onConfirm: onDurationConfirm, }); @@ -137,6 +140,7 @@ function onDurationConfirm(): void { // 循环配置 Modal const [CycleModal, cycleModalApi] = useVbenModal({ title: '时间配置', + // TODO @jason:antd 这里有个属性,需要么? onConfirm: onCycleConfirm, }); diff --git a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue index 9ad51c734..bf9d637b5 100644 --- a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue +++ b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/child-process-node-config.vue @@ -194,10 +194,10 @@ const saveConfig = async () => { // 3. 是否跳过发起人 currentNode.value.childProcessSetting.skipStartUserNode = configForm.value.skipStartUserNode; - // 4. 主→子变量 + // 4. 主->子变量 currentNode.value.childProcessSetting.inVariables = configForm.value.inVariables; - // 5. 子→主变量 + // 5. 子->主变量 currentNode.value.childProcessSetting.outVariables = configForm.value.outVariables; // 6. 发起人设置 @@ -256,9 +256,9 @@ const showChildProcessNodeConfig = (node: SimpleFlowNode) => { // 3. 是否跳过发起人 configForm.value.skipStartUserNode = node.childProcessSetting.skipStartUserNode; - // 4. 主流程→子流程变量 + // 4. 主->子变量 configForm.value.inVariables = node.childProcessSetting.inVariables ?? []; - // 5. 子流程→主流程变量 + // 5. 子->主变量 configForm.value.outVariables = node.childProcessSetting.outVariables ?? []; // 6. 发起人设置 configForm.value.startUserType = diff --git a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/condition-node-config.vue b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/condition-node-config.vue index e09097147..6ea32ca63 100644 --- a/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/condition-node-config.vue +++ b/apps/web-ele/src/views/bpm/components/simple-process-design/components/nodes-config/condition-node-config.vue @@ -96,7 +96,7 @@ const [Drawer, drawerApi] = useVbenDrawer({ }); function open() { - // 使用三元表达式代替if-else,解决linter 警告 + // 使用三元表达式代替 if-else,解决 linter 警告 condition.value = currentNode.value.conditionSetting ? cloneDeep(currentNode.value.conditionSetting) : { @@ -132,7 +132,7 @@ watch( const showInput = ref(false); // 输入框的引用 const inputRef = ref(null); -// 监听 showInput 的变化,当变为true 时自动聚焦 +// 监听 showInput 的变化,当变为 true 时自动聚焦 watch(showInput, (value) => { if (value) { nextTick(() => { @@ -158,6 +158,7 @@ function changeNodeName() { defineExpose({ open }); // 提供 open 方法,用于打开弹窗