autolist.ftl 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706
  1. ${config_iframe}
  2. <#--update-start--Author:luobaoli Date:20150703 for:将本文档中所有href="#"修改为href="javascript:void(0)",避免rest风格下新增/删除等操作跳转到主页问题-->
  3. <script type="text/javascript">
  4. /**
  5. *表单的高度,表单的宽度
  6. **/
  7. var ${config_id}Fw = 700,${config_id}Fh = 400;
  8. $(function(){
  9. $.get("cgFormHeadController.do?checkIsExit&checkIsTableCreate&name=${config_id}",
  10. function(data){
  11. data = $.parseJSON(data);
  12. if(data.success){
  13. createDataGrid${config_id}();
  14. }else{
  15. alertTip('表:<span style="color:red;">${config_id}</span>还没有生成,请到表单配置生成表');
  16. }
  17. });
  18. });
  19. function createDataGrid${config_id}(){
  20. var initUrl = 'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds}${initquery}';
  21. initUrl = encodeURI(initUrl);
  22. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>(
  23. {
  24. <#if config_istree=="Y">treeField:'text',</#if>
  25. url:initUrl,
  26. idField: 'id', <#if config_istree=="Y">treeField:"${tree_fieldname}",</#if>
  27. title: '${config_name}',
  28. fit:true,
  29. fitColumns:true,
  30. striped:true,
  31. autoRowHeight: true,
  32. pageSize: 10,
  33. <#if config_ispagination =="Y">pagination:true,</#if>
  34. <#if config_ischeckbox=="Y">singleSelect:false,<#else>singleSelect:true,</#if>
  35. <#if fileds?index_of("create_datetime")!=-1 >
  36. sortName:'create_datetime',
  37. <#elseif fileds?index_of("create_date")!=-1 && fileds?index_of("create_datetime")==-1>
  38. sortName:'create_date',
  39. <#else>
  40. sortName:'id',
  41. </#if>
  42. pageList:[10,30,50,100],
  43. sortOrder:'desc',
  44. rownumbers:true,
  45. showFooter:true,
  46. frozenColumns:[[]],
  47. columns:[
  48. [
  49. <#if config_istree=="Y">
  50. <#list config_fieldList as x>
  51. <#if x_index==0>{field:"id", title:"${x['field_title']}", hidden:true}, </#if>
  52. <#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>
  53. </#list>
  54. <#else>
  55. {field:'ck',checkbox:true},
  56. <#list config_fieldList as x>
  57. { field:'${x['field_id']}',
  58. <#-- update-begin--Author: chenj Date:20160808 for:TASK 行编辑模式标题修改 -->
  59. title:'${x['field_title']}',
  60. <#-- update-end--Author: chenj Date:20160808 for:TASK 行编辑模式标题修改 -->
  61. editor:<#switch x['field_type']>
  62. <#case "string">
  63. <#-- update-begin--Author: chenj Date:20160805 for:TASK #1247 [bug]论坛问题处理 -->
  64. <#if x['field_showType']=="list">
  65. {
  66. type:'combobox',
  67. options:{
  68. valueField:'typecode',
  69. textField:'typename',
  70. data:
  71. <#if (x['field_dictlist']?size >0)>
  72. [
  73. <#list x['field_dictlist'] as xd>
  74. {
  75. "typecode":"${xd['typecode']}",
  76. "typename":"${xd['typename']}"
  77. },
  78. </#list>
  79. ],
  80. </#if>
  81. <#-- add-begin--Author:xuelin Date:20170425 for:#1781 【online模板】online行编辑模板,非空判断-------------------- -->
  82. <#if x['field_isNull'] != "Y">required:true</#if>
  83. <#-- add-end--Author:xuelin Date:20170425 for:#1781 【online模板】online行编辑模板,非空判断-------------------- -->
  84. }
  85. }
  86. <#elseif x['field_showType']=="radio">
  87. {
  88. type:'combobox',
  89. options:{
  90. valueField:'typecode',
  91. textField:'typename',
  92. data:
  93. <#if (x['field_dictlist']?size >0)>
  94. [
  95. <#list x['field_dictlist'] as xd>
  96. {
  97. "typecode":"${xd['typecode']}",
  98. "typename":"${xd['typename']}"
  99. },
  100. </#list>
  101. ],
  102. </#if>
  103. <#-- add-begin--Author:xuelin Date:20170425 for:#1781 【online模板】online行编辑模板,非空判断-------------------- -->
  104. <#if x['field_isNull'] != "Y">required:true</#if>
  105. <#-- add-end--Author:xuelin Date:20170425 for:#1781 【online模板】online行编辑模板,非空判断-------------------- -->
  106. }
  107. }
  108. <#-- add-begin--Author:xuelin Date:20170425 for:#1781 【online模板】online 选择行编辑模板,添加数据,保存没有校验功能,需要改模板-------------------- -->
  109. <#elseif x['field_showType']=="text">
  110. <#if x['field_isShow'] != "N" >
  111. {
  112. type:'validatebox',
  113. options:{
  114. <#if x['field_isNull'] != "Y">required:true</#if>
  115. }
  116. }
  117. <#else>
  118. 'text'
  119. </#if>
  120. <#-- add-end--Author:xuelin Date:20170425 for:#1781 【online模板】online 选择行编辑模板,添加数据,保存没有校验功能,需要改模板-------------------- -->
  121. <#else>
  122. 'text'
  123. </#if>
  124. <#-- update-end--Author: chenj Date:20160805 for:TASK #1247 [bug]论坛问题处理 -->
  125. <#break>
  126. <#case "interger">'numberbox'<#break>
  127. <#case "int">'numberbox'<#break>
  128. <#case "Date">
  129. <#if x['field_showType']=="date">
  130. {
  131. type:'datebox',
  132. options:{
  133. }
  134. }
  135. <#elseif x['field_showType']=="datetime">
  136. {
  137. type:'datetimebox',
  138. options:{
  139. }
  140. }
  141. <#else>
  142. 'datebox'
  143. </#if>
  144. <#break>
  145. <#default>'text'
  146. </#switch> ,
  147. <#if x['field_isShow'] == "N" >hidden:true,
  148. </#if>
  149. <#if x['field_href'] != "">
  150. formatter:function(value,rec,index){
  151. var href='';
  152. href+=applyHref('字段链接','${x['field_href']}',value,rec,index);
  153. return href;
  154. },
  155. </#if>
  156. <#if x['field_showType']=="file">
  157. formatter:function(value,rec,index){
  158. var href='';
  159. if(value==null || value.length==0){
  160. return href;
  161. }
  162. if(value.indexOf(".jpg")>-1 || value.indexOf(".gif")>-1 || value.indexOf(".png")>-1){
  163. <#-- update--begin--author:zhangjiaqiang date:20170606 for:TASK #2056 【上传附件功能】Online 一对多对上传组件支持 -->
  164. href+="<img src='"+value+"' onmouseover='tipImg(this)' onmouseout='moveTipImg()' width=50 height=50/>";
  165. <#-- update--end--author:zhangjiaqiang date:20170606 for:TASK #2056 【上传附件功能】Online 一对多对上传组件支持 -->
  166. }else{
  167. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  168. href+="<a href='"+value+"' class='ace_button' target=_blank><u><i class='fa fa-download'></i>点击下载</u></a>";
  169. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  170. }
  171. return href;
  172. },
  173. </#if>
  174. <#-- update-start--Author: jg_huangxg Date:20160113 for:TASK #824 【online开发】控件类型扩展增加一个图片类型 image -->
  175. <#-- update-start--Author: zhoujf Date:20170207 for:列表加时间格式化 -->
  176. <#if x['field_showType']=="date">
  177. formatter:function(value,rec,index){
  178. if (value == undefined) {
  179. return "";
  180. }
  181. return new Date().format('yyyy-MM-dd', value);
  182. },
  183. </#if>
  184. <#if x['field_showType']=="datetime">
  185. formatter:function(value,rec,index){
  186. if (value == undefined) {
  187. return "";
  188. }
  189. return new Date().format('yyyy-MM-dd hh:mm:ss', value);
  190. },
  191. </#if>
  192. <#-- update-end--Author: zhoujf Date:20170207 for:列表加时间格式化 -->
  193. <#if x['field_showType']=="image">
  194. formatter:function(value,rec,index){
  195. var href='';
  196. if(value==null || value.length==0){
  197. return href;
  198. }
  199. <#-- update--begin--author:zhangjiaqiang date:20170606 for:TASK #2056 【上传附件功能】Online 一对多对上传组件支持 -->
  200. href+="<img src='"+value+"' width=50 height=50 onmouseover='tipImg(this)' onmouseout='moveTipImg()'/>";
  201. <#-- update--end--author:zhangjiaqiang date:20170606 for:TASK #2056 【上传附件功能】Online 一对多对上传组件支持 -->
  202. return href;
  203. },
  204. styler: function(value,row,index){
  205. return 'text-align: center;';
  206. },
  207. </#if>
  208. <#--return row.${x['field_id']}; update-end--Author: jg_huangxg Date:20160113 for:TASK #824 【online开发】控件类型扩展增加一个图片类型 image -->
  209. <#-- update-begin--Author: chenj Date:20160805 for:TASK #1247 [bug]论坛问题处理 -->
  210. <#if x['field_showType']=="list">
  211. formatter:function(value,row){
  212. <#if (x['field_dictlist']?size >0)>
  213. <#list x['field_dictlist'] as xd>
  214. if(value =='${xd['typecode']}'){
  215. return '${xd['typename']}';
  216. }
  217. </#list>
  218. </#if>
  219. return row.${x['field_id']};
  220. },
  221. </#if>
  222. <#-- update-end--Author: chenj Date:20160805 for:TASK #1247 [bug]论坛问题处理 -->
  223. sortable:true,
  224. width:${x['field_length']}
  225. },
  226. </#list>
  227. </#if>
  228. {field:'opt',title:'操作',width:200,formatter:function(value,rec,index){
  229. if(!rec.id){return '';}
  230. var href='';
  231. <#if config_noliststr?index_of("delete")==-1>
  232. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  233. href+="<a href='javascript:void(0)' class='ace_button' onclick=delObj('cgAutoListController.do?del&configId=${config_id}&id="+rec.id+"','${config_id}List')>";
  234. href+="<i class='fa fa-trash-o'></i>删除</a>";
  235. <#-- //update-end--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  236. </#if>
  237. <#list config_buttons as x>
  238. <#if x['buttonStyle'] == 'link' && x['buttonStatus']=='1' && config_noliststr?index_of("${x['buttonCode']}")==-1>
  239. <#-- //update-begin--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  240. href+="<a style='margin-left:5px;' href='javascript:void(0)' class='ace_button' buttonCode='${x['buttonCode']}' formId ='${x['formId']}' ";
  241. <#if x['optType'] == 'action'>
  242. href+=" onclick=\"doBusButtonForLink('cgFormBuildController.do?doButton&formId=${x['formId']}&buttonCode=${x['buttonCode']}&tableName=${config_id}','${x['buttonName']}','${config_id}List','"+rec.id+"')\"";
  243. <#else>
  244. href+=" onclick=\"${x['buttonCode']}('"+rec.id+"');\"";
  245. </#if>
  246. href+=" id=\"${x['buttonCode']}\">";
  247. <#if x['buttonName']?index_of("测试") gt -1>
  248. href+="<i class='fa fa-wrench'></i>${x['buttonName']}</a>";
  249. <#elseif x['buttonName']?index_of("配置") gt -1 || x['buttonName']?index_of("设置") gt -1>
  250. href+="<i class='fa fa-cog'></i>${x['buttonName']}</a>";
  251. <#elseif x['buttonName']?index_of("导入") gt -1 || x['buttonName']?index_of("下载") gt -1>
  252. href+="<i class='fa fa-download'></i>${x['buttonName']}</a>";
  253. <#elseif x['buttonName']?index_of("导出") gt -1 || x['buttonName']?index_of("上传") gt -1>
  254. href+="<i class='fa fa-upload'></i>${x['buttonName']}</a>";
  255. <#elseif x['buttonName']?index_of("复制") gt -1>
  256. href+="<i class='fa fa-copy'></i>${x['buttonName']}</a>";
  257. <#elseif x['buttonName']?index_of("剪切") gt -1>
  258. href+="<i class='fa fa-cut'></i>${x['buttonName']}</a>";
  259. <#else>
  260. href+="<i class='fa fa-wrench'></i>${x['buttonName']}</a>";
  261. </#if>
  262. <#-- //update-end--Author:zhangjiaqiang Date:20160925 for:TASK #1344 [链接图标] online功能测试的按钮链接图标修改 -->
  263. </#if>
  264. </#list>
  265. return href;
  266. }
  267. }
  268. ]
  269. ],
  270. onLoadSuccess:function(data){
  271. $("#${config_id}List").<#if config_istree=="Y">treegrid<#else>datagrid</#if>("clearSelections");
  272. },
  273. onClickRow:function(rowIndex,rowData)
  274. {rowid=rowData.id;gridname='${config_id}List';}
  275. });
  276. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getPager').pagination({beforePageText:'',afterPageText:'/{pages}',displayMsg:'{from}-{to}共{total}条',showPageList:true,showRefresh:true});
  277. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getPager').pagination({onBeforeRefresh:function(pageNumber, pageSize){ $(this).pagination('loading');$(this).pagination('loaded'); }});
  278. //将没有权限的按钮屏蔽掉
  279. <#list config_nolist as x>
  280. $("#${config_id}Listtb").find("${x}").hide();
  281. </#list>
  282. }
  283. //列表刷新
  284. function reloadTable(){
  285. try{
  286. <#if config_istree=="Y">
  287. $('#'+gridname).treegrid('reload');
  288. <#else>
  289. $('#'+gridname).datagrid('reload');
  290. </#if>
  291. }catch(ex){
  292. //donothing
  293. }
  294. }
  295. //列表刷新-推荐使用
  296. function reload${config_id}List(){
  297. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('reload');
  298. }
  299. /**
  300. * 获取列表中选中行的数据-推荐使用
  301. * @param field 数据中字段名
  302. * @return 选中行的给定字段值
  303. */
  304. function get${config_id}ListSelected(field){
  305. var row = $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelected');
  306. if(row!=null){value= row[field];
  307. }else{
  308. value='';
  309. }
  310. return value;
  311. }
  312. /**
  313. * 获取列表中选中行的数据
  314. * @param field 数据中字段名
  315. * @return 选中行的给定字段值
  316. */
  317. function getSelected(field){
  318. var row = $('#'+gridname).<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelected');
  319. if(row!=null){value= row[field];
  320. }else{
  321. value='';
  322. }
  323. return value;
  324. }
  325. /**
  326. * 获取表格对象
  327. * @return 表格对象
  328. */
  329. function getDataGrid(){
  330. var datagrid = $('#'+gridname);
  331. return datagrid;
  332. }
  333. /**
  334. * 获取列表中选中行的数据(多行)
  335. * @param field 数据中字段名-不传此参数则获取全部数据
  336. * @return 选中行的给定字段值,以逗号分隔
  337. */
  338. function get${config_id}ListSelections(field){
  339. var ids = '';
  340. var rows = $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('getSelections');
  341. for(var i=0;i<rows.length;i++){
  342. ids+=rows[i][field];
  343. ids+=',';
  344. }
  345. ids = ids.substring(0,ids.length-1);
  346. return ids;
  347. }
  348. /**
  349. * 列表查询
  350. */
  351. function ${config_id}Listsearch(){
  352. var queryParams=$('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('options').queryParams;
  353. $('#${config_id}Listtb').find('*').each(
  354. function(){
  355. queryParams[$(this).attr('name')]=$(this).val();});
  356. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>({url:'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds}',pageNumber:1});
  357. }
  358. function dosearch(params){
  359. var jsonparams=$.parseJSON(params);
  360. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>({url:'cgAutoListController.do?datagrid&configId=${config_id}&field=${fileds},',queryParams:jsonparams});
  361. }
  362. function ${config_id}Listsearchbox(value,name){
  363. var queryParams=$('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('options').queryParams;
  364. queryParams[name]=value;
  365. queryParams.searchfield=name;
  366. $('#${config_id}List').<#if config_istree=="Y">treegrid<#else>datagrid</#if>('reload');
  367. }
  368. $('#${config_id}Listsearchbox').searchbox({
  369. searcher:function(value,name){
  370. ${config_id}Listsearchbox(value,name);
  371. },
  372. menu:'#${config_id}Listmm',
  373. prompt:'请输入查询关键字'
  374. });
  375. //查询重置
  376. function ${config_id}searchReset(name){
  377. $("#searchColumsForm")[0].reset();
  378. //$("#"+name+"tb").find("input[type!='hidden']").val("");
  379. <#if config_istree=="Y">
  380. //为树形表单时,删除id查询参数
  381. delete $('#${config_id}List').treegrid('options').queryParams.id;
  382. </#if>
  383. ${config_id}Listsearch();
  384. }
  385. //将字段href中的变量替换掉
  386. function applyHref(tabname,href,value,rec,index){
  387. //addOneTab(tabname,href);
  388. var hrefnew = href;
  389. var re = "";
  390. var p1 = /\#\{(\w+)\}/g;
  391. try{
  392. var vars =hrefnew.match(p1);
  393. for(var i=0;i<vars.length;i++){
  394. var keyt = vars[i];
  395. var p2 = /\#\{(\w+)\}/g;
  396. var key = p2.exec(keyt);
  397. hrefnew = hrefnew.replace(keyt,rec[key[1]]);
  398. }
  399. }catch(ex){
  400. }
  401. re += "<a href = '#' onclick=\"addOneTab('"+tabname+"','"+ hrefnew+"')\" ><u>"+value+"</u></a>";
  402. return re;
  403. }
  404. //SQL增强入口-按钮
  405. function doBusButton(url,content,gridname){
  406. var rowData = $('#'+gridname).datagrid('getSelected');
  407. if (!rowData) {
  408. tip('请选择一条信息');
  409. return;
  410. }
  411. url = url + '&id='+rowData.id;
  412. createdialog('确认 ', '确定'+content+'吗 ?', url,gridname);
  413. }
  414. //SQL增强入口-操作列里的链接
  415. function doBusButtonForLink(url,content,gridname,rowData){
  416. if (!rowData) {
  417. tip('请选择一条信息');
  418. return;
  419. }
  420. url = url + '&id='+rowData;
  421. createdialog('确认 ', '确定'+content+'吗 ?', url,gridname);
  422. }
  423. //----author:jg_xugj---start----date:20151219-------- for:#813 【online表单】扩展出三个请求:独立的添加、查看、编辑请求,原来的保留
  424. //新增
  425. function ${config_id}add(){
  426. //update-begin--Author:luobaoli Date:20150705 for:请求URL修改为REST风格
  427. //add('${config_name}录入','rest/cgform/form/${config_id}','${config_id}List',${config_id}Fw,${config_id}Fh);
  428. //update-end--Author:luobaoli Date:20150705 for:请求URL修改为REST风格
  429. add('${config_name}录入','cgFormBuildController/ftlForm/${config_id}/goAdd.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  430. }
  431. //修改
  432. function ${config_id}update(){
  433. //update-begin--Author:luobaoli Date:20150705 for:请求URL修改为REST风格
  434. //update('${config_name}编辑','rest/cgform/form/${config_id}','${config_id}List',${config_id}Fw,${config_id}Fh,true);
  435. //update-end--Author:luobaoli Date:20150705 for:请求URL修改为REST风格
  436. update('${config_name}编辑','cgFormBuildController/ftlForm/${config_id}/goUpdate.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  437. }
  438. //-------------------------------------------------------------------------------------------------------------------------
  439. <#-- add-begin--Author:xuelin Date:20170425 for:#1781 【online模板】online 选择行编辑模板,添加数据,保存没有校验功能,需要改模板-------------------- -->
  440. //扩展校验
  441. $.extend($.fn.validatebox.defaults.rules, {
  442. length : {
  443. validator : function(value, param) {
  444. if(value.length < Number(param[0]) || value.length > Number(param[1])){
  445. return false;
  446. }
  447. return true;
  448. },
  449. message : '字数限制在{0}-{1}个字符!'
  450. }
  451. });
  452. <#-- add-end--Author:xuelin Date:20170425 for:#1781 【online模板】online 选择行编辑模板,添加数据,保存没有校验功能,需要改模板-------------------- -->
  453. //添加行
  454. function ${config_id}addRow(){
  455. var gname="${config_id}List";
  456. $('#'+gname).datagrid('appendRow',{});
  457. var editIndex = $('#'+gname).datagrid('getRows').length-1;
  458. $('#'+gname).datagrid('selectRow', editIndex)
  459. .datagrid('beginEdit', editIndex);
  460. }
  461. //编辑行 ('编辑','null','jeecgDemoList2',null,null)">
  462. function ${config_id}editRow(){
  463. var gname="${config_id}List";
  464. var rows=$('#'+gname).datagrid("getChecked");
  465. if(rows.length==0){
  466. tip("请选择条目");
  467. return false;
  468. }
  469. for(var i=0;i<rows.length;i++){
  470. var index= $('#'+gname).datagrid('getRowIndex', rows[i]);
  471. $('#'+gname).datagrid('beginEdit', index);
  472. }
  473. }
  474. //取消编辑
  475. function ${config_id}reject(){
  476. var gname="${config_id}List";
  477. $('#'+gname).datagrid('clearChecked');
  478. $('#'+gname).datagrid('rejectChanges');
  479. }
  480. //保存数据
  481. function ${config_id}saveData(){
  482. var gname="${config_id}List";
  483. var addurl="";
  484. if(!endEdit(gname))
  485. return false;
  486. var rows=$('#'+gname).datagrid("getChanges","inserted");
  487. var uprows=$('#'+gname).datagrid("getChanges","updated");
  488. rows=rows.concat(uprows);
  489. if(rows.length<=0){
  490. tip("没有需要保存的数据!")
  491. return false;
  492. }
  493. var result={};
  494. for(var i=0;i<rows.length;i++){
  495. for(var d in rows[i]){
  496. result[d]=rows[i][d];
  497. }
  498. result["tableName"]="${config_id}";
  499. $.ajax({
  500. url:"cgFormBuildController.do?saveOrUpdate",
  501. type:"post",
  502. data:result,
  503. dataType:"json",
  504. success:function(data){
  505. tip(data.msg);
  506. if(data.success){
  507. //reloadTable();
  508. }
  509. }
  510. })
  511. }
  512. }
  513. //结束编辑
  514. function endEdit(gname){
  515. var editIndex = $('#'+gname).datagrid('getRows').length-1;
  516. for(var i=0;i<=editIndex;i++){
  517. if($('#'+gname).datagrid('validateRow', i))
  518. $('#'+gname).datagrid('endEdit', i);
  519. else
  520. return false;
  521. }
  522. return true;
  523. }
  524. //-------------------------------------------------------------------------------------------------------------------------------
  525. //查看
  526. function ${config_id}view(){
  527. detail('查看','cgFormBuildController/ftlForm/${config_id}/goDetail.do?olstylecode=${_olstylecode}','${config_id}List',${config_id}Fw,${config_id}Fh);
  528. }
  529. //----author:jg_xugj---end----date:20151219-------- for:#813 【online表单】扩展出三个请求:独立的添加、查看、编辑请求,原来的保留
  530. //批量删除
  531. function ${config_id}delBatch(){
  532. //获取选中的ID串
  533. var ids = get${config_id}ListSelections('id');
  534. if(ids.length<=0){
  535. tip('请选择至少一条信息');
  536. return;
  537. }
  538. $.dialog.confirm('确定删除吗?', function(r) {
  539. if(!r){return;}
  540. $.ajax({
  541. url:"cgAutoListController.do?delBatch",
  542. data:{'ids':ids,'configId':'${config_id}'},
  543. type:"Post",
  544. dataType:"json",
  545. success:function(data){
  546. tip(data.msg);
  547. reload${config_id}List();
  548. },
  549. error:function(data){
  550. $.messager.alert('错误',data.msg);
  551. }
  552. });
  553. }
  554. );
  555. }
  556. function ${config_id}ExportExcel(){
  557. var queryParams = $('#${config_id}List').datagrid('options').queryParams;
  558. $('#${config_id}Listtb').find('*').each(function() {
  559. queryParams[$(this).attr('name')] = $(this).val();
  560. });
  561. var params = '&';
  562. $.each(queryParams, function(key, val){
  563. params+='&'+key+'='+val;
  564. });
  565. var fields = '&field=';
  566. $.each($('#${config_id}List').datagrid('options').columns[0], function(i, val){
  567. if(val.field != 'opt'&&val.field != 'ck'){
  568. fields+=val.field+',';
  569. }
  570. });
  571. <#--//update-begin--Author:dangzhenghui Date:20170429 for:TASK #1906 【online excel】Online excel 导出功能改进 -->
  572. var id='&id=';
  573. $.each($('#${config_id}List').datagrid('getSelections'), function(i, val){
  574. id+=val.id+",";
  575. });
  576. window.location.href = "excelTempletController.do?exportXls&tableName=${config_id}"+encodeURI(params+fields+id)
  577. <#-- //update-end--Author:dangzhenghui Date:20170429 for:TASK #1906 【online excel】Online excel 导出功能改进 -->
  578. }
  579. <#--update--begin--author:zhangjiaqiang Date:20170507 for:修订页面回车查询异常 -->
  580. //回车查询
  581. function EnterPress(e){
  582. var e = e || window.event;
  583. if(e.keyCode == 13){
  584. ${config_id}Listsearch();
  585. return false;
  586. }
  587. }
  588. <#--update--end--author:zhangjiaqiang Date:20170507 for:修订页面回车查询异常 -->
  589. //JS增强
  590. ${config_jsenhance}
  591. </script>
  592. <table width="100%" id="${config_id}List" toolbar="#${config_id}Listtb"></table>
  593. <div id="${config_id}Listtb" style="padding:3px; height: auto">
  594. <div name="searchColums">
  595. <#--update--begin--author:zhangjiaqiang Date:20170507 for:修订页面回车查询异常 -->
  596. <form name="searchColumsForm" id="searchColumsForm" onkeydown="EnterPress(event);">
  597. <#--update--end--author:zhangjiaqiang Date:20170507 for:修订页面回车查询异常 -->
  598. <#if config_querymode == "group">
  599. <#list config_queryList as x>
  600. <#if x['field_isQuery']=="Y">
  601. <span style="display:-moz-inline-box;display:inline-block;">
  602. <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>
  603. </#if>
  604. <#if x['field_queryMode']=="group">
  605. <#if x['field_isQuery']=="Y">
  606. <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']}" />
  607. <span style="display:-moz-inline-box;display:inline-block;width: 8px !important;text-align:right;">~</span>
  608. <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']}"/>
  609. <#else>
  610. <input type="hidden" name="${x['field_id']}_begin" value="${x['field_value_begin']}"/>
  611. <input type="hidden" name="${x['field_id']}_end" value="${x['field_value_end']}"/>
  612. </#if>
  613. </#if>
  614. <#if x['field_queryMode']=="single">
  615. <#if x['field_isQuery']=="Y">
  616. <#if (x['field_dictlist']?size >0)>
  617. <select name = "${x['field_id']}" style="width: 104px">
  618. <option value = "">---请选择---</option>
  619. <#list x['field_dictlist'] as xd>
  620. <option value = "${xd['typecode']}">${xd['typename']}</option>
  621. </#list>
  622. </select>
  623. </#if>
  624. <#if (x['field_dictlist']?size <= 0)>
  625. <#if x['field_showType']!='popup'>
  626. <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('')}" />
  627. <#else>
  628. <input type="text" name="${x['field_id']}" style="width: 100px"
  629. class="searchbox-inputtext" value="${x['field_value']?if_exists?default('')}"
  630. onClick="inputClick(this,'${x['field_dictField']?if_exists?html}','${x['field_dictTable']?if_exists?html}');" />
  631. </#if>
  632. </#if>
  633. <#else>
  634. <input type="hidden" name="${x['field_id']}" value="${x['field_value']?if_exists?default('')}" />
  635. </#if>
  636. </#if>
  637. </span>
  638. </#list>
  639. </#if>
  640. </form>
  641. </div>
  642. <div style="height:30px;" class="datagrid-toolbar">
  643. <span style="float:left;" >
  644. <a id="add" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-add" onclick="${config_id}addRow()">增加行</a>
  645. <a id="update" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-edit" onclick="${config_id}editRow()">编辑</a>
  646. <a id="detail" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-search" onclick="${config_id}saveData()">保存</a>
  647. <a id="detail" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-search" onclick="${config_id}reject()">取消编辑</a>
  648. <a id="delete" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="icon-remove" onclick="${config_id}delBatch()">批量删除</a>
  649. <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>
  650. <a id="excel" href="javascript:void(0)" class="easyui-linkbutton" plain="true" onclick="${config_id}ExportExcel()" icon="icon-putout">Excel导出</a>
  651. <#list config_buttons as x>
  652. <#if x['buttonStyle'] == 'button' && x['buttonStatus']=='1'>
  653. <a id="${x['buttonCode']}" href="javascript:void(0)" class="easyui-linkbutton" plain="true" icon="${x['buttonIcon']?if_exists?default('pictures')}"
  654. <#if x['optType'] == 'action'>
  655. onclick="doBusButton('cgFormBuildController.do?doButton&formId=${x['formId']}&buttonCode=${x['buttonCode']}&tableName=${config_id}','${x['buttonName']}','${config_id}List')">${x['buttonName']}</a>
  656. <#else>
  657. onclick="${x['buttonCode']}();">${x['buttonName']}</a>
  658. </#if>
  659. </#if>
  660. </#list>
  661. </span>
  662. <#if (config_queryList?size >0)>
  663. <#if config_querymode == "group" >
  664. <span style="float:right">
  665. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" onclick="${config_id}Listsearch()">查询</a>
  666. <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-reload" onclick="${config_id}searchReset('${config_id}List')">重置</a>
  667. </span>
  668. </#if>
  669. <#if config_querymode == "single">
  670. <span style="float:right">
  671. <input id="${config_id}Listsearchbox" class="easyui-searchbox" data-options="searcher:${config_id}Listsearchbox,prompt:'请输入关键字',menu:'#${config_id}Listmm'"></input>
  672. <div id="${config_id}Listmm" style="width:120px">
  673. <#list config_queryList as x>
  674. <#if x['field_isQuery']=="Y">
  675. <div data-options="name:'${x['field_id']}',iconCls:'icon-ok' ">${x['field_title']}</div>
  676. <#else>
  677. </#if>
  678. </#list>
  679. </div>
  680. </span>
  681. </#if>
  682. </#if>
  683. </div>
  684. </div>
  685. <#--update-end--Author:luobaoli Date:20150703 for:将本文档中所有href="#"修改为href="javascript:void(0)",避免rest风格下新增/删除等操作跳转到主页问题-->