Sfoglia il codice sorgente

分数段统计 平均分离差分析 教师统计 总体分析

la 2 anni fa
parent
commit
95d2e25d61

+ 2 - 2
src/pages/cjfx/cjfx_cjd.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="cjfxCjd">
+  <div class="cjfx_cjd">
     <NavHeader />
     <bread-crumb />
 
@@ -89,7 +89,7 @@
 <route lang="json">
 {
   "meta": {
-    "title": "成绩分析",
+    "title": "考试分析",
     "breadcrumb": true
   }
 }

+ 53 - 88
src/pages/cjfx/cjfx_fsdtj.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="cjfxCjd">
+  <div class="cjfx_fsdtj">
     <NavHeader />
     <bread-crumb />
 
@@ -35,31 +35,17 @@
 
         </div>
 
-        <div class="h-200 mt-9px overflow-x-auto listMain" id="listMain"></div>
+        <div class="h-150 mt-20px overflow-x-auto echartData" id="echartData"></div>
 
-        <div class="h-auto">
-           <div class="h-50px flex flex-wrap flex-grow justify-between rounded px-4 listMain_title">
-            <div class="singleT" v-for="(item,index) in listTitleShow" :key="index">{{item}}</div>
+        <div class="w-980px h-auto tableList">
+           <div class="h-50px rounded flex flex-nowrap tableList_title">
+            <div class="w-11/12 bg-opacity-0 singleT"></div>
+            <div class="w-11/12 singleT" v-for="(item,index) in classArr" :key="index">{{item}}</div>
           </div>
 
-          <div class="h-200px flex flex-wrap flex-grow justify-between px-4" v-for="(item,index) in listShow" :key="index">
-            <div class="singleTSec" >{{ item.xx }}</div>
-            <div class="singleTSec">{{ item.bj }}</div>
-            <div class="singleTSec">{{ item.pm }}</div>
-
-            <div class="singleTSec" >{{ item.pjf }}</div>
-            <div class="singleTSec">{{ item.ykrs }}</div>
-            <div class="singleTSec">{{ item.skrs }}</div>
-            <div class="singleTSec" >{{ item.zgf }}</div>
-            <div class="singleTSec">{{ item.yxrs }}</div>
-            <div class="singleTSec">{{ item.yxl}}</div>
-            <div class="singleTSec" >{{ item.jgrs }}</div>
-            <div class="singleTSec">{{ item.dfrs }}</div>
-            <div class="singleTSec">{{ item.dfl }}</div>
-            <div class="singleTSec" >{{ item.nd }}</div>
-            <div class="singleTSec">{{ item.qfd }}</div>
-            <div class="singleTSec">{{ item.bzc }}</div>
-
+          <div class="h-auto flex flex-nowrap tableList_content" v-for="(item,index) in classBaseInfoArr" :key="index">
+            <div class="w-11/12 h-60px rounded  mt-2px  singleTSec singleTSecDif" >{{ item.period }}</div>
+            <div class="w-11/12 h-60px mt-2px singleTSec " v-for="(secItem,index) in item.detailNum">{{ secItem }}</div>
           </div>
         </div>
 
@@ -76,7 +62,7 @@
 <route lang="json">
 {
   "meta": {
-    "title": "成绩分析",
+    "title": "考试分析",
     "breadcrumb": true
   }
 }
