Hwf 9 месяцев назад
Родитель
Сommit
5b26cb9730

+ 20 - 14
src/views/comprehensiveGuarantee/MaterialReserveManagement/addTypesMaterials.vue

@@ -6,7 +6,7 @@
         <div>{{ props.id ? '修改物资种类' : '新增物资种类' }}</div>
       </div>
       <div class="common-dialog-box">
-        <el-form ref="eventFormRef" :model="form" :rules="rules" label-width="120px">
+        <el-form ref="formRef" :model="form" :rules="rules" label-width="120px">
           <el-form-item label="父类id:" prop="parent_id">
             <el-input v-model="form.parent_id" placeholder="请输入父类id" style="width: 468px !important" />
           </el-form-item>
@@ -33,7 +33,7 @@
         </el-form>
         <div class="common-dialog-footer">
           <el-button @click="closeDialog">取消</el-button>
-          <el-button :loading="buttonLoading" type="primary" @click="submitForm">确定</el-button>
+          <el-button :loading="buttonLoading" type="primary" @click="submitForm(formRef)">确定</el-button>
         </div>
       </div>
     </div>
@@ -52,6 +52,7 @@ const props = defineProps({
 });
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 const { show_status, material_category_level } = toRefs<any>(proxy?.useDict('show_status', 'material_category_level'));
+const formRef = ref();
 const buttonLoading = ref(false);
 
 // 表单数据
@@ -77,18 +78,23 @@ const { form, rules } = toRefs(data);
 const closeDialog = () => {
   emits('close');
 };
-const submitForm = () => {
-  if (props.id) {
-    updateMaterialType(form.value, props.id).then(() => {
-      proxy.$modal.msgSuccess('修改成功');
-      emits('close');
-    });
-  } else {
-    createMaterialType(form.value).then(() => {
-      proxy.$modal.msgSuccess('新增成功');
-      emits('close');
-    });
-  }
+const submitForm = async (formEl) => {
+  if (!formEl) return;
+  await formEl.validate((valid, fields) => {
+    if (valid) {
+      if (props.id) {
+        updateMaterialType(form.value, props.id).then(() => {
+          proxy.$modal.msgSuccess('修改成功');
+          emits('close');
+        });
+      } else {
+        createMaterialType(form.value).then(() => {
+          proxy.$modal.msgSuccess('新增成功');
+          emits('close');
+        });
+      }
+    }
+  })
 };
 
 onMounted(() => {