新版题库

This commit is contained in:
cxt 2017-06-16 15:18:41 +08:00
parent 72369ff2fd
commit 1aa0ce78c3
48 changed files with 1458 additions and 104 deletions

View File

@ -75,7 +75,7 @@ group :development, :test do
gem 'pry-byebug'
gem "test-unit", "~>3.0"
end
# gem 'rspec-rails', '~> 3.0'
gem 'rspec-rails', '~> 3.0'
gem 'factory_girl_rails'
end

View File

@ -0,0 +1,3 @@
# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/

View File

@ -0,0 +1,3 @@
// Place all the styles related to the HomeworkBank controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: http://sass-lang.com/

View File

@ -0,0 +1,233 @@
class HomeworkBankController < ApplicationController
before_filter :require_login, :only => [:index, :show, :new, :create, :edit, :update, :destroy, :destroy_all, :choose_user_course, :send_h_bank_to_course]
before_filter :find_homework_bank, :only => [:show, :edit, :update, :destroy]
def index
@order,@b_sort = params[:order] || "updated_at",params[:sort] || "desc"
@user = User.current
@r_sort = @b_sort == "desc" ? "asc" : "desc"
@search = params[:search]
if(params[:type].blank? || params[:type] == "1") #我的题库
@homeworks = @user.homework_banks.where("name like ?", "%#{@search}%")
elsif params[:type] == "2" #公共题库
@homeworks = HomeworkBank.where(:is_public => true).where("name like ?", "%#{@search}%")
end
if params[:property]
@property = params[:property].to_i
@homeworks = @homeworks.where(:homework_type => params[:property].to_i)
end
@homeworks = @homeworks.reorder("#{@order} #{@b_sort}")
@type = params[:type] ? params[:type] : '1'
@limit = 15
@is_remote = true
@hw_count = @homeworks.count
@hw_pages = Paginator.new @hw_count, @limit, params['page'] || 1
@offset ||= @hw_pages.offset
@homeworks = paginateHelper @homeworks,15
respond_to do |format|
format.js
format.html {render :layout => 'base_edu'}
end
end
def show
@is_admin = User.current == @homework.user || User.current.admin?
respond_to do |format|
format.html {render :layout => 'base_edu'}
end
end
def new
@homework_type = params[:homework_type].to_i
@homework = HomeworkBank.new
respond_to do |format|
format.html{render :layout => 'base_edu'}
end
end
# 新建实训作业
def shixuns
search = params[:search]
@homework = HomeworkBank.new
@shixuns = Shixun.where(:authentication => 1).where("name like ?", "%#{search}%")
@shixuns_count = @shixuns.count
@limit = 10
@is_remote = true
@shixun_pages = Paginator.new @shixuns_count, @limit, params['page'] || 1
@offset ||= @shixun_pages.offset
@shixuns = paginateHelper @shixuns, @limit
respond_to do |format|
format.js
end
end
def create
if params[:homework_bank] || params[:shixun_homework]
homework = HomeworkBank.new
if params[:shixun_homework]
shixun = Shixun.find(params[:shixun_homework])
homework.name = shixun.name
homework.description = shixun.description
else
homework.name = params[:homework_bank][:name]
homework.description = params[:homework_bank][:description]
homework.reference_answer = params[:homework_bank][:reference_answer]
homework.save_attachments(params[:attachments])
render_attachment_warning_if_needed(homework)
end
homework.is_public = 0
homework.quotes = 0
homework.homework_type = params[:shixun_homework] ? 4 : (params[:homework_type].to_i || 1)
homework.user_id = User.current.id
homework.syllabus_id = params[:syllabus_id] if params[:syllabus_id] && params[:syllabus_id] != '0'
#编程作业相关属性
if homework.homework_type == 2
homework.language = params[:language_type].to_i
sample_inputs = params[:sample][:input]
if Array === sample_inputs
sample_inputs.each_with_index do |val, i|
homework.homework_bank_samples << HomeworkBankSample.new(
input: val,
output: params[:sample][:output][i]
)
end
end
inputs = params[:program][:input]
if Array === inputs
inputs.each_with_index do |val, i|
homework.homework_bank_tests << HomeworkBankTest.new(
input: val,
output: params[:program][:output][i]
)
end
end
end
#分组作业
if homework.homework_type == 3
homework.min_num = params[:min_num].to_i
homework.max_num = params[:max_num].to_i
end
if homework.save
if homework.homework_type == 4
HomeworkBankShixun.create(:homework_bank_id => homework.id, :shixun_id => shixun.id)
end
redirect_to homework_bank_path(homework)
end
end
end
def edit
@homework_type = @homework.homework_type
respond_to do |format|
format.html{render :layout => 'base_edu'}
end
end
def update
if params[:homework_bank]
@homework.name = params[:homework_bank][:name]
@homework.description = params[:homework_bank][:description]
@homework.reference_answer = params[:homework_bank][:reference_answer]
@homework.syllabus_id = params[:syllabus_id] ? (params[:syllabus_id] == '0' ? nil : params[:syllabus_id].to_i) : nil
@homework.save_attachments(params[:attachments])
render_attachment_warning_if_needed(@homework)
#编程作业相关属性
if @homework.homework_type == 2
@homework.language = params[:language_type].to_i if params[:language_type]
@homework.homework_bank_samples.delete_all if params[:sample]
sample_inputs = params[:sample][:input] if params[:sample]
if Array === sample_inputs
sample_inputs.each_with_index do |val, i|
@homework.homework_bank_samples << HomeworkBankSample.new(
input: val,
output: params[:sample][:output][i]
)
end
end
@homework.homework_bank_tests.delete_all if params[:program]
inputs = params[:program][:input] if params[:program]
if Array === inputs
inputs.each_with_index do |val, i|
@homework.homework_bank_tests << HomeworkBankTest.new(
input: val,
output: params[:program][:output][i]
)
end
end
end
#分组作业
if @homework.homework_type == 3
@homework.min_num = params[:min_num].to_i if params[:min_num]
@homework.max_num = params[:max_num].to_i if params[:max_num]
end
if @homework.save
redirect_to homework_bank_path(@homework)
end
end
end
def destroy
@homework.homework_commons.update_all(:homework_bank_id => nil)
@homework.destroy
redirect_to homework_bank_index_path()
end
def destroy_all
if params[:check_homework_bank] && !params[:check_homework_bank].blank?
params[:check_homework_bank].each do |hb_id|
homework = HomeworkBank.find hb_id
if homework && homework.user == User.current
HomeworkCommon.where(:homework_bank_id => homework.id).update_all(:homework_bank_id => nil)
homework.destroy
end
end
end
redirect_to homework_bank_index_path
end
def choose_user_course
if !params[:search].nil?
search = "%#{params[:search].to_s.strip.downcase}%"
@courses = User.current.courses.where("is_delete = 0 and is_end = 0 and (#{Course.table_name}.id = #{params[:search].to_i } or #{Course.table_name}.name like :p)",:p=>search).select{ |course| User.current.has_teacher_role(course)}
else
@courses = User.current.courses.where("is_delete = 0 and is_end = 0").select{ |course| User.current.has_teacher_role(course)}
end
@homework_ids = params[:check_homework_bank] if params[:check_homework_bank]
@search = params[:search]
respond_to do |format|
format.js
end
end
def send_h_bank_to_course
course = Course.find params[:course_id]
if course
params[:homework_id].each do |homework_id|
homework = HomeworkBank.find homework_id
quote_homework_bank homework, course
end
end
end
def set_public
@homework.update_attributes(:is_public => true)
redirect_to homework_bank_index_path()
end
private
def find_homework_bank
@homework = HomeworkBank.find params[:id]
rescue ActiveRecord::RecordNotFound
render_404
end
end

View File

@ -178,6 +178,8 @@ class HomeworkCommonController < ApplicationController
if homework.homework_type != 4 && homework_detail_manual.comment_status == 1
create_works_list homework
elsif homework.homework_type == 4
HomeworkCommonsShixuns.create(:homework_common_id => homework.id, :shixun_id => shixun.id)
end
if params[:quotes] && !params[:quotes].blank?
@ -380,7 +382,7 @@ class HomeworkCommonController < ApplicationController
def update
if params[:homework_common]
is_update = @homework.name != params[:homework_common][:name] || @homework.description != params[:homework_common][:description]
is_update = @homework.name != params[:homework_common][:name] || @homework.description != params[:homework_common][:description] || @homework.reference_answer != params[:homework_common][:reference_answer]
if params[:homework_type].to_i == 2
is_update = is_update || params[:language_type] != @homework.homework_detail_programing.language
if !is_update && params[:sample] && params[:program]
@ -502,24 +504,25 @@ class HomeworkCommonController < ApplicationController
end
homework_bank = add_to_homework_bank_f @homework
homework_bank.save
if @homework.homework_type == 4
HomeworkBankShixun.create(:homework_bank_id => homework_bank.id, :shixun_id => @homework.homework_commons_shixuns.shixun_id)
end
@homework.update_attributes(:homework_bank_id => homework_bank.id)
elsif params[:type].to_i == 2
homework_bank = HomeworkBank.where(:id => @homework.homework_bank_id).first
if homework_bank
homework_bank.update_attributes(:name => @homework.name, :description => @homework.description, :homework_type => @homework.homework_type)
homework_bank.update_attributes(:name => @homework.name, :description => @homework.description, :homework_type => @homework.homework_type, :reference_answer => @homework.reference_answer)
if @homework.homework_type == 2 && @homework.homework_detail_programing
homework_bank.update_attributes(:language => @homework.homework_detail_programing.language)
homework_bank.homework_bank_tests.destroy_all
@homework.homework_tests.each_with_index do |homework_test|
homework_bank.homework_bank_tests << HomeworkBankTest.new(
test_type: 1,
input: homework_test.input,
output: homework_test.output
)
end
@homework.homework_samples.each_with_index do |homework_test|
homework_bank.homework_bank_tests << HomeworkBankTest.new(
test_type: 0,
homework_bank.homework_bank_samples << HomeworkBankSample.new(
input: homework_test.input,
output: homework_test.output
)

View File

@ -1775,6 +1775,8 @@ module ApplicationHelper
title << "酷得网 - 互联网教学实训平台"
elsif @course
title << (@course.name.nil? ? "智能课堂" : @course.name)
elsif params[:controller] == "homework_bank"
title << ("智能课堂")
elsif params[:controller] == "courses" && params[:action] == "index"
title << ("智能课堂")
elsif @contest
@ -4569,19 +4571,18 @@ end
def add_to_homework_bank_f homework
homework_bank = HomeworkBank.new(:name => homework.name, :description => homework.description, :user_id => homework.user_id, :homework_type => homework.homework_type,
:quotes => 1, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id)
:quotes => 1, :is_public => homework.course.is_public, :applicable_syllabus => homework.course.syllabus.title, :homework_common_id => homework.id,
:reference_answer => homework.reference_answer, :syllabus_id => homework.course.syllabus_id)
if homework.homework_type == 2 && homework.homework_detail_programing
homework_bank.language = homework.homework_detail_programing.language
homework.homework_tests.each_with_index do |homework_test|
homework_bank.homework_bank_tests << HomeworkBankTest.new(
test_type: 1,
input: homework_test.input,
output: homework_test.output
)
end
homework.homework_samples.each_with_index do |homework_test|
homework_bank.homework_bank_tests << HomeworkBankTest.new(
test_type: 0,
homework_bank.homework_bank_samples << HomeworkBankSample.new(
input: homework_test.input,
output: homework_test.output
)
@ -4864,3 +4865,75 @@ def set_final_score homework,student_work
end
end
def quote_resource_bank resource, course
atta = Attachment.new(:filename => resource.filename, :disk_filename => resource.disk_filename, :filesize => resource.filesize, :digest => resource.digest, :downloads => 0, :is_publish => 0,
:author_id => User.current.id, :description => resource.description, :disk_directory => resource.disk_directory, :is_public => 0, :copy_from => resource.copy_from.nil? ? resource.id : resource.copy_from,
:quotes => 0, :resource_bank_id => resource.id, :created_on => Time.now, :content_type =>resource.content_type)
if course.attachments << atta
# 更新引用次数
quotes = resource.quotes.to_i + 1
resource.update_attribute(:quotes, quotes)
end
end
def quote_homework_bank homework, course
new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 0,
:course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0, :homework_bank_id => homework.id, :score_open => 1,
:anonymous_appeal => 0, :is_public => 0, :reference_answer => homework.reference_answer, :answer_public => 1, :allow_late => 1)
new_homework.homework_detail_manual = HomeworkDetailManual.new
new_homework_detail_manual = new_homework.homework_detail_manual
new_homework_detail_manual.te_proportion = 1.0
new_homework_detail_manual.ta_proportion = 0
new_homework_detail_manual.comment_status = 0
new_homework_detail_manual.evaluation_num = 0
new_homework_detail_manual.absence_penalty = 0
if new_homework.homework_type == 2
new_homework.homework_detail_programing = HomeworkDetailPrograming.new
new_homework.homework_detail_programing.ta_proportion = 0
new_homework.homework_detail_programing.language = homework.language
homework.homework_bank_tests.each_with_index do |homework_test|
new_homework.homework_tests << HomeworkTest.new(
input: homework_test.input,
output: homework_test.output
)
end
homework.homework_bank_samples.each_with_index do |homework_test|
new_homework.homework_samples << HomeworkSample.new(
input: homework_test.input,
output: homework_test.output
)
end
end
if new_homework.homework_type == 3
new_homework.homework_detail_group = HomeworkDetailGroup.new
new_homework.homework_detail_group.min_num = homework.min_num
new_homework.homework_detail_group.max_num = homework.max_num
new_homework.homework_detail_group.base_on_project = homework.base_on_project
end
homework.attachments.each do |attachment|
att = attachment.copy
att.container_id = nil
att.container_type = nil
att.author_id = homework.user_id
att.copy_from = attachment.id
att.save
new_homework.attachments << att
end
if new_homework.save
if new_homework.homework_type == 4
HomeworkCommonsShixuns.create(:homework_common_id => new_homework.id, :shixun_id => homework.homework_bank_shixun.shixun_id)
end
new_homework_detail_manual.save if new_homework_detail_manual
new_homework.homework_detail_programing.save if new_homework.homework_detail_programing
new_homework.homework_detail_group.save if new_homework.homework_detail_group
homework.update_column(:quotes, homework.quotes+1)
end
end

View File

@ -0,0 +1,2 @@
module HomeworkBankHelper
end

View File

@ -14,4 +14,5 @@ module OwnerTypeHelper
CONTEST = 13
HOMEWORKREFERENCEANSWER = 14
STUDENTWORK = 15
HOMEWORKBANK = 16
end

View File

@ -131,60 +131,4 @@ module SyllabusesHelper
content
end
def quote_resource_bank resource, course
atta = Attachment.new(:filename => resource.filename, :disk_filename => resource.disk_filename, :filesize => resource.filesize, :digest => resource.digest, :downloads => 0, :is_publish => 0,
:author_id => User.current.id, :description => resource.description, :disk_directory => resource.disk_directory, :is_public => 0, :copy_from => resource.copy_from.nil? ? resource.id : resource.copy_from,
:quotes => 0, :resource_bank_id => resource.id, :created_on => Time.now, :content_type =>resource.content_type)
if course.attachments << atta
# 更新引用次数
quotes = resource.quotes.to_i + 1
resource.update_attribute(:quotes, quotes)
end
end
def quote_homework_bank homework, course
new_homework = HomeworkCommon.new(:name => homework.name, :user_id => User.current.id, :description => homework.description, :homework_type => homework.homework_type, :late_penalty => 0,
:course_id => course.id, :teacher_priority => 1, :anonymous_comment => 1, :quotes => 0, :is_open => 0,
:homework_bank_id => homework.id, :score_open => 1, :anonymous_appeal => 0)
new_homework.homework_detail_manual = HomeworkDetailManual.new
new_homework_detail_manual = new_homework.homework_detail_manual
new_homework_detail_manual.ta_proportion = new_homework.homework_type == 2 ? 0.4 : 1.0
new_homework_detail_manual.comment_status = 0
new_homework_detail_manual.evaluation_num = 3
new_homework_detail_manual.absence_penalty = 0
if new_homework.homework_type == 2
new_homework.homework_detail_programing = HomeworkDetailPrograming.new
new_homework.homework_detail_programing.ta_proportion = 0.6
new_homework.homework_detail_programing.language = homework.language
homework.homework_bank_tests.each_with_index do |homework_test|
if homework_test.test_type
new_homework.homework_tests << HomeworkTest.new(
input: homework_test.input,
output: homework_test.output
)
else
new_homework.homework_samples << HomeworkSample.new(
input: homework_test.input,
output: homework_test.output
)
end
end
end
if new_homework.homework_type == 3
new_homework.homework_detail_group = HomeworkDetailGroup.new
new_homework.homework_detail_group.min_num = homework.min_num
new_homework.homework_detail_group.max_num = homework.max_num
new_homework.homework_detail_group.base_on_project = homework.base_on_project
end
if new_homework.save
new_homework_detail_manual.save if new_homework_detail_manual
new_homework.homework_detail_programing.save if new_homework.homework_detail_programing
new_homework.homework_detail_group.save if new_homework.homework_detail_group
homework.update_column(:quotes, homework.quotes+1)
end
end
end

View File

@ -2,7 +2,11 @@
class HomeworkBank < ActiveRecord::Base
# attr_accessible :title, :body
belongs_to :user
has_many :homework_bank_tests
belongs_to :syllabus
has_many :homework_bank_tests, :dependent => :destroy
has_many :homework_bank_samples, :dependent => :destroy
has_many :homework_commons
has_one :homework_bank_shixun
acts_as_attachable
def language_name

View File

@ -0,0 +1,4 @@
class HomeworkBankSample < ActiveRecord::Base
belongs_to :homework_bank
attr_accessible :input, :output, :homework_bank_id
end

View File

@ -0,0 +1,5 @@
class HomeworkBankShixun < ActiveRecord::Base
belongs_to :homework_bank
belongs_to :shixun
attr_accessible :homework_bank_id, :shixun_id
end

View File

