Forráskód Böngészése

新增电签证书编号必填

duy 1 éve
szülő
commit
3958ab5bb4
1 módosított fájl, 18 hozzáadás és 16 törlés
  1. 18 16
      src/views/certificate/lists/addList.vue

+ 18 - 16
src/views/certificate/lists/addList.vue

@@ -28,7 +28,7 @@
               placeholder="请选择"
               style="width: 400px;"
               clearable
-              @visible-change="$forceUpdate()"
+              @visible-change="changeCompany"
             >
               <el-option
                 v-for="item in options"
@@ -309,6 +309,7 @@ export default {
         certificateId: [{ required: true, message: '请输入所持证书者身份ID', trigger: 'blur' }],
         enterpriseUnifiedCode: [{ required: true, message: '请输入企业统一社会信用代码', trigger: 'blur' }],
         //  certificateNumber: [{ required: true, message: '请输入证书编号', trigger: 'blur' }],
+        certificateNumber:[],
         certificatePassword: [{ required: true, message: '请输入证书密码', trigger: 'blur' }],
         certificateUserId: [{ required: true, message: '请选择关联用户', trigger: 'change' }],
         certificateFileUrl: [{ required: true, message: '请选择证书文件', trigger: 'change' }],
@@ -325,20 +326,16 @@ export default {
     }
   },
   methods: {
-      // 自定义验证函数,根据条件动态设置验证规则
-    validateDependentField(rule, value, callback) {
-      const conditionalFieldValue = this.form.company;
+   // 根据条件动态设置 dependentField 的验证规则
+   updateDependentFieldValidation() {
+      const conditionFieldValue = this.form.company;
+      // 清空 dependentField 的验证规则
+      this.rules.certificateNumber = [];
+
       // 根据条件字段的值来决定是否必填
-      if (conditionalFieldValue !==3) {
+      if (conditionFieldValue === 3) {
         // 设置为必填项
-        if (!value) {
-          callback(new Error('certificateNumber 是必填项'));
-        } else {
-          callback();
-        }
-      } else {
-        // 不需要验证
-        callback();
+        this.rules.certificateNumber.push({ required: true, message: 'Dependent Field 是必填项', trigger: 'change' });
       }
     },
     //获取签字公司
@@ -362,6 +359,10 @@ export default {
         }
       });
     },
+    changeCompany(){
+      this.$forceUpdate()
+      this.updateDependentFieldValidation()
+    },
     async init () {
    
       if (this.$route.query.id != 0) {
@@ -641,9 +642,10 @@ export default {
     this.findPfxType();//查询企业签章类型
   },
   mounted () {
-     // 在 mounted 钩子中动态添加 dependentField 的验证规则
-     this.rules.certificateNumber.push({ validator: this.validateDependentField, trigger: 'blur' });
-    console.log( this.rules,' this.formRules');
+
+    this.updateDependentFieldValidation();
+
+
   }
 }
 </script>