diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue index 10167df33..31f199b94 100644 --- a/src/components/BasicForm/src/BasicForm.vue +++ b/src/components/BasicForm/src/BasicForm.vue @@ -274,7 +274,7 @@ const submitForm = async () => { if (!elForm) return const valid = await elForm.validate() if (!valid) return - + // 针对主子表 明细校验 if (props.isBusiness) { const validateForm = await tableFormRef.value.validateForm() if (!validateForm) { @@ -284,26 +284,34 @@ const submitForm = async () => { } return } - } - - // 提交请求 - formLoading.value = true - try { - // const data = unref(formRef)?.formModel as ItempackagingApi.ItempackagingVO - // TODO: as VO 接口 不知道怎么从props获取 所以现在没写 - const data = unref(formRef)?.formModel - if (formType.value === 'create') { - await props.apiCreate(data) - message.success(t('common.createSuccess')) - } else { - await props.apiUpdate(data) - message.success(t('common.updateSuccess')) + // 主子表——提交请求 + formLoading.value = true + try { + const data = unref(formRef)?.formModel + emit('submitForm', formType.value, data ) + dialogVisible.value = false + } finally { + formLoading.value = false + } + } else { + // 基础数据单表——提交请求 + formLoading.value = true + try { + // const data = unref(formRef)?.formModel as ItempackagingApi.ItempackagingVO + const data = unref(formRef)?.formModel + if (formType.value === 'create') { + await props.apiCreate(data) + message.success(t('common.createSuccess')) + } else { + await props.apiUpdate(data) + message.success(t('common.updateSuccess')) + } + dialogVisible.value = false + // 发送操作成功的事件 + emit('success') + } finally { + formLoading.value = false } - dialogVisible.value = false - // 发送操作成功的事件 - emit('success') - } finally { - formLoading.value = false } } @@ -325,7 +333,8 @@ const emit = defineEmits([ 'handleAddTable', 'inpuFocus', 'searchTableSuccess', - 'opensearchTable' + 'opensearchTable', + 'submitForm' ]) //普通下拉改变事件 const formSelectChange = (field, val) => {