Browse Source

新增移动端全局搜索

shenjj 7 years ago
parent
commit
64d9985351

+ 83 - 64
components/mobile/search/MainSearch.vue

@@ -1,16 +1,27 @@
 <template>
   <div class="main-search" @touchstart="cancelFocus" @click="setShowSearchType(false)" id="main-search">
+    <!--<div class="main-search-header">-->
+      <!--<div class="options" @click="setShowSearchType(!showSearchType, $event)">-->
+        <!--{{searchType == 'product' ? '产品' : '店铺'}}-->
+        <!--<i></i>-->
+        <!--<ul v-if="showSearchType">-->
+          <!--<li @click="setSearchType(searchType == 'product' ? 'store' : 'product', $event)">{{searchType == 'product' ? '店铺' : '产品'}}</li>-->
+        <!--</ul>-->
+      <!--</div>-->
+      <!--<input type="text" id="search-box" v-model="keyword" @keyup.13="onSearch()">-->
+      <!--<span @click="onSearch()">搜索</span>-->
+      <!--<a @click="cancelSearch">取消</a>-->
+    <!--</div>-->
     <div class="main-search-header">
-      <div class="options" @click="setShowSearchType(!showSearchType, $event)">
-        {{searchType == 'product' ? '产品' : '店铺'}}
-        <i></i>
-        <ul v-if="showSearchType">
-          <li @click="setSearchType(searchType == 'product' ? 'store' : 'product', $event)">{{searchType == 'product' ? '店铺' : '产品'}}</li>
-        </ul>
-      </div>
-      <input type="text" id="search-box" v-model="keyword" @keyup.13="onSearch()">
+      <input type="text" v-model="keyword" id="search-box" @keyup.13="onSearch()" :placeholder="placeholder">
       <span @click="onSearch()">搜索</span>
-      <a @click="cancelSearch">取消</a>
+      <a @click="cancelSearch()">取消</a>
+      <div class="main-search-header-controll clearfix">
+        <span :class="ChooseTop === 'cmpcode' ? 'active' : ''" @click="setChangelistHander('cmpcode')"><a>型号</a></span>
+        <span :class="ChooseTop === 'materiel' ? 'active' : ''" @click="setChangelistHander('materiel')"><a>物料名称</a></span>
+        <span :class="ChooseTop === 'seller' ? 'active' : ''" @click="setChangelistHander('seller')"><a>卖家</a></span>
+        <span :class="ChooseTop === 'cmpbrand' ? 'active' : ''" @click="setChangelistHander('cmpbrand')"><a>品牌</a></span>
+      </div>
     </div>
     <ul class="associate-list" v-show="associate.show">
       <li @click="onAssociateClick(similar)" v-for="similar in similarKeywords.all">
@@ -23,7 +34,7 @@
       <div class="search-history" v-if="searchHistory && searchHistory.length > 0">
         <p>历史搜索<i class="iconfont icon-lajitong" @click="deleteHistory"></i></p>
         <ul>
-          <li v-for="item in searchHistory" @click="onSearch(item)" v-if="item.keyword && item.keyword.trim().length">
+          <li v-for="item in searchHistory" @click="onSearch(item.keyword)" v-if="item.keyword && item.keyword.trim().length">
             <a>{{item.keyword}}</a>
           </li>
         </ul>
@@ -49,7 +60,8 @@
           show: false
         },
         searchType: 'product',
