实训首页的热度排序与时间排序
This commit is contained in:
parent
94b7a89e7b
commit
fe9ebbb6d6
|
|
@ -21,7 +21,7 @@ class ShixunsController < ApplicationController
|
|||
end
|
||||
|
||||
def index
|
||||
@shixuns = Shixun.where(:status => 2)
|
||||
@shixuns = Shixun.where(:authentication => 1).order('updated_at desc')
|
||||
@shixun_my_score = Game.sum(:final_score)
|
||||
@current_user_had_passed = Myshixun.where(:status => 1).count
|
||||
@shixuns_count = @shixuns.count
|
||||
|
|
@ -30,7 +30,16 @@ class ShixunsController < ApplicationController
|
|||
|
||||
def shixun_search
|
||||
# 确定 sort 1升序 2 降序
|
||||
@order, @sort, @type = params[:order] || 1, params[:sort] || 1, params[:type] || 1
|
||||
if params[:time_reorder]
|
||||
order = "#{Shixun.table_name}.updated_at #{params[:time_reorder]}"
|
||||
elsif params[:hot_reorder]
|
||||
order = "shixun_count #{params[:hot_reorder]}, #{Shixun.table_name}.updated_at #{params[:hot_reorder]}"
|
||||
else
|
||||
order = "#{Shixun.table_name}.updated_at desc"
|
||||
end
|
||||
|
||||
# @order, @sort, @type = params[:order] || 1, params[:sort] || 1, params[:type] || 1
|
||||
=begin
|
||||
if @order.to_i == @type.to_i
|
||||
@sort = (@sort.to_i == 1 ? 2 : 1)
|
||||
else
|
||||
|
|
@ -38,9 +47,15 @@ class ShixunsController < ApplicationController
|
|||
end
|
||||
sort_name = "updated_on"
|
||||
sort_type = @sort == 1 ? "asc" : "desc"
|
||||
@shixuns = Shixun.where(:status => 2).reorder()
|
||||
=end
|
||||
@shixuns = Shixun.where(:authentication => 1).reorder(order)
|
||||
=begin
|
||||
order = params[:sort]
|
||||
@shixuns = Shixun.where(:status => 2).order("#{order.nil? ? 'created_at' : order} desc")
|
||||
=end
|
||||
respond_to do |format|
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
# jenkins回调脚本
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# status 控制实训的状态,0:未开启;1: 已开启(TPM); 2:已认证
|
||||
class Shixun < ActiveRecord::Base
|
||||
attr_accessible :description, :is_public, :name, :changeset_num, :status, :user_id, :gpid, :language, :identifier
|
||||
attr_accessible :description, :is_public, :name, :changeset_num, :status, :user_id, :gpid, :language, :identifier, :authentication, :hixun_count
|
||||
|
||||
has_many :users, :through => :shixun_members
|
||||
has_many :shixun_members
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="task-index " >
|
||||
<div class="task-index" >
|
||||
<div class="task-index-head mt20 mb20">
|
||||
<div class="task-index-head-top">
|
||||
<h2 class="fl task-inde-head-title">游戏实训</h2>
|
||||
|
|
@ -27,16 +27,7 @@
|
|||
<!--<!–<li class="animate">审 核 中</li>–>-->
|
||||
<!--<!–</ul>–>-->
|
||||
<!--<!–</dropdown>–>-->
|
||||
|
||||
</li>
|
||||
<li class="dropdown fl ml15 mr5">
|
||||
<select class="fl header-search-select">
|
||||
<option>所有进展</option>
|
||||
<option>我已创建</option>
|
||||
<option>我未开启挑战</option>
|
||||
<option>我还未通关</option>
|
||||
<option>我已通关</option>
|
||||
</select>
|
||||
<%#= %>
|
||||
<!--<dropdown class="fl">
|
||||
<input id="toggle4" type="checkbox">
|
||||
<label for="toggle4" class="animate">所有进展<i class="fa fa-sort-down fr mt3"></i></label>
|
||||
|
|
@ -44,47 +35,31 @@
|
|||
<li class="animate">所有进展</li>
|
||||
<li class="animate">我已创建</li>
|
||||
<li class="animate">未开启挑战</li>
|
||||
<li class="animate">我还未通关</li>
|
||||
<!-- <li class="animate">我还未通关</li>
|
||||
<li class="animate">我已通关</li>
|
||||
</ul>
|
||||
</dropdown>-->
|
||||
</li>
|
||||
<form onsubmit="submitFn(this, event);" class="fl ml15">
|
||||
<div class="search-wrapper">
|
||||
<div class="input-holder">
|
||||
<input type="text" class="search-input" placeholder="搜索" />
|
||||
<button class="search-icon" onclick="searchToggle(this, event);"><i class="fa fa-search font-16 mt5"></i></button>
|
||||
</div>
|
||||
<span class="close" onclick="searchToggle(this, event);"><i class="fa fa-times font-16 mt5"></i></span>
|
||||
</dropdown>–>
|
||||
</li>-->
|
||||
<!-- <form onsubmit="submitFn(this, event);" class="fl ml15">
|
||||
<div class="search-wrapper">
|
||||
<div class="input-holder">
|
||||
<input type="text" class="search-input" placeholder="搜索" />
|
||||
<button class="search-icon" onclick="searchToggle(this, event);"><i class="fa fa-search font-16 mt5"></i></button>
|
||||
</div>
|
||||
<span class="close" onclick="searchToggle(this, event);"><i class="fa fa-times font-16 mt5"></i></span>
|
||||
</div>
|
||||
</form>-->
|
||||
<p class="color-grey fr">
|
||||
<div class="postSort fr" id="shixun_hot">
|
||||
<a href="javascript:void(0);" class="linkGrey2 fl">热度排序</a>
|
||||
<a href="javascript:void(0);" id="hot_reorder" class="fl"></a>
|
||||
</div>
|
||||
<div class="postSort fr" id="shixun_time">
|
||||
<a href="javascript:void(0);" class="linkGrey2 fl">时间排序</a>
|
||||
<a href="javascript:void(0);" id="time_reorder" class="sortArrowActiveD fl"></a>
|
||||
</div>
|
||||
</form>
|
||||
<p class=" color-grey fr">
|
||||
<div class="postSort fr" id="shixun_time">
|
||||
<a href="javascript:void(0);" class="linkGrey2 fl">时间排序</a>
|
||||
<a href="javascript:void(0);" id="time_reorder" class="fl"></a>
|
||||
</div>
|
||||
<div class="postSort fr" id="shixun_hot">
|
||||
<a href="javascript:void(0);" class="linkGrey2 fl">热度排序</a>
|
||||
<a href="javascript:void(0);" id="hot_reorder" class="sortArrowActiveD fl"></a>
|
||||
</div>
|
||||
<!--
|
||||
<a href="#" class="link-color-grey fr mr15">热度排序 </a>
|
||||
<span class=" mr5 ml5 fr">|</span>
|
||||
<a href="#" class="link-color-green fr">时间排序</a>-->
|
||||
<span class="fr">排序方式:</span>
|
||||
<span class="fr mr30">共 <span class="color-light-green">102</span> 个搜索结果</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
<p class=" color-grey fr">
|
||||
<a href="#" class="link-color-grey fr mr15">热度排序 </a>
|
||||
<span class=" mr5 ml5 fr">|</span>
|
||||
<%#= link_to "时间排序", shixun_search_shixuns_path(:type => @type, :sort => @b_sort, :order => 1), :class => "sortTxt", :remote => true %>
|
||||
|
||||
<a href="#" class="link-color-green fr">时间排序</a>
|
||||
<span class="fr">排序方式:</span>
|
||||
<!--<span class="fr mr30">共 <span class="color-light-green">102</span> 个搜索结果</span>-->
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
|
@ -92,34 +67,69 @@
|
|||
<%= render "shixun_list" %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function(){
|
||||
var nTime = $("#time_reorder");
|
||||
var nHot = $("#hot_reorder");
|
||||
$("#shixun_time").click(function(){
|
||||
nHot.removeClass("sortArrowActiveD sortArrowActiveU");
|
||||
if(nTime.hasClass("sortArrowActiveD")){
|
||||
nTime.removeClass("sortArrowActiveD");
|
||||
nTime.addClass("sortArrowActiveU");
|
||||
}else if(nTime.hasClass("sortArrowActiveU")){
|
||||
nTime.removeClass("sortArrowActiveU");
|
||||
nTime.addClass("sortArrowActiveD");
|
||||
}else{
|
||||
nTime.addClass("sortArrowActiveD");
|
||||
}
|
||||
});
|
||||
$("#shixun_hot").click(function(){
|
||||
nTime.removeClass("sortArrowActiveD sortArrowActiveU");
|
||||
if(nHot.hasClass("sortArrowActiveD")){
|
||||
nHot.removeClass("sortArrowActiveD");
|
||||
nHot.addClass("sortArrowActiveU");
|
||||
}else if(nHot.hasClass("sortArrowActiveU")){
|
||||
nHot.removeClass("sortArrowActiveU");
|
||||
nHot.addClass("sortArrowActiveD");
|
||||
}else{
|
||||
nHot.addClass("sortArrowActiveD");
|
||||
}
|
||||
});
|
||||
});
|
||||
$(function(){
|
||||
var nTime = $("#time_reorder");
|
||||
var nHot = $("#hot_reorder");
|
||||
$("#shixun_time").click(function(){
|
||||
nHot.removeClass("sortArrowActiveD sortArrowActiveU");
|
||||
if(nTime.hasClass("sortArrowActiveD")){
|
||||
$.ajax({
|
||||
url: '<%= shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { time_reorder: 'asc' },
|
||||
success: function(){
|
||||
nTime.removeClass("sortArrowActiveD");
|
||||
nTime.addClass("sortArrowActiveU");
|
||||
}
|
||||
})
|
||||
}else if(nTime.hasClass("sortArrowActiveU")){
|
||||
$.ajax({
|
||||
url: '<%=shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { time_reorder: 'desc'},
|
||||
success: function(){
|
||||
nTime.removeClass("sortArrowActiveU");
|
||||
nTime.addClass("sortArrowActiveD");
|
||||
}
|
||||
})
|
||||
}else{
|
||||
$.ajax({
|
||||
url: '<%= shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { time_reorder: 'desc'},
|
||||
success: function(){
|
||||
nTime.addClass("sortArrowActiveD");
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
$("#shixun_hot").click(function(){
|
||||
nTime.removeClass("sortArrowActiveD sortArrowActiveU");
|
||||
if(nHot.hasClass("sortArrowActiveD")){
|
||||
$.ajax({
|
||||
url: '<%= shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { hot_reorder: 'asc'},
|
||||
success: function(){
|
||||
nHot.removeClass("sortArrowActiveD");
|
||||
nHot.addClass("sortArrowActiveU");
|
||||
}
|
||||
})
|
||||
}else if(nHot.hasClass("sortArrowActiveU")){
|
||||
$.ajax({
|
||||
url: '<%= shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { hot_reorder: 'desc'},
|
||||
success: function(){
|
||||
nHot.removeClass("sortArrowActiveU");
|
||||
nHot.addClass("sortArrowActiveD");
|
||||
}
|
||||
})
|
||||
}else{
|
||||
$.ajax({
|
||||
url: '<%= shixun_search_shixuns_path() %>' + '.js',
|
||||
data: { hot_reorder: 'desc'},
|
||||
success: function(){
|
||||
nHot.addClass("sortArrowActiveD");
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
@ -1 +1 @@
|
|||
$("#shixun_list_content").replaceWith('<%= escape_javascript( render :partial => 'shixuns/shixun_list') %>');
|
||||
$("#shixun_list_content").html('<%= escape_javascript( render :partial => 'shixuns/shixun_list') %>');
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
class AddShixunCountToShixuns < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :shixuns, :shixun_count, :integer, default: 0
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue