| | |
| | | "useId": true, |
| | | "useLink": true, |
| | | "useLoading": true, |
| | | "useMenu": true, |
| | | "useMenus": true, |
| | | "useModel": true, |
| | | "useOmit": true, |
| | | "useOmitProps": true, |
| | |
| | | const useIsSystemAdmin: typeof import('./src/hooks/useUser')['useIsSystemAdmin'] |
| | | const useLink: typeof import('vue-router')['useLink'] |
| | | const useLoading: typeof import('./src/hooks/global/useLoading')['useLoading'] |
| | | const useMenu: typeof import('./src/hooks/menu')['useMenu'] |
| | | const useMenus: typeof import('./src/hooks/menu')['useMenus'] |
| | | const useModel: typeof import('vue')['useModel'] |
| | | const useOmit: typeof import('./src/hooks/help')['useOmit'] |
| | | const useOmitProps: typeof import('./src/hooks/help')['useOmitProps'] |
| | |
| | | readonly useId: UnwrapRef<typeof import('vue')['useId']> |
| | | readonly useLink: UnwrapRef<typeof import('vue-router')['useLink']> |
| | | readonly useLoading: UnwrapRef<typeof import('./src/hooks/global/useLoading')['useLoading']> |
| | | readonly useMenu: UnwrapRef<typeof import('./src/hooks/menu')['useMenu']> |
| | | readonly useMenus: UnwrapRef<typeof import('./src/hooks/menu')['useMenus']> |
| | | readonly useModel: UnwrapRef<typeof import('vue')['useModel']> |
| | | readonly useOmit: UnwrapRef<typeof import('./src/hooks/help')['useOmit']> |
| | | readonly useOmitProps: UnwrapRef<typeof import('./src/hooks/help')['useOmitProps']> |
| | |
| | | export * from './useEvent'; |
| | | export * from './useUser'; |
| | | export * from './help'; |
| | | export * from './menu'; |
| | | // export * from './dic'; |
New file |
| | |
| | | import * as menuServices from '@/services/api/menu'; |
| | | import { flattenTree } from '@/utils'; |
| | | import { DaPengAccessAdapter } from '@bole-core/components'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | |
| | | type UseMenusOptions = { |
| | | params: MaybeRef<API.APIgetMenusParams>; |
| | | enabled?: MaybeRef<boolean>; |
| | | }; |
| | | |
| | | export function useMenus({ params, enabled = true }: UseMenusOptions) { |
| | | const queryClient = useQueryClient(); |
| | | |
| | | const { data, refetch } = useQuery({ |
| | | queryKey: ['menuServices/getMenus', params], |
| | | queryFn: async () => { |
| | | return await menuServices.getMenus(unref(params), { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | placeholderData: () => [] as API.GetMenusQueryResultItem[], |
| | | staleTime: Infinity, |
| | | enabled: enabled, |
| | | }); |
| | | |
| | | const flattenMenus = computed(() => flattenTree(data.value)); |
| | | |
| | | function getMenuById(id: string) { |
| | | return flattenMenus.value.find((item) => item.id === id); |
| | | } |
| | | |
| | | return { |
| | | menusTree: data, |
| | | refetch, |
| | | getMenuById, |
| | | }; |
| | | } |
| | | |
| | | type UseMenuOptions = { |
| | | params: MaybeRef<API.APIgetMenuParams>; |
| | | enabled?: MaybeRef<boolean>; |
| | | }; |
| | | |
| | | export function useMenu({ params, enabled = true }: UseMenuOptions) { |
| | | const queryClient = useQueryClient(); |
| | | |
| | | const { data, refetch } = useQuery({ |
| | | queryKey: ['menuServices/getMenu', params], |
| | | queryFn: async () => { |
| | | return await menuServices.getMenu(unref(params), { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | placeholderData: () => ({} as API.GetMenuQueryResult), |
| | | enabled: enabled, |
| | | }); |
| | | |
| | | const menuDefaultGroup = computed( |
| | | () => DaPengAccessAdapter.getMenuGroupAdapter(data.value?.groups ?? []) ?? {} |
| | | ); |
| | | |
| | | const menuFields = computed(() => { |
| | | return menuDefaultGroup.value.fields ?? []; |
| | | }); |
| | | |
| | | const menuPageButtons = computed(() => { |
| | | const pageButtonLocation = DaPengAccessAdapter.getButtonLocationAdapter( |
| | | menuDefaultGroup.value, |
| | | SubModuleKey[SubModuleType.PageButton] |
| | | ); |
| | | return pageButtonLocation?.buttons ?? []; |
| | | }); |
| | | |
| | | const menuDataButtons = computed(() => { |
| | | const pageButtonLocation = DaPengAccessAdapter.getButtonLocationAdapter( |
| | | menuDefaultGroup.value, |
| | | SubModuleKey[SubModuleType.DataButton] |
| | | ); |
| | | return pageButtonLocation?.buttons ?? []; |
| | | }); |
| | | |
| | | return { |
| | | menu: data, |
| | | refetch, |
| | | menuFields, |
| | | menuPageButtons, |
| | | menuDataButtons, |
| | | }; |
| | | } |
| | |
| | | useTable, |
| | | defineOperationBtns, |
| | | } from '@bole-core/components'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | // import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | import { DistributionDetailColumns } from '../constants'; |
| | | import { FlexEnterpriseSettingStatus } from '@/constants'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | // import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | import { UsageDetailColumns } from '../constants'; |
| | | import { FlexEnterpriseSettingStatus } from '@/constants'; |
| | | import { OrderInputType } from '@bole-core/core'; |
| | |
| | | loading.value = true; |
| | | await userStore.loginByUsername({ |
| | | userName: unref(user), |
| | | userPassword: unref(pwd), |
| | | password: unref(pwd), |
| | | }); |
| | | loading.value = false; |
| | | router.push({ |