From f99121a353aaeb6d1512d2753675df0a36b08a76 Mon Sep 17 00:00:00 2001 From: XuCheng642 <287102909@qq.com> Date: Fri, 28 Jul 2017 17:01:42 +0800 Subject: [PATCH 01/14] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8D=95=E4=BD=8D?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 27 ++++++++++++----------- app/views/school/upload_logo.html.erb | 20 ++++++++--------- app/views/shixuns/_shixun_yx.html | 2 +- config/routes.rb | 5 ++++- 4 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index f0cb3aacd..37539b09c 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -145,23 +145,22 @@ class ManagementsController < ApplicationController @menu_type = 2 @sub_type = 1 @syllabus = Syllabus.where("0=0") - @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] unless params[:school_id] || params[:search] || params[:keyword] || params[:status] - user_exs=UserExtensions.where(:user_id=> @syllabus.map(&:user_id)) + user_exs = UserExtensions.where(:user_id=> @syllabus.map(&:user_id)) @schools = School.where(:id =>user_exs.map(&:school_id)) end - major_level_option=params[:major_level_option] - discipline_category_option=params[:discipline_category_option] - first_level_discipline_option=params[:first_level_discipline_option] - syllabus_major_option=params[:syllabus_major_option] - keyword=params[:keyword] - search=params[:search] + major_level_option = params[:major_level_option] + discipline_category_option = params[:discipline_category_option] + first_level_discipline_option = params[:first_level_discipline_option] + syllabus_major_option = params[:syllabus_major_option] + keyword = params[:keyword] + search = params[:search] if major_level_option!='0' - @syllabus=@syllabus.where(:major_level=>major_level_option) + @syllabus = @syllabus.where(:major_level=>major_level_option) else - @syllabus=@syllabus + @syllabus = @syllabus end if discipline_category_option !=nil @@ -183,15 +182,16 @@ class ManagementsController < ApplicationController end if search.blank? - @syllabus = @syllabus + @syllabus = @syllabus.where("0=0") else if "u_name" == keyword user_id = User.where("concat(lastname, firstname) like '%#{search}%'") @syllabus = @syllabus.includes(:user).where("concat(users.lastname, users.firstname) like '%#{search}%'") else - @syllabus= @syllabus.where("user_id like '%#{search}%'") + @syllabus= @syllabus.where("title like '%#{search}%'") end end + @syllabus = @syllabus.order("created_at #{@sx_order}") @syllabus_count = @syllabus.count limit = 20 @is_remote = true @@ -199,8 +199,8 @@ class ManagementsController < ApplicationController @offset ||= @syllabus_pages.offset @syllabus = paginateHelper @syllabus, limit respond_to do |format| - format.html format.js + format.html end end @@ -239,6 +239,7 @@ class ManagementsController < ApplicationController @courses= @courses.where("name like '%#{search}%'").order("created_at #{@sx_order}") end @courses = @courses.select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").reorder("updatetime desc") + @courses = @courses.order("created_at #{@sx_order}") @courses_count = @courses.count limit = 20 @is_remote = true diff --git a/app/views/school/upload_logo.html.erb b/app/views/school/upload_logo.html.erb index 11e23c22c..cab1cb861 100644 --- a/app/views/school/upload_logo.html.erb +++ b/app/views/school/upload_logo.html.erb @@ -11,18 +11,18 @@ function showPreview(source) { } -<%= form_tag(upload_school_path(@school.id),method: "post", multipart: true,:id => "school_form") do %> +<%= form_tag(upload_school_path(@school.id),method: "post", multipart: true,:id => "school_form",:class=>"mt50 ml35") do %> <%#= text_field_tag 'school'%> -
- +
+ <%= image_tag(@school.logo_link, id: "avatar_image", :class=>"school_avatar")%> - 上传图片 + 上传图片 <%= file_field_tag 'logo',:style => "display:none;", :id => "file", :onchange => "showPreview(this)"%>
-
学校名称:
+
学校名称:
学校省份: - + @@ -60,9 +60,9 @@ function showPreview(source) {
-
- - +
+ 提交 + 取消 <%#= submit_tag('提交',:class=>'mr5') %> <%#= submit_tag('取消') %>
diff --git a/app/views/shixuns/_shixun_yx.html b/app/views/shixuns/_shixun_yx.html index 88478f5e8..39aef80e2 100644 --- a/app/views/shixuns/_shixun_yx.html +++ b/app/views/shixuns/_shixun_yx.html @@ -6,7 +6,7 @@ - + diff --git a/config/routes.rb b/config/routes.rb index 275207c83..22b1ec281 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -378,6 +378,7 @@ RedmineApp::Application.routes.draw do collection do get 'apply_add_school' get 'search_repeat_schoolname' + get 'upload_logo' end member do @@ -1785,7 +1786,9 @@ RedmineApp::Application.routes.draw do #######confusing######## get 'welcome/search', to: 'welcome#search' get 'school/index', to: 'school#index' - get 'school/:school_id', to: 'welcome#course', :as => 'school_course_list' + get 'school/:school_id', to: + + 'welcome#course', :as => 'school_course_list' post 'school/get_options/:province', :to => 'school#get_options' get 'school/get_options/:province', :to => 'school#get_options' From ca20c827f658d3dc1514dff8acb9338b7db2a77c Mon Sep 17 00:00:00 2001 From: XuCheng642 <287102909@qq.com> Date: Mon, 31 Jul 2017 17:41:42 +0800 Subject: [PATCH 02/14] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 3 +- app/helpers/managements_helper.rb | 49 +++++++++++-------- app/models/shixun_major_course.rb | 12 ++--- .../_applicable_course_list.html.erb | 27 +++++++--- .../_classroom_classment_list.html.erb | 4 +- .../managements/_classroom_list.html.erb | 4 +- app/views/managements/classroom.html.erb | 4 +- .../managements/classroom_classment.html.erb | 4 +- .../identity_authentication.html.erb | 24 ++++----- app/views/school/upload_logo.html.erb | 8 +-- 10 files changed, 81 insertions(+), 58 deletions(-) diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 37539b09c..5ff3498e0 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -43,9 +43,10 @@ class ManagementsController < ApplicationController # 实训适用课程 def applicable_course - @majorcourse=MajorCourse.where("0=0") + @courselist = CourseList.find_by_sql("SELECT id, name as name FROM `course_lists` where id in (SELECT id FROM `major_courses`);") end + # 单位部门列表 def departments @menu_type = 6 diff --git a/app/helpers/managements_helper.rb b/app/helpers/managements_helper.rb index c1dac27f6..811e2a78c 100644 --- a/app/helpers/managements_helper.rb +++ b/app/helpers/managements_helper.rb @@ -1,20 +1,29 @@ -module ManagementsHelper - - def trial_authorization_status status - case status - when "0", nil - 0 - when "1" - 1 - when "2" - 2 - else - [1,2] - end - end - - def query_user_status_num status - user = (status == 0) ? user = User.all : User.where(:status => status) - return user.count - end -end +module ManagementsHelper + + def trial_authorization_status status + case status + when "0", nil + 0 + when "1" + 1 + when "2" + 2 + else + [1,2] + end + end + + def query_user_status_num status + user = (status == 0) ? user = User.all : User.where(:status => status) + return user.count + end + + def course_list_major_time id + Major.where(:id => id).first.try(:name) + end + + # params[:id]: course_list_id + def get_course_list_major id + ShixunMajorCourse.where(:course_list_id => id) + end +end diff --git a/app/models/shixun_major_course.rb b/app/models/shixun_major_course.rb index 7d288ecf0..83305a09b 100644 --- a/app/models/shixun_major_course.rb +++ b/app/models/shixun_major_course.rb @@ -1,6 +1,6 @@ -class ShixunMajorCourse < ActiveRecord::Base - belongs_to :shixun - belongs_to :major - belongs_to :course_list - #attr_accessible :course_list -end +class ShixunMajorCourse < ActiveRecord::Base + belongs_to :shixun + belongs_to :major + belongs_to :course_list + #attr_accessible :course_list +end diff --git a/app/views/managements/_applicable_course_list.html.erb b/app/views/managements/_applicable_course_list.html.erb index b69b84f6e..0bb2206a8 100644 --- a/app/views/managements/_applicable_course_list.html.erb +++ b/app/views/managements/_applicable_course_list.html.erb @@ -9,13 +9,26 @@ - <% @majorcourse.each_with_index do |majorcourse,index|%> - - <%= majorcourse.course_list_id%> - - - - + <% @courselist.each_with_index do |courselist,index|%> + + <%= index + 1 %> + + <%= courselist.name %> + + + <% get_course_list_major(courselist.id).each do |smc| %> + <%= course_list_major_time(smc.major_id) %> + <%= format_time smc.created_at %> + <% end %> + + + <%# get_course_list_major(courselist.id).each do |smc| %> + <%#= course_list_major_time(smc.major_id) %> + <%#= format_time smc.created_at %> + <%# end %> + + + <% end %> diff --git a/app/views/managements/_classroom_classment_list.html.erb b/app/views/managements/_classroom_classment_list.html.erb index 88c237bfb..68f789e50 100644 --- a/app/views/managements/_classroom_classment_list.html.erb +++ b/app/views/managements/_classroom_classment_list.html.erb @@ -32,8 +32,8 @@ <%= link_to course.teacher.show_name, user_path(course.teacher) %> <%= format_time(course.updatetime) %> - - + + <% end %> diff --git a/app/views/managements/_classroom_list.html.erb b/app/views/managements/_classroom_list.html.erb index 57467d02f..de34f4b14 100644 --- a/app/views/managements/_classroom_list.html.erb +++ b/app/views/managements/_classroom_list.html.erb @@ -24,8 +24,8 @@ <%= link_to syllabus.user.show_name, user_path(syllabus.user) %> <%= format_time syllabus.created_at %> - - + + <% end %> diff --git a/app/views/managements/classroom.html.erb b/app/views/managements/classroom.html.erb index 9d53671f2..45858896c 100644 --- a/app/views/managements/classroom.html.erb +++ b/app/views/managements/classroom.html.erb @@ -15,8 +15,8 @@ - - + + 搜索 diff --git a/app/views/managements/classroom_classment.html.erb b/app/views/managements/classroom_classment.html.erb index 1793a5420..fda65b3df 100644 --- a/app/views/managements/classroom_classment.html.erb +++ b/app/views/managements/classroom_classment.html.erb @@ -19,8 +19,8 @@ 搜索 清除 - - + +
<% end%> diff --git a/app/views/managements/identity_authentication.html.erb b/app/views/managements/identity_authentication.html.erb index 2bacddd95..d96fba6ab 100644 --- a/app/views/managements/identity_authentication.html.erb +++ b/app/views/managements/identity_authentication.html.erb @@ -1,17 +1,17 @@
- - - - - - - - - - - +
+ +
    +
  • + <%= link_to "身份认证", {:controller => "managements", :action => "", :type => 0}, :class => "tab_type", :remote => true %> +
  • +
  • + <%= link_to "职业认证", {:controller => "managements", :action => "", :type => 0}, :class => "tab_type", :remote => true %> +
  • +
+
- +
diff --git a/app/views/school/upload_logo.html.erb b/app/views/school/upload_logo.html.erb index cab1cb861..735571ed6 100644 --- a/app/views/school/upload_logo.html.erb +++ b/app/views/school/upload_logo.html.erb @@ -15,13 +15,13 @@ function showPreview(source) { <%#= text_field_tag 'school'%>
- <%= image_tag(@school.logo_link, id: "avatar_image", :class=>"school_avatar")%> - 上传图片 + <%= image_tag(@school.logo_link, id: "avatar_image", :class=>"school_avatar ml25")%> + 上传图片 <%= file_field_tag 'logo',:style => "display:none;", :id => "file", :onchange => "showPreview(this)"%>
学校名称:
学校省份: - @@ -43,7 +43,7 @@ function showPreview(source) { - + From 46fe64d045698e091056fd76c860434f14effd78 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 8 Aug 2017 09:10:54 +0800 Subject: [PATCH 03/14] =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E9=A6=96=E9=A1=B5=E5=85=A8=E9=83=A8=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E7=9A=84=E7=BC=96=E8=BE=91icon=E4=B8=8D=E5=BA=94?= =?UTF-8?q?=E8=AF=A5=E9=9A=90=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/challenges/_content_list.html.erb | 14 ++++++++------ app/views/challenges/_skill_form.html.erb | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/views/challenges/_content_list.html.erb b/app/views/challenges/_content_list.html.erb index 4fa08e9b8..c169d118d 100644 --- a/app/views/challenges/_content_list.html.erb +++ b/app/views/challenges/_content_list.html.erb @@ -36,13 +36,15 @@ <% end %> <% end %> - <% if User.current.manager_of_shixun?(@shixun) && @shixun.status == 0 %> + <% if User.current.manager_of_shixun?(@shixun) %>

- <% unless challenge.position < 2 %> - - <% end %> - <% if @shixun.challenges.count != challenge.position %> - + <% if @shixun.status == 0 %> + <% unless challenge.position < 2 %> + + <% end %> + <% if @shixun.challenges.count != challenge.position %> + + <% end %> <% end %> diff --git a/app/views/challenges/_skill_form.html.erb b/app/views/challenges/_skill_form.html.erb index 57e6122bd..8fe6bb0ae 100644 --- a/app/views/challenges/_skill_form.html.erb +++ b/app/views/challenges/_skill_form.html.erb @@ -18,7 +18,7 @@ +添加

-

+

    <% if @st == 0 %> From fa1cad5af3376d9c0edbade38bdc28c190d7c3a9 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 8 Aug 2017 09:39:38 +0800 Subject: [PATCH 04/14] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E7=9A=84=E9=A2=84?= =?UTF-8?q?=E5=A4=87=E7=9F=A5=E8=AF=86tab=E6=81=A2=E5=A4=8D=EF=BC=8C?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=E6=8D=A2=E6=88=90=E2=80=9C=E8=83=8C=E6=99=AF?= =?UTF-8?q?=E7=9F=A5=E8=AF=86=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/challenges/edit.html.erb | 10 +++++----- app/views/games/_game_show.html.erb | 4 ++-- app/views/layouts/base_shixun.html.erb | 2 +- app/views/shixuns/propaedeutics.html.erb | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/views/challenges/edit.html.erb b/app/views/challenges/edit.html.erb index 6afff9c42..2dd7c493b 100644 --- a/app/views/challenges/edit.html.erb +++ b/app/views/challenges/edit.html.erb @@ -55,9 +55,9 @@
  1. "> 参考答案
  2. -
  3. "> - 预备知识 -
  4. +
  5. "> 评分设置
  6. @@ -76,8 +76,8 @@ <%= render :partial => "edit_scoring" %> <% elsif @tab == 5 %> <%= render :partial => "edit_skill" %> - <% elsif @tab == 6 %> - <%= render :partial => "edit_propaedeutics" %> + <%# elsif @tab == 6 %> + <%#= render :partial => "edit_propaedeutics" %> <% end %>
diff --git a/app/views/games/_game_show.html.erb b/app/views/games/_game_show.html.erb index dc63113b8..a0fa4bff3 100644 --- a/app/views/games/_game_show.html.erb +++ b/app/views/games/_game_show.html.erb @@ -17,7 +17,7 @@ 过关任务
  • - 预备知识 + 背景知识
  • <% unless @game_challenge.answer.blank? %>
  • @@ -44,7 +44,7 @@
    - +
    diff --git a/app/views/layouts/base_shixun.html.erb b/app/views/layouts/base_shixun.html.erb index 7684a7a95..43fabec25 100644 --- a/app/views/layouts/base_shixun.html.erb +++ b/app/views/layouts/base_shixun.html.erb @@ -27,7 +27,7 @@
    • " >实训
    • - +
    • " >背景知识
    • <% if User.current.manager_of_shixun?(@shixun) %>
    • <%= link_to l(:project_module_repository), diff --git a/app/views/shixuns/propaedeutics.html.erb b/app/views/shixuns/propaedeutics.html.erb index b74beaee5..2925a674c 100644 --- a/app/views/shixuns/propaedeutics.html.erb +++ b/app/views/shixuns/propaedeutics.html.erb @@ -9,7 +9,7 @@
      -

      预备知识

      +

      背景知识

      <% if @shixun.status == 0 && User.current.manager_of_shixun?(@shixun) %> 编辑 <% end %> @@ -18,7 +18,7 @@
        <%= form_tag update_propaedeutics_shixun_path(@shixun), :method =>"post", :id => "update_propaedeutics" do |f| %>
      • - +
        From a8eff6615085a26a43ce4f8f68921809938ea0e4 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 8 Aug 2017 10:07:36 +0800 Subject: [PATCH 05/14] =?UTF-8?q?=E5=B7=B2=E5=8F=91=E5=B8=83=E7=9A=84?= =?UTF-8?q?=E5=AE=9E=E8=AE=AD=EF=BC=8C=E9=85=8D=E7=BD=AE=E9=A1=B5=E9=99=A4?= =?UTF-8?q?=E4=BA=86=E2=80=9C=E6=8A=80=E6=9C=AF=E5=B9=B3=E5=8F=B0=E2=80=9D?= =?UTF-8?q?=E5=85=B6=E5=AE=83=E9=A1=B9=E5=85=81=E8=AE=B8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 8 ++++---- app/views/shixuns/_settings_edit.html.erb | 7 ++++++- app/views/shixuns/_settings_show.html.erb | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index eab591a15..da847a314 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -474,7 +474,7 @@ class ShixunsController < ApplicationController end def update - if @shixun.status == 0 + #if @shixun.status == 0 language = @shixun.language @shixun.attributes = params[:shixun] @shixun.language = params[:language] @@ -493,9 +493,9 @@ class ShixunsController < ApplicationController add_shixun_modify_status(@shixun, 1) end end - else - @error = "该实训已申请发布了,暂不能编辑" - end + #else + # @error = "该实训已申请发布了,暂不能编辑" + #end respond_to do |format| format.html{redirect_to settings_shixun_url(@shixun)} format.js diff --git a/app/views/shixuns/_settings_edit.html.erb b/app/views/shixuns/_settings_edit.html.erb index 361e75edb..ffbb22e17 100644 --- a/app/views/shixuns/_settings_edit.html.erb +++ b/app/views/shixuns/_settings_edit.html.erb @@ -43,7 +43,12 @@
      • - <%= select_tag :language, options_for_select(shixun_language, @shixun.language), :id => 'shixun[language]', :class => "fl task-form-10 task-height-40" %> + <% if @shixun.status != 0 %> + <%= select_tag :language_disable, options_for_select(shixun_language, @shixun.language), :class => "fl task-form-10 task-height-40", :disabled => true %> + <%= select_tag :language, options_for_select(shixun_language, @shixun.language), :id => 'shixun[language]', :class => "fl task-form-10 task-height-40 undis" %> + <% else %> + <%= select_tag :language, options_for_select(shixun_language, @shixun.language), :id => 'shixun[language]', :class => "fl task-form-10 task-height-40" %> + <% end %>
      • +实践任务 From 272368ed9e92db7f1d2682fd2ff2d96ae6a77bcc Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Tue, 8 Aug 2017 13:53:39 +0800 Subject: [PATCH 07/14] =?UTF-8?q?=E5=AE=9E=E8=AE=AD=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E6=8C=89=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/shixuns_controller.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index da847a314..611e98c8f 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -83,7 +83,7 @@ class ShixunsController < ApplicationController search = params[:search] @shixun_all_count = Shixun.all.count #@shixuns = Shixun.find_by_sql("select * from shixuns where id in (SELECT distinct(shixun_id) FROM `challenges`) and name like '%#{search}%' order by created_at desc") - @shixuns = Shixun.where("name like ?", "%#{search}%").reorder("created_at desc") + @shixuns = Shixun.where("name like ?", "%#{search}%").reorder("updated_at desc") # @shixun_my_score = Game.find_by_sql("select sum(final_score) as score from games where myshixun_id in (select id from myshixuns where status =1 # and user_id=#{User.current.id} and shixun_id in (SELECT id FROM `shixuns` where status > 1))").first.try(:score).to_i @shixun_my_score = Experience.find_by_sql("SELECT sum(score) as score FROM `experiences` where user_id=#{User.current.id}").first.try(:score).to_i @@ -154,7 +154,7 @@ class ShixunsController < ApplicationController def search # 确定 sort 1升序 2 降序 - @order = params[:order] || "created_at" + @order = params[:order] || "updated_at" bsort = params[:sort] || "desc" @sort = bsort == "desc" ? "asc" : "desc" if @order == "created_at" From c278a4ea5671107d330c0f53ab7586e03fced192 Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 10 Aug 2017 11:22:42 +0800 Subject: [PATCH 08/14] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8A=80=E8=83=BD?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E4=B8=8D=E5=BA=94=E8=AF=A5=E6=8A=A5=E4=BA=91?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E7=B9=81=E5=BF=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/challenges_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index b441cf5fa..ef29f560e 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -173,6 +173,8 @@ class ChallengesController < ApplicationController end end end + # 向jenkins端发送请求,构建公共测试用例 + add_shixun_modify_status(@shixun, 1) elsif params[:tab].to_i == 5 @challenge_tags.delete_all unless @challenge_tags.blank? unless params[:knowledge].blank? @@ -181,8 +183,7 @@ class ChallengesController < ApplicationController end end end - # 向jenkins端发送请求,构建公共测试用例 - add_shixun_modify_status(@shixun, 1) + redirect_to edit_shixun_challenge_path(@challenge, :shixun_id => @shixun, :tab => params[:tab]) rescue Exception => e flash[:error] = "#{e.message}" From fe7b582cc3edcda0be279554aa0ea4b825db7ffd Mon Sep 17 00:00:00 2001 From: daiao <358551898@qq.com> Date: Thu, 10 Aug 2017 14:32:12 +0800 Subject: [PATCH 09/14] =?UTF-8?q?=E6=96=B0=E5=BB=BA=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E8=83=8C=E6=99=AF=E7=9F=A5=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/shixuns/_form.html.erb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/views/shixuns/_form.html.erb b/app/views/shixuns/_form.html.erb index ce082abb5..288751d03 100644 --- a/app/views/shixuns/_form.html.erb +++ b/app/views/shixuns/_form.html.erb @@ -28,15 +28,15 @@

        - +
      • <%= select_tag :major_id, options_for_select(shixun_major_option, 0), :id => 'shixun_major', :class => "fl task-form-30 task-height-40"%> @@ -187,8 +187,8 @@ imageUploadURL : "<%= upload_with_markdown_path(:container_id => @shixun.id, :container_type => @shixun.class) %>" //url }); - /* --------------------------------- 预备知识 -------------------------------------- */ - /* var shixun_propaedeutics = editormd("shixun_propaedeutics", { + /* --------------------------------- 背景知识 -------------------------------------- */ + var shixun_propaedeutics = editormd("shixun_propaedeutics", { width : "89.7%", height : 300, syncScrolling : "single", @@ -213,7 +213,7 @@ imageUpload : true, imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"], imageUploadURL : "<%#= upload_with_markdown_path(:container_id => @shixun.id, :container_type => @shixun.class) %>" //url - });*/ + }); ////////////////////////////////////////////////////////////// //提交新建项目 function submit_new_project() From d3a67b42b2a344a741104e0cad7ea83eac2efcd8 Mon Sep 17 00:00:00 2001 From: XuCheng642 <287102909@qq.com> Date: Fri, 11 Aug 2017 11:27:04 +0800 Subject: [PATCH 10/14] =?UTF-8?q?=E8=B6=85=E7=BA=A7=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=91=98=E7=9B=B8=E5=85=B3=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 169 +- app/controllers/shixuns_controller.rb | 1 - app/helpers/managements_helper.rb | 6 +- app/models/course.rb | 5 +- app/models/shixun.rb | 2 +- app/views/layouts/_course_left_info.html.erb | 2 +- app/views/layouts/base_management.html.erb | 8 +- .../_applicable_course_list.html.erb | 48 +- .../_class_publish_shixuns_list.html.erb | 3 +- .../managements/_class_shixuns_list.html.erb | 17 +- .../_classroom_classment_list.html.erb | 91 +- .../managements/_classroom_list.html.erb | 25 +- app/views/managements/_depart_list.html.erb | 24 +- .../managements/_departments_list.html.erb | 13 +- .../_departments_part_list.html.erb | 21 +- .../managements/_profession_list.html.erb | 17 +- .../managements/_publish_shixun_list.html.erb | 22 +- app/views/managements/_unit_list.html.erb | 23 +- .../_users_authorization_list.html.erb | 6 +- app/views/managements/add_course.js.erb | 1 + .../managements/applicable_course.html.erb | 33 +- .../managements/applicable_course.js.erb | 1 + .../class_publish_shixuns.html.erb | 4 +- .../managements/class_publish_shixuns.js.erb | 2 +- app/views/managements/class_shixuns.html.erb | 1 + app/views/managements/classroom.html.erb | 73 +- .../managements/classroom_classment.html.erb | 16 +- .../managements/course_homepage_show.js.erb | 0 app/views/managements/depart.html.erb | 3 +- app/views/managements/departments.html.erb | 1 + .../managements/departments_part.html.erb | 1 + .../identity_authentication.html.erb | 145 +- app/views/managements/profession.html.erb | 1 + .../managements/publish_shixuns.html.erb | 8 +- .../managements/shixun_authorization.html.erb | 5 +- .../subject_authorization.html.erb | 5 +- app/views/managements/unit.html.erb | 1 + config/routes.rb | 3 + public/javascripts/course.js | 3214 ++++++++--------- public/javascripts/edu/account.js | 2 +- public/javascripts/edu/homework.js | 701 ++-- public/javascripts/edu/syllabus.js | 2 +- public/stylesheets/css/edu-public.css | 4 +- 43 files changed, 2456 insertions(+), 2274 deletions(-) create mode 100644 app/views/managements/add_course.js.erb create mode 100644 app/views/managements/applicable_course.js.erb create mode 100644 app/views/managements/course_homepage_show.js.erb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 5ff3498e0..ebe258944 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -9,48 +9,71 @@ class ManagementsController < ApplicationController # 专业列表 def profession @syllabus=Syllabus.where("0=0") - @menu_type=11 - @sub_type=1 - major_level_option=params[:major_level_option] - discipline_category_option=params[:discipline_category_option] - first_level_discipline_option=params[:first_level_discipline_option] - if major_level_option!='0' - @syllabus=@syllabus.where(:major_level=>major_level_option) - else - @syllabus=@syllabus + @menu_type = 12 + @sub_type = 1 + @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] + major_level_option = params[:major_level] if params[:major_level] + discipline_category_option = params[:discipline_category_id] if params[:discipline_category_id] + first_level_discipline_option = params[:first_level_discipline_id] if params[:first_level_discipline_id] + if major_level_option && major_level_option != '0' + @syllabus = @syllabus.where(:major_level=>major_level_option) end - - if discipline_category_option !=nil + if discipline_category_option && discipline_category_option != '0' @syllabus=@syllabus.where(:discipline_category_id=>discipline_category_option) end - - if first_level_discipline_option!=nil + if first_level_discipline_option && first_level_discipline_option != '0' @syllabus=@syllabus.where(:first_level_discipline_id=>first_level_discipline_option) end + @syllabus = @syllabus.order("created_at #{@sx_order}") @syllabus_count = @syllabus.count limit = 20 @is_remote = true @syllabus_pages = Paginator.new @syllabus_count, limit, params['page'] || 1 @offset ||= @syllabus_pages.offset @syllabus = paginateHelper @syllabus, limit - respond_to do |format| format.js format.html end - end # 实训适用课程 def applicable_course - @courselist = CourseList.find_by_sql("SELECT id, name as name FROM `course_lists` where id in (SELECT id FROM `major_courses`);") + @menu_type = 12 + @sub_type = 2 + @courselist = CourseList.where("0=0") + search=params[:search] + if search.blank? + @courselist = @courselist + else + @courselist = @courselist.where("name like '%#{search}%'") + end + @courselist_count = @courselist.count + @limit = 4 + @is_remote = true + @page = params['page'] ? params['page'].to_i : 1 + @courselist_pages = Paginator.new @courselist_count, @limit, @page + @offset ||=@courselist_pages.offset + @courselist = paginateHelper @courselist, @limit + respond_to do |format| + format.js + format.html + end +end + # 增加课程 + def add_course + @courselist= CourseList.create(:name => params[:course]) + respond_to do |format| + format.js + end end # 单位部门列表 def departments @menu_type = 6 @sub_type = 2 + @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] @department =Department.where("0=0") search=params[:search] if search.blank? @@ -58,6 +81,7 @@ class ManagementsController < ApplicationController else @department = @department.where("name like '%#{search}%'") end + @department = @department.reorder("created_at #{@sx_order}") @department_count =@department.count limit = 20 @is_remote = true @@ -68,26 +92,27 @@ class ManagementsController < ApplicationController format.js format.html end - end + # 单位列表 def departments_part @menu_type = 6 @sub_type = 1 @schools = School.where("0=0") + @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] search=params[:search] if search.blank? @schools = @schools else @schools = @schools.where("name like '%#{search}%'") end + @schools = @schools.reorder("created_at #{@sx_order}") @schools_count = @schools.count limit = 20 @is_remote = true @schools_pages = Paginator.new @schools_count, limit, params['page'] || 1 @offset ||= @schools_pages.offset @schools= paginateHelper @schools, limit - respond_to do |format| format.js format.html @@ -100,11 +125,13 @@ class ManagementsController < ApplicationController @sub_type = 3 search = params[:search] @apply_status = ApplyAddDepartment.where("0=0") + @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] if search.blank? @apply_status = @apply_status.where("0=0") else @apply_status= @apply_status.where("name like '%#{search}%'") end + @apply_status = @apply_status.order("created_at #{@sx_order}") @apply_status_count = @apply_status.count limit = 20 @is_remote = true @@ -122,19 +149,20 @@ class ManagementsController < ApplicationController @menu_type = 10 @sub_type = 4 search = params[:search] + @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] @apply_status = ApplyAddSchools.where("0=0") if search.blank? @apply_status = @apply_status.where("0=0") else @apply_status= @apply_status.where("name like '%#{search}%'") end + @apply_status = @apply_status.order("created_at #{@sx_order}") @apply_status_count = @apply_status.count limit = 20 @is_remote = true @apply_status_pages = Paginator.new @apply_status_count, limit, params['page'] || 1 @offset ||= @apply_status_pages.offset @apply_status = paginateHelper @apply_status, limit - respond_to do |format| format.js format.html @@ -147,43 +175,35 @@ class ManagementsController < ApplicationController @sub_type = 1 @syllabus = Syllabus.where("0=0") @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] - unless params[:school_id] || params[:search] || params[:keyword] || params[:status] - user_exs = UserExtensions.where(:user_id=> @syllabus.map(&:user_id)) - @schools = School.where(:id =>user_exs.map(&:school_id)) - end - - major_level_option = params[:major_level_option] - discipline_category_option = params[:discipline_category_option] - first_level_discipline_option = params[:first_level_discipline_option] - syllabus_major_option = params[:syllabus_major_option] + major_level_option = params[:major_level] if params[:major_level] + discipline_category_option = params[:discipline_category_id] if params[:discipline_category_id] + first_level_discipline_option = params[:first_level_discipline_id] if params[:first_level_discipline_id] + syllabus_major_option = params[:major_id] if params[:major_id] keyword = params[:keyword] search = params[:search] - if major_level_option!='0' + + if major_level_option && major_level_option != '0' @syllabus = @syllabus.where(:major_level=>major_level_option) - else - @syllabus = @syllabus end - if discipline_category_option !=nil + if discipline_category_option && discipline_category_option != '0' @syllabus=@syllabus.where(:discipline_category_id=>discipline_category_option) end - if first_level_discipline_option!=nil + if first_level_discipline_option && first_level_discipline_option != '0' @syllabus=@syllabus.where(:first_level_discipline_id=>first_level_discipline_option) end - if syllabus_major_option!=nil + if syllabus_major_option && syllabus_major_option != '0' @syllabus=@syllabus.where(:major_id=>syllabus_major_option) end - if params[:school_id] && params[:school_id] != '0' - @syllabus = Syllabus.includes(:user => {:user_extensions => []}).where("user_extensions.school_id = #{params[:school_id]}") - else - @syllabus = @syllabus.where("0=0") + if params[:school_id] && params[:school_id] != '' + @syllabus = @syllabus.includes(:user => {:user_extensions => []}).where("user_extensions.school_id = #{params[:school_id]}") end if search.blank? - @syllabus = @syllabus.where("0=0") + @syllabus = @syllabus else if "u_name" == keyword user_id = User.where("concat(lastname, firstname) like '%#{search}%'") @@ -192,8 +212,9 @@ class ManagementsController < ApplicationController @syllabus= @syllabus.where("title like '%#{search}%'") end end - @syllabus = @syllabus.order("created_at #{@sx_order}") - @syllabus_count = @syllabus.count + + @syllabus = @syllabus.order("syllabuses.created_at #{@sx_order}") + @syllabus_count = @syllabus.count limit = 20 @is_remote = true @syllabus_pages = Paginator.new @syllabus_count, limit, params['page'] || 1 @@ -211,36 +232,40 @@ class ManagementsController < ApplicationController @sub_type = 2 @sx_order = params[:sx_order].blank? ? "desc" : params[:sx_order] @courses = Course.where("0=0") - # @courses = @courses.select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").order("updatetime desc") @timing=Course.where(:is_end=>false).count @end=Course.where(:is_end=>true).count unless params[:school_id] || params[:search] || params[:keyword] || params[:status] user_exs=UserExtensions.where(:school_id=> @courses.map(&:school_id)) @schools = School.where(:id =>user_exs.map(&:school_id)) end - search = params[:search] # 搜索字 - keyword = params[:keyword].blank? ? "u_name" : params[:keyword] # 根据姓名/课程名搜索 + @search = params[:search] # 搜索字 + @keyword = params[:keyword].blank? ? "u_name" : params[:keyword] # 根据姓名/课程名搜索 status = params[:status].to_i + if params[:school_id] && params[:school_id] != '0' - @courses =Course.joins("join users u on courses.tea_id = u.id").joins("join user_extensions ue on u.id = ue.user_id").where("ue.school_id = #{params[:school_id]}").order("created_at #{@sx_order}") - else - @courses = Course.where("0=0").order("created_at #{@sx_order}") + @school_id = params[:school_id] + @courses =Course.joins("join users u on courses.tea_id = u.id").joins("join user_extensions ue on u.id = ue.user_id").where("ue.school_id = #{params[:school_id]}") end + + if params[:homepage_show] + @courses = @courses.where(:homepage_show => params[:homepage_show].to_i) + end + if params[:status] && params[:status]!='' - @courses =@courses.where(:is_end =>status).order("created_at #{@sx_order}") + @status = params[:status] + @courses =@courses.where(:is_end =>status) end - if "u_name" == keyword - if search.blank? - @courses = @courses.order("created_at #{@sx_order}") + if "u_name" == @keyword + if @search.blank? + @courses = @courses else - user_id = User.where("concat(lastname, firstname) like '%#{search}%'") - @courses = @courses.joins("join users u on courses.tea_id = u.id").where("concat(u.lastname, u.firstname) like '%#{search}%'").order("created_at #{@sx_order}") + user_id = User.where("concat(lastname, firstname) like '%#{@search}%'") + @courses = @courses.joins("join users u on courses.tea_id = u.id").where("concat(u.lastname, u.firstname) like '%#{@search}%'") end else - @courses= @courses.where("name like '%#{search}%'").order("created_at #{@sx_order}") + @courses= @courses.where("name like '%#{@search}%'") end - @courses = @courses.select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").reorder("updatetime desc") - @courses = @courses.order("created_at #{@sx_order}") + @courses = @courses.select("courses.*,(SELECT MAX(updated_at) FROM `course_activities` WHERE course_activities.course_id = courses.id) AS updatetime").reorder("updatetime #{@sx_order}") @courses_count = @courses.count limit = 20 @is_remote = true @@ -253,6 +278,14 @@ class ManagementsController < ApplicationController end end + # 班级首页显示 + def course_homepage_show + if params[:course_id] + course = Course.find params[:course_id] + course.update_attributes(:homepage_show => !course.homepage_show) + end + end + # 课程实训 def class_shixuns @menu_type = 4 @@ -275,13 +308,12 @@ class ManagementsController < ApplicationController @c_shixuns = @c_shixuns else if "u_name" == keyword - user_id = User.where("concat(lastname, firstname) like '%#{search}%'") + # user_id = User.where("concat(lastname, firstname) like '%#{search}%'") @c_shixuns = @c_shixuns.includes(:user).where("concat(users.lastname, users.firstname) like '%#{search}%'") else @c_shixuns= @c_shixuns.where("name like '%#{search}%'") end end - @c_shixuns = @c_shixuns.reorder("created_at desc") unless params[:school_id] || params[:search] || params[:keyword] || params[:status] user_exs = UserExtensions.where(:user_id => @c_shixuns.map(&:user_id)) @schools = School.where(:id => user_exs.map(&:school_id)) @@ -304,20 +336,19 @@ class ManagementsController < ApplicationController @c_shixuns = Subject.where(:status => 2) end if search.blank? - @c_shixuns = @c_shixuns - else - if "u_name" == keyword + + elsif "u_name" == keyword # 如果用户搜索为空,不用遍历user表,直接查找所有实训, 有搜索时才查找user - user_id = User.where("concat(lastname, firstname) like '%#{search}%'") + user_id = User.where("concat(lastname, firstname) like '%#{search}%'") @c_shixuns = @c_shixuns.includes(:user).where("concat(users.lastname, users.firstname) like '%#{search}%'") else @c_shixuns= @c_shixuns.where("name like '%#{search}%'") end - end unless params[:school_id] || params[:search] || params[:keyword] user_exs = UserExtensions.where(:user_id => @c_shixuns.map(&:user_id)) @schools = School.where(:id => user_exs.map(&:school_id)) end + @c_shixuns = @c_shixuns.order("created_at desc") respond_to do |format| format.js format.html @@ -412,6 +443,9 @@ class ManagementsController < ApplicationController else @shixuns = Shixun.where("name like '%#{search}%'").where(:status => 2).order("created_at #{@sx_order}") end + if params[:homepage_show] + @shixuns = @shixuns.where(:homepage_show => params[:homepage_show].to_i) + end @shixuns_count = @shixuns.count limit = 20 @shixuns_pages = Paginator.new @shixuns_count, limit, params['page'] || 1 @@ -422,6 +456,13 @@ class ManagementsController < ApplicationController format.html end end + # 实训首页显示 + def shixun_homepage_show + if params[:shixun_id] + shixun = Shixun.find params[:shixun_id] + shixun.update_attributes(:homepage_show => !shixun.homepage_show) + end + end # 已关闭的实训 def close_shixuns @@ -682,7 +723,7 @@ class ManagementsController < ApplicationController def shixun_authorization @menu_type = 10 - @sub_type == 5 + @sub_type == 5 @type = trial_authorization_status params[:type] @authorizations = ApplyAction.where(:container_type => "ApplyShixun", :status => @type).order("created_at desc") search = params[:search] diff --git a/app/controllers/shixuns_controller.rb b/app/controllers/shixuns_controller.rb index eab591a15..7d7f897eb 100644 --- a/app/controllers/shixuns_controller.rb +++ b/app/controllers/shixuns_controller.rb @@ -402,7 +402,6 @@ class ShixunsController < ApplicationController def new @shixun = Shixun.new - respond_to do |format| format.html{render :layout => 'base_edu'} format.json diff --git a/app/helpers/managements_helper.rb b/app/helpers/managements_helper.rb index 811e2a78c..490fdab78 100644 --- a/app/helpers/managements_helper.rb +++ b/app/helpers/managements_helper.rb @@ -24,6 +24,10 @@ module ManagementsHelper # params[:id]: course_list_id def get_course_list_major id - ShixunMajorCourse.where(:course_list_id => id) + Major.where(:id => MajorCourse.where(:course_list_id => id).map(&:major_id)) + end + + def course_list_count id + Major.where(:id => id).first.try(:name) end end diff --git a/app/models/course.rb b/app/models/course.rb index ccb4579a3..7383ace7e 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -24,7 +24,7 @@ class Course < ActiveRecord::Base end end - attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password,:is_public,:description,:class_period, :open_student, :enterprise_name, :is_delete, :syllabus_id, :end_time, :end_term, :choose_group_allow, :is_end + attr_accessible :code, :extra, :name, :state, :tea_id, :time , :location, :state, :term, :password,:is_public,:description,:class_period, :open_student, :enterprise_name, :is_delete, :syllabus_id, :end_time, :end_term, :choose_group_allow, :is_end, :homepage_show #belongs_to :project, :class_name => 'Course', :foreign_key => :extra, primary_key: :identifier belongs_to :teacher, :class_name => 'User', :foreign_key => :tea_id, :dependent => :destroy # 定义一个方法teacher,该方法通过tea_id来调用User表 belongs_to :school, :class_name => 'School', :foreign_key => :school_id #定义一个方法school,该方法通过school_id来调用School表 @@ -105,7 +105,8 @@ class Course < ActiveRecord::Base 'end_term', 'os_allow', 'choose_group_allow', - 'credit' + 'credit', + 'homepage_show' acts_as_customizable diff --git a/app/models/shixun.rb b/app/models/shixun.rb index 28c40a2f3..482cf8ea4 100644 --- a/app/models/shixun.rb +++ b/app/models/shixun.rb @@ -9,7 +9,7 @@ # class Shixun < ActiveRecord::Base attr_accessible :description, :is_public, :name, :changeset_num, :status, :user_id, :gpid, :language, :identifier, :authentication, - :myshixun_count, :propaedeutics, :trainee, :major_id + :myshixun_count, :propaedeutics, :trainee, :major_id, :homepage_show has_many :users, :through => :shixun_members has_many :shixun_members, :dependent => :destroy diff --git a/app/views/layouts/_course_left_info.html.erb b/app/views/layouts/_course_left_info.html.erb index daec34013..532e8d940 100644 --- a/app/views/layouts/_course_left_info.html.erb +++ b/app/views/layouts/_course_left_info.html.erb @@ -46,7 +46,7 @@
      • - 统计 + 统计
      \ No newline at end of file diff --git a/app/views/layouts/base_management.html.erb b/app/views/layouts/base_management.html.erb index db8f7b39b..e42bdcc82 100644 --- a/app/views/layouts/base_management.html.erb +++ b/app/views/layouts/base_management.html.erb @@ -36,17 +36,17 @@ <% when 6 %> <%= @sub_type == 1 ? "单位列表" :"单位部门列表" %> <% when 7 %> - <%= @sub_type == 1 ? "用户列表" :"适用授权列表" %> + <%= @sub_type == 1 ? "用户列表" :"试用授权列表" %> <% when 8 %> 消息 <% when 9 %> 留言 <% when 10 %> - <%= @sub_type == 1 ? "身份认证":(@sub_type == 2? "适用授权":(@sub_type == 3?"部门审批":(@sub_type == 4?"单位审批":(@sub_type == 5?"项目实训发布":"课程实训发布"))))%> + <%= @sub_type == 1 ? "身份认证":(@sub_type == 2? "试用授权":(@sub_type == 3?"部门审批":(@sub_type == 4?"单位审批":(@sub_type == 5?"项目实训发布":"课程实训发布"))))%> <% when 11 %> 工程认证+ <% when 12 %> - 其他 + <%= @sub_type == 1 ?"专业列表" : "实训适用课程列表" %> <% end %>

      @@ -97,7 +97,7 @@
  • 工程认证+
  • -
  • 其它 +
  • 其它
    • <%= link_to "专业列表",profession_managements_path %>
    • <%= link_to "实训适用课程列表", applicable_course_managements_path %>
    • diff --git a/app/views/managements/_applicable_course_list.html.erb b/app/views/managements/_applicable_course_list.html.erb index 0bb2206a8..c45c633a1 100644 --- a/app/views/managements/_applicable_course_list.html.erb +++ b/app/views/managements/_applicable_course_list.html.erb @@ -4,33 +4,59 @@ 序号 课程名称 专业名称 - 创建时间 + 创建时间 操作 + <% count = 0 %> <% @courselist.each_with_index do |courselist,index|%> - <%= index + 1 %> + + <% count = ((@page - 1) * @limit) + index + 1 %> + <%= count %> + <%= courselist.name %> - - <% get_course_list_major(courselist.id).each do |smc| %> - <%= course_list_major_time(smc.major_id) %> - <%= format_time smc.created_at %> - <% end %> + - <%# get_course_list_major(courselist.id).each do |smc| %> - <%#= course_list_major_time(smc.major_id) %> - <%#= format_time smc.created_at %> - <%# end %> + <%= format_time courselist.created_at %> + 添加专业 + <% get_course_list_major(courselist.id).each_with_index do |smc, j| %> + + + + + + + <%= smc.name %> + + + <%= format_time courselist.created_at %> + + + + + <% end %> + <% end %> +
      +
      +
        + <%= pagination_links_full @courselist_pages, @courselist_count, :per_page_links => false, :remote => false, :flag => true, :is_new => true %> +
      +
      +
      +
      + diff --git a/app/views/managements/_class_publish_shixuns_list.html.erb b/app/views/managements/_class_publish_shixuns_list.html.erb index 1172b44a0..c6d2a39a7 100644 --- a/app/views/managements/_class_publish_shixuns_list.html.erb +++ b/app/views/managements/_class_publish_shixuns_list.html.erb @@ -5,7 +5,7 @@ 实训套件名称 单位 创建者 - 发布时间 color-light-green ml5" title="功能完善中,敬请期待"> + 发布时间 @@ -19,5 +19,4 @@ <% end %> - diff --git a/app/views/managements/_class_shixuns_list.html.erb b/app/views/managements/_class_shixuns_list.html.erb index b474740b8..ccd7ed7a7 100644 --- a/app/views/managements/_class_shixuns_list.html.erb +++ b/app/views/managements/_class_shixuns_list.html.erb @@ -8,7 +8,7 @@ 状态 单位 创建者 - 创建时间 + 创建时间 color-light-green ml5"> 操作 @@ -33,5 +33,16 @@ <% end %> - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/views/managements/_classroom_classment_list.html.erb b/app/views/managements/_classroom_classment_list.html.erb index 68f789e50..f8a560b6b 100644 --- a/app/views/managements/_classroom_classment_list.html.erb +++ b/app/views/managements/_classroom_classment_list.html.erb @@ -1,44 +1,45 @@ - - - - - - - - - - - - - - - - - - -<% @courses.each do |course| %> - - - - - - - - - - - - - - - -<% end %> - + + + + + + + + + + + + + + + + + + + <% @courses.each do |course| %> + + + + + + + + + + + + + + + + <% end %> +
      ID班级名称成员资源作业试卷私有模版状态创建者单位创建者创建时间 color-light-green ml5" title="功能完善中,敬请期待">首页显示
      <%= course.id %><%= link_to course.name, school_on_search_path(course.name) %><%= course.members.count %><%= course.attachments.count %><%= course.homework_commons.count%><%= course.exercises.count %><%= course.is_public.to_i == 1 ? '--' : '√' %><%= course.is_end ? "已结束" : "正在进行" %><%= course.teacher.try(:user_extensions).try(:school).try(:name).blank? ? "--" : course.teacher.try(:user_extensions).try(:school) %> <%= link_to course.teacher.show_name, user_path(course.teacher) %> <%= format_time(course.updatetime) %> - - -
      ID班级名称成员资源作业试卷私有模版状态创建者单位创建者动态时间 color-light-green ml5" title="功能完善中,敬请期待">首页显示
      <%= course.id %><%= link_to course.name, course_path(course.id) %><%= course.members.count %><%= course.attachments.count %><%= course.homework_commons.count%><%= course.exercises.count %><%= course.is_public.to_i == 1 ? '--' : '√' %><%= course.is_end ? "已结束" : "正在进行" %><%= course.teacher.try(:user_extensions).try(:school).try(:name).blank? ? "--" : course.teacher.try(:user_extensions).try(:school) %> <%= link_to course.teacher.show_name, user_path(course.teacher) %> <%= format_time(course.updatetime) %> + class="ml-3 mr5 magic-checkbox" id="join_course_role_<%= course.id %>"> + +
      +
        @@ -51,10 +52,20 @@ $(".eud-pointer").on("click", function(ev){ var nArrow = $(this).find("i"); var sx_order = nArrow.hasClass("fa-long-arrow-down") ? "asc" : "desc"; + $("input[name='sx_order']").val(sx_order); $.ajax({ url:"<%= classroom_classment_managements_path %>", - data: {sx_order:sx_order}, + data: $("#class_publish_shixuns_search").serialize(), dateType: "script" }); }); + $("input[name='homepage_show']").click(function(){ + var homepage_show_val = $(this).val(); + $.ajax({ + url:"<%= course_homepage_show_managements_path %>", + data: {course_id: homepage_show_val}, + type: 'post', + dateType: "script" + }); + }) diff --git a/app/views/managements/_classroom_list.html.erb b/app/views/managements/_classroom_list.html.erb index de34f4b14..cae8df113 100644 --- a/app/views/managements/_classroom_list.html.erb +++ b/app/views/managements/_classroom_list.html.erb @@ -3,13 +3,12 @@ ID 层级 - 学科门类 + 学科门类 一级学科 专业名称 课程名称 创建者 - 创建时间 color-light-green ml5"> - 课堂模版 + 创建时间 color-light-green ml5"> @@ -20,13 +19,11 @@ <%= syllabus.syllabus_discipline_category == '' ? "--" : syllabus.syllabus_discipline_category %> <%= syllabus.syllabus_first_level_discipline == "" ? "--" : syllabus.syllabus_first_level_discipline %> <%= syllabus.syllabus_major == "" ? "--" : syllabus.syllabus_major %> - <%= render :partial => 'admin/rename_syllabus_title', :locals => {:syllabus => syllabus} %> + <%#= render :partial => 'admin/rename_syllabus_title', :locals => {:syllabus => syllabus} %> + <%= link_to syllabus.title,syllabus_path(syllabus.id) %> + <%= link_to syllabus.user.show_name, user_path(syllabus.user) %> <%= format_time syllabus.created_at %> - - - - <% end %> @@ -39,4 +36,16 @@
      + diff --git a/app/views/managements/_depart_list.html.erb b/app/views/managements/_depart_list.html.erb index aed44629f..655cd710f 100644 --- a/app/views/managements/_depart_list.html.erb +++ b/app/views/managements/_depart_list.html.erb @@ -4,8 +4,8 @@ 序号 部门名称 单位名称 - 创建于 - + 创建于 color-light-green ml5"> + @@ -14,7 +14,7 @@ <%= apply.id %> <%= apply.name %> <%= apply.school.name %> - <%= format_date(apply.created_at) %> + <%= format_time apply.created_at %> <%= link_to( l(:label_approve), { :controller => 'admin', :action => 'approve_applied_departments', :id => apply.id }, :class => "application-default-link" ) %> <%= link_to( l(:button_delete), { :controller => 'admin', :action => 'delete_applied_departments', :id => apply.id, :tip => 'unapplied' },:method => :delete, :confirm => l(:text_are_you_sure), :class => "application-default-link") %> @@ -33,12 +33,14 @@
  • diff --git a/app/views/managements/_departments_list.html.erb b/app/views/managements/_departments_list.html.erb index 4bad86986..8bb9f6f0b 100644 --- a/app/views/managements/_departments_list.html.erb +++ b/app/views/managements/_departments_list.html.erb @@ -5,7 +5,7 @@ 部门名称 用户数 已认证职业 - 创建于 + 创建于 color-light-green ml5" title=""> @@ -39,4 +39,15 @@ $(".d-none").css("display","block"); } } + + $(".eud-pointer").on("click", function(ev){ + var nArrow = $(this).find("i"); + var sx_order = nArrow.hasClass("fa-long-arrow-down") ? "asc" : "desc"; + $("input[name='sx_order']").val(sx_order); + $.ajax({ + url:"<%= departments_managements_path %>", + data: $("#department_search").serialize(), + dateType: "script" + }); + }); diff --git a/app/views/managements/_departments_part_list.html.erb b/app/views/managements/_departments_part_list.html.erb index 0edd89ed7..49549a5af 100644 --- a/app/views/managements/_departments_part_list.html.erb +++ b/app/views/managements/_departments_part_list.html.erb @@ -8,7 +8,7 @@ 详细地址 用户数 部门数 - 创建于 + 创建于 color-light-green ml5"> @@ -18,7 +18,6 @@ <%= schools.id %> <%= image_tag(schools.logo_link,width:40,height:40) %> - @@ -49,12 +48,14 @@
    diff --git a/app/views/managements/_profession_list.html.erb b/app/views/managements/_profession_list.html.erb index 982cf6263..6612c845d 100644 --- a/app/views/managements/_profession_list.html.erb +++ b/app/views/managements/_profession_list.html.erb @@ -6,7 +6,7 @@ 学科门类 一级学科 专业名称 - 创建时间 + 创建时间 color-light-green ml5" > 操作 @@ -21,7 +21,7 @@ <%= format_time syllabus.created_at %> - + <% end %> @@ -36,4 +36,15 @@
    - + diff --git a/app/views/managements/_publish_shixun_list.html.erb b/app/views/managements/_publish_shixun_list.html.erb index 9ce97d9a9..3f65e7f56 100644 --- a/app/views/managements/_publish_shixun_list.html.erb +++ b/app/views/managements/_publish_shixun_list.html.erb @@ -1,14 +1,15 @@ - - + + - - + + + <% @shixuns.each do |shixun| %> @@ -28,6 +29,10 @@ + <% end %> @@ -50,5 +55,14 @@ data: {sx_order:sx_order}, dateType: "script" }); + }); + $("input[name='homepage_show']").click(function(){ + var homepage_show_val = $(this).val(); + $.ajax({ + url:"<%= shixun_homepage_show_managements_path %>", + data: {shixun_id: homepage_show_val}, + type: 'post', + dateType: "script" + }); }) \ No newline at end of file diff --git a/app/views/managements/_unit_list.html.erb b/app/views/managements/_unit_list.html.erb index c4d9ac58e..bacf53502 100644 --- a/app/views/managements/_unit_list.html.erb +++ b/app/views/managements/_unit_list.html.erb @@ -6,7 +6,7 @@ - + @@ -70,7 +70,7 @@ <% end %> + @@ -13,13 +14,16 @@ - <% @users.each do |user| %> + <% @users.each_with_index do |user,index| %> <% authorization = ApplyAction.where(:user_id => user).first %> + diff --git a/app/views/managements/add_course.js.erb b/app/views/managements/add_course.js.erb new file mode 100644 index 000000000..80971137f --- /dev/null +++ b/app/views/managements/add_course.js.erb @@ -0,0 +1 @@ +$("#classroom_list").html("<%= j(render :partial => "managements/applicable_course_list") %>"); \ No newline at end of file diff --git a/app/views/managements/applicable_course.html.erb b/app/views/managements/applicable_course.html.erb index a7c481ab2..d6dcd4905 100644 --- a/app/views/managements/applicable_course.html.erb +++ b/app/views/managements/applicable_course.html.erb @@ -3,7 +3,7 @@ 搜索清除 - 新增实训适用课程 + 新增实训适用课程 <% end %>
    @@ -12,6 +12,35 @@ \ No newline at end of file diff --git a/app/views/managements/applicable_course.js.erb b/app/views/managements/applicable_course.js.erb new file mode 100644 index 000000000..80971137f --- /dev/null +++ b/app/views/managements/applicable_course.js.erb @@ -0,0 +1 @@ +$("#classroom_list").html("<%= j(render :partial => "managements/applicable_course_list") %>"); \ No newline at end of file diff --git a/app/views/managements/class_publish_shixuns.html.erb b/app/views/managements/class_publish_shixuns.html.erb index aa493eb2c..ce2bd24fc 100644 --- a/app/views/managements/class_publish_shixuns.html.erb +++ b/app/views/managements/class_publish_shixuns.html.erb @@ -14,10 +14,10 @@ 搜索 清除
    -<% end %> -
    +
    <%= render :partial => "managements/class_publish_shixuns_list" %>
    +<% end %> \ No newline at end of file + $("input[name='school']").on('input', function (e) { + throttle(department_search_fn, window, e); + }); + + var d_lastSearchCondition = ''; + var d_page = 1; //唯一控制页码 变量 + var d_count = 0; //查询结果的总量 + var d_maxPage = 0;//最大页面值 + function department_search_fn(e) { + if($(e.target).val().trim() == ''){ + $("#search_school_result_list").hide(); + $("input[name='school_id']").val(""); + return; + } + if ($(e.target).val().trim() == d_lastSearchCondition && $(e.target).val().trim() != '') {//如果输入框没有改变或者输入框为空就返回 + return; + } + d_lastSearchCondition = $(e.target).val().trim(); + page = 1; //有新的搜索,页面重置为1 + $.ajax({ + url: '<%= url_for(:controller => 'school',:action => 'on_search') %>' + '?name=' + e.target.value + '&school_id=' + $("input[name='occupation']").val() + '&page=' + d_page, + type: 'post', + success: function (data) { + d_schoolsResult = data.schools; + count = data.count; + maxPage = Math.ceil(count / 100); //最大页码值 + if (d_schoolsResult.length != undefined && d_schoolsResult.length != 0) { + var i = 0; + $("#search_school_result_list").html(''); + for (; i < d_schoolsResult.length; i++) { + link = '' + d_schoolsResult[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 + 40); + $("#search_school_result_list").css("position", "absolute"); + $("#search_school_result_list").show(); + } else { + $("#search_school_result_list").html('你的学校不在列表中?请确认后输入'); + $("#search_school_result_list").show(); + } + } + }); + } + //修改部门 + function changeSchoolValue(value, data) { + console.log(value+","+data) + $("input[name='school']").val(value); + $("input[name='school_id']").val(data); + $("#search_school_result_list").hide(); + } + diff --git a/app/views/managements/classroom_classment.html.erb b/app/views/managements/classroom_classment.html.erb index fda65b3df..2a81c4f3c 100644 --- a/app/views/managements/classroom_classment.html.erb +++ b/app/views/managements/classroom_classment.html.erb @@ -19,11 +19,12 @@ 搜索 清除 - + - + +
    -<% end%> +<% end %>
    <%= render :partial => "managements/classroom_classment_list" %>
    @@ -33,6 +34,11 @@ $("#part").val(""); $("#condition_status").val("uname") $("#Look_name").val(""); - $.get('<%=classroom_classment_managements_path() %>') - } + $.get('<%= classroom_classment_managements_path() %>') + }; + + $("#join_course_role_0").on('click', function(){ + $('#class_publish_shixuns_search').submit(); + }); + \ No newline at end of file diff --git a/app/views/managements/course_homepage_show.js.erb b/app/views/managements/course_homepage_show.js.erb new file mode 100644 index 000000000..e69de29bb diff --git a/app/views/managements/depart.html.erb b/app/views/managements/depart.html.erb index 2636fe896..19dad429f 100644 --- a/app/views/managements/depart.html.erb +++ b/app/views/managements/depart.html.erb @@ -3,11 +3,12 @@ 搜索清除 + -<% end%>
    <%= render :partial => "managements/depart_list" %>
    +<% end %> \ No newline at end of file diff --git a/app/views/managements/profession.html.erb b/app/views/managements/profession.html.erb index 51e6d12af..7f715457e 100644 --- a/app/views/managements/profession.html.erb +++ b/app/views/managements/profession.html.erb @@ -6,6 +6,7 @@ 搜索清除新增 + diff --git a/app/views/managements/publish_shixuns.html.erb b/app/views/managements/publish_shixuns.html.erb index 4b4f331ec..ac596a4a0 100644 --- a/app/views/managements/publish_shixuns.html.erb +++ b/app/views/managements/publish_shixuns.html.erb @@ -10,6 +10,10 @@ 搜索 清除 + + + + <% end %>
    @@ -41,5 +45,7 @@ $("#sx_condition_status").val("u_name"); $("#sx_status").val(""); } - + $("#join_course_role_0").on("click",function(){ + $('#publish_shixuns_search').submit(); + }) \ No newline at end of file diff --git a/app/views/managements/shixun_authorization.html.erb b/app/views/managements/shixun_authorization.html.erb index 02ab8f522..a02b5b3c5 100644 --- a/app/views/managements/shixun_authorization.html.erb +++ b/app/views/managements/shixun_authorization.html.erb @@ -5,12 +5,11 @@
      -
    • +
    • <%= link_to "待审批", {:controller => "managements", :action => "shixun_authorization", :type => 0}, :class => "tab_type", :remote => true %>
    • -
    • +
    • <%= link_to "已审批", {:controller => "managements", :action => "shixun_authorization", :type => [1, 2]}, :class => "tab_type", :remote => true %> -
    diff --git a/app/views/managements/subject_authorization.html.erb b/app/views/managements/subject_authorization.html.erb index b04eda5b3..908b3fbbb 100644 --- a/app/views/managements/subject_authorization.html.erb +++ b/app/views/managements/subject_authorization.html.erb @@ -5,12 +5,11 @@
      -
    • +
    • <%= link_to "待审批", {:controller => "managements", :action => "subject_authorization", :type => 0}, :class => "tab_type", :remote => true %>
    • -
    • +
    • <%= link_to "已审批", {:controller => "managements", :action => "subject_authorization", :type => [1, 2]}, :class => "tab_type", :remote => true %> -
    diff --git a/app/views/managements/unit.html.erb b/app/views/managements/unit.html.erb index 2b0968bb3..515218fce 100644 --- a/app/views/managements/unit.html.erb +++ b/app/views/managements/unit.html.erb @@ -3,6 +3,7 @@ 搜索 清除 +
    <% end%>
    diff --git a/config/routes.rb b/config/routes.rb index cdc571032..8c5e87fee 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -180,6 +180,9 @@ RedmineApp::Application.routes.draw do match 'users_authorization_agree' match 'users_authorization_cancel' get 'update_webssh' + post 'course_homepage_show' + post 'shixun_homepage_show' + post 'add_course' end end # Enable Grack support diff --git a/public/javascripts/course.js b/public/javascripts/course.js index 87a4f8333..5d67fb13eb 100644 --- a/public/javascripts/course.js +++ b/public/javascripts/course.js @@ -1,1608 +1,1608 @@ -//配置课程信息 -function course_setting(id) -{ - //alert(id); - //$('#tb_'+id).removeClass().addClass("hwork_hovertab"); - //$('#tbc_0'+id).removeClass().addClass("dis"); - //$('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab"); - //$('#tbc_0'+(3-id)).removeClass().addClass("undis"); - for (var i = 1; i < 5; i++) { - if (i == id) { - $("#tb_" + i).removeClass().addClass("hwork_hovertab"); - $("#tbc_0" + i).removeClass().addClass("dis"); - } - else { - $("#tb_" + i).removeClass().addClass("hwork_normaltab"); - $("#tbc_0" + i).removeClass().addClass("undis"); - } - } -} - -$(function(){ - $("img").removeAttr("align"); -}); - -/////////////////////////////////////////////////////////////// -//添加分班 -function add_group(url,course_id) { - var group_name = $('#group_name').val(); - $.get( - url, - { valid: "name", - value: group_name, - course_id: course_id }, - function (data) { - if (data.valid) { - $("#add_group_name").submit(); - } - else - { - alert(data.message); - } - } - ); -} -//修改分班:修改分班时得考虑什么都不改但是点击确定的情况 -function edit_group(id,url,course_id,group_id) -{ - var group_name = $('#'+id).val(); - var group_id = $('#'+group_id).val(); - $.get( - url, - { - valid: "name", - value: group_name, - course_id: course_id, - group_id: group_id - }, - function (data) { - if (data.valid) { - $("#update_group_form").submit(); - } - else - { - alert(data.message); - } - } - ); -} - -function hidden_homework_score_form() -{ - hideModal($("#user_score")); -} -/////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////新建课程相关 -//验证班级名称 -function regex_course_name(str) -{ - var name = $.trim($("#"+str+"_course_name").val()); - var syl_title = ""; - if($("#new_syllabus_id").length > 0){ - syl_title = $("#new_syllabus_id").find("option:selected").text(); - } else{ - if(str == "edit"){ - syl_title = $("#edit_syllabus_id").html(); - } else{ - syl_title = $("#course_syllabus_title").html(); - } - } - if(name.length < 2) - { - $("#"+str+"_course_name_notice").show(); - $("#"+str+"_course_name").css('border', "2px solid red"); - return false; - } - else if(name.indexOf(syl_title) != 0){ - $("#"+str+"_course_name_notice").html("请参照正确示例规范,应该以课程名称开头命名"); - $("#"+str+"_course_name_notice").show(); - $("#"+str+"_course_name").focus(); - $("#"+str+"_course_name").css('border', "2px solid red"); - return false; - } - else - { - $("#"+str+"_course_name_notice").hide(); - $("#"+str+"_course_name").css('border', "1px solid #ddd"); - return true; - } -} -//验证课程学时 -function regex_course_class_period(str) -{ - var class_period = $.trim($("#"+str+"_class_period").val()); - var regex = /^\d*$/; - if(class_period.length == 0) - { - $("#"+str+"_course_class_period_notice").html("学时总数不能为空"); - $("#"+str+"_course_class_period_notice").show(); - return false; - } - else if (regex.test(class_period)) { - if(parseInt(class_period) > 0) - { - $("#"+str+"_course_class_period_notice").html(""); - $("#"+str+"_course_class_period_notice").hide(); - return true; - } - else - { - $("#"+str+"_course_class_period_notice").html("学时总数必须大于0"); - $("#"+str+"_course_class_period_notice").show(); - return false; - } - } - else - { - $("#"+str+"_course_class_period_notice").html("学时总数必须为正整数"); - $("#"+str+"_course_class_period_notice").show(); - return false; - } -} -//验证开始学期和结束学期 -function regex_time_term(str){ - var obj_time = document.getElementById(str+"_time"); - var obj_end_time = document.getElementById(str+"_end_time"); - var obj_term = document.getElementById(str+"_term"); - var obj_end_term = document.getElementById(str+"_end_term"); - var time = obj_time.options[obj_time.selectedIndex]; - var end_time = obj_end_time.options[obj_end_time.selectedIndex]; - var term = obj_term.options[obj_term.selectedIndex]; - var end_term = obj_end_term.options[obj_end_term.selectedIndex]; - if(time.value == end_time.value) { - if(set_term_val(term.value) > set_term_val(end_term.value)) { - $("#"+str+"_course_time_term_notice").html("开始学期不能晚于结束学期"); - $("#"+str+"_course_time_term_notice").show(); - return false; - } else { - $("#"+str+"_course_time_term_notice").html(""); - $("#"+str+"_course_time_term_notice").hide(); - return true; - } - } else if(time.value < end_time.value) { - $("#"+str+"_course_time_term_notice").html(""); - $("#"+str+"_course_time_term_notice").hide(); - return true; - } else { - $("#"+str+"_course_time_term_notice").html("开始学期不能晚于结束学期"); - $("#"+str+"_course_time_term_notice").show(); - return false; - } -} -//学期转换为数字 -function set_term_val(val) { - if(val == "春季学期"){ - return 1; - } else if(val == "夏季学期"){ - return 2; - } else if(val == "秋季学期"){ - return 3; - } -} -//验证密码 -function regex_course_password(str) -{ - var class_period = $.trim($("#"+str+"_course_course_password").val()); - var regex = /^\w+$/; - if(class_period.length == 0) - { - $("#"+str+"_course_course_password_notice").html("课程密码不能为空"); - $("#"+str+"_course_course_password_notice").show(); - return false; - } - else if (regex.test(class_period)) { - $("#"+str+"_course_course_password_notice").html(""); - $("#"+str+"_course_course_password_notice").hide(); - return true; - } - else - { - $("#"+str+"_course_course_password_notice").html("课程密码有非法字符"); - $("#"+str+"_course_course_password_notice").show(); - return false; - } -} -//验证课程大纲 -function regex_syllabus_option(str) { - if(str == "new" && document.getElementById(str + "_syllabus_id")) { - var obj = document.getElementById(str + "_syllabus_id"); - var syllabus = obj.options[obj.selectedIndex]; - if(parseInt(syllabus.value) == 0) { - $("#"+str+"_course_syllabus_notice").show(); - return false; - } else{ - $("#"+str+"_course_syllabus_notice").hide(); - return true; - } - } else { - $("#"+str+"_course_syllabus_notice").hide(); - return true; - } -} -//提交新建课程 -function submit_new_course() -{ - if(regex_syllabus_option('new')&®ex_course_name('new')&®ex_course_class_period('new')&®ex_time_term('new')) - { - $("#new_course").submit(); - } -} - -function submit_edit_course(id) -{ - if(regex_syllabus_option('edit')&®ex_course_name('edit')&®ex_course_class_period('edit')&®ex_time_term('edit')) - { - $("#edit_course_"+id).submit(); - } -} - -//新建课程大纲 -function submit_new_syllabus() -{ - if(regex_syllabus_name()) - { - $("#new_syllabus").submit(); - } -} - -//课程讨论区 -function regexTopicSubject() { - var name = $("#message_subject").val(); - if(name.length ==0) - { - $("#subjectmsg").text("标题不能为空"); - $("#subjectmsg").css('color','#ff0000'); - $("#message_subject").focus(); - return false; - } - else if(name.length <= 255) - { - $("#subjectmsg").text("填写正确"); - $("#subjectmsg").css('color','#008000'); - return true; - } - else - { - $("#subjectmsg").text("标题超过255个字符"); - $("#subjectmsg").css('color','#ff0000'); - $("#message_subject").focus(); - return false; - } -} - -function regexTopicDescription() -{ - var name = message_content_editor.html(); - if(message_content_editor.isEmpty()) - { - $("#message_content_span").text("描述不能为空"); - $("#message_content_span").css('color','#ff0000'); - return false; - } - else if(name.length >=6000){ - $("#message_content_span").text("描述最多3000个汉字(或6000个英文字符)"); - $("#message_content_span").css('color','#ff0000'); - return false; - } - else - { - $("#message_content_span").text("填写正确"); - $("#message_content_span").css('color','#008000'); - return true; - } -} - -function submit_topic() -{ -// if(regexTopicSubject() && regexTopicDescription()) -// { - message_content_editor.sync(); - $("#message-form").submit(); -// } -} - -function reset_topic(){ - -} - -/////////////////////////////////////////////////////////////// -//////////////////////////////////////////////////////////////课程讨论区 -function regexSubject(id) { - var subjectid = "#message_subject" + id ; - var content = $.trim($(subjectid).val()); - var message = "#subject_span" + id; - if (content.length == 0) { - $(message).text("主题不能为空"); - $(message).css('color', '#ff0000'); - return false; - } - else { - $(message).text("填写正确"); - $(message).css('color', '#008000'); - return true; - } - return false; -} -function regexContent(id) { - var contentid = "#message_content" + id; - var message = "#message_content_span"+ id; - var content = $.trim($(contentid).val()); - if (content.length == 0) { - $(message).text("描述不能为空"); - $(message).css('color', '#ff0000'); - return false; - } - else { - $(message).text("填写正确"); - $(message).css('color', '#008000'); - return true; - } - return false; -} - -// 项目讨论区编辑和提交 -function submitProjectsBoard(id) { - var formid = "#message-form" + id; - if (regexSubject(id) && regexContent(id)) { - $(formid).submit(); - } -} - - -/////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////// 课程通知 -function regexTitle() -{ - var name = $("#news_title").val(); - if(name.length ==0) - { - $("#title_notice_span").text("标题不能为空"); - $("#title_notice_span").css('color','#ff0000'); - $("#news_title").focus(); - return false; - } - else if(name.length <= 60) - { - $("#title_notice_span").text("填写正确"); - $("#title_notice_span").css('color','#008000'); - return true; - } - else - { - $("#title_notice_span").text("标题超过60个字符"); - $("#title_notice_span").css('color','#ff0000'); - $("#news_title").focus(); - return false; - } -} - -function regexDescription() -{ - var name = news_description_editor.html(); - if(news_description_editor.isEmpty()) - { - $("#description_notice_span").text("描述不能为空"); - $("#description_notice_span").css('color','#ff0000'); - $("#description_notice_span").focus(); - return false; - } - /*else if(name.length >=6000){ - $("#description_notice_span").text("描述最多3000个汉字(或6000个英文字符)"); - $("#description_notice_span").css('color','#ff0000'); - $("#description_notice_span").focus(); - return false; - }*/ - else - { - $("#description_notice_span").text("填写正确"); - $("#description_notice_span").css('color','#008000'); - return true; - } -} - -function submitNews() -{ - if(regexTitle() && regexDescription()) - { - news_description_editor.sync(); - $("#news-form").submit(); - } -} - -function submitFocus(obj) -{ - $(obj).focus(); -} - -function submitComment() -{ - if (newsReplyVerify()) { - comment_editor.sync(); - $("#add_comment_form").submit(); - } -} - -function newsReplyVerify() { - var content = comment_editor.html(); - if(comment_editor.isEmpty()) { - $("#add_reply_news").text("评论不能为空"); - $("#add_reply_news").css('color', '#ff0000'); - $("#news_submit_comment").one('click',function(){ - submitComment(); - }); - return false; - } else { - $("#add_reply_news").text("填写正确"); - $("#add_reply_news").css('color', '#008000'); - return true; - } -} - -/////////////////////////////////////////////////课程讨论区 -function course_board_submit_message_replay() -{ - if(MessageReplayVevify()) - { - message_content_editor.sync();//提交内容之前要sync,不然服务器端取不到值 - $("#message_form").submit(); - } -} - -function course_board_canel_message_replay() -{ - $("#reply").hide(200); - $("#message_quote").html(""); -} - -function MessageReplayVevify() { - var content = message_content_editor.html();//$.trim($("#message_content").val()); - if (message_content_editor.isEmpty()) { - $("#message_content_span").text("回复不能为空"); - $("#message_content_span").css('color', '#ff0000'); - return false; - } - else { - $("#message_content_span").text("填写正确"); - $("#message_content_span").css('color', '#008000'); - return true; - } -} -////////////////////////////////////////////////// - -/////////////////////////////////////////////////////////////// -/////////////////////////////////////////////////////////////// -//验证搜索时输入名字 -function regexName(content) -{ - var name = $.trim($("#name").val()); - if(name.length == 0) - { - $("#project_name_span").text(content); - $("#project_name_span").css('color','#ff0000'); - $("#project_name_span").focus(); - return false; - } - else - { - $("#project_name_span").text(""); - return true; - } -} -//提交搜索 -function submitSerch(content) -{ - if(regexName(content)){$("#course_search_form").submit();} -} - -//验证搜索时输入名字 -function regexQ(content) -{ - var name = $.trim($("#q").val()); - if(name.length == 0) - { - $("#course_member_name_span").text(content); - $("#course_member_name_span").css('color','#ff0000'); - $("#course_member_name_span").focus(); - return false; - } - else - { - $("#course_member_name_span").text(""); - return true; - } -} -//提交课程成员搜索 -function submitMemberSerch(content) -{ - //if(regexQ(content)){$("#course_member_search_form").submit();} - $("#course_member_search_form").submit(); -} - -//课程描述显示更多信息 -function show_more_msg() -{ - $("#course_description").toggleClass("course_description_none"); - var information = $("#expend_more_information"); - var arrow = $("#arrow"); - var val = information.attr("value"); - if (val == "show_more") { - $("#expend_more_information").text("收起描述信息"); - information.attr("value", "hide_more"); - arrow.attr("src", "/images/jiantouup.jpg") - } - else { - $("#expend_more_information").text("展开更多信息"); - information.attr("value", "show_more"); - arrow.attr("src", "/images/jiantou.jpg") - } -} -//作业描述显示更多信息 -function news_show_more_des(id) -{ - $('#news_description_' + id).toggleClass("news_description_none"); - if($("#news_description_" + id).hasClass("news_description_none")) - { - $("#news_foot_" + id).html("[收起]"); - } - else - { - $("#news_foot_" + id).html("[展开]"); - } -} -function bid_show_more_des(id) -{ - $("#bid_description_" + id).toggleClass("news_description_none"); - if($("#bid_description_" + id).hasClass("news_description_none")) - { - $("#bid_show_more_des_button" + id).html("[收起]"); - } - else - { - $("#bid_show_more_des_button" + id).html("[展开]"); - } -} - -//课程作业结束时间倒计时 -function show_bid_dead_line(year,month,day,divname) -{ - var now = new Date(); - var endDate = new Date(year, month-1, day); - var leftTime=endDate.getTime()-now.getTime(); - var leftsecond = parseInt(leftTime/1000); - var day1=Math.floor(leftsecond/(60*60*24)); - var hour=Math.floor((leftsecond-day1*24*60*60)/3600); - var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); - var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); - $("#"+divname).html("
    " - + " 天" - + " 小时" - + " 分" - + " 秒" - + "" - + "

    作品提交还剩:

    "); -} - - -//处理迟交、缺评扣分 -function check_late_penalty(id) -{ - var obj = $("#" + id); - var regex = /^\d+$/; - if(regex.test(obj.val())) - { - if(obj.val() > 50) - { - obj.val("50"); - } - } - else - { - obj.val(""); - } -} - -//验证匿评数量 -//function regex_evaluation_num() -//{ -// if($("#evaluation_num").length == 0){ return true;} -// var evaluation_num = $.trim($("#evaluation_num").val()); -// var regex = /^\d+$/; -// if(evaluation_num=="") -// { -// $("#evaluation_num_notice").html("匿评分配数量不能为空"); -// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); -// return false; -// } -// else if(regex.test(evaluation_num)) -// { -// if(evaluation_num > 0) -// { -// $("#evaluation_num_notice").html("每个学生将收到 "+ parseInt(evaluation_num) + " 份待匿评作品"); -// $("#evaluation_num_notice").removeClass("c_red"); -// return true; -// } -// else -// { -// $("#evaluation_num_notice").html("匿评分配数量必须为大于0"); -// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); -// return false; -// } -// } -// else -// { -// $("#evaluation_num_notice").html("匿评分配数量只能为数字"); -// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); -// return false; -// } -//} - -//点击是否开启匿评单选框效果 -$(function(){ - $("#absence_penalty").change(function(){ - $("#absence_penalty_notice").html(" "+ $("#absence_penalty").val() +" "); - }); -}); - -//生成select -function build_selector(max_num){ - var html = ""; - return html; -} -function build_selector_sy(max_num){ - var html = ""; - return html; -} - -//提交匿评参数设置 -function submit_set_evaluation_attr(end_time){ - if(!regex_evaluation_start(end_time)){ - $("#evaluation_start_time").focus(); - } - else if(!regex_evaluation_end()){ - $("#evaluation_end_time").focus(); - } - else if(!regex_evaluation_num()){ - $("#evaluation_num").focus(); - } - else{ - $('#muban_popup_box form').submit(); - hideModal(); - } -} - -//验证匿评开启时间:大于截止时间,或者为空 -function regex_evaluation_start(end_time){ - var evaluation_start = $.trim($("#evaluation_start_time").val()); - if(evaluation_start == ""){ - $("#homework_evaluation_start_time").text("开启匿评日期不能为空"); - return false; - } - var end_time = new Date(end_time); - var evaluation_start_time = new Date(evaluation_start); - if(evaluation_start_time > end_time){ - $("#homework_evaluation_start_time").text(""); - return true; - }else{ - $("#homework_evaluation_start_time").text("开启匿评日期必须大于截止日期"); - return false; - } -} - -//验证匿评结束时间:大于匿评开启时间,或者为空。当匿评开启时间为空时,匿评结束时间必须为空 -function regex_evaluation_end(){ - var evaluation_start = $.trim($("#evaluation_start_time").val()); - var evaluation_end = $.trim($("#evaluation_end_time").val()); - if(evaluation_end == ""){ - $("#homework_evaluation_end_time").text("关闭匿评日期不能为空"); - return true; - } - var evaluation_start_time = new Date(evaluation_start); - var evaluation_end_time = new Date(evaluation_end); - if(evaluation_end_time >= evaluation_start_time){ - $("#homework_evaluation_end_time").text(""); - return true; - }else{ - $("#homework_evaluation_end_time").text("关闭匿评日期不能小于开启匿评日期"); - return false; - } -} - -//验证匿评数量 -function regex_evaluation_num(){ - var evaluation_num = $.trim($("#evaluation_num").val()); - var regex = /^\d+$/; - if(evaluation_num==""){ - $("#evaluation_num_notice").text("匿评人数不能为空"); - return false; - } - else if(regex.test(evaluation_num)){ - if(evaluation_num > 0){ - $("#evaluation_num_notice").html(""); - return true; - } - else{ - $("#evaluation_num_notice").text("匿评人数必须为大于0"); - return false; - } - } - else{ - $("#evaluation_num_notice").text("匿评人数只能为数字"); - return false; - } -} - -//老师提交 新建/修改 作业 -function submit_homework(id){ - if(!regex_homework_name()){ - $("#homework_name").focus(); - } - else if(!regex_homework_end_time()){ - $("#homework_end_time").focus(); - } - else if(!regex_homework_end_publish_time()){ - $("#homework_end_time").focus(); - } - else if(!regex_course_id()){ - $("#course_id").focus(); - } - else{ - homework_description_editor.sync(); - $("#"+id).submit(); - } -} - -//验证新建作业的名字 -function regex_homework_name() -{ - var type = $("#homework_type_option").children('option:selected').val(); - if(type == "0"){ - $('#select_type_nitice').show(); - return false; - } - - var name = $.trim($("#homework_name").val()); - - if(name=="") - { - $("#homework_name_span").text("名称不能为空"); - return false; - } - else - { - $("#homework_name_span").text(""); - return true; - } -} -//验证发布时间不能大于截止时间 -function regex_homework_end_publish_time() -{ - if($.trim($("#homework_end_time").val()) != ""){ - var myDate = new Date(); - if($.trim($("#homework_publish_time").val()) == "") - { - $("#homework_publish_time").val(formate_time(myDate)); - } - var publish_time = Date.parse($("#homework_publish_time").val()); - var end_time = Date.parse($("#homework_end_time").val()); - if(end_time < publish_time) - { - $("#homework_end_time_span").text("截止时间应晚于发布时间"); - return false; - } - else - { - $("#homework_end_time_span").text(""); - return true; - } - } else{ - return true; - } -} - -//验证截止时间 -function regex_homework_end_time() -{ - var name = $.trim($("#homework_end_time").val()); - if(name=="") - { - $("#homework_end_time_span").text("截止时间不能为空"); - return false; - } - else - { - $("#homework_end_time_span").text(""); - return true; - } -} - -function regex_work_end_publish_time() -{ - var myDate = new Date(); - if($.trim($("#homework_publish_time").val()) == "") - { - $("#homework_publish_time").val(formate_date(myDate)); - } - var publish_time = Date.parse($("#homework_publish_time").val()); - var end_time = Date.parse($("#homework_end_time").val()); - if(end_time < publish_time) - { - $("#homework_end_time_span").text("截止日期不能小于发布日期"); - return false; - } - else - { - $("#homework_end_time_span").text(""); - return true; - } -} - -function formate_date(date){ - var str = ""; - var year = date.getFullYear(); - var month = date.getMonth() + 1; - var day = date.getDate(); - if(month < 10) { - month = '0' + month; - } - if(day < 10) { - day = '0' + day; - } - str = year + '-' + month + '-' + day; - return str; -} - -function formate_time(time){ - var str = ""; - var year = time.getFullYear(); - var month = time.getMonth() + 1; - var day = time.getDate(); - var hour = time.getHours(); - var min = time.getMinutes(); - if(month < 10) { - month = '0' + month; - } - if(day < 10) { - day = '0' + day; - } - if(hour < 10) { - hour = '0' + hour; - } - if(min < 10) { - min = '0' + min; - } - str = year + '-' + month + '-' + day + ' ' + hour + ':' + min; - return str; -} - -//验证发送到课程 -function regex_course_id(){ - var course_id = $("#course_id").val(); - if(course_id == -1) - { - $("#homework_course_id_span").text("发布课程不能为空"); - return false; - } - else - { - $("#homework_course_id_span").text(""); - return true; - } -} - -//验证分组作业的参数 -function regex_group_attr(){ - var min = $.trim($("#min_num").val()); - var max = $.trim($("#max_num").val()); - var regex = /^\d+$/; - if(!regex.test(min) || parseInt(min) <= 0) { - $("#min_max_num_notice").html("人数为正整数"); - $("#min_max_num_notice").show(); - $("#min_num").focus(); - return false; - } else { - $("#min_max_num_notice").html(""); - $("#min_max_num_notice").hide(); - } - if(!regex.test(max) || parseInt(max) <= 0) { - $("#min_max_num_notice").html("人数为正整数"); - $("#min_max_num_notice").show(); - $("#max_num").focus(); - return false; - } else { - $("#min_max_num_notice").html(""); - $("#min_max_num_notice").hide(); - } - if(parseInt(min) > parseInt(max)) { - $("#min_max_num_notice").html("最小人数不得大于最大人数"); - $("#min_max_num_notice").show(); - $("#max_num").focus(); - return false; - } else { - $("#min_max_num_notice").html(""); - $("#min_max_num_notice").hide(); - } - if ($("#base_on_project").is(":checked")) { - $("#base_on_project").val(1); - } else { - $("#base_on_project").val(0); - } - return true; -} - -//验证编程作业的参数 -function regex_program_attr() { - var result = true; - $.each($("#programHomework textarea[name='sample[input][]']"), function(i, val){ - if (result && $(val).val().length<=0) { - $(val)[0].focus(); - result = false; - } - }); - $.each($("#programHomework textarea[name='program[input][]']"), function(i, val){ - if (result && $(val).val().length<=0) { - $(val)[0].focus(); - result = false; - } - }); - return result; -} - -function regexHomeworkCommonName() -{ - var name = $.trim($("#homework_attach_name").val()); - - if(name=="") - { - $("#homework_attach_name_span").text("作品名称不能为空"); - $("#homework_attach_name_span").css('color','#ff0000'); - return false; - } - else - { - $("#homework_attach_name_span").text("填写正确"); - $("#homework_attach_name_span").css('color','#008000'); - return true; - } -} -function regexHomeworkCommonDescription() -{ - var name = $.trim($("#homework_attach_description").val()); - - if(name=="") - { - $("#homework_attach_description_span").text("作品描述不能为空"); - $("#homework_attach_description_span").css('color','#ff0000'); - return false; - } - else - { - $("#homework_attach_description_span").text("填写正确"); - $("#homework_attach_description_span").css('color','#008000'); - return true; - } -} - -function submit_homework_form(){if(regexHomeworkCommonName()&®exHomeworkCommonDescription()){$('#new_homework_attach').submit();}} - -//增加测试结果 -function add_programing_test(obj) { - var now = new Date().getTime(); - obj.after("
  • " + - "
  • " + - "
  • " + - "" + - "测试" + - "" + - "
  • "); -} -//删除测试结果 -function remove_programing_test(obj) { - if(obj.siblings("div").length == 0){ - alert("至少需要一组测试"); - } - else{ - obj.remove(); - } -} - -function show_window (id1,id2,top,left) { - $('#'+ id1).css('top',top); - $('#'+ id1).css('left',left); - $('#'+ id1).css('display','block'); - $('#' + id2).css('display','block'); -} - -function close_window(id1,id2){ - $('#' + id1).css('display','none'); - $('#' + id2).css('display','none'); -} - -//隐藏提示狂 -function hidden_atert_form(cur_page,cur_type) -{ - hideModal($("#popbox")); -} - -//当课程描述长度小于112px时,不显示更多按钮 -$(function(){ - if($("#course_description_content").height()>400) - { - $("#lg-foot").show(); - } -}); - -//将右侧的最小高度设置成左侧高度,美化界面 -// firefox pre标签换行 -$(document).ready(function () { - $("#RSide").css("min-height",$("#LSide").height()-30); - var userAgent = navigator.userAgent.toLowerCase(); - var browser = { - version: (userAgent.match(/.+(?:rv|it|ra|ie)[/: ]([d.]+)/) || [])[1], - safari: /webkit/.test(userAgent), - opera: /opera/.test(userAgent), - msie: /msie/.test(userAgent) && !/opera/.test(userAgent), - mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) - }; - if (browser.mozilla || browser.opera){ - $("pre").addClass("break_word_firefox"); - } - else{ - $("pre").addClass("break_word"); - } -}); - -// 日历选择日期后关闭 -function regexDeadLine() -{ - ('#ui-datepicker-div').hide(); -} - -//新建、修改课程明码显示 -$(function(){ - $("#psw_btn").click(function() { - if($("#new_course_course_password").length > 0) { - alert("密码: "+$("#new_course_course_password").val()); - } else if($("#edit_course_course_password").length > 0){ - alert("密码: "+$("#edit_course_course_password").val()); - } - }); -}); - -//查找TAG资源 -var clickFunction = null; //单击事件函数 -var isdb = false; //是否双击 -function search_tag_attachment(url,tag_name,q,course_id,sort) -{ - //alert("111"); - //clearTimeout(clickFunction); - clickFunction = setTimeout(function() { - search_func() - }, 500); - function search_func(){ - if(isdb!= false ) return; - $.get( - url, - { - tag_name: tag_name, - q: q, - course_id:course_id - }, - function (data) { - - } - ); - } - -} - -//// 课程讨论区 -//function showhelpAndScrollToMessage(id, id1, count) { -// $('#' + id).toggle(); -// if(cookieget("repositories_visiable") == "true") -// { -// cookiesave("repositories_visiable", false,'','',''); -// } -// else -// { -// cookiesave("repositories_visiable", true,'','',''); -// } -// var information = $(id1); -// var val = information.attr("value"); -// if(val=="show_help") -// { -// $(id1).text("收起回复(" + count + ")" ); -// information.attr("value", "hide_help"); -// } -// else -// { -// $(id1).text("展开回复(" + count + ")"); -// information.attr("value", "show_help"); -// } -//} -function show_more_reply(contentid, id2, id3) { - $(contentid).toggleClass("course_description_none"); - var information = $(id2); - var arrow = $(id3); - var val = information.attr("value"); - if (val == "show_more") { - $(id2).text("[收起]"); - information.attr("value", "hide_more"); - arrow.attr("src", "/images/jiantouup.jpg") - } - else { - $(id2).text("[展开]"); - information.attr("value", "show_more"); - arrow.attr("src", "/images/jiantou.jpg") - } -} - -/////////////////////////////////////////////// -//学生作品 -function show_project() -{ - $("#about_project").slideToggle(); -} - -//验证作品名称 -function regexStudentWorkName() -{ - var name = $.trim($("#student_work_name").val()); - - if(name=="") - { - $("#student_work_name_span").text("作品名称不能为空"); - return false; - } - else - { - $("#student_work_name_span").text(""); - return true; - } -} - -function regexStudentWorkDescription() -{ - var name = $.trim($("#student_work_description").val()); - - if(name=="") - { - $("#student_work_description_textarea").text("作品描述不能为空"); - return false; - } - else - { - $("#student_work_description_textarea").text(""); - return true; - } -} - -function regexStudentWorkMember(min, max) { - var members = $.trim($("#group_member_ids").val()).split(','); - if ( min <= members.length && members.length <= max ){ - $("#student_work_group_textarea").text(""); - return true; - } else { - $("#student_work_group_textarea").text("合作成员人数应为:"+min+"-"+max+"人"); - return false; - } -} - -//提交新建作品 -function new_student_work() -{ - if(regexStudentWorkName()&®exStudentWorkDescription()) - { - if($("#group_member_ids").length > 0) { - if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) { - $("#new_student_work").submit(); - $("#ajax-indicator").hide(); - } - } else { - $("#new_student_work").submit(); - $("#ajax-indicator").hide(); - } - } -} - -function edit_student_work(id) -{ - if(regexStudentWorkName()&®exStudentWorkDescription()) - { - $("#edit_student_work_" + id).submit(); - $("#ajax-indicator").hide(); - } -} - -// - -//滑动打分 -$.fn.peSlider = function(settings){ - //configurable options (none so far) - var o = $.extend({},settings); - if( !$('body').is('[role]') ){ $('body').attr('role','application'); } - return $(this).each(function(){ - var thisLabel = $('label[for=' + $(this).attr('id') + ']').attr('id', $(this).attr('id') + '-label').attr('id'); - var thisUnits = $(this).attr('data-units') || ''; - var slider = $('
    '); - if( $(this).is('input') ){ - var input = $(this); - var thisUnits = input.attr('data-units'); - var friendlyVal = input.val() + ' ' + thisUnits; - var sliderOptions = $.extend(o,{ - min: parseFloat(input.attr('min')), - max: parseFloat(input.attr('max')), - value: parseFloat(input.val()) - }); - if(parseFloat(input.val()) == -1){ - input.css("color", "#fff"); - input.next().next().html("未评分"); - input.next().next().show(); - } else{ - input.css("color", "#000"); - input.next().next().hide(); - } - slider - .insertBefore(input) - .slider(sliderOptions) - .bind('slide', function(e, ui){ - if(ui.value == -1){ - input.css("color", "#fff"); - input.next().next().html("未评分"); - input.next().next().show(); - } else { - input.css("color", "#000"); - input.next().next().hide(); - } - input.val(ui.value); - friendlyVal = input.val() + ' ' + thisUnits; - slider.find('a').attr({ - 'aria-valuenow': ui.value, - 'aria-valuetext': friendlyVal - }); - }) - .find('a') - .attr({ - 'role': 'slider', - 'aria-valuemin': input.attr('min'), - 'aria-valuemax': input.attr('max'), - 'aria-valuenow': input.val(), - 'aria-valuetext': friendlyVal, - 'aria-labelledby': thisLabel - }); - input - .keyup(function(){ - var inVal = parseFloat(input.val()); - if( !isNaN(inVal) ){ - if(inVal == -1){ - input.css("color", "#fff"); - input.next().next().html("未评分"); - input.next().next().show(); - } else { - input.css("color", "#000"); - input.next().next().hide(); - } - slider.slider('value', inVal); - input.val(slider.slider('value')); - } - }) - .change(function(){ - var inVal = parseFloat(input.val()); - if( !isNaN(inVal) ){ - if(inVal == -1){ - input.css("color", "#fff"); - input.next().next().html("未评分"); - input.next().next().show(); - } else { - input.css("color", "#000"); - input.next().next().hide(); - } - slider.slider('value', inVal); - input.val(slider.slider('value')); - } - }) - .blur(function(){ - var inVal = parseFloat(input.val()); - if( isNaN(inVal) ){ - input.val(-1); - } - if(input.val() == -1){ - input.css("color", "#fff"); - input.next().next().html("未评分"); - input.next().next().show(); - } else { - input.css("color", "#000"); - input.next().next().hide(); - } - }); - if( !settings.step ){ - var step = Math.round( parseFloat(input.attr('max')) / slider.width()); - if(step > 1){ slider.slider('option','step',step); } - } - } - }); -}; - -//返回顶部 -$(function(){goTopEx();}); - -var Sys = {}; -var ua = navigator.userAgent.toLowerCase(); -var s; -(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : - (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : - (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : - (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : - (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; - -function goTopEx() { - var obj = document.getElementById("goTopBtn"); - if(obj != null) - { - var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; - function getScrollTop() { - var xsun = document.documentElement.scrollTop; - if (Sys.chrome) { - xsun=document.body.scrollTop; - } - return xsun; - } - function setScrollTop(value) { - if (Sys.chrome) { - document.body.scrollTop = value; - } - else { - document.documentElement.scrollTop = value; - } - } - window.onscroll = function () { getScrollTop() > 0 ? obj.style.display = "" : obj.style.display = "none"; }; - obj.onclick = function () { - var goTop = setInterval(scrollMove, 10); - function scrollMove() { - setScrollTop(getScrollTop() / 1.1); - if (getScrollTop() < 1) clearInterval(goTop); - } - } - } -} - -$(function(){ - //匿评评分提示 - $(".student_score_info").live("mouseover",function(){ - $(this).find("div").show(); - }); - $(".student_score_info").live("mouseout",function(){ - $(this).find("div").hide(); - }); - //最终成绩提示 - $(".student_final_scor_info").live("mouseover",function(){ - $(this).find("div").show(); - }); - $(".student_final_scor_info").live("mouseout",function(){ - $(this).find("div").hide(); - }); - - $("#about_project label").eq(1).remove(); - - ////附件下载提示 - //$(".zip_download_alert").bind("mouseover",function(){ - // $(this).next("div").show(); - //}); - //$(".zip_download_alert").bind("mouseout",function(){ - // $(this).next("div").hide(); - //}); -}); - -//匿评弹框取消按钮 -function clickCanel(){hideModal("#popbox02");} -//匿评弹框确定按钮 -function clickOK(path) -{ - clickCanel(); - $.ajax({ - type: "GET", - url: path, - data: 'text', - success: function (data) { - } - }); -} -//关闭引入资源弹框 -function hideResource(){ - $('#ajax-modal').parent().removeClass("popbox").removeClass("referenceResourcesPopup"); - hideModal(); -} -//查询 -function SearchByName(url,event) -{ - var keycode = (event.keyCode ? event.keyCode : event.which); - if(keycode == '13'){ - $.get( - url, - { - name : $("#course_student_name").val(), - group : $("#student_work_in_group").val() - }, - function (data) { - } - ); - } -} -function SearchByName_1(url) -{ - //alert($("#student_work_in_group").val()); - $.get( - url, - { - name : $("#course_student_name").val(), - group : $("#student_work_in_group").val() - }, - function (data) { - } - ); -} - -$(function(){ - $("#student_work_in_group").live("change",function(){ - $("#search_in_student_work").click(); - }); -}); - -//新建作业临时弹框 -function new_homework_alert(){ - alert("您好!课程内直接发布作业的功能正在改进中,请直接点击\n顶部导航栏的“作业”向本课程发送作业。谢谢!如有问\n题,可参见帮助中心。"); -} - -function show_student_work(url){ - $.get( - url, - { - - }, - function (data) { - } - ); -} - - -//课程大纲选择请求,第二个参数是可选的,判断当前页面是大纲显示页面还是 课程首页 -function course_outline(id){ - $.get( - ' /courses/'+id+'/course_outline'+"?is_in_show_outline_page="+(arguments[1] ? arguments[1] : 'N') - ) -} - -//取消课程组织关联 -function cancel_org_course_relation(id, courseId){ - if(confirm("确定取消关联吗?") == false) return; - $.ajax({ - url:"/org_courses/" + id + "?course_id=" + courseId, - type: "delete", - success:function(data){ - $.ajax({ - url: "/courses/" + courseId + "/search_public_orgs_not_in_course?hint_flag=true", - type:'get' - }); - } - }); -} -//$(function(){ -// $('#course_outline_search').on('input',function(){ -// alert('<%= @course.id%>') -// }) -//}) - -//项目点击展开 -function expand_tools_expand(content) { - if (content == "invit") { - $("#expand_tools_expand_invit").toggleClass("currentDd").siblings(".subNav").removeClass("currentDd"); - $("#expand_tools_expand_invit").toggleClass("currentDt").siblings(".subNav").removeClass("currentDt"); - $("#expand_tools_expand_invit").next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500); - } - else { -// $("#expand_tools_expand").toggleClass("currentDd").siblings(".subNav").removeClass("currentDd"); -// $("#expand_tools_expand").toggleClass("currentDt").siblings(".subNav").removeClass("currentDt"); -// $("#expand_tools_expand").next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500); - $("#navContent").toggle(500); - } - - // 修改数字控制速度, slideUp(500)控制卷起速度 -} - -//通过cookie存储伸开形式 -$(function(){ -// var personalized_expand_key = "personalized_expand"; -// function personalized_init(){ -// var personalized_map = cookieget(personalized_expand_key); -// if(personalized_map!=false){ -// personalized_map = JSON.parse(personalized_map); -// $("*[nhtype='toggle4cookiecourse']").each(function(){ -// var personalized_id=$(this).data('id'); -// var val = personalized_map[personalized_id]; -// if(val!=undefined && val!=$(this).data('val')){ -// personalized_click($(this),0); -// } -// }); -// } -// } -// function personalized_click(obj,timeout){ -// var target = $(obj.data('target')); -// var oldval = obj.data('val'); -// var val=''; -// if(oldval=='expand'){val='retract';}else{val='expand';} -// obj.data('val',val); -// var personalized_map = cookieget(personalized_expand_key); -// if(personalized_map == false){ -// personalized_map={}; -// }else{ -// personalized_map = JSON.parse(personalized_map); -// } -// var personalized_id=obj.data('id'); -// personalized_map[personalized_id]=val; -// cookiesave(personalized_expand_key,JSON.stringify(personalized_map)); -// target.toggle(timeout); -// } -// $("*[nhtype='toggle4cookiecourse']").on('click',function(){ -// personalized_click($(this),500); -// }); -// -// personalized_init(); -}); -function submit_course_feedback() { - var flag = false; - if(flag == false){ - $("#course_feedback_new").submit(); - var flag = true - } -} - -function show_more_tool(){ - $('#navContentCourse').css('display', 'block'); -} - -//留言 -function course_jour_submit(){ - if(jourReplyVerify()){ - jour_content_editor.sync();//提交内容之前要sync,不然服务器端取不到值 - $("#course_feedback_new").submit(); - } -} - -function jourReplyVerify() { - var content = jour_content_editor.html();//$.trim($("#message_content").val()); - if (jour_content_editor.isEmpty()) { - $("#jour_content_span").text("留言不能为空"); - $("#jour_content_span").show(); - $("#jour_content_span").css('color', '#ff0000'); - $("#submit_feedback_user").one('click',function() { - course_jour_submit(); - }); - return false; - } - else { - $("#jour_content_span").text("填写正确"); - $("#jour_content_span").css('color', '#008000'); - return true; - } -} - -function cancel_jour_submit(){ - jour_content_editor.html(""); - $("#jour_content_span").text(""); - $("#jour_content_span").hide(); +//配置课程信息 +function course_setting(id) +{ + //alert(id); + //$('#tb_'+id).removeClass().addClass("hwork_hovertab"); + //$('#tbc_0'+id).removeClass().addClass("dis"); + //$('#tb_'+(3-id)).removeClass().addClass("hwork_normaltab"); + //$('#tbc_0'+(3-id)).removeClass().addClass("undis"); + for (var i = 1; i < 5; i++) { + if (i == id) { + $("#tb_" + i).removeClass().addClass("hwork_hovertab"); + $("#tbc_0" + i).removeClass().addClass("dis"); + } + else { + $("#tb_" + i).removeClass().addClass("hwork_normaltab"); + $("#tbc_0" + i).removeClass().addClass("undis"); + } + } +} + +$(function(){ + $("img").removeAttr("align"); +}); + +/////////////////////////////////////////////////////////////// +//添加分班 +function add_group(url,course_id) { + var group_name = $('#group_name').val(); + $.get( + url, + { valid: "name", + value: group_name, + course_id: course_id }, + function (data) { + if (data.valid) { + $("#add_group_name").submit(); + } + else + { + alert(data.message); + } + } + ); +} +//修改分班:修改分班时得考虑什么都不改但是点击确定的情况 +function edit_group(id,url,course_id,group_id) +{ + var group_name = $('#'+id).val(); + var group_id = $('#'+group_id).val(); + $.get( + url, + { + valid: "name", + value: group_name, + course_id: course_id, + group_id: group_id + }, + function (data) { + if (data.valid) { + $("#update_group_form").submit(); + } + else + { + alert(data.message); + } + } + ); +} + +function hidden_homework_score_form() +{ + hideModal($("#user_score")); +} +/////////////////////////////////////////////////////////////// +///////////////////////////////////////////////////////////////新建课程相关 +//验证班级名称 +function regex_course_name(str) +{ + var name = $.trim($("#"+str+"_course_name").val()); + var syl_title = ""; + if($("#new_syllabus_id").length > 0){ + syl_title = $("#new_syllabus_id").find("option:selected").text(); + } else{ + if(str == "edit"){ + syl_title = $("#edit_syllabus_id").html(); + } else{ + syl_title = $("#course_syllabus_title").html(); + } + } + if(name.length < 2) + { + $("#"+str+"_course_name_notice").show(); + $("#"+str+"_course_name").css('border', "2px solid red"); + return false; + } + else if(name.indexOf(syl_title) != 0){ + $("#"+str+"_course_name_notice").html("请参照正确示例规范,应该以课程名称开头命名"); + $("#"+str+"_course_name_notice").show(); + $("#"+str+"_course_name").focus(); + $("#"+str+"_course_name").css('border', "2px solid red"); + return false; + } + else + { + $("#"+str+"_course_name_notice").hide(); + $("#"+str+"_course_name").css('border', "1px solid #ddd"); + return true; + } +} +//验证课程学时 +function regex_course_class_period(str) +{ + var class_period = $.trim($("#"+str+"_class_period").val()); + var regex = /^\d*$/; + if(class_period.length == 0) + { + $("#"+str+"_course_class_period_notice").html("学时总数不能为空"); + $("#"+str+"_course_class_period_notice").show(); + return false; + } + else if (regex.test(class_period)) { + if(parseInt(class_period) > 0) + { + $("#"+str+"_course_class_period_notice").html(""); + $("#"+str+"_course_class_period_notice").hide(); + return true; + } + else + { + $("#"+str+"_course_class_period_notice").html("学时总数必须大于0"); + $("#"+str+"_course_class_period_notice").show(); + return false; + } + } + else + { + $("#"+str+"_course_class_period_notice").html("学时总数必须为正整数"); + $("#"+str+"_course_class_period_notice").show(); + return false; + } +} +//验证开始学期和结束学期 +function regex_time_term(str){ + var obj_time = document.getElementById(str+"_time"); + var obj_end_time = document.getElementById(str+"_end_time"); + var obj_term = document.getElementById(str+"_term"); + var obj_end_term = document.getElementById(str+"_end_term"); + var time = obj_time.options[obj_time.selectedIndex]; + var end_time = obj_end_time.options[obj_end_time.selectedIndex]; + var term = obj_term.options[obj_term.selectedIndex]; + var end_term = obj_end_term.options[obj_end_term.selectedIndex]; + if(time.value == end_time.value) { + if(set_term_val(term.value) > set_term_val(end_term.value)) { + $("#"+str+"_course_time_term_notice").html("开始学期不能晚于结束学期"); + $("#"+str+"_course_time_term_notice").show(); + return false; + } else { + $("#"+str+"_course_time_term_notice").html(""); + $("#"+str+"_course_time_term_notice").hide(); + return true; + } + } else if(time.value < end_time.value) { + $("#"+str+"_course_time_term_notice").html(""); + $("#"+str+"_course_time_term_notice").hide(); + return true; + } else { + $("#"+str+"_course_time_term_notice").html("开始学期不能晚于结束学期"); + $("#"+str+"_course_time_term_notice").show(); + return false; + } +} +//学期转换为数字 +function set_term_val(val) { + if(val == "春季学期"){ + return 1; + } else if(val == "夏季学期"){ + return 2; + } else if(val == "秋季学期"){ + return 3; + } +} +//验证密码 +function regex_course_password(str) +{ + var class_period = $.trim($("#"+str+"_course_course_password").val()); + var regex = /^\w+$/; + if(class_period.length == 0) + { + $("#"+str+"_course_course_password_notice").html("课程密码不能为空"); + $("#"+str+"_course_course_password_notice").show(); + return false; + } + else if (regex.test(class_period)) { + $("#"+str+"_course_course_password_notice").html(""); + $("#"+str+"_course_course_password_notice").hide(); + return true; + } + else + { + $("#"+str+"_course_course_password_notice").html("课程密码有非法字符"); + $("#"+str+"_course_course_password_notice").show(); + return false; + } +} +//验证课程大纲 +function regex_syllabus_option(str) { + if(str == "new" && document.getElementById(str + "_syllabus_id")) { + var obj = document.getElementById(str + "_syllabus_id"); + var syllabus = obj.options[obj.selectedIndex]; + if(parseInt(syllabus.value) == 0) { + $("#"+str+"_course_syllabus_notice").show(); + return false; + } else{ + $("#"+str+"_course_syllabus_notice").hide(); + return true; + } + } else { + $("#"+str+"_course_syllabus_notice").hide(); + return true; + } +} +//提交新建课程 +function submit_new_course() +{ + if(regex_syllabus_option('new')&®ex_course_name('new')&®ex_course_clss_aperiod('new')&®ex_time_term('new')) + { + $("#new_course").submit(); + } +} + +function submit_edit_course(id) +{ + if(regex_syllabus_option('edit')&®ex_course_name('edit')&®ex_course_class_period('edit')&®ex_time_term('edit')) + { + $("#edit_course_"+id).submit(); + } +} + +//新建课程大纲 +function submit_new_syllabus() +{ + if(regex_syllabus_name()) + { + $("#new_syllabus").submit(); + } +} + +//课程讨论区 +function regexTopicSubject() { + var name = $("#message_subject").val(); + if(name.length ==0) + { + $("#subjectmsg").text("标题不能为空"); + $("#subjectmsg").css('color','#ff0000'); + $("#message_subject").focus(); + return false; + } + else if(name.length <= 255) + { + $("#subjectmsg").text("填写正确"); + $("#subjectmsg").css('color','#008000'); + return true; + } + else + { + $("#subjectmsg").text("标题超过255个字符"); + $("#subjectmsg").css('color','#ff0000'); + $("#message_subject").focus(); + return false; + } +} + +function regexTopicDescription() +{ + var name = message_content_editor.html(); + if(message_content_editor.isEmpty()) + { + $("#message_content_span").text("描述不能为空"); + $("#message_content_span").css('color','#ff0000'); + return false; + } + else if(name.length >=6000){ + $("#message_content_span").text("描述最多3000个汉字(或6000个英文字符)"); + $("#message_content_span").css('color','#ff0000'); + return false; + } + else + { + $("#message_content_span").text("填写正确"); + $("#message_content_span").css('color','#008000'); + return true; + } +} + +function submit_topic() +{ +// if(regexTopicSubject() && regexTopicDescription()) +// { + message_content_editor.sync(); + $("#message-form").submit(); +// } +} + +function reset_topic(){ + +} + +/////////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////课程讨论区 +function regexSubject(id) { + var subjectid = "#message_subject" + id ; + var content = $.trim($(subjectid).val()); + var message = "#subject_span" + id; + if (content.length == 0) { + $(message).text("主题不能为空"); + $(message).css('color', '#ff0000'); + return false; + } + else { + $(message).text("填写正确"); + $(message).css('color', '#008000'); + return true; + } + return false; +} +function regexContent(id) { + var contentid = "#message_content" + id; + var message = "#message_content_span"+ id; + var content = $.trim($(contentid).val()); + if (content.length == 0) { + $(message).text("描述不能为空"); + $(message).css('color', '#ff0000'); + return false; + } + else { + $(message).text("填写正确"); + $(message).css('color', '#008000'); + return true; + } + return false; +} + +// 项目讨论区编辑和提交 +function submitProjectsBoard(id) { + var formid = "#message-form" + id; + if (regexSubject(id) && regexContent(id)) { + $(formid).submit(); + } +} + + +/////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////// 课程通知 +function regexTitle() +{ + var name = $("#news_title").val(); + if(name.length ==0) + { + $("#title_notice_span").text("标题不能为空"); + $("#title_notice_span").css('color','#ff0000'); + $("#news_title").focus(); + return false; + } + else if(name.length <= 60) + { + $("#title_notice_span").text("填写正确"); + $("#title_notice_span").css('color','#008000'); + return true; + } + else + { + $("#title_notice_span").text("标题超过60个字符"); + $("#title_notice_span").css('color','#ff0000'); + $("#news_title").focus(); + return false; + } +} + +function regexDescription() +{ + var name = news_description_editor.html(); + if(news_description_editor.isEmpty()) + { + $("#description_notice_span").text("描述不能为空"); + $("#description_notice_span").css('color','#ff0000'); + $("#description_notice_span").focus(); + return false; + } + /*else if(name.length >=6000){ + $("#description_notice_span").text("描述最多3000个汉字(或6000个英文字符)"); + $("#description_notice_span").css('color','#ff0000'); + $("#description_notice_span").focus(); + return false; + }*/ + else + { + $("#description_notice_span").text("填写正确"); + $("#description_notice_span").css('color','#008000'); + return true; + } +} + +function submitNews() +{ + if(regexTitle() && regexDescription()) + { + news_description_editor.sync(); + $("#news-form").submit(); + } +} + +function submitFocus(obj) +{ + $(obj).focus(); +} + +function submitComment() +{ + if (newsReplyVerify()) { + comment_editor.sync(); + $("#add_comment_form").submit(); + } +} + +function newsReplyVerify() { + var content = comment_editor.html(); + if(comment_editor.isEmpty()) { + $("#add_reply_news").text("评论不能为空"); + $("#add_reply_news").css('color', '#ff0000'); + $("#news_submit_comment").one('click',function(){ + submitComment(); + }); + return false; + } else { + $("#add_reply_news").text("填写正确"); + $("#add_reply_news").css('color', '#008000'); + return true; + } +} + +/////////////////////////////////////////////////课程讨论区 +function course_board_submit_message_replay() +{ + if(MessageReplayVevify()) + { + message_content_editor.sync();//提交内容之前要sync,不然服务器端取不到值 + $("#message_form").submit(); + } +} + +function course_board_canel_message_replay() +{ + $("#reply").hide(200); + $("#message_quote").html(""); +} + +function MessageReplayVevify() { + var content = message_content_editor.html();//$.trim($("#message_content").val()); + if (message_content_editor.isEmpty()) { + $("#message_content_span").text("回复不能为空"); + $("#message_content_span").css('color', '#ff0000'); + return false; + } + else { + $("#message_content_span").text("填写正确"); + $("#message_content_span").css('color', '#008000'); + return true; + } +} +////////////////////////////////////////////////// + +/////////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////// +//验证搜索时输入名字 +function regexName(content) +{ + var name = $.trim($("#name").val()); + if(name.length == 0) + { + $("#project_name_span").text(content); + $("#project_name_span").css('color','#ff0000'); + $("#project_name_span").focus(); + return false; + } + else + { + $("#project_name_span").text(""); + return true; + } +} +//提交搜索 +function submitSerch(content) +{ + if(regexName(content)){$("#course_search_form").submit();} +} + +//验证搜索时输入名字 +function regexQ(content) +{ + var name = $.trim($("#q").val()); + if(name.length == 0) + { + $("#course_member_name_span").text(content); + $("#course_member_name_span").css('color','#ff0000'); + $("#course_member_name_span").focus(); + return false; + } + else + { + $("#course_member_name_span").text(""); + return true; + } +} +//提交课程成员搜索 +function submitMemberSerch(content) +{ + //if(regexQ(content)){$("#course_member_search_form").submit();} + $("#course_member_search_form").submit(); +} + +//课程描述显示更多信息 +function show_more_msg() +{ + $("#course_description").toggleClass("course_description_none"); + var information = $("#expend_more_information"); + var arrow = $("#arrow"); + var val = information.attr("value"); + if (val == "show_more") { + $("#expend_more_information").text("收起描述信息"); + information.attr("value", "hide_more"); + arrow.attr("src", "/images/jiantouup.jpg") + } + else { + $("#expend_more_information").text("展开更多信息"); + information.attr("value", "show_more"); + arrow.attr("src", "/images/jiantou.jpg") + } +} +//作业描述显示更多信息 +function news_show_more_des(id) +{ + $('#news_description_' + id).toggleClass("news_description_none"); + if($("#news_description_" + id).hasClass("news_description_none")) + { + $("#news_foot_" + id).html("[收起]"); + } + else + { + $("#news_foot_" + id).html("[展开]"); + } +} +function bid_show_more_des(id) +{ + $("#bid_description_" + id).toggleClass("news_description_none"); + if($("#bid_description_" + id).hasClass("news_description_none")) + { + $("#bid_show_more_des_button" + id).html("[收起]"); + } + else + { + $("#bid_show_more_des_button" + id).html("[展开]"); + } +} + +//课程作业结束时间倒计时 +function show_bid_dead_line(year,month,day,divname) +{ + var now = new Date(); + var endDate = new Date(year, month-1, day); + var leftTime=endDate.getTime()-now.getTime(); + var leftsecond = parseInt(leftTime/1000); + var day1=Math.floor(leftsecond/(60*60*24)); + var hour=Math.floor((leftsecond-day1*24*60*60)/3600); + var minute=Math.floor((leftsecond-day1*24*60*60-hour*3600)/60); + var second=Math.floor(leftsecond-day1*24*60*60-hour*3600-minute*60); + $("#"+divname).html("
    " + + " 天" + + " 小时" + + " 分" + + " 秒" + + "" + + "

    作品提交还剩:

    "); +} + + +//处理迟交、缺评扣分 +function check_late_penalty(id) +{ + var obj = $("#" + id); + var regex = /^\d+$/; + if(regex.test(obj.val())) + { + if(obj.val() > 50) + { + obj.val("50"); + } + } + else + { + obj.val(""); + } +} + +//验证匿评数量 +//function regex_evaluation_num() +//{ +// if($("#evaluation_num").length == 0){ return true;} +// var evaluation_num = $.trim($("#evaluation_num").val()); +// var regex = /^\d+$/; +// if(evaluation_num=="") +// { +// $("#evaluation_num_notice").html("匿评分配数量不能为空"); +// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); +// return false; +// } +// else if(regex.test(evaluation_num)) +// { +// if(evaluation_num > 0) +// { +// $("#evaluation_num_notice").html("每个学生将收到 "+ parseInt(evaluation_num) + " 份待匿评作品"); +// $("#evaluation_num_notice").removeClass("c_red"); +// return true; +// } +// else +// { +// $("#evaluation_num_notice").html("匿评分配数量必须为大于0"); +// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); +// return false; +// } +// } +// else +// { +// $("#evaluation_num_notice").html("匿评分配数量只能为数字"); +// $("#evaluation_num_notice").removeClass("c_red").addClass("c_red"); +// return false; +// } +//} + +//点击是否开启匿评单选框效果 +$(function(){ + $("#absence_penalty").change(function(){ + $("#absence_penalty_notice").html(" "+ $("#absence_penalty").val() +" "); + }); +}); + +//生成select +function build_selector(max_num){ + var html = ""; + return html; +} +function build_selector_sy(max_num){ + var html = ""; + return html; +} + +//提交匿评参数设置 +function submit_set_evaluation_attr(end_time){ + if(!regex_evaluation_start(end_time)){ + $("#evaluation_start_time").focus(); + } + else if(!regex_evaluation_end()){ + $("#evaluation_end_time").focus(); + } + else if(!regex_evaluation_num()){ + $("#evaluation_num").focus(); + } + else{ + $('#muban_popup_box form').submit(); + hideModal(); + } +} + +//验证匿评开启时间:大于截止时间,或者为空 +function regex_evaluation_start(end_time){ + var evaluation_start = $.trim($("#evaluation_start_time").val()); + if(evaluation_start == ""){ + $("#homework_evaluation_start_time").text("开启匿评日期不能为空"); + return false; + } + var end_time = new Date(end_time); + var evaluation_start_time = new Date(evaluation_start); + if(evaluation_start_time > end_time){ + $("#homework_evaluation_start_time").text(""); + return true; + }else{ + $("#homework_evaluation_start_time").text("开启匿评日期必须大于截止日期"); + return false; + } +} + +//验证匿评结束时间:大于匿评开启时间,或者为空。当匿评开启时间为空时,匿评结束时间必须为空 +function regex_evaluation_end(){ + var evaluation_start = $.trim($("#evaluation_start_time").val()); + var evaluation_end = $.trim($("#evaluation_end_time").val()); + if(evaluation_end == ""){ + $("#homework_evaluation_end_time").text("关闭匿评日期不能为空"); + return true; + } + var evaluation_start_time = new Date(evaluation_start); + var evaluation_end_time = new Date(evaluation_end); + if(evaluation_end_time >= evaluation_start_time){ + $("#homework_evaluation_end_time").text(""); + return true; + }else{ + $("#homework_evaluation_end_time").text("关闭匿评日期不能小于开启匿评日期"); + return false; + } +} + +//验证匿评数量 +function regex_evaluation_num(){ + var evaluation_num = $.trim($("#evaluation_num").val()); + var regex = /^\d+$/; + if(evaluation_num==""){ + $("#evaluation_num_notice").text("匿评人数不能为空"); + return false; + } + else if(regex.test(evaluation_num)){ + if(evaluation_num > 0){ + $("#evaluation_num_notice").html(""); + return true; + } + else{ + $("#evaluation_num_notice").text("匿评人数必须为大于0"); + return false; + } + } + else{ + $("#evaluation_num_notice").text("匿评人数只能为数字"); + return false; + } +} + +//老师提交 新建/修改 作业 +function submit_homework(id){ + if(!regex_homework_name()){ + $("#homework_name").focus(); + } + else if(!regex_homework_end_time()){ + $("#homework_end_time").focus(); + } + else if(!regex_homework_end_publish_time()){ + $("#homework_end_time").focus(); + } + else if(!regex_course_id()){ + $("#course_id").focus(); + } + else{ + homework_description_editor.sync(); + $("#"+id).submit(); + } +} + +//验证新建作业的名字 +function regex_homework_name() +{ + var type = $("#homework_type_option").children('option:selected').val(); + if(type == "0"){ + $('#select_type_nitice').show(); + return false; + } + + var name = $.trim($("#homework_name").val()); + + if(name=="") + { + $("#homework_name_span").text("名称不能为空"); + return false; + } + else + { + $("#homework_name_span").text(""); + return true; + } +} +//验证发布时间不能大于截止时间 +function regex_homework_end_publish_time() +{ + if($.trim($("#homework_end_time").val()) != ""){ + var myDate = new Date(); + if($.trim($("#homework_publish_time").val()) == "") + { + $("#homework_publish_time").val(formate_time(myDate)); + } + var publish_time = Date.parse($("#homework_publish_time").val()); + var end_time = Date.parse($("#homework_end_time").val()); + if(end_time < publish_time) + { + $("#homework_end_time_span").text("截止时间应晚于发布时间"); + return false; + } + else + { + $("#homework_end_time_span").text(""); + return true; + } + } else{ + return true; + } +} + +//验证截止时间 +function regex_homework_end_time() +{ + var name = $.trim($("#homework_end_time").val()); + if(name=="") + { + $("#homework_end_time_span").text("截止时间不能为空"); + return false; + } + else + { + $("#homework_end_time_span").text(""); + return true; + } +} + +function regex_work_end_publish_time() +{ + var myDate = new Date(); + if($.trim($("#homework_publish_time").val()) == "") + { + $("#homework_publish_time").val(formate_date(myDate)); + } + var publish_time = Date.parse($("#homework_publish_time").val()); + var end_time = Date.parse($("#homework_end_time").val()); + if(end_time < publish_time) + { + $("#homework_end_time_span").text("截止日期不能小于发布日期"); + return false; + } + else + { + $("#homework_end_time_span").text(""); + return true; + } +} + +function formate_date(date){ + var str = ""; + var year = date.getFullYear(); + var month = date.getMonth() + 1; + var day = date.getDate(); + if(month < 10) { + month = '0' + month; + } + if(day < 10) { + day = '0' + day; + } + str = year + '-' + month + '-' + day; + return str; +} + +function formate_time(time){ + var str = ""; + var year = time.getFullYear(); + var month = time.getMonth() + 1; + var day = time.getDate(); + var hour = time.getHours(); + var min = time.getMinutes(); + if(month < 10) { + month = '0' + month; + } + if(day < 10) { + day = '0' + day; + } + if(hour < 10) { + hour = '0' + hour; + } + if(min < 10) { + min = '0' + min; + } + str = year + '-' + month + '-' + day + ' ' + hour + ':' + min; + return str; +} + +//验证发送到课程 +function regex_course_id(){ + var course_id = $("#course_id").val(); + if(course_id == -1) + { + $("#homework_course_id_span").text("发布课程不能为空"); + return false; + } + else + { + $("#homework_course_id_span").text(""); + return true; + } +} + +//验证分组作业的参数 +function regex_group_attr(){ + var min = $.trim($("#min_num").val()); + var max = $.trim($("#max_num").val()); + var regex = /^\d+$/; + if(!regex.test(min) || parseInt(min) <= 0) { + $("#min_max_num_notice").html("人数为正整数"); + $("#min_max_num_notice").show(); + $("#min_num").focus(); + return false; + } else { + $("#min_max_num_notice").html(""); + $("#min_max_num_notice").hide(); + } + if(!regex.test(max) || parseInt(max) <= 0) { + $("#min_max_num_notice").html("人数为正整数"); + $("#min_max_num_notice").show(); + $("#max_num").focus(); + return false; + } else { + $("#min_max_num_notice").html(""); + $("#min_max_num_notice").hide(); + } + if(parseInt(min) > parseInt(max)) { + $("#min_max_num_notice").html("最小人数不得大于最大人数"); + $("#min_max_num_notice").show(); + $("#max_num").focus(); + return false; + } else { + $("#min_max_num_notice").html(""); + $("#min_max_num_notice").hide(); + } + if ($("#base_on_project").is(":checked")) { + $("#base_on_project").val(1); + } else { + $("#base_on_project").val(0); + } + return true; +} + +//验证编程作业的参数 +function regex_program_attr() { + var result = true; + $.each($("#programHomework textarea[name='sample[input][]']"), function(i, val){ + if (result && $(val).val().length<=0) { + $(val)[0].focus(); + result = false; + } + }); + $.each($("#programHomework textarea[name='program[input][]']"), function(i, val){ + if (result && $(val).val().length<=0) { + $(val)[0].focus(); + result = false; + } + }); + return result; +} + +function regexHomeworkCommonName() +{ + var name = $.trim($("#homework_attach_name").val()); + + if(name=="") + { + $("#homework_attach_name_span").text("作品名称不能为空"); + $("#homework_attach_name_span").css('color','#ff0000'); + return false; + } + else + { + $("#homework_attach_name_span").text("填写正确"); + $("#homework_attach_name_span").css('color','#008000'); + return true; + } +} +function regexHomeworkCommonDescription() +{ + var name = $.trim($("#homework_attach_description").val()); + + if(name=="") + { + $("#homework_attach_description_span").text("作品描述不能为空"); + $("#homework_attach_description_span").css('color','#ff0000'); + return false; + } + else + { + $("#homework_attach_description_span").text("填写正确"); + $("#homework_attach_description_span").css('color','#008000'); + return true; + } +} + +function submit_homework_form(){if(regexHomeworkCommonName()&®exHomeworkCommonDescription()){$('#new_homework_attach').submit();}} + +//增加测试结果 +function add_programing_test(obj) { + var now = new Date().getTime(); + obj.after("
  • " + + "
  • " + + "
  • " + + "" + + "测试" + + "" + + "
  • "); +} +//删除测试结果 +function remove_programing_test(obj) { + if(obj.siblings("div").length == 0){ + alert("至少需要一组测试"); + } + else{ + obj.remove(); + } +} + +function show_window (id1,id2,top,left) { + $('#'+ id1).css('top',top); + $('#'+ id1).css('left',left); + $('#'+ id1).css('display','block'); + $('#' + id2).css('display','block'); +} + +function close_window(id1,id2){ + $('#' + id1).css('display','none'); + $('#' + id2).css('display','none'); +} + +//隐藏提示狂 +function hidden_atert_form(cur_page,cur_type) +{ + hideModal($("#popbox")); +} + +//当课程描述长度小于112px时,不显示更多按钮 +$(function(){ + if($("#course_description_content").height()>400) + { + $("#lg-foot").show(); + } +}); + +//将右侧的最小高度设置成左侧高度,美化界面 +// firefox pre标签换行 +$(document).ready(function () { + $("#RSide").css("min-height",$("#LSide").height()-30); + var userAgent = navigator.userAgent.toLowerCase(); + var browser = { + version: (userAgent.match(/.+(?:rv|it|ra|ie)[/: ]([d.]+)/) || [])[1], + safari: /webkit/.test(userAgent), + opera: /opera/.test(userAgent), + msie: /msie/.test(userAgent) && !/opera/.test(userAgent), + mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent) + }; + if (browser.mozilla || browser.opera){ + $("pre").addClass("break_word_firefox"); + } + else{ + $("pre").addClass("break_word"); + } +}); + +// 日历选择日期后关闭 +function regexDeadLine() +{ + ('#ui-datepicker-div').hide(); +} + +//新建、修改课程明码显示 +$(function(){ + $("#psw_btn").click(function() { + if($("#new_course_course_password").length > 0) { + alert("密码: "+$("#new_course_course_password").val()); + } else if($("#edit_course_course_password").length > 0){ + alert("密码: "+$("#edit_course_course_password").val()); + } + }); +}); + +//查找TAG资源 +var clickFunction = null; //单击事件函数 +var isdb = false; //是否双击 +function search_tag_attachment(url,tag_name,q,course_id,sort) +{ + //alert("111"); + //clearTimeout(clickFunction); + clickFunction = setTimeout(function() { + search_func() + }, 500); + function search_func(){ + if(isdb!= false ) return; + $.get( + url, + { + tag_name: tag_name, + q: q, + course_id:course_id + }, + function (data) { + + } + ); + } + +} + +//// 课程讨论区 +//function showhelpAndScrollToMessage(id, id1, count) { +// $('#' + id).toggle(); +// if(cookieget("repositories_visiable") == "true") +// { +// cookiesave("repositories_visiable", false,'','',''); +// } +// else +// { +// cookiesave("repositories_visiable", true,'','',''); +// } +// var information = $(id1); +// var val = information.attr("value"); +// if(val=="show_help") +// { +// $(id1).text("收起回复(" + count + ")" ); +// information.attr("value", "hide_help"); +// } +// else +// { +// $(id1).text("展开回复(" + count + ")"); +// information.attr("value", "show_help"); +// } +//} +function show_more_reply(contentid, id2, id3) { + $(contentid).toggleClass("course_description_none"); + var information = $(id2); + var arrow = $(id3); + var val = information.attr("value"); + if (val == "show_more") { + $(id2).text("[收起]"); + information.attr("value", "hide_more"); + arrow.attr("src", "/images/jiantouup.jpg") + } + else { + $(id2).text("[展开]"); + information.attr("value", "show_more"); + arrow.attr("src", "/images/jiantou.jpg") + } +} + +/////////////////////////////////////////////// +//学生作品 +function show_project() +{ + $("#about_project").slideToggle(); +} + +//验证作品名称 +function regexStudentWorkName() +{ + var name = $.trim($("#student_work_name").val()); + + if(name=="") + { + $("#student_work_name_span").text("作品名称不能为空"); + return false; + } + else + { + $("#student_work_name_span").text(""); + return true; + } +} + +function regexStudentWorkDescription() +{ + var name = $.trim($("#student_work_description").val()); + + if(name=="") + { + $("#student_work_description_textarea").text("作品描述不能为空"); + return false; + } + else + { + $("#student_work_description_textarea").text(""); + return true; + } +} + +function regexStudentWorkMember(min, max) { + var members = $.trim($("#group_member_ids").val()).split(','); + if ( min <= members.length && members.length <= max ){ + $("#student_work_group_textarea").text(""); + return true; + } else { + $("#student_work_group_textarea").text("合作成员人数应为:"+min+"-"+max+"人"); + return false; + } +} + +//提交新建作品 +function new_student_work() +{ + if(regexStudentWorkName()&®exStudentWorkDescription()) + { + if($("#group_member_ids").length > 0) { + if(regexStudentWorkMember(parseInt($.trim($("#min_num_member").html())),parseInt($.trim($("#max_num_member").html())))) { + $("#new_student_work").submit(); + $("#ajax-indicator").hide(); + } + } else { + $("#new_student_work").submit(); + $("#ajax-indicator").hide(); + } + } +} + +function edit_student_work(id) +{ + if(regexStudentWorkName()&®exStudentWorkDescription()) + { + $("#edit_student_work_" + id).submit(); + $("#ajax-indicator").hide(); + } +} + +// + +//滑动打分 +$.fn.peSlider = function(settings){ + //configurable options (none so far) + var o = $.extend({},settings); + if( !$('body').is('[role]') ){ $('body').attr('role','application'); } + return $(this).each(function(){ + var thisLabel = $('label[for=' + $(this).attr('id') + ']').attr('id', $(this).attr('id') + '-label').attr('id'); + var thisUnits = $(this).attr('data-units') || ''; + var slider = $('
    '); + if( $(this).is('input') ){ + var input = $(this); + var thisUnits = input.attr('data-units'); + var friendlyVal = input.val() + ' ' + thisUnits; + var sliderOptions = $.extend(o,{ + min: parseFloat(input.attr('min')), + max: parseFloat(input.attr('max')), + value: parseFloat(input.val()) + }); + if(parseFloat(input.val()) == -1){ + input.css("color", "#fff"); + input.next().next().html("未评分"); + input.next().next().show(); + } else{ + input.css("color", "#000"); + input.next().next().hide(); + } + slider + .insertBefore(input) + .slider(sliderOptions) + .bind('slide', function(e, ui){ + if(ui.value == -1){ + input.css("color", "#fff"); + input.next().next().html("未评分"); + input.next().next().show(); + } else { + input.css("color", "#000"); + input.next().next().hide(); + } + input.val(ui.value); + friendlyVal = input.val() + ' ' + thisUnits; + slider.find('a').attr({ + 'aria-valuenow': ui.value, + 'aria-valuetext': friendlyVal + }); + }) + .find('a') + .attr({ + 'role': 'slider', + 'aria-valuemin': input.attr('min'), + 'aria-valuemax': input.attr('max'), + 'aria-valuenow': input.val(), + 'aria-valuetext': friendlyVal, + 'aria-labelledby': thisLabel + }); + input + .keyup(function(){ + var inVal = parseFloat(input.val()); + if( !isNaN(inVal) ){ + if(inVal == -1){ + input.css("color", "#fff"); + input.next().next().html("未评分"); + input.next().next().show(); + } else { + input.css("color", "#000"); + input.next().next().hide(); + } + slider.slider('value', inVal); + input.val(slider.slider('value')); + } + }) + .change(function(){ + var inVal = parseFloat(input.val()); + if( !isNaN(inVal) ){ + if(inVal == -1){ + input.css("color", "#fff"); + input.next().next().html("未评分"); + input.next().next().show(); + } else { + input.css("color", "#000"); + input.next().next().hide(); + } + slider.slider('value', inVal); + input.val(slider.slider('value')); + } + }) + .blur(function(){ + var inVal = parseFloat(input.val()); + if( isNaN(inVal) ){ + input.val(-1); + } + if(input.val() == -1){ + input.css("color", "#fff"); + input.next().next().html("未评分"); + input.next().next().show(); + } else { + input.css("color", "#000"); + input.next().next().hide(); + } + }); + if( !settings.step ){ + var step = Math.round( parseFloat(input.attr('max')) / slider.width()); + if(step > 1){ slider.slider('option','step',step); } + } + } + }); +}; + +//返回顶部 +$(function(){goTopEx();}); + +var Sys = {}; +var ua = navigator.userAgent.toLowerCase(); +var s; +(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : + (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : + (s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] : + (s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] : + (s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0; + +function goTopEx() { + var obj = document.getElementById("goTopBtn"); + if(obj != null) + { + var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; + function getScrollTop() { + var xsun = document.documentElement.scrollTop; + if (Sys.chrome) { + xsun=document.body.scrollTop; + } + return xsun; + } + function setScrollTop(value) { + if (Sys.chrome) { + document.body.scrollTop = value; + } + else { + document.documentElement.scrollTop = value; + } + } + window.onscroll = function () { getScrollTop() > 0 ? obj.style.display = "" : obj.style.display = "none"; }; + obj.onclick = function () { + var goTop = setInterval(scrollMove, 10); + function scrollMove() { + setScrollTop(getScrollTop() / 1.1); + if (getScrollTop() < 1) clearInterval(goTop); + } + } + } +} + +$(function(){ + //匿评评分提示 + $(".student_score_info").live("mouseover",function(){ + $(this).find("div").show(); + }); + $(".student_score_info").live("mouseout",function(){ + $(this).find("div").hide(); + }); + //最终成绩提示 + $(".student_final_scor_info").live("mouseover",function(){ + $(this).find("div").show(); + }); + $(".student_final_scor_info").live("mouseout",function(){ + $(this).find("div").hide(); + }); + + $("#about_project label").eq(1).remove(); + + ////附件下载提示 + //$(".zip_download_alert").bind("mouseover",function(){ + // $(this).next("div").show(); + //}); + //$(".zip_download_alert").bind("mouseout",function(){ + // $(this).next("div").hide(); + //}); +}); + +//匿评弹框取消按钮 +function clickCanel(){hideModal("#popbox02");} +//匿评弹框确定按钮 +function clickOK(path) +{ + clickCanel(); + $.ajax({ + type: "GET", + url: path, + data: 'text', + success: function (data) { + } + }); +} +//关闭引入资源弹框 +function hideResource(){ + $('#ajax-modal').parent().removeClass("popbox").removeClass("referenceResourcesPopup"); + hideModal(); +} +//查询 +function SearchByName(url,event) +{ + var keycode = (event.keyCode ? event.keyCode : event.which); + if(keycode == '13'){ + $.get( + url, + { + name : $("#course_student_name").val(), + group : $("#student_work_in_group").val() + }, + function (data) { + } + ); + } +} +function SearchByName_1(url) +{ + //alert($("#student_work_in_group").val()); + $.get( + url, + { + name : $("#course_student_name").val(), + group : $("#student_work_in_group").val() + }, + function (data) { + } + ); +} + +$(function(){ + $("#student_work_in_group").live("change",function(){ + $("#search_in_student_work").click(); + }); +}); + +//新建作业临时弹框 +function new_homework_alert(){ + alert("您好!课程内直接发布作业的功能正在改进中,请直接点击\n顶部导航栏的“作业”向本课程发送作业。谢谢!如有问\n题,可参见帮助中心。"); +} + +function show_student_work(url){ + $.get( + url, + { + + }, + function (data) { + } + ); +} + + +//课程大纲选择请求,第二个参数是可选的,判断当前页面是大纲显示页面还是 课程首页 +function course_outline(id){ + $.get( + ' /courses/'+id+'/course_outline'+"?is_in_show_outline_page="+(arguments[1] ? arguments[1] : 'N') + ) +} + +//取消课程组织关联 +function cancel_org_course_relation(id, courseId){ + if(confirm("确定取消关联吗?") == false) return; + $.ajax({ + url:"/org_courses/" + id + "?course_id=" + courseId, + type: "delete", + success:function(data){ + $.ajax({ + url: "/courses/" + courseId + "/search_public_orgs_not_in_course?hint_flag=true", + type:'get' + }); + } + }); +} +//$(function(){ +// $('#course_outline_search').on('input',function(){ +// alert('<%= @course.id%>') +// }) +//}) + +//项目点击展开 +function expand_tools_expand(content) { + if (content == "invit") { + $("#expand_tools_expand_invit").toggleClass("currentDd").siblings(".subNav").removeClass("currentDd"); + $("#expand_tools_expand_invit").toggleClass("currentDt").siblings(".subNav").removeClass("currentDt"); + $("#expand_tools_expand_invit").next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500); + } + else { +// $("#expand_tools_expand").toggleClass("currentDd").siblings(".subNav").removeClass("currentDd"); +// $("#expand_tools_expand").toggleClass("currentDt").siblings(".subNav").removeClass("currentDt"); +// $("#expand_tools_expand").next(".navContent").slideToggle(500).siblings(".navContent").slideUp(500); + $("#navContent").toggle(500); + } + + // 修改数字控制速度, slideUp(500)控制卷起速度 +} + +//通过cookie存储伸开形式 +$(function(){ +// var personalized_expand_key = "personalized_expand"; +// function personalized_init(){ +// var personalized_map = cookieget(personalized_expand_key); +// if(personalized_map!=false){ +// personalized_map = JSON.parse(personalized_map); +// $("*[nhtype='toggle4cookiecourse']").each(function(){ +// var personalized_id=$(this).data('id'); +// var val = personalized_map[personalized_id]; +// if(val!=undefined && val!=$(this).data('val')){ +// personalized_click($(this),0); +// } +// }); +// } +// } +// function personalized_click(obj,timeout){ +// var target = $(obj.data('target')); +// var oldval = obj.data('val'); +// var val=''; +// if(oldval=='expand'){val='retract';}else{val='expand';} +// obj.data('val',val); +// var personalized_map = cookieget(personalized_expand_key); +// if(personalized_map == false){ +// personalized_map={}; +// }else{ +// personalized_map = JSON.parse(personalized_map); +// } +// var personalized_id=obj.data('id'); +// personalized_map[personalized_id]=val; +// cookiesave(personalized_expand_key,JSON.stringify(personalized_map)); +// target.toggle(timeout); +// } +// $("*[nhtype='toggle4cookiecourse']").on('click',function(){ +// personalized_click($(this),500); +// }); +// +// personalized_init(); +}); +function submit_course_feedback() { + var flag = false; + if(flag == false){ + $("#course_feedback_new").submit(); + var flag = true + } +} + +function show_more_tool(){ + $('#navContentCourse').css('display', 'block'); +} + +//留言 +function course_jour_submit(){ + if(jourReplyVerify()){ + jour_content_editor.sync();//提交内容之前要sync,不然服务器端取不到值 + $("#course_feedback_new").submit(); + } +} + +function jourReplyVerify() { + var content = jour_content_editor.html();//$.trim($("#message_content").val()); + if (jour_content_editor.isEmpty()) { + $("#jour_content_span").text("留言不能为空"); + $("#jour_content_span").show(); + $("#jour_content_span").css('color', '#ff0000'); + $("#submit_feedback_user").one('click',function() { + course_jour_submit(); + }); + return false; + } + else { + $("#jour_content_span").text("填写正确"); + $("#jour_content_span").css('color', '#008000'); + return true; + } +} + +function cancel_jour_submit(){ + jour_content_editor.html(""); + $("#jour_content_span").text(""); + $("#jour_content_span").hide(); } \ No newline at end of file diff --git a/public/javascripts/edu/account.js b/public/javascripts/edu/account.js index 9924aef53..89b08419d 100644 --- a/public/javascripts/edu/account.js +++ b/public/javascripts/edu/account.js @@ -642,4 +642,4 @@ $(function(){ },1000); } -}); \ No newline at end of file +}); diff --git a/public/javascripts/edu/homework.js b/public/javascripts/edu/homework.js index d870979ad..227c28b99 100644 --- a/public/javascripts/edu/homework.js +++ b/public/javascripts/edu/homework.js @@ -1,351 +1,350 @@ -$(function(){ - var bt=baidu.template; - bt.LEFT_DELIMITER=''; - - var tested = false; - var valid_form = function() { - var src = $('#program-src').val(); - - if (!src) { - long_notice_box("请输入正确的代码!"); - return false; - } -// if ($("textarea[name='late_reason']").length > 0 && $("textarea[name='late_reason']").val().trim() == "") { -// var htmlvalue = "
    请输入标题!

    "; -// long_notice_box("迟交原因不能为空"); -// return false; -// } - return true; - }; - - var test_program = function(cb){ - $('#test-program-btn').hide(); - $('#commit-program-work-btn').hide(); - var homework_id = $('#test-program-btn').attr('data-homework-id'); - var student_work_id = $('#test-program-btn').attr('data-student-work-id'); - var src = $('#program-src').val(); - var is_test = $('input[name=is_test]').val(); - - if(!valid_form()){ - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - } - //先测试一次并返回测试集个数及结果再判断是否需要继续进行测试 - var test_post = function(i, testid){ - $.post( - '/student_work/program_test_ex', - {homework: homework_id, student_work_id: student_work_id, - src: src, is_test: is_test,tIndex:i, - testid: testid}, - function(data,status){ - if (data.status==-4 || data.status==-5 ){ - //弹框 - var root_path = getRootPath(); - var forums_1_path = root_path + "/forums/1"; - long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); - - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - } - else if (data.status==-3){ - long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); - - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - } - var tSeq = data.tseq; - var tCount = data.tcount; - console.log("tSeq="+tSeq); - console.log("tCount="+tCount); - tested = true; - console.log(data); - if(data.index <=0){ - data.index = $('.ProResultList').length+1; - } - - var html=bt('t:result-list',data); - $("#new_student_work_tests").show(); - if(i==1){ - $('.edu-tab-con-box').prepend('
    第'+($('.ProResultList').length+1)+'次
    '); - } - $('.ProResultList:first-child').find(".edu-ces-box").prepend(html); - - if (data.status==0 && is_test != 'true') { - if (typeof cb == 'function') {cb(data);return;} - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - } - - //2 超时 -2 编译错误 测试结束 - if (data.status == 2 || data.status == -2 || tSeq >= tCount ){ - if (typeof cb == 'function') {cb(data);$('#test-program-btn').show();$('#commit-program-work-btn').show(); return;} - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - } - - test_post(i+1, data.testid); - } - ).fail(function(xhr, status){ - if(status == 'timeout'){ - long_notice_box("您的答案超时了, 请检查代码是否存在死循环的错误!"); - } else { - long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); - } - $('#test-program-btn').show(); - $('#commit-program-work-btn').show(); - return; - }); - }; - - test_post(1, 0); - }; - - $('#test-program-btn').on('click', test_program); - - - $('#commit-program-work-btn').on('click', function(){ - if(!valid_form()){ - return; - } else{ - if ($("textarea[name='late_reason']").length > 0 && $("textarea[name='late_reason']").val().trim() == "") { - var htmlvalue = "
    请输入标题!

    "; - long_notice_box("迟交原因不能为空"); - return false; - } - } - $('#commit-program-work-btn').hide(); - if($('.edu-tab-con-box .ProResultList').length<=0){ - var htmlvalue = '

    提示

    '+ - '

    测试后才能提交,是否立刻测试?

    '; - pop_box_new(htmlvalue,575,140); - $("#code-test-button").on('click',function(){ - test_program(); - hideModal(); - }); - return; - } - console.log(tested); - if (!tested) { - test_program(function(data){ - if (data.status!=0) { - tested = false; - console.log(tested); - var htmlvalue = '

    提示

    '+ - '

    测试不通过,是否强制提交?

    '; - pop_box_new(htmlvalue,575,140); - $('#commit-program-work-btn').show(); - return; - - }; - $('#commit-program-work-btn').hide(); - $('#test-program-btn').hide(); - $("#student_work_form").submit(); - }); - return; - } - $('#commit-program-work-btn').hide(); - $('#test-program-btn').hide(); - $("#student_work_form").submit(); - }); - - //代码编辑器 - if (typeof CodeMirror != "undefined") { - var program_name = "text/x-csrc"; - var language = $('#data-language').attr('data-language'); - if (language == 1) { - program_name = 'text/x-csrc'; - } else if(language==2){ - program_name = 'text/x-c++src'; - }else if(language==3){ - program_name = 'text/x-cython'; - } else if(language==4){ - program_name = 'text/x-java'; - } - - if ($('#program-src').val().length<=0) { - var src = ''; - if(language==4){ - src = '\ -//注意\n\ - //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ - //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ -import java.io.*;\n\ -import java.util.*;\n\ -\n\ -//请一定不要修改类名\n\ -class Main\n\ -{\n\ - public static void main (String args[])\n\ - {\n\ - //获取参数方式\n\ - //Scanner in = new Scanner(System.in);\n\ - //int a = in.nextInt();\n\ - //int b = in.nextInt();\n\ -\n\ - //您的代码\n\ - }\n\ -}\n\ -'; - } - else if(language==1){ - src = '\ -//注意\n\ - //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ - //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ -#include \n\ -int main()\n\ -{\n\ - //获取参数方式 scanf\n\ - //int x =0;\n\ - //int y = 0;\n\ - //scanf("%d", &x);\n\ -\n\ - //结果输出使用prinf\n\ - //printf("%d",x);\n\ -\n\ - return 0;\n\ -}\n\ -'; - } else if(language==2){ - src = '\ -//注意\n\ - //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ - //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ -#include \n\ -using namespace std;\n\ -\n\ -int main()\n\ -{\n\ - //获取参数方式 cin\n\ - //int x =0;\n\ - //cin >> x;\n\ -\n\ - //结果输出使用 cout\n\ - //cout<<"1";\n\ -\n\ - return 0;\n\ -}\n\ -'; - } else if(language==3){ - src = '\ -#-*-coding:utf-8-*-\n\ -#注意\n\ - #1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ - #2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ - #3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),空格用□表示\n\ -import sys \n\ -\n\ -#获取参数方式,使用raw_input\n\ -#input = raw_input()\n\ -#a, b = input.split()\n\ -\n\ -#结果输出使用 print \n\ -#print (str(int(a)+int(b)))\n\ -'; - } - - $('#program-src').val(src); - }; - - var editor = CodeMirror.fromTextArea(document.getElementById("program-src"), { - mode: {name: program_name, - version: 2, - singleLineStringErrors: false}, - lineNumbers: true, - indentUnit: 2, - matchBrackets: true - }); - - editor.on('change',function(cMirror){ - // get value right from instance - $('#program-src').val(cMirror.getValue()); - }); - } -}); -function alert_choose_homework_type(id){ - var htmlvalue = '
    ' + - '
    ' + - '

    选择作业类别

    ' + - '' + - '
    ' + - '
    ' + - '
    ' + - '
    ' + - '作业类别:' + - '
      ' + - '
    • ' + - '' + - '' + - '
    • ' + - '
    • ' + - '' + - '' + - '
    • ' + - '
    • ' + - '' + - '' + - '
    • ' + - '
    • ' + - '' + - '' + - '
    • ' + - '
    ' + - '
    ' + - '
    ' + - '
    请先选择作业类型
    ' + - '
    ' + - '取消' + - '确定' + - '
    ' + - '
    ' + - '
    ' + - '
    '; - pop_box_new(htmlvalue, 300, 308); -} - -function new_homework_type(id){ - 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_common/shixuns?course='+id, - dataType: "script" - }); - }else{ - window.location.href = '/homework_common/new?course='+id+'&homework_type=' + $("input[name='homework_type']:checked").val(); - } - } -} - -function new_shixun_homework(id){ - - 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_common_new").submit(); - } -} +$(function(){ + var bt=baidu.template; + bt.LEFT_DELIMITER=''; + + var tested = false; + var valid_form = function() { + var src = $('#program-src').val(); + + if (!src) { + long_notice_box("请输入正确的代码!"); + return false; + } +// if ($("textarea[name='late_reason']").length > 0 && $("textarea[name='late_reason']").val().trim() == "") { +// var htmlvalue = "
    请输入标题!

    "; +// long_notice_box("迟交原因不能为空"); +// return false; +// } + return true; + }; + + var test_program = function(cb){ + $('#test-program-btn').hide(); + $('#commit-program-work-btn').hide(); + var homework_id = $('#test-program-btn').attr('data-homework-id'); + var student_work_id = $('#test-program-btn').attr('data-student-work-id'); + var src = $('#program-src').val(); + var is_test = $('input[name=is_test]').val(); + + if(!valid_form()){ + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + } + //先测试一次并返回测试集个数及结果再判断是否需要继续进行测试 + var test_post = function(i, testid){ + $.post( + '/student_work/program_test_ex', + {homework: homework_id, student_work_id: student_work_id, + src: src, is_test: is_test,tIndex:i, + testid: testid}, + function(data,status){ + if (data.status==-4 || data.status==-5 ){ + //弹框 + var root_path = getRootPath(); + var forums_1_path = root_path + "/forums/1"; + long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); + + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + } + else if (data.status==-3){ + long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); + + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + } + var tSeq = data.tseq; + var tCount = data.tcount; + console.log("tSeq="+tSeq); + console.log("tCount="+tCount); + tested = true; + console.log(data); + if(data.index <=0){ + data.index = $('.ProResultList').length+1; + } + + var html=bt('t:result-list',data); + $("#new_student_work_tests").show(); + if(i==1){ + $('.edu-tab-con-box').prepend('
    第'+($('.ProResultList').length+1)+'次
    '); + } + $('.ProResultList:first-child').find(".edu-ces-box").prepend(html); + + if (data.status==0 && is_test != 'true') { + if (typeof cb == 'function') {cb(data);return;} + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + } + + //2 超时 -2 编译错误 测试结束 + if (data.status == 2 || data.status == -2 || tSeq >= tCount ){ + if (typeof cb == 'function') {cb(data);$('#test-program-btn').show();$('#commit-program-work-btn').show(); return;} + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + } + + test_post(i+1, data.testid); + } + ).fail(function(xhr, status){ + if(status == 'timeout'){ + long_notice_box("您的答案超时了, 请检查代码是否存在死循环的错误!"); + } else { + long_notice_box("由于目前大量用户正在测试,系统繁忙,请稍后再试。
    我们将尽快提升平台的处理能力,谢谢您的支持!"); + } + $('#test-program-btn').show(); + $('#commit-program-work-btn').show(); + return; + }); + }; + + test_post(1, 0); + }; + + $('#test-program-btn').on('click', test_program); + + + $('#commit-program-work-btn').on('click', function(){ + if(!valid_form()){ + return; + } else{ + if ($("textarea[name='late_reason']").length > 0 && $("textarea[name='late_reason']").val().trim() == "") { + var htmlvalue = "
    请输入标题!

    "; + long_notice_box("迟交原因不能为空"); + return false; + } + } + $('#commit-program-work-btn').hide(); + if($('.edu-tab-con-box .ProResultList').length<=0){ + var htmlvalue = '

    提示

    '+ + '

    测试后才能提交,是否立刻测试?

    '; + pop_box_new(htmlvalue,575,140); + $("#code-test-button").on('click',function(){ + test_program(); + hideModal(); + }); + return; + } + console.log(tested); + if (!tested) { + test_program(function(data){ + if (data.status!=0) { + tested = false; + console.log(tested); + var htmlvalue = '

    提示

    '+ + '

    测试不通过,是否强制提交?

    '; + pop_box_new(htmlvalue,575,140); + $('#commit-program-work-btn').show(); + return; + + }; + $('#commit-program-work-btn').hide(); + $('#test-program-btn').hide(); + $("#student_work_form").submit(); + }); + return; + } + $('#commit-program-work-btn').hide(); + $('#test-program-btn').hide(); + $("#student_work_form").submit(); + }); + + //代码编辑器 + if (typeof CodeMirror != "undefined") { + var program_name = "text/x-csrc"; + var language = $('#data-language').attr('data-language'); + if (language == 1) { + program_name = 'text/x-csrc'; + } else if(language==2){ + program_name = 'text/x-c++src'; + }else if(language==3){ + program_name = 'text/x-cython'; + } else if(language==4){ + program_name = 'text/x-java'; + } + + if ($('#program-src').val().length<=0) { + var src = ''; + if(language==4){ + src = '\ +//注意\n\ + //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ + //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ +import java.io.*;\n\ +import java.util.*;\n\ +\n\ +//请一定不要修改类名\n\ +class Main\n\ +{\n\ + public static void main (String args[])\n\ + {\n\ + //获取参数方式\n\ + //Scanner in = new Scanner(System.in);\n\ + //int a = in.nextInt();\n\ + //int b = in.nextInt();\n\ +\n\ + //您的代码\n\ + }\n\ +}\n\ +'; + } + else if(language==1){ + src = '\ +//注意\n\ + //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ + //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ +#include \n\ +int main()\n\ +{\n\ + //获取参数方式 scanf\n\ + //int x =0;\n\ + //int y = 0;\n\ + //scanf("%d", &x);\n\ +\n\ + //结果输出使用prinf\n\ + //printf("%d",x);\n\ +\n\ + return 0;\n\ +}\n\ +'; + } else if(language==2){ + src = '\ +//注意\n\ + //1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ + //2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ + //3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),每行末尾的所有空格用□表示\n\ +#include \n\ +using namespace std;\n\ +\n\ +int main()\n\ +{\n\ + //获取参数方式 cin\n\ + //int x =0;\n\ + //cin >> x;\n\ +\n\ + //结果输出使用 cout\n\ + //cout<<"1";\n\ +\n\ + return 0;\n\ +}\n\ +'; + } else if(language==3){ + src = '\ +#-*-coding:utf-8-*-\n\ +#注意\n\ + #1:该程序每次运行的时间必须小于200毫秒,否则会超时,程序超时将不会测试剩余的测试集\n\ + #2:该程序每次运行使用的内存不能超过1M,否则会返回错误\n\ + #3:该程序每次运行输出的结果最多显示1000个字符(多余的不显示),空格用□表示\n\ +import sys \n\ +\n\ +#获取参数方式,使用raw_input\n\ +#input = raw_input()\n\ +#a, b = input.split()\n\ +\n\ +#结果输出使用 print \n\ +#print (str(int(a)+int(b)))\n\ +'; + } + + $('#program-src').val(src); + }; + + var editor = CodeMirror.fromTextArea(document.getElementById("program-src"), { + mode: {name: program_name, + version: 2, + singleLineStringErrors: false}, + lineNumbers: true, + indentUnit: 2, + matchBrackets: true + }); + + editor.on('change',function(cMirror){ + // get value right from instance + $('#program-src').val(cMirror.getValue()); + }); + } +}); +function alert_choose_homework_type(id){ + var htmlvalue = '
    ' + + '
    ' + + '

    选择作业类别

    ' + + '' + + '
    ' + + '
    ' + + '
    ' + + '
    ' + + '作业类别:' + + '
      ' + + '
    • ' + + '' + + '' + + '
    • ' + + '
    • ' + + '' + + '' + + '
    • ' + + '
    • ' + + '' + + '' + + '
    • ' + + '
    • ' + + '' + + '' + + '
    • ' + + '
    ' + + '
    ' + + '
    ' + + '
    请先选择作业类型
    ' + + '
    ' + + '取消' + + '确定' + + '
    ' + + '
    ' + + '
    ' + + '
    '; + pop_box_new(htmlvalue, 300, 308); +} + +function new_homework_type(id){ + 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_common/shixuns?course='+id, + dataType: "script" + }); + }else{ + window.location.href = '/homework_common/new?course='+id+'&homework_type=' + $("input[name='homework_type']:checked").val(); + } + } +} + +function new_shixun_homework(id){ + 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_common_new").submit(); + } +} diff --git a/public/javascripts/edu/syllabus.js b/public/javascripts/edu/syllabus.js index c98a3dae4..2b1160872 100644 --- a/public/javascripts/edu/syllabus.js +++ b/public/javascripts/edu/syllabus.js @@ -2,7 +2,7 @@ var syMemberLastSearchCondition = ''; function g(o){return document.getElementById(o);} function HoverLi(n){ - for(var i=1;i<=3;i++){ + for(var i=1;i<=5;i++){ g('edu-tab-nav-'+i).className='edu-tab-nomal'; g('edu-tab-con-'+i).className='undis'; } diff --git a/public/stylesheets/css/edu-public.css b/public/stylesheets/css/edu-public.css index 411fc8c91..29f7e3ca3 100644 --- a/public/stylesheets/css/edu-public.css +++ b/public/stylesheets/css/edu-public.css @@ -262,8 +262,8 @@ img.edu-nodata-img{ width:200px; margin:50px auto 20px; display: block;} /* new tab */ .edu-tab{ width: 100%; background:#fff;} -#edu-tab-nav,#edu-tab-nav-auth{height:47px;background: #fff;} -#edu-tab-nav li.new-tab-nav,#edu-tab-nav-auth li.new-tab-nav {float:left; width: 150px; text-align:center;height:48px;line-height:48px; } +#edu-tab-nav{height:47px;background: #fff;} +#edu-tab-nav li.new-tab-nav {float:left; width: 150px; text-align:center;height:48px;line-height:48px; } #edu-tab-nav li a{font-size:14px; } #edu-user-tab-nav{height:40px;background: #f5f5f5; border-bottom:2px solid #FC7033;} #edu-user-tab-nav li.new-tab-nav {float:left; width: 120px; text-align:center;height:42px;line-height:42px; } From 5d202914a6a1f81ac6ae442a7c6aaf8d20f1a125 Mon Sep 17 00:00:00 2001 From: XuCheng642 <287102909@qq.com> Date: Fri, 11 Aug 2017 15:04:14 +0800 Subject: [PATCH 11/14] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=AE=9E=E8=AE=AD?= =?UTF-8?q?=E9=80=82=E7=94=A8=E8=AF=BE=E7=A8=8B=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/managements_controller.rb | 15 +++++++-------- .../_applicable_course_list.html.erb | 18 ++++++++++++++++-- app/views/managements/add_course.js.erb | 1 - .../managements/applicable_course.html.erb | 10 +++++----- config/routes.rb | 1 + .../20170804062817_add_time_to_course_list.rb | 8 ++++++++ ...70808021426_add_homepage_show_to_courses.rb | 6 ++++++ 7 files changed, 43 insertions(+), 16 deletions(-) delete mode 100644 app/views/managements/add_course.js.erb create mode 100644 db/migrate/20170804062817_add_time_to_course_list.rb create mode 100644 db/migrate/20170808021426_add_homepage_show_to_courses.rb diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index ebe258944..427295f09 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -43,11 +43,10 @@ class ManagementsController < ApplicationController @sub_type = 2 @courselist = CourseList.where("0=0") search=params[:search] - if search.blank? - @courselist = @courselist - else + unless search.blank? @courselist = @courselist.where("name like '%#{search}%'") end + @courselist = @courselist.reorder("created_at desc") @courselist_count = @courselist.count @limit = 4 @is_remote = true @@ -63,12 +62,12 @@ end # 增加课程 def add_course - @courselist= CourseList.create(:name => params[:course]) - respond_to do |format| - format.js - end + courselist= CourseList.create(:name => params[:course]) + redirect_to applicable_course_managements_path + end + def add_major + @major = Major.where("0=0") end - # 单位部门列表 def departments @menu_type = 6 diff --git a/app/views/managements/_applicable_course_list.html.erb b/app/views/managements/_applicable_course_list.html.erb index c45c633a1..2aa4335bb 100644 --- a/app/views/managements/_applicable_course_list.html.erb +++ b/app/views/managements/_applicable_course_list.html.erb @@ -24,7 +24,7 @@
    - + <% get_course_list_major(courselist.id).each_with_index do |smc, j| %> @@ -56,7 +56,21 @@ diff --git a/app/views/managements/add_course.js.erb b/app/views/managements/add_course.js.erb deleted file mode 100644 index 80971137f..000000000 --- a/app/views/managements/add_course.js.erb +++ /dev/null @@ -1 +0,0 @@ -$("#classroom_list").html("<%= j(render :partial => "managements/applicable_course_list") %>"); \ No newline at end of file diff --git a/app/views/managements/applicable_course.html.erb b/app/views/managements/applicable_course.html.erb index d6dcd4905..abcea4f78 100644 --- a/app/views/managements/applicable_course.html.erb +++ b/app/views/managements/applicable_course.html.erb @@ -16,10 +16,10 @@ } function alert_new_major_type(){ - var htmlvalue ='<%= form_tag(url_for(add_course_managements_path),:id=>"add_course",:method => "post",:remote=>true) do %>'+ - '
    '+ - '
    ' + - '请输入课程名称:' + + var htmlvalue ='<%= form_tag(url_for(add_course_managements_path),:id=>"add_course",:method => "post") do %>'+ + '

    新增实训适用课程

    '+ + '
    ' + + '请输入课程名称:' + '
    ' + ''+ ''+ @@ -31,7 +31,7 @@ '
    ' + '
    '+ '<% end %>'; - pop_box_new(htmlvalue, 300, 400); + pop_box_new(htmlvalue, 400, 145); } function submit_new_course(){ diff --git a/config/routes.rb b/config/routes.rb index 8c5e87fee..7531e1cab 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -183,6 +183,7 @@ RedmineApp::Application.routes.draw do post 'course_homepage_show' post 'shixun_homepage_show' post 'add_course' + get 'add_major' end end # Enable Grack support diff --git a/db/migrate/20170804062817_add_time_to_course_list.rb b/db/migrate/20170804062817_add_time_to_course_list.rb new file mode 100644 index 000000000..18fdd3948 --- /dev/null +++ b/db/migrate/20170804062817_add_time_to_course_list.rb @@ -0,0 +1,8 @@ +class AddTimeToCourseList < ActiveRecord::Migration + def change + add_column :course_lists, :created_at, :timestamp + add_column :course_lists, :updated_at, :timestamp + + CourseList.where("0=0").update_all(:created_at => Time.now, :updated_at => Time.now) + end +end diff --git a/db/migrate/20170808021426_add_homepage_show_to_courses.rb b/db/migrate/20170808021426_add_homepage_show_to_courses.rb new file mode 100644 index 000000000..cc58c7583 --- /dev/null +++ b/db/migrate/20170808021426_add_homepage_show_to_courses.rb @@ -0,0 +1,6 @@ +class AddHomepageShowToCourses < ActiveRecord::Migration + def change + add_column :courses, :homepage_show, :boolean, :default => 0 + add_column :shixuns, :homepage_show, :boolean, :default => 0 + end +end From c1b512a3be2e46fef7a95bd59c1d32266d8b31c0 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Fri, 11 Aug 2017 15:10:51 +0800 Subject: [PATCH 12/14] =?UTF-8?q?=E5=85=A8=E9=83=A8=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E7=BB=8F=E9=AA=8C=E5=80=BC?= =?UTF-8?q?=E3=80=81=E9=87=91=E5=B8=81=E7=9A=84=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/games/_games_list.html.erb | 5 +++++ app/views/users/growth_record.html.erb | 6 +++--- app/views/users/show.html.erb | 6 +++--- public/stylesheets/css/edu-user.css | 2 +- public/stylesheets/css/taskstyle.css | 1 + 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/views/games/_games_list.html.erb b/app/views/games/_games_list.html.erb index 436da9050..3d0b8524b 100644 --- a/app/views/games/_games_list.html.erb +++ b/app/views/games/_games_list.html.erb @@ -22,6 +22,11 @@ <% end %>
    +
    + +300经验值 + -15金币 + +1技能标签 +
    <% end %> diff --git a/app/views/users/growth_record.html.erb b/app/views/users/growth_record.html.erb index b07bc97ca..2b5cf9019 100644 --- a/app/views/users/growth_record.html.erb +++ b/app/views/users/growth_record.html.erb @@ -3,9 +3,9 @@

    你好~<%= @user.show_name %>,欢迎来到个人成长记录中心

    - 技能标签<%= @user.challenge_tags.count %> - 经验值<%= @user.experience %> - 金币<%= @user.grade %> + 技能标签<%= @user.challenge_tags.count %> + 经验值<%= @user.experience %> + 金币<%= @user.grade %>

    ID实训名称ID实训名称 已通关已开启创建者已开启创建者 发布时间 color-light-green ml5" title="功能完善中,敬请期待"> 操作首页显示
    <%= link_to "关闭", publish_shixuns_managements_path(:close => shixun.id), :class => "", :remote => true %> + class="ml-3 mr5 magic-checkbox" id="join_course_role_<%= shixun.id %>"> + +
    地区 详细地址 申请者创建于创建于 color-light-green ml5">
    - <%= format_date(apply.created_at) %> + <%= format_time(apply.created_at) %> <%= link_to( l(:label_approve), { :controller => 'admin', :action => 'approve_applied_schools', :id => apply.id }, :class => "application-default-link" ) %> @@ -91,13 +91,14 @@ \ No newline at end of file diff --git a/app/views/managements/_users_authorization_list.html.erb b/app/views/managements/_users_authorization_list.html.erb index 85bf20954..e9c9efb35 100644 --- a/app/views/managements/_users_authorization_list.html.erb +++ b/app/views/managements/_users_authorization_list.html.erb @@ -2,6 +2,7 @@
     ID 真实姓名 职业 学号
    + <%= user.id %> + <%= link_to user.try(:show_real_name), user_path(user), :class => "edu-txt-w100 task-hide2" %> <%= format_time courselist.created_at %> 添加专业添加专业