diff --git a/app/controllers/account_controller.rb b/app/controllers/account_controller.rb index f31ff8eb5..f2ae14598 100644 --- a/app/controllers/account_controller.rb +++ b/app/controllers/account_controller.rb @@ -536,6 +536,21 @@ class AccountController < ApplicationController redirect_to professional_certification_account_path end + # 修改资料时判断学号是否已使用 + def check_user_student_id + data = {result:0, account:""} + if params[:student_id] && params[:school_id] + if UserExtensions.where("student_id = '#{params[:student_id]}' and school_id = #{params[:school_id]} and user_id != #{User.current.id}").count > 0 + user = User.where(:id => UserExtensions.where("student_id = '#{params[:student_id]}' and school_id = #{params[:school_id]} and user_id != #{User.current.id}").map(&:user_id)).first + data[:account] = user.mail.blank? ? user.user_phone : user.user_mail + else + data[:result] = 1 + end + end + render :json => data + end + + # 实名认证时判断学号是否已使用 def check_student_id data = {result:0, account:""} if params[:student_id] && params[:school_id] @@ -555,6 +570,7 @@ class AccountController < ApplicationController render :json => data end + # 实名认证时判断证件号码是否已使用 def check_id_number data = {result:0, account:""} if params[:id_number] diff --git a/app/controllers/games_controller.rb b/app/controllers/games_controller.rb index ee40a76bd..d5522b898 100644 --- a/app/controllers/games_controller.rb +++ b/app/controllers/games_controller.rb @@ -89,7 +89,7 @@ class GamesController < ApplicationController # @praise 判断是否点赞 # @tread 判断是否踩 # git_repository_url @myshixun, "Myshixun" - # @st 0 实践任务 1 多选任务 2 单选任务 + # @st 0 实践任务 1 选择题任务 def show # 展示全部实训 @is_subject = params[:is_subject] diff --git a/app/controllers/homework_common_controller.rb b/app/controllers/homework_common_controller.rb index 6e56e44c6..26f89d0e3 100644 --- a/app/controllers/homework_common_controller.rb +++ b/app/controllers/homework_common_controller.rb @@ -31,22 +31,22 @@ class HomeworkCommonController < ApplicationController end if @order.blank? if @is_teacher - @homework_commons = @homework_commons.order("created_at desc") + @homework_commons = @homework_commons.order("publish_time desc") else - @homework_commons = @homework_commons.where("publish_time <= '#{Time.now}'").order("created_at desc") + @homework_commons = @homework_commons.where("publish_time <= '#{Time.now}'").order("publish_time desc") end else case @order when '1' - @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and end_time > '#{Time.now}'").order("homework_commons.created_at desc") + @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and end_time > '#{Time.now}'").order("homework_commons.publish_time desc") when '3' - @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.evaluation_end > '#{Time.now}'").order("homework_commons.created_at desc") + @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.evaluation_end > '#{Time.now}'").order("homework_commons.publish_time desc") when '4' - @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.appeal_time > '#{Time.now}')").order("homework_commons.created_at desc") + @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and homework_detail_manuals.appeal_time > '#{Time.now}')").order("homework_commons.publish_time desc") when '5' - @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and archive_time > '#{Time.now}')").order("homework_commons.created_at desc") + @homework_commons = @homework_commons.includes(:homework_detail_manual).where("(homework_detail_manuals.comment_status = #{@order} and archive_time > '#{Time.now}')").order("homework_commons.publish_time desc") else - @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order}").order("homework_commons.created_at desc") + @homework_commons = @homework_commons.includes(:homework_detail_manual).where("homework_detail_manuals.comment_status = #{@order}").order("homework_commons.publish_time desc") end end @is_student = User.current.logged? && (User.current.admin? || (User.current.member_of_course?(@course) && !@is_teacher)) diff --git a/app/controllers/managements_controller.rb b/app/controllers/managements_controller.rb index 7e54df3f1..7ee69d2e9 100644 --- a/app/controllers/managements_controller.rb +++ b/app/controllers/managements_controller.rb @@ -823,7 +823,7 @@ end @courselist= @courselist.where("name like '%#{search}%'") end end - @courselist = @courselist.order("created_at #{@sx_order}") + @courselist = @courselist.order("id #{@sx_order}") @courselist_count = @courselist.count limit = 20 @is_remote = true diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 60980e372..b8ed26ba7 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -4833,15 +4833,15 @@ def get_hw_index(hw,is_teacher,type=0) homework_commons = hw.course.homework_commons if is_teacher if type != 0 - homeworks = homework_commons.where("homework_commons.homework_type = #{type}").order("created_at asc") + homeworks = homework_commons.where("homework_commons.homework_type = #{type}").order("publish_time desc") else - homeworks = homework_commons.order("created_at asc") + homeworks = homework_commons.order("publish_time desc") end else if type != 0 - homeworks = homework_commons.where("homework_commons.homework_type = #{type} and publish_time <= '#{Time.now}'").order("created_at asc") + homeworks = homework_commons.where("homework_commons.homework_type = #{type} and publish_time <= '#{Time.now}'").order("publish_time desc") else - homeworks = homework_commons.where("publish_time <= '#{Time.now}'").order("created_at asc") + homeworks = homework_commons.where("publish_time <= '#{Time.now}'").order("publish_time desc") end end hw_ids = homeworks.map{|hw| hw.id} if !homeworks.blank? diff --git a/app/views/challenges/_single_or_multiple_question.html.erb b/app/views/challenges/_single_or_multiple_question.html.erb index e0c883739..e066ccea3 100644 --- a/app/views/challenges/_single_or_multiple_question.html.erb +++ b/app/views/challenges/_single_or_multiple_question.html.erb @@ -349,6 +349,7 @@ var lens = contents.length; for(var i = 0; i < lens; i++){ if($(contents[i]).val().trim() == ""){ + $(contents[i]).focus(); return true; } } @@ -358,6 +359,7 @@ // 判断选择题选择答案的个数 function judge_choice_answer(){ var answer = document.getElementsByName("choice[answer][]"); + var contents = document.getElementsByName("question[cnt][]"); var lens = answer.length; var num = 0; for(var i= 0; i < lens; i++){ @@ -365,6 +367,7 @@ num += 1; } } + $(contents[0]).focus(); return num; } @@ -438,6 +441,7 @@ if(st == "1"){ if(judge_choice_contents()) { error.html("选项内容不能为空").show(); + }else if(choice_num() < 2){ error.html("单选题选项不能少于2个").show(); }else if(judge_choice_answer() == 0){ diff --git a/app/views/exercise/_edit_MC.html.erb b/app/views/exercise/_edit_MC.html.erb index 6d49b607d..1a9e536fa 100644 --- a/app/views/exercise/_edit_MC.html.erb +++ b/app/views/exercise/_edit_MC.html.erb @@ -56,55 +56,9 @@

