quoteFieldTemplate.jsp 6.69 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<style type="text/css">
	.quotebtn{
		width: 21px; height:21px; margin-right:5px; border:none; cursor:pointer;
		background: url(/images/ecology9/workflow/quotefield_wev8.png) no-repeat;
	}
	.quotebtn:hover{
		background: url(/images/ecology9/workflow/quotefield_hot_wev8.png) no-repeat;
	}
</style>
<script type="text/javascript">
//引用主表模板字段
function quoteMainField(){
	var dialog = new window.top.Dialog();
	dialog.currentWindow = window;	
	dialog.Width = 600;
	dialog.Height = 700;
	dialog.Modal = true;
	dialog.Title = "<%=SystemEnv.getHtmlLabelName(18214, user.getLanguage())%>";
	dialog.URL = "/workflow/field/choooseTemplateField.jsp?isdetail=0";
	dialog.show();
	dialog.callbackfun = function(paramobj,datas){
		var fieldids = datas["id"];
		if(fieldids.length == 0)	return;
		jQuery.ajax({
			type: "post",
			url: "/workflow/field/templateFieldAjax.jsp?method=getfieldinfo&isdetail=0&fieldids="+fieldids,
			success: function(res){
				var fieldinfos = JSON.parse(jQuery.trim(res));
				//if(console.log)	console.dir(fieldinfos);
				for(var i=0; i<fieldinfos.length; i++){
					var fieldinfo = fieldinfos[i];
					addRow();	//主表加一行
					var rowObj = jQuery("table#oTable>tbody>tr:last-child");
					var rowidx = rowObj.find("input[name=check_select]").val();
					rowidx = rowidx.substring(rowidx.indexOf("_")+1);
					rowObj.find("input[name=itemDspName_"+rowidx+"]").val(fieldinfo["fieldname"]).trigger("blur");
					//description值为空需用trigger("onchange")触发,trigger("change")存在问题...
					rowObj.find("input[name=itemFieldName_"+rowidx+"]").val(fieldinfo["description"]).trigger("onchange");
					
					setSingleRowFieldInfo(fieldinfo, rowObj, rowidx, false);
				}
			}
		});
	}
}

//引用明细模板字段
function quoteDetailField(dindex){
	var dialog = new window.top.Dialog();
	dialog.currentWindow = window;	
	dialog.Width = 600;
	dialog.Height = 700;
	dialog.Modal = true;
	dialog.Title = "<%=SystemEnv.getHtmlLabelName(18214, user.getLanguage())%>";
	dialog.URL = "/workflow/field/choooseTemplateField.jsp?isdetail=1";
	dialog.show();
	dialog.callbackfun = function(paramobj,datas){
		var fieldids = datas["id"];
		if(fieldids.length == 0)	return;
		jQuery.ajax({
			type: "post",
			url: "/workflow/field/templateFieldAjax.jsp?method=getfieldinfo&isdetail=1&fieldids="+fieldids,
			success: function(res){
				var fieldinfos = JSON.parse(jQuery.trim(res));
				//if(console.log)	console.dir(fieldinfos);
				for(var i=0; i<fieldinfos.length; i++){
					var fieldinfo = fieldinfos[i];
					addDetailRow(dindex);	//主表加一行
					var rowObj = jQuery("table#detailTable_"+dindex+">tbody>tr:last-child");
					var rowidx = rowObj.find("input[name=check_select_detail_"+dindex+"]").val();
					rowidx = dindex+"_"+rowidx.substring(rowidx.indexOf("_")+1);
					rowObj.find("input[name=itemDspName_detail"+rowidx+"]").val(fieldinfo["fieldname"]).trigger("blur");
					//description值为空需用trigger("onchange")触发,trigger("change")存在问题...
					rowObj.find("input[name=itemFieldName_detail"+rowidx+"]").val(fieldinfo["description"]).trigger("onchange");
					
					setSingleRowFieldInfo(fieldinfo, rowObj, rowidx, true);
				}
			}
		});
	}
}

