ScoreDetails.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <div class="scatter-container">
  3. <Row>
  4. <Col span="12">
  5. <span class="component-title">知识点得分率统计</span>
  6. <BaseDetailBar :echartData="knowledgeData" @handleItemClick="handleItemClick"></BaseDetailBar>
  7. </Col>
  8. <Col span="12">
  9. <span class="component-title">知识点得分详情<span style="font-size:14px;font-weight:bold;margin-left:20px;color:#66cccc">当前知识点:{{currentPoint}}</span></span>
  10. <div style="padding:0 50px;">
  11. <BaseMyTable :columns="detailsColumns" :tableDatas="tableData" ref="detailsTable"></BaseMyTable>
  12. </div>
  13. </Col>
  14. </Row>
  15. <Divider />
  16. <Row>
  17. <span class="component-title">班级得分明细表</span>
  18. <div style="padding:20px 50px;">
  19. <BaseMyTable :columns="tableColumns" :tableDatas="numData" ref="numTable"></BaseMyTable>
  20. </div>
  21. </Row>
  22. </div>
  23. </template>
  24. <script>
  25. import Mock from 'mockjs'
  26. import BaseDetailBar from '@/components/student-analysis/total/BaseKnowledgeDetail.vue'
  27. import BaseMyTable from '@/components/student-analysis/total/BaseMyTable.vue'
  28. export default {
  29. components: {
  30. BaseDetailBar,BaseMyTable
  31. },
  32. data() {
  33. return {
  34. tableData: [],
  35. classDatas: [],
  36. currentPoint:"",
  37. knowledgeData: [],
  38. numData:[],
  39. tableColumns: [
  40. {
  41. title: '题号',
  42. key: 'id',
  43. },
  44. {
  45. title: '知识点',
  46. key: 'knowledgePoint',
  47. },
  48. {
  49. title: '分值',
  50. key: 'score',
  51. },
  52. {
  53. title: '平均得分率',
  54. key: 'averageScoreRate',
  55. },
  56. {
  57. title: '错题人数',
  58. key: 'falseNum',
  59. },
  60. {
  61. title: '120以上错题人数',
  62. key: 'falseNum',
  63. sortable: true,
  64. },
  65. {
  66. title: '90-120分错题人数',
  67. key: 'falseNum',
  68. sortable: true,
  69. },
  70. {
  71. title: '90分以下错题人数',
  72. key: 'falseNum',
  73. sortable: true,
  74. },
  75. ],
  76. detailsColumns: [
  77. {
  78. title: '学号',
  79. key: 'memberId',
  80. width:120
  81. },
  82. {
  83. title: '姓名',
  84. key: 'name',
  85. },
  86. {
  87. title: '分值',
  88. key: 'id',
  89. },
  90. {
  91. title: '本节得分',
  92. key: 'id',
  93. },
  94. {
  95. title: '得分率',
  96. key: 'id',
  97. },
  98. {
  99. title: '历次得分率趋势',
  100. renderType:"renderLineChange"
  101. },
  102. ]
  103. }
  104. },
  105. created() {
  106. let memberList = this.$store.state.totalAnalysis.memberList;
  107. let knowledgeList = this.$store.state.totalAnalysis.knowledgeList;
  108. this.tableData = memberList.slice(0,7);
  109. this.knowledgeData = knowledgeList;
  110. this.numData = Mock.mock({
  111. 'list|10': [{
  112. "id|+1": 1, 
  113. "knowledgePoint|1": ['算法平均值','一元二次方程','全等三角形性质'], 
  114. "score|5-20": 20,   
  115. "averageScoreRate|40-80": 40,   
  116. "falseNum|10-20":20
  117. }],
  118. }).list;
  119. },
  120. methods: {
  121. //点击柱状图某个点事件
  122. handleItemClick(item) {
  123. console.log(item);
  124. this.currentPoint = item.name;
  125. }
  126. },
  127. mounted() {
  128. this.$refs.detailsTable.$el.childNodes[0].style.borderRight = "0";
  129. this.$refs.numTable.$el.childNodes[0].style.borderRight = "0";
  130. },
  131. }
  132. </script>
  133. <style src="./KnowledgeAnalysis.css" scoped></style>