温馨提示:[单选题]属于客观题将由系统自动评分,请设置标准答案 保存 - 取消 + 取消

-<% if false %> -
-
- - 分 - <%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %> - 标准答案: -
-
-
- - - -
- -
- -
- - -
-
- -<% end%> <% end%> \ No newline at end of file diff --git a/app/views/exercise/_edit_MCQ.html.erb b/app/views/exercise/_edit_MCQ.html.erb index bf6d672f1..3784bb800 100644 --- a/app/views/exercise/_edit_MCQ.html.erb +++ b/app/views/exercise/_edit_MCQ.html.erb @@ -25,7 +25,6 @@

多选题

-
@@ -62,57 +61,9 @@

温馨提示:[多选题]属于客观题将由系统自动评分,请设置标准答案 保存 - 取消 + 取消

-<% if false %> -
-
- - 分 - <%=convert_to_char(exercise_question.exercise_standard_answers.first.exercise_choice_id.to_s) %> - 标准答案: -
-
-
- - - -
- -
- -
- -
-
- - <% end %> <% end%> \ No newline at end of file diff --git a/app/views/exercise/_edit_multi.html.erb b/app/views/exercise/_edit_multi.html.erb index e56fa4c32..c5739c7a0 100644 --- a/app/views/exercise/_edit_multi.html.erb +++ b/app/views/exercise/_edit_multi.html.erb @@ -10,7 +10,6 @@

简答题

