实训配置

dev_aliyun_beta
SylorHuang 6 years ago
parent 3f9e7f5916
commit 9a5d066ae5

@ -1,17 +1,3 @@
$(document).on('turbolinks:load', function() {
$(".tags-selected_multi").each(function () {
$(this).select2({
multiple: true,
maximumSelectionLength: 3,
// // width: 300,
placeholder: '请选择技术平台',
allowClear: true
})
})
});
function update_change(target) {
var s_id = $(target).attr("data-id");
var s_value = $(target).val();
@ -30,3 +16,20 @@ function update_change(target) {
}
})
}
function select_change(target) {
var s_value = $(target).val();
var s_name = $(target).attr("name");
var json = {};
json[s_name] = s_value;
$.ajax({
url: "/admins/shixun_settings/",
type: "GET",
dataType:'script',
data: json,
success: function (data) {
}
})
}

@ -0,0 +1,9 @@
input[type="checkbox"]{
font-size:18px;
}
.select2 input::-webkit-input-placeholder{
color:#ccc;
}
.select2 .select2-selection__choice{
border: 1px solid #eee !important;
}

@ -3,6 +3,7 @@ class Admins::ShixunSettingsController < Admins::BaseController
def index
params[:sort_by] = params[:sort_by].presence || 'created_on'
params[:sort_direction] = params[:sort_direction].presence || 'desc'
shixun_settings = Admins::ShixunSettingsQuery.call(params)
@editing_shixuns = shixun_settings.where(status:0).size
@pending_shixuns = shixun_settings.where(status:1).size
@ -18,7 +19,7 @@ class Admins::ShixunSettingsController < Admins::BaseController
format.html
format.xls{
filename = "实训详情_#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}.xls"
send_data(shixun_list_xls(@shixun_settings), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
send_data(shixun_list_xls(shixun_settings), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
}
end
end
@ -27,8 +28,16 @@ class Admins::ShixunSettingsController < Admins::BaseController
@shixun = Shixun.find_by(id:params[:id])
@page_no = params[:page_no] || "1"
@shixun_tags = TagRepertoire.order("name asc").select(:id,:name).pluck(:name,:id)
if @shixun.update_attributes(setting_params)
tag_ids = params[:tag_repertoires]
if tag_ids.present?
@shixun&.shixun_tag_repertoires.delete_all
tag_repertoire_ids = @shixun&.tag_repertoires&.pluck(:id)
tag_ids.each do |id|
unless tag_repertoire_ids.include?(id)
tag_repertoire = @shixun.shixun_tag_repertoires.new(shixun_id:@shixun.id,tag_repertoire_id:id)
tag_repertoire.save
end
end
respond_to do |format|
format.js
format.json{
@ -36,9 +45,19 @@ class Admins::ShixunSettingsController < Admins::BaseController
}
end
else
redirect_to admins_shixun_settings_path
flash[:danger] = "更新失败"
if @shixun.update_attributes(setting_params)
respond_to do |format|
format.js
format.json{
render json: {status: 0}
}
end
else
redirect_to admins_shixun_settings_path
flash[:danger] = "更新失败"
end
end
end
private
@ -76,6 +95,6 @@ class Admins::ShixunSettingsController < Admins::BaseController
end
def setting_params
params.permit(:use_scope,:close,:status,:can_copy,:webssh,:hidden,:homepage_show,:task_pass,:code_hidden,:id,:tag_repertoires[])
params.permit(:use_scope,:excute_time,:close,:status,:can_copy,:webssh,:hidden,:homepage_show,:task_pass,:code_hidden,:id,tag_repertoires:[])
end
end

@ -17,7 +17,7 @@ class Admins::ShixunsController < Admins::BaseController
format.html
format.xls{
filename = "实训详情_#{Time.now.strftime('%Y-%m-%d %H:%M:%S')}.xls"
send_data(shixun_list_xls(@shixuns), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
send_data(shixun_list_xls(shixuns), :type => 'application/octet-stream', :filename => filename_for_content_disposition(filename))
}
end
end

@ -42,12 +42,12 @@ class Admins::ShixunSettingsQuery < ApplicationQuery
end
end
all_shixuns = all_shixuns.where(:can_copy => params[:can_copy].to_i) if params[:can_copy]
all_shixuns = all_shixuns.where(:webssh => params[:webssh].to_i) if params[:webssh]
all_shixuns = all_shixuns.where(:hidden => params[:hidden].to_i) if params[:hidden]
all_shixuns = all_shixuns.where(:homepage_show => params[:homepage_show].to_i) if params[:homepage_show]
all_shixuns = all_shixuns.where(:task_pass => params[:task_pass].to_i) if params[:task_pass]
all_shixuns = all_shixuns.where(:code_hidden => params[:code_hidden].to_i) if params[:code_hidden]
all_shixuns = all_shixuns.where(can_copy: params[:can_copy]) if params[:can_copy]
all_shixuns = all_shixuns.where(webssh: params[:webssh]) if params[:webssh]
all_shixuns = all_shixuns.where(hidden: params[:hidden]) if params[:hidden]
all_shixuns = all_shixuns.where(homepage_show: params[:homepage_show]) if params[:homepage_show]
all_shixuns = all_shixuns.where(task_pass: params[:task_pass]) if params[:task_pass]
all_shixuns = all_shixuns.where(code_hidden: params[:code_hidden]) if params[:code_hidden]
custom_sort(all_shixuns, params[:sort_by], params[:sort_direction])
end

@ -31,37 +31,37 @@
<div class="d-flex mt-3">
<div class="mr-5">
<label for="can_copy">
<%= check_box_tag :can_copy,"1",false,onclick: "this.form.submit()"%>
<%= check_box_tag :can_copy,true,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看可复制</span>
</label>
</div>
<div class="mr-5">
<label for="webssh">
<%= check_box_tag :webssh,"1",false,onchange: "this.form.submit()"%>
<%= check_box_tag :webssh,1,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看可ssh</span>
</label>
</div>
<div class="mr-5">
<label for="hidden">
<%= check_box_tag :hidden,"1",false,onchange: "this.form.submit()"%>
<%= check_box_tag :hidden,true,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看已隐藏</span>
</label>
</div>
<div class="mr-5">
<label for="homepage_show">
<%= check_box_tag :homepage_show,"1",false,onchange: "this.form.submit()"%>
<%= check_box_tag :homepage_show,true,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看首页显示</span>
</label>
</div>
<div class="mr-5">
<label for="task_pass">
<%= check_box_tag :task_pass,"1",false,onchange: "this.form.submit()"%>
<%= check_box_tag :task_pass,true,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看可跳关</span>
</label>
</div>
<div class="mr-5">
<label for="code_hidden">
<%= check_box_tag :code_hidden,"1",false,onchange: "this.form.submit()"%>
<%= check_box_tag :code_hidden,true,false,remote:true,onchange:"select_change(this)" %>
<span class="only_view">只看已隐藏文件目录</span>
</label>
</div>
@ -71,6 +71,6 @@
</div>
<div class="box shixun-settings-list-container">
<%= render partial: 'admins/shixun_settings/shared/list', locals: { shixuns: @shixun_settings } %>
<%= render partial: 'admins/shixun_settings/shared/list', locals: { shixun_settings: @shixun_settings } %>
</div>

@ -1 +1 @@
$(".shixun-settings-list-container").html(<%= j render "admins/shixun_settings/shared/list",locals:{shixuns:@shixuns} %>)
$(".shixun-settings-list-container").html("<%= j render partial: "admins/shixun_settings/shared/list",locals: {shixun_settings:@shixun_settings} %>")

@ -5,20 +5,24 @@
<th width="12%" class="text-left">实训名称</th>
<th width="8%">技术平台</th>
<th width="8%">权限</th>
<th width="18%">技术体系</th>
<th width="16%">技术体系</th>
<th width="12%">上传图片</th>
<th width="5%">创建者</th>
<th width="4%">关闭</th>
<th width="5%">关闭</th>
<th width="4%">复制</th>
<th width="6%">代码执行时间</th>
<th>操作</th>
<th width="7%">代码执行时间</th>
<th>
操作
</th>
</thead>
<tbody>
<% shixuns.each_with_index do |shixun,index| %>
<% shixun_settings.each_with_index do |shixun,index| %>
<tr id="setting-item-<%= shixun.id %>">
<% page_no = (@params_page.to_i - 1) * 20 + index + 1 %>
<%= render partial: "admins/shixun_settings/shared/td",locals: {shixun: shixun,page_no:page_no} %>
</tr>
<% end %>
</tbody>
</table>
</table>
<%= render partial: 'admins/shared/paginate', locals: { objects: shixun_settings } %>

@ -2,7 +2,7 @@
<td><%= shixun.identifier %></td>
<td class="text-left">
<span>
<%= link_to overflow_hidden_span(shixun.name,width:230), "/shixuns/#{shixun.identifier}", :target => "_blank", :title => shixun.name %>
<%= link_to overflow_hidden_span(shixun.name,width:200), "/shixuns/#{shixun.identifier}", :target => "_blank", :title => shixun.name %>
</span>
</td>
<td>
@ -13,73 +13,46 @@
<%= select_tag(:use_scope, options_for_select(status_options,shixun.use_scope),class:"form-control shixun-setting-form",data:{id:shixun.id},onchange:"update_change(this)") %>
</td>
<td>
<%= select_tag(:tag_repertoires, options_for_select(@shixun_tags,shixun.is_tag_used?(tag.id)),multiple:true,class:"form-control tags-selected_multi",onchange: "update_change(this)") %>
<!-- 新版技术标签-->
<!-- <div class="fl pr ml30">-->
<!-- <input type="hidden" name="small_type" class="shixun_language" value="">-->
<!-- <input type="text" class="input-100-40 pr20 color-grey-3 font-14 pointer techInput" readonly value="<%#= shixun.shixun_tag_name.join(";") %>" placeholder="请选择技术体系"/>-->
<!-- <input class="search" contenteditable="true" style=" display: none; max-width: 70px;-->
<!-- position: absolute;-->
<!-- min-width: 40px;-->
<!-- height: 96%;-->
<!-- left: 180px;-->
<!-- top: 0px;-->
<!-- padding: 0 4px;-->
<!-- width: fit-content;-->
<!-- background: #fff;-->
<!-- line-height: 40px;-->
<!-- border: 1px solid rgb(234, 234, 234);"></input>-->
<!-- <div class="down-select shixun_small_language_option" style="padding: 2px 0px">-->
<%# @shixun_tags.each do |tag| %>
<!-- <p data-shixun-value="<%#= index + 1 %><%= tag.name %>_<%#= tag.id %>">-->
<!-- <input name="select<%#= index %>" data-value="<%#= tag.id %>" <%#= shixun.is_tag_used?(tag.id) ? "checked" : "" %> data-shixun="<%#= shixun.id %>" type="checkbox" class="select<%#= count %> magic-checkbox" id="<%#= count %>_<%#= tag.name %>_<%#= tag.id %>" value="<%#= tag.name %>"/>-->
<!-- <label style="top:0px" for="<%#= index %>_<%#= tag.name %>_<%#= tag.id %>" class="task-hide"><%#= tag.name %></label>-->
<!-- </p>-->
<%# end %>
<!-- </div>-->
<!-- </div>-->
<%= select_tag(:tag_repertoires, options_for_select(@shixun_tags,shixun.tag_repertoires.pluck(:id)),multiple:true,class:"form-control tags-selected_multi",data:{id:shixun.id},onchange: "update_change(this)",id:"tags-chosen-#{shixun.id}") %>
</td>
<td>
<!-- 图片上传,稍后添加-->
<a href="javascript:void(0);" id="object_upload_img_<%= shixun.id %>" onclick="$('#upload_img_<%= shixun.id %>').click();">
<%= File.exist?(disk_filename("Shixun",shixun.id)) ? "重新上传" : "上传图片" %>
</a>
<% if File.exist?(disk_filename("Shixun",shixun.id)) %>
<%= image_tag(url_to_avatar(shixun), :class => "w80 h80 fl ml5 shixun_image_show", :id => "shixun_image_show_#{shixun.id}") %>
<% else %>
<img src="" class="w80 h80 fl ml5 shixun_image_show none" id="shixun_image_show_<%= shixun.id %>"/>
<% end %>
</td>
<td><%= link_to shixun.owner.try(:show_real_name),user_path(shixun.user_id),target:'_blank' %></td>
<td><%= link_to shixun.owner.try(:show_real_name),"/users/#{shixun.owner.login}",target:'_blank' %></td>
<td>
<% if shixun.status == 2 %>
<%= link_to "关闭", "###", :class => "", :remote => true %>
<% if shixun.status.to_i < 3 %>
<%= link_to "关闭", admins_shixun_setting_path(shixun,status:3,page_no:page_no),method: :put, :class => "", :remote => true %>
<% else %>
<a href="javascript:void(0)">关闭</a>
<span>已关闭</span>
<% end %>
</td>
<td class="operate">
<input type="checkbox" <%= shixun.can_copy ? 'checked' : "" %> name="can_copy" value="<%= shixun.id %>" id="can_copy_<%= shixun.id %>" class="ml5 mr5 magic-checkbox" >
<label style="top:-15px;" class="color-grey" for="can_copy_<%= shixun.id %>"></label>
<td>
<%= check_box_tag :can_copy,!shixun.can_copy,shixun.can_copy,remote:true,data:{id:shixun.id},onchange:"update_change(this)" %>
</td>
<td class="operate">
<input name="excute_time" value="<%= shixun.excute_time %>" class="input-100-35 ml5 mr5 excute_time">
<div class="undis"><%= shixun.id %></div>
<td>
<input name="excute_time" value="<%= shixun.excute_time %>" class="form-control" data-id="<%= shixun.id %>" onchange="update_change(this)">
</td>
<td class="operate">
<span class="fl ml5 shixun_webssh">
<input type="checkbox" <%= shixun.webssh == 1 ? 'checked' : "" %> value="0" id="join_course_role_<%= shixun.id %>" class="ml-3 mr5 magic-checkbox">
<label style="top:0px;padding-left: 19px;" for="join_course_role_<%= shixun.id %>">ssh</label>
<div class="undis"><%= shixun.id %></div>
</span>
<span class="fl ml5 shixun_hidden">
<input type="checkbox" <%= shixun.hidden ? 'checked' : "" %> value="0" id="shixun_hidden_<%= shixun.id %>" name="hidden" class="ml-3 mr5 magic-checkbox">
<label style="top:0px;padding-left: 19px;" for="shixun_hidden_<%= shixun.id %>">隐藏</label>
<div class="undis"><%= shixun.id %></div>
</span>
<span class="fl ml5 homepage_show">
<input type="checkbox" name="homepage_show_cell" <%= shixun.status == 2 ? "" : "disabled" %> value="<%= shixun.id %>" <%= shixun.homepage_show ? "checked" : "" %> class="ml-3 mr5 magic-checkbox" id="homepage_show_<%= shixun.id %>">
<label style="top:0px;padding-left: 19px;" for="homepage_show_<%= shixun.id %>">首页</label>
</span>
<span class="fl ml5 shixun_pass">
<input type="checkbox" name="shixun_pass_cell" value="<%= shixun.id %>" <%= shixun.task_pass ? "checked" : "" %> class="ml-3 mr5 magic-checkbox" id="shixun_pass_<%= shixun.id %>">
<label style="top:0px;padding-left: 19px;" for="shixun_pass_<%= shixun.id %>">跳关</label>
</span>
<span class="fl ml5 shixun_file">
<input type="checkbox" name="shixun_file_cell" value="<%= shixun.id %>" <%= shixun.code_hidden ? "checked" : "" %> class="ml-3 mr5 magic-checkbox" id="shixun_file_<%= shixun.id %>">
<label style="top:0px;padding-left: 19px;" for="shixun_file_<%= shixun.id %>">隐藏文件目录</label>
</span>
<%= check_box_tag :webssh,(shixun.webssh == 1 ? 0 : 1),(shixun.webssh == 1 ? true : false),remote:true,data:{id:shixun.id,toggle:"tooltip",placement:"top"},onchange:"update_change(this)",title:"ssh" %>
<%= check_box_tag :hidden,!shixun.hidden,shixun.hidden,remote:true,data:{id:shixun.id,toggle:"tooltip",placement:"top"},onchange:"update_change(this)" ,title:"隐藏"%>
<%= check_box_tag :homepage_show,!shixun.homepage_show,shixun.homepage_show,remote:true,data:{id:shixun.id,toggle:"tooltip",placement:"top"},onchange:"update_change(this)",title:"首页" %>
<%= check_box_tag :task_pass,!shixun.task_pass,shixun.task_pass,remote:true,data:{id:shixun.id,toggle:"tooltip",placement:"top"},onchange:"update_change(this)" ,title:"跳关"%>
<%= check_box_tag :code_hidden,!shixun.code_hidden,shixun.code_hidden,remote:true,data:{id:shixun.id,toggle:"tooltip",placement:"top"},onchange:"update_change(this)" ,title:"隐藏文件目录"%>
</td>
<script>
$("#tags-chosen-<%= shixun.id %>").select2({
multiple: true,
maximumSelectionLength: 3,
placeholder: '请选择技术体系'});
</script>

@ -51,11 +51,11 @@ if question.question_type <= 2 #当为选择题或判断题时,只显示选
standard_text = standard_answers_array.first.to_i == 1 ? "正确" : "错误"
else
if question.question_type == 1 && standard_answers_array.size == 1
standard_answers_array = standard_answers_array.first.split("")
standard_answers_array = standard_answers_array.first.to_s.split("")
end
array_text_answer = []
standard_answers_array.each{|a| array_text_answer.push((a+64).chr)}
standard_answers_array.each{|a| array_text_answer.push((a.to_i+64).chr)}
standard_text = array_text_answer.join("")
end
json.standard_answer_show standard_text

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save