cz 2 years ago
parent
commit
d8f652e9d2
2 changed files with 33 additions and 29 deletions
  1. 9 10
      src/components/byForm/index.vue
  2. 24 19
      src/components/process/ReturnGood.vue

+ 9 - 10
src/components/byForm/index.vue

@@ -331,9 +331,10 @@ const formDataInit = () => {
   emit("update:modelValue", formData.value);
 };
 
-const handleSubmit = (onSubmit) => {
-  proxy.$refs["byForm"].validate((valid) => {
-    if (valid) {
+const handleSubmit = async (onSubmit) => {
+  try {
+    const flag = await proxy.$refs["byForm"].validate();
+    if (flag) {
       const form = { ...formData.value };
       proxy.formConfig.map((item) => {
         if (item.type == "json") {
@@ -342,14 +343,12 @@ const handleSubmit = (onSubmit) => {
       });
       emit("update:modelValue", form);
       onSubmit();
-      // } else {
-      // 	ElMessage({
-      // 		message: '请检查表单',
-      // 		type: 'warning',
-      // 	})
+      return true;
     }
-    return valid; //无论是否验证通过都返回
-  });
+  } catch (err) {
+    console.log("请检查表单!");
+    return false;
+  }
 };
 const byform = ref(null); // 延迟使用,因为还没有返回跟挂载
 onMounted(() => {});

+ 24 - 19
src/components/process/ReturnGood.vue

@@ -8,8 +8,12 @@
       ref="formDom"
     >
       <template #details>
-        <div>
-          <el-button type="primary" @click="openProduct = true">
+        <div style="width: 100%">
+          <el-button
+            type="primary"
+            @click="openProduct = true"
+            style="margin-bottom: 10px"
+          >
             添加物品
           </el-button>
           <el-table :data="formData.data.purchaseDetailList">
@@ -18,15 +22,15 @@
             <el-table-column prop="productSpec" label="规格型号" />
             <el-table-column prop="productUnit" label="单位" />
 
-            <el-table-column prop="price" label="退货数量" min-width="150">
+            <el-table-column prop="count" label="退货数量" min-width="150">
               <template #default="{ row, $index }">
                 <el-form-item
-                  :prop="'purchaseDetailList.' + $index + '.price'"
-                  :rules="rules.price"
+                  :prop="'purchaseDetailList.' + $index + '.count'"
+                  :rules="rules.count"
                   :inline-message="true"
                 >
                   <el-input-number
-                    v-model="row.price"
+                    v-model="row.count"
                     :precision="4"
                     :controls="false"
                     :min="0"
@@ -34,14 +38,14 @@
                 </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column prop="price" label="退货原因" min-width="150">
+            <el-table-column prop="remark" label="退货原因" min-width="150">
               <template #default="{ row, $index }">
                 <el-form-item
-                  :prop="'purchaseDetailList.' + $index + '.price'"
-                  :rules="rules.price"
+                  :prop="'purchaseDetailList.' + $index + '.remark'"
+                  :rules="rules.remark"
                   :inline-message="true"
                 >
-                  <el-input v-model="row.price" placeholder="请输入" />
+                  <el-input v-model="row.remark" placeholder="请输入" />
                 </el-form-item>
               </template>
             </el-table-column>
@@ -76,14 +80,13 @@ import SelectGoods from "@/components/product/SelectGoods";
 
 let formData = reactive({
   data: {
-    name: "",
-    processRouteList: [],
-    remarks: "",
-    productList: [],
+    supplyId: "",
+    purchaseDetailList: [],
+    returnName: "",
   },
 });
 let rules = ref({
-  name: [{ required: true, message: "请输入工艺名称", trigger: "blur" }],
+  supplyId: [{ required: true, message: "请选择供应商", trigger: "change" }],
 });
 const formOption = reactive({
   inline: true,
@@ -97,6 +100,7 @@ const formConfig = computed(() => {
       prop: "name",
       label: "申请部门",
       itemWidth: 25,
+      disabled: true,
       style: {
         "margin-right": "10px",
       },
@@ -106,6 +110,7 @@ const formConfig = computed(() => {
       prop: "name",
       label: "申请人",
       itemWidth: 25,
+      disabled: true,
       style: {
         "margin-right": "10px",
       },
@@ -115,13 +120,14 @@ const formConfig = computed(() => {
       prop: "name",
       label: "申请时间",
       itemWidth: 25,
+      disabled: true,
       style: {
         "margin-right": "10px",
       },
     },
     {
       type: "select",
-      prop: "productId",
+      prop: "supplyId",
       label: "供应商",
       isLoad: {
         url: "/supplierInfo/page",
@@ -144,9 +150,8 @@ const formConfig = computed(() => {
 });
 const formDom = ref(null);
 const handleSubmit = async () => {
-  formDom.value.handleSubmit((vaild) => {
-    console.log(vaild, "wsdaws");
-  });
+  const vaild = await formDom.value.handleSubmit(() => {});
+  console.log(vaild, "wqsds");
 };
 let openProduct = ref(false);
 const handleRemove = (index) => {