diff --git a/apps/finance/src/api/statistics/index.ts b/apps/finance/src/api/statistics/index.ts new file mode 100644 index 0000000..bcc917e --- /dev/null +++ b/apps/finance/src/api/statistics/index.ts @@ -0,0 +1,33 @@ +import { requestClient } from '#/api/request'; + +export const statisticsApi = { + /** + * 获取天医币报表列表 + */ + getReportTianyibi: (data: { month?: string; year: number }) => { + return requestClient.post('common/statistics/pointStatistics', data); + }, + + /** + * 获取实物报表列表 + */ + getPhysicalStatistics: (data: { month?: string; year: number }) => { + return requestClient.post('common/statistics/physicalStatistics', data); + }, + + /** + * 获取培训班报表列表 + */ + getTrainingClassStatistics: (data: { month?: string; year: number }) => { + return requestClient.post('common/statistics/trainingClassStatistics', data); + }, + + /** + * 下载天医币报表 + */ + downloadReportTianyibi: (data: { date: string }) => { + return requestClient.post('/common/import/getImportFile', data, { + responseType: 'blob', + }); + }, +}; diff --git a/apps/finance/src/router/routes/modules/statistics.ts b/apps/finance/src/router/routes/modules/statistics.ts new file mode 100644 index 0000000..a12a4f7 --- /dev/null +++ b/apps/finance/src/router/routes/modules/statistics.ts @@ -0,0 +1,45 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'mdi:chart-areaspline', + keepAlive: true, + order: 1000, + title: '统计分析', + }, + name: 'Statistics', + path: '/statistics', + children: [ + { + meta: { + title: '天医币报表', + keepAlive: true, + }, + name: 'TianyibiReport', + path: '/statistics/tianyibi-report', + component: () => import('#/views/statistics/tianyibi/report.vue'), + }, + { + meta: { + title: '实物报表', + keepAlive: true, + }, + name: 'PhysicalReport', + path: '/statistics/physical-report', + component: () => import('#/views/statistics/physical/report.vue'), + }, + { + meta: { + title: '培训班报表', + keepAlive: true, + }, + name: 'TrainingClassReport', + path: '/statistics/training-class-report', + component: () => import('#/views/statistics/trainingClass/report.vue'), + }, + ], + }, +]; + +export default routes; diff --git a/apps/finance/src/views/statistics/physical/report.vue b/apps/finance/src/views/statistics/physical/report.vue new file mode 100644 index 0000000..479c658 --- /dev/null +++ b/apps/finance/src/views/statistics/physical/report.vue @@ -0,0 +1,125 @@ + + + + + + + + 查询 + + + + + + + + + + + + + + {{ payment.type }} + + + {{ payment.fee }} + + + + + + + + + + diff --git a/apps/finance/src/views/statistics/tianyibi/report.vue b/apps/finance/src/views/statistics/tianyibi/report.vue new file mode 100644 index 0000000..1c10d4b --- /dev/null +++ b/apps/finance/src/views/statistics/tianyibi/report.vue @@ -0,0 +1,149 @@ + + + + + + + + 查询 + + + + + + + + + + + + + + 进项 + + {{ type }}: + {{ fee }} + + + + 出项 + + {{ type }}: + {{ fee }} + + + + APP用户剩余天医币 : {{ item.surplus }} + + + + + + + + diff --git a/apps/finance/src/views/statistics/trainingClass/report.vue b/apps/finance/src/views/statistics/trainingClass/report.vue new file mode 100644 index 0000000..5ff7139 --- /dev/null +++ b/apps/finance/src/views/statistics/trainingClass/report.vue @@ -0,0 +1,126 @@ + + + + + + + + 查询 + + + + + + + + + + + + + + {{ payment.type }} + + + {{ payment.fee }} + + + + + + + + + + + diff --git a/apps/finance/src/views/test.vue b/apps/finance/src/views/test.vue index b41f2a7..dcc585b 100644 --- a/apps/finance/src/views/test.vue +++ b/apps/finance/src/views/test.vue @@ -1,14 +1,7 @@ - -import { TabPane, Tabs } from 'ant-design-vue'; - -const activeKey = ref(1); - - - - Content of tab {{ i }} - - + + + diff --git a/packages/@core/ui-kit/menu-ui/src/components/menu-item.vue b/packages/@core/ui-kit/menu-ui/src/components/menu-item.vue index 691c25c..c602b89 100644 --- a/packages/@core/ui-kit/menu-ui/src/components/menu-item.vue +++ b/packages/@core/ui-kit/menu-ui/src/components/menu-item.vue @@ -27,19 +27,12 @@ const subMenu = useSubMenuContext(); const { parentMenu, parentPaths } = useMenu(); const active = computed(() => props.path === rootMenu?.activePath); -const menuIcon = computed(() => - active.value ? props.activeIcon || props.icon : props.icon, -); +const menuIcon = computed(() => (active.value ? props.activeIcon || props.icon : props.icon)); -const isTopLevelMenuItem = computed( - () => parentMenu.value?.type.name === 'Menu', -); +const isTopLevelMenuItem = computed(() => parentMenu.value?.type.name === 'Menu'); const collapseShowTitle = computed( - () => - rootMenu.props?.collapseShowTitle && - isTopLevelMenuItem.value && - rootMenu.props.collapse, + () => rootMenu.props?.collapseShowTitle && isTopLevelMenuItem.value && rootMenu.props.collapse, ); const showTooltip = computed( @@ -92,11 +85,7 @@ onBeforeUnmount(() => { role="menuitem" @click.stop="handleClick" > - + @@ -109,11 +98,7 @@ onBeforeUnmount(() => { - + diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogFooter.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogFooter.vue index 09460b9..c984b5a 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogFooter.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/dialog/DialogFooter.vue @@ -5,11 +5,7 @@ const props = defineProps<{ class?: any }>(); - + diff --git a/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetFooter.vue b/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetFooter.vue index 09460b9..c984b5a 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetFooter.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/ui/sheet/SheetFooter.vue @@ -5,11 +5,7 @@ const props = defineProps<{ class?: any }>(); - + diff --git a/packages/effects/common-ui/src/ui/profile/profile.vue b/packages/effects/common-ui/src/ui/profile/profile.vue index 5ab39e6..b23a005 100644 --- a/packages/effects/common-ui/src/ui/profile/profile.vue +++ b/packages/effects/common-ui/src/ui/profile/profile.vue @@ -2,14 +2,7 @@ import type { Props } from './types'; import { preferences } from '@vben-core/preferences'; -import { - Card, - Separator, - Tabs, - TabsList, - TabsTrigger, - VbenAvatar, -} from '@vben-core/shadcn-ui'; +import { Card, Separator, Tabs, TabsList, TabsTrigger, VbenAvatar } from '@vben-core/shadcn-ui'; import { Page } from '../../components'; @@ -29,15 +22,12 @@ const tabsValue = defineModel('modelValue'); - + - {{ userInfo?.realName ?? '' }} + {{ userInfo?.name ?? '' }} - {{ userInfo?.username ?? '' }} + {{ userInfo?.name ?? '' }} diff --git a/packages/effects/layouts/src/basic/layout.vue b/packages/effects/layouts/src/basic/layout.vue index b3790e5..574de4e 100644 --- a/packages/effects/layouts/src/basic/layout.vue +++ b/packages/effects/layouts/src/basic/layout.vue @@ -219,10 +219,16 @@ const headerSlots = computed(() => { :z-index="preferences.app.zIndex" @side-mouse-leave="handleSideMouseLeave" @toggle-sidebar="toggleSidebar" - @update:sidebar-collapse="(value: boolean) => updatePreferences({ sidebar: { collapsed: value } })" + @update:sidebar-collapse=" + (value: boolean) => updatePreferences({ sidebar: { collapsed: value } }) + " @update:sidebar-enable="(value: boolean) => updatePreferences({ sidebar: { enable: value } })" - @update:sidebar-expand-on-hover="(value: boolean) => updatePreferences({ sidebar: { expandOnHover: value } })" - @update:sidebar-extra-collapse="(value: boolean) => updatePreferences({ sidebar: { extraCollapse: value } })" + @update:sidebar-expand-on-hover=" + (value: boolean) => updatePreferences({ sidebar: { expandOnHover: value } }) + " + @update:sidebar-extra-collapse=" + (value: boolean) => updatePreferences({ sidebar: { extraCollapse: value } }) + " > @@ -330,7 +336,11 @@ const headerSlots = computed(() => { - + @@ -361,7 +371,10 @@ const headerSlots = computed(() => { - +