瀏覽代碼

feat: 达成度接口调试

zhangjie 9 月之前
父節點
當前提交
98f1932464

+ 17 - 0
src/assets/styles/base.scss

@@ -469,6 +469,23 @@ body {
   }
 }
 
+.btn-back.el-button {
+  height: 30px;
+  padding: 4px 10px;
+  line-height: 20px;
+  background: none;
+  border: 1px solid #ddd;
+  border-radius: 8px;
+  font-size: 14px;
+  font-weight: 500;
+  color: #606266;
+
+  &:hover {
+    color: $--color-danger;
+    border-color: $--color-danger;
+  }
+}
+
 .btn-white {
   background-color: #fff !important;
   color: #999 !important;

+ 3 - 3
src/assets/styles/element-ui-costom.scss

@@ -22,12 +22,12 @@
       .el-dialog__headerbtn {
         top: 8px;
         width: auto;
-        height: 32px;
-        padding: 5px 10px;
+        height: 30px;
+        padding: 4px 10px;
         line-height: 20px;
         background: none;
         border: 1px solid #ddd;
-        border-radius: 5px;
+        border-radius: 8px;
         font-size: 14px;
         font-weight: 500;
         color: #606266;

+ 7 - 4
src/components/base/GradeSelect.vue

@@ -9,9 +9,9 @@
   >
     <el-option
       v-for="item in optionList"
-      :key="item"
-      :value="item"
-      :label="`${item}级`"
+      :key="item.code"
+      :value="item.name"
+      :label="item.name"
     >
     </el-option>
   </el-select>
@@ -47,7 +47,10 @@ export default {
     getOptions() {
       const options = [];
       for (let i = 24; i < 31; i++) {
-        options.push(i);
+        options.push({
+          name: `${i}级`,
+          code: i,
+        });
       }
       this.optionList = options;
     },

+ 1 - 1
src/modules/base/views/ProfessionalManage.vue

@@ -31,7 +31,7 @@
         <el-button
           v-if="checkPrivilege('button', 'add')"
           type="primary"
-          icon="el-icon-add"
+          icon="el-icon-circle-plus-outline"
           @click="toAdd"
           >新增</el-button
         >

+ 7 - 3
src/modules/target/api.js

@@ -216,9 +216,13 @@ export const targetStatisticsReport = (datas) => {
   });
 };
 export const targetStatisticsNormalScoreExport = (datas) => {
-  return $postParam("/api/admin/course/degree/report/export", datas, {
-    responseType: "blob",
-  });
+  return $postParam(
+    "/api/admin/course/degree/report/usual_score/export",
+    datas,
+    {
+      responseType: "blob",
+    }
+  );
 };
 export const targetStatisticsChangeCheck = (datas) => {
   return $postParam("/api/admin/course/degree/report/change", datas);

+ 31 - 16
src/modules/target/components/target-statistics/DetailTargetStatistics.vue

@@ -18,16 +18,27 @@
         <el-button
           type="primary"
           :loading="downloading"
+          icon="el-icon-download"
           @click="toExportNormalScore"
           >导出平时成绩</el-button
         >
-        <el-button type="primary" :loading="downloading" @click="toSave"
-          >保存报告</el-button
-        >
-        <el-button type="primary" :loading="downloading" @click="toExport"
+        <el-button
+          type="primary"
+          :loading="downloading"
+          icon="el-icon-download"
+          @click="toExport"
           >导出报告</el-button
         >
-        <el-button type="danger" @click="cancel">退出</el-button>
+        <el-button
+          type="primary"
+          :loading="downloading"
+          icon="el-icon-document-checked"
+          @click="toSave"
+          >保存报告</el-button
+        >
+        <el-button class="btn-back" @click="cancel">
+          返回<i class="el-icon-arrow-right"></i>
+        </el-button>
       </div>
     </div>
     <div v-if="modalIsShow">
@@ -355,7 +366,7 @@
       </div>
       <div class="part-box part-box-pad">
         <div
-          v-for="item in targetSuggests"
+          v-for="item in courseSuggest"
           :key="item.targetId"
           class="target-suggest mb-4"
         >
@@ -453,7 +464,7 @@ export default {
       courseTargets: [],
       targetColumnCounts: [],
       studentScoreTable: [],
-      targetSuggests: [],
+      courseSuggest: [],
       downloading: false,
     };
   },
@@ -479,7 +490,7 @@ export default {
       this.clearSetTs();
 
       this.addSetTime(async () => {
-        await this.toSave();
+        await this.toSave(true);
         this.openAutoSave();
       }, 1 * 60 * 1000);
     },
@@ -495,25 +506,25 @@ export default {
       this.courseTargets = [];
       this.targetColumnCounts = [];
       this.studentScoreTable = [];
-      this.targetSuggests = [];
+      this.courseSuggest = [];
       this.downloading = false;
     },
     buildData(data) {
       this.commonInfo = data.commonInfo;
       this.courseBasicInfo = data.courseBasicInfo;
 
-      const targetSuggests = data.targetSuggests
-        ? JSON.stringify(data.targetSuggests)
+      const courseSuggest = data.courseSuggest
+        ? JSON.parse(data.courseSuggest)
         : [];
       const targetSuggestsMap = {};
-      targetSuggests.forEach((item) => {
+      courseSuggest.forEach((item) => {
         targetSuggestsMap[item.targetId] = {
           finishPoints: item.finishPoints,
           requirementPoints: item.requirementPoints,
           courseSuggest: item.courseSuggest,
         };
       });
-      this.targetSuggests = data.courseEvaluationResultInfo.targetList.map(
+      this.courseSuggest = data.courseEvaluationResultInfo.targetList.map(
         (target) => {
           const suggest = targetSuggestsMap[target.targetId] || {};
           const finishPoints = suggest.finishPoints || "";
@@ -956,7 +967,7 @@ export default {
         }
       }
     },
-    async toSave() {
+    async toSave(autoSave = false) {
       if (this.downloading) return;
       this.downloading = true;
 
@@ -964,13 +975,17 @@ export default {
         cultureProgramId: this.course.cultureProgramId,
         courseId: this.course.courseId,
         ...this.courseBasicInfo,
-        targetSuggests: JSON.stringify(this.targetSuggests),
+        courseSuggest: JSON.stringify(this.courseSuggest),
       }).catch(() => {});
       this.downloading = false;
 
       if (!res) return;
       this.$message.success("保存成功!");
-      this.initData();
+      if (autoSave) {
+        this.openAutoSave();
+      } else {
+        this.initData();
+      }
     },
     async toExport() {
       if (this.downloading) return;

+ 2 - 1
src/modules/target/components/training-plan/ModifyTrainingPlan.vue

@@ -27,6 +27,7 @@
         <professional-select
           v-model="modalForm.professionalId"
           placeholder="所属专业"
+          class="width-full"
         ></professional-select>
       </el-form-item>
     </el-form>
@@ -49,7 +50,7 @@ import GradeSelect from "@/components/base/GradeSelect.vue";
 const initModalForm = {
   id: null,
   professionalId: "",
-  grade: 25,
+  grade: "",
 };
 
 export default {

+ 4 - 1
src/modules/target/components/training-plan/TrainingPlanCourse.vue

@@ -3,7 +3,10 @@
     <div class="part-box part-box-pad">
       <div class="box-justify mb-2">
         <div></div>
-        <el-button type="primary" icon="el-icon-add" @click="toAdd"
+        <el-button
+          type="primary"
+          icon="el-icon-circle-plus-outline"
+          @click="toAdd"
           >选择课程</el-button
         >
       </div>

+ 4 - 1
src/modules/target/components/training-plan/TrainingPlanRequirement.vue

@@ -3,7 +3,10 @@
     <div class="part-box part-box-pad">
       <div class="box-justify mb-2">
         <div></div>
-        <el-button type="primary" icon="el-icon-add" @click="toEditPredict"
+        <el-button
+          type="primary"
+          icon="el-icon-circle-plus-outline"
+          @click="toEditPredict"
           >预期值</el-button
         >
       </div>

+ 4 - 1
src/modules/target/components/training-plan/TrainingPlanTarget.vue

@@ -21,7 +21,10 @@
     <div class="part-box part-box-pad">
       <div class="box-justify mb-2">
         <div></div>
-        <el-button type="primary" icon="el-icon-add" @click="toAdd"
+        <el-button
+          type="primary"
+          icon="el-icon-circle-plus-outline"
+          @click="toAdd"
           >新增</el-button
         >
       </div>

+ 1 - 1
src/modules/target/views/CourseOutlineManage.vue

@@ -46,7 +46,7 @@
         <el-button
           v-if="checkPrivilege('button', 'Save')"
           type="primary"
-          icon="el-icon-add"
+          icon="el-icon-circle-plus-outline"
           @click="toAdd"
           >新增</el-button
         >

+ 1 - 1
src/modules/target/views/TrainingPlanManage.vue

@@ -30,7 +30,7 @@
         <el-button
           v-if="checkPrivilege('button', 'add')"
           type="primary"
-          icon="el-icon-add"
+          icon="el-icon-circle-plus-outline"
           @click="toAdd"
           >新增</el-button
         >