Browse Source

技术服务、基建类三证合一 各种校验等

lijq 6 years ago
parent
commit
8fb542e957

+ 123 - 40
src/dashoo.cn/frontend_web/src/components/oilsupplier/basisinfo.vue

@@ -38,6 +38,14 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
 
 
+          <el-col :span="8">
+           <el-form-item label="请选择">
+            <el-select v-model="value" placeholder="请选择"  @change="showorhid">
+              <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> 
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="准入方式">
           <el-form-item label="准入方式">
             <el-select ref="SpecType" v-model="formData.InStyle" :disabled="!canUpdateSupplier"
             <el-select ref="SpecType" v-model="formData.InStyle" :disabled="!canUpdateSupplier"
@@ -52,13 +60,13 @@
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="统一社会信用代码" prop="CommercialNo">
           <el-form-item label="统一社会信用代码" prop="CommercialNo">
             <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
             <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
-              style="width: 100%" @keyup.native="commnoChange()">
+              style="width: 100%">
             </el-input>
             </el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
 
 
         <el-col :span="8">
         <el-col :span="8">
-          <el-form-item label="税务登记证编号" prop="CountryTaxNo">
+          <el-form-item label="税务登记证编号" prop="CountryTaxNo" v-if="showorhidflag=='show'">
             <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
             <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
               style="width: 100%">
               style="width: 100%">
             </el-input>
             </el-input>
@@ -66,7 +74,7 @@
         </el-col>
         </el-col>
 
 
         <el-col :span="8">
         <el-col :span="8">
-          <el-form-item label="组织机构代码" prop="OrganCode">
+          <el-form-item label="组织机构代码" prop="OrganCode" v-if="showorhidflag=='show'"> 
             <el-input v-model="formData.OrganCode" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
             <el-input v-model="formData.OrganCode" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入"
               style="width: 100%">
               style="width: 100%">
             </el-input>
             </el-input>
@@ -320,7 +328,7 @@
 
 
       </el-row>
       </el-row>
     </el-form>
     </el-form>
-    <el-form label-position="top" ref="EntityFormCert" :model="formData" :disabled="disabled">
+    <el-form label-position="top" ref="EntityFormCert" :rules="rulesform" :model="formData" :disabled="disabled">
       <el-row :gutter="60">
       <el-row :gutter="60">
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="质量管理体系认证情况">
           <el-form-item label="质量管理体系认证情况">
@@ -356,7 +364,7 @@
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
         <el-col :span="16">
         <el-col :span="16">
-          <el-form-item label="营业范围">
+          <el-form-item label="营业范围" prop="BusinessScope"> 
             <el-input v-model="formData.BusinessScope" maxlength="200" placeholder="请输入" type="textarea"
             <el-input v-model="formData.BusinessScope" maxlength="200" placeholder="请输入" type="textarea"
               style="width: 100%"></el-input>
               style="width: 100%"></el-input>
           </el-form-item>
           </el-form-item>