@ -20,6 +20,7 @@ class Syllabus < ActiveRecord::Base
belongs_to :user
has_many :courses
has_many :homework_banks
has_many :reference_materials, :dependent => :destroy
has_many :syllabus_update_records, :dependent => :destroy
has_many :journals_for_messages, :as => :jour, :dependent => :destroy

View File

@ -0,0 +1,84 @@
<div class="edu-class-innner-conbox">
<div class="edu-position task-form-20 mt15 ml15 mb10">
<input class="task-form-100 panel-box-sizing" placeholder="输入题目关键词进行搜索" id="homework_bank_search" value="<%= @search %>" type="text">
<a href="javascript:void(0);" remote="true" onclick="submit_homework_bank_search('<%= homework_bank_index_path(:type => @type, :order => @order, :sort => @r_sort, :property=>@property) %>')" class="edu-btn-search font-16 color-grey mt8"><i class="fa fa-search"></i></a>
</div>
<div class="panel-bg-grey clearfix color-grey font-12">
<p class="fl ml15">共 <span class="color-orange"><%= @hw_count %></span>个搜索结果</p>
<%= link_to '引用次数排序', homework_bank_index_path(:type => @type, :order => "quotes", :search => @search, :sort => @r_sort, :property=>@property), :class => "fr mr15 #{@order == 'quotes' ? 'color-blue' : ''}", :remote => true %>
<span class="mr5 ml5 fr">|</span>
<%= link_to '更新时间排序', homework_bank_index_path(:type => @type, :order => "updated_at", :search => @search, :sort => @r_sort, :property=>@property), :class => "fr #{@order == 'updated_at' ? 'color-blue' : ''}", :remote => true %>
</div>
<div class="edu-con-top clearfix">
<p class="fl task-form-50 ml15">
<%= link_to '全部', homework_bank_index_path(:type => @type), :class => 'edu-filter-cir-grey mr5 active', :id => 'homework_bank_pro_0', :remote => true %>
<%= link_to '编程', homework_bank_index_path(:type => @type, :property => 2), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_2', :remote => true %>
<%= link_to '普通', homework_bank_index_path(:type => @type, :property => 1), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_1', :remote => true %>
<%= link_to '分组', homework_bank_index_path(:type => @type, :property => 3), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_3', :remote => true %>
<%= link_to '实训', homework_bank_index_path(:type => @type, :property => 4), :class => 'edu-filter-cir-grey mr5', :id => 'homework_bank_pro_4', :remote => true %>
<%#= link_to '试卷', homework_bank_path(:type => @type, :property => 5), :class => 'edu-filter-cir-grey mr5', :remote => true %>
</p>
<a href="javascript:void(0)" onclick="alert_choose_homework_bank_type('<%= %>')" class="task-btn task-btn-blue fr mr15 mt5">新建</a>
<div class="cl"></div>
</div>
<div>
<% if @hw_count != 0 %>
<%= form_tag(choose_user_course_homework_bank_index_path(), :id => 'hb_search_course_h_form', :remote => true, :method => 'post') do %>
<% @homeworks.each do |homework| %>
<div class="clearfix edu-class-con-list">
<div class="fl ml15 task-form-90">
<input id="homework_bank_<%= homework.id %>" class="fl mt5 magic-checkbox" type="checkbox" value="<%= homework.id %>" name="check_homework_bank[]">
<label for="homework_bank_<%= homework.id %>" class="fl"></label>
<%= link_to homework.name, homework_bank_path(homework.id), :class => 'edu-class-inner-list fl ml25', :target => '_blank' %>
<% unless homework.is_public %>
<i class="fa fa-lock ml5 mt8 color-grey font-16 fl"></i>
<% end %>
<div class="cl"></div>
<p class="color-grey font-12 ml15">
<span class="">更新于<%= time_from_now homework.updated_at %></span>
<span class="ml30"><%= homework.quotes %> 次引用</span>
<span class="ml30"><%= StudentWork.where(:is_delete => 0, :work_status => [1, 2, 3], :homework_common_id => homework.homework_commons.map(&:id)).count %> 次答题</span>
<% if homework.syllabus_id && homework.syllabus.major_level %>
<% syllabus = homework.syllabus %>
<span class="ml30">
<%= syllabus.syllabus_major_level %> - <%= syllabus.syllabus_discipline_category %> - <%= syllabus.syllabus_first_level_discipline %> - <%= syllabus.title %>
</span>
<% end %>
</p>
</div>
<div class="fr edu-position edu-position-hidebox mr15 mt20">
<a href="javascript:void(0);"><i class="fa fa-ellipsis-v font-16"></i></a>
<ul class="edu-position-hide undis">
<li><%= link_to '预览', homework_bank_path(homework), :target => '_blank' %></li>
<li><%= link_to '发送', choose_user_course_homework_bank_index_path(:check_homework_bank => ["#{homework.id}"]), :remote => true %></li>
<% if @type.to_i == 1 %>
<li><a href="javascript:void(0)" onclick="delete_confirm_box_3('<%= homework_bank_path(homework) %>', '确定要删除该题吗?')">删除</a></li>
<% end %>
</ul>
</div>
</div>
<% end %>
<% end %>
<% else %>
<%= render :partial => 'welcome/no_data' %>
<% end %>
</div>
<ul class="sy_classlist clearfix">
<input class="magic-checkbox" type="checkbox" name="layout" id="homework_bank_all_select" class="fl">
<label for="homework_bank_all_select" class="fl mr15">全选</label>
<div class="fl resource_btns_bottom pt5">
<a href="javascript:void(0);" onclick="choose_course_to_send_hb();" class="fl mr10">发送</a>
<% if @type.to_i == 1 %>
<a href="javascript:void(0);" onclick="destroy_all_hb('<%= destroy_all_homework_bank_index_path() %>')" class="fl">删除</a>
<% end %>
<span id="choose_homework_bank_to_send_notice_h" class="fl ml20 color-red undis"></span>
</div>
<div class="fr pages_right_min pt15 pb15">
<ul>
<%= pagination_links_full @hw_pages, @hw_count, :per_page_links => false, :remote => true, :flag => true, :is_new => true%>
</ul>
<div class="cl"></div>
</div>
</ul>
</div>

View File

@ -0,0 +1,12 @@
<% if @courses.count > 0 %>
<% @courses.each do |course| %>
<li class="clearfix">
<label class="fl mt5 ml5 edu-class-pop-label edu-color-grey">
<input id="send_course_<%= course.id %>" type="radio" class="fl mt8 mr5 magic-radio" name="course_id" value="<%= course.id %>">
<label for="send_course_<%= course.id %>" class="edu-info-dark task-hide fl" title="<%= course.name %>"><%= course.name %></label>
</label>
</li>
<% end %>
<% else %>
<% end %>

View File

@ -0,0 +1,77 @@
<div class="edu-con-top">
<p class="ml15 color-grey"><%= edit_mode ? '编辑' : '新建' %>普通作业</p>
</div>
<div class="alert alert-red mt15 none" id="new_homework_notice">
<button class="task-close fr" type="button">×</button>
有<span id="new_homework_notice_count">3</span> 处问题导致无法保存
<ul>
</ul>
</div>
<div class="edu-con-bg01 mt15" style="padding:30px 0;">
<div class="ml30 mr30">
<div class="">
<ul>
<input type="hidden" name="homework_type" value="<%= @homework_type %>">
<li class="clearfix mb20 pr">
<label class="panel-form-label fl">适用课程&nbsp;&nbsp;&nbsp;</label>
<%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@homework.syllabus_id), {:id=>"new_syllabus_id", :class=>"fl task-height-40 task-form-30"} %>
<div class="bank_tusi">
<div class="entry">
<em></em>
<span class="after"></span>
<p class="color-grey">课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %></p>
</div>
</div>
<div class="cl"></div>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>标题&nbsp;&nbsp;&nbsp;</label>
<input type="text" name="homework_bank[name]" id="new_homework_name" value="<%= @homework.name %>" class="panel-form-width-690 panel-form-height-30 fl panel-box-sizing" maxlength="60" placeholder="最多60个字符" />
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>内容&nbsp;&nbsp;&nbsp;</label>
<%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
<textarea class="panel-form-width-690 panel-form-height-150 fl panel-box-sizing" style="display: none"></textarea>
<%= f.kindeditor :description, :editor_id => 'homework_description_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_content',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mb15">
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => @homework} %>
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"> 参考答案&nbsp;&nbsp;</label>
<textarea class="panel-form-width-690 panel-form-height-150 fl task-textarea-pd" style="display: none;"></textarea>
<%= f.kindeditor :reference_answer, :editor_id => 'homework_ref_answer_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_ref_answer',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mt10">
<a href="javascript:void(0);" onclick="submit_new_common_homework(1);" class="task-btn task-btn-blue fr">保存</a>
<% if edit_mode %>
<%= link_to '取消', homework_bank_path(@homework), :class => 'task-btn fr mr10' %>
<% else %>
<%= link_to '取消', homework_bank_index_path(), :class => 'task-btn fr mr10' %>
<% end %>
</li>
</ul>
</div>
</div>
</div>

View File