-        showSearchType: false
+        showSearchType: false,
+        ChooseTop: 'cmpcode'
       }
     },
     props: {
@@ -78,23 +90,27 @@
 //      }
 //    },
     methods: {
+      setChangelistHander(str) {
+        this.ChooseTop = str
+      },
       onSearch (item) {
-        if (item) {
-          this.keyword = item.keyword
-          if (item.type === 'SEARCH_STORE') {
-            this.$router.push('/mobile/shop?keyword=' + encodeURIComponent(this.keyword))
-          } else if (item.type === 'SEARCH_PRODUCT') {
-            this.$router.push('/mobile/search?w=' + encodeURIComponent(this.keyword))
-          }
-        } else {
-          if (this.keyword) {
-            if (this.searchType === 'product') {
-              this.$router.push('/mobile/search?w=' + encodeURIComponent(this.keyword))
-            } else if (this.searchType === 'store') {
-              this.$router.push('/mobile/shop?keyword=' + encodeURIComponent(this.keyword))
-            }
-          }
-        }
+        this.$router.push(`/mobile/search/newkeycode?choosetype=${this.ChooseTop}&keyword=${encodeURIComponent(this.keyword)}`)
+        // if (item) {
+        //   this.keyword = item.keyword
+        //   if (item.type === 'SEARCH_STORE') {
+        //     this.$router.push('/mobile/shop?keyword=' + encodeURIComponent(this.keyword))
+        //   } else if (item.type === 'SEARCH_PRODUCT') {
+        //     this.$router.push('/mobile/search?w=' + encodeURIComponent(this.keyword))
+        //   }
+        // } else {
+        //   if (this.keyword) {
+        //     if (this.searchType === 'product') {
+        //       this.$router.push('/mobile/search?w=' + encodeURIComponent(this.keyword))
+        //     } else if (this.searchType === 'store') {
+        //       this.$router.push('/mobile/shop?keyword=' + encodeURIComponent(this.keyword))
+        //     }
+        //   }
+        // }
       },
       onChange () {
         if (!this.keyword) {
@@ -169,11 +185,31 @@
       },
       searchHistory () {
         return this.$store.state.searchData.searchHistory.searchHistory.data
+      },
+      placeholder() {
+        if (this.ChooseTop === 'cmpcode') {
+          return '请输入您要搜索的型号'
+        } else if (this.ChooseTop === 'materiel') {
+          return '请输入您要搜索的物料名称'
+        } else if (this.ChooseTop === 'seller') {
+          return '请输入您要搜索的卖家名称'
+        } else if (this.ChooseTop === 'cmpbrand') {
+          return '请输入您要搜索的品牌'
+        }
       }
     }
   }
 </script>
 <style lang="scss" scoped>
+  @mixin overFlowHidden {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  @mixin lineHeight($value) {
+    height: $value;
+    line-height: $value;
+  }
   .main-search {
     background: #fff;
     width: 100%;
@@ -182,20 +218,20 @@
     top: 0;
     bottom: 0;
     .main-search-header {
-      position: relative;
-      height: .88rem;
+      position: absolute;
       background: #3e82f5;
-      padding-left: .3rem;
       line-height: .88rem;
       margin-top: 0;
       z-index: 1;
+      width: 100%;
       input {
         width: 4.88rem;
         height: .62rem;
         line-height: .62rem;
         font-size: .26rem;
         color: #999;
-        padding-left: 1.26rem;
+        margin-left: 0.3rem;
+        /*padding-left: 1.26rem;*/
         border: .04rem solid #fff;
         background: #fff;
         outline: none;
@@ -226,44 +262,27 @@
         color: #fff;
         margin-left: .2rem;
       }
-      .options {
-        position: absolute;
-        left: .3rem;
-        width: 1.25rem;
-        padding-left: .25rem;
-        background: url(/images/mobile/@2x/search/select-arrow-blue.jpg) no-repeat;
-        background-size: .14rem .12rem;
-        background-position: .92rem .36rem;
-        color: #3e82f5;
-        font-size: .3rem;
-        i {
-          height: .46rem;
-          width: .01rem;
-          background: #eceef0;
-          display: block;
-          float: right;
-          margin-top: .18rem;
-        }
-        ul {
-          position: absolute;
-          left: 0;
-          top: .54rem;
-          z-index: -1;
-          li {
-            width: 1.25rem;
-            height: .99rem;
-            border-radius: .05rem;
-            background: #666;
-            color: rgba(255, 255, 255, 0.89);
-            text-align: center;
-            line-height: 1.2rem;
-            font-size: .3rem;
+      .main-search-header-controll {
+        background: #3e82f5;
+        span {
+          padding: 0 0.2rem;
+          @include lineHeight(0.66rem);
+          font-size: 0.28rem;
+          color: #fff;
+          margin: 0;
+          background: rgba(0,0,0,0);
+          border-radius: 0;
+          width: auto;
+          &.active a{
+            color: #fff;
+            border-bottom: 0.04rem solid #fff;
           }
         }
       }
     }
     .associate-list {
       background: #fff;
+      margin-top: 1.7rem;
       li {
         height: 0.7rem;
         line-height: .9rem;
@@ -298,7 +317,7 @@
     .hot-history {
       .search-history {
         padding-left: .51rem;
-        padding-top: .38rem;
+        padding-top: 2.08rem;
         >p {
           font-size: .3rem;
           color: #333;

+ 2 - 1
components/mobile/store/StoreDetail.vue

@@ -666,7 +666,8 @@
         .text {
           display: inline-block;
           color: #333;
-          font-size: 0.28rem
+          font-size: 0.28rem;
+          vertical-align: top;
         }
         .table {
           width: 5.25rem;

+ 1 - 1
components/personalMaterial/PersonalMaterial.vue

@@ -425,7 +425,7 @@
       position: fixed;
       top: 23%;
       left: 31%;
-      z-index: 10;
+      z-index: 102;
       width: 577px;
       height: 239px;
       background: #fff;

+ 1041 - 0
pages/mobile/search/newkeycode.vue

@@ -0,0 +1,1041 @@
+<template>
+ <div class="search-wrapper">
+   <!-- 头部搜索 -->
+   <div class="main-search-header">
+     <input type="text" id="search-box" v-model="keyword" @keyup.13="onClickSearchHander()" :placeholder="placeholder">
+     <span @click="onClickSearchHander()">搜索</span>
+     <a @click="cancelSearchHander()">取消</a>
+     <div class="main-search-header-controll clearfix">
+       <span :class="ChooseTop === 'cmpcode' ? 'active' : ''" @click="setChangelistHander('cmpcode')"><a>型号</a></span>
+       <span :class="ChooseTop === 'materiel' ? 'active' : ''" @click="setChangelistHander('materiel')"><a>物料名称</a></span>
+       <span :class="ChooseTop === 'seller' ? 'active' : ''" @click="setChangelistHander('seller')"><a>卖家</a></span>
+       <span :class="ChooseTop === 'cmpbrand' ? 'active' : ''" @click="setChangelistHander('cmpbrand')"><a>品牌</a></span>
+     </div>
+   </div>
+   <!-- 主体内容 -->
+   <div class="main-search-wrapper">
+      <div class="search-title">搜索“<span>{{keyword}}</span>”暂无此{{getNowChooseType}},为您找到{{allPage}}条相关信息</div>
+     <!-- 品牌精确查找 -->
+     <template v-if="ChooseTop === 'cmpbrand' && brandIsAccurate">
+       <div class="search-content" style="margin-bottom: 0.2rem;">
+         <div class="middle">
+           <div class="list clearfix" style="border-bottom: 1px solid #dcdcdc;padding-bottom: 0.1rem;line-height: 0.8rem;">
+             <img :src="'' || '/images/component/default.png'" class="pull-left">
+             <div class="name pull-left overHidden" style="max-width: 5rem;">品牌名字123</div>
+           </div>
+           <div class="list">
+             <div class="name">主打产品:</div>
+             <div class="text">
+               传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+             </div>
+           </div>
+           <div class="list">
+             <div class="name">应用领域:</div>
+             <div class="text">
+               传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+             </div>
+           </div>
+           <div class="list">
+             <div class="name">品牌介绍:</div>
+             <div class="text">
+               传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+             </div>
+           </div>
+           <div class="list">
+             <div class="name">官网地址:</div>
+             <div class="text">
+               <a href="www.baidu.com" target="_blank">www.baidu.com</a>
+             </div>
+             <div class="pull-right lookMoreBtn" @click="showBrandDetails = true">
+               查看更多
+             </div>
+           </div>
+         </div>
+       </div>
+     </template>
+     <div class="search-nav clearfix" v-if="brandIsAccurate || (!brandIsAccurate && ChooseTop !== 'cmpbrand')">
+        <span class="pull-left" :class="navType === 'hasStore' ? 'active' : ''" @click="getReloadList('hasStore')">
+          {{ChooseTop === 'cmpcode' ? '现货': '现货卖家'}}(60)条
+        </span>
+        <span class="pull-left" :class="navType === 'noHasStore' ? 'active' : ''" @click="getReloadList('noHasStore')">
+          {{ChooseTop === 'cmpcode' ? '期货': '期货卖家'}}(60)条</span>
+     </div>
+     <div class="search-content" v-if="brandIsAccurate || (!brandIsAccurate && ChooseTop !== 'cmpbrand')">
+       <!-- 现货 -->
+       <template v-if="navType === 'hasStore'">
+         <!-- 型号结果 -->
+         <template v-if="ChooseTop === 'cmpcode'">
+          <div v-if="searchLists&&searchLists.length > 0">
+         <div v-for="(item, index) in searchLists">
+           <!--@click="goProductDetail(item)"-->
+           <div class="middle">
+             <div class="list">
+               <div class="name">品牌:</div>
+               <div class="text overHidden">{{item.brandNameEn}}</div>
+             </div>
+             <div class="list">
+               <div class="name">物料名称(类目):</div>
+               <div class="text overHidden">{{item.kindNameCn || '-'}}</div>
+             </div>
+             <div class="list">
+               <div class="name">型号:</div>
+               <div class="text overHidden">{{item.code || '-'}}</div>
+             </div>
+             <div class="list">
+               <div class="name">规格:</div>
+               <div class="text overHidden">{{item.spec || '-'}}</div>
+             </div>
+             <div class="list">
+               <div class="fl">
+                 <div class="name">包装:</div>
+                 <div class="text overHidden" style="width: 2.3rem">{{item.packaging || '无包装信息'}}</div>
+               </div>
+               <div class="fl">
+                 <div class="name">交期(天):</div>
+                 <div class="text overHidden" style="width: 1.8rem" v-if="item.b2cMaxDelivery && (item.b2cMaxDelivery != item.b2cMinDelivery)" v-text="item.b2cMinDelivery + '-'+ item.b2cMaxDelivery"></div>
+                 <div class="text overHidden" style="width: 1.8rem" v-if="item.b2cMaxDelivery && (item.b2cMaxDelivery == item.b2cMinDelivery)" v-text="item.b2cMinDelivery"></div>
+               </div>
+             </div>
+             <div class="list">
+               <div class="fl">
+                 <div class="name">生产日期:</div>
+                 <div class="text overHidden" style="width: 1.75rem" :title="item.produceDate">{{item.produceDate || '-'}}</div>
+               </div>
+               <div class="fl">
+                 <div class="name">库存:</div>
+                 <div class="text overHidden" style="width: 2.3rem">{{item.reserve || '-'}}</div>
+               </div>
+             </div>
+             <div class="list">
+               <div class="fl" @click.stop="goAttach(item.attach)">
+                 <div class="name">规格书:</div>
+                 <div class="text">
+                   <i class="iconfont icon-pdf" :class="{'active': item.attach && item.attach !== '' && item.attach !== '1'}"></i>
+                 </div>
+               </div>
+               <div class="fl">
+                 <div class="name">起拍:</div>
+                 <div class="text overHidden" style="width: 2.3rem">{{item.minBuyQty || '-'}}</div>
+               </div>
+             </div>
+             <div class="list">
+               <div class="name">卖家名称:</div>
+               <div class="text overHidden">{{item.enterpriseName}}</div>
+             </div>
+             <div class="list">
+               <div class="name left">价格梯度<p>(pcs):</p></div>
+               <div class="table left">
+                 <ul>
+                   <li class="title">
+                     <div>分段数量/PCS</div>
+                     <div>分段单价</div>
+                   </li>
+                   <li v-for="price in item.prices">
+                     <div>{{price.start}}+</div>
+                     <div v-if="item.currencyName == 'RMB'">¥{{price.rMBPrice}}</div>
+                     <div v-else>${{price.uSDPrice}}</div>
+                   </li>
+                 </ul>
+               </div>
+             </div>
+             <div class="list clearfix">
+               <div class="pull-left cancat" @click.stop="cancatSeller(item)">
+                 <i class="iconfont icon-kefu1"></i>联系卖家
+               </div>
+               <div class="pull-right clearfix">
+                 <div class="pull-left" @click="buy(item, false, $event)">加入购物车</div>
+                 <div class="pull-left" @click="buy(item, true, $event)">立即购买</div>
+               </div>
+             </div>
+           </div>
+         </div>
+       </div>
+         </template>
+         <!-- 卖家 物料名称 品牌-->
+         <template v-else-if="ChooseTop === 'materiel' || ChooseTop === 'seller' || ChooseTop === 'cmpbrand'">
+           <div v-if="searchLists&&searchLists.length > 0">
+             <div class="middle" v-for="(item, index) in searchLists">
+               <nuxt-link to="/mobile/shop/33069557578d44e69bd91ad12d28a8d4" tag="div" class="list clearfix" style="border-bottom: 1px solid #dcdcdc;padding-bottom: 0.1rem">
+                 <div class="name pull-left">深圳优软科技有限公司</div>
+                 <div class="more_icon pull-right"><i class="iconfont icon-swiper-right"></i></div>
+               </nuxt-link>
+               <div class="middle_bottom clearfix">
+                 <div class="middle_bottom-left">
+                   <img :src="'' || '/images/component/default.png'">
+                 </div>
+                 <div class="middle_bottom-left">
+                   <div class="middle_bottom-leftitem clearfix">
+                     <div class="bottom-title">电话</div><label style="float: left">:</label>
+                     <div class="overHidden" style="width: 3.9rem">
+                       <a :href="'tel:' + AlertstoreInfo.enterprise.enTel" target="_blank" class="content-line" style="color: #2d8cf0">1231321313123</a>
+                     </div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                      <div class="bottom-title">邮箱</div><label style="float: left">:</label><div class="overHidden" style="width: 3.9rem">1231321313123</div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                      <div class="bottom-title">执照号</div><label style="float: left">:</label><div class="overHidden" style="width: 3.9rem">1231321313123</div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                      <div class="bottom-title">地址</div><label style="float: left">:</label><div style="width: 3.9rem;">中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国</div>
+                   </div>
+                 </div>
+               </div>
+             </div>
+           </div>
+         </template>
+       </template>
+       <!-- 期货 -->
+       <template v-else>
+         <!-- 型号结果 -->
+         <template v-if="ChooseTop === 'cmpcode'">
+          <div v-if="searchLists&&searchLists.length > 0">
+            <div class="middle" v-for="(item, index) in searchListsTwo">
+              <div class="list">
+                <div class="name">品牌:</div>
+                <div class="text overHidden">{{(item.standard == 1 ? item.pbranden : item.brand) || '—'}}</div>
+              </div>
+              <div class="list">
+                <div class="name">物料名称(类目):</div>
+                <div class="text overHidden">{{item.kind || item.prodName || '-'}}</div>
+              </div>
+              <div class="list">
+                <div class="name">型号:</div>
+                <div class="text overHidden">{{item.cmpCode || '-'}}</div>
+              </div>
+              <div class="list">
+                <div class="name">规格:</div>
+                <div class="text overHidden">{{item.spec || '-'}}</div>
+              </div>
+              <div class="list">
+                <div class="name">单位:</div>
+                <div class="text overHidden">{{item.unit || 'PCS'}}</div>
+              </div>
+              <div class="list clearfix" style="overflow: inherit;">
+                <div class="fl">
+                  <div class="name">卖家:</div>
+                  <div class="text overHidden" style="width: 4rem">{{item.enName || '卖家名称'}}</div>
+                </div>
+                <div class="pull-right sayPriBtn" @click="publish(item)">立即询价</div>
+              </div>
+            </div>
+          </div>
+         </template>
+         <!-- 卖家 物料名称 品牌-->
+         <template v-else-if="ChooseTop === 'materiel' || ChooseTop === 'seller' || ChooseTop === 'cmpbrand'">
+           <div v-if="searchLists&&searchLists.length > 0">
+             <div class="middle" v-for="(item, index) in searchLists">
+               <div class="list clearfix" style="border-bottom: 1px solid #dcdcdc;padding-bottom: 0.1rem">
+                 <div class="name pull-left">深圳优软科技有限公司</div>
+                 <div class="more_icon pull-right"><i class="iconfont icon-swiper-right"></i></div>
+               </div>
+               <div class="middle_bottom clearfix">
+                 <div class="middle_bottom-left">
+                   <img :src="'' || '/images/component/default.png'">
+                 </div>
+                 <div class="middle_bottom-left">
+                   <div class="middle_bottom-leftitem clearfix">
+                     <div class="bottom-title">电话</div><label style="float: left">:</label>
+                     <div class="overHidden" style="width: 3.9rem">
+                       <a :href="'tel:' + AlertstoreInfo.enterprise.enTel" target="_blank" class="content-line" style="color: #2d8cf0">1231321313123</a>
+                     </div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                     <div class="bottom-title">邮箱</div><label style="float: left">:</label><div class="overHidden" style="width: 3.9rem">1231321313123</div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                     <div class="bottom-title">执照号</div><label style="float: left">:</label><div class="overHidden" style="width: 3.9rem">1231321313123</div>
+                   </div>
+                   <div class="middle_bottom-leftitem clearfix">
+                     <div class="bottom-title">地址</div><label style="float: left">:</label><div style="width: 3.9rem;">中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国中国</div>
+                   </div>
+                 </div>
+               </div>
+             </div>
+           </div>
+         </template>
+       </template>
+     </div>
+     <!-- 品牌模糊查询 -->
+     <div class="search-content" v-if="!brandIsAccurate && ChooseTop === 'cmpbrand'">
+       <div class="middle">
+         <div class="list clearfix" style="border-bottom: 1px solid #dcdcdc;padding-bottom: 0.1rem;line-height: 0.8rem;" @click="goToBrandAccurate()">
+           <img :src="'' || '/images/component/default.png'" class="pull-left">
+           <div class="name pull-left overHidden" style="max-width: 5rem;">品牌名字123</div>
+           <div class="more_icon pull-right"><i class="iconfont icon-swiper-right"></i></div>
+         </div>
+         <div class="list">
+           <div class="name">主打产品:</div>
+           <div class="text">
+             传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+           </div>
+         </div>
+         <div class="list">
+           <div class="name">应用领域:</div>
+           <div class="text">
+             传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+           </div>
+         </div>
+         <div class="list">
+           <div class="name">品牌介绍:</div>
+           <div class="text">
+             传感器、光电元件、传感器、传感器、光电元件、传感器、传感器、光电元件、传感器
+           </div>
+         </div>
+         <div class="list">
+           <div class="name">官网地址:</div>
+           <div class="text">
+              <a href="www.baidu.com" target="_blank">www.baidu.com</a>
+           </div>
+         </div>
+       </div>
+     </div>
+   </div>
+   <!-- 联系卖买家 -->
+   <div class="mobile-modal" v-if="showStoreInfo" @touchmove="preventTouchMove($event)">
+     <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="AlertstoreInfo.enterprise.enTel"><span >电话:</span><a :href="'tel:' + AlertstoreInfo.enterprise.enTel" target="_blank" class="content-line link-url">{{AlertstoreInfo.enterprise.enTel}}</a></div>
+         <div v-if="AlertstoreInfo.enterprise.enPhone"><span >手机:</span><a :href="'tel:' + AlertstoreInfo.enterprise.enPhone" target="_blank" class="content-line link-url">{{AlertstoreInfo.enterprise.enPhone}}</a></div>
+         <div v-if="AlertstoreInfo.enterprise.enWeixin"><span >微信:</span><span class="content-line">{{AlertstoreInfo.enterprise.enWeixin}}</span></div>
+         <div v-if="AlertstoreInfo.enterprise.enQQ"><span >Q&nbsp;Q:</span><span class="content-line">{{AlertstoreInfo.enterprise.enQQ}}</span></div>
+         <div v-if="!empty">暂无联系方式</div>
+       </div>
+     </div>
+   </div>
+   <!-- 询价 -->
+   <publish-supplier-seek :product="currentProduct" :showPublishBox="showPublishBox" @cancelAction="showPublishBox = false" @remindAction="setRemindText"></publish-supplier-seek>
+    <!-- 查看品牌更多信息 -->
+   <modal-wrapper :showModal="showBrandDetails" :title="'XXX品牌'" @closeAction="showBrandDetails=false">
+     <div class="store-info" >
+       <div class="store-description">
+         <h4>主营产品</h4>
+         <p class="content" v-if="currentBrandItem.description">
+           {{currentBrandItem.description}}
+         </p>
+         <div class="com-none-state" v-else>
+           <p>抱歉,暂无主营产品信息</p>
+         </div>
+       </div>
+       <div class="store-description">
+         <h4>应用领域</h4>
+         <p class="content" v-if="currentBrandItem.storeApplication">
+           {{currentBrandItem.storeApplication}}
+         </p>
+         <div class="com-none-state" v-else>
+           <p>抱歉,暂无应用领域信息</p>
+         </div>
+       </div>
+       <div class="store-description">
+         <h4>品牌介绍</h4>
+         <p class="content" v-if="currentBrandItem.enterprise.description">
+           {{currentBrandItem.enterprise.description}}
+         </p>
+         <div class="com-none-state" v-else>
+           <p>抱歉,暂无企业介绍</p>
+         </div>
+       </div>
+       <div class="contact-info">
+         <h4>联系我们</h4>
+         <ul class="list-unstyled clearfix">
+           <li>
+             <div>电&nbsp;&nbsp;话:</div>
+             <!--<div v-if="store.enterprise.enTel"><a :href="'tel:' + store.enterprise.enTel" @click="clickTel = true" :class="{'click-tel': clickTel}">{{store.enterprise.enTel}}</a></div>-->
+             <!--<div v-else><span>-</span></div>-->
+             <div><span>-</span></div>
+           </li>
+           <!-- <li>
+              <div>店铺地址:</div>
+              <div v-if="store.enterprise.address">{{store.enterprise.address}}</div>
+              <div v-else><span>-</span></div>
+            </li>-->
+         </ul>
+       </div>
+     </div>
+   </modal-wrapper>
+   <remind-box :title="collectResult" :timeoutCount="timeoutCount"></remind-box>
+   <loading v-if="isSearchSearchingMore"></loading>
+   <login-box @onLoginBoxClose="showLoginBox = false" v-if="showLoginBox" :url="url"></login-box>
+
+ </div>
+</template>
+
+<script>
+  import { PublishSupplierSeek } from '~components/mobile/applyPurchase'
+  import { RemindBox, Loading, LoginBox } from '~components/mobile/common'
+  import { ModalWrapper } from '~components/mobile/base'
+  export default {
+    layout: 'mobile',
+    data() {
+      return {
+        collectResult: '', // 提示性文字
+        timeoutCount: 0, // 弹出框计时数
+        isSearchSearchingMore: false, // 是否正在请求数据
+        showLoginBox: false, // 是否显示登录弹窗
+        url: '', // 登录后跳转回来的地址
+        keyword: '', // 关键字搜索
+        showStoreInfo: false, // 联系买卖家弹窗
+        AlertstoreInfo: { // 买卖家弹窗信息
+          enterprise: {}
+        },
+        navType: 'hasStore', // 现货 期货
+        ChooseTop: 'cmpcode', // 型号, 物料名称, 卖家, 品牌
+        paramsNumber: {
+          page: 1,
+          count: 10
+        },
+        currentProduct: {},
+        currentBrandItem: {
+          enterprise: {}
+        }, // 存放当前点击的品牌内容
+        showBrandDetails: false, // 是否展示品牌详情
+        brandIsAccurate: false, // 品牌是否处于模糊查找
+        showPublishBox: false, // 询价弹窗
+        searchLists: [{
+          b2cMaxDelivery: 2,
+          b2cMinDelivery: 1,
+          batchCode: "BT2018071000001122",
+          brandNameEn: "MICRONE(微盟)",
+          breakUp: false,
+          code: "ME2188C33M5G",
+          createdDate: 1531218479000,
+          currencyName: "RMB",
+          enUU: 10041166,
+          enterpriseName: "深圳市优软科技有限公司",
+          hasSample: false,
+          id: 156023,
+          kindNameCn: "DC-DC升压芯片",
+          lastReserve: 313,
+          maxDelivery: 2,
+          maxDeliveryMethod: 2,
+          maxPrice: 22,
+          maxPriceRMB: 22,
+          minBuyQty: 1,
+          minDelivery: 1,
+          minDeliveryMethod: 1,
+          minPackQty: 1,
+          minPrice: 22,
+          minPriceRMB: 22,
+          original: 1311,
+          packaging: "Bulk-散装",
+          perQty: 1,
+          prices: [{
+            end: 999999999,
+            rMBNTPrice: 18.803419,
+            rMBPrice: 22,
+            start: 1
+          }],
+          prodNum: "PNUM2018070600000988",
+          produceDate: "31321",
+          productid: 33932871,
+          publishPhone: "13684966085",
+          publisherName: "胡晓琳",
+          publisherUU: 1000010022,
+          reserve: 300,
+          returnInWeek: 0,
+          rmbSegPriceList: [{
+            end: 999999999,
+            price: 18.803419,
+            start: 1,
+            taxPrice: 22
+          }],
+          rmbTaxRate: 0.17,
+          sampleAppliedQty: 0,
+          sampleQty: 0,
+          status: 601,
+          storeName: "深圳市优软科技",
+          storeid: "ebdc3cd2129c446a9b2f5c52d217bf3c",
+          tag: "3131",
+          tax: 17,
+          unit: "PCS",
+          updateDate: 1531897880000,
+          usdTaxRate: 0
+        }], // 查询结果
+        searchListsTwo: [{
+          b2cEnabled: 1,
+          brand: "Rohm",
+          cmpCode: "ML9620GAZ0AX",
+          enUU: 1000001,
+          erpDate: 1524480823000,
+          id: 23839717,
+          isPurchase: 1,
+          isSale: 1,
+          kind: "集成电路",
+          matchresults: [],
+          minPackQty: 750,
+          pbranden: "Rohm",
+          pcmpcode: "ML9620GAZ0AX",
+          prodName: "集成电路",
+          prodNum: "OKI131",
+          sourceApp: "ERP",
+          sourceId: 50867208,
+          spec: "ML9620GAZ0AX",
+          standard: 0,
+          unit: "PCS"
+        }]
+      }
+    },
+    computed: {
+      getNowChooseType() {
+        if (this.ChooseTop === 'cmpcode') {
+          return '型号'
+        } else if (this.ChooseTop === 'materiel') {
+          return '物料'
+        } else if (this.ChooseTop === 'seller') {
+          return '卖家'
+        } else if (this.ChooseTop === 'cmpbrand') {
+          return '品牌'
+        }
+      },
+      allPage() {
+        return 0
+      },
+      empty () {
+        return this.checkInfo(this.AlertstoreInfo.enterprise.enTel) || this.checkInfo(this.AlertstoreInfo.enterprise.enPhone) || this.checkInfo(this.AlertstoreInfo.enterprise.enWeixin) || this.checkInfo(this.AlertstoreInfo.enterprise.enQQ)
+      },
+      placeholder() {
+        if (this.ChooseTop === 'cmpcode') {
+          return '请输入您要搜索的型号'
+        } else if (this.ChooseTop === 'materiel') {
+          return '请输入您要搜索的物料名称'
+        } else if (this.ChooseTop === 'seller') {
+          return '请输入您要搜索的卖家名称'
+        } else if (this.ChooseTop === 'cmpbrand') {
+          return '请输入您要搜索的品牌'
+        }
+      }
+    },
+    async asyncData({store, route}) {
+      return {
+        ChooseTop: route.query.choosetype || 'cmpcode',
+        keyword: route.query.keyword || ''
+      }
+    },
+    methods: {
+      // 搜索点击事件
+      onClickSearchHander() {
+        this.$router.push(`/mobile/search/newkeycode?choosetype=${this.ChooseTop}&keyword=${this.keyword}`)
+      },
+      // 获取数据
+      getReloadList(_tp) {
+        this.navType = _tp
+        this.ReloadList()
+      },
+      // 刷新数据
+      ReloadList(param) {
+        this.paramsNumber.page = 1
+        // 如果有值,则代表 是品牌 模糊到精确
+        if (param) {
+          // 这里请求品牌 精确查找接口
+          this.brandIsAccurate = true
+        } else {
+          // 这里发送数据请求
+        }
+      },
+      goToBrandAccurate(item) {
+        // this.currentBrandItem = item
+        this.ReloadList('brand')
+      },
+      // 取消返回事件
+      cancelSearchHander() {
+        this.$router.replace('/')
+      },
+      // 购买 加入购物车
+      buy: function (item, flag, e) {
+        this.baseUtils.buyOrCar(flag, e, this, item, '/mobile/center/user/pay/')
+      },
+      // 联系买卖家
+      cancatSeller(item) {
+        this.$http.get(`/api/store-service/stores?uuid=${item.storeid}`).then(res => {
+          this.AlertstoreInfo = res.data
+          this.showStoreInfo = true
+        })
+      },
+      // 切换顶部一级标题
+      setChangelistHander(str) {
+        this.ChooseTop = str
+        this.ReloadList()
+        this.brandIsAccurate = false
+      },
+      checkInfo: function (str) {
+        return str && str.trim() !== ''
+      },
+      publish: function (product) {
+        if (this.user.logged) {
+          this.currentProduct = product
+          this.showPublishBox = true
+        } else {
+          this.url = this.$route.fullPath
+          this.showLoginBox = true
+        }
+      },
+      setRemindText(str) {
+        this.timeoutCount++
+        this.collectResult = str
+      }
+    },
+    components: {
+      RemindBox,
+      Loading,
+      LoginBox,
+      PublishSupplierSeek,
+      ModalWrapper
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  @mixin overFlowHidden {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  @mixin lineHeight($value) {
+    height: $value;
+    line-height: $value;
+  }
+  .search-wrapper {
+    background: #f1f3f6;
+    width: 100%;
+    position: fixed;
+    z-index: 1000;
+    top: 0;
+    bottom: 0;
+    .main-search-header {
+      position: absolute;
+      background: #3e82f5;
+      line-height: .88rem;
+      margin-top: 0;
+      z-index: 1;
+      width: 100%;
+      input {
+        width: 4.88rem;
+        height: .62rem;
+        line-height: .62rem;
+        font-size: .26rem;
+        color: #999;
+        margin-left: 0.3rem;
+        /*padding-left: 1.26rem;*/
+        border: .04rem solid #fff;
+        background: #fff;
+        outline: none;
+        border-radius: 0;
+        float: left;
+        margin-top: .12rem;
+        -webkit-appearance: none;
+        border-top-left-radius: .14rem;
+        border-bottom-left-radius: .14rem;
+      }
+      span {
+        display: inline-block;
+        width: 1.02rem;
+        text-align: center;
+        height: .62rem;
+        line-height: .62rem;
+        color: #366df3;
+        font-size: .28rem;
+        margin-left: .02rem;
+        border-top-right-radius: .14rem;
+        border-bottom-right-radius: .14rem;
+        background: #fff;
+        float: left;
+        margin-top: .12rem;
+      }
+      a {
+        font-size: .28rem;
+        color: #fff;
+        margin-left: .2rem;
+      }
+      .main-search-header-controll {
+        background: #3e82f5;
+        span {
+          padding: 0 0.2rem;
+          @include lineHeight(0.66rem);
+          font-size: 0.28rem;
+          color: #fff;
+          margin: 0;
+          background: rgba(0,0,0,0);
+          border-radius: 0;
+          width: auto;
+          &.active a{
+            color: #fff;
+            border-bottom: 0.04rem solid #fff;
+          }
+       }
+      }
+    }
+    .main-search-wrapper {
+      margin-top: 1.7rem;
+    }
+    .search-title {
+      font-size: 0.26rem;
+      text-align: center;
+      color: #999;
+      margin: 0 auto 0.2rem;
+      span {
+        color: #4290f7
+      }
+    }
+    .search-nav {
+      background: #fff;
+      @include lineHeight(1rem);
+      padding: 0 0.2rem;
+      span {
+        width: 50%;
+        color: #666;
+        font-size: 0.28rem;
+        text-align: center;
+        border-bottom: 0.04rem solid #dcdcdc;
+        @include lineHeight(0.7rem);
+        margin-top: 0.15rem;
+        &.active {
+          border-bottom: 0.04rem solid #4290f7;
+          color: #4290f7
+        }
+      }
+    }
+    .search-content {
+      margin-top: 0.2rem;
+      background: #fff;
+      padding: 0.2rem;
+      .middle {
+        .lookMoreBtn {
+          font-size: 0.28rem;
+          color: #2d8cf0
+        }
+        .more_icon {
+          font-size: 0.34rem;
+          color: #999;
+        }
+        .order-tag {
+          display: inline-block;
+          font-size: .18rem;
+          color: #fff;
+          font-weight: bold;
+          background: #ee1717;
+          height: .27rem;
+          width: .27rem;
+          line-height: .27rem;
+          text-align: center;
+          border-radius: .05rem;
+          position: relative;
+          top: -.05rem;
+          margin-right: .05rem;
+          &.reserve-tag {
+            background: #07bb1c;
+          }
+        }
+        text-align: left;
+        background: #fff;
+        /*border-radius: 5px;*/
+        margin-bottom: 0.2rem;
+        .overHidden {
+          @include overFlowHidden()
+        }
+        .pms {
+          color: #f57710;
+          border: 1px solid #f57710;
+          border-radius: 0.4rem;
+          background: #fff;
+          font-size: 0.24rem;
+          height: 0.4rem;
+          line-height: 0.4rem;
+          width: 0.8rem;
+          text-align: center;
+        }
+        .list {
+          @include overFlowHidden();
+          width: 100%;
+          .left {
+            float: left;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+          }
+          .textinfo {
+            font-size: 0.18rem;
+            margin-left: 0.1rem;
+            display: inline-block;
+            background: #3f84f6;
+            color: #fff;
+            font-weight: bold;
+            border-radius: 3px;
+            width: 0.8rem;
+            height: 0.32rem;
+            line-height: 0.32rem;
+            text-align: center
+          }
+          .button {
+            font-size: 0.3rem;
+            color: #1a58dd;
+            width: 0.92rem;
+            height: 0.43rem;
+            line-height: 0.43rem;
+            text-align: center;
+            border-radius: 5px;
+            border:1px solid #1a58dd;
+            display: inline-block;
+            margin-right: 0.2rem;
+          }
+          margin-bottom: 0.18rem;
+          &::after{
+            clear: both;
+            display: block;
+            content: ' ';
+            visibility: hidden;
+            zoom: 1;
+          }
+          .fl {
+            width: 3.5rem;
+            float: left;
+          }
+          .fr {
+            text-align: left;
+            width: 2.6rem;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+          }
+          &.list-long {
+            .fl {
+              width: 100% !important;
+            }
+          }
+          .name {
+            color: #666;
+            font-size: 0.28rem;
+            display: inline-block;
+          }
+          .text {
+            display: inline-block;
+            color: #333;
+            font-size: 0.28rem;
+            vertical-align: top;
+          }
+          .table {
+            width: 5.85rem;
+            margin-bottom: 0;
+            margin-top: 0;
+            margin-left: 0.1rem;
+            li {
+              height: 0.43rem;
+              line-height: 0.43rem;
+              border-left: .01rem solid #c5c5c5;
+              font-size: .28rem;
+              &::after {
+                clear: both;
+                display: block;
+                content: ' ';
+                visibility: hidden;
+                zoom: 1;
+              }
+              div {
+                text-align: center;
+                width: 50%;
+                float: left;
+                border-right: .01rem solid #c5c5c5;
+                border-bottom: .01rem solid #c5c5c5;
+              }
+              &:nth-child(odd) {
+                background: #ddd;
+                color: #333;
+                font-size: 0.28rem;
+              }
+              &:nth-child(even) {
+                background: #fcfcfc;
+                color: #333;
+                font-size: 0.28rem;
+              }
+              &:nth-last-of-type(1){
+                color: #f31919;
+              }
+              &.title {
+                font-size: 0.28rem;
+                color: #333;
+              }
+            }
+          }
+          .pull-right {
+            div {
+              color: #3f84f6;
+              font-size: 0.28rem;
+              border-radius: 0.07rem;
+              border: 1px solid #3f84f6;
+              background: #fff;
+              width: 2rem;
+              line-height: 0.54rem;
+              height: 0.54rem;
+              text-align: center;
+            }
+            div:last-child {
+              margin-left: 0.2rem;
+              color: #fff;
+              background: #3f84f6;
+            }
+          }
+          i {
+            &.icon-pdf {
+              color: #929292;
+              font-size: 0.4rem;
+            }
+            &.active {
+              color: #eb062b;
+            }
+          }
+          .cancat {
+            height: 0.56rem;
+            line-height: 0.56rem;
+            border: 1px solid #3f84f6;
+            color: #3f84f6;
+            font-size: 0.26rem;
+            text-align: center;
+            border-radius: 3px;
+            padding: 0 0.1rem;
+            overflow: hidden;
+            width: auto;
+          }
+          img.pull-left {
+            width: 1.21rem;
+            height: 0.8rem;
+            border: 1px solid #dcdcdc;
+            border-radius: 0.07rem;
+            margin-top: 0;
+          }
+        }
+        .sayPriBtn {
+          width: 2rem;
+          @include lineHeight(0.54rem);
+          color: #fff;
+          font-size: 0.28rem;
+          background: #3f84f6;
+          border-radius: 3px;
+          text-align: center;
+          margin-top: -0.1rem;
+        }
+        .middle_bottom {
+          .middle_bottom-left {
+            float: left;
+            img {
+              width: 1.21rem;
+              height: 1.21rem;
+              border: 1px solid #3e82f5;
+              border-radius: 0.07rem;
+              overflow: hidden;
+            }
+            div.middle_bottom-leftitem {
+              line-height: 0.5rem;
+              font-size: 0.28rem;
+              div {
+                display: inline-block;
+                color: #666;
+                height: 100%;
+                float: left;
+                &.bottom-title {
+                  display: inline-block;
+                  text-align: justify;
+                  vertical-align: top;
+                  width: 1.5rem;
+                  height: 0.5rem;
+                  &::after {
+                    content: "";
+                    display: inline-block;
+                    width: 100%;
+                    overflow: hidden;
+                    height: 0;
+                  }
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+    .store-info {
+      background: #f7f7f7;
+      h4{
+        width: 100%;
+        text-align: left;
+        font-size: 0.3rem;
+        line-height: 0.6rem;
+        height: 0.6rem;
+        letter-spacing: 0px;
+        color: #333;
+        font-weight: normal;
+        border-bottom: 1px solid #efeded;
+        padding-left: 0.11rem;
+        &:before{
+          content: '';
+          display: inline-block;
+          width: 0.08rem;
+          height: 0.26rem;
+          background-color: #145dee;
+          margin-right: 0.13rem;
+          position: relative;
+          top: 0.02rem;
+        }
+      }
+      .contact-info{
+        background: #fff;
+        margin: .2rem auto;
+        border-radius: .1rem;
+        ul{
+          padding: 0.22rem 0rem;
+          li{
+            div{
+              float: left;
+              font-size: .28rem;
+              color: #666;
+              line-height: .53rem;
+              width:80%;
+              text-align: left;
+              &:first-child{
+                width: 20%;
+                padding-left: 0.36rem;
+                text-align: justify;
+              }
+              a{
+                color: #145dee;
+              }
+              .click-tel, .click-phone{
+                color: #f44336;
+              }
+            }
+            /* &:last-child{
+               div{
+                 width: 74%;
+                 padding-right:.34rem;
+                 word-wrap: break-word;
+                 &:first-child{
+                   text-align: left;
+                   padding: 0rem 0rem 0rem .36rem;
+                   width: 26%;
+                 }
+               }
+             }*/
+          }
+        }
+      }
+      .store-description{
+        background: #fff;
+        /*width: 6.96rem;*/
+        margin: 0 auto .2rem;
+        border-radius: .1rem;
+        .content {
+          text-indent:2em;
+          background: #fff;
+          margin: .2rem auto 0;
+          padding: .04rem .34rem .4rem .34rem;
+          width: 100%;
+          font-size: .28rem;
+          color: #666;
+          text-align: left;
+          height: 95%;
+          /*box-shadow: 0 .03rem .01rem 0 #cdcbcb96;*/
+          line-height: .5rem;
+          word-break: break-all;
+        }
+      }
+    }
+  }
+</style>