project_pack
daiao 5 years ago
commit 1e290bbf68

@ -1481,7 +1481,7 @@ end
redirect_to departments_managements_path
end
# 改单位部门列表
# 改单位部门列表
def update_department
dep = Department.find params[:department_id]
@edit_id = params[:department_id]
@ -1498,6 +1498,22 @@ end
end
end
# 修改部门名称
def update_depart_name
@depart = Department.find(params[:depart_id])
@depart.update_attributes(:name => params[:depart_name]) if @depart.school.departments.where(name: params[:depart_name]).count == 0
end
# 检查是否存在同名的部门
def check_depart_name
depart = Department.find(params[:depart_id])
if depart.school.departments.where(name: params[:depart_name]).count == 0
render :json => {status: 0, message: ""}
else
render :json => {status: -1, message: "该名称已存在"}
end
end
def edit_departments_school
begin
dep = Department.find(params[:department_id])
@ -1511,9 +1527,10 @@ end
# ApplyAddDepartment.where(:department_id =>params[:departments]).update_all(:department_id=>department_id)
# users = UserExtensions.where("department_id = #{alt_dep.department_id}")
# users.update_all(:department_id => department.id)
apply_dep.destroy_all;
apply_dep.destroy_all
users = UserExtensions.where(:department_id => params[:alter_dep_id])
users.update_all(:department_id => dep.id)
dep.update_attributes(:identifier => alter_dep.identifier) if dep.identifier.nil? && alter_dep.identifier.present?
alter_dep.destroy
end
rescue Exception => e

@ -17,7 +17,7 @@
<% @department.each_with_index do |department,index| %>
<tr id="apply_add_department_<%= department.id %>">
<td><%= (@page -1) * @limit + index + 1 %></td>
<td class="edu-txt-left"><%= department.name %></td>
<td class="edu-txt-left" id="department_name_<%= department.id %>"><%= department.name %></td>
<td class="edu-txt-left"><%= School.where(:id => department.school_id).first %></td>
<td><%= UserExtensions.where(:department_id => department.id, :school_id => department.school_id ).count %></td>
<td><%= User.where(:id => UserExtensions.where(:department_id => department.id, :school_id => department.school_id).map(&:user_id),:professional_certification => 1).count %></td>
@ -40,6 +40,7 @@
<td>
<a href="javascript:void(0);" onclick="delete_confirm_box_2('<%= department_path(department) %>', '确定要删除该部门吗?')">删除&nbsp;</a>
<%= link_to '更改', update_department_managements_path(:school_id=> department.school_id,:department_id => department.id), :remote => true, :class => "application-default-link" %>
<a href="javascript:void(0)" class="application-default-link" onclick="editDepartName(<%= department.id %>);">修改</a>
</td>
</tr>
<% end %>
@ -78,4 +79,11 @@
$("#update_host_count_depart_id").val(id);
$("input[name='host_count']").val($("#depart_host_count_"+id).html().trim());
}
function editDepartName(id){
var htmlvalue = "<%= escape_javascript(render :partial => 'managements/edit_depart_name') %>";
pop_box_new(htmlvalue,400,204);
$("#update_depart_name_depart_id").val(id);
$("input[name='depart_name']").val($("#department_name_"+id).html().trim());
}
</script>

@ -0,0 +1,15 @@
<div class="task-popup" style="width:400px;">
<div class="task-popup-title clearfix task-popup-bggrey">修改</div>
<%= form_for '', :url => update_depart_name_managements_path,:html => {:id => 'update_depart_name_form', :remote => true, :method => :post} do |f| %>
<div class="task_popup_con edu-txt-center">
<input type="hidden" name="depart_id" id="update_depart_name_depart_id" value="">
<input type="text" name="depart_name" placeholder="输入新名称" maxlength="30" class="input-100-35"/>
<p class="color-red none edu-txt-left" id="update_depart_name_notice"></p>
<div class="inline mt20">
<a href="javascript:void(0);" class="task-btn task-btn-orange fr" onclick="submit_depart_name_form();">确定</a>
<a href="javascript:void(0);" onclick="hideModal();" class="pop_close task-btn fr mr10">取消</a>
</div>
</div>
<% end %>
</div>

@ -0,0 +1 @@
$("#department_name_<%= @depart.id %>").html("<%= params[:depart_name] %>");

@ -7,7 +7,7 @@
<!-- <span class="fl mr5 ml3">/</span>-->
<%= link_to @shixun.name, shixun_path(@shixun), :class => "edu-info-dark fl task-hide",:style=>"max-width:300px", :target => "_blank" %>
</p>
<% if User.current.has_teacher_role(@homework.course) || User.current.admin? || @work.user == User.current %>
<% if User.current.has_teacher_role(@homework.course) || User.current.admin? || User.current.business? || @work.user == User.current %>
<div class="fl mt5 ml10" data-tip-down="实战中获得的总经验值">
<span class="color-green">经验值:<%= @myshixun.total_score %> </span>
</div>

