crud.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. <!DOCTYPE HTML>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <title>通用增删改查</title>
  8. <link href="plugins/bootstrap-3.3.0/css/bootstrap.min.css" rel="stylesheet"/>
  9. <link href="plugins/material-design-iconic-font-2.2.0/css/material-design-iconic-font.min.css" rel="stylesheet"/>
  10. <link href="plugins/bootstrap-table-1.11.0/bootstrap-table.min.css" rel="stylesheet"/>
  11. <link href="plugins/waves-0.7.5/waves.min.css" rel="stylesheet"/>
  12. <link href="plugins/jquery-confirm/jquery-confirm.min.css" rel="stylesheet"/>
  13. <link href="css/common.css" rel="stylesheet"/>
  14. </head>
  15. <body>
  16. <div id="main">
  17. <div id="toolbar">
  18. <a class="waves-effect waves-button" href="javascript:;" onclick="createAction()"><i class="zmdi zmdi-plus"></i> 新增用户</a>
  19. <a class="waves-effect waves-button" href="javascript:;" onclick="updateAction()"><i class="zmdi zmdi-edit"></i> 编辑用户</a>
  20. <a class="waves-effect waves-button" href="javascript:;" onclick="deleteAction()"><i class="zmdi zmdi-close"></i> 删除用户</a>
  21. </div>
  22. <table id="table"></table>
  23. </div>
  24. <!-- 新增 -->
  25. <div id="createDialog" class="crudDialog" hidden>
  26. <form>
  27. <div class="form-group">
  28. <label for="input1">标题</label>
  29. <input id="input1" type="text" class="form-control">
  30. </div>
  31. <div class="form-group">
  32. <label for="input2">名称</label>
  33. <input id="input2" type="text" class="form-control">
  34. </div>
  35. <div class="form-group">
  36. <label for="input3">根目录</label>
  37. <input id="input3" type="text" class="form-control">
  38. </div>
  39. <div class="form-group">
  40. <label for="input4">图标</label>
  41. <input id="input4" type="text" class="form-control">
  42. </div>
  43. </form>
  44. </div>
  45. <script src="plugins/jquery.1.12.4.min.js"></script>
  46. <script src="plugins/bootstrap-3.3.0/js/bootstrap.min.js"></script>
  47. <script src="plugins/bootstrap-table-1.11.0/bootstrap-table.min.js"></script>
  48. <script src="plugins/bootstrap-table-1.11.0/locale/bootstrap-table-zh-CN.min.js"></script>
  49. <script src="plugins/waves-0.7.5/waves.min.js"></script>
  50. <script src="plugins/jquery-confirm/jquery-confirm.min.js"></script>
  51. <script src="js/common.js"></script>
  52. <script>
  53. var $table = $('#table');
  54. $(function() {
  55. $(document).on('focus', 'input[type="text"]', function() {
  56. $(this).parent().find('label').addClass('active');
  57. }).on('blur', 'input[type="text"]', function() {
  58. if ($(this).val() == '') {
  59. $(this).parent().find('label').removeClass('active');
  60. }
  61. });
  62. // bootstrap table初始化
  63. // http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/
  64. $table.bootstrapTable({
  65. url: 'data/data1.json',
  66. height: getHeight(),
  67. striped: true,
  68. search: true,
  69. searchOnEnterKey: true,
  70. showRefresh: true,
  71. showToggle: true,
  72. showColumns: true,
  73. minimumCountColumns: 2,
  74. showPaginationSwitch: true,
  75. clickToSelect: true,
  76. detailView: true,
  77. detailFormatter: 'detailFormatter',
  78. pagination: true,
  79. paginationLoop: false,
  80. classes: 'table table-hover table-no-bordered',
  81. //sidePagination: 'server',
  82. //silentSort: false,
  83. smartDisplay: false,
  84. idField: 'id',
  85. sortName: 'id',
  86. sortOrder: 'desc',
  87. escape: true,
  88. searchOnEnterKey: true,
  89. idField: 'systemId',
  90. maintainSelected: true,
  91. toolbar: '#toolbar',
  92. columns: [
  93. {field: 'state', checkbox: true},
  94. {field: 'id', title: '编号', sortable: true, halign: 'center'},
  95. {field: 'username', title: '账号', sortable: true, halign: 'center'},
  96. {field: 'password', title: '密码', sortable: true, halign: 'center'},
  97. {field: 'name', title: '姓名', sortable: true, halign: 'center'},
  98. {field: 'sex', title: '性别', sortable: true, halign: 'center'},
  99. {field: 'age', title: '年龄', sortable: true, halign: 'center'},
  100. {field: 'phone', title: '手机', sortable: true, halign: 'center'},
  101. {field: 'email', title: '邮箱', sortable: true, halign: 'center'},
  102. {field: 'address', title: '地址', sortable: true, halign: 'center'},
  103. {field: 'remark', title: '备注', sortable: true, halign: 'center'},
  104. {field: 'action', title: '操作', halign: 'center', align: 'center', formatter: 'actionFormatter', events: 'actionEvents', clickToSelect: false}
  105. ]
  106. }).on('all.bs.table', function (e, name, args) {
  107. $('[data-toggle="tooltip"]').tooltip();
  108. $('[data-toggle="popover"]').popover();
  109. });
  110. });
  111. function actionFormatter(value, row, index) {
  112. return [
  113. '<a class="like" href="javascript:void(0)" data-toggle="tooltip" title="Like"><i class="glyphicon glyphicon-heart"></i></a> ',
  114. '<a class="edit ml10" href="javascript:void(0)" data-toggle="tooltip" title="Edit"><i class="glyphicon glyphicon-edit"></i></a> ',
  115. '<a class="remove ml10" href="javascript:void(0)" data-toggle="tooltip" title="Remove"><i class="glyphicon glyphicon-remove"></i></a>'
  116. ].join('');
  117. }
  118. window.actionEvents = {
  119. 'click .like': function (e, value, row, index) {
  120. alert('You click like icon, row: ' + JSON.stringify(row));
  121. console.log(value, row, index);
  122. },
  123. 'click .edit': function (e, value, row, index) {
  124. alert('You click edit icon, row: ' + JSON.stringify(row));
  125. console.log(value, row, index);
  126. },
  127. 'click .remove': function (e, value, row, index) {
  128. alert('You click remove icon, row: ' + JSON.stringify(row));
  129. console.log(value, row, index);
  130. }
  131. };
  132. function detailFormatter(index, row) {
  133. var html = [];
  134. $.each(row, function (key, value) {
  135. html.push('<p><b>' + key + ':</b> ' + value + '</p>');
  136. });
  137. return html.join('');
  138. }
  139. // 新增
  140. function createAction() {
  141. $.confirm({
  142. type: 'dark',
  143. animationSpeed: 300,
  144. title: '新增系统',
  145. content: $('#createDialog').html(),
  146. buttons: {
  147. confirm: {
  148. text: '确认',
  149. btnClass: 'waves-effect waves-button',
  150. action: function () {
  151. $.alert('确认');
  152. }
  153. },
  154. cancel: {
  155. text: '取消',
  156. btnClass: 'waves-effect waves-button'
  157. }
  158. }
  159. });
  160. }
  161. // 编辑
  162. function updateAction() {
  163. var rows = $table.bootstrapTable('getSelections');
  164. if (rows.length == 0) {
  165. $.confirm({
  166. title: false,
  167. content: '请至少选择一条记录!',
  168. autoClose: 'cancel|3000',
  169. backgroundDismiss: true,
  170. buttons: {
  171. cancel: {
  172. text: '取消',
  173. btnClass: 'waves-effect waves-button'
  174. }
  175. }
  176. });
  177. } else {
  178. $.confirm({
  179. type: 'blue',
  180. animationSpeed: 300,
  181. title: '编辑系统',
  182. content: $('#createDialog').html(),
  183. buttons: {
  184. confirm: {
  185. text: '确认',
  186. btnClass: 'waves-effect waves-button',
  187. action: function () {
  188. $.alert('确认');
  189. }
  190. },
  191. cancel: {
  192. text: '取消',
  193. btnClass: 'waves-effect waves-button'
  194. }
  195. }
  196. });
  197. }
  198. }
  199. // 删除
  200. function deleteAction() {
  201. var rows = $table.bootstrapTable('getSelections');
  202. if (rows.length == 0) {
  203. $.confirm({
  204. title: false,
  205. content: '请至少选择一条记录!',
  206. autoClose: 'cancel|3000',
  207. backgroundDismiss: true,
  208. buttons: {
  209. cancel: {
  210. text: '取消',
  211. btnClass: 'waves-effect waves-button'
  212. }
  213. }
  214. });
  215. } else {
  216. $.confirm({
  217. type: 'red',
  218. animationSpeed: 300,
  219. title: false,
  220. content: '确认删除该系统吗?',
  221. buttons: {
  222. confirm: {
  223. text: '确认',
  224. btnClass: 'waves-effect waves-button',
  225. action: function () {
  226. var ids = new Array();
  227. for (var i in rows) {
  228. ids.push(rows[i].systemId);
  229. }
  230. $.alert('删除:id=' + ids.join("-"));
  231. }
  232. },
  233. cancel: {
  234. text: '取消',
  235. btnClass: 'waves-effect waves-button'
  236. }
  237. }
  238. });
  239. }
  240. }
  241. </script>
  242. </body>
  243. </html>