| | |
| | | /** |
| | | * @description 网页title |
| | | */ |
| | | title: '12333政务服务', |
| | | title: '奖励金审核政务端', |
| | | |
| | | errorLog: 'production', |
| | | |
| | |
| | | <template> |
| | | <div class="data-board-card-wrapper"> |
| | | <div class="data-board-card-title">{{ title }}</div> |
| | | <div class="data-board-card-content"> |
| | | <div class="data-board-card-content" :class="contentBetween && 'content-between'"> |
| | | <slot></slot> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | type Props = { |
| | | title?: string; |
| | | contentBetween?: boolean; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), {}); |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | contentBetween: false, |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | .data-board-card-content { |
| | | flex: 1; |
| | | min-height: 0; |
| | | |
| | | &.content-between { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="data-board-card-price"> |
| | | <div class="data-board-card-price" :class="isInline && 'inline'"> |
| | | <div class="data-board-card-value">{{ displayValue }}</div> |
| | | <div class="data-board-card-unit">{{ unit }}</div> |
| | | </div> |
| | |
| | | type Props = { |
| | | value?: number; |
| | | useThousand?: boolean; |
| | | isInline?: boolean; |
| | | unit?: string; |
| | | }; |
| | | |
| | | const props = withDefaults(defineProps<Props>(), { |
| | | useThousand: true, |
| | | isInline: false, |
| | | unit: '元', |
| | | }); |
| | | |
| | |
| | | display: flex; |
| | | align-items: flex-end; |
| | | |
| | | &.inline { |
| | | display: inline-flex; |
| | | } |
| | | |
| | | .data-board-card-value { |
| | | margin-right: 4px; |
| | | font-size: 20px; |
| | |
| | | component: () => import('@/views/Home/Home.vue'), |
| | | meta: { |
| | | rank: 10001, |
| | | title: '首页', |
| | | title: '工作台', |
| | | affix: true, |
| | | rootMenu: true, |
| | | }, |
| | |
| | | <template> |
| | | <LoadingLayout :loading="isLoading"> |
| | | <AppContainer> |
| | | <ChunkCell title="待处理"> </ChunkCell> |
| | | <ChunkCell title="数据看板"> </ChunkCell> |
| | | <ChunkCell title="待处理"> |
| | | <div class="data-board-card-list"> |
| | | <DataBoardCard title="待审核企业" :contentBetween="true"> |
| | | <DataBoardCardPrice :value="20000" :isInline="true" :useThousand="false" unit="家" /> |
| | | <el-button type="primary" link>去审核</el-button> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="奖励金待发放" :contentBetween="true"> |
| | | <DataBoardCardPrice :isInline="true" :value="20000" :useThousand="false" unit="家" /> |
| | | <el-button type="primary" link>去发放</el-button> |
| | | </DataBoardCard> |
| | | </div> |
| | | </ChunkCell> |
| | | <ChunkCell title="数据看板"> |
| | | <div class="data-board-card-list"> |
| | | <DataBoardCard title="累计已审核企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已审核通过企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计未审核通过企业"> |
| | | <DataBoardCardPrice :value="20000" :useThousand="false" unit="家" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已发放奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计待发放奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | </DataBoardCard> |
| | | <DataBoardCard title="累计已使用奖励金"> |
| | | <DataBoardCardPrice :value="20000" unit="元" /> |
| | | </DataBoardCard> |
| | | </div> |
| | | </ChunkCell> |
| | | </AppContainer> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { |
| | | ProForm, |
| | | ProFormItemV2, |
| | | ProFormSelect, |
| | | ProFormText, |
| | | ProFormCol, |
| | | ProFormColItem, |
| | | ProFormInputNumber, |
| | | ProFormTextArea, |
| | | ProFormRadio, |
| | | ChunkCell, |
| | | AppScrollContainer, |
| | | } from '@bole-core/components'; |
| | | import { AppContainer, ChunkCell } from '@bole-core/components'; |
| | | import DataBoardCard from '@/components/DataBoardCard/DataBoardCard.vue'; |
| | | import DataBoardCardPrice from '@/components/DataBoardCard/DataBoardCardPrice.vue'; |
| | | |
| | | defineOptions({ |
| | | name: 'Home', |
| | |
| | | |
| | | <style lang="scss" scoped> |
| | | @use '@/style/common.scss' as *; |
| | | |
| | | .data-board-card-list { |
| | | display: grid; |
| | | grid-template-columns: repeat(4, 1fr); |
| | | grid-gap: 40px; |
| | | padding: 20px; |
| | | } |
| | | </style> |