@ -629,6 +629,8 @@ RedmineApp::Application.routes.draw do ## oauth相关
match 'new_major', :via => [:get, :post]
post 'insert_major'
match 'update_department',:via => [:get, :post]
post 'update_depart_name'
get 'check_depart_name'
post 'edit_departments_school'
get 'create_departments'
post 'add_department'

@ -26,6 +26,27 @@ function submit_depart_host_count(){
}
}
function submit_depart_name_form(){
if($("input[name='depart_name']").val().trim() == ""){
$("#update_depart_name_notice").html("名称不能为空").show();
} else {
$.ajax({
type: "GET",
url: '/managements/check_depart_name',
data: {depart_id: $("#update_depart_name_depart_id").val(), depart_name: $("input[name='depart_name']").val().trim()},
success: function (data) {
if(data.status == 0){
$("#update_depart_name_notice").hide();
$('#update_depart_name_form').submit();
hideModal();
} else{
$("#update_depart_name_notice").html("该名称已存在").show();
}
}
});
}
}
/*--------------------------- 用户授权全选 -------------------------------*/
$("#all_member_select").live('click', function(){
if($("#all_member_select").is(':checked')){

@ -206,6 +206,7 @@ $(function(){
// window resize
$(window).on('resize', function() {
// _resizeVNC_if_needed()
$('.CodeMirror.cm-s-railscasts').css("height", $("#games_repository_contents").height() - repositoryTabHeight);
})
@ -1182,6 +1183,7 @@ $(function(){ // 这里重新加一次事件监听,不在原有事件的基
dragging = true;
dragDom = lab;
$('#htmlIframe').css('pointer-events', 'none')
$('#can-drag').show()
return false;
}
);
@ -1202,7 +1204,10 @@ $(function(){ // 这里重新加一次事件监听,不在原有事件的基
doc.live("mouseup", function(e) {
// 在大窗口将下边测试集滚动条拖上去后,将窗口缩小,再拖下来就有这种情况 https://www.trustie.net/issues/16326
$('#can-drag').hide()
if (dragging === true) {
// _resizeVNC_if_needed()
window.editor_CodeMirror && window.editor_CodeMirror.refresh()
// 使得iframe可以继续捕获事件
$('#htmlIframe').css('pointer-events', 'inherit')
@ -1210,6 +1215,27 @@ $(function(){ // 这里重新加一次事件监听,不在原有事件的基
dragging = false;
});
})
function _resizeVNC_if_needed() {
return;
if (window.__isVNC) {
// $('#screen>div').width('1024px').height('768px')
var trueHeight = $('#game_right_contents').height();
var width = $('#game_right_contents').width()
// __rfb && __rfb.get_display().autoscale(width, trueHeight)
return;
if (trueHeight < 768) {
var width = $('#game_right_contents').width()
var _left = width - $('#screen').width() / 2
var scale = (trueHeight / 768).toFixed(5)
// _left
$('#screen').css('transform', 'scale(' + scale + ', ' + scale +')').css('transform-origin', 0 + 'px 0px')
} else {
$('#screen').css('transform', 'scale(' + 1 + ', ' + 1 +')')
}
}
}
// ---------------------------------------------------------------------------------------------
/**

@ -47,6 +47,7 @@ class MainContent extends Component {
games_repository_contents_style = {overflow: 'hidden', height: '445px'}
}
const showIframeContent = shixun && shixun.vnc == true
// window.__isVNC = showIframeContent && !!vnc_url
return (
<div className="page--body -margin-t-64 -flex">
<div className="-layout -stretch -fit labelN" id="game_show_content">
@ -55,6 +56,18 @@ class MainContent extends Component {
{/* 左侧任务说明等功能的区域 */}
<LeftViewContainer {...this.props}></LeftViewContainer>
</div>
<style>{`
.can-drag {
width: 100%;
height: 100%;
z-index: 100;
position: fixed;
cursor: col-resize;
top: 0px;
}
`}</style>
{showIframeContent && vnc_url && <div id="can-drag" className="can-drag" style={{display: 'none'}}></div>}
<div className="b-label -layout" style={{left: '687px'}}>
<div className="resize-helper ">

@ -13,6 +13,7 @@ class VNCDisplay extends Component {
// When this function is called we have
// successfully connected to a server
function connectedToServer(e) {
$('#top_bar').hide()
status("Connected to " + desktopName);
}
// This function is called when we are disconnected
@ -109,6 +110,8 @@ class VNCDisplay extends Component {
// Set parameters that can be changed on an active connection
rfb.viewOnly = readQueryVariable('view_only', false);
rfb.scaleViewport = readQueryVariable('scale', false);
rfb.resizeSession = true
window.__rfb = rfb;
}
render() {
@ -116,7 +119,7 @@ class VNCDisplay extends Component {
return (
<div className="">
<div className="" style={{height: '100%'}}>
<style>{`
#top_bar {
background-color: #6e84a3;
@ -137,6 +140,7 @@ class VNCDisplay extends Component {
cursor: pointer;
}
#screen {
height: 100%;
flex: 1; /* fill remaining space */
overflow: hidden;
}

Loading…
Cancel
Save