Files
fad_oa/ruoyi-ui/src/views/index.vue
2025-03-09 20:15:50 +08:00

129 lines
2.8 KiB
Vue

<template>
<div class="home">
<div>
<el-container style="height: 100vh;">
<el-main>
<el-row :gutter="20">
<!-- 右侧展示区域 -->
<el-col :span="18" class="content-area">
<announcements />
<financial-charts />
</el-col>
<!-- 左侧功能区域 -->
<el-col :span="6" class="sidebar">
<quick-access />
<inventory />
<project-management />
</el-col>
</el-row>
</el-main>
</el-container>
</div>
</div>
</template>
<script>
import { getCache } from "@/api/monitor/cache";
import { getFinishedCount, getOwnCount, getTodoListCount } from "@/api/oa/homeCount";
import { getNotice, listNoticeLimit } from "@/api/system/notice";
import QuickAccess from "../components/QuickAccess/index.vue";
import Inventory from "../components/Inventory/index.vue";
import Announcements from "../components/Announcements/index.vue";
import ProjectManagement from "../components/ProjectManagement/index.vue";
import FinancialCharts from "../components/FinancialCharts/index.vue";
import {importUser} from "@/api/oa/salary";
export default {
name: "Index",
components: {
FinancialCharts,
ProjectManagement,
Announcements,
Inventory,
QuickAccess,
},
data() {
return {
version: "0.8.3",
commandstats: null,
usedmemory: null,
cache: [],
finishedCount: 0,
todoListCount: 0,
ownCount: 0,
noticeList: [],
noticeTitle: '',
noticeContent: '',
drawer: false,
};
},
created() {
this.getList();
this.getListNotice();
},
methods: {
getList() {
getCache().then((response) => {
this.cache = response.data;
this.$modal.closeLoading();
});
},
getListNotice() {
this.loading = true;
listNoticeLimit().then((response) => {
this.noticeList = response;
this.loading = false;
});
},
toDrawer(nid) {
this.drawer = true;
getNotice(nid).then((res) => {
this.noticeTitle = res.data.noticeTitle;
this.noticeContent = res.data.noticeContent;
});
},
goTarget(href) {
this.$router.push({path: href});
},
},
};
</script>
<style scoped lang="scss">
.onboarding-homepage {
max-width: 800px;
margin: 20px auto;
padding: 20px;
}
.employee-form {
margin-top: 20px;
margin-bottom: 30px;
}
.flow-chart {
margin-top: 30px;
}
/* 栅格列样式 */
.content-area {
background: #fff;
}
/* 左侧功能区域 */
.sidebar {
background: #f9f9f9;
}
/* 响应式隐藏侧边栏 */
@media screen and (max-width: 768px) {
.sidebar {
display: none;
}
.content-area {
width: 100% !important;
}
}
</style>