提交 a69cba3a authored 作者: Your Name's avatar Your Name

fix(卫士通): 单点登录功能

上级 7021f4a3
<template> <template>
<div class="app-container">
<!-- <div class="main-warpper">
<router-view> </router-view>
</div> -->
<router-view> </router-view> <router-view> </router-view>
</div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent } from "vue"; import { defineComponent } from "vue";
...@@ -27,18 +30,4 @@ export default defineComponent({ ...@@ -27,18 +30,4 @@ export default defineComponent({
font-family: "tabTypeFace"; font-family: "tabTypeFace";
src: url("../public/assets/tabTypeFace.TTF"); src: url("../public/assets/tabTypeFace.TTF");
} }
#app {
box-sizing: border-box;
}
.app-container {
display: flex;
flex-direction: column;
height: 100%;
padding: 20px;
background: #f5f9fb;
min-width: 1920px;
box-sizing: border-box;
}
</style> </style>
import { AxiosResponse } from "axios" import { AxiosResponse } from "axios"
export default (response: AxiosResponse) => { export default (response: AxiosResponse) => {
const { data } = response; const { data } = response;
// console.log("---", response)
return response.data return response.data
} }
\ No newline at end of file
...@@ -76,15 +76,14 @@ ...@@ -76,15 +76,14 @@
<!-- 年度 --> <!-- 年度 -->
<el-col class="year-items"> <el-col class="year-items">
<div class="years" align="middle" > <div class="years" align="middle">
<span <span
v-for="(item, index) in years" v-for="(item, index) in years"
:key="item.label" :key="item.label"
:class="{ :class="{
active: index === curYearIndex, active: index === curYearIndex,
disabed: item.disabed disabed: item.disabed,
}" }"
@click="yearHandle(item, index)" @click="yearHandle(item, index)"
>{{ item.label }}</span >{{ item.label }}</span
> >
...@@ -98,7 +97,6 @@ ...@@ -98,7 +97,6 @@
import { defineComponent } from "vue"; import { defineComponent } from "vue";
import { getNavList } from "./service"; import { getNavList } from "./service";
import { ArrowLeftBold, CaretRight } from "@element-plus/icons"; import { ArrowLeftBold, CaretRight } from "@element-plus/icons";
import { routes } from "@/route";
const ENV_PARAMS = import.meta.env; // 这是Vite官方指导获取环境变量的方式 const ENV_PARAMS = import.meta.env; // 这是Vite官方指导获取环境变量的方式
...@@ -118,17 +116,17 @@ export default defineComponent({ ...@@ -118,17 +116,17 @@ export default defineComponent({
{ {
label: "2020年第四季度", label: "2020年第四季度",
value: "typeOne", value: "typeOne",
disabed: true disabed: true,
}, },
{ {
label: "2021年第二季度", label: "2021年第二季度",
value: "typeTwo", value: "typeTwo",
disabed: false disabed: false,
}, },
{ {
label: "2021年第三季度", label: "2021年第三季度",
value: "typeThree", value: "typeThree",
disabed: false disabed: false,
}, },
], ],
curYearIndex: 1, curYearIndex: 1,
...@@ -141,12 +139,15 @@ export default defineComponent({ ...@@ -141,12 +139,15 @@ export default defineComponent({
// @ts-ignore // @ts-ignore
this.secodndList = navList[this.activeIndex]?.children || []; this.secodndList = navList[this.activeIndex]?.children || [];
this.init();
}, },
watch: { watch: {
$route() { $route() {
const { meta, path } = this.$route; const { meta, path } = this.$route;
const { VITE_SYSTEM_NAMR = "创新示范绩效评价" } = ENV_PARAMS; const { VITE_SYSTEM_NAMR = "创新示范绩效评价" } = ENV_PARAMS;
const routHistroy = []; const routHistroy = [];
meta.person && meta.person &&
routHistroy.push({ routHistroy.push({
path: meta.person.path, path: meta.person.path,
...@@ -166,9 +167,24 @@ export default defineComponent({ ...@@ -166,9 +167,24 @@ export default defineComponent({
]; ];
}, },
}, },
methods: { methods: {
init() {
const { meta, path } = this.$route;
const { VITE_SYSTEM_NAMR = "创新示范绩效评价" } = ENV_PARAMS;
this.curRouteHistoy = [
{
path: "/",
label: VITE_SYSTEM_NAMR,
},
{
path,
label: meta.label,
},
];
},
yearHandle(item: {}, index: Number) { yearHandle(item: {}, index: Number) {
if(item.disabed) return; if (item.disabed) return;
this.$store.commit("SET_CUR_DATA_TYPE", item.value); this.$store.commit("SET_CUR_DATA_TYPE", item.value);
this.curYearIndex = index; this.curYearIndex = index;
...@@ -337,7 +353,7 @@ export default defineComponent({ ...@@ -337,7 +353,7 @@ export default defineComponent({
color: #4198ff; color: #4198ff;
} }
} }
.disabed{ .disabed {
// background:#f5f5f5 !important; // background:#f5f5f5 !important;
cursor: not-allowed !important; cursor: not-allowed !important;
color: #ccc !important; color: #ccc !important;
......
import {Router} from "vue-router" import { Router } from "vue-router"
import { TOKEN_KEY } from "@/utils/enum/token.ts"; import { TOKEN_KEY } from "@/utils/enum/token.ts";
import { BaseRouteRouter } from "./index"
const whiteRoutes = ["/login", "/sso"]
export default (router: Router) => { export default (router: Router) => {
const token = localStorage.getItem(TOKEN_KEY) const token = localStorage.getItem(TOKEN_KEY)
// router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
// // if(!token) { if (whiteRoutes.includes(to.path)) {
// // to.path === "/login" ? next() : router.replace("/login"); return next()
// // }else { }
// // next()
// // } if (!token) {
// next() router.replace(BaseRouteRouter.LOGIN);
// }) } else {
next()
}
})
return router return router
} }
\ No newline at end of file
<template> <template>
<div class="main-warpper">
<AppHead /> <AppHead />
<div class="main-warpper">
<router-view> </router-view> <router-view> </router-view>
</div> </div>
</template> </template>
<script lang="ts"> <script lang="ts">
import { defineComponent } from "vue"; import { defineComponent } from "vue";
import AppHead from "@/layout/head.vue";
/** /**
* 数据中心模块 * 数据中心模块
*/ */
export default defineComponent({ export default defineComponent({
components: {
AppHead,
},
setup() {}, setup() {},
}); });
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.main-warpper { .main-warpper {
min-width: 1920px;
flex: 1; flex: 1;
box-sizing: border-box; box-sizing: border-box;
padding: 20px;
} }
</style> </style>
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
<div class="login"> <div class="login">
<div class="main"> <div class="main">
<!-- logo --> <!-- logo -->
<img src="../../static/img/img1.png" alt class="img1" /> <img src="../../assets/img/img1.png" alt class="img1" />
<!-- 中间插图 --> <!-- 中间插图 -->
<img src="../../static/img/img2.png" alt class="img2" /> <img src="../../assets/img/img2.png" alt class="img2" />
<!-- 标题 --> <!-- 标题 -->
<h5>浙里军地一体化专题门户</h5> <h5>创新示范和绩效评价数智应用</h5>
<el-form <el-form
ref="loginForm" ref="loginForm"
:model="loginForm" :model="loginForm"
...@@ -69,10 +69,10 @@ ...@@ -69,10 +69,10 @@
</template> </template>
<script> <script>
import { getToken } from "./service";
import singleLogin from "@/utils/singleLogin/index"; import singleLogin from "@/utils/singleLogin/index";
import { TOKEN_KEY } from "@/utils/enum/token"; import { TOKEN_KEY } from "@/utils/enum/token";
import { defineComponent } from "vue"; import { defineComponent } from "vue";
import { getToken,login } from "./service";
export default defineComponent({ export default defineComponent({
name: "Login", name: "Login",
...@@ -104,7 +104,9 @@ export default defineComponent({ ...@@ -104,7 +104,9 @@ export default defineComponent({
}; };
}, },
watch: {}, watch: {},
created() {}, created() {
localStorage.removeItem(TOKEN_KEY);
},
methods: { methods: {
wstLogin() { wstLogin() {
this.wstLoading = true; this.wstLoading = true;
...@@ -141,9 +143,8 @@ export default defineComponent({ ...@@ -141,9 +143,8 @@ export default defineComponent({
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.login { .login {
background-image: url(../../static/img/login_bgi.png); background-image: url("../../assets/img/login_bg.jpg");
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
width: 100%; width: 100%;
......
...@@ -15,11 +15,7 @@ export const getToken = async () => { ...@@ -15,11 +15,7 @@ export const getToken = async () => {
*/ */
export const login = async (username: string, password: string) => { export const login = async (username: string, password: string) => {
request({ request({
url: "", url: "/user/login?username=" + username + '&password=' + password,
method: "POST", method: "POST",
data: {
username,
password
}
}) })
} }
\ No newline at end of file
<template> <template>
<div v-loading="wstLoading" class="login1"> <div v-loading="wstLoading" class="login1">
<div class="main"> <div class="main">
<img src="../assets/img/login_bg.jpg" alt class="img1" /> <img src="../../assets/img/login_bg.jpg" alt class="img1" />
</div> </div>
</div> </div>
</template> </template>
...@@ -20,7 +20,9 @@ export default { ...@@ -20,7 +20,9 @@ export default {
}, },
watch: {}, watch: {},
created() { created() {
localStorage.removeItem(TOKEN_KEY);
this.wstLogin(); this.wstLogin();
}, },
mounted() { mounted() {
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论