瀏覽代碼

对轮播和楼层改为CMS接口处理

Administrator 7 年之前
父節點
當前提交
84e1ebf2bf

+ 9 - 9
components/home/Carousel.vue

@@ -6,11 +6,11 @@
         <div v-swiper:mySwiper="swiperOption">
           <div class="swiper-wrapper">
             <div class="swiper-slide" v-for="banner in banners">
-              <a :href="banner.hrefUrl" target="_blank" v-if="banner.hrefUrl">
-                <img :src="banner.pictureUrl"/>
+              <a :href="banner.detailsLink" target="_blank" v-if="banner.detailsLink">
+                <img :src="banner.pictureLink"/>
               </a>
-              <span v-if="!banner.hrefUrl">
-                <img :src="banner.pictureUrl"/>
+              <span v-if="!banner.detailsLink">
+                <img :src="banner.pictureLink"/>
               </span>
             </div>
           </div>
@@ -34,10 +34,10 @@
     },
     computed: {
       banners () {
-        if (this.$store.state.carousel.banners) {
-          let banner = this.$store.state.carousel.banners.data.slice()
+        if (this.$store.state.carousel.banners.data) {
+          let banner = this.$store.state.carousel.banners.data.data.slice()
            banner.sort(function (a, b) {
-             return a.orderNumber - b.orderNumber
+             return a.contentId - b.contentId
            })
           return banner
         } else {
@@ -45,7 +45,7 @@
         }
       },
       activeColor () {
-        return this.banners.length ? this.banners[this.activeSlide].metadata['background-color'] : null
+        return this.banners.length ? this.banners[this.activeSlide].metadatas['contExp_select'] : null
       },
       swiperOption () {
         let _this = this
@@ -73,7 +73,7 @@
             let carousel = document.querySelector('.carousel')
             if (carousel && carousel !== null) {
               carousel.style.backgroundColor =
-                _this.banners[swiper.activeIndex - 1].metadata['background-color']
+                _this.banners[swiper.activeIndex - 1].metadatas['contExp_select']
             }
           }
         }

+ 2 - 2
components/home/floor/Floor.vue

@@ -1,9 +1,9 @@
 <template>
   <div class="floor" :class="!isDefault ? 'normal-floor' : 'price-floor'">
     <h3><span v-if="!isDefault">F{{ floor.floorNumber }}&nbsp;{{ floor.name }}</span></h3>
-    <ul class="list-unstyled clearfix" :style="{borderColor: floor.items[1].backGroundColor || '#d8d8d8'}">
+    <ul class="list-unstyled clearfix" :style="{borderColor: floor.items[0].backGroundColor || '#d8d8d8'}">
       <li v-for="(item, index) in floor.items" :key="index" class="floor-item" :class="item.size + (isDefault ? ' default-floor' : '')"
-          :style="{backgroundColor: item.backGroundColor || '#fff', borderColor: item.borderColor || floor.items[1].backGroundColor || '#d8d8d8'}">
+          :style="{backgroundColor: item.backGroundColor || '#fff', borderColor: item.borderColor || floor.items[0].backGroundColor || '#d8d8d8'}">
         <img v-if="!item.isNull && item.size != 'large' && isDefault" src="/images/floor/specificPrice-home.png" alt="">
         <a v-if="!item.isNull" :href="item.hrefUrl" target="_blank">
           <img :src="item.pictureUrl" class="floor-item-img"/>

+ 3 - 3
components/home/floor/FloorBar.vue

@@ -1,8 +1,8 @@
 <template>
   <ul class="floor-bar list-unstyled" :style="!visible?'opacity: 0;':'opacity: 1;'">
-    <li v-for="(floor, index) in floors.data" :key="index" class="floor-bar-item">
+    <li v-for="(floor, index) in floors" :key="index" class="floor-bar-item">
       <a @click="jumpFloor(index)"
-         :style="{backgroundColor: index==activeFloor?floor.items[1].backGroundColor:'#b7dfff'}">
+         :style="{backgroundColor: index==activeFloor?floor.items[0].backGroundColor:'#b7dfff'}">
         <span>F{{ floor.floorNumber }}</span><br/>
         <span class="floor-item-name">{{ floor.name }}</span>
       </a>
@@ -16,7 +16,7 @@
     name: 'floor-bar',
     props: {
       floors: {
-        type: Object
+        type: Array
       }
     },
     data () {

+ 40 - 4
components/home/floor/FloorList.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="floor-list">
     <div class="container">
-      <floor-bar :floors="floors"></floor-bar>
+      <floor-bar :floors="floorsList"></floor-bar>
       <!--<a href="/store/33069557578d44e69bd91ad12d28a8d4" target="_blank"><img src="/images/all/banner-cuxiao.png" alt=""></a>-->
       <!--<div v-if="purchaseManListData && false"></div>-->
       <div class="banner">
@@ -51,7 +51,7 @@
       </div>
       <floor :floor="defaultFloors[0]" :isDefault="true" v-if="!isEmpty"></floor>
       <floor :floor="defaultFloors[1]" :isDefault="true" v-if="!isEmpty"></floor>
-      <floor v-for="(floor, index) in floors.data" :floor="floor" :isDefault="false" :key="index"></floor>
+      <floor v-for="(floor, index) in floorsList" :floor="floor" :isDefault="false" :key="index"></floor>
     </div>
     <span v-if="expandFloors && false">floor</span>
     <say-price :current="currentSayPriceIndex"
@@ -140,8 +140,44 @@
       }
     },
     computed: {
-      floors () {
-        return this.$store.state.floor.list
+      floorsF1 () {
+        return this.$store.state.floor.listF1.data
+      },
+      floorsF2 () {
+        return this.$store.state.floor.listF2.data
+      },
+      floorsF3 () {
+        return this.$store.state.floor.listF3.data
+      },
+      floorsF4 () {
+        return this.$store.state.floor.listF4.data
+      },
+      floorsF5 () {
+        return this.$store.state.floor.listF5.data
+      },
+      floorsList () {
+        let lists = []
+        let floorName = ['传感器件', '连接器件', '分立器件', '被动器件', '电源产品']
+        for (let i = 0; i < floorName.length; i++) {
+          lists.push({'floorNumber': i + 1, 'name': floorName[i]})
+        }
+        lists[0].items = this.floorsF1.data
+        lists[1].items = this.floorsF2.data
+        lists[2].items = this.floorsF3.data
+        lists[3].items = this.floorsF4.data
+        lists[4].items = this.floorsF5.data
+        lists.slice().forEach(function(value) {
+          let lengs = value.items.length
+          for (let j = 0; j < lengs; j++) {
+            value.items[j].backGroundColor = value.items[j].metadatas.contExp_select
+            value.items[j].body = value.items[j].metadatas.contExp_remark
+            value.items[j].name = value.items[j].metadatas.contExp_abstract
+            value.items[j].size = value.items[j].metadatas.contExp_spec
+            value.items[j].hrefUrl = value.items[j].detailsLink
+            value.items[j].pictureUrl = value.items[j].pictureLink
+          }
+        })
+        return lists
       },
       isProd () {
         return this.$store.state.option.url === 'http://www.usoftmall.com'

+ 0 - 1
components/main/Nav.vue

@@ -100,7 +100,6 @@
   .nav-list {
     background-color: rgb(244, 248, 255);
     height: $nav-height;
-    margin-bottom:20px;
 
     .item {
       display: inline-block;

+ 0 - 1
components/supplier/articleOne.vue

@@ -30,7 +30,6 @@
     },
     computed: {
       list () {
-        console.log('newMerchant', this.$store.state.supplier.merchant.newMerchant.data)
         return this.$store.state.supplier.merchant.newMerchant.data
       },
       all () {

+ 0 - 1
components/supplier/articleTwo.vue

@@ -33,7 +33,6 @@
     },
     computed: {
       list () {
-        console.log('recommend', this.$store.state.supplier.merchant.recommend.data)
         return this.$store.state.supplier.merchant.recommend.data
       }
     },

+ 2 - 4
components/supplier/details.vue

@@ -22,8 +22,7 @@
           <ul class="list-unstyled">
             <li class="item">
               <span>物料名称(类目)</span>
-              <p v-if="detail.standard === 1" v-text="detail.kind ? spliceString(detail.kind, 135) : '暂无信息'">1</p>
-              <p v-if="detail.standard !== 1" v-text="detail.prodName ? spliceString(detail.prodName, 135) : '暂无信息'">1</p>
+              <p v-text="detail.kind ? spliceString(detail.kind, 135) : detail.prodName ? spliceString(detail.prodName, 135) : '暂无信息'">1</p>
             </li>
             <li class="item">
               <span>品牌</span>
@@ -68,8 +67,7 @@
           </li>
           <li class="form-item">
             <span>物料名称(类目):</span>
-            <p v-if="detail.standard === 1" v-text="detail.kind ? spliceString(detail.kind, 90) : '-'">1</p>
-            <p v-if="detail.standard !== 1" v-text="detail.prodName ? spliceString(detail.prodName, 90) : '-'">1</p>
+            <p v-text="detail.kind ? spliceString(detail.kind, 90) : detail.prodName ? spliceString(detail.prodName, 90) : '-'">1</p>
           </li>
           <li class="form-item">
             <span>型号:</span>

+ 2 - 3
components/supplier/resource.vue

@@ -68,8 +68,7 @@
                 </li>
                 <li class="item">
                   <span class="fl">类目(产品名称)</span>
-                  <p v-if="item.standard === 1" v-text="item.kind ? spliceString(item.kind, 95) : '暂无信息'">1</p>
-                  <p v-if="item.standard !== 1" v-text="item.prodName ? spliceString(item.prodName, 95) : '暂无信息'">1</p>
+                  <p v-text="item.kind ? spliceString(item.kind, 95) : item.prodName ? spliceString(item.prodName, 95) : '暂无信息'">1</p>
                 </li>
                 <li class="item">
                   <span class="fl">规格</span>
@@ -259,7 +258,7 @@
           this.applyObj.cmpCode = type.cmpCode
           this.applyObj.brand = (type.standard === 1 ? type.pbranden : type.brand)
           this.applyObj.spec = type.spec
-          this.applyObj.prodName = (type.standard === 1 ? type.kind : type.prodName)
+          this.applyObj.prodName = type.kind ? type.kind : (type.prodName ? type.prodName : '-')
         }
       },
       // 时间格式化

+ 1 - 0
pages/applyPurchase/index.vue

@@ -43,6 +43,7 @@
 <style>
   .seek {
     position: relative;
+    padding-top:20px;
   }
   .footer {
     text-align: center;

+ 6 - 2
pages/index.vue

@@ -79,8 +79,12 @@
       let nowMonth = today.getMonth() + 1
       let LastMonth = today.getMonth()
       return !store.state.option.isMobile ? Promise.all([
-        store.dispatch('loadFloors'),
-        store.dispatch('loadBanners', {type: 'home'}),
+        store.dispatch('loadNewFloorsF1'),
+        store.dispatch('loadNewFloorsF2'),
+        store.dispatch('loadNewFloorsF3'),
+        store.dispatch('loadNewFloorsF4'),
+        store.dispatch('loadNewFloorsF5'),
+        store.dispatch('loadBanners', {type: 'home_banner_carousel'}),
         store.dispatch('loadProductKinds', { id: 0 }),
         store.dispatch('loadNewsSnapshot', { page: 1, pageSize: 10 }),
         store.dispatch('supplier/loadVendorAll', {page: 1, size: 20}),

+ 1 - 1
pages/supplier/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="supplier" style="background: #f2f1f1;padding-top:20px; margin-top:-20px;">
+  <div class="supplier" style="background: #f2f1f1;padding-top:20px;">
     <div class="container">
       <div class="article">
         <article-one></article-one>

+ 70 - 0
store/floor.js

@@ -3,6 +3,26 @@ export const state = () => ({
     fetching: false,
     data: []
   },
+  listF1: {
+    fetching: false,
+    data: []
+  },
+  listF2: {
+    fetching: false,
+    data: []
+  },
+  listF3: {
+    fetching: false,
+    data: []
+  },
+  listF4: {
+    fetching: false,
+    data: []
+  },
+  listF5: {
+    fetching: false,
+    data: []
+  },
   list_v3: {
     fetching: false,
     data: []
@@ -23,6 +43,56 @@ export const mutations = {
     state.list.fetching = false
     state.list.data = result
   },
+  REQUEST_LISTF1 (state) {
+    state.listF1.fetching = true
+  },
+  GET_LIST_FAILUREF1 (state) {
+    state.listF1.fetching = false
+  },
+  GET_LIST_SUCCESSF1 (state, result) {
+    state.listF1.fetching = false
+    state.listF1.data = result
+  },
+  REQUEST_LISTF2 (state) {
+    state.listF2.fetching = true
+  },
+  GET_LIST_FAILUREF2 (state) {
+    state.listF2.fetching = false
+  },
+  GET_LIST_SUCCESSF2 (state, result) {
+    state.listF2.fetching = false
+    state.listF2.data = result
+  },
+  REQUEST_LISTF3 (state) {
+    state.listF3.fetching = true
+  },
+  GET_LIST_FAILUREF3 (state) {
+    state.listF3.fetching = false
+  },
+  GET_LIST_SUCCESSF3 (state, result) {
+    state.listF3.fetching = false
+    state.listF3.data = result
+  },
+  REQUEST_LISTF4 (state) {
+    state.listF4.fetching = true
+  },
+  GET_LIST_FAILUREF4 (state) {
+    state.listF4.fetching = false
+  },
+  GET_LIST_SUCCESSF4 (state, result) {
+    state.listF4.fetching = false
+    state.listF4.data = result
+  },
+  REQUEST_LISTF5 (state) {
+    state.listF5.fetching = true
+  },
+  GET_LIST_FAILUREF5 (state) {
+    state.listF5.fetching = false
+  },
+  GET_LIST_SUCCESSF5 (state, result) {
+    state.listF5.fetching = false
+    state.listF5.data = result
+  },
   REQUEST_NEWLIST (state) {
     state.list_v3.fetching = true
   },

+ 51 - 1
store/index.js

@@ -127,7 +127,7 @@ export const actions = {
   // 获取轮播配置
   loadBanners({ commit }, params = {}) {
     commit('carousel/REQUEST_BANNER')
-    return axios.get('/api/carousel/' + params.type + '%20' + (params.type === 'home' ? 'page' : 'zone') + '%20banner')
+    return axios.get(`/cmsApi?method=queryContentPage&module=${params.type}&orderBy=order_number%20ASC`)
       .then(response => {
         commit('carousel/GET_BANNER_SUCCESS', response.data)
       }, err => {
@@ -144,6 +144,56 @@ export const actions = {
         commit('floor/GET_NEWLIST_FAILURE', err)
       })
   },
+  // 获取楼层配置f1
+  loadNewFloorsF1({ commit }) {
+    commit('floor/REQUEST_LISTF1')
+    return axios.get(`/cmsApi?method=queryContentPage&module=home_floor_f1&orderBy=order_number%20ASC`)
+      .then(response => {
+        commit('floor/GET_LIST_SUCCESSF1', response.data)
+      }, err => {
+        commit('floor/GET_LIST_FAILUREF1', err)
+      })
+  },
+  // 获取楼层配置f2
+  loadNewFloorsF2({ commit }) {
+    commit('floor/REQUEST_LISTF2')
+    return axios.get(`/cmsApi?method=queryContentPage&module=home_floor_f2&orderBy=order_number%20ASC`)
+      .then(response => {
+        commit('floor/GET_LIST_SUCCESSF2', response.data)
+      }, err => {
+        commit('floor/GET_LIST_FAILUREF2', err)
+      })
+  },
+  // 获取楼层配置f3
+  loadNewFloorsF3({ commit }) {
+    commit('floor/REQUEST_LISTF3')
+    return axios.get(`/cmsApi?method=queryContentPage&module=home_floor_f3&orderBy=order_number%20ASC`)
+      .then(response => {
+        commit('floor/GET_LIST_SUCCESSF3', response.data)
+      }, err => {
+        commit('floor/GET_LIST_FAILUREF3', err)
+      })
+  },
+  // 获取楼层配置f4
+  loadNewFloorsF4({ commit }) {
+    commit('floor/REQUEST_LISTF4')
+    return axios.get(`/cmsApi?method=queryContentPage&module=home_floor_f4&orderBy=order_number%20ASC`)
+      .then(response => {
+        commit('floor/GET_LIST_SUCCESSF4', response.data)
+      }, err => {
+        commit('floor/GET_LIST_FAILUREF4', err)
+      })
+  },
+  // 获取楼层配置f5
+  loadNewFloorsF5({ commit }) {
+    commit('floor/REQUEST_LISTF5')
+    return axios.get(`/cmsApi?method=queryContentPage&module=home_floor_f5&orderBy=order_number%20ASC`)
+      .then(response => {
+        commit('floor/GET_LIST_SUCCESSF5', response.data)
+      }, err => {
+        commit('floor/GET_LIST_FAILUREF5', err)
+      })
+  },
   // 获取子器件类目
   loadProductKinds({ commit }, params = {}) {
     let id = params.id