yangc 6 years ago
parent
commit
60ea32db54

+ 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/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>

+ 2 - 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>

+ 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>

+ 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')
       ])
     }
   }

+ 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
   }
 }