From e9b1a76caba4e5e63fa4c57741f171b80b4640de Mon Sep 17 00:00:00 2001 From: devil_gong Date: Thu, 11 Oct 2018 18:29:03 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/Controller/BuyController.class.php | 7 +- .../Controller/CommonController.class.php | 3 +- .../Home/View/Default/Buy/Index.html | 2 +- .../Home/View/Default/Public/Nav.html | 3 + service/Public/Home/Default/Css/Common.css | 5 +- service/Public/Home/Default/Js/Cart.js | 122 +++++++++++------- 6 files changed, 84 insertions(+), 58 deletions(-) diff --git a/service/Application/Home/Controller/BuyController.class.php b/service/Application/Home/Controller/BuyController.class.php index 4040c7363..54f6c275a 100755 --- a/service/Application/Home/Controller/BuyController.class.php +++ b/service/Application/Home/Controller/BuyController.class.php @@ -43,8 +43,10 @@ class BuyController extends CommonController { if(IS_POST) { + redirect(U('Home/Buy/Index', $_POST)); + } else { // 获取商品列表 - $params = $_POST; + $params = $_GET; $params['user'] = $this->user; $ret = BuyService::BuyTypeGoodsList($params); @@ -75,9 +77,6 @@ class BuyController extends CommonController $this->assign('msg', isset($ret['msg']) ? $ret['msg'] : L('common_param_error')); $this->display('/Public/TipsError'); } - } else { - $this->assign('msg', L('common_unauthorized_access')); - $this->display('/Public/TipsError'); } } diff --git a/service/Application/Home/Controller/CommonController.class.php b/service/Application/Home/Controller/CommonController.class.php index 25e8217ee..177026e4e 100755 --- a/service/Application/Home/Controller/CommonController.class.php +++ b/service/Application/Home/Controller/CommonController.class.php @@ -161,7 +161,8 @@ class CommonController extends Controller $this->assign('goods_category_list', GoodsService::GoodsCategory()); // 购物车商品总数 - $this->assign('common_cart_total', BuyService::CartTotal(['user'=>$this->user])); + $common_cart_total = BuyService::CartTotal(['user'=>$this->user]); + $this->assign('common_cart_total', ($common_cart_total > 99) ? '99+' : $common_cart_total); // 当前控制器名称 $this->assign('controller_name', CONTROLLER_NAME); diff --git a/service/Application/Home/View/Default/Buy/Index.html b/service/Application/Home/View/Default/Buy/Index.html index 8289957a3..f8e2b1e09 100755 --- a/service/Application/Home/View/Default/Buy/Index.html +++ b/service/Application/Home/View/Default/Buy/Index.html @@ -21,7 +21,7 @@

确认收货地址

- +
diff --git a/service/Application/Home/View/Default/Public/Nav.html b/service/Application/Home/View/Default/Public/Nav.html index 88075a85f..65f321319 100755 --- a/service/Application/Home/View/Default/Public/Nav.html +++ b/service/Application/Home/View/Default/Public/Nav.html @@ -7,6 +7,9 @@
  • class="active"> href="javascript:;" class="login-event" href="{{:U('Home/Cart/Index')}}">购物车 + + {{$common_cart_total}} +
  • class="active"> href="javascript:;" class="login-event" href="{{:U('Home/User/Index')}}">我的 diff --git a/service/Public/Home/Default/Css/Common.css b/service/Public/Home/Default/Css/Common.css index 752fbd29d..11df8dcac 100755 --- a/service/Public/Home/Default/Css/Common.css +++ b/service/Public/Home/Default/Css/Common.css @@ -108,10 +108,11 @@ color: #F5F5F2;font-size: 14px;cursor:pointer;border-radius:0px 0px ;} .mobile-navigation{position: fixed;bottom:0px ;width: 100%;z-index: 999;background:#fff ;} -.mobile-navigation li{width: 25%;padding:2px ;background:#fff ;border-top:1px solid #f5f5f5 ;float: left;text-align: center;font-size: 12px;} +.mobile-navigation li{width: 25%;padding:2px ;background:#fff ;border-top:1px solid #f5f5f5 ;float: left;text-align: center;font-size: 12px; position: relative; } .mobile-navigation li a { text-decoration: none; } -.mobile-navigation li i{display: block;font-size: 16px;} +.mobile-navigation li i{display: block;font-size: 16px; z-index: 1; } .mobile-navigation li.active a{color:#d2364c ;} +.hot-icon { position: absolute; top: 1%; left: 53%; z-index: 2; border: 1px solid #fff; } @media only screen and (max-width: 640px) { diff --git a/service/Public/Home/Default/Js/Cart.js b/service/Public/Home/Default/Js/Cart.js index 386cf668f..bdcbf4b3c 100755 --- a/service/Public/Home/Default/Js/Cart.js +++ b/service/Public/Home/Default/Js/Cart.js @@ -22,63 +22,85 @@ $(function() $('.cart-nav input[name="ids"]').val(ids.toString() || 0); } + /** + * 购物车数量更新 + * @author Devil + * @blog http://gong.gg/ + * @version 1.0.0 + * @date 2018-10-11 + * @desc description + * @param {[object]} self [氮气罐对象] + * @param {[int]} stock [数量] + */ + function CardNumberUpdate(self, stock) + { + var id = parseInt(self.parents('tr').data('id')); + var goods_id = parseInt(self.parents('tr').data('goods-id')); + var inventory = parseInt(self.parents('.stock-tag').data('inventory')); + var price = parseFloat(self.parents('.stock-tag').data('price')); + var type = self.data('type'); + + if(stock > inventory) + { + stock = inventory; + } + if(stock <= 0) + { + stock = 1; + } + self.parents('.stock-tag').find('input').val(stock); + var temp_price = FomatFloat(stock*price, 2); + self.parents('tr').find('.total-price-content').text('¥'+temp_price); + + // 开启进度条 + $.AMUI.progress.start(); + + // ajax请求 + $.ajax({ + url: self.parents('.stock-tag').data('ajax-url'), + type: 'post', + dataType: "json", + timeout: 10000, + data: {"id": id, "goods_id": goods_id, "stock": stock}, + success: function(result) + { + $.AMUI.progress.done(); + if(result.code == 0) + { + PromptCenter(result.msg, 'success'); + + // 计算选择的商品总数和总价 + cart_base_total(); + } else { + PromptCenter(result.msg); + } + }, + error: function(xhr, type) + { + $.AMUI.progress.done(); + PromptCenter('网络异常错误'); + } + }); + } + // 购物车数量操作 $('.stock-tag .stock-submit').on('click', function() { - var id = parseInt($(this).parents('tr').data('id')); - var goods_id = parseInt($(this).parents('tr').data('goods-id')); - var inventory = parseInt($(this).parent().data('inventory')); - var price = parseFloat($(this).parent().data('price')); - var stock = parseInt($(this).parent().find('input').val()); + var stock = parseInt($(this).parents('.stock-tag').find('input').val()); var type = $(this).data('type'); - var temp_stock = (type == 'add') ? stock+1 : stock-1; - if(temp_stock > inventory) + CardNumberUpdate($(this), temp_stock); + }); + + $('.stock-tag input[type="number"]').on('blur', function() + { + var stock = $(this).val() || null; + if(stock == null) { - temp_stock = inventory; - } - if(temp_stock <= 0) - { - temp_stock = 1; - } - $(this).parent().find('input').val(temp_stock); - - var temp_price = FomatFloat(temp_stock*price, 2); - $(this).parents('tr').find('.total-price-content').text('¥'+temp_price); - - // 数量不一样则更新 - if(stock != temp_stock) - { - // 开启进度条 - $.AMUI.progress.start(); - - // ajax请求 - $.ajax({ - url: $(this).parent().data('ajax-url'), - type: 'post', - dataType: "json", - timeout: 10000, - data: {"id": id, "goods_id": goods_id, "stock": temp_stock}, - success: function(result) - { - $.AMUI.progress.done(); - if(result.code == 0) - { - PromptCenter(result.msg, 'success'); - - // 计算选择的商品总数和总价 - cart_base_total(); - } else { - PromptCenter(result.msg); - } - }, - error: function(xhr, type) - { - $.AMUI.progress.done(); - PromptCenter('网络异常错误'); - } - }); + stock = 1; } + $(this).val(stock); + CardNumberUpdate($(this), stock); }); // 全选/反选