Browse Source

24期内容

wangcz 7 years ago
parent
commit
2e827deafb

+ 1 - 1
app.html

@@ -6,7 +6,7 @@
   <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/font-awesome/4.7.0/css/font-awesome.min.css" />
   <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/element-ui/1.3.7/theme-default/index.css" />
   <!--<link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_0d1jjt5tukcblnmi.css"/>-->
-  <link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_452262_c7tjqxmhqkl.css">
+  <link rel="stylesheet" type="text/css" href="https://at.alicdn.com/t/font_452262_218u5ghbpzt.css">
   <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/Swiper/3.4.2/css/swiper.css" />
   <!--<script src="https://wechatfe.github.io/vconsole/lib/vconsole.min.js?v=3.2.0"></script>-->
   {{ HEAD }}

+ 0 - 9
assets/scss/reset.scss

@@ -121,15 +121,6 @@ p {
   margin: 0 0 10px;
 }
 
-.article{
-  float:left;
-  width:220px;
-}
-.section{
-  margin-left:235px;
-  vertical-align: top;
-}
-
 // 发布求购 小图标
 .purchase_icon{
   display:inline-block;

+ 8 - 9
components/brandCenter/BrandIndex.vue

@@ -151,9 +151,9 @@
         PcSearchHeader
       },
       mounted () {
-        if (this.$route.path !== '/product/brand/brandList/A') {
-          this.$router.push('/product/brand/brandList/A')
-        }
+        // if (this.$route.path !== '/product/brand/brandList/A') {
+        //   this.$router.push('/product/brand/brandList/A')
+        // }
       },
       computed: {
         brandList () {
@@ -162,7 +162,7 @@
           return brandsList
         },
         activeIndex () {
-          return !this.isSearch ? this.$route.params.initial : ''
+          return !this.isSearch ? this.$route.query.initial : ''
         },
         user () {
           return this.$store.state.option.user
@@ -207,7 +207,7 @@
           this.reloadData()
         },
         reloadData: function () {
-          !this.isSearch ? this.$store.dispatch('product/loadBrandsPager', {'initial': this.$route.params.initial, 'page': this.nowPage, 'count': this.pageSize, 'keyword': this.keyword}) : this.searchData()
+          !this.isSearch ? this.$store.dispatch('product/loadBrandsPager', {'initial': this.$route.query.initial, 'page': this.nowPage, 'count': this.pageSize, 'keyword': this.keyword}) : this.searchData()
         },
         searchData: function () {
           this.showSearchModal = true
@@ -238,15 +238,15 @@
           } else {
             this.initParams()
             this.reloadData()
-            this.$router.push('/product/brand/brandList/A')
+            this.$router.push('/eCommerce/home/brand/?initial=A')
           }
         },
         goBrandIndex: function (index) {
-          if (index === this.$route.params.initial) {
+          if (index === this.$route.query.initial) {
             this.initParams()
             this.reloadData()
           } else {
-            this.$router.push('/product/brand/brandList/' + index)
+            this.$router.push('/eCommerce/home/brand/?initial=' + index)
 //            window.location.href = '/product/brand/brandList/' + index + '#index'
 //            window.open('/product/brand/brandList/' + index + '#index', '_self')
           }
@@ -271,7 +271,6 @@
 <style lang="scss" scoped>
   .search-index {
     margin: 0 auto;
-    margin-top: 20px;
     width: 1190px;
     overflow: hidden;
     .brand-recommend {

+ 8 - 135
components/brandCenter/RecommendBrand.vue

@@ -1,18 +1,6 @@
 <template>
   <div class="recommend-brand">
     <div class="brand-content">
-      <div class="brand-index-tab">
-        <div class="index-head">
-          <img src="/images/brandCenter/search-index.png"/>品牌索引
-        </div>
-        <div style="padding-top: 8px;">
-          <div class="brand-index-group index-group" v-for="(indexGroup, index) in indexGroups">
-            <span v-if="index == 5"></span>
-            <a @click="goBrandIndex(group_index)" v-for="group_index in indexGroup" :class="{'active': activeIndex==group_index}">{{group_index}}</a>
-            <span v-if="index == 5"></span>
-          </div>
-        </div>
-      </div>
       <div v-swiper:mySwiper="swiperOption" class="swiper-container">
         <div class="swiper-wrapper">
           <div class="swiper-slide" v-for="banner in sliceBanners">
@@ -32,18 +20,6 @@
   export default {
     data () {
       return {
-        indexGroups: [
-          ['A', 'B', 'C', 'D', 'E'],
-          ['F', 'G', 'H', 'I', 'J'],
-          ['K', 'L', 'M', 'N', 'O'],
-          ['P', 'Q', 'R', 'S', 'T'],
-          ['U', 'V', 'W', 'X', 'Y', 'Z'],
-          ['0~9']
-        ],
-        nowPage: 1,
-        keyword: '',
-        isSearch: false,
-        activeSlide: 0,
         swiperOption: {
           autoplay: 6000,
           pagination: '.swiper-pagination',
@@ -65,67 +41,15 @@
         }
       }
     },
-    filters: {
-      applicationFilter: function (str) {
-        return str.split(',').join('|')
-      },
-      introduceFilter: function (title) {
-        if (title === '') {
-          return title
-        }
-        let len = 0
-        let index = 0
-        for (let i = 0; i < title.length; i++) {
-          if (index === 0 && title.charAt(i).charCodeAt(0) > 255) {
-            len = len + 2
-          } else {
-            len++
-          }
-          if (len > 60) {
-            index = i
-            break
-          }
-        }
-        if (index > 0) {
-          return title.substring(0, index) + '...'
-        } else {
-          return title
-        }
-      }
+    created () {
+      this.$store.dispatch('loadBrandCarousel')
     },
     computed: {
-      floors () {
-        return this.$store.state.floor.list.data
-      },
       banners () {
         return this.$store.state.carousel.brandCarousel.data
       },
       sliceBanners () {
         return this.banners.data && this.banners.data.length ? this.banners.data.slice(0, 3) : []
-      },
-      activeIndex () {
-        return !this.isSearch ? this.$route.params.initial : ''
-      }
-    },
-    methods: {
-      goBrandIndex: function (index) {
-        if (index === this.$route.params.initial) {
-          this.initParams()
-          this.reloadData()
-        } else {
-          this.$router.push('/product/brand/brandList/' + index)
-//            window.location.href = '/product/brand/brandList/' + index + '#index'
-//            window.open('/product/brand/brandList/' + index + '#index', '_self')
-        }
-      },
-      initParams: function () {
-        this.nowPage = 1
-        this.isSearch = false
-        this.keyword = ''
-        this.reloadData()
-      },
-      reloadData: function () {
-        !this.isSearch ? this.$store.dispatch('product/loadBrandsPager', {'initial': this.$route.params.initial, 'page': this.nowPage, 'count': this.pageSize, 'keyword': this.keyword}) : this.searchData()
       }
     }
   }
@@ -134,64 +58,13 @@
   .recommend-brand {
     width: 1190px;
     margin: 0 auto;
-    padding-top: 20px;
+    overflow: hidden;
+    .brand-toggle {
+      float: left;
+      margin-right: 15px;
+    }
     .brand-content{
-      overflow: hidden;
-      .brand-index-tab {
-        margin-right: 15px;
-        float: left;
-        width: 220px;
-        height: 400px;
-        background-color: #ffffff;
-        border-radius: 5px;
-        /*border: solid 1px #d2d2d2;*/
-        .index-head {
-          padding-left: 10px;
-          width: 220px;
-          height: 34px;
-          line-height: 34px;
-          background-color: #2496f1;
-          font-size: 14px;
-          font-weight: bold;
-          border-top-left-radius: 5px;
-          border-top-right-radius: 5px;
-          color: #fff;
-          img{
-            margin-right: 6px;
-            margin-top: -2px;
-          }
-        }
-        .brand-index-group {
-          margin: 0 auto 22px;
-          width: 200px;
-          height: 40px;
-          background-color: rgba(36, 150, 241, 0.1);
-          border-radius: 4px;
-          /*opacity: 0.1;*/
-          a{
-            display: inline-block;
-            width: 40px;
-            height: 40px;
-            line-height: 40px;
-            text-align: center;
-            font-size: 16px;
-            color: #666;
-            border-radius: 5px;
-            /*background-color: #2496f1;*/
-            &:hover{
-               background-color: #2496f1;
-               color: #fff;
-             }
-          }
-          &:last-child{
-             margin-bottom: 0;
-           }
-           &:last-child a{
-              letter-spacing: 15px;
-              padding-left: 12px;
-            }
-        }
-      }
+      float: left;
     }
     .swiper-container {
       z-index: 2;

+ 27 - 42
components/home/displayCard.vue

@@ -4,18 +4,19 @@
      <div class="content" v-if="cardShow">
        <div>
          <ul class="list-unstyled">
-           <li ref="pingdanListWrapper" v-for="(item, index) in title"  :style="'top: -' + 30 * timerIndex + 'px'" :class="{'top': isTop}">
-             <span>{{item}}</span>
+           <li ref="pingdanListWrapper" v-for="item in counts"  :style="'top: -' + 30 * timerIndex + 'px'" :class="{'top': isTop}">
+             <span>{{item.item}}</span>
            </li>
          </ul>
          <ul class="list-unstyled">
-           <li ref="pingdanListWrapper" v-for="(c, index) in counts"  :style="'top: -' + 30 * timerIndex + 'px'" :class="{'top': isTop}">
+           <li ref="pingdanListWrapper" v-for="c in counts"  :style="'top: -' + 30 * timerIndex + 'px'" :class="{'top': isTop}">
              <span v-for="(item, index) in formatScrollNumber(c.count, c.logo)" class="count-distance" :class="'count' + index">{{item}}</span>
            </li>
          </ul>
        </div>
        <div v-for="item in itemCounts">
-         <p><span v-html="item.count"></span>
+         <p>
+           <span v-html="item.count"></span>
            <span style="color: #333" v-if="item.type === 3">家</span>
            <span style="color: #333" v-if="item.type === 2">条</span>
          </p>
@@ -31,8 +32,7 @@
         cardShow: true,
         timerIndex: 0,
         isTop: false, // 判断是否滚动至顶,
-        timer: {}, // 定时器实体
-        title: [ '品牌', '现货', '规格书', '店铺' ]
+        timer: {} // 定时器实体
       }
     },
     mounted () {
@@ -52,9 +52,7 @@
               _transitionEvent && this.$refs.pingdanListWrapper[0].addEventListener(
                 _transitionEvent, () => {
                   if (isChange) {
-                    let title = this.title.shift()
                     let count = this.counts.shift()
-                    this.title.push(title)
                     this.counts.push(count)
                     this.timerIndex = 0
                     isChange = false
@@ -71,7 +69,6 @@
         this.cardShow = false
       },
       formatScrollNumber (num, logo) {
-//        let re = /(\d+)(\d{3})/
         if (num) {
           if (num > 99999999) {
             let str2 = num.toString()
@@ -104,11 +101,6 @@
             }
           }
         }
-//        while (re.test(num)) {
-//          num = num.replace(re, '$1,$2')
-//        }
-//        num = num.split('')
-//        console.log(num)
         let _arr = []
         for (let i = 0; i < num.length; i++) {
           _arr.push(num[i])
@@ -163,14 +155,8 @@
       },
     },
     computed: {
-      allCount () {
-        return this.$store.state.count.allCount.data
-      },
-      payMoneyLast () {
-        return this.allCount[0] ? this.formatNumber(this.allCount[0].count, 1) : 0
-      },
-      payMoney () {
-        return this.allCount[1] ? this.formatNumber(this.allCount[1].count, 1) : 0
+      counter () {
+        return this.$store.state.option.counter.data
       },
       inquirySheet () {
         let sheetNum = this.$store.state.count.inquirySheet.data
@@ -180,33 +166,32 @@
         let lastSheetNum = this.$store.state.count.inquirySheetLast.data
         return lastSheetNum ? this.formatDouble(lastSheetNum.count) : 0
       },
-      all () {
-        let count = this.$store.state.supplier.merchant.merchantAll.data
-        let supplierCount = count.content ? count.totalElements + '' : 0
-        return this.formatNumber(supplierCount, 0)
-      },
       itemCounts () {
         let arr = []
-        arr.push({count: this.all ? this.all : 0, type: 3}, {count: this.payMoney ? this.payMoney : 0, type: 1}, {count: this.payMoneyLast ? this.payMoneyLast : 0, type: 1}, {count: this.inquirySheet ? this.inquirySheet : 0, type: 2}, {count: this.inquirySheetLast ? this.inquirySheetLast : 0, type: 2})
+        let count = this.baseUtils.deepCopy(this.counter)
+        count.forEach((value) => {
+          if (value.usedFor === 'mall_home_banner') {
+            value.type = value.detno === 2 ? 3: 1
+            value.count = this.formatNumber(value.count)
+            arr.push(value)
+          }
+        })
+        arr = arr.sort((a,b) => {return a.detno - b.detno})
+        arr.push({count: this.inquirySheet ? this.inquirySheet : 0, type: 2},
+          {count: this.inquirySheetLast ? this.inquirySheetLast : 0, type: 2})
         return arr
       },
-      list () {
-        let list = JSON.parse(JSON.stringify(this.$store.state.provider.stores.storeList.data))
-        return list
-      },
       counts () {
         let arr = []
-        let countM = this.$store.state.product.common.counts.data
-        if (countM) {
-          countM.forEach((value, key, $data) => {
-            arr.push({count: value.count, logo: 1})
-          })
-        }
-        arr.push({count: this.list.totalElements, logo: 0})
+        let count = this.baseUtils.deepCopy(this.counter)
+        count.forEach((value) => {
+          if (value.usedFor === 'b2c_index') {
+            value.logo = value.detno === 4 ? 0: 1
+            arr.push(value)
+          }
+        })
+        arr = arr.sort((a,b) => {return a.detno - b.detno})
         return arr
-      },
-      enterprise () {
-        return this.user.data.enterprise
       }
     }
   }

+ 8 - 8
components/main/Nav.vue

@@ -13,15 +13,15 @@
         <span>询价求购</span>
         <img class="new-animate" src="/images/all/banner-cuxiao03.png" alt="">
       </nuxt-link>
-      <nuxt-link to="/supplier" class="item" v-if="!isInFrame">
-        <span>供应商</span>
-      </nuxt-link>
+      <!--<nuxt-link to="/supplier" class="item" v-if="!isInFrame">-->
+        <!--<span>供应商</span>-->
+      <!--</nuxt-link>-->
       <a class="item" @click="goB2B">
         <span>B2B商务</span>
         <img class="new-animate" src="/images/all/hot.png" alt="">
       </a>
-      <nuxt-link  to="/provider/shop" class="item">
-        <span>店铺
+      <nuxt-link  to="/eCommerce/home/factory" class="item">
+        <span>电商
           <!--<i class="iconfont icon-arrow-down"></i>-->
           <!--<i class="iconfont icon-arrow-up"></i>-->
         </span>
@@ -38,9 +38,9 @@
           <!--</li>-->
         <!--</ul>-->
       </nuxt-link>
-      <nuxt-link to="/product/brand/brandList/A" class="item">
-        <span>品牌墙</span>
-      </nuxt-link>
+      <!--<nuxt-link to="/product/brand/brandList/A" class="item">-->
+        <!--<span>品牌墙</span>-->
+      <!--</nuxt-link>-->
       <nuxt-link to="/pcb" class="item">
         <span>PCB专区</span>
       </nuxt-link>

+ 65 - 5
components/mobile/Home.vue

@@ -44,31 +44,37 @@
         </div>
       </div>
       <ul class="link-list">
-        <li>
+        <li v-bind:class="{'widthActive' : isShowStoreApply}">
           <nuxt-link to="/mobile/supplier">
             <img src="/images/mobile/@2x/home/supplier.png" alt="">
             <span>供应商</span>
           </nuxt-link>
         </li>
-        <li>
+        <li v-bind:class="{'widthActive' : isShowStoreApply}">
           <a @click="goOpportunity">
             <img src="/images/mobile/@2x/home/seek.png" alt="">
             <span>公司商机</span>
           </a>
         </li>
-        <li>
+        <li v-bind:class="{'widthActive' : isShowStoreApply}">
           <nuxt-link to="/mobile/shop">
             <img src="/images/mobile/@2x/home/store.png" alt="">
             <span>店铺列表</span>
             <!-- <i></i>-->
           </nuxt-link>
         </li>
-        <li>
+        <li v-bind:class="{'widthActive' : isShowStoreApply}">
           <nuxt-link to="/mobile/brand/brandCenter/A">
             <img src="/images/mobile/@2x/home/brand.png" alt="">
             <span>品牌墙</span>
           </nuxt-link>
         </li>
+        <li v-bind:class="{'widthActive' : isShowStoreApply}" v-show="isShowStoreApply">
+          <a @click="goOpenStoreApply">
+            <img src="/images/mobile/@2x/home/store-into.png" alt="">
+            <span>商家入驻</span>
+          </a>
+        </li>
       </ul>
 
       <div class="display_card">
@@ -137,7 +143,8 @@
         keyword: '',
         associate: {
           show: false
-        }
+        },
+        isShowStoreApply: false
       }
     },
     components: {
@@ -300,10 +307,60 @@
         this.page++
         this.isSearchSearchingMore = true
         this.reloadData()
+      },
+      // 商家入驻
+      goOpenStoreApply: function () {
+        if (this.user.logged) {
+          if (this.user.data.enterprise.uu) {
+            if (this.user.data.enterprise.isVendor === 313) {
+              this.$http.get('/basic/vendor/transactionInfo').then(response => {
+                if (response.data.isOpenStore) {
+                  // window.location.href = '/mobile/user/storeinfo'
+                } else {
+                  this.setRemindText('您的申请已提交,请耐心等待工作人员审核(2-3个工作日)')
+                }
+              }, err => {
+                this.$message.error('获取开店信息失败')
+                console.log(err)
+              })
+            } else {
+              this.$router.push('/mobile/store')
+            }
+          } else {
+            this.$router.push('/mobile/store/register')
+          }
+        } else {
+          this.login()
+        }
+      },
+      storeApply: function () {
+        if (this.user.logged) {
+          if (this.user.data.enterprise.uu) {
+            if (this.user.data.enterprise.isVendor === 313) {
+              this.$http.get('/basic/vendor/transactionInfo').then(response => {
+                if (response.data.isOpenStore) {
+                  this.isShowStoreApply = false
+                } else {
+                  this.isShowStoreApply = true
+                }
+              }, err => {
+                this.$message.error('获取开店信息失败')
+                console.log(err)
+              })
+            } else {
+              this.isShowStoreApply = true
+            }
+          } else {
+            this.isShowStoreApply = true
+          }
+        } else {
+          this.isShowStoreApply = false
+        }
       }
     },
     mounted() {
       this.$nextTick(() => {
+        this.storeApply()
         let ua = this.$store.state.option.userAgent.toLowerCase()
         let info = localStorage.getItem('USOFTMALLWECHATINFO')
         // 如果本地有缓存 则证明存在openid
@@ -474,6 +531,9 @@
           top: .2rem;
         }
       }
+      li.widthActive{
+        width: 20%;
+      }
     }
   }
 </style>

+ 4 - 0
components/mobile/center/Seek.vue

@@ -14,6 +14,10 @@
         <span :class="overdue==='attention'?'mobile-switch-btn active':'mobile-switch-btn'" @click="ChangeTab('attention')">未截止</span>
         <span :class="overdue==='isattention'?'mobile-switch-btn active':'mobile-switch-btn'" @click="ChangeTab('isattention')">已截止</span>
       </div>
+      <div class="seek-title com-switch-item" v-if="userType == 'saler' && seekType == 'done'">
+        <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>
       <div class="search-content">
         <input type="text" v-model="seekKeyword" :placeholder="userType == 'buyer' ? '品牌/型号' : '品牌/物料名称/型号/规格/公司'" @keyup.13="onSearch">
         <span @click="onSearch"><i class="iconfont icon-sousuo"></i></span>

+ 12 - 25
components/mobile/common/StatisticsMobile.vue

@@ -156,8 +156,8 @@
       }
     },
     computed: {
-      allCount () {
-        return this.$store.state.count.allCount.data
+      counter () {
+        return this.$store.state.option.counter.data
       },
       inquirySheet () {
         let sheetNum = this.$store.state.count.inquirySheet.data
@@ -167,35 +167,22 @@
         let lastSheetNum = this.$store.state.count.inquirySheetLast.data
         return lastSheetNum ? this.formatDouble(lastSheetNum.count) : 0
       },
-      all () {
-        let count = this.$store.state.supplier.merchant.merchantAll.data
-        return count.content ? count.totalElements : '0'
-      },
-      counts () {
-        return this.$store.state.product.common.counts
-      },
-      list () {
-        let list = JSON.parse(JSON.stringify(this.$store.state.provider.stores.storeList.data))
-        // console.log(list)
-        return list.totalElements
-      },
       itemData () {
         let str = []
-        if (this.counts.data) {
-          this.counts.data.forEach((value, key, $data) => {
-            str.push({id: $data[key].item, count: $data[key].count, type: 1})
+        if (this.counter) {
+          this.counter.forEach((value, key, $data) => {
+            if($data[key].item === '店铺' || $data[key].item ==='供应商') {
+              str.push({id: $data[key].item, count: $data[key].count, type: 3})
+            } else if($data[key].item === '本年交易金额' || $data[key].item ==='上年交易金额') {
+              str.push({id: $data[key].item, count: $data[key].count, type: 4})
+            } else {
+              str.push({id: $data[key].item, count: $data[key].count, type: 1})
+            }
           })
         }
-        str.push({id: '供应商', count: this.all ? this.all : 0, type: 3})
         str.push({id: '本月询价单', count: this.$store.state.count.inquirySheet.data ? this.$store.state.count.inquirySheet.data.count : 0, type: 2})
         str.push({id: '上月询价单', count: this.$store.state.count.inquirySheetLast.data ? this.$store.state.count.inquirySheetLast.data.count : 0, type: 2})
-        if (this.allCount) {
-          this.allCount.forEach((value, key, $data) => {
-            str.push({id: $data[key].item, count: $data[key].count, type: 4})
-          })
-        }
-        str.push({id: '店铺', count: this.list ? this.list : 0, type: 3})
-        str = [str[1], str[0], str[2], str[3], str[8], str[5], str[4], str[6], str[7]]
+        str = [str[1], str[0], str[2], str[4], str[3], str[8], str[7], str[5], str[6]]
         return str
       },
       itemLeft () {

+ 0 - 146
components/mobile/register-saler/Register.vue

@@ -1,146 +0,0 @@
-<template>
-  <div>
-    <!--<div class="step-menu">-->
-      <!--<ul class="x-step">-->
-        <!--<li :class="section >= 1?'active':''" >第一步:完善企业信息-->
-          <!--<i class="x-split"></i></li>-->
-        <!--<li :class="section >= 2?'active':''" >第二步:阅读相关条例-->
-          <!--<i class="x-split"></i></li>-->
-        <!--<li :class="section >= 3?'active':''" >第三步:提交申请</li>-->
-      <!--</ul>-->
-    <!--</div>-->
-    <div class="mobile-tab-list">
-      <step-first v-show="section == 1"
-                  @sectionEvent="sectionChange"
-                  @registerAction="onRegister"
-                  :loginData="loginData"
-                  :enterpriseData="enterpriseData"
-                  :businessImgUrl="businessImgUrl"
-                  @businessImgUrlAction="onBusinessImgUrl"
-                  @isSelfCacheDataAction="onCacheData"></step-first>
-      <step-second v-show="section == 2"
-                   @sectionEvent="sectionChange"
-                   :checkData="checkData"
-                   :loginData="loginData"
-                   :cacheData="cacheData"></step-second>
-      <choose-storetype v-show="section == 3"
-                  @sectionEvent="sectionChange"
-      >
-
-      </choose-storetype>
-      <step-third v-show="section == 4"
-                  @sectionEvent="sectionChange"
-                  :registerData="registerData"
-                  :enterpriseData="enterpriseData"
-                  :checkData="checkData"
-                  :businessImgUrl="businessImgUrl"
-                  @businessImgUrlAction="onBusinessImgUrl"
-                  :loginData="loginData"
-                  :tab="tab"></step-third>
-    </div>
-    </div>
-</template>
-<script>
-  import StepFirst from '~components/mobile/register-saler/register/StepFirst.vue'
-  import StepSecond from '~components/mobile/register-saler/register/StepSecond.vue'
-  import StepThird from '~components/mobile/register-saler/register/StepThird.vue'
-  import chooseStoretype from '~components/mobile/register-saler/register/chooseStoretype.vue'
-  export default {
-    data () {
-      return {
-        tab: 'ORIGINAL_FACTORY',
-        section: 1,
-        checkData: {
-          checked: false
-        },
-        registerData: {
-          enterprise: {},
-          c: false,
-          url: ''
-        },
-        loginData: {
-          isSelf: true,
-          section: 1,
-          enterprise: {}
-        },
-        cacheData: {},
-        enterpriseData: {},
-        businessImgUrl: ''
-      }
-    },
-    components: {
-      StepFirst,
-      StepSecond,
-      StepThird,
-      chooseStoretype
-    },
-    computed: {
-      user () {
-        return this.$store.state.option.user
-      }
-    },
-    created () {
-      let ens = this.user.data.enterprises
-      let isSelf = true
-      let tempEnterprise = {}
-      if (ens && ens.length) {
-        ens.forEach(function (item) {
-          if (item.current) {
-            isSelf = false
-            tempEnterprise = item
-          }
-        })
-      } else {
-        isSelf = true
-      }
-      if (!isSelf) { // 是企业
-        this.$http.get('/basic/enterprise/' + tempEnterprise.uu + '/info')
-          .then(response => {
-            this.enterpriseData = response.data
-            this.section = 1
-            this.checkData.checked = false
-          })
-      } else { // 是个人
-        this.$http.get('/basic/user/userCacheEnterprise')
-          .then(response => {
-            if (!response.data.name) {
-              this.section = 1
-              this.checkData.checked = false
-            } else if (!response.data.enIsRead) {
-              this.section = 2
-              this.checkData.checked = false
-              this.enterpriseData = response.data
-            } else if (response.data.enIsRead) {
-              this.section = 3
-              this.checkData.checked = true
-              this.enterpriseData = response.data
-            }
-          })
-      }
-      this.loginData.isSelf = isSelf
-      this.loginData.section = this.section
-      this.loginData.enterprise = tempEnterprise
-    },
-    methods: {
-      sectionChange: function (num, tab) {
-        this.section = num
-        if (tab) {
-          this.tab = tab
-        }
-      },
-      onRegister: function (data) {
-        this.registerData.isValidRegister = data.isValidRegister
-        this.registerData.enterprise = data.enterprise
-        this.registerData.url = data.url
-      },
-      onCacheData: function (cache) {
-        this.cacheData = cache
-      },
-      onBusinessImgUrl: function (url) {
-        this.businessImgUrl = url
-      }
-    }
-  }
-</script>
-<style>
-</style>

+ 16 - 4
components/mobile/user/Info.vue

@@ -5,8 +5,10 @@
         <input type="file"
                class="file-input"
                name="name"
-               accept="image/jpeg,image/jpg,image/gif,image/bmp,image/png"
-               @change="uploadImg"/>
+               accept="image/*"
+               @change="uploadImg"
+               multiple
+        />
         <span><i class="iconfont icon-tuxiang-" style="font-size: .29rem;"></i>头像:</span>
         <span class="describe"><img :src="imageUploadUrl ? imageUploadUrl : info.imageUrl ? info.imageUrl : '/images/component/default.png'" alt="">
           <i class="iconfont icon-xiangyou"></i></span>
@@ -15,6 +17,10 @@
         <span><i class="iconfont icon-yonghuming"></i>用户名:</span>
         <span class="describe">{{info.userName}}</span>
       </div>
+      <div class="line">
+        <span><i class="iconfont icon-id"></i>UU号:</span>
+        <span class="describe">{{info.userUU}}</span>
+      </div>
       <div class="line" @click="jumpSet('email')">
         <span><i class="iconfont icon-youxiang"></i>邮箱:</span>
         <span class="describe">{{info.userEmail}}
@@ -101,7 +107,7 @@
       width: 7.1rem;
       background: #fff;
       margin: 0 auto;
-      height: 4.66rem;
+      height: 5.82rem;
       padding: 0 .24rem;
       font-size: .28rem;
       color: #999;
@@ -133,9 +139,15 @@
           text-align: left;
           i{
             margin-right: .15rem;
-            font-size: .3rem;
+            font-size: .38rem;
             color: #f8953c;
           }
+          i.icon-id{
+            font-size: .46rem;
+          }
+          i.icon-tuxiang-{
+            font-size: .32rem;
+          }
         }
         span.describe {
           float: right;

+ 4 - 1
components/provider/Carousel.vue

@@ -28,7 +28,7 @@
     computed: {
       storeType () {
         this.activeSlide = 0
-        return this.$store.state.provider.stores.storeType.data
+        return this.$route.params.type
       },
       swiperOption () {
         return {
@@ -46,6 +46,9 @@
           nextButton: '.swiper-button-next'
         }
       }
+    },
+    created () {
+      this.$store.dispatch('loadBanners', {type: this.storeType + '_banner_carousel'})
     }
   }
 </script>

+ 23 - 6
components/provider/RecommendStore.vue

@@ -3,14 +3,26 @@
     <div class="toggle-store">
       <toggle-store/>
     </div>
-    <div class="carousel">
-      <carousel :banners="banners" v-for="item in init" v-if="item.show" :key="item.id" />
+    <!--供应商-->
+    <div class="carousel" v-if="storeType === 'supplier'">
+      <banner/>
+    </div>
+    <!--品牌-->
+    <div class="carousel" v-else-if="storeType === 'brand'">
+      <recommend-brand></recommend-brand>
+    </div>
+    <!--店铺-->
+    <div class="carousel" v-else>
+      <!--<carousel :banners="banners" v-for="item in init" v-if="item.show" :key="item.id" />-->
+      <carousel :banners="banners"/>
     </div>
   </div>
 </template>
 <script>
 import ToggleStore from './ToggleStore.vue'
 import Carousel from './Carousel.vue'
+import Banner from '~components/supplier/banner.vue'
+import RecommendBrand from '~components/brandCenter/RecommendBrand.vue'
 
 export default {
   name: 'recommend-store',
@@ -21,12 +33,17 @@ export default {
   },
   components: {
     ToggleStore,
-    Carousel
+    Carousel,
+    Banner,
+    RecommendBrand
   },
   computed: {
-    providerType () {
-      return this.$route.path === '/provider/home' ? 'agency' : 'original'
+    storeType () {
+        return this.$route.params.type
     },
+    // providerType () {
+    //   return this.$route.path === '/provider/home' ? 'agency' : 'original'
+    // },
     banners () {
       if (this.$store.state.carousel.banners) {
         this.init[this.init.length - 1].show = false
@@ -47,7 +64,7 @@ export default {
 
   .marketing {
     width: 1190px;
-    min-height: 360px;
+    height: 422px;
     padding-top: 20px!important ;
     overflow: hidden;
     .toggle-store {

+ 27 - 7
components/provider/RecommendStoreShow.vue

@@ -1,12 +1,23 @@
 <template>
   <div class="container showAll">
-    <div class="new-store">
-      <new-store/>
-      <recommend-original/>
-      <hot-commodity/>
+    <!--供应商-->
+    <div v-if="storeType === 'supplier'">
+      <article-two/>
     </div>
-    <div class="search">
-      <suppliers/>
+    <!--品牌-->
+    <div v-else-if="storeType === 'brand'">
+      <brand-index/>
+    </div>
+    <!--店铺-->
+    <div v-else>
+      <div class="new-store">
+        <new-store/>
+        <recommend-original/>
+        <hot-commodity/>
+      </div>
+      <div class="search">
+        <suppliers/>
+      </div>
     </div>
   </div>
 </template>
@@ -15,6 +26,8 @@ import NewStore from './NewStore.vue'
 import RecommendOriginal from './RecommendOriginal.vue'
 import HotCommodity from './HotCommodity.vue'
 import Suppliers from './Suppliers.vue'
+import ArticleTwo from '~components/supplier/articleTwo.vue'
+import BrandIndex from '~components/brandCenter/BrandIndex.vue'
 
 export default {
   name: 'recommend-store',
@@ -22,7 +35,14 @@ export default {
     NewStore,
     RecommendOriginal,
     HotCommodity,
-    Suppliers
+    Suppliers,
+    ArticleTwo,
+    BrandIndex
+  },
+  computed: {
+    storeType () {
+      return this.$route.params.type
+    }
   }
 }
 </script>

+ 1 - 1
components/provider/Suppliers.vue

@@ -76,7 +76,7 @@ export default {
       if (this.pageParams) {
         this.pageParams.page = 1
       }
-      return this.$store.state.provider.stores.storeType.data
+      return this.$route.params.type
     },
     stores () {
       return this.$store.state.provider.stores.storeList.data

+ 76 - 15
components/provider/ToggleStore.vue

@@ -1,5 +1,15 @@
 <template>
   <div class="toggleStore">
+    <!--寄售-->
+    <div class="sale list-item" @click="open('/store/33069557578d44e69bd91ad12d28a8d4')">
+      <div class="header">
+        <div class="kind"><span></span>优软寄售</div>
+        <a class="enter" @click="open('/store/33069557578d44e69bd91ad12d28a8d4')">进入店铺 <i class="fa fa-angle-right"></i></a>
+      </div>
+      <div class="body">
+        <p>海量库存、不赚差价</p>
+      </div>
+    </div>
     <!--原厂-->
     <div class="factory list-item" :class="{active: storeType === 'factory'}" @click="toggleStore('factory')">
       <div class="header">
@@ -13,8 +23,6 @@
       </div>
       <div class="body">
         <p>原厂直营,品质保障</p>
-        <p>全球品牌,自由筛选</p>
-        <p>原装现货,买得放心</p>
       </div>
     </div>
     <!--代理经销-->
@@ -29,21 +37,37 @@
         </div>
       </div>
       <div class="body">
-        <p>百强代理,资源共享</p>
-        <p>物料询价,极速响应</p>
-        <p>千万型号,一站找齐</p>
+        <p>百强代理,一站找齐</p>
       </div>
     </div>
-    <!--寄售-->
-    <div class="sale list-item" @click="open('/store/33069557578d44e69bd91ad12d28a8d4')">
+    <!--供应商-->
+    <div class="agent list-item" :class="{active: storeType === 'supplier'}" @click="toggleStore('supplier')">
       <div class="header">
-        <div class="kind"><span></span>优软寄售</div>
-        <a class="enter" @click="open('/store/33069557578d44e69bd91ad12d28a8d4')">进入店铺 <i class="fa fa-angle-right"></i></a>
+        <div class="kind"><span></span>供应商</div>
+        <div class="count">
+          <span>已入驻</span>
+          <div class="count_num">
+            <span v-for="item in formatNumber(supplierArr, 4)" v-text="item">1</span>
+          </div>
+        </div>
       </div>
       <div class="body">
-        <p>海量库存、不赚差价</p>
-        <p>在线下单、在线跟踪</p>
-        <p>价格透明、节约成本</p>
+        <p>产业资源,免费共享</p>
+      </div>
+    </div>
+    <!--品牌墙-->
+    <div class="agent list-item" :class="{active: storeType === 'brand'}" @click="toggleStore('brand')">
+      <div class="header">
+        <div class="kind"><span></span>品牌墙</div>
+        <div class="count">
+          <span>已入驻</span>
+          <div class="count_num">
+            <span v-for="item in formatNumber(brandArr, 4)" v-text="item">1</span>
+          </div>
+        </div>
+      </div>
+      <div class="body">
+        <p>全球品牌,自由筛选</p>
       </div>
     </div>
   </div>
@@ -52,9 +76,16 @@
 
 export default {
   name: 'excellent-suppliers',
+  data () {
+    return {
+      supplierArr: [],
+      brandArr: []
+    }
+  },
   computed: {
     storeType () {
-      return this.$store.state.provider.stores.storeType.data
+      console.log(this.$route.params.type, '1111')
+      return this.$route.params.type
     },
     store () {
       return this.$store.state.provider.storeCms.recommendStore.data
@@ -64,15 +95,45 @@ export default {
     },
     originalCount () {
       return this.$store.state.provider.stores.originalCount.data
+    },
+    count () {
+      let allCount =  this.$store.state.option.counter.data ? this.$store.state.option.counter.data : []
+      allCount.forEach((value) => {
+        if (value.item === '供应商') {
+          this.supplierArr.push(value.count)
+        }
+        if (value.item === '品   牌') {
+          this.brandArr.push(value.count)
+        }
+      })
     }
   },
+  mounted () {
+    this.$nextTick(() => {
+      this.count
+    })
+  },
+  create () {
+    this.$store.dispatch('loadCounterData')
+  },
   methods: {
     // 切换Store
     toggleStore (type) {
       if (type === this.storeType) return
-      this.$store.commit('provider/stores/SET_STORETYPE', type)
       this.$store.dispatch('loadBanners', {type: type + '_banner_carousel'})
       this.$store.dispatch('provider/findSimilarStoreList', { page: 1, count: 10, type: type === 'factory' ? 'ORIGINAL_FACTORY' : 'AGENCY-DISTRIBUTION' })
+      if (type === 'brand') {
+        this.$router.push('/eCommerce/home/brand/?initial=A')
+      }
+      if (type === 'supplier') {
+        this.$router.push('/eCommerce/home/supplier')
+      }
+      if (type === 'factory') {
+        this.$router.push('/eCommerce/home/factory')
+      }
+      if (type === 'origin') {
+        this.$router.push('/eCommerce/home/origin')
+      }
     },
     // 店铺入驻数量
     formatNumber (num, key) {
@@ -98,7 +159,7 @@ export default {
 		padding: 0;
     .list-item{
       width: 100%;
-      height: 134px;
+      height: 81px;
       background: #fff;
       border-bottom: 1px solid #ece9ec;
       .header {

+ 18 - 14
components/supplier/articleOne.vue

@@ -1,8 +1,9 @@
 <template>
   <div class="supplier_one">
-    <div class="count">
-      已入驻 <span v-text="all"></span>
-    </div>
+    <!--<div class="count">-->
+      <!--已入驻 <span v-text="all"></span>-->
+    <!--</div>-->
+    <div class="title">新入驻供应商</div>
     <ul class="list-unstyled">
       <li v-for="item in list.content" @click="jumpResource(item.enUU)">
         <div class="content_name" v-text="item.storeName">深圳英优软科技有限公司</div>
@@ -64,7 +65,6 @@
 <style type="text/scss" lang="scss">
 .supplier_one{
   position:relative;
-  padding-top:90px;
   border-radius:5px;
   padding-bottom:5px;
   margin-bottom:15px;
@@ -114,16 +114,6 @@
       }
     }
   }
-  &:before{
-    content: '';
-    position:absolute;
-    top:0;
-    left:0;
-    display:block;
-    width:100%;
-    height:92px;
-    background: url(/images/supplier/header_img.png)no-repeat center center
-  }
   .count{
     text-align: center;
     font-size: 25px;
@@ -131,10 +121,24 @@
     font-weight: bold;
     margin-bottom:5px;
   }
+  .title{
+    height: 34px;
+    line-height: 34px;
+    text-align: center;
+    background-color: #2496f1;
+    border-top-left-radius: 5px;
+    border-top-right-radius: 5px;
+    font-size: 14px;
+    font-weight: bold;
+    color: #fff;
+  }
   ul{
+    padding: 13px 0 0 7px;
+    height: 366px;
     li{
       position:relative;
       padding: 0 18px 0 20px;
+      margin-bottom: 10px;
       line-height: 25px;
       height:25px;
       color:#666;

+ 60 - 32
components/supplier/articleTwo.vue

@@ -1,44 +1,60 @@
 <template>
-  <div class="supplier_two">
-    <div class="title">
-      <span>供应商推荐</span>
-    </div>
-    <div class="empty" v-if="!list.content || list.content.length === 0">
-      <div class="supplier-empty-info">
-        <p>暂无供应商推荐信息</p>
-      </div>
-    </div>
-    <ul class="list-unstyled">
-      <li v-for="item in list.content" @click="jumpResource(item.uu)">
-        <div class="img">
-          <img :src="item.enLogoUrl || '/images/all/default.png'">
+  <div class="supplier-show">
+    <div class="supplier-list">
+      <template>
+        <article-one/>
+      </template>
+      <div class="supplier_two">
+        <div class="title">
+          <span>供应商推荐</span>
         </div>
-        <div class="content_name" v-text="item.enName">深圳英优软科技有限公司</div>
-      </li>
-    </ul>
-    <el-dialog
-      title="提示"
-      :visible.sync="hasDialog ">
-      <div class="form_dialog">
-        <p><span>供应商正在完善产品信息,</span>暂时不能查看更多。 </p>
-      </div>
-      <span slot="footer" class="dialog-footer">
+        <div class="empty" v-if="!list.content || list.content.length === 0">
+          <div class="supplier-empty-info">
+            <p>暂无供应商推荐信息</p>
+          </div>
+        </div>
+        <ul class="list-unstyled">
+          <li v-for="item in list.content.slice(0,10)" @click="jumpResource(item.uu)">
+            <div class="img">
+              <img :src="item.enLogoUrl || '/images/all/default.png'">
+            </div>
+            <div class="content_name" v-text="item.enName">深圳英优软科技有限公司</div>
+          </li>
+        </ul>
+        <el-dialog
+          title="提示"
+          :visible.sync="hasDialog ">
+          <div class="form_dialog">
+            <p><span>供应商正在完善产品信息,</span>暂时不能查看更多。 </p>
+          </div>
+          <span slot="footer" class="dialog-footer">
         <a type="button" @click="hasDialog=false">我知道了</a>
       </span>
-    </el-dialog>
+        </el-dialog>
+      </div>
+    </div>
+    <div class="supplier-table">
+      <merchant-view/>
+    </div>
   </div>
 </template>
 
 <script>
+  import MerchantView from '~components/supplier/merchant.vue'
+  import ArticleOne from '~components/supplier/articleOne.vue'
   export default {
     data () {
       return {
         hasDialog: false
       }
     },
+    components: {
+      MerchantView,
+      ArticleOne,
+    },
     computed: {
       list () {
-        return this.$store.state.supplier.merchant.recommend.data
+        return this.$store.state.supplier.merchant.recommend.data ? this.$store.state.supplier.merchant.recommend.data : []
       }
     },
     methods: {
@@ -65,13 +81,20 @@
 </script>
 
 <style type="text/scss" lang="scss">
+  .supplier-show {
+    overflow: hidden;
+    .supplier-list {
+      float: left;
+      margin-right: 15px;
+      width: 220px;
+    }
+    .supplier-table {
+      float: left;
+      width: 955px;
+    }
+  }
   .supplier_two{
     position:relative;
-    border-radius:5px;
-    padding-bottom:5px;
-    margin-bottom:15px;
-    background: #fff;
-    height:1205px;
     overflow: hidden;
     .el-dialog{
       width: 290px!important;
@@ -121,8 +144,9 @@
       height: 34px;
       line-height: 34px;
       text-align: center;
-      background: #2496f1;
-      margin-bottom:5px;
+      background-color: #2496f1;
+      border-top-left-radius: 5px;
+      border-top-right-radius: 5px;
       span{
         line-height: 35px;
         font-size: 14px;
@@ -138,6 +162,10 @@
       }
     }
     > ul{
+      padding-top: 17px;
+      border-radius:5px;
+      background: #fff;
+      height: 614px;
       li{
         position:relative;
         padding: 0 10px;

+ 3 - 3
components/supplier/merchant.vue

@@ -17,7 +17,7 @@
       </div>
     </div>
     <ul class="list-inline">
-      <li v-for="item in list.content" @click="jumpResource(item.enUU)" class="clearfix">
+      <li v-for="item in list.content.slice(0,8)" @click="jumpResource(item.enUU)" class="clearfix">
         <div class="img">
           <img :src="item.storeLogoUrl || item.logoUrl || '/images/all/default.png'">
           <span class="has_shop" v-if="item.isStore === 1"></span>
@@ -82,7 +82,7 @@
     },
     computed: {
       list () {
-        return this.$store.state.supplier.merchant.merchant.data
+        return this.$store.state.supplier.merchant.merchant.data ? this.$store.state.supplier.merchant.merchant.data : []
       }
     },
     methods: {
@@ -235,7 +235,7 @@
     }
   }
   .list_info{
-    height: 1120px;
+    height: 983px;
     background: #fff;
     .empty{
       padding-top:600px;

+ 2 - 2
pages/applyPurchase/index.vue

@@ -1,13 +1,13 @@
 <template>
   <div class="seek">
     <div class="container">
-      <div class="article">
+      <div class="article" style="float: left;width: 220px;">
         <article-one></article-one>
         <article-two></article-two>
         <article-three></article-three>
         <article-four></article-four>
       </div>
-      <div class="section">
+      <div class="section" style="margin-left: 235px;vertical-align: top;">
         <publish-apply></publish-apply>
         <apply-info></apply-info>
         <!--<business-opportunities id="opportunities"></business-opportunities>-->

+ 2 - 10
pages/index.vue

@@ -52,25 +52,17 @@
 //      let nowMonth = today.getMonth() + 1
 //      let LastMonth = today.getMonth()
       return !store.state.option.isMobile ? Promise.all([
+        store.dispatch('loadCounterData'),
         store.dispatch('loadNewFloors', {type: 'home_floor_f1,home_floor_f2,home_floor_f3,home_floor_f4,home_floor_f5,home_expand_f1,home_expand_f2'}),
         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}),
-        store.dispatch('loadAllCount', {_status: 'actived', usedFor: 'mall_home_banner'}),
         store.dispatch('loadInquirySheet'),
-        store.dispatch('loadProductCounts', { _status: 'actived' }),
-//        store.dispatch('loadInquirySheetLast', {year: nowYear, month: LastMonth}),
-        store.dispatch('provider/findSimilarStoreList', {page: 1, count: 10, type: 'ORIGINAL_FACTORY-DISTRIBUTION-AGENCY-CONSIGNMENT', keyword: ''}),
         store.dispatch('applyPurchase/loadPurchaseManList', {pageNumber: 1, pageSize: 50, enUU: store.state.option.user.data.enterprise ? store.state.option.user.data.enterprise.uu : null}),
         store.dispatch('loadStoreStatus', { op: 'check' })
       ]) : Promise.all([
-        store.dispatch('loadProductCounts', { _status: 'actived' }),
-        store.dispatch('supplier/loadVendorAll', {page: 1, size: 20}),
-        store.dispatch('loadAllCount', {_status: 'actived', usedFor: 'mall_home_banner'}),
+        store.dispatch('loadCounterData'),
         store.dispatch('loadInquirySheet'),
-//        store.dispatch('loadInquirySheetLast', {year: nowYear, month: LastMonth}),
-        store.dispatch('provider/findSimilarStoreList', {page: 1, count: 10, type: 'ORIGINAL_FACTORY-DISTRIBUTION-AGENCY-CONSIGNMENT', keyword: ''}),
         store.dispatch('applyPurchase/loadMobileHomeList', {pageNumber: 1, pageSize: 5, enUU: store.state.option.user.data.enterprise ? store.state.option.user.data.enterprise.uu : null})
       ])
     },

+ 2 - 2
pages/mobile/center/user/invoice/index.vue

@@ -194,7 +194,7 @@
       }
     },
     async asyncData() {
-      let { data } = await axios.get('/trade/bill/list/personal')
+      let { data } = await axios.get('/trade/bill/list')
       let _arr = []
       data.forEach(obj => {
         if (obj.kind === 1206) {
@@ -222,7 +222,7 @@
       },
       async addinvoiceFn(ty, item) {
         if (ty) {
-          let {data} = await axios.get('/trade/bill/list/personal')
+          let {data} = await axios.get('/trade/bill/list')
           let _arr = []
           data.forEach(obj => {
             if (obj.kind === 1206) {

+ 2 - 2
pages/mobile/center/user/invoice/waitinvoice.vue

@@ -295,7 +295,7 @@
       }
     },
     async asyncData() {
-      let { data } = await axios.get('/trade/bill/list/personal')
+      let { data } = await axios.get('/trade/bill/list')
       let showNormalBtn = data.find(item => {
         return item.kind === 1206
       })
@@ -337,7 +337,7 @@
       async addinvoiceFn(ty, item) {
         this.showAddinvoice = false
         if (ty) {
-          let { data } = await axios.get('/trade/bill/list/personal')
+          let { data } = await axios.get('/trade/bill/list')
           let showNormalBtn = data.find(item => {
             return item.kind === 1206
           })

+ 0 - 1
pages/mobile/center/vendor/product.vue

@@ -28,7 +28,6 @@
                 </template>
               </div>
               <div class="linetext">规格:{{item.spec}}</div>
-              <div class="linetext">单位:PCS</div>
             </div>
             <div class="fr" v-if="providerType !== 'enterprise'"  :class="providerType == 'enterprise' && item.batchCount > 0 ? '' : 'addtop'" >
               <!--<div class="look"  >查看产品</div>-->

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

@@ -8,7 +8,6 @@
             <div class="info"><div class="name">物料名称:</div><div>{{cnmpType || '-'}}</div></div>
             <div class="info"><div class="name">型号:</div><div>{{cnmpCode}}</div></div>
             <div class="info"><div class="name">规格:</div><div>{{cnmpSpec}}</div></div>
-            <div class="info"><div class="name">单位:</div><div>{{cnmpUnit}}</div></div>
             <img v-if="ItemInfo.addProductPerson" class="person-flag" src="/images/mobile/product/personalMaterial.png" alt="">
           </div>
           <div ref="mobileModalBox" class="scrollWrapper">
@@ -62,7 +61,7 @@
                         <div class="text">{{item.packaging || '无包装信息'}}</div>
                       </div>
                       <div class="fr">
-                        <div class="name">库存:</div>
+                        <div class="name">库存(PCS):</div>
                         <div class="text">{{item.reserve}}</div>
                       </div>
                     </div>

+ 1 - 5
pages/mobile/center/vendor/productdetails.vue

@@ -33,11 +33,7 @@
       </div>
       <div class="over list clearfix">
         <div class="pull-left">
-          <span class="name">单位:</span>
-          <span>PCS</span>
-        </div>
-        <div class="pull-right">
-          <span class="name">库存:</span>
+          <span class="name">库存(PCS):</span>
           <input type="tel" placeholder="数量" v-model="chooseItem.reserve" class="input reserveInput" maxlength="9" @blur="blurPrice(chooseItem.reserve)" />
         </div>
       </div>

+ 1 - 1
pages/mobile/user/address.vue

@@ -37,7 +37,7 @@
         return false
       },
       isPersonal () {
-        return true
+        return false
       }
     },
     methods: {

+ 6 - 0
pages/product/brand/brandList/_initial.vue

@@ -10,8 +10,14 @@
   export default {
     name: 'brandCenterIndex',
     layout: 'default',
+    mounted () {
+      if (this.$route.path === '/product/brand/brandList/A') {
+        this.$store.commit('provider/stores/SET_STORETYPE', 'brand')
+      }
+    },
     fetch ({store, route}) {
       return Promise.all([
+        store.commit('provider/stores/SET_STORETYPE', 'factory'),
         store.dispatch('loadFloors'),
         store.dispatch('loadBanners', {type: 'Brand-v3'}),
         store.dispatch('loadBrandCarousel'),

+ 18 - 3
pages/provider/shop.vue

@@ -12,9 +12,12 @@ import { RecommendStore, RecommendStoreShow } from '~components/provider'
 
 export default {
   layout: 'main',
-  fetch ({ store }) {
+  fetch ({ store, route }) {
     return Promise.all([
-      store.commit('provider/stores/SET_STORETYPE', 'factory'),
+      // 计数器
+      store.dispatch('loadCounterData'),
+      store.commit('provider/stores/SET_STORETYPE', 'origin'),
+      // 店铺
       store.dispatch('loadBanners', {type: 'factory_banner_carousel'}),
       store.dispatch('provider/loadSalesStore', { isOriginal: true }),
       store.dispatch('provider/loadNewStores', { types: 'ORIGINAL_FACTORY', size: 5 }),
@@ -23,7 +26,19 @@ export default {
       store.dispatch('provider/loadHotComponents'),
       store.dispatch('provider/loadFactoriesCount'),
       store.dispatch('provider/loadAgencyCount'),
-      store.dispatch('loadStoreStatus', { op: 'check' })
+      store.dispatch('loadStoreStatus', { op: 'check' }),
+      // 供应商
+      store.dispatch('supplier/loadVendorList', {page: 1, size: 10}),
+      store.dispatch('supplier/loadVendorAll', {page: 1, size: 20}),
+      store.dispatch('supplier/loadNewMerchant', {filter: 'page', size: 10}),
+      store.dispatch('supplier/loadRecommend', {size: 19}),
+      // 品牌
+      store.dispatch('loadFloors'),
+      store.dispatch('loadBanners', {type: 'Brand-v3'}),
+      store.dispatch('loadBrandCarousel'),
+      store.dispatch('loadBrandBanner'),
+      store.dispatch('product/loadRecommends'),
+      store.dispatch('product/loadBrandsPager', {'initial': route.params.initial, 'page': 1, 'count': 60, 'keyword': ''})
     ])
   },
   components: {

+ 1 - 3
pages/supplier/index.vue

@@ -2,15 +2,13 @@
   <div class="supplier" style="background: #f2f1f1;padding-top:20px;">
     <div class="container">
       <div class="article">
-        <article-one></article-one>
         <article-two></article-two>
       </div>
       <div class="section">
-        <banner/>
+        <!--<banner/>-->
         <!--<carousel>-->
         <!--<kind-category @loadchild="loadProductKinds"></kind-category>-->
         <!--</carousel>-->
-        <merchant-view/>
       </div>
     </div>
   </div>

+ 10 - 0
store/index.js

@@ -98,6 +98,16 @@ export const actions = {
         commit('option/REQUEST_LOGOUT_SUCCESS', response.data)
       })
   },
+  // 获取商城统计数据
+  loadCounterData ({commit}) {
+    commit('option/REQUEST_COUNTER')
+    return axios.get('/api/product/commoncount')
+      .then(res => {
+        commit('option/REQUEST_COUNTER_SUCCESS', res.data)
+      }, err => {
+        commit('option/REQUEST_COUNTER_FAILURE')
+      })
+  },
   // 获取楼层配置
   loadFloors({ commit }) {
     commit('floor/REQUEST_LIST')

+ 1 - 1
store/mobileAddress.js

@@ -32,7 +32,7 @@ export const actions = {
   // 获取地址数据
   loadAddressData ({ commit }, params = {}) {
     commit('REQUEST_ADDRESS')
-    return axios.get('/trade/address/page', {params})
+    return axios.get('/trade/address/enterprise/address', {params})
       .then(response => {
         commit('REQUEST_ADDRESS_SUCCESS', response.data)
       }, err => {

+ 16 - 0
store/option.js

@@ -18,6 +18,11 @@ export const state = () => ({
     fetching: false,
     data: {}
   },
+  //计数器统计数据
+  counter: {
+    fetching: false,
+    data: {}
+  },
   // 系统设置
   globalOptions: {
     fetching: false,
@@ -71,6 +76,17 @@ export const mutations = {
     state.user.fetching = false
     state.user.data = {}
   },
+  REQUEST_COUNTER (state) {
+    state.counter.fetching = true
+  },
+  REQUEST_COUNTER_SUCCESS (state, result) {
+    state.counter.fetching = false
+    state.counter.data = result || {}
+  },
+  REQUEST_COUNTER_FAILURE (state) {
+    state.counter.fetching = false
+    state.counter.data = {}
+  },
   REQUEST_ADMIN_INFO (state) {
     state.infoWithAdmin.fetching = true
   },

+ 2 - 2
store/userCenter.js

@@ -34,7 +34,7 @@ export const actions = {
   // app获取结算页发票信息
   loadPayInvoice ({ commit }, params = {}) {
     commit('list/REQUEST_INVOICE')
-    return axios.get('/trade/bill/list/personal', {params: params})
+    return axios.get('/trade/bill/list', {params: params})
       .then(response => {
         commit('list/GET_INVOICE_SUCCESS', response.data)
       }, err => {
@@ -64,7 +64,7 @@ export const actions = {
   // // app获取结算页配送规则
   // loadPayFareRule ({ commit }, params = {}) {
   //   commit('list/REQUEST_FARE_RULE')
-  //   return axios.post(`/trade/bill/list/personal?area=${params.area}`, params.storeArr)
+  //   return axios.post(`/trade/bill/list?area=${params.area}`, params.storeArr)
   //     .then(response => {
   //       commit('list/GET_FARE_RULE_SUCCESS', response.data)
   //     }, err => {