diff --git a/eslint.config.js b/eslint.config.js index a5be0cd..dda92f1 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -73,7 +73,7 @@ export default defineConfig([ } }, ...tseslint.config({ - extends: [...tseslint.configs.recommended], + extends: [...tseslint.configs.recommended, "plugin:prettier/recommended"], files: ["**/*.?([cm])ts", "**/*.?([cm])tsx"], rules: { "@typescript-eslint/no-redeclare": "error", diff --git a/src/utils/http/index.ts b/src/utils/http/index.ts index 2414eea..8e76bd9 100644 --- a/src/utils/http/index.ts +++ b/src/utils/http/index.ts @@ -12,11 +12,12 @@ import type { import { stringify } from "qs"; import NProgress from "../progress"; import { getToken, formatToken } from "@/utils/auth"; -import { useUserStoreHook } from "@/store/modules/user"; +import { useUserStore, useUserStoreHook } from "@/store/modules/user"; // import { string } from "vue-types"; import router from "@/router"; import { ElMessage } from "element-plus"; import { message } from "../message"; +import { store } from "@/store"; /**请求后端的地址 未配置则访问BaseURL */ const apiServiceConfig = { @@ -208,6 +209,10 @@ class PureHttp { router.push({ path: "/error/403" }); + }if (error.response?.status == 401) { + debugger; + ElMessage.warning("登录信息失效,请重新登录!"); + return useUserStore(store).logOut(); } // 所有的响应异常 区分来源为取消请求/非取消请求 return Promise.reject($error); @@ -234,14 +239,14 @@ class PureHttp { PureHttp.axiosInstance .request(config) .then((response: any) => { - if (response.code != null && response.code !== 200) { - - message(response.message, { type: "error" }); - } resolve(response); + if (response.code != null && response.code !== 200) { + message(response.message, { type: "error" }); + } + resolve(response); }) .catch(error => { if (error.status != 200) { - ElMessage.warning("请求失败" + error.message); + ElMessage.warning("请求失败: " + error.message); } reject(error); }); diff --git a/src/views/teacher/edit.vue b/src/views/teacher/edit.vue index 1cfb886..f942ee5 100644 --- a/src/views/teacher/edit.vue +++ b/src/views/teacher/edit.vue @@ -3,17 +3,23 @@ - - + + - + @@ -22,14 +28,13 @@ - - + + + + + + + @@ -45,7 +50,7 @@ >提示:任职信息所有项值必填, 如若查询不到对应班级,请先添加 - +
- + /> - + /> - + /> @@ -126,10 +128,10 @@ :rules="position.positionLevel > 3 ? ruleRequired : []" > - + /> @@ -149,10 +150,10 @@ :rules="position.positionLevel == 5 ? ruleRequired : []" > - + />
@@ -192,12 +192,20 @@ import { import PositionForm from "./positionForm.vue"; import { getenum, getenumDic } from "@/api/enum"; import { PosititonIds } from "@/api/student"; -import { ruleRequired, rulePhone } from "@/utils/rules"; +import { ruleRequired, rulePhone, ruleRequiredI } from "@/utils/rules"; import { ElMessage, FormInstance } from "element-plus"; import { ComboModel, gradeComboModel } from "@/components/hTable/hTable"; -import { Check, Delete, Edit, Message, Search, Star } from "@element-plus/icons-vue"; +import { + Check, + Delete, + Edit, + Message, + Phone, + Search, + Star, +} from "@element-plus/icons-vue"; import { de } from "element-plus/es/locales.mjs"; - +import { request } from "node_modules/axios/index.cjs"; interface FormData { id: number; account: string; @@ -416,7 +424,8 @@ const handleSubmitForm = async () => { const formData = { ...form.value, - account: form.value.phone || "", + account: form.value.account || "", + phone: form.value.phone || "", positionIds: postIdArr, }; @@ -581,6 +590,7 @@ onMounted(async () => { margin-right: 0px !important; margin-bottom: 10px !important; } + .subjectTagEnableDiv .el-select { margin-right: 5px; } @@ -594,14 +604,17 @@ onMounted(async () => { background-color: #909399; color: white; } + .classTag { color: #a3bf08 !important; background-color: #f4fbd1 !important; border-color: #f4fbd1 !important; } + .subjectTagEnableDiv { padding: 1px; } + .subjectTag { color: #eb0de4 !important; background-color: #fbd9ff !important; diff --git a/src/views/teacher/index.vue b/src/views/teacher/index.vue index 24f5d5d..262283e 100644 --- a/src/views/teacher/index.vue +++ b/src/views/teacher/index.vue @@ -6,6 +6,9 @@ + + +