Jquery-easyui工具easyuiUtils

Posted S1ow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jquery-easyui工具easyuiUtils相关的知识,希望对你有一定的参考价值。

/**
 * EasyUI 工具类
 * 
 * @date 2015年5月9日 下午2:27:47
 */
var EasyUiUtil = 

	/**
	 * 通用消息提示
	 */		
	message : 

		"SUCCESS" : "操作成功",
		"ERROR" : "操作失败"
	,
	
	/**
	 * 开启loading状态
	 * 
	 */
	showLoading : function(msg)
		$("<div class=\\"datagrid-mask\\"></div>").css(
			display : "block",
			width : "100%",
			zIndex:99999,
			height : $(window).height()
		).appendTo("body");
		$("<div class=\\"datagrid-mask-msg\\"></div>").html(msg).appendTo(
				"body").css(
			display : "block",
			zIndex:99999,
			left : ($(document.body).outerWidth(true) - 190) / 2,
			top : ($(window).height() - 45) / 2
		);
	,
	
	//文本溢出省略号
	formatContent: function(val, row) 
		if(!isEmpty(val))
			if(val.length > 10)
				var vs = val.substring(0, 10);
	            return '<a href="javascript:void(0);" title="'+val+'" class="easyui-tooltip">'+vs+'</a>'+'...';
			else
				return '<a href="javascript:void(0);" title="'+val+'" class="easyui-tooltip">'+val+'</a>';
			
		else
			return "/";
		
    ,
    
	/**
	 * 关闭loading状态
	 */
	closeLoading : function()
		$(".datagrid-mask").remove();
		$(".datagrid-mask-msg").remove();
	,
	
	/**
	 * 关闭模态窗口
	 * 
	 * @param String
	 *            win 模态窗口ID
	 * @param String
	 *            options 模态窗口属性
	 */
	showWindow : function(win, options) 
		$("#" + win).window(options);
	,

	/**
	 * 关闭模态窗口
	 * 
	 * @param String
	 *            win 模态窗口ID
	 */
	closeWindow : function(win) 
		$("#" + win).window('close');
	,
	
	/**
	 * form表单属性转JSON格式
	 * 
	 * @param String
	 *            formId 当前表单的ID值
	 * @return String
	 */
	form2Json : function(formId) 
		var arr = $('#' + formId).serializeArray();
		var jsonStr = "";
		jsonStr += '';
		for (var i = 0; i < arr.length; i++) 
			var jName =arr[i].name.replace(/\\"/g,"'").replace(/\\\\/g,"\\\\\\\\");
			var jValue = arr[i].value.replace(/\\"/g,"'").replace(/\\\\/g,"\\\\\\\\");
			jsonStr += '"' + jName.replace(/[\\r\\n]/g, "") + '":"' + jValue.replace(/[\\r\\n]/g, "") + '",';
		
		jsonStr = jsonStr.substring(0, (jsonStr.length - 1));
		jsonStr += '';
		var json = JSON.parse(jsonStr);
		
		return json;
	,
	
	/**
	 * 字符串转JSON格式
	 * 
	 * @param String
	 *            str 字符串
	 * @return String
	 */
	str2Json : function(str) 
		return JSON.parse(str);
	,

	/**
	 * Json转字符串
	 * 
	 * @param String
	 *            jsonStr json字符串
	 * @return String
	 */
	json2Str : function(jsonStr) 
		return JSON.stringify(jsonStr);
	,

	/**
	 * EasyUi通用提示
	 * 
	 * @param String msgType 类型
	 * @return String
	 */
	alert : function(msgType) 
		if (msgType.toLowerCase() == 'success') 
			$.messager.alert('提示', EasyUiUtil.message.SUCCESS,'info');
		 else if (msgType.toLowerCase() == 'error') 
			$.messager.alert('提示', EasyUiUtil.message.ERROR, 'error');
		

	,
	
	/**
	 * add by wesley.wei
	 * 去除数组重复数据
	 * @param data 数组
	 * @returns 
	 */
	uniqueArray:function(data) 
		data = data || [];
		var a = ;
		for (var i = 0; i < data.length; i++) 
			var v = data[i];
			if (typeof (a[v]) == 'undefined') 
				a[v] = 1;
			
		
		data.length = 0;
		for ( var i in a) 
			data[data.length] = i;
		
		return data;
	,
	
	/**
     * 返回yyyy-MM-dd HH:mm格式 
     * 
     */
    dateTimeFormatter: function (value, rec, index) 
    	if(value != undefined && value != 'undefined')
			var t = value.lastIndexOf(":");
    		return value.substr(0,t);
		
		return value;
    ,
    
    /**
     * 返回yyyy-MM-dd格式 
     * 
     */
    dateFormatter: function (value, rec, index) 
    	if(value != undefined && value != 'undefined')
			var t = value.split(' ');
    		return t[0];
		
		return value;
    ,
    
	//格式化金钱
	formatPrice : function(value, row)
		if(value != undefined && value != 'undefined' && value != 0)
			return accounting.formatNumber(value,2);
		else
			return "/";
		
	,
	
	//动态Tab
	addTab : function(element,title,url)
		if ($('#'+element+'').tabs('exists', title))    
	        $('#'+element+'').tabs('select', title);    
	     else     
	        $('#'+element+'').tabs('add',    
	            title:title,    
	            href:url,    
	            closable:true    
	        );    
	        
	,
	
	/**
	 * 判断form内属性值是否被修改
	 * 
	 * @param jsonForm 对应修改的form序列化后的json数据
	 * @param row 对应datagrid选中的数据源
	 * 
	 * @Return true  存在修改项
	 * 		   false 不存在修改项
	 */
	isModified:function(jsonForm,row)
		for(key in jsonForm)
			//form中存在,但数据源datagrid中不存在
			if(row[key] == undefined)
				continue;
			
			//form中""或null,但数据源datagrid中为null或""时,不进行比较
			if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == '')))
				//如果值不同,则返回true
				if(jsonForm[key] != row[key])
					return true;
			
		
		return false;
	,
	
	/**
	 * 获取form被修改信息
	 * 
	 * @param jsonForm 对应修改的form序列化后的json数据
	 * @param row 对应datagrid选中的数据源
	 * @param columnJSModel 为表单form中name属性中英对照js,需在update.jsp中引用此js文件
	 * 
	 * @Return json  数据如:["updateColumn":"loanRatio","updateColName":"贷款额比例","updateContent":"由11变更为100.00",
	 * 			"updateColumn":"loanQuotaTypeName","updateColName":"贷款额比例形式","updateContent":"由油卡变更为实物"]
	 * 
	 */
	getModifiedField:function(jsonForm,row,columnJSModel)
		var modifiedArry = [];
		var jsonArrStr = '';
		for(key in jsonForm)
			//form中存在,但数据源datagrid中不存在
			if(row[key] == undefined)
				continue;
			
			//form中""或null,但数据源datagrid中为null或""时,不进行比较
			if(!((jsonForm[key] == null || jsonForm[key] == '') && (row[key] == null || row[key] == '')))
				//如果值不同,则返回true
				if(jsonForm[key] != row[key])
					var jsonObj = ;
					
					jsonObj.updateColumn = key;
					jsonObj.updateColName = columnJSModel[key];
					jsonObj.updateContent = '由'+ row[key] + '变更为' + jsonForm[key];
					
					modifiedArry[modifiedArry.length] = jsonObj;
				
			
		
		jsonArrStr = JSON.stringify(modifiedArry);
		//console.log(jsonArrStr);
		return jsonArrStr;
	

;

$.extend($.fn.validatebox.defaults.rules,   
    /*必须和某个字段相等*/
    equalTo: 
        validator:function(value,param)
            return $(param[0]).val() == value;
        ,
        message:'字段不匹配'
    
           
);

以上是关于Jquery-easyui工具easyuiUtils的主要内容,如果未能解决你的问题,请参考以下文章

jquery-easyui

Jquery-EasyUI

jQuery-EasyUI

Easyui 修改|新增jquery-easyui icon图标

JQuery-Easyui----Resizable( 调整大小) 组件

快递物流管理系统(SSM,JQUERY-EASYUI,MYSQL)