index.html 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. {extend name="base"/}
  2. {block name="resources"}
  3. {/block}
  4. {block name="main"}
  5. <div class="layui-collapse ns-tips">
  6. <div class="layui-colla-item">
  7. <h2 class="layui-colla-title">操作提示</h2>
  8. <ul class="layui-colla-content layui-show">
  9. <li>您可以查看和编辑广告位的宽度和高度</li>
  10. <li>轮播图上传尺寸:583 * 440px</li>
  11. </ul>
  12. </div>
  13. </div>
  14. <div class="ns-single-filter-box">
  15. <button class="layui-btn ns-bg-color" onclick="add()">添加轮播图</button>
  16. <div class="layui-form">
  17. <div class="layui-input-inline">
  18. <input type="text" name="search_text" placeholder="请输入广告位置" class="layui-input">
  19. <button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
  20. <i class="layui-icon">&#xe615;</i>
  21. </button>
  22. </div>
  23. </div>
  24. </div>
  25. <!-- 列表 -->
  26. <table id="adv_position" lay-filter="adv_position"></table>
  27. <!-- 广告图片 -->
  28. <script type="text/html" id="show_image">
  29. <div class="ns-img-box">
  30. <img layer-src src="{{ns.img(d.show_image)}}" />
  31. </div>
  32. </script>
  33. <!-- 广告链接 -->
  34. <script type="text/html" id="link">
  35. <a href="{{d.link}}">{{d.link}}</a>
  36. </script>
  37. <!-- 操作 -->
  38. <script type="text/html" id="operation">
  39. <div class="ns-table-btn">
  40. <a class="layui-btn" lay-event="edit">编辑</a>
  41. <a class="layui-btn" lay-event="delete">删除</a>
  42. </div>
  43. </script>
  44. <!-- 批量删除 -->
  45. <script type="text/html" id="batchOperation">
  46. <button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
  47. </script>
  48. {/block}
  49. {block name="script"}
  50. <script>
  51. var table, form,
  52. repeat_flag = false; //防重复标识
  53. layui.use('form', function() {
  54. form = layui.form;
  55. form.render();
  56. table = new Table({
  57. elem: '#adv_position',
  58. url: ns.url("admin/banner/index"),
  59. cols: [
  60. [{
  61. width: '3%',
  62. type: 'checkbox',
  63. unresize: 'false',
  64. }, {
  65. field: 'goods_name',
  66. title: '关联商品',
  67. unresize: 'false',
  68. templet: '#goods_name',
  69. width: '20%'
  70. },{
  71. title: '图片',
  72. unresize: 'false',
  73. templet: '#show_image',
  74. width: '15%'
  75. }, {
  76. title: '操作',
  77. toolbar: '#operation',
  78. unresize: 'false',
  79. templet: '#operation',
  80. width: '17%'
  81. }]
  82. ],
  83. bottomToolbar: "#batchOperation"
  84. });
  85. /**
  86. * 监听工具栏操作
  87. */
  88. table.tool(function(obj) {
  89. var data = obj.data;
  90. switch (obj.event) {
  91. case 'manager': //管理
  92. location.href = ns.url("admin/banner/lists?ap_id=" + data.ap_id);
  93. break;
  94. case 'edit': //编辑
  95. location.href = ns.url("admin/banner/editAdv?ap_id=" + data.id);
  96. break;
  97. case 'delete': //删除
  98. deletePosition(data.id);
  99. break;
  100. }
  101. });
  102. /**
  103. * 批量操作
  104. */
  105. table.bottomToolbar(function(obj) {
  106. if (obj.data.length < 1) {
  107. layer.msg('请选择要操作的数据');
  108. return;
  109. }
  110. switch (obj.event) {
  111. case "del":
  112. var id_array = new Array();
  113. for (i in obj.data) id_array.push(obj.data[i].ap_id);
  114. deletePosition(id_array.toString());
  115. break;
  116. }
  117. });
  118. /**
  119. * 删除
  120. */
  121. function deletePosition(ap_ids) {
  122. if (repeat_flag) return false;
  123. repeat_flag = true;
  124. layer.confirm('确定要删除该广告位吗?', function() {
  125. $.ajax({
  126. url: ns.url("admin/banner/deleteBanner"),
  127. data: {ap_ids},
  128. dataType: 'JSON',
  129. type: 'POST',
  130. success: function(res) {
  131. layer.msg(res.message);
  132. repeat_flag = false;
  133. if (res.code == 0) {
  134. table.reload();
  135. }
  136. }
  137. });
  138. }, function() {
  139. layer.close();
  140. repeat_flag = false;
  141. });
  142. }
  143. /**
  144. * 监听搜索
  145. */
  146. form.on('submit(search)', function(data) {
  147. table.reload({
  148. page: {
  149. curr: 1
  150. },
  151. where: data.field
  152. });
  153. });
  154. });
  155. // 监听单元格编辑--编辑宽度
  156. function editPosition(id, type, event) {
  157. var value = $(event).val();
  158. if (!new RegExp("^\\d+$").test(value)) {
  159. layer.msg("广告位宽高必须为大于等于0的整数");
  160. return;
  161. }
  162. $.ajax({
  163. type: 'POST',
  164. url: ns.url("admin/banner/editPositionField"),
  165. data: {
  166. 'type': type,
  167. 'value': value,
  168. 'ap_id': id
  169. },
  170. dataType: 'JSON',
  171. success: function(res) {
  172. layer.msg(res.message);
  173. if (res.code == 0) {
  174. table.reload();
  175. }
  176. }
  177. });
  178. }
  179. function add() {
  180. location.href = ns.url("admin/banner/addPosition");
  181. }
  182. </script>
  183. {/block}