Merge branch 'develop' into dev_cxt
This commit is contained in:
commit
ae2dedec92
|
|
@ -104,6 +104,17 @@ class CoursesController < ApplicationController
|
|||
@import_attachments = Attachment.where(:container_id => @course.id, :container_type => "ImportStudent")
|
||||
end
|
||||
|
||||
def shixun_statistics
|
||||
@homeworks = @course.homework_commons.where("homework_type = 4").order("created_at asc")
|
||||
filename="#{format_date(Time.now)}_#{@course.teacher.show_real_name.to_s}_#{@course.name}_实训数据报告";
|
||||
|
||||
respond_to do |format|
|
||||
format.xls {
|
||||
send_data(shixun_xls(@homeworks,@course), :type => 'application/octet-stream', :filename => filename_for_content_disposition("#{filename}.xls"))
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
# REDO:性能需要优化,这块是管理员后台任务,不影响用户使用
|
||||
def sync_students
|
||||
school_id = User.find(@course.tea_id).try(:user_extensions).try(:school_id)
|
||||
|
|
@ -1989,6 +2000,87 @@ class CoursesController < ApplicationController
|
|||
@results = paginateHelper @results, @limit
|
||||
end
|
||||
|
||||
def shixun_xls homeworks, course
|
||||
xls_report = StringIO.new
|
||||
book = Spreadsheet::Workbook.new
|
||||
blue = Spreadsheet::Format.new :color => :blue, :weight => :bold, :size => 10
|
||||
black = Spreadsheet::Format.new :color => :black, :weight => :bold, :size => 10
|
||||
current_row = 0
|
||||
homeworks.each_with_index do |homework, i|
|
||||
sheet = book.create_worksheet :name => "第#{i+1}次作业"
|
||||
sheet.row(0).default_format = blue
|
||||
sheet[0,0] = "课堂编号"
|
||||
sheet[0,1] = "主讲老师"
|
||||
sheet[0,2] = "课堂名称"
|
||||
sheet[0,3] = "作业编号"
|
||||
sheet[0,4] = "作业/实训名称"
|
||||
sheet[0,5] = "关卡"
|
||||
sheet[0,6] = "学生id"
|
||||
sheet[0,7] = "学生姓名"
|
||||
sheet[0,8] = "经验值"
|
||||
sheet[0,9] = "金币"
|
||||
sheet[0,10] = "评测历史"
|
||||
sheet[0,11] = "评测时间"
|
||||
sheet[0,12] = "评测结果"
|
||||
sheet[1,0] = course.id
|
||||
sheet[1,1] = course.teacher.show_real_name
|
||||
sheet[1,2] = course.name
|
||||
sheet[1,3] = "# #{i + 1}"
|
||||
sheet[1,4] = homework.name
|
||||
current_row = 1
|
||||
shixun = homework.homework_commons_shixuns.shixun if homework.homework_commons_shixuns
|
||||
if shixun
|
||||
shixun.challenges.each_with_index do |challenge, j|
|
||||
sheet[current_row,5] = "第#{j+1}关"
|
||||
games = Game.where(:challenge_id => challenge.id, :user_id => homework.student_works.where("work_status != 0").map(&:user_id))
|
||||
count_exp_score = 0
|
||||
count_gold_score = 0
|
||||
count_test = 0
|
||||
count_time = 0
|
||||
if games.count > 0
|
||||
games.each do |game|
|
||||
user = game.user
|
||||
sheet[current_row,6] = user.login
|
||||
sheet[current_row,7] = user.show_real_name
|
||||
sheet[current_row,8] = game.final_score ? "+#{game.final_score.to_s} 经验值" : "--"
|
||||
count_exp_score = count_exp_score + (game.final_score ? game.final_score.to_i : 0)
|
||||
sheet[current_row,9] = game.final_score ? (game.answer_open? ? "#{-challenge.score.to_i} 金币" : "+#{game.final_score.to_i} 金币") : "--"
|
||||
count_gold_score = count_gold_score + (game.final_score ? (game.answer_open? ? -challenge.score.to_i : game.final_score.to_i) : 0)
|
||||
|
||||
count = game.outputs.count
|
||||
if count > 0
|
||||
outputs = game.outputs.where(:test_set_position => 1).order("created_at asc")
|
||||
outputs.each_with_index do |output, k|
|
||||
count_test = count_test + 1
|
||||
sheet[current_row,10] = "第#{k+1}次评测"
|
||||
sheet[current_row,11] = k == 0 ? game_spend_time((output.created_at - game.created_at).to_i) : game_spend_time((output.created_at - outputs[k-1].created_at).to_i)
|
||||
count_time += count_time + (k == 0 ? (output.created_at - game.created_at).to_i : (output.created_at - outputs[k-1].created_at).to_i)
|
||||
sheet[current_row,12] = game.outputs.where(:query_index => output.query_index).select{|ou| ou.result == false}.count > 0 ? "失败" : "成功"
|
||||
current_row = current_row + 1
|
||||
end
|
||||
else
|
||||
current_row = current_row + 1
|
||||
end
|
||||
end
|
||||
else
|
||||
current_row = current_row + 1
|
||||
end
|
||||
|
||||
sheet[current_row,6] = "合计"
|
||||
sheet[current_row,7] = games.count.to_s + "人"
|
||||
sheet[current_row,8] = count_exp_score >= 0 ? "+#{count_exp_score} 经验值" : "-#{count_exp_score} 经验值"
|
||||
sheet[current_row,9] = count_gold_score >= 0 ? "+#{count_gold_score} 金币" : "-#{count_gold_score} 金币"
|
||||
sheet[current_row,10] = "共#{count_test}次评测"
|
||||
sheet[current_row,11] = game_spend_time(count_time.to_i)
|
||||
sheet.row(current_row).default_format = black
|
||||
current_row = current_row + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
book.write xls_report
|
||||
xls_report.string
|
||||
end
|
||||
|
||||
def member_to_xls homeworks, course, members,groups
|
||||
xls_report = StringIO.new
|
||||
book = Spreadsheet::Workbook.new
|
||||
|
|
|
|||
|
|
@ -316,9 +316,9 @@ class GamesController < ApplicationController
|
|||
answer_right = []
|
||||
@game_challenge.challenge_chooses.each_with_index do |choose, index|
|
||||
correct = (params[:answer][index] == choose.standard_answer) ? true : false
|
||||
if choose.current_choose_outputs.blank?
|
||||
ChooseOutputs.create(:challenge_choose_id => choose.id, :user_id => User.current.id, :answer => params[:answer][index], :correct => correct)
|
||||
end
|
||||
#choose.current_choose_outputs.delete if choose.current_choose_outputs.present?
|
||||
#ChooseOutputs.create(:challenge_choose_id => choose.id, :user_id => User.current.id, :answer => params[:answer][index], :correct => correct)
|
||||
Output.create(:game_id => @game.id, :test_set_position => choose.position, :actual_output => params[:answer][index], :result => correct, :query_index => @game.query_index)
|
||||
if @shixun.status > 1 && !@game.answer_open
|
||||
if correct
|
||||
score += choose.score
|
||||
|
|
@ -332,14 +332,15 @@ class GamesController < ApplicationController
|
|||
end
|
||||
answer_right << correct
|
||||
end
|
||||
@game.update_attributes(:status => 2, :end_time => Time.now)
|
||||
@had_done = @game.had_done
|
||||
reward_grade(@game.user, @game.id, 'Game', score)
|
||||
reward_experience(@game.user, @game.id, 'Game', score)
|
||||
@game.update_attribute(:final_score, score)
|
||||
|
||||
if @right
|
||||
@game.update_attributes(:status => 2, :end_time => Time.now)
|
||||
reward_grade(@game.user, @game.id, 'Game', score)
|
||||
reward_experience(@game.user, @game.id, 'Game', score)
|
||||
@game.update_attribute(:final_score, score)
|
||||
end
|
||||
respond_to do |format|
|
||||
format.js{redirect_to myshixun_game_path(@game, :myshixun_id => @myshixun, :choose => 1)}
|
||||
format.js{redirect_to myshixun_game_path(@game, :myshixun_id => @myshixun, :choose => @right)}
|
||||
end
|
||||
end
|
||||
|
||||
|
|
@ -407,7 +408,7 @@ class GamesController < ApplicationController
|
|||
if(params[:choose] == "true")
|
||||
challenge.challenge_chooses.each_with_index do |choose, index|
|
||||
@answer += "第"+ ((index + 1).to_s) +"题:<br />"
|
||||
@answer += choose.answer
|
||||
@answer += (choose.answer.blank? ? choose.standard_answer : choose.answer)
|
||||
@answer += "<br /><br /><br />"
|
||||
end
|
||||
else
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@ class MyshixunsController < ApplicationController
|
|||
compile_success = jsonTestDetails['compileSuccess']
|
||||
# message = Base64.decode64(params[:msg]) unless params[:msg].blank?
|
||||
logger.info(outPut)
|
||||
logger.info("##################"+ compile_success)
|
||||
game = Game.find(game_id)
|
||||
challenge = game.challenge
|
||||
unless jenkins_testsets.blank?
|
||||
|
|
@ -135,7 +134,6 @@ class MyshixunsController < ApplicationController
|
|||
actual_output = tran_base64_decode64(j_test_set['output'])
|
||||
game_outputs = Output.create(:code => status, :game_id => game_id, :out_put => outPut, :test_set_position => j_test_set['caseId'],
|
||||
:actual_output => actual_output, :result => j_test_set['passed'].to_i, :query_index => game.query_index, :compile_success => compile_success.to_i)
|
||||
logger.info("compile_success:"+ compile_success)
|
||||
# output = Output.where(:game_id => game.id, :test_set_position => j_test_set['caseId'].to_i).first
|
||||
# logger.info("#############{outPut}")
|
||||
# if output.nil?
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ class ShixunsController < ApplicationController
|
|||
|
||||
|
||||
def statistics_students
|
||||
@statistics = @shixun.myshixuns.order("created_at desc")
|
||||
@statistics = @shixun.myshixuns.where("").order("created_at desc")
|
||||
@statistics_count = @statistics.count
|
||||
@limit = 10
|
||||
@is_remote = true
|
||||
|
|
@ -254,9 +254,9 @@ class ShixunsController < ApplicationController
|
|||
# 确定 sort 1升序 2 降序
|
||||
@order = params[:order] || "myshixun_count"
|
||||
bsort = params[:sort] || "desc"
|
||||
@sort = bsort == "desc" ? "asc" : "desc"
|
||||
@sort = bsort == "asc" ? "desc" : "asc"
|
||||
if @order == "updated_at"
|
||||
order_str = "#{Shixun.table_name}.updated_at #{bsort}"
|
||||
order_str = "#{Shixun.table_name}.updated_at #{@sort}"
|
||||
else
|
||||
order_str = "myshixun_count #{bsort}, #{Shixun.table_name}.updated_at #{bsort}"
|
||||
end
|
||||
|
|
|
|||
|
|
@ -831,7 +831,7 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
# 项目issue列表导出Excel功能
|
||||
def issue_list_xls issues
|
||||
def issue_list_xls issues
|
||||
xls_report = StringIO.new
|
||||
book = Spreadsheet::Workbook.new
|
||||
sheet1 = book.create_worksheet :name => "issues"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ class ChallengeChoose < ActiveRecord::Base
|
|||
has_many :challenge_tags, :dependent => :destroy
|
||||
has_many :challenge_questions, :dependent => :destroy
|
||||
has_one :choose_outputs, :dependent => :destroy
|
||||
has_many :outputs, :dependent => :destroy
|
||||
|
||||
validates_presence_of :subject
|
||||
|
||||
|
|
|
|||
|
|
@ -66,4 +66,18 @@ class Game < ActiveRecord::Base
|
|||
challenge = self.challenge
|
||||
challenge.try(:position).to_i == challenge.shixun.challenges.count ? true : false
|
||||
end
|
||||
|
||||
def choose_correct_num
|
||||
num = 0
|
||||
self.challenge.challenge_chooses.each do |choose|
|
||||
outputs = Output.where(:game_id => self.id, :test_set_position => choose.position).first
|
||||
if outputs.nil?
|
||||
num = nil
|
||||
else
|
||||
num += (outputs.result ? 1 : 0)
|
||||
end
|
||||
end
|
||||
return num
|
||||
end
|
||||
|
||||
end
|
||||
|
|
|
|||
|
|
@ -4,5 +4,5 @@ class Output < ActiveRecord::Base
|
|||
# compile_success 1 表示程序未报错,有正常输出, 0.表示程序抛异常了,报错!
|
||||
default_scope :order => 'query_index desc'
|
||||
belongs_to :game
|
||||
|
||||
belongs_to :challenge_choose
|
||||
end
|
||||
|
|
|
|||
|
|
@ -49,8 +49,8 @@
|
|||
<i class="fa fa-lock font-grey ml5" ></i>
|
||||
<% end %>
|
||||
</p>
|
||||
<div class="clearfix"><span class="fl fb">输入:</span><p class="fl"><%= match_specific_symbol test.input unless test.input.blank? %></p></div>
|
||||
<div class="clearfix"><span class="fl fb">输出:</span><p class="fl"><%= match_specific_symbol test.output unless test.output.blank? %></div>
|
||||
<div class="clearfix"><span class="fl fb">输入:</span><p class="fl break_word with95"><%= match_specific_symbol test.input unless test.input.blank? %></p></div>
|
||||
<div class="clearfix"><span class="fl fb">输出:</span><p class="fl break_word with95"><%= match_specific_symbol test.output unless test.output.blank? %></div>
|
||||
</li>
|
||||
<% end %>
|
||||
<% else %>
|
||||
|
|
|
|||
|
|
@ -152,4 +152,16 @@
|
|||
timepicker:false,
|
||||
validateOnBlur:false
|
||||
});
|
||||
function addtip(){
|
||||
console.log("<%= @course.course_groups%>");
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($(".setting_group_<%= group.id %> span").width() == 115){
|
||||
$(".setting_group_<%= group.id %>").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<% @course.course_groups.each do |group| %>
|
||||
<li data-option="hasclass" data-group-id="<%= group.id %>" data-course-id="<%= @course.id %>" class="setting_group_<%= group.id %>">
|
||||
<p class="p1">
|
||||
<span data-tip-left="<%= group.name %>"><%= group.name %></span>
|
||||
<span><%= group.name %></span>
|
||||
<em><%= group.members.count %></em>
|
||||
<!--<i class="fa fa-bars" aria-hidden="true"></i>-->
|
||||
</p>
|
||||
|
|
@ -27,3 +27,13 @@
|
|||
</div>
|
||||
<%= render :partial => "courses/settings/all_student_list_block" %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($(".setting_group_<%= group.id %> span").width() == 115){
|
||||
$(".setting_group_<%= group.id %> p").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
</script>
|
||||
|
|
@ -12,11 +12,20 @@
|
|||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
<li data-option="hasclass" data-group-id="<%= group.id %>" data-course-id="<%= @course.id %>" class="setting_group_<%= group.id %>">
|
||||
<p class="p1" data-tip-left="<%= group.name.length > 6 ? group.name : ''%>">
|
||||
<p class="p1">
|
||||
<span><%= group.name %></span>
|
||||
<em><%= group.members.count %></em>
|
||||
<!--<i class="fa fa-bars" aria-hidden="true"></i>-->
|
||||
</p>
|
||||
</li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<script>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($(".setting_group_<%= group.id %> span").width() == 115){
|
||||
$(".setting_group_<%= group.id %> p").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
</script>
|
||||
|
|
@ -14,8 +14,8 @@
|
|||
<% end %>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
<li class="<%= @group.id == group.id ? 'sheet' : '' %>" data-option="hasclass" data-group-id="<%= group.id %>" data-course-id="<%= @course.id %>" class="setting_group_<%= group.id %>">
|
||||
<p class="p1" data-tip-left="<%= group.name %>">
|
||||
<li class="<%= @group.id == group.id ? 'sheet' : '' %>" data-option="hasclass" data-group-id="<%= group.id %>" data-course-id="<%= @course.id %>" class="setting_group_<%= group.id %>" id = "setting_group_<%= group.id %>" >
|
||||
<p class="p1">
|
||||
<span><%= group.name %></span>
|
||||
<em><%= group.members.count %></em>
|
||||
<!--<i class="fa fa-bars" aria-hidden="true"></i>-->
|
||||
|
|
@ -26,4 +26,14 @@
|
|||
</ul>
|
||||
</div>
|
||||
<%= render :partial => "courses/settings/has_group_student_list_block" %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($("#setting_group_<%= group.id %> span").width() == 115){
|
||||
$("#setting_group_<%= group.id %> p").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
</script>
|
||||
|
|
@ -46,20 +46,22 @@
|
|||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% @apply_users.each_with_index do |apply, index| %>
|
||||
<% user = User.find(apply.course_message_id) %>
|
||||
<tr id="setting_member_<%= user.id %>">
|
||||
<td><%= @teacher_count + index + 1 %></td>
|
||||
<td>
|
||||
<%= link_to user.show_real_name, user_path(user), :target => '_blank', :class => 'edu-txt-w140 task-hide mt5' %>
|
||||
</td>
|
||||
<td><span class="edu-txt-w140 task-hide mt5"><%= user.try(:login) %></span></td>
|
||||
<td><%= apply.content && apply.content.include?('9') ? "教师" : "助教" %></td>
|
||||
<td>
|
||||
<%= link_to '同意', dealwith_apply_request_user_path(User.current,:agree=>'Y',:msg_id=>apply.id), :class=>'color-red mr5'%>
|
||||
<%= link_to '拒绝', dealwith_apply_request_user_path(User.current,:agree=>'N',:msg_id=>apply.id), :class=>'color-red'%>
|
||||
</td>
|
||||
</tr>
|
||||
<% if is_teacher %>
|
||||
<% @apply_users.each_with_index do |apply, index| %>
|
||||
<% user = User.find(apply.course_message_id) %>
|
||||
<tr id="setting_member_<%= user.id %>">
|
||||
<td><%= @teacher_count + index + 1 %></td>
|
||||
<td>
|
||||
<%= link_to user.show_real_name, user_path(user), :target => '_blank', :class => 'edu-txt-w140 task-hide mt5' %>
|
||||
</td>
|
||||
<td><span class="edu-txt-w140 task-hide mt5"><%= user.try(:login) %></span></td>
|
||||
<td><%= apply.content && apply.content.include?('9') ? "教师" : "助教" %></td>
|
||||
<td>
|
||||
<%= link_to '同意', dealwith_apply_request_user_path(User.current,:agree=>'Y',:msg_id=>apply.id), :class=>'color-red mr5'%>
|
||||
<%= link_to '拒绝', dealwith_apply_request_user_path(User.current,:agree=>'N',:msg_id=>apply.id), :class=>'color-red'%>
|
||||
</td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
<li data-option="hasclass" data-group-id="<%= group.id %>" data-course-id="<%= @course.id %>" class="setting_group_<%= group.id %>">
|
||||
<p class="p1" data-tip-left="<%= group.name %>">
|
||||
<p class="p1">
|
||||
<span><%= group.name %></span>
|
||||
<em><%= group.members.count %></em>
|
||||
<!--<i class="fa fa-bars" aria-hidden="true"></i>-->
|
||||
|
|
@ -26,3 +26,14 @@
|
|||
</div>
|
||||
<%= render :partial => "courses/settings/no_group_student_list_block" %>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($(".setting_group_<%= group.id %> span").width() == 115){
|
||||
$(".setting_group_<%= group.id %> p").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
</script>
|
||||
|
|
@ -1,3 +1,10 @@
|
|||
<style>
|
||||
.wlist_select a {
|
||||
background-color:#FC7033;
|
||||
color: #fff!important;
|
||||
border: 1px solid #FC7033;
|
||||
}
|
||||
</style>
|
||||
<% if curse_attachments.count != 0 %>
|
||||
<% curse_attachments.each do |file| %>
|
||||
<% if file.is_public? || User.current.member_of_course?(course) || User.current.admin? %>
|
||||
|
|
@ -8,10 +15,15 @@
|
|||
<div class="re_con_box"><span class='fr mr10 pr_join_span '><%= file.filename %>是私有资源</span></div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<div style="text-align:center;margin-top:20px;margin-bottom:20px;" >
|
||||
<div class="pages_right_min" style="width:auto; display:inline-block;">
|
||||
<ul id="homework_pository_ref_pages">
|
||||
<%= pagination_links_full @feedback_pages, @feedback_count, :per_page_links => false, :remote => true, :flag => true %>
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="wlist">
|
||||
<%= pagination_links_full @feedback_pages, @feedback_count, :per_page_links => false, :remote => true, :flag => true%>
|
||||
</ul>
|
||||
<% else %>
|
||||
<div class="mt10 user_bg_shadow" style="background-color: #fff;padding-bottom: 10px; margin-left: 7px;">
|
||||
<%= render :partial => "welcome/no_data" %>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
<div id="codotab_con_1" class="white_bg" style="overflow-y: auto;height: 100%">
|
||||
<div class="panel-header clearfix" id="top_repository" style="border-bottom:0;padding:15px;">
|
||||
<% @game_challenge.challenge_chooses.each_with_index do |choose, index| %>
|
||||
<% output = @game.outputs.where(:test_set_position => choose.position).first %>
|
||||
<p class="font-bd font-18 color-grey3"><%= (index + 1).to_s + "." + (choose.category == 1 ? "单选题" : "多选题") %></p>
|
||||
<div class="font-15 color-grey3 mb10 new_li read_only" unselectable="on" id="choose_subject_<%= index + 1 %>" style="padding: 10px 0px 10px 10px">
|
||||
<textarea style="display:none;"><%= choose.subject %></textarea>
|
||||
|
|
@ -22,16 +23,16 @@
|
|||
<p class="ml10 mb10 ">
|
||||
<span>
|
||||
<% if choose.category == 1 %>
|
||||
<input type="radio" <%= (choose.current_choose_outputs.try(:answer) == (i + 65).chr) ? "checked" : "" %> name="answer[<%= index + 1 %>]" category="<%= choose.category %>" value="<%= (question.position + 65).chr %>" id="result_<%= index %>_<%= i %>" class="ml-3 mr5 magic-radio ml5">
|
||||
<input type="radio" <%= (output.try(:actual_output)== (i + 65).chr) ? "checked" : "" %> name="answer[<%= index + 1 %>]" category="<%= choose.category %>" value="<%= (question.position + 65).chr %>" id="result_<%= index %>_<%= i %>" class="ml-3 mr5 magic-radio ml5">
|
||||
<% else %>
|
||||
<!--多选-->
|
||||
<input type="checkbox" <%= (choose.current_choose_outputs.try(:answer).present? && (choose.current_choose_outputs.try(:answer).include? ((i + 65).chr))) ? "checked" : "" %> name="answer[]" category="<%= choose.category %>" value="<%= (question.position + 65).chr %>" id="result_<%= index %>_<%= i %>" class="ml-3 mr5 magic-checkbox ml5">
|
||||
<input type="checkbox" <%= (output.try(:actual_output).present? && (output.try(:actual_output).include? ((i + 65).chr))) ? "checked" : "" %> name="answer[]" category="<%= choose.category %>" value="<%= (question.position + 65).chr %>" id="result_<%= index %>_<%= i %>" class="ml-3 mr5 magic-checkbox ml5">
|
||||
<% end %>
|
||||
<label class="break-word <%=(!choose.current_choose_outputs.try(:answer).nil? && (choose.current_choose_outputs.try(:answer).include? ((i + 65).chr))) ? "color-orange05" : "" %>" for="result_<%= index %>_<%= i %>" style="top: 0px"><span><%= (question.position + 65).chr %></span>.<%= question.option_name %></label>
|
||||
<label class="break-word <%=(output.try(:actual_output).present? && (output.try(:actual_output).include? ((i + 65).chr))) ? "color-orange05" : "" %>" for="result_<%= index %>_<%= i %>" style="top: 0px"><span><%= (question.position + 65).chr %></span>.<%= question.option_name %></label>
|
||||
</span>
|
||||
</p>
|
||||
<% end %>
|
||||
<input type="hidden" name="user_answer">
|
||||
<input type="hidden" name="user_answer" value="<%= output.try(:actual_output) %>">
|
||||
</div>
|
||||
<% end %>
|
||||
<!--<div class="pl5 pr5 pt10 pb10 bor-grey-e">
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div id="code_test">
|
||||
<% if @st == 0 %>
|
||||
<a href="javascript:void(0)" class="shixun-task-btn task-btn-blue mr15 mt8" onclick="training_task_submmit();">评测</a>
|
||||
<% elsif @game.status != 2 %>
|
||||
<% else %>
|
||||
<a href="javascript:void(0)" class="shixun-task-btn task-btn-blue mr15 mt8" onclick="choice_submmit();">评测</a>
|
||||
<% end %>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@
|
|||
<div class="fit -scroll">
|
||||
<div class="-layout-v -fit">
|
||||
<div class="-flex -scroll task-padding16">
|
||||
<% unless game_challenge.choose_correct_num == nil %>
|
||||
<% if game_challenge.choose_correct_num != game_challenge.challenge_chooses.count %>
|
||||
<% unless @game.choose_correct_num == nil %>
|
||||
<% if @game.choose_correct_num != game_challenge.challenge_chooses.count %>
|
||||
<p class="-text-danger mb10">
|
||||
<i class="fa fa-exclamation-circle font-16" ></i><span class="ml5 mr5 -text-danger"><%= game_challenge.choose_correct_num %>/<%= game_challenge.challenge_chooses.count %></span>共有<%= game_challenge.challenge_chooses.count %>组测试集,其中有<%= game_challenge.challenge_chooses.count - game_challenge.choose_correct_num %>组测试结果不匹配。详情如下:
|
||||
<i class="fa fa-exclamation-circle font-16" ></i><span class="ml5 mr5 -text-danger"><%= @game.choose_correct_num %>/<%= game_challenge.challenge_chooses.count %></span>共有<%= game_challenge.challenge_chooses.count %>组测试集,其中有<%= game_challenge.challenge_chooses.count - @game.choose_correct_num %>组测试结果不匹配。详情如下:
|
||||
</p>
|
||||
<% else %>
|
||||
<p class="color-light-green mb10">
|
||||
|
|
@ -23,14 +23,15 @@
|
|||
<% end %>
|
||||
<% end %>
|
||||
<% game_challenge.challenge_chooses.each_with_index do |choose, index| %>
|
||||
<% output = @game.outputs.where(:test_set_position => choose.position).first %>
|
||||
<div class="-task-ces-box mb15 clearfix">
|
||||
<div class="-task-ces-top" onclick="toggle_test_case('0', '<%= index %>')" style="cursor:pointer">
|
||||
<i class="fa fa-caret-right mr5 font-16" ></i>
|
||||
<span class="font-14">题目<%= index + 1 %></span>
|
||||
<%# outputs = ChooseOutputs.where(:challenge_choose_id => choose.id).first %>
|
||||
<% unless choose.current_choose_outputs.blank? %>
|
||||
<% if output.present? %>
|
||||
<%# if choose.choose_outputs.try(:answer) != choose.standard_answer %>
|
||||
<% if choose.current_choose_outputs.try(:answer) == choose.standard_answer %>
|
||||
<% if output.try(:actual_output) == choose.standard_answer %>
|
||||
<i class="fa fa-check-circle color-light-green fr mt8 ml5 f14" ></i>
|
||||
<% else %>
|
||||
<i class="fa fa-exclamation-circle -text-danger fr mt8 ml5" ></i>
|
||||
|
|
@ -41,11 +42,15 @@
|
|||
</div>
|
||||
<div class="-task-ces-info undis" id="test_case_<%= index %>">
|
||||
<ul class=" font-14">
|
||||
<% if choose.choose_outputs.blank? %>
|
||||
<% if output.try(:actual_output).blank? %>
|
||||
<li><span class="ml30">尚未提交,暂不支持查看</span></li>
|
||||
<% else %>
|
||||
<li><span class="-task-ces-info-left color-blue">正确选项:</span><span><%= choose.standard_answer %></span></li>
|
||||
<li><span class="-task-ces-info-left color-blue">你的选项:</span><span class="color-orange"><%= choose.current_choose_outputs.try(:answer).nil? ? "无" : choose.current_choose_outputs.try(:answer) %></span></li>
|
||||
<% if output.try(:actual_output) == choose.standard_answer || @game.status == 2 %>
|
||||
<li><span class="-task-ces-info-left color-blue">正确选项:</span><span><%= choose.standard_answer %></span></li>
|
||||
<li><span class="-task-ces-info-left color-blue">你的选项:</span><span class="color-orange"><%= output.try(:actual_output) %></span></li>
|
||||
<% else %>
|
||||
<li><span class="-text-danger ml30">错误,不支持查看</span></li>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@
|
|||
<% else %>
|
||||
<span class="btn-cir-big fr mt8 mr15" >经验值:<%= @game_challenge.choose_score.to_i %></span>
|
||||
<% end %>
|
||||
|
||||
</ul>
|
||||
<div class="cl"></div>
|
||||
<div class="-flex -relative greytab-inner">
|
||||
|
|
|
|||
|
|
@ -1,53 +1,25 @@
|
|||
<%= stylesheet_link_tag 'css/edu-common', 'css/edu-popup' %>
|
||||
|
||||
<% if game.challenge.st != 0 %>
|
||||
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);top: 0px;left: 0px;">
|
||||
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);">
|
||||
<div class="task-popup-box <%= had_done == 0 ? "task-box1" : "task-box2" %>">
|
||||
<a href="javascript:void(0)" class="task-popup-close" onclick="refresh_game_list();"></a>
|
||||
<% if had_done == 0 %>
|
||||
<div class="task-su-con">
|
||||
<div class="task-su-con">
|
||||
<% if had_done == 0 %>
|
||||
<p class="task-su-p">恭喜您通过本关</p>
|
||||
<p class="mt8"><i class="fa fa-check-circle color-light-green mr5"></i>本题正确:<span class="color-orange03"> <%= game.challenge.choose_correct_num.to_i %> </span>道</p>
|
||||
<p><i class="fa fa-exclamation-circle color-orange mr5"></i>本题错误:<span class="color-orange03"> <%= game.challenge.challenge_chooses.count - game.challenge.choose_correct_num.to_i %> </span>道</p>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="task-su-con" style="position: absolute;width: 100%;z-index:3;padding-top: 63px;">
|
||||
<img src="/images/task/task-success02.png"/>
|
||||
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt30" onclick="hideModal();" data-remote="true">查看光辉历史</a>
|
||||
</div>
|
||||
<div style="text-align:center;background-color: #fff;border-radius: 0px 0px 8px 8px;width: 200px;position:absolute;z-index:2;height:100px;bottom:-30px;left:50%;margin-left:-100px;">
|
||||
<p class="mt25"><i class="fa fa-check-circle color-light-green mr5"></i>本题正确:<span class="color-orange03"> <%= game.challenge.choose_correct_num.to_i %> </span>道</p>
|
||||
<p><i class="fa fa-exclamation-circle color-orange mr5"></i>本题错误:<span class="color-orange03"> <%= game.challenge.challenge_chooses.count - game.challenge.choose_correct_num.to_i %> </span>道</p>
|
||||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<% if had_done == 0 %>
|
||||
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
|
||||
<% end %>
|
||||
</div>
|
||||
<% else %>
|
||||
<div class="task-popup-warp" style="background-color: rgba(0,0,0,0.7);">
|
||||
<div class="task-popup-box <%= had_done == 0 ? "task-box1" : "task-box2" %>">
|
||||
<a href="javascript:void(0)" class="task-popup-close" onclick="refresh_game_list();"></a>
|
||||
<div class="task-su-con">
|
||||
<% if had_done == 0 %>
|
||||
<p class="task-su-p">恭喜您通过本关</p>
|
||||
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
|
||||
<% else %>
|
||||
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt50" onclick="hideModal();" data-remote="true">查看光辉历史</a>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<%= link_to "下 一 关", {:controller => 'games', :action => "next_step", :id => game, :myshixun_id => myshixun}, :class => "task-su-btn", :onclick => "hideModal();", :remote => true %>
|
||||
<% else %>
|
||||
<a href="<%= myshixun_game_path(myshixun, :index => 1) %>" class="task-su-btn-white mt50" onclick="hideModal();" data-remote="true">查看光辉历史</a>
|
||||
<% end %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
function refresh_game_list(){
|
||||
$.ajax({
|
||||
url: "<%= refresh_game_list_myshixun_game_path(game, :myshixun_id => myshixun) %>",
|
||||
dataType: "script"
|
||||
});
|
||||
function refresh_game_list(){
|
||||
$.ajax({
|
||||
url: "<%= refresh_game_list_myshixun_game_path(game, :myshixun_id => myshixun) %>",
|
||||
dataType: "script"
|
||||
});
|
||||
|
||||
//$("#all_task_show").css("display","none");
|
||||
}
|
||||
//$("#all_task_show").css("display","none");
|
||||
}
|
||||
</script>
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
$("#all_task_show").hide();
|
||||
fadein = 0;
|
||||
// 选择题
|
||||
<% if params[:choose] == "1" %>
|
||||
<% if params[:choose] == "true" %>
|
||||
<% if @had_done == 0 %>
|
||||
$("#code_estimate").html("<a href='<%= next_step_myshixun_game_path(@game, :myshixun_id => @myshixun) %>' class='task-btn task-btn-blue mr15 mt8' id='next_step' data-remote='true'>下一关</a>");
|
||||
var htmlvalue = "<%= j (render :partial => 'games/pass_game_show', :locals => { :game=> @game, :myshixun => @myshixun, :had_done => 0}) %>";
|
||||
|
|
|
|||
|
|
@ -8,6 +8,9 @@
|
|||
<%= link_to("题库选用", user_import_homeworks_user_path(User.current.id, :select_course => @course.id, :homework_type =>@homework_type), :class => "white-btn orange-btn fr mr10",:remote => true,:title=>"导入自己发布过的作业,或者共享题库中的作业") %>
|
||||
<% else %>
|
||||
<%= link_to '选用实训', shixuns_homework_common_index_path(:course => @course.id), :remote => true, :class => "white-btn orange-btn fr mr20", :title => "新建作业" %>
|
||||
<% if User.current.admin? %>
|
||||
<%= link_to("实训统计", shixun_statistics_course_path(@course, :format => "xls"), :class => "white-btn orange-btn fr mr10",:title=>"实训作业统计") %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<!--<a href="<%#= export_course_member_excel_course_path(@course) %>" class="edu-btn fr mr10">导出成绩</a>-->
|
||||
|
|
|
|||
|
|
@ -18,4 +18,14 @@
|
|||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<script>
|
||||
<% unless @course.course_groups.empty? %>
|
||||
<% @course.course_groups.each do |group| %>
|
||||
if($("#course_group_<%=group.id %> a").width() == 105){
|
||||
$("#course_group_<%=group.id %> a").attr("data-tip-left","<%= group.name %>");
|
||||
}
|
||||
<% end %>
|
||||
<% end %>
|
||||
</script>
|
||||
|
|
@ -39,7 +39,9 @@
|
|||
</li>
|
||||
<% end %>
|
||||
<li><a href="<%= collaborators_shixun_path(@shixun) %>" class="<%= params[:action] == "collaborators" ? "active" : "" %>">合作者</a></li>
|
||||
<li><a href="<%= statistics_students_shixun_path(@shixun) %>"class="<%= params[:action] == "statistics_students" ? "active" : "" %>">学员统计</a></li>
|
||||
<% if @shixun.shixun_status == "已发布" %>
|
||||
<li><a href="<%= statistics_students_shixun_path(@shixun) %>"class="<%= params[:action] == "statistics_students" ? "active" : "" %>">学员统计</a></li>
|
||||
<% end %>
|
||||
<% if User.current.manager_of_shixun?(@shixun) %>
|
||||
<li><a href="<%= settings_shixun_path(@shixun) %>" class="<%= params[:action] == "settings" ? "active" : "" %>">配置</a></li>
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@
|
|||
<%= link_to @course.name, course_path(@course), :title => "班级" %> > <%= link_to "讨论区列表", course_boards_path(@course) %>
|
||||
</p>
|
||||
|
||||
<div class="edu-con-top">
|
||||
<div class="edu-con-top box_bg_shandow bor-grey-e">
|
||||
<p class="ml15 color-grey">编辑帖子</p>
|
||||
</div>
|
||||
|
||||
<div class="panel-content-box clearfix mt15">
|
||||
<div class="panel-content-box clearfix mt15 box_bg_shandow bor-grey-e">
|
||||
<%= form_for @message, :url => update_board_message_path(@message.board_id, @message), :html => {:id => 'message-form'} do |f| %>
|
||||
<%= render :partial => "form_course", :locals => {:f => f} %>
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -7,14 +7,14 @@
|
|||
<div class="task_popup_con">
|
||||
<div class="newupload_conbox clearfix">
|
||||
<%= form_tag url_for(shixun_members_added_shixun_path(@shixun)), :remote => true, :method => :post, :id => 'add_collaborators_form' do |f| %>
|
||||
<div class="left fl" style="width:530px;">
|
||||
<div class="mb10 edu-position" style="width:530px;">
|
||||
<div class="left fl" style="width:560px;">
|
||||
<div class="mb10 edu-position" style="width:560px;">
|
||||
<input type="hidden" value="<%= @shixun.identifier %>" id="shixun_collaborators_id">
|
||||
<input class="task-form-100 task-height-40 panel-box-sizing" id="search_not_collaborators" placeholder="输入用户的真实姓名进行搜索" type="text">
|
||||
<a href="javascript:void(0);" class="edu-btn-search font-16 color-grey mt5"><i class="fa fa-search"></i></a>
|
||||
</div>
|
||||
<div class="clearfix mb15">
|
||||
<ul class="upload_select_box fl" style="overflow-y:auto;width:510px;" id="search_not_teachers_list">
|
||||
<ul class="upload_select_box fl" style="overflow-y:auto;width:540px;" id="search_not_teachers_list">
|
||||
<%#= render :partial => 'courses/settings/search_not_teachers_list' %>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -16,15 +16,14 @@
|
|||
<% @statistics.each do |statistics| %>
|
||||
<tr>
|
||||
<td class="" style="display: flex;align-items: center;justify-content: center;">
|
||||
<!--<img class="picture" src="/images/../images/bigdata/bigdata-logo.png" alt="头像" style="width:36px;height:36px;border-radius:18px;">-->
|
||||
<%= link_to image_tag(url_to_avatar(statistics.owner), :width => "36", :height => "36", :alt => "头像"), user_path(statistics.owner), :target => '_blank', :class => "", :style => "border-radius:18px;"%>
|
||||
<%= link_to image_tag(url_to_avatar(statistics.owner), :width => "36", :height => "36", :alt => "头像", :style => "border-radius:18px;padding-top:15px;"), user_path(statistics.owner), :target => '_blank', :class => ""%>
|
||||
</td>
|
||||
<td >
|
||||
<td style = "padding-left:50px;width:150px">
|
||||
<%= link_to statistics.owner.try(:show_name), user_path(statistics.owner), :class => "panel-table-name hide fl color-grey" %>
|
||||
</td>
|
||||
<td><%= format_time(statistics.created_at) %> 开启</td>
|
||||
<td>
|
||||
<div style="padding:10px 0;background:#fff;" class="fl mt5">
|
||||
<td style = "padding-left:100px;width:550px">
|
||||
<div style="padding:10px 0;" class="fl mt5">
|
||||
<div class="panel-slider-bg ">
|
||||
<span class="panel-slider-inner03 " style = "width:<%= statistics.current_stage*100.to_f / statistics.games.count %>%"></span>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<div class="edu-class-container">
|
||||
<p class="mb10"><i class="fa fa-map-marker mr5 color-grey"></i><a href="<%= course_path(@course) %>"><%= @course.name %></a> > <a href="<%= homework_common_index_path(:course => @course.id, :homework_type => @homework.homework_type) %>"><%= @homework.homework_type_ch %>作业</a> >
|
||||
<%#= link_to get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1, student_work_index_path(:homework => @homework.id) %>
|
||||
<a href="<%= student_work_index_path(:homework => @homework.id) %>">#<%= get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1 %></a>
|
||||
<a href="<%= student_work_index_path(:homework => @homework.id) %>">#<%= get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1 %></a> >
|
||||
<% if @is_teacher || @work.user == User.current || (@homework.homework_detail_manual.comment_status != 3 && @homework.homework_detail_manual.comment_status != 4) %>
|
||||
<%= link_to @work.user.try(:show_real_name), user_path(@work.user) %>
|
||||
<% else %>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<a href="<%= user_fanslist_user_path(@user) %>" class="font-16 tab_type" id="user_fans_count"><%= str %>的粉丝 <%= @user_fanlist_count %></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="edu-tab-con-1" class="box_bg_shandow">
|
||||
<div id="edu-tab-con-1" class="box_bg_shandow" style = "padding-top:18px;">
|
||||
<div class="clearfix " id="user_fans_list">
|
||||
<%= render :partial => "user_watcher_or_fans_list", :locals => {:users => @user_fanlist, :user_count => @user_fanlist_count, :user_pages => @fans_pages} %>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<a href="<%= user_fanslist_user_path(@user) %>" class="font-16 tab_type" id="user_fans_count"><%= str %>的粉丝 <%= @user_fanlist_count %></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div id="edu-tab-con-1" class="box_bg_shandow mh650">
|
||||
<div id="edu-tab-con-1" class="box_bg_shandow mh650" style = "padding-top:18px;">
|
||||
<div class="clearfix" id="user_watch_list">
|
||||
<%= render :partial => "user_watcher_or_fans_list", :locals => {:users => @user_watchlist, :user_count => @user_watchlist_count, :user_pages => @watchlist_pages} %>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1767,6 +1767,7 @@ RedmineApp::Application.routes.draw do
|
|||
post 'choose_course_group'
|
||||
match 'update_position', :via => [:get, :post]
|
||||
post 'delete_course_students'
|
||||
get 'shixun_statistics'
|
||||
end
|
||||
collection do
|
||||
match 'join_private_courses', :via => [:get, :post]
|
||||
|
|
|
|||
|
|
@ -328,7 +328,7 @@ html>body #ajax-indicator { position: fixed; }
|
|||
background-image: url(/images/loading.gif);
|
||||
padding-left: 26px;
|
||||
vertical-align: bottom;
|
||||
z-index:999;
|
||||
z-index:100000;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@
|
|||
.task-popup-warp{ width: 100%; height:100%; background:black; position:fixed;}
|
||||
.task-popup-box{ position: relative; margin:150px auto 0px; }
|
||||
.task-box1{ width:428px; height:420px;background:url(/images/task/task-success.png) 0px 0px no-repeat;}
|
||||
.task-box2{ width:496px; height:373px;position: relative;}/*background:url(/images/task/task-success02.png) 0px 50px no-repeat;*/
|
||||
.task-box2{ width:496px; height:373px;background:url(/images/task/task-success02.png) 0px 50px no-repeat;}
|
||||
a.task-popup-close{ display: block; background:url(/images/task/task-close.png) 0px 0px no-repeat; width: 31px; height: 31px; position:absolute; right:5px; top:100px;}
|
||||
a:hover.task-popup-close{background:url(/images/task/task-close.png) -40px 0px no-repeat; }
|
||||
.task-su-con{ text-align: center; padding-top:285px;}
|
||||
.task-su-p{ font-size: 20px; color:#ee4a1f; font-weight: bold;}
|
||||
a.task-su-btn{display: block;background:url(/images/task/task-su-btn-jie.png) 0px -64px no-repeat; width: 138px; height: 53px;color:#ee4a1f; line-height: 50px; text-align: center; font-size: 16px; margin:20px auto;}
|
||||
a:hover.task-su-btn{background:url(/images/task/task-su-btn-jie.png) 0px 0px no-repeat;height: 53px;}
|
||||
a.task-su-btn{display: block;background:url(/images/task/task-su-btn.png) 0px -64px no-repeat; width: 138px; height: 57px;color:#ee4a1f; line-height: 50px; text-align: center; font-size: 16px; margin:20px auto;}
|
||||
a:hover.task-su-btn{background:url(/images/task/task-su-btn.png) 0px 0px no-repeat; }
|
||||
a.task-su-btn-white{ display: inline-block; padding:8px 25px; border:1px solid #fff; color:#fff; text-align: center; border-radius:5px; font-size:14px;}
|
||||
a:hover.task-su-btn-white{ color: #ee4a1f; border:1px solid #ee4a1f; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue