Ver código fonte

feat: 成绩管理

zhangjie 8 meses atrás
pai
commit
0ca2d4fbb9

+ 7 - 0
src/components/ImportFile.vue

@@ -175,6 +175,13 @@ export default {
         : true;
     },
     handleFileChange(file) {
+      if (file.status === "ready") {
+        this.res = {
+          success: true,
+          message: "",
+        };
+      }
+
       this.fileList = [file];
     },
     handleFileRemove(file, fileList) {

+ 5 - 5
src/modules/target/components/target-score/DetailTargetScore.vue

@@ -56,16 +56,16 @@ export default {
   data() {
     return {
       modalIsShow: false,
-      curTab: "TargetScoreNormal",
+      curTab: "TargetScoreEnd",
       tabs: [
-        {
-          name: "平时成绩管理",
-          val: "TargetScoreNormal",
-        },
         {
           name: "期末成绩管理",
           val: "TargetScoreEnd",
         },
+        {
+          name: "平时成绩管理",
+          val: "TargetScoreNormal",
+        },
       ],
     };
   },

+ 0 - 1
src/modules/target/components/target-score/TargetScoreEnd.vue

@@ -1,7 +1,6 @@
 <template>
   <div class="end-score-manage">
     <div class="part-box part-box-pad box-justify">
-      <p></p>
       <div>
         <el-button
           type="success"

+ 2 - 2
src/modules/target/components/target-score/TargetScoreNormal.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="normal-score-manage">
     <div class="part-box part-box-pad box-justify">
-      <p>请根据权重管理里权重项导入相应的平时成绩</p>
+      <!-- <p>请根据权重管理里权重项导入相应的平时成绩</p> -->
       <div>
         <el-button type="success" @click="toImport">导入平时成绩</el-button>
       </div>
@@ -158,7 +158,7 @@ export default {
   },
   async mounted() {
     this.filter = this.$objAssign(this.filter, this.course);
-    // this.getEvaluation();
+    this.getEvaluation();
     await this.toPage(1);
   },
   methods: {

+ 24 - 21
src/modules/target/components/target-statistics/DetailTargetStatistics.vue

@@ -33,7 +33,7 @@
           type="primary"
           :loading="downloading"
           icon="el-icon-document-checked"
-          @click="toSave"
+          @click="toSave(false)"
           >保存报告</el-button
         >
         <el-button class="btn-back" @click="cancel">
@@ -495,7 +495,6 @@ export default {
       targetColumnCounts: [],
       studentScoreTable: [],
       courseSuggest: [],
-      targetSuggestsMap: {},
       downloading: false,
     };
   },
@@ -544,11 +543,25 @@ export default {
       this.commonInfo = data.commonInfo;
       this.courseBasicInfo = data.courseBasicInfo;
 
+      const courseSuggest = data.courseSuggest
+        ? JSON.parse(data.courseSuggest)
+        : [];
+
+      const targetSuggestsMap = {};
+      courseSuggest.forEach((item) => {
+        targetSuggestsMap[item.targetId] = {
+          finishPoints: item.finishPoints,
+          requirementPoints: item.requirementPoints,
+          courseSuggest: item.courseSuggest,
+        };
+      });
+      this.targetSuggestsMap = targetSuggestsMap;
+
       const courseTargetScatterMap = data.courseTargetScatterMap || {};
 
       this.courseSuggest = data.courseEvaluationResultInfo.targetList.map(
         (target) => {
-          const suggest = this.targetSuggestsMap[target.targetId] || {};
+          const suggest = targetSuggestsMap[target.targetId] || {};
           const finishPoints = suggest.finishPoints || "";
           const requirementPoints = suggest.requirementPoints || "";
           const courseSuggest = suggest.courseSuggest || "";
@@ -606,9 +619,15 @@ export default {
         paperNumber: this.course.paperNumber,
       });
       this.dataList = data || [];
-      this.curReportId = this.dataList[0].id;
+      if (!data.length) return;
 
-      this.reportChange();
+      let index = 0;
+      if (this.curReportId) {
+        index = this.dataList.findIndex((item) => item.id === this.curReportId);
+        index = index === -1 ? 0 : index;
+      }
+      this.curReportId = this.dataList[index].id;
+      this.buildData(this.dataList[index]);
     },
     async reportChange() {
       this.resetData();
@@ -618,22 +637,6 @@ export default {
       );
       if (!rowData) return;
 
-      const courseSuggest = this.courseSuggest.length
-        ? this.courseSuggest
-        : rowData.courseSuggest
-        ? JSON.parse(rowData.courseSuggest)
-        : [];
-
-      const targetSuggestsMap = {};
-      courseSuggest.forEach((item) => {
-        targetSuggestsMap[item.targetId] = {
-          finishPoints: item.finishPoints,
-          requirementPoints: item.requirementPoints,
-          courseSuggest: item.courseSuggest,
-        };
-      });
-      this.targetSuggestsMap = targetSuggestsMap;
-
       this.buildData(rowData);
     },
     async checkChange() {