113 lines
4.3 KiB
Plaintext
113 lines
4.3 KiB
Plaintext
<% content_for :header_tags do %>
|
|
<%= javascript_include_tag "/assets/codemirror/codemirror_python_ruby_c" %>
|
|
<%= stylesheet_link_tag "/assets/codemirror/codemirror" %>
|
|
<%= stylesheet_link_tag "/assets/codemirror/merge" %>
|
|
<%= javascript_include_tag "https://cdnjs.cloudflare.com/ajax/libs/diff_match_patch/20121119/diff_match_patch.js"%>
|
|
<%= javascript_include_tag "/assets/codemirror/merge" %>
|
|
<% end %>
|
|
<style type="text/css">
|
|
.CodeMirror-merge {position: relative; border: 0px solid #ddd;white-space: pre;}
|
|
</style>
|
|
<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>
|
|
<% if @index %>
|
|
>#<%= link_to (get_hw_index(@homework, @is_teacher, @homework.homework_type) + 1), student_work_index_path(:homework => @homework.id) %>
|
|
<% end %>
|
|
</p>
|
|
<div class="edu-con-top clearfix ">
|
|
<p class="ml15 fl ">查重结果</p>
|
|
<span class="ml15 fl color-grey"><%= format_time @homework.simi_time %></span>
|
|
<a href="<%= code_repeat_course_path(@course, :homework => @homework.id) %>" class="fr font-12 mr15 mt3 link-color-grey">返回</a>
|
|
</div>
|
|
<div class="edu-con-bg01 mt15" >
|
|
<div class="">
|
|
<table class="edu-pop-table edu-txt-center " cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr>
|
|
<td><a class="edu-txt-w100 task-hide "><%= @src_username %></a></td>
|
|
<td>
|
|
<% if @simi_value.to_i >= 90 %>
|
|
<a style="color:red;text-align:center;">相似度<%=@simi_value.to_i%>%</a>
|
|
<% else %>
|
|
<a style="text-align:center;">相似度<%=@simi_value.to_i%>%</a>
|
|
<% end %>
|
|
</td>
|
|
<td><a class="edu-txt-w100 task-hide "><%= @dst_username %></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<pre id = "program-src_1" style = "display: none" ><%= @src_code if @src_code %></pre>
|
|
<pre id = "program-src_2" style = "display: none" ><%= @dst_code if @dst_code%></pre>
|
|
<div class = "program-compare-code" id=program-compare-code></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
var program_name = "text/x-csrc";
|
|
var language = <%= @homework.language.to_i %>;
|
|
if (language == 1) {
|
|
program_name = 'text/x-csrc';
|
|
} else if(language==2){
|
|
program_name = 'text/x-c++src';
|
|
}else if(language==3){
|
|
program_name = 'text/x-cython';
|
|
} else if(language==4){
|
|
program_name = 'text/x-java';
|
|
}
|
|
|
|
var value, orig1, orig2, dv, panes = 2, highlight = true, connect = null, collapse = false;
|
|
function initUI() {
|
|
if (value == null) return;
|
|
var target = document.getElementById("program-compare-code");
|
|
target.innerHTML = "";
|
|
dv = CodeMirror.MergeView(target, {
|
|
value: value,
|
|
origLeft: panes == 3 ? orig1 : null,
|
|
orig: orig2,
|
|
lineNumbers: true,
|
|
mode: program_name,
|
|
highlightDifferences: highlight,
|
|
connect: connect,
|
|
collapseIdentical: collapse
|
|
});
|
|
}
|
|
|
|
function toggleDifferences() {
|
|
dv.setShowDifferences(highlight = !highlight);
|
|
}
|
|
|
|
|
|
value = $("#program-src_1").text();
|
|
orig1 = $("#program-src_1").text();
|
|
orig2 = $("#program-src_2").text();
|
|
initUI();
|
|
|
|
|
|
function mergeViewHeight(mergeView) {
|
|
function editorHeight(editor) {
|
|
if (!editor) return 0;
|
|
return editor.getScrollInfo().height;
|
|
}
|
|
return Math.max(editorHeight(mergeView.leftOriginal()),
|
|
editorHeight(mergeView.editor()),
|
|
editorHeight(mergeView.rightOriginal()));
|
|
}
|
|
|
|
function resize(mergeView) {
|
|
var height = mergeViewHeight(mergeView);
|
|
for(;;) {
|
|
if (mergeView.leftOriginal())
|
|
mergeView.leftOriginal().setSize(null, height);
|
|
mergeView.editor().setSize(null, height);
|
|
if (mergeView.rightOriginal())
|
|
mergeView.rightOriginal().setSize(null, height);
|
|
|
|
var newHeight = mergeViewHeight(mergeView);
|
|
if (newHeight >= height) break;
|
|
else height = newHeight;
|
|
}
|
|
mergeView.wrap.style.height = height + "px";
|
|
}
|
|
</script>
|