Authored by 郝肖肖

套餐加入购物车滑动到 新加入购物车商品位置

@@ -348,7 +348,8 @@ Cart = { @@ -348,7 +348,8 @@ Cart = {
348 348
349 var $this = $(this); 349 var $this = $(this);
350 var $item = $this.closest('li[data-role="pitem"]'); 350 var $item = $this.closest('li[data-role="pitem"]');
351 - var content = '<div><i class="iconfont">&#xe68e;</i>移入收藏</div><p>确定要将该商品从购物车中移入收藏夹吗?<br/>移入收藏后该商品将不在购物车中显示</p>'; 351 + var content = '<div><i class="iconfont">&#xe68e;</i>移入收藏</div>' +
  352 + '<p>确定要将该商品从购物车中移入收藏夹吗?<br/>移入收藏后该商品将不在购物车中显示</p>';
352 353
353 var item = { 354 var item = {
354 product_sku: $item.data('id'), 355 product_sku: $item.data('id'),
@@ -373,21 +374,42 @@ Cart = { @@ -373,21 +374,42 @@ Cart = {
373 374
374 var $chk = $(this); 375 var $chk = $(this);
375 var $item = $chk.closest('li[data-role=pitem]'); 376 var $item = $chk.closest('li[data-role=pitem]');
  377 + var poolId = $item.data('pool-id');
  378 + var batchNo = $item.data('batch-no');
376 379
377 - if (!$chk.hasClass('cart-item-checked') || !$item.data('id')) { 380 + if (!$chk.hasClass('cart-item-checked') || !$item.data('id') ||
  381 + $item.find('.pay-pro').hasClass('is-check')) {
378 return true; 382 return true;
379 } 383 }
380 384
381 - selectArray.push({  
382 - product_sku: $item.data('id'),  
383 - buy_number: $item.data('productnum'),  
384 - promotion_id: $item.data('promotionid') || 0  
385 - }); 385 + if (poolId && parseInt($item.data('pool-type'), 10) === 3) { // 套餐
  386 + $item.closest('.promotion-pool').find('li[data-pool-id="' + poolId + '"]').each(function() {
  387 + if (!$(this).data('id')) {
  388 + return true;
  389 + }
  390 +
  391 + selectArray.push({
  392 + activity_id: poolId,
  393 + batch_no: batchNo,
  394 + product_sku: $(this).data('id'),
  395 + buy_number: $(this).data('productnum'),
  396 + promotion_id: $(this).data('promotionid') || 0
  397 + });
  398 + });
  399 + } else {
  400 + selectArray.push({
  401 + product_sku: $item.data('id'),
  402 + buy_number: $item.data('productnum'),
  403 + promotion_id: $item.data('promotionid') || 0
  404 + });
  405 + }
386 }); 406 });
387 407
388 if (!$.isEmptyObject(selectArray)) { 408 if (!$.isEmptyObject(selectArray)) {
389 409
390 - content = '<div><i class="iconfont">&#xe68e;</i>移入收藏</div><p>确定要将已选中的商品从购物车中移入收藏夹吗?<br/>移入收藏后已选中的商品将不在购物车中显示</p>'; // eslint-disable-line 410 + content = '<div><i class="iconfont">&#xe68e;</i>移入收藏</div>' +
  411 + '<p>确定要将已选中的商品从购物车中移入收藏夹吗?' +
  412 + '<br/>移入收藏后已选中的商品将不在购物车中显示</p>'; // eslint-disable-line
391 new RConfirm(content, function() { // eslint-disable-line 413 new RConfirm(content, function() { // eslint-disable-line
392 capi.cartItemDel(selectArray); 414 capi.cartItemDel(selectArray);
393 }); 415 });
@@ -417,7 +439,7 @@ Cart = { @@ -417,7 +439,7 @@ Cart = {
417 capi.cartItemNumChg($.extend(countJSON, { 439 capi.cartItemNumChg($.extend(countJSON, {
418 sku: $item.data('id'), 440 sku: $item.data('id'),
419 batch_no: $item.data('batch-no'), 441 batch_no: $item.data('batch-no'),
420 - activity_id: $item.data('pool-id'), 442 + activity_id: $item.data('pool-id')
421 })); 443 }));
422 444
423 if (!$btn.hasClass('cart-item-checked')) { 445 if (!$btn.hasClass('cart-item-checked')) {
@@ -450,7 +472,12 @@ Cart = { @@ -450,7 +472,12 @@ Cart = {
450 buyNumber: 1, 472 buyNumber: 1,
451 promotionId: $li.data('promotionid') 473 promotionId: $li.data('promotionid')
452 }).then(function() { 474 }).then(function() {
  475 + var $liDom = $('li[data-id="' + $li.data('id') + '"').eq(0);
  476 +
453 $this.removeClass('is-execu'); 477 $this.removeClass('is-execu');
  478 + if ($liDom.length) {
  479 + $('html,body').animate({scrollTop: ($liDom.offset().top - 10) + 'px'}, 500);
  480 + }
454 }); 481 });
455 }, 482 },
456 reFav: function() { 483 reFav: function() {
@@ -302,8 +302,11 @@ @@ -302,8 +302,11 @@
302 } 302 }
303 } 303 }
304 304
305 - .is-check i.cart-item-check {  
306 - visibility: hidden !important; 305 + .is-check {
  306 + i.cart-item-check,
  307 + i.cart-item-disabled {
  308 + visibility: hidden !important;
  309 + }
307 } 310 }
308 311
309 .cart-label { 312 .cart-label {