glt.ftl 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <#--多记录表的固定表头和扩展表头的输出方式基本一样,所以先先定义个表头宏,简化代码 -->
  2. <#-- 输出列标题 函数-->
  3. <#macro GLT_COL v_head_row isFixed>
  4. <#list v_head_row as col><#--列数据生成 -->
  5. <th nowrap="nowrap" rowspan=${col.rowspan!1} colspan=${col.colspan!1} <#if col.align??> _al=${col.align}</#if> sortable=${col.sortable!'true'}
  6. <#if col.width??>style="width=${col.width}" width="${col.width}"</#if> <#if (col.lastRowIndex??)>lastRowIndex="${col.lastRowIndex}" </#if>
  7. <#if isFixed>class=fwdatagrid-th-fixed<#else>class=fwdatagrid-th</#if>
  8. <#if col.checkbox??> style="text-align:left;padding-left:2px"</#if> >
  9. <#if !(col.lastRowIndex??)><#--标题组生成方式 -->
  10. <#if col.checkbox??><#--生成checkbox -->
  11. <input type=checkbox class=fwdatagrid-header-check>
  12. <#else>
  13. ${col.title!""}
  14. </#if>
  15. <#else><#--非标题组生成方式 -->
  16. <#if col.checkbox??><#--生成checkbox -->
  17. <input type=checkbox class=fwdatagrid-header-check>
  18. <#else>
  19. <div class=fwdatagrid-div onMouseDown="_FW.oFtl.fnMouseDownToResize(this,'${parameters.id}_table');" onMouseMove="_FW.oFtl.fnMouseMoveToResize(this,'${parameters.id}_table');" onMouseUp="_FW.oFtl.fnMouseUpToResize(this);">
  20. ${col.title!""}
  21. <span class=fwdatagrid-sort-icon>&nbsp;</span>
  22. </div>
  23. </#if>
  24. </#if>
  25. </th>
  26. </#list>
  27. </#macro>
  28. <#macro GLT_HEADER v_head_fixed,v_head_colHead>
  29. <#if ((v_head_fixed?size) > 1 || (v_head_colHead?size) > 1 )>
  30. <#-- 含有分组标题的情形先要拼第一行 -->
  31. <tr class=fwdatagrid-header-group >
  32. <th nowrap="nowrap" class=fwdatagrid-th-rownum-top>&nbsp;</th>
  33. <#list v_head_fixed as row>
  34. <@GLT_COL row true />
  35. <#break>
  36. </#list>
  37. <#list v_head_colHead as row>
  38. <@GLT_COL row false/>
  39. <#break>
  40. </#list>
  41. </tr>
  42. <#-- 拼第二行 -->
  43. <tr class=fwdatagrid-header-tr>
  44. <th nowrap="nowrap" class=fwdatagrid-th-rownum-bottom>&nbsp;</th>
  45. <#list v_head_fixed as row>
  46. <#if (row_index >0) >
  47. <@GLT_COL row true/>
  48. </#if>
  49. </#list>
  50. <#list v_head_colHead as row>
  51. <#if (row_index >0) >
  52. <@GLT_COL row false />
  53. </#if>
  54. </#list>
  55. </tr>
  56. <#else>
  57. <tr class=fwdatagrid-header-tr style="height:${parameters.options.headerHeight!"20"}px;">
  58. <th nowrap="nowrap" >序号</th>
  59. <#list v_head_fixed as row>
  60. <@GLT_COL row true/>
  61. <#break>
  62. </#list>
  63. <#list v_head_colHead as row>
  64. <@GLT_COL row false/>
  65. <#break>
  66. </#list>
  67. </tr>
  68. </#if>
  69. </#macro>
  70. <#-- 开始生成多记录表脚本-->
  71. <!--外层 bg_set start-->
  72. <div class="bg_set">
  73. <#if parameters.hasTitle!true >
  74. <fieldset class="fieldset2" align="center" style="cursor:default;width:${parameters.width!"100%"}" >
  75. <legend class="legend" style="cursor:hand;" >
  76. <span onclick="_FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}')" >
  77. <img id="img_${parameters.id}_grid" src="${request.contextPath}/themes/default/images/query_icon_right.gif">
  78. </span>
  79. <span title="单击展开或收缩" onclick="_FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}')">
  80. ${parameters.title!(parameters.glt.title!'')}
  81. </span>
  82. </legend>
  83. </#if>
  84. <div align="left" id="${parameters.id}" > <!-- `by hemeixiu` style="width:100%" -->
  85. <div class="fwdatagrid"><!--`by hemeixiu` style="height:${parameters.options.height}px;" --> <!-- 整个grid的外层 -->
  86. <div class="fwdatagrid-wrap" > <!-- 整个grid的覆盖区 -->
  87. <#assign buildPage=(parameters.options.hasPage||(parameters.options.expbtn?length!"")>0) >
  88. <#if (["TOP","BOTH"]?seq_contains(parameters.pageAlign!"BOTTOM"))&&buildPage >
  89. <div class="fwdatagrid-pager"></div><!-- 整个grid的分页区 -->
  90. </#if>
  91. <div class="fwdatagrid-view" > <!-- 整个grid的数据区 -->
  92. <table border=0 cellspacing=0 cellpadding=0 width=100% id="${parameters.id}_table">
  93. <thead>
  94. <@GLT_HEADER parameters.glt.fixHead![] parameters.glt.colHead![] />
  95. </thead>
  96. <tbody>
  97. </tbody>
  98. </table>
  99. <div class="fwdatagrid-resize-proxy"> </div>
  100. </div>
  101. <#if (["BOTTOM","BOTH"]?seq_contains(parameters.pageAlign!"BOTTOM"))&&buildPage >
  102. <div class="fwdatagrid-pager"></div><!-- 整个grid的分页区 -->
  103. </#if>
  104. </div>
  105. </div>
  106. <input type="hidden" name="_multiple" />
  107. </div>
  108. <#if parameters.hasTitle!true >
  109. </fieldset>
  110. </#if>
  111. </div><!--外层 bg_set end-->
  112. <br/>
  113. <!-- 工作流 接收人 window-->
  114. <div id="accepterWindow" class="window" style="display:none" >
  115. <div id="div_acts">
  116. </div>
  117. <div id="wfDialogBtn" class="wfDialogBtn" >
  118. <a class="buttonlink" keycomb="" href="javascript:void(0);" id="btn_cancel">取消</a>&nbsp;&nbsp;
  119. <a class="buttonlink" keycomb="" href="javascript:void(0);" id="btn_ok">确定</a>&nbsp;&nbsp;
  120. </div>
  121. </div>
  122. <!-- 流程图展示window ,配合wf.js中的 wfPlay()方法是用-->
  123. <div id="playWindow" style="display:none;">
  124. <iframe id="mainContent" src="" style="width: 100%;border: none;height:750px;" scrolling="yes">
  125. </iframe>
  126. </div>
  127. <#-- 生成多记录表对应js脚本的区域-->
  128. <script language="javascript">
  129. $(function(){
  130. if($(${parameters.id}).data('_init')){return;}
  131. //标志已经初始化,无需重新初始化
  132. $(${parameters.id}).data('_init',true);
  133. <#if !(parameters.showContent!true)>
  134. _FW.oFtl.fnShowTable('img_${parameters.id}_grid','${parameters.id}');
  135. </#if>
  136. $("#${parameters.id}").fwdatagrid(${tojson(parameters.options)});
  137. });
  138. </script>