Browse Source

Merge remote-tracking branch 'origin/feature-201817-yc' into feature-201817-yc

yangc 7 years ago
parent
commit
519411c4fd

+ 17 - 2
assets/scss/mobileCenter.scss

@@ -28,7 +28,7 @@
     }*/
   }
   .seek-operation {
-    height: 2.09rem;
+    min-height: 2.09rem;
     padding: 0 .24rem;
     > p {
       height: .55rem;
@@ -46,19 +46,34 @@
     ul {
       margin-top: .27rem;
       li {
+        position: relative;
         display: inline-block;
         width: 1.48rem;
         margin-right: 1.05rem;
         text-align: center;
         font-size: .28rem;
+        margin-bottom: 0.2rem;
         color: #666;
-        &:last-child {
+        &:nth-child(3n) {
           margin-right: 0;
         }
         img {
           width: .8rem;
           margin-bottom: .05rem;
         }
+        span.text{
+          position: absolute;
+          font-size: 0.18rem;
+          color: #fff;
+          background: #e60012;
+          width: 0.28rem;
+          height: 0.28rem;
+          border-radius: 50%;
+          top: -0.04rem;
+          right: 0.2rem;
+          line-height: 0.28rem;
+          text-align: center;
+        }
       }
     }
   }

+ 2 - 2
components/brandCenter/BrandIndex.vue

@@ -573,9 +573,9 @@
         background-size: cover;
         padding-bottom: 20px;
         position: relative;
-        height: 1034px;
+        height: 1037px;
         background: #fff;
-        border-bottom: 1px solid #dcdcdc;
+        /*border-bottom: 1px solid #dcdcdc;*/
         border-bottom-left-radius: 5px;
         border-bottom-right-radius: 5px;
         .search-modal-wrap {

+ 5 - 1
components/mobile/common/PullUp.vue

@@ -49,7 +49,11 @@
         if (this.fixId) {
           let obj = document.getElementById(this.fixId)
           height = obj.scrollHeight
-          scrolled = obj.scrollTop - document.body.scrollWidth / 750 * 100 * 0.88
+          let _scrollHeight = 0.88
+          if (this.$route.fullPath.indexOf('order') > -1) {
+            _scrollHeight = 1.26
+          }
+          scrolled = obj.scrollTop - document.body.scrollWidth / 750 * 100 * _scrollHeight
         } else {
           height = document.body.scrollHeight
           scrolled = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop

+ 30 - 26
pages/mobile/center/user/index.vue

@@ -26,33 +26,37 @@
           </li>
         </ul>
       </div>
-      <div class="block-wrap collect-block">
-        <nuxt-link tag="div" to="/mobile/order?type=buyer" class="content-line">
-          <img src="/images/mobile/center/user/order.jpg" alt="">
-          <span>采购订单</span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
-        <nuxt-link tag="div" to="/mobile/center/user/cart" class="content-line">
-          <img src="/images/mobile/center/user/cart.jpg" alt="">
-          <span>购物车<span class="text">({{carCount || 0}})</span></span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
-        <nuxt-link tag="div" to="/mobile/center/user/collect/component" class="content-line">
-          <img src="/images/mobile/center/user/comp-collect.png" alt="">
-          <span>器件收藏<span class="text">({{compCount.data || 0}})</span></span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
-        <nuxt-link tag="div" to="/mobile/center/user/collect/store" class="content-line">
-          <img src="/images/mobile/center/user/store-focus.png" alt="">
-          <span>店铺关注<span class="text">({{storeCount.data || 0}})</span></span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
-        <nuxt-link tag="div" to="/mobile/center/user/collect/message" class="content-line" v-if="user.data.enterprise.uu">
-          <img src="/images/mobile/center/user/message.png" alt="">
-          <span>消息中心<span class="text">({{messageCount.count || 0}})</span></span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
+
+      <div class="block-wrap seek-operation">
+        <p><i></i>更多服务</p>
+        <ul>
+          <nuxt-link tag="li" to="/mobile/order?type=buyer" class="content-line">
+            <img src="/images/mobile/center/user/order.jpg" alt="">
+            <p>采购订单</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/mobile/center/user/cart" class="content-line">
+            <img src="/images/mobile/center/user/cart.jpg" alt="">
+            <p>购物车<span class="text">{{carCount || 0}}</span></p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/mobile/center/user/collect/component" class="content-line">
+            <img src="/images/mobile/center/user/comp-collect.png" alt="">
+            <p>器件收藏<span class="text">{{compCount.data || 0}}</span></p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/mobile/center/user/collect/store" class="content-line">
+            <img src="/images/mobile/center/user/store-focus.png" alt="">
+            <p>店铺关注<span class="text">{{storeCount.data || 0}}</span></p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/" class="content-line">
+            <img src="/images/mobile/center/user/payfor_icon.png" alt="">
+            <p>支付中心</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/mobile/center/user/collect/message" class="content-line" v-if="user.data.enterprise.uu">
+            <img src="/images/mobile/center/user/message.png" alt="">
+            <p>消息中心<span class="text">{{messageCount.count || 0}}</span></p>
+          </nuxt-link>
+        </ul>
       </div>
+
     </div>
     <publish-seek :showSayPriceBox="showPublishBox" @cancelAction="showPublishBox = false" @remindAction="onRemind"></publish-seek>
     <remind-box :title="remindText" :timeoutCount="timeoutCount"></remind-box>

+ 25 - 16
pages/mobile/center/vendor/index.vue

@@ -43,23 +43,32 @@
           </nuxt-link>
         </ul>
       </div>
-      <div class="block-wrap collect-block">
-        <!--<div class="content-line" @click="goStore">
-          <img src="/images/mobile/center/vendor/shop.png" alt="">
-          <span>我的店铺</span>
-          <i class="iconfont icon-xiangyou"></i>
-        </div>-->
-        <nuxt-link tag="div" to="/mobile/order?type=saler" class="content-line">
-          <img src="/images/mobile/center/user/order.jpg" alt="">
-          <span>销售订单</span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
-        <nuxt-link tag="div" to="/mobile/center/vendor/message"  class="content-line" v-if="user.data.enterprise.uu">
-          <img src="/images/mobile/center/user/message.png" alt="">
-          <span>消息中心<span class="text">({{messageCount.count || 0}})</span></span>
-          <i class="iconfont icon-xiangyou"></i>
-        </nuxt-link>
+      <div class="block-wrap seek-operation">
+        <p><i></i>更多服务</p>
+        <ul>
+          <nuxt-link tag="li" to="/mobile/order?type=saler">
+            <img src="/images/mobile/center/user/order.jpg" alt="">
+            <p>销售订单</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/">
+            <img src="/images/mobile/center/user/wuliu_icon.png" alt="">
+            <p>物流管理</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/">
+            <img src="/images/mobile/center/user/finance_icon.png" alt="">
+            <p>财务对账</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/">
+            <img src="/images/mobile/center/user/invoice_icon.png" alt="">
+            <p>发票管理</p>
+          </nuxt-link>
+          <nuxt-link tag="li" to="/mobile/center/vendor/message"  v-if="user.data.enterprise.uu">
+            <img src="/images/mobile/center/user/message.png" alt="">
+            <p>消息中心<span class="text">{{messageCount.count || 0}}</span></p>
+          </nuxt-link>
+        </ul>
       </div>
+
     </div>
     <remind-box :title="remindText" :timeoutCount="timeoutCount"></remind-box>
   </div>

+ 224 - 0
pages/mobile/center/vendor/logistics/distributionSpec.vue

@@ -0,0 +1,224 @@
+<template>
+  <div class="logistics-wrapper">
+    <div class="com-mobile-header">
+      <a @click="goLastPage"><i class="iconfont icon-fanhui"></i></a>
+      <p>物流信息
+      </p>
+    </div>
+    <div class="logistics-content" id="logistics-content">
+      <div class="logistics-nav">
+        <div class="order-nav">
+          <div class="active"><span>配送规则</span></div>
+          <div><span>配送商</span></div>
+          <div><span>自提点</span></div>
+          <div><span>发货地址</span></div>
+        </div>
+      </div>
+      <ul class="distributionSpec_ul">
+        <li v-for="(item, index) in resourceList.content">
+          <div class="clearfix">
+            <div class="pull-left Textoverhiden">
+              <div class="wrapper-line clearfix">
+                <div class="name pull-left">优先级:</div>
+                <div class="name-text pull-left">{{item.num}}</div>
+              </div>
+              <div class="wrapper-line clearfix">
+                <div class="name pull-left">配送方式:</div>
+                <div class="name-text pull-left">
+                  {{item.shippingMethod === 1301 ? '第三方配送' : (item.shippingMethod === 1302 ? '卖家配送': '上门自提')}}
+                </div>
+              </div>
+              <div class="wrapper-line clearfix">
+                <div class="name pull-left">规则名称:</div>
+                <div class="name-text pull-left">{{item.ruleName}}</div>
+              </div>
+            </div>
+            <div class="pull-right">
+              <div class="dropMenu" @click="showDropMenu(index)">{{item.active === 1 ? '已生成' : '暂不生效'}}<i class="iconfont icon-arrow-down"></i></div>
+              <div class="dropList">
+                <div @click="SaveBtn()">暂不生效</div>
+                <div @click="SaveBtn()">生效</div>
+              </div>
+            </div>
+          </div>
+          <div class="item-bottom clearfix">
+            <div class="pull-left w50">
+              <i class="iconfont icon-edit"></i>修改
+            </div>
+            <div class="pull-right w50">
+              <i class="iconfont icon-lajitong"></i>删除
+            </div>
+          </div>
+        </li>
+      </ul>
+    </div>
+
+    <pull-up :fixId="'logistics-content'"
+             :searchMore="isSearchSearchingMore"
+             :allPage="allPage"
+             :page="param.page"
+             @pullUpAction="getMoreSearch"></pull-up>
+  </div>
+</template>
+
+<script type="text/javascript">
+  import { PullUp } from '~components/mobile/common'
+  import axios from '~plugins/axios'
+  export default {
+    name: 'distributionSpec',
+    layout: 'mobile',
+    middleware: 'authenticated',
+    data() {
+      return {
+        showDropMenuIndex: '',
+        param: {
+          count: 10,
+          page: 1,
+          sorting: { 'num': 'asc' }
+        },
+        isSearchSearchingMore: false,
+        resourceList: {}  // 实际渲染网页的资源
+      }
+    },
+    async asyncData({store, commit}) {
+      let { data } = await axios.get(`/trade/distributionRule/page`, {count: 10, page: 1, sorting: { 'num': 'asc' }})
+      return {
+        resourceList: data
+      }
+    },
+    methods: {
+      // 生效按钮事件
+      SaveBtn() {},
+      // 显示下拉按钮
+      showDropMenu(index) {
+        this.showDropMenuIndex = index
+      },
+      // 加载更多
+      getMoreSearch() {}
+    },
+    computed: {
+      allPage() {
+        return this.resourceList.totalElements
+      }
+    },
+    components: {
+      PullUp
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  @mixin overFlowHidden {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  @mixin lineHeight($value) {
+    height: $value;
+    line-height: $value;
+  }
+  @mixin Fixed() {
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    top: 0
+  }
+  .logistics-wrapper {
+    @include Fixed();
+    z-index: 111;
+    background: #f1f3f6;
+    .logistics-content {
+      margin-top: 0.88rem;
+      overflow-y: scroll;
+      height: calc(100vh - 0.88rem)
+    }
+    .order-nav {
+      background: #fff;
+      div {
+        height: 0.82rem;
+        line-height: 0.82rem;
+        display: inline-block;
+        width: 25%;
+        text-align: center;
+        font-size: .28rem;
+        color: #666;
+        &.active span{
+          color: #3f84f6;
+          border-bottom: 0.04rem solid #3f84f6;
+          padding-bottom: 0.2rem;
+        }
+      }
+    }
+    .distributionSpec_ul {
+      li {
+        margin: 0.2rem auto 0;
+        background: #fefefe;
+        width: 7.1rem;
+        height: 2.64rem;
+        padding: 0.3rem 0.24rem 0;
+        border: 1px solid #e4e6e9;
+        border-radius: 5px;
+        .Textoverhiden {
+          @include overFlowHidden();
+          width: 5rem;
+        }
+        .dropMenu {
+          font-size: 0.26rem;
+          color: #666;
+          border: 1px solid #d9d9d9;
+          background: #fff;
+          width: 1.37rem;
+          @include lineHeight(0.46rem);
+          border-radius: 0.46rem;
+          text-align: center;
+          i {
+            font-size: 0.2rem;
+          }
+        }
+        .pull-right {position: relative}
+        .dropList {
+          position: absolute;
+          border: 1px solid #d9d9d9;
+          background: #fff;
+          font-size: 0.26rem;
+          width: 1.37rem;
+          top: 0.46rem;
+          text-align: center;
+          div {
+            @include lineHeight(0.46rem);
+          }
+        }
+        .wrapper-line {
+          margin-bottom: 0.16rem;
+          .name {
+            font-size: 0.28rem;
+            color: rgba(63, 132, 246, 0.9);
+            width: 1.4rem;
+            text-align: right;
+          }
+          .name-text {
+            font-size: 0.28rem;
+            color: #333;
+          }
+        }
+        .item-bottom {
+          color: #333;
+          @include lineHeight(0.8rem);
+          font-size: 0.26rem;
+          text-align: center;
+          border-top: 1px solid #d3d3d3;
+          .pull-left {border-right: 1px solid #d3d3d3;}
+          .pull-left, .pull-right {
+            width: 50%;
+            text-align: center;
+          }
+          i {
+            font-size: 0.34rem;
+            vertical-align: middle;
+          }
+        }
+      }
+    }
+  }
+</style>

+ 402 - 0
pages/mobile/center/vendor/productList/index.vue

@@ -0,0 +1,402 @@
+<template>
+  <div class="product-list-wrapper">
+    <div class="Kuang">
+      <div class="overflow-hidden fixedOver" ref="mobileModalBox">
+        <div class="content">
+          <div class="infob">
+            <div class="info"><div class="name">品牌:</div><div>{{cnmpBand}}</div></div>
+            <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>
+          <div class="content_sq" v-bind:key="item.id" v-for="(item, index) in vendorlist" >
+            <div class="labelBg">
+              <div class="labelinfo" style="margin-left: -0.1rem">
+                <div class="labelicon" style="vertical-align:top;margin-top: 0.09rem">标签</div>
+                <div class="labeltext">{{item.tag}}</div>
+              </div>
+              <div class="middle">
+                <div class="list clearfix" style="height: auto">
+                  <div class="fl">
+                    <div class="name">
+                      <div class="pms">
+                        {{item.storeid === '33069557578d44e69bd91ad12d28a8d4' ? '寄售' : '自营'}}
+                      </div>
+                    </div>
+                    <span @click="update(item)">编辑</span>
+                  </div>
+                  <div class="fr">
+                    <div class="textinfo" v-if="item.breakUp">可拆卖</div>
+                  </div>
+                </div>
+                <div class="list list-long clearfix" style="height: auto">
+                  <div class="fl">
+                    <div class="name">规格:</div>
+                    <div class="text">{{item.spec || '-'}}</div>
+                  </div>
+                </div>
+                <div class="list clearfix" style="height: auto">
+                  <div class="fl">
+                    <div class="name">最小包装数:</div>
+                    <div class="text">{{item.minPackQty}}</div>
+                  </div>
+                  <div class="fr">
+                    <div class="name">交期(天):</div>
+                    <div class="text" v-if="item.b2cMaxDelivery && (item.b2cMaxDelivery != item.b2cMinDelivery)" v-text="item.b2cMinDelivery + '-'+ item.b2cMaxDelivery"></div>
+                    <div class="text" v-if="item.b2cMaxDelivery && (item.b2cMaxDelivery == item.b2cMinDelivery)" v-text="item.b2cMinDelivery"></div>
+                  </div>
+                </div>
+
+                <div class="list clearfix" style="height: auto">
+                  <div class="fl">
+                    <div class="name">包装方式:</div>
+                    <div class="text">{{item.packaging || '无包装信息'}}</div>
+                  </div>
+                  <div class="fr">
+                    <div class="name">库存:</div>
+                    <div class="text">{{item.reserve}}</div>
+                  </div>
+                </div>
+
+                <div class="list clearfix" style="height: auto">
+                  <div class="fl">
+                    <div class="name">生产日期:</div>
+                    <div class="text" :title="item.produceDate">{{item.produceDate || '-'}}</div>
+                  </div>
+                  <div class="fr">
+                    <div class="name">最小起订量:</div>
+                    <div class="text" style="color: #f31919">{{item.minBuyQty}}</div>
+                  </div>
+                </div>
+
+                <div class="list clearfix" style="height: auto">
+                  <div class="name left">价格梯度:</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.rMBPrice}}</div>
+                      </li>
+                    </ul>
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script type="text/javascript">
+  import { PullUp } from '~components/mobile/common'
+  import axios from '~plugins/axios'
+  export default {
+    name: 'productList',
+    layout: 'mobile',
+    middleware: 'authenticated',
+    methods: {
+      closeMoreinfo() {},
+      update(item) {
+        this.$store.commit('product/brand/GET_ONSALE_DETAILS_SUCCESS', item)
+        this.$router.push('/mobile/center/vendor/productdetails')
+      }
+    },
+    async asyncData({route}) {
+     let { data } = await axios.get(`/trade/products/goods/productid/${route.query.uuid}`)
+      return {
+        vendorlist: data
+      }
+    },
+    mounted() {
+      this._initscroll()
+    },
+    data() {
+      return {
+        vendorlist: {}
+      }
+    },
+    components: {
+      PullUp
+    },
+    computed: {
+      cnmpCode() { // 型号
+        return this.vendorlist[0].code || '-'
+      },
+      cnmpType() { // 类目
+        return this.vendorlist[0].kindNameCn || '-'
+      },
+      cnmpBand() { // 品牌
+        return this.vendorlist[0].brandNameEn || '-'
+      },
+      cnmpSpec () {
+        return this.vendorlist[0].spec
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  @mixin overFlowHidden {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
+  @mixin lineHeight($value) {
+    height: $value;
+    line-height: $value;
+  }
+  @mixin Fixed() {
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    right: 0;
+    top: 0
+  }
+  .product-list-wrapper {
+    .fixedOver {
+      position: absolute;
+      top: 1.26rem;
+      bottom: 0.98rem;
+      overflow: hidden;
+      background: #f1f3f6;
+    }
+    i {
+      font-size: .6rem;
+      position: absolute;
+      right: -0.3rem;
+      top: -0.35rem;
+      color: #fff;
+      &::after {
+        position: absolute;
+        top: -0.1rem;
+        left: -0.1rem;
+        right: -0.1rem;
+        bottom: -0.1rem;
+        content: ' '
+      }
+    }
+    .title {
+      background: #3f84f6;
+      height: 0.7rem;
+      line-height: 0.7rem;
+      color: #fff;
+      text-align: center;
+      font-size: 0.3rem;
+      position: relative;
+    }
+    .content {
+      .infob {
+        background: #e3edfd;
+        padding: 0.2rem;
+        .info {
+          color: #333;
+          font-size: 0.3rem;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+          margin-bottom: 0.18rem;
+          .name {
+            color: #666;
+          }
+          div {
+            display: inline-block;
+          }
+        }
+      }
+      .content_sq {
+        margin: 0.1rem auto;
+        background: #fff;
+        padding: 0.2rem 0;
+        .list {
+          margin-bottom: 0.18rem;
+        }
+        .fl {
+          width: 3.2rem;
+        }
+        .table {
+          width: 4.2rem;
+          margin-top: -0.1rem;
+        }
+        .labelinfo {
+          background-image: url('/images/mobile/@2x/labelTop.png');
+          background-repeat: no-repeat;
+          width: 6.29rem;
+          height: 0.64rem;
+          line-height: 0.64rem;
+          background-size: 100%;
+          margin-top: 0rem;
+          margin-right: 0rem;
+          background-color: rgba(0, 0, 0, 0);
+          color: #666;
+        }
+      }
+    }
+    .labelinfo {
+      padding: 0 .24rem;
+      background: #e6e6e6;
+      height: 0.6rem;
+      line-height: 0.6rem;
+      width: 100%;
+      color: #666;
+      font-size: 0.26rem;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      .labelicon {
+        background-image: url('/images/mobile/@2x/label_icon.png');
+        background-repeat: no-repeat;
+        width: 0.61rem;
+        height: 0.38rem;
+        line-height: 0.38rem;
+        background-size: 100%;
+        color: #fff;
+        margin-right: 0.1rem;
+        display: inline-block;
+        font-size: 0.22rem;
+        text-align: center;
+        /*vertical-align: middle;*/
+      }
+      .labeltext{
+        display: inline-block;
+        /*vertical-align: middle;*/
+      }
+    }
+    .label-text {
+      padding: .09rem .21rem;
+      border-radius: .22rem;
+      background: #ddd;
+      font-size: .26rem;
+      color: #666;
+      display: inline-block;
+      margin-left: .22rem;
+      margin-bottom: .25rem;
+    }
+    .middle {
+      padding: 0.24rem 0.24rem 0px;
+      background: #fff;
+      .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 {
+        /*height: 0.46rem;*/
+        .left {
+          float: left;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+        }
+        .textinfo {
+          color: #0067e7;
+          font-size: 0.3rem;
+        }
+        .button {
+          font-size: 0.26rem;
+          color: #fff;
+          width: 0.92rem;
+          text-align: center;
+          border-radius: 5px;
+          /*border:1px solid #1a58dd;*/
+          background: #1a58dd;
+          display: inline-block;
+          margin-right: 0.2rem;
+          line-height: 0.33rem;
+          height: 0.37rem;
+        }
+        margin-bottom: 0.18rem;
+        &::after{
+          clear: both;
+          display: block;
+          content: ' ';
+          visibility: hidden;
+          zoom: 1;
+        }
+        .fl {
+          width: 4.3rem;
+          float: left;
+          overflow: hidden;
+          text-overflow: ellipsis;
+          white-space: nowrap;
+        }
+        .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.3rem;
+          display: inline-block;
+        }
+        .text {
+          display: inline-block;
+          color: #333;
+          font-size: 0.3rem
+        }
+        .table {
+          width: 5.5rem;
+          margin-bottom: 0;
+          margin-top: 0;
+          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: #666;
+              font-size: 0.28rem;
+            }
+            &:nth-child(even) {
+              background: #fcfcfc;
+              color: #666;
+              font-size: 0.28rem;
+            }
+            &:nth-last-of-type(1){
+              color: #f31919;
+            }
+            &.title {
+              font-size: 0.28rem;
+              color: #333;
+            }
+          }
+        }
+      }
+    }
+  }
+</style>

+ 8 - 2
pages/mobile/center/vendor/productdetails.vue

@@ -480,10 +480,15 @@
 </script>
 
 <style lang="scss" scoped>
+  @mixin overFlowHidden {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+  }
   .productDetails {
     background: #fff;
-    margin: .2rem 0.2rem 0;
-    padding: 0.9rem 0 0.5rem 0;
+    margin: 1.26rem 0.2rem 0;
+    padding: 0 0 0.5rem 0;
     .product {
       /*background: #fff;*/
       /*margin: .2rem 0.2rem 0;*/
@@ -535,6 +540,7 @@
         }
         .pull-left {
           width: 50%;
+          @include overFlowHidden()
         }
         .progress-wrapper {
           width: .68rem;

+ 13 - 4
pages/mobile/order/details.vue

@@ -246,7 +246,7 @@
           <template v-if="vendorType === 'buyer'">
             <div class="sendGoods" v-if="orderList.status === 404" @click="buyerGetGoods(orderList)">确认收货</div>
             <div class="sendGoods" v-if="!orderList.installmentId && (orderList.status === 503 || orderList.status === 501)" @click="gotoPay(orderList)">立即付款</div>
-            <div class="sendGoods" @click="onMind('此订单为分期付款,请前往【PC】端进行相关操作')" v-if="orderList.installmentId && (orderList.status === 503 || orderList.status === 504 || orderList.status === 524 ) && orderList.installment.status !== 505 && !orderList.againUpload">确认付款</div>
+            <div class="sendGoods" @click="onMind('此订单为分期付款,请前往【PC】端进行相关操作')" v-if="orderList.installmentId && (orderList.status === 503 || orderList.status === 504 || orderList.status === 524 ) && orderList.installment.status !== 505 && !orderList.againUpload">立即付款</div>
             <div class="" @click="onMind('此订单为分期付款,请前往【PC】端进行相关操作')" v-if="orderList.installmentId && (orderList.status === 503 || orderList.status === 504 || orderList.status === 524 ) && orderList.installment.status !== 505 && orderList.againUpload">重新上传</div>
             <div class="" @click="cancelOrder(orderList)" v-if="orderList.status === 503 || orderList.status === 501 || orderList.status === 502">取消订单</div>
             <div @click="paidTime(orderList)" class="" v-if="_getHoursFromNow(orderList.paytime) > sellsendGoodsTime - 1 && orderList.status !== 404 ">提醒发货</div>
@@ -727,6 +727,8 @@
             if (returnResult.status === 505 || returnResult.status === 406 || returnResult.status === 407 || returnResult.status === 403 || returnResult.status === 408) {
               this.onMind('提醒成功')
               location.reload()
+            } else {
+              this.onMind('提醒发货失败:' + returnResult.message)
             }
           })
         },
@@ -889,7 +891,7 @@
   .order-wrapper {
     background: #f1f3f6;
     margin: 1.26rem 0 0.98rem 0;
-    height: calc(100vh - 0.88rem - 0.96rem);
+    height: calc(100vh - 1.26rem - 0.98rem);
     overflow-y: scroll;
     .order-details-wrap {
       .order-details-top {
@@ -1148,7 +1150,7 @@
         font-size: 0.24rem;
         color: #999;
         padding: 0.2rem 0;
-        margin-bottom: 0.3rem;
+        margin-bottom: 0.8rem;
        .clearfix.moreinfoList {
          padding: 0 0.2rem;
          /*border-bottom: 1px solid #e4e4e4;*/
@@ -1168,6 +1170,13 @@
           padding: 0 0.2rem;
         }
         .list-btn {
+          position: fixed;
+          bottom: 0.98rem;
+          width: 100%;
+          left: 0;
+          background: #fff;
+          height: 0.8rem;
+          border-top: 1px solid #dcdcdc;
           div {
             float: right;
             width: 1.5rem;
@@ -1177,7 +1186,7 @@
             border-radius: 3px;
             text-align: center;
             font-size: 0.26rem;
-            margin-top: 0.2rem;
+            margin-top: 0.15rem;
             margin-right: 0.2rem;
           }
         }

+ 14 - 8
pages/mobile/order/index.vue

@@ -1,12 +1,12 @@
 <template>
-  <div class="order-wrapper" id="order-wrapper">
+  <div class="order-wrapper">
     <div class="order-nav">
       <div :class="activeType === '' ? 'active': ''" @click="ChangeList('')"><span>全部</span></div>
       <div :class="activeType === 'tobeconfirmed' ? 'active' : ''" @click="ChangeList('tobeconfirmed')"><span>待付款</span></div>
       <div :class="activeType === 'comfirmed' ? 'active' : ''" @click="ChangeList('comfirmed')"><span>待发货</span></div>
       <div :class="activeType === 'inbound' ? 'active' : ''" @click="ChangeList('inbound')"><span>待收货</span></div>
     </div>
-    <ul class="order-list-wrap">
+    <ul class="order-list-wrap"  id="order-wrapper">
       <li class="clearfix" v-for="item in orderList">
         <div class="list-wrap-title clearfix">
           <div class="pull-left" v-if="vendorType !== 'buyer'" @click="toShopdetails(item)">
@@ -87,14 +87,14 @@
         <div class="list-btn clearfix">
           <template v-if="vendorType === 'buyer'">
             <div class="pull-right sendGoods" v-if="item.status === 404" @click="buyerGetGoods(item)">确认收货</div>
-            <div class="pull-right sendGoods" v-if="!item.installmentId && (item.status === 503 || item.status === 501)" @click="gotoPay(item)">确认付款</div>
+            <div class="pull-right sendGoods" v-if="!item.installmentId && (item.status === 503 || item.status === 501)" @click="gotoPay(item)">立即付款</div>
             <div class="pull-right" @click="lookOrderDetail(item)">订单详情</div>
             <div class="pull-right sendGoods" @click="onMind('此订单为分期付款,请前往【PC】端进行相关操作')" v-if="item.installmentId && (item.status === 503 || item.status === 504 || item.status === 524 ) && item.installment.status !== 505 && !item.againUpload">立即付款</div>
             <div class="pull-right" @click="onMind('此订单为分期付款,请前往【PC】端进行相关操作')" v-if="item.installmentId && (item.status === 503 || item.status === 504 || item.status === 524 ) && item.installment.status !== 505 && item.againUpload">重新上传</div>
             <div class="pull-right" @click="cancelOrder(item)" v-if="item.status === 503 || item.status === 501 || item.status === 502">取消订单</div>
             <div class="pull-right" @click="deleteOrder(item)" v-if="item.status === 602 || item.status === 603 || item.status === 315 || item.status === 604 || item.status === 605 || item.status === 606">
               删除订单</div>
-            <div @click="paidTime(item)" class="pull-right" v-if="_getHoursFromNow(item.paytime) > sellsendGoodsTime - 1 && item.status !== 404">提醒发货</div>
+            <div @click="paidTime(item)" class="pull-right" v-if="_getHoursFromNow(item.paytime) > sellsendGoodsTime - 1 && item.status !== 404 && item.status !== 524">提醒发货</div>
             <div @click="lookLogisticsInfo(item)" class="pull-right" v-if="item.status === 404 || item.status === 520 || item.status === 405 || item.status === 521">查看物流</div>
             <div class="pull-right cancat" @click="cancatAlert(item)">
               <i class="iconfont icon-kefu1"></i>联系卖家
@@ -403,6 +403,7 @@
           status = '404'
         }
         this.$status = status
+        this.orderList = []
         this.$store.dispatch('order/getBuyerOrderList', {
           count: 5,
           page: 1,
@@ -425,6 +426,7 @@
         this.peisongShowName = ''
         this.sendGoodsInfo.kuaidinumber = ''
         this.$status = status
+        this.orderList = []
         this.$store.dispatch('order/getSellOrderList', {
           count: 5,
           page: 1,
@@ -625,6 +627,8 @@
           if (returnResult.status === 505 || returnResult.status === 406 || returnResult.status === 407 || returnResult.status === 403 || returnResult.status === 408) {
             this.onMind('提醒成功')
             this.ChangeList(this.activeType)
+          } else {
+            this.onMind('提醒发货失败:' + returnResult.message)
           }
         })
       },
@@ -758,8 +762,8 @@
             _obj[i].purchaseDetails = _obj[i].orderDetails
           }
           if (_obj[i].status === 505 || _obj[i].status === 406 || _obj[i].status === 407 || _obj[i].status === 403 || _obj[i].status === 408) {
-            _obj[i].paidTimeFromNow = this._getHoursFromNow(_obj[i].paytime)
-            _obj[i].lastNotiDelivery = this._getHoursFromNow(_obj[i].lastNotifyDeliveryTime)
+            // _obj[i].paidTimeFromNow = this._getHoursFromNow(_obj[i].paytime)
+            // _obj[i].lastNotiDelivery = this._getHoursFromNow(_obj[i].lastNotifyDeliveryTime)
           }
         }
         return _obj
@@ -772,6 +776,7 @@
         let newTime = new Date()
         let msec = newTime.getTime() - time
         let hours = parseInt(parseInt(msec) / (1000 * 60 * 60))
+        console.log(hours)
         return hours
       },
       onMind(str) {
@@ -828,8 +833,7 @@
 .order-wrapper {
   background: #f1f3f6;
   margin: 1.26rem 0 0.98rem 0;
-  height: calc(100vh - 0.88rem - 0.96rem);
-  overflow-y: scroll;
+  height: calc(100vh - 1.26rem - 0.98rem);
   /*padding-bottom: 0.96rem;*/
   .order-nav {
     background: #fff;
@@ -849,6 +853,8 @@
     }
   }
   .order-list-wrap {
+    height: calc(100vh - 1.26rem - 0.96rem - 0.84rem);
+    overflow-y: scroll;
     li {
       margin-top: 0.2rem;
     }

BIN
static/images/mobile/center/user/finance_icon.png


BIN
static/images/mobile/center/user/invoice_icon.png


BIN
static/images/mobile/center/user/payfor_icon.png


BIN
static/images/mobile/center/user/wuliu_icon.png