Authored by biao

resolve confilct

@@ -443,13 +443,13 @@ class Helpers @@ -443,13 +443,13 @@ class Helpers
443 * @param string $areaMobile 443 * @param string $areaMobile
444 * @return boolean 444 * @return boolean
445 */ 445 */
446 - public static function verifyAreaMobile($areaMobile) 446 + public static function verifyAreaMobile($areaMobile, $area)
447 { 447 {
448 if (empty($areaMobile)) { 448 if (empty($areaMobile)) {
449 return false; 449 return false;
450 } 450 }
451 if (!strpos($areaMobile, '-')) { 451 if (!strpos($areaMobile, '-')) {
452 - return self::areaMobielVerify($areaMobile); 452 + return self::areaMobielVerify($areaMobile, $area);
453 } else { 453 } else {
454 $mobileData = explode('-', $areaMobile); 454 $mobileData = explode('-', $areaMobile);
455 if (count($mobileData) != 2) { 455 if (count($mobileData) != 2) {
@@ -601,7 +601,7 @@ class Helpers @@ -601,7 +601,7 @@ class Helpers
601 } 601 }
602 602
603 /** 603 /**
604 - * 格式化加价购商品 604 + * 格式化加价购和赠品商品
605 * 605 *
606 * @param array $advanceGoods 加价购商品列表 606 * @param array $advanceGoods 加价购商品列表
607 * @param int $count 计商品件数 607 * @param int $count 计商品件数
@@ -615,6 +615,7 @@ class Helpers @@ -615,6 +615,7 @@ class Helpers
615 $oneGoods = array(); 615 $oneGoods = array();
616 foreach ($advanceGoods as $value) { 616 foreach ($advanceGoods as $value) {
617 $gift = array(); 617 $gift = array();
  618 + $gift['promotionId'] = $value['promotion_id'];
618 $gift['promotionTitle'] = $value['promotion_title']; 619 $gift['promotionTitle'] = $value['promotion_title'];
619 620
620 foreach ($value['goods_list'] as $single) { 621 foreach ($value['goods_list'] as $single) {
@@ -8,13 +8,13 @@ var $ = require('jquery'), @@ -8,13 +8,13 @@ var $ = require('jquery'),
8 lazyLoad = require('yoho.lazyload'), 8 lazyLoad = require('yoho.lazyload'),
9 Hammer = require('yoho.hammer'); 9 Hammer = require('yoho.hammer');
10 10
11 -var chosePanel = require('./chose-panel'),  
12 - cartInfo = require('./cart-info').cartInfo; 11 +var chosePanel = require('./chose-panel');
13 12
14 var $cartContent = $('.cart-content'); 13 var $cartContent = $('.cart-content');
15 14
16 var navHammer, 15 var navHammer,
17 - cartType = 'ordinary'; 16 + cartType = 'ordinary',
  17 + cartInfo;
18 18
19 require('./good'); 19 require('./good');
20 20
@@ -28,6 +28,12 @@ navHammer.on('tap', function(e) { @@ -28,6 +28,12 @@ navHammer.on('tap', function(e) {
28 return; 28 return;
29 } 29 }
30 30
  31 + if (cartType === 'ordinary') {
  32 + cartType = 'advance';
  33 + } else {
  34 + cartType = 'ordinary';
  35 + }
  36 +
31 $this.siblings('.active').removeClass('active'); 37 $this.siblings('.active').removeClass('active');
32 $this.addClass('active'); 38 $this.addClass('active');
33 39
@@ -41,7 +47,7 @@ navHammer.on('tap', function(e) { @@ -41,7 +47,7 @@ navHammer.on('tap', function(e) {
41 47
42 48
43 $('.btn-balance').on('touchend', function() { 49 $('.btn-balance').on('touchend', function() {
44 - window.location.href = '/shoppingCart/orderEnsure?cartType=' + cartType; 50 + window.location.href = '/cart/index/orderEnsure?cartType=' + cartType;
45 }); 51 });
46 52
47 //$('.advance-buy').on('touchend', function() { 53 //$('.advance-buy').on('touchend', function() {
@@ -12,7 +12,25 @@ var $ = require('jquery'); @@ -12,7 +12,25 @@ var $ = require('jquery');
12 // var $page = $('.yoho-page'); 12 // var $page = $('.yoho-page');
13 13
14 var $num, 14 var $num,
15 - $chosed; 15 + $chosed,
  16 + re = /\d+/,
  17 + leftNum,
  18 + $colorList = $('.color-list ul>li'),
  19 + $sizeList = $('.size-list ul>li'),
  20 + firstColorId = $colorList.eq(0).data('id'),
  21 + colorIndex;
  22 +
  23 +//初始化购物车面板显示
  24 +$sizeList.each(function() {
  25 + colorIndex = $(this).data('colorid');
  26 +
  27 +
  28 + if (colorIndex === firstColorId) {
  29 + $(this).removeClass('hide');
  30 + }
  31 +});
  32 +
  33 +// confirm;
16 34
17 // var tpl; 35 // var tpl;
18 36
@@ -35,8 +53,11 @@ var $num, @@ -35,8 +53,11 @@ var $num,
35 // $num = $('#good-num'); 53 // $num = $('#good-num');
36 // } 54 // }
37 55
  56 +
  57 +
38 function show() { 58 function show() {
39 $('.chose-panel').show(); 59 $('.chose-panel').show();
  60 +
40 $('body').css('overflow', 'hidden'); 61 $('body').css('overflow', 'hidden');
41 $num = $('#good-num'); 62 $num = $('#good-num');
42 } 63 }
@@ -58,10 +79,43 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) { @@ -58,10 +79,43 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
58 remove(); 79 remove();
59 }).on('touchstart', '#chose-btn-sure', function() { 80 }).on('touchstart', '#chose-btn-sure', function() {
60 81
61 - //确定  
62 -}).on('touchstart', '.block', function(e) { 82 + // var productSku,
  83 + // buyNumber = $('#good-num') - 0;
  84 + // promotionId,
  85 + // goodsType,
  86 + // isEdit;
  87 +
  88 + // //确定
  89 + // $chosed = $('.block-list>ul>li.chosed');
  90 +
  91 + // if (2 === $chosed.length && 2 !== $chosed.closest('.zero-stock').length) {
  92 +
  93 + // if (confirm) {
  94 + // return false;
  95 + // }
  96 +
  97 + // confirm = true;
  98 + // loading.showLoadingMask();
  99 + // $.ajax({
  100 + // method: 'POST',
  101 + // url: '/cart/index/add',
  102 + // data: {
  103 + // product_id: productId,
  104 + // content: content
  105 + // }
  106 + // }).done(function(res) {
  107 + // if (res.code === 200) {
  108 + // loading.hideLoadingMask();
  109 + // confirm = false;
  110 + // remove();
  111 + // }
  112 + // }).fail(function() {
  113 + // tip.show('网络出了点问题~');
  114 + // confirm = false;
  115 + // });
  116 + // }
63 117
64 - //尺寸颜色点选 118 +}).on('touchstart', '.block', function(e) {
65 var $this = $(this), 119 var $this = $(this),
66 $that = $(e.target).closest('.chose-items'), 120 $that = $(e.target).closest('.chose-items'),
67 numArray, 121 numArray,
@@ -96,6 +150,19 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) { @@ -96,6 +150,19 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
96 } 150 }
97 }); 151 });
98 } else if ($chosed.length === 1 && $this.hasClass('chosed')) { 152 } else if ($chosed.length === 1 && $this.hasClass('chosed')) {
  153 + if ($this.closest('.block-list').hasClass('color-list')) {
  154 +
  155 + $sizeList.addClass('hide');
  156 +
  157 + //切换尺码信息
  158 + $sizeList.each(function() {
  159 + colorIndex = $(this).data('colorid');
  160 + if (colorIndex === $this.data('id')) {
  161 + $(this).removeClass('hide');
  162 + }
  163 + });
  164 + }
  165 +
99 numArray = $chosed.data('numstr').split('/'); 166 numArray = $chosed.data('numstr').split('/');
100 $siblingBlock.find('.block').removeClass('zero-stock'); 167 $siblingBlock.find('.block').removeClass('zero-stock');
101 for (i = 0; i < numArray.length; i++) { 168 for (i = 0; i < numArray.length; i++) {
@@ -104,6 +171,9 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) { @@ -104,6 +171,9 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
104 } 171 }
105 } 172 }
106 } else if ($chosed.length === 1 && !$this.hasClass('chosed')) { 173 } else if ($chosed.length === 1 && !$this.hasClass('chosed')) {
  174 + $('#chose-btn-sure').css('background-color', '#eb0313');
  175 + $('#chose-btn-sure').html('确定');
  176 +
107 $siblingBlock.find('ul>li').each(function() { 177 $siblingBlock.find('ul>li').each(function() {
108 $(this).removeClass('zero-stock'); 178 $(this).removeClass('zero-stock');
109 if (0 === $(this).data('num') - 0) { 179 if (0 === $(this).data('num') - 0) {
@@ -123,19 +193,23 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) { @@ -123,19 +193,23 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
123 if (2 === $chosed.closest('.zero-stock').length) { 193 if (2 === $chosed.closest('.zero-stock').length) {
124 $('#chose-btn-sure').css('background-color', '#c0c0c0'); 194 $('#chose-btn-sure').css('background-color', '#c0c0c0');
125 $('#chose-btn-sure').html('已售罄'); 195 $('#chose-btn-sure').html('已售罄');
  196 + } else {
  197 + $('#chose-btn-sure').css('background-color', '#eb0313');
  198 + $('#chose-btn-sure').html('确定');
126 } 199 }
127 } 200 }
128 201
129 }).on('touchstart', '.btn-minus', function() { 202 }).on('touchstart', '.btn-minus', function() {
130 var num = +$num.val(), 203 var num = +$num.val(),
131 - $chosed = $('.block-list>ul>li.chosed'); 204 + $chosed = $('.block-list>ul>li.chosed'),
  205 + leftNum = re.exec($('.num .left-num').html());
132 206
133 //若颜色和尺码没有被同时选中,则不能点击 207 //若颜色和尺码没有被同时选中,则不能点击
134 if ($chosed.length < 2) { 208 if ($chosed.length < 2) {
135 return; 209 return;
136 } 210 }
137 211
138 - if (num === 0) { 212 + if (num === 1 || 0 === leftNum - 0) {
139 return; 213 return;
140 } 214 }
141 215
@@ -147,6 +221,10 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) { @@ -147,6 +221,10 @@ $('.yoho-page').on('touchstart', '.chose-panel', function(e) {
147 if ($('.block-list>ul>li.chosed').length < 2) { 221 if ($('.block-list>ul>li.chosed').length < 2) {
148 return; 222 return;
149 } 223 }
  224 + leftNum = re.exec($('.num .left-num').html());
  225 + if (num - 0 === leftNum - 0 || 0 === leftNum - 0) {
  226 + return;
  227 + }
150 228
151 //TODO:库存数验证 229 //TODO:库存数验证
152 $num.val(num + 1); 230 $num.val(num + 1);
@@ -5,25 +5,52 @@ @@ -5,25 +5,52 @@
5 */ 5 */
6 6
7 var $ = require('jquery'), 7 var $ = require('jquery'),
8 - lazyLoad = require('yoho.lazyload'); 8 + lazyLoad = require('yoho.lazyload'),
  9 + Handlebars = require('yoho.handlebars'),
  10 + tip = require('../plugin/tip'),
  11 + chosePanel = require('./chose-panel');
9 12
10 -//var chosePanel = require('./chose-panel'); 13 +var panelTmpl,
  14 + $page = $('.gift-advance-page'),
  15 + $chosePanel = $('#chose-panel');
11 16
12 lazyLoad($('.lazy')); 17 lazyLoad($('.lazy'));
13 18
14 -//$('.gift-advance-page').on('touchstart', '.chose', function() {  
15 -// var id = $(this).closest('.gift-advance-good').data('id');  
16 -//  
17 -// $.ajax({  
18 -// type: 'GET',  
19 -// url: '/shoppingCart/goodinfo',  
20 -// data: {  
21 -// id: id  
22 -// },  
23 -// success: function(data) {  
24 -// if (data.code === 200) {  
25 -// chosePanel.show(data.data);  
26 -// }  
27 -// }  
28 -// });  
29 -//});  
  19 +$.get('/cart/index/giftinfoTpl', function(html) {
  20 + if (!html) {
  21 + tip.show('网络错误');
  22 + return;
  23 + }
  24 + panelTmpl = Handlebars.compile(html);
  25 +}).fail(function() {
  26 + tip.show('网络错误');
  27 +});
  28 +
  29 +function getProductInfo(skn, promotionId) {
  30 + $.get('/cart/index/giftinfo', {
  31 + skn: skn,
  32 + promotionId: promotionId
  33 + }).then(function(res) {
  34 + if (!res) {
  35 + tip.show('网络错误');
  36 + return;
  37 + }
  38 + console.log(res);
  39 + if (res.code === 200) {
  40 + $chosePanel.html(panelTmpl(res.data));
  41 + chosePanel.show();
  42 + } else {
  43 + tip.show(res.message || '网络错误');
  44 + }
  45 + }).fail(function() {
  46 + tip.show('网络错误');
  47 + });
  48 +}
  49 +
  50 +$page.on('touchend', '.chose', function() {
  51 + var $this = $(this),
  52 + id = $this.closest('.gift-advance-good').data('id'),
  53 + promotionId = $this.closest('.advance-block').data('promotion-id');
  54 +
  55 + getProductInfo(id, promotionId);
  56 +});
@@ -47,7 +47,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() { @@ -47,7 +47,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
47 47
48 $.ajax({ 48 $.ajax({
49 type: 'GET', 49 type: 'GET',
50 - url: '/shoppingCart/select', 50 + url: '/cart/index/select',
51 data: { 51 data: {
52 id: id 52 id: id
53 } 53 }
@@ -61,7 +61,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() { @@ -61,7 +61,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
61 } 61 }
62 $.ajax({ 62 $.ajax({
63 type: 'GET', 63 type: 'GET',
64 - url: '/shoppingCart/getCartData', 64 + url: '/cart/index/getCartData',
65 data: { 65 data: {
66 id: id 66 id: id
67 }, 67 },
@@ -82,18 +82,22 @@ $('.cart-goods').on('touchstart', '.checkbox', function() { @@ -82,18 +82,22 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
82 }); 82 });
83 }).on('touchstart', '.icon-edit', function() { 83 }).on('touchstart', '.icon-edit', function() {
84 84
85 - var $this = $(this),  
86 - $cartgood = $this.closest('.shopping-cart-good'),  
87 - $viewGood = $cartgood.find('.deps'),  
88 - $editGoot = $cartgood.find('.calculate-num');  
89 -  
90 - if ($viewGood.hasClass('show')) {  
91 - $viewGood.removeClass('show').addClass('hide');  
92 - $editGoot.removeClass('hide').addClass('show');  
93 - } else {  
94 - $viewGood.removeClass('hide').addClass('show');  
95 - $editGoot.removeClass('show').addClass('hide');  
96 - } 85 + //var $this = $(this);
  86 + //
  87 + //var $cartgood = $this.closest('.shopping-cart-good');
  88 + //
  89 + ////var id = $this.closest('.shopping-cart-good').data('id');
  90 + //
  91 + //var $viewGood = $cartgood.find('.deps');
  92 + // $editGoot = $cartgood.find('.calculate-num');
  93 + //
  94 + //if ($viewGood.hasClass('show')) {
  95 + // $viewGood.removeClass('show').addClass('hide');
  96 + // $editGoot.removeClass('hide').addClass('show');
  97 + //} else {
  98 + // $viewGood.removeClass('hide').addClass('show');
  99 + // $editGoot.removeClass('show').addClass('hide');
  100 + //}
97 101
98 102
99 }).on('touchstart', '.icon-del', function(e) { 103 }).on('touchstart', '.icon-del', function(e) {
@@ -119,7 +123,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() { @@ -119,7 +123,7 @@ $('.cart-goods').on('touchstart', '.checkbox', function() {
119 123
120 $.ajax({ 124 $.ajax({
121 method: 'post', 125 method: 'post',
122 - url: '/shoppingCart/del', 126 + url: '/cart/index/del',
123 data: { 127 data: {
124 id: id 128 id: id
125 } 129 }
@@ -282,10 +286,6 @@ $selectAllBtn.on('touchend', function() { @@ -282,10 +286,6 @@ $selectAllBtn.on('touchend', function() {
282 286
283 287
284 288
285 -$('.btn-balance').on('touchend', function() {  
286 - window.location.href = '/shoppingCart/orderEnsure?cartType=' + 'ordinary';  
287 -});  
288 -  
289 $('.down').on('touchend', function() { 289 $('.down').on('touchend', function() {
290 chosePanel.show(); 290 chosePanel.show();
291 }); 291 });
@@ -294,7 +294,7 @@ $('.cut').on('touchend', function() { @@ -294,7 +294,7 @@ $('.cut').on('touchend', function() {
294 294
295 $.ajax({ 295 $.ajax({
296 type: 'GET', 296 type: 'GET',
297 - url: '/shoppingCart/modify', 297 + url: '/cart/index/modify',
298 data: { 298 data: {
299 old_product_sku: id, 299 old_product_sku: id,
300 new_product_sku: id, 300 new_product_sku: id,
@@ -17,7 +17,8 @@ var dispatchModeHammer, @@ -17,7 +17,8 @@ var dispatchModeHammer,
17 $invoice = $('.invoice'), 17 $invoice = $('.invoice'),
18 $price = $('.price-cal'), 18 $price = $('.price-cal'),
19 payType, 19 payType,
20 - priceTmpl = Handlebars.compile($('#tmpl-price').html()); 20 + priceTmpl = Handlebars.compile($('#tmpl-price').html()),
  21 + queryString = $.queryString();
21 22
22 lazyLoad(); 23 lazyLoad();
23 24
@@ -101,7 +102,7 @@ function submitOrder() { @@ -101,7 +102,7 @@ function submitOrder() {
101 url: '/cart/index/orderSub', 102 url: '/cart/index/orderSub',
102 data: { 103 data: {
103 addressId: orderInfo('addressId'), 104 addressId: orderInfo('addressId'),
104 - cartType: orderInfo('cartType'), 105 + cartType: queryString.cartType || queryString.carttype || 'ordinary',
105 deliveryId: orderInfo('deliveryId'), 106 deliveryId: orderInfo('deliveryId'),
106 deliveryTimeId: orderInfo('deliveryTimeId'), 107 deliveryTimeId: orderInfo('deliveryTimeId'),
107 invoiceText: $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'), 108 invoiceText: $invoice.find('[name="invoice-title"]').val() || orderInfo('invoiceText'),
@@ -132,7 +133,7 @@ function submitOrder() { @@ -132,7 +133,7 @@ function submitOrder() {
132 window.location.href = url; 133 window.location.href = url;
133 } else { 134 } else {
134 loading.hideLoadingMask(); 135 loading.hideLoadingMask();
135 - tip.show(res.messege || '网络出错'); 136 + tip.show(res.message || '网络出错');
136 } 137 }
137 }).fail(function() { 138 }).fail(function() {
138 loading.hideLoadingMask(); 139 loading.hideLoadingMask();
@@ -199,9 +199,9 @@ $yohoPage.on('touchstart', '.tap-hightlight', function() { @@ -199,9 +199,9 @@ $yohoPage.on('touchstart', '.tap-hightlight', function() {
199 $(this).removeClass('highlight'); 199 $(this).removeClass('highlight');
200 }); 200 });
201 201
202 -$('.nav-home').on('touchstart', function() {  
203 - $('.homebuttom').toggleClass('none');  
204 -}); 202 +// $('.nav-home').on('touchstart', function() {
  203 +// $('.homebuttom').toggleClass('none');
  204 +// });
205 205
206 (function() { 206 (function() {
207 var lastTime = 0, 207 var lastTime = 0,
@@ -80,7 +80,7 @@ optHammer.on('tap', function(e) { @@ -80,7 +80,7 @@ optHammer.on('tap', function(e) {
80 } else { 80 } else {
81 tip.show(res.message || '网络错误'); 81 tip.show(res.message || '网络错误');
82 } 82 }
83 - window.location.reload(); 83 + window.location.href = '/home/orders';
84 }).fail(function() { 84 }).fail(function() {
85 tip.show('网络错误'); 85 tip.show('网络错误');
86 }); 86 });
@@ -9,6 +9,7 @@ @@ -9,6 +9,7 @@
9 background: rgba(0,0,0,.3); 9 background: rgba(0,0,0,.3);
10 z-index:3; 10 z-index:3;
11 11
  12 +
12 .main { 13 .main {
13 position: absolute; 14 position: absolute;
14 height: pxToRem(610px); 15 height: pxToRem(610px);
@@ -86,6 +87,10 @@ @@ -86,6 +87,10 @@
86 } 87 }
87 } 88 }
88 89
  90 + .size-list li.hide {
  91 + display: none;
  92 + }
  93 +
89 .block { 94 .block {
90 float: left; 95 float: left;
91 display: block; 96 display: block;
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 <div class="gift-advance-page yoho-page"> 2 <div class="gift-advance-page yoho-page">
3 {{#if advanceBuyPage}} 3 {{#if advanceBuyPage}}
4 {{# advanceBuy}} 4 {{# advanceBuy}}
5 - <div class="advance-block"> 5 + <div class="advance-block" data-promotion-id="{{promotionId}}">
6 <p class="title">{{title}}</p> 6 <p class="title">{{title}}</p>
7 {{#goods}} 7 {{#goods}}
8 {{> cart/gift-advance-good}} 8 {{> cart/gift-advance-good}}
@@ -10,11 +10,11 @@ @@ -10,11 +10,11 @@
10 </div> 10 </div>
11 {{/ advanceBuy}} 11 {{/ advanceBuy}}
12 {{else}} 12 {{else}}
13 - {{# gift}} 13 + {{# freebie}}
14 {{> cart/gift-advance-good}} 14 {{> cart/gift-advance-good}}
15 - {{/ gift}} 15 + {{/ freebie}}
16 {{/if}} 16 {{/if}}
17 17
18 - 18 +<div id="chose-panel"></div>
19 </div> 19 </div>
20 {{> layout/footer}} 20 {{> layout/footer}}
1 - 1 +{{#cartInfo}}
2 <div class="chose-panel"> 2 <div class="chose-panel">
3 <div class="main"> 3 <div class="main">
4 <div class="infos"> 4 <div class="infos">
5 - <div class="basic-info"> 5 + <div class="basic-info" >
6 {{#thumbs}} 6 {{#thumbs}}
7 {{#if @first}} 7 {{#if @first}}
8 <img class="thumb" src={{img}}> 8 <img class="thumb" src={{img}}>
@@ -25,7 +25,7 @@ @@ -25,7 +25,7 @@
25 <span>颜色</span> 25 <span>颜色</span>
26 <ul class="clearfix" data-type="color"> 26 <ul class="clearfix" data-type="color">
27 {{# colors}} 27 {{# colors}}
28 - <li class="block {{#if chosed}}chosed{{/if}} {{#unless colorNum}}zero-stock{{/unless}}" data-num="{{colorNum}}" data-numstr="{{sizeNumStr}}" data-skcid="{{skcId}}"> 28 + <li class="block {{#if chosed}}chosed{{/if}} {{#unless colorNum}}zero-stock{{/unless}}" data-num="{{colorNum}}" data-id="{{id}}" data-numstr="{{sizeNumStr}}" data-skcid="{{skcId}}">
29 {{name}} 29 {{name}}
30 </li> 30 </li>
31 {{/ colors}} 31 {{/ colors}}
@@ -33,9 +33,10 @@ @@ -33,9 +33,10 @@
33 </div> 33 </div>
34 <div class="size-list block-list"> 34 <div class="size-list block-list">
35 <span>尺码</span> 35 <span>尺码</span>
  36 +
36 <ul class="clearfix" data-type="size" > 37 <ul class="clearfix" data-type="size" >
37 {{# sizes}} 38 {{# sizes}}
38 - <li class="block {{#if chosed}}chosed{{/if}} {{#unless sizeNum}}zero-stock{{/unless}}" data-id={{id}} data-num="{{sizeNum}}" data-numstr="{{colorNumStr}}" data-skuid="{{skuId}}" data-goodid="{{goodId}}"> 39 + <li class="block hide {{#if chosed}}chosed{{/if}} {{#unless sizeNum}}zero-stock{{/unless}}" data-id={{id}} data-colorid="{{colorId}}" data-num="{{sizeNum}}" data-numstr="{{colorNumStr}}" data-skuid="{{skuId}}" data-goodid="{{goodsId}}">
39 {{name}} 40 {{name}}
40 </li> 41 </li>
41 {{/ sizes}} 42 {{/ sizes}}
@@ -47,7 +48,7 @@ @@ -47,7 +48,7 @@
47 <a class="btn btn-minus" href="javascript:void(0);"> 48 <a class="btn btn-minus" href="javascript:void(0);">
48 <span class="iconfont">&#xe625;</span> 49 <span class="iconfont">&#xe625;</span>
49 </a> 50 </a>
50 - <input id="good-num" class="good-num" type="text" value={{num}}> 51 + <input id="good-num" class="good-num" type="text" value="1">
51 <a class="btn btn-plus" href="javascript:void(0);"> 52 <a class="btn btn-plus" href="javascript:void(0);">
52 <span class="iconfont">&#xe624;</span> 53 <span class="iconfont">&#xe624;</span>
53 </a> 54 </a>
@@ -57,7 +58,8 @@ @@ -57,7 +58,8 @@
57 </div> 58 </div>
58 </div> 59 </div>
59 <div class="btn-wrap"> 60 <div class="btn-wrap">
60 - <button id="chose-btn-sure" class="btn btn-sure">加入购物车</button> 61 + <button id="chose-btn-sure" class="btn btn-sure">确定</button>
61 </div> 62 </div>
62 </div> 63 </div>
63 </div> 64 </div>
  65 +{{/cartInfo}}
@@ -6,19 +6,6 @@ @@ -6,19 +6,6 @@
6 <div class="deps"> 6 <div class="deps">
7 <p class="name row">{{name}}</p> 7 <p class="name row">{{name}}</p>
8 <p class="row"> 8 <p class="row">
9 - {{#if color}}  
10 - <span class="color">  
11 - 颜色:{{color}}  
12 - </span>  
13 - {{/if}}  
14 -  
15 - {{#if size}}  
16 - <span class="size">  
17 - 尺码:{{size}}  
18 - </span>  
19 - {{/if}}  
20 - </p>  
21 - <p class="row">  
22 <span class="price"> 9 <span class="price">
23 ¥{{price}} 10 ¥{{price}}
24 </span> 11 </span>
@@ -47,7 +47,7 @@ @@ -47,7 +47,7 @@
47 {{/if}} 47 {{/if}}
48 48
49 49
50 - <span class="iconfont icon-edit">&#xe61e;</span> 50 +
51 <span class="iconfont icon-del">&#xe621;</span> 51 <span class="iconfont icon-del">&#xe621;</span>
52 </p> 52 </p>
53 <p class="row"> 53 <p class="row">
@@ -4,14 +4,17 @@ @@ -4,14 +4,17 @@
4 <a href="{{#if backUrl}}{{backUrl}}{{^}}javascript:history.go(-1);{{/if}}" class="iconfont nav-back">&#xe610;</a> 4 <a href="{{#if backUrl}}{{backUrl}}{{^}}javascript:history.go(-1);{{/if}}" class="iconfont nav-back">&#xe610;</a>
5 {{/navBack}} 5 {{/navBack}}
6 {{#navHome}} 6 {{#navHome}}
7 - <a class="iconfont nav-home">&#xe611;</a> 7 + <a href="{{.}}" class="iconfont nav-home">&#xe611;</a>
8 {{/navHome}} 8 {{/navHome}}
  9 + {{#navPhone}}
  10 + <a href="{{.}}" class="iconfont nav-home">&#xe63e;</a>
  11 + {{/navPhone}}
9 {{#navTitle}} 12 {{#navTitle}}
10 <p class="nav-title">{{.}}</p> 13 <p class="nav-title">{{.}}</p>
11 {{/navTitle}} 14 {{/navTitle}}
12 {{# navBtn}} 15 {{# navBtn}}
13 <!-- <span class="nav-btn">{{.}}</span> --> 16 <!-- <span class="nav-btn">{{.}}</span> -->
14 - <i class="iconfont nav-home">&#xe638;</i> 17 + <!-- <i class="iconfont nav-home">&#xe638;</i> -->
15 {{/ navBtn}} 18 {{/ navBtn}}
16 </header> 19 </header>
17 <div class="homebuttom none"> 20 <div class="homebuttom none">
@@ -41,11 +41,12 @@ class HomeController extends AbstractAction @@ -41,11 +41,12 @@ class HomeController extends AbstractAction
41 { 41 {
42 // 设置网站标题 42 // 设置网站标题
43 $this->setTitle('个人中心'); 43 $this->setTitle('个人中心');
44 - $this->setNavHeader('个人中心', SITE_MAIN . '/?go=1', '', true); 44 + $this->setNavHeader('个人中心', SITE_MAIN . '/?go=1');
45 45
46 $data = array( 46 $data = array(
47 'myIndexPage' => true, 47 'myIndexPage' => true,
48 'showDownloadApp' => true, 48 'showDownloadApp' => true,
  49 + 'navHome' => true,
49 'pageFooter' => true, 50 'pageFooter' => true,
50 'cartUrl' => Helpers::url('/cart/index/index', null), 51 'cartUrl' => Helpers::url('/cart/index/index', null),
51 'signinUrl' => Helpers::url('/signin.html', array('refer' => Helpers::url('/home'))), 52 'signinUrl' => Helpers::url('/signin.html', array('refer' => Helpers::url('/home'))),
@@ -848,10 +849,11 @@ class HomeController extends AbstractAction @@ -848,10 +849,11 @@ class HomeController extends AbstractAction
848 } 849 }
849 850
850 $this->setTitle('订单详情'); 851 $this->setTitle('订单详情');
851 - $this->setNavHeader('订单详情'); 852 + $this->setNavHeader('订单详情', true, false);
852 853
853 $this->_view->display('order-detail', array( 854 $this->_view->display('order-detail', array(
854 'orderDetailPage' => true, 855 'orderDetailPage' => true,
  856 + 'navPhone' => 'tel:400-889-9646',
855 'orderDetail' => $orderDetail, 857 'orderDetail' => $orderDetail,
856 )); 858 ));
857 } 859 }
@@ -189,50 +189,7 @@ class CartModel @@ -189,50 +189,7 @@ class CartModel
189 $product = CartData::cartProductData($uid, $skn); 189 $product = CartData::cartProductData($uid, $skn);
190 if (isset($product['code']) && $product['code'] === 200) { 190 if (isset($product['code']) && $product['code'] === 200) {
191 $result['code'] = 200; 191 $result['code'] = 200;
192 - $data = array();  
193 - $productData = $product['data'];  
194 -  
195 - // 品牌信息  
196 - if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {  
197 - $data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);  
198 - }  
199 -  
200 - $data['name'] = $productData['product_name'];  
201 - $data['price'] = $productData['market_price'];  
202 - $data['salePrice'] = $productData['sales_price'];  
203 - $data['storage'] = $productData['storage_sum'];  
204 - $data['num'] = $num;  
205 -  
206 - // 商品选择  
207 - if (isset($productData['goods_list'])) {  
208 - $goodsList = $productData['goods_list'];  
209 -  
210 - $colors = array();  
211 - $oneColor = array();  
212 - $sizes = array();  
213 - $oneSize = array();  
214 - foreach ($goodsList as $val) {  
215 - // 颜色  
216 - $oneColor = array();  
217 - $oneColor['id'] = $val['color_id'];  
218 - $oneColor['name'] = $val['color_name'];  
219 -  
220 - // 尺码  
221 - foreach ($val['size_list'] as $one) {  
222 - $oneSize = array();  
223 - $oneSize['id'] = $one['size_id'];  
224 - $oneSize['name'] = $one['size_name'];  
225 - }  
226 - $sizes[] = $oneSize;  
227 -  
228 - $oneColor['sizes'] = $sizes;  
229 - $colors[] = $oneColor;  
230 - }  
231 -  
232 - $data['colors'] = $colors;  
233 - }  
234 -  
235 - $result['data'] = $data; 192 + $result['data'] = self::procGoodsDetail($product['data'], $num);
236 } 193 }
237 194
238 return $result; 195 return $result;
@@ -252,49 +209,7 @@ class CartModel @@ -252,49 +209,7 @@ class CartModel
252 $product = CartData::giftProductData($skn, $promotionId); 209 $product = CartData::giftProductData($skn, $promotionId);
253 if (isset($product['code']) && $product['code'] === 200) { 210 if (isset($product['code']) && $product['code'] === 200) {
254 $result['code'] = 200; 211 $result['code'] = 200;
255 - $data = array();  
256 - $productData = $product['data'];  
257 -  
258 - // 品牌信息  
259 - if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {  
260 - $data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);  
261 - }  
262 -  
263 - $data['name'] = $productData['product_name'];  
264 - $data['price'] = $productData['market_price'];  
265 - $data['salePrice'] = $productData['sales_price'];  
266 - $data['storage'] = $productData['storage_sum'];  
267 -  
268 - // 商品选择  
269 - if (isset($productData['goods_list'])) {  
270 - $goodsList = $productData['goods_list'];  
271 -  
272 - $colors = array();  
273 - $oneColor = array();  
274 - $sizes = array();  
275 - $oneSize = array();  
276 - foreach ($goodsList as $val) {  
277 - // 颜色  
278 - $oneColor = array();  
279 - $oneColor['id'] = $val['color_id'];  
280 - $oneColor['name'] = $val['color_name'];  
281 -  
282 - // 尺码  
283 - foreach ($val['size_list'] as $one) {  
284 - $oneSize = array();  
285 - $oneSize['id'] = $one['size_id'];  
286 - $oneSize['name'] = $one['size_name'];  
287 - }  
288 - $sizes[] = $oneSize;  
289 -  
290 - $oneColor['sizes'] = $sizes;  
291 - $colors[] = $oneColor;  
292 - }  
293 -  
294 - $data['colors'] = $colors;  
295 - }  
296 -  
297 - $result['data'] = $data; 212 + $result['data'] = self::procGoodsDetail($product['data']);
298 } 213 }
299 214
300 return $result; 215 return $result;
@@ -657,6 +572,65 @@ class CartModel @@ -657,6 +572,65 @@ class CartModel
657 572
658 573
659 /** 574 /**
  575 + * 处理购物车商品、加价购商品、赠品详情数据
  576 + *
  577 + * @param array $productData 要处理的商品数据
  578 + * @param int $num 购买数目
  579 + * @return array $data 处理之后的数据
  580 + */
  581 + private static function procGoodsDetail($productData, $num = null)
  582 + {
  583 + $data = array();
  584 +
  585 + // 品牌信息
  586 + if (isset($productData['brand_info']) && !empty($productData['brand_info'])) {
  587 + $data['thumb'] = Helpers::getImageUrl($productData['brand_info']['brand_ico'], 120, 120);
  588 + }
  589 +
  590 + $data['name'] = $productData['product_name'];
  591 + $data['price'] = $productData['market_price'];
  592 + $data['salePrice'] = $productData['sales_price'];
  593 +
  594 + if (isset($productData['storage_sum'])) {
  595 + $data['storage'] = $productData['storage_sum'];
  596 + }
  597 + if ($num !== null) {
  598 + $data['num'] = $num;
  599 + }
  600 +
  601 + // 商品选择
  602 + if (isset($productData['goods_list'])) {
  603 + $goodsList = $productData['goods_list'];
  604 +
  605 + $colors = array();
  606 + $oneColor = array();
  607 + $sizes = array();
  608 + $oneSize = array();
  609 + foreach ($goodsList as $val) {
  610 + // 颜色
  611 + $oneColor = array();
  612 + $oneColor['id'] = $val['color_id'];
  613 + $oneColor['name'] = $val['color_name'];
  614 +
  615 + // 尺码
  616 + foreach ($val['size_list'] as $one) {
  617 + $oneSize = array();
  618 + $oneSize['id'] = $one['size_id'];
  619 + $oneSize['name'] = $one['size_name'];
  620 + }
  621 + $sizes[] = $oneSize;
  622 +
  623 + $oneColor['sizes'] = $sizes;
  624 + $colors[] = $oneColor;
  625 + }
  626 +
  627 + $data['colors'] = $colors;
  628 + }
  629 +
  630 + return $data;
  631 + }
  632 +
  633 + /**
660 * 处理不同类型的购物车数据 634 * 处理不同类型的购物车数据
661 * 635 *
662 * @param array $data 不同类型购物车数据 636 * @param array $data 不同类型购物车数据
@@ -385,7 +385,11 @@ class UserModel @@ -385,7 +385,11 @@ class UserModel
385 // 处理YOHO币数据 385 // 处理YOHO币数据
386 if(isset($yohoCoin['data']) && !empty($yohoCoin['data'])){ 386 if(isset($yohoCoin['data']) && !empty($yohoCoin['data'])){
387 $coinList = $yohoCoin['data']['coinlist']; 387 $coinList = $yohoCoin['data']['coinlist'];
388 - $data['money'] = $yohoCoin['data']['total']; 388 +
  389 + // 获取有货币总数
  390 + $total = self::getYohoCoinData($uid);
  391 + $data['money'] = !empty($total) ? $total['yohoCoin']['coinNum'] : 0;
  392 +
389 foreach($coinList as $key => $val){ 393 foreach($coinList as $key => $val){
390 $result[$key]['title'] = $val['message']; 394 $result[$key]['title'] = $val['message'];
391 $result[$key]['time'] = $val['date']; 395 $result[$key]['time'] = $val['date'];
@@ -167,7 +167,6 @@ class DetailModel @@ -167,7 +167,6 @@ class DetailModel
167 $colorStorageNum = 0; 167 $colorStorageNum = 0;
168 $totalStorageNum = 0; // 总库存数 168 $totalStorageNum = 0; // 总库存数
169 foreach ($baseInfo['goodsList'] as $value) { 169 foreach ($baseInfo['goodsList'] as $value) {
170 - $sizeList = array();  
171 $colorStorageNum = 0; 170 $colorStorageNum = 0;
172 $sizeStorageStr = ''; 171 $sizeStorageStr = '';
173 172
@@ -191,6 +191,16 @@ class IndexController extends AbstractAction @@ -191,6 +191,16 @@ class IndexController extends AbstractAction
191 } 191 }
192 192
193 /* 193 /*
  194 + * 获取购物车加价购商品数据模板
  195 + */
  196 + public function giftinfoTplAction()
  197 + {
  198 + if ($this->isAjax()) {
  199 + echo file_get_contents($this->_view->getScriptPath() . '/../partials/cart/chose-panel.phtml');
  200 + }
  201 + }
  202 +
  203 + /*
194 * 获取购物车加价购商品数据 204 * 获取购物车加价购商品数据
195 */ 205 */
196 public function giftinfoAction() 206 public function giftinfoAction()
@@ -276,7 +286,7 @@ class IndexController extends AbstractAction @@ -276,7 +286,7 @@ class IndexController extends AbstractAction
276 $uid = $this->getUid(true); 286 $uid = $this->getUid(true);
277 $cartGoods = CartModel::getCartData($uid, $shoppingKey); 287 $cartGoods = CartModel::getCartData($uid, $shoppingKey);
278 if (empty($cartGoods) || isset($cartGoods['isEmptyCart'])) { 288 if (empty($cartGoods) || isset($cartGoods['isEmptyCart'])) {
279 - $this->go(Helpers::url('/shoppingcart')); 289 + $this->go(Helpers::url('/cart/index/index'));
280 } 290 }
281 291
282 $cartType = $this->get('cartType', 'ordinary'); 292 $cartType = $this->get('cartType', 'ordinary');
@@ -113,7 +113,7 @@ class LoginController extends AbstractAction @@ -113,7 +113,7 @@ class LoginController extends AbstractAction
113 113
114 /* 判断参数是否有效 */ 114 /* 判断参数是否有效 */
115 $verifyEmail = Helpers::verifyEmail($profile); 115 $verifyEmail = Helpers::verifyEmail($profile);
116 - $verifyMobile = ($area === '86') ? Helpers::verifyMobile($profile) : Helpers::verifyAreaMobile($profile); 116 + $verifyMobile = ($area === '86') ? Helpers::verifyMobile($profile) : Helpers::verifyAreaMobile($profile, $area);
117 if (!$verifyEmail && !$verifyMobile) { 117 if (!$verifyEmail && !$verifyMobile) {
118 break; 118 break;
119 } 119 }