/**********************************************************************************一。解析传递的参数***************************************************************************/
/**
* 解析查询条件
* @returns {___anonymous229_230}
*/
function resolveUrl(){
var encondeCondition=window.location.search;
var condition= decodeURI(encondeCondition.substring(1,encondeCondition.length));
var conditionArr=condition.split("&");
var condJson={};
for(var item in conditionArr){
var temArr=conditionArr[item].split("=");
condJson[temArr[0]]=temArr[1];
}
return condJson;
}
/**********************************************************************************二。保存布局***************************************************************************/
/**********************************************************************************1。解析布局参数*************************************************************************/
/**********************************************************************************2。矫正布局参数参数**********************************************************************/
/**********************************************************************************3.保存布局****************************************************************************/
/**********************************************************************************4.删除视图****************************************************************************/
/**********************************************************************************3.设置默认视图*************************************************************************/
/**********************************************************************************3.修改视图****************************************************************************/
//layoutData:[{column:"50%",row:[{id:"a1",value:"50%"},{id:"content1",value:"50%"}]},
// {column:"50%",row:[{id:"content2",value:"50%"},{id:"content3",value:"50%"}]}]},
//获取布局后的layout参数列表
function LayoutItem(){
this.column=null;
this.row=null;
}
function Layout() {
this.layoutItem=[];
}
/**
* 逆向解析布局后的数据
* @params:$conDom,布局容器
*/
function resolveLayout($conDom){
var _this=arguments.callee;
var layout=[];
//初次加载时为列布局
if($conDom.children("div ._column_content").not("._column_move").size()>0){
$conDom.children("div ._column_content").not("._column_move").each(function () {
var layoutItem=new LayoutItem();
if($conDom.find("._column_content ").size()===1){
//获取像素
layoutItem.column=$(this).width();
//layoutItem.column=Math.floor($(this).css("width")); //获取百分比
}else if($conDom.find("._column_content ").size()>1){
//获取像素
layoutItem.column=$(this).width();
//获取百分比
//layoutItem.column=Math.floor($(this).width()*0.999/($(this).parent().width()-($conDom.find("._column_content ").size()-1)/**$(window).height()*0.003*/)*100).toFixed(2)+"%";
}
layoutItem.row=[];
$(this).children("div ._row_content").not("._row_move").each(function(){
var item=new Object();
if($(this).attr("id")!=null){
item.id=$(this).attr("id");
}
//获取像素
item.value=$(this).height();
//获取百分比
//item.value=Math.floor($(this).height()*0.998/($(this).parent().height()-($conDom.find("._row_content ").size()-1)/*$(window).height()*0.003*/)*100).toFixed(2)+"%";
//递归
if($(this).children("div ._row_content").size()>0){
item.layoutData=_this($(this));
}
if($(this).children("div ._column_content").size()>0){
item.layoutData=_this($(this));
}
layoutItem.row.push(item);
});
layout.push(layoutItem);
});
}
//初次加载时为行布局
if($conDom.children("div ._row_content").not("._row_move").size()>0){
$conDom.children("div ._row_content").not("._row_move").each(function () {
var layoutItem=new LayoutItem();
if($conDom.find("._row_content ").size()===1){
//获取像素
layoutItem.row=$(this).height();
//获取百分比
//layoutItem.row=Math.floor($(this).height()/$(this).parent().height()*100)+"%";
}else if($conDom.find("._row_content ").size()>1){
//获取像素
layoutItem.row=$(this).height();
//获取百分比
//layoutItem.row=Math.floor(($(this).height()/($(this).parent().height()-($conDom.find("._column_content ").size()-1)/**$(window).height()*0.003*/)*100)).toFixed(2)+"%";
}
layoutItem.column=[];
$(this).children("div ._column_content").not("._column_move").each(function(){
var item=new Object();
if($(this).attr("id")!=null){
item.id=$(this).attr("id");
}
//获取像素
item.value=$(this).width();
//获取百分比
//item.value=($(this).width()/($(this).parent().width()-($conDom.find("._row_content ").size()-1)/**$(window).height()*0.003*/)*100).toFixed(2)+"%";
//递归
if($(this).children("div ._row_content").size()>0){
item.layoutData=_this($(this));
}
if($(this).children("div ._column_content").size()>0){
item.layoutData=_this($(this));
}
layoutItem.column.push(item);
});
layout.push(layoutItem);
});
}
return layout;
}
//数据等比率矫正方法
//[{"column":"25.00%","row":[{"id":"content1","value":"33.00%"},{"id":"content2","value":"33.00%"},{"id":"content2","value":"33.00%"}]},
// {"column":"75.00%","row":[{"id":"a1","value":"67.00%"},{"id":"a2","value":"33.00%","
//layoutData":[{"row":"100%","column":[{"id":"content4","value":"33.30%"},{"id":"content5","value":"33.20%"},{"id":"content6","value":"33.30%"}],"row":"100%"}]}]}]}
/**
* 逆向解析后的布局数据存在四舍五入的误差,误差会影响再次布局的结构
* 该方法通过对误差的矫正,保证布局结构的完整。
* @param dataParams:逆向解析布局后的数据
*/
function proportionalCorrectionData(dataParams){
var _this=arguments.callee;
//列布局
if(dataParams[0].row instanceof Array){
var colSum=0;
//矫正column值
$.each(dataParams,function(index,item){
colSum+=parseFloat(item.column);
});
$.each(dataParams,function (colIndex,item) {
dataParams[colIndex].column=parseFloat(item.column)/colSum*100+"%";
var colRowSum=0;
//矫正row值
$.each(dataParams[colIndex].row,function(rowIndex,rowItem){
colRowSum+=parseFloat(rowItem.value);
});
$.each(dataParams[colIndex].row,function(rowIndex,rowItem){
dataParams[colIndex].row[rowIndex].value=parseFloat(rowItem.value)/colRowSum*100+"%";
if( dataParams[colIndex].row[rowIndex].hasOwnProperty("layoutData")){
_this(dataParams[colIndex].row[rowIndex].layoutData);
}
});
});
}
//行布局
if(dataParams[0].column instanceof Array){
//矫正row值
var rowSum=0;
$.each(dataParams,function(index,item){
rowSum+=parseFloat(item.row);
});
$.each(dataParams,function (rowIndex,item) {
dataParams[rowIndex].row=parseFloat(item.row)/rowSum*100+"%";
var rowColSum=0;
//矫正column值
$.each(dataParams[rowIndex].column,function(colIndex,colItem){
rowColSum+=parseFloat(colItem.value);
});
$.each(dataParams[rowIndex].column,function(rowColIndex,rowColItem){
dataParams[rowIndex].column[rowColIndex].value=parseFloat(rowColItem.value)/rowColSum*100+"%";
if( dataParams[rowIndex].column.hasOwnProperty("layoutData")){
_this(dataParams[rowIndex].column.layoutData);
}
});
});
}
//console.log("+++++++++++++++++++"+JSON.stringify(dataParams));
return dataParams;
}
/**
* 保存视图方法
* @param param:保存视图名称
* 将容器的id作为指定的容器编号
*/
function saveLayout(param) {
//视图布局参数
var layoutParam=JSON.stringify(proportionalCorrectionData(resolveLayout($("#main_content"))));
//视图制定的模块的链接地址
var saveMatic=eachCon($("#main_content"));
var saveView={name:param,userId:conditionJson["user_id"],roleId:conditionJson["role_id"],param:layoutParam,conId:saveMatic["OL_CONID"],maticId:saveMatic["OL_MATICID"]};
$.post(http_path+"ws/SysLayoutService/SysLayoutService/saveView",saveView,function(result){
if(result["state"]=="SUCCESS"){
loadAside($("#view_list_content"));
$("._add").removeClass("_devide");
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"保存成功!!",
input:"true",
});
//创建节点
alt.create("");
alt=null;
}else{
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"保存失败!",
input:"true",
});
//创建节点
alt.create("");
alt=null;
}
},"json");
}
//获取视图中的链接地址的Id
function eachCon($dom){
var OL_CONID=[];
var OL_MATICID=[];
$dom.find("div[id^='content']").each(function () {
OL_CONID.push($(this).attr("id"));
OL_MATICID.push($(this).data("data"));
});
return {OL_CONID:OL_CONID.join("-"),OL_MATICID:OL_MATICID.join("-")};
}
//删除视图
function deleteView(params){
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"是否需要删除该专题?"
});
//创建节点
alt.create("");
alt=null;
/**
* 确定删除
*/
function fn1(){
$.post(http_path+"ws/SysLayoutService/SysLayoutService/deleteSysLayout",{FD_OBJECTID:params},function(result){
if(result["state"]=="success"){
loadAside($("#view_list_content"));
}else{
}
},"json");
}
function fn2(){
return;
}
}
//设置默认的视图
function setDefault(user_Id,objectId){
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"是否设置为默认视图"});
//创建节点
alt.create("");
alt=null;
function fn1(){
$.post(http_path+"ws/SysLayoutService/SysLayoutService/setDefaultLayout",{fd_objectId:objectId,userId:user_Id,roleId:conditionJson["role_id"]},function(result){
if(result["state"]=="SUCCESS"){
loadAside($("#view_list_content"));
}
},"json");
return;
}
function fn2(){
return ;
}
}
//修改默认视图
function editView(name,objectId,callFunction){
var maticParams=eachCon($("#main_content"));
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"是否修改视图!"});
//创建节点
alt.create("");
alt=null;
function fn1(){
$.post(http_path+"ws/SysLayoutService/SysLayoutService/updateName",{objectId:objectId,name:name,conId:maticParams["OL_CONID"],maticId:maticParams["OL_MATICID"]},function(result){
if(result["state"]=="SUCCESS"){
loadAside($("#view_list_content"));
}
},"json");
}
function fn2(){
callFunction();
return;
}
}
/******************************************************************************三。初始化加载页面***************************************************************************/
/******************************************************************************1。初始化页面************************************************************************/
/******************************************************************************1。为容器加载iframe************************************************************************/
/******************************************************************************1。为容器加载iframe************************************************************************/
/******************************************************************************1。为容器加载iframe************************************************************************/
/******************************************************************************1。为容器加载iframe************************************************************************/
/******************************************************************************1。为容器加载iframe************************************************************************/
/**
* 初始化加载页面
*/
function loadPage($conDom){
/*$($conDom).find("*").each(function(){
$(this).get(0).
})*/
$conDom.find("div[id^='content']").each(function(e) {
var conDom=this;
$(this).append("");
create_bar($(conDom));//创建浮动工具条
});
}
function iframeTYLoadPage(){
loadPage($("#main_content"));
}
//初始化iframe中的数据
/**
* 初始化加载引用页面的地址
* @params:url:后台查询引用地址的路径
* @params:params查询条件
* 通过查询条件的控制,更改后台返回的结果
*/
function changeLayout(url,params){
//初始化动态iframe设置路径
$.post(url,params,function(result){
$("#main_content").find("div[id^='content']").find("iframe").each(function (i) {
for(var index in result.rows){
if(result.rows[index]["OL_CONID"]==$(this).parent().attr("id")){
if(result.rows[i]["OL_MATICURL"].indexOf("http://")==0){
$(this).attr("src",result.rows[i]["OL_MATICURL"]);
}else{
$(this).attr("src",http_path+result.rows[i]["OL_MATICURL"]+window.location.search+"&&conId="+$(this).parent().attr("id"));
}
$(this).parents("div[id^='content']").data("charMenuInfo",result.rows[i]);
$(this).parents("div[id^='content']").data("data",result.rows[i]["OL_MATICID"]);
}
}
});
},"json");
};
/*******************************************************************************************************************************************************************/
/* //创建组选择项list
function accordionMenu($dom,data){
var $divCon=$("
");
if(data.length==0)throw Error("accordionMenu($dom,data)中data的长度为0或者空");
if($dom==null||$dom==undefined)throw new Error("accordionMenu($dom,data)中容器节点不能为空");
for(var item in data){
if(data[item].rows.length==0) continue;
$div=$("");
menuItem($div,data[item]);
$divCon.append($div);
};
$dom.append($divCon);
$dom.append("");
$dom.find("._jsc_close").on("click",function(){
top.destoryMenu();
}).on("mouseenter",function(){
$(this).addClass("_jsc_close_changeImg");
}).on("mouseleave",function(){
$(this).removeClass("_jsc_close_changeImg");
})
}*/
//创建单个选择list
/* function menuItem($dom,data){
$ul=$("");
$h2=$("");
//点击隐藏选择项
$ul.append($h2);
$dom.append($ul);
for(var item1 in data.rows){
$dom.find("ul").last().append(""+data.rows[item1]["TM_NAME"]+"
");
$dom.find("ul").last().find("li").last().data("data",data.rows[item1]);
inAndLeaveAndClick($dom.find("ul").last().find("li").last(),function($dom){
top.changeSite(conditionJson["iframeId"],$dom.data("data"));
top.destoryMenu();
},moveIn,moveOut);
}
$dom.find("._view_list").click(function(){
$(this).parents("._ul_content").toggleClass("_ul_content_hide");
});
}*/
//点击事件增加样式
function click($dom){
if($("._ul_count_content").find("._click_li").size()>0){
$("._ul_count_content").find("._click_li").removeClass("_click_li");
}
$dom.addClass("_click_li");
}
//移入增加样式
function moveIn($dom){
var _this=$dom;
_this.addClass("_movein_li");
}
//移出增加样式
function moveOut($dom){
var _this=$dom;
_this.removeClass("_movein_li");
}
//绑定点击,移入,移出事件
function inAndLeaveAndClick($dom,fn_click,fn_enter,fn_leave){
$dom.on("click",function(){
fn_click($(this));
return false;
});
$dom.on("mouseenter",function(){
fn_enter($(this));
return false;
});
$dom.on("mouseleave",function(){
fn_leave($(this));
return false;
});
}
/**
* 设置浮动容器的高度
* @param $dom
* @param top
* @param left
*/
function setPosition($dom,top,left){
if((parseInt($dom.width())+parseInt(left))<$(window).width()){
$dom.css({left:left+"px"});
}else{
$dom.css({left:parseInt($(window).width())-parseInt($dom.width())-5+"px"});
}
if((parseInt($dom.height())+parseInt(top))<$(window).height()){
$dom.css({top:top+"px"});
}else{
$dom.css({top:parseInt($(window).height())-parseInt($dom.height())+"px"});
}
}
/**
* 更改引用页面的引用地址,并保存到数据库
* @params:conDom引用页面的容器,绑定有初始加载数据,通过绑定的数据进行更改
*/
function changeSite(conId,data){
if(data["TM_URL"].indexOf("http://")==0){
$("#"+conId).find("iframe").attr("src",data["TM_URL"]+window.location.search);
}else{
$("#"+conId).find("iframe").attr("src",http_path+data["TM_URL"]+window.location.search+"&&conId=conId");
}
$("#"+conId).data("data",data["FD_OBJECTID"]);
return false;
}
//展开引用页面的查询状态
//***************************************全屏*************************************************************
/**
* 鼠标点击放大图表事件
* 无二次加载放大
*/
function allScreen($dom){
if( $("body").find("div[class='_zoom']").size()==0){
$conDiv=$("");
$dom.children().each(function(){
$(this).appendTo($conDiv);
});
$conDiv.data("swapData",$dom);
$("body").prepend($conDiv);
$conDiv.find("._toolBarContent").width($conDiv.width());
}else{
$("body").find("div[class='_zoom']").each(function(){
var _dom=$(this).data("swapData");
$(this).children().each(function(){
$(this).appendTo(_dom);
});
$(this).remove();
});
}
}
//展开布局菜单
/**
* 展开布局控制菜单
* createSetMenu(dataParam):布局选择菜单
*/
/**
* @param
*/
function openLayout(dataParam){
if($("#layout_list_iframe").size()>0){
$("#layout_list_iframe").remove();
}
var htmlStr="";
$("body").append(htmlStr);
htmlStr=null;
/*
$("#menu_content").createSetMenu(dataParam);
$("#menu_content").show();
$("#menu_content").css({display:"inline-block"});
$("#content").css({height:(parseInt($(window).height())-parseInt($("#menu_content").height()))/parseInt($(window).height())*100+"%"});*/
}
/**
* 创建浮动工具条:1.展开浮动菜单:(e.data.options,this)
* 2。锁定图层;
* 3,控制查询条件的隐现,changeState(e.data.conDomParam);
* 4,全屏放大
*/
function create_bar(conDom){
//工具条隐藏事件绑定
conDom.on("mouseenter",function(){
//获取子页面配置的工具栏参数
var childToolBar=conDom.find("iframe").get(0).contentWindow.customMadeTool;
var _toolBar=getToolBar(toolBar,childToolBar);
if(conDom.find("._toolBarContent").size()>0){
conDom.find("._toolBarContent").each(function(){
$(this).remove();
});
}
conDom.prepend("");
for(var index in _toolBar){
//添加toolbar按钮
conDom.find("._toolBar").append(" ");
//为按钮绑定动作
conDom.find("._toolBar").find("."+_toolBar[index]["classIcon"]).on("click",{index:index,win:conDom.find("iframe").get(0).contentWindow},function(e){
_toolBar[e.data.index]["fn"](e.data.win,conDom);
}).on("mouseenter",function(){
$(this).addClass("_opacity_100");
}).on("mouseleave",function(){
$(this).removeClass("_opacity_100");
});
}
//设置toolbar容器的宽度
conDom.find("._toolBarContent").width(conDom.width());
}).on("mouseleave",function(){
if(conDom.find("._toolBarContent").size()>0){
conDom.find("._toolBarContent").each(function(){
$(this).remove();
});
}
});
/* //按钮3绑定事件:展开浮动菜单
conDom.find("._content_set_menu").eq(2)
.on("click",function(e){
$("#float_menu_content").createMenu($(this).parent().parent().parent(),e);})
.on("mouseleave",function(){
//鼠标移除,启动自动关闭浮动菜单
setTimeout(function(){
if($("#float_menu_content").data("data")=="0"||$("#float_menu_content").data("data")==undefined){
$("#float_menu_content").css("display","none");
}
},5000);
});
//按钮2绑定事件:放大容器
conDom.find("._content_set_menu").eq(1).on("click",function(e){allScreen(conDom,123);});
//按钮3绑定事件:查询状态
*/
}
/*
* 展开查询条件面板
*/
function fn_search(win,$dom){
//如果存在展开/关闭方法则触发该动作
if( win.switchSearchPlane!=undefined){
win.switchSearchPlane();
}
}
/*
* 页面携带数据刷新
*/
function fn_render(win,$dom){
//如果存在刷新方法则触发刷新方法的动作
if(win.rend!=undefined){
win.rend();
}
}
/**
* 展开专题选择菜单
* @param win
* @param $dom
*/
function fn_list(win,$dom){
$("#float_menu_content").createMenu($dom);
}
/**
* 销毁菜单
*/
function destoryMenu(){
$("#float_menu_content").empty();
$("#float_menu_content").css({display:"none"});
};
/**
* 关闭父页面子页面的id
* @param id iframe页面容器的id
*/
function destoryIframeContent(id){
$(id).empty();
$(id).css({display:"none"});
}
function fn_resource(win,$dom){
$("._tool_peo").toggleClass("_tool_sys");
}
function fn_enlarge(win,$dom){
if($dom.attr("class").indexOf("_zoom_div")==-1?false:true){
$dom.removeClass("_zoom_div");
$dom.css(zoomDiv);
if($("._toolBarContent")!=undefined){
$("._toolBarContent").find("._tool_enlarge").addClass("_tool_narrow");
}
}else{
zoomDiv={width: parseInt($dom.css("width"))/$dom.parent().width()*100+"%",height:parseInt($dom.css("height"))/$dom.parent().height()*100+"%"};
$dom.css({width:$(window).width(),height:$(window).height()});
$dom.addClass("_zoom_div");
if($("._toolBarContent")!=undefined){
$("._toolBarContent").find("._tool_enlarge").removeClass("_tool_narrow");
}
}
$dom.find("._toolBarContent").width($dom.width());
}
//横向移动放大
//代码待删除
function moveDomY(e1){
var flag = true;
if(e1==null)e1 = e1||window.event;
var $conDom=$(this);
var proxyConDom=$conDom.clone();
proxyConDom.addClass("_proxy").width(5).css({top:$conDom.offset().top,left:$conDom.offset().left,width:$conDom.width(),height:$conDom.height(),id:'proxy'});
proxyConDom.appendTo($("body"));
$(document).mousemove(function (e) {
if(e==null)e = e||window.event;
if (flag) { proxyConDom.css({left:e.clientX+"px"});}
});
$("iframe").each(function () {
var _iframe=$(this);
$($(this).get(0).contentWindow.document).mousemove(function (e) {
if(e==null)e = e||window.event;
if (flag) {proxyConDom.css({left:e.clientX+_iframe.offset().left+"px"});}
});
});
$("iframe").each(function () {
$($(this).get(0).contentWindow.document).on("mouseup",function(){
dragResizeY($conDom,proxyConDom.offset().left-$conDom.offset().left);
$("body").remove(proxyConDom);
flag = false;return false;});
});
$(document).on("mouseup",function(){
dragResizeY($conDom,proxyConDom.offset().left-$conDom.offset().left);
proxyConDom.remove();
flag = false;return false;});
return false;
}
/**
* 宗向移动放大
* @param e
*/
function moveDomX(e){
var flag = true;
if(e==null)e = e||window.event;
var $conDom=$(this);
var proxyConDom=$conDom.clone();
proxyConDom.addClass("_proxy").width(5).css({top:$conDom.offset().top,left:$conDom.offset().left,width:$conDom.width(),height:$conDom.height(),id:'proxy'});
proxyConDom.appendTo($("body"));
$(document).mousemove(function (e) {
if(e==null)e = e||window.event;
if (flag) { proxyConDom.css({top:e.clientY+"px"});}
});
$("iframe").each(function () {
var _iframe=$(this);
$($(this).get(0).contentWindow.document).mousemove(function (e) {
if(e==null)e = e||window.event;
if (flag) {proxyConDom.css({top:e.clientY+_iframe.offset().top+"px"});}
});
});
$("iframe").each(function () {
$($(this).get(0).contentWindow.document).on("mouseup",function(){
dragResizeX($conDom,proxyConDom.offset().top-$conDom.offset().top);
proxyConDom.remove();
flag = false;
return false;
});
});
$(document).on("mouseup",function(){
dragResizeX($conDom,proxyConDom.offset().top-$conDom.offset().top);
proxyConDom.remove();
flag = false;return false;});
return false;
}
//移动事件----------------------------------结束
function moveDom1(e){
if(e==null)e = e||window.event;
$("#float_menu_content").css({left:e.clientX+5+ "px" ,top:e.clientY +5+ "px"});
if(($(window).width()-$("#float_menu_content").offset().left-$("#float_menu_content").width())<0){
$("#float_menu_content").css({left:($(window).width()-$("#float_menu_content").width())*0.95+"px"});
}
$("#float_menu_content").height(($(window).height()-$("#float_menu_content").offset().top)*0.9);
// isInContent();
return false;
}
//水平改变尺寸
function dragResizeY($conDom,distance) {
if(distance>0){
if(distance< $conDom.next('._column_content ').width()){
$conDom.next('._column_content ').css("width",(parseFloat($conDom.next('._column_content ').css("width"))-distance)/parseFloat($conDom.parent().css("width"))*100+"%");
$conDom.prev('._column_content ').css("width",(parseFloat($conDom.prev('._column_content ').css("width"))+distance)/parseFloat($conDom.parent().css("width"))*100+"%");
}
}else{
if((-distance)<$conDom.prev('._column_content').width()){
$conDom.prev('._column_content ').css("width",(parseFloat($conDom.prev('._column_content ').css("width"))+distance)/parseFloat($conDom.parent().css("width"))*100+"%");
$conDom.next('._column_content ').css("width",(parseFloat($conDom.next('._column_content ').css("width"))-distance)/parseFloat($conDom.parent().css("width"))*100+"%");
}
}
}
//垂直改变尺寸
function dragResizeX($conDom,distance) {
if((distance)>0){
if(distance< $conDom.next('._row_content ').height()){
$conDom.next('._row_content').css("height",(parseFloat($conDom.next('._row_content ').css("height"))-distance)/parseFloat($conDom.parent().css("height"))*100+"%");
$conDom.prev('._row_content').css("height",(parseFloat($conDom.prev('._row_content ').css("height"))+distance)/parseFloat($conDom.parent().css("height"))*100+"%");
}
}else{
if((-distance)< $conDom.prev('._row_content ').height()){
$conDom.prev('._row_content').css("height",(parseFloat($conDom.prev('._row_content ').css("height"))+distance)/parseFloat($conDom.parent().css("height"))*100+"%");
$conDom.next('._row_content').css("height",(parseFloat($conDom.next('._row_content ').css("height"))-distance)/parseFloat($conDom.parent().css("height"))*100+"%");
}
}
}
/**
* 生成布局
* @param $dom 布局作用的容器
* @param params 布局的参数
* @param interSpace 子容器间的间隔
*/
function createLayout($dom,params,interSpace){
params=$.parseJSON(JSON.stringify(params));
if(interSpace==""&& $dom==""){
console.log(JSON.stringify({params:params}));
$("#main_content").createLayout(params ,$(window).width()*0.003);
}else if(interSpace==""&& $dom!=""){
$dom.createLayout(params,$(window).width()*0.003);
}else if(interSpace!=""&& $dom!=""){
$dom.createLayout(params,interSpace);
}
$("._column_move").each(function(){$(this).on("mousedown",moveDomY).addClass("_drag");});
$("._row_move").each(function(){$(this).on("mousedown",moveDomX).addClass("_drag");});
// loadPage($("#main_content"),"");
}
(function ($) {
//创建布局功能------------------------开始
/**
* @param params 参数格式:[{column:"50%",row:[{id:"content1",value:"100%"}]},{column:"50%",row:[{id:"content2",value:"100%"}]}]
* @param interSpace 间距
*/
$.fn.createLayout=function(params,interSpace){
console.log(JSON.stringify({params:params}));
//制定dom对象
var selfDom=this;
//清空dom对象
$(selfDom).empty();
//@params:layolayoutData:[{row:70%,column:[20%,40%,40%]},{row:50%,column:[30%,50%,20%]}]}
$(selfDom).removeClass("_single_content");
if(!(params[0].row instanceof Array)){
console.log("行布局");
for(var index=0 ,len=params.length;index
");
if(len!==1){
$(selfDom).find("._row_content").last().css("height",(parseFloat(params[index].row)*(1-(len-1)*interSpace/$(selfDom).height()))+"%").css("width","100%");
}else{
$(selfDom).find("._row_content").last().css("height",params[index].row).css("width","100%");
}
/* $(selfDom).find("._row_content").last().css("height",params[index].row).css("width","100%");*/
console.log(JSON.stringify({paramsArr:params}));
console.log("index="+index);
console.log(JSON.stringify(params[index]));
$(selfDom).find("._row_content").last().createColumn(params[index].column,interSpace);
if(index
");
$(selfDom).find("._row_content").last().css("height",(interSpace/ $(selfDom).height()*100)+"%").css("width","100%");
}
}
}else if(!(params[0].column instanceof Array)){
console.log("列布局");
for(var index=0 ,len=params.length;index");
if(len!==1){
$(selfDom).find("._column_content").last().css("width",(parseFloat(params[index].column)*(1-(len-1)*interSpace/$(selfDom).width()))+"%").css("height","100%");
}else{
$(selfDom).find("._column_content").last().css("width",params[index].column).css("height","100%");
}
$(selfDom).find("._column_content").last().createRow(params[index].row,interSpace);
if(index");
$(selfDom).find("._column_content").last().css("width",(interSpace/ $(selfDom).width()*100)+"%").css("height","100%");
}
}
}
return false;
};
//创建布局功能------------------------结束
//创建行----------------------------结束
// @parames:{row:[20%,40%,40%]};
$.fn.createRow=function(e,interSpace){
var selfDom=this;
var params=null;
params=e;
//添加节点
$(selfDom).removeClass("_single_content");
for(var index=0,len=params.length;index");
}else{
$(selfDom).append("");
$(selfDom).find("#"+params[index].id).data("data",params[index].id.substring(1,params[index].id.length));
}
if(len!==1){
$(selfDom).find("._row_content").last().css("height",(parseFloat(params[index].value)*(1-(len-1)*interSpace/$(selfDom).height()))+"%").css("width","100%");
}else{
$(selfDom).find("._row_content").last().css("height",params[index].value).css("width","100%");
}
if(index");
$(selfDom).find("._row_content").last().css("height",(interSpace/ $(selfDom).height()*100)+"%").css("width","100%");
}
if(params[index].layoutData instanceof Array){
$(selfDom).find("._row_content").last().createLayout(params[index].layoutData,interSpace);
}
};
};
//创建行---------------------------结束
//创建列---------------------------开始
// @parames:{column:[20%,40%,40%]};
$.fn.createColumn=function(params,interSpace){
var selfDom=this;
$(selfDom).removeClass("_single_content");
console.log(JSON.stringify({column:params}));
//添加节点
for(var index=0,len=params.length;index");
}else{
$(selfDom).append("");
$(selfDom).find("#"+params[index].id).data("data",params[index].id.substring(1,params[index].id.length));
}
// $(selfDom).find("._column_content").last().css("width",params[index].value).css("height","100%");
if(len!==1){
$(selfDom).find("._column_content").last().css("width",(parseFloat(params[index].value)*(1-(len-1)*interSpace/$(selfDom).width()))+"%").css("height","100%");
}else{
$(selfDom).find("._column_content").last().css("width",params[index].value).css("height","100%");
}
if(index");
$(selfDom).find("._column_content").last().css("height","100%").css("width",(interSpace/ $(selfDom).width()*100)+"%");
}
if(params[index].layoutData instanceof Array){
$(selfDom).find("._column_content").last().createLayout(params[index].layoutData,interSpace);
}
};
};
//创建列---------------------------开始
//创建生成li功能-----------------------------开始
$.fn.createLi=function(dataParams,fn_option){
var selfDom=this;
$(selfDom).append("");
for(var index=0,len=dataParams.items.length;index");
$(selfDom).find("ul").find("li").last().data("layouParams",dataParams.items[index].layoutData)
.on("click",function(){fn_option($(this).data("layouParams"));});
$(selfDom).find("li").last().on("mouseenter",function(){
$(this).addClass("_fn_mouse");}).on("mouseleave",function(){
$(this).removeClass("_fn_mouse");}).on("click",function(){
$(this).siblings().each(function() {
$(this).removeClass("_fn_click_layout");
});
$(this).addClass("_fn_click_layout");
});;
}
return false;
};
//创建生成li功能-----------------------------结束
//创建选择菜单/销毁菜单-------------------------------开始
$.fn.createMenu=function($dom){
$("#float_menu_content").empty();
$("#float_menu_content").append("")
$("#float_menu_content").css({display:"inline-block"});
};
//创建选择菜单-------------------------------结束
//创建自定义布局菜单------------------------------开始
$.fn.createSetMenu=function(e){
var options=e;
$(this).empty();
$(this).append("");
/*$("#menu_switch").show();布局菜单按钮开关控制*/
$(this).find("._set_menu").createLi(options.layoutParams,function(a){
$("#"+options.layoutParams.dom).createLayout(a,$(window).width()*0.003);
$("._column_move").each(function(){$(this).on("mousedown",moveDomY).addClass("_drag");});
$("._row_move").each(function(){$(this).on("mousedown",moveDomX).addClass("_drag");});
loadPage($("#"+options.layoutParams.dom));
return false;
});
$(this).find("._set_menu").append("");
$(this).find("._set_menu").find("input[type='button']").on("click",{$dom: $(this)},function(e){
var alt=new Alert({ok:fn1,cancle:fn2},
{text:"视图名称:!",
input:"true",
});
//创建节点
alt.create("");
alt=null;
/* var diag = new top.Dialog();
diag.Title = "视图名称";
diag.Height=100;
diag.Width=300;
diag.URL = path+"page/cockpit/webgis/layoutName.jsp";
diag.OKEvent = function(){
var inputValue = diag.innerFrame.contentWindow.document.getElementById('layoutName').value;
diag.close();
saveLayout(inputValue);
$("#menu_content").empty();
$("#menu_content").hide();
$("#content").css({height:"100%"});
};
diag.CancelEvent=function(){
diag.close();
}
diag.show();*/
});
return false;
};
//创建自定义菜单------------------------------结束
})(jQuery);