FieldVerifyBatchModify_wev8.js 3.88 KB
jQuery(document).ready(function($){
	var customid = jQuery("#batcheditCustomid").val();
	var verifyFieldObj = {};
	$.ajax({
		url: "/formmode/setup/customSearchActionForFront.jsp?action=getVerifyField&customid="+customid,
		cache: false,
		success: function(responseText, textStatus){
			verifyFieldObj = eval("(" + responseText + ")");
		}
	});
	
	$.aop.around({target: document.batcheditForm, method: 'submit'},function(invocation){
		try{
			
			
			var tablemax = jQuery("#tableMax").val();
			var table=jQuery("#_xTable");
			var verifyField = verifyFieldObj.VerifyField;
			var primaryKeyPluginName = verifyFieldObj.primaryKeyPluginName;
			var detailPrimaryKeyPluginName = verifyFieldObj.detailPrimaryKeyPluginName;
			var fields = "";
			jQuery.each(verifyField, function(index, verify) {
				fields += verify.fieldids+",";
			});
			
			if(fields == "") {
				invocation.proceed();
				return;
			}
			
			var fieldArray = fields.split(",");
			var verifyDataObj = new Array();
			for(var i =0; i<tablemax; i++) {
				var fieldvalues = {};
				jQuery.each(fieldArray,function(index, fieldid){
					fieldvalues["pluginName"+fieldid] =getValue(table,"pluginName"+fieldid+"_"+i);
				});
				fieldvalues[primaryKeyPluginName] =getValue(table,primaryKeyPluginName+"_"+i);
				if(detailPrimaryKeyPluginName) {
					fieldvalues[detailPrimaryKeyPluginName] = getValue(table,detailPrimaryKeyPluginName+"_"+i);
				}
				fieldvalues["^_^rownum^_^"] = i; 
				verifyDataObj.push(fieldvalues);
			}
			var jsonstr = JSON.stringify(verifyDataObj);
			var language=readCookie("languageidweaver");
			var loadText = "数据唯一性验证中,请等待...";
			e8showAjaxTips(loadText,true,"xTable_message");
			jQuery("#e8showAjaxTip").css("position","fixed");
			$.ajax({
				url: "/formmode/setup/customSearchActionForFront.jsp?action=VerifyData",
				cache: false,
				data: "data="+encodeURI(jsonstr)+"&customid="+customid, 
				dataType: 'json',
				type: 'POST',
				success: function(res){
					if(res.verify) {
						doAlert(res, function(){
							invocation.proceed();
							var language=readCookie("languageidweaver");
							var loadText = SystemEnv.getHtmlNoteName(3403,language);
							e8showAjaxTips(loadText,true,"xTable_message");
							jQuery("#e8showAjaxTip").css("position","fixed");
						});
					} else {
						invocation.proceed();
						var language=readCookie("languageidweaver");
						var loadText = SystemEnv.getHtmlNoteName(3403,language);
						e8showAjaxTips(loadText,true,"xTable_message");
						jQuery("#e8showAjaxTip").css("position","fixed");
					}
				}
			});
			
		}catch(e){
			alert("error");
			console.log(e);
		}
		return;
	
	});
	function getValue(table,name){
		return table.find("[name="+name+"]").val();
	}
	function doAlert(res, func, func1) {
		var detail = res.detail;
		jQuery.each(detail, function(index, elem) {
			var fields = elem.fields;
			var verifyid = elem.verifyid;
			var rownums = elem.rownums;
			addClass(rownums, fields, verifyid);
		});
		if(typeof(e8showAjaxTips)=='function'){
			e8showAjaxTips("",false);
		}
		var height = res.height;
		if(height){
			height+=50;
		} else {
			height = 50;
		}
		var operate = res.operate;
		if(!operate){
			operate = "0";
		}
		if(operate == "0") {
			window.top.Dialog.alert(res.msg,function(){
			},327,height);
		} else {
			if(res.confirmbefore) {
				doAlert(res.confirmbefore, 
						function(){
							Dialog.confirm(res.msg,func,func1,327,height,true,null,"继续","取消");
						},
						function(){
						}
				);
			} else {
				Dialog.confirm(res.msg,func,func1,327,height,true,null,"继续","取消");
			}
		}
	}
	function addClass(rownums, fields, verifyid) {
		var table=jQuery("#_xTable");
		jQuery.each(rownums,function(index,elem) {
			jQuery.each(fields,function(index, field) {
				var fieldid = field.fieldid;
				table.find("[name=pluginName"+fieldid+"_"+elem).closest("td").addClass("verifyFail_"+verifyid);
			});
		});
		
	}
});