2018-06-03 22:26:41 +08:00

195 lines
5.9 KiB
JavaScript

function quickMenu(sQuickId, menuId){
var tWin=window.parent;
do{
if(typeof tWin.openMenu == "function"){
break;
}else{
tWin=tWin.parent;
}
}while(true)
if(!tWin.openMenu(menuId)){
if(!confirm("此快捷链接对应的菜单无权限,是否删除此快捷链接?")) return;
deleteQuick(sQuickId);
}
}
function selectMenu(sUserId){
AsDialog.PopPage("/AppMain/Welcome/SelectMenuDialog.jsp","SelectDialogTitle=菜单选择窗口",
"dialogWidth:350px;dialogHeight:400px;resizable:no;maximize:no;help:no;menubar:no;status:no;",function(sReturn){
if(!sReturn || sReturn == "_CLEAR_") return;
editMenuQuicks(sReturn, sUserId);
});
}
function editMenuQuicks(sMenuIdNames, sUserId){
var sResult = AsControl.RunJavaMethodTrans("com.amarsoft.app.awe.config.dw.action.QuickMenuTask", "run", "UserId="+sUserId+",MenuIdNames="+sMenuIdNames);
if(!sResult) return;
if(sResult.substring(0, 1) != "["){
alert(sResult);
return;
}
var aQuick = (new Function("return "+sResult+";"))();
var sHtml = new Array();
for(var i = 0; i < aQuick.length; i++){
var sQuickId = aQuick[i][0];
if(!sQuickId) return;
var sQuickName = aQuick[i][1];
if(!sQuickName) return;
var sMenuId = aQuick[i][2];
if(!sMenuId) return;
sHtml.push("<span id=\""+sQuickId+"\" onmousedown=\"if($('#panel0').hasClass('edit')){moveQuick(this, event);}\" >" +
"<a class=\"quick\" href=\"javascript:void(0);\" onclick=\"if(!$('#panel0').hasClass('edit')){quickMenu('"+sQuickId+"', '"+sMenuId+"');}return false;\" hidefocus >"+sQuickName+"</a>" +
"<a class=\"close edit\" href=\"javascript:void(0);\" onmousedown=\"AsLink.stopEvent(event);\" onclick=\"deleteQuick('"+sQuickId+"','"+sQuickName+"');return false;\" hidefocus >&nbsp;</a>" +
"</span>");
}
var quicks = sHtml.join("");
if(!quicks) return;
$("#panel0 .container >div:eq(0)").append(quicks);
}
function moveQuick(quick, e){
quick = $(quick);
var siblings = quick.siblings("span");
var offset = quick.position();
//alert([offset.left, offset.top]);
var span = $(">span.seat", quick.parent());
if(span.length != 1) span = $("<span class='seat' ></span>");
span.insertBefore(quick).show();
quick.css({
"position" : "absolute",
"left" : offset.left,
"top" : getTop(),
"z-index" : -1
});
$(document).bind("mousemove", move).bind("mouseup", up);
var x = e.clientX, y = e.clientY;
function move(e2){
quick.css({
"left" : offset.left+e2.clientX-x,
"top" : getTop()+e2.clientY-y
});
var target = $(e2.target).parent();
if(target.is(siblings)){
if(span.index() < target.index()){
span.insertAfter(target);
}else{
span.insertBefore(target);
}
}
return false;
}
function getTop(){
var top0 = offset.top;
var top1 = quick.parent().scrollTop();
if(top1 <= 0) return top0;
if(isIEBrowser()) return top0+top1;
else return top0;
}
function up(){
$(document).unbind("mousemove", move).unbind("mouseup", up);
span.replaceWith(quick);
quick.css({
"position" : "",
"left" : "",
"top" : "",
"z-index" : ""
});
saveQuickSort();
}
return false;
}
function saveQuickSort(){
var sQuicks = "";
var first = true;
$("#panel0 .container >div:eq(0) >span").each(function(){
if(first) first = false;
sQuicks += "@";
sQuicks += this.id;
});
return AsControl.RunJavaMethodTrans("com.amarsoft.app.awe.config.menu.action.QuickHrefAction", "saveSort", "QuickId="+sQuicks);
}
function deleteQuick(sQuickId, sQuickName){
var quick = document.getElementById(sQuickId);
if(!quick) return;
if(sQuickName && !confirm("确定删除快捷链接["+sQuickName+"]吗?")) return;
var sResult = AsControl.RunJavaMethodTrans("com.amarsoft.app.awe.config.menu.action.QuickHrefAction", "deleteQuick", "QuickId="+sQuickId);
if(sResult == "SUCCESS") $(quick).remove();
else alert(sResult);
}
var aem = {};
(function(){
var body = $("body");
var panel0 = $("#panel0");
var panel1 = $("#panel1");
//var panel2 = $("#panel2");
var panel3 = $("#panel3");
var gap = panel0.offset().top;
var width1 = panel0.width();
//var panels = panel0.add(panel1).add(panel2).add(panel3).css("margin", gap+"px 0 0 "+gap+"px");
var panels = panel0.add(panel1).add(panel3).css("margin", gap+"px 0 0 "+gap+"px");
var initN = 0;
$(".title >div >a >span", panel1).each(function(i){
var sUrlParams = this.getAttribute("UrlParams");
var name = self.name+escape($(this).text()).replace(/[^A-z0-9]/g, "");
var flag = false;
aem[name] = $("em", this);
if(this.getAttribute("Init") != null) setTimeout(init,++initN*100);
$(this).click(function(){
$(this).parent().animate({
"background-position":i*$(this).width()+"px"
}, 200, function(){
var frame = init();
frame.siblings().hide();
frame.show();
});
});
if(i == 0) $(this).click();
function init(){
var frame = $(".container iframe[name='"+name+"']", panel1);
if(frame.length != 1)
frame = $("<iframe name=\""+name+"\" width=\"100%\" height=\"100%\" frameborder=\"0\" allowtransparency ></iframe>").appendTo($(".container", panel1));
if(!flag){
var aUrlParams = sUrlParams.split("@");
AsControl.OpenView(aUrlParams[0], aUrlParams[1], name);
flag = true;
}
return frame;
}
});
function resize(flag){
var height = body.height();
var width = body.width();
if(navigator.appVersion.indexOf("MSIE 6")>-1) width -= 2*gap;
panel0.height(height-2*gap);
panel1.width(width-3*gap-width1).height((height-3*gap)*1000/1618);
//panel2.width((width-4*gap-width1)/2).height((height-3*gap)*618/1618);
panel3.width(width-3*gap-width1).height((height-3*gap)*618/1618);
panels.each(function(){
$(">div:eq(1)",this).height($(this).height()-$(">div:eq(0)",this).height());
});
$(".quicker", panel0).height($(".container", panel0).height() - 182);
//panel0.find(">div:eq(1) >div:eq(0)").height(panel0.find(">div:eq(1)").height()-panel0.find(">div:eq(1) >div:eq(1)").height());
if(!flag) return;
setTimeout(resize, 50);
}
$(window).resize(resize);
resize(true);
})();