sjfx_ztfx.vue 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <template>
  2. <div class="cjfx_jstj">
  3. <NavHeader />
  4. <bread-crumb />
  5. <div class="w-1200px m-auto flex flex-row justify-between">
  6. <div class="w-188px">
  7. <leftSider :activeIndex="activeIndex" @parentClick="parentClick"/>
  8. </div>
  9. <div class="w-1012px p-4 blueBg">
  10. <div class="w-full py-8 marstReview">
  11. <div class="normalTit">
  12. <span>整体成绩分析</span>
  13. </div>
  14. <el-table :data="tableDataZtcjfx" style="width: 100%">
  15. <el-table-column prop="mx" label="满分" show-overflow-tooltip />
  16. <el-table-column prop="pjf" label="平均分" width="120" />
  17. <el-table-column prop="ykrs" label="应考人数" />
  18. <el-table-column prop="skrs" label="实考人数" />
  19. <el-table-column prop="nd" label="难度" />
  20. <el-table-column prop="qfd" label="区分度"/>
  21. <el-table-column prop="bzc" label="标准差" />
  22. <el-table-column prop="qkrs" label="缺考人数" />
  23. <el-table-column prop="zgf" label="最高分" />
  24. <el-table-column prop="zdf" label="最低分" />
  25. <el-table-column prop="gfzjf" label="高分组均分" width="100" />
  26. <el-table-column prop="zfzjf" label="中分组均分" width="100" />
  27. <el-table-column prop="dfzjf" label="低分组均分" width="100" />
  28. </el-table>
  29. </div>
  30. <div class="flex mt-20px items-center">
  31. <el-select class="mr-10px" v-model="normal_school" placeholder="请选择学校" size="large">
  32. <el-option label="全部" value="0" />
  33. <el-option v-for="item in school_list" :key="item.value" :label="item.label" :value="item.value" />
  34. </el-select>
  35. <el-select class="mr-10px" v-model="normal_classroom" placeholder="请选择班级" size="large">
  36. <el-option label="全部" value="0" />
  37. <el-option v-for="item in classroom_list" :key="item.value" :label="item.label" :value="item.value" />
  38. </el-select>
  39. <el-select class="mr-10px" v-model="normal_subject" placeholder="请选择学科" size="large">
  40. <el-option label="全部" value="0" />
  41. <el-option v-for="item in subject_list" :key="item.value" :label="item.label" :value="item.value" />
  42. </el-select>
  43. </div>
  44. <div class="flex justify-between mt-4 exportBtn">
  45. <div>
  46. <el-button color="#003eee" type="primary" size="large">导出</el-button>
  47. </div>
  48. </div>
  49. <div class="h-auto mt-20px">
  50. <div class="normalTit">
  51. <span>题目分析</span>
  52. </div>
  53. <el-table :data="tableDataTmfx" style="width: 100%">
  54. <el-table-column prop="tm" label="题目" />
  55. <el-table-column prop="tmlx" label="题目类型" />
  56. <el-table-column prop="mf" label="满分" />
  57. <el-table-column prop="pjf" label="平均分" />
  58. <el-table-column prop="nd" label="难度" />
  59. <el-table-column prop="qfd" label="区分度" />
  60. <el-table-column prop="bzc" label="标准差" />
  61. <el-table-column prop="gfzjf" label="高分组均分" />
  62. <el-table-column prop="zdzjf" label="中等组均分" />
  63. <el-table-column prop="dfzjf" label="低分组均分" />
  64. </el-table>
  65. </div>
  66. <div class="h-auto mt-20px ">
  67. <div class="normalTit">
  68. <span>整体成绩分析</span>
  69. </div>
  70. <el-table :data="tableData" style="width: 100%">
  71. <el-table-column prop="xm" label="姓名" show-overflow-tooltip width="100" />
  72. <el-table-column prop="xh" label="学号" show-overflow-tooltip width="100" />
  73. <el-table-column prop="bj" label="班级" show-overflow-tooltip width="100" />
  74. <el-table-column prop="zf" label="总分" />
  75. <el-table-column prop="fir_0" label="1" />
  76. <el-table-column prop="fir_1" label="2" />
  77. <el-table-column prop="fir_2" label="17-19" />
  78. <el-table-column prop="sec_0" label="1" />
  79. <el-table-column prop="sec_1" label="2" />
  80. <el-table-column prop="sec_2" label="17-19" />
  81. <el-table-column prop="thr_0" label="1" />
  82. <el-table-column prop="thr_1" label="2" />
  83. <el-table-column prop="thr_2" label="17-19" />
  84. </el-table>
  85. </div>
  86. </div>
  87. </div>
  88. <commonFooter />
  89. </div>
  90. </template>
  91. <route lang="json">
  92. {
  93. "meta": {
  94. "title": "考试分析",
  95. "breadcrumb": true
  96. }
  97. }
  98. </route>
  99. <script lang="ts" setup>
  100. import {normalSchool_list,normalSubject_list,normalClassroom_list,cjfx_ztfx_list } from './api';
  101. import { useRouter } from "vue-router";
  102. const router = useRouter();
  103. let normal_subject = $ref("");
  104. let normal_school = $ref("");
  105. let normal_classroom = $ref("");
  106. let subject_list = [{
  107. value: '1',
  108. label: '语文'
  109. }, {
  110. value: '2',
  111. label: '数学'
  112. }]
  113. let school_list = [{
  114. value: '1',
  115. label: '学校1'
  116. }, {
  117. value: '2',
  118. label: '学校2'
  119. }]
  120. let classroom_list = [{
  121. value: '1',
  122. label: '英语'
  123. }, {
  124. value: '2',
  125. label: '体育'
  126. }, {
  127. value: '3',
  128. label: '音乐'
  129. }
  130. ];
  131. const activeIndex =ref('2-1');
  132. const parentClick = (val) => {
  133. activeIndex.value = val;
  134. }
  135. const tableDataZtcjfx = ref([]);
  136. const tableDataTmfx = ref()
  137. // [
  138. // {
  139. // tm:1,
  140. // tmlx:"单选",
  141. // mf:23,
  142. // pjf:12,
  143. // nd:0.54,
  144. // qfd:0.54,
  145. // bzc:0.54,
  146. // gfzjf:0.13,
  147. // zdzjf:0.13,
  148. // dfzjf:0.13,
  149. // },
  150. // {
  151. // tm:1,
  152. // tmlx:"多选",
  153. // mf:23,
  154. // pjf:12,
  155. // nd:0.54,
  156. // qfd:0.54,
  157. // bzc:0.54,
  158. // gfzjf:0.13,
  159. // zdzjf:0.13,
  160. // dfzjf:0.13,
  161. // },
  162. // {
  163. // tm:1,
  164. // tmlx:"主观题",
  165. // mf:23,
  166. // pjf:12,
  167. // nd:0.54,
  168. // qfd:0.54,
  169. // bzc:0.54,
  170. // gfzjf:0.13,
  171. // zdzjf:0.13,
  172. // dfzjf:0.13,
  173. // },
  174. // ];
  175. const tableData = ref();
  176. onMounted(() => {
  177. initData()
  178. })
  179. const initData = () => {
  180. let transObj = {
  181. xueke_id: '',
  182. grade_id: '',
  183. school_id:''
  184. }
  185. cjfx_ztfx_list(transObj)
  186. .then(res => {
  187. if (res.code == "1") {
  188. tableDataZtcjfx.value = res.data.data.tableDataZtcjfx;
  189. tableDataTmfx.value = res.data.data.tableDataTmfx;
  190. tableData.value = res.data.data.tableData;
  191. }
  192. console.log(res,"87654321")
  193. })
  194. .catch(error=>{console.log(error)})
  195. }
  196. </script>
  197. <style lang="scss" scoped>
  198. @import '@/styles/ksfx.css';
  199. </style>