add footer

This commit is contained in:
lb 2023-01-12 15:56:30 +08:00
parent 8e3f2cf6a3
commit 8876e015ae
3 changed files with 20998 additions and 410 deletions

21180
package-lock.json generated

File diff suppressed because it is too large Load Diff

17
src/views/main-footer.vue Normal file
View File

@ -0,0 +1,17 @@
<template>
<div class="footerbar">
© 中建材智能自动化研究院有限公司
<!-- © {{ 'copyright.company' | i18nFilter }} -->
</div>
</template>
<style lang="scss">
.footerbar{
width: 100%;
height: 20px;
text-align: center;
font-size: 12px;
color: #C7C7C7;
margin: 5px 0;
}
</style>

View File

@ -1,102 +1,121 @@
<template> <template>
<div v-loading.fullscreen.lock="loading" :element-loading-text="$t('loading')" :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]"> <div
<template v-if="!loading"> v-loading.fullscreen.lock="loading"
<main-navbar /> :element-loading-text="$t('loading')"
<main-sidebar /> :class="['aui-wrapper', { 'aui-sidebar--fold': $store.state.sidebarFold }]"
<div class="aui-content__wrapper"> >
<main-content v-if="!$store.state.contentIsNeedRefresh" /> <template v-if="!loading">
</div> <main-navbar />
</template> <main-sidebar />
</div> <div class="aui-content__wrapper">
<main-content v-if="!$store.state.contentIsNeedRefresh" />
<main-footer />
</div>
</template>
</div>
</template> </template>
<script> <script>
import MainNavbar from './main-navbar' import MainNavbar from "./main-navbar";
import MainSidebar from './main-sidebar' import MainSidebar from "./main-sidebar";
import MainContent from './main-content' import MainContent from "./main-content";
import debounce from 'lodash/debounce' import MainFooter from "./main-footer";
import debounce from "lodash/debounce";
export default { export default {
provide () { provide() {
return { return {
// //
refresh () { refresh() {
this.$store.state.contentIsNeedRefresh = true this.$store.state.contentIsNeedRefresh = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$store.state.contentIsNeedRefresh = false this.$store.state.contentIsNeedRefresh = false;
}) });
} },
} };
}, },
data () { data() {
return { return {
loading: true loading: true,
} };
}, },
components: { components: {
MainNavbar, MainNavbar,
MainSidebar, MainSidebar,
MainContent MainFooter,
}, MainContent,
watch: { },
$route: 'routeHandle' watch: {
}, $route: "routeHandle",
created () { },
this.windowResizeHandle() created() {
this.routeHandle(this.$route) this.windowResizeHandle();
Promise.all([ this.routeHandle(this.$route);
this.getUserInfo(), Promise.all([this.getUserInfo(), this.getPermissions()]).then(() => {
this.getPermissions() this.loading = false;
]).then(() => { });
this.loading = false },
}) methods: {
}, //
methods: { windowResizeHandle() {
// this.$store.state.sidebarFold =
windowResizeHandle () { document.documentElement["clientWidth"] <= 992 || false;
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false window.addEventListener(
window.addEventListener('resize', debounce(() => { "resize",
this.$store.state.sidebarFold = document.documentElement['clientWidth'] <= 992 || false debounce(() => {
}, 150)) this.$store.state.sidebarFold =
}, document.documentElement["clientWidth"] <= 992 || false;
// , }, 150)
routeHandle (route) { );
if (!route.meta.isTab) { },
return false // ,
} routeHandle(route) {
var tab = this.$store.state.contentTabs.filter(item => item.name === route.name)[0] if (!route.meta.isTab) {
if (!tab) { return false;
tab = { }
...window.SITE_CONFIG['contentTabDefault'], var tab = this.$store.state.contentTabs.filter(
...route.meta, (item) => item.name === route.name
'name': route.name, )[0];
'params': { ...route.params }, if (!tab) {
'query': { ...route.query } tab = {
} ...window.SITE_CONFIG["contentTabDefault"],
this.$store.state.contentTabs = this.$store.state.contentTabs.concat(tab) ...route.meta,
} name: route.name,
this.$store.state.sidebarMenuActiveName = tab.menuId params: { ...route.params },
this.$store.state.contentTabsActiveName = tab.name query: { ...route.query },
}, };
// this.$store.state.contentTabs = this.$store.state.contentTabs.concat(
getUserInfo () { tab
return this.$http.get('/sys/user/info').then(({ data: res }) => { );
if (res.code !== 0) { }
return this.$message.error(res.msg) this.$store.state.sidebarMenuActiveName = tab.menuId;
} this.$store.state.contentTabsActiveName = tab.name;
this.$store.state.user.id = res.data.id },
this.$store.state.user.name = res.data.username //
this.$store.state.user.superAdmin = res.data.superAdmin getUserInfo() {
}).catch(() => {}) return this.$http
}, .get("/sys/user/info")
// .then(({ data: res }) => {
getPermissions () { if (res.code !== 0) {
return this.$http.get('/sys/menu/permissions').then(({ data: res }) => { return this.$message.error(res.msg);
if (res.code !== 0) { }
return this.$message.error(res.msg) this.$store.state.user.id = res.data.id;
} this.$store.state.user.name = res.data.username;
window.SITE_CONFIG['permissions'] = res.data this.$store.state.user.superAdmin = res.data.superAdmin;
}).catch(() => {}) })
} .catch(() => {});
} },
} //
getPermissions() {
return this.$http
.get("/sys/menu/permissions")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
}
window.SITE_CONFIG["permissions"] = res.data;
})
.catch(() => {});
},
},
};
</script> </script>