import { Ref } from "vue" import { useMessage } from "./message" export function useSmProcessFormAction() { // 校验 成功返回true 失败返回false const formValidate = async (baseFormRef: any, vxeTableRef: any, vxeTableDataLength: number) => { const valid = await baseFormRef.value.validate().catch(() => {}) if (!valid) return false if (vxeTableDataLength <= 0) { useMessage().warning("请选择商品") return false } const $table = vxeTableRef.value if ($table) { const errMap = await $table.validate(true) if (errMap) { console.log("全量校验失败!") return false } } return true } // 提交数据 成功返回 true 失败返回 false const submitData = async (baseDataForm: any, vxeTableItems: Ref, loading: Ref, putObj: any, addObj: any) => { try { loading.value = true const _pa = { ...baseDataForm, items: vxeTableItems, } console.log("提交的数据:", _pa) const res = baseDataForm.id ? await putObj(_pa) : await addObj(_pa) if (res.code == 0) { useMessage().success(baseDataForm.id ? "修改成功" : "添加成功") return true } useMessage().error(res.msg || baseDataForm.id ? "修改失败" : "添加失败") return false } catch (err: any) { useMessage().error(err.msg) loading.value = false return false } finally { loading.value = false } } return { formValidate, submitData, } }