@@ -400,6 +408,38 @@
     },
     },
 
 
     data() {
     data() {
+  var checkemail= (rule, value, callback) => {
+        console.log(value)
+          if (value) {
+            let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的邮箱地址'))
+            } else {
+              callback()
+            }
+          }
+          else{
+            callback()
+          }
+        };
+        var checkCommercialNo =  (rule, value, callback) => {
+         console.log("showorhidflag"+this.showorhidflag)
+        if (!value) {
+          callback(new Error('请输入统一社会信用代码'));
+        } else {
+          if(this.showorhidflag=='hid'){
+            let re = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的统一社会信用代码'))
+            } else {
+              callback()
+            }
+          }
+          else{
+            callback()
+          }
+        }
+      };
       //查找是否有公司信息,若有则补全信息。
       //查找是否有公司信息,若有则补全信息。
       var checkSupplierName =  (rule, value, callback) => {
       var checkSupplierName =  (rule, value, callback) => {
         if (!value) {
         if (!value) {
@@ -408,8 +448,60 @@
           this.searchSupplierName();
           this.searchSupplierName();
           callback();
           callback();
         }
         }
+      };
+       //检查邮编格式
+      var checkZipCode =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入邮编'));
+        } else {
+          let re = /^[1-9]\d{5}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的邮编'))
+            } else {
+              callback()
+            }
+        }
+      };
+      //检查手机号
+       var checkMobile =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入手机号码'));
+        } else {
+          let re = /^1[3456789]\d{9}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的手机号码'))
+            } else {
+              callback()
+            }
+        }
+      };
+
+        //固话检验
+       var checkTelphone =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入固话号码'));
+        } else {
+          let re = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的固话格式为:0000-0000000'))
+            } else {
+              callback()
+            }
+        }
       };
       };
       return {
       return {
+        value:'0',
+         showorhidflag:'hid',
+         selectoptions: [{
+          value: '0',
+          label: '三证合一'
+        }, {
+          value: '1',
+          label: '五证合一',
+        }, {
+          value: '2',
+          label: '正常'
+        }], 
         companyReadonly: false,
         companyReadonly: false,
         companynames: [],
         companynames: [],
         UnitRelationOptions: [],
         UnitRelationOptions: [],
@@ -432,20 +524,12 @@
           label: '否'
           label: '否'
         }],
         }],
 
 