@@ -126,8 +112,11 @@ onMounted(() => {
 })
 
 const initChart = () => {
-  var myChart = echarts.init(document.getElementById('listMain'));
+  var myChart = echarts.init(document.getElementById('echartData'));
   myChart.setOption({
+    title: {
+      text: '人数',
+    },
     grid: {
       left: '3%',
       right: '4%',
@@ -168,69 +157,37 @@ const initChart = () => {
 }
 
 
+let classArr = [
+  "初一(1)班",
+  "初一(2)班",
+  "初一(3)班",
+  "初一(4)班",
+  "初一(5)班",
+  "初一(6)班",
+  "初一(7)班",
+  "初一(8)班",
+  "初一(9)班",
 
+];
 
-
-let listTitleShow = {
-  xx: "学校",
-  bj: "班级",
-  pm: "排名",
-  pjf: "平均分",
-  ykrs: "应考人数",
-  skrs: "实考人数",
-  zgf: "最高分",
-  yxrs: "优秀人数",
-  yxl: "优秀率",
-  jgrs: "及格人数",
-  jgl: "及格率",
-  dfrs: "低分人数",
-  dfl: "低分率",
-  nd: "难度",
-  qfd: "区分度",
-  bzc: "标椎差",
-}
-let listShow = [
+let classBaseInfoArr = [
   {
-    xx: "总体",
-    bj: "初一(2)班",
-    pm: "1",
-    pjf: "87.45",
-    ykrs: "123",
-    skrs: "123",
-    zgf: "123",
-    yxrs: "98",
-    yxl: "89%",
-    jgrs: "98",
-    jgl: "89%",
-    dfrs: "23",
-    dfl: "90%",
-    nd: "0.92",
-    qfd: "0.92",
-    bzc: "87.45",
-
+    period: "[0-10]",
+    detailNum:["13","13","13","13","13","13","13","13","13"]
   },
   {
-    xx: "临沂市蒙阴县乡镇小学",
-    bj: "初一(2)班名",
-    pm: "1",
-    pjf: "87.45",
-    ykrs: "123",
-    skrs: "123",
-    zgf: "123",
-    yxrs: "98",
-    yxl: "89%",
-    jgrs: "98",
-    jgl: "89%",
-    dfrs: "23",
-    dfl: "90%",
-    nd: "0.92",
-    qfd: "0.92",
-    bzc: "87.45",
+    period: "[10-20]",
+    detailNum:["13","13","13","13","13","13","13","13","13"]
   },
-
-]
-
-
+  {
+    period: "[20-30]",
+    detailNum:["13","13","13","13","13","13","13","13","13"]
+  },
+  {
+    period: "[30-40]",
+    detailNum:["13","13","13","13","13","13","13","13","13"]
+  }
+];
 
 
 </script>
@@ -275,24 +232,28 @@ let listShow = [
   color: #fff;
 }
 
-.listMain {
-  overflow-y: auto;
+.tableList {
+  overflow-x: scroll;
 }
 
-.listMain_title {
+.tableList_title {
   font-size: 14px;
   color: #fff;
-  background: #003eee;
-  overflow-y: auto;
 }
 
 .singleT {
   flex: 1;
+  font-size: 14px;
   line-height: 50px;
-  width: fit-content;
+  // width: fit-content;
   text-align: center;
+  background: #003eee;
+}
+.singleT:first-child{
+  background-color: transparent!important;
 }
 
+
 .singleD {
   flex: 1;
 }
@@ -303,4 +264,8 @@ let listShow = [
   line-height: 60px;
   text-align: center;
 }
+.singleTSecDif{
+  color: #fff;
+  background-color: #6897FF;
+}
 </style>

+ 303 - 0
src/pages/ksfx/cjfx_jstj.vue

@@ -0,0 +1,303 @@
+<template>
+  <div class="cjfx_jstj">
+    <NavHeader />
+    <bread-crumb />
+
+    <div class="w-1200px m-auto flex flex-row justify-between">
+      <div class="w-188px">
+        <leftSider />
+      </div>
+
+      <div class="w-1012px p-4 blueBg">
+
+        <div class="flex items-center">
+          <el-select class="mr-10px" v-model="normal_subject" placeholder="请选择学科" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in subject_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+
+          <el-select class="mr-10px" v-model="normal_school" placeholder="请选择学校" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in school_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+
+        </div>
+        <div class="flex justify-between mt-4 exportBtn">
+          <div>
+            <el-button color="#003eee" type="primary" size="large">导出</el-button>
+          </div>
+          <div>
+            <el-input v-model="searchVal" class="w-50 m-2" placeholder="Type something" :prefix-icon="Search" />
+          </div>
+
+        </div>
+
+        <div class="h-200 mt-20px ">
+          <el-table :data="tableData" style="width: 100%">
+            <el-table-column prop="xx" label="学校" show-overflow-tooltip width="200" />
+            <el-table-column prop="js" label="教师" width="120" />
+            <el-table-column prop="xk" label="学科" />
+            <el-table-column prop="pm" label="排名" />
+            <el-table-column prop="xpm" label="校排名" />
+            <el-table-column prop="bj" label="班级" show-overflow-tooltip width="300" />
+            <el-table-column prop="pjf" label="平均分" />
+            <el-table-column prop="skrs" label="实考人数" />
+            <el-table-column prop="zgf" label="最高分" />
+            <el-table-column prop="yxrs" label="优秀人数" />
+            <el-table-column prop="yxl" label="优秀率" />
+            <el-table-column prop="jgrs" label="及格人数" />
+            <el-table-column prop="jgl" label="及格率" />
+            <el-table-column prop="dfrs" label="低分人数" />
+            <el-table-column prop="dfl" label="低分率" />
+          </el-table>
+
+          <div class="mt-4" >
+            <el-pagination background layout="prev, pager, next " :total="1000" style="justify-content: right;" />
+          </div>
+
+        </div>
+
+      </div>
+
+
+
+
+    </div>
+
+    <commonFooter />
+  </div>
+</template>
+<route lang="json">
+{
+  "meta": {
+    "title": "考试分析",
+    "breadcrumb": true
+  }
+}
+</route>
+<script lang="ts" setup>
+import * as echarts from 'echarts';
+import { Calendar, Search } from '@element-plus/icons-vue';
+
+import { useRouter } from "vue-router";
+const router = useRouter();
+
+
+let normal_subject = $ref("");
+let normal_school = $ref("");
+let normal_teacher = $ref("");
+let searchVal = $ref('');
+
+let subject_list = [{
+  value: '1',
+  label: '语文'
+}, {
+  value: '2',
+  label: '数学'
+}]
+
+
+let school_list = [{
+  value: '1',
+  label: '学校1'
+}, {
+  value: '2',
+  label: '学校2'
+}]
+
+onMounted(() => {
+})
+
+
+
+
+let classArr = [
+  "学校",
+  "平均分",
+  "总均分",
+  "均分差离",
+];
+
+let classBaseInfoArr = [
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+];
+
+const tableData = [
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    js: "热巴",
+    xk: "语文",
+    pm: "1",
+    xpm: "23",
+    bj: "初一(2)班、初一(3)班初一(4)班",
+    pjf: "123.23",
+    skrs: "1234",
+    zgf:"132.22",
+    yxrs:"2637",
+    yxl:"23.34%",
+    jgrs: "4323",
+    jgl:'23.34%',
+    dfrs:"23.43%",
+    dfl:"23.34%",
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    js: "热巴",
+    xk: "语文",
+    pm: "1",
+    xpm: "23",
+    bj: "初一(2)班、初一(3)班初一(4)班",
+    pjf: "123.23",
+    skrs: "1234",
+    zgf:"132.22",
+    yxrs:"2637",
+    yxl:"23.34%",
+    jgrs: "4323",
+    jgl:'23.34%',
+    dfrs:"23.43%",
+    dfl:"23.34%",
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    js: "热巴",
+    xk: "语文",
+    pm: "1",
+    xpm: "23",
+    bj: "初一(2)班、初一(3)班初一(4)班",
+    pjf: "123.23",
+    skrs: "1234",
+    zgf:"132.22",
+    yxrs:"2637",
+    yxl:"23.34%",
+    jgrs: "4323",
+    jgl:'23.34%',
+    dfrs:"23.43%",
+    dfl:"23.34%",
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    js: "热巴",
+    xk: "语文",
+    pm: "1",
+    xpm: "23",
+    bj: "初一(2)班、初一(3)班初一(4)班",
+    pjf: "123.23",
+    skrs: "1234",
+    zgf:"132.22",
+    yxrs:"2637",
+    yxl:"23.34%",
+    jgrs: "4323",
+    jgl:'23.34%',
+    dfrs:"23.43%",
+    dfl:"23.34%",
+  }
+]
+
+</script>
+
+
+<style lang="scss" scoped>
+::v-deep .el-sub-menu__title {
+  background: #003eee;
+  color: #fff;
+}
+
+::v-deep .el-table__header thead tr th {
+  background: #003eee !important;
+  color: #fff;
+  height: 50px;
+  line-height: 50px;
+  font-weight: normal;
+}
+
+::v-deep .el-table__header thead tr th:first-child {
+  border-top-left-radius: 9px;
+}
+
+::v-deep .el-table__body tbody .el-table__row td {
+  background-color: transparent;
+}
+
+::v-deep .el-dialog__footer {
+  text-align: center;
+}
+
+.blueBg {
+  background: #F1F7FF;
+}
+
+.whiteBG {
+  background: #fff;
+}
+
+.singlepart {
+  background-color: rgba($color: #ffffff, $alpha: 0.2);
+  color: #fff;
+}
+
+.tableList {
+  overflow-x: scroll;
+}
+
+.tableList_title {
+  font-size: 14px;
+  color: #fff;
+}
+
+.singleT {
+  flex: 1;
+  font-size: 14px;
+  line-height: 50px;
+  width: fit-content;
+  text-align: center;
+  background: #003eee;
+}
+
+.singleT:first-child {
+  border-top-left-radius: 5px;
+}
+
+.singleT:last-child {
+  border-top-right-radius: 5px;
+}
+
+.singleD {
+  flex: 1;
+}
+
+.singleTSec {
+  width: fit-content;
+  flex: 1;
+  line-height: 60px;
+  text-align: center;
+}
+
+.singleTSecDif {
+  background-color: #fff;
+}
+</style>

+ 279 - 0
src/pages/ksfx/cjfx_pjflcfx.vue

@@ -0,0 +1,279 @@
+<template>
+  <div class="cjfx_pjflcfx">
+    <NavHeader />
+    <bread-crumb />
+
+    <div class="w-1200px m-auto flex flex-row justify-between">
+      <div class="w-188px">
+        <leftSider />
+      </div>
+
+      <div class="w-1012px p-4 blueBg">
+
+        <div class="flex items-center">
+          <el-select class="mr-10px" v-model="normal_subject" placeholder="请选择学科" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in subject_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+
+          <el-select class="mr-10px" v-model="normal_school" placeholder="请选择学校" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in school_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+
+        </div>
+        <div class="flex justify-between mt-4 exportBtn">
+          <div>
+            <el-button color="#003eee" type="primary" size="large">导出</el-button>
+          </div>
+
+        </div>
+
+        <div class="h-150 mt-20px overflow-x-auto echartData" id="echartData"></div>
+
+        <div class="w-full h-auto tableList">
+           <div class="h-50px rounded flex flex-nowrap tableList_title">
+            <div class="singleT" v-for="(item,index) in classArr" :key="index">{{item}}</div>
+          </div>
+
+          <div class="h-auto flex flex-nowrap tableList_content" v-for="(item,index) in classBaseInfoArr" :key="index">
+            <div class="h-60px rounded  mt-2px  singleTSec " :class="{'singleTSecDif':index%2==1}">{{ item.xx }}</div>
+            <div class="h-60px rounded  mt-2px  singleTSec " :class="{'singleTSecDif':index%2==1}">{{ item.pjf }}</div>
+            <div class="h-60px rounded  mt-2px  singleTSec " :class="{'singleTSecDif':index%2==1}">{{ item.zjf }}</div>
+            <div class="h-60px rounded  mt-2px  singleTSec " :class="{'singleTSecDif':index%2==1}">{{ item.jflc }}</div>
+          </div>
+        </div>
+
+      </div>
+
+
+
+
+    </div>
+
+    <commonFooter />
+  </div>
+</template>
+<route lang="json">
+{
+  "meta": {
+    "title": "考试分析",
+    "breadcrumb": true
+  }
+}
+</route>
+<script lang="ts" setup>
+import * as echarts from 'echarts';
+
+import { useRouter } from "vue-router";
+const router = useRouter();
+
+let normal_subject = $ref("");
+let normal_school = $ref("");
+let normal_teacher = $ref("");
+
+
+let subject_list = [{
+  value: '1',
+  label: '语文'
+}, {
+  value: '2',
+  label: '数学'
+}]
+
+
+let school_list = [{
+  value: '1',
+  label: '学校1'
+}, {
+  value: '2',
+  label: '学校2'
+}]
+
+onMounted(() => {
+  initChart()
+})
+
+const initChart = () => {
+  const colors=['#9CFF68','#FE6868']
+  var myChart = echarts.init(document.getElementById('echartData'));
+  myChart.setOption({
+  title: {
+    text: '平均分',
+  },
+  tooltip: {
+    trigger: 'axis',
+    axisPointer: {
+      type: 'shadow'
+    }
+  },
+  grid: {
+    left: '3%',
+    right: '4%',
+    bottom: '3%',
+    containLabel: true
+  },
+  xAxis: [
+    {
+      type: 'category',
+      axisTick: {
+        show: false
+      },
+      data: ['蒙阴县市级中小学', '蒙阴县市级中小学', '蒙阴县市级中小学', '蒙阴县市级中小学', '蒙阴县市级中小学', '蒙阴县市级中小学', '蒙阴县市级中小学']
+    }
+  ],
+  yAxis: [
+    {
+      type: 'value'
+    }
+
+  ],
+  series: [
+
+    {
+      name: 'Income',
+      type: 'bar',
+      stack: 'Total',
+      label: {
+        show: true
+      },
+      emphasis: {
+        focus: 'series'
+      },
+      data: [1.23, 1.23, 1.23, 1.23, 1.23, 1.23, 1.23]
+    },
+    {
+      name: 'Expenses',
+      type: 'bar',
+      stack: 'Total',
+      label: {
+        show: true,
+        position: 'left'
+      },
+      emphasis: {
+        focus: 'series'
+      },
+      data: [-1.23, -1.23, -1.23, -1.23, -1.23, -1.23, -1.23]
+    }
+  ]
+});
+}
+
+
+let classArr = [
+  "学校",
+  "平均分",
+  "总均分",
+  "均分差离",
+];
+
+let classBaseInfoArr = [
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf:12,
+    zjf:12,
+    jflc:1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf:12,
+    zjf:12,
+    jflc:1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf:12,
+    zjf:12,
+    jflc:1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf:12,
+    zjf:12,
+    jflc:1,
+  },
+];
+
+
+</script>
+
+
+<style lang="scss" scoped>
+::v-deep .el-sub-menu__title {
+  background: #003eee;
+  color: #fff;
+}
+
+::v-deep .el-table__header thead tr th {
+  background: #003eee !important;
+  color: #fff;
+  height: 50px;
+  line-height: 50px;
+  font-weight: normal;
+}
+
+::v-deep .el-table__header thead tr th:first-child {
+  border-top-left-radius: 9px;
+}
+
+::v-deep .el-table__body tbody .el-table__row td {
+  background-color: transparent;
+}
+
+::v-deep .el-dialog__footer {
+  text-align: center;
+}
+
+.blueBg {
+  background: #F1F7FF;
+}
+
+.whiteBG {
+  background: #fff;
+}
+
+.singlepart {
+  background-color: rgba($color: #ffffff, $alpha: 0.2);
+  color: #fff;
+}
+
+.tableList {
+  overflow-x: scroll;
+}
+
+.tableList_title {
+  font-size: 14px;
+  color: #fff;
+}
+
+.singleT {
+  flex: 1;
+  font-size: 14px;
+  line-height: 50px;
+  width: fit-content;
+  text-align: center;
+  background: #003eee;
+}
+.singleT:first-child{
+  border-top-left-radius: 5px;
+}
+.singleT:last-child{
+  border-top-right-radius: 5px;
+}
+
+.singleD {
+  flex: 1;
+}
+
+.singleTSec {
+  width: fit-content;
+  flex: 1;
+  line-height: 60px;
+  text-align: center;
+}
+.singleTSecDif{
+  background-color: #fff;
+}
+</style>

+ 2 - 2
src/pages/cjfx/cjfx_slyf.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="cjfxCjd">
+  <div class="cjfx_slyf">
     <NavHeader />
     <bread-crumb />
 
@@ -130,7 +130,7 @@
 <route lang="json">
 {
   "meta": {
-    "title": "成绩分析",
+    "title": "考试分析",
     "breadcrumb": true
   }
 }

+ 395 - 0
src/pages/ksfx/sjfx_ztfx.vue

@@ -0,0 +1,395 @@
+<template>
+  <div class="cjfx_jstj">
+    <NavHeader />
+    <bread-crumb />
+
+    <div class="w-1200px m-auto flex flex-row justify-between">
+      <div class="w-188px">
+        <leftSider />
+      </div>
+
+      <div class="w-1012px p-4 blueBg">
+
+        <div class="w-full py-8 marstReview">
+          <div class="normalTit">
+            <span>整体成绩分析</span>
+          </div>
+
+          <el-table :data="tableDataZtcjfx" style="width: 100%">
+            <el-table-column prop="mx" label="满分" show-overflow-tooltip />
+            <el-table-column prop="pjf" label="平均分" width="120" />
+            <el-table-column prop="ykrs" label="应考人数" />
+            <el-table-column prop="skrs" label="实考人数" />
+            <el-table-column prop="nd" label="难度" />
+            <el-table-column prop="qfd" label="区分度"/>
+            <el-table-column prop="bzc" label="标准差" />
+            <el-table-column prop="qkrs" label="缺考人数" />
+            <el-table-column prop="zgf" label="最高分" />
+            <el-table-column prop="zdf" label="最低分" />
+            <el-table-column prop="gfzjf" label="高分组均分" width="100" />
+            <el-table-column prop="zfzjf" label="中分组均分" width="100" />
+            <el-table-column prop="dfzjf" label="低分组均分" width="100" />
+          </el-table>
+        </div>
+
+        <div class="flex mt-20px items-center">
+          <el-select class="mr-10px" v-model="normal_school" placeholder="请选择学校" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in school_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+          <el-select class="mr-10px" v-model="normal_subject" placeholder="请选择学科" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in subject_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+
+          <el-select class="mr-10px" v-model="normal_classroom" placeholder="请选择班级" size="large">
+            <el-option label="全部" value="0" />
+            <el-option v-for="item in classroom_list" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </div>
+        <div class="flex justify-between mt-4 exportBtn">
+          <div>
+            <el-button color="#003eee" type="primary" size="large">导出</el-button>
+          </div>
+
+        </div>
+
+        <div class="h-auto mt-20px">
+          <div class="normalTit">
+            <span>题目分析</span>
+          </div>
+
+          <el-table :data="tableDataTmfx" style="width: 100%">
+            <el-table-column prop="tm" label="题目" />
+            <el-table-column prop="tmlx" label="题目类型" />
+            <el-table-column prop="mf" label="满分" />
+            <el-table-column prop="pjf" label="平均分" />
+            <el-table-column prop="nd" label="难度" />
+            <el-table-column prop="qfd" label="区分度"  />
+            <el-table-column prop="bzc" label="标准差" />
+            <el-table-column prop="gfzjf" label="高分组均分" />
+            <el-table-column prop="zdzjf" label="中等组均分" />
+            <el-table-column prop="dfzjf" label="低分组均分" />
+          </el-table>
+
+        </div>
+
+        <div class="h-auto mt-20px ">
+          <div class="normalTit">
+            <span>整体成绩分析</span>
+          </div>
+          <el-table :data="tableData" style="width: 100%">
+            <el-table-column prop="xm" label="姓名" show-overflow-tooltip width="100" />
+            <el-table-column prop="xh" label="学号" show-overflow-tooltip width="100" />
+            <el-table-column prop="bj" label="班级" show-overflow-tooltip width="100" />
+            <el-table-column prop="zf" label="总分" />
+            <el-table-column prop="fir_0" label="1" />
+            <el-table-column prop="fir_1" label="2"  />
+            <el-table-column prop="fir_2" label="17-19" />
+            <el-table-column prop="sec_0" label="1" />
+            <el-table-column prop="sec_1" label="2"  />
+            <el-table-column prop="sec_2" label="17-19" />
+            <el-table-column prop="thr_0" label="1" />
+            <el-table-column prop="thr_1" label="2"  />
+            <el-table-column prop="thr_2" label="17-19" />
+
+          </el-table>
+
+        </div>
+
+      </div>
+
+    </div>
+
+    <commonFooter />
+  </div>
+</template>
+<route lang="json">
+{
+  "meta": {
+    "title": "考试分析",
+    "breadcrumb": true
+  }
+}
+</route>
+<script lang="ts" setup>
+import * as echarts from 'echarts';
+import { Calendar, Search } from '@element-plus/icons-vue';
+
+import { useRouter } from "vue-router";
+import { skeletonProps } from 'element-plus';
+const router = useRouter();
+
+
+let normal_subject = $ref("");
+let normal_school = $ref("");
+let normal_teacher = $ref("");
+let normal_classroom = $ref("");
+
+let subject_list = [{
+  value: '1',
+  label: '语文'
+}, {
+  value: '2',
+  label: '数学'
+}]
+
+
+let school_list = [{
+  value: '1',
+  label: '学校1'
+}, {
+  value: '2',
+  label: '学校2'
+}]
+
+let classroom_list = [{
+  value: '1',
+  label: '英语'
+}, {
+  value: '2',
+  label: '体育'
+}, {
+  value: '3',
+  label: '音乐'
+}
+];
+
+
+onMounted(() => {
+
+})
+
+const tableDataZtcjfx = [{
+  mx:122,
+  pjf:87.45,
+  ykrs:123,
+  skrs:123,
+  nd:0.54,
+  qfd:0.54,
+  bzc:0.54,
+  qkrs:32,
+  zgf:125,
+  zdf:123,
+  gfzjf:125,
+  zfzjf:136,
+  dfzjf:87.45
+   
+}]
+
+
+
+let classArr = [
+  "学校",
+  "平均分",
+  "总均分",
+  "均分差离",
+];
+
+let classBaseInfoArr = [
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+  {
+    xx: "临沂市蒙阴县乡镇小学",
+    pjf: 12,
+    zjf: 12,
+    jflc: 1,
+  },
+];
+
+const tableDataTmfx = [
+  {
+    tm:1,
+    tmlx:"单选",
+    mf:23,
+    pjf:12,
+    nd:0.54,
+    qfd:0.54,
+    bzc:0.54,
+    gfzjf:0.13,
+    zdzjf:0.13,
+    dfzjf:0.13,
+  },
+  {
+    tm:1,
+    tmlx:"多选",
+    mf:23,
+    pjf:12,
+    nd:0.54,
+    qfd:0.54,
+    bzc:0.54,
+    gfzjf:0.13,
+    zdzjf:0.13,
+    dfzjf:0.13,
+  },
+  {
+    tm:1,
+    tmlx:"主观题",
+    mf:23,
+    pjf:12,
+    nd:0.54,
+    qfd:0.54,
+    bzc:0.54,
+    gfzjf:0.13,
+    zdzjf:0.13,
+    dfzjf:0.13,
+  },
+
+];
+
+
+const tableData = [
+  {
+    xm: "迪丽热巴",
+    xh: "123456789",
+    bj: "初一(2)班",
+    zf: "123",
+    fir_0: "2.5",
+    fir_1: "2.5",
+    fir_2: "2.5",
+    sec_0: "2.5",
+    sec_1: "2.5",
+    sec_2: "2.5",
+    thr_0: "2.5",
+    thr_1: "2.5",
+    thr_2: "2.5",
+  },
+  {
+    xm: "迪丽热巴",
+    xh: "123456789",
+    bj: "初一(2)班",
+    zf: "123",
+    fir_0: "2.5",
+    fir_1: "2.5",
+    fir_2: "2.5",
+    sec_0: "2.5",
+    sec_1: "2.5",
+    sec_2: "2.5",
+    thr_0: "2.5",
+    thr_1: "2.5",
+    thr_2: "2.5",
+  },
+]
+
+</script>
+
+
+<style lang="scss" scoped>
+::v-deep .el-sub-menu__title {
+  background: #003eee;
+  color: #fff;
+}
+
+::v-deep .el-table__header thead tr th {
+  background: #003eee !important;
+  color: #fff;
+  height: 50px;
+  line-height: 50px;
+  font-weight: normal;
+}
+
+::v-deep .el-table__header thead tr th:first-child {
+  border-top-left-radius: 9px;
+}
+
+::v-deep .el-table__body tbody .el-table__row td {
+  background-color: transparent;
+}
+
+::v-deep .el-dialog__footer {
+  text-align: center;
+}
+.normalTit{
+  width: 158px;
+  height: 42px;
+  margin: 0 auto 10px auto;
+  background: #ffffff;
+  border: 1px solid #dbe7ec;
+  border-radius: 6px;
+  box-sizing: border-box;
+  padding:9px 6px;
+  text-align: center;
+  span{
+    font-size: 16px;
+    font-family: PingFang SC, PingFang SC-Medium;
+    font-weight: 500;
+    color: #000000;
+    background: #e2eaf9;
+    border-radius: 4px;
+    padding: 5px 15px;
+  }
+}
+.marstReview{
+  border-bottom: 1px solid #dee8ff;
+}
+.blueBg {
+  background: #F1F7FF;
+}
+
+.whiteBG {
+  background: #fff;
+}
+
+.singlepart {
+  background-color: rgba($color: #ffffff, $alpha: 0.2);
+  color: #fff;
+}
+
+.tableList {
+  overflow-x: scroll;
+}
+
+.tableList_title {
+  font-size: 14px;
+  color: #fff;
+}
+
+.singleT {
+  flex: 1;
+  font-size: 14px;
+  line-height: 50px;
+  width: fit-content;
+  text-align: center;
+  background: #003eee;
+}
+
+.singleT:first-child {
+  border-top-left-radius: 5px;
+}
+
+.singleT:last-child {
+  border-top-right-radius: 5px;
+}
+
+.singleD {
+  flex: 1;
+}
+
+.singleTSec {
+  width: fit-content;
+  flex: 1;
+  line-height: 60px;
+  text-align: center;
+}
+
+.singleTSecDif {
+  background-color: #fff;
+}
+</style>