list.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. {extend name="public/layout" /} {block name="title"}活动管理{/block} {block name="body"}
  2. <link rel="stylesheet" href="__LAYUI__/common.css" media="all">
  3. <style type="text/css">
  4. html,
  5. body {
  6. display: block;
  7. min-width: 1100px;
  8. font-family: inherit;
  9. }
  10. .layui-table thead tr,
  11. .layui-table-header {
  12. background-color: #D8E6F1 !important;
  13. }
  14. .layui-fluid {
  15. display: block;
  16. box-shadow: 0 0 4px 0 #B6CADE;
  17. border-radius: 5px;
  18. margin: 15px;
  19. background-color: #ffffff;
  20. }
  21. .layui-form-label {
  22. width: auto;
  23. }
  24. .layui-laydate-range {
  25. width: 581px;
  26. }
  27. .layui-table-page>div {
  28. display: flex;
  29. justify-content: flex-start;
  30. }
  31. .layui-btn-primary,
  32. .layui-btn-primary:hover {
  33. border: 1px solid #249EFB;
  34. background-color: #fff;
  35. color: #249EFB;
  36. }
  37. .layui-form-item .layui-inline {
  38. margin-right: 0px;
  39. }
  40. .layui-btn-normal,
  41. .layui-btn-normal:hover {
  42. border: 1px solid #249EFB;
  43. background-color: #fff;
  44. color: #249EFB;
  45. }
  46. .layui-btn-danger,
  47. .layui-btn-danger:hover {
  48. color: #FF5722;
  49. border: 1px solid #FF5722;
  50. background-color: #fff;
  51. }
  52. .layui-form-select dl {
  53. z-index: 999999999;
  54. }
  55. </style>
  56. <body>
  57. <div class="layui-fluid">
  58. <div class="layui-card">
  59. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  60. <div class="layui-form-item">
  61. <div class="layui-inline" style="float: left;">
  62. <button class="layui-btn layui-btn-primary layuiadmin-btn-course" data-type="add">创建直播</button>
  63. </div>
  64. <div style="float:right;">
  65. <div class="layui-inline">
  66. <label class="layui-form-label">直播时间</label>
  67. <div class="layui-input-inline select-date">
  68. <input type="text" name="date" id="select_date" placeholder="直播时间" autocomplete="off"
  69. class="layui-input">
  70. </div>
  71. </div>
  72. <div class="layui-inline" style="margin-right: 0px;">
  73. <label class="layui-form-label">请选择直播人员</label>
  74. <div class="layui-input-inline">
  75. <select name="employee_id" id="employee">
  76. <option value="">请选择直播人员</option>
  77. {volist name="employee" id="e"}
  78. <option value="{$e.id}">{$e.name}</option>
  79. {/volist}
  80. </select>
  81. </div>
  82. </div>
  83. <div class="layui-inline">
  84. <label class="layui-form-label">直播名称</label>
  85. <div class="layui-input-inline">
  86. <input type="text" name="keyword" placeholder="请输入关键字搜索" autocomplete="off"
  87. class="layui-input">
  88. </div>
  89. </div>
  90. <div class="layui-inline">
  91. <button class="layui-btn layuiadmin-btn-course searchBtn" lay-submit
  92. lay-filter="LAY-user-front-search">
  93. <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
  94. </button>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. <div class="layui-card-body" style="text-align: center;">
  100. <table id="company-activity" lay-filter="company-activity"></table>
  101. <script type="text/html" id="table-user-bind">
  102. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">
  103. 编辑
  104. </a>
  105. <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="backlive">
  106. 直播回放
  107. </a>
  108. <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">
  109. <i class="layui-icon layui-icon-delete"></i>
  110. 删除
  111. </a>
  112. </script>
  113. </div>
  114. </div>
  115. </div>
  116. </body>
  117. {/block} {block name="js"}
  118. <script>
  119. layui.config({
  120. base: '__LAYUI__/',
  121. urlbase: '/sys'
  122. }).extend({
  123. index: 'lib/index' //主入口模块
  124. }).use(['index', 'form', 'table', 'laydate'], function () {
  125. var $ = layui.$,
  126. form = layui.form,
  127. laydate = layui.laydate,
  128. table = layui.table;
  129. //日期范围
  130. laydate.render({
  131. elem: '#select_date',
  132. range: true
  133. });
  134. //监听搜索
  135. form.on('submit(LAY-user-front-search)', function (data) {
  136. var field = data.field;
  137. //执行重载
  138. table.reload('company-activity', {
  139. where: field
  140. });
  141. });
  142. //事件
  143. var active = {
  144. add: function () {
  145. layer.open({
  146. type: 2,
  147. title: ['创建直播', 'color:#333333;background-color:#D8E6F1;'],
  148. content: '{:url("boss/add")}',
  149. resize: false,
  150. area: ['50%', '80%'],
  151. yes: function (index, layero) {
  152. //点击确认触发 iframe 内容中的按钮提交
  153. // var submit = layero.find('iframe').contents().find("#activity-submit");
  154. // submit.click();
  155. }
  156. });
  157. }
  158. };
  159. //活动列表
  160. table.render({
  161. elem: '#company-activity',
  162. url: "{:url('boss/list')}",
  163. height: 'full-160',
  164. cols: [
  165. [
  166. { align: 'center', field: 'name', title: '直播名称', width: '16%' },
  167. { align: 'center', field: 'time', title: '直播时间', width: '16%' },
  168. { align: 'center', field: 'lecturer_name', title: '直播人员', minWidth: 100, width: '16%' },
  169. { align: 'center', field: 'type', title: '直播类型',width:'16%',minWidth: 100 },
  170. { align: 'center', field: 'broadcast_platform', title: '直播平台',width:'16%',minWidth: 100 },
  171. { align: 'center', title: '操作', width: '20%', align: 'center', toolbar: '#table-user-bind', fixed: 'right' }
  172. ]
  173. ],
  174. page: true,
  175. // limit: 30,
  176. // height: 'full-220',
  177. text: '对不起,加载出现异常!'
  178. });
  179. //监听审核
  180. table.on('tool(company-activity)', function (obj) {
  181. var data = obj.data;
  182. if (obj.event === 'customer') {
  183. layer.open({
  184. type: 2,
  185. title: ['客户详情', 'color:#333333;background-color:#D8E6F1;'],
  186. content: "{:url('boss/customer')}?id=" + data.id + "&cate=" + data.cate,
  187. // content: layui.setter.urlbase + "/boss/edit/id/" + data.id,
  188. resize: false,
  189. area: ['80%', '80%'],
  190. // btn: ['确定', '取消'],
  191. yes: function (index, layero) {
  192. //点击确认触发 iframe 内容中的按钮提交
  193. // var submit = layero.find('iframe').contents().find("#activity-submit");
  194. // submit.click();
  195. }
  196. });
  197. } else if (obj.event === 'backlive') {
  198. layer.open({
  199. type: 2,
  200. title: ['直播回放', 'color:#333333;background-color:#D8E6F1;'],
  201. content: "{:url('boss/playback')}?id=" + data.id,
  202. // content: layui.setter.urlbase + "/boss/edit/id/" + data.id,
  203. resize: false,
  204. area: ['80%', '80%'],
  205. // btn: ['确定', '取消'],
  206. yes: function (index, layero) {
  207. //点击确认触发 iframe 内容中的按钮提交
  208. // var submit = layero.find('iframe').contents().find("#activity-submit");
  209. // submit.click();
  210. }
  211. });
  212. } else if (obj.event === 'edit') {
  213. layer.open({
  214. type: 2,
  215. title: ['活动修改', 'color:#333333;background-color:#D8E6F1;'],
  216. content: "{:url('boss/edit')}?id=" + data.id,
  217. // content: layui.setter.urlbase + "/boss/edit/id/" + data.id,
  218. resize: false,
  219. area: ['80%', '80%'],
  220. // btn: ['确定', '取消'],
  221. yes: function (index, layero) {
  222. //点击确认触发 iframe 内容中的按钮提交
  223. // var submit = layero.find('iframe').contents().find("#activity-submit");
  224. // submit.click();
  225. }
  226. });
  227. } else if (obj.event === 'del') {
  228. layer.confirm('确定删除此活动?', { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  229. $.ajax({
  230. type: 'post',
  231. // url: layui.setter.urlbase + "/boss/del",
  232. url: "{:url('boss/del')}",
  233. data: {
  234. id: data.id
  235. },
  236. success: function (res) {
  237. if (res.code == 0) {
  238. layer.msg(res.msg, {
  239. anim: 0
  240. }, function () {
  241. //执行重载
  242. table.reload('company-activity');
  243. // obj.del();
  244. layer.close(index);
  245. });
  246. } else {
  247. layer.msg(res.msg, {
  248. anim: 6
  249. });
  250. }
  251. }
  252. });
  253. });
  254. } else if (obj.event === 'end') {
  255. layer.confirm('确定结束此活动?', { title: ['信息', 'color:#333333;background-color:#D8E6F1;'], }, function (index) {
  256. $.ajax({
  257. type: 'post',
  258. // url: layui.setter.urlbase + "/boss/del",
  259. url: "{:url('boss/end')}",
  260. data: {
  261. id: data.id
  262. },
  263. success: function (res) {
  264. if (res.code == 0) {
  265. layer.msg(res.msg, {
  266. anim: 0
  267. }, function () {
  268. //执行重载
  269. table.reload('company-activity');
  270. // obj.del();
  271. layer.close(index);
  272. });
  273. } else {
  274. layer.msg(res.msg, {
  275. anim: 6
  276. });
  277. }
  278. }
  279. });
  280. });
  281. } else if (obj.event === 'assign'){
  282. layer.open({
  283. type: 2,
  284. title: ['指派', 'color:#333333;background-color:#D8E6F1;'],
  285. content: '{:url("boss/activity_assign")}?id=' + data.id,
  286. area: ['80%', '80%'],
  287. btn: ['确定', '取消'],
  288. yes: function (index, layero) {
  289. layer.close(index);
  290. //点击确认触发 iframe 内容中的按钮提交
  291. },
  292. end: function () {
  293. }
  294. });
  295. }
  296. });
  297. form.on('switch(show)', function (obj) {
  298. var id = obj.value;
  299. $.ajax({
  300. type: "post",
  301. url: '{:url("boss/show")}',
  302. data: {
  303. id: id
  304. },
  305. success: function (res) {
  306. layer.msg(res.msg);
  307. }
  308. });
  309. });
  310. $('.layui-btn.layuiadmin-btn-course').on('click', function () {
  311. var type = $(this).data('type');
  312. active[type] ? active[type].call(this) : '';
  313. });
  314. //发布
  315. form.on('switch(show)', function (obj) {
  316. // console.log(obj)
  317. // return false;
  318. var id = obj.value;
  319. $.ajax({
  320. type: "post",
  321. url: '{:url("boss/show")}',
  322. data: {
  323. id: id,
  324. cate: 'case'
  325. },
  326. success: function (res) {
  327. layer.msg(res.msg, { time: 2000 });
  328. }
  329. });
  330. });
  331. });
  332. </script>
  333. {/block}