-
  • @@ -28,40 +27,8 @@ 温馨提示:[简答题]属于主观题需要人工评分,未作答的情况下系统将自动评分   参考答案仅作为人工评分的参考 保存 - 取消 + 取消

  • - -<% if false %> -
    -
    - - 分 -
    -
    -
    - - - -
    - -
    -
    - - -
    -
    -
    - -
    -
    - -<% end%> <% end%> \ No newline at end of file diff --git a/app/views/exercise/_edit_single.html.erb b/app/views/exercise/_edit_single.html.erb index 42f2735fe..46e663ffe 100644 --- a/app/views/exercise/_edit_single.html.erb +++ b/app/views/exercise/_edit_single.html.erb @@ -24,7 +24,6 @@

    填空题

  • - @@ -51,7 +50,7 @@

    温馨提示:[填空题]属于客观题将由系统自动评分,请设置标准答案 保存 - 取消 + 取消

  • diff --git a/app/views/exercise/_show_multi.html.erb b/app/views/exercise/_show_multi.html.erb index de1ee620b..0dfcb53d9 100644 --- a/app/views/exercise/_show_multi.html.erb +++ b/app/views/exercise/_show_multi.html.erb @@ -15,8 +15,8 @@
    <%= exercise_question.question_title %>
    -

    参考答案

    -

    <%= exercise_question.exercise_standard_answers.count > 0 ? exercise_question.exercise_standard_answers.first.answer_text : "无"%>

    +

    参考答案:

    +
    <%= exercise_question.exercise_standard_answers.count > 0 ? exercise_question.exercise_standard_answers.first.answer_text : "无"%>
    diff --git a/app/views/games/_game_choose_results.html.erb b/app/views/games/_game_choose_results.html.erb index f212f1f3f..3ab0f6e29 100644 --- a/app/views/games/_game_choose_results.html.erb +++ b/app/views/games/_game_choose_results.html.erb @@ -1,7 +1,10 @@ @@ -60,4 +63,33 @@ +
    +
    +
    +
    +
    + <% unless @game.choose_correct_num == nil %> + <% if @game.choose_correct_num != game_challenge.challenge_chooses.count %> +

    + <%= @game.choose_correct_num %>/<%= game_challenge.challenge_chooses.count %>共有<%= game_challenge.challenge_chooses.count %>题,其中有<%= game_challenge.challenge_chooses.count - @game.choose_correct_num %>题结果不匹配。 +

    + <% else %> +

    + <%= game_challenge.challenge_chooses.count %>/<%= game_challenge.challenge_chooses.count %> 全部通过 +

    + <% end %> + <% end %> +
    +
    +
      +
    • 选择题:<%= @game.choose_correct_num.nil? ? 0 : @game.choose_correct_num %>/<%= game_challenge.challenge_chooses.count %>
    • +
    • 经验值:+ <%= @final_score %>
    • +
    • 金币:+ <%= @final_score %>
    • +
    +
    +
    +
    +
    +
    +
    \ No newline at end of file diff --git a/app/views/managements/_classroom_list.html.erb b/app/views/managements/_classroom_list.html.erb index 0d6192326..dc321ffa0 100644 --- a/app/views/managements/_classroom_list.html.erb +++ b/app/views/managements/_classroom_list.html.erb @@ -23,7 +23,7 @@ - <%= courselist.name %> + <%= courselist.name %> <%= courselist.courses.count %> diff --git a/app/views/subjects/edit.html.erb b/app/views/subjects/edit.html.erb index 0f8baf4e9..845ad9424 100644 --- a/app/views/subjects/edit.html.erb +++ b/app/views/subjects/edit.html.erb @@ -1,6 +1,5 @@ -<% content_for :header_tags do %> - <%= import_ke(enable_at: false, prettify: false, init_activity: false) %> -<% end %> +<%= stylesheet_link_tag '/editormd/css/editormd' %> +<%= javascript_include_tag '/editormd/editormd' %>

    @@ -9,40 +8,28 @@

    - 编辑实训路径 -
    + 编辑实训路径 +
    - <%= labelled_form_for @subject do |f| %> -
  • - - -
    - 请输入名称 -
  • - + <%= labelled_form_for @subject do |f| %> +
  • + + +
    + 请输入名称 +
  • + - +
  • <%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %> - - <%= f.kindeditor :description, :editor_id => 'subject_description_editor', - :owner_id => @subject.nil? ? 0: @subject.id, - :owner_type => OwnerTypeHelper::SUBJECT, - :local_storage_mdu => "subject_description_#{User.current.id}_#{@subject.id}", - :local_storage_id => "desc", - :width => '80%', - :height => 200, - :minHeight=>200, - :placeholder => "请在此输入实训路径的简介", - :class => 'talk_text fl', - :input_html => { :id => 'new_subject_description', - :class => 'talk_text fl', - :maxlength => 5000 } - %> +
    + +

    @@ -50,32 +37,116 @@
  • - - <%= f.kindeditor :learning_notes, :editor_id => 'subject_learning_notes_editor', - :owner_id => @subject.nil? ? 0: @subject.id, - :owner_type => OwnerTypeHelper::SUBJECT, - :local_storage_mdu => "subject_notes_#{User.current.id}_#{@subject.id}", - :local_storage_id => "notes", - :width => '80%', - :height => 200, - :minHeight=>200, - :placeholder => "请在此输入实训路径的学习须知", - :class => 'talk_text fl', - :input_html => { :id => 'new_learning_notes', - :class => 'talk_text fl', - :maxlength => 5000 } - %> +
    + +

    请输入学习须知
  • -
  • - - <%= link_to "取消", subject_path(@subject), :class => "task-btn fl mr10 ml20" %> - 保存 -
  • - <% end %> +
  • + + <%= link_to "取消", subject_path(@subject), :class => "task-btn fl mr10 ml20" %> + 保存 +
  • + <% end %> +
    - - \ No newline at end of file + + \ No newline at end of file diff --git a/app/views/subjects/new.html.erb b/app/views/subjects/new.html.erb index 42b2382d2..cfa6ae8ea 100644 --- a/app/views/subjects/new.html.erb +++ b/app/views/subjects/new.html.erb @@ -1,6 +1,6 @@ -<% content_for :header_tags do %> - <%= import_ke(enable_at: false, prettify: false, init_activity: false) %> -<% end %> +<%= stylesheet_link_tag '/editormd/css/editormd' %> +<%= javascript_include_tag '/editormd/editormd' %> +

    @@ -9,81 +9,57 @@

    - 新建实训路径 -
    + 新建实训路径 +
    - <%= labelled_form_for @subject do |f| %> -
  • - - -
    - 请输入名称 -
  • - + <%= labelled_form_for @subject do |f| %> +
  • + + +
    + 请输入名称 +
  • + - -
  • - - <%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %> - - <%= f.kindeditor :description, :editor_id => 'subject_description_editor', - :owner_id => @subject.nil? ? 0: @subject.id, - :owner_type => OwnerTypeHelper::SUBJECT, - :local_storage_mdu => "subject_description_#{User.current.id}", - :local_storage_id => "desc", - :width => '80%', - :height => 200, - :minHeight=>200, - :placeholder => "请在此输入实训路径的简介", - :class => 'talk_text fl', - :input_html => { :id => 'new_subject_description', - :class => 'talk_text fl', - :maxlength => 5000 } - %> -
    -

    -

    - 请输入简介 -
  • -
  • - - - <%= f.kindeditor :learning_notes, :editor_id => 'subject_learning_notes_editor', - :owner_id => @subject.nil? ? 0: @subject.id, - :owner_type => OwnerTypeHelper::SUBJECT, - :local_storage_mdu => "subject_notes_#{User.current.id}", - :local_storage_id => "notes", - :width => '80%', - :height => 200, - :minHeight=>200, - :placeholder => "请在此输入实训路径的学习须知", - :class => 'talk_text fl', - :input_html => { :id => 'new_learning_notes', - :class => 'talk_text fl', - :maxlength => 5000 } - %> - -
    -

    -

    - 请输入学习须知 -
  • - -
  • - - <%= link_to "取消", subjects_path(), :class => "task-btn fl mr10 ml20" %> - 保存 -
  • - <% end %> -
    -
    + +
  • + + <%= hidden_field_tag :asset_id, params[:asset_id], :required => false, :style => 'display:none' %> +
    + +
    +
    +

    +

    + 请输入简介 +
  • +
  • + +
    + +
    + +
    +

    +

    + 请输入学习须知 +
  • + +
  • + + <%= link_to "取消", subjects_path(), :class => "task-btn fl mr10 ml20" %> + 保存 +
  • + <% end %> + + \ No newline at end of file + /* ------------------------------- 简介md ------------------------------*/ + var shixun_editormd = editormd("shixun_introduction", { + width : "80%", + height : 600, + syncScrolling : "single", + //你的lib目录的路径,我这边用JSP做测试的 + path : "/editormd/lib/", + tex : true, + toolbarIcons : function() { + // Or return editormd.toolbarModes[name]; // full, simple, mini + // Using "||" set icons align right. + return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear" ] + }, + + toolbarCustomIcons : { + testIcon : "
    ", + testIcon1 : "
    " + }, + //这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。 + saveHTMLToTextarea : true, + autoFocus: false, + // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标 + dialogMaskOpacity : 0.6, + placeholder: "请在此输入实训路径的简介", + imageUpload : true, + imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"], + imageUploadURL : "<%= upload_with_markdown_path(:container_id => @subject.id, :container_type => @subject.class) %>" //url + }); + + /* --------------------------------- 学习须知 -------------------------------------- */ + var shixun_propaedeutics = editormd("shixun_propaedeutics", { + width : "80%", + height : 600, + syncScrolling : "single", + //你的lib目录的路径,我这边用JSP做测试的 + path : "/editormd/lib/", + tex : true, + toolbarIcons : function() { + // Or return editormd.toolbarModes[name]; // full, simple, mini + // Using "||" set icons align right. + return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear" ] + }, + toolbarCustomIcons : { + testIcon : "
    ", + testIcon1 : "
    " + }, + //这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。 + saveHTMLToTextarea : true, + autoFocus: false, + // 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标 + dialogMaskOpacity : 0.6, + placeholder: "请在此输入实训路径的学习须知", + imageUpload : true, + imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"], + imageUploadURL : "<%= upload_with_markdown_path(:container_id => @subject.id, :container_type => @subject.class) %>" //url + }); + window.onload = function(){ + console.log(shixun_editormd); + + $("#shixun_introduction [type=\"latex\"]").bind("click", function(){ + shixun_editormd.cm.replaceSelection("```latex"); + shixun_editormd.cm.replaceSelection("\n"); + shixun_editormd.cm.replaceSelection("\n"); + shixun_editormd.cm.replaceSelection("```"); + var __Cursor = shixun_editormd.cm.getDoc().getCursor(); + shixun_editormd.cm.setCursor(__Cursor.line-1, 0); + }); + + $("#shixun_propaedeutics [type=\"latex\"]").bind("click", function(){ + shixun_propaedeutics.cm.replaceSelection("```latex"); + shixun_propaedeutics.cm.replaceSelection("\n"); + shixun_propaedeutics.cm.replaceSelection("\n"); + shixun_propaedeutics.cm.replaceSelection("```"); + var __Cursor = shixun_propaedeutics.cm.getDoc().getCursor(); + shixun_propaedeutics.cm.setCursor(__Cursor.line-1, 0); + }); + + $("#shixun_introduction [type=\"inline\"]").bind("click", function(){ + shixun_editormd.cm.replaceSelection("$$$$"); + var __Cursor = shixun_editormd.cm.getDoc().getCursor(); + shixun_editormd.cm.setCursor(__Cursor.line, __Cursor.ch-2); + shixun_editormd.cm.focus(); + }); + + $("#shixun_propaedeutics [type=\"inline\"]").bind("click", function(){ + shixun_propaedeutics.cm.replaceSelection("$$$$"); + var __Cursor = shixun_propaedeutics.cm.getDoc().getCursor(); + shixun_propaedeutics.cm.setCursor(__Cursor.line, __Cursor.ch-2); + shixun_propaedeutics.cm.focus(); + }); + $("[type=\"inline\"]").attr("title", "行内公式"); + $("[type=\"latex\"]").attr("title", "多行公式"); + + }; + diff --git a/app/views/subjects/show.html.erb b/app/views/subjects/show.html.erb index 10208015c..944631c62 100644 --- a/app/views/subjects/show.html.erb +++ b/app/views/subjects/show.html.erb @@ -1,3 +1,6 @@ +<%= stylesheet_link_tag '/editormd/css/editormd','/editormd/css/editormd.min.css' %> +<%= javascript_include_tag '/editormd/lib/marked.min.js','/editormd/lib/prettify.min.js','/editormd/lib/raphael.min.js','/editormd/lib/underscore.min.js','/editormd/lib/sequence-diagram.min.js', + '/editormd/lib/flowchart.min.js','/editormd/lib/jquery.flowchart.min.js','/editormd/editormd.js'%>
    <% if !@subject.description.blank? || User.current.manager_of_subject?(@subject) %> @@ -8,8 +11,10 @@ <% end %>

    -
    -
    <%= @subject.description.blank? ? "暂未填写" : (@subject.description.html_safe) %>
    +
    +
    + +
    <% end %> @@ -142,7 +147,9 @@ <% end %>

    -
    <%= @subject.learning_notes.blank? ? "暂未填写" : @subject.learning_notes.html_safe %>
    +
    + +

    教学团队 @@ -176,6 +183,22 @@