195 lines
5.9 KiB
JavaScript
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 > </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);
|
|
})(); |