You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

215 line
9.0 KiB

  1. <title>配置列表</title>
  2. <div class="layui-card layadmin-header">
  3. <div class="layui-breadcrumb" lay-filter="breadcrumb">
  4. <a lay-href="">主页</a>
  5. <a><cite>开发选项</cite></a>
  6. <a><cite>配置管理</cite></a>
  7. <a><cite>配置列表</cite></a>
  8. </div>
  9. </div>
  10. <div class="layui-fluid">
  11. <div class="layui-card">
  12. <div class="layui-form layui-card-header layuiadmin-card-header-auto" lay-filter="layadmin-formlist">
  13. <div class="layui-form-item">
  14. <div class="layui-inline">
  15. <label class="layui-form-label">ID</label>
  16. <div class="layui-input-block">
  17. <input type="text" name="id" placeholder="请输入" autocomplete="off" class="layui-input">
  18. </div>
  19. </div>
  20. <div class="layui-inline">
  21. <label class="layui-form-label">配置名称</label>
  22. <div class="layui-input-block">
  23. <input type="text" name="name" placeholder="请输入" autocomplete="off" class="layui-input">
  24. </div>
  25. </div>
  26. <div class="layui-inline">
  27. <label class="layui-form-label">配置key</label>
  28. <div class="layui-input-block">
  29. <input type="text" name="key" placeholder="请输入" autocomplete="off" class="layui-input">
  30. </div>
  31. </div>
  32. <div class="layui-inline">
  33. <label class="layui-form-label">配置分组</label>
  34. <div class="layui-input-block">
  35. <input type="text" name="group" placeholder="请输入" autocomplete="off" class="layui-input">
  36. </div>
  37. </div>
  38. <div class="layui-inline">
  39. <button class="layui-btn layuiadmin-btn" lay-submit lay-filter="LAY-front-search">
  40. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  41. </button>
  42. </div>
  43. </div>
  44. </div>
  45. <div class="layui-card-body">
  46. <div style="padding-bottom: 10px;">
  47. <button class="layui-btn layuiadmin-btn" data-type="add">添加</button>
  48. <button class="layui-btn layui-btn-normal layuiadmin-btn" data-type="batchreorder">排序</button>
  49. <button class="layui-btn layui-btn-danger layuiadmin-btn" data-type="batchdel">删除</button>
  50. </div>
  51. <script type="text/html" id="isshowTpl">
  52. <input type="checkbox" lay-skin="switch" lay-text="使用|不使用" lay-filter="setIsshow" value="{{d.id}}" {{ d.isshow== 1 ? 'checked' : '' }}>
  53. </script>
  54. <script type="text/html" id="statusTpl">
  55. <input type="checkbox" lay-skin="switch" lay-text="正常|禁用" lay-filter="setStatus" value="{{d.id}}" {{ d.status== 1 ? 'checked' : '' }}>
  56. </script>
  57. <table id="LAY-curd-table" lay-filter="LAY-curd-table"></table>
  58. <script type="text/html" id="table-curd-list">
  59. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
  60. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
  61. </script>
  62. </div>
  63. </div>
  64. </div>
  65. <script>
  66. var api_batch = '/manage/system/configure/batch.json'
  67. , api_list = '/manage/system/configure/list.json'
  68. , api_del = '/manage/system/configure/del.json'
  69. , api_change = '/manage/system/configure/change.json'
  70. , url_add = '/development/configure/add'
  71. , url_edit = '/development/configure/edit';
  72. layui.use(['admin', 'table'], function () {
  73. var $ = layui.$
  74. , admin = layui.admin
  75. , table = layui.table
  76. , form = layui.form;
  77. table.render({
  78. elem: '#LAY-curd-table'
  79. , url: api_list
  80. ,where:{access_token:layui.data('layuiAdmin').access_token}
  81. , cols: [[
  82. {type: 'checkbox', fixed: 'left'}
  83. , {field: 'id', width: 60, title: 'ID', align: 'center'}
  84. , {field: 'name', title: '配置名称'}
  85. , {field: 'key', title: '配置KEY'}
  86. , {field: 'value', title: '配置值', minWidth: 200}
  87. , {field: 'group', title: '配置分组', align: 'center', width: 90}
  88. , {field: 'position', title: '排序序号', edit: 'text', align: 'center', width: 90}
  89. , {field: 'isshow', title: '生效状态', templet: '#isshowTpl', align: 'center', width: 100}
  90. , {field: 'status', title: '配置状态', templet: '#statusTpl', align: 'center', width: 100}
  91. , {title: '操作', width: 150, align: 'center', fixed: 'right', toolbar: '#table-curd-list'}
  92. ]]
  93. , page: true
  94. , limit: 30
  95. , height: 'full-320'
  96. });
  97. //监听工具条
  98. table.on('tool(LAY-curd-table)', function (obj) {
  99. var data = obj.data;
  100. if (obj.event === 'del') {
  101. layer.confirm('真的删除这条记录么', function (index) {
  102. admin.req({
  103. url: api_del
  104. , data: {id: data.id}
  105. , method: 'POST'
  106. , success: function (res) {
  107. layer.msg('删除成功');
  108. }
  109. });
  110. obj.del();
  111. layer.close(index);
  112. });
  113. } else if (obj.event === 'edit') {
  114. location.hash = url_edit + '/id=' + data.id;
  115. }
  116. });
  117. //监听搜索
  118. form.on('submit(LAY-front-search)', function (data) {
  119. var field = data.field;
  120. //执行重载
  121. table.reload('LAY-curd-table', {
  122. where: field
  123. });
  124. });
  125. //事件
  126. var active = {
  127. batchdel: function () {
  128. var checkStatus = table.checkStatus('LAY-curd-table')
  129. , checkData = checkStatus.data; //得到选中的数据
  130. if (checkData.length === 0) {
  131. return layer.msg('请选择数据');
  132. }
  133. layer.confirm('确定删除吗?', function (index) {
  134. var items = [];
  135. layui.each(checkData, function (k, v) {
  136. items.push(v.id)
  137. });
  138. admin.req({
  139. url: api_batch
  140. , data: {type: 'del', items: items}
  141. , method: 'POST'
  142. , success: function (res) {
  143. table.reload('LAY-curd-table');
  144. layer.msg('已删除');
  145. }
  146. })
  147. });
  148. }
  149. , batchreorder: function () {
  150. var checkStatus = table.checkStatus('LAY-curd-table')
  151. , checkData = checkStatus.data; //得到选中的数据
  152. if (checkData.length === 0) {
  153. return layer.msg('请选择数据');
  154. }
  155. var items = [], values = [];
  156. layui.each(checkData, function (k, v) {
  157. items.push(v.id);
  158. values.push(v.position)
  159. });
  160. admin.req({
  161. url: api_batch
  162. , data: {type: 'change', items: items, field: 'position', values: values}
  163. , method: 'POST'
  164. , success: function (res) {
  165. table.reload('LAY-curd-table');
  166. layer.msg('已更新排序');
  167. }
  168. })
  169. }
  170. , add: function () {
  171. location.hash = url_add
  172. }
  173. };
  174. form.on('switch(setIsshow)', function (obj) {
  175. admin.req({
  176. url: api_change
  177. , data: {field: 'isshow', value: obj.elem.checked ? 1 : 0, id: this.value}
  178. , method: 'POST'
  179. , success: function (res) {
  180. layer.tips('修改成功', obj.othis);
  181. }
  182. })
  183. });
  184. form.on('switch(setStatus)', function (obj) {
  185. admin.req({
  186. url: api_change
  187. , data: {field: 'status', value: obj.elem.checked ? 1 : 0, id: this.value}
  188. , method: 'POST'
  189. , success: function (res) {
  190. layer.tips('修改成功', obj.othis);
  191. }
  192. })
  193. });
  194. $('.layui-btn.layuiadmin-btn').on('click', function () {
  195. var type = $(this).data('type');
  196. active[type] ? active[type].call(this) : '';
  197. });
  198. });
  199. </script>