<#-- 提取java枚举类型--> <#assign GtType= enum["cn.sinobest.framework.service.tags.Gt$GtType"] > <#-- 准备用户右对齐的类型,目前知道的是 文本、单选和多选--> <#assign rightAlign= [GtType.LABEL,GtType.CHECKBOX,GtType.RADIOBOX] > <#-- 准备动态字典--> <#assign gtDicts= parameters.gtDicts > <#-- 准备值--> <#assign gtValues= parameters.gtValues > <#-- 查询条件集合--> <#assign whereClsMap= parameters.whereClsMap!{} > <#-- 多记录表配置集合--> <#assign gltMap= parameters.gltMap!{} > <#-- 快速字典默认表头定义--> <#assign COMBOBOX_P_HEADER = [{"field":"AAA102","title":"字典代码","width":60}, {"field":"AAA103","title":"字典值","width":100}, {"field":"AAA101","title":"分类名称","width":120}, {"field":"AAA100","title":"分类代码","width":100}] > <#-- 准备单选控件的值--> <#assign inputSets= { <#--子类型:[type类型,class名称,最大长度] --> "p":["text","postbox",6],<#-- 邮件编码--> "n":["text","numberbox",50],<#-- 只能输入数字--> "c":["text","chinessbox",50],<#-- 只能输入中文--> "f":["text","floatbox",50],<#-- 只能输入浮点数--> "d":["text","yearmonthbox",6],<#-- 只能输入YYYYMM格式的日期--> "t":["text","timebox",8],<#-- 只能输入时间格式--> "s":["text","datetime",19],<#-- 只能输入日期+时间 格式--> "m":["password","textbox",50],<#-- 密码输入框--> "x":["text","notpastebox",50],<#-- 不能粘贴的输入框--> "q":["text","searchgrid-text 05q",1000],<#-- 不能粘贴的输入框--> "y":["text","bankaccount",50],<#-- 银行账号每4位隔开 --> " ":["text","textbox",50]<#-- 默认--> }> <#assign multipleNames = []> <#--解析单记录表的控件内容 --> <#macro GT_COMPOMENT v_comp> <#--控件只读判断 --> <#assign v_readOnly=((parameters.readOnly!false)||((v_comp.readOnly!"")=="true"))?string("disabled","") /> <#--分控件类型处理 --> <#switch v_comp.type!""> <#case GtType.LABEL ><#--处理文本 --> <#if (v_comp.nClass!"")=="tdprompt_n_v2"> * <#elseif (v_comp.nClass!"")=="tdprompt_n_v3"> * ${v_comp.label!" "} <#if v_comp.fdj??><#--处理放大镜 --> <#break> <#case GtType.INPUT ><#--处理单行输入控件--> <#assign inputTmp=inputSets[v_comp.subtype!" "]> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#switch v_comp.subtype!""> <#case "q"> <#break> <#case "y"> <#break> <#default> <#break> <#break> <#case GtType.SFZ ><#--处理身份证 --> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#break> <#case GtType.TEXTAREA ><#--处理多行输入控件 --> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#switch v_comp.subtype!""><#case "q"> <#break> <#default> <#break> <#break> <#case GtType.COMBOBOX ><#--处理字典控件 --> <#switch v_comp.subtype!""> <#case "p"> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#break> <#case "q"> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#assign disaplayValue=gtValues['_DIC_'+v_comp.pname]!""> <#if (disaplayValue?is_sequence)> <#assign disaplayValue=(disaplayValue[0]?string)!""> <#break> <#case "m"> <#if !multipleNames?seq_contains(v_comp.pname)> <#assign multipleNames=multipleNames+[v_comp.pname]> <#assign compValue=gtValues[v_comp.pname]![]> <#if !(compValue?is_sequence)> <#assign compValue=[compValue?string]> <#break> <#case "s"> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#break> <#default> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#break> <#break> <#case GtType.DATEPICKER ><#--处理日期控件 --> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#switch v_comp.subtype!""> <#case "y"> <#break> <#case "s"> <#break> <#case "t"> <#break> <#case "m"> <#break> <#default> <#break> <#case GtType.FILE ><#--处理上传控件 --> <#assign compValue=gtValues[v_comp.pname]!""> <#if (compValue?is_sequence)> <#assign compValue=(compValue[0]?string)!""> <#break> <#case GtType.LINK ><#--处理超级链接 --> ${v_comp.label} <#break> <#case GtType.BUTTON ><#--处理按钮--> ${v_comp.label} <#break> <#case GtType.IMG ><#--处理图片--> ${v_comp.label} <#break> <#case GtType.CHECKBOX > <#-- 标记该控件多值--> <#if !multipleNames?seq_contains(v_comp.pname)> <#assign multipleNames=multipleNames+[v_comp.pname]> <#-- 取控件的值--> <#assign compValue=gtValues[v_comp.pname]![]> <#if !(compValue?is_sequence)> <#assign compValue=[compValue?string]> <#if v_comp.dname??> <#list (gtDicts[v_comp.dname]!{})?values?chunk(((v_comp.colNum)?number)!10) as dicts> <#list dicts as dict>
<#else> <#break> <#case GtType.RADIOBOX > <#assign compValue=gtValues[v_comp.pname]![]> <#if !(compValue?is_sequence)> <#assign compValue=[compValue?string]> <#if v_comp.dname??> <#list (gtDicts[v_comp.dname]!{})?values?chunk(((v_comp.colNum)?number)!10) as dicts> <#list dicts as dict>
<#else> <#break> <#case GtType.NESTTABLE > <@GT_TABLE_CONTENT v_comp.gt true/> <#break> <#default> <#--解析单记录表的表单内容模板--> <#macro GT_TABLE_CONTENT v_gt v_nested> <#if !v_nested> <#else>
<#-- 计算单记录表中一个td的默认宽度 --> <#assign def_td_width= ((100/(v_gt.colNum))/100)?string("percent") > <#assign rowNum = 0 > <#list v_gt.renders as row><#--行数据生成 --> <#assign rowNum = rowNum + 1 > <#list row as col><#--列数据生成 --> <#if (col[0].nClass!"")=="tdprompt_n_v2">
<#if col[0].align??>style="text-align:${col[0].align};" > <#elseif (col[0].nClass!"")=="tdprompt_n_v3"> <#if col[0].align??>style="text-align:${col[0].align};" > <#else> <#if col[0].align??>style="text-align:${col[0].align};" > <#if (parameters.rowHid!0) == rowNum> <#list col as comp> <@GT_COMPOMENT comp />
<#-- 生成单记录表HIDDENT区域--> <#if v_gt.hiddens??> <#list v_gt.hiddens as hidden> <#assign compValue=gtValues[hidden]!""> <#if (compValue?is_sequence)> <#assign compValue=compValue[0]?string!""> <#-- 开始生成单记录表脚本--> <#--若没有标题也没有边框,就不需要DIV也不需要fieldset--> <#if (parameters.hasTitle!true)||(parameters.hasBorder!true) > <#--只要标题不要边框--> <#if parameters.hasBorder!true >
<#else>
<#if parameters.hasTitle!true ><#-- 生成标题--> ${parameters.title!(parameters.gt.description!'')} <#if parameters.hasBorder!true ><#-- 生成边框-->
<#else>
<#else>
<#-- 没有边框和标题时需要加一个DIV否则 排在它后面的标签能居中--> <@GT_TABLE_CONTENT parameters.gt false/> <#-- 标识哪那些是可以多值的--> <#--若没有标题也没有边框,就不需要DIV--> <#if (parameters.hasTitle!true)||(parameters.hasBorder!true) >
<#--若没有标题也没有边框,就不需要fieldset--> <#if (parameters.hasTitle!true)||(parameters.hasBorder!true) >
<#if ((parameters.rowHid!0) > 1)>
<#else> <#--根据配置显示归档查询按钮--> <#if (parameters.hasArchive) && (parameters.permitArchive) >
归档查询
<#-- 生成单记录表对应js脚本的区域-->