yangc 7 years ago
parent
commit
a7f4793e8c

+ 10 - 2
assets/scss/mobileCommon.scss

@@ -244,11 +244,15 @@ html {
         &:last-child {
           border-bottom: none;
         }
-        &:first-child {
+        /*&:first-child {
           text-align: left;
-        }
+        }*/
       }
     }
+    &.mobile-link-en {
+      top: 50%;
+      margin-top: -1.34rem;
+    }
   }
   .mobile-share-box {
     position: fixed;
@@ -484,6 +488,9 @@ table.com-price-list {
   margin: .19rem 0 .21rem .11rem;
   border: $border-color;
   font-size: .28rem;
+  &.com-price-listLong {
+    width: 5rem;
+  }
   thead {
     tr th {
       background: #f3f3f3;
@@ -494,6 +501,7 @@ table.com-price-list {
     border-right: $border-color;
     text-align: center;
     height: .44rem;
+    padding: 0 .1rem;
     &:last-child {
       border-right: none;
     }

+ 36 - 20
components/applyPurchase/PublishApply.vue

@@ -26,9 +26,9 @@
           </div>
           <div class="form-item">
            <span>
-              类目(产品名称):
+              <i>*</i>类目(产品名称):
             </span>
-            <input type="text" class="form-control" v-model="applyObj.prodTitle" @input="onProdTitleInput"/>
+            <input type="text" class="form-control" :class="{'error': !validObj.prodTitle}" v-model="applyObj.prodTitle" @blur="checkProdTitle" @input="onProdTitleInput"/>
           </div>
           <div class="form-item">
             <span>
@@ -179,7 +179,8 @@
 //          produceDate: true,
           amount: true,
           deadline: true,
-          spec: true
+          spec: true,
+          prodTitle: true
         },
         pickerOptions: {
           disabledDate (time) {
@@ -256,6 +257,7 @@
         inquiryItem.userTel = this.user.data.userTel
         inquiryItem.needquantity = this.applyObj.amount
         inquiryItem.inbrand = this.applyObj.brand
+        inquiryItem.spec = this.applyObj.spec
         inquiryItem.currency = currency
         inquiryItem.cmpCode = this.applyObj.code.trim().toUpperCase()
         inquiryItem.unitPrice = this.applyObj.unitPrice
@@ -284,15 +286,20 @@
       goPublish: function () {
         if (this.user.logged) {
           if (this.checkAll()) {
-            if (!this.applyObj.prodTitle || this.applyObj.prodTitle.length === 0) {
-              this.getMaterialKind(this.applyObj.code, this.applyObj.brand).then(response => {
-                this.startPublish(response.data && response.data.length ? response.data : '其他')
-              })
-            } else {
-              this.startPublish()
-            }
+//            if (!this.applyObj.prodTitle || this.applyObj.prodTitle.length === 0) {
+//              this.getMaterialKind(this.applyObj.code, this.applyObj.brand).then(response => {
+//                this.startPublish(response.data && response.data.length ? response.data : '其他')
+//              })
+//            } else {
+//              this.startPublish()
+//            }
+            this.getMaterialKind(this.applyObj.code, this.applyObj.brand).then(response => {
+              this.startPublish(response.data && response.data.length ? response.data : this.applyObj.prodTitle)
+            })
           } else {
-            if (!this.validObj.deadline) {
+            if (!this.validObj.prodTitle) {
+              this.$message.error('类目不能为空')
+            } else if (!this.validObj.deadline) {
               this.$message.error('截止日期不能为空')
             } else if (!this.validObj.amount) {
               this.$message.error('请输入正确的数值')
@@ -337,6 +344,15 @@
         }
         return this.validObj.code
       },
+      checkProdTitle: function () {
+        let prodTitle = this.applyObj.prodTitle.trim()
+        this.validObj.prodTitle = prodTitle && prodTitle !== ''
+        if (!this.validObj.prodTitle) {
+          this.$message.error('类目不能为空')
+        }
+        console.log(prodTitle)
+        return this.validObj.prodTitle
+      },
       checkBrand: function () {
         let nullStrFlag = checkNullStr(this.applyObj.brand)
         this.validObj.brand = this.applyObj.brand && this.applyObj.brand !== '' && nullStrFlag
@@ -369,7 +385,7 @@
         return this.validObj.amount
       },
       checkAll: function () {
-        return this.checkCode() && this.checkBrand() && this.checkDeadline() && this.checkUnitPrice() && this.checkAmount() && this.checkSpec()
+        return this.checkBrand() && this.checkProdTitle() && this.checkCode() && this.checkDeadline() && this.checkUnitPrice() && this.checkAmount() && this.checkSpec()
       },
       checkDeadline: function () {
         this.validObj.deadline = Boolean(this.applyObj.deadline)
@@ -579,7 +595,7 @@
             margin-bottom: 14px;
             position: relative;
             span {
-              width: 109px;
+              width: 114px;
               text-align: right;
               display: inline-block;
               i {
@@ -592,8 +608,8 @@
             ul {
               line-height: normal;
               position: absolute;
-              top: 19px;
-              left: 108px;
+              top: 16px;
+              left: 114px;
               background: #fff;
               border: 1px solid #b5b5b5;
               z-index: 1;
@@ -601,7 +617,7 @@
               overflow-y: auto;
               overflow-x: hidden;
               border-radius: 3px;
-              width: 114px;
+              width: 107px;
               font-size: 12px;
               li {
                 height: 24px;
@@ -629,13 +645,13 @@
               }
             }
             .el-input {
-              width: 111px;
-              .el-input__inner {
-              }
+              width: 106px;
+              /*.el-input__inner {
+              }*/
             }
             input {
               font-size: 12px;
-              width: 111px;
+              width: 106px;
               height: 18px;
               line-height: 18px;
               border-radius: 2px;

+ 2 - 2
components/mobile/HomeOld.vue

@@ -4,10 +4,10 @@
       <div class="mobile-modal-box">
         <div class="mobile-modal-header">联系方式<i @click="showStoreInfo = false" class="icon-guanbi iconfont"></i></div>
         <div class="mobile-modal-content">
-          <div>商家地址:深圳市南山区英唐大厦6楼</div>
+          <!--<div>商家地址:深圳市南山区英唐大厦6楼</div>-->
          <!-- <div class="content-line link-url">在线咨询</div>-->
           <div>致电:<a href="tel:4008301818" target="_blank" class="content-line link-url">4008301818</a></div>
-          <div>邮件:<a href="mailto:yrsc@usoftchina.com" target="_blank" class="content-line link-url">yrsc@usoftchina.com</a></div>
+          <!--<div>邮件:<a href="mailto:yrsc@usoftchina.com" target="_blank" class="content-line link-url">yrsc@usoftchina.com</a></div>-->
         </div>
       </div>
     </div>

+ 1 - 1
components/mobile/MobileFooter.vue

@@ -71,7 +71,7 @@
           return 'home'
         } else if (path === '/mobile/shop') {
           return 'shops'
-        } else if (path === '/mobile/user') {
+        } else if (startWith(path, '/mobile/user')) {
           return 'user'
         } else if (startWith(path, '/mobile/center/user')) {
           return 'userCenter'

+ 49 - 12
components/mobile/applyPurchase/PublishSeek.vue

@@ -5,6 +5,17 @@
         <i class="icon-guanbi iconfont" @click="cancel"></i>
       </div>
       <div class="publish-seek">
+        <div class="content-line">
+          <span><i>*</i>品牌:</span>
+          <input type="text" v-model="applyObj.brand" @blur="checkBrand" @input="onBrandChange" placeholder="请勿填中文符号">
+          <ul class="similar brand-similar-list" v-show="showSimilarBrandList && applyObj.brand">
+            <li v-for="sBrand in similarBrand" @click="setBrand(sBrand.nameEn)">{{sBrand.nameEn}}</li>
+          </ul>
+        </div>
+        <div class="content-line">
+          <span><i>*</i>类目(产品名称):</span>
+          <input type="text" v-model="applyObj.prodTitle" @blur="checkProdTitle" @input="onProdTitleInput">
+        </div>
         <div class="content-line">
           <span><i>*</i>型号:</span>
           <input type="text" v-model="applyObj.code" @blur="checkCode" @input="onCodeChange" placeholder="请勿填中文符号">
@@ -13,11 +24,8 @@
           </ul>
         </div>
         <div class="content-line">
-          <span><i>*</i>品牌:</span>
-          <input type="text" v-model="applyObj.brand" @blur="checkBrand" @input="onBrandChange" placeholder="请勿填中文符号">
-          <ul class="similar brand-similar-list" v-show="showSimilarBrandList && applyObj.brand">
-            <li v-for="sBrand in similarBrand" @click="setBrand(sBrand.nameEn)">{{sBrand.nameEn}}</li>
-          </ul>
+          <span>规格:</span>
+          <input type="text" v-model="applyObj.spec" @blur="checkSpec" @input="onSpecInput">
         </div>
         <div class="content-line">
           <span><i>*</i>截止日期:</span>
@@ -55,7 +63,7 @@
   </div>
 </template>
 <script>
-  import { formatDate, getRealLen, cutOutString } from '~utils/baseUtils'
+  import { formatDate, getRealLen, cutOutString, checkNullStr } from '~utils/baseUtils'
   export default {
     props: ['showSayPriceBox'],
     data () {
@@ -68,14 +76,16 @@
           encapsulation: '',
           produceDate: '',
           amount: '',
-          deadline: ''
+          deadline: '',
+          prodTitle: ''
         },
         validObj: {
           code: true,
           brand: true,
           unitPrice: true,
           amount: true,
-          deadline: true
+          deadline: true,
+          prodTitle: true
         },
         showCurrencyList: false,
         showSimilarCodeList: false,
@@ -156,13 +166,14 @@
             inquiry.endDate = endDate
             inquiry.sourceapp = 'MALL'
             inquiry.amount = 1
-            inquiryItem.prodTitle = response.data && response.data.length ? response.data : '其他'
+            inquiryItem.prodTitle = response.data && response.data.length ? response.data : this.applyObj.prodTitle
             inquiryItem.userUU = this.user.data.userUU
             inquiryItem.source = 'MALL'
             inquiryItem.userName = this.user.data.userName
             inquiryItem.userTel = this.user.data.userTel
             inquiryItem.needquantity = this.applyObj.amount
             inquiryItem.inbrand = this.applyObj.brand
+            inquiryItem.spec = this.applyObj.spec
             inquiryItem.custCurrency = currency
             inquiryItem.cmpCode = (this.applyObj.code).toUpperCase()
             inquiryItem.unitPrice = this.applyObj.unitPrice
@@ -219,7 +230,7 @@
         }
       },
       checkAll: function () {
-        return this.checkCode() && this.checkBrand() && this.checkDeadline() && this.checkAmount()
+        return this.checkBrand() && this.checkProdTitle() && this.checkCode() && this.checkDeadline() && this.checkSpec() && this.checkAmount()
       },
       checkCode: function () {
         this.validObj.code = this.applyObj.code && this.applyObj.code !== ''
@@ -235,6 +246,22 @@
         }
         return this.validObj.brand
       },
+      checkProdTitle: function () {
+        let prodTitle = this.applyObj.prodTitle.trim()
+        this.validObj.prodTitle = prodTitle && prodTitle !== ''
+        if (!this.validObj.prodTitle) {
+          this.setRemindText('类目不能为空')
+        }
+        return this.validObj.prodTitle
+      },
+      checkSpec: function () {
+        let nullStrFlag = checkNullStr(this.applyObj.spec)
+        this.validObj.spec = nullStrFlag
+        if (!nullStrFlag) {
+          this.setRemindText('规格输入不合法')
+        }
+        return this.validObj.spec
+      },
       checkAmount: function () {
         this.validObj.amount = this.applyObj.amount === '' ? true : this.applyObj.amount > 0 && this.applyObj.amount < 1000000000
         return this.validObj.amount
@@ -306,6 +333,16 @@
           this.getSimilarBrand()
         }
       },
+      onProdTitleInput: function () {
+        if (this.applyObj.prodTitle && getRealLen(this.applyObj.prodTitle) > 40) {
+          this.applyObj.prodTitle = cutOutString(this.applyObj.prodTitle, 40)
+        }
+      },
+      onSpecInput: function () {
+        if (this.applyObj.spec && getRealLen(this.applyObj.spec) > 100) {
+          this.applyObj.spec = cutOutString(this.applyObj.spec, 100)
+        }
+      },
       onAmountInput: function () {
         if (!(/^[0-9]*$/).test(this.applyObj.amount)) {
           let chineseIndex = -1
@@ -377,7 +414,7 @@
           }
           > span {
             display: inline-block;
-            width: 1.76rem;
+            width: 2.26rem;
             text-align: right;
             i {
               color: #ff0000;
@@ -402,7 +439,7 @@
             z-index: 12;
             border: 1px solid #7e7e7e;
             border-radius: .05rem;
-            left: 1.75rem;
+            left: 2.25rem;
             top: .7rem;
             background: #fff;
             li {

+ 2 - 2
components/mobile/applyPurchase/SayPrice.vue

@@ -309,11 +309,11 @@
 <style lang="scss" scoped>
   .mobile-modal {
     .mobile-modal-box {
-      top: 1.2rem;
+      top: 1.66rem;
       left: 3%;
       right: 3%;
       width: 7rem;
-      bottom: 1.2rem;
+      bottom: 1.66rem;
       margin: 0 auto;
       .say-price {
         background: #f3f3f3;

+ 12 - 8
components/mobile/applyPurchase/SayPriceInfo.vue

@@ -74,7 +74,7 @@
               <!--<p>{{item.offerTime | date}}</p>-->
               <div class="price clearfix">
                 <span>价格梯度:<br/>(PCS)</span>
-                <table class="com-price-list">
+                <table class="com-price-list com-price-listLong">
                 <thead>
                 <tr>
                   <th>分段数量</th>
@@ -83,8 +83,8 @@
                 </thead>
                 <tbody>
                 <tr v-for="replie in item.replies">
-                  <td class="date">{{replie.lapQty ? replie.lapQty + '+' : '-'}}</td>
-                  <td class="date">{{replie.price ? (item.currency == 'USD' ? '$' : '¥') + replie.price : '-'}}</td>
+                  <td class="date text-ellipse">{{replie.lapQty ? replie.lapQty + '+' : '-'}}</td>
+                  <td class="date text-ellipse">{{replie.price ? (item.currency == 'USD' ? '$' : '¥') + replie.price : '-'}}</td>
                 </tr>
                 </tbody>
               </table>
@@ -120,6 +120,8 @@
             <div class="base-info">
               <div class="content-title">
                 <span class="inline-block text-ellipse">{{purchaseDetail.inquiry && purchaseDetail.inquiry.enterprise ? purchaseDetail.inquiry.enterprise.enName : purchaseDetail.userName}}</span>
+                <img src="/images/mobile/center/accept.png" alt="" v-if="purchaseDetail.agreed == 1">
+                <img src="/images/mobile/center/refuse.png" alt="" v-if="purchaseDetail.agreed == 0">
               </div>
               <div class="content-line">
                 品牌:<span>{{purchaseDetail.inbrand || '-'}}</span>
@@ -175,7 +177,7 @@
               <!--<p>{{purchaseDetail.offerTime | date}}</p>-->
               <div class="price clearfix">
                 <span>价格梯度:<br/>(PCS)</span>
-                <table class="com-price-list">
+                <table class="com-price-list com-price-listLong">
                   <thead>
                   <tr>
                     <th>分段数量</th>
@@ -184,8 +186,8 @@
                   </thead>
                   <tbody>
                   <tr v-for="replie in purchaseDetail.replies">
-                    <td class="date">{{replie.lapQty ? replie.lapQty + '+' : '-'}}</td>
-                    <td class="date">{{replie.price ? (purchaseDetail.currency == 'USD' ? '$' : '¥') + replie.price : '-'}}</td>
+                    <td class="date text-ellipse">{{replie.lapQty ? replie.lapQty + '+' : '-'}}</td>
+                    <td class="date text-ellipse">{{replie.price ? (purchaseDetail.currency == 'USD' ? '$' : '¥') + replie.price : '-'}}</td>
                   </tr>
                   </tbody>
                 </table>
@@ -305,7 +307,7 @@
           })
       },
       setShowRefuseList: function (item, flag) {
-        console.log(flag)
+//        console.log(flag)
         item.showRefuseList = flag
       }
     },
@@ -439,6 +441,8 @@
           .base {
             background: #3f84f6;
             color: #fff;
+            margin: .1rem;
+            border-radius: .1rem;
             .content-line {
               span {
                 color: #fff;
@@ -545,7 +549,7 @@
               border-bottom: 1px solid #d3d3d3;
               margin-bottom: .1rem;
               span {
-                width: 4.92rem;
+                width: 5.62rem;
               }
               img {
                 width: .76rem;

+ 2 - 7
components/mobile/applyPurchase/SeekList.vue

@@ -72,8 +72,8 @@
                 </thead>
                 <tbody>
                 <tr>
-                  <td class="date">{{item.quotation.replies[0].lapQty + '+'}}</td>
-                  <td class="date">{{item.quotation.replies[0].price}}</td>
+                  <td class="date text-ellipse">{{item.quotation.replies[0].lapQty + '+'}}</td>
+                  <td class="date text-ellipse">{{item.quotation.replies[0].price}}</td>
                 </tr>
                 </tbody>
               </table>
@@ -187,11 +187,6 @@ export default {
       immediate: true
     }
   },
-  computed: {
-    user() {
-      return this.$store.state.option.user
-    }
-  },
   methods: {
     getDay: function(timeStamp) {
       return Math.floor(timeStamp / (1000 * 60 * 60 * 24))

+ 14 - 9
components/mobile/brand/ComponentDetail.vue

@@ -1,13 +1,17 @@
 <template>
   <div class="component-detail mobile-content">
     <div class="base-detail">
-      <div class="base-detail-item" v-if="component.kind.nameCn">
-        <span>类&nbsp;&nbsp;&nbsp;&nbsp;目:</span>
-        <span>{{component.kind.nameCn}}</span>
-      </div>
-      <div class="base-detail-item" v-if="component.brand.nameCn">
+      <div class="base-detail-item">
         <span>品&nbsp;&nbsp;&nbsp;&nbsp;牌:</span>
-        <span>{{component.brand.nameCn}}</span>
+        <span>{{component.brand.nameCn || '-'}}</span>
+      </div>
+      <div class="base-detail-item">
+        <span>类目(产品名称):</span>
+        <span>{{component.kind.nameCn || '-'}}</span>
+      </div>
+      <div class="base-detail-item">
+        <span>规&nbsp;&nbsp;&nbsp;&nbsp;格:</span>
+        <span>{{component.spec || '-'}}</span>
       </div>
       <div class="base-detail-item attach" @click="goAttach(component.attach)">
         <span v-if="component.attach">规格书:<img src="/images/mobile/@2x/productDetail/pdf.png" alt=""><span>查看</span></span>
@@ -303,12 +307,12 @@
       margin: 0 .27rem .2rem .27rem;
       padding: .18rem .36rem 0 .36rem;
       border-radius: .1rem;
-      background: url('/images/mobile/@2x/productDetail/component-desc-bg.png')no-repeat;
+      background: url('/images/mobile/@2x/productDetail/desc-bg.png')no-repeat;
       background-size: cover;
-      max-height: 3.17rem;
+      height: 3.96rem;
       position: relative;
       .base-detail-item {
-        margin-top: .2rem;
+        margin-top: .14rem;
         position: relative;
         color: #fff;
         &:nth-child(1) {
@@ -336,6 +340,7 @@
         }
         &.product-description {
           height: 1.58rem;
+          margin-top: .2rem;
         }
         .description {
           line-height: .4rem;

+ 13 - 2
components/mobile/center/Seek.vue

@@ -6,7 +6,7 @@
       <p class="en-name"><img src="/images/mobile/center/en.png" alt="">{{user.data.enterprise.enName}}</p>
     </div>
     <div class="mobile-fix-content mobile-centerfix-content" id="mobileFixContent">
-      <div class="seek-title com-switch-item" v-if="userType == 'saler'">
+      <div class="seek-title com-switch-item" v-if="userType == 'saler' && seekType == 'wait'">
         <span class="mobile-switch-btn" :class="{'active': activeType=='all'}" @click="switchActiveType('all')">公司商机</span>
         <span class="mobile-switch-btn" :class="{'active': activeType=='self'}" @click="switchActiveType('self')">我的商机</span>
       </div>
@@ -22,6 +22,7 @@
 <script>
   import SeekList from '~components/mobile/applyPurchase/SeekList.vue'
   import { PullUp, EmptyStatus } from '~components/mobile/common'
+  import {deepCopy} from '~utils/baseUtils'
   export default {
     layout: 'mobileNoHeader',
     middleware: 'authenticated',
@@ -46,7 +47,17 @@
     watch: {
       'purchase.data': {
         handler: function (val) {
-          let list = val.content ? val.content.slice() : []
+          let list = deepCopy(val.content || [])
+          if (this.seekType === 'done' && this.userType === 'saler') {
+            list.map(val => {
+              val.quotation = {
+                replies: val.replies,
+                vendName: val.vendName,
+                leadtime: val.leadtime,
+                user: val.user
+              }
+            })
+          }
           if (this.isChange) {
             this.purchaseManListData = list
             this.isChange = false

+ 17 - 12
components/mobile/store/StoreDetail.vue

@@ -64,7 +64,7 @@
         <li>
           <div>Q&nbsp;&nbsp;&nbsp;Q:</div>
           <div v-if="store.enterprise.enQQ"> {{store.enterprise.enQQ.trim()}}</div>
-          <div v-else><span>-</span></div>
+          <div v-else>-</div>
         </li>
        <!-- <li>
           <div>店铺地址:</div>
@@ -89,7 +89,7 @@
       <table v-if="commodities.content&&commodities.content.length > 0">
         <thead id="product-head" >
           <tr>
-            <th style="width: 1.77rem;">型号/品牌</th>
+            <th style="width: 1.77rem;">品牌/类目/型号/规格</th>
             <th style="width: 1.75rem;">包装</th>
             <th style="width: 2.2rem;">价格梯度</th>
             <th style="width: 1.77rem;">交期(天)</th>
@@ -97,7 +97,7 @@
         </thead>
         <thead class="active" v-show="isScrollOverTab">
           <tr>
-            <th style="width: 1.77rem;">型号/品牌</th>
+            <th style="width: 1.77rem;">品牌/类目/型号/规格</th>
             <th style="width: 1.75rem;">包装</th>
             <th style="width: 2.2rem;">价格梯度</th>
             <th style="width: 1.77rem;">交期(天)</th>
@@ -106,8 +106,10 @@
         <tbody id="product-body">
         <tr v-for="commodity in searchLists" @click="goProductDetail(commodity)">
           <td class="store-name">
-            <div>{{commodity.code}}</div>
-            <div>{{commodity.brandNameCn}}</div>
+            <div>{{commodity.brandNameEn || brandEn || '-'}}</div>
+            <div>{{commodity.kindNameCn || '-'}}</div>
+            <div>{{commodity.code || '-'}}</div>
+            <div>{{commodity.spec || '-'}}</div>
           </td>
           <td>
             <div v-if="!commodity.packaging && !commodity.breakUp && !commodity.produceDate">-</div>
@@ -134,7 +136,7 @@
               <span v-if="commodity.b2cMaxDelivery && commodity.b2cMaxDelivery !== commodity.b2cMinDelivery">{{commodity.b2cMaxDelivery}}</span>
             </div>
             <div v-if="commodity.minBuyQty"><span class="order-tag">订</span>{{commodity.minBuyQty}}起订</div>
-            <div v-if="commodity.reserve"><span class="order-tag reserve-tag">库</span>{{commodity.reserve}}</div>
+            <div><span class="order-tag reserve-tag">库</span>{{commodity.reserve || 0}}</div>
             <div v-if="!commodity.b2cMinDelivery">
               <span>—</span>
             </div>
@@ -286,7 +288,7 @@
             this.$store.dispatch('shop/StoreFocus', {storeName: this.store.storeName, storeid: this.store.id})
               .then(response => {
                 this.$store.dispatch('shop/StoreFocusList', {id: this.store.id})
-                this.collectResult = '收藏成功'
+                this.collectResult = '关注成功'
                 this.timeoutCount++
               })
           } else if (this.isFocus === 'true') {
@@ -429,7 +431,7 @@
                 color: #f44336;
               }
             }
-            &:last-child{
+           /* &:last-child{
               div{
                 width: 74%;
                 padding-right:.34rem;
@@ -440,7 +442,7 @@
                   width: 26%;
                 }
               }
-            }
+            }*/
           }
         }
       }
@@ -479,10 +481,12 @@
           }
           tr {
             th {
-              font-weight: bold;
               text-align: center;
-              height: .78rem;
-              line-height: .78rem;
+              height: .98rem;
+              line-height: normal;
+              font-size: .26rem;
+              font-weight: normal;
+              color: #333;
             }
           }
         }
@@ -590,6 +594,7 @@
     margin: 0;
     p {
       margin: 0;
+      font-size: .28rem;
     }
   }
   .search-content {

+ 1 - 1
pages/index.vue

@@ -27,7 +27,7 @@
     name: 'index',
     // middleware: 'wechatInfo',
     layout (context) {
-      console.log(context.store.state.option.isMobile)
+//      console.log(context.store.state.option.isMobile)
       return context.store.state.option.isMobile ? 'mobile' : 'main'
     },
     data () {

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

@@ -225,13 +225,17 @@
     </div>
     <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
     <div class="mobile-modal" v-if="showStoreInfo" @touchmove="preventTouchMove($event)">
-      <div class="mobile-modal-box">
+      <div class="mobile-modal-box mobile-link-en">
         <div class="mobile-modal-header">联系方式<i @click="showStoreInfo = false" class="icon-guanbi iconfont"></i></div>
         <div class="mobile-modal-content">
+<!--
           <div v-if="checkInfo(storeInfo.enAddress || storeInfo.address)">商家地址:{{storeInfo.enAddress || storeInfo.address}}</div>
+-->
           <!--<div class="content-line link-url">在线咨询</div>-->
           <div v-if="checkInfo(storeInfo.enTel)">致电:<a :href="'tel:' + storeInfo.enTel" target="_blank" class="content-line link-url">{{storeInfo.enTel}}</a></div>
+<!--
           <div v-if="checkInfo(storeInfo.enEmail)">邮件:<a :href="'mailto:' + storeInfo.enEmail" target="_blank" class="content-line link-url">{{storeInfo.enEmail}}</a></div>
+-->
         </div>
       </div>
     </div>

+ 5 - 5
pages/mobile/center/user/collect/store.vue

@@ -14,8 +14,8 @@
             <img :src="item.storeInfo.logoUrl || '/images/component/default.png'">
           </div>
           <div class="list-item-phone">
-            <p>电话:<span>{{item.storeInfo.enterprise ? item.storeInfo.enterprise.enTel : '-'}}</span></p>
-            <p>传真:<span>{{item.storeInfo.enterprise ? item.storeInfo.enterprise.enFax : '-'}}</span></p>
+            <p>电话:<span>{{item.storeInfo.enterprise.enTel || '-'}}</span></p>
+            <p>传真:<span>{{item.storeInfo.enterprise.enFax || '-'}}</span></p>
             <p>联系商家:<a @click="selectStoreInfo(item, $event)">点击查看</a></p>
             <i class="iconfont icon-shoucang" @click="cancelFocus(item, $event)"></i>
           </div>
@@ -24,13 +24,13 @@
       <empty-status v-if="!storeList.length" :type="'collect'" :showLink="true" :text="'抱歉,暂无店铺关注'"></empty-status>
     </div>
     <div class="mobile-modal" v-if="showStoreInfo" @touchmove="preventTouchMove($event)">
-      <div class="mobile-modal-box">
+      <div class="mobile-modal-box mobile-link-en">
         <div class="mobile-modal-header">联系方式<i @click="showStoreInfo = false" class="icon-guanbi iconfont"></i></div>
         <div class="mobile-modal-content">
-          <div>商家地址:{{storeInfo.enAddress || storeInfo.address || '-'}}</div>
+         <!-- <div>商家地址:{{storeInfo.enAddress || storeInfo.address || '-'}}</div>-->
           <!--<div class="content-line link-url">在线咨询</div>-->
           <div>致电:<a :href="'tel:' + storeInfo.enTel" target="_blank" class="content-line link-url">{{storeInfo.enTel || '-'}}</a></div>
-          <div>邮件:<a :href="'mailto:' + storeInfo.enEmail" target="_blank" class="content-line link-url">{{storeInfo.enEmail || '-'}}</a></div>
+          <!--<div>邮件:<a :href="'mailto:' + storeInfo.enEmail" target="_blank" class="content-line link-url">{{storeInfo.enEmail || '-'}}</a></div>-->
         </div>
       </div>
     </div>

+ 10 - 12
pages/mobile/center/vendor/product.vue

@@ -262,12 +262,13 @@
       <nuxt-link to="/">返回首页</nuxt-link>
     </div>
     <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
+    <pull-up :searchMore="isSearchSearchingMore" :allPage="EnterprisePage" :page="seekPage" @pullUpAction="getMoreSearch"></pull-up>
     <!-- 在售产品编辑框 -->
   </div>
 </template>
 
 <script>
-  import { RemindBox } from '~components/mobile/common'
+  import { RemindBox, PullUp } from '~components/mobile/common'
   export default {
     layout: 'mobile',
     middleware: 'authenticated',
@@ -319,16 +320,12 @@
           this.collectResult = err.response.data
         })
       },
-      scroll: function () {
-        let scrolled = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
-
-//        if (this.$refs.searchSeekInput && this.$store.state.mobile.InputGetFocus) {
-//          this.$refs.searchSeekInput.blur()
+//      scroll: function () {
+//        let scrolled = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
+//        if (Math.ceil(scrolled + window.screen.availHeight) >= document.body.scrollHeight && !this.isSearchSearchingMore && this.seekPage < this.EnterprisePage) {
+//          this.getMoreSearch()
 //        }
-        if (Math.ceil(scrolled + window.screen.availHeight) >= document.body.scrollHeight && !this.isSearchSearchingMore && this.seekPage < this.EnterprisePage) {
-          this.getMoreSearch()
-        }
-      },
+//      },
       searchSeek: function () {
         this.GetEnterpriseListData.splice(0, this.GetEnterpriseListData.length)
         this.GetEnterpriseListData = null
@@ -516,7 +513,7 @@
     },
     mounted: function () {
       this.$nextTick(() => {
-        window.addEventListener('scroll', this.scroll, false)
+//        window.addEventListener('scroll', this.scroll, false)
         this._initscroll()
       })
     },
@@ -524,7 +521,8 @@
       this.getResourceProvidor()
     },
     components: {
-      RemindBox
+      RemindBox,
+      PullUp
     }
   }
 </script>

+ 30 - 6
pages/mobile/product/_batchCode.vue

@@ -7,7 +7,7 @@
       <div class="content-line cl-title">
         <span class="code text-ellipse inline-block">{{commodity.code}}</span>
         <div class="focus-wrap inline-block" :class="{'active': isFocus}">
-          <i class="iconfont icon-shoucang"></i>
+          <i class="iconfont icon-shoucang" @click="collectStore"></i>
           <span>店铺关注</span>
         </div>
       </div>
@@ -64,13 +64,17 @@
       </div>
     </div>
     <div class="mobile-modal" v-if="showStoreInfo" @touchmove="preventTouchMove($event)">
-      <div class="mobile-modal-box">
+      <div class="mobile-modal-box mobile-link-en">
         <div class="mobile-modal-header">联系方式<i @click="showStoreInfo = false" class="icon-guanbi iconfont"></i></div>
         <div class="mobile-modal-content">
+<!--
           <div v-if="checkInfo(storeInfo.enterprise.enAddress)">商家地址:{{storeInfo.enterprise.enAddress}}</div>
+-->
           <!--<div class="content-line link-url">在线咨询</div>-->
           <div v-if="checkInfo(storeInfo.enterprise.enTel)">致电:<a :href="'tel:' + storeInfo.enterprise.enTel" target="_blank" class="content-line link-url">{{storeInfo.enterprise.enTel}}</a></div>
+<!--
           <div v-if="checkInfo(storeInfo.enterprise.enEmail)">邮件:<a :href="'mailto:' + storeInfo.enterprise.enEmail" target="_blank" class="content-line link-url">{{storeInfo.enterprise.enEmail}}</a></div>
+-->
         </div>
       </div>
     </div>
@@ -149,6 +153,26 @@
           this.showLoginBox = true
         }
       },
+      collectStore: function () {
+        if (this.user.logged) {
+          if (!this.isFocus) {
+            this.$store.dispatch('shop/StoreFocus', {storeName: this.storeInfo.storeName, storeid: this.storeInfo.id})
+              .then(response => {
+                this.$store.dispatch('shop/StoreFocusList', {id: this.storeInfo.id})
+                this.onRemind('关注成功')
+              })
+          } else {
+            this.$http.post('/trade/storeFocus/delete/storeId', [this.storeInfo.id])
+              .then(response => {
+                this.$store.dispatch('shop/StoreFocusList', {id: this.storeInfo.id})
+                this.onRemind('取消成功')
+              })
+          }
+        } else {
+          this.url = this.$route.fullPath
+          this.showLoginBox = true
+        }
+      },
       onRemind: function (str) {
         this.remindText = str
         this.remindCount++
@@ -164,7 +188,7 @@
       background: #fff;
       text-align: center;
       img {
-        border: .01rem solid #ccc;
+       /* border: .01rem solid #ccc;*/
         max-width: 4.06rem;
         max-height: 3.27rem;
       }
@@ -275,13 +299,13 @@
                 position: relative;
                 top: -.05rem;
                 color: #ff6000;
-                &.icon-shouye-copy {
-                  color: #3f84f6;
-                }
                 & + p {
                   margin-top: -.07rem;
                 }
               }
+              &.icon-shouye-copy {
+                color: #3f84f6;
+              }
             }
             p {
               font-size: .2rem;

+ 4 - 4
pages/mobile/shop/index.vue

@@ -39,13 +39,13 @@
       <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
       <loading v-show="isSearchingMore"></loading>
       <div class="mobile-modal" v-if="showStoreInfo" @touchmove="preventTouchMove($event)">
-        <div class="mobile-modal-box">
+        <div class="mobile-modal-box mobile-link-en">
           <div class="mobile-modal-header">联系方式<i @click="showStoreInfo = false" class="icon-guanbi iconfont"></i></div>
           <div class="mobile-modal-content">
-            <div v-if="checkInfo(enterpriseInfo.enAddress || enterpriseInfo.address)">商家地址:{{enterpriseInfo.enAddress || enterpriseInfo.address}}</div>
+            <!--<div v-if="checkInfo(enterpriseInfo.enAddress || enterpriseInfo.address)">商家地址:{{enterpriseInfo.enAddress || enterpriseInfo.address}}</div>-->
             <!--<div class="content-line link-url">在线咨询</div>-->
             <div v-if="checkInfo(enterpriseInfo.enTel)">致电:<a :href="'tel:' + enterpriseInfo.enTel" target="_blank" class="content-line link-url">{{enterpriseInfo.enTel}}</a></div>
-            <div v-if="checkInfo(enterpriseInfo.enEmail)">邮件:<a :href="'mailto:' + enterpriseInfo.enEmail" target="_blank" class="content-line link-url">{{enterpriseInfo.enEmail}}</a></div>
+            <!--<div v-if="checkInfo(enterpriseInfo.enEmail)">邮件:<a :href="'mailto:' + enterpriseInfo.enEmail" target="_blank" class="content-line link-url">{{enterpriseInfo.enEmail}}</a></div>-->
           </div>
         </div>
       </div>
@@ -197,7 +197,7 @@
             this.$http.post('/trade/storeFocus/save', {storeName: item.storeName, storeid: item.id})
               .then(response => {
                 item.isFocus = 'true'
-                this.collectResult = '收藏成功'
+                this.collectResult = '关注成功'
                 this.timeoutCount++
               })
           } else {

+ 4 - 1
pages/mobile/user/index.vue

@@ -293,7 +293,7 @@
   .modal-content {
     position: absolute;
     height: 5.32rem;
-    bottom: 0;
+    bottom: .98rem;
     left: 0;
     background: #fff;
     width: 100%;
@@ -324,6 +324,9 @@
         overflow: hidden;
         text-overflow: ellipsis;
         white-space: nowrap;
+        &:hover, &:active, &:focus {
+          background: #f7f7f7;
+        }
         a {
           display: inline-block;
           color: #666;