diff --git a/app/controllers/challenges_controller.rb b/app/controllers/challenges_controller.rb index ebce98b62..9e87d3799 100644 --- a/app/controllers/challenges_controller.rb +++ b/app/controllers/challenges_controller.rb @@ -151,7 +151,7 @@ class ChallengesController < ApplicationController def index uid_logger("identifier: #{params}") - @challenges = Challenge.fields_for_list.where(shixun_id: @shixun.id) + @challenges = @shixun.challenges.fields_for_list @editable = @shixun.status == 0 # before_action:有判断权限,如果没发布,则肯定是管理人员 @user = current_user diff --git a/app/controllers/homework_commons_controller.rb b/app/controllers/homework_commons_controller.rb index 7f2519b99..c8cf36824 100644 --- a/app/controllers/homework_commons_controller.rb +++ b/app/controllers/homework_commons_controller.rb @@ -1459,7 +1459,8 @@ class HomeworkCommonsController < ApplicationController if game_codes.count > 0 code_rate += game_codes.map(&:rate).sum / challenge.path.split(";").length end - target = game_codes.count > 0 ? game_codes[0].target_user_id : nil + logger.info("#####game_codes: #{game_codes}") + #target = game_codes.count > 0 ? game_codes[0].target_user_id : nil # 作品完成时间 game = challenge.games.find_by(user_id: @user.id) end_time = game.end_time @@ -1467,7 +1468,7 @@ class HomeworkCommonsController < ApplicationController all_score = homework_challenge_settings.find_by(challenge_id: challenge.id).try(:score).to_f final_score = @student_work.work_challenge_score game, all_score # 抄袭用户 - copy_user = User.find_by_id(game_codes[0].target_user_id) + copy_user = User.find_by_id(game_codes[0].try(:target_user_id)) copy_end_time = copy_user.games.find_by(challenge_id: challenge.id).try(:end_time) if copy_user.present? # 代码部分 code_list = [] @@ -1477,7 +1478,7 @@ class HomeworkCommonsController < ApplicationController code_list << {path: path, origin_content: info.origin_content, target_content: info.target_content} end end - + # TODO: 这里本来应该前端做的,但是现在页面已经刷不开了。 {code_rate: code_rate, copy_user_id: copy_user.try(:id), end_time: end_time, final_score: final_score, all_score: all_score, copy_end_time: copy_end_time, copy_username: copy_user.try(:full_name), username: game.user.full_name, code_list: code_list, subject: challenge.subject, position: challenge.position, diff --git a/app/models/challenge.rb b/app/models/challenge.rb index 8e4d2ae42..adb54fae9 100644 --- a/app/models/challenge.rb +++ b/app/models/challenge.rb @@ -1,7 +1,6 @@ class Challenge < ApplicationRecord # difficulty: 关卡难度: 1.简单 2.中等 3.困难 # show_type: 效果展示:-1.无效果 1.图片 2.apk/exe 3.txt 4.html 5.mp3 6.mp4 - default_scope { order("challenges.position asc") } belongs_to :shixun, :touch => true, counter_cache: true belongs_to :user diff --git a/app/models/shixun.rb b/app/models/shixun.rb index 1839edf93..81b444c0a 100644 --- a/app/models/shixun.rb +++ b/app/models/shixun.rb @@ -5,7 +5,7 @@ class Shixun < ApplicationRecord # hide_code: 隐藏代码窗口 # code_hidden: 隐藏代码目录 # task_pass: 跳关 - has_many :challenges, dependent: :destroy + has_many :challenges, -> {order("challenges.position asc")}, dependent: :destroy has_many :challenge_tags, through: :challenges has_many :myshixuns, :dependent => :destroy has_many :shixun_members, dependent: :destroy diff --git a/public/react/src/modules/courses/boards/TopicDetail.css b/public/react/src/modules/courses/boards/TopicDetail.css index de3aeb69b..7500268bf 100644 --- a/public/react/src/modules/courses/boards/TopicDetail.css +++ b/public/react/src/modules/courses/boards/TopicDetail.css @@ -1,12 +1,15 @@ -.edu-class-container { - width: 1200px; - margin: 10px auto 20px; -} -#forum_index_list { - margin-top: 90px; - margin-bottom: 320px; -} - -.uploadBtn { - margin-left: 0px; +.edu-class-container { + width: 1200px; + margin: 10px auto 20px; +} +#forum_index_list { + margin-top: 90px; + margin-bottom: 320px; +} +#yslforum_index_list { + margin-top: 20px; + margin-bottom: 320px; +} +.uploadBtn { + margin-left: 0px; } \ No newline at end of file diff --git a/public/react/src/modules/courses/boards/TopicDetail.js b/public/react/src/modules/courses/boards/TopicDetail.js index d60c34461..7d0e6d37d 100644 --- a/public/react/src/modules/courses/boards/TopicDetail.js +++ b/public/react/src/modules/courses/boards/TopicDetail.js @@ -526,7 +526,7 @@ class TopicDetail extends Component { const courseId=this.props.match.params.coursesId; const boardId = this.props.match.params.boardId return ( -
{/* fl with100 */} +
{/* fl with100 */} { data&&data.challenge_list.map((item,key)=>{ + // console.log("203challenge_list下面的数据"); + // console.log(item); + // console.log(JSON.stringify(item)); return(
@@ -213,46 +216,46 @@ class ShixunCustomsPass extends Component { {item.subject} - 代码文件:{item.code_list[0].path} + 代码文件:{item.code_list.length===0?"无":item.code_list[0].path===undefined?"无":item.code_list[0].path}

- {item.code_list.map((ite,k)=>{ + {item.code_list.length===0?"":item.code_list.map((ite,k)=>{ return( -
-
-

- - {item.username} - 的代码文件 - - - {item.copy_username} - 的代码文件 - -

- -
-
  • - -
  • -
    -
    -
    +
    +
    +

    + + {item.username} + 的代码文件 + + + {item.copy_username} + 的代码文件 + +

    + +
    +
  • + +
  • +
    +
    +
    ) })}
    @@ -267,4 +270,4 @@ class ShixunCustomsPass extends Component { } } -export default ShixunCustomsPass; \ No newline at end of file +export default ShixunCustomsPass;