index.html 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>通用配置信息</title>
  6. <link rel="stylesheet" href="/content/lib/layui-v2.9.18/css/layui.css" media="all">
  7. <link rel="stylesheet" href="/content/lib/font-awesome-4.7.0/css/font-awesome.min.css" media="all">
  8. <link rel="stylesheet" href="/content/css/public.css" media="all">
  9. </head>
  10. <body>
  11. <div class="layuimini-container">
  12. <div class="layuimini-main">
  13. <blockquote class="layui-elem-quote p10">
  14. <form class="layui-form layui-form-pane" action="">
  15. <div class="layui-form-item" style="margin-bottom:0px;">
  16. <div class="layui-inline">
  17. <label class="layui-form-label">KEY:</label>
  18. <div class="layui-input-inline">
  19. <input type="text" name="key" placeholder="请输入KEY" autocomplete="off" class="layui-input">
  20. </div>
  21. </div>
  22. <div class="layui-inline">
  23. <label class="layui-form-label">启用:</label>
  24. <div class="layui-input-inline">
  25. <select name='enable'>
  26. <option value=''></option>
  27. <option value='true'> 启用 </option>
  28. <option value='false'> 禁用 </option>
  29. </select>
  30. </div>
  31. </div>
  32. <div class="layui-inline">
  33. <button type="submit" class="layui-btn layui-btn-normal" lay-submit lay-filter="data-search-btn"><i class="fa fa-search"></i> 搜 索&nbsp;&nbsp;</button>
  34. </div>
  35. </div>
  36. </form>
  37. </blockquote>
  38. <div style="display: none;" id="zyupload" class="zyupload"></div>
  39. <div class="layui-field-box" style="padding:0;">
  40. <script type="text/html" id="toolbarDemo">
  41. <div class="layui-btn-container">
  42. <button class="layui-btn layui-btn-sm" lay-event="add" title="添加"><i class="fa fa-plus"> 添加</i></button>
  43. <button class="layui-btn layui-btn-sm" lay-event="sync" title="同步"><i class="fa fa-cloud-download"> 同步</i></button>
  44. </div>
  45. </script>
  46. <table class="layui-hide" id="currentTableId" lay-filter="currentTableFilter"></table>
  47. </div>
  48. </div>
  49. </div>
  50. <!-- 操作列 -->
  51. <script type="text/html" id="currentTableBar">
  52. <a class="layui-btn layui-btn layui-btn-xs" lay-event="update"><i class="fa fa-cloud-download"></i> 更新</a>
  53. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="fa fa-edit"></i> 编辑</a>
  54. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="fa fa-times"></i> 删除</a>
  55. </script>
  56. <script src="/content/lib/layui-v2.9.18/layui.js" charset="utf-8"></script>
  57. <script src="/content/js/lay-config.js?v=1.0.4" charset="utf-8"></script>
  58. <script src="/content/lib/jquery-3.4.1/jquery-3.4.1.min.js" charset="utf-8"></script>
  59. <script>
  60. layui.use(['table', 'form', 'jquery'], function () {
  61. var $ = layui.jquery,
  62. table = layui.table,
  63. form = layui.form,
  64. laydate = layui.laydate;
  65. //表格
  66. table.render({
  67. elem: '#currentTableId',
  68. height: 'full-140', //高度最大化减去差值
  69. url: '/general/load', //数据接口
  70. toolbar: '#toolbarDemo',
  71. where: {
  72. key :'',
  73. enable: ''
  74. },
  75. cols: [[ //表头
  76. { field: 'id', title: 'Id', width: 80, fixed: 'left' },
  77. {
  78. field: 'modify_time', title: '创建时间', width: 180, templet: function (res) {
  79. var arr = res.modify_time.split('.');
  80. if (arr.length == 2)
  81. return arr[0];
  82. return res.modify_time;
  83. }
  84. },
  85. { field: 'key', title: 'KEY', width: 130 },
  86. { field: 'value', title: 'VALUE', width: 300 },
  87. {
  88. field: 'enable', title: '状态', width: 80, templet: function (res) {
  89. return res.enable ? '启用' : '禁用';
  90. }
  91. },
  92. { field: 'remarks', title: '备注', width: 300 },
  93. { toolbar: '#currentTableBar', width: 300, align: 'center',fixed: 'right'}
  94. ]],
  95. limits: [50, 100],
  96. limit: 50,
  97. page: true
  98. });
  99. //搜索
  100. form.on('submit(data-search-btn)', function (data) {
  101. //执行搜索重载
  102. table.reload('currentTableId', {
  103. page: {
  104. curr: 1
  105. },
  106. where: {
  107. key: data.field.key,
  108. enable: data.field.enable
  109. }
  110. }, 'data');
  111. return false;
  112. });
  113. //监听工具条
  114. table.on('tool(currentTableFilter)', function (obj) {
  115. var data = obj.data;
  116. var layEvent = obj.event;
  117. if (layEvent === 'edit') {
  118. //多窗口模式,层叠置顶
  119. layer.open({
  120. type: 2
  121. , title: '编辑'
  122. , area: ['680px', '410px']
  123. , maxmin: true
  124. , content: '/general/edit_view?id=' + data.id
  125. });
  126. }
  127. else if (layEvent === 'del') {
  128. layer.confirm('确定要删除吗?', {
  129. title: "询问",
  130. }, function (index) {
  131. $.ajax({
  132. type: "POST",
  133. url: "/general/remove",
  134. data: 'id=' + data.id,
  135. async: false,
  136. success: function (result) {
  137. if (result.success) {
  138. obj.del();//删除这一行
  139. layer.close(index); //关闭弹框
  140. layer.msg(result.message, {
  141. icon: 1 //1:勾 6:笑脸
  142. });
  143. }
  144. else {
  145. layer.msg(result.message, {
  146. icon: 5 //1:勾 6:笑脸
  147. });
  148. }
  149. },
  150. error: function (msg) {
  151. layer.msg(result.message, {
  152. icon: 5 //1:勾 6:笑脸
  153. });
  154. }
  155. });
  156. return false;
  157. });
  158. }
  159. else if (obj.event === 'update') {
  160. layer.confirm('请谨慎使用!,确定要同步么?', {
  161. title: "询问",
  162. }, function (index) {
  163. $.ajax({
  164. type: "POST",
  165. url: "/general/sync",
  166. data: 'key=' + data.key,
  167. async: false,
  168. success: function (result) {
  169. if (result.success) {
  170. layer.close(index); //关闭弹框
  171. layer.msg(result.message, {
  172. icon: 1 //1:勾 6:笑脸
  173. });
  174. }
  175. else {
  176. layer.msg(result.message, {
  177. icon: 5 //1:勾 6:笑脸
  178. });
  179. }
  180. },
  181. error: function (result) {
  182. layer.msg(result.message, {
  183. icon: 5 //1:勾 6:笑脸
  184. });
  185. }
  186. });
  187. return false;
  188. });
  189. }
  190. });
  191. //toolbar监听事件
  192. table.on('toolbar(currentTableFilter)', function (obj) {
  193. if (obj.event === 'add') { // 监听添加操作
  194. //多窗口模式,层叠置顶
  195. layer.open({
  196. type: 2
  197. , title: '添加'
  198. , area: ['680px', '410px']
  199. , maxmin: false
  200. , content: '/general/add_view'
  201. });
  202. }
  203. else if (obj.event === 'sync') {
  204. layer.confirm('请谨慎使用!,确定要同步么?', {
  205. title: "询问",
  206. }, function (index) {
  207. $.ajax({
  208. type: "POST",
  209. url: "/general/sync",
  210. data: 'key=0',
  211. async: false,
  212. success: function (result) {
  213. if (result.success) {
  214. layer.close(index); //关闭弹框
  215. layer.msg(result.message, {
  216. icon: 1 //1:勾 6:笑脸
  217. });
  218. //执行搜索重载
  219. table.reload('currentTableId', {
  220. page: {
  221. curr: 1
  222. },
  223. where: {
  224. key: '',
  225. enable: ''
  226. }
  227. }, 'data');
  228. }
  229. else {
  230. layer.msg(result.message, {
  231. icon: 5 //1:勾 6:笑脸
  232. });
  233. }
  234. },
  235. error: function (result) {
  236. layer.msg(result.message, {
  237. icon: 5 //1:勾 6:笑脸
  238. });
  239. }
  240. });
  241. return false;
  242. });
  243. }
  244. });
  245. });
  246. </script>
  247. </body>
  248. </html>