Browse Source

Merge branch 'master' of http://121.41.40.202:3000/web/saber into master

yangyj 1 year ago
parent
commit
7108b78237
1 changed files with 24 additions and 16 deletions
  1. 24 16
      src/views/certificate/lists/addList.vue

+ 24 - 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,19 @@ export default {
     }
   },
   methods: {
-      // 自定义验证函数,根据条件动态设置验证规则
-    validateDependentField(rule, value, callback) {
-      const conditionalFieldValue = this.form.company;
+   // 根据条件动态设置 dependentField 的验证规则
+   updateDependentFieldValidation() {
+      const conditionFieldValue = this.form.company;
+      console.log(conditionFieldValue,'conditionFieldValue');
+      // 清空 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' });
+      }else{
+        this.rules.certificateNumber = [];
       }
     },
     //获取签字公司
@@ -362,6 +362,10 @@ export default {
         }
       });
     },
+    changeCompany(){
+      this.$forceUpdate()
+      this.updateDependentFieldValidation()
+    },
     async init () {
    
       if (this.$route.query.id != 0) {
@@ -506,6 +510,7 @@ export default {
         this.form = res.data
         if(res.data.certificateType!==1){
           this.form.company=res.data.certificateType
+          this.form.certificateType=2
         }
 
         if(res.data.certificateFileUrl&&this.form.certificateFileName){
@@ -627,7 +632,9 @@ export default {
       if(val==1){
         console.log(this.form.company,'公司');
         this.form.company=2
+      
         this.$forceUpdate();//强制刷新视图
+        this.updateDependentFieldValidation()
        
       }
     },
@@ -641,9 +648,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>