Browse Source

fix: 一堆bug

zhangjie 11 tháng trước cách đây
mục cha
commit
ee4c8822f8

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

@@ -581,6 +581,12 @@ body {
 .tips-success {
   color: $--color-success;
 }
+.tips-markedness {
+  font-size: 14px;
+  line-height: 20px;
+  color: $--color-danger;
+  font-weight: bold;
+}
 .tips-icon {
   display: inline-block;
   vertical-align: middle;

+ 7 - 5
src/modules/admin/views/Admin.vue

@@ -81,7 +81,7 @@
     <reset-pwd
       ref="ResetPwd"
       :user-info="userInfo"
-      @modified="resetPwdModified"
+      @modified="logoutAction"
     ></reset-pwd>
   </div>
 </template>
@@ -91,6 +91,7 @@ import localNavs from "@/constants/adminNavs";
 import { SYS_ADMIN_NAME } from "@/constants/enumerate";
 import { logout } from "@/modules/login/api";
 import ResetPwd from "../../base/components/ResetPwd";
+import { logoutHandle } from "@/plugins/logout";
 
 export default {
   name: "home",
@@ -200,19 +201,20 @@ export default {
         type: "warning",
       })
         .then(() => {
-          logout();
+          this.logoutAction();
         })
         .catch(() => {});
     },
+    async logoutAction() {
+      await logout().catch(() => {});
+      logoutHandle();
+    },
     toSelectSchool() {
       this.$router.push({ name: "SelectSchool" });
     },
     toResetPwd() {
       this.$refs.ResetPwd.open();
     },
-    resetPwdModified() {
-      logout();
-    },
   },
 };
 </script>

+ 5 - 0
src/modules/base/components/course-simple/ModifyCourseSimple.vue

@@ -10,6 +10,11 @@
     append-to-body
     @open="visibleChange"
   >
+    <div class="tips-markedness mb-2">
+      <p>
+        请先选择开课学院后点击查询按钮,在查询结果列表里勾上需要添加的课程,再点击确认按钮。
+      </p>
+    </div>
     <!-- select -->
     <div class="tab-body">
       <select-simple-course

+ 1 - 1
src/modules/exam/components/createExamAndPrintTask/InfoPrintTask.vue

@@ -353,7 +353,7 @@ export default {
           this.$message.error("请选择印刷室!");
           return Promise.reject();
         }
-        if (!this.modalForm.classId) {
+        if (!this.modalForm.teachClazzName) {
           this.$message.error("请选择班级!");
           return Promise.reject();
         }

+ 11 - 0
src/modules/mark/views/ScoreManage.vue

@@ -137,6 +137,14 @@
         >
         </el-pagination>
       </div>
+      <div v-if="total === 0" class="tips-markedness">
+        <p>
+          如果成绩查询菜单下没有数据,请先在评卷管理模块—评卷管理菜单下,结束评卷
+          <el-button type="text" class="btn-primary ml-2" @click="toMarkManage"
+            >点击跳转评卷管理</el-button
+          >
+        </p>
+      </div>
     </div>
 
     <!-- ScoreClassDetail -->
@@ -188,6 +196,9 @@ export default {
       this.curRow = row;
       this.$refs.ScoreClassDetail.open();
     },
+    toMarkManage() {
+      this.$router.push({ name: "MarkManage" });
+    },
   },
 };
 </script>

+ 6 - 0
src/modules/target/components/training-plan/AddTrainingPlanCourse.vue

@@ -9,6 +9,12 @@
     append-to-body
     @opened="visibleChange"
   >
+    <div class="tips-markedness mb-2">
+      <p>
+        请先选择开课学院后点击查询按钮,在查询结果列表里勾上需要添加的课程,再点击确认按钮。
+      </p>
+      <p>已经被添加的课程,不允许重复添加,复选框为不允许勾选状态!!!</p>
+    </div>
     <el-form ref="FilterForm" label-position="left" inline label-width="0px">
       <el-form-item>
         <org-select v-model="filter.orgId" placeholder="开课学院"></org-select>

+ 11 - 9
src/modules/target/views/TargetScoreManage.vue

@@ -8,9 +8,7 @@
               v-model="filter.cultureProgramId"
               placeholder="培养方案"
               :clearable="false"
-              default-select
               @change="trainingPlanChange"
-              @default-selected="defaultFilterChange('cultureProgramId')"
             ></training-plan-select>
           </el-form-item>
           <el-form-item label="学期:">
@@ -19,8 +17,6 @@
               placeholder="学期"
               :clearable="false"
               style="width: 220px"
-              default-select
-              @default-selected="defaultFilterChange('semesterId')"
             ></semester-select>
           </el-form-item>
           <el-form-item label="课程:">
@@ -51,6 +47,14 @@
           width="70"
           :index="indexMethod"
         ></el-table-column>
