autoFormList.vm 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449
  1. <html>
  2. <head>
  3. <script type="text/javascript" src="plug-in/mutiLang/zh-cn.js"></script>
  4. <script type="text/javascript" src="plug-in/jquery/jquery-1.9.0.js"></script>
  5. <script type="text/javascript" src="plug-in/jquery/jquery.cookie.js"></script>
  6. <script type="text/javascript" src="plug-in/jquery-plugs/storage/jquery.storageapi.min.js"></script>
  7. <script type="text/javascript" src="plug-in/tools/dataformat.js"></script>
  8. <link id="easyuiTheme" rel="stylesheet" href="plug-in/easyui/themes/metrole/easyui.css" type="text/css"></link>
  9. <link id="easyuiTheme" rel="stylesheet" href="plug-in/easyui/themes/metrole/main.css" type="text/css"></link>
  10. <link id="easyuiTheme" rel="stylesheet" href="plug-in/easyui/themes/metrole/icon.css" type="text/css"></link>
  11. <link rel="stylesheet" type="text/css" href="plug-in/accordion/css/accordion.css">
  12. <link rel="stylesheet" type="text/css" href="plug-in/accordion/css/icons.css">
  13. <script type="text/javascript" src="plug-in/easyui/jquery.easyui.min.1.3.2.js"></script>
  14. <script type="text/javascript" src="plug-in/easyui/locale/zh-cn.js"></script>
  15. <script type="text/javascript" src="plug-in/tools/syUtil.js"></script>
  16. <script type="text/javascript" src="plug-in/easyui/extends/datagrid-scrollview.js"></script>
  17. <script type="text/javascript" src="plug-in/My97DatePicker/WdatePicker.js"></script>
  18. <link rel="stylesheet" href="plug-in/tools/css/metrole/common.css" type="text/css"></link>
  19. <link rel="stylesheet" href="plug-in/ace/css/font-awesome.css" type="text/css"></link>
  20. <script type="text/javascript" src="plug-in/lhgDialog/lhgdialog.min.js?skin=metrole"></script>
  21. <script type="text/javascript" src="plug-in/ace/js/bootstrap-tab.js"></script>
  22. <script type="text/javascript" src="plug-in/tools/curdtools_zh-cn.js"></script>
  23. <script type="text/javascript" src="plug-in/tools/easyuiextend.js"></script>
  24. <script type="text/javascript" src="plug-in/jquery-plugs/hftable/jquery-hftable.js"></script>
  25. <script type="text/javascript" src="plug-in/tools/json2.js"></script>
  26. <script type="text/javascript">
  27. jQuery(function() {
  28. storage = jQuery.localStorage;
  29. if (!storage) storage = jQuery.cookieStorage;
  30. jQuery('#autoFormList').datagrid({
  31. idField: 'id',
  32. title: '自定义表单列表',
  33. url: 'autoFormController.do?datagrid&field=id,formDesc,formName,formStyleId,createName,createBy,createDate,updateName,updateBy,updateDate,sysOrgCode,sysCompanyCode,',
  34. fit: true,
  35. loadMsg: '数据加载中...',
  36. pageSize: 10,
  37. pagination: true,
  38. pageList: [10, 20, 30],
  39. sortName: 'updateDate',
  40. sortOrder: 'desc',
  41. rownumbers: true,
  42. singleSelect: false,
  43. fitColumns: false,
  44. striped: true,
  45. showFooter: true,
  46. frozenColumns: [[{
  47. field: 'ck',
  48. checkbox: 'true'
  49. },
  50. ]],
  51. columns: [[{
  52. field: 'id',
  53. title: '',
  54. width: 120,
  55. hidden: true,
  56. sortable: true
  57. },
  58. {
  59. field: 'formDesc',
  60. title: '表单名称',
  61. width: 300,
  62. sortable: true
  63. },
  64. {
  65. field: 'formName',
  66. title: '表单编码',
  67. width: 300,
  68. sortable: true
  69. },
  70. {
  71. field: 'formStyleId',
  72. title: '',
  73. width: 120,
  74. hidden: true,
  75. sortable: true,
  76. formatter: function(value, rec, index) {
  77. if (value == undefined) return '';
  78. var valArray = value.split(',');
  79. if (valArray.length > 1) {
  80. var checkboxValue = '';
  81. for (var k = 0; k < valArray.length; k++) {
  82. if (valArray[k] == '402813814e421337014e4232a020000b') {
  83. checkboxValue = checkboxValue + '单列表单' + ',';
  84. }
  85. if (valArray[k] == '402880e850ad49570150ad656afa000c') {
  86. checkboxValue = checkboxValue + '双列表单' + ',';
  87. }
  88. if (valArray[k] == '402880e850ad49570150ad8b852a001c') {
  89. checkboxValue = checkboxValue + '三列表单' + ',';
  90. }
  91. }
  92. return checkboxValue.substring(0, checkboxValue.length - 1);
  93. } else {
  94. if (value == '402813814e421337014e4232a020000b') {
  95. return '单列表单';
  96. }
  97. if (value == '402880e850ad49570150ad656afa000c') {
  98. return '双列表单';
  99. }
  100. if (value == '402880e850ad49570150ad8b852a001c') {
  101. return '三列表单';
  102. } else {
  103. return value;
  104. }
  105. }
  106. }
  107. },
  108. {
  109. field: 'createName',
  110. title: '创建人名称',
  111. width: 120,
  112. hidden: true,
  113. sortable: true
  114. },
  115. {
  116. field: 'createBy',
  117. title: '创建人',
  118. width: 120,
  119. hidden: true,
  120. sortable: true
  121. },
  122. {
  123. field: 'createDate',
  124. title: '创建日期',
  125. width: 120,
  126. hidden: true,
  127. sortable: true,
  128. formatter: function(value, rec, index) {
  129. return new Date().format('yyyy-MM-dd', value);
  130. }
  131. },
  132. {
  133. field: 'updateName',
  134. title: '更新人名称',
  135. width: 120,
  136. hidden: true,
  137. sortable: true
  138. },
  139. {
  140. field: 'updateBy',
  141. title: 'common.updateBy',
  142. width: 120,
  143. hidden: true,
  144. sortable: true
  145. },
  146. {
  147. field: 'updateDate',
  148. title: '更新日期',
  149. width: 120,
  150. sortable: true,
  151. formatter: function(value, rec, index) {
  152. return new Date().format('yyyy-MM-dd', value);
  153. }
  154. },
  155. {
  156. field: 'sysOrgCode',
  157. title: 'common.depart.code',
  158. width: 120,
  159. hidden: true,
  160. sortable: true
  161. },
  162. {
  163. field: 'sysCompanyCode',
  164. title: '所属公司',
  165. width: 120,
  166. hidden: true,
  167. sortable: true
  168. },
  169. {
  170. field: 'opt',
  171. title: '操作',
  172. width: 400,
  173. formatter: function(value, rec, index) {
  174. if (!rec.id) {
  175. return '';
  176. }
  177. var href = '';
  178. href += "<a href='#' class='ace_button' onclick=delObj('autoFormController.do?doDel&id=" + rec.id + "','autoFormList')> <i class=' fa fa-trash-o'></i> ";
  179. href += "删除</a>&nbsp;";
  180. href += "<a href='#' class='ace_button' onclick=dbconfig('" + rec.id + "','" + index + "')> <i class=' fa fa-cog'></i>";
  181. href += "表单数据源配置</a>&nbsp;";
  182. href += "<a href='#' class='ace_button' onclick=parse('" + rec.id + "','" + index + "')> <i class=' fa fa-search'></i>";
  183. href += "预览</a>&nbsp;";
  184. return href;
  185. }
  186. }]],
  187. onLoadSuccess: function(data) {
  188. jQuery("#autoFormList").datagrid("clearSelections");
  189. },
  190. onClickRow: function(rowIndex, rowData) {
  191. rowid = rowData.id;
  192. gridname = 'autoFormList';
  193. }
  194. });
  195. jQuery('#autoFormList').datagrid('getPager').pagination({
  196. beforePageText: '',
  197. afterPageText: '/{pages}',
  198. displayMsg: '{from}-{to}共 {total}条',
  199. showPageList: true,
  200. showRefresh: true
  201. });
  202. jQuery('#autoFormList').datagrid('getPager').pagination({
  203. onBeforeRefresh: function(pageNumber, pageSize) {
  204. jQuery(this).pagination('loading');
  205. jQuery(this).pagination('loaded');
  206. }
  207. });
  208. try {
  209. restoreheader();
  210. } catch(ex) {}
  211. });
  212. function reloadTable() {
  213. try {
  214. jQuery('#' + gridname).datagrid('reload');
  215. jQuery('#' + gridname).treegrid('reload');
  216. } catch(ex) {}
  217. }
  218. function reloadautoFormList() {
  219. jQuery('#autoFormList').datagrid('reload');
  220. }
  221. function getautoFormListSelected(field) {
  222. return getSelected(field);
  223. }
  224. function getSelected(field) {
  225. var row = jQuery('#' + gridname).datagrid('getSelected');
  226. if (row != null) {
  227. value = row[field];
  228. } else {
  229. value = '';
  230. }
  231. return value;
  232. }
  233. function getautoFormListSelections(field) {
  234. var ids = [];
  235. var rows = jQuery('#autoFormList').datagrid('getSelections');
  236. for (var i = 0; i < rows.length; i++) {
  237. ids.push(rows[i][field]);
  238. }
  239. ids.join(',');
  240. return ids
  241. };
  242. function getSelectRows() {
  243. return jQuery('#autoFormList').datagrid('getChecked');
  244. }
  245. function saveHeader() {
  246. var columnsFields = null;
  247. var easyextends = false;
  248. try {
  249. columnsFields = jQuery('#autoFormList').datagrid('getColumns');
  250. easyextends = true;
  251. } catch(e) {
  252. columnsFields = jQuery('#autoFormList').datagrid('getColumnFields');
  253. }
  254. var cols = storage.get('autoFormListhiddenColumns');
  255. var init = true;
  256. if (cols) {
  257. init = false;
  258. }
  259. var hiddencolumns = [];
  260. for (var i = 0; i < columnsFields.length; i++) {
  261. if (easyextends) {
  262. hiddencolumns.push({
  263. field: columnsFields[i].field,
  264. hidden: columnsFields[i].hidden
  265. });
  266. } else {
  267. var columsDetail = jQuery('#autoFormList').datagrid("getColumnOption", columnsFields[i]);
  268. if (init) {
  269. hiddencolumns.push({
  270. field: columsDetail.field,
  271. hidden: columsDetail.hidden,
  272. visible: (columsDetail.hidden == true ? false: true)
  273. });
  274. } else {
  275. for (var j = 0; j < cols.length; j++) {
  276. if (cols[j].field == columsDetail.field) {
  277. hiddencolumns.push({
  278. field: columsDetail.field,
  279. hidden: columsDetail.hidden,
  280. visible: cols[j].visible
  281. });
  282. }
  283. }
  284. }
  285. }
  286. }
  287. storage.set('autoFormListhiddenColumns', JSON.stringify(hiddencolumns));
  288. }
  289. function isShowBut() {
  290. var isShowSearchId = jQuery('#isShowSearchId').val();
  291. if (isShowSearchId == "true") {
  292. jQuery("#searchColums").hide();
  293. jQuery('#isShowSearchId').val("false");
  294. jQuery('#columsShow').remove("src");
  295. jQuery('#columsShow').attr("src", "plug-in/easyui/themes/default/images/accordion_expand.png");
  296. } else {
  297. jQuery("#searchColums").show();
  298. jQuery('#isShowSearchId').val("true");
  299. jQuery('#columsShow').remove("src");
  300. jQuery('#columsShow').attr("src", "plug-in/easyui/themes/default/images/accordion_collapse.png");
  301. }
  302. }
  303. function restoreheader() {
  304. var cols = storage.get('autoFormListhiddenColumns');
  305. if (!cols) return;
  306. for (var i = 0; i < cols.length; i++) {
  307. try {
  308. if (cols.visible != false) jQuery('#autoFormList').datagrid((cols[i].hidden == true ? 'hideColumn': 'showColumn'), cols[i].field);
  309. } catch(e) {}
  310. }
  311. }
  312. function resetheader() {
  313. var cols = storage.get('autoFormListhiddenColumns');
  314. if (!cols) return;
  315. for (var i = 0; i < cols.length; i++) {
  316. try {
  317. jQuery('#autoFormList').datagrid((cols.visible == false ? 'hideColumn': 'showColumn'), cols[i].field);
  318. } catch(e) {}
  319. }
  320. }
  321. function autoFormListsearch() {
  322. try {
  323. if (!jQuery("#autoFormListForm").Validform({
  324. tiptype: 3
  325. }).check()) {
  326. return false;
  327. }
  328. } catch(e) {}
  329. if (true) {
  330. var queryParams = jQuery('#autoFormList').datagrid('options').queryParams;
  331. jQuery('#autoFormListtb').find('*').each(function() {
  332. queryParams[jQuery(this).attr('name')] = jQuery(this).val();
  333. });
  334. jQuery('#autoFormList').datagrid({
  335. url: 'autoFormController.do?datagrid&field=id,formDesc,formName,formStyleId,createName,createBy,createDate,updateName,updateBy,updateDate,sysOrgCode,sysCompanyCode,',
  336. pageNumber: 1
  337. });
  338. }
  339. }
  340. function dosearch(params) {
  341. var jsonparams = jQuery.parseJSON(params);
  342. jQuery('#autoFormList').datagrid({
  343. url: 'autoFormController.do?datagrid&field=id,formDesc,formName,formStyleId,createName,createBy,createDate,updateName,updateBy,updateDate,sysOrgCode,sysCompanyCode,',
  344. queryParams: jsonparams
  345. });
  346. }
  347. function autoFormListsearchbox(value, name) {
  348. var queryParams = jQuery('#autoFormList').datagrid('options').queryParams;
  349. queryParams[name] = value;
  350. queryParams.searchfield = name;
  351. jQuery('#autoFormList').datagrid('reload');
  352. }
  353. jQuery('#autoFormListsearchbox').searchbox({
  354. searcher: function(value, name) {
  355. autoFormListsearchbox(value, name);
  356. },
  357. menu: '#autoFormListmm',
  358. prompt: '请输入查询关键字'
  359. });
  360. function EnterPress(e) {
  361. var e = e || window.event;
  362. if (e.keyCode == 13) {
  363. autoFormListsearch();
  364. }
  365. }
  366. function searchReset(name) {
  367. jQuery("#" + name + "tb").find(":input").val("");
  368. var queryParams = jQuery('#autoFormList').datagrid('options').queryParams;
  369. jQuery('#autoFormListtb').find('*').each(function() {
  370. queryParams[jQuery(this).attr('name')] = jQuery(this).val();
  371. });
  372. jQuery('#autoFormList').datagrid({
  373. url: 'autoFormController.do?datagrid&field=id,formDesc,formName,formStyleId,createName,createBy,createDate,updateName,updateBy,updateDate,sysOrgCode,sysCompanyCode,',
  374. pageNumber: 1
  375. });
  376. }
  377. </script>
  378. <script type="text/javascript">
  379. jQuery(document).ready(function() {
  380. //给时间控件加上样式
  381. jQuery("#autoFormListtb").find("input[name='createDate']").attr("class", "Wdate").click(function() {
  382. WdatePicker({
  383. dateFmt: 'yyyy-MM-dd'
  384. });
  385. });
  386. jQuery("#autoFormListtb").find("input[name='updateDate']").attr("class", "Wdate").click(function() {
  387. WdatePicker({
  388. dateFmt: 'yyyy-MM-dd'
  389. });
  390. });
  391. });
  392. function addbytab() {
  393. addOneTab('表单设计器', "autoFormController.do?goAdd_vm");
  394. }
  395. function updatebytab() {
  396. var rows = jQuery("#autoFormList").datagrid("getSelections");
  397. if (rows == '') {
  398. alert('请选择一行记录');
  399. return;
  400. }
  401. var id = rows[0].id;
  402. addOneTab('表单设计器', "autoFormController.do?goUpdate_vm&id=" + id);
  403. }
  404. var parseWindow;
  405. function parse(id) {
  406. //var targetUrl = 'autoFormController.do?parse&id='+id;
  407. //window.open(targetUrl,'mywin',"menubar=0,toolbar=0,status=0,resizable=1,left=0,top=0,scrollbars=1,width=" +(screen.availWidth-10) + ",height=" + (screen.availHeight-50) + "\"");
  408. //createdetailwindow('查看','autoFormController.do?parse&id='+id,600,400);
  409. var addurl = 'autoFormController.do?parse_vm&id=' + id;
  410. parseWindow = jQuery.dialog({
  411. content: 'url:' + addurl,
  412. lock: true,
  413. width: 600,
  414. height: 350,
  415. title: '查看',
  416. opacity: 0.3,
  417. cache: false
  418. }).zindex();
  419. }
  420. function dbconfig(id) {
  421. addOneTab('表单数据源配置', "autoFormDbController.do?autoFormDb_vm&autoFormId=" + id);
  422. }
  423. function winclose() {
  424. parseWindow.close();
  425. parseWindow = undefined;
  426. }
  427. </script>
  428. </head>
  429. <body>
  430. <div class="easyui-layout" fit="true">
  431. <div region="center" style="padding:0px;border:0px">
  432. <table width="100%" id="autoFormList" toolbar="#autoFormListtb"></table>
  433. <div id="autoFormListtb" style="padding:3px; height: auto">
  434. <div style="height:30px;" class="datagrid-toolbar">
  435. <span style="float:left;">
  436. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-add" onclick=addbytab()>设计新表单</a>
  437. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-edit" onclick=updatebytab()>编辑表单</a>
  438. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-remove" onclick="deleteALLSelect('批量删除','autoFormController.do?doBatchDel','autoFormList',null,null)">批量删除</a>
  439. </span>
  440. </div>
  441. </div>
  442. </div>
  443. </div>
  444. </body>
  445. </html>