瀏覽代碼

feat:完善移动端强制留资

malin 3 年之前
父節點
當前提交
da369e385e

+ 23 - 6
src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info_solution.html

@@ -51,13 +51,13 @@
                         <div class="associate-ent-group" v-show="isAssociateShow">
                             <div class="associate-ent-item" @click="selectEnt(item)" v-for="(item, i) in searchList" v-bind:key="i" v-html="highlightText(item, infoMap.company)"></div>
                         </div>
-                        <van-field @input="entOnChange('input')" @blur="entOnChange('blur')" @focus="infoCheckMap.company = ''"
-                                   :error-message="infoCheckMap.company" v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
-                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                        <van-field @input="entOnChange('input')" @blur="getCheckMap('company')" @focus="infoCheckMap.company = ''"
+                                   :error-message="infoCheckMap.company" required v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
+                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  @blur="getCheckMap('company')" v-model="infoMap.position" required label="职位" @click="openPop('职位')" readonly is-link
                                    placeholder="请选择职位"></van-field>
                         <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''"
                                    :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
-                        <van-field v-if="showBranch" v-model="infoMap.branch" label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
+                        <van-field v-if="showBranch" :error-message="infoCheckMap.branch" v-model.trim="infoMap.branch" @blur="getCheckMap('branch')"  required label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
                     </div>
                 </div>
             </div>
@@ -249,7 +249,7 @@
         return this.popInfo.label === '公司类型'
       },
       checkPosition () {
-        if (this.infoMap.position !== "" && this.infoMap.position !== '其他') {
+        if (this.infoMap.position !== "" || this.infoMap.position !== '其他') {
           return true
         }
         if (this.infoMap.position_other.length > 50) {
@@ -258,8 +258,17 @@
         var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;
         return namereg.test(this.infoMap.position_other)
       },
+      checkBranch(){
+        if(this.infoMap.position.indexOf('总裁') > -1 || this.infoMap.position.indexOf('总经理') > -1){
+          return false
+        } else if(this.infoMap.branch !== ""){
+          return false
+        }else{
+          return true
+        } 
+      },
       isSubmitDisabled () {
-        return !this.checkName || !this.checkPhone
+        return !this.checkName || !this.checkPhone || !this.checkPosition  || !this.checkEntName  || this.checkBranch
       },
       isNextDisabled () {
         var type = this.popInfo.label
@@ -456,6 +465,14 @@
               }
               break
             }
+            case 'branch': {
+              var isOther = this.infoMap.branch === '其他' && this.infoMap.branch === ''
+              this.infoCheckMap.branch =  isOther ? '部门为必填项' : ''
+              if (this.infoCheckMap.branch === '' && !this.checkPosition) {
+                this.infoCheckMap.branch = '请输入正确格式的职位'
+              }
+              break
+            }
         }
       },
       cancelForm () {

+ 22 - 5
src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info_strud.html

@@ -66,13 +66,13 @@
                         <div class="associate-ent-group" v-show="isAssociateShow">
                             <div class="associate-ent-item" @click="selectEnt(item)" v-for="(item, i) in searchList" v-bind:key="i" v-html="highlightText(item, infoMap.company)"></div>
                         </div>
-                        <van-field @input="entOnChange('input')" @blur="entOnChange('blur')" @focus="infoCheckMap.company = ''"
+                        <van-field @input="entOnChange('input')" @blur="getCheckMap('company')" @focus="infoCheckMap.company = ''"
                                    :error-message="infoCheckMap.company" required v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
-                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                        <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" required label="职位" @click="openPop('职位')" readonly is-link
                                    placeholder="请选择职位"></van-field>
                         <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''"
-                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
-                        <van-field v-if="showBranch" v-model="infoMap.branch" label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
+                                   :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" required label="职位" placeholder="请输入职位"></van-field>
+                        <van-field v-if="showBranch" :error-message="infoCheckMap.branch" v-model="infoMap.branch" required label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
                     </div>
                 </div>
             </div>
@@ -291,8 +291,17 @@
         var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;
         return namereg.test(this.infoMap.position_other)
       },
+      checkBranch(){
+        if(this.infoMap.position.indexOf('总裁') > -1 || this.infoMap.position.indexOf('总经理') > -1){
+          return false
+        } else if(this.infoMap.branch !== ""){
+          return false
+        }else{
+          return true
+        } 
+      },
       isSubmitDisabled () {
-        return !this.checkName || !this.checkPhone || !this.checkEmail || !this.checkEntName || !this.vercodecor
+        return !this.checkName || !this.checkPhone || !this.checkEmail || !this.checkEntName || !this.vercodecor || !this.checkPosition || this.checkBranch 
       },
       isNextDisabled () {
         var type = this.popInfo.label
@@ -588,6 +597,14 @@
               }
               break
             }