@ -0,0 +1,93 @@
<% not_allow_select = edit_mode && @homework.student_works.has_committed.count != 0 %>
<div class="edu-con-top">
<p class="ml15 color-grey"><%= edit_mode ? '编辑' : '新建' %>分组作业</p>
</div>
<div class="alert alert-red mt15 none" id="new_homework_notice">
<button class="task-close fr" type="button">×</button>
有<span id="new_homework_notice_count">3</span> 处问题导致无法保存
<ul>
</ul>
</div>
<div class="edu-con-bg01 mt15" style="padding:30px 0;">
<div class="ml30 mr30">
<div class="">
<ul>
<input type="hidden" name="homework_type" value="<%= @homework_type %>">
<li class="clearfix mb20 pr">
<label class="panel-form-label fl">适用课程&nbsp;&nbsp;&nbsp;</label>
<%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@homework.syllabus_id), {:id=>"new_syllabus_id", :class=>"fl task-height-40 task-form-30"} %>
<div class="bank_tusi">
<div class="entry">
<em></em>
<span class="after"></span>
<p class="color-grey">课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %></p>
</div>
</div>
<div class="cl"></div>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>标题&nbsp;&nbsp;&nbsp;</label>
<input type="text" name="homework_bank[name]" id="new_homework_name" value="<%= @homework.name %>" class="panel-form-width-690 panel-form-height-30 fl panel-box-sizing" maxlength="60" placeholder="最多60个字符" />
</li>
<li class="clearfix mb5">
<label class=" panel-form-label fl"><span class="color-orange mr5">*</span>内容&nbsp;&nbsp;&nbsp;</label>
<%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
<textarea class="panel-form-width-690 panel-form-height-150 fl task-textarea-pd" style="display: none"></textarea>
<%= f.kindeditor :description, :editor_id => 'homework_description_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_content',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mb15">
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => @homework} %>
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>分组设置&nbsp;&nbsp;&nbsp;</label>
<ul class="fl edu-bg-grey mb15" style="padding-bottom:10px;" >
<li class="mt10 mr10 mb10 clearfix">
<span class="ml15 mr5">每组最小人数</span>
<input id="min_num" type="text" name="min_num" value="<%= @homework.min_num %>" class="task-form-10 task-height-40 mr5 panel-box-sizing" placeholder="2" /><span>人</span>
<span class="ml30 mr5">每组最大人数</span>
<input id="max_num" type="text" name="max_num" value="<%= @homework.max_num %>" class="task-form-10 task-height-40 mr5 panel-box-sizing" placeholder="10"/><span>人</span>
<span class="color-orange ml15 none" data-min-num="<%= @homework.min_num %>" data-max-num="<%= @homework.max_num %>" id="min_max_num_notice">
已有学生提交作品,只能扩大分组范围,原分组人数为<%= @homework.min_num %>-<%= @homework.max_num %>人
</span>
</li>
<span class="color-orange ml15 ">注:任一成员都可以提交作品,提交作品时需要关联同组成员,组内成员作品共享。</span>
</ul>
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"> 参考答案&nbsp;&nbsp;</label>
<textarea class="panel-form-width-690 panel-form-height-150 fl task-textarea-pd" style="display: none;"></textarea>
<%= f.kindeditor :reference_answer, :editor_id => 'homework_ref_answer_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_ref_answer',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mt10">
<a href="javascript:void(0);" onclick="submit_new_common_homework(3, true);" class="task-btn task-btn-blue fr">保存</a>
<% if edit_mode %>
<%= link_to '取消', homework_bank_path(@homework), :class => 'task-btn fr mr10' %>
<% else %>
<%= link_to '取消', homework_bank_index_path(), :class => 'task-btn fr mr10' %>
<% end %>
</li>
</ul>
</div>
</div>
</div>

View File

@ -0,0 +1,170 @@
<div class="edu-con-top">
<p class="ml15 color-grey"><%= edit_mode ? '编辑' : '新建' %>编程作业</p>
</div>
<div class="alert alert-red mt15 none" id="new_homework_notice">
<button class="task-close fr" type="button">×</button>
有<span id="new_homework_notice_count">3</span> 处问题导致无法保存
<ul>
</ul>
</div>
<div class="edu-con-bg01 mt15 program_homework" style="padding:30px 0;">
<div class="ml30 mr30">
<div class="">
<ul>
<input type="hidden" name="homework_type" value="<%= @homework_type %>">
<li class="clearfix mb20 pr">
<label class="panel-form-label fl">适用课程&nbsp;&nbsp;&nbsp;</label>
<%= select_tag :syllabus_id,options_for_select(course_syllabus_option,@homework.syllabus_id), {:id=>"new_syllabus_id", :class=>"fl task-height-40 task-form-30"} %>
<div class="bank_tusi">
<div class="entry">
<em></em>
<span class="after"></span>
<p class="color-grey">课程列表中没有?<%= link_to '创建课程', new_syllabus_path(),:target => '_blank', :class => 'color-blue' %></p>
</div>
</div>
<div class="cl"></div>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>标题&nbsp;&nbsp;&nbsp;</label>
<input type="text" name="homework_bank[name]" id="new_homework_name" value="<%= @homework.name %>" class="panel-form-width-690 panel-form-height-30 fl panel-box-sizing" maxlength="60" placeholder="最多60个字符" />
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>内容&nbsp;&nbsp;&nbsp;</label>
<%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %>
<textarea class="panel-form-width-690 panel-form-height-150 fl task-textarea-pd" style="display: none"></textarea>
<%= f.kindeditor :description, :editor_id => 'homework_description_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_content',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mb15">
<%= render :partial => 'users/user_homework_attachment', :locals => {:container => @homework} %>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>样例设置&nbsp;&nbsp;&nbsp;</label>
<ul class="fl edu-bg-grey">
<% if edit_mode && @homework.homework_bank_samples.count > 0 %>
<% @homework.homework_bank_samples.each_with_index do |sample, index| %>
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="sample_inputs_label">样例<%= index + 1 %></span>
<a href="javascript:void(0);" title="增加" class="sample_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<% if index != 0 %>
<a href="javascript:void(0);" title="删除" class="sample_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
<% else %>
<span class="color-grey fr font-12">温馨提示:请至少输入一组样例供学生参考。</span>
<% end %>
</p>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输入" name="sample[input][]"><%= sample.input %></textarea>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输出" name="sample[output][]"><%= sample.output %></textarea>
</li>
<% end %>
<% else %>
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="sample_inputs_label">样例1</span>
<a href="javascript:void(0);" title="增加" class="sample_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<span class="color-grey fr font-12">温馨提示:请至少输入一组样例供学生参考。</span>
</p>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输入" name="sample[input][]"></textarea>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输出" name="sample[output][]"></textarea>
</li>
<% end %>
</ul>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl"><span class="color-orange mr5">*</span>测试集设置&nbsp;&nbsp;&nbsp;</label>
<ul class="fl edu-bg-grey">
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix">
<select class="fl task-form-10 task-height-40" name="language_type">
<%= options_for_select({"C语言" => 1, "C++" => 2, "Python" => 3, "Java" => 4}, 1) %>
</select>
<span class="color-grey fr font-12" >温馨提示:您可以在发布后,通过"模拟答题"进行标准代码的检测。</span>
</p>
</li>
<% if edit_mode %>
<% @homework.homework_bank_tests.each_with_index do |test, index| %>
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="inputs_label">测试<%= index + 1 %></span>
<a href="javascript:void(0);" title="增加" class="test_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<% if index != 0 %>
<a href="javascript:void(0);" title="删除" class="test_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
<% end %>
</p>
<textarea class="task-form-50 task-height-40 mb10 fl panel-box-sizing" placeholder="测试输入" name="program[input][]"><%= test.input %></textarea>
<textarea class="task-form-45 task-height-40 mb10 fl ml10 panel-box-sizing" placeholder="测试输出" name="program[output][]" style="width:49%;"><%= test.output %></textarea>
</li>
<% end %>
<% else %>
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="inputs_label">测试1</span>
<a href="javascript:void(0);" title="增加" class="test_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
</p>
<textarea class="task-form-50 task-height-40 mb10 fl panel-box-sizing" placeholder="测试输入" name="program[input][]"></textarea>
<textarea class="task-form-45 task-height-40 mb10 fl ml10 panel-box-sizing" placeholder="测试输出" name="program[output][]" style="width:49%;"></textarea>
</li>
<% end %>
</ul>
</li>
<li class="clearfix mb5">
<label class="panel-form-label fl"> 参考答案&nbsp;&nbsp;</label>
<textarea class="panel-form-width-690 panel-form-height-150 fl task-textarea-pd" style="display: none;"></textarea>
<%= f.kindeditor :reference_answer, :editor_id => 'homework_ref_answer_editor',
:owner_id => @homework.nil? ? 0: @homework.id,
:owner_type => OwnerTypeHelper::HOMEWORKBANK,
:width => '89.7%',
:height => 200,
:minHeight=>200,
:class => 'talk_text fl',
:input_html => { :id => 'homework_ref_answer',
:class => 'talk_text fl',
:maxlength => 5000 }
%>
</li>
<li class="clearfix mt10">
<a href="javascript:void(0);" onclick="submit_new_common_homework(2);" class="task-btn task-btn-blue fr">保存</a>
<% if edit_mode %>
<%= link_to '取消', homework_bank_path(@homework), :class => 'task-btn fr mr10' %>
<% else %>
<%= link_to '取消', homework_bank_index_path(), :class => 'task-btn fr mr10' %>
<% end %>
</li>
</ul>
</div>
</div>
</div>
<script id="t:test-answer-list" type="text/html">
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="inputs_label"></span>
<a href="javascript:void(0);" title="增加" class="test_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<a href="javascript:void(0);" title="删除" class="test_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
</p>
<textarea class="task-form-50 task-height-40 mb10 fl panel-box-sizing" placeholder="测试输入" name="program[input][]"></textarea>
<textarea class="task-form-45 task-height-40 mb10 fl ml10 panel-box-sizing" placeholder="测试输出" name="program[output][]" style="width:49%;"></textarea>
</li>
</script>
<script id="t:sample-answer-list" type="text/html">
<li class="clearfix mt10 ml10 mr10">
<p class="clearfix mb5">
<span class="color-green fb fl" name="sample_inputs_label"></span>
<a href="javascript:void(0);" title="增加" class="sample_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<a href="javascript:void(0);" title="删除" class="sample_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
</p>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输入" name="sample[input][]"></textarea>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输出" name="sample[output][]"></textarea>
</li>
</script>

