文杰 2 месяцев назад
Родитель
Сommit
bb57b93267
86 измененных файлов с 878 добавлено и 4664 удалено
  1. 0 7
      app.json
  2. 0 72
      components/coupon/coupon.js
  3. 0 4
      components/coupon/coupon.json
  4. 0 30
      components/coupon/coupon.wxml
  5. 0 118
      components/coupon/coupon.wxss
  6. 0 34
      components/loginPopup/loginPopup.js
  7. 0 4
      components/loginPopup/loginPopup.json
  8. 0 11
      components/loginPopup/loginPopup.wxml
  9. 0 54
      components/loginPopup/loginPopup.wxss
  10. BIN
      images/icon/coupon-banner.png
  11. BIN
      images/icon/coupon-bg.png
  12. BIN
      images/icon/coupon-ot.png
  13. BIN
      images/icon/coupon-received.png
  14. BIN
      images/icon/coupon-robbed.png
  15. BIN
      images/icon/coupon-used.png
  16. BIN
      images/icon/enough.png
  17. BIN
      images/icon/erweima.png
  18. BIN
      images/icon/flash-banner.png
  19. BIN
      images/icon/flash-bg.png
  20. BIN
      images/icon/group-banner.png
  21. BIN
      images/icon/menu-01.png
  22. BIN
      images/icon/menu-02.png
  23. BIN
      images/icon/menu-03.png
  24. BIN
      images/icon/menu-04.png
  25. BIN
      images/icon/miaosha.png
  26. BIN
      images/icon/spell-group-order.png
  27. BIN
      images/icon/thumb (1).png
  28. BIN
      images/icon/tuiguang01.png
  29. BIN
      images/icon/tuiguang02.png
  30. BIN
      images/icon/tuiguang03.png
  31. BIN
      images/icon/tuijian.png
  32. 1 3
      packageMemberIntegral/pages/convertProdDet/convertProdDet.json
  33. 0 1
      packageMemberIntegral/pages/convertProdDet/convertProdDet.wxml
  34. 0 1
      packageMemberIntegral/pages/integralSubmitOrder/integralSubmitOrder.json
  35. 39 1
      pages/basket/basket.js
  36. 14 3
      pages/basket/basket.wxml
  37. 66 8
      pages/basket/basket.wxss
  38. 3 1
      pages/category/category.js
  39. 115 11
      pages/category1/category.js
  40. 20 7
      pages/category1/category.wxml
  41. 51 0
      pages/category1/category.wxss
  42. 0 209
      pages/couponCenter/couponCenter.js
  43. 0 6
      pages/couponCenter/couponCenter.json
  44. 0 127
      pages/couponCenter/couponCenter.wxml
  45. 0 710
      pages/couponCenter/couponCenter.wxss
  46. 0 159
      pages/dis-center/dis-center.js
  47. 0 4
      pages/dis-center/dis-center.json
  48. 0 128
      pages/dis-center/dis-center.wxml
  49. 0 306
      pages/dis-center/dis-center.wxss
  50. 2 1
      pages/index/index.js
  51. 16 1
      pages/login/login.js
  52. 3 0
      pages/order-detail/order-detail.js
  53. 5 3
      pages/order-detail/order-detail.wxml
  54. 5 0
      pages/order-detail/order-detail.wxss
  55. 139 5
      pages/prod/prod.js
  56. 1 3
      pages/prod/prod.json
  57. 115 10
      pages/prod/prod.wxml
  58. 225 2
      pages/prod/prod.wxss
  59. 16 16
      pages/search-page/search-page.js
  60. 2 2
      pages/search-page/search-page.wxml
  61. 1 0
      pages/search-prod-show/search-prod-show.js
  62. 3 1
      pages/shopCategory/shopCategory.js
  63. 0 66
      pages/shopCollect/shopCollect.js
  64. 0 4
      pages/shopCollect/shopCollect.json
  65. 0 36
      pages/shopCollect/shopCollect.wxml
  66. 0 103
      pages/shopCollect/shopCollect.wxss
  67. 1 0
      pages/shopPage/shopPage.js
  68. 1 0
      pages/shopProds/shopProds.js
  69. 1 0
      pages/shopSearchResult/shopSearchResult.js
  70. 0 1
      pages/snapUpDetail/snapUpDetail.json
  71. 1 2
      pages/snapUpDetail/snapUpDetail.wxml
  72. 0 194
      pages/snapUpList/snapUpList.js
  73. 0 7
      pages/snapUpList/snapUpList.json
  74. 0 75
      pages/snapUpList/snapUpList.wxml
  75. 0 206
      pages/snapUpList/snapUpList.wxss
  76. 0 511
      pages/spellGoodsDetails/spellGoodsDetails.js
  77. 0 7
      pages/spellGoodsDetails/spellGoodsDetails.json
  78. 0 333
      pages/spellGoodsDetails/spellGoodsDetails.wxml
  79. 0 1004
      pages/spellGoodsDetails/spellGoodsDetails.wxss
  80. 0 1
      pages/submit-order/submit-order.json
  81. 1 0
      pages/user/user.js
  82. 0 1
      pages/user/user.json
  83. 28 16
      pages/writeReturnLogistics/writeReturnLogistics.js
  84. 1 32
      project.config.json
  85. 1 1
      project.private.config.json
  86. 1 1
      utils/config.js

+ 0 - 7
app.json

@@ -4,7 +4,6 @@
     "pages/logs/logs",
     "pages/user/user",
     "pages/basket/basket",
-    "pages/myCoupon/myCoupon",
     "pages/category/category",
     "pages/category1/category",
     "pages/search-page/search-page",
@@ -18,10 +17,8 @@
     "pages/search-prod-show/search-prod-show",
     "pages/prod/prod",
     "pages/login/login",
-    "pages/couponCenter/couponCenter",
     "pages/recent-news/recent-news",
     "pages/news-detail/news-detail",
-    "pages/dis-center/dis-center",
     "pages/my-users/my-users",
     "pages/income-details/income-details",
     "pages/take-notes/take-notes",
@@ -32,17 +29,13 @@
     "pages/withdrawal/withdrawal",
     "pages/claimer/claimer",
     "pages/confirmOrder/confirmOrder",
-    "pages/snapUpList/snapUpList",
-    "pages/snapUpDetail/snapUpDetail",
     "pages/prodComm/prodComm",
-    "pages/spellGoodsDetails/spellGoodsDetails",
     "pages/applyRefund/applyRefund",
     "pages/afterSales/afterSales",
     "pages/DetailsOfRefund/DetailsOfRefund",
     "pages/chooseRefundWay/chooseRefundWay",
     "pages/writeReturnLogistics/writeReturnLogistics",
     "pages/groupConfirmOrder/groupConfirmOrder",
-    "pages/shopCollect/shopCollect",
     "pages/openAShop/openAShop",
     "pages/accountSettings/accountSettings",
     "pages/shopPage/shopPage",

+ 0 - 72
components/coupon/coupon.js

@@ -1,72 +0,0 @@
-var http = require('../../utils/http.js');
-var util = require('../../utils/util.js');
-
-Component({
-  /**
-   * 组件的属性列表
-   */
-  properties: {
-    item: Object,
-    type: Number,
-    order: Boolean,
-    canUse: Boolean,
-    index: Number,
-    showTimeType: Number
-  },
-
-  /**
-   * 组件的初始数据
-   */
-  data: {
-    stsType: 4
-
-  },
-  // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
-  attached: function() {
-    //console.log(this.data.item);
-  },
-  /**
-   * 组件的方法列表
-   */
-  methods: {
-    receiveCoupon() {
-      util.checkAuthInfo(()=>{
-        var couponId = this.data.item.couponId;
-        http.request({
-          url: "/p/myCoupon/receive",
-          method: "POST",
-          data: couponId,
-          callBack: () => {
-            var coupon = this.data.item;
-            coupon.canReceive = false;
-            this.setData({
-              item: coupon
-            })
-          }
-        })
-      })
-    },
-    checkCoupon(e) {
-      this.data.item.choose = !this.data.item.choose
-      this.triggerEvent('checkCoupon', {
-        couponId: e.currentTarget.dataset.couponid,
-        index: this.data.index
-      });
-    },
-    /**
-     * 立即使用
-     */
-    useCoupon() {
-      var url = '/pages/prod-classify/prod-classify?sts=' + this.data.stsType;
-      var id = this.data.item.couponId;
-      var title = "优惠券活动商品";
-      if (id) {
-        url += "&tagid=" + id + "&title=" + title;
-      }
-      wx.navigateTo({
-        url: url
-      })
-
-    }
-  }
-})

+ 0 - 4
components/coupon/coupon.json

@@ -1,4 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {}
-}

+ 0 - 30
components/coupon/coupon.wxml

@@ -1,30 +0,0 @@
-<view class="coupon-item {{canUse?'':'gray'}}">
-  <view class='left'>
-    <view class="num" wx:if="{{item.couponType == 1 || item.couponType == 3}}">
-      ¥
-      <text class="coupon-price">{{item.reduceAmount}}</text>
-    </view>
-    <view class="num" wx:if="{{item.couponType == 2}}">
-      <text class="coupon-price">{{item.couponDiscount}}</text>折
-    </view>
-    <view class='condition'>
-      满{{item.cashCondition}}元可用
-    </view>
-  </view>
-  <view class='right'>
-    <view class="c-des">
-      <text class="c-type">{{item.suitableProdType==0?'通用':'商品'}}</text> {{item.suitableProdType==0?'全场通用':'指定商品可用'}}
-    </view>
-    <view class="c-date">
-      <text wx:if="{{showTimeType==1 && item.validTimeType==2}}" class="c-data-info">领券{{item.validDays}}天后失效</text>
-      <text wx:else class="c-data-info">{{item.startTime}}~{{item.endTime}}</text>
-      <text class="c-btn" wx:if="{{item.canReceive && !order}}" bindtap='receiveCoupon'>立即领取</text>
-      <text class="c-btn get-btn" wx:if="{{!item.canReceive && !order}}" bindtap='useCoupon'>立即使用</text>
-    </view>
-    <view wx:if="{{order && canUse}}" class="sel-btn">
-      <checkbox color="#eb2444" data-couponid="{{item.couponId}}" checked="{{item.choose}}" bindtap="checkCoupon"></checkbox>
-    </view>
-  </view>
-  <image class="tag-img" src="../../images/icon/coupon-used.png" wx:if="{{type==1}}"></image>
-  <image class="tag-img" src="../../images/icon/coupon-ot.png" wx:if="{{type==2}}"></image>
-</view>

+ 0 - 118
components/coupon/coupon.wxss

