Просмотр исходного кода

Merge remote-tracking branch 'origin/release-wangcz-201814' into release-wangcz-201814

gaoxm 7 лет назад
Родитель
Сommit
b03e7f9bd4

+ 3 - 3
components/main/Nav.vue

@@ -39,9 +39,9 @@
       <nuxt-link to="/product/brand/brandList/A" class="item">
         <span>品牌墙</span>
       </nuxt-link>
-     <!-- <nuxt-link to="/pcb" class="item">
+      <nuxt-link to="/pcb" class="item">
         <span>pcb专区</span>
-      </nuxt-link>-->
+      </nuxt-link>
       <nuxt-link to="/news" class="item">
         <span>优软快讯</span>
       </nuxt-link>
@@ -97,7 +97,7 @@
       display: inline-block;
       height: $nav-height;
       line-height: $nav-height;
-      width: 126px;
+      width: 121px;
       text-align: center;
       margin: 0;
       vertical-align: middle;

+ 1 - 1
components/mobile/MobileFooter.vue

@@ -101,7 +101,7 @@
         this.url = url
         if (this.user.logged) {
           if (isSelf && (!this.user.data.enterprise.uu || this.user.data.enterprise.isVendor !== 313)) {
-            this.onRemind('请先前往pc端开通卖家中心')
+            this.onRemind('请前往账户中心【我】进行开店申请')
           } else {
             this.$router.push(url)
           }

+ 3 - 0
components/mobile/MobileHeader.vue

@@ -200,6 +200,9 @@
         } else if (this.startWith(val, '/mobile/center/vendor/attentionBus')) {
           this.showSearchIcon = false
           title = '优软商城'
+        } else if (this.startWith(val, '/mobile/store')) {
+          this.showSearchIcon = false
+          title = '开店申请'
         } else {
           this.showSearchIcon = true
           title = '优软商城'

+ 1 - 1
components/mobile/applyPurchase/SeekList.vue

@@ -2,7 +2,7 @@
   <div>
     <ul class="seek-list">
       <li v-for="(item, index) in purchaseManListData" class="clearfix">
-        <p v-if="!(userType === 'buyer' && seekType === 'wait')">
+        <p v-if="seekType !== 'wait' && userType != 'buyer'">
           <span v-if="item.inquiry && (item.inquiry.enName || (item.inquiry.enterprise && item.inquiry.enterprise.enName))">{{[item.inquiry.enName || item.inquiry.enterprise.enName, user.logged] | enterpriseFilter}}</span>
           <span v-else>{{[item.userName, user.logged] | userNameFilter}}</span>
         </p>

+ 40 - 28
components/mobile/register-saler/Register.vue

@@ -23,14 +23,20 @@
                    :checkData="checkData"
                    :loginData="loginData"
                    :cacheData="cacheData"></step-second>
-      <step-third v-show="section == 3"
+      <choose-storetype v-show="section == 3"
+                  @sectionEvent="sectionChange"
+      >
+
+      </choose-storetype>
+      <step-third v-show="section == 4"
                   @sectionEvent="sectionChange"
                   :registerData="registerData"
                   :enterpriseData="enterpriseData"
                   :checkData="checkData"
                   :businessImgUrl="businessImgUrl"
                   @businessImgUrlAction="onBusinessImgUrl"
-                  :loginData="loginData"></step-third>
+                  :loginData="loginData"
+                  :tab="tab"></step-third>
     </div>
     </div>
 </template>
@@ -38,9 +44,11 @@
   import StepFirst from '~components/mobile/register-saler/register/StepFirst.vue'
   import StepSecond from '~components/mobile/register-saler/register/StepSecond.vue'
   import StepThird from '~components/mobile/register-saler/register/StepThird.vue'
+  import chooseStoretype from '~components/mobile/register-saler/register/chooseStoretype.vue'
   export default {
     data () {
       return {
+        tab: 'ORIGINAL_FACTORY',
         section: 1,
         checkData: {
           checked: false
@@ -63,7 +71,8 @@
     components: {
       StepFirst,
       StepSecond,
-      StepThird
+      StepThird,
+      chooseStoretype
     },
     computed: {
       user () {
@@ -84,37 +93,40 @@
       } else {
         isSelf = true
       }
-      // if (!isSelf) { // 是企业
-      //   this.$http.get('/basic/enterprise/' + tempEnterprise.uu + '/info')
-      //     .then(response => {
-      //       this.enterpriseData = response.data
-      //       this.section = 1
-      //       this.checkData.checked = false
-      //     })
-      // } else { // 是个人
-      //   this.$http.get('/basic/user/userCacheEnterprise')
-      //     .then(response => {
-      //       if (!response.data) {
-      //         this.section = 1
-      //         this.checkData.checked = false
-      //       } else if (!response.data.enIsRead) {
-      //         this.section = 2
-      //         this.checkData.checked = false
-      //         this.enterpriseData = response.data
-      //       } else if (response.data.enIsRead) {
-      //         this.section = 3
-      //         this.checkData.checked = true
-      //         this.enterpriseData = response.data
-      //       }
-      //     })
-      // }
+      if (!isSelf) { // 是企业
+        this.$http.get('/basic/enterprise/' + tempEnterprise.uu + '/info')
+          .then(response => {
+            this.enterpriseData = response.data
+            this.section = 1
+            this.checkData.checked = false
+          })
+      } else { // 是个人
+        this.$http.get('/basic/user/userCacheEnterprise')
+          .then(response => {
+            if (!response.data) {
+              this.section = 1
+              this.checkData.checked = false
+            } else if (!response.data.enIsRead) {
+              this.section = 2
+              this.checkData.checked = false
+              this.enterpriseData = response.data
+            } else if (response.data.enIsRead) {
+              this.section = 3
+              this.checkData.checked = true
+              this.enterpriseData = response.data
+            }
+          })
+      }
       this.loginData.isSelf = isSelf
       this.loginData.section = this.section
       this.loginData.enterprise = tempEnterprise
     },
     methods: {
-      sectionChange: function (num) {
+      sectionChange: function (num, tab) {
         this.section = num
+        if (tab) {
+          this.tab = tab
+        }
       },
       onRegister: function (data) {
         this.registerData.isValidRegister = data.isValidRegister

+ 96 - 40
components/mobile/register-saler/register/StepFirst.vue

@@ -9,7 +9,7 @@
       <div class="">
         <label class="col-sm-2 mobile-x-required">企业名称:</label>
         <div class="col-sm-5 mobile-x-input-kuang">
-          <input :class="!validName.isValidTypeName || !validName.isValidName?'form-control error-box-border':'form-control'" type="text" @change="nameCheck(3)" @input="nameTypeCheck()" :disabled="!loginData.isSelf" v-model="data.name" name="name" required="" placeholder="填写营业执照上的企业名称">
+          <input :class="!validName.isValidTypeName || !validName.isValidName?'form-control error-box-border':'form-control'" type="text" @input="nameTypeCheck()" :disabled="!loginData.isSelf" v-model="data.name" name="name" required="" placeholder="填写营业执照上的企业名称">
           <div class="mobile-x-text-help" v-show="validName.isValidTypeName && validName.isValidName && !validName.init">
             <i class="glyphicon glyphicon-ok x-icon-left"></i>
           </div>
@@ -33,7 +33,7 @@
             <i class="glyphicon glyphicon-ok x-icon-left"></i>
           </div>
         </div>
-        <div class="col-sm-5" v-show="!validLicence.isValidLicence && !validLicence.init"><p><i class="fa fa-info-circle"></i>请填写营业执照上的注册号</p></div>
+        <div class="col-sm-5 mobile-x-text-info" v-show="!validLicence.isValidLicence && !validLicence.init"><p><i class="fa fa-info-circle"></i>请填写营业执照上的注册号</p></div>
       </div>
       <div class="row">
         <label class="col-sm-2 mobile-x-required">注册地址:</label>
@@ -91,8 +91,17 @@
         <div class="col-sm-5" v-show="!validAddress.isValidAddress && !validAddress.init"><p><i class="fa fa-info-circle"></i>填写总部所在地详细地址</p></div>
       </div>
     </div>
-    <div class="row next-btn"><button class="btn" :style="loginData.isSelf && !isValid ? 'opacity: .65;':''" @click="sectionChange(2)">下一步</button></div>
+    <div class="row next-btn"><button class="btn" style="background: rgb(63, 132, 246);width: 90%; color: #fff;" :style="loginData.isSelf && !isValid ? 'opacity: .65;':''" @click="sectionChange(2)">下一步</button></div>
     <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
+    <div class="mobile-modal" v-if="showBangdingPage">
+      <div class="BangdingPageAlert">
+        <div class="BangdingPageAlertTitle">该企业<span>已注册优软账号</span>,如希望使用当前企业进行开店申请,请先申请<span>企业绑定</span>!</div>
+        <div class="BangdingPageAlertBtn">
+          <span @click="resetOnkeyDown()">重新输入</span>
+          <nuxt-link tag="span" to="/mobile/user/bindEnterprise">立即绑定</nuxt-link>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 <script>
@@ -100,6 +109,7 @@
   export default {
     data () {
       return {
+        showBangdingPage: false,
         timeoutCount: 0,
         collectResult: '',
         data: {
@@ -246,49 +256,56 @@
 //      })
     },
     methods: {
+      resetOnkeyDown: function() {
+        this.showBangdingPage = false
+        this.data.name = ''
+      },
       initData: function (val) {
         this.data.name = val.spaceName || val.enName || val.name || ''
         this.data.licenceId = val.businessCode || val.licenceId || val.enBussinessCode || ''
         this.data.address = val.address || val.enAddress || ''
       },
       sectionChange: function (type) {
-        if (!this.isValid) {
-          if (!this.validName.isValidName) {
-            console.log('跳到绑定页面')
-          } else {
-            this.timeoutCount++
-            this.collectResult = '请填写正确的注册信息'
-          }
-          // this.$message.error('请填写正确的注册信息')
-        } else {
-          if (this.enterpriseData.uu) {
-            this.enCheckFullData()
+        this.nameCheck(3, () => {
+          if (!this.isValid) {
+            // this.nameCheck(3)
+            if (!this.validName.isValidName) {
+              this.showBangdingPage = true
+            } else {
+              this.timeoutCount++
+              this.collectResult = '请填写正确的注册信息'
+            }
+            // this.$message.error('请填写正确的注册信息')
           } else {
-            this.checkFullData()
-          }
-          let enterprise = this.data
-//          enterprise.tagsData = enterprise.tagsData.toString()
-//          if (typeof this.data.tagsData === 'string') {
-//            this.data.tagsData = this.data.tagsData.split(',')
-//          }
-          let data = {}
-          data.enterprise = enterprise
-          data.isValidRegister = this.isValid
-//          data.url = this.data.url
-          enterprise.enIsRead = false
-//          enterprise.enBussinessCodeImage = this.data.url
-          // 个人用户,提交保存缓存企业信息
-          if (this.loginData.isSelf) {
-            this.$http.post('/basic/user/userCacheEnterprise', enterprise)
-            this.$emit('isSelfCacheDataAction', enterprise)
-          } else { // 企业用户,更新当前企业信息,主要是更新企业地址
-            this.enterpriseData.enAddress = this.data.address
-            this.$http.post('/basic/enterprise/' + this.enterpriseData.uu + '/updateInfo', this.enterpriseData)
+            if (this.enterpriseData.uu) {
+              this.enCheckFullData()
+            } else {
+              this.checkFullData()
+            }
+            let enterprise = this.data
+  //          enterprise.tagsData = enterprise.tagsData.toString()
+  //          if (typeof this.data.tagsData === 'string') {
+  //            this.data.tagsData = this.data.tagsData.split(',')
+  //          }
+            let data = {}
+            data.enterprise = enterprise
+            data.isValidRegister = this.isValid
+  //          data.url = this.data.url
+            enterprise.enIsRead = false
+  //          enterprise.enBussinessCodeImage = this.data.url
+            // 个人用户,提交保存缓存企业信息
+            if (this.loginData.isSelf) {
+              this.$http.post('/basic/user/userCacheEnterprise', enterprise)
+              this.$emit('isSelfCacheDataAction', enterprise)
+            } else { // 企业用户,更新当前企业信息,主要是更新企业地址
+              this.enterpriseData.enAddress = this.data.address
+              this.$http.post('/basic/enterprise/' + this.enterpriseData.uu + '/updateInfo', this.enterpriseData)
+            }
+            this.$emit('registerAction', data)
+            this.$emit('sectionEvent', type)
+  //          this.$emit('businessImgUrlAction', this.data.url)
           }
-          this.$emit('registerAction', data)
-          this.$emit('sectionEvent', type)
-//          this.$emit('businessImgUrlAction', this.data.url)
-        }
+        })
       },
 //      upload: function (e) {
 //        let file = e.target.files[0]
@@ -385,7 +402,7 @@
         this.validName.init = false
       },
       // 企业名称是否已存在验证
-      nameCheck: function (num) {
+      nameCheck: function (num, cb) {
         if (num > 0) {
           this.$http.post('/basic/enterprise/register/valid/name?name=' + this.data.name)
             .then(response => {
@@ -393,6 +410,7 @@
                 this.validName.init = false
                 this.validName.isValidName = response.data.success
                 this.validCheck()
+                cb && cb()
               } else {
                 this.nameCheck(num - 1)
               }
@@ -607,6 +625,44 @@
 </script>
 
 <style scoped lang="scss">
+  .BangdingPageAlert {
+    position: absolute;
+    background: #fff;
+    width: 95%;
+    left: 0;
+    right: 0;
+    margin: 0 auto;
+    height: 2.4rem;
+    border-radius: 5px;
+    font-size: 0.28rem;
+    top: 50%;
+    margin-top: -1.2rem;
+  }
+  .BangdingPageAlert .BangdingPageAlertTitle {
+    margin: 0.4rem;
+    line-height: 0.4rem
+  }
+  .BangdingPageAlert .BangdingPageAlertTitle span {
+    color: #3f84f6;
+  }
+  .BangdingPageAlert .BangdingPageAlertBtn {
+    border-top: 1px solid #d3d3d3;
+  }
+  .BangdingPageAlert .BangdingPageAlertBtn span {
+    font-size: 0.32rem;
+    color: #999;
+    text-align: center;
+    width: 50%;
+    line-height: 0.74rem;
+    height: 0.74rem;
+    display: inline-block;
+  }
+  .BangdingPageAlert .BangdingPageAlertBtn span:nth-child(1) {
+    border-right: 1px solid #d3d3d3;
+  }
+  .BangdingPageAlert .BangdingPageAlertBtn span:nth-child(2) {
+    color: #3f84f6;
+  }
   .mobile-register {
     border: 1px solid #d3d3d3;
     margin: 0.2rem 0.2rem;
@@ -665,7 +721,7 @@
   .mobile-fiexd-modal {
     .dropdown-menu{
       width: 100%;
-      top:0.98rem;
+      top: auto;
       bottom: 0.98rem;
       padding: 0;
       border-radius: 0;

+ 25 - 16
components/mobile/register-saler/register/StepSecond.vue

@@ -11,27 +11,31 @@
         <div class="text-area">
           <div class="ql-container ql-snow" v-html="article"></div>
         </div>
+        <div class="row" style="margin:10px 0 10px 0;padding:0 0.2rem;">
+          <div class="checkbox-inline">
+            <input type="checkbox" id="agree" name="agree" value="1" :checked="checkData.checked" @click="onCheck()" style="-webkit-appearance:checkbox">
+            我已阅读并同意<a href="http://www.usoftmall.com/help#/issue/50" target="_blank">
+            《优软商城服务条款》</a>、<a href="http://www.usoftmall.com/help#/issue/16" target="_blank">
+            《优软商城买卖条例》</a>
+          </div>
+        </div>
+        <div class="row next-btn step-two-btn" style="">
+          <button @click="sectionChange(1)" class="btn">不同意</button>
+          <button @click="sectionChange(3)" class="btn" :style="!checkData.checked ? 'opacity: 1;':''">同意</button>
+        </div>
       </div>
     </div>
-    <div class="row" style="margin-left: 30px; text-align: center;">
-      <label class="checkbox-inline">
-        <input type="checkbox" id="agree" name="agree" value="1" :checked="checkData.checked" @click="onCheck()" >
-        我已阅读并同意<a href="http://www.usoftmall.com/help#/issue/50" target="_blank">
-        《优软商城服务条款》</a>、<a href="http://www.usoftmall.com/help#/issue/16" target="_blank">
-        《优软商城买卖条例》</a>
-      </label>
-    </div>
-    <div class="row next-btn step-two-btn" style="margin-top: 20px">
-      <button @click="sectionChange(1)" class="btn">上一步</button>
-      <button @click="sectionChange(3)" class="btn" :style="!checkData.checked ? 'opacity: .65;':''">下一步</button>
-    </div>
+    <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
   </div>
 </template>
 <script>
+  import { RemindBox } from '~components/mobile/common'
   export default {
     props: ['checkData', 'loginData', 'cacheData'],
     data () {
       return {
+        timeoutCount: 0,
+        collectResult: '',
         chooseTag: 1,
         article: ''
       }
@@ -47,7 +51,9 @@
     methods: {
       sectionChange: function (type) {
         if (!this.checkData.checked && type === 3) {
-          this.$message.error('请阅读相关条例')
+          this.timeoutCount++
+          this.collectResult = '请阅读相关条例'
+          // this.$message.error('请阅读相关条例')
         } else {
           this.$emit('sectionEvent', type)
         }
@@ -86,6 +92,9 @@
           }
         }
       }
+    },
+    components: {
+      RemindBox
     }
   }
 </script>
@@ -94,8 +103,8 @@
   @import '~assets/scss/help.css';
   .step-two-btn button:first-child{
     background: #fff;
-    color: #5078cb;
-    border: 1px solid #5078cb;
+    color: #999;
+    border-right: 1px solid #d3d3d3;
   }
   .mobile-join_xieyi .ql-editor span,.mobile-join_xieyi .ql-editor a {
     font-size: 12px;
@@ -105,7 +114,7 @@
     display: none;
   }
   .mobile-join_xieyi .ql-editor {
-    padding: 0 0 0 25px;
+    padding: 0 5px;
   }
  /* .join_xieyi .ql-editor p {
     width: 494px;

+ 192 - 607
components/mobile/register-saler/register/StepThird.vue

@@ -1,6 +1,6 @@
 <template>
   <!--最后一步-->
-  <div class="section">
+  <div class="section" style="height: calc(100vh - 0.98rem - 0.88rem);overflow-y: auto;">
     <div class="step-last">
 <!--      <h4 class="h4">免费开店</h4>
       <p class="title">申请开店完全免费,一个企业只能开一家店,申请到正式开通预计需1-3个工作日。了解更多请看《开店规则》</p>-->
@@ -18,10 +18,10 @@
       <!--</label>-->
     <!--</div>-->
     <!--导入店铺模板-->
-    <div class="container vendor_store_apply" v-show="selectFlag == 'open'">
+    <div class="vendor_store_apply" v-show="selectFlag == 'open'">
         <div>
           <!-- Nav tabs -->
-          <ul class="nav nav-tabs">
+          <ul class="nav nav-tabs" v-show="false">
             <li><div style="height: 39px;line-height: 39px;font-size: 14px;">店铺类型:</div></li>
             <li class="custom_tab" :class="{active: tab == 'ORIGINAL_FACTORY'}" @click="toggleTab('ORIGINAL_FACTORY')">
               <a href="javascript:void(0)">原厂</a>
@@ -34,50 +34,60 @@
             </li>
           </ul>
           <!-- Tab panes -->
-          <div class="tab-content">
+          <div class="mobile-tab-content">
             <!-- 原厂 -->
             <div role="tabpanel" class="tab-pane" v-if="tab == 'ORIGINAL_FACTORY'" :class="{active: tab == 'ORIGINAL_FACTORY'}">
               <div class="row com_row">
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>营业执照</div>
+                  <div class="clearfix" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image pull-left">
                       <upload :typeData="'BUSINESS_LICENSE'" :url="businessLicenseUrl" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>
+                    <div class="pull-left infoTextMobile" style="width: 5.1rem;margin-left: 0.2rem">
+                      <em style="color: #FF0000;">*</em>如已上传最新版营业执照(三证合一),则其他两证无需上传;仅支持上传JPG、PNG、GIF、PDF格式,每张大小超过3M
                     </div>
+                    <!--<div class="col-md-5" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>纳税人证明</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload  :typeData="'TAX_PAYER'" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">纳税人证明</span>
-                    </div>
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>税务登记证</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload :typeData="'TAX_REGISTRATION'" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>
-                    </div>
+                    <!--<div class="col-md-5" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-12"><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>
+                <!--<div class="col-md-12"><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>-->
               </div>
               <!--增加品牌-->
-              <div class="brand-type row" v-for="(brand, index) in brands">
-                <div class="col-md-1">品牌{{index+1}}<em v-if="index == 0">*</em></div>
-                <div class="col-md-7">
-                  <input type="text" v-model="brand.name"
-                         @input="onBrandInput(brand, index)"
-                         @blur.stop.prevent="onBrandChanged(brand, index)"
-                         class="form-control" name="brandName"  autocomplete="off" placeholder="请输入英文品牌或中文品牌,如:松下; panasonic等"/>
+              <div class="custom_col brand-type" v-for="(brand, index) in brands">
+                <div class="wrap-title"><span class="line"></span>品牌{{index+1}}</div>
+                <!--<div class="col-md-1">品牌{{index+1}}<em v-if="index == 0">*</em></div>-->
+                <div class="" style="margin: 0px 0.25rem;position: relative">
+                  <div class="mobile-register-brand-name">品牌名称:<input @input="onBrandInput(brand, index)"
+                                   @blur.stop.prevent="onBrandChanged(brand, index)"
+                                   type="text" v-model="brand.name"
+                                   placeholder="请输入英文品牌或中文品牌"
+                                   name="brandName" />
+                  </div>
+                  <!--<input type="text" v-model="brand.name"-->
+                         <!--@input="onBrandInput(brand, index)"-->
+                         <!--@blur.stop.prevent="onBrandChanged(brand, index)"-->
+                         <!--class="form-control" name="brandName"  autocomplete="off" placeholder="请输入英文品牌或中文品牌,如:松下; panasonic等"/>-->
                   <ul class="dropdown-menu"
                       v-show="showSimilarKey.flag && showSimilarKey.index == index"
                       @mouseenter="showFlag = true"
@@ -92,17 +102,18 @@
                     </li>
                   </ul>
                 </div>
-                <div class="brand-small-upload col-md-4">
+                <div class="brand-small-upload clearfix" style="margin: 0.1rem 0.25rem 0 0.25rem">
                   <div class="brand-small-img">
                     <upload :typeData="index" @uploadAction="onUpload"></upload>
                   </div>
                   <div class="file-text">品牌logo/商标注册原件/授权说明书</div>
                   <div v-show="brands.length > 1" @click="deleteBrand(index)" class="delete" title="删除"><i class="fa fa-trash"></i></div>
-                  <div class="col-md-12"><em v-if="index == 0">*</em>仅支持JPG、PNG、GIF、PDF格式,大小不超过3M</div>
+                  <!--<div class="col-md-12"><em v-if="index == 0">*</em>仅支持JPG、PNG、GIF、PDF格式,大小不超过3M</div>-->
                 </div>
               </div>
-              <div class="add-brand row">
-                <a href="javascript:void(0)" title="增加品牌" @click="addBrand"><em><i class="fa fa-plus-circle"></i>增加品牌</em></a>
+              <div class="add-brand" @click="addBrand">
+                <i class="fa fa-plus-circle"></i>增加品牌
+                <!--<a href="javascript:void(0)" title="增加品牌" @click="addBrand"><em><i class="fa fa-plus-circle"></i>增加品牌</em></a>-->
               </div>
               <div class="unpass-reason row" style="display: none">
                 原因:<span style="color: #d32526;">原因</span>
@@ -112,46 +123,56 @@
             <!--代理商 begin-->
             <div role="tabpanel" class="tab-pane" v-if="tab == 'AGENCY'" :class="{active: tab == 'AGENCY'}">
               <div class="row com_row">
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>营业执照</div>
+                  <div class="clearfix" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image pull-left">
                       <upload :typeData="'BUSINESS_LICENSE'" :url="businessLicenseUrl" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>
+                    <div class="pull-left infoTextMobile" style="width: 5.1rem;margin-left: 0.2rem">
+                      <em style="color: #FF0000;">*</em>如已上传最新版营业执照(三证合一),则其他两证无需上传;仅支持上传JPG、PNG、GIF、PDF格式,每张大小超过3M
                     </div>
+                    <!--<div class="" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>纳税人证明</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload  :typeData="'TAX_PAYER'" @uploadAction="onUpload"></upload>
-                    </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">纳税人证明</span>
-                    </div>
+                  </div>
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>税务登记证</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload :typeData="'TAX_REGISTRATION'" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>
-                    </div>
+                    <!--<div class="col-md-5" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-12"><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>
+                <!--<div class=""><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>-->
               </div>
               <!--增加品牌-->
-              <div class="brand-type row" v-for="(brand, index) in brands">
-                <div class="col-md-1">品牌{{index+1}}<em>*</em></div>
-                <div class="col-md-7">
-                  <input type="text" v-model="brand.name"
-                         @input="onBrandInput(brand, index)"
-                         @blur.stop.prevent="onBrandChanged(brand, index)"
-                         class="form-control" name="brandName"  autocomplete="off" placeholder="请输入英文品牌或中文品牌,如:松下; panasonic等"/>
+              <div class="custom_col brand-type" v-for="(brand, index) in brands">
+                <!--<div class="col-md-1">品牌{{index+1}}<em>*</em></div>-->
+                <div class="wrap-title"><span class="line"></span>品牌{{index+1}}</div>
+                <div class="" style="margin: 0px 0.25rem;position: relative">
+                  <div class="mobile-register-brand-name">品牌名称:<input type="text" v-model="brand.name"
+                                                                      @input="onBrandInput(brand, index)"
+                                                                      @blur.stop.prevent="onBrandChanged(brand, index)"
+                                                                      placeholder="请输入英文品牌或中文品牌"
+                                                                      name="brandName" />
+                  </div>
+                  <!--<input type="text" v-model="brand.name"-->
+                         <!--@input="onBrandInput(brand, index)"-->
+                         <!--@blur.stop.prevent="onBrandChanged(brand, index)"-->
+                         <!--class="form-control" name="brandName"  autocomplete="off" placeholder="请输入英文品牌或中文品牌,如:松下; panasonic等"/>-->
                   <ul class="dropdown-menu"
                       v-show="showSimilarKey.flag && showSimilarKey.index == index"
                       @mouseenter="showFlag = true"
@@ -165,18 +186,22 @@
                     </li>
                   </ul>
                 </div>
-                <div class="brand-small-upload col-md-4">
+                <div class="brand-small-upload clearfix"  style="margin: 0.1rem 0.25rem 0 0.25rem">
                   <div class="brand-small-img">
                     <upload :typeData="index" @uploadAction="onUpload"></upload>
                   </div>
                   <div class="file-text">代理资格证/代理授权书</div>
                   <div v-show="brands.length > 1" @click="deleteBrand(index)" class="delete" title="删除"><i class="fa fa-trash"></i></div>
-                  <div class="col-md-12"> <em>*</em>仅支持JPG、PNG、GIF、PDF格式,大小不超过3M</div>
+                  <!--<div class="col-md-12"> <em>*</em>仅支持JPG、PNG、GIF、PDF格式,大小不超过3M</div>-->
                 </div>
               </div>
-              <div class="add-brand row">
-                <a href="javascript:void(0)" title="增加品牌" @click="addBrand"><em><i class="fa fa-plus-circle"></i>增加品牌</em></a>
+              <div class="add-brand" @click="addBrand">
+                <i class="fa fa-plus-circle"></i>增加品牌
+                <!--<a href="javascript:void(0)" title="增加品牌" @click="addBrand"><em><i class="fa fa-plus-circle"></i>增加品牌</em></a>-->
               </div>
+              <!--<div class="add-brand row">-->
+                <!--<a href="javascript:void(0)" title="增加品牌" @click="addBrand"><em><i class="fa fa-plus-circle"></i>增加品牌</em></a>-->
+              <!--</div>-->
               <div class="unpass-reason row" style="display: none">
                 原因:<span style="color: #d32526;">原因</span>
               </div>
@@ -185,37 +210,40 @@
             <!--经销商 begin-->
             <div role="tabpanel" class="tab-pane" v-if="tab == 'DISTRIBUTION'" :class="{active: tab == 'DISTRIBUTION'}">
               <div class="row com_row">
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>营业执照</div>
+                  <div class="clearfix" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image pull-left">
                       <upload :typeData="'BUSINESS_LICENSE'" :url="businessLicenseUrl" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>
+                    <div class="pull-left infoTextMobile" style="width: 5.1rem;margin-left: 0.2rem">
+                      <em style="color: #FF0000;">*</em>如已上传最新版营业执照(三证合一),则其他两证无需上传;仅支持上传JPG、PNG、GIF、PDF格式,每张大小超过3M
                     </div>
+                    <!--<div class="col-md-5" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">营业执照<em style="color: #FF0000;">*</em></span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>纳税人证明</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload  :typeData="'TAX_PAYER'" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">纳税人证明</span>
-                    </div>
                   </div>
                 </div>
-                <div class="col-md-4 custom_col">
-                  <div class="row" style="margin: 0;">
-                    <div class="col-md-5 col-md-offset-1 show_image_area show_image">
+                <div class="custom_col">
+                  <div class="wrap-title"><span class="line"></span>税务登记证</div>
+                  <div class="" style="margin: 0 0.25rem">
+                    <div class="show_image_area show_image">
                       <upload :typeData="'TAX_REGISTRATION'" @uploadAction="onUpload"></upload>
                     </div>
-                    <div class="col-md-5" style="padding: 0;">
-                      <span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>
-                    </div>
+                    <!--<div class="col-md-5" style="padding: 0;">-->
+                      <!--<span style="margin-top: 50%;padding-right: 20px;">税务登记证</span>-->
+                    <!--</div>-->
                   </div>
                 </div>
-                <div class="col-md-12"><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>
+                <!--<div class="col-md-12"><em>* </em>如已上传最新版营业执照(三证合一),则其他两证无需上传 ; 仅支持JPG、PNG、GIF、PDF格式,每张大小不超过3M</div>-->
               </div>
             </div>
             <!--经销商 end-->
@@ -247,7 +275,7 @@
           </div>
         </div>
         <!--提示框-->
-        <div class="com-del-box" v-if="showBrandNameInvalid">
+        <div class="com-del-box" v-if="false">
           <div class="title">
             <a @click="showBrandNameInvalid = false"><i class="fa fa-close fa-lg"></i></a>
           </div>
@@ -261,21 +289,35 @@
       <h4 class="h4">库存寄售</h4>
       <p class="title">无需开店,即可发布贵司仓库里的滞销产品,优软商城代为销售,匿名清仓无压力<button class="no-apply" @click="goProduct">暂不开店,直接寄售</button></p>
     </div>-->
-    <div class="row btn-area">
-      <span @click="sectionChange(2)">上一步</span>
+    <div class="btn-area">
+      <span @click="sectionChange(3)" style="background: #c1c1c1;border:#c1c1c1">上一步</span>
+      <!--<span @click="btnDisabled?'':selectFlag == 'open'?submitApply():goProduct()" :class="btnDisabled?'btn-disabled':''">提交申请</span>-->
+    </div>
+    <div class="btn-area">
+      <!--<span @click="sectionChange(2)">上一步</span>-->
       <span @click="btnDisabled?'':selectFlag == 'open'?submitApply():goProduct()" :class="btnDisabled?'btn-disabled':''">提交申请</span>
     </div>
+
     <div class="loading" v-show="showLoading">
       <img src="/images/all/loading.gif" alt="">
     </div>
+    <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
   </div>
 </template>
 <script>
+  import { RemindBox } from '~components/mobile/common'
   import Upload from '~components/common/upload/upload.vue'
   export default {
+    // props: {
+    //   tab: {
+    //     default: 'ORIGINAL_FACTORY'
+    //   }
+    // },
     data () {
       return {
-        tab: 'ORIGINAL_FACTORY',
+        // tab: 'AGENCY',
+        collectResult: '',
+        timeoutCount: 0,
         brands: [{
           type: 'BRAND',
           name: '',
@@ -305,7 +347,8 @@
       'registerData',
       'loginData',
       'enterpriseData',
-      'businessImgUrl'
+      'businessImgUrl',
+      'tab'
     ],
     watch: {
       enterpriseData: function (val, oldVal) {
@@ -319,7 +362,8 @@
       }
     },
     components: {
-      Upload
+      Upload,
+      RemindBox
     },
     computed: {
       user () {
@@ -400,15 +444,21 @@
       submitApply: function () {
         if (this.loginData.isSelf) {
           if (!this.registerData.isValidRegister) {
-            this.$message.error('请输入正确的注册信息')
+            // this.$message.error('请输入正确的注册信息')
+            this.collectResult = '请输入正确的注册信息'
+            this.timeoutCount++
           } else if (!this.checkData.checked) {
-            this.$message.error('您还没有勾选相关条款')
+            // this.$message.error('您还没有勾选相关条款')
+            this.collectResult = '您还没有勾选相关条款'
+            this.timeoutCount++
           } else {
             this.registerSelf()
           }
         } else {
           if (!this.checkData.checked) {
-            this.$message.error('您还没有勾选相关条款')
+            // this.$message.error('您还没有勾选相关条款')
+            this.collectResult = '您还没有勾选相关条款'
+            this.timeoutCount++
           } else {
             this.storeApply(this.loginData.enterprise.uu)
           }
@@ -436,20 +486,26 @@
             } else {
               this.isSelfRegisterSuccess = false
               this.showLoading = false
-              this.$message.error(response.data.message || '企业注册失败,请重新填写信息')
+              // this.$message.error(response.data.message || '企业注册失败,请重新填写信息')
+              this.collectResult = response.data.message || '企业注册失败,请重新填写信息'
+              this.timeoutCount++
             }
           }, err => {
             console.log(err)
             this.isSelfRegisterSuccess = false
             this.showLoading = false
-            this.$message.error('企业注册失败,请重新填写信息')
+            this.collectResult = '企业注册失败,请重新填写信息'
+            this.timeoutCount++
+            // this.$message.error('企业注册失败,请重新填写信息')
           })
       },
       storeApply: function (enuu) {
         this.showLoading = true
         let validCode = 0
         if (this.businessLicenseUrl === '') {
-          this.$message.error('请上传营业执照')
+          // this.$message.error('请上传营业执照')
+          this.collectResult = '请上传营业执照'
+          this.timeoutCount++
           this.showLoading = false
         } else {
           if (this.brands[0].name === '') {
@@ -493,10 +549,15 @@
               this.showLoading = false
               if (response.data.success) {
                 this.btnDisabled = true
-                this.$message.success('感谢您对优软商城的支持,我们会尽快对您提交的信息进行审核,预计审核时间为3个工作日,审核结果将以站内消息及邮件形式通知您!')
+                this.collectResult = '感谢您对优软商城的支持,我们会尽快对您提交的信息进行审核,预计审核时间为3个工作日,审核结果将以站内消息及邮件形式通知您!'
+                this.timeoutCount++
+                // this.push('/mobile/')
+                // this.$message.success('感谢您对优软商城的支持,我们会尽快对您提交的信息进行审核,预计审核时间为3个工作日,审核结果将以站内消息及邮件形式通知您!')
               } else {
                 this.btnDisabled = true
-                this.$message.error('开通店铺异常,请前往我的店铺查看店铺开通进度')
+                this.collectResult = '开通店铺异常,请前往PC端,我的店铺查看店铺开通进度'
+                this.timeoutCount++
+                // this.$message.error('开通店铺异常,请前往我的店铺查看店铺开通进度')
               }
               this.$http.post('/basic/enterprise/openVendor/' + enuu)
                 .then(() => {
@@ -504,24 +565,34 @@
                     .then(() => {
                       this.$http.get(`/user/authentication/` + enuu).then(() => {
                         this.$store.dispatch('loadUserInfo')
+                        // setTimeout(() => {
+                        this.$router.push('/mobile/user')
+                        // }, 3000)
                       })
                     })
                 })
-              window.setTimeout(function () {
-                window.location.href = '/vendor#/store-apply/wait'
-              }, 3000)
+
+              // window.setTimeout(function () {
+                // window.location.href = '/vendor#/store-apply/wait'
+              // }, 3000)
             }, err => {
               console.log(err)
               this.$http.post('/basic/enterprise/openVendorSetRead/' + enuu)
-              this.$message.error('开通店铺失败')
+              this.collectResult = '开通店铺失败'
+              this.timeoutCount++
+              // this.$message.error('开通店铺失败')
               this.showLoading = false
             })
           } else {
             if (validCode === 1) {
-              this.$message.error('请添加品牌信息')
+              this.collectResult = '请添加品牌信息'
+              this.timeoutCount++
+              // this.$message.error('请添加品牌信息')
               this.showLoading = false
             } else if (validCode === 2) {
-              this.$message.error('请上传品牌图片')
+              this.collectResult = '请上传品牌图片'
+              this.timeoutCount++
+              // this.$message.error('请上传品牌图片')
               this.showLoading = false
             }
           }
@@ -551,7 +622,8 @@
               .then(() => {
                 this.$http.get(`/user/authentication/` + enuu).then(() => {
                   this.$store.dispatch('loadUserInfo')
-                  window.location.href = url
+                  // window.location.href = url
+                  this.$router.push('/mobile/user')
                 })
               }
               )
@@ -598,511 +670,24 @@
     }
   }
 </script>
-<style scoped>
-  .com-input{
-    width: 100%;
-    height: 100%;
-    text-align: center;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    opacity: 0;
-    display: inline-block !important;
-  }
-  .el-upload-list--picture-card .el-upload-list__item{
-    width: 160px;
-    height: 120px;
-    top: 69px;
-  }
-  div.vendor_store_apply {
-    margin: 0 auto;
-    width: 1026px;
-    background-color: #FFFFFF;
-    margin-bottom: 20px;
-    margin-top: 25px;
-  }
-
-  div.vendor_store_apply .com_row {
-    padding: 0 40px;
-    min-height: 40px;
-  }
-
-  div.vendor_store_apply .title_row {
-    margin-bottom: 20px;
-    border-bottom: #e8e8e8 1px solid;
-  }
-
-  div.vendor_store_apply .custom_col {
-    margin: 0;
-    padding: 0;
-  }
-
-  div.vendor_store_apply .custom_col img.previewImage {
-    max-width: 160px;
-    max-height: 120px;
-    cursor: pointer;
-    /*padding: 0 30px;*/
-  }
-
-  div.vendor_store_apply .row h2 {
-    padding: 10px 0;
-    font-size: 16px;
-    font-weight: 500;
-    color: #000000;
-  }
-
-  div.vendor_store_apply .row span {
-    display: block;
-    padding: 10px 0;
-    font-size: 14px;
-    color: #000000;
-  }
-
-  div.vendor_store_apply #file_upload {
-    width: 100px;
-    height: 100px;
-    border:1px solid #CDCDCD;
-    /*background: url("static/img/vendor/images/upload.png");*/
-  }
-
-  div.vendor_store_apply #upload_qualification {
-    width: 100px;
-    height: 100px;
-    opacity: 0;
-  }
-
-  div.vendor_store_apply .custom_tab {
-    margin: 0 15px;
-    width: 90px;
-    text-align: center;
-  }
-
-  div.vendor_store_apply .nav li.custom_tab.active>a,
-  div.vendor_store_apply .nav li.custom_tab.active>a:focus,
-  div.vendor_store_apply .nav li.custom_tab.active>a:hover {
-    border: 1px solid #5078CB;
-    border-bottom-color: transparent;
-    color: #5078cb;
-  }
-
-  div.vendor_store_apply .uploadify-button {
-    display: block;
-  }
-
-  div.vendor_store_apply .custom_col .show_image_area {
-    height: 120px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-  }
-  .nav-tabs{
-    height: 41px;
-    background: none;
-    padding: 0 40px;
-  }
-  .nav-tabs>li>a{
-    border-radius: 0;
-    color: #333;
-  }
-  div.vendor_store_apply .btn-primary{
-    background: #5078cb;
-    border-radius: 0;
-  }
-  div.vendor_store_apply .btn-primary:hover{
-    background: #3f7ae3;
-  }
-  div.vendor_store_apply .com_row .col-md-2{
-    width: 120px;
-  }
-  div.vendor_store_apply .com_row .col-md-10 span{
-    color: #666;
-  }
-
-  /*修改的样式*/
-  div.vendor_store_apply .custom_col .show_image_area{
-    position: relative;
-    overflow: hidden;
-  }
-  .hover-show{
-    position: absolute;
-    width: 100%;
-    height: 100%;
-    top: 120px;
-    left: 0;
-    background: rgba(0,0,0,.5);
-  }
-  div.vendor_store_apply .custom_col .show_image_area .hover-show{
-    top: 0;
-  }
-  .hover-show .delete{
-    padding: 0;
-    width: 30px;
-    height: 30px;
-    float: right;
-    text-align: center;
-  }
-  .hover-show .delete:hover{
-    cursor: pointer;
-  }
-  .hover-show .delete i{
-    color: #fff;
-    font-size: 18px;
-  }
-  .hover-show a{
-    display: inline-block;
-    width: 100%;
-    height: 60px;
-    font-size: 14px;
-    color: #fff;
-    text-align: center;
-    line-height: 60px;
-  }
-  .hover-show a i{
-    margin-right: 5px;
-    font-size: 16px;
-  }
-  .brand-type{
-    line-height: 34px;
-    font-size: 14px;
-    margin: 20px 20px 5px 20px;
-  }
-  .brand-type .brand-small-img{
-    position: relative;
-    width: 84px;
-    height: 84px;
-    overflow: hidden;
-    text-align: center;
-    border: #e8e8e8 1px solid;
-  }
-  .brand-type .brand-small-img .preview img{
-    max-width: 84px;
-    max-height: 84px;
-  }
-  .brand-type em{
-    color: #ff0000;
-  }
-  .brand-type .col-md-7,.brand-type .col-md-1{
-    margin-top: 25px;
-  }
-  .brand-small-upload .file-text,.brand-type .brand-small-img{
-    float: left;
-  }
-  .brand-small-upload .file-text{
-    width: 120px;
-    margin-left: 10px;
-    line-height: 20px;
-    margin-top: 6%;
-  }
-  .brand-small-upload .delete{
-    float: right;
-    text-align: center;
-    line-height: 84px;
-  }
-  .brand-small-upload .delete i{
-    font-size: 18px;
-    color: #5078cb;
-  }
-  .brand-small-upload .delete:hover{
-    cursor: pointer;
-  }
-  .brand-small-upload .delete:hover i{
-    color: #f00;
-  }
-  .brand-small-upload .brand-small-img .hover-show{
-    top: 0;
-  }
-  .brand-small-upload .brand-small-img .hover-show{
-  }
-  .brand-small-upload .brand-small-img .hover-show span i{
-    color: #fff;
-  }
-  .brand-small-upload .brand-small-img .hover-show span.delete{
-    line-height: 30px;
-    padding: 0;
-  }
-  .brand-small-upload .brand-small-img .hover-show a{
-    line-height: 30px;
-    height: 30px;
-  }
-  .tab-content {
-    border: 1px #5078CB solid;
-    padding-bottom: 30px;
-  }
-  .tab-content .com_row{
-    margin:40px 0 0;
-    border-bottom: #ccc 1px dashed;
-    padding-bottom: 40px !important;
-  }
-  .tab-content .com_row .col-md-12{
-    color: #999;
-    margin-top: 20px;
-    font-size: 12px;
-    padding-left: 50px;
-  }
-  .brand-small-upload .col-md-12{
-    color: #999;
-    font-size: 12px;
-    padding-left: 0;
-  }
-  .tab-content .com_row .col-md-12 em,.brand-small-upload .col-md-12 em{
-    color: #f00;
-  }
-  .add-brand{
-    text-align: center;
-    border-bottom: #ccc 1px dashed;
-    margin: 0 0 20px 0;
-    height: 34px;
-  }
-  .add-brand a{
-    font-size: 14px;
-    color: #5078cb;
-    width: 200px;
-    height: 15px;
-    display: inline-block;
-    border: #ccc 1px dashed;
-    border-top: 0;
-    border-bottom-left-radius: 50px;
-    border-bottom-right-radius: 50px;
-    margin-top: 31px;
-    background: #fff;
-    line-height: 15px;
-    text-decoration: none;
-  }
-  .add-brand a i{
-    margin-right: 5px;
-    font-size: 20px;
-    vertical-align: middle;
-  }
-  .add-brand a em{
-    position: relative;
-    top: -10px;
-    font-weight: bold;
-    font-style: inherit;
-  }
-  .add-brand a:hover em{
-    color: #d32526;
-    text-decoration: none;
-  }
-  .unpass-reason {
-    margin: 0 40px;
-    line-height: 34px;
-  }
-
-  /* 预览框 end */
-
-  .brand-type .dropdown-menu {
-    width: 95%;
-  }
-  .brand-type .dropdown-menu li {
-    font-size: 14px;
-  }
-  .com-del-box{
-    position: fixed;
-    z-index: 1000;
-    height: auto;
-    opacity: 1;
-    background-color: white;
-    width: 310px;
-    -webkit-box-shadow: 0 5px 15px rgba(0,0,0,.5);
-    -moz-box-shadow: 0 5px 15px rgba(0,0,0,.5);
-    -o-box-shadow: 0 5px 15px rgba(0,0,0,.5);
-    box-shadow: 0 5px 15px rgba(0,0,0,.5);
-    margin: -155px 0 0 -75px;
-    top: 55%;
-    left: 43%;
-  }
-  .com-del-box .title{
-    height: 30px;
-    background-color: #5078cb;
-    text-align: right;
-    padding-right: 15px;
-    line-height: 30px;
-  }
-  .com-del-box .title a{
-    color: white;
-    font-size: 16px;
-  }
-  .com-del-box .content{
-    width: 100%;
-    text-align: center;
-    margin: 0 auto;
-  }
-  .com-del-box .content p{
-    line-height: 50px;
-    font-size: 14px;
-    padding-top: 10px;
-  }
-  .com-del-box .content p i{
-    color: #5078cb;
-    font-size: 16px;
-    margin-right: 10px;
-  }
-  .com-del-box .content div{
-    width: 100%;
-    text-align: center;
-    margin: 0 auto;
-  }
-  .com-del-box .content div a{
-    width: 55px;
-    height: 26px;
-    line-height: 26px;
-    display: inline-block;
-    text-align: center;
-    font-size: 14px;
-  }
-  .com-del-box .content div a:first-child{
-    background: #b4b5b9;
+<style scoped lang="scss">
+  .wrap-title {
     color: #333;
-    margin-right: 10px;
-  }
-  .com-del-box .content div a:last-child{
-    background: #5078cb;
-    color: #fff;
-  }
-  .com-del-box .content div a:hover{
-    background: #3f7ae3;
-    color: #fff;
-  }
-  div.vendor_store_apply .custom_col .show_image_area{
-    width: 160px;
-    border: #dcdcdc 1px solid;
-    margin: 0 10px 0 0;
-    padding: 0;
-  }
-  div.vendor_store_apply .tab-content .custom_col{
-    width: 280px;
-  }
-  div.vendor_store_apply .tab-content .custom_col:first-child{
-    margin-left: 50px;
-  }
-  div.vendor_store_apply .custom_col .row .col-md-5:last-child{
-    width: 110px;
-  }
-  div.vendor_store_apply .custom_col .row .col-md-5:last-child span{
-    margin-top: 85% !important;
-    padding-bottom: 0 !important;
-  }
-  .hoverShow{
-    position: absolute;
-    width: 30px;
-    height: 30px;
-    top: 0px;
-    right: 0;
-    background: rgba(0,0,0,.4);
-    display: none;
-  }
-
-  div.vendor_store_apply .custom_col .show_image_area:hover .hoverShow{
-    display: block;
-  }
-  div.vendor_store_apply .custom_col .show_image_area .deleteImg{
-    position: absolute;
-    right: 7px;
-    top: 0;
-    display: inline-block;
-    padding: 0;
-    margin-top: 6px;
-    font-size: 18px;
-    color: #fff;
-  }
-  .hover-show a{
-    color: #fff;
-    text-decoration: none;
-  }
-  .hover-show a:hover, .hover-show a:active, .hover-show a:focus{
-    color: #fff;
-    text-decoration: none;
-  }
- /* .dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
-    color: #fff;
-  }*/
-  .dropdown-menu {
-    display: block;
-    left: 14px;
-  }
-  /*
-  radio
-  */
-  .radioLabel {
-    line-height: 20px;
-    cursor: pointer;
-  }
-  .radioLabel label{
-    width: 16px;
-    height: 16px;
-    background: url("/images/messageBoard/radio.png");
-    background-position: 0 -1px;
-    vertical-align: middle;
-    margin-bottom: 0 !important;
-    margin-right: 0 !important;
-    cursor: pointer;
-  }
-  .radioLabel input[type="radio"]:checked + label {
-    background-position: -19px -1px;
-  }
-  .radioLabel input[type="radio"] + label + span {
-    margin-left: 5px;
-  }
-  .radioLabel input[type="radio"]:checked + label{
-    color: #5078cb;
-  }
-  .radioLabel input[type="radio"]{
-    display: none;
-  }
-  .radioLabel span {
-    font-weight: bold;
-    font-size: 18px;
-    color: #5e5e5e;
-  }
-  .radioCheck {
-    padding-top: 35px;
-    padding-left: 30px;
-    padding-bottom: 35px;
-  }
-  .radioCheck .radioLabel:first-child {
-    margin-right: 10px;
-  }
-  .btn-area {
-    margin-top: 20px;
-    text-align: center;
-  }
-  .btn-area span {
-    height: 35px;
-    line-height: 35px;
-    border: 1px solid #5078cb;
-    padding: 0 62px;
-    font-size: 16px;
-    display: inline-block;
-    color: #5078cb;
-    cursor: pointer;
-    background: #fff;
-  }
-  .btn-area span:first-child{
-    margin-right: 16px;
-  }
-  .btn-area span:last-child{
-    background: #5078cb;
-    color: #fff;
-  }
-/*  .btn-area span:hover {
-
-  }*/
-  .loading {
-    position: fixed;
-    top: 0;
-    left: 0;
-    right: 0;
-    width:  100%;
-    height: 100%;
-    z-index: 1000;
-    text-align: center;
-  }
-  .loading img {
-    position: relative;
-    top: 40%;
-  }
-  .btn-area .btn-disabled {
-    cursor: not-allowed;
-    opacity: .5;
+    font-size: 0.28rem;
+    border-bottom: 1px solid #d3d3d3;
+    height: 0.5rem;
+    text-align: left;
+    padding: 0 0 0.1rem 0.05rem;
+    margin: 0.17rem 0.25rem 0.13rem 0.25rem;
+    line-height: 0.5rem;
+    .line{
+      width: 0.05rem;
+      background: #3f84f6;
+      display: inline-block;
+      vertical-align: top;
+      margin-right: 0.08rem;
+      height: 0.28rem;
+      margin-top: 0.09rem;
+    }
   }
 </style>

+ 113 - 0
components/mobile/register-saler/register/chooseStoretype.vue

@@ -0,0 +1,113 @@
+<template>
+  <div class="mobile-user mobile-fix-content">
+    <div class="line" @click="go(4, 'ORIGINAL_FACTORY')">
+      <div class="img-wrap">
+        <img src="/images/mobile/user/icon_02.png" alt="">
+      </div>
+      <span>原厂</span>
+      <i class="iconfont icon-xiangyou"></i>
+    </div>
+    <div class="line block-line" @click="go(4, 'AGENCY')">
+      <div class="img-wrap">
+        <img src="/images/mobile/user/apply-store.png" alt="">
+      </div>
+      <span>代理商</span>
+      <i class="iconfont icon-xiangyou"></i>
+      <div class="border-line"></div>
+    </div>
+    <div @click="go(4, 'DISTRIBUTION')" class="line block-line">
+      <div class="img-wrap">
+        <img src="/images/mobile/user/icon_05.png" alt="">
+      </div>
+      <span>经销商</span>
+      <i class="iconfont icon-xiangyou"></i>
+      <div class="border-line"></div>
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+     name: 'choose-store-type',
+     methods: {
+       go(type, tab) {
+         this.$emit('sectionEvent', type, tab)
+       }
+     }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .mobile-user {
+    background: #f1f3f6;
+    .line {
+      height: 1.17rem;
+      background: #fff;
+      line-height: 1.17rem;
+      font-size: .28rem;
+      padding: 0 .24rem 0 .26rem;
+      width: 7.1rem;
+      margin: .3rem auto 0;
+      .img-wrap {
+        width: .8rem;
+        margin: 0 .26rem 0 0;
+        display: inline-block;
+        img {
+          max-width: .8rem;
+          max-height: .8rem;
+        }
+        img.photo {
+          width: 1.27rem;
+          height: 1.27rem;
+        }
+      }
+      span.edit img{
+        float: right;
+        margin-top: .43rem;
+        width: .3rem;
+        height: .3rem;
+      }
+      span.tel{
+        margin-left: .2rem;
+      }
+      .l-right {
+        color: #666;
+        margin-right: .35rem;
+        max-width: 4.8rem;
+        text-align: right;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+      }
+      i {
+        float: right;
+        color: #c1c1c6;
+        font-size: .28rem;
+      }
+      &.img-line {
+        padding-left: .16rem;
+        .img-wrap {
+          width: .9rem;
+          margin: 0 .16rem 0 0;
+          img {
+            max-width: .9rem;
+            max-height: .9rem;
+            border-radius: 100%;
+            border: 1px solid #acc;
+          }
+        }
+      }
+      &.block-line {
+        margin-top: 0;
+        position: relative;
+        .border-line {
+          width: 6.62rem;
+          position: absolute;
+          top: 0;
+          height: 1px;
+          background: #d9d9d9;
+        }
+      }
+    }
+  }
+</style>

+ 3 - 2
components/pcb/home/Intro.vue

@@ -3,12 +3,12 @@
     <p class="intro-title">PCB商家介绍<span>PCB Business Introduction</span></p>
     <div class="item name">
       <a>
-        <img src="/images/pcb/test-logo.png" alt="">
+        <img src="https://dfs.ubtob.com/group1/M00/61/BE/CgpkyFo4e82AJM4YAADGy830sto276.jpg" alt="">
       </a>
       <p>深圳市英唐致盈供应链管理有限公司</p>
     </div>
     <div class="item intro">
-      深圳市英唐致盈供应链管理有限公司经营范围: 供应链管理及其相关的信息咨询;受托资产管理(不含证券、保险、基金、金融业务及其它限制项目);企业管理咨询(不含人才中介服务);经营电子商务(涉及前置行政许可的,须取得前置性行政许可文件后方可经营);国内贸易、货物及技术进出口。
+      英唐致盈供应链是一家pcb解决方案的服务企业。企业服务范围包括:供应链管理及其相关的信息咨询;受托资产管理(不含证券、保险、基金、金融业务及其它限制项目);企业管理咨询(不含人才中介服务);经营电子商务(涉及前置行政许可的,须取得前置性行政许可文件后方可经营);国内贸易、货物及技术进出口。
     </div>
   </div>
 </template>
@@ -47,6 +47,7 @@
         border-radius: 3px;
         border: 2px solid #d8c7b3;
         display: block;
+        cursor: default;
         img {
           max-width: 183px;
           max-height: 88px;

+ 17 - 4
components/pcb/home/Kinds.vue

@@ -5,7 +5,10 @@
         <nuxt-link :to="`/pcb/search/?w=${encodeURIComponent(kind.nameCn)}`">{{kind.nameCn}}<i class="icon-arrow-right iconfont"></i></nuxt-link>
       </li>
     </ul>
-    <img class="fr" src="/images/pcb/banner.png" alt="">
+    <div class="fr">
+      <img src="https://dfs.ubtob.com/group1/M00/19/BF/CgpkyFlSBPOAQSaeAAGHE8mW2UI141.jpg" alt="">
+      <p class="shop-title">深圳市英唐致盈供应链管理有限公司</p>
+    </div>
   </div>
 </template>
 <script>
@@ -45,9 +48,19 @@
         }
       }
       .fr {
-        width: 952px;
-        height: $height;
-        border-radius: 4px;
+        position: relative;
+        img {
+          width: 952px;
+          height: $height;
+          border-radius: 4px;
+        }
+        .shop-title {
+          position: absolute;
+          top: 50px;
+          left: 60px;
+          font-size: 30px;
+          color: #fff;
+        }
       }
     }
 </style>

+ 35 - 54
components/pcb/home/floors/Floor.vue

@@ -1,65 +1,46 @@
 <template>
   <div class="floor">
     <ul>
-      <li class="list-item">
+      <nuxt-link tag="li" :key="item.batchCode" :to="`/pcb/product/${item.productid}/${item.batchCode}`" class="list-item" v-for="item in data">
         <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
+          <img :src="getLogo(item)" alt="">
         </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
-      <li class="list-item">
-        <div class="img">
-          <img src="/images/pcb/test-logo.png" alt="">
-        </div>
-        <p class="text">HYCO组合式金属喷嘴</p>
-        <span class="text price">¥699</span>
-      </li>
+        <p class="text">{{item.code}}</p>
+        <template v-if="item.prices && item.prices.length">
+          <span class="text price" v-if="item.currencyName == 'RMB'">{{'¥' + item.prices[0].rMBPrice}}</span>
+          <span class="text price" v-if="item.currencyName == 'USD'">{{'$' + item.prices[0].uSDPrice}}</span>
+        </template>
+      </nuxt-link>
     </ul>
   </div>
 </template>
+<script>
+  export default {
+    props: {
+      data: {
+        type: Array,
+        default: []
+      }
+    },
+    methods: {
+      getLogo: function (item) {
+        if (item.batchCode) {
+          if (item.img) {
+            return item.img
+          } else {
+            return '/images/component/default.png'
+          }
+        } else {
+          if (item.brand && item.brand.logoUrl) {
+            return item.brand.logoUrl
+          } else {
+            return '/images/component/default.png'
+          }
+        }
+      }
+    }
+  }
+</script>
 <style lang="scss" scoped>
   $img-size: 215px;
   .floor {

+ 23 - 7
components/pcb/home/floors/Floors.vue

@@ -1,13 +1,13 @@
 <template>
   <div class="floors">
-    <div class="floor-line line1">
-      <p>PCB物料<span>PCB material</span>
-        <nuxt-link :to="`/pcb/search/?w=${encodeURIComponent('PCB物料')}`">查看更多</nuxt-link>
+    <div :class="`floor-line line${index + 1}`" v-for="(value, key, index) in floors">
+      <p>{{key}}<span>{{key | pcbKindFilter}}</span>
+        <nuxt-link :to="`/pcb/search/?w=${encodeURIComponent(key)}`">查看更多</nuxt-link>
       </p>
-      <floor></floor>
+      <floor :data="value"></floor>
     </div>
-    <div class="floor-line line2">
-      <p>PCB常用耗材<span>PCB common consumables</span>
+   <!-- <div class="floor-line line2">
+      <p>PCB耗材<span>PCB common consumables</span>
         <nuxt-link :to="`/pcb/search/?w=${encodeURIComponent('PCB常用耗材')}`">查看更多</nuxt-link>
       </p>
       <floor></floor>
@@ -17,7 +17,7 @@
         <nuxt-link :to="`/pcb/search/?w=${encodeURIComponent('PCB设备')}`">查看更多</nuxt-link>
       </p>
       <floor></floor>
-    </div>
+    </div>-->
   </div>
 </template>
 <script>
@@ -25,6 +25,22 @@
   export default {
     components: {
       Floor
+    },
+    filters: {
+      pcbKindFilter: function (val) {
+        if (val === 'PCB材料') {
+          return 'PCB material'
+        } else if (val === 'PCB耗材') {
+          return 'PCB common consumables'
+        } else if (val === 'PCB设备') {
+          return 'PCB equipment'
+        }
+      }
+    },
+    computed: {
+      floors () {
+        return this.$store.state.pcb.product.recommend.data.data
+      }
     }
   }
 </script>

+ 2 - 2
middleware/authenticated.js

@@ -1,6 +1,6 @@
-export default function ({ isServer, store, req, redirect, route }) {
+export default function ({ store, req, redirect, route }) {
   // If nuxt generate, pass this middleware
-  if (isServer && !req) return
+  if (process.server && !req) return
   if (!store.state.option.user.logged) {
     let ua = store.state.option.userAgent.toLowerCase()
     if (ua.match(/micromessenger/i) && ua.match(/micromessenger/i)[0] === 'micromessenger' && req.url.indexOf('?code') === -1) {

+ 3 - 3
middleware/check-auth.js

@@ -1,9 +1,9 @@
 import { getAuthInfo } from '~/utils/client-auth'
 
-export default function ({ isServer, store, req }) {
+export default function ({ store, req }) {
   // If nuxt generate, pass this middleware
-  if (isServer && !req) return
-  if (isServer) {
+  if (process.server && !req) return
+  if (process.server) {
     store.dispatch('loadUserInfo')
   } else {
     getAuthInfo()

+ 3 - 3
middleware/wechatInfo.js

@@ -1,6 +1,6 @@
-export default function ({ isServer, store, req, redirect, route }) {
-  if (isServer && !req) return
-  if (isServer) return
+export default function ({ store, req, redirect, route }) {
+  if (process.server && !req) return
+  if (process.server) return
   // nuxt拦截器 存在一个问题,如果进入到了判断的地方,一定需要做跳转路由相关操作,不然会出现404
   //  && window.__wxjs_environment !== 'miniprogram'
   if (!store.state.option.wechatInfo.data.openid) {

+ 2 - 2
nuxt.config.js

@@ -46,7 +46,7 @@ module.exports = {
     ** Run ESLINT on save
     */
     extractCSS: { allChunks: true },
-    extend(config, { isDev, isClient, isServer }) {
+    extend(config, { isDev }) {
       config.resolve.alias['~utils'] = path.join(__dirname, 'utils')
       config.resolve.alias['~components'] = path.join(__dirname, 'components')
       config.resolve.alias['~plugins'] = path.join(__dirname, 'plugins')
@@ -57,7 +57,7 @@ module.exports = {
       //   loader: 'style-loader!css-loader!sass-loader'
       // })
 
-      if (isClient) {
+      if (process.client) {
         config.module.rules.push({
           enforce: 'pre',
           test: /\.(js|vue)$/,

+ 1 - 1
pages/mobile/center/vendor/index.vue

@@ -93,7 +93,7 @@
         if (this.storeInfo.uuid) {
           this.$router.push(`/mobile/shop/${this.storeInfo.uuid}`)
         } else {
-          this.onRemind('请先前往pc端开通店铺')
+          this.onRemind('请前往账户中心【我】进行开店申请')
         }
       },
       onRemind: function (str) {

+ 173 - 166
pages/mobile/store/index.vue

@@ -162,22 +162,24 @@
     text-align: right;
     padding-right: 10px;
   }
-  .next-btn{
+  .mobile-tab-list .next-btn{
     width: 100%;
     margin: 0 auto;
     text-align: center;
-    padding-top: 30px !important;
   }
-  .next-btn button{
-    width: 175px;
+  .mobile-tab-list .step-two-btn {
+    border-top: 1px solid #d3d3d3;
+  }
+  .mobile-tab-list .next-btn button{
+    font-size: 0.28rem;
+    width: 50%;
     padding: 0;
-    height: 35px;
-    line-height: 35px;
+    height: 0.74rem;
+    line-height: 0.74rem;
     border-radius: 0;
-    background: #5078cb;
-    color: #fff;
     letter-spacing: 4px;
-    margin-right: 20px;
+    background: #fff;
+    color: #3f84f6;
   }
   .no-apply{
     width: 150px;
@@ -193,7 +195,7 @@
     float: right;
     border-radius: 3px;
   }
-  .next-btn button:hover, .next-btn button:focus {
+  .mobile-tab-list .next-btn button:hover,.mobile-tab-list .next-btn button:focus {
     background: #3765cb;
     color: #fff;
   }
@@ -232,14 +234,14 @@
     margin: 0.2rem 0.2rem;
     border-radius: 5px;
     background: #fff;
-    padding-bottom: 0.3rem;
+    overflow: hidden;
   }
   .mobile-join_xieyi div.article-flag {
     width: 100%;
     display: inline-block;
     height: 0.72rem;
     line-height: 0.72rem;
-    box-shadow: 0px 5px 5px #000;
+    box-shadow: 0px 5px 5px #dcdcdc;
   }
   .mobile-join_xieyi div.article-flag span {
     text-align: center;
@@ -264,13 +266,15 @@
   }
 
   .mobile-join_xieyi div.text-area {
-    height: 352px;
+    height: 8rem;
     overflow: auto;
     word-break: break-all;
     outline: none;
-    border: 2px solid #eee;
     border-left: none;
   }
+  .mobile-tab-list .checkbox-inline{
+    font-size: 0.24rem;
+  }
   .x-btn-blank{
     border: 1px solid #ccc;
     background: #fff;
@@ -339,86 +343,96 @@
     height: 120px;
     top: 69px;
   }
-  div.vendor_store_apply {
-    margin: 0 auto;
-    width: 1026px;
-    background-color: #FFFFFF;
-    margin-bottom: 20px;
-    margin-top: 20px;
+  .mobile-tab-list div.vendor_store_apply {
+    background-color: #f1f3f6;
   }
 
-  div.vendor_store_apply .com_row {
-    padding: 0 40px;
-    min-height: 40px;
-  }
 
-  div.vendor_store_apply .title_row {
+  .mobile-tab-list div.vendor_store_apply .title_row {
     margin-bottom: 20px;
     border-bottom: #e8e8e8 1px solid;
   }
 
-  div.vendor_store_apply .custom_col {
-    margin: 0;
-    padding: 0;
+  .mobile-tab-list div.vendor_store_apply .custom_col {
+    margin: 0.2rem;
+    border-radius: 5px;
+    border: 1px solid #d3d3d3;
+    background: #fff;
+    padding: 0 0 0.2rem 0;
+  }
+  .mobile-tab-list div.vendor_store_apply .infoTextMobile {
+    color: #999;
+    font-size: 0.28rem
   }
 
-  div.vendor_store_apply .custom_col img.previewImage {
-    max-width: 160px;
-    max-height: 120px;
+  .mobile-tab-list div.vendor_store_apply .custom_col img.previewImage {
+    width: 100%;
     cursor: pointer;
     /*padding: 0 30px;*/
   }
 
-  div.vendor_store_apply .row h2 {
+  .mobile-tab-list div.vendor_store_apply .row h2 {
     padding: 10px 0;
     font-size: 16px;
     font-weight: 500;
     color: #000000;
   }
 
-  div.vendor_store_apply .row span {
-    display: block;
-    padding: 10px 0;
+  .mobile-tab-list div.vendor_store_apply .row span {
+    /*display: block;*/
+    /*padding: 10px 0;*/
     font-size: 14px;
     color: #000000;
   }
+  .mobile-tab-list div.vendor_store_apply .mobile-register-brand-name {
+    font-size: 0.28rem;
+    color: #226ce7;
+    border-bottom: 1px solid #d3d3d3;
+  }
+  .mobile-tab-list div.vendor_store_apply .mobile-register-brand-name input {
+    font-size: 0.28rem;
+    color: #999;
+    width: 5rem;
+  }
 
-  div.vendor_store_apply #file_upload {
+  .mobile-tab-list div.vendor_store_apply #file_upload {
     width: 100px;
     height: 100px;
     border:1px solid #CDCDCD;
     /*background: url("static/img/vendor/images/upload.png");*/
   }
 
-  div.vendor_store_apply #upload_qualification {
+  .mobile-tab-list div.vendor_store_apply #upload_qualification {
     width: 100px;
     height: 100px;
     opacity: 0;
   }
 
-  div.vendor_store_apply .custom_tab {
+  .mobile-tab-list div.vendor_store_apply .custom_tab {
     margin: 0 15px;
     width: 90px;
     text-align: center;
   }
 
-  div.vendor_store_apply .nav li.custom_tab.active>a,
-  div.vendor_store_apply .nav li.custom_tab.active>a:focus,
-  div.vendor_store_apply .nav li.custom_tab.active>a:hover {
+  .mobile-tab-list div.vendor_store_apply .nav li.custom_tab.active>a,
+  .mobile-tab-list div.vendor_store_apply .nav li.custom_tab.active>a:focus,
+  .mobile-tab-list div.vendor_store_apply .nav li.custom_tab.active>a:hover {
     border: 1px solid #5078CB;
     border-bottom-color: transparent;
     color: #5078cb;
   }
 
-  div.vendor_store_apply .uploadify-button {
+  .mobile-tab-list div.vendor_store_apply .uploadify-button {
     display: block;
   }
 
-  div.vendor_store_apply .custom_col .show_image_area {
-    height: 120px;
-    display: flex;
-    justify-content: center;
-    align-items: center;
+  .mobile-tab-list div.vendor_store_apply .custom_col .show_image_area {
+    height: 1.09rem;
+    position: relative;
+    overflow: hidden;
+    width: 1.09rem;
+    border: #dcdcdc 1px solid;
+    padding: 0;
   }
   .nav-tabs{
     height: 41px;
@@ -429,25 +443,21 @@
     border-radius: 0;
     color: #333;
   }
-  div.vendor_store_apply .btn-primary{
+  .mobile-tab-list div.vendor_store_apply .btn-primary{
     background: #5078cb;
     border-radius: 0;
   }
-  div.vendor_store_apply .btn-primary:hover{
+  .mobile-tab-list div.vendor_store_apply .btn-primary:hover{
     background: #3f7ae3;
   }
-  div.vendor_store_apply .com_row .col-md-2{
+  .mobile-tab-list div.vendor_store_apply .com_row .col-md-2{
     width: 120px;
   }
-  div.vendor_store_apply .com_row .col-md-10 span{
+  .mobile-tab-list div.vendor_store_apply .com_row .col-md-10 span{
     color: #666;
   }
-
+  .mobile-tab-list div.vendor_store_apply .brand-small-upload {margin-top:0.2rem;}
   /*修改的样式*/
-  div.vendor_store_apply .custom_col .show_image_area{
-    position: relative;
-    overflow: hidden;
-  }
   .hover-show{
     position: absolute;
     width: 100%;
@@ -456,24 +466,24 @@
     left: 0;
     background: rgba(0,0,0,.5);
   }
-  div.vendor_store_apply .custom_col .show_image_area .hover-show{
+  .mobile-tab-list div.vendor_store_apply .custom_col .show_image_area .hover-show{
     top: 0;
   }
-  .hover-show .delete{
+  .mobile-tab-list .hover-show .delete{
     padding: 0;
     width: 30px;
     height: 30px;
     float: right;
     text-align: center;
   }
-  .hover-show .delete:hover{
+  .mobile-tab-list .hover-show .delete:hover{
     cursor: pointer;
   }
-  .hover-show .delete i{
+  .mobile-tab-list .hover-show .delete i{
     color: #fff;
     font-size: 18px;
   }
-  .hover-show a{
+  .mobile-tab-list .hover-show a{
     display: inline-block;
     width: 100%;
     height: 60px;
@@ -482,127 +492,123 @@
     text-align: center;
     line-height: 60px;
   }
-  .hover-show a i{
+  .mobile-tab-list .hover-show a i{
     margin-right: 5px;
     font-size: 16px;
   }
-  .brand-type{
+  .mobile-tab-list .brand-type{
     line-height: 34px;
     font-size: 14px;
     margin: 20px 20px 5px 20px;
   }
-  .brand-type .brand-small-img{
+  .mobile-tab-list .brand-type .brand-small-img{
     position: relative;
-    width: 84px;
-    height: 84px;
-    overflow: hidden;
+    width: 1.09rem;
+    height: 1.09rem;
+    /*overflow: hidden;*/
     text-align: center;
     border: #e8e8e8 1px solid;
   }
-  .brand-type .brand-small-img .preview img{
+  .mobile-tab-list .brand-type .brand-small-img .preview img{
     max-width: 84px;
     max-height: 84px;
   }
-  .brand-type em{
+  .mobile-tab-list .brand-type em{
     color: #ff0000;
   }
-  .brand-type .col-md-7,.brand-type .col-md-1{
+  .mobile-tab-list .brand-type .col-md-7,.mobile-tab-list .brand-type .col-md-1{
     margin-top: 25px;
   }
-  .brand-small-upload .file-text,.brand-type .brand-small-img{
+  .mobile-tab-list .brand-small-upload .file-text,.mobile-tab-list .brand-type .brand-small-img{
     float: left;
   }
-  .brand-small-upload .file-text{
-    width: 120px;
-    margin-left: 10px;
-    line-height: 20px;
-    margin-top: 6%;
+  .mobile-tab-list .brand-small-upload .file-text{
+    font-size: 0.24rem;
+    color: #999;
+    line-height: 1.09rem;
+    margin-left: 0.2rem;
   }
-  .brand-small-upload .delete{
+  .mobile-tab-list .brand-small-upload .delete{
     float: right;
     text-align: center;
-    line-height: 84px;
+    line-height: 1.09rem;
   }
-  .brand-small-upload .delete i{
+  .mobile-tab-list .brand-small-upload .delete i{
     font-size: 18px;
     color: #5078cb;
   }
-  .brand-small-upload .delete:hover{
+  .mobile-tab-list .brand-small-upload .delete:hover{
     cursor: pointer;
   }
-  .brand-small-upload .delete:hover i{
+  .mobile-tab-list .brand-small-upload .delete:hover i{
     color: #f00;
   }
-  .brand-small-upload .brand-small-img .hover-show{
+  .mobile-tab-list .brand-small-upload .brand-small-img .hover-show{
     top: 0;
   }
-  .brand-small-upload .brand-small-img .hover-show{
+  .mobile-tab-list .brand-small-upload .brand-small-img .hover-show{
   }
-  .brand-small-upload .brand-small-img .hover-show span i{
-    color: #fff;
+  .mobile-tab-list .brand-small-upload .brand-small-img .hover-show span i{
+    color: red;
   }
-  .brand-small-upload .brand-small-img .hover-show span.delete{
+  .mobile-tab-list .brand-small-upload .brand-small-img .hover-show span.delete{
     line-height: 30px;
     padding: 0;
+    right: -0.35rem;
+    position: absolute;
+    display: inline-block;
+    margin-top: -0.25rem;
   }
-  .brand-small-upload .brand-small-img .hover-show a{
-    line-height: 30px;
-    height: 30px;
+  .mobile-tab-list #image-box,.mobile-tab-list  .image-box{
+    display: table;
+    /* overflow: hidden; */
+    _position: relative;
+    width: 100%;
+    height: auto;
+    position: fixed;
+    top: 50%;
+    margin-top: -30%;
+    left: 50%;
+    margin-left: -50%;
+    z-index: 2000;
   }
-  .tab-content .com_row{
-    margin:40px 0 0;
-    border-bottom: #ccc 1px dashed;
-    padding-bottom: 40px !important;
+  .mobile-tab-list #image-box .x-floating img,.mobile-tab-list  .image-box .x-floating img {
+    width: 100%;
+    height: 100%;
   }
-  .tab-content .com_row .col-md-12{
+  .mobile-tab-list .brand-small-upload .brand-small-img .hover-show a{
+    /*line-height: 30px;*/
+    /*height: 30px;*/
+    margin-top: -0.2rem;
+  }
+  .mobile-tab-list .mobile-tab-content .com_row .col-md-12{
     color: #999;
     margin-top: 20px;
     font-size: 12px;
     padding-left: 50px;
   }
-  .brand-small-upload .col-md-12{
+  .mobile-tab-list .mobile-tab-content .row {margin: 0px !important;}
+  .mobile-tab-list .brand-small-upload .col-md-12{
     color: #999;
     font-size: 12px;
     padding-left: 0;
   }
-  .tab-content .com_row .col-md-12 em,.brand-small-upload .col-md-12 em{
+  .mobile-tab-list .mobile-tab-content .com_row .col-md-12 em,.mobile-tab-list .brand-small-upload .col-md-12 em{
     color: #f00;
   }
-  .add-brand{
+  .mobile-tab-list .add-brand{
     text-align: center;
-    border-bottom: #ccc 1px dashed;
-    margin: 0 0 20px 0;
-    height: 34px;
-  }
-  .add-brand a{
-    font-size: 14px;
-    color: #5078cb;
-    width: 200px;
-    height: 15px;
-    display: inline-block;
-    border: #ccc 1px dashed;
-    border-top: 0;
-    border-bottom-left-radius: 50px;
-    border-bottom-right-radius: 50px;
-    margin-top: 31px;
+    border: 0.02rem solid #b5b5b6;
+    border-radius: 3px;
+    font-size: 0.32rem;
+    color: #666;
+    height: 0.77rem;
+    line-height: 0.77rem;
     background: #fff;
-    line-height: 15px;
-    text-decoration: none;
-  }
-  .add-brand a i{
-    margin-right: 5px;
-    font-size: 20px;
-    vertical-align: middle;
-  }
-  .add-brand a em{
-    position: relative;
-    top: -10px;
-    font-weight: bold;
-    font-style: inherit;
+    margin: 0 0.2rem;
   }
-  .add-brand a:hover em{
-    color: #d32526;
-    text-decoration: none;
+  .mobile-tab-list .add-brand i.fa-plus-circle{
+    color: #999;
   }
   .unpass-reason {
     margin: 0 40px;
@@ -611,13 +617,16 @@
 
   /* 预览框 end */
 
-  .brand-type .dropdown-menu {
+  .mobile-tab-list .brand-type .dropdown-menu {
     width: 95%;
+    height: 3rem;
+    display: block;
+    overflow-y: auto;
   }
-  .brand-type .dropdown-menu li {
-    font-size: 14px;
+  .mobile-tab-list .brand-type .dropdown-menu li {
+    font-size: 0.24rem;
   }
-  .com-del-box{
+  .mobile-tab-list .com-del-box{
     position: fixed;
     z-index: 2;
     height: 152px;
@@ -630,38 +639,38 @@
     top: 55%;
     left: 50%;
   }
-  .com-del-box .title{
+  .mobile-tab-list .com-del-box .title{
     height: 30px;
     background-color: #5078cb;
     text-align: right;
     padding-right: 15px;
     line-height: 30px;
   }
-  .com-del-box .title a{
+  .mobile-tab-list .com-del-box .title a{
     color: white;
     font-size: 16px;
   }
-  .com-del-box .content{
+  .mobile-tab-list .com-del-box .content{
     width: 100%;
     text-align: center;
     margin: 0 auto;
   }
-  .com-del-box .content p{
+  .mobile-tab-list .com-del-box .content p{
     line-height: 50px;
     font-size: 14px;
     padding-top: 10px;
   }
-  .com-del-box .content p i{
+  .mobile-tab-list .com-del-box .content p i{
     color: #5078cb;
     font-size: 16px;
     margin-right: 10px;
   }
-  .com-del-box .content div{
+  .mobile-tab-list .com-del-box .content div{
     width: 100%;
     text-align: center;
     margin: 0 auto;
   }
-  .com-del-box .content div a{
+  .mobile-tab-list .com-del-box .content div a{
     width: 55px;
     height: 26px;
     line-height: 26px;
@@ -669,39 +678,20 @@
     text-align: center;
     font-size: 14px;
   }
-  .com-del-box .content div a:first-child{
+  .mobile-tab-list .com-del-box .content div a:first-child{
     background: #b4b5b9;
     color: #333;
     margin-right: 10px;
   }
-  .com-del-box .content div a:last-child{
+  .mobile-tab-list .com-del-box .content div a:last-child{
     background: #5078cb;
     color: #fff;
   }
-  .com-del-box .content div a:hover{
+  .mobile-tab-list .com-del-box .content div a:hover{
     background: #3f7ae3;
     color: #fff;
   }
-  div.vendor_store_apply .custom_col .show_image_area{
-    width: 160px;
-    border: #dcdcdc 1px solid;
-    margin: 0 10px 0 0;
-    padding: 0;
-  }
-  div.vendor_store_apply .tab-content .custom_col{
-    width: 280px;
-  }
-  div.vendor_store_apply .tab-content .custom_col:first-child{
-    margin-left: 50px;
-  }
-  div.vendor_store_apply .custom_col .row .col-md-5:last-child{
-    width: 110px;
-  }
-  div.vendor_store_apply .custom_col .row .col-md-5:last-child span{
-    margin-top: 85% !important;
-    padding-bottom: 0 !important;
-  }
-  .hoverShow{
+  .mobile-tab-list .hoverShow{
     position: absolute;
     width: 30px;
     height: 30px;
@@ -711,10 +701,10 @@
     display: none;
   }
 
-  div.vendor_store_apply .custom_col .show_image_area:hover .hoverShow{
+  .mobile-tab-list div.vendor_store_apply .custom_col .show_image_area:hover .hoverShow{
     display: block;
   }
-  div.vendor_store_apply .custom_col .show_image_area .deleteImg{
+  .mobile-tab-list div.vendor_store_apply .custom_col .show_image_area .deleteImg{
     position: absolute;
     right: 7px;
     top: 0;
@@ -724,12 +714,29 @@
     font-size: 18px;
     color: #fff;
   }
-  .hover-show a{
+  .mobile-tab-list .hover-show a{
     color: #fff;
     text-decoration: none;
+    font-size: 0.24rem;
   }
-  .hover-show a:hover, .hover-show a:active, .hover-show a:focus{
+  .mobile-tab-list .hover-show a:hover, .mobile-tab-list .hover-show a:active, .mobile-tab-list .hover-show a:focus{
     color: #fff;
     text-decoration: none;
   }
+  .mobile-tab-list .btn-area {
+    margin-top: 0.1rem;
+    text-align: center;
+  }
+  .mobile-tab-list .btn-area span {
+    text-align: center;
+    border: 0.02rem solid #3f84f6;
+    border-radius: 3px;
+    font-size: 0.32rem;
+    color: #fff;
+    height: 0.77rem;
+    line-height: 0.77rem;
+    background: #3f84f6;
+    margin: 0 0.2rem 0.2rem 0.2rem;
+    display: block;
+  }
 </style>

+ 3 - 0
pages/mobile/user/bindEnterprise.vue

@@ -68,6 +68,9 @@
               this.keyword = ''
               this.showSearchResultStatus = 0
               this.setRemindText('绑定申请提交成功!审批结果将以短信通知,请保持手机通畅。')
+              setTimeout(() => {
+                this.$router.push('/mobile/user')
+              }, 3000)
             } else {
               this.setRemindText(response.data.data)
             }

+ 17 - 2
pages/mobile/user/index.vue

@@ -109,7 +109,8 @@
         showLogout: false,
         showLogin: false,
         timeoutCount: 0,
-        collectResult: ''
+        collectResult: '',
+        applyStatus: ''
       }
     },
     components: {
@@ -151,7 +152,14 @@
           if (this.storeStatus.uuid) {
             this.$router.push(url)
           } else {
-            this.setRemindText('请先前往pc端申请开店')
+            console.log(this.applyStatus)
+            if (this.applyStatus === 'PREPARE') {
+              this.setRemindText('您的申请已提交,请耐心工作人员审核(2-3个工作日)')
+            } else {
+              // 您的申请已提交,请耐心工作人员审核(2-3个工作日)
+              this.$router.push('/mobile/store')
+            }
+            // this.setRemindText('请先前往pc端申请开店')
           }
         } else if (!this.user.data.enterprise.uu || this.user.data.enterprise.isVendor !== 313) {
           this.setRemindText('请先前往pc端完善企业信息')
@@ -163,6 +171,13 @@
         this.collectResult = str
         this.timeoutCount++
       }
+    },
+    created() {
+      if (!this.storeStatus) {
+        this.$http.get('/store-service/applications?status=normal').then(res => {
+          this.applyStatus = res.data.data.status
+        })
+      }
     }
   }
 </script>

+ 3 - 0
pages/mobile/user/storeinfo.vue

@@ -371,6 +371,7 @@
           if (el) {
             el.style.height = '2rem'
             el.style.height = (el.scrollHeight * 2.06 - el.clientHeight + 150) / 100 + 'rem'
+            this.setBS()
           }
         })
       },
@@ -380,6 +381,7 @@
           if (el) {
             el.style.height = '2rem'
             el.style.height = (el.scrollHeight * 2.06 - el.clientHeight + 150) / 100 + 'rem'
+            this.setBS()
           }
         })
       },
@@ -389,6 +391,7 @@
           if (el) {
             el.style.height = '2rem'
             el.style.height = (el.scrollHeight * 2.06 - el.clientHeight + 150) / 100 + 'rem'
+            this.setBS()
           }
         })
       },

+ 3 - 2
pages/pcb/index.vue

@@ -2,7 +2,7 @@
   <div>
     <kinds></kinds>
     <intro></intro>
-    <recommend-brand></recommend-brand>
+    <!--<recommend-brand></recommend-brand>-->
     <floors></floors>
   </div>
 </template>
@@ -18,7 +18,8 @@
     },
     fetch ({ store }) {
       return Promise.all([
-        store.dispatch('pcb/getPcbKinds', {parentId: 3825})
+        store.dispatch('pcb/getPcbKinds', {parentId: 3825}),
+        store.dispatch('pcb/getPcbRecoProduct')
       ])
     }
   }

+ 3 - 4
plugins/axios.js

@@ -9,12 +9,11 @@ const service = axios.create({
 
 let reqCount = 0 // 请求计数器
 
-const isServer = typeof window === 'undefined'
 service.interceptors.request.use(config => {
   // is server render, use ${baseUrl} directly rather than ${proxyUrl}
   config.url = config.url || '/'
   reqCount++
-  if (isServer) {
+  if (process.server) {
     if (config.url.indexOf('/inquiry') === 0) {
       config.url = process.env.commonUrl + config.url
     } else if (config.url.indexOf('/productsuer') === 0) {
@@ -59,12 +58,12 @@ service.interceptors.response.use(response => {
       }
     }
   }
-  if (--reqCount <= 0 && !isServer) {
+  if (--reqCount <= 0 && !process.server) {
     document.getElementById('loading').setAttribute('class', 'loading')
   }
   return response
 }, error => {
-  if (--reqCount <= 0 && !isServer) {
+  if (--reqCount <= 0 && !process.server) {
     document.getElementById('loading').setAttribute('class', 'loading')
   }
   return Promise.reject(error)

+ 3 - 3
store/index.js

@@ -25,11 +25,11 @@ function loadBrandComponent({ commit }, params = {}) {
 
 export const actions = {
   // 全局服务初始化
-  nuxtServerInit(store, { params, route, isDev, isServer, req }) {
+  nuxtServerInit(store, { params, route, isDev, req }) {
     // 检查设备类型
-    const userAgent = isServer ? req.headers['user-agent'] : navigator.userAgent
+    const userAgent = process.server ? req.headers['user-agent'] : navigator.userAgent
     const isMobile = /(iPhone|iPad|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent)
-    const cookie = isServer ? req.headers['cookie'] : null
+    const cookie = process.server ? req.headers['cookie'] : null
     store.commit('option/SET_MOBILE_LAYOUT', isMobile)
     store.commit('option/SET_USER_AGENT', userAgent)
     store.commit('option/SET_COOKIES', cookie)

+ 9 - 0
store/pcb.js

@@ -50,6 +50,15 @@ export const actions = {
       }, err => {
         commit('search/GET_LIST_FAILURE', err)
       })
+  },
+  getPcbRecoProduct ({ commit }, params = {}) {
+    commit('product/REQUEST_RECO', params)
+    return axios.get(`/api/commodity/cms/pcb`, {params})
+      .then(response => {
+        commit('product/GET_RECO_SUCCESS', response.data)
+      }, err => {
+        commit('product/GET_RECO_FAILURE', err)
+      })
   }
 }
 

+ 14 - 0
store/pcb/product.js

@@ -2,6 +2,10 @@ export const state = () => ({
   detail: {
     fetching: false,
     data: []
+  },
+  recommend: {
+    fetching: false,
+    data: []
   }
 })
 
@@ -15,5 +19,15 @@ export const mutations = {
   },
   GET_PCB_PRODUCT_FAILURE (state) {
     state.detail.fetching = false
+  },
+  REQUEST_RECO (state) {
+    state.recommend.fetching = true
+  },
+  GET_RECO_SUCCESS (state, result) {
+    state.recommend.fetching = false
+    state.recommend.data = result
+  },
+  GET_RECO_FAILURE (state) {
+    state.recommend.fetching = false
   }
 }

+ 2 - 2
store/product.js

@@ -13,9 +13,9 @@ function saveStores ({ commit }, params = {}) {
 
 export const actions = {
   // 全局服务初始化
-  nuxtServerInit (store, { params, route, isServer, req }) {
+  nuxtServerInit (store, { params, route, req }) {
     // 检查设备类型
-    const userAgent = isServer ? req.headers['user-agent'] : navigator.userAgent
+    const userAgent = process.server ? req.headers['user-agent'] : navigator.userAgent
     const isMobile = /(iPhone|iPod|Opera Mini|Android.*Mobile|NetFront|PSP|BlackBerry|Windows Phone)/ig.test(userAgent)
     store.commit('option/SET_MOBILE_LAYOUT', isMobile)
     store.commit('option/SET_USER_AGENT', userAgent)