View File

@ -0,0 +1,34 @@
<div class="task-popup" style="width:450px;">
<div class="task-popup-title clearfix task-popup-bggrey">
<h3 class="fl">发送题库</h3>
<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
</div>
<div class="task_popup_con">
<div class="newupload_conbox">
<div class="alert alert-orange mb15 font-12">
<button data-dismiss="alert" class="task-close fr" type="button">×</button>
选择的题将会发送到指定班级
</div>
<div class="mb10 edu-position">
<input class="task-form-100 task-height-40 panel-box-sizing" value="<%= @search %>" id="hb_search_course_input" name="search" placeholder="输入班级名称的关键字进行搜索" type="text" >
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5" onclick="search_hw_course('<%= choose_user_course_homework_bank_index_path() %>');"><i class="fa fa-search"></i></a>
</div>
<%= form_tag(send_h_bank_to_course_homework_bank_index_path(), :id => 'send_hb_to_course_form', :remote => true, :method => 'post') do %>
<div class="clearfix mb15 edu-bg-light-blue edu-max-h200">
<% @homework_ids.each do |id| %>
<input type="hidden" name="homework_id[]" value="<%= id %>">
<% end %>
<ul class="" id="search_course_list">
<%= render :partial => 'homework_bank/hw_search_course_list' %>
</ul>
</div>
<% end %>
<div>
<span class="color-red undis fl" id="search_course_notice_h"></span>
<a href="javascript:void(0);" class="task-btn task-btn-blue fr" onclick="submit_send_hb_to_course();">确定</a>
<a href="javascript:void(0);" class="pop_close task-btn fr mr10">取消</a>
<div class="cl"></div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,52 @@
<div class="task-popup" style="width:650px;">
<div class="task-popup-title clearfix task-popup-bggrey">
<h3 class="fl">选择实训</h3>
<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
</div>
<div class="task_popup_con">
<%= labelled_form_for @homework, :url =>{:controller=> 'homework_bank', :action => 'shixuns'}, :id => 'shixun_search_form', :method => "get", :remote => true do |f| %>
<div class="clearfix mb10">
<div class="task-form-50 edu-position fr" style="padding:0;">
<input class="task-form-100 panel-box-sizing" placeholder="输入实训名称的关键字搜索" type="text" name="search">
<a href="javascript:void(0);" onclick="$('#shixun_search_form').submit()" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
</div>
</div>
<% end %>
<%= labelled_form_for @homework, :url =>{:controller=> 'homework_bank', :action => 'create'}, :html => {:id => 'shixun_homework_bank_new'}, :method => "post" do |f| %>
<table class="edu-pop-table color-grey edu-txt-center table-pa5" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th>实训名称</th>
<th>导师姓名</th>
<th>学员数</th>
</tr>
</thead>
<span id="homework_type_notice" class="c_red none">请至少选中一个实训</span>
<tbody>
<% @shixuns.each do |shixun| %>
<tr>
<td class="clearfix">
<input name="shixun_homework" type="radio" class="mr5 fl mt7" value="<%= shixun.id %>">
<%= link_to shixun.name, shixun_path(shixun), :class => "edu-info-dark task-hide fl" %>
</td>
<td><%= link_to shixun.owner.try(:show_name), user_path(shixun.owner), :class => "edu-txt-w140 task-hide" %></td>
<td><%= shixun.myshixuns.count %></td>
</tr>
<% end %>
</tbody>
</table>
<% end %>
<div class="clearfix">
<div class="clearfix fr mt10">
<a href="javascript:void(0);" class="task-btn task-btn-blue fr" onclick="new_shixun_homework_bank();">选择</a>
<a href="javascript:void(0);" class="task-btn fr pop_close mr10">取消</a>
</div>
<div class="fr pages_right_min">
<ul>
<%= pagination_links_full @shixun_pages, @shixuns_count, :per_page_links => false, :remote => @is_remote, :flag => true, :is_new => true %>
</ul>
<div class="cl"></div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,6 @@
<% if params[:is_observe].nil? %>
var htmlvalue = "<%= escape_javascript(render :partial => 'homework_bank/send_homework_bank') %>";
pop_box_new(htmlvalue, 452, 463);
<% else %>
$("#search_course_list").html("<%= escape_javascript(render :partial => 'homework_bank/hw_search_course_list') %>");
<% end %>

View File

@ -0,0 +1,18 @@
<% content_for :header_tags do %>
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
<% end %>
<div class="edu-class-container" style="min-height: 760px;">
<p class="mb10">
<i class="fa fa-map-marker mr5 color-grey" ></i>
<%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= link_to '我的题库', homework_bank_index_path() %> > 编辑
</p>
<%= form_for @homework, :html => {:id => 'homework_common_submit_form'} do |f| %>
<% if @homework_type == 1 %>
<%= render :partial => 'new_common_homework', :locals => {:f => f, :edit_mode => true} %>
<% elsif @homework_type == 2 %>
<%= render :partial => 'new_program_homework', :locals => {:f => f, :edit_mode => true} %>
<% elsif @homework_type == 3 %>
<%= render :partial => 'new_group_homework', :locals => {:f => f, :edit_mode => true} %>
<% end %>
<% end %>
</div>

View File

@ -0,0 +1,33 @@
<script>
function g(o){return document.getElementById(o);}
function HoverLi(n, url){
for(var i=1;i<=3;i++){
$('#edu-tab-nav-'+i).removeClass('edu-new-tab-hover');
}
$('#edu-tab-nav-'+n).addClass('edu-new-tab-hover');
$.get(url, {}, function(data){});
}
</script>
<div class="edu-class-container">
<p class="mb10"><i class="fa fa-map-marker mr5 color-grey"></i><%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > 题库</p>
<div class="edu-con-bg01 mt15">
<div class="">
<div class="edu-tab clearfix mb20">
<ul id="edu-tab-nav">
<li id="edu-tab-nav-1" class="edu-new-tab-hover" onclick="HoverLi(1, '<%= homework_bank_index_path() %>');">
<a href="javascript:void(0);" class="tab_type">我的题库</a>
</li>
<li id="edu-tab-nav-2" onclick="HoverLi(2, '<%= homework_bank_index_path(:type => 2) %>');">
<a href="javascript:void(0);" class="tab_type">公共题库</a>
</li>
</ul>
<div class="cl"></div>
<div id="edu-tab-con-1">
<%= render :partial => 'homework_bank/homework_bank_list' %>
</div>
<div class="cl"></div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,20 @@
$("#edu-tab-con-1").html("<%= j(render :partial => 'homework_bank/homework_bank_list') %>");
<% if params[:property] %>
$(".edu-filter-cir-grey").removeClass("active");
<% case params[:property].to_i %>
<% when 1 %>
$("#homework_bank_pro_1").addClass("active");
<% when 2 %>
$("#homework_bank_pro_2").addClass("active");
<% when 3 %>
$("#homework_bank_pro_3").addClass("active");
<% when 4 %>
$("#homework_bank_pro_4").addClass("active");
<% else %>
$("#homework_bank_pro_0").addClass("active");
<% end %>
<% end %>
if(<%= params[:type] == '2' %>){
$("#edu-tab-nav-1").removeClass("edu-new-tab-hover");
$("#edu-tab-nav-2").addClass("edu-new-tab-hover");
}

View File

@ -0,0 +1,18 @@
<% content_for :header_tags do %>
<%= import_ke(enable_at: false, prettify: false, init_activity: false) %>
<% end %>
<div class="edu-class-container" style="min-height: 760px;">
<p class="mb10">
<i class="fa fa-map-marker mr5 color-grey" ></i>
<%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= link_to '我的题库', homework_bank_index_path() %> > 新建
</p>
<%= labelled_form_for @homework, :url =>{:controller=>'homework_bank',:action => 'create'}, :html => {:id => 'homework_common_submit_form'}, :method => "post" do |f| %>
<% if @homework_type == 1 %>
<%= render :partial => 'new_common_homework', :locals => {:f => f, :edit_mode => false} %>
<% elsif @homework_type == 2 %>
<%= render :partial => 'new_program_homework', :locals => {:f => f, :edit_mode => false} %>
<% elsif @homework_type == 3 %>
<%= render :partial => 'new_group_homework', :locals => {:f => f, :edit_mode => false} %>
<% end %>
<% end %>
</div>