@@ -1,118 +0,0 @@
-.coupon-item{
-    margin: 15px 0;
-    position: relative;
-    box-shadow: 1px 1px 3px rgba(0,0,0,0.15);
-    height: 95px;
-    background: #fff;
-}
-.coupon-item .left{
-      float: left;
-    color: #fff;
-    text-align: center;
-    border-left: 1px dashed #fff;
-    padding: 20px 0;
-    background: -webkit-gradient(linear,left top,right top,from(#F45C43),to(#eb2444));
-    background: -o-linear-gradient(left,#F45C43,#eb2444);
-    background: linear-gradient(left,#F45C43,#eb2444);
-    background: -webkit-linear-gradient(left,#F45C43,#eb2444);
-    width: 260rpx;
-    height: 55px;
-}
-.coupon-item .left .num{
-  font-weight:600;
-  font-size:36rpx;
-  height:70rpx;
-  line-height:70rpx;
-  font-family:arial;
-}
-.coupon-item .left .num .coupon-price{
-      font-size: 72rpx;
-    line-height: 72rpx;
-        display: inline-block;
-    font-family: arial;
-}
-.coupon-item .left .condition{
-    font-size: 28rpx;
-    line-height: 28rpx;
-    display: block;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-    padding: 0 2px;
-    font-family: arial;
-}
-.coupon-item .right{
-  margin-left: 280rpx;
-    padding: 5px;
-    position: relative;
-}
-.coupon-item .right .c-des{
-  height: 30px;
-    font-size: 26rpx;
-    line-height: 30px;
-    overflow: hidden;
-    font-weight: 600;
-}
-.coupon-item .right .c-des .c-type{
-  font-size: 24rpx;
-    background: #fdf0f0;
-    color: #e43130;
-    border-radius: 8px;
-    padding:3px 10px;
-}
-.coupon-item .right .c-date{
-  font-size: 24rpx;
-  margin-top:25px;
-}
-.coupon-item .right .c-date .c-data-info{
-  font-family: arial;
-}
-.coupon-item .right .c-date .c-btn{
-    position: absolute;
-    bottom:0;
-    right:10px;
-    color: #fff;
-    font-size: 24rpx;
-    font-family: arial;
-    border-radius: 14px;
-    padding:3px 7px;
-    /* background: -webkit-gradient(linear,left top,right top,from(#6c96da),to(#6b83d7));
-    background: -o-linear-gradient(left,#6c96da,#6b83d7);
-    background: linear-gradient(left,#6c96da,#6b83d7);
-    background: -webkit-linear-gradient(left,#6c96da,#6b83d7); */
-    background: #e43130;
-    border: 1px solid #e43130;
-}
-
-.coupon-item .right .c-date .c-btn.get-btn{
-  background: #fff;
-  border: 1px solid #e43130;
-  color:#e43130;
-}
-
-.coupon-item.gray .left{
-  background: #bbb;
-}
-
-.coupon-item.gray .right .c-des .c-type{
-  background: #bbb;
-    color: #fff;
-}
-
-.coupon-item.gray .right .c-date .c-btn{
-  display: none;
-}
-
-.coupon-item .tag-img{
-  position: absolute;
-  top:0;
-  right:0;
-  width:120rpx;
-  height:120rpx;
-}
-
-.coupon-item .sel-btn{
-  position:absolute;
-  right:10px;
-  top:35px;
-}

+ 0 - 34
components/loginPopup/loginPopup.js

@@ -1,34 +0,0 @@
-var http = require("../../utils/http.js");
-Component({
-  /**
-   * 组件的属性列表
-   */
-  properties: {
-    isAuthInfo:Boolean
-  },
-
-  /**
-   * 组件的初始数据
-   */
-  data: {
-
-  },
-
-  /**
-   * 组件的方法列表
-   */
-  methods: {
-    /**
-      * 获取用户信息
-      */
-    onGetUserInfo: function (e) {
-      this.triggerEvent('onGotUserInfo',e.detail);
-    },
-
-    hidePopup:function(){
-      this.setData({
-        isAuthInfo:true
-      });
-    }
-  }
-})

+ 0 - 4
components/loginPopup/loginPopup.json

@@ -1,4 +0,0 @@
-{
-  "component": true,
-  "usingComponents": {}
-}

+ 0 - 11
components/loginPopup/loginPopup.wxml

@@ -1,11 +0,0 @@
-<!-- 提示登录弹框 -->
-<view class="login-popup" wx:if="{{!isAuthInfo}}">
-  <view class="log-pop-main">
-    <view class="log-pop-tit">欢迎来到星闪豹</view>
-    <view class="log-pop-msg">请授权登录,获得完整购物体验</view>
-    <view class="log-pop-btns">
-      <button class="log-pop-no" bindtap="hidePopup">取消</button>
-      <button class="log-pop-ok"  open-type="getUserInfo" lang = "zh_CN" bindgetuserinfo = "onGetUserInfo">确定</button>
-    </view>
-  </view>
-</view>

+ 0 - 54
components/loginPopup/loginPopup.wxss

@@ -1,54 +0,0 @@
-/* components/loginPopup/loginPopup.wxss */
-.login-popup{
-  background: rgba(0, 0, 0, 0.5);
-  width:100%;
-  height:100%;
-  position: fixed;
-  top:0;
-  left:0;
-  z-index: 1000;
-}
-.log-pop-main{
-  position: absolute;
-  background: #fff;
-  bottom:50rpx;
-  width:570rpx;
-  height:200rpx;
-  left:50rpx;
-  right:0;
-  padding:40rpx;
-  padding-top:20rpx;
-  border-radius: 10rpx;
-}
-.log-pop-tit{
-  font-size: 34rpx;
-  font-weight: bold;
-  height:80rpx;
-  line-height: 80rpx;
-}
-.log-pop-msg {
-  font-size: 28rpx;
-  height:60rpx;
-  line-height: 60rpx;
-}
-.log-pop-btns{
-  display: flex;
-  height:90rpx;
-  line-height: 90rpx;
-}
-
-.log-pop-btns button{
-  background: #fff;
-  font-size: 30rpx;
-  height:90rpx;
-  line-height: 90rpx;
-}
-.log-pop-btns button::after{
-  border:0;
-}
-.log-pop-no{
-  color:#999;
-}
-.log-pop-ok{
-  color:red;
-}

BIN
images/icon/coupon-banner.png


BIN
images/icon/coupon-bg.png


BIN
images/icon/coupon-ot.png


BIN
images/icon/coupon-received.png


BIN
images/icon/coupon-robbed.png


BIN
images/icon/coupon-used.png


BIN
images/icon/enough.png


BIN
images/icon/erweima.png


BIN
images/icon/flash-banner.png


BIN
images/icon/flash-bg.png


BIN
images/icon/group-banner.png


BIN
images/icon/menu-01.png


BIN
images/icon/menu-02.png


BIN
images/icon/menu-03.png


BIN
images/icon/menu-04.png


BIN
images/icon/miaosha.png


BIN
images/icon/spell-group-order.png


BIN
images/icon/thumb (1).png


BIN
images/icon/tuiguang01.png


BIN
images/icon/tuiguang02.png


BIN
images/icon/tuiguang03.png


BIN
images/icon/tuijian.png


+ 1 - 3
packageMemberIntegral/pages/convertProdDet/convertProdDet.json

@@ -1,8 +1,6 @@
 {
   "usingComponents": {
-    "coupon": "/components/coupon/coupon",
-    "comm-star": "/components/commStar/commStar",
-    "login-popup": "/components/loginPopup/loginPopup"
+    "comm-star": "/components/commStar/commStar"
   },
   "navigationBarTitleText": "积分兑换商品详情"
 }

+ 0 - 1
packageMemberIntegral/pages/convertProdDet/convertProdDet.wxml

@@ -112,4 +112,3 @@
 
 <wxs module="wxs" src="../../../wxs/number.wxs" />
 
-<!-- <login-popup bind:onGotUserInfo="onGotUserInfo" isAuthInfo="{{isAuthInfo}}"></login-popup> -->

+ 0 - 1
packageMemberIntegral/pages/integralSubmitOrder/integralSubmitOrder.json

@@ -1,6 +1,5 @@
 {
   "usingComponents": {
-    "coupon": "/components/coupon/coupon"
   },
   "backgroundTextStyle": "light",
   "navigationBarTitleText": "积分商品提交订单"

+ 39 - 1
pages/basket/basket.js

@@ -198,7 +198,9 @@ Page({
       for (var i = 0; i < shopCartItemDiscounts.length; i++) {
         var cItems = shopCartItemDiscounts[i].shopCartItems;
         for (var j = 0; j < cItems.length; j++) {
-          cItems[j].checked = allChecked;
+          if(cItems[j].isDelete == 0){
+            cItems[j].checked = allChecked;
+          }
         }
       }
 
@@ -381,6 +383,12 @@ Page({
         platform:1
       },
       callBack: function (res) {
+        if(res.code == 500){
+          return wx.showToast({
+            title:res.msg,
+            icon:'none'
+          })
+        }
         shopCartItemDiscounts[scindex].shopCartItems[index].prodCount += prodCount;
         ths.setData({
           shopCartOrders: shopCartOrders
@@ -395,6 +403,36 @@ Page({
     };
     http.request(params);
   },
+  /**
+   * 删除购物车单个商品
+   */
+  onDelProd: function (e) {
+    var ths = this;
+    let basketId = e.currentTarget.dataset.basketid
+      wx.showModal({
+        title: '',
+        content: '确认要删除选中的商品吗?',
+        confirmColor: "#eb2444",
+        success(res) {
+          if (res.confirm) {
+            wx.showLoading({
+              mask: true
+            });
+            var params = {
+              url: "/p/shopCart/deleteItem",
+              method: "DELETE",
+              data: [basketId],
+              callBack: function (res) {
+                wx.hideLoading();
+                ths.onShow();
+              }
+            };
+            http.request(params);
+          }
+        }
+      })
+
+  },
 
   /**
    * 删除购物车商品

+ 14 - 3
pages/basket/basket.wxml

@@ -29,6 +29,7 @@
 						<!-- 商品item -->
 						<block wx:for="{{item.shopCartItems}}" wx:key='index' wx:for-item="prod">
 							<view class="goods-item">
+              <view class="disable" wx:if="{{prod.isDelete == 1}}"></view>
 								<!-- 商品信息 -->
 								<view class='item'>
 									<view class="btn">
@@ -37,9 +38,15 @@
 										</label>
 									</view>
 									<view class='prodinfo'>
-										<view class="pic" bindtap="toProdPage" data-prodid="{{prod.prodId}}">
+                    <view class="pic-box">
+                      <image class="pic" src="{{prod.pic}}" mode="" bindtap="toProdPage" data-prodid="{{prod.prodId}}" />
+                      <view class="sell-out" wx:if="{{prod.stock == 0}}">
+                        <view class="sell-out-text">已售罄</view>
+                      </view>
+                    </view>
+										<!-- <view class="pic" bindtap="toProdPage" data-prodid="{{prod.prodId}}">
 											<image src='{{prod.pic}}' />
-										</view>
+										</view> -->
 										<view class="opt">
 											<view class='prod-name'>{{prod.prodName}}</view>
 											<view class="prod-center-row">
@@ -49,7 +56,7 @@
 												</view>
 												<view class='prod-info-text {{prod.skuName?"":"empty-n"}}' wx:if="{{prod.skuName}}">{{prod.skuName}}</view>
 											</view>
-											<view class='price-count'>
+											<view class='price-count' wx:if="{{prod.isDelete == 0}}">
 												<view class='price'>
 													<text class=''>¥</text>
 													<text class=''>{{wxs.parsePrice(prod.price)[0]}}</text>
@@ -61,6 +68,10 @@
                           <image bindtap='onCountPlus' class="btn" data-topindex="{{topIndex}}" data-scindex="{{scIndex}}" data-index="{{index}}" src="/images/icon/add.png" mode=""/>
 												</view>
 											</view>
+                      <view class="del-box" wx:else>
+                          <view class="del-label">商品已被删除</view>
+                          <view class="del-btn" bindtap='onDelProd' data-basketid="{{prod.basketId}}">删除</view>
+                      </view>
 										</view>
 									</view>
 								</view>

+ 66 - 8
pages/basket/basket.wxss

@@ -111,6 +111,16 @@ page {
 .shop-item .prod-block .goods-item {
   position: relative;
 }
+.shop-item .prod-block .goods-item .disable{
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  background: rgba(255,255,255,0.6);
+  border-radius: 16rpx 16rpx 16rpx 16rpx;
+  z-index: 4;
+}
 
 .shop-item .prod-block.discount .goods-item::after{
   position: absolute;
@@ -144,20 +154,42 @@ page {
   margin-left: 10rpx;
 }
 
-.shop-item .prod-block .item .prodinfo .pic {
-  text-align: center;
+.shop-item .prod-block .item .prodinfo .pic-box{
+  position: relative;
+}
+.shop-item .prod-block .item .prodinfo .pic{
   width: 200rpx;
   height: 200rpx;
-  line-height: 180rpx;
-  font-size: 0;
+  background: #F6F6F6;
+  border-radius: 16rpx;
+  flex-shrink: 0;
+  margin: 20rpx 0;
 }
 
-.shop-item .prod-block .item .prodinfo .pic image {
-  width: 100%;
-  height: 100%;
-  border-radius: 16rpx;
+.shop-item .prod-block .item .prodinfo .sell-out{
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 200rpx;
+  height: 240rpx;
+  background: rgba(255,255,255,0.6);
+  border-radius: 16rpx 16rpx 16rpx 16rpx;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+.shop-item .prod-block .item .prodinfo .sell-out-text{
+  width: 112rpx;
+  height: 36rpx;
+  line-height: 36rpx;
+  text-align: center;
+  background: rgba(0,0,0,0.6);
+  border-radius: 18rpx 18rpx 18rpx 18rpx;
+  font-size: 24rpx;
+  color: #FFFFFF
 }
 
+
 .shop-item .prod-block .item .prodinfo .opt {
   margin-left: 20rpx;
   flex: 1;
@@ -232,6 +264,31 @@ page {
 .shop-item .prod-block .item .prodinfo .opt .prod-center-row .prod-info-text.empty-n {
   display: none;
 }
+.shop-item .prod-block .item .prodinfo .opt .del-box{
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 56rpx;
+  margin-top: 20rpx;
+  
+}
+.shop-item .prod-block .item .prodinfo .opt .del-box .del-label{
+  font-size: 28rpx;
+  color: #222222;
+}
+
+.shop-item .prod-block .item .prodinfo .opt .del-box .del-btn{
+  width: 128rpx;
+  height: 44rpx;
+  line-height: 44rpx;
+  text-align: center;
+  background: #006CE8;
+  border-radius: 22rpx 22rpx 22rpx 22rpx;
+  font-size: 24rpx;
+  color: #FFFFFF;
+  position: relative;
+  z-index: 5;
+}
 
 .shop-item .prod-block .item .prodinfo .opt .price-count {
   display: flex;
@@ -244,6 +301,7 @@ page {
   color: #FF4D3A;
 }
 
+
 /* 加减框 */
 /* .car-box .item .info .price-box .num-box{ */
   .num-box{

+ 3 - 1
pages/category/category.js

@@ -144,7 +144,7 @@ Page({
       }
       this.changeCar(data)
       if(type == 'add'){
-        // this.addAnimate(e)
+        this.addAnimate(e)
       }
     })
   },
@@ -536,6 +536,7 @@ Page({
         orderBy:this.data.paramsObj.orderBy,
         sort:this.data.paramsObj.sort,
         isAllProdType: true,
+        channelId:wx.getStorageSync('channelId'),
         platform:1
         // lat: wx.getStorageSync('LATITUDE'),
         // lon: wx.getStorageSync('LONGITUDE'),
@@ -581,6 +582,7 @@ Page({
         categoryId,
         current: 1,
         size: 999999,
+        channelId:wx.getStorageSync('channelId'),
         shopId:this.data.testShopId||this.data.shopId
       },
       callBack: (res) => {

+ 115 - 11
pages/category1/category.js

@@ -41,6 +41,13 @@ Page({
     topCurrentIndex: 0,
     productList:[],
     carData:[],//购物车数据
+    animateInfo:{
+      startX:99999,
+      startY:0,
+      endX:0,
+      endY:0,
+    },
+    move:false
   },
 
   /**
@@ -123,19 +130,114 @@ Page({
   },
   // 点击购物车内加减按钮
   handleNum(e){
-    let {num,item} = e.currentTarget.dataset
-    console.log(num,item);
-    let data = {
-      "basketId": item.basketId||0,
-      "count": num,
-      "distributionCardNo": item.distributionCardNo||'',
-      "prodId": item.prodId,
-      "shopId": item.shopId,
-      "skuId": item.skuId||item.skuList[0].skuId,
-      platform:1
+    // 查看是否授权
+    util.checkAuthInfo(()=>{
+      let {num,item,type,index} = e.currentTarget.dataset
+      let data = {
+        "basketId": item.basketId||0,
+        "count": num,
+        "distributionCardNo": item.distributionCardNo||'',
+        "prodId": item.prodId,
+        "shopId": item.shopId,
+        "skuId": item.skuId||item.skuList[0].skuId,
+        platform:1
+      }
+      this.changeCar(data)
+      if(type == 'add'){
+        this.addAnimate(e)
+      }
+    })
+  },
+  addAnimate(e){
+    let startX = e.touches[0].clientX-10
+    let startY = e.touches[0].clientY-10
+    const query = wx.createSelectorQuery().in(this);
+    query.select('.bottom-box .left .icon').boundingClientRect(cartRect => {
+      console.log(222222,cartRect);
+      if (!cartRect) return;
+      let animateInfo = {
+        startX,
+        startY,
+        endX:cartRect.left,
+        endY:cartRect.bottom,
+      }
+      this.setData({
+        move:true,
+        animateInfo
+      })
+      console.log(animateInfo);
+    }).exec();
+
+   
+  
+  },
+  endAnimate(){
+    console.log('ddddd');
+    let animateInfo = {
+      startX:9999,
+      startY:0,
+      endX:0,
+      endY:0,
     }
-    this.changeCar(data)
+    this.setData({
+      move:false,
+      animateInfo
+    })
+  },
+
+  // 获取点击位置和购物车位置
+  getNodePositions(index) {
+    const query = wx.createSelectorQuery().in(this);
+
+    // 1. 获取"加入购物车"按钮的位置(动画起始点)
+    query.select(`.product-item:nth-child(${index + 1}) .info .price-box .test`).boundingClientRect(btnRect => {
+      if (!btnRect) return; // 容错:防止节点未找到
+      const startX = btnRect.left + btnRect.width / 2 - 20; // 20 = 40rpx/2(图标宽高)
+      const startY = btnRect.top + btnRect.height / 2 - 20;
+
+      // 2. 获取购物车位置(动画结束点)
+      query.select('.bottom-box .left .icon').boundingClientRect(cartRect => {
+        if (!cartRect) return;
+        const endX = cartRect.left + cartRect.width / 2 - 20;
+        const endY = cartRect.top + cartRect.height / 2 - 20;
+
+        // 3. 计算抛物线中间点(控制弧度)
+        const midX = (startX + endX) / 2;
+        const midY = startY - 80; // 向上凸起80px,可调整弧度
+
+        // 4. 创建动画图标
+        this.createAnimationIcon(startX, startY, midX, midY, endX, endY);
+      }).exec();
+    }).exec();
+  },
+
+  // 创建抛物线动画(数据驱动,无DOM操作)
+  createAnimationIcon(startX, startY, midX, midY, endX, endY) {
+    // 生成唯一ID,避免key冲突
+    const iconId = Date.now() + Math.floor(Math.random() * 1000);
+    const newIcon = {
+      id: iconId,
+      startX,
+      startY,
+      midX,
+      midY,
+      endX,
+      endY
+    };
+
+    // 添加动画图标到数组(自动渲染)
+    this.setData({
+      animationIcons: [...this.data.animationIcons, newIcon]
+    });
+
+    // 动画结束后移除图标+更新购物车
+    setTimeout(() => {
+      this.setData({
+        animationIcons: this.data.animationIcons.filter(icon => icon.id !== iconId),
+      });
+    }, 700); // 与动画时长保持一致(0.7s)
   },
+  
   handleAll(){
     this.setData({
       show:true
@@ -434,6 +536,7 @@ Page({
         orderBy:this.data.paramsObj.orderBy,
         sort:this.data.paramsObj.sort,
         isAllProdType: true,
+        channelId:wx.getStorageSync('channelId'),
         platform:1
         // lat: wx.getStorageSync('LATITUDE'),
         // lon: wx.getStorageSync('LONGITUDE'),
@@ -479,6 +582,7 @@ Page({
         categoryId,
         current: 1,
         size: 999999,
+        channelId:wx.getStorageSync('channelId'),
         shopId:this.data.testShopId||this.data.shopId
       },
       callBack: (res) => {

+ 20 - 7
pages/category1/category.wxml

@@ -12,7 +12,7 @@
   </navbar>
 
   <!-- 全部分类弹窗 -->
-  <van-popup show="{{ show }}" position="top" close-on-click-overlay="{{false}}" z-index="{{99999}}" round bind:close="onClose">
+  <van-popup show="{{ show }}" position="top" z-index="{{99999}}" round bind:close="onClose">
     <view class="popup-box" style="padding-top: {{pageTopHeight}}px;">
       <!-- 搜索 -->
       <navbar>
@@ -121,9 +121,9 @@
       </view>
       <scroll-view class="right-box"  scroll-y="true" 	enable-passive 	upper-threshold="10" 	lower-threshold="10"  scroll-top="{{topHeight}}" bindscroll="scroll" bindscrolltoupper="scrollTop" bindscrolltolower="scrollBottom">
         <view style="height:20px"></view>
-        <view class="product-item" id="{{'test'+index}}" wx:for="{{productList}}">
+        <view class="product-item" id="{{'test'+index}}" data-index="{{index}}" wx:for="{{productList}}" data-prodId="{{item.prodId}}" bind:tap="toProdPage">
         <view class="pic-box">
-          <image class="pic" src="{{item.pic}}" mode="" data-prodId="{{item.prodId}}" bind:tap="toProdPage" />
+          <image class="pic" src="{{item.pic}}" mode="" />
           <view class="sell-out" wx:if="{{item.totalStocks == 0}}">
             <view class="sell-out-text">已售罄</view>
           </view>
@@ -134,11 +134,11 @@
             <view class="price-box">
               <view class="price">¥{{item.price}}</view>
               <view wx:if="{{item.show}}" class="num-box">
-              <image class="btn" data-num="-1" data-item="{{item}}" bind:tap="handleNum" src="/images/icon/reduce.png" mode=""/>
+              <image class="btn" data-num="-1" data-item="{{item}}" catch:tap="handleNum" src="/images/icon/reduce.png" mode=""/>
                 <view class="num">{{item.prodCount}}</view>
-              <image class="btn" data-num="1" data-item="{{item}}" bind:tap="handleNum" src="/images/icon/add.png" mode=""/>
+              <image class="btn" data-num="1" data-item="{{item}}" data-type="add" catch:tap="handleNum" src="/images/icon/add.png" mode=""/>
               </view>
-              <image wx:else style="width:52rpx;height:52rpx;" src="/images/icon/car-btn.png" mode="" data-num="1" data-item="{{item}}" bind:tap="handleNum" />
+              <image wx:else class="test" style="width:52rpx;height:52rpx;" src="/images/icon/car-btn.png" mode="" data-img="/images/icon/car-btn.png" data-type="add" data-num="1" data-item="{{item}}" data-index="{{index}}" catch:tap="handleNum" />
             </view>
           </view>
         </view>
@@ -179,7 +179,7 @@
               <view class="num-box">
                 <image class="btn" data-num="-1" data-item="{{item}}" bind:tap="handleNum" src="/images/icon/reduce.png" mode=""/>
                 <view class="num">{{item.prodCount}}</view>
-              <image class="btn" data-num="1" data-item="{{item}}" bind:tap="handleNum" src="/images/icon/add.png" mode=""/>
+              <image class="btn" data-num="1" data-type="add" data-item="{{item}}" bind:tap="handleNum" src="/images/icon/add.png" mode=""/>
               </view>
 
             </view>
@@ -216,6 +216,19 @@
     <view class="btn" bind:tap="handleBuy">结算</view>
   </view>
   <tabbar active="1" class="my-tabbar"></tabbar>
+
+
+<!-- 抛物线动画容器(数据驱动渲染) -->
+<view class="animation-wrap" id="animationWrap">
+  <view class="{{move?'move-x':''}}" style="position:absolute;width: 50rpx;height: 50rpx;left:{{animateInfo.startX}}px;top:{{animateInfo.startY}}px;--endX: {{animateInfo.endX-animateInfo.startX}}px;--endY: {{animateInfo.endY-animateInfo.startY}}px;" bind:animationend="endAnimate" >
+    <image 
+      class="{{move?'move-y':''}}"
+      src="/images/icon/car-btn.png"
+      style="width: 40rpx;height: 40rpx;--endX: {{animateInfo.endX-animateInfo.startX}}px; --endY: {{animateInfo.endY-animateInfo.startY}}px;"
+      bind:animationend="endAnimate"
+    ></image>
+  </view>
+</view>
   
 
 </view>

+ 51 - 0
pages/category1/category.wxss

@@ -772,4 +772,55 @@ align-items: center;
 
 .none .van-empty__description{
   margin-top: -30rpx;
+}
+/* 动画容器:全屏覆盖,不影响下层交互 */
+.animation-wrap {
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100vw;
+  height: 100vh;
+  pointer-events: none;
+  z-index: 9999;
+}
+
+/* 抛物线小图标样式 */
+.move-x {
+  animation: 
+    moveX .5s linear forwards;  /* X轴匀速 */
+   
+}
+.move-y{
+  animation: moveY .5s cubic-bezier(0.5, -0.5, 1, 1)  forwards; 
+}
+
+/* 核心抛物线动画:贝塞尔曲线轨迹 */
+@keyframes moveX  {
+  from {
+    transform: translateX(0);
+  }
+  to {
+    transform: translateX(var(--endX));
+  }
+}
+
+/* 核心抛物线动画:贝塞尔曲线轨迹 */
+@keyframes moveY  {
+  from {
+    transform: translateY(0);
+  }
+  to {
+    transform: translateY(var(--endY));
+  }
+}
+
+/* 购物车缩放动画 */
+.cart-pulse {
+  animation: pulse 0.3s ease-in-out;
+}
+
+@keyframes pulse {
+  0% { transform: scale(1); }
+  50% { transform: scale(1.3); }
+  100% { transform: scale(1); }
 }

+ 0 - 209
pages/couponCenter/couponCenter.js

@@ -1,209 +0,0 @@
-// pages/couponCenter/couponCenter.js
-
-var http = require("../../utils/http.js");
-var config = require("../../utils/config.js");
-var util = require('../../utils/util.js');
-
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    couponList: [], // 通用券列表
-    prodCouponList: [], // 商品券列表
-    selectedCouponId:0, // 要领取的优惠券id
-    current: 1, // 当前页数
-    pages: 1, // 总页数
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function(options) {
-    //获取通用列表
-
-
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function() {
-    this.getCouponList();
-    this.getProdCouponList(1);
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function() {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function() {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function() {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function() {
-
-  },
-  /**
-   * 获取通用列表
-   */
-  getCouponList() {
-    var params = {
-      url: "/p/myCoupon/generalCouponList",
-      method: "GET",
-      callBack: (res) => {
-        this.initCouponCanGoUseFlag(res)
-        this.setData({
-          couponList: res
-        });
-      }
-    };
-    http.request(params);
-  },
-  /**
-   * 获取指定商品券
-   */
-  getProdCouponList(cur) {
-    var params = {
-      url: "/p/myCoupon/getCouponPage",
-      method: "GET",
-      data: {
-        current: cur,
-        size: 20,
-      },
-      callBack: (res) => {
-        this.initCouponCanGoUseFlag(res.records)
-        let list = []
-        if (res.current == 1) {
-          list = res.records
-        } else {
-          list = this.data.prodCouponList
-          list = list.concat(res.records)
-        }
-        this.setData({
-          prodCouponList: list,
-          pages: res.pages,
-          current: res.current
-        });
-      }
-    };
-    http.request(params);
-  },
-  /**
-   * 初始化优惠券去可以使用的标记
-   */
-  initCouponCanGoUseFlag(couponList){
-    couponList.forEach(coupon => {
-      coupon.canGoUse = (coupon.curUserReceiveCount >= coupon.limitNum)
-    });
-  },
-  /**
-   * 设置优惠券去可以使用的标记
-   */
-  setCouponCanGoUseFlag(index, couponType) {
-    if (couponType == 1) {
-      var tempCouponList = this.data.couponList
-      tempCouponList[index].canGoUse = true
-      tempCouponList[index].stocks -= 1
-      this.setData({
-        couponList: tempCouponList
-      })
-    } else if (couponType == 2) {
-      var tempCouponList = this.data.prodCouponList
-      tempCouponList[index].canGoUse = true
-      tempCouponList[index].stocks -= 1
-      this.setData({
-        prodCouponList: tempCouponList
-      })
-    }
-  },
-  /**
-   * 立即领取
-   */
-  receiveCoupon(e) {
-    this.setData({
-      selectedCouponId: e.currentTarget.dataset.couponid
-    })
-    util.checkAuthInfo(()=>{
-      var ths = this
-      if (ths.data.selectedCouponId) {
-        wx.showLoading();
-        http.request({
-          url: "/p/myCoupon/receive",
-          method: "POST",
-          data: ths.data.selectedCouponId,
-          callBack: (data) => {
-            wx.hideLoading();
-            wx.showToast({
-              title: '领券成功',
-              icon: 'success',
-              duration: 2000
-            })
-            this.setCouponCanGoUseFlag(e.currentTarget.dataset.couponindex,e.currentTarget.dataset.coupontype)
-          }
-        })
-      }
-    })
-  },
-  /**
-   * 立即使用
-   */
-  useCoupon(e) {
-    let url = '/pages/prod-classify/prod-classify?sts=4';
-    let couponId = e.currentTarget.dataset.couponid;
-    var title = "优惠券活动商品";
-    var prodList = e.currentTarget.dataset.prodlist
-    if (prodList && prodList.length == 1) {
-      wx.navigateTo({
-        url: '/pages/prod/prod?prodid=' + prodList[0].prodId
-      })
-    }else {
-      if (couponId) {
-        url += "&tagid=" + couponId + "&title=" + title;
-      }
-      wx.navigateTo({
-        url: url
-      })
-    }
-  },
-    /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-    if (this.data.current < this.data.pages) {
-      this.getProdCouponList(this.data.current + 1);
-    }
-  },
-
-})

+ 0 - 6
pages/couponCenter/couponCenter.json

@@ -1,6 +0,0 @@
-{
-  "usingComponents": {},
-  "navigationBarTitleText": "领券中心",
-  "navigationBarBackgroundColor": "#fff",
-  "navigationBarTextStyle": "black"
-}

+ 0 - 127
pages/couponCenter/couponCenter.wxml

@@ -1,127 +0,0 @@
-<view class="container">
-  <view class="coupons">
-    <view class="banner">
-      <view class="bg"><image src="../../images/icon/coupon-bg.png"></image></view>
-      <view class="img"><image src="../../images/icon/coupon-banner.png"></image></view>
-    </view>
-    <view class="con-box">
-      <view class="c-tit" wx:if="{{couponList.length}}">通用神券</view>
-      <scroll-view scroll-x="true" class="general-box" wx:if="{{couponList.length}}">
-        <view class="general">
-          <view class="item" wx:for='{{couponList}}' wx:key='couponId'>
-           <view class="item-box {{(item.canGoUse) ? 'received' : ((!item.stocks && !item.curUserReceiveCount) ? 'robbed' : '') }}">
-            <view class="item-con">
-              <view class="number" wx:if="{{item.couponType == 1}}">
-                <view class="symbol">¥</view>
-                <view class="text">{{item.reduceAmount}}</view>
-              </view>
-              <view class="number" wx:if="{{item.couponType == 2}}">
-                <view class="text">{{item.couponDiscount}}</view>
-                <view class="symbol">折</view>
-              </view>
-              <view class="condition">满{{item.cashCondition}}元可用</view>
-              <view class="scope" wx:if="{{item.suitableProdType == 0}}">全品类商品通用</view>
-              <view class="scope" wx:if="{{item.suitableProdType != 0}}">仅可购买平台部分商品</view>
-              <view class="progress-box">
-                <view class="text" wx:if="{{item.stocks == 0}}">已抢光</view>
-                <view class="text" wx:if="{{item.stocks != 0}}">已抢{{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%</view>
-                <view class="progress" style="width: {{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%"></view>
-              </view>
-            </view>
-            <view class="item-btn" wx-if="{{!item.canGoUse && item.stocks}}" data-couponid="{{item.couponId}}" data-coupontype="1" data-couponindex="{{index}}" bindtap='receiveCoupon'>立即领取</view>
-            <view class="item-btn" wx-if="{{item.canGoUse}}" data-couponid="{{item.couponId}}" bindtap='useCoupon'>去使用</view>
-            <view class="item-btn" wx-if="{{!item.canGoUse && !item.stocks}}">已抢光</view>
-            <view class="icon" wx-if="{{item.canGoUse}}"><image src="../../images/icon/coupon-received.png"></image></view>
-            <view class="icon" wx-if="{{!item.canGoUse && !item.stocks}}"><image src="../../images/icon/coupon-robbed.png"></image></view>
-           </view>
-          </view>
-        </view>
-      </scroll-view>
-      <view class="c-tit" wx:if="{{prodCouponList.length}}">推荐好券</view>
-      <view class="special" wx:if="{{prodCouponList.length}}">
-        <view class="item" wx:for='{{prodCouponList}}' wx:key='couponId'>
-          <view class="item-box {{(item.canGoUse) ? 'received' : ((!item.stocks && !item.curUserReceiveCount) ? 'robbed' : '')}}">
-            <!-- 多商品券 -->
-            <view class="item-con" wx:if="{{item.prods.length > 1}}">
-              <view class="shop-msg">
-                <view class="logo"><image src="{{item.shopLogo}}"></image></view>
-                <view class="name">{{item.shopName}}</view>
-              </view>
-              <view class="prod-msg">
-                <view class="p-item" wx:for='{{item.prods}}' wx:for-item="prod" wx:for-index="prodIndex" wx:key='prodIndex'>
-                  <view class="img"><image src="{{prod.pic}}"></image></view>
-                  <view class="price">¥{{prod.price}}</view>
-                </view>
-              </view>
-            </view>
-            <view class="item-btn" wx:if="{{item.prods.length > 1}}">
-              <view class="btn-box">
-                <view class="number" wx:if="{{item.couponType == 1}}">
-                  <view class="symbol">¥</view>
-                  <view class="text">{{item.reduceAmount}}</view>
-                </view>
-                <view class="number" wx:if="{{item.couponType == 2}}">
-                  <view class="text">{{item.couponDiscount}}</view>
-                  <view class="symbol">折</view>
-                </view>
-                <view class="condition">满{{item.cashCondition}}元可用</view>
-                <view class="progress-box">
-                  <view class="text" wx:if="{{item.stocks == 0}}">已抢光</view>
-                  <view class="text" wx:if="{{item.stocks != 0}}">已抢{{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%</view>
-                  <view class="progress" style="width: {{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%"></view>
-                </view>
-                <view class="btn" wx-if="{{!item.canGoUse && item.stocks}}" data-couponid="{{item.couponId}}" data-coupontype="2" data-couponindex="{{index}}" bindtap='receiveCoupon'>立即领取</view>
-                <view class="btn" wx-if="{{item.canGoUse}}" data-couponid="{{item.couponId}}" data-prodlist="{{item.prods}}" bindtap='useCoupon'>去使用</view>
-                <view class="btn" wx-if="{{!item.canGoUse && !item.stocks}}">已抢光</view>
-              </view>
-            </view>
-            <!-- /多商品券 -->
-            <!-- 单商品券 -->
-            <view class="left" wx:if="{{item.prods.length == 1}}">
-              <view class="img"><image src="{{item.prods[0].pic}}"></image></view>
-              <view class="text-box">
-                <view class="goods-name">{{item.prods[0].prodName}}</view>
-                <view class="coupon-number">
-                  <view class="number" wx:if="{{item.couponType == 1}}">
-                    <view class="symbol">¥</view>
-                    <view class="text">{{item.reduceAmount}}</view>
-                  </view>
-                  <view class="number" wx:if="{{item.couponType == 2}}">
-                    <view class="text">{{item.couponDiscount}}</view>
-                    <view class="symbol">折</view>
-                  </view>
-                  <view class="condition">满{{item.cashCondition}}元可用</view>
-                </view>
-              </view>
-            </view>
-            <view class="right" wx:if="{{item.prods.length == 1}}">
-              <view class="btn-box">
-                <view class="progress-text" wx:if="{{item.stocks == 0}}">已抢光</view>
-                <view class="progress-text" wx:if="{{item.stocks != 0}}">已抢{{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%</view>
-                <view class="progress-box">
-                  <view class="progress" style="width: {{wxs.rounding((item.sourceStock - item.stocks) * 100 / item.sourceStock)}}%"></view>
-                </view>
-                <view class="btn" wx-if="{{!item.canGoUse && item.stocks}}" data-couponid="{{item.couponId}}" data-coupontype="2" data-couponindex="{{index}}" bindtap='receiveCoupon'>立即领取</view>
-                <view class="btn" wx-if="{{item.canGoUse}}" data-couponid="{{item.couponId}}" data-prodlist="{{item.prods}}" bindtap='useCoupon'>去使用</view>
-                <view class="btn" wx-if="{{!item.canGoUse && !item.stocks}}">已抢光</view>
-              </view>
-            </view>
-            <!-- /单商品券 -->
-            <view class="icon" wx-if="{{item.canGoUse}}"><image src="../../images/icon/coupon-received.png"></image></view>
-            <view class="icon" wx-if="{{!item.canGoUse && !item.stocks}}"><image src="../../images/icon/coupon-robbed.png"></image></view>
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <!-- 空 -->
-    <view class="empty" wx:if="{{couponList.length==0 && prodCouponList.length==0}}">
-      <view class="empty-icon">
-        <image src="../../images/icon/empty.png"></image>
-      </view>
-      <view class="empty-text">商家还未发布优惠券哦</view>
-    </view>
-  </view>
-</view>
-
-<wxs module="wxs" src="../../wxs/number.wxs" />

+ 0 - 710
pages/couponCenter/couponCenter.wxss

@@ -1,710 +0,0 @@
-page {
-  background: #f4f4f4;
-}
-
-.coupons image {
-  width: 100%;
-  height: 100%;
-}
-
-.coupons .banner {
-  position: relative;
-  width: 750rpx;
-  height: 284rpx;
-  padding-top: 24rpx;
-}
-
-.coupons .banner .bg {
-  position: absolute;
-  top: 0;
-  left: 0;
-  font-size: 0;
-  width: 750rpx;
-  height: 220rpx;
-}
-
-.coupons .banner .img {
-  font-size: 0;
-  width: 710rpx;
-  height: 280rpx;
-  margin: 0 auto;
-  position: relative;
-}
-
-.coupons .con-box {
-  padding: 0 20rpx;
-}
-
-.coupons .con-box .c-tit {
-  padding: 20rpx;
-  font-size: 28rpx;
-  font-weight: 600;
-  position: relative;
-  margin-top: 10rpx;
-}
-
-.coupons .con-box .c-tit::before {
-  position: absolute;
-  left: 0;
-  top: 50%;
-  transform: translateY(-50%);
-  display: block;
-  width: 0;
-  height: 0;
-  content: " ";
-  font-size: 0;
-  border: 10rpx solid transparent;
-  border-left: 12rpx solid #f2171a;
-  border-radius: 6rpx;
-}
-
-/* 通用券 */
-.coupons .con-box .general-box {
-  background: #fff;
-  padding: 20rpx;
-  width: 710rpx;
-  height: 206rpx;
-  box-sizing: border-box;
-  border-radius: 10rpx;
-}
-
-.coupons .con-box .general {
-  display: flex;
-  align-items: center;
-}
-
-.coupons .con-box .general .item {
-  margin-right: 20rpx;
-}
-
-.coupons .con-box .general .item:last-child {
-  margin-right: 0;
-}
-
-.coupons .con-box .general .item .item-box {
-  border-radius: 10rpx;
-  display: flex;
-  align-items: center;
-  position: relative;
-  width: 258rpx;
-  height: 166rpx;
-  overflow: hidden;
-  background: #fef1ef;
-}
-
-.coupons .con-box .general .item .item-box::before,
-.coupons .con-box .general .item .item-box::after {
-  position: absolute;
-  z-index: 1;
-  right: 38rpx;
-  display: block;
-  width: 20rpx;
-  height: 20rpx;
-  content: " ";
-  font-size: 0;
-  background: #fff;
-  border-radius: 50%;
-}
-
-.coupons .con-box .general .item .item-box::before {
-  top: -10rpx;
-}
-
-.coupons .con-box .general .item .item-box::after {
-  bottom: -10rpx;
-}
-
-.coupons .con-box .general .item .item-box .item-con {
-  flex: 1;
-  text-align: center;
-  padding: 0 20rpx;
-  position: relative;
-  z-index: 2;
-}
-
-.coupons .con-box .general .item .item-box .item-con .number {
-  display: flex;
-  align-items: baseline;
-  justify-content: center;
-  color: #f2171a;
-  font-family: arial;
-  font-weight: 600;
-  line-height: 1;
-  position: relative;
-}
-
-.coupons .con-box .general .item .item-box .item-con .number .symbol {
-  font-size: 28rpx;
-}
-
-.coupons .con-box .general .item .item-box .item-con .number .text {
-  font-size: 44rpx;
-}
-
-.coupons .con-box .general .item .item-box .item-con .condition,
-.coupons .con-box .general .item .item-box .item-con .scope {
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.coupons .con-box .general .item .item-box .item-con .condition {
-  font-size: 24rpx;
-  line-height: 28rpx;
-  margin: 6rpx 0;
-}
-
-.coupons .con-box .general .item .item-box .item-con .scope {
-  font-size: 20rpx;
-  line-height: 24rpx;
-  color: #999;
-}
-
-.coupons .con-box .general .item .item-box .item-con .progress-box {
-  width: 100%;
-  height: 22rpx;
-  background: #ffb5af;
-  border-radius: 30rpx;
-  position: relative;
-  margin-top: 6rpx;
-  overflow: hidden;
-}
-
-.coupons .con-box .general .item .item-box .item-con .progress-box .text {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 22rpx;
-  line-height: 22rpx;
-  font-size: 20rpx;
-  color: #fff;
-  text-align: center;
-}
-
-.coupons .con-box .general .item .item-box .item-con .progress-box .progress {
-  height: 22rpx;
-  border-radius: 30rpx;
-  background: #f53e17;
-}
-
-.coupons .con-box .general .item .item-box .item-btn {
-  position: relative;
-  font-size: 24rpx;
-  color: #fff;
-  width: 30rpx;
-  padding: 0 10rpx;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  text-align: center;
-  flex-wrap: nowrap;
-  line-height: 30rpx;
-  background: -webkit-linear-gradient(left, #f53e17, #f2171a);
-  background: linear-gradient(to right, #f53e17, #f2171a);
-}
-
-.coupons .con-box .general .item .item-box .item-btn::before {
-  position: absolute;
-  left: 0;
-  top: 28rpx;
-  bottom: 28rpx;
-  display: none;
-  width: 2rpx;
-  height: auto;
-  content: " ";
-  font-size: 0;
-  border-left: 2rpx dashed #f2171a;
-  opacity: 0.1;
-}
-
-.coupons .con-box .general .item .item-box .icon {
-  position: absolute;
-  top: -24rpx;
-  right: 60rpx;
-  display: none;
-  width: 80rpx;
-  height: 80rpx;
-}
-
-.coupons .con-box .general .item .item-box.received .icon,
-.coupons .con-box .general .item .item-box.robbed .icon {
-  display: block;
-}
-
-.coupons .con-box .general .item .item-box.received .item-btn {
-  color: #f2171a;
-  line-height: 32rpx;
-  background: none;
-}
-
-.coupons .con-box .general .item .item-box.received .item-btn::before {
-  display: block;
-}
-
-.coupons .con-box .general .item .item-box.robbed {
-  background: #f3f3f3;
-}
-
-.coupons .con-box .general .item .item-box.robbed .item-con .number,
-.coupons .con-box .general .item .item-box.robbed .item-con .condition {
-  color: #999;
-}
-
-.coupons .con-box .general .item .item-box.robbed .item-con .progress-box,
-.coupons .con-box .general .item .item-box.robbed .item-con .progress-box .progress {
-  background: #ccc;
-}
-
-.coupons .con-box .general .item .item-box.robbed .item-btn {
-  color: #999;
-  line-height: 32rpx;
-  background: none;
-}
-
-.coupons .con-box .general .item .item-box.robbed .item-btn::before {
-  display: block;
-  border-left: 2rpx dashed #333;
-}
-/* 通用券 end */
-
-/* 店铺券 */
-.coupons .con-box .special .item {
-  margin-bottom: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box {
-  background: #fff;
-  position: relative;
-  border-radius: 10rpx;
-  display: flex;
-  overflow: hidden;
-}
-
-.coupons .con-box .special .item .item-box::before,
-.coupons .con-box .special .item .item-box::after  {
-  position: absolute;
-  right: 198rpx;
-  display: block;
-  width: 24rpx;
-  height: 24rpx;
-  content: " ";
-  font-size: 0;
-  background: #f4f4f4;
-  border-radius: 50%;
-  z-index: 1;
-}
-
-.coupons .con-box .special .item .item-box::before {
-  top: -12rpx;
-}
-
-.coupons .con-box .special .item .item-box::after {
-  bottom: -12rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-con {
-  flex: 1;
-  padding: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-con .shop-msg {
-  display: flex;
-  align-items: center;
-}
-
-.coupons .con-box .special .item .item-box .item-con .shop-msg .logo {
-  width: 40rpx;
-  height: 40rpx;
-  font-size: 0;
-  border-radius: 50%;
-  overflow: hidden;
-}
-
-.coupons .con-box .special .item .item-box .item-con .shop-msg .logo image {
-  border-radius: 50%;
-}
-
-.coupons .con-box .special .item .item-box .item-con .shop-msg .name {
-  flex: 1;
-  margin-left: 10rpx;
-  font-size: 24rpx;
-  font-weight: 600;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg {
-  margin-top: 20rpx;
-  display: flex;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg .p-item {
-  margin-left: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg .p-item:first-child {
-  margin-left: 0;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg .img {
-  width: 140rpx;
-  height: 140rpx;
-  border-radius: 10rpx;
-  overflow: hidden;
-  font-size: 0;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg .img image {
-  border-radius: 10rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-con .prod-msg .price {
-  color: #333;
-  font-size: 22rpx;
-  display: block;
-  text-align: center;
-}
-
-.coupons .con-box .special .item .item-box .item-btn {
-  text-align: center;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  padding: 20rpx;
-  width: 170rpx;
-  background: -webkit-linear-gradient(left, #fef1ef, #fffaf9);
-  background: linear-gradient(to right, #fef1ef, #fffaf9);
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box {
-  position: relative;
-  z-index: 1;
-  flex: 1;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .number {
-  display: flex;
-  align-items: baseline;
-  justify-content: center;
-  color: #f2171a;
-  font-family: arial;
-  font-weight: 600;
-  line-height: 1;
-  position: relative;
-  z-index: 2;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .number .symbol {
-  font-size: 28rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .number .text {
-  font-size: 44rpx;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .condition {
-  font-size: 24rpx;
-  line-height: 28rpx;
-  margin: 10rpx 0;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .progress-box {
-  height: 22rpx;
-  background: #ffb5af;
-  border-radius: 30rpx;
-  position: relative;
-  margin: 0 6rpx;
-  overflow: hidden;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .progress-box .text {
-  position: absolute;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 22rpx;
-  line-height: 22rpx;
-  font-size: 20rpx;
-  color: #fff;
-  text-align: center;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .progress-box .progress {
-  height: 22rpx;
-  border-radius: 30rpx;
-  background: #f53e17;
-}
-
-.coupons .con-box .special .item .item-box .item-btn .btn-box .btn {
-  font-size: 24rpx;
-  color: #fff;
-  margin-top: 24rpx;
-  height: 50rpx;
-  line-height: 50rpx;
-  box-sizing: border-box;
-  text-align: center;
-  border-radius: 50rpx;
-  background: -webkit-linear-gradient(left, #f53e17, #f2171a);
-  background: linear-gradient(to right, #f53e17, #f2171a);
-}
-
-.coupons .con-box .special .item .item-box .item-btn::before {
-  position: absolute;
-  left: 0;
-  top: 30rpx;
-  bottom: 30rpx;
-  display: block;
-  width: 2rpx;
-  height: auto;
-  content: " ";
-  font-size: 0;
-  border-left: 2rpx dashed #f2171a;
-  opacity: 0.1;
-}
-
-.coupons .con-box .special .item .item-box.robbed .item-btn::before {
-  border-left: 2rpx dashed #333;
-}
-
-.coupons .con-box .special .item .item-box .icon {
-  width: 100rpx;
-  height: 100rpx;
-  position: absolute;
-  right: 20rpx;
-  top: -30rpx;
-  display: none;
-}
-
-.coupons .con-box .special .item .item-box.received .icon,
-.coupons .con-box .special .item .item-box.robbed .icon {
-  display: block;
-}
-
-.coupons .con-box .special .item .item-box.received .item-btn {
-  background: #fff;
-}
-
-.coupons .con-box .special .item .item-box.received .item-btn .btn-box .btn {
-  border: 2rpx solid #f2171a;
-  color: #f2171a;
-  background: #fff;
-  line-height: 46rpx;
-}
-
-.coupons .con-box .special .item .item-box.robbed .item-btn {
-  background: #fff;
-}
-
-.coupons .con-box .special .item .item-box.robbed .item-btn .btn-box .number,
-.coupons .con-box .special .item .item-box.robbed .item-btn .btn-box .condition {
-  color: #999;
-}
-
-.coupons .con-box .special .item .item-box.robbed .item-btn .btn-box .progress-box,
-.coupons .con-box .special .item .item-box.robbed .item-btn .btn-box .progress-box .progress {
-  background: #ccc;
-}
-
-.coupons .con-box .special .item .item-box.robbed .item-btn .btn-box .btn {
-  border: 2rpx solid #ddd;
-  color: #999;
-  background: #fff;
-  line-height: 46rpx;
-}
-/* 店铺券 end */
-
-/* 商品券 */
-
-.coupons .con-box .special .item .item-box .left {
-  flex: 1;
-  display: flex;
-  padding: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box .left .img {
-  width: 180rpx;
-  height: 180rpx;
-  border-radius: 10rpx;
-  overflow: hidden;
-  font-size: 0;
-}
-
-.coupons .con-box .special .item .item-box .left .img image {
-  border-radius: 10rpx;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box {
-  flex: 1;
-  margin-left: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box .goods-name {
-  font-size: 24rpx;
-  height: 72rpx;
-  line-height: 36rpx;
-  font-weight: 600;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  position: relative;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box .coupon-number {
-  display: flex;
-  align-items: baseline;
-  margin-top: 40rpx;
-}
-
-
-.coupons .con-box .special .item .item-box .left .text-box .coupon-number .number {
-  display: flex;
-  align-items: baseline;
-  color: #f2171a;
-  font-family: arial;
-  font-weight: 600;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box .coupon-number .number .symbol {
-  font-size: 28rpx;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box .coupon-number .number .text {
-  font-size: 44rpx;
-}
-
-.coupons .con-box .special .item .item-box .left .text-box .coupon-number .condition {
-  font-size: 24rpx;
-  flex: 1;
-  margin-left: 10rpx;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-
-.coupons .con-box .special .item .item-box .right {
-  text-align: center;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  position: relative;
-  padding: 20rpx;
-  width: 170rpx;
-}
-
-.coupons .con-box .special .item .item-box .right::before {
-  position: absolute;
-  left: -2rpx;
-  top: 30rpx;
-  bottom: 30rpx;
-  display: block;
-  width: 2rpx;
-  height: auto;
-  content: " ";
-  font-size: 0;
-  border-right: 2rpx dashed #f2171a;
-  opacity: 0.1;
-}
-
-.coupons .con-box .special .item .item-box .right .btn-box {
-  flex: 1;
-  position: relative;
-  z-index: 1;
-}
-
-.coupons .con-box .special .item .item-box .right .btn-box .progress-text {
-  font-size: 24rpx;
-}
-
-.coupons .con-box .special .item .item-box .right .btn-box .progress-box {
-  height: 22rpx;
-  background: #f0f0f0;
-  border-radius: 30rpx;
-  margin: 10rpx 6rpx 0;
-  overflow: hidden;
-}
-
-.coupons .con-box .special .item .item-box .right .btn-box .progress-box .progress {
-  height: 22rpx;
-  border-radius: 30rpx;
-  background: #f53e17;
-}
-
-.coupons .con-box .special .item .item-box .right .btn-box .btn {
-  font-size: 24rpx;
-  color: #fff;
-  height: 50rpx;
-  line-height: 50rpx;
-  box-sizing: border-box;
-  text-align: center;
-  border-radius: 50rpx;
-  background: -webkit-linear-gradient(left, #f53e17, #f2171a);
-  background: linear-gradient(to right, #f53e17, #f2171a);
-  margin-top: 20rpx;
-}
-
-.coupons .con-box .special .item .item-box.received .right .btn-box .btn {
-  border: 2rpx solid #f2171a;
-  color: #f2171a;
-  background: none;
-  line-height: 46rpx;
-}
-
-.coupons .con-box .special .item .item-box.robbed .right .btn-box .btn {
-  border: 2rpx solid #ddd;
-  color: #999;
-  background: none;
-  line-height: 46rpx;
-}
-
-.coupons .con-box .special .item .item-box.robbed .right .btn-box .progress-text {
-  color: #999;
-}
-
-.coupons .con-box .special .item .item-box.robbed .right .btn-box .progress-box,
-.coupons .con-box .special .item .item-box.robbed .right .btn-box .progress-box .progress {
-  background: #eee;
-}
-/* 商品券 end */
-
-/* 列表为空 */
-.empty {
-  margin-top: 100rpx;
-  text-align: cneter;
-}
-
-.empty-icon {
-  display: block;
-  width: 80rpx;
-  height: 80rpx;
-  margin: 0 auto;
-  margin-bottom: 20rpx;
-}
-
-.empty-icon > image {
-  width: 100%;
-  height: 100%;
-}
-
-.empty-text {
-  font-size: 24rpx;
-  text-align: center;
-  color: #999;
-  line-height: 40rpx;
-  margin-top: 10rpx;
-}

+ 0 - 159
pages/dis-center/dis-center.js

@@ -1,159 +0,0 @@
-// pages/dis-centers/dis-center.js
-var http = require("../../utils/http.js");
-Page({
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    unsettledAmount: 0, // 待结算金额
-    settledAmount: 0, // 可提现金额
-    invalidAmount: 0, // 已失效金额
-    addupAmount: 0, // 累计收益
-    disNotice: [], // 分销公告
-    distInfo: {}
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function(options) {
-    this.getDistributionMsg()
-    this.setData({
-      loginResult: wx.getStorageSync('loginResult'),
-      distInfo: wx.getStorageSync("distInfo")
-    })
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function() {
-    this.getDisInfoData()
-  },
-
-  // 跳转到分销员等级页面
-  toSalesmanLevel() {
-    console.log('跳转到分销等级')
-    wx.navigateTo({
-      url:'/pages/salesmanLevel/salesmanLevel'
-    })
-  },
-
-  // 跳转到公告页面
-  toNotice() {
-    wx.navigateTo({
-      url: '/pages/recent-news/recent-news?isDist=' + true,
-    })
-  },
-
-  // 获取分销公告
-  getDistributionMsg: function() {
-    var ths = this
-    var params = {
-      url: '/p/distribution/msg/page',
-      method: 'GET',
-      data: {
-        // current: 1,
-        isTop: 1,
-        // size: 10
-      },
-      callBack: res => {
-        ths.setData({
-          disNotice: res.records
-        })
-      }
-    }
-    http.request(params)
-
-  },
-
-  /**
-   * 获取用户钱包数据
-   */
-  getDisInfoData: function() {
-    wx.showLoading();
-    var params = {
-      url: "/p/distribution/user/info",
-      method: "GET",
-      // data: {
-      //   shopId: 1
-      // },
-      callBack: res => {
-        this.setData({
-          settledAmount: res.distributionUserWallet.settledAmount,
-          addupAmount: res.distributionUserWallet.addupAmount
-        });
-        wx.hideLoading();
-      }
-    }
-    http.request(params);
-  },
-  /**
-   * 跳转收入明细
-   */
-  toIncomeDetailsPage: function() {
-    wx.navigateTo({
-      url: '/pages/income-details/income-details',
-    })
-  },
-  /**
-   * 跳转提现记录
-   */
-  toWalletCashPage: function() {
-    wx.navigateTo({
-      url: '/pages/take-notes/take-notes',
-    })
-  },
-  /**
-   * 跳转提现规则
-   */
-  toWalletCashRulePage: function() {
-    wx.navigateTo({
-      url: '/pages/draw-rule/draw-rule',
-    })
-  },
-  /**
-   * 跳转至我的用户
-   */
-  toMyUserPage: function() {
-    wx.navigateTo({
-      url: '/pages/my-users/my-users',
-    })
-  },
-  /**
-   * 跳转我的推广界面
-   */
-  toPromotionOrderPage: function() {
-    wx.navigateTo({
-      url: '/pages/promotion-order/promotion-order',
-    })
-  },
-
-  /**
-   * 跳转我的推广商品
-   */
-  toPromotionProdPage: function() {
-    wx.navigateTo({
-      url: '/pages/promotionProd/promotionProd',
-    })
-  },
-
-  /**
-   * 跳转到邀请好友页面
-   */
-  toInvitationCards: function () {
-    wx.navigateTo({
-      url: '/pages/InvitationCards/InvitationCards',
-    })
-  },
-
-  /**
-   * 跳转到提现
-   */
-  toWithdrawal: function() {
-    wx.navigateTo({
-      url: '/pages/withdrawal/withdrawal',
-    })
-  }
-
-})

+ 0 - 4
pages/dis-center/dis-center.json

@@ -1,4 +0,0 @@
-{
-  "usingComponents": {},
-  "navigationBarTitleText": "分销中心"
-}

+ 0 - 128
pages/dis-center/dis-center.wxml

@@ -1,128 +0,0 @@
-<!--pages/dis-centers/dis-center.wxml-->
-<view class='container'>
-
-  <!-- 用户信息 -->
-  <view class="user-information">
-    <view class="user-info-box">
-      <view class="user-head-portrait">
-        <image src="{{loginResult.pic?loginResult.pic:'../../images/icon/head04.png'}}"></image>
-        <!-- <open-data type="userAvatarUrl"></open-data> -->
-      </view>
-      <view class="username">{{loginResult.nickName}}</view>
-      <!-- <open-data type="userNickName"></open-data> -->
-    </view>
-    <!-- 等级入口 -->
-    <view class="enter-grade" bindtap="toSalesmanLevel">
-      <view class="grade-icon">
-        <image src="../../images/icon/grade.png"></image>
-      </view>
-      <view class="grade-text">{{distInfo.levelName}}</view>
-    </view>
-    <view class="notice" bindtap="toNotice" data-dist="true">
-      <view class="notice-icon">
-        <image src="../../images/icon/notice.png"></image>
-      </view>
-      <!-- <view class="notice-txt">升级到高级分销员,赚取更多佣金!</view> -->
-      <swiper vertical='true' autoplay='true' duration='1000' class='swiper-cont'>
-        <block wx:for='{{disNotice}}' wx:key='index'>
-          <swiper-item class="items">{{item.msgTitle}}</swiper-item>
-        </block>
-      </swiper>
-      <view class="right-more">
-        <image src="../../images/icon/more2.png"></image>
-      </view>
-    </view>
-  </view>
-
-  <view class='user-info'>
-    <view class='info-cont'>
-      <!-- 竖排 -->
-      <!-- <view class='total-income'>
-        <view class='income-dt '>
-          <view class='total'>总收益(元)</view>
-          <view class='num '>498.98</view>
-        </view>
-        <view class='rule '>
-          <text class='symbol-what'>?</text>
-          <text class='rule-tip'>提现规则</text>
-        </view>
-      </view>
-      <view class='withdraw'>
-        <text class='could-draw'>可提现金额: 100.00元</text>
-        <text class='draw-btn'>提现</text>
-      </view> -->
-
-      <!-- 横排 -->
-      <view class='income'>
-        <view class='income-left'>
-          <view class='item'>我的余额(元)</view>
-          <view class='num'>{{wxs.toPrice(settledAmount)}}</view>
-        </view>
-        <view class='income-right'>
-          <view class='item'>总收益(元)</view>
-          <view class='num'>{{wxs.toPrice(addupAmount)}}</view>
-        </view>
-
-      </view>
-      <!-- <view class='rule ' bindtap='toWalletCashRulePage'>
-          <text class='symbol-what'>?</text>
-          <text class='rule-tip'>提现规则</text>
-        </view> -->
-      <view class='draw-btn' bindtap="toWithdrawal">立即提现</view>
-    </view>
-  </view>
-
-  <view class='lists'>
-    <view class='list-item' bindtap='toPromotionProdPage'>
-      <image src='../../images/icon/tuiguang02.png' class='icon' mode="widthFix"></image>
-      <text class='item-text'>推广商品</text>
-    </view>
-    <view class='list-item' bindtap="toInvitationCards">
-      <image src='../../images/icon/tuiguang01.png' class='icon' mode="widthFix"></image>
-      <text class='item-text'>邀请好友</text>
-    </view>
-
-    <!-- <view class='list-item'>
-      <image src='../../images/icon/tuiguang03.png' class='icon' mode="widthFix"></image>
-      <text class='item-text'>推广海报</text>
-    </view> -->
-  </view>
-
-
-  <view class='sorting-menu'>
-    <view class='menu-cont'>
-      <view class='menu-cont-list' bindtap='toMyUserPage'>
-        <view class='icon'>
-          <image src='../../images/icon/menu-01.png' mode="widthFix"></image>
-        </view>
-        <view class='list-title'>我的用户</view>
-        <text class='arrow'></text>
-      </view>
-      <view class='menu-cont-list' bindtap='toPromotionOrderPage'>
-        <view class='icon'>
-          <image src='../../images/icon/menu-02.png' mode="widthFix"></image>
-        </view>
-        <view class='list-title'>我的推广</view>
-        <text class='arrow'></text>
-      </view>
-    </view>
-    <view class='menu-cont'>
-      <view class='menu-cont-list' bindtap='toIncomeDetailsPage'>
-        <view class='icon'>
-          <image src='../../images/icon/menu-03.png' mode="widthFix"></image>
-        </view>
-        <view class='list-title'>收益明细</view>
-        <text class='arrow'></text>
-      </view>
-      <view class='menu-cont-list' bindtap='toWalletCashPage'>
-        <view class='icon'>
-          <image src='../../images/icon/menu-04.png' mode="widthFix"></image>
-        </view>
-        <view class='list-title'>提现记录</view>
-        <text class='arrow'></text>
-      </view>
-    </view>
-  </view>
-</view>
-
-<wxs module="wxs" src="../../wxs/number.wxs" />

+ 0 - 306
pages/dis-center/dis-center.wxss

@@ -1,306 +0,0 @@
-/* pages/dis-centers/dis-center.wxss */
-
-page {
-  background: #f4f4f4;
-}
-
-/* 用户信息 */
-.user-information image {
-  display: block;
-  width: 100%;
-  height: 100%;
-}
-
-.user-information {
-  position: relative;
-  background-image: linear-gradient(180deg, #e43130 20%, #df3636 80%);
-  color: #fff;
-}
-
-.user-info-box {
-  padding: 30rpx 25rpx;
-  border-bottom: 1px solid #e43130;
-}
-
-.user-head-portrait {
-  display: inline-block;
-  width: 100rpx;
-  height: 100rpx;
-  border-radius: 50%;
-  vertical-align: middle;
-  margin-right: 20rpx;
-  overflow: hidden;
-}
-
-.username {
-  display: inline-block;
-  vertical-align: middle;
-  font-size: 28rpx;
-}
-
-.enter-grade {
-  position: absolute;
-  right: 0;
-  top: 22%;
-  /* transform: translateY(-50%); */
-  display: inline-block;
-  padding: 5rpx 10rpx;
-  font-size: 24rpx;
-  background: #b39566;
-  border-radius: 50rpx 0 0 50rpx;
-  color: #fff;
-}
-
-.grade-icon {
-  display: inline-block;
-  width: 40rpx;
-  height: 40rpx;
-  vertical-align: middle;
-}
-
-.grade-text {
-  display: inline-block;
-  vertical-align: middle;
-  /* line-height: 1em; */
-}
-
-.notice {
-  position: relative;
-  padding: 10rpx 1em;
-  height: 50rpx;
-  line-height: 50rpx;
-}
-
-.notice-txt {
-  display: inline-block;
-  font-size: 23rpx;
-  color: #eee;
-}
-
-.notice-icon {
-  display: inline-block;
-  width: 30rpx;
-  height: 30rpx;
-  margin-right: 0.5em;
-  vertical-align: middle;
-}
-
-.right-more {
-  position: absolute;
-  right: 1em;
-  top: 50%;
-  transform: translateY(-50%);
-  display: inline-block;
-  width: 20rpx;
-  height: 20rpx;
-}
-/* /用户信息 */
-
-
-.user-info {
-  /* background: #3a86b9; *//* background: #00a0e9;  亚米蓝 */
-  background: #fff;
-}
-
-.user-info .info-cont {
-  padding: 30rpx 50rpx 30rpx 50rpx;
-}
-
-/* 横排 */
-
-.income {
-  display: flex;
-  color: #000;
-  margin-bottom: 25rpx;
-}
-
-.income .income-left {
-  width: 50%;
-  text-align: center;
-  /* border-right: 1rpx solid #ffffff80; */
-  border-right: 1rpx solid #8a8a8a80;
-}
-
-.income .income-right {
-  width: 50%;
-  text-align: center;
-}
-
-.income .item {
-  font-size: 28rpx;
-  margin-bottom: 20rpx;
-  color: #999;
-}
-
-.income .num {
-  font-size: 40rpx;
-}
-
-.user-info .info-cont  .rule {
-  color: #000;
-  text-align: center;
-  margin-bottom: 10rpx;
-}
-
-.user-info .info-cont .rule .symbol-what {
-  font-size: 23rpx;
-  border: 1rpx solid #999;
-  border-radius: 50rpx;
-  padding: 0rpx 8rpx;
-  color: #999;
-}
-
-.user-info .info-cont .rule .rule-tip {
-  font-size: 24rpx;
-  margin-left: 10rpx;
-  color: #999;
-}
-
-.user-info .info-cont .draw-btn {
-  width: 180rpx;
-  background: #fff;
-  border: 2rpx solid #e43130;
-  border-radius: 50rpx;
-  padding: 8rpx 0rpx;
-  color: #e43130;
-  margin: auto;
-  text-align: center;
-  font-size: 28rpx;
-}
-
-/* 竖排 */
-
-/* .user-info .info-cont .total-income {
-  display: flex;
-  justify-content: space-between;
-  border-bottom: 1rpx solid #ffffff80;
-  padding-bottom: 20rpx;
-}
-
-.user-info .info-cont .total-income .income-dt {
-  color: #fff;
-  line-height: 60rpx;
-}
-
-.user-info .info-cont .total-income .income-dt .total {
-  font-size: 26rpx;
-}
-
-.user-info .info-cont .total-income .income-dt .num {
-  font-size: 50rpx;
-}
-
-.user-info .info-cont .total-income .rule {
-  color: #fff;
-}
-
-.user-info .info-cont .total-income .rule .symbol-what {
-  font-size: 26rpx;
-  border: 1rpx solid #fff;
-  border-radius: 50rpx;
-  padding: 0rpx 8rpx;
-}
-
-.user-info .info-cont .total-income .rule .rule-tip {
-  font-size: 26rpx;
-  margin-left: 10rpx;
-}
-
-.user-info .info-cont .withdraw {
-  color: #fff;
-  font-size: 26rpx;
-  display: flex;
-  justify-content: space-between;
-  align-items: center;
-  padding-top: 20rpx;
-}
-
-.user-info .info-cont .withdraw .draw-btn {
-  border: 2rpx solid #fff;
-  border-radius: 8rpx;
-  padding: 2rpx 26rpx;
-} */
-
-.lists {
-  display: flex;
-  justify-content: space-around;
-  background: #fff;
-  margin-top: 10rpx;
-}
-
-.lists .list-item {
-  width: 33.33%;
-  text-align: center;
-}
-
-.lists .list-item .item-text {
-  font-size: 28rpx;
-}
-
-.list-item {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  padding: 25rpx 0;
-}
-
-.list-item .icon {
-  width: 40rpx;
-  margin-bottom: 15rpx;
-}
-
-.menu-cont {
-  margin-top: 10rpx;
-}
-
-.notice .swiper-cont {
-  height: 60rpx;
-  line-height: 60rpx;
-  width: 70%;
-  display: inline-block;
-  vertical-align: middle;
-  font-size: 24rpx;
-}
-
-.menu-cont .menu-cont-list {
-  display: flex;
-  align-items: center;
-  padding: 28rpx;
-  background: #fff;
-  border-bottom: 2rpx solid #eff3f5;
-}
-
-.menu-cont .menu-cont-list:last-child {
-  border: none;
-}
-
-.menu-cont .menu-cont-list .icon {
-  width: 40rpx;
-  height: 40rpx;
-  font-size: 0;
-}
-
-.menu-cont .menu-cont-list .icon image {
-  width: 100%;
-}
-
-.menu-cont .menu-cont-list .list-title {
-  font-size: 30rpx;
-  margin-left: 20rpx;
-  flex: 1;
-}
-
-.arrow {
-  width: 15rpx;
-  height: 15rpx;
-  border-top: 2rpx solid #999;
-  border-right: 2rpx solid #999;
-  transform: rotate(45deg);
-  margin-left: 10rpx;
-}
-
-.menu-cont-list .small-icon {
-  width: 40rpx;
-  height: 40rpx;
-  font-size: 0;
-}

+ 2 - 1
pages/index/index.js

@@ -905,7 +905,8 @@ Page({
         lon: wx.getStorageSync('LONGITUDE'),
         distance: 9999999||wx.getStorageSync('DISTANCE') || 0,
         shopId: this.data.shop_id,
-        platform:1
+        platform:1,
+        channelId:wx.getStorageSync('channelId')
       },
       callBack: (res) => {
         var hotSalesList = []

+ 16 - 1
pages/login/login.js

@@ -37,6 +37,7 @@ Page({
    */
   getPhoneNumber(e) {
     if (e.detail.errMsg === 'getPhoneNumber:ok') {
+      let that = this
       var params = {
         url: '/user/registerOrBindUser',
         method: 'PUT',
@@ -51,7 +52,7 @@ Page({
           registerOrBind:2 // 验证类型 1注册 2绑定
         },
         callBack: res => {
-          http.loginSuccess(res)
+          http.loginSuccess(res,that.getUserInfo)
           wx.switchTab({
             url: '/pages/index/index'
           })
@@ -65,6 +66,20 @@ Page({
       })
     }
   },
+  /**
+   * 获取用户信息
+   */
+  getUserInfo: function() {
+    var param = {
+      url: '/p/user/userInfo',
+      method: 'GET',
+      data: {},
+      callBack: (res) => {
+        wx.setStorageSync('channelId',res.channelId)
+      }
+    }
+    http.request(param)
+  },
 
   /**
    * 跳转账号登陆

+ 3 - 0
pages/order-detail/order-detail.js

@@ -52,6 +52,7 @@ Page({
     estimatedTime: '',
     estimatedTimeStr: '',
     sendInfo:null,//骑手信息
+    cancelReason:null,
     markers:[
     ],
     polyline:[],
@@ -190,6 +191,8 @@ Page({
           orderScore: res.orderScore, // 整单使用积分
           estimatedTime: res.estimatedTime,
           estimatedTimeStr: res.estimatedTimeStr,
+          cancelReason: res.cancelReason,
+          
 
         });
         

+ 5 - 3
pages/order-detail/order-detail.wxml

@@ -1,7 +1,7 @@
 
 <view class="order-detail">
   <map 
-  wx:if="{{(type==3&&sendInfo&&status==40)||(type == 1&&shopInfo.lat)}}"
+  wx:if="{{(type==3&&sendInfo&&status==40)||(type == 1&&shopInfo.lat&&status!=0&&status!=60)}}"
   id="orderMap"
   longitude="{{type==3?sendInfo.longitude:shopInfo.lon}}"  
   latitude="{{type==3?sendInfo.latitude:shopInfo.lat}}"   
@@ -21,8 +21,10 @@
     </cover-view>
   </cover-view>
   </map>
-
-  <view class="order-sts" wx:else>{{statusObject[status]}}</view>
+  <view wx:else> 
+    <view class="order-sts">{{statusObject[status]}}</view>
+    <view class="order-desc" wx:if="{{cancelReason&&status==60}}">取消原因:{{cancelReason}}</view>
+  </view>
 
     <view class="pay-box" wx:if="{{status == 0&&time}}">
       <view class="notice-box">

+ 5 - 0
pages/order-detail/order-detail.wxss

@@ -97,6 +97,11 @@
   color: #222222;
   margin-bottom: 20rpx;
 }
+.order-desc{
+  font-size: 28rpx;
+  color: #AAAAAA;
+  margin-bottom: 20rpx;
+}
 
 .notice-box{
   display: flex;

+ 139 - 5
pages/prod/prod.js

@@ -1,14 +1,18 @@
 // pages/prod/prod.js
-const app = getApp()
+
+const app = getApp();
 var http = require('../../utils/http.js');
 var config = require('../../utils/config.js');
 var util = require('../../utils/util.js');
+
 Page({
 
   /**
    * 页面的初始数据
    */
   data: {
+    tab:0,
+    list:[],//相似商品和一起买
     shopId: 1,
     shopName: '',
     picDomain: config.picDomain,
@@ -54,6 +58,10 @@ Page({
       pages: 0,
       records: []
     },
+    isAll:false,
+    prodList: [],
+    pages: 0,
+    current: 1,
     littleCommPage: [],
     evaluate: -1,
     isCollection: false,
@@ -135,7 +143,10 @@ Page({
     this.getProdInfo();
     // 获取商品所有促销活动
     this.getPordDiscountList()
-
+    //获取推荐商品 
+    this.getProdRecommended()
+    // 获取相似商品
+    this.getSimilarProdList()
   },
 
 
@@ -177,7 +188,17 @@ Page({
   onUnload: function () {
     clearTimeout(this.data.endOfGroupTimer)
   },
-
+  handleTab(e){
+    let tab = e.currentTarget.dataset.tab
+    if(tab == this.data.tab) return
+    this.setData({
+      tab,
+      list:[]
+    })
+    if(tab == 0){//相似商品
+      this.getSimilarProdList()
+    }
+  },
   /**
    * 分销绑定用户
    */
@@ -505,6 +526,106 @@ Page({
       }
     })
   },
+  // 获取推荐商品
+  getProdRecommended(){
+    http.request({
+      url: "/prod/prodRecommended",
+      method: "GET",
+      data: {
+        current: this.data.current,
+        size: 10,
+      },
+      callBack: (res) => {
+
+          if(res.records&&res.records.length){
+            let prodList = []
+            let img = ''
+            res.records.map(e => {
+              if(e.pic){
+                img = e.pic.split(',')
+                e.pic = img[0]
+              }
+            })
+            if (this.data.current == 1) {
+              this.setData({
+                prodList: res.records,
+                pages: res.pages,
+                current: res.current
+              });
+            } else {
+              prodList = this.data.prodList
+              prodList.push(...res.records)
+              this.setData({
+                prodList
+              })
+              if (res.records.length < 1) {
+                this.setData({
+                  isAll: true
+                })
+              }
+            }
+          }
+          
+        
+      }
+    })
+
+  },
+  // 获取相似商品
+  getSimilarProdList(){
+    let that = this
+    http.request({
+      url: "/prod/similarProdList",
+      method: "GET",
+      data: {
+        shopId:this.data.shopId,
+        prodId:this.data.prodId,
+        channelId:wx.getStorageSync('channelId'),
+        current: 1,
+        size: 18,
+      },
+      callBack: (res) => {
+          if(res.code == 200){
+            let list = that.splitArrayToPages(res.data.records)
+            that.setData({
+              list
+            })
+          }
+      }
+    })
+
+  },
+  // 工具函数:拆分数组为「最多3页,每页6个」
+    splitArrayToPages(arr) {
+      const pageSize = 6; // 每页6个
+      const maxPages = 3; // 最多3页
+      const result = [];
+
+      // 循环拆分:最多循环3次(确保只分3页)
+      for (let i = 0; i < maxPages; i++) {
+        // 计算当前页的起始索引:i * 6(第0页:0-5,第1页:6-11,第2页:12-17)
+        const start = i * pageSize;
+        // 截取当前页元素(不足6个时取剩余所有,超过18个时截取到17索引)
+        const page = arr.slice(start, start + pageSize);
+        // 加入结果数组(不足3页时,后续循环会push空数组)
+        result.push(page);
+      }
+
+      return result;
+    },
+  
+  /**
+   * 跳转到商品详情页
+   */
+  toProdPage: function (e) {
+    var prodid = e.currentTarget.dataset.prodid;
+    var shopid = e.currentTarget.dataset.shopid;
+    if (prodid) {
+      wx.navigateTo({
+        url: `/pages/prod/prod?prodid=${prodid}&shopid=${shopid}`,
+      })
+    }
+  },
 
   /**
    * 团购商品详情信息
@@ -793,7 +914,21 @@ Page({
    * 页面上拉触底事件的处理函数
    */
   onReachBottom: function () {
-
+    this.getNextPage()
+  },
+  // 触底加载下一页
+  getNextPage() {
+    console.log('getNextPage',this.data.current);
+    if (this.data.pages > this.data.current) {
+      this.setData({
+        current: this.data.current + 1
+      })
+      this.getProdRecommended()
+    } else {
+      this.setData({
+        isAll: true
+      })
+    }
   },
 
   /**
@@ -1175,7 +1310,6 @@ Page({
       url: '/pages/dis-center/dis-center',
     })
   },
-
   /**
    * 生成小程序二维码
    */

+ 1 - 3
pages/prod/prod.json

@@ -1,8 +1,6 @@
 {
   "usingComponents":{
-   "coupon": "/components/coupon/coupon",
-   "comm-star": "/components/commStar/commStar",
-   "login-popup": "/components/loginPopup/loginPopup"
+   "comm-star": "/components/commStar/commStar"
   },
   "navigationBarTitleText": "商品详情"
 }

+ 115 - 10
pages/prod/prod.wxml

@@ -9,7 +9,7 @@
       <image class="play-icon" wx:if="{{!isPlaying}}" src="../../images/icon/play-red.png"></image>
       <text class="play-text {{isPlaying?'video-stop':'video-play'}}">{{isPlaying?'退出播放': videoDuration}}</text>
     </view>
-    <swiper wx:if="{{!isPlaying}}" circular="{{true}}" indicator-dots="{{indicatorDots}}" indicator-color="{{indicatorColor}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{indicatorActiveColor}}">
+    <swiper class="swiper" wx:if="{{!isPlaying}}" circular="{{true}}" indicator-dots="{{indicatorDots}}" indicator-color="{{indicatorColor}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{indicatorActiveColor}}">
       <block wx:for="{{imgs}}" wx:key='index'>
         <swiper-item>
           <image src='{{item}}'></image>
@@ -87,7 +87,7 @@
     <!-- 满减折end -->
 
     <!-- 领券 -->
-    <view class="coupon border-radius-box" bindtap='showPopup' wx:if="{{couponList.length && !groupActivityId}}">
+    <!-- <view class="coupon border-radius-box" bindtap='showPopup' wx:if="{{couponList.length && !groupActivityId}}">
       <view class="coupon-tit">领券</view>
       <view class="coupon-con">
         <text class="item" wx:for="{{couponList}}" wx:if="{{index<2}}" wx:key="couponId">满{{item.cashCondition}}<block wx:if="{{item.couponType == 1}}">减{{item.reduceAmount}}</block>
@@ -96,7 +96,7 @@
       </view>
       <view class="num">共{{couponList.length}}张</view>
       <view class="more">...</view>
-    </view>
+    </view> -->
     <!-- 领券end -->
     <!-- 拼团信息 -->
     <view class="spell-infor" wx-if="{{joinGroupList.length}}">
@@ -176,17 +176,39 @@
       </view>
     </view>
     <!-- 评价 end -->
+
+    <!-- 相似商品和一起购买 -->
+    <view class="swiper-box">
+      <view class="tab-box">
+        <view class="tab {{tab == 0?'active':''}}" data-tab="0" bind:tap="handleTab">相似商品</view>
+        <view class="tab {{tab == 1?'active':''}}" data-tab="1" bind:tap="handleTab">经常一起买</view>
+      </view>
+      <swiper class="swiper-prod {{list[0].length>3?'h844':''}}"  wx-if="{{list.length>0}}" indicator-dots="true" indicator-active-color="#006CE8" >
+      <swiper-item class="swiper-item" wx:for="{{list}}" wx:if="{{item.length}}">
+          <view class="item" wx:for="{{item}}" wx:for-item="i" wx:for-index="d" wx:key="{{d}}" bindtap='toProdPage' data-prodid="{{i.prodId}}" data-shopid="{{i.shopId}}">
+            <image lazy-load class="item-img" src="{{i.pic}}" mode="widthFix"></image>
+            <view class="item-title">{{i.prodName}}</view>
+            <view class="price-box">
+                <view class="name-price" style="font-size:26rpx;color: #FF4D3A;">¥{{wxs.toPrice(i.price)}}</view>
+              <image style="width:44rpx;height:44rpx;" src="/images/icon/car-btn.png" mode=""/>
+            </view>
+          </view>
+      </swiper-item>
+
+      </swiper>
+
+    </view>
+
     <!-- 店铺 -->
-    <view class="shop-box border-radius-box">
+    <!-- <view class="shop-box border-radius-box"> -->
       <!-- top -->
-      <view class="shopbox-head">
+      <!-- <view class="shopbox-head">
         <view class="shop-logo">
           <image src="{{shopLogo}}"></image>
         </view>
         <view class="shop-name">{{shopName}}</view>
-        <!-- <view class="self-operate" wx-if="{{shopId==1}}">自营店铺</view> -->
         <view class="self-operate" >自营店铺</view>
-      </view>
+      </view> -->
       <!-- middle -->
       <!-- <view class="shop-situation">
       <view class="situation-item">
@@ -209,13 +231,97 @@
         <text class="handle-txt">进入店铺</text>
       </view>
     </view> -->
-    </view>
+    <!-- </view> -->
     <!-- 店铺end -->
     <!-- 商品详情 -->
     <view class="prod-detail">
       <rich-text nodes="{{content}}"></rich-text>
     </view>
     <!-- 商品详情end -->
+
+    <!-- 为你推荐-->
+    <view class="text-block" wx:if="{{prodList.length>0}}">
+      <image src="/images/icon/tuijian.png" mode="" class="icon"></image>
+      <view class="title">为你推荐</view>
+      <image src="/images/icon/tuijian.png" mode="" class="icon"></image>
+    </view>
+    <view class="prod-content" wx:if="{{prodList.length>0}}">
+        <view class="left">
+          <block wx:for="{{prodList}}" wx:key="index">
+            <view wx:if="{{index%2==0}}">
+              <view class="item" bindtap='toProdPage' data-prodid="{{item.prodId}}" data-shopid="{{item.shopId}}">
+                <view wx:if="{{item.stocks == 0}}" class="sell-out-box">
+                  <view class="sell-out-text">商品已售罄</view>
+                </view>
+                <image lazy-load class="item-img" src="{{item.pic}}" mode="widthFix"></image>
+                <view class="item-title-box">
+                  <view class="item-title">{{item.prodName}}</view>
+                </view>
+                <view class="name">
+                  <!-- <view class="name-title">{{'已售'+item.salesVolume}}</view> -->
+                  <!-- <view class="tag-box">
+                    <view class="tag">自营</view>
+                    <view class="text">月回头客5999+人</view>
+                  </view> -->
+                  <view class="heart">
+                    <view class="name-price">
+                      <view style="font-size:26rpx;color: #FF4D3A;">¥</view>{{wxs.toPrice(item.price)}}
+                    </view>
+                    <image style="width:52rpx;height:52rpx;" src="/images/icon/car-btn.png" mode=""/>
+                  </view>
+                  <!-- <view class="rank-box">
+                    <image src="/images/icon/top-icon.png" mode="" class="icon"/>
+                    <view class="text">粮油调味热卖榜</view>
+                    <image src="/images/icon/top1.png" mode="" class="top"/>
+                  </view> -->
+                </view>
+              </view>
+            </view>
+          </block>
+        </view>
+        <view class="right">
+          <block wx:for="{{prodList}}" wx:key="index">
+            <view wx:if="{{index%2==1}}">
+              <view class="item" bindtap='toProdPage' data-prodid="{{item.prodId}}"  data-shopid="{{item.shopId}}">
+                <view wx:if="{{item.stocks == 0}}" class="sell-out-box">
+                  <view class="sell-out-text">商品已售罄</view>
+                </view>
+                <image class="item-img" lazy-load src="{{item.pic}}" mode="widthFix"></image>
+                <view class="item-title-box">
+                  <view class="item-title">{{item.prodName}}</view>
+                </view>
+                <view class="name">
+                  <!-- <view class="name-title">{{'已售'+item.salesVolume}}</view> -->
+                  <!-- <view class="tag-box">
+                    <view class="tag">自营</view>
+                    <view class="text">月回头客5999+人</view>
+                  </view> -->
+                  <view class="heart">
+                    <view class="name-price">
+                      <view style="font-size:26rpx;color: #FF4D3A;">¥</view>{{wxs.toPrice(item.price)}}
+                    </view>
+                    <image style="width:52rpx;height:52rpx;" src="/images/icon/car-btn.png" mode=""/>
+                  </view>
+                  <!-- <view class="rank-box">
+                    <image src="/images/icon/top-icon.png" mode="" class="icon"/>
+                    <view class="text">粮油调味热卖榜</view>
+                    <image src="/images/icon/top1.png" mode="" class="top"/>
+                  </view> -->
+                </view>
+              </view>
+            </view>
+          </block>
+        </view>
+      </view>
+      <block wx:if="{{prodList.length>0}}">
+        <view class="tips" wx:if="{{isAll}}">已经到底咯~</view>
+        <view class="loading-box" wx:else>
+          <van-loading size="20px" type="spinner" color="#006CE8">加载中...</van-loading>
+        </view>
+      </block>
+
+      <!-- 为你推荐end -->
+
   </view>
 
   <!-- 底部按钮 -->
@@ -479,5 +585,4 @@
   </view>
 </view>
 <!-- 二维码弹窗 end -->
-<wxs module="wxs" src="../../wxs/number.wxs" />
-<!-- <login-popup bind:onGotUserInfo="onGotUserInfo" isAuthInfo="{{isAuthInfo}}"></login-popup> -->
+<wxs module="wxs" src="../../wxs/number.wxs" />

+ 225 - 2
pages/prod/prod.wxss

@@ -18,12 +18,12 @@ image {
   position: relative;
 }
 
-swiper {
+.swiper {
   height: 750rpx;
   width: 100%;
 }
 
-swiper image {
+.swiper image {
   height: 750rpx;
   width: 100%;
 }
@@ -671,6 +671,40 @@ swiper image {
   margin-left: 15rpx;
 }
 
+.swiper-box{
+  padding: 20rpx;
+  background: #fff;
+  margin-top: 20rpx;
+  border-radius: 16rpx;
+}
+.swiper-box .tab-box{
+  display: flex;
+}
+.swiper-box .tab-box .tab{
+  font-size: 32rpx;
+  color: #222222;
+  padding-bottom: 18rpx;
+  margin-right: 48rpx;
+}
+.swiper-box .tab-box .tab.active{
+  position: relative;
+  font-weight: bold;
+  font-size: 32rpx;
+  color: #222222;
+}
+.swiper-box .tab-box .tab.active::after{
+  content: '';
+  display: block;
+  position: absolute;
+  left: calc(50% - 20rpx);
+  bottom: 0;
+  width: 40rpx;
+  height: 8rpx;
+  background: #006CE8;
+  border-radius: 8rpx 8rpx 8rpx 8rpx;
+
+}
+
 /* 粉丝&商品 */
 .shop-situation {
   margin: 25rpx 0;
@@ -1746,4 +1780,193 @@ button.btn-type::after {
   text-align: center;
   color: #999;
   line-height: 2em;
+}
+
+.text-block{
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  margin-top: 28rpx;
+  margin-bottom: 20rpx;
+}
+.text-block .icon{
+  width: 26rpx;
+  height: 26rpx;
+}
+.text-block .title{
+  font-weight: bold;
+  font-size: 36rpx;
+  color: #006CE8;
+  padding: 0 12rpx;
+}
+
+.prod-content {
+  text-align: justify;
+  display: flex;
+  justify-content: space-between;
+}
+.left,
+.right {
+  display: inline-block;
+  vertical-align: top;
+  width: 344rpx;
+}
+
+.swiper-prod{
+  margin-top: 24rpx;
+  min-height: 424rpx;
+}
+.swiper-prod.h844{
+  min-height: 844rpx;
+}
+.swiper-prod  .wx-swiper-dots {
+  position: absolute;  /* 绝对定位,基于swiper容器 */
+  bottom: 0;        /* 距离底部20px(垂直位置核心) */
+
+}
+.swiper-prod .swiper-item{
+  display: grid;
+  /* 列规则:5列等宽(1fr 代表"剩余空间等份分配") */
+  grid-template-columns: repeat(3, 1fr);
+  /* 行列间距:10rpx(小程序常用 rpx 适配多端) */
+  gap: 20rpx;
+  /* 容器内边距:避免网格贴边 */
+  align-items: start;
+}
+.swiper-prod .item{
+  width: 204rpx;
+  border: 2rpx solid #F0F0F0;
+  border-radius: 16rpx;
+}
+.swiper-prod .item .item-img{
+  width: 100%;
+  vertical-align: bottom;
+}
+
+.swiper-prod .item .item-title{
+  font-weight: bold;
+  font-size: 24rpx;
+  color: #222222;
+  text-overflow: ellipsis;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  overflow: hidden;
+  padding: 0 20rpx;
+  margin-top: 20rpx;
+}
+
+.swiper-prod .item .price-box{
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-right: 8rpx;
+  margin-top: 20rpx;
+  padding: 0 20rpx;
+}
+
+.swiper-prod .item .price-box .name-price{
+  font-weight: bold;
+  font-size: 32rpx;
+  color: #FF4D3A;
+}
+
+
+.prod-content .item {
+  background-color: #fff;
+  /* margin-top: 20rpx; */
+  margin-bottom: 14rpx;
+  display: inline-block;
+  width: 344rpx;
+  border-radius: 16rpx;
+  overflow: hidden;
+  padding-bottom: 16rpx;
+  position: relative;
+}
+.prod-content .item .sell-out-box{
+  position: absolute;
+  top: 0;
+  left: 0;
+  border-radius: 16rpx;
+  width: 344rpx;
+  height: 100%;
+  background: rgba(255,255,255,0.6);
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.prod-content .item .sell-out-text{
+  width: 156rpx;
+  height: 156rpx;
+  line-height: 156rpx;
+  border-radius: 50%;
+  text-align: center;
+  background: rgba(0,0,0,0.6);
+  font-size: 28rpx;
+  color: #FFFFFF;
+}
+.prod-content .heart {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-right: 8rpx;
+  margin-top: 20rpx;
+}
+
+.prod-content .name-price {
+  display: flex;
+  align-items: center;
+  font-weight: 800;
+  font-size: 36rpx;
+  color: #FF4D3A;
+}
+
+.prod-content .item-img {
+  width: 100%;
+  vertical-align: bottom;
+}
+
+.prod-content .item-title {
+  font-weight: bold;
+  font-size: 28rpx;
+  text-overflow: ellipsis;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  -webkit-line-clamp: 2;
+  overflow: hidden;
+  font-family: 'PingFang SC-Medium';
+  color: #1e1e1e;
+  padding: 0 20rpx;
+  /* height: 40rpx; */
+  line-height: 40rpx;
+  /* background-color: turquoise; */
+}
+
+.prod-content .item .name {
+  padding: 0 15rpx;
+  margin-top: 20rpx;
+  padding-bottom: 10rpx;
+  align-items: center;
+  font-size: 22rpx;
+  font-family: 'PingFang SC-Medium';
+}
+
+
+.prod-content .item-title-box {
+  display: flex;
+  position: relative;
+  z-index: 2;
+}
+
+.tips {
+  height: 60rpx;
+  line-height: 60rpx;
+  text-align: center;
+  font-size: 24rpx;
+  color: #AAAAAA;
+}
+.loading-box{
+  text-align: center;
+  line-height: 80rpx;
+  height: 80rpx;
 }

+ 16 - 16
pages/search-page/search-page.js

@@ -36,23 +36,23 @@ Page({
    * 生命周期函数--监听页面显示
    */
   onShow: function () {
-    var ths = this;
-    //热门搜索
-    var params = {
-      url: "/search/hotSearch",
-      method: "GET",
-      data: {
-        number:10,
-        sort:1,
-      },
+    // var ths = this;
+    // //热门搜索
+    // var params = {
+    //   url: "/search/hotSearch",
+    //   method: "GET",
+    //   data: {
+    //     number:10,
+    //     sort:1,
+    //   },
    
-      callBack: function (res) {
-        ths.setData({
-        hotSearchList:res,
-        });
-      },
-    };
-    http.request(params);
+    //   callBack: function (res) {
+    //     ths.setData({
+    //     hotSearchList:res,
+    //     });
+    //   },
+    // };
+    // http.request(params);
 
     // 获取历史搜索
     this.getRecentSearch();

+ 2 - 2
pages/search-page/search-page.wxml

@@ -12,7 +12,7 @@
 
   <view class='search-display'>
     <!-- 热门搜索 -->
-    <view class='hot-search'>
+    <!-- <view class='hot-search'>
       <view class='title-text'>
         热门搜索
       </view>
@@ -21,7 +21,7 @@
         <text class='tags' bindtap='onHistSearch' data-name="{{item.content}}" >{{item.title}}</text>
         </block> 
       </view>
-    </view>
+    </view> -->
 
     <!-- 搜索历史 -->
     <view class='history-search'>

+ 1 - 0
pages/search-prod-show/search-prod-show.js

@@ -71,6 +71,7 @@ Page({
       sort: this.data.sts,
       isAllProdType: true,
       platform:1,
+      channelId:wx.getStorageSync('channelId'),
       lat: wx.getStorageSync('LATITUDE'),
       lon: wx.getStorageSync('LONGITUDE'),
       distance: 9999999||wx.getStorageSync('DISTANCE') || 0

+ 3 - 1
pages/shopCategory/shopCategory.js

@@ -68,7 +68,9 @@ Page({
         size:10,
         sort:0,
         isAllProdType: true,
-        platform:1
+        platform:1,
+        channelId:wx.getStorageSync('channelId'),
+
       },
       callBack:res=>{
         this.setData({

+ 0 - 66
pages/shopCollect/shopCollect.js

@@ -1,66 +0,0 @@
-// pages/shopCollect/shopCollect.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function (options) {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  }
-})

+ 0 - 4
pages/shopCollect/shopCollect.json

@@ -1,4 +0,0 @@
-{
-  "usingComponents": {},
-  "navigationBarTitleText": "收藏店铺"
-}

+ 0 - 36
pages/shopCollect/shopCollect.wxml

@@ -1,36 +0,0 @@
-<!-- 店铺收藏 -->
-<!--pages/shopCollect/shopCollect.wxml-->
-
-<view class="shop-collect">
-  <view class="top-fixed">
-    <view class="show-shop-num clearfix">
-      <view class="shop-num">您收藏了 <text class="red"> 3 </text> 个店铺</view>
-      <view class="editor red">编辑</view>
-    </view>
-  </view>
-
-  <!-- 店铺 -->
-  <view class="shop-item">
-    <view class="logo">
-      <image src=""></image>
-    </view>
-    <view class="shop-name">店铺名称店铺名称店铺名称店铺名称店铺名称</view>
-    <view class="self-operate">自营</view>
-  </view>
-
-  <view class="shop-item">
-    <view class="logo">
-      <image src=""></image>
-    </view>
-    <view class="shop-name">店铺名称</view>
-  </view>
-
-  <!-- 如果无收藏店铺 -->
-  <!-- <view class="empty">
-    <view class="empty-icon">
-      <image src="../../images/icon/empty.png"></image>
-    </view>
-    <view class="empty-text">您还没有收藏店铺</view>
-  </view> -->
-
-</view>

+ 0 - 103
pages/shopCollect/shopCollect.wxss

@@ -1,103 +0,0 @@
-/* 店铺收藏 */
-/* pages/shopCollect/shopCollect.wxss */
-/* 清除浮动 */
-.clearfix:after {
-  content: ".";
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-
-.shop-collect {
-  position: fixed;
-  width: 100%;
-  background: #f7f7f7;
-  height: 100%;
-  overflow: auto;
-}
-/* 头部固定 */
-.top-fixed {
-  margin-bottom: 80rpx;
-}
-.show-shop-num {
-  box-sizing: border-box;
-  position: fixed;
-  width: 100%;
-  top: 0;
-  padding: 20rpx;
-  background: #f7f7f7;
-  font-size: 28rpx;
-}
-.shop-num {
-  float: left;
-}
-.editor {
-  float: right;
-}
-.red {
-  color: #e4393c;
-}
-
-/* 店铺item */
-.shop-item {
-  background: #fff;
-  margin-bottom: 10rpx;
-  padding: 20rpx;
-}
-.logo,
-.shop-name {
-  display: inline-block;
-  vertical-align: middle;
-}
-.logo {
-  width: 220rpx;
-  height: 80rpx;
-  background: #eee;
-}
-.logo > image {
-  width: 100%;
-  height: 100%;
-}
-.shop-name {
-  font-size: 28rpx;
-  max-width: 50%;
-  overflow: hidden;
-  text-overflow:ellipsis;
-  white-space: nowrap;
-  margin: 0 20rpx;
-}
-/* 自营 */
-.self-operate {
-  display: inline-block;
-  font-size: 23rpx;
-  background: #e4393c;
-  color: #fff;
-  padding: 5rpx 7rpx 6rpx 7rpx;
-  border-radius: 5rpx;
-  line-height: 1em;
-}
-
-
-/* 列表为空 */
-.empty {
-  margin-top: 70rpx;
-  text-align: cneter;
-}
-.empty-icon {
-  display: block;
-  width: 80rpx;
-  height: 80rpx;
-  margin: 0 auto;
-  margin-bottom: 20rpx;
-}
-.empty-icon > image {
-  width: 100%;
-  height: 100%;
-}
-.empty-text {
-  font-size: 28rpx;
-  text-align: center;
-  color: #999;
-  line-height: 2em;
-}

+ 1 - 0
pages/shopPage/shopPage.js

@@ -116,6 +116,7 @@ Page({
       data: {
         shopId: this.data.shopId,
         platform:1,
+        channelId:wx.getStorageSync('channelId'),
         isAllProdType: true
       },
       callBack: (res) => {

+ 1 - 0
pages/shopProds/shopProds.js

@@ -54,6 +54,7 @@ Page({
         sort: this.data.sort,
         current: this.data.current,
         isAllProdType: true,
+        channelId:wx.getStorageSync('channelId'),
         platform:1
       },
       callBack: (res) => {

+ 1 - 0
pages/shopSearchResult/shopSearchResult.js

@@ -81,6 +81,7 @@ Page({
         sort: this.data.sts,
         shopId: this.data.shopId,
         isAllProdType: true,
+        channelId:wx.getStorageSync('channelId'),
         platform:1
       },
       callBack: function (res) {

+ 0 - 1
pages/snapUpDetail/snapUpDetail.json

@@ -1,6 +1,5 @@
 {
   "usingComponents": {
-    "login-popup": "/components/loginPopup/loginPopup"
   },
   "backgroundTextStyle": "light",
   "navigationBarTitleText": "秒杀商品详情"

+ 1 - 2
pages/snapUpDetail/snapUpDetail.wxml

@@ -142,5 +142,4 @@
 		</view>
 	</view>
 
-<wxs module="wxs" src="../../wxs/number.wxs" />
-<!-- <login-popup bind:onGotUserInfo="onGotUserInfo" isAuthInfo="{{isAuthInfo}}"></login-popup> -->
+<wxs module="wxs" src="../../wxs/number.wxs" />

+ 0 - 194
pages/snapUpList/snapUpList.js

@@ -1,194 +0,0 @@
-// pages/snapUpList/snapUpList.js
-const app = getApp()
-var http = require('../../utils/http.js');
-var config = require('../../utils/config.js');
-var util = require('../../utils/util.js');
-
-
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    seckillList: [], // 秒杀商品列表
-    countDownList: [], // 秒杀倒计时列表
-    countDownEndTimeList:[],
-    timer: '',
-    current: 1,
-  },
-  /**
-   * 获取秒杀商品列表
-   */
-  getsklist() {
-    http.request({
-      url: "/seckill/pageProd",
-      method: "GET",
-      data: {
-        current: this.data.current,
-        size: 5,
-        lat: wx.getStorageSync('LATITUDE'),
-        lon: wx.getStorageSync('LONGITUDE'),
-        distance: wx.getStorageSync('DISTANCE')||0
-      },
-      callBack: (res) => {
-        let result = []
-        result = res.records.filter(item => util.dateToTimestamp(item.endTime) > new Date().getTime())
-        this.setData({
-          seckillList: res.current == 1 ? result : this.data.seckillList.concat(result),
-          pages: res.pages
-        })
-        let endTimeList = []; // 倒计时数组
-        for (let i = 0; i < this.data.seckillList.length; i++) {
-          var objs = {}
-          objs.eTime = this.data.seckillList[i].endTime
-          objs.sTime = this.data.seckillList[i].startTime
-          objs.countType = null //1表示秒杀活动正在进行,0表示秒杀活动未开始
-          endTimeList.push(objs)
-        }
-        this.setData({
-          countDownEndTimeList: endTimeList
-        })
-        this.countdown()
-      }
-    })
-  },
-  countdown() {
-    // 获取当前时间,同时得到活动结束时间数组
-    let newTime = new Date().getTime();
-    let endTimeList = this.data.countDownEndTimeList;
-    let countDownArr = [];
-    // 对结束时间进行处理渲染到页面
-    endTimeList.forEach(o => {
-      if (newTime - util.dateToTimestamp(o.sTime) > 0) {
-        let endTime = util.dateToTimestamp(o.eTime);
-        let obj = null;
-        // 如果活动未结束,对时间进行处理
-        if (endTime - newTime > 0) {
-          let time = (endTime - newTime) / 1000;
-          // 获取天、时、分、秒
-          let day = parseInt(time / (60 * 60 * 24));
-          let hou = parseInt(time % (60 * 60 * 24) / 3600);
-          let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
-          let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
-          obj = {
-            day: this.timeFormat(day),
-            hou: `${this.timeFormat(hou)}`,
-            min: `${this.timeFormat(min)}`,
-            sec: `${this.timeFormat(sec)}`,
-            type: 1 // 表示秒杀正在进行
-          }
-        }
-        // 活动已结束
-        else {
-          obj = {
-            day: '00',
-            hou: '00',
-            min: '00',
-            sec: '00'
-          }
-        }
-        countDownArr.push(obj);
-      }
-      // 活动未开始
-      else {
-        let startTime = util.dateToTimestamp(o.sTime);
-        let time = (startTime - newTime) / 1000;
-        let obj = null;
-        // 获取天、时、分、秒
-        let day = parseInt(time / (60 * 60 * 24));
-        let hou = parseInt(time % (60 * 60 * 24) / 3600);
-        let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
-        let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
-        obj = {
-          day: this.timeFormat(day),
-          hou: `${this.timeFormat(hou)}`,
-          min: `${this.timeFormat(min)}`,
-          sec: `${this.timeFormat(sec)}`,
-          type: 0 // 表示秒杀还没开始
-        }
-        countDownArr.push(obj);
-      }
-    })
-    // 渲染,然后每隔一秒执行一次倒计时函数
-    this.setData({
-      countDownList: countDownArr,
-      timer: setTimeout(this.countdown, 1000)
-    })
-  },
-
-  //小于10的格式化函数
-  timeFormat(times) {
-    return Number(times) < 10 ? '0' + times : times;
-  },
-
-  //跳转秒杀商品详情页
-  toSeckillDetaile: function(e) {
-    var seckillId = e.currentTarget.dataset.seckillid;
-    wx.navigateTo({
-      url: "../snapUpDetail/snapUpDetail?seckillid=" + seckillId,
-    })
-  },
-
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function(options) {
-    this.getsklist(); //秒杀商品列表
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function() {
-    clearTimeout(this.data.timer)
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function() {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function() {
-    if(this.data.current < this.data.pages) {
-      this.setData({
-        current: this.data.current + 1
-      })
-      this.getsklist()
-    }
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function() {
-
-  }
-})

+ 0 - 7
pages/snapUpList/snapUpList.json

@@ -1,7 +0,0 @@
-{
-  "usingComponents": {},
-  "backgroundTextStyle": "light",
-  "navigationBarTitleText": "秒杀专场",
-  "navigationBarBackgroundColor": "#fff",
-  "navigationBarTextStyle": "black"
-}

+ 0 - 75
pages/snapUpList/snapUpList.wxml

@@ -1,75 +0,0 @@
-<!-- 秒杀专场 -->
-<!-- pages/snapUpList/snapUpList.wxml -->
-<view class="seckill-box">
-  <view class="banner">
-    <view class="bg">
-      <image src="../../images/icon/flash-bg.png"></image>
-    </view>
-    <view class="img">
-      <image src="../../images/icon/flash-banner.png"></image>
-    </view>
-  </view>
-  <view class="seckill-list">
-    <!-- 秒杀商品 -->
-    <block wx:for="{{seckillList}}" wx:key="seckillId">
-      <view class="item" bindtap="toSeckillDetaile" data-seckillid='{{item.seckillId}}'>
-        <!-- 商品图片 -->
-        <view class="img-box">
-          <image src="{{item.pic}}" mode="aspectFit"></image>
-        </view>
-        <!-- 商品信息 -->
-        <view class="goods-msg">
-          <!-- 秒杀在进行 -->
-          <view class="countdown-box" wx:if="{{countDownList[index].type===1}}">
-            <view class="tip">距结束</view>
-            <view class="num">{{countDownList[index].day}}</view>
-            <view class="text">天</view>
-            <view class="num">{{countDownList[index].hou}}</view>
-            <view class="text">:</view>
-            <view class="num">{{countDownList[index].min}}</view>
-            <view class="text">:</view>
-            <view class="num">{{countDownList[index].sec}}</view>
-          </view>
-          <!-- 秒杀未开始 -->
-          <view class="countdown-box" wx:if="{{countDownList[index].type!=1}}">
-            <view class="tip">距开始</view>
-            <view class="num">{{countDownList[index].day}}</view>
-            <view class="text">天</view>
-            <view class="num">{{countDownList[index].hou}}</view>
-            <view class="text">:</view>
-            <view class="num">{{countDownList[index].min}}</view>
-            <view class="text">:</view>
-            <view class="num">{{countDownList[index].sec}}</view>
-          </view>
-          <view class="goods-name">
-            <view class="discounts">减{{wxs.toPrice(item.price - item.seckillPrice)}}元</view>
-            <view class="name">{{item.prodName}}</view>
-          </view>
-          <view class="progress-box">
-            <view class="bg-box">
-              <view class="progress" style="width: {{wxs.rounding((item.seckillOriginStocks - item.seckillTotalStocks) * 100 / item.seckillOriginStocks)}}%"></view>
-            </view>
-            <view class="text">已抢{{wxs.rounding((item.seckillOriginStocks - item.seckillTotalStocks) * 100 / item.seckillOriginStocks)}}%</view>
-          </view>
-          <view class="goods-price">
-            <view class="price-box">
-              <text class="current-price"><text class="sub">¥</text>{{wxs.toPrice(item.seckillPrice)}}</text>
-              <text class="original-price">¥{{wxs.toPrice(item.price)}}</text>
-            </view>
-            <view class="residue">仅剩{{item.seckillTotalStocks}}件</view>
-          </view>
-        </view>
-      </view>
-    </block>
-
-    <!-- 空 -->
-    <view class="empty {{current==pages?'all':''}}" wx:if="{{seckillList.length==0 || current==pages}}">
-      <view class="empty-icon" wx:if="{{seckillList.length==0}}">
-        <image src="../../images/icon/empty.png"></image>
-      </view>
-      <view class="empty-text">{{current==pages?'已经到底了~':'商家还未发布秒杀相关商品'}}</view>
-    </view>
-  </view>
-</view>
-
-<wxs module="wxs" src="../../wxs/number.wxs" />

+ 0 - 206
pages/snapUpList/snapUpList.wxss

@@ -1,206 +0,0 @@
-/* pages/snapUpList/snapUpList.wxss */
-
-page {
-  background: #f4f4f4;
-}
-
-.seckill-box image {
-  width: 100%;
-  height: 100%;
-}
-
-.banner {
-  position: relative;
-  width: 750rpx;
-  height: 284rpx;
-  padding-top: 24rpx;
-}
-
-.banner .bg {
-  position: absolute;
-  top: 0;
-  left: 0;
-  font-size: 0;
-  width: 750rpx;
-  height: 220rpx;
-}
-
-.banner .img {
-  font-size: 0;
-  width: 710rpx;
-  height: 280rpx;
-  margin: 0 auto;
-  position: relative;
-}
-
-.seckill-list {
-  padding: 20rpx;
-}
-
-.seckill-list .item {
-  background: #fff;
-  margin-top: 24rpx;
-  border-radius: 10rpx;
-  display: flex;
-  padding: 20rpx;
-}
-
-.seckill-list .item:first-child {
-  margin-top: 0;
-}
-
-.seckill-list .item .img-box {
-  position: relative;
-  width: 220rpx;
-  height: 220rpx;
-  border-radius: 10rpx;
-  overflow: hidden;
-}
-
-.seckill-list .item .goods-msg {
-  flex: 1;
-  margin-left: 20rpx;
-}
-
-.seckill-list .item .goods-msg .countdown-box {
-  display: flex;
-  align-items: center;
-  font-size: 24rpx;
-  color: #666;
-  margin-top: 4rpx;
-}
-
-.seckill-list .item .goods-msg .countdown-box .tip {
-  margin-right: 10rpx;
-}
-
-.seckill-list .item .goods-msg .countdown-box .text {
-  margin: 0 6rpx;
-}
-
-.seckill-list .item .goods-msg .countdown-box .num {
-  font-family: arial;
-  font-size: 24rpx;
-  height: 32rpx;
-  line-height: 32rpx;
-  background: #333;
-  color: #fff;
-  text-align: center;
-  padding: 0 6rpx;
-  border-radius: 4rpx;
-}
-
-.seckill-list .item .goods-msg .goods-name {
-  margin-top: 20rpx;
-  display: flex;
-  align-items: center;
-}
-
-.seckill-list .item .goods-msg .goods-name .discounts {
-  margin-right: 10rpx;
-  background: #006CE8;
-  padding: 4rpx 10rpx;
-  color: #fff;
-  border-radius: 30rpx;
-  font-size: 20rpx;
-  font-weight: 400;
-}
-
-.seckill-list .item .goods-msg .goods-name .name {
-  flex: 1;
-  display: -webkit-box;
-  -webkit-box-orient: vertical;
-  -webkit-line-clamp: 1;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  font-size: 28rpx;
-  font-weight: 600;
-}
-
-
-.seckill-list .item .goods-msg .progress-box {
-  margin-top: 20rpx;
-  display: flex;
-  align-items: center;
-}
-
-.seckill-list .item .goods-msg .progress-box .bg-box {
-  flex: 1;
-  height: 22rpx;
-  background: #ffebeb;
-  border-radius: 22rpx;
-  overflow: hidden;
-}
-
-.seckill-list .item .goods-msg .progress-box .bg-box .progress {
-  height: 22rpx;
-  border-radius: 22rpx;
-  background: #ee1c1e;
-}
-
-.seckill-list .item .goods-msg .progress-box .text {
-  font-size: 24rpx;
-  color: #e43130;
-  margin-left: 20rpx;
-}
-
-.seckill-list .item .goods-msg .goods-price {
-  display: flex;
-  align-items: baseline;
-  margin-top: 26rpx;
-}
-
-.seckill-list .item .goods-msg .goods-price .price-box {
-  flex: 1;
-  display: flex;
-  align-items: baseline;
-}
-
-.seckill-list .item .goods-msg .goods-price .price-box .current-price {
-  color: #e43130;
-  font-size: 36rpx;
-  font-weight: 600;
-}
-
-.seckill-list .item .goods-msg .goods-price .price-box .current-price .sub {
-  font-size: 24rpx;
-}
-
-.seckill-list .item .goods-msg .goods-price .price-box .original-price {
-  font-size: 24rpx;
-  text-decoration: line-through;
-  color: #999;
-  margin-left: 10rpx;
-}
-
-.seckill-list .item .goods-msg .goods-price .residue {
-  font-size: 24rpx;
-  color: #999;
-}
-
-/* 列表为空 */
-.empty {
-  margin-top: 100rpx;
-  text-align: cneter;
-}
-.empty-icon {
-  display: block;
-  width: 80rpx;
-  height: 80rpx;
-  margin: 0 auto;
-  margin-bottom: 20rpx;
-}
-.empty-icon > image {
-  width: 100%;
-  height: 100%;
-}
-.empty-text {
-  font-size: 28rpx;
-  text-align: center;
-  color: #999;
-  line-height: 2em;
-}
-/* 分页加载完成 */
-.all{
-  margin: 30rpx;
-}

+ 0 - 511
pages/spellGoodsDetails/spellGoodsDetails.js

@@ -1,511 +0,0 @@
-// pages/snapUpDetail/snapUpDetail.js
-var http = require('../../utils/http.js');
-var config = require('../../utils/config.js');
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-    hideModal: true,
-    prodCommData: {},
-    littleCommPage: [],
-    evaluate: -1,
-    isCollection: false,
-    prodCommPage: {
-      current: 0,
-      pages: 0,
-      records: []
-    },
-    imgs: '', //商品图片
-    /** swiper */
-    indicatorDots: true,
-    autoplay: true,
-    indicatorColor: '#f2f2f2',
-    interval: 3000,
-    duration: 1000,
-    indicatorActiveColor: '#eb2444',
-    /** swiper */
-    content: '', //商品详情介绍
-    skuShow: false,  //sku选择
-    popupShow: false,
-    commentShow: false,
-    defaultSku: undefined,
-    skuGroup: {},
-    allProperties: [],
-    prodNum: 1, //数量+-
-    skuId: 0,
-    prodId: 0,
-
-    totalCartNum: 0,
-    pic: "",
-    imgs: '',
-    prodName: '',
-    price: 0,
-    content: '',
-    brief: '',
-    picDomain: config.picDomain,
-    groupSkuId:'',
-    groupTeamId: 0
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function (options) {
-    console.log(options);
-    this.setData({
-      prodId: options.prodid,
-    });
-
-    if (options.scene) {
-      // console.log(options.scene)
-      const scene = decodeURIComponent(options.scene);
-      var params = scene.split(",");
-      this.setData({
-        prodId: params[0],
-      });
-    }
-
-    // 加载商品信息
-    this.getProdInfo();
-    // 加载评论项
-    this.getLittleProdComm();
-  },
-
-
-  /**
-   * 获取商品信息
-   */
-  getProdInfo() {
-    wx.showLoading();
-    var params = {
-      url: "/prod/prodInfo",
-      method: "GET",
-      data: {
-        prodId: this.data.prodId,
-        // userType: 0
-      },
-      callBack: (res) => {
-        // console.log(res);
-        var imgStrs = res.imgs;
-        var imgs = imgStrs.split(",");
-        var content = util.formatHtml(res.content);
-        this.setData({
-          imgs: imgs,
-          content: content,
-          price: res.price,
-          prodName: res.prodName,
-          prodId: res.prodId,
-          brief: res.brief,
-          // skuId: res.skuId
-          skuList: res.skuList,
-          pic: res.pic
-        });
-        // 获取优惠券
-        this.getCouponList();
-        // 组装sku
-        this.groupSkuProp();
-
-        wx.hideLoading();
-      }
-    };
-    http.request(params);
-  },
-
-  showSku: function () {
-    this.setData({
-      skuShow: true
-    });
-  },
-
-
-  /**
-   * 根据sku的属性 分组
-   */
-  groupSkuProp: function () {
-    var skuList = this.data.skuList;
-    if (skuList.length == 1 && skuList[0].properties == "") {
-      this.setData({
-        defaultSku: skuList[0]
-      });
-      return;
-    }
-    var skuGroup = {};
-    var allProperties = [];
-    var propKeys = [];
-    for (var i = 0; i < skuList.length; i++) {
-      var defaultSku = this.data.defaultSku;
-      var isDefault = false;
-      if (!defaultSku && skuList[i].price == this.data.price) { //找到和商品价格一样的那个SKU,作为默认选中的SKU
-        defaultSku = skuList[i];
-        isDefault = true;
-        this.setData({
-          defaultSku: defaultSku
-        });
-      }
-      var properties = skuList[i].properties; //版本:公开版;颜色:金色;内存:64GB
-      allProperties.push(properties);
-      var propList = properties.split(";"); // ["版本:公开版","颜色:金色","内存:64GB"]
-
-      var selectedPropObj = this.data.selectedPropObj;
-      for (var j = 0; j < propList.length; j++) {
-
-        var propval = propList[j].split(":"); //["版本","公开版"]
-        var props = skuGroup[propval[0]]; //先取出 版本对应的值数组
-
-        //如果当前是默认选中的sku,把对应的属性值 组装到selectedProp
-        if (isDefault) {
-          propKeys.push(propval[0]);
-          selectedPropObj[propval[0]] = propval[1];
-        }
-
-        if (props == undefined) {
-          props = []; //假设还没有版本,新建个新的空数组
-          props.push(propval[1]); //把 "公开版" 放进空数组
-        } else {
-          if (!this.array_contain(props, propval[1])) { //如果数组里面没有"公开版"
-            props.push(propval[1]); //把 "公开版" 放进数组
-          }
-        }
-        skuGroup[propval[0]] = props; //最后把数据 放回版本对应的值
-      }
-      this.setData({
-        selectedPropObj: selectedPropObj,
-        propKeys: propKeys
-      });
-    }
-    this.parseSelectedObjToVals();
-    this.setData({
-      skuGroup: skuGroup,
-      allProperties: allProperties
-    });
-  },
-
-  /**
-   * 将已选的 {key:val,key2:val2}转换成 [val,val2]
-   */
-  parseSelectedObjToVals: function () {
-    var selectedPropObj = this.data.selectedPropObj;
-    var selectedProperties = "";
-    var selectedProp = [];
-    for (var key in selectedPropObj) {
-      selectedProp.push(selectedPropObj[key]);
-      selectedProperties += key + ":" + selectedPropObj[key] + ";";
-    }
-    selectedProperties = selectedProperties.substring(0, selectedProperties.length - 1);
-    // console.log(selectedProperties);
-    this.setData({
-      selectedProp: selectedProp
-    });
-
-    for (var i = 0; i < this.data.skuList.length; i++) {
-      if (this.data.skuList[i].properties == selectedProperties) {
-        this.setData({
-          defaultSku: this.data.skuList[i]
-        });
-        break;
-      }
-    }
-  },
-
-  /**
-   * 点击选择规格
-   */
-  toChooseItem: function (e) {
-    var ok = e.currentTarget.dataset.ok;
-    if (!ok) {
-      return;
-    }
-    var val = e.currentTarget.dataset.val;
-    var key = e.currentTarget.dataset.key;
-    var selectedPropObj = this.data.selectedPropObj;
-    selectedPropObj[key] = val;
-    this.setData({
-      selectedPropObj: selectedPropObj
-    });
-    this.parseSelectedObjToVals();
-  },
-
-  /**
-  * 加数量
-  */
-  onCountPlus: function () {
-    var prodNum = this.data.prodNum;
-    if (prodNum < 1000) {
-      this.setData({
-        prodNum: prodNum + 1
-      });
-    }
-  },
-
-  /**
-  * 减数量
-  */
-  onCountMinus: function () {
-    var prodNum = this.data.prodNum;
-    if (prodNum > 1) {
-      this.setData({
-        prodNum: prodNum - 1
-      });
-    }
-  },
-
-  /**
-   * 关闭弹窗
-   */
-  closePopup: function () {
-    this.setData({
-      popupShow: false,
-      skuShow: false,
-      commentShow: false
-    });
-  },
-
-
-  /**
-   * 获取部分评论
-   */
-  getLittleProdComm() {
-    if (this.data.prodCommPage.records.length) {
-      return;
-    }
-    this.getProdCommPage();
-  },
-  getMoreCommPage(e) {
-    this.getProdCommPage();
-  },
-  // 获取分页获取评论
-  getProdCommPage(e) {
-    if (e) {
-      if (e.currentTarget.dataset.evaluate === this.data.evaluate) {
-        return;
-      }
-      this.setData({
-        prodCommPage: {
-          current: 0,
-          pages: 0,
-          records: []
-        },
-        evaluate: e.currentTarget.dataset.evaluate
-      })
-    }
-    http.request({
-      url: "/p/prodComm/prodCommPageByProd",
-      method: "GET",
-      data: {
-        prodId: this.data.prodId,
-        size: 10,
-        current: this.data.prodCommPage.current + 1,
-        evaluate: this.data.evaluate
-      },
-      callBack: (res) => {
-        res.records.forEach(item => {
-          if (item.pics) {
-            item.pics = item.pics.split(',')
-          }
-        })
-        let records = this.data.prodCommPage.records
-        records = records.concat(res.records)
-        this.setData({
-          prodCommPage: {
-            current: res.current,
-            pages: res.pages,
-            records: records
-          }
-        })
-        // 如果商品详情中没有评论的数据,截取两条到商品详情页商品详情
-        if (!this.data.littleCommPage.length) {
-          this.setData({
-            littleCommPage: records.slice(0, 2)
-          })
-        }
-      }
-    })
-  },
-  showComment: function () {
-    this.setData({
-      commentShow: true
-    });
-  },
-
-
-  /**
-   * 立即购买
-   */
-  buyNow: function() {
-    wx.setStorageSync("orderItem", JSON.stringify({
-      prodId: this.data.prodId,
-      skuId: this.data.defaultSku.skuId,
-      prodCount: this.data.prodNum,
-      shopId: this.data.shopId,
-      distributionCardNo: this.data.distributionCardNo
-    }));
-    wx.navigateTo({
-      url: '/pages/submit-order/submit-order?orderEntry=1',
-    })
-
-  },
-
-
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-
-  /**
-   * 显示遮罩层
-   */
-  showModal: function () {
-    var that = this;
-    that.setData({
-      hideModal: false
-    })
-    var animation = wx.createAnimation({
-      duration: 600,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快 
-      timingFunction: 'ease',//动画的效果 默认值是linear 
-    })
-    this.animation = animation
-    setTimeout(function () {
-      that.fadeIn();//调用显示动画
-    }, 100)
-  },
-
-
-  /**
-   * 隐藏遮罩层
-   */
-  hideModal: function () {
-    var that = this;
-    var animation = wx.createAnimation({
-      duration: 800,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快 
-      timingFunction: 'ease',//动画的效果 默认值是linear
-    })
-    this.animation = animation
-    that.fadeDown();//调用隐藏动画
-    setTimeout(function () {
-      that.setData({ hideModal: true })
-    }, 720)//先执行下滑动画,再隐藏模块
-  },
-
-
-  /**
-   * 动画集
-   */
-  fadeIn: function () {
-    this.animation.translateY(0).step()
-    this.setData({
-      animationData: this.animation.export()//动画实例的export方法导出动画数据传递给组件的animation属性
-    })
-  },
-  fadeDown: function () {
-    this.animation.translateY(300).step()
-    this.setData({
-      animationData: this.animation.export(),
-    })
-  },
-
-  /**
-   * 跳转到首页
-   */
-  toHomePage: function () {
-    wx.switchTab({
-      url: '/pages/index/index',
-    })
-  },
-
-  /**
-   * 跳转到购物车
-   */
-  toCartPage: function () {
-    wx.switchTab({
-      url: '/pages/basket/basket',
-    })
-  },
-  /**
-   * 查看拼团团队
-   */
-  toGroupTempInfoPage: function (e) {
-    wx.navigateTo({
-      url: '/pages/spellMembersDetails/spellMembersDetails?groupTeamId=' + e.currentTarget.dataset.groupTeamId,
-    })
-  },
-  /**
-   * 拼团确认订单
-   */
-  groupConfirmOrder: function(e){
-    var ths = this;
-    wx.showLoading({
-      mask: true
-    });
-    // 查看是否授权
-    wx.getSetting({
-      success(res) {
-        wx.hideLoading();
-        if (res.authSetting['scope.userInfo']) {
-          ths.setData({
-            isAuthInfo: true
-          });
-          wx.setStorageSync("groupOrderItem", JSON.stringify({
-            groupSkuId: 1,// this.data.groupSkuId,
-            prodCount:  this.data.prodNum,
-            groupTeamId: 0 // this.data.groupTeamId
-          }));
-          wx.navigateTo({
-            url: '/pages/groupConfirmOrder/groupConfirmOrder',
-          })
-        } else {
-          ths.setData({
-            isAuthInfo: false
-          });
-        }
-      }
-    })
-  }
-
-})

+ 0 - 7
pages/spellGoodsDetails/spellGoodsDetails.json

@@ -1,7 +0,0 @@
-{
-  "usingComponents": {},
-  "backgroundTextStyle": "light",
-  "navigationBarBackgroundColor": "#fff",
-  "navigationBarTitleText": "拼团商品详情",
-  "navigationBarTextStyle": "black"
-}

+ 0 - 333
pages/spellGoodsDetails/spellGoodsDetails.wxml

@@ -1,333 +0,0 @@
-<!-- 拼团商品详情 -->
-<!--pages/snapUpDetail/snapUpDetail.wxml-->
-
-<view class="top-goods-box">
-  <!-- 商品图片 -->
-  <!-- 轮播图 -->
-  <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" indicator-color="{{indicatorColor}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{indicatorActiveColor}}">
-    <block wx:for="{{imgs}}" wx:key='*this'>
-      <swiper-item>
-        <image src='{{item}}'></image>
-      </swiper-item>
-    </block>
-  </swiper>
-  <!-- 轮播图end -->
-  <!-- 倒计时栏 -->
-  <view class="countdown-box clearfix">
-    <!-- 拼团 -->
-    <text class="second-kill">拼团</text>
-    <!-- 拼团开始后 -->
-    <view class="countdown-content">
-      <text class="countdown-tips">距结束仅剩</text>
-      <text class="countdown-time">5 天 17 时 31 分 55 秒</text>
-    </view>
-    <!-- 拼团开始前 -->
-    <!-- <view class="countdown-content">
-      <text class="countdown-tips">距开始仅剩</text>
-      <text class="countdown-time">01 天 08 时 28 分 49 秒</text>
-    </view> -->
-  </view>
-
-  <!-- 商品信息 -->
-  <view class="goods-msg">
-    <!-- 标题 -->
-    <view class="goods-title">{{prodName}}</view>
-    <!-- 分享btn -->
-    <view class="share-icon">
-      <image src="../../images/icon/share.png"></image>
-      <view class="share-text">分享</view>
-    </view>
-    <!-- 拼团价格区 -->
-    <view class="goods-price">
-      <view class="current-price">
-        <text class="current-price"><text class="sub">¥</text>1.00</text>
-        <text class="condition">3人拼团价</text>
-      </view>
-      <view class="original">原价<text class="original-price">¥2.00</text></view>
-    </view>
-    <!-- 运费 -->
-    <view class="other-infor clearfix">
-      <text class="freight">运费:免运费</text>
-      <text class="inventory">剩余:44</text>
-    </view>
-    <!-- 【秒杀】预计开始时间 -->
-    <view class="expect-start display">
-      <text class="second-kill-icon">秒杀</text>
-      预计 06 日 00:00:00 开始
-    </view>
-  </view>
-</view>
-
-
-<!-- 拼团信息 -->
-<view class="spell-infor">
-  <view class="spell-infor-title">
-    以下小伙伴正在发起拼团,你可以直接参加
-  </view>
-  <view class="spell-infor-content">
-    <!-- 头像 -->
-    <view class="head-img">
-      <image src="../../images/icon/head01.png"></image>
-    </view>
-    <!-- 信息 -->
-    <view class="spell-msg">
-      <view class="username">6.***</view>
-      <view class="spell-text">还差 <text class="red-font"> 2 </text> 人成团,剩余 23时59分08秒</view>
-    </view>
-    <!-- 凑团按钮 -->
-    <view class="join-group"  >去凑团</view>
-  </view>
-  <!-- 详情 -->
-  <view class="rules clearfix">
-    <text class="rules-text01">支付开团邀请2人参团,人数不足自动退款</text>
-    <text class="rules-text02">玩法详情</text>
-    <view class="right-arrow"><image src="../../images/icon/more.png"></image></view>
-  </view>
-</view>
-
-
-<!-- 拼团信息end -->
-
-
-<!-- 颜色 -->
-<!-- <view class="choose-color" bindtap="showModal">
-  选择:颜色
-  <view class="more-icon"><image src="../../images/icon/more.png"></image></view>
-</view> -->
-<!-- 已选规格 -->
-<view class="sku" bindtap='showSku'>
-  <view class="sku-tit">已选</view>
-  <view class="sku-con">{{selectedProp.length>0?selectedProp+',':selectedProp}}{{prodNum}}件</view>
-  <view class="more">...</view>
-</view>
-<!-- 已选规格end -->
-
-
-<!-- 店铺 -->
-<view class="shop-box">
-  <view class="shop-icon"><image src="../../images/icon/thumb.png"></image></view>
-  <text class="shop-name">笑橙小店190904</text>
-  <view class="more-icon"><image src="../../images/icon/more.png"></image></view>
-</view>
-
-
-<!-- 评价 -->
-<view class='cmt-wrap'>
-  <view class="cmt-tit" bindtap='showComment'>
-    <view class="cmt-t">
-      评价
-      <text class="cmt-good">好评{{prodCommData.positiveRating}}%</text>
-    </view>
-    <view class="cmt-count">
-      共{{prodCommData.number}}条
-      <text class="cmt-more"></text>
-    </view>
-  </view>
-  <view class="cmt-cont">
-    <view class="cmt-tag" bindtap='showComment'>
-      <text>全部({{prodCommData.number}})</text>
-      <text>好评({{prodCommData.praiseNumber}})</text>
-      <text>中评({{prodCommData.secondaryNumber}})</text>
-      <text>差评({{prodCommData.negativeNumber}})</text>
-      <text>有图({{prodCommData.picNumber}})</text>
-    </view>
-    <view class="cmt-items">
-      <view class="cmt-item" wx:for="{{littleCommPage}}" wx:key="prodCommId">
-        <view class="cmt-user">
-          <text class="date">{{item.recTime}}</text>
-          <view class="cmt-user-info">
-            <image class="user-img" src="{{item.pic}}"></image>
-            <view class="nickname">{{item.nickName}}</view>
-            <comm-star value="{{item.score}}"></comm-star>
-          </view>
-        </view>
-        <view class="cmt-cnt">{{item.content}}</view>
-        <scroll-view class="cmt-attr" scroll-x="true" wx:if="{{item.pics.length}}">
-          <image src="{{commPic}}" wx:for='{{item.pics}}' wx:for-item="commPic" wx:key='*this'></image>
-        </scroll-view>
-      </view>
-    </view>
-    <view class="cmt-more-v" wx:if="{{prodCommPage.records.length > 2}}">
-      <text bindtap='showComment'>查看全部评价</text>
-    </view>
-  </view>
-</view>
-<!-- 评价 end -->
-
-
-<!-- 商品详情介绍 -->
-  <view class="prod-detail">
-    <view>
-      <rich-text nodes="{{content}}"></rich-text>
-    </view>
-  </view>
-  <!-- 商品详情end -->
-
-
-<!-- 【拼团】底部按钮 -->
-<view class="foot-box">
-  <view class="footer">
-    <view class="foot-btn" bindtap='toHomePage'>
-      <image src="../../images/tabbar/homepage.png"></image>
-      首页
-    </view>
-    <view class="foot-btn" bindtap='toCartPage'>
-      <image src="../../images/tabbar/basket.png"></image>
-      购物车
-      <view class='badge badge-1' wx:if="{{totalCartNum>0}}">{{totalCartNum}}</view>
-    </view>
-    <view class="buy-btn alone-buy" bindtap='buyNow'>
-      <text>¥1.00购买</text>
-    </view>
-    <view class="buy-btn group-buy" bindtap='showModal'>
-      <text>¥0.01开团</text>
-    </view>
-  </view>
-</view>
-<!-- end 底部按钮 -->
-
-
-<!-- 拼团底部弹框 -->
-<view class="modals" hidden="{{hideModal}}">
-  <view class="modals-cancel" bindtap="hideModal"></view>
-  <view class="bottom-dialog-body bottom-pos" animation="{{animationData}}">
-    <!-- 上部 -->
-    <view class="top-content">
-      <view class="top-content-img-box">
-        <image src="" />
-      </view>
-      <!-- 商品信息 -->
-      <view class="goods-msg-box">
-        <view class="goods-names">测试商品名称一</view>
-        <view class="spell-group-price">3人拼团价</view>
-        <view class="goods-prices">¥<text class="rmb-symbol">1.00</text></view>
-        <!-- 关闭按钮 -->
-      </view>
-      <view class="close-btn" bindtap="hideModal"><image src="../../images/icon/close.png"></image></view>
-    </view>
-
-    <!-- 颜色 -->
-    <view class="choose-color-box">
-      <view class="color-txt">颜色:</view>
-      <view class="color-box">
-        <text class="color-item color-item-current">红色</text>
-        <text class="color-item">黄色</text>
-      </view>
-    </view>
-
-    <!-- 数量 -->
-    <view class="quantity">
-      <view class="left-text">
-        <view class="left-text-top">购买数量:</view>
-        <view class="left-text-bottom">剩余96件</view>
-      </view>
-      <!-- 数量加减 -->
-      <view class="right-choose">
-        <view class="subtract">–</view>
-        <view class="show-num">1</view>
-        <view class="add current-state">+</view>
-      </view>
-    </view>
-
-    <!-- 确认按钮 -->
-    <view class="confirm-btn" bindtap="groupConfirmOrder">确认</view>
-    
-  </view>
-</view>
-<!-- 拼团底部弹框 end -->
-
-
-<!-- 评价弹窗 -->
-<view class="cmt-popup" wx:if="{{commentShow}}">
-  <view class="cmt-tit">
-    <view class="cmt-t">
-      商品评价
-      <text class="cmt-good">好评度{{prodCommData.positiveRating}}%</text>
-    </view>
-    <text class="close" bindtap='closePopup'></text>
-  </view>
-  <view class="cmt-cont">
-    <view class="cmt-tag">
-      <text bindtap='getProdCommPage' data-evaluate="-1" class="{{evaluate==-1?'selected':''}}">全部({{prodCommData.number}})</text>
-      <text bindtap='getProdCommPage' data-evaluate="0" class="{{evaluate==0?'selected':''}}">好评({{prodCommData.praiseNumber}})</text>
-      <text bindtap='getProdCommPage' data-evaluate="1" class="{{evaluate==1?'selected':''}}">中评({{prodCommData.secondaryNumber}})</text>
-      <text bindtap='getProdCommPage' data-evaluate="2" class="{{evaluate==2?'selected':''}}">差评({{prodCommData.negativeNumber}})</text>
-      <text bindtap='getProdCommPage' data-evaluate="3" class="{{evaluate==3?'selected':''}}">有图({{prodCommData.picNumber}})</text>
-    </view>
-    <view class="cmt-items">
-      <view class="cmt-item" wx:for="{{prodCommPage.records}}" wx:key="prodCommId">
-        <view class="cmt-user">
-          <text class="date">{{item.recTime}}</text>
-          <view class="cmt-user-info">
-            <image class="user-img" src="{{item.pic}}"></image>
-            <view class="nickname">{{item.nickName}}</view>
-            <comm-star value="{{item.score}}"></comm-star>
-          </view>
-        </view>
-        <view class="cmt-cnt">{{item.content}}</view>
-        <scroll-view class="cmt-attr" scroll-x="true" wx:if="{{item.pics.length}}">
-          <image src="{{commPic}}" wx:for='{{item.pics}}' wx:for-item="commPic" wx:key='*this'></image>
-        </scroll-view>
-        <view class="cmt-reply" wx:if="{{item.replyContent}}">
-          <text class='reply-tit'>店铺回复:</text> {{item.replyContent}}
-        </view>
-      </view>
-    </view>
-    <view class="load-more" wx:if='{{prodCommPage.pages > prodCommPage.current}}'>
-      <text bindtap='getMoreCommPage'>点击加载更多</text>
-    </view>
-  </view>
-</view>
-<!-- 评价弹窗 end -->
-
-
-<!-- 规格弹窗 -->
-<view class="pup-sku" wx:if="{{skuShow}}">
-  <view class="pup-sku-main">
-    <view class='pup-sku-header'>
-      <image class="pup-sku-img" src="{{defaultSku.pic?defaultSku.pic:pic}}"></image>
-      <view class="pup-sku-price">
-        ¥
-        <text class="pup-sku-price-int">{{wxs.parsePrice(defaultSku.price)[0]}}</text> .{{wxs.parsePrice(defaultSku.price)[1]}}
-      </view>
-      <view class='pup-sku-prop'>
-        <text>已选</text> {{selectedProp.length>0?selectedProp+',':selectedProp}}{{prodNum}}件
-      </view>
-      <view class='close' bindtap='closePopup'></view>
-    </view>
-    <view class='pup-sku-body'>
-      <view class="pup-sku-area">
-        <block wx:for="{{skuGroup}}" wx:for-index="key" wx:for-item="value" wx:key='*this'>
-          <view class='sku-kind'>{{key}}</view>
-          <view class='sku-choose'>
-            <block wx:for="{{value}}" wx:key='*this'>
-              <text class="sku-choose-item {{wxs.array_contain(selectedProp,item)?'active':''}} {{wxs.props_contain(allProperties,selectedPropObj,key,item,propKeys)?'':'gray'}}" data-ok="{{wxs.props_contain(allProperties,selectedPropObj,key,item,propKeys)}}" bindtap='toChooseItem'
-                data-key="{{key}}" data-val="{{item}}">{{item}}</text>
-            </block>
-          </view>
-        </block>
-      </view>
-      <view class="pup-sku-count">
-        <view class="num-wrap">
-          <view class="minus" bindtap='onCountMinus'>
-            <text class="row"></text>
-          </view>
-          <view class="text-wrap">
-            <input type="number" value="{{prodNum}}" disabled />
-          </view>
-          <view class="plus" bindtap='onCountPlus'>
-            <text class="row"></text>
-            <text class="col"></text>
-          </view>
-        </view>
-        <view class="count-name">数量</view>
-      </view>
-    </view>
-    <view class='pup-sku-footer'>
-      <view class="btn cart" bindtap='buyNow'>¥1.00购买</view>
-      <view class="btn buy" bindtap=''>¥0.01开团</view>
-    </view>
-  </view>
-</view>
-<!-- 规格弹窗 end -->
-

+ 0 - 1004
pages/spellGoodsDetails/spellGoodsDetails.wxss

@@ -1,1004 +0,0 @@
-/* pages/snapUpDetail/snapUpDetail.wxss */
-clearfix::after {
-  display: block;
-  content: '';
-  clear: both;
-}
-image {
-  width: 100%;
-  height: 100%;
-}
-.display {
-  display: none;
-}
-.sub {
-  font-size: 23rpx;
-}
-
-swiper {
-  height: 500rpx;
-  width: 100%;
-  border-bottom: 2rpx solid #f8f8f8;
-}
-
-swiper image {
-  height: 500rpx;
-  width: 100%;
-}
-
-/* 倒计时栏 */
-.countdown-box {
-  width: 100%;
-  height: 70rpx;
-  line-height: 70rpx;
-  background: #ff5352;
-  color: #fff;
-  padding: 0 30rpx;
-  box-sizing: border-box;
-}
-.second-kill {
-  font-size: 30rpx;
-}
-.countdown-content {
-  float: right;
-  font-size: 25rpx;
-  height: 70rpx;
-  line-height: 70rpx;
-  text-align: left;
-}
-.countdown-tips {
-  padding: 10rpx 0;
-  font-size: 20rpx;
-  opacity: 0.8;
-  margin-right: 10rpx;
-}
-.countdown-time {
-  font-size: 21rpx;
-  padding-top: 5rpx;
-}
-
-/* 商品信息 */
-.goods-msg {
-  position: relative;
-  box-sizing: border-box;
-  padding: 20rpx;
-  border-bottom: 20rpx solid #f9f8f8;
-}
-/* 分享按钮 */
-.share-icon {
-  position: absolute;
-  display: block;
-  width: 60rpx;
-  height: 25rpx;
-  right: 20rpx;
-  top: 10rpx;
-  text-align: center;
-}
-.share-icon > image {
-  width: 25rpx;
-  /* height: 5rxp; */
-}
-.share-text {
-  font-size: 22rpx;
-  color: #aaa;
-}
-.goods-title {
-  font-size: 28rpx;
-}
-/* 价格 */
-.goods-price {
-  padding: 15rpx 0;
-  border-bottom: 1px solid #f3f3f3;
-}
-.current-price {
-  color: red;
-  font-size: 30rpx;
-  margin-right: 15rpx;
-  vertical-align: middle;
-}
-.original {
-  font-size: 23rpx;
-  color: #bbb;
-    margin-top: 15rpx;
-}
-.original-price {
-  font-size: 23rpx;
-  text-decoration: line-through;
-  color: #bbb;
-  margin-left: 10rpx;
-}
-/* 拼团价格 */
-.condition {
-  font-size: 23rpx;
-  border: 1rpx solid red;
-  padding: 4rpx 10rpx;
-  border-radius: 8rpx;
-  vertical-align: middle;
-}
-
-/* 运费&库存 */
-.other-infor {
-  font-size: 23rpx;
-  color: #aaa;
-  padding-top: 15rpx;
-  text-align: left;
-}
-.inventory {
-  margin-left: 9em;
-}
-
-/* 拼团详情 */
-.spell-infor {
-  display: block;
-  border-bottom: 20rpx solid #f7f7f7;
-  font-size: 28rpx;
-  padding: 20rpx;
-  background: #fff;
-}
-.spell-infor-title {
-  font-size: 26rxp;
-}
-.spell-infor-content {
-  position: relative;
-  padding-top: 20rpx;
-  padding-bottom: 20rpx;
-  border-bottom: 1rpx solid #f2f2f2;
-}
-.head-img {
-  display: inline-block;
-  width: 70rpx;
-  height: 70rpx;
-  margin-right: 15rpx;
-  vertical-align: bottom;
-}
-.head-img > image {
-  width: 100%;
-  height: 100%;
-}
-.spell-msg {
-  display: inline-block;
-  vertical-align: top;
-  font-size: 24rpx;
-}
-.spell-text {
-  padding-top: 10rpx;
-  color: #aaa;
-}
-.red-font {
-  color: red;
-}
-.join-group {
-  position: absolute;
-  right: 10rpx;
-  bottom: 30rpx;
-  color: red;
-  border: 1rpx solid red;
-  padding: 10rpx 15rpx;
-  font-size: 24rpx;
-}
-.rules {
-  position: relative;
-  font-size: 25rpx;
-  padding-top: 20rpx;
-}
-.rules-text02 {
-  float: right;
-  font-size: 23rpx;
-  color: #aaa;
-  padding-right: 30rpx;
-}
-.right-arrow {
-  position: absolute;
-  right: 5rpx;
-  top: 20rpx;
-  display: inline-block;
-  width: 20rpx;
-  height: 20rpx;
-}
-
-/* 选择颜色 */
-.choose-color {
-  position: relative;
-  padding: 20rpx;
-  font-size: 23rpx;
-  border-bottom: 20rpx solid #f9f8f8;
-}
-.more-icon {
-  position: absolute;
-  right: 20rpx;
-  top: 50%;
-  transform: translateY(-50%);
-  display: block;
-  width: 20rpx;
-  height: 20rpx;
-}
-
-/* 已选 */
-.sku {
-  position: relative;
-  padding: 10rpx 20rpx;
-  background: #fff;
-  border-bottom: 20rpx solid #f7f7f7;
-}
-.sku-tit {
-  display: inline-block;
-  font-size: 23rpx;
-  color: #999;
-  vertical-align: middle;
-}
-.sku-con {
-  display: inline-block;
-  margin-left: 50rpx;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  overflow: hidden;
-  font-size: 28rpx;
-  font-weight: bold;
-  vertical-align: middle;
-}
-.more {
-  position: absolute;
-  right: 20rpx;
-  width: 40rpx;
-  line-height: 1em;
-  top: 0;
-  text-align: right;
-  font-size: 40rpx;
-  color: #999;
-  letter-spacing: 1px;
-  vertical-align: top;
-}
-
-/** 规格弹窗**/
-.close {
-  color: #aaa;
-  border-radius: 12px;
-  line-height: 20px;
-  text-align: center;
-  height: 20px;
-  width: 20px;
-  font-size: 18px;
-  padding: 1px;
-  top: 10px;
-  right: 10px;
-  position: absolute;
-}
-
-.close::before {
-  content: "\2716";
-}
-.pup-sku {
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  z-index: 999;
-  background-color: rgba(0, 0, 0, 0.3);
-}
-.pup-sku-main {
-  position: absolute;
-  bottom: 0;
-  width: 100%;
-  min-height: 375px;
-  max-height: 475px;
-  background-color: #fff;
-}
-.pup-sku-header {
-  position: relative;
-  line-height: 46px;
-  padding-left: 10px;
-  font-size: 16px;
-  color: #333;
-  height: 70px;
-  padding: 0 0 10px 110px;
-  background-color: #fff;
-  border-bottom: 1rpx solid #f2f2f2;
-}
-.pup-sku-img {
-  position: absolute;
-  left: 10px;
-  top: -20px;
-  border-radius: 2px;
-  width: 90px;
-  height: 90px;
-  border: 0 none;
-  vertical-align: top;
-}
-.pup-sku-price {
-  display: inline-block;
-  height: 40px;
-  line-height: 40px;
-  color: #e4393c;
-  font-size: 10px;
-}
-.pup-sku-price-int {
-  font-size: 16px;
-}
-.pup-sku-prop {
-  word-break: break-all;
-  font-size: 12px;
-  color: #333;
-  line-height: 1.4em;
-  padding-right: 10px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  -webkit-box-orient: vertical;
-}
-.pup-sku-prop text {
-  color: #999;
-  margin-right: 5px;
-}
-.pup-sku-body {
-  box-sizing: border-box;
-  max-height: 379px;
-  padding-bottom: 100px;
-  overflow: auto;
-}
-.pup-sku-area .sku-kind {
-  font-size: 12px;
-  color: #999;
-  margin: 0 10px;
-  height: 40px;
-  line-height: 40px;
-}
-.pup-sku-area .sku-choose {
-  overflow: hidden;
-  margin-bottom: 3px;
-}
-.sku-choose-item {
-  display: inline-block;
-  padding: 0 10px;
-  min-width: 20px;
-  max-width: 270px;
-  overflow: hidden;
-  height: 30px;
-  line-height: 30px;
-  text-align: center;
-  margin-left: 10px;
-  margin-bottom: 10px;
-  border-radius: 4px;
-  color: #333;
-  background-color: #f7f7f7;
-  font-size: 14px;
-}
-.sku-choose-item.active {
-  background-color: #eb2444;
-  color: #fff;
-}
-.sku-choose-item.gray {
-  background-color: #f9f9f9;
-  color: #ddd;
-}
-.pup-sku-count {
-  padding: 20rpx;
-  font-size: 12px;
-}
-.pup-sku-count .count-name {
-  color: #999;
-  height: 31px;
-  line-height: 31px;
-  width: 100rpx;
-}
-.pup-sku-count .num-wrap {
-  position: relative;
-  z-index: 0;
-  width: 110px;
-  float: right;
-  vertical-align: middle;
-  display: flex;
-}
-.num-wrap .minus, .num-wrap .plus {
-  position: relative;
-  max-width: 30px;
-  min-width: 30px;
-  height: 30px;
-  line-height: 30px;
-  background: #f7f7f7;
-  text-align: center;
-}
-.num-wrap .minus {
-  border-top-left-radius: 3px;
-  border-bottom-left-radius: 3px;
-}
-.num-wrap .plus {
-  border-top-right-radius: 3px;
-  border-bottom-right-radius: 3px;
-}
-.num-wrap .row {
-  border-radius: 20px;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  margin-left: -7px;
-  margin-top: -1px;
-  width: 14px;
-  height: 2px;
-  background-color: #ccc;
-}
-.num-wrap .col {
-  border-radius: 20px;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  margin-left: -1px;
-  margin-top: -7px;
-  width: 2px;
-  height: 14px;
-  background-color: #999;
-}
-.pup-sku-count .text-wrap {
-  position: relative;
-  width: 45px;
-  z-index: 0;
-  margin: 0 1px;
-}
-.pup-sku-count .text-wrap input {
-  height: 30px;
-  width: 100%;
-  color: #333;
-  background: #fff;
-  font-size: 12px;
-  text-align: center;
-  border: none;
-  background: #f7f7f7;
-}
-.pup-sku-footer {
-  position: fixed;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  display: flex;
-  flex-direction: row nowrap;
-  height: 98rpx;
-  z-index: 999;
-  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.05);
-}
-.pup-sku-footer .btn {
-  position: relative;
-  display: flex;
-  flex-grow: 1;
-  justify-content: center;
-  align-items: center;
-  width: 0;
-  background-color: #fff;
-  font-size: 28rpx;
-  flex-flow: column;
-}
-.pup-sku-footer .btn.cart {
-  background: #fe8854;
-  color: #fff;
-}
-.pup-sku-footer .btn.buy {
-  background: #fe4443;
-  color: #fff;
-}
-.promo-con{
-  position: fixed;
-  top:880rpx;
-  right:40rpx;
-}
-.promo-con .earn{
-  background:rgba(230, 55, 58,0.9);
-  box-shadow: 1px 3px 6px rgba(0, 0, 0,0.5);
-  color:#fff;
-  border-radius: 50%;
-  width:70rpx;
-  height:70rpx;
-  font-size: 30rpx;
-  margin: auto;
-  text-align: center;
-  line-height: 70rpx;
-}
-/* sku规格 */
-
-
-
-
-/* 店铺 */
-.shop-box {
-  position: relative;
-  padding: 30rpx 20rpx;
-  font-size: 28rpx;
-  border-bottom: 1rpx solid #f2f2f2;
-}
-.shop-icon {
-  display: inline-block;
-  width: 50rpx;
-  height: 50rpx;
-  margin-left: 20rpx;
-  margin-right:30rpx;
-  vertical-align: middle;
-}
-.shop-name {
-  vertical-align: middle;
-}
-
-/** 评价 */
-.cmt-wrap {
-  background: #fff;
-  position: relative;
-  line-height: 48rpx;
-  margin-bottom: 150rpx;
-}
-.cmt-tit {
-  font-size: 32rpx;
-  position: relative;
-  border-bottom: 1px solid #ddd;
-  padding: 15rpx 20rpx;
-}
-.cmt-t {
-  width: 300rpx;
-  font-size: 28rpx;
-}
-.cmt-good {
-  color: #eb2444;
-  font-size: 24rpx;
-}
-.cmt-count {
-  position: absolute;
-  right: 20rpx;
-  top: 20rpx;
-  font-size: 24rpx;
-  color: #666;
-}
-.cmt-more {
-  width: 20rpx;
-  height: 20rpx;
-  border-top: 2rpx solid #999;
-  border-right: 2rpx solid #999;
-  transform: rotate(45deg);
-  margin-left: 10rpx;
-  display: inline-block;
-}
-.cmt-cont {
-  padding: 0 20rpx;
-}
-.cmt-tag {
-  position: relative;
-  padding-top: 10rpx;
-  margin: 0;
-}
-.cmt-tag text {
-  margin: 0 10px 10px 0;
-  background: #fdf0f0;
-  display: inline-block;
-  padding: 0 10px;
-  height: 25px;
-  border-radius: 3px;
-  line-height: 25px;
-  font-size: 12px;
-  font-family: -apple-system, Helvetica, sans-serif;
-  color: #666;
-}
-.cmt-tag text.selected {
-  color: #fff;
-  background: #e93b3d;
-}
-.cmt-item {
-  position: relative;
-  padding: 10px 0;
-}
-.cmt-item::after {
-  content: "";
-  height: 0;
-  display: block;
-  border-bottom: 1px solid #ddd;
-  position: absolute;
-  left: 0;
-  right: 0;
-  bottom: 0;
-  right: -10px;
-  border-bottom-color: #e5e5e5;
-}
-.cmt-user {
-  line-height: 25px;
-  margin-bottom: 8px;
-  font-size: 12px;
-}
-.cmt-user-info {
-  display: flex;
-  align-items: center;
-  width: 400rpx;
-}
-.cmt-user .user-img {
-  width: 25px;
-  height: 25px;
-  border-radius: 50%;
-  vertical-align: middle;
-}
-.cmt-user .nickname {
-  margin-left: 10px;
-  display: inline-block;
-  color: #333;
-  max-width: 8.2em;
-  height: 25px;
-  line-height: 27px;
-}
-.cmt-user .stars {
-  display: flex;
-  margin-left: 3px;
-}
-.cmt-user .stars image {
-  width: 35rpx;
-  height: 35rpx;
-}
-.cmt-user .date {
-  float: right;
-  color: #999;
-  margin-left: -60px;
-}
-.cmt-cnt {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 3;
-  -webkit-box-orient: vertical;
-  position: relative;
-  line-height: 1.5;
-  font-size: 14px;
-  margin: 5px 0;
-  word-break: break-all;
-  max-height: 126px;
-}
-.cmt-attr {
-  height: 85px;
-  width: 100%;
-  white-space: nowrap;
-}
-.cmt-attr .img-wrap {
-  width: 85px;
-  height: 85px;
-  display: inline-block;
-}
-.cmt-attr image {
-  display: inline-block;
-  width: 80px;
-  height: 80px;
-  margin-right: 5px;
-  margin-bottom: 5px;
-  border-radius: 2px;
-  background: #f3f3f3;
-}
-.cmt-more-v {
-  text-align: center;
-  background-color: #fff;
-  font-size: 12px;
-}
-.cmt-more-v text {
-  height: 25px;
-  line-height: 25px;
-  font-size: 12px;
-  text-align: center;
-  color: #333;
-  padding: 0px 10px;
-  margin: 10px 0;
-  border: 1px solid #ccc;
-  border-radius: 40px;
-  display: inline-block;
-}
-
-/** 评价弹窗 */
-.cmt-popup {
-  position: fixed;
-  top: 0;
-  bottom: 0;
-  left: 0;
-  right: 0;
-  z-index: 998;
-  background-color: #fff;
-  padding-bottom: 98rpx;
-}
-.cmt-popup .cmt-cont {
-  height: calc(100% - 80rpx);
-  overflow: auto;
-}
-.cmt-popup .cmt-cnt {
-  -webkit-line-clamp: 20;
-  max-height: 500px;
-}
-.cmt-reply {
-  font-size: 14px;
-  border-top: 1px dashed #ddd;
-  padding: 5px 0;
-}
-.cmt-reply .reply-tit {
-  color: #eb2444;
-}
-.cmt-popup .load-more {
-  font-size: 14px;
-  padding: 20px;
-  text-align: center;
-  margin-bottom: 10px;
-}
-.cmt-popup .load-more text {
-  border: 1px solid #ddd;
-  padding: 5px 10px;
-  border-radius: 10px;
-  color: #666;
-}
-
-
-/** 商品详情 */
-.prod-detail {
-  background: #fff;
-  margin-top: 20rpx;
-  position: relative;
-  line-height: 48rpx;
-  margin-bottom: 150rpx;
-}
-.det-tit {
-  width: 300rpx;
-}
-.detail-tit {
-  font-size: 32rpx;
-  position: relative;
-  border-bottom: 1px solid #ddd;
-  padding: 20rpx;
-}
-.prod-detail image {
-  width: 750rpx !important;
-  display: block;
-}
-rich-text image {
-  width: 100% !important;
-}
-img {
-  width: 100% !important;
-  display: block;
-}
-/** end 商品详情 */
-
-
-/** 底部按钮 */
-.foot-box {
-  margin-top: 100rpx;
-}
-.footer {
-  position: fixed;
-  bottom: 0;
-  width: 100%;
-  box-sizing: border-box;
-  height: 90rpx;
-  background: #fff;
-  box-shadow: 10rpx 0 10rpx 0 #f0f0f0;
-}
-.foot-btn {
-  display: inline-block;
-  width: 125rpx;
-  font-size: 20rpx;
-  color: #666;
-  text-align: center;
-  padding-top: 8rpx;
-  background: #fff;
-}
-.foot-btn > image {
-  display: block;
-  width: 50rpx;
-  height: 50rpx;
-  margin: 0 auto;
-}
-.buy-btn {
-  display: inline-block;
-  font-size: 30rpx;
-  height: 90rpx;
-  line-height: 95rpx;
-  vertical-align: top;
-  width: 33.3%;
-  color: #fff;
-  text-align: center;
-}
-.alone-buy {
-  background: #fe8854;
-}
-.group-buy {
-  background: #fe4443;
-}
-
-/* 购物车数量显示 */
-.cart-footer .btn .badge {
-  position: absolute;
-  top: 20rpx;
-  left: 62rpx;
-  display: inline-block;
-  width: 28rpx;
-  height: 28rpx;
-  border-radius: 14rpx;
-  background-color: #eb2444;
-  text-align: center;
-  line-height: 28rpx;
-  font-size: 18rpx;
-  color: #fff;
-}
-.cart-footer .btn .badge-1 {
-  width: 36rpx;
-}
-.cart-footer .btn .badge-2 {
-  width: 48rpx;
-  left: 52rpx;
-}
-/** end  底部按钮 */
-
-
-
-
-/* 弹框 */
-/*模态框*/ 
-.modals{
-	position:fixed; 
-	z-index: 999; 
-	top:0; 
-	left: 0; 
-	right:0; 
-	bottom: 0;
-} 
-.modals-cancel{
-	position:absolute; 
-	z-index:190; 
-	top:0; left: 0; 
-	right:0; 
-	bottom: 0; 
-	background-color: rgba(0,0,0,.5);
-} 
-.bottom-dialog-body{
-	position:absolute; 
-	z-index:200; 
-	bottom:0; 
-	left:0; 
-	right:0; 
-	height:auto; 
-	background-color: #fff;
-} 
-/*动画前初始位置*/ 
-.bottom-pos{
-	-webkit-transform:translateY(100%);
-	transform:translateY(100%);
-}
-/* 上部内容 */
-.top-content {
-  position: relative;
-  border-bottom: 1px solid #f2f2f2;
-  font-size: 26rpx;
-  padding: 15rpx;
-}
-.top-content-img-box {
-  display: inline-block;
-  width: 120rpx;
-  height: 120rpx;
-  background: #f2f2f2;
-  vertical-align: middle;
-}
-.top-content-img-box > image {
-  width: 100%;
-  height: 100%;
-}
-.goods-msg-box {
-  display: inline-block;
-  width: 65%;
-  margin-left: 20rpx;
-  vertical-align: middle;
-}
-.goods-names {
-  color: #000;
-  width: 85%;
-  padding-bottom: 5rpx;
-}
-.group-tips {
-  font-size: 20rpx;
-  color: #fd3852;
-  padding: .3em 0;
-  padding-top: 0;
-}
-.goods-prices {
-  font-size: 23rpx;
-  color: #fd3852;
-  margin-top: 5rpx;
-}
-.spell-group-price {
-  font-size: 20rpx;
-  color: #ff4444;
-}
-.rmb-symbol {
-  font-size: 27rpx;
-}
-.close-btn {
-  position: absolute;
-  display: block;
-  right: 20rpx;
-  top: 20rpx;
-  width: 35rpx;
-  height: 35rpx;
-  /* background: url('../../images/icon/close.png');
-  background-size: 100% 100%; */
-  z-index: 250;
-}
-.close-btn > image {
-  width: 100%;
-  height: 100%;
-}
-
-/* 颜色选择 */
-.choose-color-box {
-  padding: 15rpx;
-  font-size: 25rpx;
-  border-bottom: 1px solid #f2f2f2;
-}
-.color-txt {
-  margin-bottom: 15rpx;
-}
-.color-box {
-  display: block;
-  box-sizing: border-box;
-  padding: 8rpx 0;
-}
-.color-item {
-  padding: 6rpx 18rpx;
-  border-radius: 8rpx;
-  margin-right: 10rpx;
-  vertical-align: bottom;
-  background: #ddd;
-  color: #fff;
-  letter-spacing: 5rpx;
-}
-.color-item-current {
-  background: #ff4444;
-  color: #fff;
-  border-color: #ff4444;
-}
-
-
-/* 数量选择 */
-.quantity {
-  position: relative;
-  padding: 1em;
-  font-size: 25rpx;
-  border-bottom: 1px solid #f2f2f2;
-}
-.left-text {
-  line-height: 1.5em;
-}
-.left-text-bottom {
-  font-size: 23rpx;
-  color: #bbb;
-}
-/* choose-quantity */
-.right-choose {
-  position: absolute;
-  right: 1em;
-  top: 1em;
-}
-.subtract,
-.show-num,
-.add {
-  display: inline-block;
-  background: #f5f5f5;
-  color: #cfcfcf;
-  padding: 7rpx 18rpx;
-}
-.show-num {
-  margin: 0 3rpx;
-}
-.add {
-  padding: 7rpx 12rpx;
-}
-.current-state {
-  background: #ebebeb;
-  color: #6d6d6e;
-}
-
-/* 确认按钮 */
-.confirm-btn {
-  width: 100%;
-  font-size: 27rpx;
-  padding: .8em 0;
-  color: #fff;
-  background: #ff4444;
-  text-align: center;
-  margin-top: .5em;
-  margin-bottom: 200rpx;
-  position: fixed;
-  bottom: 0;
-}
-/* 底部弹框end */

+ 0 - 1
pages/submit-order/submit-order.json

@@ -1,7 +1,6 @@
 {
 
   "usingComponents": {
-    "coupon":"/components/coupon/coupon"
   },
   "backgroundTextStyle": "light",
   "navigationBarTitleText": "提交订单"

+ 1 - 0
pages/user/user.js

@@ -312,6 +312,7 @@ Page({
         that.setData({
           shopName: res.enterprise || ''
         })
+        wx.setStorageSync('channelId',res.channelId)
       }
     }
     http.request(param)

+ 0 - 1
pages/user/user.json

@@ -2,6 +2,5 @@
   "navigationBarTitleText": "个人中心",
   "navigationStyle":"custom",
   "usingComponents": {
-    "login-popup": "/components/loginPopup/loginPopup"
   }
 }

+ 28 - 16
pages/writeReturnLogistics/writeReturnLogistics.js

@@ -18,6 +18,7 @@ Page({
     shopId: '',  //店铺id
     senderRemarks: '', //备注信息
     type:'',//编辑模式
+    refundDeliveryId:0,//退货id
     editData:null
   },
 
@@ -66,27 +67,37 @@ Page({
       }
      wx.showLoading();
       this.loading = true
+      let data = {
+        shopId:this.data.shopId,
+        deyId: this.data.deliveryList[this.data.expressId].dvyId,  //物流公司id
+        deyName: this.data.deliveryList[this.data.expressId].dvyName,  //物流公司名称
+        deyNu: this.data.expressNo,  //物流单号
+        imgs: pics,  //图片凭证
+        senderMobile: this.data.mobile, //手机号码
+        refundSn: this.data.refundSn,  //退款编号名称
+        senderRemarks: this.data.senderRemarks, //备注信息
+        userId:wx.getStorageSync("loginResult").userId
+      }
+      if(this.data.type == 'edit'){
+        data.refundDeliveryId = this.data.refundDeliveryId
+      }
       var parmas = {
         url:this.data.type == 'edit'?"/refund/delivery/update": "/refund/delivery/save",
         method: this.data.type == 'edit'?"PUT":"POST",
-        data: {
-          shopId:this.data.shopId,
-          deyId: this.data.deliveryList[this.data.expressId].dvyId,  //物流公司id
-          deyName: this.data.deliveryList[this.data.expressId].dvyName,  //物流公司名称
-          deyNu: this.data.expressNo,  //物流单号
-          imgs: pics,  //图片凭证
-          senderMobile: this.data.mobile, //手机号码
-          refundSn: this.data.refundSn,  //退款编号名称
-          senderRemarks: this.data.senderRemarks, //备注信息
-          userId:wx.getStorageSync("loginResult").userId
-        },
+        data,
         callBack: (res) => {
-          that.loading = fasle
+          that.loading = false
           wx.hideLoading();
-          // 物流填写跳转页面
-          wx.navigateTo({
-            url: '/pages/DetailsOfRefund/DetailsOfRefund?refundSn=' + this.data.refundSn,
-          })
+          if(res.code == 500){
+            wx.showToast({
+              title: res.msg||'操作失败',
+            })
+          }else{
+            // 物流填写跳转页面
+            wx.navigateTo({
+              url: '/pages/DetailsOfRefund/DetailsOfRefund?refundSn=' + this.data.refundSn,
+            })
+          }
         }
       };
     http.request(parmas);
@@ -214,6 +225,7 @@ Page({
           expressNo:res.deyNu,
           imgs,
           senderRemarks:res.senderRemarks,
+          refundDeliveryId:res.refundDeliveryId
         })
       }
     };

+ 1 - 32
project.config.json

@@ -41,7 +41,7 @@
     "disableSWC": true
   },
   "compileType": "miniprogram",
-  "projectname": "%E4%BA%9A%E7%B1%B3%E5%A4%9A%E5%BA%97%E9%93%BA%E5%95%86%E5%9F%8E",
+  "projectname": "中数星闪豹",
   "libVersion": "3.9.3",
   "appid": "wxbc64403830bb13c5",
   "simulatorType": "wechat",
@@ -151,18 +151,6 @@
           "query": "",
           "scene": null
         },
-        {
-          "name": "分销中心",
-          "pathName": "pages/dis-centers/dis-centers",
-          "query": "",
-          "scene": null
-        },
-        {
-          "name": "分销中心",
-          "pathName": "pages/dis-center/dis-center",
-          "query": "",
-          "scene": null
-        },
         {
           "name": "我的用户",
           "pathName": "pages/my-users/my-users",
@@ -255,16 +243,9 @@
         },
         {
           "name": "拼团商品详情",
-          "pathName": "pages/spellGoodsDetails/spellGoodsDetails",
           "query": "prodId=76",
           "scene": null
         },
-        {
-          "name": "秒杀列表",
-          "pathName": "pages/snapUpList/snapUpList",
-          "query": "",
-          "scene": null
-        },
         {
           "name": "申请退款",
           "pathName": "pages/applyRefund/applyRefund",
@@ -307,12 +288,6 @@
           "query": "",
           "scene": null
         },
-        {
-          "name": "店铺收藏",
-          "pathName": "pages/shopCollect/shopCollect",
-          "query": "",
-          "scene": null
-        },
         {
           "name": "店铺页面",
           "pathName": "pages/shopPage/shopPage",
@@ -415,12 +390,6 @@
           "query": "",
           "scene": null
         },
-        {
-          "name": "积分兑换商品详情",
-          "pathName": "packageMemberIntegral/pages/convertProdDet/convertProdDet",
-          "query": "",
-          "scene": null
-        },
         {
           "name": "积分商品结算",
           "pathName": "pages/integralSubmitOrder/integralSubmitOrder",

+ 1 - 1
project.private.config.json

@@ -46,5 +46,5 @@
       ]
     }
   },
-  "libVersion": "3.11.1"
+  "libVersion": "3.11.2"
 }

+ 1 - 1
utils/config.js

@@ -4,7 +4,7 @@
 
 var domain = "https://shop.api.zswlgz.com"; //统一接口域名,测试环境 
 var wsDomain = "wss://shop-h5.dev.zswllife.cn/api"; //统一接口域名,测试环境 
-// var domain = "https://63332824.r36.cpolar.top"; //统一接口域名,正式环境 
+// var domain = "http://89561bkaq794.vicp.fun"; //统一接口域名,正式环境 
 // var wsDomain = "wss://shop.haimamart.com/api"; //统一接口域名,正式环境 
 
 // var domain = "http://192.168.1.206:8112"; //统一接口域名,测试环境