diff --git a/app/controllers/admins/enroll_lists_controller.rb b/app/controllers/admins/enroll_lists_controller.rb index ccac6a72d..135ef55ae 100644 --- a/app/controllers/admins/enroll_lists_controller.rb +++ b/app/controllers/admins/enroll_lists_controller.rb @@ -2,8 +2,7 @@ class Admins::EnrollListsController < Admins::BaseController def index @competition = current_competition - params[:sort_by] = params[:sort_by].presence || 'created_at' - params[:sort_direction] = params[:sort_direction].presence || 'desc' + default_sort('created_at', 'desc') enroll_lists = Admins::CompetitionEnrollListQuery.call(@competition, params) @params_page = params[:page] || 1 @@ -13,10 +12,21 @@ class Admins::EnrollListsController < Admins::BaseController respond_to do |format| format.js format.html - format.xls + format.xls{ + filename = "#{@competition.name}竞赛报名列表_#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}.xls" + send_data(shixun_list_xls(shixuns), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename)) + } end end + def export + default_sort('created_at', 'desc') + @enroll_lists = Admins::CompetitionEnrollListQuery.call(current_competition, params) + + filename = ["#{current_competition.name}竞赛报名列表", Time.zone.now.strftime('%Y-%m-%d%H:%M:%S')].join('-') << '.xlsx' + render xlsx: 'export', filename: filename + end + private def current_competition @_current_competition ||= Competition.find(params[:competition_id])