View File

@ -0,0 +1 @@
yes_notice_box("已发送到目标班级的作业列表<br/>但需要您设置发布和截止时间,以激活相应作业,谢谢!");

View File

@ -0,0 +1,2 @@
var htmlvalue = "<%= escape_javascript(render :partial => 'homework_bank/shixuns') %>";
pop_box_new(htmlvalue, 680, 454);

View File

@ -0,0 +1,177 @@
<% content_for :header_tags do %>
<%= javascript_include_tag "/assets/codemirror/codemirror_python_ruby_c" %>
<%= javascript_include_tag "resizeable_table" %>
<%= stylesheet_link_tag "/assets/codemirror/codemirror" %>
<% end %>
<script type="text/javascript">
function HoverLi(n){
for(var i=1;i<=2;i++){
$('#edu-tab-nav-'+i).removeClass('edu-new-tab-hover');
$('#edu-tab-con-'+i).addClass('undis');
}
$('#edu-tab-con-'+n).removeClass('undis');
$('#edu-tab-nav-'+n).addClass('edu-new-tab-hover');
}
</script>
<div class="edu-class-container">
<p class="mb10">
<i class="fa fa-map-marker mr5 color-grey"></i>
<%= link_to User.current.show_name, user_path(User.current) %> > <%= link_to '智能课堂', courses_path() %> > <%= @homework.user == User.current ? link_to('我的题库', homework_bank_index_path()) : link_to('公共题库', homework_bank_index_path(:type => 2)) %></p>
<div class="edu-con-top clearfix">
<p class="ml15 fl color-grey">
<% unless @homework.is_public %>
<i class="fa fa-lock mr5"></i>
<% end %>
<%= @homework.name %>
</p>
<%= link_to '返回', @homework.user == User.current ? homework_bank_index_path() : homework_bank_index_path(:type => 2), :class => 'fr font-12 mr15 mt3 link-color-grey' %>
</div>
<div class="edu-con-bg01 mt15">
<div class="">
<div class="edu-tab clearfix mb20">
<ul id="edu-tab-nav">
<li id="edu-tab-nav-1" class="edu-new-tab-hover" onclick="HoverLi(1);">
<a href="javascript:void(0);" class="tab_type">详情</a>
</li>
<% if @is_admin %>
<li id="edu-tab-nav-2" onclick="HoverLi(2);">
<a href="javascript:void(0);" class="tab_type">参考答案</a>
</li>
<% end %>
</ul>
<div class="cl"></div>
<div id="edu-tab-con-1">
<div class="" style="padding:0 15px;">
<% if @is_admin %>
<div class="fr edu-position edu-position-hidebox">
<a href="javascript:void(0);" class="font-16"><i class="fa fa-bars"></i></a>
<ul class="edu-position-hide undis" style="left:-85px;">
<% if @homework.homework_type != 4 %>
<li>
<%= link_to l(:button_edit), edit_homework_bank_path(@homework) %>
</li>
<% end %>
<li>
<%= link_to "发送", setting_homework_common_path(@homework) %>
</li>
<% unless @homework.is_public %>
<li>
<a href="javascript:void(0);" onclick="s_op_confirm_box('<%= set_public_homework_bank_path(@homework) %>', '您确定要公开吗?<br/>公开后不能重设为私有')">设为公开</a>
</li>
<% end %>
<li>
<a href="javascript:void(0)" onclick="delete_confirm_box_3('<%= homework_bank_path(@homework) %>', '您确定要删除吗?')">删除</a>
</li>
</ul>
</div>
<% elsif @homework.is_public %>
<li>
<%= link_to "发送", setting_homework_common_path(@homework) %>
</li>
<% end %>
<div class="cl"></div>
<div class="upload_img list_style">
<%= @homework.description.html_safe %>
</div>
</div>
<ul class="panel-mes-head">
<%= render :partial=>"attachments/activity_attach", :locals=>{:activity => @homework} %>
</ul>
<% if @homework.homework_type == 3 %>
<div class="edu-con-bg01">
<div class="edu-con-top clearfix mb15">
<p class="ml15 fl font-14 font-bd">分组要求</p>
</div>
<div class="edu-line font-14 pl15 pr15 pd15">
<p>分组人数: <%= @homework.min_num %> - <%= @homework.max_num %> 人</p>
<span class="color-orange">注:任一成员都可以提交作品,提交作品时需要关联同组成员,组内成员作品共享。</span>
</div>
</div>
<% end %>
<% if @homework.homework_type == 2 %>
<% samples = @homework.homework_bank_samples %>
<% unless samples.empty? %>
<div class="edu-con-bg01">
<div class="edu-con-top clearfix mb15">
<p class="ml15 fl font-14 font-bd">输入输出样例:<%= samples.count %> 组</p>
</div>
<div class="edu-line font-14">
<% samples.each_with_index do |sample, index| %>
<div class="clearfix mr15">
<ul>
<li class="clearfix">
<label class="panel-form-label fl">&nbsp;&nbsp;</label>
<span class="color-green font-bd fl">样例<%= index + 1 %></span>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl color-grey">样例输入&nbsp;&nbsp;&nbsp;</label>
<div class="fl edu-bg-grey">
<pre class="mt10 ml10 mr10 mb10" style="font-family: '微软雅黑','宋体'; word-wrap:break-word; white-space:pre-wrap;"><%=sample.input.blank? ? " " : sample.input %></pre>
</div>
</li>
<li class="clearfix mb15">
<label class="panel-form-label fl color-grey">样例输出&nbsp;&nbsp;&nbsp;</label>
<div class="fl edu-bg-grey">
<pre class="mt10 ml10 mr10 mb10" style="font-family: '微软雅黑','宋体'; word-wrap:break-word; white-space:pre-wrap;"><%=sample.output.blank? ? " " : sample.output %></pre>
</div>
</li>
</ul>
</div>
<% end %>
</div>
</div>
<% end %>
<%# if @is_teacher %>
<div class="edu-con-bg01">
<div class="edu-con-top clearfix mb15">
<p class="ml15 fl font-14 font-bd">测试集:<%=@homework.homework_bank_tests.count %> 组</p>
</div>
<div class="edu-line font-14">
<table class="edu-pop-table table-pa5 table-line mb15 ml15" style="width:97.5%;" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th class="edu-txt-center">序号</th>
<th>测试集输入</th>
<th>测试集输出</th>
</tr>
</thead>
<tbody>
<% @homework.homework_bank_tests.each_with_index do |test, i| %>
<tr>
<td class="edu-txt-center"><%=i+1 %></td>
<td style="height:100%; width:48%;">
<div style="height:100%; width:100%;"><pre style="font-family: '微软雅黑','宋体'; word-wrap:break-word; white-space:pre-wrap;"><%=test.input.blank? ? " " : test.input %></pre></div>
</td>
<td style="height:100%; width:48%;">
<div style=" height:100%; width:100%;"><pre style="font-family: '微软雅黑','宋体'; word-wrap:break-word; white-space:pre-wrap;"><%=test.output.blank? ? " " : test.output %></pre></div>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
<% end %>
<%# end %>
</div>
<div id="edu-tab-con-2" class="undis">
<div class="edu-tab-con-box">
<div>
<% unless @homework.reference_answer.blank? %>
<%= @homework.reference_answer.html_safe %>
<% else %>
<img src="../images/bigdata/edu-class/edu-nodata.png" width="200" height="" class="edu-nodata-img">
<p class="edu-nodata-p mb30">暂未设置参考答案 ~ </p>
<% end %>
</div>
</div>
</div>
<div class="cl"></div>
</div>
</div>
</div>
</div>

View File

@ -76,8 +76,11 @@
<!--</li>-->
<li class="clearfix mt10">
<a href="javascript:void(0);" onclick="submit_new_common_homework(3, true);" class="task-btn task-btn-blue fr">保存</a>
<%= link_to '取消', homework_common_index_path(:course => @course), :class => 'task-btn fr mr10' %>
</li>
<% if edit_mode %>
<%= link_to '取消', student_work_index_path(:homework => @homework.id), :class => 'task-btn fr mr10' %>
<% else %>
<%= link_to '取消', homework_common_index_path(:course => @course), :class => 'task-btn fr mr10' %>
<% end %> </li>
</ul>
</div>
</div>

View File

