autolist.ftl 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  1. ${config_iframe}
  2. <script type="text/javascript">
  3. /**
  4. *表单的高度,表单的宽度
  5. **/
  6. var ${config_id}Fw = 900,${config_id}Fh = 600;
  7. $(function(){
  8. $.get("cgFormHeadController.do?checkIsExit&checkIsTableCreate&name=${config_id}",
  9. function(data){
  10. data = $.parseJSON(data);
  11. if(data.success){
  12. createDataGrid${config_id}();
  13. }else{
  14. alertTip('表:<span style="color:red;">${config_id}</span>还没有生成,请到表单配置生成表');
  15. }
  16. });
  17. });
  18. function createDataGrid${config_id}(){
  19. var initUrl = 'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds}${initquery}';
  20. initUrl = encodeURI(initUrl);
  21. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>(
  22. {
  23. <#if config_istree=="Y">treeField:'text',</#if>
  24. url:initUrl,
  25. idField: 'id', <#if config_istree=="Y">treeField:"${tree_fieldname}",</#if>
  26. title: '${config_name}',
  27. fit:true,
  28. fitColumns:true,
  29. striped:true,
  30. autoRowHeight:true,
  31. pageSize: 10,
  32. <#if config_ispagination =="Y">pagination:true,</#if>
  33. <#if config_ischeckbox=="Y">singleSelect:false,<#else>singleSelect:true,</#if>
  34. <#if fileds?index_of("create_datetime")!=-1 >
  35. sortName:'create_datetime',
  36. <#elseif fileds?index_of("create_date")!=-1 && fileds?index_of("create_datetime")==-1>
  37. sortName:'create_date',
  38. <#else>
  39. sortName:'id',
  40. </#if>
  41. pageList:[10,30,50,100],
  42. sortOrder:'desc',
  43. rownumbers:true,
  44. showFooter:true,
  45. frozenColumns:[[]],
  46. columns:[
  47. [
  48. <#if config_istree=="Y">
  49. <#list config_fieldList as x>
  50. <#if x_index==0>{field:"id", title:"${x['field_title']}", hidden:true}, </#if>
  51. <#if x_index!=0>{field:"${x['field_id']}", title:"${x['field_title']}",<#if x['field_isShow'] == "N" >hidden:true,</#if><#if x['field_href'] != "">formatter:function(value,rec,index){var href='';href+="<a href='javascript:void(0)' onclick=\"addOneTab('字段链接','${x['field_href']}')\" ><u>"+value+"</u></a>";return href;},</#if> width:100}, </#if>
  52. </#list>
  53. <#else>
  54. <#if config_ischeckbox=="Y">{field:'ck',checkbox:true},</#if>
  55. <#list config_fieldList as x>
  56. { field:'${x['field_id']}',
  57. title:'${x['field_title']}',
  58. <#if x['field_isShow'] == "N" >hidden:true,
  59. </#if>
  60. <#if x['field_href'] != "">
  61. formatter:function(value,rec,index){
  62. var href='';
  63. href+=applyHref('字段链接','${x['field_href']}',value,rec,index);
  64. return href;
  65. },
  66. </#if>
  67. <#if x['field_showType']=="file">
  68. formatter:function(value,rec,index){
  69. var href='';
  70. if(value==null || value.length==0){
  71. return href;
  72. }
  73. if(value.indexOf(".jpg")>-1 || value.indexOf(".gif")>-1 || value.indexOf(".png")>-1){
  74. href+="<img src='"+value+"'/>";
  75. }else{
  76. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  77. href+="<a href='"+value+"' class='ace_button' target=_blank><u><i class='fa fa-download'></i>点击下载</u></a>";
  78. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  79. }
  80. return href;
  81. },
  82. </#if>
  83. sortable:true,
  84. width:${x['field_length']}
  85. },
  86. </#list>
  87. </#if>
  88. {field:'opt',title:'操作',width:200,formatter:function(value,rec,index){
  89. if(!rec.id){return '';}
  90. var href='';
  91. <#if config_noliststr?index_of("delete")==-1>
  92. <#--//update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  93. href+="<a href='javascript:void(0)' class='ace_button' onclick=delObj('cgAutoListController.do?del&configId=${config_id}&id="+rec.id+"','${config_id}List')>";
  94. href+="<i class='fa fa-trash-o'></i>删除</a>";
  95. <#--//update-end--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  96. </#if>
  97. <#list config_buttons as x>
  98. <#if x['buttonStyle'] == 'link' && x['buttonStatus']=='1' && config_noliststr?index_of("${x['buttonCode']}")==-1>
  99. <#--//update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  100. href+="<a style='margin-left:5px;' href='javascript:void(0)' class='ace_button' buttonCode='${x['buttonCode']}' formId ='${x['formId']}' ";
  101. <#if x['optType'] == 'action'>
  102. href+=" onclick=\"doBusButtonForLink('cgFormBuildController.do?doButton&formId=${x['formId']}&buttonCode=${x['buttonCode']}&tableName=${config_id}','${x['buttonName']}','${config_id}List','"+rec.id+"')\"";
  103. <#else>
  104. href+=" onclick=\"${x['buttonCode']}('"+rec.id+"');\"";
  105. </#if>
  106. href+=" id=\"${x['buttonCode']}\">";
  107. <#if x['buttonName']?index_of("测试") gt -1>
  108. href+="<i class='fa fa-wrench'></i>${x['buttonName']}</a>";
  109. <#elseif x['buttonName']?index_of("配置") gt -1 || x['buttonName']?index_of("设置") gt -1>
  110. href+="<i class='fa fa-cog'></i>${x['buttonName']}</a>";
  111. <#elseif x['buttonName']?index_of("导入") gt -1 || x['buttonName']?index_of("下载") gt -1>
  112. href+="<i class='fa fa-download'></i>${x['buttonName']}</a>";
  113. <#elseif x['buttonName']?index_of("导出") gt -1 || x['buttonName']?index_of("上传") gt -1>
  114. href+="<i class='fa fa-upload'></i>${x['buttonName']}</a>";
  115. <#elseif x['buttonName']?index_of("复制") gt -1>
  116. href+="<i class='fa fa-copy'></i>${x['buttonName']}</a>";
  117. <#elseif x['buttonName']?index_of("剪切") gt -1>
  118. href+="<i class='fa fa-cut'></i>${x['buttonName']}</a>";
  119. <#else>
  120. href+="<i class='fa fa-wrench'></i>${x['buttonName']}</a>";
  121. </#if>
  122. <#--//update-end--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  123. </#if>
  124. </#list>
  125. return href;
  126. }
  127. }
  128. ]
  129. ],
  130. onLoadSuccess:function(data){
  131. $("#${config_id}List").<#if config_istree=="Y">treegrid<#else>datagrid</#if>("clearSelections");
  132. },
  133. onClickRow:function(rowIndex,rowData)
  134. {rowid=rowData.id;gridname='${config_id}List';}
  135. });
  136. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getPager').pagination({beforePageText:'',afterPageText:'/{pages}',displayMsg:'{from}-{to}共{total}条',showPageList:true,showRefresh:true});
  137. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getPager').pagination({onBeforeRefresh:function(pageNumber, pageSize){ $(this).pagination('loading');$(this).pagination('loaded'); }});
  138. //将没有权限的按钮屏蔽掉
  139. <#list config_nolist as x>
  140. $("#${config_id}Listtb").find("${x}").hide();
  141. </#list>
  142. }
  143. //列表刷新
  144. function reloadTable(){
  145. try{
  146. <#if config_istree=="Y">
  147. $('#'+gridname).treegrid('reload');
  148. <#else>
  149. $('#'+gridname).datagrid('reload');
  150. </#if>
  151. }catch(ex){
  152. //donothing
  153. }
  154. }
  155. //列表刷新-推荐使用
  156. function reload${config_id}List(){
  157. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('reload');
  158. }
  159. /**
  160. * 获取列表中选中行的数据-推荐使用
  161. * @param field 数据中字段名
  162. * @return 选中行的给定字段值
  163. */
  164. function get${config_id}ListSelected(field){
  165. var row = $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelected');
  166. if(row!=null){value= row[field];
  167. }else{
  168. value='';
  169. }
  170. return value;
  171. }
  172. /**
  173. * 获取列表中选中行的数据
  174. * @param field 数据中字段名
  175. * @return 选中行的给定字段值
  176. */
  177. function getSelected(field){
  178. var row = $('#'+gridname).<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelected');
  179. if(row!=null){value= row[field];
  180. }else{
  181. value='';
  182. }
  183. return value;
  184. }
  185. /**
  186. * 获取表格对象
  187. * @return 表格对象
  188. */
  189. function getDataGrid(){
  190. var datagrid = $('#'+gridname);
  191. return datagrid;
  192. }
  193. /**
  194. * 获取列表中选中行的数据(多行)
  195. * @param field 数据中字段名-不传此参数则获取全部数据
  196. * @return 选中行的给定字段值,以逗号分隔
  197. */
  198. function get${config_id}ListSelections(field){
  199. var ids = '';
  200. var rows = $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelections');
  201. for(var i=0;i<rows.length;i++){
  202. ids+=rows[i][field];
  203. ids+=',';
  204. }
  205. ids = ids.substring(0,ids.length-1);
  206. return ids;
  207. }
  208. /**
  209. * 列表查询
  210. */
  211. function ${config_id}Listsearch(){
  212. var queryParams=$('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('options').queryParams;
  213. $('#${config_id}Listtb').find('*').each(
  214. function(){
  215. queryParams[$(this).attr('name')]=$(this).val();});
  216. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>({url:'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds}',pageNumber:1});
  217. }
  218. function dosearch(params){
  219. var jsonparams=$.parseJSON(params);
  220. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>({url:'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds},',queryParams:jsonparams});
  221. }
  222. function ${config_id}Listsearchbox(value,name){
  223. var queryParams=$('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('options').queryParams;
  224. queryParams[name]=value;
  225. queryParams.searchfield=name;
  226. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('reload');
  227. }
  228. $('#${config_id}Listsearchbox').searchbox({
  229. searcher:function(value,name){
  230. ${config_id}Listsearchbox(value,name);
  231. },
  232. menu:'#${config_id}Listmm',
  233. prompt:'请输入查询关键字'
  234. });
  235. //查询重置
  236. function ${config_id}searchReset(name){
  237. $("#"+name+"tb").find("input[type!='hidden']").val("");
  238. <#if config_istree=="Y">
  239. //为树形表单时,删除id查询参数
  240. delete $('#${config_id}List').treegrid('options').queryParams.id;
  241. </#if>
  242. ${config_id}Listsearch();
  243. }
  244. //将字段href中的变量替换掉
  245. function applyHref(tabname,href,value,rec,index){
  246. //addOneTab(tabname,href);
  247. var hrefnew = href;
  248. var re = "";
  249. var p1 = /\#\{(\w+)\}/g;
  250. try{
  251. var vars =hrefnew.match(p1);
  252. for(var i=0;i<vars.length;i++){
  253. var keyt = vars[i];
  254. var p2 = /\#\{(\w+)\}/g;
  255. var key = p2.exec(keyt);
  256. hrefnew = hrefnew.replace(keyt,rec[key[1]]);
  257. }
  258. }catch(ex){
  259. }
  260. re += "<a href = '#' onclick=\"addOneTab('"+tabname+"','"+ hrefnew+"')\" ><u>"+value+"</u></a>";
  261. return re;
  262. }
  263. //SQL增强入口-按钮
  264. function doBusButton(url,content,gridname){
  265. var rowData = $('#'+gridname).datagrid('getSelected');
  266. if (!rowData) {
  267. tip('请选择一条信息');
  268. return;
  269. }
  270. url = url + '&id='+rowData.id;
  271. createdialog('确认 ', '确定'+content+'吗 ?', url,gridname);
  272. }
  273. //SQL增强入口-操作列里的链接
  274. function doBusButtonForLink(url,content,gridname,rowData){
  275. if (!rowData) {
  276. tip('请选择一条信息');
  277. return;
  278. }
  279. url = url + '&id='+rowData;
  280. createdialog('确认 ', '确定'+content+'吗 ?', url,gridname);
  281. }
  282. //新增
  283. function ${config_id}add(){
  284. add('${config_name}录入','cgFormBuildController/ftlForm/${config_id}/goAdd.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  285. }
  286. //修改
  287. function ${config_id}update(){
  288. update('${config_name}编辑','cgFormBuildController/ftlForm/${config_id}/goUpdate.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  289. }
  290. //查看
  291. function ${config_id}view(){
  292. detail('查看','cgFormBuildController/ftlForm/${config_id}/goDetail.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  293. }
  294. //批量删除
  295. function ${config_id}delBatch(){
  296. //获取选中的ID串
  297. var ids = get${config_id}ListSelections('id');
  298. if(ids.length<=0){
  299. tip('请选择至少一条信息');
  300. return;
  301. }
  302. $.dialog.confirm('确定删除吗?', function(r) {
  303. if(!r){return;}
  304. $.ajax({
  305. url:"cgAutoListController.do?delBatch",
  306. data:{'ids':ids,'configId':'${config_id}'},
  307. type:"Post",
  308. dataType:"json",
  309. success:function(data){
  310. tip(data.msg);
  311. reload${config_id}List();
  312. },
  313. error:function(data){
  314. $.messager.alert('错误',data.msg);
  315. }
  316. });
  317. }
  318. );
  319. }
  320. function ${config_id}ExportExcel(){
  321. var queryParams = $('#${config_id}List').datagrid('options').queryParams;
  322. $('#${config_id}Listtb').find('*').each(function() {
  323. queryParams[$(this).attr('name')] = $(this).val();
  324. });
  325. var params = '&';
  326. $.each(queryParams, function(key, val){
  327. params+='&'+key+'='+val;
  328. });
  329. var fields = '&field=';
  330. $.each($('#${config_id}List').datagrid('options').columns[0], function(i, val){
  331. if(val.field != 'opt'&&val.field != 'ck'){
  332. fields+=val.field+',';
  333. }
  334. });
  335. <#--//update-begin--Author:dangzhenghui Date:20170429 for:TASK #1906 【online excel】Online excel 导出功能改进 -->
  336. var id='&id=';
  337. $.each($('#${config_id}List').datagrid('getSelections'), function(i, val){
  338. id+=val.id+",";
  339. });
  340. window.location.href = "excelTempletController.do?exportXls&tableName=${config_id}"+encodeURI(params+fields+id)
  341. <#--//update-end--Author:dangzhenghui Date:20170429 for:TASK #1906 【online excel】Online excel 导出功能改进 -->
  342. }
  343. //JS增强
  344. ${config_jsenhance}
  345. </script>
  346. <table width="100%" id="${config_id}List" toolbar="#${config_id}Listtb"></table>
  347. <div id="${config_id}Listtb" style="padding:3px; height: auto">
  348. <div name="searchColums">
  349. <#if config_querymode == "group">
  350. <#list config_queryList as x>
  351. <#if x['field_isQuery']=="Y">
  352. <span style="display:-moz-inline-box;display:inline-block;">
  353. <span style="vertical-align:middle;display:-moz-inline-box;display:inline-block;width: 100px;text-align:right;text-align:right;text-overflow:ellipsis;-o-text-overflow:ellipsis; overflow: hidden;white-space:nowrap;" title="${x['field_title']}">${x['field_title']}:</span>
  354. </#if>
  355. <#if x['field_queryMode']=="group">
  356. <#if x['field_isQuery']=="Y">
  357. <input type="text" name="${x['field_id']}_begin" style="width: 94px" <#if x['field_type']=="Date">class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});"</#if> value="${x['field_value_begin']}" />
  358. <span style="display:-moz-inline-box;display:inline-block;width: 8px !important;text-align:right;">~</span>
  359. <input type="text" name="${x['field_id']}_end" style="width: 94px" <#if x['field_type']=="Date">class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});"</#if> value="${x['field_value_end']}"/>
  360. <#else>
  361. <input type="hidden" name="${x['field_id']}_begin" value="${x['field_value_begin']}"/>
  362. <input type="hidden" name="${x['field_id']}_end" value="${x['field_value_end']}"/>
  363. </#if>
  364. </#if>
  365. <#if x['field_queryMode']=="single">
  366. <#if x['field_isQuery']=="Y">
  367. <#if (x['field_dictlist']?size >0)>
  368. <select name = "${x['field_id']}" style="width: 104px">
  369. <option value = "">---请选择---</option>
  370. <#list x['field_dictlist'] as xd>
  371. <option value = "${xd['typecode']}">${xd['typename']}</option>
  372. </#list>
  373. </select>
  374. </#if>
  375. <#if (x['field_dictlist']?size <= 0)>
  376. <#if x['field_showType']!='popup'>
  377. <input type="text" name="${x['field_id']}" style="width: 100px" <#if x['field_type']=="Date">class="Wdate" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'});"</#if> value="${x['field_value']?if_exists?default('')}" />
  378. <#else>
  379. <input type="text" name="${x['field_id']}" style="width: 100px"
  380. class="searchbox-inputtext" value="${x['field_value']?if_exists?default('')}"
  381. onClick="inputClick(this,'${x['field_dictField']?if_exists?html}','${x['field_dictTable']?if_exists?html}');" />
  382. </#if>
  383. </#if>
  384. <#else>
  385. <input type="hidden" name="${x['field_id']}" value="${x['field_value']?if_exists?default('')}" />
  386. </#if>
  387. </#if>
  388. </span>
  389. </#list>
  390. </#if>
  391. </div>
  392. <div style="height:30px;" class="datagrid-toolbar">
  393. <span style="float:left;" >
  394. <a id="add" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-add" onclick="${config_id}add()">录入</a>
  395. <a id="update" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-edit" onclick="${config_id}update()">编辑</a>
  396. <a id="delete" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-remove" onclick="${config_id}delBatch()">批量删除</a>
  397. <a id="detail" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-search" onclick="${config_id}view()">查看</a>
  398. <a id="import" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-put" onclick="add('${config_name}Excel数据导入','excelTempletController.do?goImplXls&tableName=${config_id}','${config_id}List')">Excel数据导入</a>
  399. <a id="excel" href="javascript:void(0)" class="easyui-linkbutton" plain="true" onclick="${config_id}ExportExcel()" icon="icon-putout">Excel导出</a>
  400. <#list config_buttons as x>
  401. <#if x['buttonStyle'] == 'button' && x['buttonStatus']=='1'>
  402. <a id="${x['buttonCode']}" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="${x['buttonIcon']?if_exists?default('pictures')}"
  403. <#if x['optType'] == 'action'>
  404. onclick="doBusButton('cgFormBuildController.do?doButton&formId=${x['formId']}&buttonCode=${x['buttonCode']}&tableName=${config_id}','${x['buttonName']}','${config_id}List')">${x['buttonName']}</a>
  405. <#else>
  406. onclick="${x['buttonCode']}();">${x['buttonName']}</a>
  407. </#if>
  408. </#if>
  409. </#list>
  410. </span>
  411. <#if (config_queryList?size >0)>
  412. <#if config_querymode == "group" >
  413. <span style="float:right">
  414. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" onclick="${config_id}Listsearch()">查询</a>
  415. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-reload" onclick="${config_id}searchReset('${config_id}List')">重置</a>
  416. </span>
  417. </#if>
  418. <#if config_querymode == "single">
  419. <span style="float:right">
  420. <input id="${config_id}Listsearchbox" class="easyui-searchbox" data-options="searcher:${config_id}Listsearchbox,prompt:'请输入关键字',menu:'#${config_id}Listmm'"></input>
  421. <div id="${config_id}Listmm" style="width:120px">
  422. <#list config_queryList as x>
  423. <#if x['field_isQuery']=="Y">
  424. <div data-options="name:'${x['field_id']}',iconCls:'icon-ok' ">${x['field_title']}</div>
  425. <#else>
  426. </#if>
  427. </#list>
  428. </div>
  429. </span>
  430. </#if>
  431. </#if>
  432. </div>
  433. </div>