usageLog.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <div class="app-container">
  3. <div style="margin-left:-10px;margin-right:-10px"><record ></record></div>
  4. <el-card style="margin-top:20px">
  5. <echarts-gauge></echarts-gauge>
  6. </el-card >
  7. <el-card style="margin-top:20px">
  8. <el-row :gutter="20">
  9. <el-col :span="24" :xs="24" style="text-align: right">
  10. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  11. <el-form-item label="年级">
  12. <el-select v-model="formInline.gradeId" clearable placeholder="请选择">
  13. <el-option
  14. v-for="item in grade"
  15. :key="item.gradeId"
  16. :label="item.gradeName"
  17. :value="item.gradeId">
  18. </el-option>
  19. </el-select>
  20. </el-form-item>
  21. <el-form-item label="班级">
  22. <el-select v-model="formInline.classId" clearable placeholder="请选择">
  23. <el-option
  24. v-for="item in classOptions"
  25. :key="item.classId"
  26. :label="item.className"
  27. :value="item.classId">
  28. </el-option>
  29. </el-select>
  30. </el-form-item>
  31. <el-form-item label="科目">
  32. <el-select v-model="formInline.subjectid" clearable placeholder="请选择">
  33. <el-option
  34. v-for="item in subjectOption"
  35. :key="item.subjectid"
  36. :label="item.subjectname"
  37. :value="item.subjectid">
  38. </el-option>
  39. </el-select>
  40. </el-form-item>
  41. <el-form-item>
  42. <el-button type="primary" @click="confirm">查询</el-button>
  43. </el-form-item>
  44. </el-form>
  45. <el-table
  46. :data="tableData"
  47. style="width: 100%">
  48. <el-table-column
  49. align="center"
  50. prop="name"
  51. label="科目" >
  52. </el-table-column>
  53. <el-table-column
  54. align="center"
  55. prop="name1"
  56. label="使用人数" >
  57. </el-table-column>
  58. <el-table-column
  59. align="center"
  60. label="视频观看人数"
  61. prop="name2" >
  62. </el-table-column>
  63. <el-table-column
  64. align="center"
  65. label="人均看视频时长"
  66. prop="name3" >
  67. </el-table-column>
  68. <el-table-column
  69. align="center"
  70. label="答题人数"
  71. prop="name4" >
  72. </el-table-column>
  73. <el-table-column
  74. label="人均答题数"
  75. prop="name5" >
  76. </el-table-column>
  77. <el-table-column
  78. align="center"
  79. label="平均得分率"
  80. prop="name6" >
  81. </el-table-column>
  82. </el-table>
  83. </el-col>
  84. </el-row>
  85. </el-card >
  86. </div>
  87. </template>
  88. <script>
  89. import Record from "./components/record";
  90. import EchartsGauge from "./components/echartsGauge";
  91. import { getUserProfile } from "@/api/system/user";
  92. import {getSubjectsList} from "@/api/webApi/system";
  93. export default {
  94. components: { Record,EchartsGauge},
  95. data() {
  96. return {
  97. user:{},
  98. formInline:{
  99. gradeId:'',
  100. classId:''
  101. },
  102. grade:[],
  103. classOptions:[],
  104. subjectOption:[],
  105. options:[],
  106. value:'',
  107. tableData:[{
  108. name:'语文',
  109. name1:'35',
  110. name2:'46',
  111. name3:'22:00',
  112. name4:'90',
  113. name5:'24',
  114. name6:'0.15',
  115. }]
  116. };
  117. },
  118. watch:{
  119. 'formInline.gradeId':function(value){
  120. this.formInline.classId = ''
  121. this.classOptions = []
  122. if(value){
  123. this.grade.forEach(item=>{
  124. if(value == item.gradeId){
  125. this.classOptions = item.clazz || []
  126. }
  127. })
  128. }
  129. }
  130. },
  131. created() {
  132. this.getUser();
  133. this.getSubjectsList()
  134. },
  135. methods: {
  136. getUser() {
  137. getUserProfile().then(response => {
  138. this.user = response.data;
  139. if(response.data.busiSchool && response.data.busiSchool[0]){
  140. this.grade = response.data.busiSchool[0].grade || []
  141. }
  142. });
  143. },
  144. getSubjectsList(){
  145. getSubjectsList().then(response => {
  146. this.subjectOption = response.rows;
  147. });
  148. },
  149. confirm(){},
  150. }
  151. };
  152. </script>