var contextPath = $('script:first').attr('src');
contextPath = contextPath.substr(0, contextPath.indexOf('/ui/lib/'));
$(function(){
$(window).resize(function(){
if($('.dialog-wrap').size() > 0){
$('.dialog-wrap').dialog('center');
}
});
});
/**
* 打开窗口
*
* @param url
* @param width
* @param height
* @param options
* @param id
* @returns
*/
function openDialog(url, width, height, options, id) {
var tmp_id = "";
if (typeof (id) == 'undefined') {
tmp_id = 'dialog_id_' + new Date().getTime();
} else {
tmp_id = id;
}
var dialogContent = top
.$('
'
+ '
');
var opt = {
title : ' ',
width : width,
height : height,
closed : false,
cache : false,
parentWindow : window,
modal : true,
onOpen : function() {
dialogContent.find('iframe[name=dialog_frame]').attr('src',
url).attr('data-dialog-id', tmp_id);;
}
};
$.extend(opt, options);
dialogContent.dialog(opt);
}
/**
* 获得父页面Window对象
*
* @returns
*/
function getParentWindow() {
var tb = getDialog();
return tb.dialog('options').parentWindow;
}
/**
* 刷新父页面
*
* @returns
*/
function refreshParentWindow() {
getParentWindow().location.reload();
}
/**
* 获得当前窗口
*
* @returns
*/
function getDialog() {
var url = window.location.href;
var tb = $(window.frameElement).attr('data-dialog-id');
return top.$('div#' + tb);
}
/**
* 关闭窗口
*
* @param refreshParent
* @returns
*/
function closeDialog(refreshParent) {
var tb = getDialog();
if (refreshParent == true) {
refreshParentWindow();
}
window.setTimeout(function(){
tb.dialog('close');
tb.dialog('destroy');
}, 0);
}
/**
* 通过隐藏的Iframe提交表单
*
* @param url
* @returns
*/
function hideSubmit(url){
var size = $('body#hiddenSubmit').size();
if(size==0){
$('body').append('');
}
$('body#hiddenSubmit').attr('src',url);
}
/**
* Ajax方式提交表单
*
* @param url
* @param setting
* @returns
*/
function ajaxSubmit(url,setting){
var opt = {
type:'json',
error:function(a,b,msg){alert('操作失败');},
success:function(){},
data:null
};
opt = $.extend(opt, setting);
$.ajax({
type: "post",
url: url,
dataType: opt.type,
error : opt.error,
data:opt.data,
success : opt.success
});
}
$(function(){
// 不可用控件样式
$(':disabled').addClass('disabled');
// 不可编辑控件样式
// $('[readonly]').addClass('readonly');
// 日历
if(typeof($dp)!='undefined'&&typeof(WdatePicker)!='undefined'&&jQuery.fn.jcalendar){
$('.jcalendar').jcalendar();
}
// 校验
if(typeof($.validity) != 'undefined'){
$.validity.setup({
outputMode:"showErr",
elementSupport : ":text, :password, textarea, select, :radio, :checkbox, input[type='hidden'], input[type='tel'], input[type='email'], input[type='file']"
});
}
// Ajax提交表单
$('form[data-posttype=ajax]').each(function(index, element){
var form = $(element);
form.on('submit', function(){
var url = form.attr('action');
var submitBtn = $(form.find('[type=submit]'));
var data = form.serialize();
submitBtn.attr('disabled',true).addClass('disabled');
$.ajax({
type: "post",
url: url,
data:data,
dataType: "script",
error : function(a,b,msg){
submitBtn.attr('disabled',false).removeClass('disabled');
alert('操作失败');
}
});
return false;
});
});
// tip小提示
if(jQuery.fn.poshytip){
jQuery.fn.tip = jQuery.fn.poshytip;
// tip基本配置
var tipDefaultConfig = {
className: 'tip-yellowsimple',
alignTo: 'target',
alignX: 'right',
alignY: 'center',
offsetX: 5,
fade: false,
slide: false
};
$('.tip[title]').tip($.extend({},tipDefaultConfig,{showOn: 'focus'}));
$('.help[title]').tip($.extend({},tipDefaultConfig,{alignX: 'center',alignY: 'top', offsetY: 5}));
}
// 复选框
$(':checkbox').each(function(index,element){
var data_values = $(element).attr('data-value');
if(data_values){
var list_data = eval(data_values);
var length = $(list_data).size();
// 如果是数组
if(length >= 1 && $.isArray(list_data)){
$.each(list_data,function(i, n){
if(n == $(element).val()){
$(element).attr("checked",true);
}
});
}else{
if(data_values.indexOf(',') > -1){
var data_value = data_values.split(',');
$.each(data_value,function(i, n){
if(n == $(element).val()){
$(element).attr("checked",true);
}
});
}else{
if(data_values == $(element).val()){
$(element).attr("checked",true);
}
}
}
}
});
// 单选框
$(':radio').each(function(index,element){
var data_value = $(element).attr('data-value');
if(data_value){
if(data_value == $(element).val()){
$(element).attr("checked",true);
}
}
});
});
if(top.$.messager){
//弹出提示 error、info、question、warning
window.alert = function (msg,type,fu){
top.$.messager.alert(' ',msg,type,fu);
};
// 弹出确认框
window.confirm = function(msg,okCall,cancelCall){
msg = msg.replace(/\n/g, '
');
top.$.messager.confirm(' ',msg,function(flag){
if(flag){
if(typeof(okCall) != 'undefined'){
okCall();
}
}else{
if(typeof(cancelCall) != 'undefined'){
cancelCall();
}
}
});
};
}
// 获得URL中的参数值
$.extend({
getUrlParam: function(name, url) {
url = url ? url : window.location.href;
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = url.substr(url.indexOf("\?")+1).match(reg);
if (r!=null) {
return unescape(r[2]);
}
return null;
}
});
/**
* 获得一个tree实例
* @param setting json格式参数:{domPath:树的dom路径,默认为top.menu, treeDomId:树的dom的Id,默认为tree}
* @returns tree
*/
var Tree = {
getInstance:function(setting){
var options = {
domPath : top.menu,
treeDomId : 'tree'
};
options = $.extend(options, setting);
return options.domPath.$('#'+options.treeDomId).tree();
}
};
/**
* 改变树和列表页
* @param menuSrc 菜单url
* @param pageSrc 页面url
* @param isCookie 是否记录cookie
* @return
*/
function changeMainFrame(menuSrc, pageSrc, isCookie){
top.menuUrl = menuSrc;
top.$('#menu').attr('src', menuSrc);
top.pageUrl = pageSrc;
top.$('#page').attr('src', pageSrc);
top.initLayout();
top.$.cookie('menuUrl', null, {path: top.cookiePath});
top.$.cookie('pageUrl', null, {path: top.cookiePath});
if(isCookie){
top.$.cookie('menuUrl', menuSrc, {path: top.cookiePath});
top.$.cookie('pageUrl', pageSrc, {path: top.cookiePath});
}
}