Răsfoiți Sursa

题型区分度 分布

Michael Wang 3 ani în urmă
părinte
comite
cc8d0b9937

+ 0 - 0
src/features/paperAnalysis/DistriTable.vue → src/features/paperAnalysis/DifficultyDistriTable.vue


+ 75 - 0
src/features/paperAnalysis/DiscriminationDistriTable.vue

@@ -0,0 +1,75 @@
+<template>
+  <table class="custom-table">
+    <tr>
+      <td rowspan="2">题型</td>
+      <td rowspan="2">题量</td>
+      <td rowspan="2">满分</td>
+      <td rowspan="2">差异系数</td>
+      <td colspan="3">优</td>
+      <td colspan="3">良</td>
+      <td colspan="3">可</td>
+      <td colspan="3">差</td>
+    </tr>
+    <tr>
+      <td>题量</td>
+      <td>分值</td>
+      <td>%</td>
+      <td>题量</td>
+      <td>分值</td>
+      <td>%</td>
+      <td>题量</td>
+      <td>分值</td>
+      <td>%</td>
+      <td>题量</td>
+      <td>分值</td>
+      <td>%</td>
+    </tr>
+    <tr v-for="(item2, index) in props.questions" :key="index">
+      <td>
+        {{ item2.groupName || "全卷" }}
+      </td>
+      <td>
+        {{ item2.questionCount }}
+      </td>
+      <td>
+        {{ item2.totalScore }}
+      </td>
+      <td>
+        {{ item2.coefficient }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.high.questionCount }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.high.fullScore }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.high.percent }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.middle.questionCount }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.middle.fullScore }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.middle.percent }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.low.questionCount }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.low.fullScore }}
+      </td>
+      <td>
+        {{ item2.difficulityLevel.low.percent }}
+      </td>
+    </tr>
+  </table>
+</template>
+
+<script setup lang="ts">
+import { QuestionGroup } from "@/types";
+
+const props = defineProps<{ questions: QuestionGroup[] }>();
+</script>

+ 10 - 10
src/features/paperAnalysis/QuestionTypeDifficulty.vue

@@ -10,7 +10,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE1' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE1' || !q.type)
         "
         "
@@ -25,7 +25,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE2' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE2' || !q.type)
         "
         "
@@ -40,7 +40,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE3' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE3' || !q.type)
         "
         "
@@ -55,7 +55,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT1' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT1' || !q.type)
         "
         "
@@ -70,7 +70,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT2' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT2' || !q.type)
         "
         "
@@ -85,7 +85,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT3' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT3' || !q.type)
         "
         "
@@ -100,7 +100,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY1' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY1' || !q.type)
         "
         "
@@ -115,7 +115,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY2' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY2' || !q.type)
         "
         "
@@ -130,7 +130,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DifficultyDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY3' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY3' || !q.type)
         "
         "
@@ -164,7 +164,7 @@ import EventBus from "@/plugins/eventBus";
 import { QuestionGroup } from "@/types";
 import { QuestionGroup } from "@/types";
 import { downloadFileURL } from "@/utils/utils";
 import { downloadFileURL } from "@/utils/utils";
 import { message } from "ant-design-vue";
 import { message } from "ant-design-vue";
-import DistriTable from "./DistriTable.vue";
+import DifficultyDistriTable from "./DifficultyDistriTable.vue";
 
 
 const props = defineProps<{ questions: QuestionGroup[]; projectId: number }>();
 const props = defineProps<{ questions: QuestionGroup[]; projectId: number }>();
 
 

+ 10 - 10
src/features/paperAnalysis/QuestionTypeDiscrimination.vue

@@ -10,7 +10,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE1' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE1' || !q.type)
         "
         "
@@ -25,7 +25,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE2' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE2' || !q.type)
         "
         "
@@ -40,7 +40,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'TYPE3' || !q.type)
           props.questions.filter((q) => q.type === 'TYPE3' || !q.type)
         "
         "
@@ -55,7 +55,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT1' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT1' || !q.type)
         "
         "
@@ -70,7 +70,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT2' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT2' || !q.type)
         "
         "
@@ -85,7 +85,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'CONTENT3' || !q.type)
           props.questions.filter((q) => q.type === 'CONTENT3' || !q.type)
         "
         "
@@ -100,7 +100,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY1' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY1' || !q.type)
         "
         "
@@ -115,7 +115,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY2' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY2' || !q.type)
         "
         "
@@ -130,7 +130,7 @@
         </div>
         </div>
       </div>
       </div>
 
 
-      <DistriTable
+      <DiscriminationDistriTable
         :questions="
         :questions="
           props.questions.filter((q) => q.type === 'ABILITY3' || !q.type)
           props.questions.filter((q) => q.type === 'ABILITY3' || !q.type)
         "
         "
@@ -164,7 +164,7 @@ import EventBus from "@/plugins/eventBus";
 import { QuestionGroup } from "@/types";
 import { QuestionGroup } from "@/types";
 import { downloadFileURL } from "@/utils/utils";
 import { downloadFileURL } from "@/utils/utils";
 import { message } from "ant-design-vue";
 import { message } from "ant-design-vue";
-import DistriTable from "./DistriTable.vue";
+import DiscriminationDistriTable from "./DiscriminationDistriTable.vue";
 
 
 const props = defineProps<{ questions: QuestionGroup[]; projectId: number }>();
 const props = defineProps<{ questions: QuestionGroup[]; projectId: number }>();