Jquery-easyui工具easyuiUtils

严玉泽
2023-12-01
/**
 * 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:'字段不匹配'
    }
           
});

 类似资料: