| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- <template>
- <div class="container">
- <div class="left-side">
- <div class="panel">
- <Banner />
- <DataPanel />
- <ContentChart />
- </div>
- <a-grid :cols="24" :col-gap="16" :row-gap="16" style="margin-top: 16px">
- <a-grid-item
- :span="{ xs: 24, sm: 24, md: 24, lg: 12, xl: 12, xxl: 12 }"
- >
- <PopularContent />
- </a-grid-item>
- <a-grid-item
- :span="{ xs: 24, sm: 24, md: 24, lg: 12, xl: 12, xxl: 12 }"
- >
- <CategoriesPercent />
- </a-grid-item>
- </a-grid>
- </div>
- <div class="right-side">
- <a-grid :cols="24" :row-gap="16">
- <a-grid-item :span="24">
- <div class="panel moduler-wrap">
- <QuickOperation />
- <RecentlyVisited />
- </div>
- </a-grid-item>
- <a-grid-item class="panel" :span="24">
- <Carousel />
- </a-grid-item>
- <a-grid-item class="panel" :span="24">
- <Announcement />
- </a-grid-item>
- <a-grid-item class="panel" :span="24">
- <Docs />
- </a-grid-item>
- </a-grid>
- </div>
- </div>
- </template>
- <script lang="ts" setup>
- import Banner from './components/banner.vue';
- import DataPanel from './components/data-panel.vue';
- import ContentChart from './components/content-chart.vue';
- import PopularContent from './components/popular-content.vue';
- import CategoriesPercent from './components/categories-percent.vue';
- import RecentlyVisited from './components/recently-visited.vue';
- import QuickOperation from './components/quick-operation.vue';
- import Announcement from './components/announcement.vue';
- import Carousel from './components/carousel.vue';
- import Docs from './components/docs.vue';
- </script>
- <script lang="ts">
- export default {
- name: 'Dashboard', // If you want the include property of keep-alive to take effect, you must name the component
- };
- </script>
- <style lang="less" scoped>
- .container {
- background-color: var(--color-fill-2);
- padding: 16px 20px;
- padding-bottom: 0;
- display: flex;
- }
- .left-side {
- flex: 1;
- overflow: auto;
- }
- .right-side {
- width: 280px;
- margin-left: 16px;
- }
- .panel {
- background-color: var(--color-bg-2);
- border-radius: 4px;
- overflow: auto;
- }
- :deep(.panel-border) {
- margin-bottom: 0;
- border-bottom: 1px solid rgb(var(--gray-2));
- }
- .moduler-wrap {
- border-radius: 4px;
- background-color: var(--color-bg-2);
- :deep(.text) {
- font-size: 12px;
- text-align: center;
- color: rgb(var(--gray-8));
- }
- :deep(.wrapper) {
- margin-bottom: 8px;
- text-align: center;
- cursor: pointer;
- &:last-child {
- .text {
- margin-bottom: 0;
- }
- }
- &:hover {
- .icon {
- color: rgb(var(--arcoblue-6));
- background-color: #e8f3ff;
- }
- .text {
- color: rgb(var(--arcoblue-6));
- }
- }
- }
- :deep(.icon) {
- display: inline-block;
- width: 32px;
- height: 32px;
- margin-bottom: 4px;
- color: rgb(var(--dark-gray-1));
- line-height: 32px;
- font-size: 16px;
- text-align: center;
- background-color: rgb(var(--gray-1));
- border-radius: 4px;
- }
- }
- </style>
- <style lang="less" scoped>
- // responsive
- .mobile {
- .container {
- display: block;
- }
- .right-side {
- // display: none;
- width: 100%;
- margin-left: 0;
- margin-top: 16px;
- }
- }
- </style>
|