lists.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331
  1. {layout name="layout1" /}
  2. <div class="wrapper">
  3. <div class="layui-card">
  4. <!-- 操作提示 -->
  5. <div class="layui-card-body">
  6. <div class="layui-collapse" style="border:1px dashed #c4c4c4">
  7. <div class="layui-colla-item">
  8. <h2 class="layui-colla-title like-layui-colla-title">操作提示</h2>
  9. <div class="layui-colla-content layui-show">
  10. <p>*商家提交需要参与拼团活动的商品,平台审核通过之后即可参与拼团活动。</p>
  11. </div>
  12. </div>
  13. </div>
  14. </div>
  15. <!-- 搜索区域 -->
  16. <div class="layui-card-body layui-form">
  17. <div class="layui-form-item">
  18. <div class="layui-inline">
  19. <label for="name" class="layui-form-label">商品名称:</label>
  20. <div class="layui-inline" style="margin-right:0;">
  21. <div class="layui-input-inline" >
  22. <input type="text" id="name" name="name" autocomplete="off" class="layui-input">
  23. </div>
  24. </div>
  25. </div>
  26. <div class="layui-inline">
  27. <label for="status" class="layui-form-label">活动状态:</label>
  28. <div class="layui-inline" style="margin-right:0;">
  29. <div class="layui-input-inline" >
  30. <select id="status" name="status">
  31. <option value="">全选</option>
  32. <option value="1">活动中</option>
  33. <option value="0">已停止</option>
  34. </select>
  35. </div>
  36. </div>
  37. </div>
  38. <div class="layui-inline">
  39. <label for="datetime" class="layui-form-label">活动时间:</label>
  40. <div class="layui-inline" style="margin-right:0;">
  41. <div class="layui-input-inline" >
  42. <input type="text" id="datetime" name="datetime" autocomplete="off" class="layui-input">
  43. </div>
  44. </div>
  45. </div>
  46. <div class="layui-inline">
  47. <a class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="search">搜索</a>
  48. <a class="layui-btn layui-btn-sm layui-btn-primary" lay-submit lay-filter="clear-search">重置</a>
  49. </div>
  50. </div>
  51. </div>
  52. <!-- 主体区域 -->
  53. <div class="layui-card-body">
  54. <div class="layui-tab layui-tab-card" lay-filter="like-tab">
  55. <ul class="layui-tab-title">
  56. <li lay-id="0" class="layui-this">全部商品({$statistics.total})</li>
  57. <li lay-id="1">待审核商品({$statistics.stayAudit})</li>
  58. <li lay-id="2">审核通过商品({$statistics.adoptAudit})</li>
  59. <li lay-id="3">审核拒绝商品({$statistics.refuseAudit})</li>
  60. </ul>
  61. <div class="layui-tab-content" style="padding:20px;">
  62. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layEvent" lay-event="add">新增拼团商品</button>
  63. <table id="like-table-lists" lay-filter="like-table-lists"></table>
  64. <script type="text/html" id="table-goods">
  65. <img src="{{d.goods.image}}" alt="图" style="width:50px;height:50px;">
  66. <div class="layui-inline">{{d.goods.name}}</div>
  67. </script>
  68. <script type="text/html" id="table-teamAmount">
  69. {{d.team_min_price}} ~ {{d.team_max_price}}
  70. </script>
  71. <script type="text/html" id="table-teamData">
  72. <p>拼团数量:{{d.team_count}}个</p>
  73. <p>成团数量:{{d.success_found}}个</p>
  74. <p>参团人数:{{d.join_found}}人</p>
  75. </script>
  76. <script type="text/html" id="table-teamTime">
  77. {{d.activity_start_time}} ~ {{d.activity_end_time}}
  78. </script>
  79. <script type="text/html" id="table-operation">
  80. <a class="layui-btn layui-btn-sm layui-btn-primary" lay-event="detail">详情</a>
  81. <a class="layui-btn layui-btn-sm layui-btn-primary" lay-event="record">拼团记录</a>
  82. <a class="layui-btn layui-btn-sm layui-btn-normal" lay-event="edit">编辑</a>
  83. <br/>
  84. {{# if(d.status == 1 && d.audit == 1){ }}
  85. <a class="layui-btn layui-btn-sm layui-btn-warm" lay-event="stop" style="margin-top:5px;">停止活动</a>
  86. {{# } }}
  87. {{# if(d.status == 0 && d.audit == 1){ }}
  88. <a class="layui-btn layui-btn-sm layui-btn-normal" lay-event="open" style="margin-top:5px;">启动活动</a>
  89. {{# } }}
  90. <a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="del" style="margin-top:5px;">移除商品</a>
  91. </script>
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <script>
  98. layui.use(["table", "form", "element", "laydate"], function(){
  99. var table = layui.table;
  100. var form = layui.form;
  101. var element = layui.element;
  102. var laydate = layui.laydate;
  103. laydate.render({elem:"#datetime", range: true, trigger:"click"});
  104. like.tableLists("#like-table-lists", "{:url()}", [
  105. {field:"goodsInfo", width:250, title:"商品", templet:"#table-goods"}
  106. ,{field:"teamAmount", width:180, align:"center",title:"拼团价", templet:"#table-teamAmount"}
  107. ,{field:"teamData", width:180, title:"拼团数据", templet:"#table-teamData"}
  108. ,{field:"activityTime", width:280, align:"center", title:"活动时间", templet:"#table-teamTime"}
  109. ,{field:"status_text", width:90, align:"center", title:"活动状态"}
  110. ,{field:"audit_text", width:90, align:"center", title:"审核状态"}
  111. ,{field:"explain", width:200, align:"center", title:"审核说明"}
  112. ,{title:"操作", width:250, align:"center", fixed:"right", toolbar:"#table-operation"}
  113. ]);
  114. var active = {
  115. add: function() {
  116. layer.open({
  117. type: 2
  118. ,title: "新增拼团商品"
  119. ,content: "{:url('team.Activity/add')}"
  120. ,area: ["80%", "90%"]
  121. ,btn: ["确定", "取消"]
  122. ,yes: function(index, layero){
  123. var iframeWindow = window["layui-layer-iframe" + index];
  124. var submit = layero.find("iframe").contents().find("#addSubmit");
  125. iframeWindow.layui.form.on("submit(addSubmit)", function(data){
  126. like.ajax({
  127. url: "{:url('team.Activity/add')}",
  128. data: data.field,
  129. type: "POST",
  130. success:function(res) {
  131. if(res.code === 1) {
  132. layui.layer.msg(res.msg);
  133. layer.close(index);
  134. active.statistics();
  135. var type = $(".layui-tab-title li.layui-this").attr("lay-id");
  136. table.reload("like-table-lists", {
  137. where: {type: type},
  138. page: { cur: 1 }
  139. });
  140. }
  141. }
  142. });
  143. });
  144. submit.trigger("click");
  145. }
  146. });
  147. },
  148. edit: function(obj) {
  149. if (obj.data.status !== 0 && obj.data.audit !== 2) {
  150. layui.layer.msg("请停止活动,再编辑");
  151. return false;
  152. }
  153. layer.open({
  154. type: 2
  155. ,title: "编辑拼团商品"
  156. ,content: "{:url('team.Activity/edit')}?id="+obj.data.id
  157. ,area: ["80%", "90%"]
  158. ,btn: ["确定", "取消"]
  159. ,yes: function(index, layero){
  160. var iframeWindow = window["layui-layer-iframe" + index];
  161. var submit = layero.find("iframe").contents().find("#addSubmit");
  162. iframeWindow.layui.form.on("submit(addSubmit)", function(data){
  163. data.field['id'] = obj.data.id;
  164. like.ajax({
  165. url: "{:url('team.Activity/edit')}",
  166. data: data.field,
  167. type: "POST",
  168. success:function(res) {
  169. if(res.code === 1) {
  170. layui.layer.msg(res.msg);
  171. layer.close(index);
  172. active.statistics();
  173. var type = $(".layui-tab-title li.layui-this").attr("lay-id");
  174. table.reload("like-table-lists", {
  175. where: {type: type},
  176. page: { cur: 1 }
  177. });
  178. }
  179. }
  180. });
  181. });
  182. submit.trigger("click");
  183. }
  184. });
  185. },
  186. detail: function (obj) {
  187. layer.open({
  188. type: 2
  189. ,title: "拼团商品详情"
  190. ,content: "{:url('team.Activity/detail')}?id="+obj.data.id
  191. ,area: ["60%", "80%"]
  192. });
  193. },
  194. record: function (obj) {
  195. layer.open({
  196. type: 2
  197. ,title: "拼团记录"
  198. ,content: "{:url('team.Found/lists')}?team_activity_id="+obj.data.id
  199. ,area: ["90%", "90%"]
  200. });
  201. },
  202. stop: function (obj) {
  203. layer.confirm("确定停止活动吗?", function(index) {
  204. like.ajax({
  205. url: "{:url('team.Activity/stop')}",
  206. data: {id: obj.data.id},
  207. type: "POST",
  208. success: function (res) {
  209. if (res.code === 1) {
  210. layui.layer.msg(res.msg);
  211. layer.close(index);
  212. var type = $(".layui-tab-title li.layui-this").attr("lay-id");
  213. table.reload('like-table-lists', {
  214. where: {type: type},
  215. page: {cur: 1}
  216. })
  217. }
  218. }
  219. });
  220. layer.close(index);
  221. })
  222. },
  223. open: function (obj) {
  224. layer.confirm("确定启动活动吗?", function(index) {
  225. like.ajax({
  226. url: "{:url('team.Activity/open')}",
  227. data: {id: obj.data.id},
  228. type: "POST",
  229. success: function (res) {
  230. if (res.code === 1) {
  231. layui.layer.msg(res.msg);
  232. layer.close(index);
  233. var type = $(".layui-tab-title li.layui-this").attr("lay-id");
  234. table.reload('like-table-lists', {
  235. where: {type: type},
  236. page: {cur: 1}
  237. })
  238. }
  239. }
  240. });
  241. layer.close(index);
  242. })
  243. },
  244. del: function(obj) {
  245. if (obj.data.status !== 0 && obj.data.audit !== 2) {
  246. layui.layer.msg("请停止活动,再删除");
  247. return false;
  248. }
  249. layer.confirm("确定删除活动吗?", function(index) {
  250. like.ajax({
  251. url: "{:url('team.Activity/del')}",
  252. data: {id: obj.data.id},
  253. type: "POST",
  254. success: function (res) {
  255. if (res.code === 1) {
  256. active.statistics();
  257. layui.layer.msg(res.msg);
  258. layer.close(index);
  259. obj.del();
  260. }
  261. }
  262. });
  263. layer.close(index);
  264. })
  265. },
  266. statistics: function () {
  267. like.ajax({
  268. url: "{:url('team.Activity/statistics')}",
  269. data: {},
  270. type: "GET",
  271. success:function(res) {
  272. if(res.code === 1) {
  273. $(".layui-tab-title li[lay-id=0]").html("全部商品("+res.data.total+")");
  274. $(".layui-tab-title li[lay-id=1]").html("待审核商品("+res.data.stayAudit+")");
  275. $(".layui-tab-title li[lay-id=2]").html("审核通过商品("+res.data.adoptAudit+")");
  276. $(".layui-tab-title li[lay-id=3]").html("审核拒绝商品("+res.data.refuseAudit+")");
  277. }
  278. }
  279. });
  280. }
  281. };
  282. like.eventClick(active);
  283. element.on("tab(like-tab)", function(){
  284. var type = this.getAttribute("lay-id");
  285. active.statistics();
  286. table.reload("like-table-lists", {
  287. where: {type: type},
  288. page: {
  289. curr: 1
  290. }
  291. });
  292. });
  293. form.on("submit(search)", function(data){
  294. table.reload("like-table-lists", {
  295. where: data.field,
  296. page: {
  297. curr: 1
  298. }
  299. });
  300. });
  301. form.on("submit(clear-search)", function(){
  302. $("#name").val("");
  303. $("#datetime").val("");
  304. $("#status").val("");
  305. form.render("select");
  306. table.reload("like-table-lists", {
  307. where: {},
  308. page: {
  309. curr: 1
  310. }
  311. });
  312. });
  313. })
  314. </script>