+            case 'branch': {
+              var isOther = this.infoMap.branch === '其他' && this.infoMap.branch === ''
+              this.infoCheckMap.branch =  isOther ? '部门为必填项' : ''
+              if (this.infoCheckMap.branch === '' && !this.branch) {
+                this.infoCheckMap.branch = '请输入正确格式的部门'
+              }
+              break
+            }
         }
       },
       cancelForm () {

+ 15 - 6
src/web/templates/frontRouter/wx/bigmember/free/perfect_info_solution.html

@@ -62,13 +62,13 @@
                       <div class="associate-ent-group" v-show="isAssociateShow">
                           <div class="associate-ent-item" @click="selectEnt(item)" v-for="(item, i) in searchList" v-bind:key="i" v-html="highlightText(item, infoMap.company)"></div>
                       </div>
-                      <van-field @input="entOnChange('input')" @blur="entOnChange('blur')" @focus="infoCheckMap.company = ''"
-                                 :error-message="infoCheckMap.company" v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
-                      <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                      <van-field @input="entOnChange('input')" @blur="getCheckMap('company')" @focus="infoCheckMap.company = ''"
+                                 :error-message="infoCheckMap.company" v-model.trim="infoMap.company" required label="公司名称" placeholder="请输入公司名称"></van-field>
+                      <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" required label="职位" @click="openPop('职位')" readonly is-link
                                  placeholder="请选择职位"></van-field>
                       <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''"
-                                 :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
-                      <van-field v-if="showBranch" v-model="infoMap.branch" label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
+                                 :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" required v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
+                    <van-field v-if="showBranch" :error-message="infoCheckMap.branch" v-model="infoMap.branch" required label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
                   </div>
               </div>
           </div>
@@ -277,8 +277,17 @@
         var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;
         return namereg.test(this.infoMap.position_other)
       },
+      checkBranch(){
+        if(this.infoMap.position.indexOf('总裁') > -1 || this.infoMap.position.indexOf('总经理') > -1){
+          return false
+        } else if(this.infoMap.branch !== ""){
+          return false
+        }else{
+          return true
+        } 
+      },
       isSubmitDisabled () {
-        return !this.checkName || !this.checkPhone
+        return !this.checkName || !this.checkPhone || this.checkBranch || !this.checkPosition || !this.checkEntName
       },
       isNextDisabled () {
         var type = this.popInfo.label

+ 14 - 5
src/web/templates/frontRouter/wx/bigmember/free/perfect_info_strud.html

@@ -77,13 +77,13 @@
                       <div class="associate-ent-group" v-show="isAssociateShow">
                           <div class="associate-ent-item" @click="selectEnt(item)" v-for="(item, i) in searchList" v-bind:key="i" v-html="highlightText(item, infoMap.company)"></div>
                       </div>
-                      <van-field @input="entOnChange('input')" @blur="entOnChange('blur')" @focus="infoCheckMap.company = ''"
+                      <van-field @input="entOnChange('input')" @blur="getCheckMap('company')" @focus="infoCheckMap.company = ''"
                                  :error-message="infoCheckMap.company" required v-model.trim="infoMap.company" label="公司名称" placeholder="请输入公司名称"></van-field>
-                      <van-field :class="{'hide-border': infoMap.position === '其他'}"  v-model="infoMap.position" label="职位" @click="openPop('职位')" readonly is-link
+                      <van-field :class="{'hide-border': infoMap.position === '其他'}"  @blur="getCheckMap('position')"  v-model="infoMap.position" required label="职位" @click="openPop('职位')" readonly is-link
                                  placeholder="请选择职位"></van-field>
                       <van-field class="other-input-group" @focus="infoCheckMap.position_other = ''"
-                                 :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" label="职位" placeholder="请输入职位"></van-field>
-                      <van-field v-if="showBranch" v-model="infoMap.branch" label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
+                                 :error-message="infoCheckMap.position_other" v-model.trim="infoMap.position_other" v-show="infoMap.position === '其他'" required label="职位" placeholder="请输入职位"></van-field>
+                      <van-field v-if="showBranch" :error-message="infoCheckMap.branch" v-model="infoMap.branch"  @blur="getCheckMap('branch')" required label="部门" @click="openPop('部门')" readonly is-link placeholder="请选择部门"></van-field>
                   </div>
               </div>
           </div>
@@ -306,8 +306,17 @@
         var namereg = /^[\u4E00-\u9FA5A-Za-z\s]+(·[\u4E00-\u9FA5A-Za-z]+)*$/;
         return namereg.test(this.infoMap.position_other)
       },
+      checkBranch(){
+        if(this.infoMap.position.indexOf('总裁') > -1 || this.infoMap.position.indexOf('总经理') > -1){
+          return false
+        } else if(this.infoMap.branch !== ""){
+          return false
+        }else{
+          return true
+        } 
+      },
       isSubmitDisabled () {
-        return !this.checkName || !this.checkPhone || !this.checkEmail || !this.checkEntName || !this.vercodecor
+        return !this.checkName || !this.checkPhone || !this.checkEmail || !this.checkEntName || !this.vercodecor|| this.checkBranch || !this.checkPosition
       },
       isNextDisabled () {
         var type = this.popInfo.label