From a03da1bba9bde6f75f12a541aac51d6a60cff52f Mon Sep 17 00:00:00 2001 From: Kane Wang Date: Wed, 22 Mar 2023 17:07:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=B8=80=E4=B8=AA=E9=80=80?= =?UTF-8?q?=E5=87=BA=E6=A1=8C=E9=9D=A2=E9=9C=B8=E5=B1=8F=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- code/web/task_schedule/src/router/index.js | 16 ++++++++-------- code/web/task_schedule/src/utils/account.ts | 16 +++++++++++++++- .../task_schedule/src/utils/api/localStorage.ts | 7 ++++++- .../src/views/DesktopArchievement.vue | 15 ++++++++++++++- code/web/task_schedule/src/views/Login.vue | 4 ++++ code/web/task_schedule/tsconfig.json | 4 ++-- package-lock.json | 15 +++++++++++++++ package.json | 3 +++ 8 files changed, 67 insertions(+), 13 deletions(-) diff --git a/code/web/task_schedule/src/router/index.js b/code/web/task_schedule/src/router/index.js index 408996f..0d50f62 100644 --- a/code/web/task_schedule/src/router/index.js +++ b/code/web/task_schedule/src/router/index.js @@ -3,9 +3,9 @@ * @Date: 2023-02-28 01:22:48 * @LastEditors: Kane * @FilePath: /task_schedule/src/router/index.js - * @Description: - * - * Copyright (c) ${2022} by Kane, All Rights Reserved. + * @Description: + * + * Copyright (c) ${2022} by Kane, All Rights Reserved. */ import { createRouter, createWebHashHistory } from "vue-router"; @@ -21,19 +21,19 @@ const routes = [ path: "/login", name: "Login", hidden: true, - component: () => import("@/views/Login.vue"), + component: async () => await import( "@/views/Login.vue" ), }, { path: "/public", name: "Public", hidden: true, - component: () => import("@/views/Public.vue"), + component: async () => await import( "@/views/Public.vue" ), }, { path: "/desktop_archievement", name: "DesktopArchievement", hidden: true, - component: () => import("@/views/DesktopArchievement.vue"), + component: async () => await import( "@/views/DesktopArchievement.vue" ), }, ]; @@ -44,10 +44,10 @@ const router = createRouter( } ); -//路由守卫 +// 路由守卫 // router.beforeEach((to) => // { // }); -export { router }; \ No newline at end of file +export { router }; diff --git a/code/web/task_schedule/src/utils/account.ts b/code/web/task_schedule/src/utils/account.ts index a914b50..b43113a 100644 --- a/code/web/task_schedule/src/utils/account.ts +++ b/code/web/task_schedule/src/utils/account.ts @@ -11,6 +11,13 @@ import { type AxiosResponse } from "axios"; import { service as instance } from "./api/request.js"; import { API_URL } from "./api/config.js"; +import { cleanStaffInfo } from "./api/localStorage.js"; + +// @ts-expect-error 之后再补充类型文件 +import { router } from "../router/index.js"; +// declare const require: any; +// const { router, } = require( "../router/index.js" ); + interface LoginInfo { p13account: string; @@ -28,4 +35,11 @@ async function login( data: LoginInfo ): Promise> ); } -export { type LoginInfo, login }; +function logout(): void +{ + cleanStaffInfo(); + + void router.push( "/login" ); +} + +export { type LoginInfo, login, logout }; diff --git a/code/web/task_schedule/src/utils/api/localStorage.ts b/code/web/task_schedule/src/utils/api/localStorage.ts index 6514a89..fd3e257 100644 --- a/code/web/task_schedule/src/utils/api/localStorage.ts +++ b/code/web/task_schedule/src/utils/api/localStorage.ts @@ -43,4 +43,9 @@ function saveStaffInfo( stuff: StaffInfo ): void window.localStorage.setItem( STUFF_ITEM, json ); }; -export { loadStaffInfo, saveStaffInfo }; +function cleanStaffInfo(): void +{ + window.localStorage.removeItem( STUFF_ITEM ); +} + +export { loadStaffInfo, saveStaffInfo, cleanStaffInfo }; diff --git a/code/web/task_schedule/src/views/DesktopArchievement.vue b/code/web/task_schedule/src/views/DesktopArchievement.vue index d9d7dc3..63da59d 100644 --- a/code/web/task_schedule/src/views/DesktopArchievement.vue +++ b/code/web/task_schedule/src/views/DesktopArchievement.vue @@ -11,6 +11,8 @@
对标先进 比学赶超 @@ -63,6 +65,7 @@ import ArchievementChart from "@/components/ArchievementChartComponent.vue"; import ArchievementCompleteRateComponent from "@/components/ArchievementCompleteRateComponent.vue"; import HonorListComponent from "@/components/HonorListComponent.vue"; import DishonorListComponent from "@/components/DishonorListComponent.vue"; +import { logout } from "@/utils/account.js"; export default { name: "DesktopArchievement", @@ -116,6 +119,15 @@ export default { setTimeout(() => { ui.showUI = true; }, 0); }; + // 退出桌面霸屏 + const logoutDesktopArchievement = () => + { + console.log("111"); + logout(); + + // router.push("/login"); + }; + // 检查存储的登录信息,不存在则返回登录页面 if (staffInfo.P13UID === "") { @@ -133,7 +145,7 @@ export default { queryDepartmentArchievement(renderData); }); - return { ui, getTotalArchievement, renderData, }; + return { ui, getTotalArchievement, renderData, logoutDesktopArchievement, }; }, }; @@ -158,6 +170,7 @@ export default { .center-wrapper { //中间部分 width: 50%; + min-width: 780px; display: flex; flex-direction: column; align-items: stretch; diff --git a/code/web/task_schedule/src/views/Login.vue b/code/web/task_schedule/src/views/Login.vue index cfdb858..95f22c4 100644 --- a/code/web/task_schedule/src/views/Login.vue +++ b/code/web/task_schedule/src/views/Login.vue @@ -195,6 +195,10 @@ export default { justify-content: start; align-items: center; + background-image: url("@/assets/img/bg/bg_01.jpg"); + background-attachment: fixed; + background-size: contain; + span { font-size: 30px; color: red; diff --git a/code/web/task_schedule/tsconfig.json b/code/web/task_schedule/tsconfig.json index c42450d..dd548da 100644 --- a/code/web/task_schedule/tsconfig.json +++ b/code/web/task_schedule/tsconfig.json @@ -38,8 +38,8 @@ "src/**/*.tsx", "src/**/*.vue", "*.d.ts", - "src/router/index.js", - "src/router/index.js", + "src/router/index.ts", + "src/router/index.ts", ], "exclude": [ "./node_modules", diff --git a/package-lock.json b/package-lock.json index 5bd864d..531fba7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,6 +6,9 @@ "": { "dependencies": { "vuex": "^4.0.2" + }, + "devDependencies": { + "@types/node": "^18.15.5" } }, "node_modules/@babel/parser": { @@ -20,6 +23,12 @@ "node": ">=6.0.0" } }, + "node_modules/@types/node": { + "version": "18.15.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.15.5.tgz", + "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==", + "dev": true + }, "node_modules/@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", @@ -247,6 +256,12 @@ "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", "peer": true }, + "@types/node": { + "version": "18.15.5", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.15.5.tgz", + "integrity": "sha512-Ark2WDjjZO7GmvsyFFf81MXuGTA/d6oP38anyxWOL6EREyBKAxKoFHwBhaZxCfLRLpO8JgVXwqOwSwa7jRcjew==", + "dev": true + }, "@vue/compiler-core": { "version": "3.2.47", "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz", diff --git a/package.json b/package.json index 099c41a..3f044a6 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,8 @@ { "dependencies": { "vuex": "^4.0.2" + }, + "devDependencies": { + "@types/node": "^18.15.5" } }