index.php 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. {extend name="public/container"}
  2. {block name="head"}
  3. <style>
  4. .layui-table-cell img {
  5. max-width: 100%;
  6. height: 50px;
  7. cursor: pointer;
  8. }
  9. .layui-table-cell .layui-btn-container {
  10. overflow: hidden;
  11. }
  12. </style>
  13. {/block}
  14. {block name="content"}
  15. <div class="layui-fluid">
  16. <div class="layui-card">
  17. <div class="layui-card-header">专题审核</div>
  18. <div class="layui-card-body">
  19. <div class="layui-row layui-col-space15">
  20. <div class="layui-col-md12">
  21. <form class="layui-form layui-form-pane" action="">
  22. <div class="layui-form-item">
  23. <div class="layui-inline">
  24. <label class="layui-form-label">专题搜索</label>
  25. <div class="layui-input-inline">
  26. <input type="text" name="store_name" class="layui-input" placeholder="专题名称、简介、编号">
  27. </div>
  28. </div>
  29. <div class="layui-inline">
  30. <label class="layui-form-label">专题分类</label>
  31. <div class="layui-input-inline">
  32. <select name="subject_id" lay-search="">
  33. <option value="0">全部</option>
  34. {volist name='subject_list' id='vc'}
  35. <option {if $vc.grade_id==0}disabled{/if} value="{$vc.id}">{$vc.html}{$vc.name}</option>
  36. {/volist}
  37. </select>
  38. </div>
  39. </div>
  40. <div class="layui-inline">
  41. <label class="layui-form-label">讲师</label>
  42. <div class="layui-input-inline">
  43. <select name="mer_id" lay-search="">
  44. <option value="">全部</option>
  45. {volist name='mer_list' id='vc'}
  46. <option value="{$vc.id}">{$vc.mer_name}</option>
  47. {/volist}
  48. </select>
  49. </div>
  50. </div>
  51. <div class="layui-inline">
  52. <label class="layui-form-label">状态</label>
  53. <div class="layui-input-inline">
  54. <select name="status">
  55. <option value="">全部</option>
  56. <option value="0">未审核</option>
  57. <option value="-1">未通过</option>
  58. </select>
  59. </div>
  60. </div>
  61. <div class="layui-inline">
  62. <label class="layui-form-label">专题类别</label>
  63. <div class="layui-input-inline">
  64. <select name="type">
  65. <option value="">全部</option>
  66. <option value="1">图文专题</option>
  67. <option value="2">音频专题</option>
  68. <option value="3">视频专题</option>
  69. <option value="4">直播专题</option>
  70. <option value="5">专栏专题</option>
  71. <option value="6">轻专题</option>
  72. </select>
  73. </div>
  74. </div>
  75. <div class="layui-inline">
  76. <label class="layui-form-label">时间范围</label>
  77. <div class="layui-input-inline" style="width: 260px;">
  78. <input type="text" name="datetime" class="layui-input" id="datetime" placeholder="时间范围">
  79. </div>
  80. </div>
  81. <div class="layui-inline">
  82. <div class="layui-input-inline">
  83. <div class="layui-btn-group">
  84. <button type="button" class="layui-btn layui-btn-sm layui-btn-normal" lay-submit="search" lay-filter="search">
  85. <i class="layui-icon">&#xe615;</i>搜索
  86. </button>
  87. </div>
  88. </div>
  89. </div>
  90. </div>
  91. </form>
  92. </div>
  93. <div class="layui-col-md12">
  94. <div class="layui-btn-group">
  95. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" data-type="refresh" onclick="window.location.reload()">
  96. <i class="layui-icon">&#xe669;</i>刷新
  97. </button>
  98. </div>
  99. <table class="layui-hide" id="List" lay-filter="List"></table>
  100. <script type="text/html" id="image">
  101. <img lay-event='open_image' src="{{d.image}}">
  102. </script>
  103. <script type="text/html" id="quantity">
  104. {{d.quantity}}
  105. </script>
  106. <script type="text/html" id="status">
  107. {{# if(d.status==0){ }}
  108. <button lay-event='fail' class="layui-btn layui-btn-danger layui-btn-xs zsff-fail" type="button"><i class="layui-icon">&#x1006;</i>不通过</button>
  109. <button lay-event='succ' class="layui-btn layui-btn-normal layui-btn-xs zsff-success" type="button"><i class="layui-icon">&#xe605;</i>通过</button>
  110. {{# }else if(d.status==-1){ }}
  111. <button class="layui-btn layui-btn-danger layui-btn-xs zsff-fail" type="button"><i class="layui-icon">&#x1006;</i>不通过</button>
  112. <br>
  113. 原因:{{d.fail_message}}
  114. <br>
  115. 时间:{{d.fail_time}}
  116. {{# } }}
  117. </script>
  118. <script type="text/html" id="type">
  119. {{# if(d.type==1){ }}
  120. 图文专题
  121. {{# }else if(d.type==2){ }}
  122. 音频专题
  123. {{# }else if(d.type==3){ }}
  124. 视频专题
  125. {{# }else if(d.type==4){ }}
  126. 直播专题
  127. {{# }else if(d.type==5){ }}
  128. 专栏专题
  129. {{# }else if(d.type==6){ }}
  130. 轻专题
  131. {{# } }}
  132. </script>
  133. <script type="text/html" id="act">
  134. {{# if (d.status) { }}
  135. <a class="layui-btn layui-btn-xs layui-btn-disabled">审核</a>
  136. {{# } else { }}
  137. <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="detail">审核</a>
  138. {{# } }}
  139. </script>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  146. {/block}
  147. {block name="script"}
  148. <script>
  149. var $ = layui.jquery;
  150. var layer = layui.layer;
  151. //实例化form
  152. layList.form.render();
  153. layList.date({elem: '#datetime', type: 'datetime', range: '~'});
  154. //加载列表
  155. layList.tableList({o: 'List', done: function () { }}, "{:Url('specialExamineList')}", function () {
  156. return [
  157. {field: 'id', title: '编号', width: '6%', align: 'center'},
  158. {field: 'title', title: '名称', align: 'left'},
  159. {field: 'subject_name', title: '分类', align: 'center', width: '6%'},
  160. {field: 'mer_name', title: '讲师', align: 'center', width: '6%'},
  161. {field: 'type', title: '专题类别', align: 'center', templet: '#type', width: '6%'},
  162. {field: 'image', title: '封面', templet: '#image', align: 'center', width: '6%'},
  163. {field: 'money', title: '价格', align: 'center', width: '6%'},
  164. {field: 'member_money', title: '会员价', align: 'center', width: '6%'},
  165. {field: 'pink_money', title: '拼团价', align: 'center', width: '6%'},
  166. {field: 'quantity', title: '已选素材', align: 'center', width: '6%', templet: '#quantity'},
  167. {field: 'sum', title: '素材总数', align: 'center', width: '6%'},
  168. {field: 'status', title: '状态', templet: '#status', align: 'center', width: '18%'},
  169. {title: '操作', align: 'center', toolbar: '#act', width: '7%'}
  170. ];
  171. });
  172. //下拉框
  173. $(document).click(function (e) {
  174. $('.layui-nav-child').hide();
  175. });
  176. function dropdown(that) {
  177. var oEvent = arguments.callee.caller.arguments[0] || event;
  178. oEvent.stopPropagation();
  179. var offset = $(that).offset();
  180. var top = offset.top - $(window).scrollTop();
  181. var index = $(that).parents('tr').data('index');
  182. $('.layui-nav-child').each(function (key) {
  183. if (key != index) {
  184. $(this).hide();
  185. }
  186. })
  187. if ($(document).height() < top + $(that).next('ul').height()) {
  188. $(that).next('ul').css({
  189. 'padding': 10,
  190. 'top': - ($(that).parent('td').height() / 2 + $(that).height() + $(that).next('ul').height() / 2),
  191. 'min-width': 'inherit',
  192. 'position': 'absolute'
  193. }).toggle();
  194. } else {
  195. $(that).next('ul').css({
  196. 'padding': 10,
  197. 'top': $(that).parent('td').height() / 2 + $(that).height(),
  198. 'min-width': 'inherit',
  199. 'position': 'absolute'
  200. }).toggle();
  201. }
  202. }
  203. //自定义方法
  204. var action = {
  205. set_value: function (field, id, value, model_type) {
  206. layList.baseGet(layList.Url({
  207. a: 'set_value',
  208. q: {field: field, id: id, value: value, model_type: model_type}
  209. }), function (res) {
  210. layList.msg(res.msg);
  211. });
  212. },
  213. //打开新添加页面
  214. open_add: function (url, title) {
  215. layer.open({
  216. type: 2 //Page层类型
  217. , area: ['100%', '100%']
  218. , title: title
  219. , shade: 0.6 //遮罩透明度
  220. , maxmin: true //允许全屏最小化
  221. , anim: 1 //0-6的动画形式,-1不开启
  222. , content: url
  223. , end: function () {
  224. location.reload();
  225. }
  226. });
  227. }
  228. };
  229. //查询
  230. layList.search('search', function (where) {
  231. var arr_time = [];
  232. var start_time = '';
  233. var end_time = '';
  234. if (where.datetime) {
  235. arr_time = where.datetime.split('~');
  236. start_time = arr_time[0].trim();
  237. end_time = arr_time[1].trim();
  238. }
  239. layList.reload({
  240. status: where.status,
  241. type: where.type,
  242. subject_id: where.subject_id,
  243. mer_id: where.mer_id,
  244. start_time: start_time,
  245. end_time: end_time,
  246. store_name: where.store_name
  247. }, true);
  248. });
  249. //监听并执行排序
  250. layList.sort(['id', 'sort'], true);
  251. //点击事件绑定
  252. layList.tool(function (event, data, obj) {
  253. switch (event) {
  254. case 'open_image':
  255. $eb.openImage(data.image);
  256. break;
  257. case 'succ':
  258. var url = layList.U({a: 'succ', q: {id: data.id}});
  259. $eb.$swal('delete', function () {
  260. $eb.axios.get(url).then(function (res) {
  261. if (res.status == 200 && res.data.code == 200) {
  262. window.location.reload();
  263. $eb.$swal('success', res.data.msg);
  264. } else
  265. return Promise.reject(res.data.msg || '删除失败')
  266. }).catch(function (err) {
  267. $eb.$swal('error', err);
  268. });
  269. }, {
  270. title: '确定审核通过?',
  271. text: '通过后无法撤销,请谨慎操作!',
  272. confirm: '审核通过'
  273. });
  274. break;
  275. case 'fail':
  276. var url = layList.U({a: 'fail', q: {id: data.id}});
  277. $eb.$alert('textarea', {
  278. title: '请输入未通过愿意',
  279. value: '输入信息不完整或有误!',
  280. }, function (value) {
  281. $eb.axios.post(url, {message: value}).then(function (res) {
  282. if (res.data.code == 200) {
  283. window.location.reload();
  284. $eb.$swal('success', res.data.msg);
  285. } else
  286. $eb.$swal('error', res.data.msg || '操作失败!');
  287. });
  288. });
  289. break;
  290. case 'detail':
  291. action.open_add('{:Url('examineDetails')}?id=' + data.id + '&special_type=' + data.type, '审核');
  292. break;
  293. }
  294. })
  295. </script>
  296. {/block}