Commit d89736172ccc29b7af4f22be495b8d3206474f0c

Authored by yvan.ni
1 parent 6d3288d9

1、 OA单

2.  5点优化
3. 服务卡项加入购物车购买流程
app.json
... ... @@ -137,7 +137,8 @@
137 137 "pages/my_service/tment_order_list",
138 138 "pages/my_service/beauty_deta",
139 139 "pages/profile/profile",
140   - "pages/parseHtml/parseHtml"
  140 + "pages/parseHtml/parseHtml",
  141 + "pages/cart2_ser/cart2_ser"
141 142  
142 143 ]
143 144  
... ...
packageA/pages/cart2_ser/cart2_ser.js
... ... @@ -38,8 +38,8 @@ Page({
38 38 bn_pickname: "", //选择的门店名称
39 39  
40 40 /*------------------------*/
41   - //判断页面是返回回来的还是 首次进入的
42 41 yuer:0,
  42 + is_cart:0, //是不是购物车进来的购买
43 43 },
44 44 onLoad: function(t) {
45 45 wx.setNavigationBarTitle({
... ... @@ -48,7 +48,11 @@ Page({
48 48  
49 49 var appD=getApp().globalData.service_now;
50 50 this.data.postdata=appD;
51   - this.data.param=t;
  51 + this.data.param=t;
  52 + if(t.is_cart){
  53 + this.setData({is_cart:1});
  54 + }
  55 +
52 56 var th=this;
53 57  
54 58 getApp().promiseGet("/api/wx/weappSendlist/page", {
... ... @@ -71,7 +75,6 @@ Page({
71 75 to.auth.get_u(func);
72 76 },
73 77  
74   -
75 78 //----------------展示页面,是再获取用户信息之后--------------
76 79 show_page:function(){
77 80 var th=this;
... ... @@ -84,7 +87,15 @@ Page({
84 87 getApp().globalData.userInfo = e.data.data;
85 88 th.setData({userinfo:e.data.data});
86 89 //获取立即购买的商品信息
87   - th.get_buy_goods();
  90 + if(th.data.is_cart){
  91 + //读取门店
  92 + to.get_allsto(function (e) {
  93 + th.setData({ allsto: e });
  94 + th.get_cart();
  95 + })
  96 + }else{
  97 + th.get_buy_goods();
  98 + }
88 99  
89 100 //获取提现金额
90 101 getApp().request.get("/api/weshop/withdrawals/summoney", {
... ... @@ -101,6 +112,75 @@ Page({
101 112 });
102 113 },
103 114  
  115 + //-----获取购物车,入口--------
  116 + get_cart: function () {
  117 + var th = this,app=getApp();
  118 + a.get("/api/weshop/cartService/page", {
  119 + data: {
  120 + user_id: to.globalData.user_id, selected:1,
  121 + store_id: oo.stoid, pageSize: 600 },
  122 + success:async function (su) {
  123 + //按门店分类的数组
  124 + var arr = new Array();
  125 + var carr = su.data.data.pageData;
  126 + th.data.cartlist_y = carr; //存储原始购物车列表
  127 +
  128 + //---是不是购买等级卡成功的返回---等级卡显示的判断---
  129 + var is_card_back=getApp().globalData.is_card_back;
  130 +
  131 +
  132 + //在分组的时候,就不要再调用接口,await
  133 + for (var i = 0; i < carr.length; i++) {
  134 + var good=null;
  135 + var item = carr[i];
  136 + await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + oo.stoid + "/" + item.service_id, {}).then(res => {
  137 + good = res.data.data;
  138 + })
  139 +
  140 + item.img_url = oo.imghost + good.img_url;
  141 + item.erpItemID=good.erpItemID;
  142 +
  143 + /*----接口要弄出来的,先顶着-----*/
  144 + var pcid = item.pick_id;
  145 + var find = 0;
  146 + //----如果有就加进去,没有就新增一个----
  147 + //-----------循环查找门店-------------
  148 + if (arr.length > 0) {
  149 + for (var j = 0; j < arr.length; j++) {
  150 + if (arr[j].pickup_id == pcid) {
  151 + arr[j].goods.push(item);
  152 + find = 1;break;
  153 + }
  154 + }
  155 + }
  156 + //------如果没有找到-----
  157 + if (find == 0) {
  158 + var pikname = '',sto=null;
  159 + //----找到门店名称-----
  160 + for (var k = 0; k < th.data.allsto.length; k++) {
  161 + if (pcid == th.data.allsto[k].pickup_id) {
  162 + pikname = th.data.allsto[k].pickup_name; sto = th.data.allsto[k]; break;
  163 + }
  164 + }
  165 + var narr = new Array(); narr.push(item);
  166 + var ie = {
  167 + pickup_id: pcid, pname: pikname, goods: narr,keyid:sto.keyid,
  168 + goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0};
  169 + arr.push(ie);
  170 +
  171 + }
  172 + }
  173 +
  174 + //深拷贝
  175 + th.data.old_cartlist= JSON.parse(JSON.stringify(arr));
  176 + th.setData({
  177 + cartlist: arr,
  178 + });
  179 + th.calculatePrice();
  180 + }
  181 + });
  182 + },
  183 +
104 184 //-----获取立即购买的商品信息----
105 185 get_buy_goods: function (){
106 186 var th=this,a=getApp().request;
... ... @@ -147,7 +227,117 @@ Page({
147 227 invoiceToggle: !this.data.invoiceToggle
148 228 });
149 229 },
150   -
  230 +
  231 +
  232 + //-------------------计算购物车订单价格-------------------
  233 + calculatePrice: function() {
  234 + var th = this;
  235 + to.getConfig2(async function(ee){
  236 + wx.showLoading({
  237 + title:"处理中."
  238 + })
  239 + var all_price=0; //所有的商品总价
  240 + var all_shipping_m= 0; //所有的物流总价
  241 + var all_total_m = 0; //所有的订单应付总价
  242 + var all_order_m = 0; //所有的订单应付总价
  243 + var all_user_m=0; //所有的订单用户使用金额
  244 + var all_coupon_price_m=0; //所有的订单用户使用优惠券价格
  245 + var all_cutprice=0; //所有的优惠减件
  246 + var all_order_prom=0; //所有的订单优惠
  247 +
  248 + var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money?th.data.userinfo.frozen_money:0);
  249 + var freight_free = ee.freight_free; //全场满多少包邮
  250 + var no_ex_id=ee.no_ex_id;
  251 + var no_ex_good=null;
  252 + var by_qc={};
  253 + var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist));
  254 +
  255 + //---循环购物车---
  256 + for(var i in c_arr){
  257 +
  258 + var cart_item=c_arr[i]; //就是每一单的意思
  259 + var pickid=cart_item.pickup_id;
  260 + var o_price=0;
  261 + var o_shipping_price=0,goods_weight=-1, goods_piece=-1;
  262 + var item=c_arr[i].goods; //就是每一单的从表的意思
  263 +
  264 + //---如果有选择优惠券的情况下---
  265 + var quan_price=0;
  266 + var coupon_price=0;
  267 + var quan_no= null;
  268 +
  269 + //--------循环计算总价-----------
  270 + for(var j=0;j<item.length;j++){
  271 + o_price += item[j].money * item[j].goods_num;
  272 + }
  273 + var f_o_price=o_price;
  274 + cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算
  275 + //计算物流费用
  276 + cart_item.shipping_price = 0;
  277 +
  278 + //总价计算,总价不包含运费
  279 + cart_item.order_amount= (o_price -quan_price).toFixed(2);
  280 + cart_item.total_amount= f_o_price.toFixed(2);
  281 +
  282 + var order_prom_amount=0; var order_prom_id=0; var o_condition=cart_item.order_amount;
  283 + var order_m=0;
  284 + cart_item.order_prom_amount=0;
  285 + coupon_price=quan_price;
  286 +
  287 +
  288 + cart_item.total_amount= parseFloat(cart_item.total_amount)+parseFloat(cart_item.shipping_price); //总金额
  289 + cart_item.order_amount=parseFloat(cart_item.order_amount)+parseFloat(cart_item.shipping_price); //总金额
  290 + cart_item.total_amount= cart_item.total_amount.toFixed(2);
  291 + cart_item.order_amount=cart_item.order_amount.toFixed(2);
  292 +
  293 + //搭配购在使用余额
  294 + if(th.data.bn_use_money==1 && th.data.is_b_now==1){
  295 +
  296 + if (umoney > cart_item.order_amount) {
  297 + cart_item.user_money = cart_item.order_amount;
  298 + umoney = umoney - cart_item.order_amount;
  299 + }else {
  300 + cart_item.user_money = umoney;
  301 + umoney=0;
  302 + }
  303 +
  304 + }else{
  305 + //--------------如果使用余额,购物车购买---------------------
  306 + if (th.data.js_use_money == 1) {
  307 + if (umoney > cart_item.order_amount) {
  308 + cart_item.user_money = cart_item.order_amount;
  309 + umoney = umoney - cart_item.order_amount;
  310 + }else {
  311 + cart_item.user_money = umoney;
  312 + umoney=0;
  313 + }
  314 + }else{
  315 + cart_item.user_money=0;
  316 + }
  317 + }
  318 + all_price += parseFloat(f_o_price);
  319 + all_total_m += parseFloat(cart_item.total_amount);
  320 + all_shipping_m += parseFloat(cart_item.shipping_price);
  321 + all_order_m += parseFloat(cart_item.order_amount);
  322 + }
  323 +
  324 +
  325 + all_total_m = parseFloat(all_total_m).toFixed(2);
  326 + all_order_m = parseFloat(all_order_m).toFixed(2);
  327 + all_price = parseFloat(all_price).toFixed(2);
  328 + all_total_m = parseFloat(all_total_m).toFixed(2);
  329 +
  330 + var atxt = "formData.total_amount";
  331 + var atxt1 = "formData.order_amount";
  332 + var atxt2 = "formData.all_price";
  333 +
  334 + th.setData({ [atxt]: all_total_m, [atxt1]: all_order_m,
  335 + [atxt2]: all_price,show_submit:1
  336 + })
  337 + th.data.order_prom_list_cart=c_arr;
  338 + wx.hideLoading();
  339 + });
  340 + },
151 341  
152 342 //---------计算立即购买----------
153 343 calculatePrice2: function () {
... ... @@ -186,38 +376,73 @@ Page({
186 376 if(this.data.is_summit_ing==1) return false; //--提交中退出--
187 377 this.data.is_summit_ing=1;
188 378 var th=this,pdata=new Array();
189   - var ff=true;
  379 +
190 380 var item={
191   - 'user_id': to.globalData.user_id,
192   - 'account': th.data.formData.order_amount, //使用余额
193   - 'store_id':oo.stoid, //商家
194   - 'list':new Array(),
195   - };
196   - var gg = getApp().globalData.service_now;
197   - var goods={
198   - 'card_id': th.data.bn_goods.id,
199   - 'itemid': th.data.bn_goods.erpItemID,
200   - 'qty': gg.goods_num,
201   - 'price': th.data.formData.order_amount,
202   - 'pickup_id':gg.pick_id,
203   - 'pickup_keyid':gg.keyid,
204   - };
205   -
206   - //--导购分享过来的id--
207   - if(gg.guide_id){
208   - goods.guide_id=gg.guide_id;
209   - goods.guide_type=gg.guide_type;
210   - //调用接口判断是不是会员
211   - await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+gg.guide_id,{}).then(res=>{
212   - if(res.data.code==0){
213   - goods.guide_name=res.data.data.salesman;
214   - goods.guide_sn=res.data.data.salesman_no;
215   - }
216   - })
  381 + 'user_id': to.globalData.user_id,
  382 + 'account': th.data.formData.order_amount, //使用余额
  383 + 'store_id':oo.stoid, //商家
  384 + 'list':new Array(),
  385 + };
  386 +
  387 + //判断是不是购物车购买还是立即购买
  388 + if(this.data.is_cart){
  389 + var list= th.data.cartlist;
  390 + for(var i in list){
  391 + var gglist = list[i].goods;
  392 + for(var j in gglist){
  393 + var gg=gglist[j];
  394 + var goods={
  395 + 'card_id': gg.service_id,
  396 + 'itemid': gg.erpItemID,
  397 + 'qty': gg.goods_num,
  398 + 'price': gg.money,
  399 + 'pickup_id':gg.pick_id,
  400 + 'pickup_keyid':list[i].keyid,
  401 + };
  402 + //--导购分享过来的id--
  403 + if(gg.guide_id){
  404 + goods.guide_id=gg.guide_id;
  405 + goods.guide_type=gg.guide_type;
  406 + //调用接口判断是不是会员
  407 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+gg.guide_id,{}).then(res=>{
  408 + if(res.data.code==0){
  409 + goods.guide_name=res.data.data.salesman;
  410 + goods.guide_sn=res.data.data.salesman_no;
  411 + }
  412 + })
  413 + }
  414 + item.list.push(goods);
  415 + }
  416 + }
  417 + }else{
  418 +
  419 + var gg = getApp().globalData.service_now;
  420 + var goods={
  421 + 'card_id': th.data.bn_goods.id,
  422 + 'itemid': th.data.bn_goods.erpItemID,
  423 + 'qty': gg.goods_num,
  424 + 'price': th.data.formData.order_amount,
  425 + 'pickup_id':gg.pick_id,
  426 + 'pickup_keyid':gg.keyid,
  427 + };
  428 +
  429 + //--导购分享过来的id--
  430 + if(gg.guide_id){
  431 + goods.guide_id=gg.guide_id;
  432 + goods.guide_type=gg.guide_type;
  433 + //调用接口判断是不是会员
  434 + await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+gg.guide_id,{}).then(res=>{
  435 + if(res.data.code==0){
  436 + goods.guide_name=res.data.data.salesman;
  437 + goods.guide_sn=res.data.data.salesman_no;
  438 + }
  439 + })
  440 + }
  441 + item.list.push(goods);
217 442 }
218   - item.list.push(goods);
  443 +
  444 +
219 445 pdata=item;
220   -
221 446 var str = JSON.stringify(pdata);
222 447 console.log("支付数据");
223 448 console.log(str);
... ... @@ -236,7 +461,13 @@ Page({
236 461 if (res.statusCode == 200) {
237 462 var data=res.data;
238 463 if(data.code==0){
239   -
  464 + if(th.data.is_cart){
  465 + var list = th.data.cartlist_y;
  466 + for (var i = 0; i < list.length; i++) {
  467 + //删除购物车
  468 + a.delete("/api/weshop/cartService/del/" + oo.stoid + "/" + list[i].id, {});
  469 + }
  470 + }
240 471 var order_amount = pdata.account;
241 472 //要进行判断,如果是用微信支付,就要跳转到支付界面
242 473 if (order_amount > 0) {
... ...
packageA/pages/cart2_ser/cart2_ser.wxml
1 1 <wxs module="filters" src="../../../utils/filter.wxs"></wxs>
2 2 <form bindsubmit="submitForm">
3 3 <view class="container">
4   -
  4 +
  5 + <!---------------------购物车进来,有可能多单---------------------->
  6 + <block wx:if="{{is_cart}}">
  7 + <view wx:for="{{cartlist}}" wx:for-index="pidx">
  8 + <view class="use-item bfff bdr_t-14 mgt20">
  9 + <image class="dp" src='{{imgUrl}}/miniapp/images/goodscategory/new_store.png'></image>
  10 + <!-- <view>门店:{{item.pname}}</view> -->
  11 + <view>{{item.pname}}</view>
  12 + </view>
  13 + <view class="order-detail" wx:for="{{item.goods}}" wx:for-index="idx" wx:for-item="items">
  14 + <!----商品图片----->
  15 + <view class="goods-img" style="position: relative">
  16 + <image wx:if="{{items.is_gift}}" src="{{imgUrl}}/miniapp/images/giveaway.png" class="gift_image"></image>
  17 + <image class="wh100 bdr14" src="{{items.img_url}}" binderror='cart_set_err' data-err='cartlist[{{pidx}}].goods[{{idx}}].img_url'></image>
  18 + </view>
  19 + <!----商品名称规格---->
  20 + <navigator class="order-cont" url="/packageA/pages/goodsInfo/goodsInfo?goods_id={{items.service_id}}">
  21 + <view class="goods-name ellipsis-2">{{items.service_name}}</view>
  22 + <!-----商品名称规格------>
  23 + <view class="order-num flex-space-between">
  24 + <view class="co-red">¥<text class="fs36">{{filters.toFix(items.money,2)}}</text></view>
  25 + <view class="goods-num">x{{items.goods_num}}</view>
  26 + </view>
  27 + </navigator>
  28 + </view>
  29 + </view>
  30 + </block>
  31 +
5 32 <!------立即购买-------->
6   - <block>
  33 + <block wx:else>
7 34 <view class="use-item bfff bdr_t-14 mgt20">
8 35 <image class="dp" src='{{imgUrl}}/miniapp/images/goodscategory/new_store.png'> </image> <view>{{bn_pickname}}</view></view>
9 36 <view class="order-detail">
... ... @@ -24,14 +51,12 @@
24 51 </view>
25 52 </navigator>
26 53 </view>
27   - </block>
28   - <!--
29   - <view class="coupon-mes flex-vertical">
30   - <view>留言</view>
31   - <view class="leave-word">
32   - <input placeholder-class="fs28" placeholder='给商家留言,最多100字'bindinput="keyUpChangeNum" disabled="{{disabled}}" class="word-box" maxlength="100" name="user_note"></input>
33   - </view>
34   - </view>-->
  54 + </block>
  55 +
  56 +
  57 +
  58 +
  59 +
35 60  
36 61 <view class="information bdr14">
37 62 <view class="item">
... ...
packageA/pages/goodsInfo/goodsInfo.js
... ... @@ -400,8 +400,9 @@ Page({
400 400 'data.goods_id': t.data.data.id,
401 401 'data.id': t.data.data.id,
402 402 'data.sales_sum': t.data.data.sales_sum,
403   - 'data.storageId':t.data.data.storageId
404   - });
  403 + 'data.storageId':t.data.data.storageId,
  404 + 'data.service_sn':t.data.data.serviceSn,
  405 + });
405 406  
406 407  
407 408 //-----商品详情---
... ... @@ -522,9 +523,77 @@ Page({
522 523 newd['pick_name'] = th.data.sto_sele_name;
523 524 newd['guide_id'] = getApp().globalData.guide_id;
524 525 newd['guide_type']=0;
525   -
526 526 th.buyNow(newd);
527   - }
  527 + }else{
  528 +
  529 + var newd = {
  530 + service_id: th.data.data.id,
  531 + service_sn:th.data.data.service_sn,
  532 + service_name:th.data.data.goods_name,
  533 + goods_num: th.data.goodsInputNum,
  534 + pick_id: th.data.sto_sele_id,
  535 + user_id:oo.user_id,
  536 + store_id:os.stoid,
  537 + money:th.data.data.shop_price
  538 + };
  539 + if(getApp().globalData.guide_id){
  540 + newd['guide_id'] = getApp().globalData.guide_id;
  541 + newd['guide_type']=0;
  542 + }
  543 +
  544 + //----先看会员在购物车中是否加入了该商品-----
  545 + getApp().request.get("/api/weshop/cartService/page", {
  546 + data: {
  547 + store_id: os.stoid,
  548 + user_id: oo.user_id,
  549 + service_id: th.data.data.id,
  550 + pick_id: th.data.sto_sele_id,
  551 + },
  552 + success: function(re) {
  553 +
  554 + //-------如果购物车中有相关的数据---------
  555 + if (re.data.data.total > 0) {
  556 + var item = re.data.data.pageData[0];
  557 + var updata = {
  558 + id: item.id,
  559 + goods_num: th.data.goodsInputNum + item.goods_num,
  560 + money: th.data.data.shop_price,
  561 + store_id: os.stoid,
  562 + };
  563 +
  564 + if (getApp().globalData.guide_id) {
  565 + updata['guide_id'] = getApp().globalData.guide_id;
  566 + updata['guide_type'] = 1;
  567 + }
  568 + getApp().request.put("/api/weshop/cartService/update", {
  569 + data: updata,
  570 + success: function(t) {
  571 + getApp().my_warnning('加入购物车成功', 1, th, 450);
  572 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  573 + th.setData({
  574 + cartGoodsNum: c_num
  575 + });
  576 + th.closeSpecModal();
  577 + }
  578 + });
  579 + } else {
  580 +
  581 + getApp().request.post("/api/weshop/cartService/save", {
  582 + data: newd,
  583 + success: function(t) {
  584 + getApp().my_warnning('加入购物车成功', 1, th, 450);
  585 + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum;
  586 + th.setData({
  587 + cartGoodsNum: c_num
  588 + });
  589 + th.closeSpecModal();
  590 + }
  591 + });
  592 + }
  593 + }
  594 + });
  595 +
  596 + }
528 597  
529 598  
530 599 },
... ...
packageA/pages/goodsInfo/goodsInfo.wxml
... ... @@ -160,8 +160,8 @@
160 160 </view>
161 161  
162 162 <block>
163   - <!-- <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view> -->
164   - <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn" style="width: 64%; border-radius: 56rpx;">立即购买</view>
  163 + <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view>
  164 + <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn">立即购买</view>
165 165 </block>
166 166  
167 167 </view>
... ...
pages/cart/cart/cart.js
... ... @@ -29,6 +29,8 @@ Page({
29 29 card_field:"",
30 30 bconf:null,
31 31 btn_click:1,
  32 +
  33 + service_data:null,
32 34 },
33 35 onLoad: function() {
34 36 var a = this,ee=a;
... ... @@ -124,10 +126,7 @@ Page({
124 126 }
125 127 })
126 128  
127   -
128   -
129   -
130   -
  129 +
131 130 },
132 131  
133 132 onHide(){
... ... @@ -147,9 +146,11 @@ Page({
147 146 allsto: e
148 147 });
149 148 th.get_cart();
  149 + th.get_ser_cart();
150 150 })
151 151 } else {
152 152 th.get_cart();
  153 + th.get_ser_cart();
153 154 }
154 155  
155 156 //要获取会员是不是等级会员
... ... @@ -172,10 +173,18 @@ Page({
172 173 }
173 174 }
174 175 })
175   -
176   -
  176 + if( (!this.data.requestData || this.data.requestData.length==0) && (!this.data.service_data || this.data.service_data.length==0)) {
  177 + setTimeout(function () {
  178 + var goods_list = th.selectComponent("#goods_list"); //组件的id
  179 + if(goods_list){
  180 + goods_list.init();
  181 + goods_list.get_list();
  182 + }
  183 + }, 800)
  184 + }
177 185 },
178   - //-----真的获取购物车--------
  186 +
  187 + //-----真的获取购物车--------
179 188 get_cart: function() {
180 189 var th = this;
181 190 var rd = Math.random().toString(36).substr(2, 15);
... ... @@ -328,13 +337,7 @@ Page({
328 337 }
329 338 }
330 339  
331   - if(arr.length==0) {
332   - setTimeout(function () {
333   - var goods_list = th.selectComponent("#goods_list"); //组件的id
334   - goods_list.init();
335   - goods_list.get_list();
336   - }, 800)
337   - }
  340 +
338 341  
339 342 if(th.data.is_open_offline && th.data.is_open_offline>0){
340 343 //-- 此时要实时更新线下取价价格 --
... ... @@ -357,6 +360,106 @@ Page({
357 360 });
358 361 },
359 362  
  363 + //-----真的获取购物车--------
  364 + get_ser_cart: function() {
  365 + var th = this;
  366 + var rd = Math.random().toString(36).substr(2, 15);
  367 + getApp().request.get("/api/weshop/cartService/page", {
  368 + data: {
  369 + user_id: app.globalData.user_id,
  370 + rd: rd,
  371 + store_id: oo.stoid,
  372 + pageSize: 600,
  373 + },
  374 + success:async function(su) {
  375 + //按门店分类的数组
  376 + var arr = new Array(),
  377 + carr = su.data.data.pageData;
  378 + var all_num = 0;
  379 +
  380 + if(carr && carr.length>0) {
  381 + for (var i = 0; i < carr.length; i++) {
  382 + var item = carr[i];
  383 + var good = null;
  384 +
  385 + await getApp().request.promiseGet("/api/weshop/serviceCard/get/" + oo.stoid + "/" + item.service_id, {}).then(res => {
  386 + good = res.data.data;
  387 + })
  388 + if(!good){
  389 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  390 + getApp().request.delete(url, {
  391 + success: function (t) {
  392 + }
  393 + });
  394 + continue;
  395 + }
  396 +
  397 +
  398 + //如果商品下架了,或者商品是赠品,一开始都要清除
  399 + if (good.is_show == 0) {
  400 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id;
  401 + getApp().request.delete(url, {
  402 + success: function (t) {
  403 + }
  404 + });
  405 + //商品已经下架
  406 + continue;
  407 + }
  408 +
  409 + all_num += item.goods_num;
  410 + item.img_url = oo.imghost + good.imgUrl;
  411 + item.selected = 0;
  412 +
  413 +
  414 + var pcid = item.pick_id;
  415 + var find = 0;
  416 + //---------循环查找门店---
  417 + if (arr.length > 0) {
  418 + for (var j = 0; j < arr.length; j++) {
  419 + if (arr[j].pid == pcid) {
  420 + arr[j].goods.push(item);
  421 + find = 1;
  422 + break;
  423 + }
  424 + }
  425 + }
  426 +
  427 + //------如果没有找到-----
  428 + if (find == 0) {
  429 + var pikname = '';
  430 + //找到门店名称
  431 + for (var k = 0; k < th.data.allsto.length; k++) {
  432 + if (pcid == th.data.allsto[k].pickup_id) {
  433 + pikname = th.data.allsto[k].pickup_name;
  434 + break;
  435 + }
  436 + }
  437 + var narr = new Array();
  438 + narr.push(item);
  439 + var ie = {
  440 + pid: pcid,
  441 + pname: pikname,
  442 + goods: narr,
  443 + selected: 0
  444 + };
  445 + arr.push(ie);
  446 + }
  447 + }
  448 + }
  449 +
  450 +
  451 + th.setData({
  452 + service_data: arr,
  453 + all_num2: all_num,
  454 + is_edit: 0
  455 + }),
  456 + th.doCheckAll(), wx.stopPullDownRefresh();
  457 +
  458 + }
  459 + });
  460 + },
  461 +
  462 +
360 463 //设置莫个门店的所有线下价格
361 464 async set_offline(list){
362 465 var th=this;
... ... @@ -444,7 +547,6 @@ Page({
444 547 };
445 548 th.postCardList(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
446 549 }
447   -
448 550 },
449 551  
450 552 //-------------加数量---------------------
... ... @@ -464,7 +566,6 @@ Page({
464 566 goods_id: a.goods_id,
465 567 store_id: oo.stoid
466 568 };
467   - isShowLoading: 0;
468 569 this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
469 570 } else {
470 571 wx.showModal({
... ... @@ -500,66 +601,180 @@ Page({
500 601 this.postCardList(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
501 602 }
502 603 },
503   - //---------------全选,全选的时候要判断是否门店的匹配方式一致--------------
  604 +
  605 +
  606 + //-----------------点击输入修改商品数量---------------
  607 + valueToNum_ser: function(t) {
  608 + if(!this.data.is_load) return false;
  609 + //控制住,避免事件响应冲突,只有input有输入的时候,才刷新
  610 + if(this.data.btn_click){
  611 + return false;
  612 + }
  613 + this.data.btn_click=1;
  614 +
  615 + var a = t.currentTarget.dataset.item;
  616 + var b = t.currentTarget.dataset.pitems;
  617 + a = this.data.service_data[b].goods[a];
  618 + var e = a;
  619 + var th=this;
  620 +
  621 + if (a = isNaN(t.detail.value) || t.detail.value < 1 ? 1 : parseInt(t.detail.value)) {
  622 + var s = {
  623 + goods_num: a,
  624 + goods_id: e.goods_id,
  625 + id: e.id,
  626 + store_id: oo.stoid
  627 + };
  628 + th.postCardList_ser(s, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  629 + }
  630 + },
  631 + //-------------加数量---------------------
  632 + addNum_ser: function(t) {
  633 + if(!this.data.is_load) return false;
  634 + if (this.data.up_dating == 1) return false;
  635 + this.data.up_dating = 1;
  636 +
  637 + var a = t.currentTarget.dataset.item;
  638 + var b = t.currentTarget.dataset.pitems;
  639 + a = this.data.service_data[b].goods[a];
  640 +
  641 + var e = {
  642 + goods_num: a.goods_num + 1,
  643 + id: a.id,
  644 + goods_id: a.goods_id,
  645 + store_id: oo.stoid
  646 + };
  647 + this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  648 +
  649 + },
  650 + //-------------减数量---------------------
  651 + subNum_ser: function(t) {
  652 + if(!this.data.is_load) return false;
  653 + if (this.data.up_dating == 1) return false;
  654 + this.data.up_dating = 1;
  655 +
  656 + var a = t.currentTarget.dataset.item;
  657 + var b = t.currentTarget.dataset.pitems;
  658 + a = this.data.service_data[b].goods[a];
  659 + this.data.btn_click=1;
  660 +
  661 + if (a.goods_num - 1 < 0){
  662 + this.data.up_dating = 0;
  663 + return false;
  664 + }
  665 +
  666 + if (1 != a.goods_num) {
  667 + var e = {
  668 + goods_num: a.goods_num - 1,
  669 + id: a.id,
  670 + goods_id: a.goods_id,
  671 + store_id: oo.stoid
  672 + };
  673 + this.postCardList_ser(e, t.currentTarget.dataset.item, t.currentTarget.dataset.pitems);
  674 + }
  675 + },
  676 +
  677 +
  678 + //---------------全选,全选的时候要判断是否门店的匹配方式一致--------------
504 679 checkAll: function() {
505 680 var e = this,
506 681 dda = e.data.requestData,
  682 + sdda = e.data.service_data,
507 683 tfeel = 0,
508 684 t_num = 0,
509 685 text_arr = "";
  686 +
  687 + if(e.data.requestData && e.data.requestData.length>0
  688 + && e.data.service_data && e.data.service_data.length>0){
  689 + wx.showModal({
  690 + title: '提示',
  691 + content: '服务卡项目不能和商品一起选择'
  692 + });
  693 + return false;
  694 + }
  695 +
510 696 this.data.btn_click=1;
511 697  
512   - for (var i = 0; i < dda.length; i++) {
513   - var item = dda[i].goods;
514   - if (!e.data.checkAllToggle) {
515   - var txt = "requestData[" + i + "].selected";
516   - e.setData({
517   - [txt]: 0,
518   - });
519   - }
520   - var fir = 0;
521   - for (var j = 0; j < item.length; j++) {
522   - if(item[j].is_gift) continue;
523   - if (fir == 0) {
524   - fir = item[j].distr_type;
525   - } else {
526   - //如果同一门店有不同门店的商品,不能同一配送
527   - if (fir != item[j].distr_type && !e.data.checkAllToggle && item[j].distr_type != 0) {
528   - text_arr += item[j].goods_name + " ";
529   - break;
  698 + if(dda && dda.length>0){
  699 + for (var i = 0; i < dda.length; i++) {
  700 + var item = dda[i].goods;
  701 + if (!e.data.checkAllToggle) {
  702 + var txt = "requestData[" + i + "].selected";
  703 + e.setData({
  704 + [txt]: 0,
  705 + });
  706 + }
  707 + var fir = 0;
  708 + for (var j = 0; j < item.length; j++) {
  709 + if(item[j].is_gift) continue;
  710 + if (fir == 0) {
  711 + fir = item[j].distr_type;
  712 + } else {
  713 + //如果同一门店有不同门店的商品,不能同一配送
  714 + if (fir != item[j].distr_type && !e.data.checkAllToggle && item[j].distr_type != 0) {
  715 + text_arr += item[j].goods_name + " ";
  716 + break;
  717 + }
  718 + }
  719 + var txt = "requestData[" + i + "].goods[" + j + "].selected"
  720 + e.setData({
  721 + [txt]: !e.data.checkAllToggle,
  722 + })
  723 + if (!e.data.checkAllToggle) {
  724 + tfeel += item[j].goods_num * item[j].goods_price;
  725 + t_num += item[j].goods_num;
530 726 }
531 727 }
532   - var txt = "requestData[" + i + "].goods[" + j + "].selected"
  728 + }
  729 +
  730 + if (text_arr != "") {
  731 + wx.showModal({
  732 + title: '提示',
  733 + content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
  734 + });
  735 + return false;
  736 + } else {
533 737 e.setData({
534   - [txt]: !e.data.checkAllToggle,
535   - })
536   - if (!e.data.checkAllToggle) {
537   - tfeel += item[j].goods_num * item[j].goods_price;
538   - t_num += item[j].goods_num;
  738 + checkAllToggle: !e.data.checkAllToggle,
  739 + total_fee: tfeel.toFixed(2),
  740 + total_num: t_num,
  741 + });
  742 +
  743 + for(var i in e.data.requestData){
  744 + e.check_prom_activity(i)
539 745 }
540 746 }
541 747 }
542 748  
543   - if (text_arr != "") {
544   - wx.showModal({
545   - title: '提示',
546   - content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
547   - });
548   - return false;
549   - } else {
  749 + if(sdda && sdda.length>0){
  750 + for (var i = 0; i < sdda.length; i++) {
  751 + var item = sdda[i].goods;
  752 + if (!e.data.checkAllToggle) {
  753 + var txt = "service_data[" + i + "].selected";
  754 + e.setData({
  755 + [txt]: 0,
  756 + });
  757 + }
  758 + var fir = 0;
  759 + for (var j = 0; j < item.length; j++) {
  760 + var txt = "service_data[" + i + "].goods[" + j + "].selected"
  761 + e.setData({
  762 + [txt]: !e.data.checkAllToggle,
  763 + })
  764 + if (!e.data.checkAllToggle) {
  765 + tfeel += item[j].goods_num * item[j].money;
  766 + t_num += item[j].goods_num;
  767 + }
  768 + }
  769 + }
550 770 e.setData({
551 771 checkAllToggle: !e.data.checkAllToggle,
552 772 total_fee: tfeel.toFixed(2),
553 773 total_num: t_num,
554 774 });
555   -
556   - for(var i in e.data.requestData){
557   - e.check_prom_activity(i)
558   - }
559   -
560 775 }
561   - },
562 776  
  777 + },
563 778 //------门店全选按钮,要判断是否门店的匹配方式一致---------
564 779 check_th_all_item:async function(ele) {
565 780 var e = this,
... ... @@ -567,10 +782,32 @@ Page({
567 782 item = this.data.requestData[pitems].goods,
568 783 sele = this.data.requestData[pitems].selected;
569 784 this.data.btn_click=1;
  785 + var garr=e.data.service_data;
570 786  
571 787 var isok = 1,
572 788 fir = 0,
573 789 iarr = item;
  790 +
  791 + if(!sele){
  792 + var check_is_service_selected=0;
  793 + for (var ii in garr){
  794 + for (var ij in garr[ii].goods){
  795 + if( garr[ii].goods[ij].selected){
  796 + check_is_service_selected=1;
  797 + break;
  798 + }
  799 + }
  800 + }
  801 +
  802 + if(check_is_service_selected){
  803 + wx.showModal({
  804 + title: '提示',
  805 + content: '服务卡项目不能和商品一起选择'
  806 + });
  807 + return false;
  808 + }
  809 + }
  810 +
574 811 if (!sele && item.length > 0) {
575 812 for (var i = 0; i < iarr.length; i++) {
576 813 if(iarr[i].is_gift==1) continue;
... ... @@ -612,7 +849,6 @@ Page({
612 849 }
613 850 this.doCheckAll();
614 851 },
615   -
616 852 //---------------单选,也要判断门店的配送方式是否一致--------------
617 853 check_th_item: async function(t) {
618 854 var e = this,
... ... @@ -622,13 +858,32 @@ Page({
622 858 var isok = 1,fir = 0;
623 859 var iarr = e.data.requestData[pitems].goods;
624 860 this.data.btn_click=1;
625   -
  861 + var garr= e.data.service_data;
  862 +
  863 + if (!a.selected) {
  864 + var check_is_service_selected = 0;
  865 + for (var ii in garr) {
  866 + for (var ij in garr[ii].goods) {
  867 + if (garr[ii].goods[ij].selected) {
  868 + check_is_service_selected = 1;
  869 + break;
  870 + }
  871 + }
  872 + }
  873 + if (check_is_service_selected) {
  874 + wx.showModal({
  875 + title: '提示',
  876 + content: '服务卡项目不能和商品一起选择'
  877 + });
  878 + return false;
  879 + }
  880 + }
626 881  
627 882 //当数量大于1,且是选择的时候
628 883 if (iarr.length > 1 && !a.selected) {
  884 +
629 885 for (var i = 0; i < iarr.length; i++) {
630 886 if(iarr[i].is_gift==1) continue;
631   -
632 887 //---当不是本身选择项目----
633 888 var sel = iarr[i].selected;
634 889 if (iarr[i].distr_type != 0 && (sel || iarr[i].id == a.id)) {
... ... @@ -662,10 +917,93 @@ Page({
662 917 if(i!=pitems) await e.check_prom_activity(i);
663 918 }
664 919 }
665   -
666 920 this.doCheckAll();
667 921 }
668 922 },
  923 +
  924 + //------门店全选按钮,要判断是否门店的匹配方式一致---------
  925 + check_th_all_item_ser:async function(ele) {
  926 + var e = this,
  927 + pitems = ele.currentTarget.dataset.pitems,
  928 + item = this.data.service_data[pitems].goods,
  929 + sele = this.data.service_data[pitems].selected;
  930 + this.data.btn_click=1;
  931 + var garr= e.data.requestData;
  932 +
  933 + var isok = 1,
  934 + fir = 0,
  935 + iarr = item;
  936 +
  937 + if(!sele){
  938 + var check_is_goods_selected=0;
  939 + for (var ii in garr){
  940 + for (var ij in garr[ii].goods){
  941 + if( garr[ii].goods[ij].selected){
  942 + check_is_goods_selected=1;
  943 + break;
  944 + }
  945 + }
  946 + }
  947 + if(check_is_goods_selected){
  948 + wx.showModal({
  949 + title: '提示',
  950 + content: '服务卡项目不能和商品一起选择'
  951 + });
  952 + return false;
  953 + }
  954 + }
  955 +
  956 + for (var i = 0; i < item.length; i++) {
  957 + var txt = "service_data[" + pitems + "].goods[" + i + "].selected";
  958 + e.setData({
  959 + [txt]: Number(!sele),
  960 + });
  961 + }
  962 + var txt = "service_data[" + pitems + "].selected";
  963 + e.setData({
  964 + [txt]: Number(!sele),
  965 + });
  966 + this.doCheckAll();
  967 + },
  968 + //---------------单选,也要判断门店的配送方式是否一致--------------
  969 + check_th_item_ser: async function(t) {
  970 + var e = this,
  971 + item = t.currentTarget.dataset.item,
  972 + pitems = t.currentTarget.dataset.pitems;
  973 + a = this.data.service_data[pitems].goods[item];
  974 + var isok = 1,fir = 0;
  975 + var iarr = e.data.service_data[pitems].goods;
  976 + this.data.btn_click=1;
  977 +
  978 + var garr= e.data.requestData;
  979 +
  980 + if(!a.selected){
  981 + var check_is_goods_selected=0;
  982 + for (var ii in garr){
  983 + for (var ij in garr[ii].goods){
  984 + if( garr[ii].goods[ij].selected){
  985 + check_is_goods_selected=1;
  986 + break;
  987 + }
  988 + }
  989 + }
  990 +
  991 + if(check_is_goods_selected){
  992 + wx.showModal({
  993 + title: '提示',
  994 + content: '服务卡项目不能和商品一起选择'
  995 + });
  996 + return false;
  997 + }
  998 + }
  999 +
  1000 + var txt = "service_data[" + pitems + "].goods[" + item + "].selected";
  1001 + e.setData({
  1002 + [txt]: Number(!a.selected),
  1003 + });
  1004 + this.doCheckAll();
  1005 + },
  1006 +
669 1007 //----------检查是否全选---------
670 1008 doCheckAll: function() {
671 1009 var th = this,
... ... @@ -673,49 +1011,80 @@ Page({
673 1011 t_num = 0,
674 1012 ischeck = 1,
675 1013 car = this.data.requestData,
  1014 + car2 = this.data.service_data,
676 1015 all_num = 0;
677 1016  
678   - for (var a = 0; a < car.length; a++) {
679   - var c_item=car[a];
680   - var item = car[a].goods,
681   - is_s_sele = 1;
682   - var offline_price=0;
683   - var offline_num=0;
684   - for (var c = 0; c < item.length; c++) {
685   - if(item[c].is_gift) continue;
686   - all_num += item[c].goods_num;
687   - if (item[c].selected == 0) {
688   - ischeck = 0;
689   - is_s_sele = 0;
690   - } else {
691   - tfeel += item[c].goods_num * item[c].goods_price;
692   - t_num += item[c].goods_num;
  1017 + //-- 购物车 --
  1018 + if(car && car.length>0){
  1019 + for (var a = 0; a < car.length; a++) {
  1020 + var c_item=car[a];
  1021 + var item = car[a].goods,
  1022 + is_s_sele = 1;
  1023 + var offline_price=0;
  1024 + var offline_num=0;
  1025 + for (var c = 0; c < item.length; c++) {
  1026 + if(item[c].is_gift) continue;
  1027 + all_num += item[c].goods_num;
  1028 + if (item[c].selected == 0) {
  1029 + ischeck = 0;
  1030 + is_s_sele = 0;
  1031 + } else {
  1032 + tfeel += item[c].goods_num * item[c].goods_price;
  1033 + t_num += item[c].goods_num;
  1034 + }
  1035 +
  1036 + //-- 如果这个商品是线下取价的时候 --
  1037 + if(item[c].is_offline){
  1038 + offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
  1039 + offline_num+=item[c].goods_num;
  1040 + }
  1041 +
693 1042 }
694 1043  
695   - //-- 如果这个商品是线下取价的时候 --
696   - if(item[c].is_offline){
697   - offline_price+= (item[c].goods_price-item[c].offline_price)*item[c].goods_num;
698   - offline_num+=item[c].goods_num;
  1044 + var txt = "requestData[" + a + "].selected";
  1045 + th.setData({
  1046 + [txt]: Number(is_s_sele)
  1047 + });
  1048 +
  1049 + //当有线下取价的时候
  1050 + if(offline_price){
  1051 + var txt1= "requestData[" + a + "].offline_price";
  1052 + var txt2= "requestData[" + a + "].offline_num";
  1053 + th.setData({
  1054 + [txt1]: offline_price.toFixed(2),
  1055 + [txt2]: offline_num,
  1056 + });
699 1057 }
700 1058  
701 1059 }
  1060 + }
702 1061  
703   - var txt = "requestData[" + a + "].selected";
704   - th.setData({
705   - [txt]: Number(is_s_sele)
706   - });
  1062 + //-- 服务卡 --
  1063 + if(car2 && car2.length>0){
  1064 + for (var a = 0; a < car2.length; a++) {
  1065 + var c_item=car2[a];
  1066 + var item = car2[a].goods, is_s_sele = 1;
  1067 +
  1068 + for (var c = 0; c < item.length; c++) {
  1069 + if(item[c].is_gift) continue;
  1070 + all_num += item[c].goods_num;
  1071 + if (item[c].selected == 0) {
  1072 + ischeck = 0;
  1073 + is_s_sele = 0;
  1074 + } else {
  1075 + tfeel += item[c].goods_num * item[c].money;
  1076 + t_num += item[c].goods_num;
  1077 + }
  1078 +
  1079 + }
707 1080  
708   - //当有线下取价的时候
709   - if(offline_price){
710   - var txt1= "requestData[" + a + "].offline_price";
711   - var txt2= "requestData[" + a + "].offline_num";
  1081 + var txt = "service_data[" + a + "].selected";
712 1082 th.setData({
713   - [txt1]: offline_price.toFixed(2),
714   - [txt2]: offline_num,
  1083 + [txt]: Number(is_s_sele)
715 1084 });
716 1085 }
717   -
718 1086 }
  1087 +
719 1088 this.setData({
720 1089 checkAllToggle: ischeck,
721 1090 total_fee: tfeel.toFixed(2),
... ... @@ -904,6 +1273,20 @@ Page({
904 1273 });
905 1274 },
906 1275  
  1276 + //----------------------更新购物数量,加减,调用接口---------------------
  1277 + postCardList_ser: function(t, item, pitem) {
  1278 + var e = this,th=e;
  1279 + var user_id = getApp().globalData.user_id;
  1280 + var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
  1281 + e.setData({
  1282 + [txt]: t.goods_num
  1283 + });
  1284 + e.doCheckAll();
  1285 + e.update_cart_ser(t, pitem, item);
  1286 + },
  1287 +
  1288 +
  1289 +
907 1290 //---检验线下库存的数量---
908 1291 async check_down_line(t, pitem, item,erpwareid){
909 1292 var ob={},th=this;
... ... @@ -993,6 +1376,25 @@ Page({
993 1376 });
994 1377 },
995 1378  
  1379 + //--更新购物车---
  1380 + update_cart_ser: function(t, pitem, item) {
  1381 + var e = this;
  1382 + getApp().request.put("/api/weshop/cartService/update", {
  1383 + data: t,
  1384 + success:async function(ee) {
  1385 + var txt = "service_data[" + pitem + "].goods[" + item + "].goods_num";
  1386 + e.setData({
  1387 + [txt]: t.goods_num,
  1388 + });
  1389 + e.doCheckAll();
  1390 + getApp().requestCardNum(e);
  1391 + }
  1392 + });
  1393 + },
  1394 +
  1395 +
  1396 +
  1397 +
996 1398 //-------下拉刷新---------
997 1399 onPullDownRefresh: function(t) {
998 1400 this.getCardList();
... ... @@ -1008,259 +1410,293 @@ Page({
1008 1410 })
1009 1411 }
1010 1412  
1011   - var glist = ""; //用逗号隔开的
1012   - var map = new Map(); //使用map值键进行运算
1013   - var map_limit = new Map(); //使用map值键进行存储限购
1014   - var g_arr = new Array(); //已选的商品列表
1015   - var user_id = getApp().globalData.user_id;
1016   - var th = this;
1017   - //用于判断是不是积分购的普通购买
1018   - var normal_arr={};
1019   - var ab = 0; //选中
1020   - wx.showLoading();
1021   - for (var i = 0; i < this.data.requestData.length; i++) {
1022   - var i_arr = this.data.requestData[i].goods;
1023   - for (var j = 0; j < i_arr.length; j++) {
1024   - if (i_arr[j].selected && i_arr[j].is_gift!=1) {
1025   -
1026   - if(i_arr[j].is_pd_normal) {
1027   - normal_arr[i_arr[j].goods_id]=1;
1028   - }
1029   - //map 的key是不会重复,会覆盖,,
1030   - var ie = {
1031   - goods_id: i_arr[j].goods_id,
1032   - id: i_arr[j].id,
1033   - goods_price: i_arr[j].goods_price,
1034   - };
1035   - //判断是不是线下取价
1036   - if(i_arr[j].is_offline){
1037   - ie.is_offline=i_arr[j].is_offline;
1038   - ie.offline_price=i_arr[j].offline_price;
1039   - ie.pricing_type=i_arr[j].pricing_type;
1040   - }
1041   - g_arr.push(ie);
1042   -
1043   - if (map.has(i_arr[j].goods_id + "")) {
1044   - var num11 = map.get(i_arr[j].goods_id + "");
1045   - var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
1046   - map.set(i_arr[j].goods_id + "", num22);
1047   - } else {
1048   - map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
  1413 + var garr=this.data.requestData;
  1414 + var check_is_goods_selected=0;
  1415 + if(garr) {
  1416 + for (var ii in garr) {
  1417 + for (var ij in garr[ii].goods) {
  1418 + if (garr[ii].goods[ij].selected) {
  1419 + check_is_goods_selected = 1;
  1420 + break;
1049 1421 }
1050   - glist += i_arr[j].goods_id + ",";
1051   - ab = 1;
1052   - //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
1053   - if((i_arr[j].prom_type==0 || i_arr[j].prom_type==3 || i_arr[j].prom_type==5) && th.data.sales_rules==2 && i_arr[j].is_gift!=1){
1054   - //--获取商品的线下商品ID--
1055   - var gd=null;
1056   - await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{
1057   - if(res.data.code==0) gd=res.data.data;
1058   - })
1059   - //--判断商品是线下库存--
1060   - var ob={}
1061   - await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){
1062   - ob=rs;
1063   - });
1064   - if(ob.code==-1){
1065   - t.my_warnning(gd.goods_name+"门店库存不足", 0, th);
1066   - wx.hideLoading();
1067   - return false;
  1422 + }
  1423 + }
  1424 + }
  1425 + //-- 如果是商品的结算 --
  1426 + if(check_is_goods_selected) {
  1427 + var glist = ""; //用逗号隔开的
  1428 + var map = new Map(); //使用map值键进行运算
  1429 + var map_limit = new Map(); //使用map值键进行存储限购
  1430 + var g_arr = new Array(); //已选的商品列表
  1431 + var user_id = getApp().globalData.user_id;
  1432 + var th = this;
  1433 + //用于判断是不是积分购的普通购买
  1434 + var normal_arr = {};
  1435 + var ab = 0; //选中
  1436 + wx.showLoading();
  1437 + for (var i = 0; i < this.data.requestData.length; i++) {
  1438 + var i_arr = this.data.requestData[i].goods;
  1439 + for (var j = 0; j < i_arr.length; j++) {
  1440 + if (i_arr[j].selected && i_arr[j].is_gift != 1) {
  1441 +
  1442 + if (i_arr[j].is_pd_normal) {
  1443 + normal_arr[i_arr[j].goods_id] = 1;
1068 1444 }
1069   -
1070   - var is_ok=1;
1071   - //如果是优惠活动话,要看活动有没有过期
1072   - if(i_arr[j].prom_type==3){
1073   - //判断有没有活动
1074   - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+i_arr[j].goods_id+"/1", {}).then(res => {
1075   - if(res.data.code==0){
1076   - if(!res.data.data.promGoodsLists){
1077   - t.my_warnning(i_arr[j].goods_name+"优惠活动已经过期", 0, th);
1078   - wx.hideLoading();
1079   - is_ok=0;
1080   - }
1081   - }
1082   - })
  1445 + //map 的key是不会重复,会覆盖,,
  1446 + var ie = {
  1447 + goods_id: i_arr[j].goods_id,
  1448 + id: i_arr[j].id,
  1449 + goods_price: i_arr[j].goods_price,
  1450 + };
  1451 + //判断是不是线下取价
  1452 + if (i_arr[j].is_offline) {
  1453 + ie.is_offline = i_arr[j].is_offline;
  1454 + ie.offline_price = i_arr[j].offline_price;
  1455 + ie.pricing_type = i_arr[j].pricing_type;
1083 1456 }
1084   - if(!is_ok){return false;}
1085   - }
  1457 + g_arr.push(ie);
  1458 +
  1459 + if (map.has(i_arr[j].goods_id + "")) {
  1460 + var num11 = map.get(i_arr[j].goods_id + "");
  1461 + var num22 = parseInt(i_arr[j].goods_num) + parseInt(num11);
  1462 + map.set(i_arr[j].goods_id + "", num22);
  1463 + } else {
  1464 + map.set(i_arr[j].goods_id + "", i_arr[j].goods_num);
  1465 + }
  1466 + glist += i_arr[j].goods_id + ",";
  1467 + ab = 1;
  1468 + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存---
  1469 + if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5) && th.data.sales_rules == 2 && i_arr[j].is_gift != 1) {
  1470 + //--获取商品的线下商品ID--
  1471 + var gd = null;
  1472 + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => {
  1473 + if (res.data.code == 0) gd = res.data.data;
  1474 + })
  1475 + //--判断商品是线下库存--
  1476 + var ob = {}
  1477 + await th.check_down_line_next(i_arr[j], i, j, gd.erpwareid, function (rs) {
  1478 + ob = rs;
  1479 + });
  1480 + if (ob.code == -1) {
  1481 + t.my_warnning(gd.goods_name + "门店库存不足", 0, th);
  1482 + wx.hideLoading();
  1483 + return false;
  1484 + }
1086 1485  
1087   - } else {
1088   - if(i_arr[j].is_gift==1) continue;
1089   - rq.put("/api/weshop/cart/update", {
1090   - data: {
1091   - id: i_arr[j].id,
1092   - selected: 0,
1093   - store_id: oo.stoid
1094   - },
1095   - success: function(ee) {
1096   - console.log(ee);
  1486 + var is_ok = 1;
  1487 + //如果是优惠活动话,要看活动有没有过期
  1488 + if (i_arr[j].prom_type == 3) {
  1489 + //判断有没有活动
  1490 + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + i_arr[j].goods_id + "/1", {}).then(res => {
  1491 + if (res.data.code == 0) {
  1492 + if (!res.data.data.promGoodsLists) {
  1493 + t.my_warnning(i_arr[j].goods_name + "优惠活动已经过期", 0, th);
  1494 + wx.hideLoading();
  1495 + is_ok = 0;
  1496 + }
  1497 + }
  1498 + })
  1499 + }
  1500 + if (!is_ok) {
  1501 + return false;
  1502 + }
1097 1503 }
1098   - });
1099   - }
1100   - }
1101   - }
1102   - if (ab == 0) {
1103   - t.my_warnning("未选择商品", 0, th);
1104   - wx.hideLoading();
1105   - return false;
1106   - }
1107 1504  
1108   - glist = glist.substring(0, glist.length - 1);
1109   - //--取一下商品的限购 以及活动的限购,redis数量--
1110   - rq.get("/api/weshop/goods/getGoodsListNum", {
1111   - data: {
1112   - goodsidlist: glist,
1113   - store_id: oo.stoid
1114   - },
1115   - async success(ee) {
1116   - console.log(ee);
1117   - if (ee.data.code == 0) {
1118   - var ddata = ee.data.data,
1119   - isok = 1,
1120   - gname = "",
1121   - err = "";
1122   - //--组装--
1123   - for (var ij = 0; ij < ddata.length; ij++) {
1124   - var val = ddata[ij];
1125   - var obj = map_limit.get(val.goods_id + "");
1126   - if (obj) continue;
1127   -
1128   - var promgoodsbuynum = 0;
1129   - var goodsbuynum = 0;
1130   - //--要获得商品,该用户买了多少件,同步应用--
1131   - await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  1505 + } else {
  1506 + if (i_arr[j].is_gift == 1) continue;
  1507 + rq.put("/api/weshop/cart/update", {
1132 1508 data: {
1133   - store_id: oo.stoid,
1134   - user_id: user_id,
1135   - goods_id: val.goods_id,
1136   - prom_type: val.prom_type,
1137   - prom_id: val.prom_id
  1509 + id: i_arr[j].id,
  1510 + selected: 0,
  1511 + store_id: oo.stoid
1138 1512 },
1139   - }).then(res => {
1140   - var buy_num_data = res.data.data;
1141   - if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
1142   - goodsbuynum = buy_num_data.goodsbuynum;
1143   - })
1144   - var ie= {
1145   - promgoodsbuynum: promgoodsbuynum,
1146   - goodsbuynum: goodsbuynum
1147   - };
1148   - map_limit.set(val.goods_id + "", ie);
  1513 + success: function (ee) {
  1514 + console.log(ee);
  1515 + }
  1516 + });
1149 1517 }
  1518 + }
  1519 + }
  1520 + if (ab == 0) {
  1521 + t.my_warnning("未选择商品", 0, th);
  1522 + wx.hideLoading();
  1523 + return false;
  1524 + }
1150 1525  
1151   - try {
1152   - for(var ind in ddata) {
1153   - var val=ddata[ind];
1154   - var num = map.get(val.goods_id + "");
1155   - if (num <= 0) {
1156   - isok = 0;
1157   - gname = val.goods_name;
1158   - throw "购买数量不能为0";
1159   - return false;
1160   - }
  1526 + glist = glist.substring(0, glist.length - 1);
  1527 + //--取一下商品的限购 以及活动的限购,redis数量--
  1528 + rq.get("/api/weshop/goods/getGoodsListNum", {
  1529 + data: {
  1530 + goodsidlist: glist,
  1531 + store_id: oo.stoid
  1532 + },
  1533 + async success(ee) {
  1534 + console.log(ee);
  1535 + if (ee.data.code == 0) {
  1536 + var ddata = ee.data.data,
  1537 + isok = 1,
  1538 + gname = "",
  1539 + err = "";
  1540 + //--组装--
  1541 + for (var ij = 0; ij < ddata.length; ij++) {
  1542 + var val = ddata[ij];
  1543 + var obj = map_limit.get(val.goods_id + "");
  1544 + if (obj) continue;
  1545 +
  1546 + var promgoodsbuynum = 0;
  1547 + var goodsbuynum = 0;
  1548 + //--要获得商品,该用户买了多少件,同步应用--
  1549 + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", {
  1550 + data: {
  1551 + store_id: oo.stoid,
  1552 + user_id: user_id,
  1553 + goods_id: val.goods_id,
  1554 + prom_type: val.prom_type,
  1555 + prom_id: val.prom_id
  1556 + },
  1557 + }).then(res => {
  1558 + var buy_num_data = res.data.data;
  1559 + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum;
  1560 + goodsbuynum = buy_num_data.goodsbuynum;
  1561 + })
  1562 + var ie = {
  1563 + promgoodsbuynum: promgoodsbuynum,
  1564 + goodsbuynum: goodsbuynum
  1565 + };
  1566 + map_limit.set(val.goods_id + "", ie);
  1567 + }
1161 1568  
1162   - if(val.prom_type==1 || val.prom_type==6){
1163   - if (num > val.store_count) {
  1569 + try {
  1570 + for (var ind in ddata) {
  1571 + var val = ddata[ind];
  1572 + var num = map.get(val.goods_id + "");
  1573 + if (num <= 0) {
1164 1574 isok = 0;
1165 1575 gname = val.goods_name;
1166   - throw "超出库存";
  1576 + throw "购买数量不能为0";
1167 1577 return false;
1168 1578 }
1169   - }
1170 1579  
1171   - if(th.data.sales_rules!=2){
1172   - if (num > val.store_count) {
  1580 + if (val.prom_type == 1 || val.prom_type == 6) {
  1581 + if (num > val.store_count) {
  1582 + isok = 0;
  1583 + gname = val.goods_name;
  1584 + throw "超出库存";
  1585 + return false;
  1586 + }
  1587 + }
  1588 +
  1589 + if (th.data.sales_rules != 2) {
  1590 + if (num > val.store_count) {
  1591 + isok = 0;
  1592 + gname = val.goods_name;
  1593 + throw "超出库存";
  1594 + return false;
  1595 + }
  1596 + }
  1597 +
  1598 + if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
1173 1599 isok = 0;
1174 1600 gname = val.goods_name;
1175   - throw "超出库存";
  1601 + throw "超出活动库存";
  1602 + return false;
  1603 + }
  1604 + if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
  1605 + isok = 0;
  1606 + gname = val.goods_name;
  1607 + throw "超出活动库存";
1176 1608 return false;
1177 1609 }
1178   - }
1179   -
1180   - if (num > val.redisnum && val.redisnum && !normal_arr[val.goods_id]) {
1181   - isok = 0;
1182   - gname = val.goods_name;
1183   - throw "超出活动库存";
1184   - return false;
1185   - }
1186   - if (num > val.goods_num - val.buy_num && val.goods_num && !normal_arr[val.goods_id]) {
1187   - isok = 0;
1188   - gname = val.goods_name;
1189   - throw "超出活动库存";
1190   - return false;
1191   - }
1192   -
1193   - var buyed = map_limit.get(val.goods_id + "");
1194   - if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
1195   - isok = 0;
1196   - gname = val.goods_name;
1197   - throw "超出商品限购";
1198   - return false;
1199   - }
1200   -
1201   - if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
1202   - isok = 0;
1203   - gname = val.goods_name;
1204   - throw "超出活动限购";
1205   - return false;
1206   - }
1207 1610  
  1611 + var buyed = map_limit.get(val.goods_id + "");
  1612 + if (num + buyed.goodsbuynum > val.viplimited && val.viplimited > 0) {
  1613 + isok = 0;
  1614 + gname = val.goods_name;
  1615 + throw "超出商品限购";
  1616 + return false;
  1617 + }
1208 1618  
1209   - var card_field=th.data.card_field;
1210   - for (var i = 0; i < g_arr.length; i++) {
1211   - if (g_arr[i].goods_id == val.goods_id) {
  1619 + if (num + buyed.promgoodsbuynum > val.buy_limit && val.buy_limit > 0 && !normal_arr[val.goods_id]) {
  1620 + isok = 0;
  1621 + gname = val.goods_name;
  1622 + throw "超出活动限购";
  1623 + return false;
  1624 + }
1212 1625  
1213   - //如果会员是等级会员,商品有等级价,且不是活动商品
1214   - if(card_field && val[card_field]>0 && (val.prom_type==0 || val.prom_type==3 || val.prom_type==4 || val.prom_type==5 || normal_arr[val.goods_id]) ){
1215   - if (g_arr[i].goods_price != val[card_field]){
1216   - isok = 0;
1217   - gname = val.goods_name;
1218   - throw "商品价格已经变化";
1219   - }
1220   - }else{
1221   - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
1222   - isok = 0;
1223   - gname = val.goods_name;
1224   - throw "商品价格已经变化";
  1626 + var card_field = th.data.card_field;
  1627 + for (var i = 0; i < g_arr.length; i++) {
  1628 + if (g_arr[i].goods_id == val.goods_id) {
  1629 +
  1630 + //如果会员是等级会员,商品有等级价,且不是活动商品
  1631 + if (card_field && val[card_field] > 0 && (val.prom_type == 0 || val.prom_type == 3 || val.prom_type == 4 || val.prom_type == 5 || normal_arr[val.goods_id])) {
  1632 + if (g_arr[i].goods_price != val[card_field]) {
  1633 + isok = 0;
  1634 + gname = val.goods_name;
  1635 + throw "商品价格已经变化";
  1636 + }
  1637 + } else {
  1638 + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) {
  1639 + isok = 0;
  1640 + gname = val.goods_name;
  1641 + throw "商品价格已经变化";
  1642 + }
1225 1643 }
1226   - }
1227 1644  
1228   - //-- 数据的更新 --
1229   - var data={
1230   - id: g_arr[i].id,
1231   - selected: 1,
1232   - store_id: oo.stoid
1233   - };
1234   - //-- 如果有线下取价的时候 --
1235   - if(g_arr[i].is_offline){
1236   - data.pricing_type=g_arr[i].pricing_type;
1237   - data.offline_price=g_arr[i].offline_price;
1238   - }
1239   - rq.put("/api/weshop/cart/update", {
1240   - data: data,
1241   - success: function(ee) {
1242   - console.log(ee);
  1645 + //-- 数据的更新 --
  1646 + var data = {
  1647 + id: g_arr[i].id,
  1648 + selected: 1,
  1649 + store_id: oo.stoid
  1650 + };
  1651 + //-- 如果有线下取价的时候 --
  1652 + if (g_arr[i].is_offline) {
  1653 + data.pricing_type = g_arr[i].pricing_type;
  1654 + data.offline_price = g_arr[i].offline_price;
1243 1655 }
1244   - });
  1656 + rq.put("/api/weshop/cart/update", {
  1657 + data: data,
  1658 + success: function (ee) {
  1659 + console.log(ee);
  1660 + }
  1661 + });
  1662 + }
1245 1663 }
1246   - }
1247 1664  
  1665 + }
  1666 + } catch (e) {
  1667 + err = e;
  1668 + }
  1669 + if (isok == 0) {
  1670 + t.confirmBox(gname + ":" + err);
  1671 + wx.hideLoading();
  1672 + return false;
1248 1673 }
1249   - } catch (e) {
1250   - err = e;
1251   - }
1252   - if (isok == 0) {
1253   - t.confirmBox(gname + ":" + err);
1254 1674 wx.hideLoading();
1255   - return false;
  1675 + wx.navigateTo({
  1676 + url: "/pages/cart/cart2/cart2"
  1677 + });
  1678 + }
  1679 + }
  1680 + });
  1681 + }else{
  1682 + //-- 开始服务卡的购物车购买 --
  1683 + for (var i = 0; i < this.data.service_data.length; i++) {
  1684 + var i_arr = this.data.service_data[i].goods;
  1685 + for (var j = 0; j < i_arr.length; j++) {
  1686 + if (i_arr[j].selected) {
  1687 + await rq.promisePut("/api/weshop/cartService/update", {
  1688 + data: {
  1689 + id: i_arr[j].id,
  1690 + selected: 1,
  1691 + store_id: oo.stoid
  1692 + }
  1693 + });
1256 1694 }
1257   - wx.hideLoading();
1258   - wx.navigateTo({
1259   - url: "/pages/cart/cart2/cart2"
1260   - });
1261 1695 }
1262 1696 }
1263   - });
  1697 + wx.hideLoading();
  1698 + getApp().goto("/packageA/pages/cart2_ser/cart2_ser?is_cart=1");
  1699 + }
1264 1700 },
1265 1701  
1266 1702 //结算到最后一个商品
... ... @@ -1302,11 +1738,12 @@ Page({
1302 1738  
1303 1739 //--多个删除购物车商品---
1304 1740 check_del: function() {
1305   - var glist = ""; //用逗号隔开的
  1741 + var glist = "",slist=''; //用逗号隔开的
1306 1742 var user_id = getApp().globalData.user_id;
1307 1743 var th = this;
1308 1744  
1309 1745 var ab = 0; //选中
  1746 + var abc=0; //
1310 1747 for (var i = 0; i < this.data.requestData.length; i++) {
1311 1748 var i_arr = this.data.requestData[i].goods;
1312 1749 for (var j = 0; j < i_arr.length; j++) {
... ... @@ -1317,18 +1754,42 @@ Page({
1317 1754 }
1318 1755 }
1319 1756  
1320   - if (ab == 0) {
1321   - t.my_warnning("未选择商品", 0, th);
  1757 + for (var ii = 0; ii < this.data.service_data.length; ii++) {
  1758 + var i_arr = this.data.service_data[ii].goods;
  1759 + for (var jj = 0; jj < i_arr.length; jj++) {
  1760 + if (i_arr[jj].selected) {
  1761 + slist += i_arr[jj].id + ",";
  1762 + abc = 1;
  1763 + }
  1764 + }
  1765 + }
  1766 +
  1767 + if (ab == 0 && abc==0) {
  1768 + t.my_warnning("未选择商品或者服务卡", 0, th);
1322 1769 return false;
1323 1770 }
1324   - glist = glist.substring(0, glist.length - 1);
1325   - //要删除购物车中的商品
1326   - var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
1327   - getApp().request.delete(url, {
1328   - success: function(t) {
1329   - th.getCardList();
1330   - }
1331   - });
  1771 +
  1772 + if(ab){
  1773 + glist = glist.substring(0, glist.length - 1);
  1774 + //要删除购物车中的商品
  1775 + var url = '/api/weshop/cart/delIds/' + oo.stoid + '/' + user_id + "/" + glist;
  1776 + getApp().request.delete(url, {
  1777 + success: function(t) {
  1778 + th.getCardList();
  1779 + }
  1780 + });
  1781 + }
  1782 + if(abc){
  1783 + slist = slist.substring(0, slist.length - 1);
  1784 + //要删除购物车中的商品
  1785 + var url = '/api/weshop/cartService/delIds/' + oo.stoid + '/' + user_id + "/" + slist;
  1786 + getApp().request.delete(url, {
  1787 + success: function(t) {
  1788 + th.getCardList();
  1789 + }
  1790 + });
  1791 + }
  1792 +
1332 1793 },
1333 1794 //跳到首页
1334 1795 goto: function(e) {
... ...
pages/cart/cart/cart.wxml
... ... @@ -13,19 +13,22 @@
13 13  
14 14  
15 15  
16   -<view class="container" wx:if="{{requestData.length>0}}">
  16 +<view class="container" wx:if="{{(requestData && requestData.length>0) || (service_data && service_data.length>0) }}">
17 17 <!-- 购物车商品框架 -->
18 18 <view class="login-in">
19 19 <!-- 编辑 -->
20 20 <view class="padding flex-vertical-between fs30 Storenum store">
21 21 <view class="flex">
22   - <view>商品数量:</view>
  22 + <view>数量:</view>
23 23 <view class="goods_num">{{all_num}}</view>
24 24 </view>
25 25 <view wx:if="{{is_edit==0}}" bindtap="edit_cart" data-type="1">编辑</view>
26 26 <view wx:else bindtap="edit_cart" data-type="0">完成</view>
27 27 </view>
28   - <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx">
  28 +
  29 + <!-- 商品的列表 -->
  30 + <block wx:if="{{requestData && requestData.length>0}}">
  31 + <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx">
29 32 <!-- 门店底下的商品 -->
30 33 <view class="store">
31 34 <view class="shmd_m">
... ... @@ -123,8 +126,73 @@
123 126 <view style="margin:10rpx 0; padding: 0 30rpx;color: #999" wx:if="{{item.offline_price}}" class="fs28">
124 127 当前<text class="red_c">{{item.offline_num}}</text>件商品,可使用<text class="red_c">{{item.offline_price}}</text>元店铺优惠
125 128 </view>
126   -
  129 + </block>
127 130 </block>
  131 +
  132 + <!-- 服务卡项的列表 -->
  133 + <block wx:if="{{service_data && service_data.length>0}}">
  134 + <block wx:for="{{service_data}}" wx:key="{{index}}" wx:for-index="pidx">
  135 + <!-- 门店以及门店底下的服务卡 -->
  136 + <view class="store">
  137 + <view class="shmd_m">
  138 +
  139 + <icon wx:if="{{checkAllToggle||item.selected}}" class="order-raido flex-center" bindtap="check_th_all_item_ser" data-pitems="{{pidx}}"
  140 + color="red" size="20" type="success"></icon>
  141 + <view wx:else class="icon_no_sele2" bindtap="check_th_all_item_ser" data-pitems="{{pidx}}"></view>
  142 +
  143 + <view class="flex-center">
  144 + <image src="{{iurl}}miniapp/images/stores/store.png"></image>
  145 + <view class="shmd fs30">{{item.pname}}</view>
  146 + </view>
  147 +
  148 + </view>
  149 + <view class="order-item" data-item="{{idx}}" wx:for="{{item.goods}}" wx:for-item="items" wx:for-index="idx" wx:key="{{index}}">
  150 + <block>
  151 + <view bindtap="check_th_item_ser" class="order-raido flex-vertical " data-check="{{items.selected}}" data-item="{{idx}}" data-pitems="{{pidx}}">
  152 + <!--<radio color="red" checked="{{checkAllToggle||items.selected}}"></radio>-->
  153 + <icon wx:if="{{checkAllToggle||items.selected}}" color="red" size="20" type="success"></icon>
  154 + <text wx:else class="icon_no_sele"></text>
  155 + </view>
  156 + </block>
  157 +
  158 +
  159 + <navigator class="goods-img rel" url="/packageA/pages/goodsInfo/goodsInfo?goods_id={{items.service_id}}">
  160 + <image class="wh100" src="{{items.img_url}}" binderror="bind_bnerr2" data-errorimg="service_data[{{pidx}}].goods[{{idx}}].img_url" data-url="{{items.img_url}}"></image>
  161 +
  162 + </navigator>
  163 + <view class="goods-cont">
  164 + <view class="goods-name">
  165 + <navigator class="ellipsis-2 fs30" url="/packageA/pages/goodsInfo/goodsInfo?goods_id={{items.service_id}}">{{items.service_name}}</navigator>
  166 + <block wx:if="{{items.is_gift}}">
  167 + <view>{{items.goods_num}}件</view>
  168 + </block>
  169 + </view>
  170 +
  171 + <block wx:if="{{!items.is_gift}}">
  172 + <view class="flex alend jc_sb">
  173 + <view class="goods-price co-red baseline ellipsis-1">
  174 + <view class="fs20">¥</view>
  175 + <view class="fs28">{{items.money}}</view>
  176 + </view>
  177 + <view class="count">
  178 + <view bindtap="subNum_ser" class="sub fs28" data-pitems="{{pidx}}" data-item="{{idx}}">一</view>
  179 + <input class="goodadd" bindblur="valueToNum_ser" data-pitems="{{pidx}}" data-item="{{idx}}"
  180 + bindinput="refresh_input"
  181 + type="number" value="{{items.goods_num}}"></input>
  182 + <view class="add" bindtap="addNum_ser" data-pitems="{{pidx}}" data-item="{{idx}}">+</view>
  183 + </view>
  184 + </view>
  185 + </block>
  186 +
  187 + </view>
  188 + </view>
  189 + </view>
  190 +
  191 +
  192 + </block>
  193 + </block>
  194 +
  195 +
128 196 </view>
129 197 <view class="pay-for flex-vertical-between">
130 198 <view class="allradio flex-vertical-between">
... ... @@ -156,7 +224,7 @@
156 224 </view>
157 225  
158 226 <!-- 购物车为空 -->
159   -<view class="empty_order" wx:if="{{(!requestData|| requestData.length==0) && is_load}}">
  227 +<view class="empty_order" wx:if="{{(!requestData|| requestData.length==0) && (!service_data|| service_data.length==0) && is_load}}">
160 228 <view class="flex-level">
161 229 <image src="{{iurl}}miniapp/images/stores/nocart.png"></image>
162 230 </view>
... ... @@ -169,7 +237,7 @@
169 237 </view>
170 238  
171 239 <!-- 好物推荐 -->
172   -<view class="title" style="margin-top: 60rpx; margin-bottom:{{isTabBar == true ? '50px' : '0'}}" wx:if="{{(!requestData|| requestData.length==0) && is_load}}">
  240 +<view class="title" style="margin-top: 60rpx; margin-bottom:{{isTabBar == true ? '50px' : '0'}}" wx:if="{{(!requestData|| requestData.length==0) && (!service_data|| service_data.length==0) && is_load}}">
173 241 <!-- 标题 -->
174 242 <view>
175 243 <!-- 中文名标题 -->
... ...
pages/cart/cart/cart.wxss
... ... @@ -352,3 +352,4 @@ page {
352 352 }
353 353 .quan_color{ background-color: #ff5306; height: 40rpx;color: #fff; padding: 0 10rpx; border-radius: 10rpx; margin-left: 10rpx}
354 354 .red_c{color:#ff5306}
  355 +.title_show{ margin: 10rpx 0 10px 0;padding: 0 20rpx}
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -63,7 +63,7 @@ Page({
63 63 name: "详情",
64 64 id: 1
65 65 }, {
66   - name: "评",
  66 + name: "评",
67 67 id: 2
68 68 }],
69 69 activeCategoryId2: 0,
... ... @@ -1439,6 +1439,7 @@ Page({
1439 1439 }
1440 1440 }
1441 1441 });
  1442 +
1442 1443 }
1443 1444 //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d);
1444 1445 else {
... ... @@ -1719,18 +1720,62 @@ Page({
1719 1720 }
1720 1721  
1721 1722 var ind = t.currentTarget.dataset.ind;
1722   - this.setData({
1723   - openSpecModal: !0,
1724   - openSpecModal_ind: ind,
1725   - });
1726   -
1727   - var is_open=th.data.config
1728   -
1729   -
1730   - this.get_off_price();
1731 1723  
  1724 + //回调。判断是不是优惠促销
  1725 + th.check_is_prom_goods(function (){
  1726 + th.setData({
  1727 + openSpecModal: !0,
  1728 + openSpecModal_ind: ind,
  1729 + });
  1730 + //var is_open=th.data.config
  1731 + th.get_off_price();
  1732 + })
1732 1733 },
1733 1734  
  1735 + //判断是不是优惠促销
  1736 + check_is_prom_goods:function(callback){
  1737 + var th=this;
  1738 + var usr=getApp().globalData.userInfo;
  1739 + if(this.data.sele_g.prom_type!=0 && this.data.sele_g.prom_type!=3){
  1740 + callback();
  1741 + }else{
  1742 + //-- 判断有没有优惠活动 --
  1743 + getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+th.data.sele_g.goods_id+"/0", {}).then(res => {
  1744 + if(res.data.code==0){
  1745 + var r_data=res.data.data;
  1746 + th.data.prom_goods=r_data.promGoodsLists;
  1747 + if(!th.data.prom_goods){
  1748 + callback();
  1749 + return false;
  1750 + }
  1751 + ///api/weshop/order/getWPayOrder?store_id=1&user_id=5682366&prom_id=1&goods_id=1
  1752 + getApp().promiseGet("/api/weshop/order/getWPayOrder",{
  1753 + data:{store_id:os.stoid,user_id:usr.user_id,goods_id:th.data.sele_g.goods_id,prom_id:th.data.prom_goods[0].prom_id}
  1754 + }).then(res=>{
  1755 + if(res.data.code==0){
  1756 + wx.showToast({
  1757 + title: "您还有该商品订单未支付",
  1758 + icon: 'none',
  1759 + duration: 2000
  1760 + })
  1761 + setTimeout(function (){
  1762 + getApp().goto("/pages/user/order_detail/order_detail?order_id=" + res.data.data.order_id,)
  1763 + },1000)
  1764 + }
  1765 + //未找到相关记录
  1766 + else{
  1767 + callback();
  1768 + }
  1769 + })
  1770 + }
  1771 +
  1772 + })
  1773 +
  1774 + }
  1775 + },
  1776 +
  1777 +
  1778 +
1734 1779 //----获取线下价格-------
1735 1780 get_off_price(){
1736 1781 var th=this;
... ... @@ -3038,7 +3083,8 @@ Page({
3038 3083 pageSize: 3,
3039 3084 page: 1,
3040 3085 state: 2,
3041   - team_id: prom_id
  3086 + team_id: prom_id,
  3087 + ordernum:1
3042 3088 }
3043 3089 }).then(res => {
3044 3090 teamgroup = res.data.data.pageData;
... ... @@ -4916,13 +4962,16 @@ Page({
4916 4962 var arr = [1219, 2089, 3031];
4917 4963 var new_arr = new Array();
4918 4964 var card_name_map=new Map();
4919   - for (var i = 0; i < plusCard.length; i++) {
4920   - if((user.card_field==null || user.card_field=="") && plusCard[i].IsStopBuy==true) continue;
  4965 +
  4966 + var list=[];
  4967 + for (var i = 0; i < plusCard.length; i++) {
  4968 + if((!user || user.card_field==null || user.card_field=="") && plusCard[i].IsStopBuy==true) continue;
4921 4969 var name="card"+plusCard[i].CorrPrice.toLowerCase();
4922 4970 card_name_map.set(name,plusCard[i].CardName);
  4971 + list.push(plusCard[i]);
4923 4972 }
4924   -
4925   - var ob={"card_list":plusCard,"name_map":card_name_map};
  4973 +
  4974 + var ob={"card_list":list,"name_map":card_name_map};
4926 4975 func(ob);
4927 4976 })
4928 4977 },
... ...
pages/goods/goodsInfo/goodsInfo.wxml
... ... @@ -298,7 +298,7 @@
298 298  
299 299 <!-- 不是秒杀 -->
300 300 <!-- 等级卡的价格,不是等级卡会员,且商品又有设置等级级价,商家后台有开通升级卡同能 -->
301   - <view class="flex ai_and" wx:if="{{!card_field && g_filters.is_has_rank(rank_switch,data) && prom_type!=1 }}">
  301 + <view class="flex ai_and" wx:if="{{!card_field && g_filters.is_has_rank(rank_switch,data) && prom_type!=1 && card_list && card_list.length>0}}">
302 302  
303 303 <view class="flex ai-center grade-card-frame card-frame" >
304 304 <image class="img" src="{{iurl}}/miniapp/images/userinfo/userinfo/privilege_t.png"></image>
... ... @@ -315,7 +315,7 @@
315 315 <block wx:if="{{g_filters.is_has_rank(rank_switch,data)}}">
316 316  
317 317 <!-- 不是秒杀,且会员不是等级会员 -->
318   - <view wx:if="{{!card_field && prom_type!=1 }}">
  318 + <view wx:if="{{!card_field && prom_type!=1 && card_list && card_list.length>0}}">
319 319 <view class="beauty-makeup-frame flex ai-center">
320 320 <view class="left flex ai-center">
321 321 <view class="flex ai-center grade-card-frame card-frame advert-card">
... ...
pages/index/index/index.js
... ... @@ -90,7 +90,13 @@ Page({
90 90 var th = this;
91 91 var first_leader=tt.first_leader;
92 92 if(!first_leader && tt.scene){
93   - first_leader= decodeURIComponent(tt.scene);
  93 + var first_leader_str= decodeURIComponent(tt.scene);
  94 + var f_arr=first_leader_str.split("_");
  95 + first_leader=f_arr[0] && parseFloat(f_arr[0])>0?f_arr[0]:null;
  96 + //注册门店
  97 + if(f_arr[1] && parseFloat(f_arr[1])>0){
  98 + getApp().globalData.store_number=f_arr[1];
  99 + }
94 100 }
95 101  
96 102 getApp().getConfig(function(e){
... ... @@ -107,8 +113,7 @@ Page({
107 113 });
108 114  
109 115  
110   - var th = this;
111   -
  116 + var th = this;
112 117 getApp().getConfig2(function(config2){
113 118 if(config2 && config2.is_overdue==1){
114 119 getApp().promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=5",{}).then(res=>{
... ...
pages/team/team_more/team_more.js
... ... @@ -62,7 +62,7 @@ Page({
62 62 //获取活动从表信息team_id
63 63 await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
64 64 data: { store_id: os.stoid, pageSize:6,page:ee.data.currentPage,
65   - state: 2, team_id: team_id }
  65 + state: 2, team_id: team_id,ordernum:1 }
66 66 }).then(res => {
67 67 teamgroup = res.data.data.pageData;
68 68 console.log(teamgroup);
... ...
pages/togoin/togoin.js
... ... @@ -172,6 +172,11 @@ Page({
172 172 dd.guide_id=getApp().globalData.guide_id;
173 173 }
174 174  
  175 + //门店的扫描识别码
  176 + if(getApp().globalData.store_number){
  177 + dd.SunCode=encodeURIComponent(getApp().globalData.store_number.trim());
  178 + }
  179 +
175 180 console.log("-----会员注册的信息-------");
176 181 console.log(dd);
177 182 app.request.get("/api/weshop/users/thirdLogin", {
... ...
pages/user/index/index.js
... ... @@ -95,6 +95,15 @@ Page({
95 95 * 生命周期函数--监听页面显示
96 96 */
97 97 onShow: function() {
  98 + var th=this;
  99 + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + os.stoid, {}).then(res => {
  100 + if(res.data.code==0){
  101 + var plusCard = res.data.data;
  102 + for (var i = 0; i < plusCard.length; i++) {
  103 + if(!plusCard[i].IsStopBuy) { th.setData({show_buy_plus:1}); break; }
  104 + }
  105 + }
  106 + })
98 107  
99 108 if (typeof this.getTabBar === 'function' && this.getTabBar()) {
100 109 var index=getApp().getPageIndex(this);
... ...
pages/user/index/index.wxml
... ... @@ -66,7 +66,7 @@
66 66 </image>
67 67  
68 68 </view>
69   - <view class="xc-add-member-frame flex-level rel addplus" wx:if="{{is_dengji==2}}">
  69 + <view class="xc-add-member-frame flex-level rel addplus" wx:if="{{is_dengji==2 && show_buy_plus}}">
70 70 <view class="xc-add-member flex-center-around ">
71 71 <view class="flex jc-center ai-center">
72 72 <image class="xc-icon" src="{{iurl}}/miniapp/images/user/user_vip.png"></image>
... ... @@ -78,7 +78,7 @@
78 78 </view>
79 79 </view>
80 80  
81   - <view class="xc-add-member-frame flex-level rel addplus" wx:if="{{is_dengji==3}}">
  81 + <view class="xc-add-member-frame flex-level rel addplus" wx:if="{{is_dengji==3 && show_buy_plus}}">
82 82 <view class="xc-add-member flex-center-around ">
83 83 <view class="flex jc-center ai-center">
84 84 <image class="xc-icon" src="{{iurl}}/miniapp/images/user/user_vip.png"></image>
... ...
pages/user/my_service/appment_main.js
... ... @@ -560,6 +560,9 @@ Page({
560 560 th.data.is_get_local_ok = 1;
561 561 }
562 562 })
  563 + //获取上一次的预约
  564 + this.get_fir_service();
  565 +
563 566 },
564 567 //查询剩下可预约人数
565 568 query_more: function() {
... ... @@ -633,5 +636,98 @@ Page({
633 636 var th = this;
634 637 var nav_b = th.selectComponent("#nav_b"); //组件的id
635 638 nav_b.close_box();
  639 + },
  640 +
  641 + //判断分享的导购是不是有门店,是不是该门店下又该会员
  642 + check_firleader(data){
  643 + var th=this;
  644 + var itemId = this.data.itemId; //服务id
  645 + var url = "/api/weshop/marketing/reservation/storage/pagenew";
  646 + var key_word = data.store_name;
  647 + key_word = key_word.replace(/\s+/g, "");
  648 + var usr=getApp().globalData.userInfo;
  649 + getApp().request.promiseGet(url, {
  650 + data: {
  651 + userId: usr.user_id,
  652 + storeId: os.stoid,
  653 + serviceId: itemId,
  654 + page: 1,
  655 + pageSize: 1000,
  656 + keyWord: key_word
  657 + }
  658 + }).then(res => {
  659 + //-- 如果是门店的话 --
  660 + if (res.data.code == 0 && res.data.data && res.data.data.pageData) {
  661 + var store_data=null;
  662 + for(var i in res.data.data.pageData){
  663 + var it=res.data.data.pageData[i];
  664 + if(it.Id==data.StorageId){
  665 + store_data={
  666 + store_name: data.store_name,
  667 + storageId: data.StorageId,
  668 + };
  669 + break;
  670 + }
  671 + }
  672 + if(!store_data) return false;
  673 + th.setData(store_data)
  674 +
  675 + }else{
  676 + return false;
  677 + }
  678 +
  679 + //导购接口地址
  680 + var url = "/api/weshop/marketing/reservation/staff/pagenew";
  681 + return getApp().request.promiseGet(url, {
  682 + isShowLoading:1,
  683 + data: {
  684 + storeId: os.stoid,
  685 + userId: usr.user_id,
  686 + serviceId: itemId,
  687 + storageId: data.StorageId
  688 + }
  689 + })
  690 + }).then(res=>{
  691 + if (res && res.data && res.data.code == 0) {
  692 + var beautician_list=res.data.data;
  693 + for(var i in beautician_list){
  694 + var item=beautician_list[i];
  695 + if(item.staffid==data.beauticianID){
  696 + th.setData({
  697 + beautician_name:data.beautician_name,
  698 + beauticianID:data.beauticianID,
  699 + })
  700 + break;
  701 + }
  702 + }
  703 +
  704 + }
  705 + })
  706 + },
  707 +
  708 + //获取上一次预约的信息
  709 + get_fir_service:function (){
  710 + var th=this;
  711 + var usr=getApp().globalData.userInfo;
  712 + if(!usr) return false;
  713 +
  714 + getApp().promiseGet("/api/weshop/marketing/reservation/reservation/page",{
  715 + data:{storeId:os.stoid,userId:usr.user_id,projectId:th.data.project_id}
  716 + }).then(res=>{
  717 + if(res.data.code==0 && res.data.data && res.data.data.pageData ){
  718 + var ppdata= res.data.data.pageData[0];
  719 + var data={
  720 + store_name:ppdata.StorageName,
  721 + beautician_name:ppdata.BeauticianName,
  722 + beauticianID:ppdata.BeauticianID,
  723 + StorageId:ppdata.StorageID,
  724 + }
  725 + //检查门店和导购能不能默认使用
  726 + th.check_firleader(data);
  727 + };
  728 + })
636 729 }
  730 +
  731 +
  732 +
637 733 })
638 734 \ No newline at end of file
... ...
pages/user/plus/plus.js
... ... @@ -178,41 +178,50 @@ Page({
178 178 new_arr.push(item);
179 179  
180 180 }
181   - //根據距離遠近排序,越近在前面,升序
182   - new_arr.sort(function (a, b) {
183   - if (a.fee < b.fee) {
184   - return -1;
185   - } else if (a.fee == b.fee) {
186   - return 0;
187   - } else {
188   - return 1;
189   - }
190   - });
191 181  
192   - //里面和外面要显示统一
193   - switch (new_arr.length) {
194   - case 1:arr=[3031]; break;
195   - case 2: arr = [2089, 3031]; break;
196   - case 3: arr = [1219, 2089, 3031];break;
197   - }
  182 + //看是不是还有卡项是可以购买的
  183 + if(new_arr && new_arr.length>0){
  184 + //根據距離遠近排序,越近在前面,升序
  185 + new_arr.sort(function (a, b) {
  186 + if (a.fee < b.fee) {
  187 + return -1;
  188 + } else if (a.fee == b.fee) {
  189 + return 0;
  190 + } else {
  191 + return 1;
  192 + }
  193 + });
198 194  
199   - //---给数组添加立省多少钱---
200   - for (i = 0; i < plusCard.length; i++) {
201   - //判断是否停用
202   -
203   - for (var j = 0; j < new_arr.length; j++) {
204   - if (i == new_arr[j].index) {
205   - plusCard[i].free = arr[j];
206   - break;
207   - }
208   -
  195 + //里面和外面要显示统一
  196 + switch (new_arr.length) {
  197 + case 1:arr=[3031]; break;
  198 + case 2: arr = [2089, 3031]; break;
  199 + case 3: arr = [1219, 2089, 3031];break;
  200 + }
209 201  
  202 + //---给数组添加立省多少钱---
  203 + for (i = 0; i < plusCard.length; i++) {
  204 + //判断是否停用
  205 + for (var j = 0; j < new_arr.length; j++) {
  206 + if (i == new_arr[j].index) {
  207 + plusCard[i].free = arr[j];
  208 + break;
  209 + }
  210 + }
210 211 }
211   - }
212   - th.setData({
213   - is_plusCard: plusCard, is_show: 1
214   - })
  212 + th.setData({
  213 + is_plusCard: plusCard, is_show: 1
  214 + })
  215 +
  216 + }else{
  217 + th.setData({is_show: 1});
  218 + wx.showToast({
  219 + title: "暂无可购买的等级卡项",
  220 + icon: 'none',
  221 + duration: 4000
  222 + })
215 223  
  224 + }
216 225 setTimeout(function(){
217 226 var goods_list = th.selectComponent("#goods_list"); //组件的id
218 227 goods_list.init();
... ...
pages/user/plus/plus.wxml
... ... @@ -6,44 +6,44 @@
6 6 </view>
7 7 <view class="plus">
8 8 <!-- 开通会员模块 -->
9   - <view class="Opening_plus">
10   - <view class="Opening_bk">
11   - <image src="{{url}}/miniapp/images/plus/card_bk.png"></image>
12   - </view>
13   - <view class="swiper">
14   - <!-- 未开通会员swiper-item -->
15   - <swiper current="{{currentId}}" current-item-id="{{currentId}}" next-margin="60rpx" previous-margin="60rpx" bindchange="swiperChange">
16   - <swiper-item class="flex" item-id="{{index}}" data-item-id="{{index}}" wx:for="{{is_plusCard}}">
17   -
18   - <view wx:if="{{item.IsStopBuy!=true}}" class="Membership {{currentId==index?'enlarge':''}}" style=" background-image: url({{item.CardImg}});color:{{item.CardColor}}">
19   - <view class="flex-space-between Membership_go">
20   - <view>
21   - <view class="fs36">{{item.CardName}}</view>
22   - <view class="fs24 Membership_remarks">开通会员卡仅{{item.CardFee}}元</view>
23   - </view>
24   - <view class="Opening fs28 xc-black" data-ind="{{index}}" style="background:{{item.CardColor}}" bindtap="Opening">立即购买
25   - </view>
26 9  
27   - </view>
  10 + <block wx:if="{{is_plusCard}}">
  11 + <view class="Opening_plus">
  12 + <view class="Opening_bk">
  13 + <image src="{{url}}/miniapp/images/plus/card_bk.png"></image>
  14 + </view>
  15 + <view class="swiper">
  16 + <!-- 未开通会员swiper-item -->
  17 + <swiper current="{{currentId}}" current-item-id="{{currentId}}" next-margin="60rpx" previous-margin="60rpx" bindchange="swiperChange">
  18 + <swiper-item class="flex" item-id="{{index}}" data-item-id="{{index}}" wx:for="{{is_plusCard}}">
  19 +
  20 + <view wx:if="{{item.IsStopBuy!=true}}" class="Membership {{currentId==index?'enlarge':''}}" style=" background-image: url({{item.CardImg}});color:{{item.CardColor}}">
  21 + <view class="flex-space-between Membership_go">
  22 + <view>
  23 + <view class="fs36">{{item.CardName}}</view>
  24 + <view class="fs24 Membership_remarks">开通会员卡仅{{item.CardFee}}元</view>
  25 + </view>
  26 + <view class="Opening fs28 xc-black" data-ind="{{index}}" style="background:{{item.CardColor}}" bindtap="Opening">立即购买
  27 + </view>
28 28  
29   - <view class="flex-vertical-between consumption" style="height: 40rpx;line-height:40rpx ">
  29 + </view>
  30 +
  31 + <view class="flex-vertical-between consumption" style="height: 40rpx;line-height:40rpx ">
30 32  
31   - <view class="flex-vertical fs24" style="overflow:hidden">
  33 + <view class="flex-vertical fs24" style="overflow:hidden">
32 34  
33   - <view class="Member"style="background-image:url('{{url}}/miniapp/images/plus/privilege_o.png');filter: drop-shadow( 40rpx 0rpx 0rpx {{item.CardColor}});"></view>
34   - <view style="margin-left:5rpx;white-space: nowrap;">按去年用户消费计算,开卡后一年预计省¥{{item.free}}元
  35 + <view class="Member"style="background-image:url('{{url}}/miniapp/images/plus/privilege_o.png');filter: drop-shadow( 40rpx 0rpx 0rpx {{item.CardColor}});"></view>
  36 + <view style="margin-left:5rpx;white-space: nowrap;">按去年用户消费计算,开卡后一年预计省¥{{item.free}}元
  37 + </view>
35 38 </view>
36 39 </view>
37 40 </view>
38   - </view>
39 41  
40   -
41   - </swiper-item>
42   - </swiper>
  42 + </swiper-item>
  43 + </swiper>
  44 + </view>
43 45 </view>
44   -
45   -
46   - </view>
  46 + </block>
47 47  
48 48 <!-- 会员礼遇 -->
49 49 <view class="Courtesy">
... ...