-        checkemail: (rule, value, callback) => {
-          if (!value) {
-            callback(new Error('请输入邮箱'))
-          } else {
-            let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
-            if (!re.test(value)) {
-              callback(new Error('请输入正确的邮箱地址'))
-            } else {
-              callback()
-            }
-          }
-        },
-
         rulesform: {
         rulesform: {
+          BusinessScope:[{
+          required: true,
+            message: '请输入营业范围',
+            trigger: 'change'
+          }],
           SupplierName: [{
           SupplierName: [{
             required: true,
             required: true,
             validator: checkSupplierName,
             validator: checkSupplierName,
@@ -453,14 +537,14 @@
           }, ],
           }, ],
           CommercialNo: [{
           CommercialNo: [{
             required: true,
             required: true,
-            message: '请输入统一社会信用代码',
+            validator: checkCommercialNo,
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
           CountryTaxNo: [{
           CountryTaxNo: [{
             required: true,
             required: true,
             message: '请输入税务登记证编号',
             message: '请输入税务登记证编号',
             trigger: 'change'
             trigger: 'change'
-          }, ],
+          }],
           CompanyType: [{
           CompanyType: [{
             required: true,
             required: true,
             message: '请选择公司类型',
             message: '请选择公司类型',
@@ -482,15 +566,10 @@
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
           EMail: [{
           EMail: [{
-              required: true,
-              message: '请输入邮箱地址',
-              trigger: 'change'
-            },
-            {
-              validator: this.checkemail,
+              required: false,
+              validator: checkemail,
               trigger: 'change'
               trigger: 'change'
-            }
-          ],
+            }],
           OrganCode: [{
           OrganCode: [{
             required: true,
             required: true,
             message: '请输入组织机构代码',
             message: '请输入组织机构代码',
@@ -519,18 +598,13 @@
           }, ],
           }, ],
           Mobile: [{
           Mobile: [{
             required: true,
             required: true,
-            message: '请输入移动电话',
+            validator: checkMobile,
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
 
 
           Telphone: [{
           Telphone: [{
             required: true,
             required: true,
-            message: '请输入固定电话',
-            trigger: 'change'
-          }, ],
-          Fax: [{
-            required: true,
-            message: '请输入传真',
+             validator: checkTelphone,
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
           CompanyTel: [{
           CompanyTel: [{
@@ -540,12 +614,12 @@
           }, ],
           }, ],
           ZipCode: [{
           ZipCode: [{
             required: true,
             required: true,
-            message: '请输入邮编',
+            validator: checkZipCode,
             trigger: 'change'
             trigger: 'change'
           }],
           }],
           LinkZipCode: [{
           LinkZipCode: [{
             required: true,
             required: true,
-            message: '请输入邮编',
+            validator: checkZipCode,
             trigger: 'change'
             trigger: 'change'
           }],
           }],
           LinkProvince: [{
           LinkProvince: [{
@@ -576,10 +650,19 @@
       }
       }
     },
     },
     methods: {
     methods: {
-      commnoChange () {
-        this.formData.CountryTaxNo = this.formData.CommercialNo
-        this.formData.OrganCode = this.formData.CommercialNo
+         showorhid(val){
+          console.log(val)
+          if(val=='0'||val=='1'){
+            this.showorhidflag='hid'
+          }
+          else{
+             this.showorhidflag='show'
+          }
       },
       },
+      // commnoChange () {
+      //   this.formData.CountryTaxNo = this.formData.CommercialNo
+      //   this.formData.OrganCode = this.formData.CommercialNo
+      // },
       //查找是否有公司信息,若有则补全信息
       //查找是否有公司信息,若有则补全信息
       searchSupplierName() {
       searchSupplierName() {
         let _this = this
         let _this = this

+ 129 - 42
src/dashoo.cn/frontend_web/src/components/oilsupplier/techinfo.vue

@@ -50,22 +50,33 @@
 
 
       </el-row>
       </el-row>
       <el-row>
       <el-row>
+
+
+        
+        <el-col :span="8">
+           <el-form-item label="请选择">
+            <el-select v-model="value" placeholder="请选择"  @change="showorhid">
+              <el-option v-for="item in selectoptions" :key="item.value" :label="item.label" :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col> 
         <el-col :span="8">
         <el-col :span="8">
           <el-form-item label="统一社会信用代码" prop="CommercialNo" >
           <el-form-item label="统一社会信用代码" prop="CommercialNo" >
-            <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%" @keyup.native="commnoChange()">
+            <el-input v-model="formData.CommercialNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
             </el-input>
             </el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
 
 
         <el-col :span="8">
         <el-col :span="8">
-          <el-form-item label="税务登记证编号" prop="CountryTaxNo" >
+          <el-form-item label="税务登记证编号" prop="CountryTaxNo" v-if="showorhidflag=='show'" >
             <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
             <el-input v-model="formData.CountryTaxNo" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
             </el-input>
             </el-input>
           </el-form-item>
           </el-form-item>
         </el-col>
         </el-col>
 
 
         <el-col :span="8">
         <el-col :span="8">
-          <el-form-item label="组织机构代码" prop="OrganCode" >
+          <el-form-item label="组织机构代码" prop="OrganCode" v-if="showorhidflag=='show'" >
             <el-input v-model="formData.OrganCode" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
             <el-input v-model="formData.OrganCode" maxlength="50" :readonly="!canUpdateSupplier" placeholder="请输入" style="width: 100%">
             </el-input>
             </el-input>
           </el-form-item>
           </el-form-item>
@@ -301,7 +312,7 @@
 
 
       </el-row>
       </el-row>
     </el-form>
     </el-form>
-    <el-form label-position="top" ref="EntityFormCert" :model="formData" :disabled="disabled">
+    <el-form label-position="top" ref="EntityFormCert" :rules="rulesform"  :model="formData" :disabled="disabled">
     <el-row :gutter="60">
     <el-row :gutter="60">
       <el-col :span="8">
       <el-col :span="8">
         <el-form-item label="质量管理体系认证情况">
         <el-form-item label="质量管理体系认证情况">
@@ -337,7 +348,7 @@
         </el-form-item>
         </el-form-item>
       </el-col>
       </el-col>
       <el-col :span="16">
       <el-col :span="16">
-        <el-form-item label="营业范围">
+        <el-form-item label="营业范围" prop="BusinessScope">
           <el-input v-model="formData.BusinessScope" maxlength="200" placeholder="请输入" type="textarea"
           <el-input v-model="formData.BusinessScope" maxlength="200" placeholder="请输入" type="textarea"
                     style="width: 100%"></el-input>
                     style="width: 100%"></el-input>
         </el-form-item>
         </el-form-item>
@@ -381,6 +392,38 @@
       },
       },
     },
     },
     data () {
     data () {
+        var checkemail= (rule, value, callback) => {
+        console.log(value)
+          if (value) {
+            let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的邮箱地址'))
+            } else {
+              callback()
+            }
+          }
+          else{
+            callback()
+          }
+        };
+        var checkCommercialNo =  (rule, value, callback) => {
+         console.log("showorhidflag"+this.showorhidflag)
+        if (!value) {
+          callback(new Error('请输入统一社会信用代码'));
+        } else {
+          if(this.showorhidflag=='hid'){
+            let re = /^[^_IOZSVa-z\W]{2}\d{6}[^_IOZSVa-z\W]{10}$/g
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的统一社会信用代码'))
+            } else {
+              callback()
+            }
+          }
+          else{
+            callback()
+          }
+        }
+      };
       //查找是否有公司信息,若有则补全信息。
       //查找是否有公司信息,若有则补全信息。
       var checkSupplierName =  (rule, value, callback) => {
       var checkSupplierName =  (rule, value, callback) => {
         if (!value) {
         if (!value) {
@@ -389,8 +432,60 @@
           this.searchSupplierName();
           this.searchSupplierName();
           callback();
           callback();
         }
         }
+      };
+       //检查邮编格式
+      var checkZipCode =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入邮编'));
+        } else {
+          let re = /^[1-9]\d{5}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的邮编'))
+            } else {
+              callback()
+            }
+        }
+      };
+      //检查手机号
+       var checkMobile =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入手机号码'));
+        } else {
+          let re = /^1[3456789]\d{9}$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的手机号码'))
+            } else {
+              callback()
+            }
+        }
+      };
+
+        //固话检验
+       var checkTelphone =  (rule, value, callback) => {
+        if (!value) {
+          callback(new Error('请输入固话号码'));
+        } else {
+          let re = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
+            if (!re.test(value)) {
+              callback(new Error('请输入正确的固话格式为:0000-0000000'))
+            } else {
+              callback()
+            }
+        }
       };
       };
       return {
       return {
+         value:'0',
+         showorhidflag:'hid',
+         selectoptions: [{
+          value: '0',
+          label: '三证合一'
+        }, {
+          value: '1',
+          label: '五证合一',
+        }, {
+          value: '2',
+          label: '正常'
+        }], 
         companyReadonly: false,
         companyReadonly: false,
         companynames: [],
         companynames: [],
         UnitRelationOptions: [],
         UnitRelationOptions: [],
@@ -413,20 +508,12 @@
           label: '否'
           label: '否'
         }],
         }],
 
 
-        checkemail: (rule, value, callback) => {
-          if (!value) {
-            callback(new Error('请输入邮箱'))
-          } else {
-            let re = /^([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|-|.|-]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,3}$/
-            if (!re.test(value)) {
-              callback(new Error('请输入正确的邮箱地址'))
-            } else {
-              callback()
-            }
-          }
-        },
-
         rulesform: {
         rulesform: {
+          BusinessScope:[{
+            required: true,
+            message: '请输入营业范围',
+            trigger: 'change'
+          }],
           SupplierName: [{
           SupplierName: [{
             required: true,
             required: true,
             validator: checkSupplierName,
             validator: checkSupplierName,
@@ -434,7 +521,7 @@
           }, ],
           }, ],
           CommercialNo: [{
           CommercialNo: [{
             required: true,
             required: true,
-            message: '请输入统一社会信用代码',
+            validator: checkCommercialNo,
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
           CountryTaxNo: [{
           CountryTaxNo: [{
@@ -463,12 +550,8 @@
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
           EMail: [{
           EMail: [{
-            required: true,
-            message: '请输入邮箱地址',
-            trigger: 'change'
-          },
-          {
-            validator: this.checkemail,
+            required: false,
+            validator: checkemail,
             trigger: 'change'
             trigger: 'change'
           }],
           }],
           OrganCode: [{
           OrganCode: [{
@@ -497,35 +580,30 @@
             message: '请输入联系人姓名',
             message: '请输入联系人姓名',
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
-          Mobile: [{
+         Mobile: [{
             required: true,
             required: true,
-            message: '请输入移动电话',
+            validator: checkMobile,
             trigger: 'change'
             trigger: 'change'
-          }, ],
+          } ],
 
 
-          Telphone: [{
-            required: true,
-            message: '请输入固定电话',
-            trigger: 'change'
-          }, ],
-          Fax: [{
+           Telphone: [{
             required: true,
             required: true,
-            message: '请输入传真',
+            validator: checkTelphone,
             trigger: 'change'
             trigger: 'change'
-          }, ],
+          }],
           CompanyTel: [{
           CompanyTel: [{
             required: true,
             required: true,
             message: '请输入财务电话',
             message: '请输入财务电话',
             trigger: 'change'
             trigger: 'change'
           }, ],
           }, ],
-          ZipCode: [{
+           ZipCode: [{
             required: true,
             required: true,
-            message: '请输入邮编',
+            validator: checkZipCode,
             trigger: 'change'
             trigger: 'change'
           }],
           }],
           LinkZipCode: [{
           LinkZipCode: [{
             required: true,
             required: true,
-            message: '请输入邮编',
+            validator: checkZipCode,
             trigger: 'change'
             trigger: 'change'
           }],
           }],
           LinkProvince: [{
           LinkProvince: [{
@@ -558,10 +636,19 @@
       }
       }
     },
     },
     methods: {
     methods: {
-      commnoChange () {
-        this.formData.CountryTaxNo = this.formData.CommercialNo
-        this.formData.OrganCode = this.formData.CommercialNo
+       showorhid(val){
+          console.log(val)
+          if(val=='0'||val=='1'){
+            this.showorhidflag='hid'
+          }
+          else{
+             this.showorhidflag='show'
+          }
       },
       },
+      // commnoChange () {
+      //   this.formData.CountryTaxNo = this.formData.CommercialNo
+      //   this.formData.OrganCode = this.formData.CommercialNo
+      // },
       //查找是否有公司信息,若有则补全信息
       //查找是否有公司信息,若有则补全信息
       searchSupplierName() {
       searchSupplierName() {
         let _this = this
         let _this = this

+ 3 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/basisedit.vue

@@ -706,7 +706,8 @@
       // 保存信息
       // 保存信息
       saveEntity() {
       saveEntity() {
         this.$refs['BasisInfo'].$refs['EntityForm'].validate((valid) => {
         this.$refs['BasisInfo'].$refs['EntityForm'].validate((valid) => {
-          if (valid) {
+           this.$refs['BasisInfo'].$refs['EntityFormCert'].validate((vvalid) => {
+          if (valid&&vvalid) {
             if (!this.formData.SetupTime) {
             if (!this.formData.SetupTime) {
               this.formData.SetupTime = null
               this.formData.SetupTime = null
             } else {
             } else {
@@ -722,6 +723,7 @@
             return false
             return false
           }
           }
         })
         })
+        })
       },
       },
 
 
       // 保存信息
       // 保存信息

+ 3 - 1
src/dashoo.cn/frontend_web/src/pages/oilsupplier/supplier/_opera/techedit.vue

@@ -708,7 +708,8 @@
       // 保存信息
       // 保存信息
       saveEntity() {
       saveEntity() {
         this.$refs['TechInfo'].$refs['EntityForm'].validate((valid) => {
         this.$refs['TechInfo'].$refs['EntityForm'].validate((valid) => {
-          if (valid) {
+             this.$refs["TechInfo"].$refs["EntityFormCert"].validate(vvalid => {
+          if (valid&&vvalid) {
             if (!this.formData.SetupTime) {
             if (!this.formData.SetupTime) {
               this.formData.SetupTime = null
               this.formData.SetupTime = null
             } else {
             } else {
@@ -724,6 +725,7 @@
             return false
             return false
           }
           }
         })
         })
+        })
       },
       },
 
 
       // 保存信息
       // 保存信息