|
|
@ -1,6 +1,11 @@
|
|
|
|
<style>
|
|
|
|
<style>
|
|
|
|
.down-select .magic-radio + label:before, .down-select .magic-checkbox + label:before {top: 10px !important;}
|
|
|
|
.down-select .magic-radio + label:before, .down-select .magic-checkbox + label:before {
|
|
|
|
.down-select .magic-checkbox + label:after {top: 10px !important}
|
|
|
|
top: 10px !important;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.down-select .magic-checkbox + label:after {
|
|
|
|
|
|
|
|
top: 10px !important
|
|
|
|
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
<div class="educontent mt30 mb80">
|
|
|
|
<div class="educontent mt30 mb80">
|
|
|
|
<%= form_for(@shixun) do |f| %>
|
|
|
|
<%= form_for(@shixun) do |f| %>
|
|
|
@ -53,7 +58,7 @@
|
|
|
|
<input type="text" class="input-100-40 pr20 color-grey-3 font-14 pointer" id="tech_platform_list" readonly value="<%= @shixun.shixun_main_name %>" placeholder="请选择主类别"/>
|
|
|
|
<input type="text" class="input-100-40 pr20 color-grey-3 font-14 pointer" id="tech_platform_list" readonly value="<%= @shixun.shixun_main_name %>" placeholder="请选择主类别"/>
|
|
|
|
<div class="down-select" id="shixun_language_option">
|
|
|
|
<div class="down-select" id="shixun_language_option">
|
|
|
|
<% @main_type.try(:each) do |type| %>
|
|
|
|
<% @main_type.try(:each) do |type| %>
|
|
|
|
<p data-shixun-value="<%= type.id %>" title="<%= type.description.blank? ? "无描述" : type.description %>"><%= type.type_name %></p>
|
|
|
|
<p data-shixun-value="<%= type.id %>" title="<%= type.description.blank? ? "无描述" : type.description %>"><%= type.type_name %></p>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -65,10 +70,10 @@
|
|
|
|
<input type="text" class="input-100-40 pr20 color-grey-3 font-14 pointer" readonly value="<%= @shixun.shixun_child_name %>" placeholder="请选择小类别"/>
|
|
|
|
<input type="text" class="input-100-40 pr20 color-grey-3 font-14 pointer" readonly value="<%= @shixun.shixun_child_name %>" placeholder="请选择小类别"/>
|
|
|
|
<div class="down-select" id="shixun_small_language_option" style="padding: 2px 0px">
|
|
|
|
<div class="down-select" id="shixun_small_language_option" style="padding: 2px 0px">
|
|
|
|
<% @small_type.try(:each) do |type| %>
|
|
|
|
<% @small_type.try(:each) do |type| %>
|
|
|
|
<p data-shixun-value="<%= type.id %>">
|
|
|
|
<p data-shixun-value="<%= type.id %>">
|
|
|
|
<input type="checkbox" class="magic-checkbox" id="mirror_<%= type.id %>" value="<%= type.type_name %>"/>
|
|
|
|
<input type="checkbox" class="magic-checkbox" id="mirror_<%= type.id %>" value="<%= type.type_name %>"/>
|
|
|
|
<label style="top:0px" for="mirror_<%= type.id %>"><%= type.type_name %></label>
|
|
|
|
<label style="top:0px" for="mirror_<%= type.id %>"><%= type.type_name %></label>
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -85,16 +90,16 @@
|
|
|
|
<div class="clearfix">
|
|
|
|
<div class="clearfix">
|
|
|
|
<div class="with15 pr fl" <%= @power ? "select-for" : "" %>>
|
|
|
|
<div class="with15 pr fl" <%= @power ? "select-for" : "" %>>
|
|
|
|
<input type="hidden" name="mirror_script" id="shixun_scenario" value="<%= @shixun.script_tag.try(:id) %>">
|
|
|
|
<input type="hidden" name="mirror_script" id="shixun_scenario" value="<%= @shixun.script_tag.try(:id) %>">
|
|
|
|
<input type="text" id="shixun_scenario_name" class="task-height-40 task-form-100 panel-box-sizing pr20 color-grey3 font-14" readonly placeholder="请选择脚本" value="<%= @shixun.script_tag.try(:script_type) ? @shixun.script_tag.try(:script_type) : "无" %>"/>
|
|
|
|
<input type="text" id="shixun_scenario_name" class="task-height-40 task-form-100 panel-box-sizing pr20 color-grey3 font-14" readonly placeholder="请选择脚本" value="<%= @shixun.script_tag.try(:script_type) ? @shixun.script_tag.try(:script_type) : "无" %>"/>
|
|
|
|
<div class="down-select bor-grey-e user_bg_shadow" id="shixun_scenario_option">
|
|
|
|
<div class="down-select bor-grey-e user_bg_shadow" id="shixun_scenario_option">
|
|
|
|
<p data-shixun-value="-1" title="无">无</p>
|
|
|
|
<p data-shixun-value="-1" title="无">无</p>
|
|
|
|
<% @shixun.standrad_script.each do |script| %>
|
|
|
|
<% @shixun.standrad_script.each do |script| %>
|
|
|
|
<p data-shixun-value="<%= script.id %>" title="<%= script.script_type %>"><%= script.script_type %></p>
|
|
|
|
<p data-shixun-value="<%= script.id %>" title="<%= script.script_type %>"><%= script.script_type %></p>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<% if @power %>
|
|
|
|
<% if @power %>
|
|
|
|
<a href="javascript:void(0)" onclick="define_temp();" id="define_template" class="color-orange-tip mt7 ml20 fl">使用自定义脚本</a>
|
|
|
|
<a href="javascript:void(0)" onclick="define_temp();" id="define_template" class="color-orange-tip mt7 ml20 fl">使用自定义脚本</a>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<div class="cl"></div>
|
|
|
|
<p class="clearfix mt10" id="script_description"><%= @shixun.script_tag.try(:description) %></p>
|
|
|
|
<p class="clearfix mt10" id="script_description"><%= @shixun.script_tag.try(:description) %></p>
|
|
|
@ -138,42 +143,42 @@
|
|
|
|
其它参数可按实际需求定制
|
|
|
|
其它参数可按实际需求定制
|
|
|
|
</p>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<p class="inviteTipbtn with100 fl"><a href="javascript:void(0);" onclick="$('#test_script_tip').hide();">知道了</a></p>
|
|
|
|
<p class="inviteTipbtn with100 fl">
|
|
|
|
|
|
|
|
<a href="javascript:void(0);" onclick="$('#test_script_tip').hide();">知道了</a></p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="mb10 edu-back-white padding40-20">
|
|
|
|
<div class="mb10 edu-back-white padding40-20">
|
|
|
|
<div class="clearfix mb20">
|
|
|
|
<div class="clearfix mb20">
|
|
|
|
<p class="color-grey-6 font-16 mb30 fl">发布信息</p>
|
|
|
|
<p class="color-grey-6 font-16 mb30 fl">发布信息</p>
|
|
|
|
<div class="clearfix">
|
|
|
|
<div class="clearfix">
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;"><span class="color-orange fl mr5 mt3">*</span>面向学员:</span>
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;"><span class="color-orange fl mr5 mt3">*</span>面向学员:</span>
|
|
|
|
<div class="with15 fl pr" select-for>
|
|
|
|
<div class="with15 fl pr" select-for>
|
|
|
|
<input type="hidden" name="trainee" id="shixun_trainee" value="<%= @shixun.trainee %>">
|
|
|
|
<input type="hidden" name="trainee" id="shixun_trainee" value="<%= @shixun.trainee %>">
|
|
|
|
<input type="text" class="task-height-40 task-form-100 panel-box-sizing pr20 color-grey3 font-14" placeholder="面向学员" readonly value="<%= @shixun.shixun_trainee %>"/>
|
|
|
|
<input type="text" class="task-height-40 task-form-100 panel-box-sizing pr20 color-grey3 font-14" placeholder="面向学员" readonly value="<%= @shixun.shixun_trainee %>"/>
|
|
|
|
<div class="down-select bor-grey-e user_bg_shadow" id="shixun_trainee_option">
|
|
|
|
<div class="down-select bor-grey-e user_bg_shadow" id="shixun_trainee_option">
|
|
|
|
<p data-shixun-value="1">初级学员</p>
|
|
|
|
<p data-shixun-value="1">初级学员</p>
|
|
|
|
<p data-shixun-value="2">中级学员</p>
|
|
|
|
<p data-shixun-value="2">中级学员</p>
|
|
|
|
<p data-shixun-value="3">高级学员</p>
|
|
|
|
<p data-shixun-value="3">高级学员</p>
|
|
|
|
<p data-shixun-value="3">顶级学员</p>
|
|
|
|
<p data-shixun-value="3">顶级学员</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<span class="fl ml10 mt6 color-grey">标签,不限定用户群体</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<span class="fl ml10 mt6 color-grey">标签,不限定用户群体</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">复制:</span>
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">复制:</span>
|
|
|
|
<span class="fl">
|
|
|
|
<span class="fl">
|
|
|
|
<input type="checkbox" <%= @shixun.can_copy ? 'checked' : "" %> name="can_copy" value="<%= @shixun.can_copy ? 1 : 0 %>" id="can_copy" class="ml5 mr5 magic-checkbox">
|
|
|
|
<input type="checkbox" <%= @shixun.can_copy ? 'checked' : "" %> name="can_copy" value="<%= @shixun.can_copy ? 1 : 0 %>" id="can_copy" class="ml5 mr5 magic-checkbox">
|
|
|
|
<label style="top:6px" class="color-grey-6" for="can_copy">勾选则平台所有已职业认证的教师可以复制</label>
|
|
|
|
<label style="top:6px" class="color-grey-6" for="can_copy">勾选则平台所有已职业认证的教师可以复制</label>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">跳关:</span>
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">跳关:</span>
|
|
|
|
<span class="fl">
|
|
|
|
<span class="fl">
|
|
|
|
<input type="checkbox" <%= @shixun.task_pass ? 'checked' : "" %> name="task_pass" value="<%= @shixun.task_pass ? 1 : 0 %>" id="task_pass" class="ml5 mr5 magic-checkbox">
|
|
|
|
<input type="checkbox" <%= @shixun.task_pass ? 'checked' : "" %> name="task_pass" value="<%= @shixun.task_pass ? 1 : 0 %>" id="task_pass" class="ml5 mr5 magic-checkbox">
|
|
|
|
<label style="top:6px" class="color-grey-6" for="task_pass">勾选则允许学员跳关挑战实训</label>
|
|
|
|
<label style="top:6px" class="color-grey-6" for="task_pass">勾选则允许学员跳关挑战实训</label>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
@ -197,7 +202,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">代码目录隐藏:</span>
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">代码目录隐藏:</span>
|
|
|
|
<span class="fl">
|
|
|
|
<span class="fl">
|
|
|
|
<input type="checkbox" <%= @shixun.code_hidden ? 'checked' : "" %> name="code_hidden" value="<%= @shixun.code_hidden ? 1 : 0 %>" id="code_hidden" class="ml5 mr5 magic-checkbox">
|
|
|
|
<input type="checkbox" <%= @shixun.code_hidden ? 'checked' : "" %> name="code_hidden" value="<%= @shixun.code_hidden ? 1 : 0 %>" id="code_hidden" class="ml5 mr5 magic-checkbox">
|
|
|
|
<label style="top:6px" class="color-grey-6" for="code_hidden">勾选则对学员隐藏版本库目录</label>
|
|
|
|
<label style="top:6px" class="color-grey-6" for="code_hidden">勾选则对学员隐藏版本库目录</label>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
@ -212,13 +217,13 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<% if User.current.admin? %>
|
|
|
|
<% if User.current.admin? %>
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<div class="clearfix mt20">
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">VNC图形化:</span>
|
|
|
|
<span class="color-grey-6 mt5 fl" style="min-width: 95px;">VNC图形化:</span>
|
|
|
|
<span class="fl">
|
|
|
|
<span class="fl">
|
|
|
|
<input type="checkbox" <%= @shixun.vnc ? 'checked' : "" %> name="vnc" value="<%= @shixun.vnc ? 1 : 0 %>" id="vnc" class="ml5 mr5 magic-checkbox">
|
|
|
|
<input type="checkbox" <%= @shixun.vnc ? 'checked' : "" %> name="vnc" value="<%= @shixun.vnc ? 1 : 0 %>" id="vnc" class="ml5 mr5 magic-checkbox">
|
|
|
|
<label style="top:6px" class="color-grey-6" for="vnc">勾选则给学员的实践任务提供Ubuntu系统图形化实践窗口,否则不提供</label>
|
|
|
|
<label style="top:6px" class="color-grey-6" for="vnc">勾选则给学员的实践任务提供Ubuntu系统图形化实践窗口,否则不提供</label>
|
|
|
|
</span>
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
@ -227,7 +232,7 @@
|
|
|
|
<div class="df">
|
|
|
|
<div class="df">
|
|
|
|
<span class="mr30 color-orange pt10">*</span>
|
|
|
|
<span class="mr30 color-orange pt10">*</span>
|
|
|
|
<div class="flex1 mr20">
|
|
|
|
<div class="flex1 mr20">
|
|
|
|
<%= f.text_field :exec_time, :class => "fl input-48-45 width20 greyInput", :placeholder => "请输入程序执行时间" %>
|
|
|
|
<%= f.text_field :exec_time, :class => "fl input-48-45 width20 greyInput", :placeholder => "请输入程序执行时间" %>
|
|
|
|
<span class="fl ml10 mt6 color-grey">秒</span>
|
|
|
|
<span class="fl ml10 mt6 color-grey">秒</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div style="width: 57px;">
|
|
|
|
<div style="width: 57px;">
|
|
|
@ -282,290 +287,342 @@
|
|
|
|
<%= render_shixun_departments %>
|
|
|
|
<%= render_shixun_departments %>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<a class="edu-default-btn edu-blueline-btn fl mt1" href="javascript:void(0)" onclick="$('#person-unit').show();$('#person-unit').find('input').val('');$('#scope-down-list').hide();">+ 添加</a>
|
|
|
|
<a class="edu-default-btn edu-blueline-btn fl mt1" href="javascript:void(0)" onclick="$('#person-unit').show();$('#person-unit').find('input').val('');$('#scope-down-list').hide();">+
|
|
|
|
|
|
|
|
添加</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<span class="color-orange ml20 fl none" id="public_unit_notice"><i class="fa fa-exclamation-circle mr3"></i>请选择需要公开的单位</span>
|
|
|
|
<span class="color-orange ml20 fl none" id="public_unit_notice"><i class="fa fa-exclamation-circle mr3"></i>请选择需要公开的单位</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<% if User.current.admin? || User.cuurent.business? %>
|
|
|
|
|
|
|
|
<div class="edu-back-white padding40-20 mb20">
|
|
|
|
|
|
|
|
<p class="color-grey-6 font-16 mb30">服务配置</p>
|
|
|
|
|
|
|
|
<% @shixun.shixun_service_configs.each do |config| %>
|
|
|
|
|
|
|
|
<p class="color-grey-6 font-16 mt30"><%= config.mirror_repository.try(:type_name) %></p>
|
|
|
|
|
|
|
|
<input type="hidden" name="mirror_id[]" value="<%= config.mirror_repository.try(:id) %>'">
|
|
|
|
|
|
|
|
<div class="clearfix mb5">
|
|
|
|
|
|
|
|
<label class="panel-form-label fl">CPU(核):</label>
|
|
|
|
|
|
|
|
<div class="pr fl with80 status_con">
|
|
|
|
|
|
|
|
<input type="text" name="cpu_limit[]" value="<%= config.cpu_limit %>" class="panel-box-sizing task-form-100 task-height-40"
|
|
|
|
|
|
|
|
placeholder="请输入类别名称"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix mb5">
|
|
|
|
|
|
|
|
<label class="panel-form-label fl">最低CPU(核):</label>
|
|
|
|
|
|
|
|
<div class="pr fl with80 status_con">
|
|
|
|
|
|
|
|
<input type="text" name="lower_cpu_limit[]" value="<%= config.lower_cpu_limit %>" class="panel-box-sizing task-form-100 task-height-40"
|
|
|
|
|
|
|
|
placeholder="请输入类别名称"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix mb5">
|
|
|
|
|
|
|
|
<label class="panel-form-label fl">内存限制(M):</label>
|
|
|
|
|
|
|
|
<div class="pr fl with80 status_con">
|
|
|
|
|
|
|
|
<input type="text" name="memory_limit[]" value="<%= config.memory_limit %>" class="panel-box-sizing task-form-100 task-height-40"
|
|
|
|
|
|
|
|
placeholder="请输入类别名称"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="clearfix mb5">
|
|
|
|
|
|
|
|
<label class="panel-form-label fl">内存要求(M):</label>
|
|
|
|
|
|
|
|
<div class="pr fl with20 status_con">
|
|
|
|
|
|
|
|
<input type="text" name="request_limit[]" value="<%= config.request_limit %>" class="panel-box-sizing task-form-100 task-height-40"
|
|
|
|
|
|
|
|
placeholder="请输入类别名称"/>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<label class="panel-form-label fl" style="width: 48%">温馨提示:纯编程类型实训建议使用默认值,对于大数据等建议使用最大内存的30%</label>
|
|
|
|
|
|
|
|
<div class="cl"></div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<div class="clearfix mt30">
|
|
|
|
|
|
|
|
<a href="javascript:void(0)" class="defalutSubmitbtn fl mr20" onclick="submit_edit_shixun(<%= @shixun.id %>);">保存</a>
|
|
|
|
<!-- <div class="clearfix mb5">-->
|
|
|
|
<%= link_to "取消", settings_shixun_path(@shixun), :class => "defalutCancelbtn fl" %>
|
|
|
|
<!-- <label class="panel-form-label fl">磁盘限制(K):</label>-->
|
|
|
|
</div>
|
|
|
|
<!-- <div class="pr fl with80 status_con">-->
|
|
|
|
|
|
|
|
<!-- <input type="text" name="resource_limit[]" value="<%#= config.resource_limit %>" class="panel-box-sizing task-form-100 task-height-40"-->
|
|
|
|
|
|
|
|
<!-- placeholder="请输入类别名称"/>-->
|
|
|
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
|
|
|
<!-- <div class="cl"></div>-->
|
|
|
|
|
|
|
|
<!-- </div>-->
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<% end %>
|
|
|
|
|
|
|
|
<div class="clearfix mt30">
|
|
|
|
|
|
|
|
<a href="javascript:void(0)" class="defalutSubmitbtn fl mr20" onclick="submit_edit_shixun(<%= @shixun.id %>);">保存</a>
|
|
|
|
|
|
|
|
<%= link_to "取消", settings_shixun_path(@shixun), :class => "defalutCancelbtn fl" %>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<% end %>
|
|
|
|
<% end %>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
//配置-信息提交
|
|
|
|
//配置-信息提交
|
|
|
|
function submit_edit_shixun(id) {
|
|
|
|
function submit_edit_shixun(id) {
|
|
|
|
if (regex_shixun_name() && regex_public_unit() && regex_tech_platform()) {
|
|
|
|
if (regex_shixun_name() && regex_public_unit() && regex_tech_platform()) {
|
|
|
|
if(script_Codemirror.getValue().trim() == ""){
|
|
|
|
if (script_Codemirror.getValue().trim() == "") {
|
|
|
|
$("#test_script_code").show();
|
|
|
|
$("#test_script_code").show();
|
|
|
|
$(document).scrollTop(parseInt($("#test_script_code").offset().top)-150);
|
|
|
|
$(document).scrollTop(parseInt($("#test_script_code").offset().top) - 150);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
$("#test_script_code").hide();
|
|
|
|
$("#test_script_code").hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if($("#shixun_exec_time").val() == "")
|
|
|
|
if ($("#shixun_exec_time").val() == "")
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
$("#edit_shixun_" + id).submit();
|
|
|
|
$("#edit_shixun_" + id).submit();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function get_mirror_script(){
|
|
|
|
function get_mirror_script() {
|
|
|
|
$select.siblings("input[type=hidden]").attr("value", hideValue);
|
|
|
|
$select.siblings("input[type=hidden]").attr("value", hideValue);
|
|
|
|
$select.siblings("input[type=text]").attr("value", textValue);
|
|
|
|
$select.siblings("input[type=text]").attr("value", textValue);
|
|
|
|
$parent.hide();
|
|
|
|
$parent.hide();
|
|
|
|
var script_id = $("#shixun_scenario").val();
|
|
|
|
var script_id = $("#shixun_scenario").val();
|
|
|
|
$.ajax({
|
|
|
|
$.ajax({
|
|
|
|
url: "<%= get_script_contents_shixun_path(@shixun) %>",
|
|
|
|
url: "<%= get_script_contents_shixun_path(@shixun) %>",
|
|
|
|
data: {script_id: script_id},
|
|
|
|
data: {script_id: script_id},
|
|
|
|
success: function(data){
|
|
|
|
success: function (data) {
|
|
|
|
script_Codemirror.setValue(data.contents);
|
|
|
|
script_Codemirror.setValue(data.contents);
|
|
|
|
$("#script_description").html(data.description);
|
|
|
|
$("#script_description").html(data.description);
|
|
|
|
notice_box("评测脚本生成成功!");
|
|
|
|
notice_box("评测脚本生成成功!");
|
|
|
|
},
|
|
|
|
},
|
|
|
|
error: function(){
|
|
|
|
error: function () {
|
|
|
|
notice_box("获取脚本失败!")
|
|
|
|
notice_box("获取脚本失败!")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//自定义模板弹框
|
|
|
|
//自定义模板弹框
|
|
|
|
function define_temp(){
|
|
|
|
function define_temp() {
|
|
|
|
var html = "<%= j(render :partial => 'define_scenario') %>";
|
|
|
|
var html = "<%= j(render :partial => 'define_scenario') %>";
|
|
|
|
pop_box_new(html,400,400);
|
|
|
|
pop_box_new(html, 400, 400);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//下拉框
|
|
|
|
//下拉框
|
|
|
|
$("[select-for]").append("<i class='fa fa-sort-desc lesson_img color-grey-8'></i>");
|
|
|
|
$("[select-for]").append("<i class='fa fa-sort-desc lesson_img color-grey-8'></i>");
|
|
|
|
$("[select-for]").hover(function(){
|
|
|
|
$("[select-for]").hover(function () {
|
|
|
|
$(this).find(".down-select").show();
|
|
|
|
$(this).find(".down-select").show();
|
|
|
|
},function(){
|
|
|
|
}, function () {
|
|
|
|
$(this).find(".down-select").hide();
|
|
|
|
$(this).find(".down-select").hide();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
var $select, hideValue, textValue, $parent;
|
|
|
|
var $select, hideValue, textValue, $parent;
|
|
|
|
$("[select-for] .down-select p").live("click",function(){
|
|
|
|
$("[select-for] .down-select p").live("click", function () {
|
|
|
|
$select = $(this).parents(".down-select");
|
|
|
|
$select = $(this).parents(".down-select");
|
|
|
|
hideValue = $(this).attr("data-shixun-value");
|
|
|
|
hideValue = $(this).attr("data-shixun-value");
|
|
|
|
textValue = $(this).html().trim();
|
|
|
|
textValue = $(this).html().trim();
|
|
|
|
$parent = $(this).parent();
|
|
|
|
$parent = $(this).parent();
|
|
|
|
var parentId = $(this).parent().attr("id");
|
|
|
|
var parentId = $(this).parent().attr("id");
|
|
|
|
if(parentId != "shixun_scenario_option"){
|
|
|
|
if (parentId != "shixun_scenario_option") {
|
|
|
|
$select.siblings("input[type=hidden]").attr("value", hideValue);
|
|
|
|
$select.siblings("input[type=hidden]").attr("value", hideValue);
|
|
|
|
$select.siblings("input[type=text]").attr("value", textValue);
|
|
|
|
$select.siblings("input[type=text]").attr("value", textValue);
|
|
|
|
$parent.hide();
|
|
|
|
$parent.hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(parentId == "shixun_language_option"){
|
|
|
|
if (parentId == "shixun_language_option") {
|
|
|
|
var mirror_id = $("#shixun_main_language").val();
|
|
|
|
var mirror_id = $("#shixun_main_language").val();
|
|
|
|
$.ajax({
|
|
|
|
$.ajax({
|
|
|
|
url: "<%= get_mirror_script_shixuns_path %>",
|
|
|
|
url: "<%= get_mirror_script_shixuns_path %>",
|
|
|
|
data: { mirror_id: mirror_id},
|
|
|
|
data: {mirror_id: mirror_id},
|
|
|
|
success: function(data){
|
|
|
|
success: function (data) {
|
|
|
|
var lens = data.length;
|
|
|
|
var lens = data.length;
|
|
|
|
var htmlContents = "";
|
|
|
|
var htmlContents = "";
|
|
|
|
$("#shixun_scenario").val("");
|
|
|
|
$("#shixun_scenario").val("");
|
|
|
|
$("#shixun_scenario_name").val("");
|
|
|
|
$("#shixun_scenario_name").val("");
|
|
|
|
for(var i = 0; i < lens; i++){
|
|
|
|
for (var i = 0; i < lens; i++) {
|
|
|
|
htmlContents += "<p data-shixun-value=\"" + data[i].mirror_script.id + "\" " + "title=\"" + data[i].mirror_script.script_type +"\">"+ data[i].mirror_script.script_type +"</p>"
|
|
|
|
htmlContents += "<p data-shixun-value=\"" + data[i].mirror_script.id + "\" " + "title=\"" + data[i].mirror_script.script_type + "\">" + data[i].mirror_script.script_type + "</p>"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$("#shixun_scenario_option").html(htmlContents);
|
|
|
|
$("#shixun_scenario_option").html(htmlContents);
|
|
|
|
},
|
|
|
|
},
|
|
|
|
error: function(){
|
|
|
|
error: function () {
|
|
|
|
notice_box("获取技术平台失败!")
|
|
|
|
notice_box("获取技术平台失败!")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(parentId == "shixun_scenario_option"){
|
|
|
|
if (parentId == "shixun_scenario_option") {
|
|
|
|
op_confirm_tip("原有脚本将被新的脚本覆盖,无法撤销<br/>是否确认执行覆盖操作","get_mirror_script");
|
|
|
|
op_confirm_tip("原有脚本将被新的脚本覆盖,无法撤销<br/>是否确认执行覆盖操作", "get_mirror_script");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("input[name='webssh']").on("click", function(){
|
|
|
|
$("input[name='webssh']").on("click", function () {
|
|
|
|
if($(this).val() == 2){
|
|
|
|
if ($(this).val() == 2) {
|
|
|
|
$("#multi_webssh").parent().show();
|
|
|
|
$("#multi_webssh").parent().show();
|
|
|
|
} else{
|
|
|
|
} else {
|
|
|
|
$("#multi_webssh").parent().hide();
|
|
|
|
$("#multi_webssh").parent().hide();
|
|
|
|
$("#multi_webssh").attr("checked", false);
|
|
|
|
$("#multi_webssh").attr("checked", false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
/*----------------------------选择镜像小类别--------------*/
|
|
|
|
/*----------------------------选择镜像小类别--------------*/
|
|
|
|
$("[select-more]").append("<i class='fa fa-sort-desc lesson_img color-grey-8'></i>");
|
|
|
|
$("[select-more]").append("<i class='fa fa-sort-desc lesson_img color-grey-8'></i>");
|
|
|
|
$("[select-more]").hover(function () {
|
|
|
|
$("[select-more]").hover(function () {
|
|
|
|
$(this).find(".down-select").show();
|
|
|
|
$(this).find(".down-select").show();
|
|
|
|
}, function () {
|
|
|
|
}, function () {
|
|
|
|
$(this).find(".down-select").hide();
|
|
|
|
$(this).find(".down-select").hide();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
$("[select-more] .down-select p input").bind("click", function () {
|
|
|
|
$("[select-more] .down-select p input").bind("click", function () {
|
|
|
|
var all = $(this).parents(".down-select");
|
|
|
|
var all = $(this).parents(".down-select");
|
|
|
|
var arr = "";
|
|
|
|
var arr = "";
|
|
|
|
var idarr = [];
|
|
|
|
var idarr = [];
|
|
|
|
for (var i = 0; i < all.find("input").length; i++) {
|
|
|
|
for (var i = 0; i < all.find("input").length; i++) {
|
|
|
|
if (all.find("input").eq(i).is(':checked')) {
|
|
|
|
if (all.find("input").eq(i).is(':checked')) {
|
|
|
|
arr += ";" + (all.find("input").eq(i).attr("value"));
|
|
|
|
arr += ";" + (all.find("input").eq(i).attr("value"));
|
|
|
|
idarr.push(all.find("input").eq(i).parents("p").attr("data-shixun-value"));
|
|
|
|
idarr.push(all.find("input").eq(i).parents("p").attr("data-shixun-value"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$("input[name='small_type']").val(idarr);
|
|
|
|
$("input[name='small_type']").val(idarr);
|
|
|
|
$(this).parents().prev("input").val(arr.substring(1));
|
|
|
|
$(this).parents().prev("input").val(arr.substring(1));
|
|
|
|
//$(this).parents(".down-select").hide();
|
|
|
|
//$(this).parents(".down-select").hide();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$(function () {
|
|
|
|
$(function () {
|
|
|
|
//选择自定义脚本
|
|
|
|
//选择自定义脚本
|
|
|
|
$("#diy_script").click(function(){
|
|
|
|
$("#diy_script").click(function () {
|
|
|
|
var html = "<%= j(render :partial => 'define_scenario') %>";
|
|
|
|
var html = "<%= j(render :partial => 'define_scenario') %>";
|
|
|
|
pop_box_new(html,400,400);
|
|
|
|
pop_box_new(html, 400, 400);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#webssh").on("click", function(){
|
|
|
|
$("#webssh").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
$("#vnc").on("click", function(){
|
|
|
|
$("#vnc").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$("#can_copy").on("click", function(){
|
|
|
|
$("#can_copy").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#unlock_test_set").on("click", function(){
|
|
|
|
$("#unlock_test_set").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#code_hidden").on("click", function(){
|
|
|
|
$("#code_hidden").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#forbid_copy").on("click", function(){
|
|
|
|
$("#forbid_copy").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#hide_code").on("click", function(){
|
|
|
|
$("#hide_code").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#task_pass").on("click", function(){
|
|
|
|
$("#task_pass").on("click", function () {
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
$(this).val() == '0' ? $(this).val('1') : $(this).val("0");
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#scope-down-list").find("li").live("click",function(){
|
|
|
|
$("#scope-down-list").find("li").live("click", function () {
|
|
|
|
var ul=$(this).parent("ul");
|
|
|
|
var ul = $(this).parent("ul");
|
|
|
|
var div=$(this).parents("#unit-input-part");
|
|
|
|
var div = $(this).parents("#unit-input-part");
|
|
|
|
var value=$(this).html();
|
|
|
|
var value = $(this).html();
|
|
|
|
ul.siblings("#for_part_search").val(value);
|
|
|
|
ul.siblings("#for_part_search").val(value);
|
|
|
|
|
|
|
|
|
|
|
|
var width=value.length*2;
|
|
|
|
var width = value.length * 2;
|
|
|
|
var label="<label class=\"fl unit-part mb10\"><input type='text' size='" + width + "' id='scope_partment' name='scope_partment[]' readonly value='"+value+"'><span class=\"color-orange03 ml5 eud-pointer\">×</span></label>";
|
|
|
|
var label = "<label class=\"fl unit-part mb10\"><input type='text' size='" + width + "' id='scope_partment' name='scope_partment[]' readonly value='" + value + "'><span class=\"color-orange03 ml5 eud-pointer\">×</span></label>";
|
|
|
|
div.before(label);
|
|
|
|
div.before(label);
|
|
|
|
ul.siblings("#for_part_search").attr("data-value-was",value);
|
|
|
|
ul.siblings("#for_part_search").attr("data-value-was", value);
|
|
|
|
$("#person-unit").hide();
|
|
|
|
$("#person-unit").hide();
|
|
|
|
$("#scope-down-list").hide();
|
|
|
|
$("#scope-down-list").hide();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$(".unit-part").find("span").live("click",function(){
|
|
|
|
$(".unit-part").find("span").live("click", function () {
|
|
|
|
$(this).parents(".unit-part").remove();
|
|
|
|
$(this).parents(".unit-part").remove();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
if($("#public-part").is(":checked")){
|
|
|
|
if ($("#public-part").is(":checked")) {
|
|
|
|
$("#person-unit").show();
|
|
|
|
$("#person-unit").show();
|
|
|
|
$("#person-unit").find("input").val("");
|
|
|
|
$("#person-unit").find("input").val("");
|
|
|
|
// $(".unit-part").remove();
|
|
|
|
// $(".unit-part").remove();
|
|
|
|
$("#unit-all").show();
|
|
|
|
$("#unit-all").show();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
$("input[name='public_degree']").live("click",function(){
|
|
|
|
$("input[name='public_degree']").live("click", function () {
|
|
|
|
var item=$(this).attr("id");
|
|
|
|
var item = $(this).attr("id");
|
|
|
|
if($(this).is(":checked") && item == "public-part"){
|
|
|
|
if ($(this).is(":checked") && item == "public-part") {
|
|
|
|
$("#person-unit").show();
|
|
|
|
$("#person-unit").show();
|
|
|
|
$("#person-unit").find("input").val("");
|
|
|
|
$("#person-unit").find("input").val("");
|
|
|
|
//$(".unit-part").remove();
|
|
|
|
//$(".unit-part").remove();
|
|
|
|
$("#unit-all").show();
|
|
|
|
$("#unit-all").show();
|
|
|
|
}else{
|
|
|
|
} else {
|
|
|
|
$("#unit-all").hide();
|
|
|
|
$("#unit-all").hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("body").on("click",function(e){
|
|
|
|
$("body").on("click", function (e) {
|
|
|
|
//alert($(e.target).attr("id"));
|
|
|
|
//alert($(e.target).attr("id"));
|
|
|
|
if($(e.target).attr("id") != "person-unit"){
|
|
|
|
if ($(e.target).attr("id") != "person-unit") {
|
|
|
|
$("#scope-down-list").hide();
|
|
|
|
$("#scope-down-list").hide();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//设置编辑时显示的单位
|
|
|
|
//设置编辑时显示的单位
|
|
|
|
$(".unit-part input").each(function(){
|
|
|
|
$(".unit-part input").each(function () {
|
|
|
|
$(this).attr("size",parseInt($(this).val().length)*2);
|
|
|
|
$(this).attr("size", parseInt($(this).val().length) * 2);
|
|
|
|
})
|
|
|
|
})
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//申请新建
|
|
|
|
//申请新建
|
|
|
|
function post_apply() {
|
|
|
|
function post_apply() {
|
|
|
|
var html = "<%= escape_javascript(render :partial => 'shixuns/apply_setnew') %>";
|
|
|
|
var html = "<%= escape_javascript(render :partial => 'shixuns/apply_setnew') %>";
|
|
|
|
pop_box_new(html, 460, 416);
|
|
|
|
pop_box_new(html, 460, 416);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var setting_editormd = editormd("setting_introduction", {
|
|
|
|
var setting_editormd = editormd("setting_introduction", {
|
|
|
|
width : "100%",
|
|
|
|
width: "100%",
|
|
|
|
height : 210,
|
|
|
|
height: 210,
|
|
|
|
syncScrolling : "single",
|
|
|
|
syncScrolling: "single",
|
|
|
|
//你的lib目录的路径,我这边用JSP做测试的
|
|
|
|
//你的lib目录的路径,我这边用JSP做测试的
|
|
|
|
path : "/editormd/lib/",
|
|
|
|
path: "/editormd/lib/",
|
|
|
|
tex : true,
|
|
|
|
tex: true,
|
|
|
|
toolbarIcons : function() {
|
|
|
|
toolbarIcons: function () {
|
|
|
|
// Or return editormd.toolbarModes[name]; // full, simple, mini
|
|
|
|
// Or return editormd.toolbarModes[name]; // full, simple, mini
|
|
|
|
// Using "||" set icons align right.
|
|
|
|
// Using "||" set icons align right.
|
|
|
|
return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear" ]
|
|
|
|
return ["bold", "italic", "|", "list-ul", "list-ol", "|", "code", "code-block", "|", "testIcon", "testIcon1", '|', "image", "table", '|', "watch", "clear"]
|
|
|
|
},
|
|
|
|
},
|
|
|
|
toolbarCustomIcons : {
|
|
|
|
toolbarCustomIcons: {
|
|
|
|
testIcon : "<a type=\"inline\" class=\"latex\" ><div class='zbg'></div></a>",
|
|
|
|
testIcon: "<a type=\"inline\" class=\"latex\" ><div class='zbg'></div></a>",
|
|
|
|
testIcon1 : "<a type=\"latex\" class=\"latex\" ><div class='zbg_latex'></div></a>"
|
|
|
|
testIcon1: "<a type=\"latex\" class=\"latex\" ><div class='zbg_latex'></div></a>"
|
|
|
|
},
|
|
|
|
},
|
|
|
|
onload: function(){
|
|
|
|
onload: function () {
|
|
|
|
$("#setting_introduction [type=\"latex\"]").bind("click", function(){
|
|
|
|
$("#setting_introduction [type=\"latex\"]").bind("click", function () {
|
|
|
|
setting_editormd.cm.replaceSelection("```latex");
|
|
|
|
setting_editormd.cm.replaceSelection("```latex");
|
|
|
|
setting_editormd.cm.replaceSelection("\n");
|
|
|
|
setting_editormd.cm.replaceSelection("\n");
|
|
|
|
setting_editormd.cm.replaceSelection("\n");
|
|
|
|
setting_editormd.cm.replaceSelection("\n");
|
|
|
|
setting_editormd.cm.replaceSelection("```");
|
|
|
|
setting_editormd.cm.replaceSelection("```");
|
|
|
|
var __Cursor = setting_editormd.cm.getDoc().getCursor();
|
|
|
|
var __Cursor = setting_editormd.cm.getDoc().getCursor();
|
|
|
|
setting_editormd.cm.setCursor(__Cursor.line-1, 0);
|
|
|
|
setting_editormd.cm.setCursor(__Cursor.line - 1, 0);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
$("#setting_introduction [type=\"inline\"]").bind("click", function(){
|
|
|
|
$("#setting_introduction [type=\"inline\"]").bind("click", function () {
|
|
|
|
setting_editormd.cm.replaceSelection("$$$$");
|
|
|
|
setting_editormd.cm.replaceSelection("$$$$");
|
|
|
|
var __Cursor = setting_editormd.cm.getDoc().getCursor();
|
|
|
|
var __Cursor = setting_editormd.cm.getDoc().getCursor();
|
|
|
|
setting_editormd.cm.setCursor(__Cursor.line, __Cursor.ch-2);
|
|
|
|
setting_editormd.cm.setCursor(__Cursor.line, __Cursor.ch - 2);
|
|
|
|
setting_editormd.cm.focus();
|
|
|
|
setting_editormd.cm.focus();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
$("[type=\"inline\"]").attr("title", "行内公式");
|
|
|
|
$("[type=\"inline\"]").attr("title", "行内公式");
|
|
|
|
$("[type=\"latex\"]").attr("title", "多行公式");
|
|
|
|
$("[type=\"latex\"]").attr("title", "多行公式");
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
|
|
|
|
//这个配置在simple.html中并没有,但是为了能够提交表单,使用这个配置可以让构造出来的HTML代码直接在第二个隐藏的textarea域中,方便post提交表单。
|
|
|
|
saveHTMLToTextarea : true,
|
|
|
|
saveHTMLToTextarea: true,
|
|
|
|
autoFocus: false,
|
|
|
|
autoFocus: false,
|
|
|
|
// 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
|
|
|
|
// 用于增加自定义工具栏的功能,可以直接插入HTML标签,不使用默认的元素创建图标
|
|
|
|
dialogMaskOpacity : 0.6,
|
|
|
|
dialogMaskOpacity: 0.6,
|
|
|
|
placeholder: "请输入完成当前任务依赖的知识点或者其它相关信息",
|
|
|
|
placeholder: "请输入完成当前任务依赖的知识点或者其它相关信息",
|
|
|
|
imageUpload : true,
|
|
|
|
imageUpload: true,
|
|
|
|
imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp", "JPG", "JPEG", "GIF", "PNG", "BMP", "WEBP"],
|
|
|
|
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
|
|
|
|
imageUploadURL: "<%= upload_with_markdown_path(:container_id => @shixun.id, :container_type => @shixun.class) %>" //url
|
|
|
|
});
|
|
|
|
});
|
|
|
|
md_elocalStorage(setting_editormd, "shixun_edit_<%= User.current.id %>", "in");
|
|
|
|
md_elocalStorage(setting_editormd, "shixun_edit_<%= User.current.id %>", "in");
|
|
|
|
|
|
|
|
|
|
|
|
var script_Codemirror = CodeMirror.fromTextArea(document.getElementById("shixun_script"), {
|
|
|
|
var script_Codemirror = CodeMirror.fromTextArea(document.getElementById("shixun_script"), {
|
|
|
|
lineNumbers: true,
|
|
|
|
lineNumbers: true,
|
|
|
|
theme: "default",
|
|
|
|
theme: "default",
|
|
|
|
// extraKeys: {"Ctrl-Q": "autocomplete"}, // 快捷键
|
|
|
|
// extraKeys: {"Ctrl-Q": "autocomplete"}, // 快捷键
|
|
|
|
indentUnit: 4, //代码缩进为一个tab的距离
|
|
|
|
indentUnit: 4, //代码缩进为一个tab的距离
|
|
|
|
matchBrackets: true,
|
|
|
|
matchBrackets: true,
|
|
|
|
autoRefresh: true,
|
|
|
|
autoRefresh: true,
|
|
|
|
smartIndent: true,//智能换行
|
|
|
|
smartIndent: true,//智能换行
|
|
|
|
styleActiveLine: true,
|
|
|
|
styleActiveLine: true,
|
|
|
|
lint: true
|
|
|
|
lint: true
|
|
|
|
});
|
|
|
|
});
|
|
|
|
script_Codemirror.setSize("auto","600px");
|
|
|
|
script_Codemirror.setSize("auto", "600px");
|
|
|
|
// 非管理员只能查看
|
|
|
|
// 非管理员只能查看
|
|
|
|
</script>
|
|
|
|
</script>
|