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.
 
 
 
 

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