Commit ac9e5f465e35ef340d934dfb45f11fdb0c756343

Authored by yvan.ni
1 parent b52067b0

多活动的优化

packageE/pages/cart/cart2/cart2.js
... ... @@ -5967,10 +5967,50 @@ Page({
5967 5967 },
5968 5968  
5969 5969 setexptype2: function (e) {
  5970 +
  5971 + if(this.data.all_collocation_list){
  5972 + var bn_coll= this.selectComponent('#bn_coll');
  5973 + bn_coll.clear_sele();
  5974 + this.setData({ collocation_goods: [] });
  5975 + //让主商品的活动变成5,搭配购
  5976 + this.setData({ 'bn_goods.prom_type': 0, 'bn_goods.prom_id': 0 });
  5977 + }
  5978 +
5970 5979 this.debounce(this.setexptype.bind(this, e), 400)();
  5980 +
5971 5981 },
5972 5982  
5973 5983 setexptype_w2: function (e) {
  5984 +
  5985 +
  5986 + for (let i = 0; i <this.data.cartlist ; i++) {
  5987 + var collocationList=this.data.cartlist[i].collocationList;
  5988 + if(collocationList){
  5989 +
  5990 + var txt2 = 'cartlist[' + cart_index + '].collocationList';
  5991 + for (let jy = 0; jy <collocationList.length ; jy++) {
  5992 + collocationList[jy].selected=0;
  5993 + }
  5994 + th.setData({[txt2]:collocationList})
  5995 +
  5996 +
  5997 + var bn_coll= this.selectComponent("#col"+i);
  5998 + bn_coll.clear_sele();
  5999 + var goods = this.data.cartlist[i].goods;
  6000 +
  6001 + var g_arr=[];
  6002 + for (var j = 0; j < goods.length; j++) {
  6003 + if(goods[j].is_collocation) continue;
  6004 + g_arr.push(goods[j]);
  6005 + }
  6006 + var txt = 'cartlist[' + cart_index + '].goods';
  6007 +
  6008 + th.setData({ [txt]: g_arr});
  6009 + }
  6010 + }
  6011 +
  6012 + this.data.old_cartlist = JSON.parse(JSON.stringify(this.data.cartlist));
  6013 +
5974 6014 this.debounce(this.setexptype_w.bind(this, e), 400)();
5975 6015 },
5976 6016  
... ... @@ -6394,12 +6434,40 @@ Page({
6394 6434 //如果是选中
6395 6435 if (e.selected) {
6396 6436 var item = this.data.all_collocation_list[e.index];
  6437 +
  6438 + //如果是自提的时候
  6439 + if(this.data.bn_exp_type==1){
  6440 +
  6441 + if(item.distr_type==2){
  6442 + wx.showToast({
  6443 + title: "商品的配送方式不一致",
  6444 + icon: 'none',
  6445 + duration: 2000
  6446 + })
  6447 + th.setData({ submit: 0 });
  6448 + return false;
  6449 + }
  6450 +
  6451 + }else{
  6452 + if(item.distr_type==1){
  6453 + wx.showToast({
  6454 + title: "商品的配送方式不一致",
  6455 + icon: 'none',
  6456 + duration: 2000
  6457 + })
  6458 + th.setData({ submit: 0 });
  6459 + return false;
  6460 + }
  6461 + }
  6462 +
  6463 + var bn_coll = th.selectComponent("#bn_coll"); //组件的id
  6464 + bn_coll.set_sele(e.index);
  6465 +
6397 6466 item.goods_num = 1;
6398 6467 item.goods_price = item.price;
6399 6468 item.is_collocation = 1;
6400 6469 item.prom_type = 5;
6401 6470  
6402   -
6403 6471 var coll_arr = [];
6404 6472 if (this.data.collocation_goods && this.data.collocation_goods.length) {
6405 6473 coll_arr = this.data.collocation_goods;
... ... @@ -6451,6 +6519,7 @@ Page({
6451 6519 }
6452 6520 }
6453 6521 },
  6522 +
6454 6523 //购物车购买的时候,选中和不选中搭配商品
6455 6524 async select_coll_buy_cart(e) {
6456 6525 var th = this;
... ... @@ -6465,6 +6534,34 @@ Page({
6465 6534  
6466 6535 //-- 如果是选中 --
6467 6536 if (e.selected) {
  6537 +
  6538 + var exp_type=this.data.order_prom_list_cart[cart_index].exp_type; //配送方式
  6539 + //如果是自提的时候
  6540 + if(exp_type==1){
  6541 +
  6542 + if(item.distr_type==2){
  6543 + wx.showToast({
  6544 + title: "商品的配送方式不一致",
  6545 + icon: 'none',
  6546 + duration: 2000
  6547 + })
  6548 + return false;
  6549 + }
  6550 +
  6551 + }else{
  6552 + if(item.distr_type==1){
  6553 + wx.showToast({
  6554 + title: "商品的配送方式不一致",
  6555 + icon: 'none',
  6556 + duration: 2000
  6557 + })
  6558 + return false;
  6559 + }
  6560 + }
  6561 +
  6562 + var bn_coll = th.selectComponent("#col"+cart_index); //组件的id
  6563 + bn_coll.set_sele(index);
  6564 +
6468 6565 item.goods_num = 1;
6469 6566 item.goods_price = item.price;
6470 6567 item.prom_type = 5;
... ...
packageE/pages/cart/cart2/cart2.wxml
... ... @@ -109,7 +109,11 @@
109 109 </view>
110 110  
111 111 <!-- 使用搭配 -->
112   - <cart_collect_temp bind:childFun="select_coll" sales_rules="{{sales_rules}}" pick="{{item.pickup_id}}" is_cart="1" cart_index="{{pidx}}" distr_t="{{item.distr_t}}" appoint_pick_keyid="{{appoint_pick_keyid}}" all_collocation_list="{{item.collocationList}}" />
  112 + <cart_collect_temp id="col{{pidx}}"
  113 + bind:childFun="select_coll" sales_rules="{{sales_rules}}"
  114 + pick="{{item.pickup_id}}" is_cart="1" cart_index="{{pidx}}"
  115 + distr_t="{{item.distr_t}}"
  116 + appoint_pick_keyid="{{appoint_pick_keyid}}" all_collocation_list="{{item.collocationList}}" />
113 117  
114 118 <!-- 如果是等级卡的商品,会员没有注册,要提醒注册 -->
115 119 <view class="plus_buy fs28" wx:if="{{item.card_cut_price>0}}">
... ... @@ -384,7 +388,9 @@
384 388 </block>
385 389  
386 390 <!-- 使用搭配 -->
387   - <cart_collect_temp bind:childFun="select_coll" all_collocation_list="{{all_collocation_list}}" distr_t="{{bn_goods.distr_type}}" appoint_pick_keyid="{{appoint_pick_keyid}}" sales_rules="{{sales_rules}}" pick="{{bn_pick}}" />
  391 + <cart_collect_temp bind:childFun="select_coll" id="bn_coll"
  392 + all_collocation_list="{{all_collocation_list}}" distr_t="{{bn_goods.distr_type}}"
  393 + appoint_pick_keyid="{{appoint_pick_keyid}}" sales_rules="{{sales_rules}}" pick="{{bn_pick}}" />
388 394  
389 395  
390 396 <!-- 如果是等级卡的商品,会员没有注册,要提醒注册 -->
... ...
pages/goods/goodsInfo/goodsInfo.js
... ... @@ -2210,6 +2210,12 @@ Page({
2210 2210 newd.prom_id = th.data.collocationGoods.id;
2211 2211 }
2212 2212  
  2213 + //如果有搭配购的时候的时候
  2214 + if(th.data.zh_act && newd.prom_type==0){
  2215 + newd.prom_type = 7;
  2216 + newd.prom_id = th.data.zh_act.id;
  2217 + }
  2218 +
2213 2219  
2214 2220 newd['pick_name'] = th.data.sto_sele_name;
2215 2221 newd['pick_dis'] = th.data.sto_sele_distr;
... ... @@ -2288,6 +2294,11 @@ Page({
2288 2294 e.prom_id=th.data.data.prom_id
2289 2295 e.collocation_goods=[]
2290 2296 }
  2297 +
  2298 + if(th.data.collocationGoods){
  2299 + e.prom_type=5
  2300 + e.prom_id=th.data.collocationGoods.id
  2301 + }
2291 2302  
2292 2303 s.set_b_now(e);
2293 2304 /*--
... ... @@ -7125,12 +7136,18 @@ Page({
7125 7136 } else {
7126 7137 //调用接口判断订单优惠,
7127 7138 getApp().request.get("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gid + "/0" + "/" + user_id, {
7128   - success: function (res) {
  7139 + success: async function (res) {
7129 7140 if (res.data.code == 0 && res.data.data) {
7130 7141 var r_data = res.data.data;
7131   - var max = 0,
7132   - min = 0;
  7142 + var max = 0, min = 0;
  7143 +
7133 7144  
  7145 + //暂时积分够 不和 优惠,阶梯重叠
  7146 + if(th.data.has_jf || th.data.zh_act){
  7147 + r_data.collocationList=null;
  7148 + r_data.ladderLists=null;
  7149 + r_data.promGoodsLists=null;
  7150 + }
7134 7151  
7135 7152 if (r_data.collocationList) {
7136 7153 for (var i in r_data.collocationList) {
... ... @@ -7152,7 +7169,7 @@ Page({
7152 7169 if (r_data.ladderLists) {
7153 7170 var act_id = r_data.ladderLists[0].form_id;
7154 7171 //-- 判断会员能不能参与阶梯促销 --
7155   - getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
  7172 + await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
7156 7173 if (res.data.code == 0 && res.data.data) {
7157 7174 var prom_content = "";
7158 7175  
... ... @@ -7161,6 +7178,10 @@ Page({
7161 7178 return false;
7162 7179 }
7163 7180  
  7181 + if(res.data.data.good_object==1){
  7182 + r_data.promGoodsLists=null;
  7183 + }
  7184 +
7164 7185 for (let jj in r_data.ladderLists) {
7165 7186 if (r_data.ladderLists[jj].discount == 10) {
7166 7187 prom_content += "第" + (parseInt(jj) + 1) + "件原价,";
... ... @@ -7474,7 +7495,7 @@ Page({
7474 7495 let item = arr_data[i];
7475 7496 //找不到活动要剔除
7476 7497 if (!item.act_name) continue;
7477   - if ([1,2,6].indexOf(item.prom_type)==-1) continue;
  7498 + if ([1,2,4,6].indexOf(item.prom_type)==-1) continue;
7478 7499 new_arr.push(item);
7479 7500 }
7480 7501  
... ... @@ -7609,6 +7630,10 @@ Page({
7609 7630 return e.s_time < ut.gettimestamp() && e.prom_type==7;
7610 7631 })
7611 7632  
  7633 + var arr4 = arr.filter(function (e) {
  7634 + return e.s_time < ut.gettimestamp() && e.prom_type==4;
  7635 + })
  7636 +
7612 7637 //-- 如果只有一个活动的话 --
7613 7638 if (arr.length == 1) {
7614 7639 th.data.prom_type = arr[0].prom_type;
... ... @@ -7620,6 +7645,9 @@ Page({
7620 7645 th.data.prom_id = arr2[0].act_id;
7621 7646 }
7622 7647  
  7648 + if(arr4.length>0){
  7649 + th.data.has_jf=1;
  7650 + }
7623 7651  
7624 7652 if(arr3 && arr3.length>0){
7625 7653 //获取活动信息
... ... @@ -7640,13 +7668,18 @@ Page({
7640 7668 }
7641 7669  
7642 7670 }
  7671 +
  7672 + //-- 调用回调 --
  7673 + func();
7643 7674 }
7644 7675 });
  7676 + }else {
  7677 + //-- 调用回调 --
  7678 + func();
7645 7679 }
7646 7680  
7647 7681 }
7648   - //-- 调用回调 --
7649   - func();
  7682 +
7650 7683 }
7651 7684 });
7652 7685 },
... ...