/**
* @deprecated 弹出窗口组件,基于easyui-1.3.2+,
* @author caonq
* @version 0.1
*/
var popWin={
setupNum:1,
buttons:[],
//初始化组件。
init:function(){
if(parent.$("#_pop_winParent").length>0){
parent.$("#_pop_winParent").remove();
}
$('<div id="_pop_winParent"><div id="_pop_win"></div></div>').appendTo(window.top.document.body);
},
//初始化消息列表组件
initMsgList:function(){
if($("#_pop_winParent").length>0){
$("#_pop_winParent").remove();
}
$('<div id="_pop_winParent"><div id="showMsgList"><div id="msgDetail"></div></div></div>').appendTo("body");
},
/**
* 多条提示信息以列表的方式显示
* @param msg 已格式化的提示信息
* @param width 宽度 默认600
* @param height 高度 默认300
*/
popMsgList:function(msg,width,height){
popWin.initMsgList();
$("#msgDetail").append(msg);
$("#showMsgList").dialog({
closed:true,
closable:false,
title:"提示消息",
resizable:true,
maximizable:false,
modal:true,
width:width==undefined?'600':width,
height:height==undefined?'300':height,
buttons: [{
text:'关闭',
handler:function(){
$("#showMsgList").dialog("destroy").remove();
}
}]
});
$("#showMsgList").dialog("open");
},
init_1:function(){
if(parent.$("#_pop_winParent_1").length>0){
parent.$("#_pop_winParent_1").remove();
}
$('<div id="_pop_winParent_1"><div id="_pop_win_1"></div></div>').appendTo(window.top.document.body);
},
//打开明细画面。只有关闭按钮
popView:function(url,title,width,height){
popWin.init();
var content = '<iframe id="_dialogFrame" name="_dialogFrame" src="' + url + '" width="100%" height="99%" frameborder="0" scrolling="auto"></iframe>';
parent.$("#_pop_win").dialog({
closed:true,
closable:false,
title:" ",
content: content,
resizable:true,
maximizable:true,
modal:true,
width:width==undefined?'800':width,
height:height==undefined?'600':height,
buttons: [{
text:'关闭',
iconCls:'icon-cancel',
handler:function(){
popWin.close();
}
}]
});
parent.$("#_pop_win").dialog("open");
},
//打开明细画面,被打开的页面js有效,有提交和关闭按钮
popEdit:function(url,title,width,height){
popWin.init();
var content = '<iframe id="_dialogFrame" name="_dialogFrame" src="' + url + '" width="100%" height="99%" frameborder="0" scrolling="auto"></iframe>';
parent.$("#_pop_win").dialog({
closed:true,
closable:false,
title:" ",
content: content,
maximizable:true,
resizable:true,
modal:true,
width:width==undefined?'800':width,
height:height==undefined?'600':height,
buttons: [{
text:'提交',
id:'save-button',
iconCls:'icon-save',
handler:function(){
popWin.submit();
}
},{
text:'关闭',
iconCls:'icon-cancel',
id:'close-button',
handler:function(){
popWin.close();
}
}]
});
parent.$("#_pop_win").dialog("open");
},
//有下一步的弹出窗口
popNext:function(url,title,steps,width,height){
popWin.init();
if(steps==undefined||steps==1){
popWin.popEdit(url,title,width,height);
}else{
if(popWin.setupNum<steps){
var content = '<iframe id="_dialogFrame" name="_dialogFrame" src="' + url + '" width="100%" height="99%" frameborder="0" scrolling="auto"></iframe>';
parent.$("#_pop_win").dialog({
closed:true,
closable:false,
title:" ",
content: content,
maximizable:true,
resizable:true,
modal:true,
width:width==undefined?'800':width,
height:height==undefined?'600':height,
buttons: [{
text:'上一步',
id:'back-button',
iconCls:'icon-back',
handler:function(){
popWin.backSubmit();
}
},
{
text:'跳过',
id:'skip-button',
iconCls:'icon-ok',
handler:function(){
popWin.skipSubmit();
}
},
{
text:'下一步',
id:'save-button',
iconCls:'icon-ok',
handler:function(){
if(popWin.setupNum!=steps){
popWin.nextSubmit(steps);
}else{
popWin.submit();
}
}
},{
text:'取消',
iconCls:'icon-cancel',
id:'close-button',
handler:function(){
popWin.close();
}
}]
});
parent.$("#skip-button").hide();
parent.$("#back-button").hide();
parent.$("#_pop_win").dialog("open");
}
}
},
//内部调用,外部不需调用
data:function(){
var win = window.parent.document.getElementById('_dialogFrame').contentWindow;
var winHtml=win.document.body;
var form=$(winHtml).find(".popWin");
if(form.size()>0){
var action=form.attr("action");
var submitCheck=form.attr("submitCheck");
var check;
if(submitCheck==""||submitCheck==undefined){
check=true;
}else{
check=eval("parent.$(\"#_dialogFrame\")[0].contentWindow."+submitCheck);
}
if(check){
return {actionUrl:action,fromData:form.serialize()};
}
}else{
//$.messager.alert("错误信息","获取表单数据出错,请联系开发者!","error");
}
return null;
},
//带自定义按钮的dialog
definedWin:function(url,title,width,height){
popWin.init();
var content = '<iframe id="_dialogFrame" name="_dialogFrame" src="' + url + '" width="100%" height="99%" frameborder="0" scrolling="auto"></iframe>';
parent.$("#_pop_win").dialog({
closed:true,
closable:false,
title:" ",
content: content,
maximizable:true,
resizable:true,
modal:true,
width:width==undefined?'800':width,
height:height==undefined?'600':height,
buttons:popWin.buttons
});
parent.$("#_pop_win").dialog("open");
},
/**
* 描述:
* 用法:
* @param url 需要在dialog中打开的页面的地址
* @param title dialog的标题(目前无效,默认为空格)
* @param width dialog的宽度,不定义的话默认800
* @param height dialog的高度,不定义的话默认600
*/
definedWin_1:function(url,title,width,height){
popWin.init_1();
var content = '<iframe id="_dialogFrame_1" name="_dialogFrame" src="' + url + '" width="100%" height="99%" frameborder="0" scrolling="auto"></iframe>';
parent.$("#_pop_win_1").dialog({
closed:true,
closable:false,
title:" ",
content: content,
maximizable:true,
resizable:true,
modal:true,
width:width==undefined?'800':width,
height:height==undefined?'600':height,
buttons:popWin.buttons
});
parent.$("#_pop_win_1").dialog("open");
},
/**
* 描述:执行dialog中的函数
* 用法:在使用popWin.definedWin,popWin.popView,popWinEdit方法的页面中使用popWin.runFunc执行dialog中的方法。
* @param func dialog中的函数
* @returns
*/
runFunc:function(func){
return eval("parent.$(\"#_dialogFrame\")[0].contentWindow."+func);
},
/**
* 描述:调用父页面的函数。
* 用法:先定义popWin.pFunc,然后使用popWin.runParentfunc调用父页面的函数
*/
runParentfunc:function(){
return eval(popWin.pFunc);
},
/**
* 描述:定义需调用父页面的函数
* 用法:当使用popWin.definedWin,popWin.popView,popWinEdit方法前赋值,可以在打开的dialog中使用popWin.runParentfunc调用父页面的函数
*/
pFunc:"",
/**
* 在使用popWin.definedWin_1的页面执行弹出的dialog中页面的函数。
* @param func :弹出的dialog中页面的函数
* @returns 函数的返回值
*/
runFunc_1:function(func){
return eval("parent.parent.$(\"#_dialogFrame_1\")[0].contentWindow."+func);
},
/**
* 描述:关闭dialog。
* 用法:当调用popWin.definedWin,popWin.popView,popWinEdit方法,需要关闭打开的dialog时使用popWin.close关闭dialog。
*/
close:function(){
parent.$("#_pop_win").dialog("destroy").remove();
this.setupNum=1;
},
/**
* 描述:关闭dialog。
* 用法:当调用popWin.definedWin_1方法,需要关闭打开的dialog时使用popWin.close_1关闭dialog。
*/
close_1:function(){
parent.$("#_pop_win_1").dialog("destroy").remove();
//parent.$("#_pop_winParent_1").append("<div id='_pop_win_1'></div>" );
this.setupNum=1;
},
/**
*描述:dialog-Toolbar的确认按钮按钮的动作,内部调用
*用法:在有确认按钮的画面中,需要提交的表单增加form的属性:class='popWin' submitCheck='form表单提交校验的方法' action='提交动作的提交地址'
*(提示:submitCheck的方法为校验方法,校验没过的请return false,校验过的话return true,不能只用return)'
*/
submit:function(){
var returnData=popWin.data();
if(returnData!=null){
$.ajax({
url:returnData.actionUrl,
data:returnData.fromData,
async:false,
type:"POST",
success:function(data){
top.$.messager.alert("提示信息",data.o_msg,"",function(data_){
if(popWin.pFunc!=""){
popWin.runParentfunc();
}
});
popWin.close();
},
error:function(){
top.$.messager.alert("错误信息","提交表单出错,请联系开发者!","error");
popWin.close();
}
});
}
},
/**
*描述:dialog-Toolbar的下一步按钮按钮的动作,内部调用
*用法:在有下一步按钮的画面中,需要提交的表单增加form的属性:class='popWin' submitFunc='下一步按钮的方法' action='下一步动作的提交地址'
*(提示:submitFunc的方法为正常的form表单提交,校验没过的请return false,不要只return)'
*/
nextSubmit:function (steps){
ifr=parent.$('#_dialogFrame').contents();
var form=parent.$(ifr).find(".popWin");
var func=form.attr("submitFunc");
subFg=eval("parent.$(\"#_dialogFrame\")[0].contentWindow."+func);
if(subFg!=false){
popWin.setupNum = popWin.setupNum+1;
if(popWin.setupNum==steps){
parent.$("#save-button").find(".l-btn-text").text("确定");
parent.$("#save-button").find(".l-btn-icon.icon-next").attr("class","l-btn-icon icon-save");
parent.$("#close-button").find(".l-btn-text").text("关闭");
parent.$("#back-button").show();
}
}
},
/**
*描述:dialog-Toolbar的上一步按钮的动作,内部调用
*用法:在有上一步按钮的画面中,需要提交的表单增加form的属性:class='popWin' backFunc='上一步按钮的方法' action='上一步动作的提交地址'
*(提示:backFunc的方法为正常的form表单提交,校验没过的请return false,不要只return。)'
*/
backSubmit:function(){
ifr=parent.$('#_dialogFrame').contents();
var form=parent.$(ifr).find(".popWin");
var func=form.attr("backFunc");
subFg=eval("parent.$(\"#_dialogFrame\")[0].contentWindow."+func);
if(subFg!=false){
popWin.setupNum = popWin.setupNum-1;
}
parent.$("#save-button").show();
if(popWin.setupNum > 1){
parent.$("#back-button").show();
}else{
parent.$("#back-button").hide();
}
parent.$("#save-button").find(".l-btn-text").text("下一步");
},
/**
*描述:dialog-Toolbar的跳过按钮的动作,内部调用
*用法:在有跳过按钮的画面中,需要提交的表单增加form的属性:class='popWin' skipFunc='跳过按钮的方法 action='跳过动作的提交地址'
*(提示:skipFunc的方法为正常的form表单提交,校验没过的请return false,不要只return)'
*/
skipSubmit:function(){
ifr=parent.$('#_dialogFrame').contents();
var form=parent.$(ifr).find(".popWin");
var func=form.attr("skipFunc");
subFg=eval("parent.$(\"#_dialogFrame\")[0].contentWindow."+func);
if(subFg!=false){
popWin.setupNum = popWin.setupNum+1;
}
}
};