@ -129,7 +129,11 @@
<!--</li>-->
<li class="clearfix mt10">
<a href="javascript:void(0);" onclick="submit_new_common_homework(2);" class="task-btn task-btn-blue fr">保存</a>
<%= link_to '取消', homework_common_index_path(:course => @course), :class => 'task-btn fr mr10' %>
<% if edit_mode %>
<%= link_to '取消', student_work_index_path(:homework => @homework.id), :class => 'task-btn fr mr10' %>
<% else %>
<%= link_to '取消', homework_common_index_path(:course => @course), :class => 'task-btn fr mr10' %>
<% end %>
</li>
</ul>
</div>
@ -143,7 +147,7 @@
<a href="javascript:void(0);" title="增加" class="test_icon_add"><i class="fa fa-plus-circle color-grey font-16 ml10 fl mt5"></i></a>
<a href="javascript:void(0);" title="删除" class="test_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
</p>
<textarea class="task-form-50 task-height-40 mb10 fl panel-box-sizing" placeholder="测试输入" name="program[output][]"></textarea>
<textarea class="task-form-50 task-height-40 mb10 fl panel-box-sizing" placeholder="测试输入" name="program[input][]"></textarea>
<textarea class="task-form-45 task-height-40 mb10 fl ml10 panel-box-sizing" placeholder="测试输出" name="program[output][]" style="width:49%;"></textarea>
</li>
</script>
@ -156,6 +160,6 @@
<a href="javascript:void(0);" title="删除" class="sample_icon_remove"><i class="fa fa-times-circle color-grey font-16 ml10 fl mt5"></i></a>
</p>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输入" name="sample[input][]"></textarea>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输出" name="sample[input][]"></textarea>
<textarea class="task-form-100 task-height-40 mb10 panel-box-sizing" placeholder="样例输出" name="sample[output][]"></textarea>
</li>
</script>

View File

@ -1,14 +1,14 @@
<div class="task-popup" style="width:650px;">
<div class=" task-popup-title clearfix task-popup-bggrey">
<h3 class="fl ">选择实训</h3>
<a href="#" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
<div class="task-popup-title clearfix task-popup-bggrey">
<h3 class="fl">选择实训</h3>
<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>
</div>
<div class="task_popup_con ">
<%= labelled_form_for @homework, :url =>{:controller=> 'homework_common', :action => 'shixuns', :course => @course.id}, :method => "get", :remote => true do |f| %>
<div class="task_popup_con">
<%= labelled_form_for @homework, :url =>{:controller=> 'homework_common', :action => 'shixuns', :course => @course.id}, :id => 'shixun_search_form', :method => "get", :remote => true do |f| %>
<div class=" clearfix mb10">
<div class="task-form-50 edu-position fr" style="padding:0;">
<input class="task-form-100 panel-box-sizing" placeholder="输入实训名称的关键字搜索" type="text" name="search">
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
<input class="task-form-100 panel-box-sizing" placeholder="输入实训名称的关键字搜索" type="text" name="search">
<a href="javascript:void(0);" onclick="$('#shixun_search_form').submit()" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
</div>
</div>
<% end %>
@ -37,9 +37,9 @@
</table>
<% end %>
<div class="clearfix">
<div class="clearfix fl mt10">
<a href="#" class="task-btn fr pop_close">取消</a>
<a href="javascript:void(0);" class=" task-btn task-btn-blue fr mr10" onclick="new_shixun_homework();">选择</a>
<div class="clearfix fr mt10">
<a href="javascript:void(0);" class="task-btn task-btn-blue fr" onclick="new_shixun_homework();">选择</a>
<a href="javascript:void(0);" class="task-btn fr pop_close mr10">取消</a>
</div>
<div class="fr pages_right_min">
<ul>

View File

@ -22,8 +22,8 @@
<div class="list">
<i class="fa fa-map color-light-green font-20 pl20 pr10 pt5" aria-hidden="true"></i><span>题库</span>
<ul class="color-grey">
<li><%= link_to "我的题库", user_homeworks_user_path(User.current, :type => 1), :target => "_blank" %></li>
<li><%= link_to "公共题库", user_homeworks_user_path(User.current, :type => 2), :target => "_blank" %></li>
<li><%= link_to "我的题库", homework_bank_index_path(), :target => "_blank" %></li>
<li><%= link_to "公共题库", homework_bank_index_path(:type => 2), :target => "_blank" %></li>
</ul>
</div>
<div class="list">

View File

@ -43,9 +43,11 @@
<li id="edu-tab-nav-2" onclick="HoverLi(2);">
<a href="javascript:void(0);" class="tab_type">作品列表</a>
</li>
<li id="edu-tab-nav-3" class="<%= @is_teacher || (@homework.answer_public && @homework.homework_detail_manual.comment_status > 2) ? '' : 'none' %>" onclick="HoverLi(3);">
<a href="javascript:void(0);" class="tab_type">参考答案</a>
</li>
<% if @is_teacher || (@homework.answer_public && @homework.homework_detail_manual.comment_status > 2) %>
<li id="edu-tab-nav-3" onclick="HoverLi(3);">
<a href="javascript:void(0);" class="tab_type">参考答案</a>
</li>
<% end %>
</ul>
<div class="cl"></div>
<div id="edu-tab-con-1">
@ -296,18 +298,20 @@
</div>
</div>
</div>
<div id="edu-tab-con-3" class="undis">
<div class="edu-tab-con-box">
<div>
<% if @homework.reference_answer %>
<%= @homework.reference_answer.html_safe %>
<% else %>
<img src="../images/bigdata/edu-class/edu-nodata.png" width="200" height="" class="edu-nodata-img">
<p class="edu-nodata-p mb30">暂未设置参考答案 ~ </p>
<% end %>
<% if @is_teacher || (@homework.answer_public && @homework.homework_detail_manual.comment_status > 2) %>
<div id="edu-tab-con-3" class="undis">
<div class="edu-tab-con-box">
<div>
<% unless @homework.reference_answer.blank? %>
<%= @homework.reference_answer.html_safe %>
<% else %>
<img src="../images/bigdata/edu-class/edu-nodata.png" width="200" height="" class="edu-nodata-img">
<p class="edu-nodata-p mb30">暂未设置参考答案 ~ </p>
<% end %>
</div>
</div>
</div>
</div>
</div>
<% end %>
<div class="cl"></div>
</div>
</div>

View File

@ -6,7 +6,7 @@
<% courses.each do |course| %>
<li>
<input type="checkbox" name="course_ids[]" id="subcheck" onclick="setSelectAll();" value="<%= course.id %>" />
<label><%=course.name + ''+current_time_and_term_short(course) + ''%></label>
<label><%=course.name %></label>
</li>
<% end %>
<% end %>

View File

@ -432,6 +432,20 @@ RedmineApp::Application.routes.draw do
end
end
resources :homework_bank do
member do
get 'set_public'
end
collection do
match 'shixuns'
post 'destroy_all'
match 'choose_user_course'
post 'send_h_bank_to_course'
end
end
resources :student_work do
member do
post 'add_score'

View File

@ -0,0 +1,30 @@
class CreateHomeworkBankSamples < ActiveRecord::Migration
def change
create_table :homework_bank_samples do |t|
t.text :input
t.text :output
t.references :homework_bank
t.timestamps
end
add_index :homework_bank_samples, :homework_bank_id
count = HomeworkBank.where(:homework_type => 2).count / 30 + 2
transaction do
for i in 1 .. count do
HomeworkBank.where(:homework_type => 2).page(i).per(30).each do |homework|
unless homework.homework_common_id.blank?
h_common = HomeworkCommon.find homework.homework_common_id
unless h_common.homework_samples.blank?
h_common.homework_samples.each do |hs|
HomeworkBankSample.create(:input => hs.input, :output => hs.output, :homework_bank_id => homework.id)
end
end
end
end
end
end
HomeworkBankTest.where(:test_type => 0).destroy_all
end
end

View File

@ -0,0 +1,24 @@
class AddColumnsToHomeworkBank < ActiveRecord::Migration
def change
add_column :homework_banks, :reference_answer, :text
add_column :homework_banks, :syllabus_id, :integer
add_column :homework_banks, :major_level, :text
add_column :homework_banks, :discipline_category_id, :text
add_column :homework_banks, :first_level_discipline_id, :text
count = HomeworkBank.all.count / 30 + 2
transaction do
for i in 1 .. count do
HomeworkBank.page(i).per(30).each do |homework|
unless homework.homework_common_id.blank?
h_common = HomeworkCommon.find homework.homework_common_id
if h_common
course = h_common.course
homework.update_attributes(:reference_answer => h_common.reference_answer, :syllabus_id => course.syllabus_id)
end
end
end
end
end
end
end

View File

@ -0,0 +1,12 @@
class CreateHomeworkBankShixuns < ActiveRecord::Migration
def change
create_table :homework_bank_shixuns do |t|
t.references :homework_bank
t.references :shixun
t.timestamps
end
add_index :homework_bank_shixuns, :homework_bank_id
add_index :homework_bank_shixuns, :shixun_id
end
end

View File

