learning_records.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. {extend name="public/container"}
  2. {block name="content"}
  3. <div class="layui-fluid">
  4. <div class="layui-row layui-col-space15" >
  5. <div class="layui-col-md12" id="app" v-cloak>
  6. <div class="layui-card">
  7. <div class="layui-card-header">搜索条件</div>
  8. <div class="layui-card-body">
  9. <div class="layui-form layui-form-pane">
  10. <div class="layui-form-item">
  11. <div class="layui-col-lg12">
  12. <label class="layui-form-label">创建时间:</label>
  13. <div class="layui-input-block" data-type="data">
  14. <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" v-for="item in dataList" @click="setData(item)" :class="{'layui-btn-primary':where.data!=item.value}">{{item.name}}</button>
  15. <button class="layui-btn layui-btn-sm" type="button" ref="time" @click="setData({value:'zd',is_zd:true})" :class="{'layui-btn-primary':where.data!='zd'}">自定义</button>
  16. <button type="button" class="layui-btn layui-btn-sm layui-btn-primary" v-show="showtime==true" ref="date_time">{$year.0} - {$year.1}</button>
  17. </div>
  18. </div>
  19. <div class="layui-col-lg12">
  20. <div class="layui-input-block">
  21. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" @click="search"><i class="layui-icon layui-icon-search"></i>搜索</button>
  22. <button class="layui-btn layui-btn-sm layui-btn-normal" type="button" @click="refresh"><i class="layui-icon layui-icon-refresh" ></i>刷新</button>
  23. </div>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. </div>
  29. </div>
  30. <div class="layui-col-md12">
  31. <div class="layui-card">
  32. <div class="layui-card-header">学习记录</div>
  33. <div class="layui-card-body">
  34. <table class="layui-hide" id="userList" lay-filter="userList"></table>
  35. <script type="text/html" id="level">
  36. {{# if(d.level==1){ }}
  37. 会员
  38. {{# }else{ }}
  39. 非会员
  40. {{# }; }}
  41. </script>
  42. <script type="text/html" id="act">
  43. <button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event='percentage'>
  44. 查看学员的具体学习进度
  45. </button>
  46. </script>
  47. </div>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <script src="{__ADMIN_PATH}js/layuiList.js"></script>
  53. <script>
  54. var id={$id};
  55. layList.tableList('userList',"{:Url('specialLearningRecordsList')}?id={$id}&uid={$uid}",function () {
  56. return [
  57. {field: 'uid', title: 'UID', width:'10%',align: 'center'},
  58. {field: 'nickname', title: '昵称',align: 'center',width:'15%'},
  59. {field: 'phone', title: '电话',width:'15%',align: 'center'},
  60. {field: 'level', title: '身份',width:'15%',align: 'center',templet:'#level'},
  61. {field: 'last_study_time', title: '最后学习时间',width:'15%',align: 'center'},
  62. {field: 'right', title: '操作',align:'center',toolbar:'#act',width:'30%'}
  63. ];
  64. });
  65. //点击事件绑定
  66. layList.tool(function (event,data,obj) {
  67. switch (event) {
  68. case 'percentage':
  69. layer.open({
  70. type: 2,
  71. title: data.nickname + '—学习进度',
  72. content: '{:Url('percentage')}?uid=' + data.uid + "&special_id="+data.special_id + "&type="+data.type+"&is_light="+data.is_light,
  73. area: ['80%', '90%'],
  74. maxmin: true
  75. });
  76. break;
  77. }
  78. });
  79. require(['vue'],function(Vue) {
  80. new Vue({
  81. el: "#app",
  82. data: {
  83. badge: [],
  84. dataList: [
  85. {name: '全部', value: ''},
  86. {name: '昨天', value: 'yesterday'},
  87. {name: '今天', value: 'today'},
  88. {name: '本周', value: 'week'},
  89. {name: '本月', value: 'month'},
  90. {name: '本季度', value: 'quarter'},
  91. {name: '本年', value: 'year'},
  92. ],
  93. where:{
  94. id:id,
  95. excel:0,
  96. data:''
  97. },
  98. showtime: false,
  99. },
  100. methods: {
  101. setData:function(item){
  102. var that=this;
  103. if(item.is_zd==true){
  104. that.showtime=true;
  105. this.where.data=this.$refs.date_time.innerText;
  106. }else{
  107. this.showtime=false;
  108. this.where.data=item.value;
  109. }
  110. },
  111. search:function () {
  112. this.where.excel=0;
  113. this.where.id=id;
  114. layList.reload(this.where,true);
  115. },
  116. excel:function () {
  117. this.where.id=id;
  118. this.where.excel=1;
  119. location.href=layList.U({a:'specialLearningRecordsList',q:this.where});
  120. },
  121. refresh:function () {
  122. window.location.reload();
  123. }
  124. },
  125. mounted:function () {
  126. var that=this;
  127. layList.laydate.render({
  128. elem:this.$refs.date_time,
  129. trigger:'click',
  130. eventElem:this.$refs.time,
  131. range:true,
  132. change:function (value){
  133. that.where.data=value;
  134. }
  135. });
  136. }
  137. })
  138. });
  139. </script>
  140. {/block}