From c8cf4dfa92b2e6dfb0217fcee7bbb4f691af48b6 Mon Sep 17 00:00:00 2001 From: jason <2667446@qq.com> Date: Wed, 23 Jul 2025 09:02:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20[BPM=20=E5=B7=A5=E4=BD=9C=E6=B5=81]=20?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E8=A1=A8=E5=8D=95=E5=8F=AA=E8=AF=BB=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=8C=E4=B8=8D=E6=A0=A1=E9=AA=8C=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create/ProcessDefinitionDetail.vue | 28 +++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue index 49ce3b059..703b4888a 100644 --- a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue +++ b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue @@ -231,8 +231,25 @@ const getApprovalDetail = async (row: any) => { */ const setFieldPermission = (field: string, permission: string) => { if (permission === FieldPermissionType.READ) { + // 1. 设置字段为只读 //@ts-ignore fApi.value?.disabled(true, field) + // 2. 只读字段, 去掉验证规则 + // fApi.value?.updateValidate(field, []); 这个方法貌似不起作用, + try { + //@ts-ignore + const rule = fApi.value?.getRule(field) + if (rule) { + // 必填验证设置为false + rule.$required = false + // 清空所有验证规则 + if (rule.validate) { + rule.validate = [] + } + } + } catch (error) { + console.warn('修改字段验证规则失败:', error) + } } if (permission === FieldPermissionType.WRITE) { //@ts-ignore @@ -249,8 +266,15 @@ const submitForm = async () => { if (!fApi.value || !props.selectProcessDefinition) { return } - // 流程表单校验 - await fApi.value.validate() + + try { + // 流程表单校验 + await fApi.value.validate() + } catch (error) { + // 如果验证失败,检查是否是只读字段的验证错误 + console.warn('表单验证失败:', error) + return + } // 如果有指定审批人,需要校验 if (startUserSelectTasks.value?.length > 0) { for (const userTask of startUserSelectTasks.value) {