@ -209,7 +209,7 @@ function s_op_confirm_box(url, str){
function delete_confirm_box(url, str){
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="'+ url +'" class="task-btn task-btn-blue fr" data-remote="true">确定</a></div></div>';
'<a href="'+ url +'" class="task-btn task-btn-blue fr" data-remote="true" onclick="hideModal();">确定</a></div></div>';
pop_box_new(htmlvalue, 480, 140);
}
@ -225,7 +225,7 @@ function delete_confirm_box_2(url, str){
function delete_confirm_box_3(url, str){
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">' + str + '</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="'+ url +'" class="task-btn task-btn-blue fr" data-method="delete">确定</a></div></div>';
'<a href="'+ url +'" class="task-btn task-btn-blue fr" data-method="delete" onclick="hideModal();">确定</a></div></div>';
pop_box_new(htmlvalue, 480, 140);
}

View File

@ -832,4 +832,157 @@ function SearchByName_1()
success: function(data){
}
});
}
function choose_course(user_id, hw_id) {
$.ajax({
type: 'get',
url: '/users/' + user_id + '/choose_user_course?homework='+hw_id
});
}
function submit_homework_bank_search(url){
$.get(url, {search: $("#homework_bank_search").val()}, function(data){})
}
function alert_choose_homework_bank_type(){
var htmlvalue = '<div class="task-popup" style="width:300px;">' +
'<div class="task-popup-title clearfix task-popup-bggrey">' +
'<h3 class="fl">选择类别</h3>' +
'<a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a>' +
'</div>' +
'<div class="task_popup_con">' +
'<div class="newupload_conbox">' +
'<div class="clearfix mb15 ml35">' +
'<span class="fl mt5">类别:</span>' +
'<ul class="fl ml20">' +
'<li class="clearfix">' +
'<input type="radio" name="homework_type" value="1" id="homework_type_1" class="fl magic-radio">' +
'<label for="homework_type_1" class="fl ml5 edu-class-pop-label edu-color-grey">' +
'普通' +
'</label>' +
'</li>' +
'<li class="clearfix">' +
'<input type="radio" name="homework_type" value="3" id="homework_type_2" class="fl magic-radio">' +
'<label for="homework_type_2" class="fl ml5 edu-class-pop-label edu-color-grey">' +
'分组' +
'</label>' +
'</li>' +
'<li class="clearfix">' +
'<input type="radio" name="homework_type" value="2" id="homework_type_3" class="fl magic-radio edu-color-grey">' +
'<label for="homework_type_3" class="fl ml5 edu-class-pop-label">' +
'编程' +
'</label>' +
'</li>' +
'<li class="clearfix">' +
'<input type="radio" name="homework_type" value="4" id="homework_type_4" class="fl magic-radio edu-color-grey">' +
'<label for="homework_type_4" class="fl ml5 edu-class-pop-label">' +
'实训' +
'</label>' +
'</li>' +
'</ul>' +
'</div>' +
'<div class="cl"></div>' +
'<div id="homework_type_notice" class="clearfix color-red none mt-10 ml75">请先选择作业类型</div>' +
'<div class="task-popup-submit clearfix">' +
'<a href="javascript:void(0);" class="task-btn fl pop_close">取消</a>' +
'<a href="javascript:void(0);" onclick="new_homework_bank_type();" class="task-btn task-btn-blue fr">确定</a>' +
'</div>' +
'</div>' +
'</div>' +
'</div>';
pop_box_new(htmlvalue, 300, 308);
}
function new_homework_bank_type(){
if($("input[name='homework_type']:checked").length == 0){
$("#homework_type_notice").show();
} else{
var type=$("input[name='homework_type']:checked").val();
console.log(type == 4);
if(type == 4){
$.ajax({
url: '/homework_bank/shixuns',
remote: true
});
}else{
window.location.href = '/homework_bank/new?homework_type=' + $("input[name='homework_type']:checked").val();
}
}
}
function new_shixun_homework_bank(){
if($("input[name='shixun_homework']:checked").length == 0){
$("#homework_type_notice").show();
} else{
var type=$("input[name='shixun_homework']:checked").val();
console.log(type);
$("#shixun_homework_bank_new").submit();
}
}
$(function(){
$("input[name='check_homework_bank[]']").live('click', function(){
if($("input[name='check_homework_bank[]']:checked").length == $("input[name='check_homework_bank[]']").length){
$("#homework_bank_all_select").attr("checked", "checked");
} else{
$("#homework_bank_all_select").attr("checked", false);
}
});
$("#homework_bank_all_select").live('click', function(){
if($("#homework_bank_all_select").is(':checked')){
$("input[name='check_homework_bank[]']").attr("checked", "checked");
} else{
$("input[name='check_homework_bank[]']").attr("checked", false);
}
});
});
function choose_course_to_send_hb(){
if($("input[name='check_homework_bank[]']:checked").length >= 1){
$("#choose_homework_bank_to_send_notice_h").html("").hide();
$("#hb_search_course_h_form").submit();
}else{
$("#choose_homework_bank_to_send_notice_h").html("请先选择题目").show();
}
}
function search_hw_course(url){
$.ajax({
url: url,
type: 'post',
data: {search: $("#hb_search_course_input").val(), is_observe: true},
success: function(data){
}
});
}
function submit_send_hb_to_course(){
if($("input[name='course_id']:checked").length >= 1){
$("#search_course_notice_h").html("").hide();
$("#send_hb_to_course_form").submit();
hideModal();
}else{
$("#search_course_notice_h").html("请先选择一个班级").show();
}
}
function destroy_all_hb(url){
if($("input[name='check_homework_bank[]']:checked").length >= 1){
$("#choose_homework_bank_to_send_notice_h").html("").hide();
var htmlvalue = '<div class="task-popup" style="width:480px;"><div class="task-popup-title clearfix"><h3 class="fl color-grey">提示</h3><a href="javascript:void(0);" class="pop_close"><i class="fa fa-times-circle font-18 link-color-grey fr mt5"></i></a></div>'+
'<div class="task-popup-content"><p class="task-popup-text-center font-16">确定要删除所选题目吗?</p></div><div class="task-popup-submit clearfix"><a href="javascript:void(0);" onclick="hideModal();" class="task-btn fl">取消</a>'+
'<a href="javascript:void(0);" class="task-btn task-btn-blue fr" id="destroy_all_hb_btn">确定</a></div></div>';
pop_box_new(htmlvalue,480,140);
$("#destroy_all_hb_btn").on('click',function(){
$.ajax({
url: url,
type: 'post',
data: $("#hb_search_course_h_form").serialize(),
success: function(data){
}
});
hideModal();
});
}else{
$("#choose_homework_bank_to_send_notice_h").html("请先选择题目").show();
}
}

View File

@ -308,7 +308,7 @@ function alert_choose_homework_type(id){
'</ul>' +
'</div>' +
'<div class="cl"></div>' +
'<div id="homework_type_notice" class="clearfix c_red none mt-10 ml75">请先选择作业类型</div>' +
'<div id="homework_type_notice" class="clearfix color-red none mt-10 ml75">请先选择作业类型</div>' +
'<div class="task-popup-submit clearfix">' +
'<a href="javascript:void(0);" class="task-btn fl pop_close">取消</a>' +
'<a href="javascript:void(0);" onclick="new_homework_type('+id+');" class="task-btn task-btn-blue fr">确定</a>' +

View File

@ -73,7 +73,7 @@ table.table-pa5 th,table.table-pa5 td{ padding:0 5px;}
.edu-class-top-info{ color:#333;}
.edu-class-top-img{ width:260px; height: 140px;}
/* tab */
.edu-tab{ width: 100%; background:#fff;}
.edu-tab{ width: 100%; background:#fff; min-height: 600px;}
#edu-tab-nav{height:47px;background: #fff; }
#edu-tab-nav li {float:left; width: 170px; text-align:center;height: 47px;line-height: 47px; position: relative; }
.edu-tab-fa{ position: absolute; top:28px!important; left:81px!important; color: #fff;}
@ -369,3 +369,10 @@ a.uploadIcon {width:100px; height:33px;color:#ffffff;}
.mb15 {margin-bottom: 15px}
.disable_link a {background-color: #c1c1c1 !important;}
.reUploadDetail{border:1px solid #dddddd; float:left; resize:none; width:428px; height:80px; overflow-y:auto;outline: none;}
.bank_tusi{position:absolute;top:0px;left:62.5%;width:450px;}
.bank_tusi .entry {background-color: #FFFEF4;height: 40px;line-height: 40px;border: 1px solid #F3DDB3;width:400px;margin:0 auto;position:relative;
text-indent:10px;}
.bank_tusi .entry em,.after{display: block;border-width: 9px;
position: absolute;top: 10px;left: -18px;border-style: dashed solid dashed dashed;border-color: transparent #F3DDB3 transparent transparent;font-size: 0;line-height: 0;}
.bank_tusi .entry .after{left: -17px;border-color: transparent #FFFEF4 transparent transparent;}

View File

@ -29,7 +29,7 @@
.magic-radio + label:before,
.magic-checkbox + label:before {
position: absolute;
top: 5px;
top: 6px;
left: 0;
display: inline-block;
width: 14px;

View File

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe HomeworkBankController, :type => :controller do
end

View File

@ -0,0 +1,8 @@
FactoryGirl.define do
factory :homework_bank_sample do
input "MyText"
output "MyText"
homework_bank nil
end
end

View File

@ -0,0 +1,7 @@
FactoryGirl.define do
factory :homework_bank_shixun do
homework_bank nil
shixun nil
end
end

View File

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe HomeworkBankSample, :type => :model do
pending "add some examples to (or delete) #{__FILE__}"
end

View File

@ -0,0 +1,5 @@
require 'rails_helper'
RSpec.describe HomeworkBankShixun, :type => :model do
pending "add some examples to (or delete) #{__FILE__}"
end