diff --git a/app/controllers/school_controller.rb b/app/controllers/school_controller.rb index 85bd6a784..d20a58b75 100644 --- a/app/controllers/school_controller.rb +++ b/app/controllers/school_controller.rb @@ -125,16 +125,18 @@ class SchoolController < ApplicationController end end if(condition == '') - @school = School.all + @school = School.page((params[:page].to_i || 1) - 1).per(100) + @school_count = School.count else - @school = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").all + @school = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").page((params[:page].to_i || 1) - 1).per(100) + @school_count = School.where("name like '%#{chinese.join("")}%' and pinyin like '%#{pinyin.join("")}%'").count end result = [] # @school.each do |sc| # result << {:value=>sc.name,:data=>sc.id} # end - render :json => @school.to_json + render :json =>{ :schools => @school,:count=>@school_count}.to_json end #添加学校 diff --git a/app/views/my/account.html.erb b/app/views/my/account.html.erb index 4a2fe446d..0531ea9e7 100644 --- a/app/views/my/account.html.erb +++ b/app/views/my/account.html.erb @@ -542,19 +542,41 @@ }); } var lastSearchCondition = ''; + var page = 1; //唯一控制页码 变量 + var count = 0; //查询结果的总量 + var maxPage = 0 ;//最大页面值 $(function() { -// $("input[name='province']").keydown(function(e){ -// if(e.keyCode == 13 && $("#search_school_result_list").css('display') == 'block'){ -// str = $("#search_school_result_list").children().eq(0).attr('onclick').match(/\(.*\)/)[0] -// -// str = str.replace(/\(/,'').replace(/\)/,''); -// arr = str.split(','); -// id = arr[1].replace(/\'/,'') -// name = arr.replace(/\'/,'') -// changeValue(name,id); -// return false; -// } -// }); + $("#search_school_result_list").scroll(function(e){ + nScrollHight = $(this)[0].scrollHeight; + nScrollTop = $(this)[0].scrollTop; + var nDivHight = $(this).height(); + if(nScrollTop + nDivHight >= nScrollHight) //到底部了, + { + //判断页码是否是最大值,如果是的,就不去请求了 + if(page >= maxPage){ + return; + }else{ //如果不是,那就请求下一页,请求数据处理 + page ++; + $.ajax({ + url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + $("input[name='province']").val() + '&page=' + page, + type: 'post', + success: function (data) { + schoolsResult = data.schools; + if (schoolsResult.length != undefined && schoolsResult.length != 0) { + var i = 0; + for (; i < schoolsResult.length; i++) { + link = '' + schoolsResult[i].school.name + '
'; + $("#search_school_result_list").append(link); + } + } else { + + } + } + }); + } + + } + }); //查询学校 $("input[name='province']").on('input', function (e) { throttle(shcool_search_fn,window,e); @@ -568,20 +590,25 @@ } function shcool_search_fn(e){ - $("input[name='occupation']").val(''); //一旦有输入就清空id。 - if($(e.target).val().trim() == lastSearchCondition && $(e.target).val().trim() != ''){ + + if($(e.target).val().trim() == lastSearchCondition && $(e.target).val().trim() != ''){//如果输入框没有改变或者输入框为空就返回 return; } + $("input[name='occupation']").val(''); //一旦有输入就清空id。 lastSearchCondition = $(e.target).val().trim(); + page = 1; //有新的搜索,页面重置为1 $.ajax({ - url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value, + url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value+'&page='+page, type: 'post', success: function (data) { - if(data.length != undefined && data.length != 0) { + schoolsResult = data.schools; + count = data.count; + maxPage = count % 100 + 1; //最大页码值 + if(schoolsResult.length != undefined && schoolsResult.length != 0) { var i = 0; $("#search_school_result_list").html(''); - for (; i < data.length; i++) { - link = '' + data[i].school.name + '
'; + for (; i < schoolsResult.length; i++) { + link = '' + schoolsResult[i].school.name + '
'; $("#search_school_result_list").append(link); } $("#search_school_result_list").css('left', $(e.target).offset().left); @@ -590,7 +617,7 @@ $("#search_school_result_list").show(); if($(e.target).val().trim() != '') { str = e.target.value.length > 8 ? e.target.value.substr(0, 6)+"..." : e.target.value; - $("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校'); + $("#hint").html('找到了' + count + '个包含"' + str + '"的高校'); $("#hint").show(); }else{ $("#hint").hide(); @@ -610,45 +637,46 @@ $("#search_school_result_list").hide(); $("#hint").hide(); } - }) - $("input[name='province']").on('focus', function (e) { - if($(e.target).val() == ''){ // - return; - } - if( $("input[name='occupation']").val() != ''){ //如果已经有id了。肯定存在,不用去找了。 - return; - } - $.ajax({ - url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value, - type: 'post', - success: function (data) { - if(data.length != undefined && data.length != 0) { - var i = 0; - $("#search_school_result_list").html(''); - for (; i < data.length; i++) { - link = '' + data[i].school.name + '
'; - $("#search_school_result_list").append(link); - } - $("#search_school_result_list").css('left', $(e.target).offset().left); - $("#search_school_result_list").css('top', $(e.target).offset().top + 28); - $("#search_school_result_list").css("position", "absolute"); - $("#search_school_result_list").show(); - if ($(e.target).val().trim() != '') { - str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value; - $("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校'); - $("#hint").show(); - } else { - $("#hint").hide(); - } - }else { - $("#search_school_result_list").html(''); - str = e.target.value.length > 4 ? e.target.value.substr(0, 4)+"..." : e.target.value; - $("#hint").html('没有找到包含"'+str+'"的高校,创建高校'); - $("#hint").show(); - } - } - }); }); +// $("input[name='province']").on('focus', function (e) { +// if($(e.target).val() == ''){ // +// return; +// } +// if( $("input[name='occupation']").val() != ''){ //如果已经有id了。肯定存在,不用去找了。 +// return; +// } +// +// $.ajax({ +// url: '<%#= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value, +// type: 'post', +// success: function (data) { +// if(data.length != undefined && data.length != 0) { +// var i = 0; +// $("#search_school_result_list").html(''); +// for (; i < data.length; i++) { +// link = '' + data[i].school.name + '
'; +// $("#search_school_result_list").append(link); +// } +// $("#search_school_result_list").css('left', $(e.target).offset().left); +// $("#search_school_result_list").css('top', $(e.target).offset().top + 28); +// $("#search_school_result_list").css("position", "absolute"); +// $("#search_school_result_list").show(); +// if ($(e.target).val().trim() != '') { +// str = e.target.value.length > 8 ? e.target.value.substr(0, 6) + "..." : e.target.value; +// $("#hint").html('找到了' + data.length + '个包含"' + str + '"的高校'); +// $("#hint").show(); +// } else { +// $("#hint").hide(); +// } +// }else { +// $("#search_school_result_list").html(''); +// str = e.target.value.length > 4 ? e.target.value.substr(0, 4)+"..." : e.target.value; +// $("#hint").html('没有找到包含"'+str+'"的高校,创建高校'); +// $("#hint").show(); +// } +// } +// }); +// }); // $("#province").leanModal({top: 100, closeButton: ".modal_close"}); diff --git a/db/migrate/20151019085603_update_attachments.rb b/db/migrate/20151019085603_update_attachments.rb deleted file mode 100644 index afb63a277..000000000 --- a/db/migrate/20151019085603_update_attachments.rb +++ /dev/null @@ -1,23 +0,0 @@ -class UpdateAttachments < ActiveRecord::Migration - def up - count = Attachment.all.count / 30 + 2 - transaction do - for i in 1 ... count do i - Attachment.page(i).per(30).each do |attachment| - if attachment.container_type == 'Course' - course = attachment.course - if course - if course.is_public == 0 - attachment.is_public = 0 - attachment.save - end - end - end - end - end - end - end - - def down - end -end diff --git a/db/migrate/20151020013352_update_attachment.rb b/db/migrate/20151020013352_update_attachment.rb new file mode 100644 index 000000000..3e1161c09 --- /dev/null +++ b/db/migrate/20151020013352_update_attachment.rb @@ -0,0 +1,23 @@ +class UpdateAttachment < ActiveRecord::Migration + def up + count = Attachment.all.count / 30 + 2 + transaction do + for i in 1 ... count do i + Attachment.page(i).per(30).each do |attachment| + if attachment.container_type == 'Course' + course = attachment.course + if course + if course.is_public == 0 + attachment.is_public = 0 + attachment.save + end + end + end + end + end + end + end + + def down + end +end diff --git a/db/migrate/20151020014759_delete_null_course_activity.rb b/db/migrate/20151020014759_delete_null_course_activity.rb new file mode 100644 index 000000000..0d7b11693 --- /dev/null +++ b/db/migrate/20151020014759_delete_null_course_activity.rb @@ -0,0 +1,17 @@ +class DeleteNullCourseActivity < ActiveRecord::Migration + def up + count = CourseActivity.all.count / 30 + 2 + transaction do + for i in 1 ... count do i + CourseActivity.page(i).per(30).each do |activity| + unless activity.course_act + activity.destroy + end + end + end + end + end + + def down + end +end diff --git a/db/schema.rb b/db/schema.rb index 44548ad9c..41efc5698 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20151019085603) do +ActiveRecord::Schema.define(:version => 20151020014759) do create_table "activities", :force => true do |t| t.integer "act_id", :null => false