//给单行对象根据字段信息赋值(主表、明细)
function setSingleRowFieldInfo(fieldinfo, rowObj, rowidx, isdetail){
	try{
		var fieldhtmltype = parseInt(fieldinfo["fieldhtmltype"]);
		var littletype = parseInt(fieldinfo["type"]);
		var fielddbtype = fieldinfo["fielddbtype"];
		rowObj.find("select[name=itemFieldType_"+rowidx+"]").val(fieldhtmltype).trigger("change");
		if(fieldhtmltype == 1){			//单行文本
			rowObj.find("select[name=documentType_"+rowidx+"]").val(littletype).trigger("change");
			if(littletype == 1){
				var textlength = fielddbtype.substring(fielddbtype.indexOf("(")+1,fielddbtype.indexOf(")"));
				rowObj.find("input[name=itemFieldScale1_"+rowidx+"]").val(textlength).trigger("blur");
			}else if(littletype == 3){
				var qfws = fielddbtype.substring(fielddbtype.indexOf(",")+1,fielddbtype.indexOf(")"))
				rowObj.find("select[name=decimaldigits_"+rowidx+"]").val(qfws);
			}else if(littletype  == 5){
				rowObj.find("select[name=decimaldigits_"+rowidx+"]").val(fieldinfo["qfws"]);
			}
		}else if(fieldhtmltype == 2){	//多行文本
			rowObj.find("input[name=textheight_"+rowidx+"]").val(fieldinfo["textheight"]);
			if(littletype == 2)
				rowObj.find("input[name=htmledit_"+rowidx+"]").attr("checked",true);
		}else if(fieldhtmltype == 3){	//浏览按钮
			rowObj.find("select[name=broswerType_"+rowidx+"]").val(littletype).trigger("change");
			if(littletype == 161 || littletype == 162){
				var browwritedata = {id:fielddbtype , name:fieldinfo["custombrowsername"]};
				__browserNamespace__._writeBackData("definebroswerType_"+rowidx, 2, browwritedata);
			}else if(littletype == 165 || littletype == 166 || littletype == 167 || littletype == 168){
				var browwritedata = {id:fieldinfo["textheight_2"] , name:fieldinfo["fqdefaultattr"]};
				__browserNamespace__._writeBackData("decentralizationbroswerType_"+rowidx, 2, browwritedata, {isSingle:false,replace:true});
			}
		}else if(fieldhtmltype == 5){	//选择框,字段管理都是独立选择框
			var selectItemShowTypeObj = rowObj.find("select[name=selectItemShowType_"+rowidx+"]");
			var selectSourceObj = '<input type="hidden" name="selectSourceid_'+rowidx+'" value="'+fieldinfo["id"]+'" />';
			selectItemShowTypeObj.val(littletype).trigger("change");
			selectItemShowTypeObj.after(jQuery(selectSourceObj));		//页面保存同步worklfow_selectitem数据
			if(littletype == 2 || littletype == 3){
				rowObj.find("input[name=fieldshowtypes_"+rowidx+"][value="+fieldinfo["fieldshowtypes"]+"]").attr("checked", true);
			}
		}else if(fieldhtmltype == 6){	//附件上传
			rowObj.find("select[name=uploadtype_"+rowidx+"]").val(littletype).trigger("change");
			if(littletype == 2){
				rowObj.find("input[name=strlength_"+rowidx+"]").val(fieldinfo["textheight"]);
				rowObj.find("input[name=imgwidth_"+rowidx+"]").val(fieldinfo["imgwidth"]);
				rowObj.find("input[name=imgheight_"+rowidx+"]").val(fieldinfo["imgheight"]);
			}
		}else if(fieldhtmltype == 7){	//特殊字段
			rowObj.find("select[name=specialfield_"+rowidx+"]").val(littletype).trigger("change");
			if(littletype <= 1){
				rowObj.find("input[name=displayname_"+rowidx+"]").val(fieldinfo["displayname"]);
				rowObj.find("input[name=linkaddress_"+rowidx+"]").val(fieldinfo["linkaddress"]);
			}else if(littletype == 2){
				rowObj.find("textarea[name=descriptivetext_"+rowidx+"]").text(fieldinfo["descriptivetext"]);
			}
		}else if(fieldhtmltype == 9){	//移动交互
			rowObj.find("select[name=locationType_"+rowidx+"]").val(littletype);
		}
	}catch(e){}
}
</script>