drafts.html 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. {extend name="base"/}
  2. {block name="resources"}
  3. {/block}
  4. {block name="main"}
  5. <!-- 搜索框 -->
  6. <div class="single-filter-box top">
  7. <button class="layui-btn" onclick="add()">添加文章</button>
  8. <div class="layui-form">
  9. <div class="layui-input-inline">
  10. <input type="text" name="search_text" placeholder="请输入文章标题" autocomplete="off" class="layui-input">
  11. <button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
  12. <i class="layui-icon">&#xe615;</i>
  13. </button>
  14. </div>
  15. </div>
  16. </div>
  17. <!-- 列表 -->
  18. <table id="article_list" lay-filter="article_list"></table>
  19. <!-- 操作 -->
  20. <script type="text/html" id="operation">
  21. <div class="table-btn">
  22. <a class="layui-btn" lay-event="edit">编辑</a>
  23. <a class="layui-btn" lay-event="delete">删除</a>
  24. </div>
  25. </script>
  26. <script type="text/html" id="sort">
  27. <input name="sort" type="number" onchange="editSort({{d.article_id}},this)" value="{{d.sort}}" placeholder="请输入排序" class="layui-input edit-sort len-short">
  28. </script>
  29. {/block}
  30. {block name="script"}
  31. <script>
  32. var table, repeat_flag = false;//防重复标识;
  33. layui.use('form', function() {
  34. var form = layui.form;
  35. form.render();
  36. table = new Table({
  37. elem: '#article_list',
  38. url: ns.url("shop/article/drafts"),
  39. cols: [
  40. [ {
  41. field: 'article_title',
  42. title: '文章标题',
  43. width: '30%',
  44. unresize: 'false'
  45. }, {
  46. field: 'category_name',
  47. title: '文章分类',
  48. width: '20%',
  49. unresize: 'false'
  50. },{
  51. field: 'sort',
  52. title: '排序',
  53. width: '15%',
  54. sort : true,
  55. unresize: 'false',
  56. templet: '#sort'
  57. }, {
  58. field: 'create_time',
  59. title: '创建时间',
  60. width: '20%',
  61. unresize: 'false',
  62. templet: function (data) {
  63. return ns.time_to_date(data.create_time);
  64. }
  65. }, {
  66. title: '操作',
  67. toolbar: '#operation',
  68. unresize: 'false',
  69. align : 'right'
  70. }]
  71. ],
  72. });
  73. /**
  74. * 搜索功能
  75. */
  76. form.on('submit(search)', function(data) {
  77. table.reload({
  78. page: {
  79. curr: 1
  80. },
  81. where: data.field
  82. });
  83. });
  84. table.on("sort",function (obj) {
  85. table.reload({
  86. page: {
  87. curr: 1
  88. },
  89. where: {
  90. order:obj.field,
  91. sort:obj.type
  92. }
  93. });
  94. });
  95. /**
  96. * 监听工具栏操作
  97. */
  98. table.tool(function(obj) {
  99. var data = obj.data;
  100. switch (obj.event) {
  101. case 'edit': //编辑
  102. location.href = ns.url("shop/article/edit?article_id=" + data.article_id);
  103. break;
  104. case 'delete': //删除
  105. deleteArticle(data.article_id);
  106. break;
  107. }
  108. });
  109. });
  110. /**
  111. * 删除
  112. */
  113. function deleteArticle(article_id) {
  114. if (repeat_flag) return false;
  115. repeat_flag = true;
  116. layer.confirm('确定要删除该文章内容吗?',
  117. function () {
  118. $.ajax({
  119. url: ns.url("shop/article/delete"),
  120. data: {article_id},
  121. dataType: 'JSON',
  122. type: 'POST',
  123. success: function (res) {
  124. layer.msg(res.message);
  125. repeat_flag = false;
  126. if (res.code == 0) {
  127. layer.close(layer.index - 1);
  128. table.reload();
  129. }
  130. }
  131. });
  132. },
  133. function () {
  134. repeat_flag = false;
  135. layer.close();
  136. });
  137. }
  138. // 监听单元格编辑
  139. function editSort(article_id, event) {
  140. var data = $(event).val();
  141. if (!new RegExp("^-?[1-9]\\d*$").test(data)) {
  142. layer.msg("排序号只能是整数");
  143. return;
  144. }
  145. if(data < 0){
  146. layer.msg("排序号必须大于0");
  147. return ;
  148. }
  149. $.ajax({
  150. type: 'POST',
  151. url: ns.url("shop/article/modifySort"),
  152. data: {
  153. sort: data,
  154. article_id: article_id
  155. },
  156. dataType: 'JSON',
  157. success: function(res) {
  158. layer.msg(res.message);
  159. if (res.code == 0) {
  160. location.reload();
  161. }
  162. }
  163. });
  164. }
  165. function add() {
  166. location.href = ns.url("shop/article/add");
  167. }
  168. </script>
  169. {/block}