feat/task1-c-wallet
devil_gong 2018-09-10 12:18:27 +08:00
parent 6b4c67eaf6
commit 47e1c58eb6
6 changed files with 84 additions and 22 deletions

View File

@ -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']))
{

View File

@ -88,28 +88,39 @@
</div>
<div class="search-content">
<ul class="sort-nav" data-am-sticky="{animation: 'slide-top'}">
<li class="first">
<a title="综合">综合排序</a>
<li class="active" data-field="default" data-type="desc">
<a href="javascript:;" title="综合">
<span>综合</span>
</a>
</li>
<li>
<a title="销量">销量排序</a>
<i class="am-icon-sort-amount-asc"></i>
<li data-field="sales_count" data-type="desc">
<a href="javascript:;" title="销量">
<span>销量</span>
<i class="am-icon-long-arrow-down"></i>
</a>
</li>
<li>
<a title="价格">价格优先</a>
<i class="am-icon-sort-amount-asc"></i>
<li data-field="price" data-type="desc">
<a href="javascript:;" title="价格">
<span>价格</span>
<i class="am-icon-long-arrow-down"></i>
</a>
</li>
<li class="big"><a title="评价" href="#">评价为主</a></li>
</ul>
<div class="clear"></div>
<ul class="am-avg-sm-2 am-avg-md-3 am-avg-lg-5 data-list"></ul>
</div>
<!-- 加载数据 -->
<div class="loding-view">
<i class="am-icon-spinner am-icon-pulse"></i>
<span>加载中...</span>
</div>
<!-- 没有数据 -->
<div class="table-no" style="display:none;"><i class="am-icon-warning"></i> {{:L('common_not_data_tips')}}</div>
<!-- 分页 -->
<button type="button" class="am-btn am-btn-default am-btn-block search-pages-submit" data-url="{{:U('Home/Search/GoodsList')}}">加载更多 <i class="am-icon-angle-double-down"></i></button>
<button type="button" class="am-btn am-btn-default am-btn-block search-pages-submit" data-url="{{:U('Home/Search/GoodsList')}}" style="display:none;">加载更多 <i class="am-icon-angle-double-down"></i></button>
</div>
</div>
</div>

View File

@ -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;

View File

@ -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; }
/**
*
*/

View File

@ -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; }

View File

@ -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('网络异常出错');
}
});