+        <el-table-column
+          prop="cultureProgramName"
+          label="培养方案"
+          min-width="160"
+        >
+        </el-table-column>
+        <el-table-column prop="semesterName" label="学期" min-width="160">
+        </el-table-column>
         <el-table-column label="课程(代码)" min-width="300">
           <template slot-scope="scope">
             {{ scope.row.courseName | defaultFieldFilter }}({{
@@ -125,6 +129,9 @@ export default {
       defaultKeys: [],
     };
   },
+  mounted() {
+    this.search();
+  },
   methods: {
     async getList() {
       if (!this.checkPrivilege("list", "list")) return;
@@ -143,11 +150,6 @@ export default {
       this.getList();
     },
     search() {
-      if (!this.filter.cultureProgramId || !this.filter.semesterId) {
-        this.$message.error("培养方案和学期必选!");
-        return;
-      }
-
       this.toPage(1);
     },
     trainingPlanChange(val) {

+ 3 - 4
src/modules/target/views/TargetStatistics.vue

@@ -8,8 +8,6 @@
               v-model="filter.cultureProgramId"
               placeholder="培养方案"
               :clearable="false"
-              default-select
-              @default-selected="search"
               @change="trainingPlanChange"
             ></training-plan-select>
           </el-form-item>
@@ -123,12 +121,13 @@ export default {
       curRow: {},
     };
   },
+  mounted() {
+    this.search();
+  },
   methods: {
     async getList() {
       if (!this.checkPrivilege("list", "list")) return;
 
-      if (!this.filter.cultureProgramId) return;
-
       const datas = {
         ...this.filter,
         pageNumber: this.current,

+ 4 - 24
src/plugins/axios.js

@@ -1,8 +1,8 @@
 import axios from "axios";
 import { Message, MessageBox, Notification } from "element-ui";
-import router from "../router";
 import Vue from "vue";
 import qs from "qs";
+import { logoutHandle } from "./logout";
 
 import GLOBAL from "../config";
 import { getAuthorization } from "../plugins/crypto";
@@ -10,7 +10,7 @@ import { PLATFORM, DEVICE_ID } from "../constants/app";
 import { initSyncTime, fetchTime } from "../plugins/syncServerTime";
 import { objTypeOf } from "./utils";
 
-const logoutUrl = "api/admin/common/logout";
+const unNoticeUrls = ["api/admin/common/logout"];
 
 // const IS_DEV = false;
 // axios interceptors
@@ -147,9 +147,8 @@ const errorCallback = (error) => {
 const errorDataCallback = (response) => {
   if (objTypeOf(response.data) === "blob") return response.data;
 
-  if (response.config.url.includes(logoutUrl)) {
-    logoutHandle();
-    return;
+  if (unNoticeUrls.some((url) => response.config.url.includes(url))) {
+    return response.data;
   }
 
   const error = response.data;
@@ -194,25 +193,6 @@ const errorDataCallback = (response) => {
   return error;
 };
 
-function logoutHandle() {
-  const returnUrl = Vue.ls.get("returnUrl");
-  if (returnUrl) {
-    window.location.href = returnUrl;
-    return;
-  }
-
-  Vue.ls.clear();
-  const paramDomainCode = window.sessionStorage.getItem("paramDomainCode");
-  const routeDomainCode = window.sessionStorage.getItem("routeDomainCode");
-  if (paramDomainCode) {
-    router.push({ name: "Login", query: { code: paramDomainCode } });
-  } else if (routeDomainCode) {
-    router.push({ name: "Login", params: { code: routeDomainCode } });
-  } else {
-    router.push({ name: "Login" });
-  }
-}
-
 /**
  * response format
  *  {

+ 21 - 0
src/plugins/logout.js

@@ -0,0 +1,21 @@
+import router from "../router";
+import Vue from "vue";
+
+export function logoutHandle() {
+  const returnUrl = Vue.ls.get("returnUrl");
+  if (returnUrl) {
+    window.location.href = returnUrl;
+    return;
+  }
+
+  Vue.ls.clear();
+  const paramDomainCode = window.sessionStorage.getItem("paramDomainCode");
+  const routeDomainCode = window.sessionStorage.getItem("routeDomainCode");
+  if (paramDomainCode) {
+    router.push({ name: "Login", query: { code: paramDomainCode } });
+  } else if (routeDomainCode) {
+    router.push({ name: "Login", params: { code: routeDomainCode } });
+  } else {
+    router.push({ name: "Login" });
+  }
+}

+ 6 - 4
src/views/Home.vue

@@ -114,7 +114,7 @@
     <reset-pwd
       :user-info="userInfo"
       ref="ResetPwd"
-      @modified="resetPwdModified"
+      @modified="logoutAction"
     ></reset-pwd>
     <!-- 切换学校 -->
     <switch-school-dialog v-if="hasMoreSchool" ref="SwitchSchoolDialog">
@@ -131,6 +131,7 @@ import { SYS_ADMIN_NAME } from "@/constants/enumerate";
 import staticMenu from "../constants/staticMenu";
 import SwitchSchoolDialog from "../modules/login/components/SwitchSchoolDialog.vue";
 import ViewFooter from "../components/ViewFooter.vue";
+import { logoutHandle } from "../plugins/logout";
 
 const HOME_PAGE_ROUTE = "HomePage";
 
@@ -416,7 +417,7 @@ export default {
         type: "warning",
       })
         .then(() => {
-          logout();
+          this.logoutAction();
         })
         .catch(() => {});
     },
@@ -430,8 +431,9 @@ export default {
       if (this.IS_SUPER_ADMIN) return;
       this.$refs.ResetPwd.open();
     },
-    resetPwdModified() {
-      logout();
+    async logoutAction() {
+      await logout().catch(() => {});
+      logoutHandle();
     },
     // other
     getSubMenus(menu) {