diff --git a/service/Application/Home/Controller/SearchController.class.php b/service/Application/Home/Controller/SearchController.class.php index be1b349e8..72d71722b 100755 --- a/service/Application/Home/Controller/SearchController.class.php +++ b/service/Application/Home/Controller/SearchController.class.php @@ -84,6 +84,11 @@ class SearchController extends CommonController */ public function GoodsList() { + // 参数处理 + $this->params['order_by_field'] = trim(I('order_by_field', 'default')); + $this->params['order_by_type'] = trim(I('order_by_type', 'desc')); + + // 获取商品列表 $data = SearchService::GoodsList($this->params); if(empty($data['data'])) { diff --git a/service/Application/Home/View/Default/Search/Index.html b/service/Application/Home/View/Default/Search/Index.html index c99c0e057..15bc5effe 100755 --- a/service/Application/Home/View/Default/Search/Index.html +++ b/service/Application/Home/View/Default/Search/Index.html @@ -88,28 +88,39 @@
+ +
+ + 加载中... +
+ - + diff --git a/service/Application/Service/SearchService.class.php b/service/Application/Service/SearchService.class.php index fa345085c..8316cf892 100644 --- a/service/Application/Service/SearchService.class.php +++ b/service/Application/Service/SearchService.class.php @@ -108,10 +108,20 @@ class SearchService // 获取商品列表 if($result['total'] > 0) { + // 排序 + $order_by = ''; + if(!empty($params['order_by_field']) && !empty($params['order_by_type']) && $params['order_by_field'] != 'default') + { + $order_by = $params['order_by_field'].' '.$params['order_by_type']; + } else { + $order_by = 'access_count '.$params['order_by_type'].', sales_count '.$params['order_by_type']; + } + + // 分页计算 $page = intval(I('page', 1)); $n = 10; $m = intval(($page-1)*$n); - $result['data'] = GoodsService::GoodsList(['where'=>$where, 'm'=>$m, 'n'=>$n]); + $result['data'] = GoodsService::GoodsList(['where'=>$where, 'm'=>$m, 'n'=>$n, 'order_by'=>$order_by]); $result['page_total'] = ceil($result['total']/$n); } return $result; diff --git a/service/Public/Home/Default/Css/Common.css b/service/Public/Home/Default/Css/Common.css index 5906f1b3d..4d7783e17 100755 --- a/service/Public/Home/Default/Css/Common.css +++ b/service/Public/Home/Default/Css/Common.css @@ -65,7 +65,7 @@ a:hover, a:focus { color: #d2364c; } img, input { vertical-align: middle;} a { - color: #000; + color: #333; text-decoration: none; } @@ -457,6 +457,9 @@ background:url(../Images/ibar_sprites.png) no-repeat;background-position:0px -23 /* 公共错误提示页面 */ .tips-error { margin-top: 10%; } +/* 页面加载数据 */ +.loding-view { text-align: center; color: #888; padding: 10px 0; } + /** * 底部 */ diff --git a/service/Public/Home/Default/Css/Search.css b/service/Public/Home/Default/Css/Search.css index f641c6975..256e8ff4a 100755 --- a/service/Public/Home/Default/Css/Search.css +++ b/service/Public/Home/Default/Css/Search.css @@ -1,6 +1,5 @@ @charset "utf-8"; /* CSS Document */ -/*通用格式*/ *, *:after, *:before{ -webkit-box-sizing: border-box; -moz-box-sizing: border-box; @@ -48,10 +47,9 @@ li.select-result dt {left:-26px; top:0;font-weight:bold;width:50px;} /*排序*/ -.sort-nav { width:100%; border-bottom: 1px solid #eee; background: #fff; overflow: hidden; height: 30px; } -.sort-nav li{ float:left;width:33.33%;height:30px; line-height:30px; text-align:center; padding:0px 0px;} +.sort-nav { width:100%; background: #fff; overflow: hidden; height: 30px; } +.sort-nav li{ float:left;width:33.33%;height:30px; line-height:30px; text-align:center; padding:0px 0px;cursor: pointer;} .sort-nav li a{font-size:14px;} -.sort-nav li.big{display:none;} .sort-nav li.first {color: #F03726;} @@ -88,7 +86,7 @@ dl#select3 .dd-conent{ left:-200%; right:0px;} .select li.select-result{display: none;} .suggest,.searchAbout,ul.pagination{ display:block;} - .select,.sort-nav{padding:10px 10px 5px 10px;box-shadow: 0px 0px 2px #ccc;margin-top:5px;background: #fff;} + .select,.sort-nav{padding:10px 10px 5px 10px;border: 1px solid #eee;margin-top:5px;background: #fff;} .searchAbout{padding:10px;} .select-list{width:100%;padding:0px 0px;} @@ -103,10 +101,10 @@ dl#select3 .dd-conent{ left:-200%; right:0px;} /*排序*/ - .sort-nav{padding:0px 0px;border-radius: 0px 0px 4px 4px; margin:10px 5px; font-size: 12px;width:auto;overflow: hidden;} - .sort-nav li{ display:inline; height:35px; line-height:35px; padding:0px 20px;width:auto;border-right:1px dotted #ddd;} - .sort-nav li.big{display:block;border: none;} - .sort-nav li.first{background: #F5F5F5;color: #000;} + .sort-nav{padding:0px 0px;margin:10px 5px; font-size: 12px;width:auto;overflow: hidden;} + .sort-nav li{ display:inline; padding:0px 20px;width:auto;border-right:1px solid #eee;} + .sort-nav li.active{background: #F5F5F5;} + .sort-nav li.active a { color: #d2364c;} .select-list .dd-conent { padding-top: 10px; } diff --git a/service/Public/Home/Default/Js/Search.js b/service/Public/Home/Default/Js/Search.js index e3dcbb065..566371b92 100755 --- a/service/Public/Home/Default/Js/Search.js +++ b/service/Public/Home/Default/Js/Search.js @@ -45,6 +45,31 @@ $(function() get_goods_list(1); }); + // 排序导航 + $('.sort-nav li').on('click', function() + { + var type = $(this).attr('data-type'); + $('.sort-nav li').attr('data-type', 'desc'); + $('.sort-nav li a i').removeClass('am-icon-long-arrow-up').addClass('am-icon-long-arrow-down'); + + if($(this).hasClass('active')) + { + if(type == 'asc') + { + $(this).attr('data-type', 'desc'); + $(this).find('a i').removeClass('am-icon-long-arrow-down').addClass('am-icon-long-arrow-up'); + } else { + $(this).attr('data-type', 'asc'); + $(this).find('a i').removeClass('am-icon-long-arrow-up').addClass('am-icon-long-arrow-down'); + } + } else { + $('.sort-nav li').removeClass('active'); + $(this).addClass('active'); + $(this).attr('data-type', 'asc'); + } + get_goods_list(1); + }); + var hh = document.documentElement.clientHeight; var ls = document.documentElement.clientWidth; @@ -66,7 +91,6 @@ $(function() } }) - $(document).on("click", ".screening-remove-submit", function() { $(".dd-conent").slideUp(300); }) @@ -122,6 +146,8 @@ $(function() var data = { keywords: $('#search-input').val() || '', page: page || parseInt($('.search-pages-submit').attr('data-page')) || 1, + order_by_field: $('.sort-nav li.active').attr('data-field') || 'default', + order_by_type: $('.sort-nav li.active').attr('data-type') == 'asc' ? 'desc' : 'asc', } $('.select-result .selected a').each(function(k, v) { @@ -134,6 +160,11 @@ $(function() $('.data-list').html(''); } + // 页面提示处理 + $('.loding-view').show(); + $('.search-pages-submit').hide(); + $('.table-no').hide(); + // 请求数据 $.ajax({ url:$('.search-pages-submit').data('url'), @@ -143,6 +174,7 @@ $(function() data:data, success:function(result) { + $('.loding-view').hide(); if(result.code == 0) { for(var i in result.data.data) @@ -182,6 +214,9 @@ $(function() }, error:function(xhr, type) { + $('.loding-view').hide(); + $('.search-pages-submit').hide(); + $('.table-no').show(); Prompt('网络异常出错'); } });