material.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. {include file="common/header"/}
  2. <link rel="stylesheet" href="/static/admin/css/material/material.css">
  3. <div class="LM-container">
  4. <div class="LM-main">
  5. <fieldset class="layui-elem-field layui-field-title">
  6. <legend>{:lang('material')}{:lang('list')}</legend>
  7. <blockquote class="layui-elem-quote">
  8. <div class="LM-table">
  9. <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-warm LM-add">{:lang('add')} {:lang('material')}</a>
  10. <a href="javascript:;" class="layui-btn layui-btn-sm layui-btn-danger LM-aysn">{:lang('aysn')} {:lang('material')}</a>
  11. </div>
  12. </blockquote>
  13. </fieldset>
  14. <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
  15. <ul class="layui-tab-title">
  16. <li class="layui-this">图片</li>
  17. <li>图文</li>
  18. <li>视频</li>
  19. <li>音频</li>
  20. </ul>
  21. <div class="layui-tab-content" style="padding: 15px;">
  22. <div class="layui-tab-item layui-show">
  23. <div class="layui-row">
  24. {volist name="materialGroup['image']" id="vo"}
  25. <div class="layui-col-md3">
  26. <div class="media-body">
  27. <div class="media-time">
  28. 发布时间:2019-08-12 : 10:38
  29. </div>
  30. <span style="display: block;">
  31. <div class="media-content">
  32. <div class="media-desc"><p class="media-desc-sp"></p></div>
  33. <img class="media-img" width="100%" height="180"
  34. src="{$vo.media_url}">
  35. </div>
  36. </span>
  37. <div>
  38. <ul>
  39. </ul>
  40. </div>
  41. <div class="media-item-type2">
  42. <div class="layui-btn-group media-btn">
  43. <button onclick="materialSend('{$vo.id}')"
  44. class="layui-btn layui-btn-primary layui-btn-sm">
  45. <i class="layui-icon"></i>群发
  46. </button>
  47. <button onclick="materialPreview('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  48. <i class="layui-icon"></i>预览
  49. </button>
  50. <a class="layui-btn layui-btn-primary layui-btn-sm" onclick="materialDel(this,'{$vo.id}')">
  51. <i class="layui-icon layui-icon-delete"></i>删除
  52. </a>
  53. </div>
  54. </div>
  55. </div>
  56. </div>
  57. {/volist}
  58. </div>
  59. </div>
  60. <div class="layui-tab-item">
  61. <div class="layui-row">
  62. {volist name="materialGroup['news']" id="vo"}
  63. <div class="layui-col-md3">
  64. <div class="media-body">
  65. <div class="media-time">
  66. 发布时间 {$vo.create_time|date="Y-m-d H:i:s"}
  67. </div>
  68. <span style="display: block;">
  69. <div class="media-content">
  70. <div class="media-desc">
  71. <p class="media-desc-sp">{if isset($vo['item_info'][0]['title'])}{$vo['item_info'][0]['title']}{/if}</p>
  72. </div>
  73. <img class="media-img" src="{if isset($vo['item_info'][0]['cover'])}{$vo['item_info'][0]['cover']}{/if}">
  74. </div>
  75. </span>
  76. <!-- //多图文&ndash;&gt;-->
  77. {if count($vo['item_info'])>1}
  78. <div>
  79. <ul>
  80. {volist name="vo.item_info" id="v" offset='1' }
  81. <li>
  82. <div class="mdedia-lists-box">
  83. <div class="media-title-box layui-col-md9 fl">
  84. {$v.title}
  85. </div>
  86. <div class="media-img-box layui-col-md3 fr">
  87. <img class="media-lists-img" src="{$v.cover}">
  88. </div>
  89. </div>
  90. </li>
  91. {/volist}
  92. </ul>
  93. </div>
  94. {/if}
  95. <div class="media-item-type2">
  96. <div class="layui-btn-group media-btn">
  97. <button onclick="materialSend('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  98. <i class="layui-icon"></i>群发
  99. </button>
  100. <button onclick="materialPreview('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  101. <i class="layui-icon"></i>预览
  102. </button>
  103. <!-- <button onclick="upload('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">-->
  104. <!-- <i class="layui-icon"></i>上传-->
  105. <!-- </button>-->
  106. <a class="layui-btn layui-btn-primary layui-btn-sm" onclick="materialEdit('{$vo.id}')">
  107. <i class="layui-icon"></i>编&amp;删
  108. </a>
  109. </div>
  110. </div>
  111. </div>
  112. </div>
  113. {/volist}
  114. </div>
  115. </div>
  116. <div class="layui-tab-item">
  117. <div class="layui-row">
  118. {volist name="materialGroup['video']" id="vo"}
  119. <div class="layui-col-md3">
  120. <div class="media-body">
  121. <div class="media-time">
  122. 发布时间 {$vo.create_time|date="Y-m-d H:i:s"}
  123. </div>
  124. <span style="display: block;">
  125. <div class="media-content">
  126. <div class="media-desc">
  127. <p class="media-desc-sp"></p>
  128. </div>
  129. <div style="font-size: 50px;height: 180px;line-height:180px;text-align: center">
  130. <i class="fa fa-play-circle-o"></i>
  131. </div>
  132. </div>
  133. </span>
  134. <div class="media-item-type2">
  135. <div class="layui-btn-group media-btn">
  136. <button onclick="materialSend('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  137. <i class="layui-icon"></i>群发
  138. </button>
  139. <button onclick="materialPreview('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  140. <i class="layui-icon"></i>预览
  141. </button>
  142. <!-- <button onclick="upload('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">-->
  143. <!-- <i class="layui-icon"></i>上传-->
  144. <!-- </button>-->
  145. <a class="layui-btn layui-btn-primary layui-btn-sm" onclick="materialDel(this,'{$vo.id}')">
  146. <i class="layui-icon layui-icon-delete"></i>删除
  147. </a>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. {/volist}
  153. </div>
  154. </div>
  155. <div class="layui-tab-item">
  156. <div class="layui-row">
  157. {volist name="materialGroup['voice']" id="vo"}
  158. <div class="layui-col-md3">
  159. <div class="media-body">
  160. <div class="media-time">
  161. 发布时间 {$vo.create_time|date="Y-m-d H:i:s"}
  162. </div>
  163. <span style="display: block;">
  164. <div class="media-content">
  165. <div class="media-desc">
  166. <p class="media-desc-sp"></p>
  167. </div>
  168. <audio class="media-img" src="{$vo.media_url}"></audio>
  169. </div>
  170. </span>
  171. <!-- //多图文&ndash;&gt;-->
  172. <div class="media-item-type2">
  173. <div class="layui-btn-group media-btn">
  174. <button onclick="materialSend('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  175. <i class="layui-icon"></i>群发
  176. </button>
  177. <button onclick="materialPreview('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">
  178. <i class="layui-icon"></i>预览
  179. </button>
  180. <!-- <button onclick="upload('{$vo.id}')" class="layui-btn layui-btn-primary layui-btn-sm">-->
  181. <!-- <i class="layui-icon"></i>上传-->
  182. <!-- </button>-->
  183. <a class="layui-btn layui-btn-primary layui-btn-sm" onclick="materialDel(this,'{$vo.id}')">
  184. <i class="layui-icon layui-icon-delete"></i>删除
  185. </a>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. {/volist}
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. </div>
  197. {include file="common/footer"/}
  198. <script>
  199. var $='';
  200. var layer='';
  201. layui.use(['form','layer','element'], function () {
  202. var form = layui.form,
  203. layer = layui.layer;
  204. $ = layui.jquery;
  205. $('.LM-add').click(function () {
  206. var index = layer.open({
  207. type: 2,
  208. content: '{:url("materialAdd")}',
  209. area: ['800px', '600px'],
  210. anim: 2,
  211. maxmin: true,
  212. });
  213. layer.full(index);
  214. })
  215. $('.LM-aysn').click(function () {
  216. loading =layer.load(1, {shade: [0.1,'#fff']});
  217. $.post("{:url('materialAysn')}",{},function(res){
  218. layer.close(loading);
  219. if(res.code>0){
  220. layer.msg(res.msg,{time:1000,icon:1});
  221. window.reload();
  222. }else{
  223. layer.msg(res.msg,{time:1000,icon:2});
  224. }
  225. });
  226. })
  227. });
  228. //预览
  229. function materialPreview(id) {
  230. //例子2
  231. layer.prompt({
  232. formType: 0,
  233. value: 'yue909',
  234. title: '请输入微信号',
  235. }, function(value, index, elem){
  236. loading =layer.load(1, {shade: [0.1,'#fff']});
  237. $.post("{:url('materialPreview')}",{id:id,wxname:value},function(res){
  238. layer.close(loading);
  239. layer.close(index);
  240. if(res.code>0){
  241. layer.msg(res.msg,{time:1000,icon:1});
  242. obj.del();
  243. }else{
  244. layer.msg(res.msg,{time:1000,icon:2});
  245. }
  246. });
  247. layer.close(index);
  248. });
  249. }
  250. //群发
  251. function materialSend(id) {
  252. layer.confirm('{:lang("send all")}', function(index){
  253. loading =layer.load(1, {shade: [0.1,'#fff']});
  254. $.post("{:url('materialSend')}",{id:id},function(res){
  255. layer.close(loading);
  256. layer.close(index);
  257. if(res.code>0){
  258. layer.msg(res.msg,{time:1000,icon:1});
  259. obj.del();
  260. }else{
  261. layer.msg(res.msg,{time:1000,icon:2});
  262. }
  263. });
  264. });
  265. }
  266. function materialDel(obj,id){
  267. var _that = $(obj);
  268. console.log(obj);
  269. $.post('{:url("materialDel")}',{id:id},function(res){
  270. if(res.code>0){
  271. _that.parents().parents('.layui-col-md3').remove();
  272. layer.msg(res.msg);
  273. }else {
  274. layer.msg(res.msg);
  275. }
  276. })
  277. }
  278. function materialEdit(id) {
  279. var index = layer.open({
  280. type: 2,
  281. content: '{:url("materialEdit")}'+'?id='+id,
  282. area: ['800px', '600px'],
  283. anim: 2,
  284. maxmin: true,
  285. });
  286. layer.full(index);
  287. }
  288. </script>