'保安项目提交'

This commit is contained in:
esacpe
2025-09-22 09:01:41 +08:00
commit 21e2a12e3c
1439 changed files with 336271 additions and 0 deletions

View File

@ -0,0 +1,68 @@
<template>
<div class="app-main">
<!---带动画 并且具备组件缓存-->
<router-view v-slot="{ Component, route }">
<component :is="Component" :key="route.path" />
</router-view>
</div>
</template>
<script setup>
import { ElMessage } from "element-plus";
import { useStore } from "vuex";
import { watch } from "vue";
import { useRoute } from "vue-router";
const store = useStore();
const whiteList = ["editPassword", '/home',"/404", "401"];
/*生成title */
const getTitle = (route) => {
let title = "";
if (!route.meta) {
const pathArr = route.path.split("/");
title = pathArr[pathArr.length - 1];
} else {
title = route.meta.title;
}
return title;
};
const isTags = (path) => {
return !whiteList.includes(path);
};
const route = useRoute();
watch(route, (to, from) => {
const { fullPath, meta, name, params, path, query } = to;
if (!isTags(to.path)) return;
//并不是所有页面都需要保存;
store.commit(
"app/addTagsViewList",
{
fullPath,
meta,
name,
params,
path,
query,
title: getTitle(to)
},
{
immediate: true
}
);
if (store.getters.tagsViewList.length > 12) {
store.commit("app/removeTagsView", {
type: "index",
index: 0
});
// return false;
}
});
</script>
<style lang="scss" scoped>
@import "@/styles/transition.scss";
@import "@/assets/css/layout.scss";
@import "@/assets/css/element-plus.scss";
</style>