/** * 下拉选项模版。 */ var optiontemplate = ''; /** * 字段类型数据 */ var varchar_="varchar"; var clob_="clob"; var date_="date"; var number_="number"; /** * 控件类型。 *16是隐藏域 *4 用户单选,8,用户多选, *17,角色单选,5,角色多选, *18,组织单选,6,组织多选 *19,岗位单选,7,岗位多选 * */ var controlList = [ {key : '1',value : '单行文本框'}, {key : '2',value : '多行文本框'}, {key : '10',value : '富文本框'}, {key : '3',value : '数据字典'}, {key : '4',value : '人员选择器(单选)'}, {key : '8',value : '人员选择器(多选)'}, {key : '17',value :'角色选择器(单选)'},{key : '5',value : '角色选择器(多选)'}, {key : '18',value : '组织选择器(单选)'},{key : '6',value : '组织选择器(多选)'}, {key : '19',value : '岗位选择器(单选)'}, {key : '7',value : '岗位选择器(多选)'}, {key : '16',value : '隐藏域'},{key : '9',value : '文件上传'}, {key : '11',value : '下拉选项'},{key : '13',value : '复选框'}, {key : '14',value : '单选按钮'},{key : '12',value : 'office控件'}, {key : '15',value : '日期控件'},{key : '20',value : '流程引用'}, {key : '21',value : 'WebSign控件'},{key : '22',value : '图片展示控件'},{key : '23',value : '正文'} ]; /** * 是否外部表。 */ var isExternal=0; /** * 值来源。 */ var varFromList=[{key:0,value:'表单输入'},{key:1,value:'脚本运算(显示)'}, {key:2,value:'脚本运算(不显示)'},{key:3,value:'流水号'}]; /** * 判断字段名唯一 */ jQuery.validator.addMethod("uniqueName", function(value, element) { var rtn=TableRow.fieldManage.isFieldExist(value); return !rtn; }, '字段已存在'); jQuery.validator.addMethod("word", function(value, element) { return /^[A-Za-z]{1}([a-zA-Z0-9_]+)?$/gi.test(value); }, '只能为字母开头,允许字母、数字和下划线'); jQuery.validator.addMethod("quotation", function(value, element) { return /^[^'|"]*$/im.test(value); }, '不能有引号'); /** * 数据表验证器。 * @returns */ function validTable(){ var __valid__=$("#bpmTableForm").validate({ rules: { name:{ required:true, maxlength:30, word:true }, comment:{ maxlength:200, quotation:true } }, messages: { name:{ required:'表名必填', maxlength:'表名最多 30 个字符.' }, comment:{ maxlength:'注释 最多200字符.' } } }); return __valid__; } /** * 验证字段填写是否正确。 * @returns */ function validateField(){ var __valid__ = $('#frmFields').validate({ rules : { fieldDesc:{ quotation:true }, fieldName : { required : true, uniqueName : __isFieldAdd__, word: true }, charLen : { required : true, digits : true, range:[1,4000] }, intLen : { required : true, digits : true, range:[1,18] }, decimalLen : { required : true, digits : true, range:[0,6] } }, messages : { fieldName : { required : '字段名称必填' }, charLen : { required : '文字长度必填', digits:'填写数字' }, intLen : { required : '整数长度必填', digits: '填写数字' }, decimalLen : { required : '小数长度必填', digits: '填写数字' } } }); return __valid__; } /** * 初始点击主表,子表选项按钮。 */ function handIsMain(){ $("input[name='isMain']").click(function(){ var curIsMain = $(this).val(); var objTr=$("#spanMainTable"); (curIsMain==1)?objTr.hide():objTr.show(); handIsList(curIsMain); }); } /** * 是主表,显示显示到列表列,否则不显示 */ function handIsList(curIsMain){ var objTh=$("th[name='Listth']"); var objTd=$("td[name='Listtd']"); if(curIsMain==1){ objTh.show(); objTd.show(); }else{ objTh.hide(); objTd.hide(); } } /** * 处理【值来源】的change事件。 */ function handValueFrom(){ $("#valueFrom").change(function(){ var ft=$("#fieldType").val(); var vf=$(this).val(); //处理控制列表的显示 hdlControlTypeShow(ft,vf); var ct=$("#controlType").val(); hdlShowCurUserTrShow(ft,vf,ct); hdlShowCurOrgTrShow(ft,vf,ct); hdlShowCurPosTrShow(ft,vf,ct); hdlDictTrShow(ft,vf,ct); hdlIdentityTrShow(ft,vf,ct); hdlScriptTrShow(ft,vf,ct); hdlScriptIdTrShow(ft,vf,ct); hdlRuleTrShow(ft,vf,ct); hdlOptionTrShow(ft,vf,ct); hdlIsReferenceShow(vf,ct); // hdlShowComdifyShow(ft); }); } /** * 判断控件类型是否为选择器。 * @param ctlType * @returns {Boolean} */ function isExecutorSelector(ctlType){ ctlType=parseInt(ctlType); if(ctlType==4 || ctlType==8 || ctlType==17 || ctlType==5 || ctlType==18 || ctlType==6 || ctlType==19 || ctlType==7 || ctlType==20) return true; return false; } /** * 处理【字段类型】(fieldType)的change事件。 */ function handFieldType(){ $("#fieldType").change(function(){ var val=$(this).val(); if(val==varchar_ || val==clob_ || val==number_){ $("#trControlType").show(); } //处理条件。 handCondition(); //处理数据长度 var controlType=$("#controlType").val(); if(val==varchar_){ $("#spanCharLen").show(); $("#spanIntLen,#spanDecimalLen,#spanDateFormat").hide(); $("#showComdify,#spanCoin,#spanCoinType").hide(); //下拉框,复选框,单选按钮 if(controlType=="11" || controlType=="13" || controlType=="14"){ $("#trOption").show(); } else{ $("#trOption").hide(); } }else if(val==number_){ $("#spanCharLen,#trOption,#spanDateFormat").hide(); $("#spanDecimalLen,#spanIntLen,#spanCoin").show(); $("#showComdify").show(); $("#showidentity").hide(); //下拉框,复选框,单选按钮 if(controlType=="11" || controlType=="13" || controlType=="14"){ $("#trOption").show(); } else{ $("#trOption").hide(); } }else if(val==date_){ $("#spanCharLen,#spanIntLen,#spanDecimalLen,#trOption").hide(); $("#spanDateFormat").show(); $("#showComdify,#spanCoin,#spanCoinType").hide(); $("#showidentity").hide(); } else{ $("#spanCharLen,#spanIntLen,#spanDecimalLen,#trOption,#spanDateFormat").hide(); $("#showComdify,#spanCoin,#spanCoinType").hide(); $("#showidentity").hide(); } //验证规则 if(val ==varchar_ || val==clob_){ $("#trRule").show(); } else{ $("#trRule").hide(); } //设置值来源 setValueFromByFieldType(val); //设置控件类型 setControlByType(val); //脚本隐藏 $("#trScript").hide(); $("#trScriptID").hide(); //处理条件 //处理表单用户,组织,岗位 $('#showCurUserTr').hide(); $('#showCurOrgTr').hide(); $('#showCurPosTr').hide(); //设置流程变量 var controlType = $("#controlType").val(); setShowFlowVar(controlType); }); } /** * 处理复选框【是否作为查询条件】(isQuery)点击事件。 */ function handConditionClick(){ $("#isQuery").click(handCondition); } /** * 处理【查询条件】选择的点击处理。 */ function handCondition(){ var obj=$("#isQuery"); var isChecked=obj.attr("checked")=="checked"; if(isChecked){ var selObj=$("#selCondition"); var fieldType=$("#fieldType").val(); //initCondition(selObj,fieldType); if(fieldType!==clob_){ //$("#trCondition").show(); } else{ //$("#trCondition").hide(); obj.removeAttr("checked"); } }else{ //$("#trCondition").hide(); } } /** * 处理货币复选框【coin】事件 */ function handCoinClick(){ var obj=$("#coin"); obj.click(handCoin); } function handCoin(){ var obj=$("#coin"); var comdifyObj=$("#isShowComdify"); var isChecked=obj.attr("checked")=="checked"; if(isChecked){ var fieldType=$("#fieldType").val(); if(fieldType ==number_){ $("#spanCoinType").show(); $("#decimalLen").val(2); comdifyObj.attr("checked",true); comdifyObj.attr('disabled', true); }else { $("#spanCoinType").hide(); $("#decimalLen").val(0); obj.removeAttr("checked"); comdifyObj.removeAttr("checked"); comdifyObj.attr('disabled', false); } }else{ $("#spanCoinType").hide(); $("#decimalLen").val(0); comdifyObj.attr('disabled', false); comdifyObj.attr("checked", false); } } /** * 改变值的长度 * @param len */ function changeCharLen(len){ $("#charLen").val(len); } /** * 处理【控件类型】(ControlType)修改事件。 */ function handControlType(){ //控件类型修改 $("#controlType").change(function(){ var val=parseInt($(this).val()); $("#formUserTr").hide(); //$("#spanDateFormat").hide(); //设置流程变量 setShowFlowVar(val); if(val==15){ $("#spanDateFormat").show(); } var ft=$("#fieldType").val(); var vf=$("#valueFrom").val(); var ct=$(this).val(); hdlShowCurUserTrShow(ft,vf,ct); hdlShowCurOrgTrShow(ft,vf,ct); hdlShowCurPosTrShow(ft,vf,ct); hdlDictTrShow(ft,vf,ct); hdlIdentityTrShow(ft,vf,ct); hdlScriptTrShow(ft,vf,ct); hdlScriptIdTrShow(ft,vf,ct); hdlRuleTrShow(ft,vf,ct); hdlOptionTrShow(ft,vf,ct); hdlIsReferenceShow(vf,ct); hdlCharLen(ct); hdlIsWebSignShow(ft,vf,ct); hdlShowUpLoadTrShow(ft,vf,ct); }); } /** * 根据值来源和控件类型控制 超连接 选项 显示 * @param vf * @param ct * @param value */ function hdlIsWebSignShow(ft,vf,value){ $("#isWebSign").removeAttr("disabled"); //恢复之前的禁用WEB签章 //Office和WEB签章 if(value==12||value==21){ $("#trRule").hide(); $("#trDict").hide(); $("#trScript").hide(); $("#trScriptID").hide(); $("#trOption").hide(); $("#showCurUserTr").hide(); $("#showCurOrgTr").hide(); // $("#showCurUserTr").hide(); // $("#showCurOrgTr").hide(); $("#spanDateFormat").hide(); $("#isWebSign").removeAttr("checked"); //去掉WEB签章验证的选中 $("#isWebSign").attr("disabled","disabled"); //禁用WEB签章验证 } }; /** * 根据【字段类型】设置控件类型。 * @param fieldType 【字段类型】 */ function setControlByType(fieldType){ var objSelect=$('#controlType'); objSelect.empty(); //控件列表。 $(controlList).each(function(i, d) { var option = optiontemplate.replaceAll('#value', d.key).replace('#text', d.value); //文本类型 if(fieldType==varchar_){ if(d.key!="10" ) objSelect.append(option); }else if(fieldType==clob_){ //富文本框和文件类型 if(d.key=="2" || d.key=="10" ) objSelect.append(option); }else if(fieldType==date_ ){ if(d.key=="1" || d.key=="15") objSelect.append(option); } else if(fieldType==number_){ //数字 if(d.key=="1"|| d.key=="11" || d.key=="16" ){//单行文本框、下拉选项、隐藏域 objSelect.append(option); } } }); } /** * 设置字段来源。 * @param fieldType */ function setValueFromByFieldType(fieldType){ var objSelect=$('#valueFrom'); objSelect.empty(); $(varFromList).each(function(i, d) { var key=d.key; var option = optiontemplate.replaceAll('#value', key).replace('#text', d.value); //文本 if(fieldType==varchar_){ objSelect.append(option); //数字 }else if(fieldType==number_){ if(key!=3){ objSelect.append(option); } //大文本 }else if(fieldType==clob_){ if(key==0){ objSelect.append(option); } //日期 }else{ if(key!=3){ objSelect.append(option); } } }); } /** * 添加列时初始化窗体的界面。 * 设置数据。 */ function initAdd(_isExternal){ isExternal=_isExternal; $("#spanIntLen,#spanCoin,#spanCoinType,#spanDecimalLen,#spanDecimalLen,#showidentity,#trDict,#trScript,#trScriptID,#trOption,#spanDateFormat,#trCondition").hide(); setControlByType("varchar"); //动态加载数据字典。 JsLoader.LoadCount=1; JsLoader.Load(__ctx +"/js/lg/plugins/htCatCombo.js","javascript1"); var fieldType=$("#fieldType").val(); if(fieldType=='number'){ $("#showComdify").show(); $("#spanCoin").show(); }else{ $("#showComdify").hide(); $("#spanCoin").hide(); } } /** * 重置字段。 */ function resetField(){ $("#spanIntLen,#spanDecimalLen,#spanDecimalLen,#trDict,#trScript,#trScriptID,#trOption,#spanDateFormat,#trCondition,#showIsReference,#showidentity,#trUpLoad,#fromTypeTr,#fromTypeScriptTr").hide(); setControlByType("varchar"); $("#fieldName,#fieldDesc").val(""); $("#isRequired,#isFlowVar,#isQuery,#isReference,#isShowComdify,#coin,#isCurrentDate,#showCurUser,#showCurOrg,#showCurPos,#isWebSign,#isShowidentity").attr("checked",false); $("#isList").attr("checked","checked"); $("#fieldType").val("varchar").change(); $("#charLen").val(100); $("#intLen").val(13); $("#decimalLen").val(0); $("tr.normalTr",$("#option-table")).remove(); $("tr.editable-tr",$("#option-table")).remove(); //设置日期 $("#selDateFormat").val("yyyy-MM-dd"); //重置验证规则 $("#validRule").get(0).selectedIndex=0; $("#identityName,#identityAlias").val(""); $("#script,#scriptID,#fromScript").val(""); $("#isShowComdify").attr('disabled', false); $("#fromType").val("all"); } /** * 设置字段的长度。 */ function setFieldLengthByFieldValue(filed){ if(filed.fieldType==varchar_){ var charLen=parseInt( $("#charLen").val()); filed.charLen=charLen; } else if(filed.fieldType==number_){ var intLen=parseInt($("#intLen").val()); var decimalLen=parseInt($("#decimalLen").val()); filed.intLen=intLen; filed.decimalLen=decimalLen; } } /** * 根据值来源设置相应的字段。 * @param field */ function setFieldByValueFrom(field){ var from=parseInt( field.valueFrom); switch(from){ //表单 case 0: break; //1,2脚本 case 1: case 2: var ctlType=$("#controlType").val(); var rtn=isExecutorSelector(ctlType); if(rtn){ field.scriptID=$("#scriptID").val(); } field.script=$("#script").val(); break; //流水号 case 3: field.identity=$("#identityAlias").val(); field.script=$("#identityName").val(); break; } } /** * 根据字段信息设置控件长度。 * @param field */ function setFieldLengthByField(field){ var fieldType=field.fieldType; switch(fieldType){ case varchar_: $("#charLen").val(field.charLen); $("#spanCharLen").show(); $("#spanIntLen,#spanDecimalLen,#showComdify,#spanCoin,#spanCoinType").hide(); break; case number_: $("#intLen").val(field.intLen); $("#decimalLen").val(field.decimalLen); $("#spanCharLen").hide(); $("#spanIntLen,#spanDecimalLen,#showComdify,#spanCoin").show(); break; default: $("#spanCharLen,#spanIntLen,#spanDecimalLen,#showComdify,#spanCoin,#spanCoinType").hide(); break; } } /** * 根据数据来源,设置相关控件的状态。 * @param field */ function setValueFromByField(field){ $("#valueFrom").val(field.valueFrom); var from=parseInt(field.valueFrom); switch(from){ //表单输入 case 0: $("#trScript,#trScriptID").hide(); break; //脚本输入 case 1://显示脚本 case 2://隐藏脚本 var controlType=field.controlType; if(isExecutorSelector(controlType)){ $("#trScriptID").show(); $("#scriptID").val(field.scriptID); } $("#trScript").show(); $("#showidentity").hide(); $("#script").val(field.script); break; //流水号 case 3: $("#trScript").hide(); $("#trScript,ID").hide(); $("#showidentity").show(); $("#identityAlias").val(field.identity); $("#identityName").val(field.identityName); break; } } /** * 设置验证规则 * @param field */ function setValidRuleByField(field){ var validRule=field.validRule; if(field.fieldType==varchar_ || field.fieldType==clob_){ $("#trRule").show(); $("#validRule").val(validRule); } else{ $("#trRule").hide(); } } /** * 设置字段的验证规则。 * @param field */ function setFieldByValidRule(field){ if(field.fieldType==varchar_ || field.fieldType==clob_ ){ field.validRule=$("#validRule").val(); } } function getOptionData(){ var optionAry = []; $("tr.editable-tr",$("#option-table")).each(function(){ var me = $(this), optionKey = $("input[name='optionKey']",me).val(); var optionValue = []; $("input.long",me).each(function(){ var me = $(this), name = me.attr("name"), val = me.val(), memo = me.attr("title"); optionValue.push({lantype:name,lanres:val,lanmemo:memo}); }); optionAry.push({key:optionKey,value:optionValue}); }); return optionAry;; }; //兼容3.2版本 function getOptionData1(){ var optionAry = []; var controlType = $("#controlType").val(); $("tr.editable-tr",$("#option-table")).each(function(){ var me = $(this); var optionKey = $("input[name='optionKey']",me).val(); var optionValue = $("input[name='optionValue']",me).val(); var isDefault = "-1"; isDefault = $("input[name='isDefault']:checked",me).val(); if(isDefault!="1"){ isDefault="0"; } optionAry.push({key:optionKey,value:optionValue,isDefault:isDefault}); }); return optionAry; }; /** * 从页面控件获取字段数据对象。(编辑) * @returns */ function getField(){ var field={charLen:0,intLen:0,decimalLen:0,dictType:'',identity:'',validRule : '',isDeleted:0, valueFrom : 0,script:'',controlType : 1}; field.fieldName=$("#fieldName").val(); field.fieldDesc=$("#fieldDesc").val(); field.fieldType=$("#fieldType").val(); field.controlType=$("#controlType").val(); //设置3:数据字典 if(field.controlType==3){ field.dictType=$("#dictType").val(); } //控件类型为下拉框,复选框,单选按钮。 //11,下拉选项 //13,复选框 //14,单选按钮 if(field.controlType==11 || field.controlType==13 || field.controlType==14){ var inputValues = $("input[name='optionValue']",$("#option-table")), optsAry; if(inputValues.length>0){//3.2版本 optsAry = getOptionData1(); }else{ optsAry = getOptionData(); } field.options = JSON2.stringify(optsAry); } //设置日期格式 //数据类型为日期的时候,需要设置日期格式。 //15,日期控件 if(field.controlType==15 || field.fieldType==date_){ var isCurrentDate=$("#isCurrentDate").attr("checked"); var format=$("#selDateFormat").val().trim(); var json; if(isCurrentDate!=undefined){ json={"format":format,"displayDate":1}; }else{ json={"format":format,"displayDate":0}; } field.ctlProperty=JSON2.stringify(json); } // 处理人员选择器和显示当前用户 if(field.controlType==4|| field.controlType==8){ var json={}; if(field.controlType==4){ var showCurUser=$("#showCurUser:checked").val()? 1:0; json.showCurUser = showCurUser; } var opt = $("#fromType").find('option:selected'); var fromType = opt.attr("type"); var typeVal = null; if(fromType == 'script'){ typeVal = $("#fromScript").val(); }else{ typeVal = opt.val(); } var scope ={}; scope.type = fromType; scope.value = typeVal; json.scope = scope; field.ctlProperty=JSON2.stringify(json); } // 显示当前组织 if(field.controlType==6 ||field.controlType==18){ var json={}; if(field.controlType==18){ var showCurOrg=$("#showCurOrg:checked").val()? 1:0; json={"showCurOrg":showCurOrg}; } var opt = $("#fromType").find('option:selected'); var fromType = opt.attr("type"); var typeVal = null; if(fromType == 'script'){ typeVal = $("#fromScript").val(); }else{ typeVal = opt.val(); } var scope ={}; scope.type = fromType; scope.value = typeVal; json.scope = scope; field.ctlProperty=JSON2.stringify(json); } // 显示当前岗位 if(field.controlType==19 || field.controlType==7){ var json={}; if(field.controlType==19){ var showCurPos=$("#showCurPos:checked").val()?1:0; json={"showCurPos":showCurPos} } var opt = $("#fromType").find('option:selected'); var fromType = opt.attr("type"); var typeVal = null; if(fromType == 'script'){ typeVal = $("#fromScript").val(); }else{ typeVal = opt.val(); } var scope ={}; scope.type = fromType; scope.value = typeVal; json.scope = scope; field.ctlProperty=JSON2.stringify(json); } //必填 field.isRequired=$("#isRequired").attr("checked")?1:0; //显示到列表 field.isList=$("#isList").attr("checked")?1:0; //作为查询条件 field.isQuery=$("#isQuery").attr("checked")?1:0; //是否流程变量 field.isFlowVar=$("#isFlowVar").attr("checked")?1:0; //是否Web签章 field.isWebSign=$("#isWebSign").attr("checked")?1:0; //是否直接上传文件 if(field.controlType==9) { var isDirectUpLoad=$('#isDirectUpLoad').attr('checked')?1:0; json={"isDirectUpLoad":isDirectUpLoad} field.ctlProperty=JSON2.stringify(json); } //是否直接上传正文 if(field.controlType==23) { var isDirectUpLoad=$('#isDirectUpLoad').attr('checked')?1:0; json={"isDirectUpLoad":isDirectUpLoad} field.ctlProperty=JSON2.stringify(json); } //是否作为超链接 if(isExecutorSelector(field.controlType)){ field.isReference=$("#isReference").attr("checked")?1:0; //json={"showCurPos":showCurPos} //field.ctlProperty=JSON2.stringify(json); } if(field.fieldType==number_){ var showCoin=$("input[name='coin']:checked").val(); var showComdifyValue=$("#isShowComdify").attr("checked")?1:0; var json={}; if(showCoin){ var coinValue=$("#CoinType").val(); json.coinValue=coinValue; json.isShowComdify=showComdifyValue; json.decimalValue=parseInt($("#decimalLen").val()); field.ctlProperty=JSON2.stringify(json); }else{ json.coinValue=""; json.isShowComdify=showComdifyValue; json.decimalValue=parseInt($("#decimalLen").val()); field.ctlProperty=JSON2.stringify(json); } } // if($("input[name='isShowComdify']:checked").val()){ // json={"isShowComdify":true}; // field.ctlProperty=JSON2.stringify(json); // }else{ // json={"isShowComdify":false}; // field.ctlProperty=JSON2.stringify(json); // } // // field.ccisread=$("#ccisread").attr("checked")?1:0; // field.isShowComdify=$("#isShowComdify").attr("checked")?1:0; //field.isAllowMobile=$('#isAllowMobile').attr('checked')?1:0; //设置字段长度 setFieldLengthByFieldValue(field); //值来源 field.valueFrom =$("#valueFrom").val(); //值来源为流水号 if(field.valueFrom==3){ field.controlType=1; //isShowidentity 流水号是否显示在启动流程页面中 1=显示, 0=不显示 if($("input[name='isShowidentity']:checked").val()){ json={"isShowidentity":1}; field.ctlProperty=JSON2.stringify(json); }else{ json={"isShowidentity":0}; field.ctlProperty=JSON2.stringify(json); } } //根据来源设置对应的属性值。 setFieldByValueFrom(field); //设置验证规则 setFieldByValidRule(field); //设置条件 setCondition(field); //设置表单变量 setShowFlowVar(field.controlType); return field; } /** * 控件类型或者字段类型 * 限制表单变量 */ function setShowFlowVar(controlType){ //附件,office if(isHideFlowVar(controlType)){ $("#showFlowVar").hide() $("#isFlowVar").attr("checked",false); }else{ $("#showFlowVar").show(); } } function isHideFlowVar(controlType){ if($.isEmpty(controlType)) return false; if(controlType==2 || controlType == 9 || controlType==10 || controlType== 12 || controlType== 21|| controlType == 23) return true; return false; } /** * 设置条件 */ function setCondition(field){ if(field.isQuery==0){ return; } var condition=$("#selCondition").val(); var condValFrom=$("#selValueFrom").val(); var condValue=$("#selValInput").val(); if(field.ctlProperty!=null && field.ctlProperty!=""){ var json=jQuery.parseJSON(field.ctlProperty); json.condition=condition; json.condValFrom=condValFrom; json.condValue=condValue; field.ctlProperty=JSON2.stringify(json) ; } else{ var json={ condition:condition, condValFrom:condValFrom, condValue:condValue }; field.ctlProperty=JSON2.stringify(json); } } function initNumber(field){ if(field.fieldType=='number'){ $("#showComdify").show(); $("#spanCoin").show(); try{ var property=eval("(" + field.ctlProperty +")"); $("#isShowComdify").attr("checked",property.isShowComdify); if(property.coinValue!=null && property.coinValue!=""){ $("#isShowComdify").attr('disabled', true); $("#spanCoinType").show(); $("#CoinType").val(property.coinValue); $("#coin").attr("checked","checked"); } }catch(e){ } }else{ $("#showComdify").hide(); $("#spanCoin").hide(); $("#spanCoinType").hide(); } } /** * 根据字段设置页面控件状态。 */ function initControlByField(field,allowEditColName,_isExternal){ //设置是否外部表。 isExternal=_isExternal; $("#fieldName").val(field.fieldName); $("#fieldDesc").val(field.fieldDesc); $("#fieldType").val(field.fieldType); initNumber(field); //设置字段选项。 $("#isRequired").attr("checked",field.isRequired==1); $("#isList").attr("checked",field.isList==1); $("#isQuery").attr("checked",field.isQuery==1); $("#isFlowVar").attr("checked",field.isFlowVar==1); //$("#isAllowMobile").attr("checked",field.isAllowMobile==1); $("#isReference").attr("checked",field.isReference==1); $("#isWebSign").attr("checked",field.isWebSign==1); // $("#isReference").attr("checked",field.isReference==1); // $("#ccisread").attr("checked",field.ccisread==1); //设置数据长度 setFieldLengthByField(field); //日期类型 if(field.fieldType==date_ || field.controlType==15){ $("#spanDateFormat").show(); try{ var property=eval("(" + field.ctlProperty +")"); $("#selDateFormat").val(property.format); if(property.displayDate==1){ $("#isCurrentDate").attr("checked","checked"); } }catch(e){ } } //设置条件字段 bindCondition(field); //设置表单变量 setShowFlowVar(field.controlType); //修改控件是否允许编辑字段的名字和数据类型。 setEditStatus(allowEditColName); //渲染数据字典。 JsLoader.LoadCount=1; JsLoader.Load(__ctx + "/js/lg/plugins/htCatCombo.js","javascript1"); var ft=field.fieldType; var vf=field.valueFrom; var ct=field.controlType; hdlValueFromShow(ft,vf); hdlControlTypeShow(ft,vf,ct); hdlIdentityTrShow(ft,vf,ct,field.identity,field.script); hdlScriptTrShow(ft,vf,ct,field.script); hdlScriptIdTrShow(ft,vf,ct,field.scriptID); hdlOptionTrShow(ft,vf,ct,field.options); hdlRuleTrShow(ft,vf,ct,field.validRule); hdlDictTrShow(ft,vf,ct,field.dictType); hdlIsReferenceShow(vf,ct,field.isReference); var curUser=null,curOrg=null,curPos=null,scope=null; if(field.ctlProperty){ var prop = $.parseJSON(field.ctlProperty); curUser=prop.showCurUser||null; curOrg=prop.showCurOrg||null; curPos=prop.showCurPos||null; scope = prop.scope||null; } hdlShowCurUserTrShow(ft,vf,ct,curUser,scope); hdlShowCurOrgTrShow(ft,vf,ct,curOrg,scope); hdlShowCurPosTrShow(ft,vf,ct,curPos,scope); hdlIsWebSignShow(ft,vf,ct); var isDirectUpLoad=null; var isShowidentity=null; if(field.ctlProperty){ var prop = $.parseJSON(field.ctlProperty); isDirectUpLoad=prop.isDirectUpLoad||null; isShowidentity=prop.isShowidentity||null; $("#isShowidentity").attr("checked",isShowidentity==1); } hdlShowUpLoadTrShow(ft,vf,ct,isDirectUpLoad); } /** * 设置控件状态,是否允许编辑。 * @param allowEditColName */ function setEditStatus(allowEditColName){ //if(allowEditColName) return; 改为不设置只读 return; $("#fieldName").attr('disabled', 'disabled'); $("#charLen").attr('disabled', 'disabled'); $("#intLen").attr('disabled', 'disabled'); $("#decimalLen").attr('disabled', 'disabled'); $("#fieldType").attr('disabled', 'disabled'); if(isExternal==0){ $("#valueFrom").attr('disabled', 'disabled'); $("#controlType").attr('disabled', 'disabled'); } /* if(isFlowVar){ $("#isFlowVar").attr('disabled', 'disabled'); }*/ } /** * 绑定表和字段数据。 * @param table */ function bindTable(data,allowEditTbColName,mainTableIsPublished){ var table=data.table; $("#name").val(table.tableName); $(":radio[name='deleteType'][value="+table.deleteType+"]").attr("checked","checked"); //禁止编辑 if(!allowEditTbColName){ $("#name").attr('disabled', 'disabled'); $(":radio[name='isMain']").attr('disabled', 'disabled'); $("#mainTable").attr('disabled', 'disabled'); } //已生成的表不能再修改 是否主表 字段 if(table.isPublished){ $(":radio[name='isMain']").attr('disabled', 'disabled'); } $("#comment").val(table.tableDesc); $(":radio[name='isMain'][value="+table.isMain+"]").attr("checked","checked"); //是否是子表 if(table.isMain==0 ){ if(!allowEditTbColName && table.isPublished == 1) { var href = __ctx + '/platform/form/bpmFormTable/get.ht?canClose=1&hasClose=true&tableId='+table.mainTableId; $("a.moreinfo",$("#showMainTable")).attr("hrefstr",href).append(table.mainTableDesc); $('#showMainTable').show(); $('#spanMainTable').hide(); } else{ if(table.isPublished ==0){ $("div.generate").show(); } if(table.mainTableId==null || table.mainTableId=="" ){ $('#spanMainTable').show(); $('#showMainTable').hide(); } else{ var href = __ctx + '/platform/form/bpmFormTable/get.ht?canClose=1&hasClose=true&tableId='+table.mainTableId; $("a.moreinfo",$("#showMainTable")).attr("hrefstr",href).append(table.mainTableDesc); $("#showMainTable").show(); } } }else{ $('#spanMainTable').hide(); $('#showMainTable').hide(); } //赋给下拉框,这个下拉框只包含未生成的主表列表。 $("#mainTable").val(table.mainTableId); //将主表id赋给隐藏表单。 $("#mainTableId").val(table.mainTableId); if(mainTableIsPublished){ $("#tableName").val(table.mainTableDesc); } var conf={showDel:false}; if(!allowEditTbColName){ conf.showDel=1; } var fieldList=data.fieldList; TableRow.fieldManage.setFields(fieldList); $("#tableColumnItem>tbody").append(TableRow.fieldManage.getHtml(conf)); handisList(); //$("#tableColumnItem>tbody tr").data("isAllowEdit",allowEditTbColName); if(!allowEditTbColName){ $("[name=isFlowVar]:checked").each(function(){ var _this = $(this); _this.attr("disabled","disabled"); _this.data("isFlowVar",true); }); } } /** * 绑定字段。 * @param table */ function bindExtTable(data,hasForm){ var table=data.table; $("#name").val(table.tableName); //禁止编辑 $("#name").attr('disabled', 'disabled'); $("#comment").val(table.tableDesc); var fieldList=data.fieldList; TableRow.setAllowEditColName(false); TableRow.fieldManage.setFields(fieldList); $("#tableColumnItem>tbody").append(TableRow.fieldManage.getHtml({showDel:false})); if(hasForm){ $("[name=isFlowVar]:checked").each(function(){ var _this = $(this); _this.attr("disabled","disabled"); _this.data("isFlowVar",true); }); } //绑定主键字段下拉框 bindPkField("pkField",fieldList,table.pkField); //绑外键 bindPkField("relation",fieldList,table.relation); var isMain=table.isMain; $(":radio[name='isMain'][value="+isMain+"]").attr("checked","checked"); if(table.isMain==1){ $("#trSubTable").hide(); } else{ $("#trSubTable").show(); } $("#mainTableId").val(table.mainTableId); $("#mainTableName").val(table.mainTableName); //绑定流水号下拉框 bindIdentity(data.identityList,""); } /** * 绑定主键字段下拉框。 * @param pkField 控件ID值 * @param fieldList 字段列表 * @param defautValue 默认值 */ function bindPkField(pkField,fieldList,defautValue){ var obj=$("#" +pkField); for(var i=0;i大于"); selObj.append(""); selObj.append(""); break; case "number": selObj.append(""); selObj.append(""); selObj.append(""); selObj.append(""); selObj.append(""); break; case "date": selObj.append(""); selObj.append(""); break; } } */ function initSelValueFrom(selObj,val){ switch(val){ case "1": var html="表单输入"; selObj.html(html); break; case "2": var html=""; selObj.html(html); break; case "3": var html = "常用脚本
"; html+=""; selObj.html(html); break; default: var html=""; selObj.html(html); } } /** * 查询条件处理。 * @param obj *//* function changeSelValFrom(obj){ var val=$(obj).val(); var selVal=$("#selValue"); initSelValueFrom(selVal,val); }*/ function selSelectScript(obj) { var txtObj=$('#selValInput'); ScriptDialog({ callback : function(script) { txtObj.val(script); } }); }; /** * 根据列类型,处理值来源显示 * @param fy 字段类型 */ function hdlValueFromShow(fy,value){ var varFromList=[]; switch(fy){ case varchar_://文本 var varFromList=[{key:0,value:'表单输入'},{key:1,value:'脚本运算(显示)'}, {key:2,value:'脚本运算(不显示)'},{key:3,value:'流水号'}]; break; case clob_://大文本 var varFromList=[{key:0,value:'表单输入'}]; break; case date_://日期 var varFromList=[{key:0,value:'表单输入'}]; break; case number_://数字 var varFromList=[{key:0,value:'表单输入'},{key:1,value:'脚本运算(显示)'}, {key:2,value:'脚本运算(不显示)'}]; break; } var objSelect=$('#valueFrom'); objSelect.empty(); $(varFromList).each(function(i, d) { var key=d.key; var option = $(optiontemplate.replaceAll('#value', key).replace('#text', d.value)); if(value!=undefined && value!=null && value!=""){ if(key==value){ option.attr("selected","selected"); } } objSelect.append(option); }); }; /** * 根据字段类型、值来源,处理控件的显示 * @param ft 字段类型 * @param vf 值来源 */ function hdlControlTypeShow(ft,vf,value){ vf=""+vf; var controlTypeTr = $("#trControlType"); var controlType = $("#controlType"); controlType.empty(); var controlList=[]; controlTypeTr.hide(); switch(ft){ case varchar_://文本 switch(vf){ case '0'://表单输入 controlTypeTr.show(); controlList =[ {key : '1',value : '单行文本框'}, {key : '2',value : '多行文本框'}, {key:'10',value:'富文本框'},{key : '3',value : '数据字典'}, {key : '4',value : '人员选择器(单选)'}, {key : '8',value : '人员选择器(多选)'}, {key : '17',value :'角色选择器(单选)'},{key : '5',value : '角色选择器(多选)'}, {key : '18',value : '组织选择器(单选)'},{key : '6',value : '组织选择器(多选)'}, {key : '19',value : '岗位选择器(单选)'}, {key : '7',value : '岗位选择器(多选)'}, {key : '16',value : '隐藏域'},{key : '9',value : '文件上传'}, {key : '11',value : '下拉选项'},{key : '13',value : '复选框'}, {key : '14',value : '单选按钮'},{key : '12',value : 'office控件'}, {key : '15',value : '日期控件'},{key : '20',value : '流程引用'}, {key : '21',value : 'WebSign控件'},{key : '22',value : '图片展示控件'},{key : '23',value : '正文'} ]; break; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) controlTypeTr.show(); controlList = [ {key : '1',value : '单行文本框'}, {key : '2',value : '多行文本框'}, {key : '3',value : '数据字典'}, {key : '4',value : '人员选择器(单选)'}, {key : '8',value : '人员选择器(多选)'}, {key : '17',value :'角色选择器(单选)'},{key : '5',value : '角色选择器(多选)'}, {key : '18',value : '组织选择器(单选)'},{key : '6',value : '组织选择器(多选)'}, {key : '19',value : '岗位选择器(单选)'}, {key : '7',value : '岗位选择器(多选)'}, {key : '16',value : '隐藏域'},{key : '9',value : '文件上传'}, {key : '11',value : '下拉选项'},{key : '13',value : '复选框'}, {key : '14',value : '单选按钮'}, {key : '15',value : '日期控件'},{key : '20',value : '流程引用'},{key : '23',value : '正文'}]; break; case '3'://流水号 break; } break; case clob_://大文本 switch(vf){ case '0'://表单输入 controlTypeTr.show(); controlList = [ {key : '2',value : '多行文本框'}, {key : '10',value : '富文本框'}]; break; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) case '3'://流水号 break; } break; case date_://日期 switch(vf){ case '0'://表单输入 controlTypeTr.show(); controlList = [ {key : '1',value : '单行文本框'},{key : '15',value : '日期控件'},{key : '16',value : '隐藏域'}]; break; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) case '3'://流水号 break; } break; case number_://数字 switch(vf){ case '0'://表单输入 controlList[2] = {key : '11',value : '下拉选项'}; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) controlTypeTr.show(); controlList[0] = {key : '1',value : '单行文本框'}; controlList[1] = {key : '16',value : '隐藏域'}; break; case '3'://流水号 break; } break; } $(controlList).each(function(i, d) { var option =$( optiontemplate.replaceAll('#value', d.key).replace('#text', d.value)); if(value!=undefined && value!=null && value!=""){ if(value==d.key){ option.attr("selected","selected"); } } if(isExternal==0){ controlType.append(option); } //外部表的情况,不支持选择器类型。 else{ if( !isExecutorSelector(d.key)){ controlType.append(option); } } }); }; /** * 根据字段类型、值来源和控件类型,处理是否显示当前用户,处理人员限定的范围 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlShowCurUserTrShow(fy,vf,ct,value,jsonObj){ vf=""+vf; ct=""+ct; var tr=$("#showCurUserTr"); var fromTypeTr=$("#fromTypeTr"); var fromTypeScriptTr = $("#fromTypeScriptTr"); tr.hide(); fromTypeTr.hide(); fromTypeScriptTr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) tr.show(); fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '8': //人员选择器(多选) fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) case '3'://流水号 break; } if(value){ $("#showCurUser").attr("checked","checked"); } }; //处理人员选择器的左边树的控制范围 function handFromType(scope,ScriptTr){ if(scope){ var type = scope.type; var typeVal = scope.value; if(type == 'script'){ $("#fromType").val(""); $(ScriptTr).show(); $("#fromScript").val(typeVal); }else{ if(typeVal){ $("#fromType").val(typeVal); } } } } /** * 根据字段类型、值来源和控件类型,处理是否显示直接上传文件 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlShowUpLoadTrShow(fy,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trUpLoad"); tr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 tr.show(); break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) case '2'://脚本输入 (隐藏) case '3'://流水号 break; } if(value!=undefined || value!=null || value!=""){ if(value==1) { $("input[name='isDirectUpLoad']").attr("checked","checked") } } }; /** * 根据字段类型、值来源和控件类型,处理是否显示脚本 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlScriptTrShow(ft,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trScript"); tr.hide(); switch(vf){ case '0'://表单输入 break; case '1'://脚本输入 (显示) tr.show(); case '2'://脚本输入 (隐藏) tr.show(); case '3'://流水号 break; } if(value!=undefined && value!=null && value!=""){ $("#script").val(value); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示脚本ID * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlScriptIdTrShow(ft,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trScriptID"); tr.hide(); switch(vf){ case '0'://表单输入 break; case '1'://脚本输入 (显示) switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) tr.show(); break; case '8': //人员选择器(多选) tr.show(); break; case '17': //角色选择器(单选) tr.show(); break; case '5': //角色选择器(多选) tr.show(); break; case '18': //组织选择器(单选) tr.show(); break; case '6': //组织选择器(多选) tr.show(); break; case '19': //岗位选择器(单选) tr.show(); break; case '7': //岗位选择器(多选) tr.show(); break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 tr.show(); break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '2'://脚本输入 (隐藏) switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) tr.show(); break; case '8': //人员选择器(多选) tr.show(); break; case '17': //角色选择器(单选) tr.show(); break; case '5': //角色选择器(多选) tr.show(); break; case '18': //组织选择器(单选) tr.show(); break; case '6': //组织选择器(多选) tr.show(); break; case '19': //岗位选择器(单选) tr.show(); break; case '7': //岗位选择器(多选) tr.show(); break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 tr.show(); break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '3'://流水号 break; } if(value!=undefined && value!=null && value!=""){ $("#scriptID").val(value); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示数据字典 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlDictTrShow(ft,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trDict"); tr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 tr.show(); break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 break; } if(value!=undefined && value!=null && value!=""){ $("#dictTypeName").attr("catValue",value); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示验证规则 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlRuleTrShow(ft,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trRule"); tr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 case '2': //多行文本框 tr.show(); break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 break; } //数字类型不设置表单规则。 if(ft==number_){ tr.hide(); } if(value!=undefined && value!=null && value!=""){ $("#validRule").val(value); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示流水号 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlIdentityTrShow(ft,vf,ct,identityAlias,identityName){ vf=""+vf; ct=""+ct; var tr=$("#showidentity"); tr.hide(); switch(vf){ case '0'://表单输入 break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 tr.show(); if(identityAlias){ $("#identityAlias").val(identityAlias); $("#identityName").val(identityName); } break; } }; /** * 根据字段类型、值来源和控件类型,处理是否显示数据字典 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlShowCurOrgTrShow(ft,vf,ct,value,jsonObj){ vf=""+vf; ct=""+ct; var tr=$("#showCurOrgTr"); var fromTypeTr=$("#fromTypeTr"); var fromTypeScriptTr = $("#fromTypeScriptTr"); tr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) tr.show(); fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '6': //组织选择器(多选) fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 break; } if(value){ $("#showCurOrg").attr("checked","checked"); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示数据字典 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlShowCurPosTrShow(ft,vf,ct,value,jsonObj){ vf=""+vf; ct=""+ct; var tr=$("#showCurPosTr"); var fromTypeTr=$("#fromTypeTr"); var fromTypeScriptTr = $("#fromTypeScriptTr"); tr.hide(); switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) tr.show(); fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '7': //岗位选择器(多选) fromTypeTr.show(); handFromType(jsonObj,fromTypeScriptTr); break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 break; case '13': //复选框 break; case '14': //单选按钮 break; case '12': //Office控件 break; case '15': //日期控件 break; case '20': //流程引用 break; case '21': //WebSign控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 break; } if(value){ $("#showCurPos").attr("checked","checked"); } }; /** * 根据字段类型、值来源和控件类型,处理是否显示下拉选项 * @param fy 字段类型 * @param vf 值来源 * @param ct 控制类型 */ function hdlOptionTrShow(ft,vf,ct,value){ vf=""+vf; ct=""+ct; var tr=$("#trOption"); tr.hide(); switch(ft){ case varchar_: switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 tr.show(); chrachange("11"); break; case '13': //复选框 tr.show(); chrachange("13");//修改默认值的勾选框是复选,如果存在的话 break; case '14': //单选按钮 tr.show(); chrachange("14");//修改默认值的勾选框是复选,如果存在的话 break; case '12': //Office控件 break; case '15': //日期控件 break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; case '3'://流水号 break; } break; case number_: switch(vf){ case '0'://表单输入 switch(ct){ case '1': //单行文本框 break; case '2': //多行文本框 break; case '3': //数据字典 break; case '4': //人员选择器(单选) break; case '8': //人员选择器(多选) break; case '17': //角色选择器(单选) break; case '5': //角色选择器(多选) break; case '18': //组织选择器(单选) break; case '6': //组织选择器(多选) break; case '19': //岗位选择器(单选) break; case '7': //岗位选择器(多选) break; case '16': //隐藏域 break; case '9': //文件上传 break; case '11': //下拉选项 tr.show(); chrachange("11"); break; case '13': //复选框 tr.show(); chrachange("13");//修改默认值的勾选框是复选,如果存在的话 break; case '14': //单选按钮 tr.show(); chrachange("14");//修改默认值的勾选框是单选,如果存在的话 break; case '12': //Office控件 break; case '15': //日期控件 break; case '21': //WebSign控件 break; case '22': //图片展示控件 break; case '23': //正文 break; } break; case '1'://脚本输入 (显示) break; case '2'://脚本输入 (隐藏) break; } break; } if(value!=undefined && value!=null && value!=""){ var optsAry = {}; try{ optsAry = eval("("+value+")"); } catch(e){ } initOptionArray(optsAry,ct); } }; function chrachange(controlType){ debugger if(controlType=="13"){ $(".radioDefault").hide(); $(".checkboxDefault").show(); }else if(controlType=="14"){ $(".checkboxDefault").hide(); $(".radioDefault").show(); }else if(controlType=="11"){ $(".checkboxDefault").hide(); $(".radioDefault").show(); } } function initOptionArray(json,ct) { var tbody = $('#option-table>tbody'); if (typeof(json)!=undefined && json!=null && json != '' && json.length>0){ //有数据时 for ( var i = 0, c; c = json[i++];) { var tr = addColumn1(c); tbody.append(tr); } }else{ if(ct=='11'){//这里是修复了下拉框选项为null时的BUG by liyj return; } var value = []; value.lantype=" "; value.lanmemo=" "; value.lanres=" "; var data ={key:" ",value:value}; //key 为一个空格 var normalTr = addNormalColumn(data), newTr = addColumn(data); tbody.append(normalTr,newTr.hide()); } }; /** * 终止事件冒泡 * @param {[type]} e [description] * @return {[type]} [description] */ function stopBubble(e) { if (e && e.stopPropagation) e.stopPropagation(); else window.event.cancelBubble = true; }; /** * 添加选项(兼容3.2版本) * @param {[json]} data [数据] * @return {[type]} [description] */ function addColumn1(data){ var hiddenTable = $("#hiddenTable"), tmpTr = $("tr.editable-tr",hiddenTable), newTr = tmpTr.clone(); if(typeof(data.key)!= undefined && data.key!=null && data.key!=''){ $("input[name='optionKey']",newTr).val(data.key); $("input[name='optionValue']",newTr).val(data.value); var controlType = $("#controlType").val(); var isDefault = data.isDefault; if((controlType=="11" || controlType=="14") && isDefault =="1"){ $(".radioDefault",newTr).attr("checked","checked"); }else if ((controlType=="13") && isDefault =="1"){ $(".checkboxDefault",newTr).attr("checked","checked"); } } return newTr; }; /** * 添加选项 * @param {[json]} data [数据] * @return {[type]} [description] */ function addColumn(data){ var hiddenTable = $("#hiddenTable"), tmpTr = $("tr.editable-tr",hiddenTable), newTr = tmpTr.clone(); if( typeof(data.key)!= undefined && data.key!=null && data.key!=''){ $("input[name='optionKey']",newTr).val(data.key); $("input.long",newTr).each(function(){ var opinionValue = data.value; var me = $(this).val(''), name = me.attr("name"); for(var i=0,c;c=opinionValue[i++];){ if(c.lantype==name){ me.val(c.lanres); } } }); } return newTr; }; function addNormalColumn(data){ var hiddenTable = $("#hiddenTable"); var tmpTr = $("tr.normalTr",hiddenTable); var newTr = tmpTr.clone(); if( typeof(data.key)!= undefined && data.key!=null && data.key!=''){ var lanDetail = $("span.lanDetail",newTr); var curLan = $("span.curLan",newTr); var selector = "input[name='"+locale+"']"; var detail = getSelectValue(data.value); var curLanMsg = getCurLan(data.value); lanDetail.text(detail); curLan.text(curLanMsg); } return newTr; } /** * 获取选项值 */ function getSelectValue(val){ if(!val||val.length==0)return ''; var str = []; if(val.length==0)return str; for(var i=0,c;c=val[i++];){ str.push('['+c.lanmemo + ']' + c.lanres); } return str.join(' '); }; /** * 获取当前语言对应的选项值 */ function getCurLan(val){ if(!val||val.length==0)return ''; var str = ""; if(val.length==0)return str; for(var i=0,c;c=val[i++];){ if(c.lantype==locale){ str = c.lanres; return str; } } return str; }; /** * 根据字段类型、值来源和控件类型,处理是否显示千分位显示 * @param fy 字段类型 */ function hdlShowComdifyShow(ft,value){ var showComdify=$("#showComdify"); showComdify.hide(); switch(ft){ case number_: showComdify.show(); } }; /** * 根据值来源和控件类型控制 超连接 选项 显示 * @param vf * @param ct * @param value */ function hdlIsReferenceShow(vf,ct,value){ ct = ""+ct; var showIsLink = $("#showIsReference"); var isLink = $("#isReference"); showIsLink.hide(); switch(ct){ case '4': //人员选择器(单选) case '8': //人员选择器(多选) case '17': //角色选择器(单选) case '5': //角色选择器(多选) case '18': //组织选择器(单选) case '6': //组织选择器(多选) case '19': //岗位选择器(单选) case '7': //岗位选择器(多选) case '20': //流程引用 showIsLink.show(); break; } if(value && value==1){ isLink.attr("checked","checked"); } }; /** * 根据控件类型改变值的长度 * @param len */ function hdlCharLen(ct){ ct=""+ct; changeCharLen(2000); switch(ct){ case '2': case '3': changeCharLen(2000); break; //部门选择器(单选) case '4': case '17': case '18': case '19': changeCharLen(2000); break; //选择器(多选) case '5': case '6': case '7': case '8': changeCharLen(2000); break; //隐藏域 case '16': changeCharLen(100); break; //如果选择文件上传控件,将字符宽度默认修改为2000个字符。 case '9': changeCharLen(2000); break; //如果选择正文控件,将字符宽度默认修改为2000个字符。 case '23': changeCharLen(2000); break; //下拉选项,单选框,复选框 case '11': case '13': case '14': changeCharLen(2000); break; //日期控件 case '15': changeCharLen(20); break; case '20': case '22': changeCharLen(2000); break; case '12': case '21': changeCharLen(50); break; } }