Browse Source

技术花名册表单验证模块优化

ljb 11 months ago
parent
commit
35d397123c
3 changed files with 46 additions and 23 deletions
  1. 4 2
      src/mixins/crud.js
  2. 21 21
      src/option/technicianRoster.js
  3. 21 0
      src/views/technician-roster/index.vue

+ 4 - 2
src/mixins/crud.js

@@ -91,7 +91,8 @@ export default (app, option = {}) => {
           })
         }
         if (this.addBefore) {
-          this.addBefore();
+          this.addBefore(loading, callback);
+          return;
         }
         callback();
       },
@@ -111,7 +112,8 @@ export default (app, option = {}) => {
           })
         }
         if (this.updateBefore) {
-          this.updateBefore();
+          this.updateBefore(loading, callback);
+          return;
         }
         callback();
       },

+ 21 - 21
src/option/technicianRoster.js

@@ -41,13 +41,13 @@ export default {
       align: 'center',
       search: true,
       showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入工号',
-          trigger: 'blur',
-        },
-      ],
+      // rules: [
+      //   {
+      //     required: true,
+      //     message: '请输入工号',
+      //     trigger: 'blur',
+      //   },
+      // ],
     },
     {
       label: '身份证号',
@@ -58,13 +58,13 @@ export default {
       width: 160,
       align: 'center',
       showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入身份证号',
-          trigger: 'blur',
-        },
-      ],
+      // rules: [
+      //   {
+      //     required: true,
+      //     message: '请输入身份证号',
+      //     trigger: 'blur',
+      //   },
+      // ],
     },
     {
       label: '性别',
@@ -83,7 +83,7 @@ export default {
         {
           required: true,
           message: '请选择性别',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -203,7 +203,7 @@ export default {
         {
           required: true,
           message: '请选择用工性质',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -243,7 +243,7 @@ export default {
         {
           required: true,
           message: '请选择最高学历',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -265,7 +265,7 @@ export default {
         {
           required: true,
           message: '请选择最高学位',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -318,7 +318,7 @@ export default {
         {
           required: true,
           message: '请选择职称',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -356,7 +356,7 @@ export default {
         {
           required: true,
           message: '请选择参研情况',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },
@@ -378,7 +378,7 @@ export default {
         {
           required: true,
           message: '请选择人员类型',
-          trigger: 'blur',
+          trigger: 'change',
         },
       ],
     },

+ 21 - 0
src/views/technician-roster/index.vue

@@ -155,6 +155,27 @@ export default window.$crudCommon({
     },
   },
   methods: {
+    validCustom() {
+      if (!this.form.number && !this.form.identityCard) {
+        this.$message.warning("工号和身份证号必须填写一项!");
+        return false;
+      }
+      return true;
+    },
+    addBefore(loading, callback) {
+      if (!this.validCustom()) {
+        loading();
+        return;
+      }
+      callback && callback();
+    },
+    updateBefore(loading, callback) {
+      if (!this.validCustom()) {
+        loading();
+        return false;
+      }
+      callback && callback();
+    },
     handleImport() {
       this.excelBox = true;
     },