Commit 54130951310b8beef9fc34cc1fd180790fe9d9a5
1 parent
bd24357b
阶梯促销的优化
Showing
11 changed files
with
979 additions
and
182 deletions
pages/cart/cart/cart.js
| @@ -5,8 +5,9 @@ var t = getApp(), | @@ -5,8 +5,9 @@ var t = getApp(), | ||
| 5 | app = getApp(), | 5 | app = getApp(), |
| 6 | rq = t.request, | 6 | rq = t.request, |
| 7 | ut = require("../../../utils/util.js"), | 7 | ut = require("../../../utils/util.js"), |
| 8 | - zh_calc = require("zh_calculate.js"); | ||
| 9 | - var regeneratorRuntime = require('../../../utils/runtime.js'); | 8 | + zh_calc = require("zh_calculate.js"), |
| 9 | + ladder_calc = require("ladder_calculate.js"); | ||
| 10 | + var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
| 10 | 11 | ||
| 11 | Page({ | 12 | Page({ |
| 12 | data: { | 13 | data: { |
| @@ -38,6 +39,8 @@ Page({ | @@ -38,6 +39,8 @@ Page({ | ||
| 38 | zuhe_map:{}, | 39 | zuhe_map:{}, |
| 39 | zuhe_map_good:{}, | 40 | zuhe_map_good:{}, |
| 40 | in_zhact_gdmap:{}, //不同门店参与同一活动的限购 | 41 | in_zhact_gdmap:{}, //不同门店参与同一活动的限购 |
| 42 | + | ||
| 43 | + ladder_map:{}, //阶梯促销需要的map | ||
| 41 | }, | 44 | }, |
| 42 | onLoad: function() { | 45 | onLoad: function() { |
| 43 | var a = this,ee=a; | 46 | var a = this,ee=a; |
| @@ -83,7 +86,6 @@ Page({ | @@ -83,7 +86,6 @@ Page({ | ||
| 83 | th.setData({ | 86 | th.setData({ |
| 84 | bconfig: e,sales_rules:e.sales_rules | 87 | bconfig: e,sales_rules:e.sales_rules |
| 85 | }); | 88 | }); |
| 86 | - | ||
| 87 | getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ | 89 | getApp().request.promiseGet("/store/storemoduleendtime/page?store_id=" +os.stoid + "&type=6",{}).then(res=>{ |
| 88 | //未购买 | 90 | //未购买 |
| 89 | if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ | 91 | if(res.data.code!=0 || !res.data.data || !res.data.data.pageData || !res.data.data.pageData.length){ |
| @@ -210,6 +212,8 @@ Page({ | @@ -210,6 +212,8 @@ Page({ | ||
| 210 | get_cart: function() { | 212 | get_cart: function() { |
| 211 | var th = this; | 213 | var th = this; |
| 212 | th.data.in_zhact_gdmap={}; | 214 | th.data.in_zhact_gdmap={}; |
| 215 | + th.data.ladder_map={}; | ||
| 216 | + | ||
| 213 | var rd = Math.random().toString(36).substr(2, 15); | 217 | var rd = Math.random().toString(36).substr(2, 15); |
| 214 | var user_id=getApp().globalData.userInfo.user_id; | 218 | var user_id=getApp().globalData.userInfo.user_id; |
| 215 | getApp().request.get("/api/weshop/cart/list", { | 219 | getApp().request.get("/api/weshop/cart/list", { |
| @@ -223,8 +227,7 @@ Page({ | @@ -223,8 +227,7 @@ Page({ | ||
| 223 | success:async function(su) { | 227 | success:async function(su) { |
| 224 | console.log(su,10000); | 228 | console.log(su,10000); |
| 225 | //按门店分类的数组 | 229 | //按门店分类的数组 |
| 226 | - var arr = new Array(), | ||
| 227 | - carr = su.data.data.pageData; | 230 | + var arr = new Array(), carr = su.data.data.pageData; |
| 228 | var all_num = 0; | 231 | var all_num = 0; |
| 229 | 232 | ||
| 230 | if(carr && carr.length>0) { | 233 | if(carr && carr.length>0) { |
| @@ -354,35 +357,86 @@ Page({ | @@ -354,35 +357,86 @@ Page({ | ||
| 354 | } | 357 | } |
| 355 | } | 358 | } |
| 356 | 359 | ||
| 357 | - //--判断优惠活动有没有过期-- | 360 | + //--判断优惠活动有没有过期,-- |
| 358 | else if (item.prom_type == 3) { | 361 | else if (item.prom_type == 3) { |
| 359 | - var isok = 1; | ||
| 360 | - await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { | ||
| 361 | - if (res.data.code == 0) { | ||
| 362 | - var r_data = res.data.data; | ||
| 363 | - if (!r_data.promGoodsLists) { | 362 | + var isok = 1,is_g_prom=0; |
| 363 | + | ||
| 364 | + //因为有全场优惠活动,商品参加的活动还未开始 | ||
| 365 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
| 366 | + var req_data={ | ||
| 367 | + store_id:os.stoid,goodsidlist:item.goods_id,is_detail:1 | ||
| 368 | + }; | ||
| 369 | + await getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { | ||
| 370 | + if(res.data.code==0 && res.data.data && res.data.data.length){ | ||
| 371 | + for(let i in res.data.data){ | ||
| 372 | + let item=res.data.data[i]; | ||
| 373 | + if(item.prom_type==3) { | ||
| 374 | + is_g_prom=1; break; | ||
| 375 | + } | ||
| 376 | + } | ||
| 377 | + } | ||
| 378 | + }) | ||
| 379 | + | ||
| 380 | + if(is_g_prom){ | ||
| 381 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { | ||
| 382 | + if (res.data.code == 0) { | ||
| 383 | + var r_data = res.data.data; | ||
| 384 | + if (!r_data.promGoodsLists) { | ||
| 385 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 386 | + getApp().request.delete(url, {}); | ||
| 387 | + //商品已经无活动 | ||
| 388 | + isok = 0; | ||
| 389 | + }else{ | ||
| 390 | + //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | ||
| 391 | + if(item.prom_id!=r_data.promGoodsLists[0].prom_id ){ | ||
| 392 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 393 | + getApp().request.delete(url, {}); | ||
| 394 | + //商品已经下架 | ||
| 395 | + isok = 0; | ||
| 396 | + } | ||
| 397 | + } | ||
| 398 | + | ||
| 399 | + } else { | ||
| 364 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | 400 | var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; |
| 365 | getApp().request.delete(url, {}); | 401 | getApp().request.delete(url, {}); |
| 366 | - //商品已经无活动 | 402 | + //商品已经下架 |
| 367 | isok = 0; | 403 | isok = 0; |
| 368 | - }else{ | ||
| 369 | - //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | ||
| 370 | - if(item.prom_id!=r_data.promGoodsLists[0].prom_id ){ | ||
| 371 | - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 372 | - getApp().request.delete(url, {}); | ||
| 373 | - //商品已经下架 | ||
| 374 | - isok = 0; | ||
| 375 | - } | ||
| 376 | - } | ||
| 377 | - | ||
| 378 | - } else { | ||
| 379 | - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 380 | - getApp().request.delete(url, {}); | ||
| 381 | - //商品已经下架 | ||
| 382 | - isok = 0; | ||
| 383 | - } | ||
| 384 | - }) | 404 | + } |
| 405 | + }) | ||
| 406 | + | ||
| 407 | + }else{ | ||
| 408 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + item.goods_id, {}).then(res => { | ||
| 409 | + if (res.data.code == 0) { | ||
| 410 | + var r_data = res.data.data; | ||
| 411 | + if (!r_data.promGoodsLists) { | ||
| 412 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 413 | + getApp().request.delete(url, {}); | ||
| 414 | + //商品已经无活动 | ||
| 415 | + isok = 0; | ||
| 416 | + }else{ | ||
| 417 | + //如果活动的ID不一样,说明原先的活动已经没有参与了或者过期了 | ||
| 418 | + if(item.prom_id!=r_data.promGoodsLists[0].prom_id ){ | ||
| 419 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 420 | + getApp().request.delete(url, {}); | ||
| 421 | + //商品已经下架 | ||
| 422 | + isok = 0; | ||
| 423 | + } | ||
| 424 | + } | ||
| 425 | + | ||
| 426 | + } else { | ||
| 427 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 428 | + getApp().request.delete(url, {}); | ||
| 429 | + //商品已经下架 | ||
| 430 | + isok = 0; | ||
| 431 | + } | ||
| 432 | + }) | ||
| 433 | + | ||
| 434 | + } | ||
| 435 | + | ||
| 385 | if (!isok) continue; | 436 | if (!isok) continue; |
| 437 | + | ||
| 438 | + | ||
| 439 | + | ||
| 386 | } | 440 | } |
| 387 | else if (item.prom_type == 7) { | 441 | else if (item.prom_type == 7) { |
| 388 | if(!th.data.zuhe_map[item.prom_id]){ | 442 | if(!th.data.zuhe_map[item.prom_id]){ |
| @@ -470,6 +524,68 @@ Page({ | @@ -470,6 +524,68 @@ Page({ | ||
| 470 | // continue; | 524 | // continue; |
| 471 | // } | 525 | // } |
| 472 | } | 526 | } |
| 527 | + else if (item.prom_type == 10) { | ||
| 528 | + if(!th.data.ladder_map[item.prom_id]){ | ||
| 529 | + //如果有组合购 | ||
| 530 | + var isok = 1; | ||
| 531 | + var is_flag=1; | ||
| 532 | + var act=null; | ||
| 533 | + var url="/api/weshop/prom/ladderForm/get/"+os.stoid+"/"+item.prom_id; | ||
| 534 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 535 | + console.log(res,1000); | ||
| 536 | + if(res.data.code==0 && res.data.data){ | ||
| 537 | + if(res.data.data.isuse!=1){ | ||
| 538 | + isok=0; | ||
| 539 | + } | ||
| 540 | + //如果活动已经结束 | ||
| 541 | + if(res.data.data.is_end==1){ | ||
| 542 | + isok=0; | ||
| 543 | + } | ||
| 544 | + //已经结束 | ||
| 545 | + if(ut.gettimestamp()>res.data.data.end_time){ | ||
| 546 | + isok=0; | ||
| 547 | + } | ||
| 548 | + //还未开始 | ||
| 549 | + if(ut.gettimestamp()<res.data.data.start_time){ | ||
| 550 | + isok=0; | ||
| 551 | + } | ||
| 552 | + act=res.data.data; | ||
| 553 | + | ||
| 554 | + }else{ | ||
| 555 | + //未找到商品的活动 | ||
| 556 | + is_flag = 0; | ||
| 557 | + } | ||
| 558 | + }) | ||
| 559 | + if (!isok){ | ||
| 560 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 561 | + getApp().request.delete(url, {}); | ||
| 562 | + th.data.ladder_map[item.prom_id]=-1; | ||
| 563 | + continue; | ||
| 564 | + } | ||
| 565 | + th.data.ladder_map[item.prom_id]=act; | ||
| 566 | + | ||
| 567 | + //-- 获取阶梯规则 -- | ||
| 568 | + var url1 = "/api/weshop/prom/ladderList/list"; | ||
| 569 | + var req_data = { | ||
| 570 | + store_id: os.stoid, | ||
| 571 | + form_id: item.prom_id, | ||
| 572 | + } | ||
| 573 | + await getApp().request.promiseGet(url1, { | ||
| 574 | + data: req_data | ||
| 575 | + }).then(rs1 => { | ||
| 576 | + if (rs1.data.code==0 && rs1.data.data) { | ||
| 577 | + var gdlist = rs1.data.data; | ||
| 578 | + th.data.ladder_map[item.prom_id].ladder_list=gdlist; | ||
| 579 | + } | ||
| 580 | + }) | ||
| 581 | + } | ||
| 582 | + //直接把活动赋值给元素 | ||
| 583 | + if(th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id]!=-1 ){ | ||
| 584 | + item.act=th.data.ladder_map[item.prom_id]; | ||
| 585 | + } | ||
| 586 | + | ||
| 587 | + } | ||
| 588 | + | ||
| 473 | else if(item.prom_type == 0) { | 589 | else if(item.prom_type == 0) { |
| 474 | //如果有优惠活动,要更新活动 | 590 | //如果有优惠活动,要更新活动 |
| 475 | await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { | 591 | await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + item.goods_id + "/1", {}).then(res => { |
| @@ -575,9 +691,6 @@ Page({ | @@ -575,9 +691,6 @@ Page({ | ||
| 575 | } | 691 | } |
| 576 | } | 692 | } |
| 577 | 693 | ||
| 578 | - // console.log('AAAAAAAAAAAA', all_num); | ||
| 579 | - // getApp().globalData.cartGoodsNum = all_num; | ||
| 580 | - | ||
| 581 | th.setData({ | 694 | th.setData({ |
| 582 | requestData: arr, | 695 | requestData: arr, |
| 583 | all_num: all_num, | 696 | all_num: all_num, |
| @@ -948,11 +1061,13 @@ Page({ | @@ -948,11 +1061,13 @@ Page({ | ||
| 948 | if(item[j].is_gift) continue; | 1061 | if(item[j].is_gift) continue; |
| 949 | 1062 | ||
| 950 | var obj=JSON.parse(JSON.stringify(item[j])); | 1063 | var obj=JSON.parse(JSON.stringify(item[j])); |
| 951 | - //计算之前先移除 | 1064 | + //计算之前先移除组合购的计算 |
| 952 | if(obj.prom_type==7) | 1065 | if(obj.prom_type==7) |
| 953 | zh_calc.remove_zhprom(dda,i,obj); | 1066 | zh_calc.remove_zhprom(dda,i,obj); |
| 954 | - | ||
| 955 | - | 1067 | + //计算之前先移除阶梯购的计算 |
| 1068 | + if(obj.prom_type==10) | ||
| 1069 | + ladder_calc.remove_ladder_prom(dda,i,obj); | ||
| 1070 | + | ||
| 956 | if (fir == 0) { | 1071 | if (fir == 0) { |
| 957 | fir = item[j].distr_type; | 1072 | fir = item[j].distr_type; |
| 958 | } else { | 1073 | } else { |
| @@ -965,8 +1080,12 @@ Page({ | @@ -965,8 +1080,12 @@ Page({ | ||
| 965 | var txt = "requestData[" + i + "].goods[" + j + "].selected"; | 1080 | var txt = "requestData[" + i + "].goods[" + j + "].selected"; |
| 966 | 1081 | ||
| 967 | if(e.data.checkAllToggle) obj.goods_num=0; | 1082 | if(e.data.checkAllToggle) obj.goods_num=0; |
| 968 | - if(obj.prom_type==7) | ||
| 969 | - zh_calc.add_zhprom(dda,i,obj); | 1083 | + |
| 1084 | + //加入组合购计算 | ||
| 1085 | + if(obj.prom_type==7) zh_calc.add_zhprom(dda,i,obj); | ||
| 1086 | + //加入阶梯促销计算 | ||
| 1087 | + if(obj.prom_type==10) ladder_calc.add_ladder_prom(dda,i,obj); | ||
| 1088 | + | ||
| 970 | 1089 | ||
| 971 | e.setData({ | 1090 | e.setData({ |
| 972 | [txt]: !e.data.checkAllToggle, | 1091 | [txt]: !e.data.checkAllToggle, |
| @@ -974,7 +1093,7 @@ Page({ | @@ -974,7 +1093,7 @@ Page({ | ||
| 974 | 1093 | ||
| 975 | if (!e.data.checkAllToggle) { | 1094 | if (!e.data.checkAllToggle) { |
| 976 | //组合购的金额要另外算 | 1095 | //组合购的金额要另外算 |
| 977 | - if(item[j].prom_type!=7) | 1096 | + if(item[j].prom_type!=7 && item[j].prom_type!=10) |
| 978 | tfeel += item[j].goods_num * item[j].goods_price; | 1097 | tfeel += item[j].goods_num * item[j].goods_price; |
| 979 | t_num += item[j].goods_num; | 1098 | t_num += item[j].goods_num; |
| 980 | } | 1099 | } |
| @@ -1012,6 +1131,12 @@ Page({ | @@ -1012,6 +1131,12 @@ Page({ | ||
| 1012 | offline_price+=zh_calc_res.offline_price; | 1131 | offline_price+=zh_calc_res.offline_price; |
| 1013 | offline_num+=zh_calc_res.offline_num; | 1132 | offline_num+=zh_calc_res.offline_num; |
| 1014 | 1133 | ||
| 1134 | + //总的价格,把阶梯促销的商品的价格拿出来 | ||
| 1135 | + var ladder_calc_res=ladder_calc.calculate_ladder(dda,i,this); | ||
| 1136 | + tfeel+=ladder_calc_res.tfeel; | ||
| 1137 | + offline_price+=ladder_calc_res.offline_price; | ||
| 1138 | + offline_num+=ladder_calc_res.offline_num; | ||
| 1139 | + | ||
| 1015 | //当有线下取价的时候 | 1140 | //当有线下取价的时候 |
| 1016 | if(offline_price){ | 1141 | if(offline_price){ |
| 1017 | var txt1= "requestData[" + i + "].offline_price"; | 1142 | var txt1= "requestData[" + i + "].offline_price"; |
| @@ -1326,7 +1451,10 @@ Page({ | @@ -1326,7 +1451,10 @@ Page({ | ||
| 1326 | 1451 | ||
| 1327 | //不管怎么样都要移出去 | 1452 | //不管怎么样都要移出去 |
| 1328 | var obj=JSON.parse(JSON.stringify(item[c])); | 1453 | var obj=JSON.parse(JSON.stringify(item[c])); |
| 1454 | + | ||
| 1329 | zh_calc.remove_zhprom(car,a,obj); | 1455 | zh_calc.remove_zhprom(car,a,obj); |
| 1456 | + ladder_calc.remove_ladder_prom(car,a,obj); | ||
| 1457 | + | ||
| 1330 | if (item[c].selected == 0) { | 1458 | if (item[c].selected == 0) { |
| 1331 | ischeck = 0; | 1459 | ischeck = 0; |
| 1332 | is_s_sele = 0; | 1460 | is_s_sele = 0; |
| @@ -1334,11 +1462,20 @@ Page({ | @@ -1334,11 +1462,20 @@ Page({ | ||
| 1334 | obj.goods_num=0; | 1462 | obj.goods_num=0; |
| 1335 | zh_calc.add_zhprom(car,a,obj); | 1463 | zh_calc.add_zhprom(car,a,obj); |
| 1336 | } | 1464 | } |
| 1465 | + if(item[c].prom_type==10) { | ||
| 1466 | + obj.goods_num=0; | ||
| 1467 | + ladder_calc.add_ladder_prom(car,a,obj); | ||
| 1468 | + } | ||
| 1469 | + | ||
| 1470 | + | ||
| 1337 | } else { | 1471 | } else { |
| 1338 | if(item[c].prom_type==7){ | 1472 | if(item[c].prom_type==7){ |
| 1339 | - //先把商品放入组合计算的专用的区域 | ||
| 1340 | - zh_calc.add_zhprom(car,a,obj); | ||
| 1341 | - }else{ | 1473 | + //先把商品放入组合计算的专用的区域 |
| 1474 | + zh_calc.add_zhprom(car,a,obj); | ||
| 1475 | + }else if(item[c].prom_type==10){ | ||
| 1476 | + ladder_calc.add_ladder_prom(car,a,obj); | ||
| 1477 | + } | ||
| 1478 | + else{ | ||
| 1342 | tfeel += item[c].goods_num * item[c].goods_price; | 1479 | tfeel += item[c].goods_num * item[c].goods_price; |
| 1343 | } | 1480 | } |
| 1344 | t_num += item[c].goods_num; | 1481 | t_num += item[c].goods_num; |
| @@ -1353,10 +1490,17 @@ Page({ | @@ -1353,10 +1490,17 @@ Page({ | ||
| 1353 | 1490 | ||
| 1354 | //总的价格,把组合商品的价格拿出来 | 1491 | //总的价格,把组合商品的价格拿出来 |
| 1355 | var zh_calc_res=zh_calc.calculate_zh(car,a,th); | 1492 | var zh_calc_res=zh_calc.calculate_zh(car,a,th); |
| 1493 | + //总的价格,把阶梯促销商品的价格拿出来 | ||
| 1494 | + var ladder_calc_res=ladder_calc.calculate_ladder(car,a,th); | ||
| 1495 | + | ||
| 1356 | tfeel+=zh_calc_res.tfeel; | 1496 | tfeel+=zh_calc_res.tfeel; |
| 1357 | offline_price+=zh_calc_res.offline_price; | 1497 | offline_price+=zh_calc_res.offline_price; |
| 1358 | offline_num+=zh_calc_res.offline_num; | 1498 | offline_num+=zh_calc_res.offline_num; |
| 1359 | 1499 | ||
| 1500 | + tfeel+=ladder_calc_res.tfeel; | ||
| 1501 | + offline_price+=ladder_calc_res.offline_price; | ||
| 1502 | + offline_num+=ladder_calc_res.offline_num; | ||
| 1503 | + | ||
| 1360 | var txt = "requestData[" + a + "].selected"; | 1504 | var txt = "requestData[" + a + "].selected"; |
| 1361 | th.setData({ | 1505 | th.setData({ |
| 1362 | [txt]: Number(is_s_sele) | 1506 | [txt]: Number(is_s_sele) |
| @@ -1409,9 +1553,6 @@ Page({ | @@ -1409,9 +1553,6 @@ Page({ | ||
| 1409 | }); | 1553 | }); |
| 1410 | } | 1554 | } |
| 1411 | } | 1555 | } |
| 1412 | - | ||
| 1413 | - // getApp().globalData.cartGoodsNum = all_num; | ||
| 1414 | - // console.log('CCCCCCC', all_num, getApp().globalData.cartGoodsNum); | ||
| 1415 | 1556 | ||
| 1416 | this.setData({ | 1557 | this.setData({ |
| 1417 | checkAllToggle: ischeck, | 1558 | checkAllToggle: ischeck, |
| @@ -1423,11 +1564,8 @@ Page({ | @@ -1423,11 +1564,8 @@ Page({ | ||
| 1423 | 1564 | ||
| 1424 | //----------------------更新购物数量,加减,调用接口--------------------- | 1565 | //----------------------更新购物数量,加减,调用接口--------------------- |
| 1425 | postCardList: function(t, item, pitem) { | 1566 | postCardList: function(t, item, pitem) { |
| 1426 | - | ||
| 1427 | var e = this,th=e; | 1567 | var e = this,th=e; |
| 1428 | var user_id = getApp().globalData.user_id; | 1568 | var user_id = getApp().globalData.user_id; |
| 1429 | - // console.log('update'); | ||
| 1430 | - // console.log('9995959595959',t); | ||
| 1431 | rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, { | 1569 | rq.get("/api/weshop/goods/get/" + oo.stoid + "/" + t.goods_id, { |
| 1432 | isShowLoading: 0, | 1570 | isShowLoading: 0, |
| 1433 | async success(d) { | 1571 | async success(d) { |
| @@ -1456,12 +1594,9 @@ Page({ | @@ -1456,12 +1594,9 @@ Page({ | ||
| 1456 | th.setData({[txt]:promgoodsbuynum}); | 1594 | th.setData({[txt]:promgoodsbuynum}); |
| 1457 | } | 1595 | } |
| 1458 | goodsbuynum = buy_num_data.goodsbuynum; | 1596 | goodsbuynum = buy_num_data.goodsbuynum; |
| 1459 | - | ||
| 1460 | - | ||
| 1461 | - // console.log('goodsbuynum===========', goodsbuynum); | 1597 | + |
| 1462 | }) | 1598 | }) |
| 1463 | 1599 | ||
| 1464 | - | ||
| 1465 | 1600 | ||
| 1466 | var buyed_mum2 = t.goods_num + goodsbuynum; | 1601 | var buyed_mum2 = t.goods_num + goodsbuynum; |
| 1467 | if (buyed_mum2 > limit && limit > 0) { | 1602 | if (buyed_mum2 > limit && limit > 0) { |
pages/cart/cart/cart.wxml
| @@ -164,6 +164,15 @@ | @@ -164,6 +164,15 @@ | ||
| 164 | </view> | 164 | </view> |
| 165 | </block> | 165 | </block> |
| 166 | 166 | ||
| 167 | + <!-- 阶梯促销提示多少件的优惠 --> | ||
| 168 | + <block wx:if="{{item.l_need_list && item.l_need_list.length>0 && !is_edit}}"> | ||
| 169 | + | ||
| 170 | + <view class="fs28 pdr20 pdl20 pdb20 c-red2 flex jc_sb" wx:for="{{item.l_need_list}}"> | ||
| 171 | + <text>{{item.title}}</text> | ||
| 172 | + <text data-url="/pages/goods/goodsList/goodsList?ladder_id={{item.id}}" bindtap="go_url">去凑单</text> | ||
| 173 | + </view> | ||
| 174 | + </block> | ||
| 175 | + | ||
| 167 | 176 | ||
| 168 | <!-- 线下取价 --> | 177 | <!-- 线下取价 --> |
| 169 | <view style="margin:10rpx 0; padding: 0 30rpx;color: #999" wx:if="{{item.offline_price}}" class="fs28"> | 178 | <view style="margin:10rpx 0; padding: 0 30rpx;color: #999" wx:if="{{item.offline_price}}" class="fs28"> |
pages/cart/cart/ladder_calculate.js
0 → 100644
| 1 | +module.exports = { | ||
| 2 | + //辅助数组添加元素功能 | ||
| 3 | + find_in_add: function(list, ele) { | ||
| 4 | + var idx=list.findIndex(function (e) { | ||
| 5 | + return e.goods_id==ele.goods_id; | ||
| 6 | + }) | ||
| 7 | + if(idx>-1) return false; | ||
| 8 | + list.push(ele); | ||
| 9 | + }, | ||
| 10 | + //辅助数组添加元素功能 | ||
| 11 | + find_in_remove: function(list, ele) { | ||
| 12 | + var idx=list.findIndex(function (e) { | ||
| 13 | + return e.goods_id==ele.goods_id; | ||
| 14 | + }) | ||
| 15 | + if(idx==-1) return false; | ||
| 16 | + list.splice(idx, 1); | ||
| 17 | + }, | ||
| 18 | + | ||
| 19 | + //主要是把组合购的商品分离出来 | ||
| 20 | + add_ladder_prom: function(car, a, ele) { | ||
| 21 | + var point = car[a]; | ||
| 22 | + if (point.ladder_map) { | ||
| 23 | + if (point.ladder_map[ele.prom_id]) { | ||
| 24 | + this.find_in_add(point.ladder_map[ele.prom_id].goods, ele); | ||
| 25 | + } else { | ||
| 26 | + point.ladder_map[ele.prom_id] = { | ||
| 27 | + goods: [], | ||
| 28 | + act: ele.act | ||
| 29 | + }; | ||
| 30 | + point.ladder_map[ele.prom_id].goods.push(ele); | ||
| 31 | + } | ||
| 32 | + } else { | ||
| 33 | + point.ladder_map = {}; | ||
| 34 | + point.ladder_map[ele.prom_id] = { | ||
| 35 | + goods: [], | ||
| 36 | + act: ele.act | ||
| 37 | + }; | ||
| 38 | + point.ladder_map[ele.prom_id].goods.push(ele); | ||
| 39 | + } | ||
| 40 | + }, | ||
| 41 | + //未选中的商品,要从中剔除 | ||
| 42 | + remove_ladder_prom: function(car, a, ele) { | ||
| 43 | + var point = car[a]; | ||
| 44 | + if (point.ladder_map) { | ||
| 45 | + if (point.ladder_map[ele.prom_id]) { | ||
| 46 | + this.find_in_remove(point.ladder_map[ele.prom_id].goods, ele); | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | + }, | ||
| 50 | + | ||
| 51 | + //把组合购的商品价格计算出来,同时每个会员都有购买组合商品的上限!ladder_b_num是已经购买了多少件 | ||
| 52 | + calculate_ladder: function(car, a, th) { | ||
| 53 | + var car_item = car[a]; | ||
| 54 | + var tfeel = 0,offline_price = 0,offline_num = 0; | ||
| 55 | + var txt = "requestData[" + a + "].l_need_list"; | ||
| 56 | + var need_to=[]; | ||
| 57 | + | ||
| 58 | + //活动的列表都存储在这里面,可以快速查询 | ||
| 59 | + if (!car_item.ladder_map) { | ||
| 60 | + var res = { | ||
| 61 | + tfeel: tfeel, | ||
| 62 | + offline_price: offline_price, | ||
| 63 | + offline_num: offline_num | ||
| 64 | + }; | ||
| 65 | + th.setData({ | ||
| 66 | + [txt]: null | ||
| 67 | + }); | ||
| 68 | + return res; | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + //因为可能有多个组合购的活动 | ||
| 72 | + for (var mi in car_item.ladder_map) { | ||
| 73 | + var bitem = car_item.ladder_map[mi]; | ||
| 74 | + var act = bitem.act; //获取到组合购的详情 | ||
| 75 | + var all_num = 0; //商品数量之和 | ||
| 76 | + var all_price = 0; | ||
| 77 | + var aprice=0; | ||
| 78 | + var no_in_arr = []; //剩余的未加入组合购 | ||
| 79 | + | ||
| 80 | + var title =""; //提示语; | ||
| 81 | + var goods = car_item.goods; | ||
| 82 | + | ||
| 83 | + //-- 每件商品要剔除的量 -- | ||
| 84 | + for (let v3 in car_item.goods) { | ||
| 85 | + car_item.goods[v3].l_need_downlow_num=0; | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + //寻找一下 | ||
| 89 | + function get_num2(ite) { | ||
| 90 | + var vh=car_item.goods.findIndex(function (e) { | ||
| 91 | + return e.goods_id == ite.goods_id | ||
| 92 | + }) | ||
| 93 | + if(vh>-1) return vh; | ||
| 94 | + return 0; | ||
| 95 | + } | ||
| 96 | + | ||
| 97 | + for (var i in goods) { | ||
| 98 | + if(goods[i].prom_type!=10) continue; | ||
| 99 | + if(!goods[i].selected) continue; | ||
| 100 | + if(goods[i].prom_id!=act.id) continue; | ||
| 101 | + var item = goods[i]; | ||
| 102 | + item.goods_price=item.goods_price; | ||
| 103 | + item.offline_price=item.offline_price; | ||
| 104 | + item.cart_num =item.goods_num; | ||
| 105 | + all_num += item.cart_num; | ||
| 106 | + for (var j = 0; j < item.cart_num; j++) { | ||
| 107 | + no_in_arr.push({ | ||
| 108 | + price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,shop_price:item.shop_price | ||
| 109 | + }) | ||
| 110 | + } | ||
| 111 | + } | ||
| 112 | + | ||
| 113 | + function sortData(a, b) { | ||
| 114 | + return a.price - b.price | ||
| 115 | + } | ||
| 116 | + no_in_arr.sort(sortData); | ||
| 117 | + | ||
| 118 | + //开始阶梯计算价格 | ||
| 119 | + var lev=0; | ||
| 120 | + for(let j in act.ladder_list){ | ||
| 121 | + if(no_in_arr.length==0) break; | ||
| 122 | + let item_j=act.ladder_list[j]; | ||
| 123 | + var end=no_in_arr.pop(); | ||
| 124 | + var new_price=parseInt(item_j.discount_field)==1?end.shop_price:end.price; | ||
| 125 | + aprice+=new_price* parseFloat(item_j.discount)/10; | ||
| 126 | + lev++; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + //获取阶梯促销的下一个促销 | ||
| 130 | + if(lev>0 && lev<act.ladder_list.length){ | ||
| 131 | + title = "再买1件,第"+(lev+1)+"件"+act.ladder_list[lev].discount+"折"; | ||
| 132 | + var it = { | ||
| 133 | + id: act.id, | ||
| 134 | + pickup_id: car_item.pid, | ||
| 135 | + title: title | ||
| 136 | + }; | ||
| 137 | + need_to.push(it); | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + all_price+=aprice; | ||
| 141 | + //算一下剩余的钱 | ||
| 142 | + if (no_in_arr.length) { | ||
| 143 | + for (var ii in no_in_arr) { | ||
| 144 | + var item = no_in_arr[ii]; | ||
| 145 | + var gitem=get_num2(item); | ||
| 146 | + if(gitem) { | ||
| 147 | + if (!gitem.l_need_downlow_num) { | ||
| 148 | + gitem.l_need_downlow_num = 1; | ||
| 149 | + } | ||
| 150 | + else { | ||
| 151 | + gitem.l_need_downlow_num++; | ||
| 152 | + } | ||
| 153 | + all_price += item.price; | ||
| 154 | + if (item.offline_price) { | ||
| 155 | + offline_price += gitem.goods_price - gitem.offline_price; | ||
| 156 | + offline_num += 1; | ||
| 157 | + } | ||
| 158 | + } | ||
| 159 | + } | ||
| 160 | + } | ||
| 161 | + tfeel += all_price; | ||
| 162 | + } | ||
| 163 | + var res = { | ||
| 164 | + tfeel: tfeel, | ||
| 165 | + aprice:aprice, | ||
| 166 | + offline_price: offline_price, | ||
| 167 | + offline_num: offline_num, | ||
| 168 | + }; | ||
| 169 | + | ||
| 170 | + th.setData({ [txt]: need_to}); | ||
| 171 | + return res; | ||
| 172 | + }, | ||
| 173 | + | ||
| 174 | + find_need_to: function(list, iter) { | ||
| 175 | + if (!list || list.length <= 0) return -1; | ||
| 176 | + for (var i in list) { | ||
| 177 | + var item = list[i]; | ||
| 178 | + if (item.id == iter.id) { | ||
| 179 | + return i; | ||
| 180 | + } | ||
| 181 | + } | ||
| 182 | + return -1; | ||
| 183 | + }, | ||
| 184 | + | ||
| 185 | + //筛选阶梯促销,纯粹的数组按活动id分组 | ||
| 186 | + find_split: function(arr) { | ||
| 187 | + //过滤只有团购的商品 | ||
| 188 | + var oarr = arr.goods.filter(function(ele) { | ||
| 189 | + return ele.prom_type == 10 | ||
| 190 | + }) | ||
| 191 | + if(!oarr || oarr.length==0) return null; | ||
| 192 | + //看一下有多少个不同的团购 | ||
| 193 | + var map = {},dest = []; | ||
| 194 | + for (var i = 0; i < oarr.length; i++) { | ||
| 195 | + var ai = oarr[i]; | ||
| 196 | + var index=map[ai.prom_id] | ||
| 197 | + if (!index) { | ||
| 198 | + dest.push({ | ||
| 199 | + prom_id: ai.prom_id, | ||
| 200 | + data: [ai] | ||
| 201 | + }); | ||
| 202 | + map[ai.prom_id]=dest.length; //存储下标 | ||
| 203 | + } else { | ||
| 204 | + var dj = dest[index-1]; | ||
| 205 | + dj.data.push(ai); | ||
| 206 | + } | ||
| 207 | + } | ||
| 208 | + return dest; | ||
| 209 | + } | ||
| 210 | + | ||
| 211 | + | ||
| 212 | +} |
pages/cart/cart2/cart2.js
| @@ -4,6 +4,7 @@ var oo = t.globalData.setting, os = oo; | @@ -4,6 +4,7 @@ var oo = t.globalData.setting, os = oo; | ||
| 4 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 4 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
| 5 | var util_pay = require("../../../utils/pay.js"); | 5 | var util_pay = require("../../../utils/pay.js"); |
| 6 | var zh_calc = require("zh_calculate.js"); | 6 | var zh_calc = require("zh_calculate.js"); |
| 7 | +var ladder_calc = require("ladder_calculate.js"); | ||
| 7 | 8 | ||
| 8 | Page({ | 9 | Page({ |
| 9 | data: { | 10 | data: { |
| @@ -33,6 +34,7 @@ Page({ | @@ -33,6 +34,7 @@ Page({ | ||
| 33 | couponCode: "",//使用优惠券(多单就用逗号隔开) | 34 | couponCode: "",//使用优惠券(多单就用逗号隔开) |
| 34 | shipping_price: 0,//物流费用 | 35 | shipping_price: 0,//物流费用 |
| 35 | }, | 36 | }, |
| 37 | + | ||
| 36 | /*-----------当是购物车结算的时候-------------*/ | 38 | /*-----------当是购物车结算的时候-------------*/ |
| 37 | cartlist: null, | 39 | cartlist: null, |
| 38 | old_cartlist: null, | 40 | old_cartlist: null, |
| @@ -124,7 +126,10 @@ Page({ | @@ -124,7 +126,10 @@ Page({ | ||
| 124 | in_zhact_gdmap:{}, //不同门店参与同一活动的限购 | 126 | in_zhact_gdmap:{}, //不同门店参与同一活动的限购 |
| 125 | hid_inp:1, | 127 | hid_inp:1, |
| 126 | user_note:{}, | 128 | user_note:{}, |
| 127 | - zuhe_map_good:{}, | 129 | + zuhe_map_good:{}, //组合购的map表 |
| 130 | + ladder_map:{}, //阶梯促销的map表 | ||
| 131 | + | ||
| 132 | + state:0, //阶梯促销的的立即购买也走购物车流程state=1 | ||
| 128 | }, | 133 | }, |
| 129 | onLoad: function (t) { | 134 | onLoad: function (t) { |
| 130 | wx.setNavigationBarTitle({title: "填写订单",}) | 135 | wx.setNavigationBarTitle({title: "填写订单",}) |
| @@ -140,6 +145,11 @@ Page({ | @@ -140,6 +145,11 @@ Page({ | ||
| 140 | } | 145 | } |
| 141 | }); | 146 | }); |
| 142 | 147 | ||
| 148 | + //阶梯购的立即购买 | ||
| 149 | + if(t.state){ | ||
| 150 | + th.data.state=1; | ||
| 151 | + } | ||
| 152 | + | ||
| 143 | 153 | ||
| 144 | }, | 154 | }, |
| 145 | onUnload: function () { | 155 | onUnload: function () { |
| @@ -407,9 +417,11 @@ Page({ | @@ -407,9 +417,11 @@ Page({ | ||
| 407 | //-----真的获取购物车,入口-------- | 417 | //-----真的获取购物车,入口-------- |
| 408 | get_cart: function () { | 418 | get_cart: function () { |
| 409 | var th = this, app = getApp(); | 419 | var th = this, app = getApp(); |
| 420 | + var state=0; | ||
| 421 | + if(th.data.state) state=1; | ||
| 410 | a.get("/api/weshop/cart/list", { | 422 | a.get("/api/weshop/cart/list", { |
| 411 | data: { | 423 | data: { |
| 412 | - user_id: to.globalData.user_id, selected: 1, state: 0, | 424 | + user_id: to.globalData.user_id, selected: 1, state: state, |
| 413 | store_id: oo.stoid, pageSize: 600 | 425 | store_id: oo.stoid, pageSize: 600 |
| 414 | }, | 426 | }, |
| 415 | success: async function (su) { | 427 | success: async function (su) { |
| @@ -452,54 +464,113 @@ Page({ | @@ -452,54 +464,113 @@ Page({ | ||
| 452 | } | 464 | } |
| 453 | 465 | ||
| 454 | //要把组合购的东西拿出来算一下 | 466 | //要把组合购的东西拿出来算一下 |
| 455 | - if (item1.prom_type == 7) { | ||
| 456 | - var isok = 1; | ||
| 457 | - var is_flag=1; | ||
| 458 | - //如果有组合购 | ||
| 459 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id+'/'+getApp().globalData.userInfo.user_id; | ||
| 460 | - await getApp().request.promiseGet(url, {}).then(res => { | ||
| 461 | - if (res.data.code == 0 && res.data.data) { | ||
| 462 | - //如果活动已经结束 | ||
| 463 | - if (res.data.data.is_end == 1) { | ||
| 464 | - isok = 0; | ||
| 465 | - } | ||
| 466 | - if (ut.gettimestamp() > res.data.data.end_time) { | ||
| 467 | - isok = 0; | 467 | + if(item1.prom_type == 7) { |
| 468 | + if(!th.data.zuhe_map_good[item1.prom_id]) { | ||
| 469 | + var isok = 1; | ||
| 470 | + var is_flag = 1; | ||
| 471 | + //如果有组合购 | ||
| 472 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; | ||
| 473 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 474 | + if (res.data.code == 0 && res.data.data) { | ||
| 475 | + //如果活动已经结束 | ||
| 476 | + if (res.data.data.is_end == 1) { | ||
| 477 | + isok = 0; | ||
| 478 | + } | ||
| 479 | + if (ut.gettimestamp() > res.data.data.end_time) { | ||
| 480 | + isok = 0; | ||
| 481 | + } | ||
| 482 | + item1.act = res.data.data; | ||
| 483 | + } else { | ||
| 484 | + //未找到商品的活动 | ||
| 485 | + is_flag = 0; | ||
| 468 | } | 486 | } |
| 469 | - item1.act = res.data.data; | ||
| 470 | - } else { | ||
| 471 | - //未找到商品的活动 | ||
| 472 | - is_flag = 0; | 487 | + }) |
| 488 | + if (!isok) { | ||
| 489 | + getApp().my_warnning("组合购的活动已经过期", 0, th); | ||
| 490 | + return false; | ||
| 473 | } | 491 | } |
| 474 | - }) | ||
| 475 | - if (!isok) { | ||
| 476 | - getApp().my_warnning("组合购的活动已经过期", 0, th); | ||
| 477 | - return false; | ||
| 478 | - } | ||
| 479 | - var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
| 480 | - var req_data = { | ||
| 481 | - page: 1, | ||
| 482 | - pageSize: 2000, | ||
| 483 | - store_id: os.stoid, | ||
| 484 | - zh_id: item1.prom_id, | 492 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; |
| 493 | + var req_data = { | ||
| 494 | + page: 1, | ||
| 495 | + pageSize: 2000, | ||
| 496 | + store_id: os.stoid, | ||
| 497 | + zh_id: item1.prom_id, | ||
| 498 | + } | ||
| 499 | + await getApp().request.promiseGet(url1, { | ||
| 500 | + data: req_data | ||
| 501 | + }).then(res => { | ||
| 502 | + if (ut.ajax_ok(res)) { | ||
| 503 | + var gdlist = res.data.data.pageData; | ||
| 504 | + gdlist.forEach(i => { | ||
| 505 | + if (item1.goods_id == i.goods_id && !is_flag) { | ||
| 506 | + item1.prom_type = 0; | ||
| 507 | + item1.prom_type1 = 0; | ||
| 508 | + item1.prom_id = 0; | ||
| 509 | + item1.prom_id1 = 0 | ||
| 510 | + } | ||
| 511 | + }) | ||
| 512 | + th.data.zuhe_map_good[item1.prom_id] = gdlist; | ||
| 513 | + } | ||
| 514 | + }) | ||
| 485 | } | 515 | } |
| 486 | - await getApp().request.promiseGet(url1, { | ||
| 487 | - data: req_data | ||
| 488 | - }).then(res => { | ||
| 489 | - if (ut.ajax_ok(res)) { | ||
| 490 | - var gdlist = res.data.data.pageData; | ||
| 491 | - gdlist.forEach(i=>{ | ||
| 492 | - if(item1.goods_id==i.goods_id&&!is_flag){ | ||
| 493 | - item1.prom_type=0; | ||
| 494 | - item1.prom_type1=0; | ||
| 495 | - item1.prom_id=0; | ||
| 496 | - item1.prom_id1=0 | 516 | + } |
| 517 | + if(item1.prom_type==10){ | ||
| 518 | + if(!th.data.ladder_map[item1.prom_id]){ | ||
| 519 | + //如果有组合购 | ||
| 520 | + var isok = 1; | ||
| 521 | + var is_flag=1; | ||
| 522 | + var act=null; | ||
| 523 | + var url="/api/weshop/prom/ladderForm/get/"+os.stoid+"/"+item1.prom_id; | ||
| 524 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 525 | + console.log(res,1000); | ||
| 526 | + if(res.data.code==0 && res.data.data){ | ||
| 527 | + if(res.data.data.isuse!=1){ | ||
| 528 | + isok=0; | ||
| 497 | } | 529 | } |
| 498 | - }) | ||
| 499 | - th.data.zuhe_map_good[item1.prom_id]=gdlist; | 530 | + //如果活动已经结束 |
| 531 | + if(res.data.data.is_end==1){ | ||
| 532 | + isok=0; | ||
| 533 | + } | ||
| 534 | + //已经结束 | ||
| 535 | + if(ut.gettimestamp()>res.data.data.end_time){ | ||
| 536 | + isok=0; | ||
| 537 | + } | ||
| 538 | + //还未开始 | ||
| 539 | + if(ut.gettimestamp()<res.data.data.start_time){ | ||
| 540 | + isok=0; | ||
| 541 | + } | ||
| 542 | + act=res.data.data; | ||
| 543 | + | ||
| 544 | + }else{ | ||
| 545 | + //未找到商品的活动 | ||
| 546 | + is_flag = 0; | ||
| 547 | + } | ||
| 548 | + }) | ||
| 549 | + if (!isok){ | ||
| 550 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | ||
| 551 | + getApp().request.delete(url, {}); | ||
| 552 | + th.data.ladder_map[item1.prom_id]=-1; | ||
| 553 | + continue; | ||
| 500 | } | 554 | } |
| 501 | - }) | 555 | + th.data.ladder_map[item1.prom_id]=act; |
| 556 | + | ||
| 557 | + //-- 获取阶梯规则 -- | ||
| 558 | + var url1 = "/api/weshop/prom/ladderList/list"; | ||
| 559 | + var req_data = { | ||
| 560 | + store_id: os.stoid, | ||
| 561 | + form_id: item1.prom_id, | ||
| 562 | + } | ||
| 563 | + await getApp().request.promiseGet(url1, { | ||
| 564 | + data: req_data | ||
| 565 | + }).then(rs1 => { | ||
| 566 | + if (rs1.data.code==0 && rs1.data.data) { | ||
| 567 | + var gdlist = rs1.data.data; | ||
| 568 | + th.data.ladder_map[item1.prom_id].ladder_list=gdlist; | ||
| 569 | + } | ||
| 570 | + }) | ||
| 571 | + } | ||
| 502 | } | 572 | } |
| 573 | + | ||
| 503 | } | 574 | } |
| 504 | 575 | ||
| 505 | //在分组的时候,就不要再调用接口,await | 576 | //在分组的时候,就不要再调用接口,await |
| @@ -688,31 +759,31 @@ Page({ | @@ -688,31 +759,31 @@ Page({ | ||
| 688 | //存储不同活动的商品列表 | 759 | //存储不同活动的商品列表 |
| 689 | u_item.zh_prom_goods = {}; | 760 | u_item.zh_prom_goods = {}; |
| 690 | for (let var1 in obj) { | 761 | for (let var1 in obj) { |
| 691 | - var h_item=obj[var1]; | ||
| 692 | - var gdlist= th.data.zuhe_map_good[h_item.prom_id]; | ||
| 693 | - //获取活动需要的商品列表 | ||
| 694 | - // u_item.zh_prom_goods[h_item.prom_id]=gdlist; | ||
| 695 | - // var h_item = obj[var1]; | ||
| 696 | - // var gdlist = null; | ||
| 697 | - // var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
| 698 | - // var req_data = { | ||
| 699 | - // page: 1, | ||
| 700 | - // pageSize: 2000, | ||
| 701 | - // store_id: os.stoid, | ||
| 702 | - // zh_id: h_item.prom_id, | ||
| 703 | - // } | ||
| 704 | - // await getApp().request.promiseGet(url1, { | ||
| 705 | - // data: req_data | ||
| 706 | - // }).then(res => { | ||
| 707 | - // if (ut.ajax_ok(res)) { | ||
| 708 | - // gdlist = res.data.data.pageData; | ||
| 709 | - // } | ||
| 710 | - // }) | 762 | + var h_item = obj[var1]; |
| 763 | + var gdlist = th.data.zuhe_map_good[h_item.prom_id]; | ||
| 711 | //获取活动需要的商品列表 | 764 | //获取活动需要的商品列表 |
| 712 | u_item.zh_prom_goods[h_item.prom_id] = {gdlist: gdlist, act: h_item.act}; | 765 | u_item.zh_prom_goods[h_item.prom_id] = {gdlist: gdlist, act: h_item.act}; |
| 713 | } | 766 | } |
| 714 | zh_calc.fir_set_arr(u_item, th); | 767 | zh_calc.fir_set_arr(u_item, th); |
| 715 | } | 768 | } |
| 769 | + | ||
| 770 | + //每一个门店内的阶梯促销要进行拆分, | ||
| 771 | + //还得把阶梯促销商品的多余商品的线下价格算一算 | ||
| 772 | + for (let var1 in arr) { | ||
| 773 | + //把阶梯促销进行分组 | ||
| 774 | + var obj = ladder_calc.find_split(u_item); | ||
| 775 | + if (!obj) continue; | ||
| 776 | + //存储不同阶梯促销活动的商品列表 | ||
| 777 | + u_item.ladder_map = {}; | ||
| 778 | + for (let var1 in obj) { | ||
| 779 | + var h_item=obj[var1]; | ||
| 780 | + var act= th.data.ladder_map[h_item.prom_id]; | ||
| 781 | + //获取活动需要的商品列表 | ||
| 782 | + u_item.ladder_map[h_item.prom_id] =act; | ||
| 783 | + } | ||
| 784 | + ladder_calc.fir_set_arr(u_item, th); | ||
| 785 | + } | ||
| 786 | + | ||
| 716 | //深拷贝 | 787 | //深拷贝 |
| 717 | th.data.old_cartlist = JSON.parse(JSON.stringify(arr)); | 788 | th.data.old_cartlist = JSON.parse(JSON.stringify(arr)); |
| 718 | th.setData({ | 789 | th.setData({ |
| @@ -1269,6 +1340,7 @@ Page({ | @@ -1269,6 +1340,7 @@ Page({ | ||
| 1269 | var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格 | 1340 | var all_coupon_price_m = 0; //所有的订单用户使用优惠券价格 |
| 1270 | var all_cutprice = 0; //所有的优惠减 | 1341 | var all_cutprice = 0; //所有的优惠减 |
| 1271 | var all_zh_cutprice = 0; //所有的组合优惠减 | 1342 | var all_zh_cutprice = 0; //所有的组合优惠减 |
| 1343 | + var all_ladder_cutprice = 0; //所有的阶梯促销优惠减 | ||
| 1272 | var all_order_prom = 0; //所有的订单优惠 | 1344 | var all_order_prom = 0; //所有的订单优惠 |
| 1273 | 1345 | ||
| 1274 | var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0); | 1346 | var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money ? th.data.userinfo.frozen_money : 0); |
| @@ -1301,6 +1373,8 @@ Page({ | @@ -1301,6 +1373,8 @@ Page({ | ||
| 1301 | await th.calc_per(c_arr); | 1373 | await th.calc_per(c_arr); |
| 1302 | //调用函数计算每件组合购商品的单价, | 1374 | //调用函数计算每件组合购商品的单价, |
| 1303 | await zh_calc.calc_zh_split_price(c_arr,th); | 1375 | await zh_calc.calc_zh_split_price(c_arr,th); |
| 1376 | + //调用函数计算每件阶梯促销商品的单价, | ||
| 1377 | + await ladder_calc.calc_split_price(c_arr,th); | ||
| 1304 | //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品 | 1378 | //调用函数计算,优惠券优惠什么商品价格,优惠券优惠什么商品 |
| 1305 | await th.get_cart_quan(c_arr); | 1379 | await th.get_cart_quan(c_arr); |
| 1306 | //---循环购物车--- | 1380 | //---循环购物车--- |
| @@ -1332,7 +1406,10 @@ Page({ | @@ -1332,7 +1406,10 @@ Page({ | ||
| 1332 | var coupon_price = 0; | 1406 | var coupon_price = 0; |
| 1333 | var quan_no = null; | 1407 | var quan_no = null; |
| 1334 | var is_has_zh=c_arr[i].is_has_zh; | 1408 | var is_has_zh=c_arr[i].is_has_zh; |
| 1335 | - var zh_prom_goods=c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间 | 1409 | + var is_has_ladder=c_arr[i].is_has_ladder; |
| 1410 | + | ||
| 1411 | + var zh_prom_goods=c_arr[i].zh_prom_goods; //组合购计算的原始数据存储空间 | ||
| 1412 | + var ladder_prom_goods=c_arr[i].ladder_prom_goods; //组合购计算的原始数据存储空间 | ||
| 1336 | 1413 | ||
| 1337 | if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) | 1414 | if (th.data.using_quan[pickid] != null && th.data.using_quan[pickid] != undefined) |
| 1338 | quan_no = th.data.using_quan[pickid].coupon_no; | 1415 | quan_no = th.data.using_quan[pickid].coupon_no; |
| @@ -1360,12 +1437,24 @@ Page({ | @@ -1360,12 +1437,24 @@ Page({ | ||
| 1360 | 1437 | ||
| 1361 | //--------循环计算总价----------- | 1438 | //--------循环计算总价----------- |
| 1362 | for (var j = 0; j < item.length; j++) { | 1439 | for (var j = 0; j < item.length; j++) { |
| 1363 | - if(item[j].prom_type!=7){ | ||
| 1364 | - o_price_no_zh += item[j].goods_price * item[j].goods_num; | 1440 | + |
| 1441 | + var is_no_zh=0; | ||
| 1442 | + if(item[j].prom_type!=7 || item[j].prom_type!=10 ) is_no_zh=1; | ||
| 1443 | + | ||
| 1444 | + //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 | ||
| 1445 | + if(item[j].prom_type==7 && zh_prom_goods && zh_prom_goods[item[j].prom_id] | ||
| 1446 | + && zh_prom_goods[item[j].prom_id].act.is_orderyh ) | ||
| 1447 | + { | ||
| 1448 | + is_no_zh=1; | ||
| 1365 | } | 1449 | } |
| 1366 | //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 | 1450 | //组合购的商品,且有订单优惠的叠加,is_orderyh就是优惠叠加 |
| 1367 | - else if(zh_prom_goods && zh_prom_goods[item[j].prom_id] && zh_prom_goods[item[j].prom_id].act.is_orderyh ) | 1451 | + if(item[j].prom_type==10 && ladder_prom_goods && ladder_prom_goods[item[j].prom_id] |
| 1452 | + && th.data.ladder_map[item[j].prom_id].is_orderyh ) | ||
| 1368 | { | 1453 | { |
| 1454 | + is_no_zh=1; | ||
| 1455 | + } | ||
| 1456 | + | ||
| 1457 | + if(is_no_zh){ | ||
| 1369 | o_price_no_zh += item[j].goods_price * item[j].goods_num; | 1458 | o_price_no_zh += item[j].goods_price * item[j].goods_num; |
| 1370 | } | 1459 | } |
| 1371 | o_price += item[j].goods_price * item[j].goods_num; | 1460 | o_price += item[j].goods_price * item[j].goods_num; |
| @@ -1391,6 +1480,20 @@ Page({ | @@ -1391,6 +1480,20 @@ Page({ | ||
| 1391 | } | 1480 | } |
| 1392 | } | 1481 | } |
| 1393 | 1482 | ||
| 1483 | + //如果有组合购优惠的钱,就要减价 | ||
| 1484 | + if (c_arr[i].ladder_cut_price>0 || c_arr[i].ladder_cut_price<0){ | ||
| 1485 | + o_price -= c_arr[i].ladder_cut_price; | ||
| 1486 | + if(o_price_no_zh>0){ | ||
| 1487 | + //找到那些可以订单优惠叠加的 | ||
| 1488 | + for(let ij in ladder_prom_goods){ | ||
| 1489 | + let kitem=ladder_prom_goods[ij]; | ||
| 1490 | + var is_has_zh=kitem.is_has_ladder; | ||
| 1491 | + if(th.data.ladder_map[ij].is_orderyh ) | ||
| 1492 | + o_price_no_zh-=kitem.cut_price; | ||
| 1493 | + } | ||
| 1494 | + } | ||
| 1495 | + } | ||
| 1496 | + | ||
| 1394 | //-- 计算线下取价的功能 -- | 1497 | //-- 计算线下取价的功能 -- |
| 1395 | if (cart_item.is_offline == 1) { | 1498 | if (cart_item.is_offline == 1) { |
| 1396 | o_price = o_price - cart_item.offline_price; | 1499 | o_price = o_price - cart_item.offline_price; |
| @@ -1663,6 +1766,7 @@ Page({ | @@ -1663,6 +1766,7 @@ Page({ | ||
| 1663 | all_coupon_price_m += parseFloat(cart_item.coupon_price); | 1766 | all_coupon_price_m += parseFloat(cart_item.coupon_price); |
| 1664 | all_cutprice += parseFloat(cart_item.cut_price); | 1767 | all_cutprice += parseFloat(cart_item.cut_price); |
| 1665 | all_zh_cutprice += parseFloat(cart_item.zh_cut_price); | 1768 | all_zh_cutprice += parseFloat(cart_item.zh_cut_price); |
| 1769 | + all_ladder_cutprice += parseFloat(cart_item.ladder_cut_price); | ||
| 1666 | all_order_prom += parseFloat(cart_item.order_prom_amount); | 1770 | all_order_prom += parseFloat(cart_item.order_prom_amount); |
| 1667 | } | 1771 | } |
| 1668 | 1772 | ||
| @@ -1676,6 +1780,7 @@ Page({ | @@ -1676,6 +1780,7 @@ Page({ | ||
| 1676 | all_cutprice = all_cutprice.toFixed(2); | 1780 | all_cutprice = all_cutprice.toFixed(2); |
| 1677 | all_order_prom = all_order_prom.toFixed(2); | 1781 | all_order_prom = all_order_prom.toFixed(2); |
| 1678 | all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2); | 1782 | all_zh_cutprice = parseFloat(all_zh_cutprice).toFixed(2); |
| 1783 | + all_ladder_cutprice = parseFloat(all_ladder_cutprice).toFixed(2); | ||
| 1679 | 1784 | ||
| 1680 | var atxt = "formData.total_amount"; | 1785 | var atxt = "formData.total_amount"; |
| 1681 | var atxt1 = "formData.order_amount"; | 1786 | var atxt1 = "formData.order_amount"; |
| @@ -1686,12 +1791,13 @@ Page({ | @@ -1686,12 +1791,13 @@ Page({ | ||
| 1686 | var atxt6 = "formData.cut_price"; | 1791 | var atxt6 = "formData.cut_price"; |
| 1687 | var atxt7 = "formData.order_prom_amount"; | 1792 | var atxt7 = "formData.order_prom_amount"; |
| 1688 | var atxt8 = "formData.zh_cut_price"; | 1793 | var atxt8 = "formData.zh_cut_price"; |
| 1794 | + var atxt9 = "formData.ladder_cut_price"; | ||
| 1689 | 1795 | ||
| 1690 | th.setData({ | 1796 | th.setData({ |
| 1691 | [atxt]: all_total_m, [atxt1]: all_order_m, | 1797 | [atxt]: all_total_m, [atxt1]: all_order_m, |
| 1692 | [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m, | 1798 | [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m, |
| 1693 | [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice, | 1799 | [atxt5]: all_coupon_price_m, [atxt6]: all_cutprice, |
| 1694 | - [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice | 1800 | + [atxt7]: all_order_prom, show_submit: 1, [atxt8]: all_zh_cutprice, [atxt9]: all_ladder_cutprice |
| 1695 | }) | 1801 | }) |
| 1696 | th.data.order_prom_list_cart = c_arr; | 1802 | th.data.order_prom_list_cart = c_arr; |
| 1697 | th.set_can_num(); | 1803 | th.set_can_num(); |
| @@ -2379,13 +2485,22 @@ Page({ | @@ -2379,13 +2485,22 @@ Page({ | ||
| 2379 | //--判断优惠活动的提交-- | 2485 | //--判断优惠活动的提交-- |
| 2380 | if (t_item.cut_price > 0) { | 2486 | if (t_item.cut_price > 0) { |
| 2381 | order_prom_list.discount_amount += t_item.cut_price; | 2487 | order_prom_list.discount_amount += t_item.cut_price; |
| 2382 | - order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json); | ||
| 2383 | } | 2488 | } |
| 2384 | //--判断组合优惠活动的提交-- | 2489 | //--判断组合优惠活动的提交-- |
| 2385 | if (t_item.zh_cut_price > 0 || t_item.zh_cut_price<0) { | 2490 | if (t_item.zh_cut_price > 0 || t_item.zh_cut_price<0) { |
| 2386 | order_prom_list.discount_amount += t_item.zh_cut_price; | 2491 | order_prom_list.discount_amount += t_item.zh_cut_price; |
| 2387 | order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json); | 2492 | order_prom_list.zh_pt_json = JSON.stringify(t_item.zh_pt_json); |
| 2388 | } | 2493 | } |
| 2494 | + | ||
| 2495 | + //--判断阶梯优惠活动的提交-- | ||
| 2496 | + if (t_item.ladder_cut_price > 0 || t_item.ladder_cut_price<0) { | ||
| 2497 | + order_prom_list.discount_amount += t_item.ladder_cut_price; | ||
| 2498 | + } | ||
| 2499 | + | ||
| 2500 | + if(t_item.prom_pt_json){ | ||
| 2501 | + order_prom_list.prom_pt_json = JSON.stringify(t_item.prom_pt_json); | ||
| 2502 | + } | ||
| 2503 | + | ||
| 2389 | if (t_item.s_intValue > 0) { | 2504 | if (t_item.s_intValue > 0) { |
| 2390 | order_prom_list.give_integral = t_item.s_intValue; | 2505 | order_prom_list.give_integral = t_item.s_intValue; |
| 2391 | } | 2506 | } |
pages/cart/cart2/cart2.wxml
| @@ -95,7 +95,8 @@ | @@ -95,7 +95,8 @@ | ||
| 95 | 95 | ||
| 96 | <!-----商品名称规格------> | 96 | <!-----商品名称规格------> |
| 97 | <view class="order-num flex-space-between"> | 97 | <view class="order-num flex-space-between"> |
| 98 | - <view class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | 98 | + <view wx:if="{{items.prom_type==10}}" class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text><text>({{items.discount}}折)</text></view> |
| 99 | + <view wx:else class="co-red">¥<text class="fs36">{{filters.toFix(items.goods_price,2)}}</text></view> | ||
| 99 | <view class="goods-num">x{{items.goods_num}}</view> | 100 | <view class="goods-num">x{{items.goods_num}}</view> |
| 100 | </view> | 101 | </view> |
| 101 | </navigator> | 102 | </navigator> |
| @@ -431,6 +432,11 @@ | @@ -431,6 +432,11 @@ | ||
| 431 | <view>组合购优惠</view> | 432 | <view>组合购优惠</view> |
| 432 | <view class="co-red">- ¥ {{filters.toFix(formData.zh_cut_price,2)}}元</view> | 433 | <view class="co-red">- ¥ {{filters.toFix(formData.zh_cut_price,2)}}元</view> |
| 433 | </view> | 434 | </view> |
| 435 | + <!-- 组合购优惠金额 --> | ||
| 436 | + <view class="item" wx:if="{{formData.ladder_cut_price>0 || formData.ladder_cut_price<0}}"> | ||
| 437 | + <view>阶梯促销优惠</view> | ||
| 438 | + <view class="co-red">- ¥ {{filters.toFix(formData.ladder_cut_price,2)}}元</view> | ||
| 439 | + </view> | ||
| 434 | 440 | ||
| 435 | <!-- 订单优惠优惠金额 --> | 441 | <!-- 订单优惠优惠金额 --> |
| 436 | <view class="item" wx:if="{{formData.order_prom_amount>0}}"> | 442 | <view class="item" wx:if="{{formData.order_prom_amount>0}}"> |
pages/cart/cart2/ladder_calculate.js
0 → 100644
| 1 | +var regeneratorRuntime = require('../../../utils/runtime.js'); | ||
| 2 | +module.exports = { | ||
| 3 | + //主要的作用,就是把阶梯促销多余的商品进行拆分, | ||
| 4 | + //如果没有达成阶梯促销的要求,所有的商品都打回原价购买 | ||
| 5 | + fir_set_arr: function (c_item, th) { | ||
| 6 | + //寻找一下 | ||
| 7 | + function get_num2(ite) { | ||
| 8 | + var vh = c_item.goods.findIndex(function (e) { | ||
| 9 | + return e.goods_id == ite.goods_id | ||
| 10 | + }) | ||
| 11 | + if (vh > -1) return vh; | ||
| 12 | + return 0; | ||
| 13 | + } | ||
| 14 | + | ||
| 15 | + //组合活动,以及组合活动从表的商品 | ||
| 16 | + let ladder_map = c_item.ladder_map; | ||
| 17 | + let goods = c_item.goods; //一个门店中所有的商品 | ||
| 18 | + let tfeel = 0, cut_price = 0, offline_price = 0, offline_num = 0; | ||
| 19 | + //多个活动要拿来循环一下 | ||
| 20 | + for (let i in ladder_map) { | ||
| 21 | + let title = ""; //提示语; | ||
| 22 | + //其中的一个活动 | ||
| 23 | + let act_item = ladder_map[i]; | ||
| 24 | + let ladder_list = act_item.ladder_list; | ||
| 25 | + | ||
| 26 | + let all_num = 0; //商品数量之和 | ||
| 27 | + let all_price0 = 0; //商品数量之和 | ||
| 28 | + let aprice = 0; //达到活动条件的购买价格 | ||
| 29 | + | ||
| 30 | + let no_in_arr = []; //剩余的未加入组合购 | ||
| 31 | + let del_g=[]; | ||
| 32 | + for (var li in goods) { | ||
| 33 | + if (goods[li].prom_type != 10) continue; | ||
| 34 | + if (goods[li].prom_id != act_item.id) continue; | ||
| 35 | + var item = goods[li]; | ||
| 36 | + item.goods_price = item.goods_price; | ||
| 37 | + item.offline_price = item.offline_price; | ||
| 38 | + item.cart_num = item.goods_num; | ||
| 39 | + all_num += item.cart_num; | ||
| 40 | + for (var j = 0; j < item.cart_num; j++) { | ||
| 41 | + no_in_arr.push({ | ||
| 42 | + price: item.goods_price, | ||
| 43 | + offline_price: item.offline_price, | ||
| 44 | + goods_id: item.goods_id, | ||
| 45 | + shop_price: item.shop_price, | ||
| 46 | + item:item | ||
| 47 | + }) | ||
| 48 | + } | ||
| 49 | + del_g.push(item); | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + //开始阶梯计算价格 | ||
| 53 | + var lev = 0; | ||
| 54 | + for (let j in ladder_list) { | ||
| 55 | + if (no_in_arr.length == 0) break; | ||
| 56 | + let item_j =ladder_list[j]; | ||
| 57 | + var end = no_in_arr.pop(); | ||
| 58 | + var new_price = parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price; | ||
| 59 | + var account=new_price * parseFloat(item_j.discount) / 10; | ||
| 60 | + aprice +=account; | ||
| 61 | + | ||
| 62 | + //-- 单个文件新增 -- | ||
| 63 | + let new_g = JSON.parse(JSON.stringify(end.item)); | ||
| 64 | + new_g.goods_num = 1; | ||
| 65 | + new_g.account = account.toFixed(2); | ||
| 66 | + new_g.discount = item_j.discount; | ||
| 67 | + new_g.goods_price =new_price; | ||
| 68 | + goods.push(new_g); | ||
| 69 | + lev++; | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + let goods_map = {}; | ||
| 73 | + //算一下剩余的商品 | ||
| 74 | + if (no_in_arr.length) { | ||
| 75 | + for (let ii in no_in_arr) { | ||
| 76 | + let item = no_in_arr[ii]; | ||
| 77 | + if (item.offline_price) { | ||
| 78 | + offline_price += item.price - item.offline_price; | ||
| 79 | + offline_num += 1; | ||
| 80 | + } | ||
| 81 | + if (goods_map[item.goods_id]) { | ||
| 82 | + var num = goods_map[item.goods_id]; | ||
| 83 | + goods_map[item.goods_id] = ++num; | ||
| 84 | + } else { | ||
| 85 | + goods_map[item.goods_id] = 1; | ||
| 86 | + } | ||
| 87 | + } | ||
| 88 | + } | ||
| 89 | + | ||
| 90 | + if (Object.keys(goods_map).length) { | ||
| 91 | + //这里就开始拆分提交订单时的列表 | ||
| 92 | + for (let j in goods_map) { | ||
| 93 | + //map中存的就是商品的数量 | ||
| 94 | + let num = goods_map[j]; | ||
| 95 | + //找到相应的商品 | ||
| 96 | + let idx = goods.findIndex(function (ele) { | ||
| 97 | + return ele.goods_id == j; | ||
| 98 | + }) | ||
| 99 | + //goods[idx].goods_num -= num; | ||
| 100 | + let new_g = JSON.parse(JSON.stringify(goods[idx])); | ||
| 101 | + new_g.goods_num = num; | ||
| 102 | + new_g.prom_type = 0; | ||
| 103 | + new_g.prom_id = 0; | ||
| 104 | + goods.push(new_g); | ||
| 105 | + goods.splice(idx, 1); | ||
| 106 | + } | ||
| 107 | + } | ||
| 108 | + | ||
| 109 | + for(var h in del_g){ | ||
| 110 | + var it=del_g[h]; | ||
| 111 | + let idx = goods.findIndex(function (ele) { | ||
| 112 | + return ele.goods_id == it.goods_id; | ||
| 113 | + }) | ||
| 114 | + goods.splice(idx, 1); | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + //-- 只统计是参与活动的商品 -- | ||
| 118 | + for (var ij in goods) { | ||
| 119 | + var iter = goods[ij]; | ||
| 120 | + if (iter.prom_type != 10 || iter.prom_id != act_item.id) { | ||
| 121 | + continue; | ||
| 122 | + } | ||
| 123 | + all_price0 += iter.goods_num * iter.goods_price; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + if(!c_item.ladder_prom_goods) c_item.ladder_prom_goods={}; | ||
| 127 | + if(!c_item.ladder_prom_goods[act_item.id]) c_item.ladder_prom_goods[act_item.id]={}; | ||
| 128 | + | ||
| 129 | + //-- 活动的条件已经满足 -- | ||
| 130 | + c_item.ladder_prom_goods[act_item.id].is_has_ladder = 1; | ||
| 131 | + c_item.is_has_ladder = 1; | ||
| 132 | + c_item.ladder_prom_goods[act_item.id].actual_price = aprice; | ||
| 133 | + c_item.ladder_prom_goods[act_item.id].cut_price = all_price0 - aprice; | ||
| 134 | + | ||
| 135 | + tfeel += aprice; | ||
| 136 | + cut_price += all_price0 - aprice; | ||
| 137 | + | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + c_item.ladder_all_price = tfeel; | ||
| 141 | + c_item.ladder_cut_price = cut_price; | ||
| 142 | + | ||
| 143 | + if (c_item.is_offline == 1) { | ||
| 144 | + c_item.offline_price += offline_price; | ||
| 145 | + c_item.offline_num += offline_num; | ||
| 146 | + } else { | ||
| 147 | + c_item.is_offline == 1; | ||
| 148 | + c_item.offline_price = offline_price; | ||
| 149 | + c_item.offline_num = offline_num; | ||
| 150 | + } | ||
| 151 | + }, | ||
| 152 | + //筛选组合购,纯粹的数组按活动id分组 | ||
| 153 | + find_split: function (arr) { | ||
| 154 | + //过滤只有团购的商品 | ||
| 155 | + let oarr = arr.goods.filter(function (ele) { | ||
| 156 | + return ele.prom_type == 10 | ||
| 157 | + }) | ||
| 158 | + if (!oarr || oarr.length == 0) return null; | ||
| 159 | + //看一下有多少个不同的团购 | ||
| 160 | + let map = {}, | ||
| 161 | + dest = []; | ||
| 162 | + for (let i = 0; i < oarr.length; i++) { | ||
| 163 | + let ai = oarr[i]; | ||
| 164 | + let index = map[ai.prom_id] | ||
| 165 | + if (!index) { | ||
| 166 | + dest.push({ | ||
| 167 | + prom_id: ai.prom_id, | ||
| 168 | + act: ai.act, | ||
| 169 | + data: [ai] | ||
| 170 | + }); | ||
| 171 | + map[ai.prom_id] = dest.length; //存储下标 | ||
| 172 | + } else { | ||
| 173 | + let dj = dest[index - 1]; | ||
| 174 | + dj.data.push(ai); | ||
| 175 | + } | ||
| 176 | + } | ||
| 177 | + return dest; | ||
| 178 | + }, | ||
| 179 | + | ||
| 180 | + //-- 平摊组合购的价格 -- | ||
| 181 | + calc_split_price: async function (c_arr, th) { | ||
| 182 | + //-- 循环处理 -- | ||
| 183 | + for (var k in c_arr) { | ||
| 184 | + var cart_item = c_arr[k]; //就是每一单的意思 | ||
| 185 | + var ord_goods = c_arr[k].goods; //就是每一单的从表的意思 | ||
| 186 | + | ||
| 187 | + var ladder_map = cart_item.ladder_prom_goods; //一单中所有的组合购的集合 | ||
| 188 | + var item_map = {}; | ||
| 189 | + for (let i in ladder_map) { | ||
| 190 | + let item = ladder_map[i]; | ||
| 191 | + let prom_id = i; | ||
| 192 | + //如果这个活动还没有达到要求,继续下一个计算 | ||
| 193 | + if (!item.is_has_ladder) continue; | ||
| 194 | + //过滤出相应组合购活动的商品 | ||
| 195 | + let glist = ord_goods.filter(function (ele) { | ||
| 196 | + return ele.prom_type == 10 && ele.prom_id == i; | ||
| 197 | + }) | ||
| 198 | + | ||
| 199 | + var all_good_price = 0; | ||
| 200 | + var post_gd = []; | ||
| 201 | + for (let j in glist) { | ||
| 202 | + let item = glist[j]; | ||
| 203 | + all_good_price += item.goods_price * item.goods_num; | ||
| 204 | + var gitem = { | ||
| 205 | + goods_id: item.goods_id, | ||
| 206 | + goods_num: item.goods_num, | ||
| 207 | + goods_price: item.goods_price | ||
| 208 | + } | ||
| 209 | + post_gd.push(gitem); | ||
| 210 | + } | ||
| 211 | + //要进行优惠的计算 | ||
| 212 | + if (all_good_price - item.actual_price) { | ||
| 213 | + if (cart_item.prom_pt_json) { | ||
| 214 | + cart_item.prom_pt_json.push({ | ||
| 215 | + "ladder_prom_id": prom_id, | ||
| 216 | + "dis": (all_good_price - item.actual_price).toFixed(2), | ||
| 217 | + "ispt": 0 | ||
| 218 | + }) | ||
| 219 | + } else { | ||
| 220 | + cart_item.prom_pt_json = [{ | ||
| 221 | + "ladder_prom_id": prom_id, | ||
| 222 | + "dis": (all_good_price - item.actual_price).toFixed(2), | ||
| 223 | + "ispt": 0 | ||
| 224 | + }]; | ||
| 225 | + } | ||
| 226 | + } | ||
| 227 | + } | ||
| 228 | + | ||
| 229 | + | ||
| 230 | + } | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + | ||
| 234 | +} |
pages/cart/cart2_pt/cart2_pt.js
| @@ -296,7 +296,7 @@ Page({ | @@ -296,7 +296,7 @@ Page({ | ||
| 296 | th.setData({ user_addr: ie }); | 296 | th.setData({ user_addr: ie }); |
| 297 | if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) { | 297 | if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) { |
| 298 | th.setData({ add_back: 1 }); | 298 | th.setData({ add_back: 1 }); |
| 299 | - if (this.data.bn_goods) th.calculatePrice2(); | 299 | + if (th.data.bn_goods) th.calculatePrice2(); |
| 300 | } | 300 | } |
| 301 | }) | 301 | }) |
| 302 | //--更新默认地址--,看一下是不是跳到地址页面 | 302 | //--更新默认地址--,看一下是不是跳到地址页面 |
pages/goods/goodsInfo/goodsInfo.js
| @@ -469,7 +469,7 @@ Page({ | @@ -469,7 +469,7 @@ Page({ | ||
| 469 | } else { | 469 | } else { |
| 470 | //要用接口是获取距离,js的计算不准 | 470 | //要用接口是获取距离,js的计算不准 |
| 471 | getApp().request.promiseGet("/api/weshop/pickup/list", { | 471 | getApp().request.promiseGet("/api/weshop/pickup/list", { |
| 472 | - data: { store_id: os.stoid, pickup_id: e.pickup_id, lat: th.data.lat, lon: th.data.lon,is_pos:1,isstop:0 }, | 472 | + data: { store_id: os.stoid, pickup_id: e.pickup_id, lat: th.data.lat, lon: th.data.lon }, |
| 473 | }).then(res => { | 473 | }).then(res => { |
| 474 | if (res.data.code == 0) { | 474 | if (res.data.code == 0) { |
| 475 | e = res.data.data.pageData[0]; | 475 | e = res.data.data.pageData[0]; |
| @@ -840,7 +840,7 @@ Page({ | @@ -840,7 +840,7 @@ Page({ | ||
| 840 | 840 | ||
| 841 | 841 | ||
| 842 | //获取统一条形码,普通商品和优惠促销的商品 | 842 | //获取统一条形码,普通商品和优惠促销的商品 |
| 843 | - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7) { | 843 | + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 10) { |
| 844 | //默认门店要拿下门店库存 | 844 | //默认门店要拿下门店库存 |
| 845 | if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { | 845 | if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { |
| 846 | //获取门店 | 846 | //获取门店 |
| @@ -1056,7 +1056,7 @@ Page({ | @@ -1056,7 +1056,7 @@ Page({ | ||
| 1056 | if (this.data.prom_type == 1 || this.data.prom_type == 2) { | 1056 | if (this.data.prom_type == 1 || this.data.prom_type == 2) { |
| 1057 | this.getactLen(function (num) { | 1057 | this.getactLen(function (num) { |
| 1058 | if (num < th.data.goodsInputNum) { | 1058 | if (num < th.data.goodsInputNum) { |
| 1059 | - getApp().my_warnning("秒杀库存不足!", 0, th); | 1059 | + getApp().my_warnning("活动库存不足!", 0, th); |
| 1060 | return false; | 1060 | return false; |
| 1061 | } else { | 1061 | } else { |
| 1062 | th.add_cart_func(t); | 1062 | th.add_cart_func(t); |
| @@ -1342,10 +1342,15 @@ Page({ | @@ -1342,10 +1342,15 @@ Page({ | ||
| 1342 | }) | 1342 | }) |
| 1343 | 1343 | ||
| 1344 | } | 1344 | } |
| 1345 | - else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5) { | 1345 | + else if (th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 4 || th.data.prom_type == 5 || th.data.prom_type==10) { |
| 1346 | newd.prom_type = 0; | 1346 | newd.prom_type = 0; |
| 1347 | newd.prom_id = 0; | 1347 | newd.prom_id = 0; |
| 1348 | 1348 | ||
| 1349 | + if(th.data.prom_type == 10){ | ||
| 1350 | + newd.prom_type = th.data.prom_type; | ||
| 1351 | + newd.prom_id = th.data.prom_id; | ||
| 1352 | + } | ||
| 1353 | + | ||
| 1349 | //---如果是线下门店销售的时候--- | 1354 | //---如果是线下门店销售的时候--- |
| 1350 | if (th.data.sales_rules == 2) { | 1355 | if (th.data.sales_rules == 2) { |
| 1351 | var pick = th.get_pick_from_list(th.data.sto_sele_id) | 1356 | var pick = th.get_pick_from_list(th.data.sto_sele_id) |
| @@ -1506,9 +1511,39 @@ Page({ | @@ -1506,9 +1511,39 @@ Page({ | ||
| 1506 | }); | 1511 | }); |
| 1507 | 1512 | ||
| 1508 | } | 1513 | } |
| 1509 | - //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); | ||
| 1510 | else { | 1514 | else { |
| 1511 | 1515 | ||
| 1516 | + | ||
| 1517 | + if(newd.prom_type==10){ | ||
| 1518 | + //----先看会员在购物车中是否加入了该商品,立即购买的----- | ||
| 1519 | + getApp().request.get("/api/weshop/cart/page", { | ||
| 1520 | + data: { | ||
| 1521 | + store_id: e.data.stoid, | ||
| 1522 | + user_id: oo.user_id, | ||
| 1523 | + state:1 | ||
| 1524 | + }, | ||
| 1525 | + success: function (res) { | ||
| 1526 | + //-------如果购物车中有相关的数据--------- | ||
| 1527 | + if (res.data.code==0 && res.data.data.total > 0) { | ||
| 1528 | + var item=res.data.data.pageData[0]; | ||
| 1529 | + var url = '/api/weshop/cart/del/' +e.data.stoid+ '/' + item.id; | ||
| 1530 | + getApp().request.delete(url, {}); | ||
| 1531 | + } | ||
| 1532 | + newd.state=1; | ||
| 1533 | + getApp().request.post("/api/weshop/cart/save", { | ||
| 1534 | + data: newd, | ||
| 1535 | + success: function (t) { | ||
| 1536 | + th.closeSpecModal(); | ||
| 1537 | + getApp().goto("/pages/cart/cart2/cart2?state=1"); | ||
| 1538 | + } | ||
| 1539 | + }); | ||
| 1540 | + | ||
| 1541 | + | ||
| 1542 | + } | ||
| 1543 | + }) | ||
| 1544 | + } | ||
| 1545 | + | ||
| 1546 | + | ||
| 1512 | if (th.data.prom_goods) { | 1547 | if (th.data.prom_goods) { |
| 1513 | var prom_d = th.data.prom_goods; | 1548 | var prom_d = th.data.prom_goods; |
| 1514 | for (var i in prom_d) { | 1549 | for (var i in prom_d) { |
| @@ -1803,39 +1838,43 @@ Page({ | @@ -1803,39 +1838,43 @@ Page({ | ||
| 1803 | }); | 1838 | }); |
| 1804 | }, | 1839 | }, |
| 1805 | 1840 | ||
| 1806 | - openSpecModel: function (t) { | ||
| 1807 | - var th = this; | ||
| 1808 | - var open_store = t.currentTarget.dataset.ind; | ||
| 1809 | - this.setData({ | ||
| 1810 | - store: 0, | ||
| 1811 | - choice_sort_store: 0, | ||
| 1812 | - sort_store: 0, | ||
| 1813 | - open_ind_store: open_store, | ||
| 1814 | - }) | ||
| 1815 | - //--先判断会员状态-- | ||
| 1816 | - var user_info = getApp().globalData.userInfo; | ||
| 1817 | - if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
| 1818 | - wx.navigateTo({ | ||
| 1819 | - url: '/pages/togoin/togoin', | ||
| 1820 | - }) | ||
| 1821 | - return false; | ||
| 1822 | - } | ||
| 1823 | - | ||
| 1824 | - if(th.data.more_flash && open_store==1){ | ||
| 1825 | - th.setData({is_pop_more:1}); | ||
| 1826 | - }else{ | ||
| 1827 | - var ind = t.currentTarget.dataset.ind; | ||
| 1828 | - //回调。判断是不是优惠促销 | ||
| 1829 | - th.check_is_prom_goods(function () { | ||
| 1830 | - th.setData({ | ||
| 1831 | - openSpecModal: !0, | ||
| 1832 | - openSpecModal_ind: ind, | ||
| 1833 | - }); | ||
| 1834 | - //var is_open=th.data.config | ||
| 1835 | - th.get_off_price(); | 1841 | + openSpecModel: function (t) { |
| 1842 | + var th = this; | ||
| 1843 | + var open_store = t.currentTarget.dataset.ind; | ||
| 1844 | + this.setData({ | ||
| 1845 | + store: 0, | ||
| 1846 | + choice_sort_store: 0, | ||
| 1847 | + sort_store: 0, | ||
| 1848 | + open_ind_store: open_store, | ||
| 1836 | }) | 1849 | }) |
| 1837 | - } | ||
| 1838 | - }, | 1850 | + //--先判断会员状态-- |
| 1851 | + var user_info = getApp().globalData.userInfo; | ||
| 1852 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | ||
| 1853 | + wx.navigateTo({ | ||
| 1854 | + url: '/pages/togoin/togoin', | ||
| 1855 | + }) | ||
| 1856 | + return false; | ||
| 1857 | + } | ||
| 1858 | + var is_go_next = 1; | ||
| 1859 | + if (th.data.more_flash && th.data.more_flash.length > 1 && open_store == 1) { | ||
| 1860 | + is_go_next = 0; | ||
| 1861 | + } | ||
| 1862 | + if (is_go_next) { | ||
| 1863 | + var ind = t.currentTarget.dataset.ind; | ||
| 1864 | + //回调。判断是不是优惠促销 | ||
| 1865 | + th.check_is_prom_goods(function () { | ||
| 1866 | + th.setData({ | ||
| 1867 | + openSpecModal: !0, | ||
| 1868 | + openSpecModal_ind: ind, | ||
| 1869 | + }); | ||
| 1870 | + //var is_open=th.data.config | ||
| 1871 | + th.get_off_price(); | ||
| 1872 | + }) | ||
| 1873 | + } else { | ||
| 1874 | + th.setData({is_pop_more: 1}); | ||
| 1875 | + | ||
| 1876 | + } | ||
| 1877 | + }, | ||
| 1839 | 1878 | ||
| 1840 | open_next(){ | 1879 | open_next(){ |
| 1841 | var th=this; | 1880 | var th=this; |
| @@ -2498,7 +2537,6 @@ Page({ | @@ -2498,7 +2537,6 @@ Page({ | ||
| 2498 | dd = { | 2537 | dd = { |
| 2499 | store_id: o.stoid, | 2538 | store_id: o.stoid, |
| 2500 | isstop: 0, | 2539 | isstop: 0, |
| 2501 | - is_pos: 1, | ||
| 2502 | pageSize: 2000 | 2540 | pageSize: 2000 |
| 2503 | } | 2541 | } |
| 2504 | } | 2542 | } |
| @@ -2997,7 +3035,7 @@ Page({ | @@ -2997,7 +3035,7 @@ Page({ | ||
| 2997 | var user_id=getApp().globalData.user_id; | 3035 | var user_id=getApp().globalData.user_id; |
| 2998 | if(!user_id) user_id=0; | 3036 | if(!user_id) user_id=0; |
| 2999 | 3037 | ||
| 3000 | - if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7) { | 3038 | + if (prom_type == 3 || prom_type == 0 || prom_type == 5 || prom_type == 7 || prom_type == 10) { |
| 3001 | this.setData({ | 3039 | this.setData({ |
| 3002 | prom_type: 0,isshow: 1, | 3040 | prom_type: 0,isshow: 1, |
| 3003 | }); | 3041 | }); |
| @@ -3101,6 +3139,7 @@ Page({ | @@ -3101,6 +3139,7 @@ Page({ | ||
| 3101 | 3139 | ||
| 3102 | 3140 | ||
| 3103 | } | 3141 | } |
| 3142 | + | ||
| 3104 | if (prom_type == 1 && prom_id==0){ | 3143 | if (prom_type == 1 && prom_id==0){ |
| 3105 | this.setData({ | 3144 | this.setData({ |
| 3106 | prom_type: 0,isshow: 1, | 3145 | prom_type: 0,isshow: 1, |
| @@ -6019,13 +6058,43 @@ Page({ | @@ -6019,13 +6058,43 @@ Page({ | ||
| 6019 | check_has_flash:function () { | 6058 | check_has_flash:function () { |
| 6020 | var th=this; | 6059 | var th=this; |
| 6021 | var url="/api/weshop/activitylist/getGoodActInfo"; | 6060 | var url="/api/weshop/activitylist/getGoodActInfo"; |
| 6061 | + var user_id=getApp().globalData.user_id; | ||
| 6062 | + if(!user_id) user_id=0; | ||
| 6063 | + | ||
| 6022 | var req_data={ | 6064 | var req_data={ |
| 6023 | - store_id:os.stoid,goodsidlist:this.data.data.goods_id,is_detail:1 | 6065 | + store_id:os.stoid,goodsidlist:this.data.data.goods_id,is_detail:1,user_id:user_id |
| 6024 | }; | 6066 | }; |
| 6025 | //获取秒杀的多规格 | 6067 | //获取秒杀的多规格 |
| 6026 | - getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | 6068 | + getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { |
| 6027 | if(res.data.code==0 && res.data.data && res.data.data.length){ | 6069 | if(res.data.code==0 && res.data.data && res.data.data.length){ |
| 6028 | - th.setData({more_flash:res.data.data}); | 6070 | + var arr_data=res.data.data; |
| 6071 | + for(let i in arr_data){ | ||
| 6072 | + let item=arr_data[i]; | ||
| 6073 | + if(item.prom_type==10){ | ||
| 6074 | + var url1="/api/weshop/prom/ladderList/list?store_id="+os.stoid+"&form_id="+item.act_id; | ||
| 6075 | + await getApp().request.promiseGet(url1, {}).then(rs=>{ | ||
| 6076 | + if(rs.data.code==0 && rs.data.data && rs.data.data.length) { | ||
| 6077 | + var prom_content=""; | ||
| 6078 | + for(let jj in rs.data.data){ | ||
| 6079 | + if(rs.data.data[jj].discount==10){ | ||
| 6080 | + prom_content+="第"+(jj+1)+"件原价,"; | ||
| 6081 | + }else{ | ||
| 6082 | + prom_content+="第"+(jj+1)+"件"+rs.data.data[jj].discount+"折,"; | ||
| 6083 | + } | ||
| 6084 | + } | ||
| 6085 | + prom_content=ut.sub_last(prom_content); | ||
| 6086 | + item.prom_content=prom_content; | ||
| 6087 | + } | ||
| 6088 | + }) | ||
| 6089 | + } | ||
| 6090 | + } | ||
| 6091 | + | ||
| 6092 | + if(res.data.data.length=1){ | ||
| 6093 | + th.data.prom_id=res.data.data[0].act_id; | ||
| 6094 | + th.data.prom_type=res.data.data[0].prom_type; | ||
| 6095 | + } | ||
| 6096 | + | ||
| 6097 | + th.setData({more_flash:arr_data}); | ||
| 6029 | } | 6098 | } |
| 6030 | }) | 6099 | }) |
| 6031 | }, | 6100 | }, |
| @@ -6050,9 +6119,12 @@ Page({ | @@ -6050,9 +6119,12 @@ Page({ | ||
| 6050 | corpId: id, | 6119 | corpId: id, |
| 6051 | success(res) {} | 6120 | success(res) {} |
| 6052 | }) | 6121 | }) |
| 6053 | - } | ||
| 6054 | - | 6122 | + }, |
| 6055 | 6123 | ||
| 6124 | + go_more_ladder:function (e) { | ||
| 6125 | + var prom_id=e.currentTarget.dataset.id; | ||
| 6126 | + getApp().goto("/pages/goods/goodsList/goodsList?ladder_id="+prom_id); | ||
| 6127 | + } | ||
| 6056 | 6128 | ||
| 6057 | 6129 | ||
| 6058 | }); | 6130 | }); |
pages/goods/goodsInfo/goodsInfo.wxml
| @@ -655,23 +655,33 @@ | @@ -655,23 +655,33 @@ | ||
| 655 | <block wx:if="{{more_flash}}"> | 655 | <block wx:if="{{more_flash}}"> |
| 656 | 656 | ||
| 657 | <block wx:for="{{more_flash}}"> | 657 | <block wx:for="{{more_flash}}"> |
| 658 | - | ||
| 659 | <view class="cx-frame flex" style="position: relative; height: auto" wx:if="{{item.prom_type==1}}" > | 658 | <view class="cx-frame flex" style="position: relative; height: auto" wx:if="{{item.prom_type==1}}" > |
| 660 | - <view class="cx-sizs wsize" style="width: 144rpx">秒杀</view> | ||
| 661 | - <!-- 中间显示层 --> | ||
| 662 | - <view class="flex ai-center jc_sb" style="width: 570rpx" bindtap="go_more_flash" data-id="{{item.act_id}}"> | ||
| 663 | - <view class="flex"> | ||
| 664 | - <view class="miao_lab">秒</view> | ||
| 665 | - <view class="order_hui"> | ||
| 666 | - <view class="fs28 ellipsis-1">{{item.act_name}}</view> | ||
| 667 | - <view class="fs26"> | ||
| 668 | - (活动时间:{{tool.format_tt(item.s_time)}} - {{tool.format_tt(item.e_time)}}) | 659 | + <view class="cx-sizs wsize" style="width: 144rpx">秒杀</view> |
| 660 | + <!-- 中间显示层 --> | ||
| 661 | + <view class="flex ai-center jc_sb" style="width: 570rpx" bindtap="go_more_flash" data-id="{{item.act_id}}"> | ||
| 662 | + <view class="flex"> | ||
| 663 | + <view class="miao_lab">秒</view> | ||
| 664 | + <view class="order_hui"> | ||
| 665 | + <view class="fs28 ellipsis-1">{{item.act_name}}</view> | ||
| 666 | + <view class="fs26"> | ||
| 667 | + (活动时间:{{tool.format_tt(item.s_time)}} - {{tool.format_tt(item.e_time)}}) | ||
| 668 | + </view> | ||
| 669 | + </view> | ||
| 669 | </view> | 670 | </view> |
| 670 | - </view> | 671 | + <view><text class="bg_jj is_more_cx" style="position: relative;top:-10rpx"></text></view> |
| 672 | + </view> | ||
| 673 | + </view> | ||
| 674 | + | ||
| 675 | + <view class="cx-frame flex jc_sb" bindtap="go_more_ladder" data-id="{{item.act_id}}" style="position: relative; height: auto" wx:if="{{item.prom_type==10}}"> | ||
| 676 | + <view class="flex" style="width: 92%"> | ||
| 677 | + <view class="cx-sizs fs30" style="width: 90rpx;flex-shrink: 0">阶梯促</view> | ||
| 678 | + <!-- 中间显示层 --> | ||
| 679 | + <view class="ellipsis-1 fs24"><text class="jie_show fs22">阶</text>{{item.prom_content}}</view> | ||
| 680 | + </view> | ||
| 681 | + <view data-coupon="1" bindtap="show_more_cx" class="cx-obtain-coupon wsize"> | ||
| 682 | + <text class="bg_jj" style="position: relative;right: 3rpx"></text> | ||
| 671 | </view> | 683 | </view> |
| 672 | - <view><text class="bg_jj is_more_cx" style="position: relative;top:-10rpx"></text></view> | ||
| 673 | </view> | 684 | </view> |
| 674 | - </view> | ||
| 675 | </block> | 685 | </block> |
| 676 | </block> | 686 | </block> |
| 677 | <view class="bz_view flex bdt16" wx:if="{{bconfig}}" style=""> | 687 | <view class="bz_view flex bdt16" wx:if="{{bconfig}}" style=""> |
pages/goods/goodsInfo/goodsInfo.wxss
| @@ -2875,4 +2875,6 @@ button.custom-service::after{ | @@ -2875,4 +2875,6 @@ button.custom-service::after{ | ||
| 2875 | line-height: 70rpx; | 2875 | line-height: 70rpx; |
| 2876 | border-radius: 50%; | 2876 | border-radius: 50%; |
| 2877 | color: #aaa; | 2877 | color: #aaa; |
| 2878 | -} | ||
| 2879 | \ No newline at end of file | 2878 | \ No newline at end of file |
| 2879 | +} | ||
| 2880 | + | ||
| 2881 | +.jie_show{ display: inline-block; width: 40rpx; height: 40rpx; background-color:#ff0505;border-radius:50%;color: #fff;text-align: center; margin: 0 20rpx } | ||
| 2880 | \ No newline at end of file | 2882 | \ No newline at end of file |
pages/goods/goodsList/goodsList.wxml
| @@ -12,8 +12,10 @@ | @@ -12,8 +12,10 @@ | ||
| 12 | <text space="{{true}}" wx:if="{{item.content.is_libao && item.content.is_libao!='0'}}">送{{item.content.lb_name}} </text> | 12 | <text space="{{true}}" wx:if="{{item.content.is_libao && item.content.is_libao!='0'}}">送{{item.content.lb_name}} </text> |
| 13 | </view> | 13 | </view> |
| 14 | </block> | 14 | </block> |
| 15 | + <!-- 新增 --> | ||
| 16 | + <view wx:if="{{jieti_prom}}" class="fs30 ellipsis-1" style="padding: 20rpx">阶梯促销:第一件原价,第二件9折,第三件8折</view> | ||
| 17 | + | ||
| 15 | </view> | 18 | </view> |
| 16 | - | ||
| 17 | <view class="pd20 flex ai-center jc_sb"> | 19 | <view class="pd20 flex ai-center jc_sb"> |
| 18 | <!-- 搜索框 --> | 20 | <!-- 搜索框 --> |
| 19 | <view class="search-box f1"> | 21 | <view class="search-box f1"> |