From 4eaea07345d417577270d2814e476715e8e5d7ab Mon Sep 17 00:00:00 2001 From: ljlong_2630 Date: Wed, 10 Apr 2024 17:24:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E4=BF=AE=E6=94=B9=E8=A7=84?= =?UTF-8?q?=E5=88=99=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Detail/src/DetailQmsCode.vue | 2 +- .../qms/basicDataManage/dynamicRule/index.vue | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/components/Detail/src/DetailQmsCode.vue b/src/components/Detail/src/DetailQmsCode.vue index e66979512..819a401e1 100644 --- a/src/components/Detail/src/DetailQmsCode.vue +++ b/src/components/Detail/src/DetailQmsCode.vue @@ -701,7 +701,7 @@ const openForm = async (type: string, row?: number) => { const submitForm = async (formType, data) => { try { // 子表新增编辑校验 如果业务需要子表提交校验 需在主页详情组件添加 detailValidate 参数及方法 - const rs = (await props.detailValidate) ? await props.detailValidate(data) : true + const rs = (await props.detailValidate) ? await props.detailValidate(formType,data) : true if (!rs) return if (formType === 'create') { await props.apiCreate(data) diff --git a/src/views/qms/basicDataManage/dynamicRule/index.vue b/src/views/qms/basicDataManage/dynamicRule/index.vue index b9aebe87d..b42b4ca56 100644 --- a/src/views/qms/basicDataManage/dynamicRule/index.vue +++ b/src/views/qms/basicDataManage/dynamicRule/index.vue @@ -289,7 +289,8 @@ const handleDeleteTable = (item, index) => { // 主子数据 提交 const submitForm = async (formType, data) => { - if(!validateNotRepetition(tableData.value)){ + const flag = validateNotRepetition(tableData.value); + if(!flag){ message.alertWarning('动态规则阶段不能重复') basicFormRef.value.formLoading = false return @@ -312,9 +313,9 @@ const submitForm = async (formType, data) => { } } -const detailValidate = (data) => { +const detailValidate = (type,data) => { let tag = true; - if(!validateIfRepeat(data)){ + if(!validateIfRepeat(type,data)){ tag = false message.alertWarning('动态规则阶段不能重复') } @@ -325,8 +326,13 @@ const detailOpenForm = (type, row, masterParmas) => { } -const validateIfRepeat = (data) => { - const mergedArray = [data, ...detailList.value]; +const validateIfRepeat = (type,data) => { + let mergedArray: any[] = []; + if(type == 'create'){ + mergedArray = [data, ...detailList.value]; + }else if(type == 'update'){ + mergedArray = [...detailList.value]; + } const stageSet = new Set(mergedArray.map(item => item.stage)); return stageSet.size === mergedArray.length; }