group_class_list.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  1. {extend name="public/layout"/} {block name="title"}集团-课程培训{/block} {block name="body"}
  2. <style type="text/css">
  3. html,
  4. body {
  5. display: block;
  6. min-width: 1100px;
  7. }
  8. .layui-table thead tr,
  9. .layui-table-header {
  10. background-color: #D8E6F1 !important;
  11. }
  12. .layui-fluid {
  13. display: block;
  14. box-shadow: 0 0 4px 0 #B6CADE;
  15. border-radius: 5px;
  16. margin: 15px;
  17. background-color: #ffffff;
  18. }
  19. .layui-form-label{
  20. width: auto;
  21. }
  22. .layui-tab-title .layui-this {
  23. color: #249EFB;
  24. }
  25. .layui-tab-title .layui-this:after {
  26. width: 50px;
  27. height: 4px;
  28. background-color: #249EFB;
  29. top: 36px !important;
  30. left: 50%;
  31. transform: translateX(-50%);
  32. border: none;
  33. border-radius: 0px;
  34. }
  35. .layui-tab-title li {
  36. background-color: #fff;
  37. margin: 0px 5px;
  38. }
  39. .layui-btn-xs,.layui-btn-xs:hover {
  40. border: 1px solid #249EFB;
  41. background-color: #fff;
  42. color: #249EFB;
  43. padding: 0px 10px;
  44. }
  45. .layui-btn-danger,.layui-btn-danger:hover{
  46. color: #FF5722;
  47. background-color: #fff;
  48. border: 1px solid #FF5722;
  49. padding: 0px 10px;
  50. }
  51. .goback {
  52. float: left;
  53. margin-right: 20px;
  54. }
  55. .goback a {
  56. color: #269efb;
  57. }
  58. .goback i {
  59. position: relative !important;
  60. left: 0px;
  61. }
  62. .layui-btn-primary {
  63. color: #249EFB;
  64. border: 1px solid #249EFB;
  65. }
  66. .layui-btn-primary:hover {
  67. background-color: #E3F7FF;
  68. color: #249EFB;
  69. }
  70. .layui-tab-title {
  71. border-bottom: 1px solid #f5f5f5;
  72. }
  73. </style>
  74. <body>
  75. <div class="layui-fluid">
  76. <div class="layui-card">
  77. <div class="layui-tab">
  78. {eq name="$from" value="add"}
  79. <ul class="layui-tab-title">
  80. <li >
  81. <a href="{:url('train/groupType')}">课件管理</a>
  82. </li>
  83. <li class="layui-this">
  84. 课程管理
  85. </li>
  86. </ul>
  87. {/eq}
  88. </div>
  89. <div class="layui-form layui-card-header layuiadmin-card-header-auto">
  90. <div class="layui-form-item">
  91. {eq name='$from' value='add'}
  92. <div style="float:left;">
  93. <div class="layui-inline">
  94. <div>
  95. <button class="layui-btn layuiadmin-btn layui-btn-primary" data-type="trainClassAdd">添加课程</button>
  96. </div>
  97. </div>
  98. </div>
  99. {else/}
  100. <div class="layui-inline" style="float: left;">
  101. <div class="goback">
  102. <a href="javascript:history.back(-1)">
  103. <i class="layui-icon layui-icon-return"></i>
  104. <span>返回</span>
  105. </a>
  106. </div>
  107. </div>
  108. {/eq}
  109. </div>
  110. </div>
  111. <div class="layui-card-body">
  112. <table id="datalist" lay-filter="datalist" style="margin-top:15px;"></table>
  113. </div>
  114. </div>
  115. </div>
  116. </body>
  117. {/block} {block name="js"}
  118. <script type="text/html" id="op">
  119. <a class="layui-btn layui-btn-danger layui-btn-xs plr10 borderFF5722" lay-event="share">
  120. {eq name="$from" value="add"}
  121. 指派
  122. {else/}
  123. 共享
  124. {/eq}
  125. </a>
  126. {eq name="$from" value="add"}
  127. <a class="layui-btn layui-btn-xs layui-btn-success plr10 border249EFB" lay-event="edit">编辑</a>
  128. <a class="layui-btn layui-btn-xs layui-btn-success plr10 border249EFB" lay-event="comment">感悟</a>
  129. <a class="layui-btn layui-btn-danger layui-btn-xs plr10 borderFF5722" lay-event="del">删除</a>
  130. {/eq}
  131. </script>
  132. <script type="text/html" id="shareCompany">
  133. <a href="javascript:void(0)" lay-event="assign_list" style="color: #0066CC"><i class="layui-icon">&#xe633;</i>{{d.shareCompany}}</a>
  134. </script>
  135. <script type="text/html" id="kh">
  136. <a href="javascript:void(0)" lay-event="showOrgData" style="color:blue;">查看</a>
  137. </script>
  138. <script type="text/html" id="completeCount">
  139. <a href="javascript:void(0)" lay-event="completeList" style="color:blue;">{{d.completeCount}}</a>
  140. </script>
  141. <script type="text/html" id="noFinishCount">
  142. <a href="javascript:void(0)" lay-event="noFinishList" style="color:blue;">{{d.noFinishCount}}</a>
  143. </script>
  144. <script>
  145. layui.use(['form', 'table'], function() {
  146. var form = layui.form,
  147. table = layui.table,
  148. $ = layui.$;
  149. var field = {};
  150. form.on('submit(LAY-app-contlist-search)', function(data) {
  151. var keyword = $('.keyword').val();
  152. field['keyword'] = keyword;
  153. //执行重载
  154. table.reload('datalist', {
  155. where: field,
  156. page: {
  157. curr: 1
  158. }
  159. });
  160. });
  161. var active = {
  162. trainClassAdd: function() {
  163. layer.open({
  164. type: 2,
  165. title:['添加课程','color:#333333;background-color:#D8E6F1;'],
  166. content: '{:url("train/class_add")}',
  167. resize: false,
  168. area: ['80%', '80%'],
  169. });
  170. }
  171. ,courselist:function(){
  172. layer.open({
  173. type: 2,
  174. title:['课程场景','color:#333333;background-color:#D8E6F1;'],
  175. content: '{:url("train/type_index")}',
  176. resize: false,
  177. area: ['80%', '80%'],
  178. });
  179. }
  180. };
  181. table.render({
  182. elem: '#datalist',
  183. url: "{:url('train/groupClassList')}?from={$from}&root_id={$root_id}&company_group={$company_group}",
  184. page: true,
  185. height: 'full-160',
  186. cols: [
  187. [{
  188. type: 'numbers',
  189. field: 'id',
  190. title: '序号',
  191. width: '4%',
  192. fixed: 'left'
  193. },
  194. {
  195. title: '课程名称',
  196. field: 'title',
  197. width: '16%',
  198. fixed: 'left'
  199. },
  200. {
  201. title: '添加时间',
  202. field: 'addtime',
  203. width: '11%'
  204. },
  205. {
  206. title: '课件',
  207. field: 'courseCount',
  208. width: '4%'
  209. },
  210. {
  211. title: '培训人数',
  212. field: 'trainNumber',
  213. width: '6.2%'
  214. },
  215. {
  216. title: '已完成人数',
  217. templet: '#completeCount',
  218. width: '6.2%'
  219. },
  220. {
  221. title: '未完成人数',
  222. templet: '#noFinishCount',
  223. width: '6.2%'
  224. },
  225. {
  226. title: '未开始人数',
  227. field: 'noStartCount',
  228. width: '6.2%'
  229. },
  230. {
  231. title: '完成观看感',
  232. field: 'summaryCount',
  233. width: '6.2%'
  234. },
  235. {
  236. title: '使用店面',
  237. width: '6%',
  238. templet: '#shareCompany'
  239. },
  240. {
  241. title: '量化考核',
  242. width: '8%',
  243. templet: '#kh'
  244. },
  245. {
  246. title: '操作',
  247. templet: '#op',
  248. width: '20%',
  249. fixed: 'right'
  250. },
  251. ]
  252. ]
  253. });
  254. table.on('tool(datalist)', function(obj) {
  255. switch(obj.event) {
  256. case 'del':
  257. layer.confirm('确定要删除该内容么',{title:['信息','color:#333333;background-color:#D8E6F1;']}, function() {
  258. $.ajax({
  259. url: '{:url("train/classDel")}',
  260. data: {
  261. id: obj.data.id
  262. },
  263. type: 'get',
  264. success: function(res) {
  265. if(res.code == 0){
  266. layer.msg(res.msg, {
  267. icon: 1,
  268. time: 1000
  269. },function(){
  270. layui.table.reload('datalist');
  271. });
  272. }else{
  273. layer.msg(res.msg);
  274. }
  275. }
  276. });
  277. });
  278. break;
  279. case 'edit':
  280. layer.open({
  281. type: 2,
  282. title:['修改课程','color:#333333;background-color:#D8E6F1;'],
  283. content: '{:url("train/class_edit")}?class_id=' + obj.data.id,
  284. resize: false,
  285. area: ['80%', '80%'],
  286. });
  287. break;
  288. case 'share':
  289. layer.open({
  290. type: 2,
  291. title:['指派店面','color:#333333;background-color:#D8E6F1;'],
  292. content: '{:url("train/group_assign")}?from={$from}&id=' + obj.data.id + '&root_id={$root_id}',
  293. resize: false,
  294. area: ['50%', '72%'],
  295. });
  296. break;
  297. case 'assign_list':
  298. layer.open({
  299. type: 2,
  300. title:['店面名称','color:#333333;background-color:#D8E6F1;'],
  301. content: '{:url("train/groupShareCompany")}?id=' + obj.data.id+'&form={$from}',
  302. resize: false,
  303. area: ['50%', '70%'],
  304. });
  305. break;
  306. case 'comment':
  307. layer.open({
  308. type: 2,
  309. title:['课程感悟','color:#333333;background-color:#D8E6F1;'],
  310. content: '{:url("train/groupComment")}?class_id=' + obj.data.id,
  311. resize: false,
  312. area: ['50%', '70%'],
  313. });
  314. break;
  315. case 'showOrgData':
  316. layer.open({
  317. type: 2,
  318. title:['量化考核','color:#333333;background-color:#D8E6F1;'],
  319. content: '{:url("train/groupOrgData")}?class_id=' + obj.data.id,
  320. resize: false,
  321. area: ['80%', '80%'],
  322. });
  323. break;
  324. case 'completeList':
  325. layer.open({
  326. type: 2,
  327. title:['已完成人数','color:#333333;background-color:#D8E6F1;'],
  328. content: '{:url("train/groupDoneLog")}?type=complete&class_id=' + obj.data.id,
  329. resize: false,
  330. area: ['80%', '80%'],
  331. });
  332. break;
  333. case 'noFinishList':
  334. layer.open({
  335. type: 2,
  336. title:['未完成人数','color:#333333;background-color:#D8E6F1;'],
  337. content: '{:url("train/groupDoneLog")}?type=noFinish&class_id=' + obj.data.id,
  338. resize: false,
  339. area: ['80%', '80%'],
  340. });
  341. break;
  342. }
  343. });
  344. $('.layui-btn.layuiadmin-btn').on('click', function() {
  345. var type = $(this).data('type');
  346. active[type] ? active[type].call(this) : '';
  347. });
  348. });
  349. </script>
  350. {/block}