{t('common.Username')} | +{t('user.team.Role')} | +{t('common.Status')} | ++ |
---|---|---|---|
+ |
+ {t(TeamMemberRoleMap[item.role]?.label || '')} | ++ {t(TeamMemberStatusMap[item.status]?.label || '')} + | +
+ {userInfo?.team?.role === TeamMemberRoleEnum.owner &&
+ item.role !== TeamMemberRoleEnum.owner && (
+ |
+
{t('wallet.bill.bill username')} | {t('user.Time')} | {t('user.Source')} | {t('user.Application Name')} | @@ -65,6 +66,7 @@ const BillTable = () => {
---|---|---|---|
{item.username} | {dayjs(item.time).format('YYYY/MM/DD HH:mm:ss')} | {BillSourceMap[item.source]} | {t(item.appName) || '-'} | diff --git a/projects/app/src/pages/account/components/Info.tsx b/projects/app/src/pages/account/components/Info.tsx index 2ec3ac225..b7f5acbd3 100644 --- a/projects/app/src/pages/account/components/Info.tsx +++ b/projects/app/src/pages/account/components/Info.tsx @@ -1,26 +1,14 @@ import React, { useCallback, useRef, useState } from 'react'; -import { - Box, - Flex, - Button, - useDisclosure, - useTheme, - Divider, - Select, - Menu, - MenuButton, - MenuList, - MenuItem -} from '@chakra-ui/react'; +import { Box, Flex, Button, useDisclosure, useTheme, Divider, Select } from '@chakra-ui/react'; import { useForm } from 'react-hook-form'; import { UserUpdateParams } from '@/types/user'; import { useToast } from '@/web/common/hooks/useToast'; import { useUserStore } from '@/web/support/user/useUserStore'; -import { UserType } from '@/types/user'; +import type { UserType } from '@fastgpt/global/support/user/type.d'; import { useQuery } from '@tanstack/react-query'; import dynamic from 'next/dynamic'; import { useSelectFile } from '@/web/common/file/hooks/useSelectFile'; -import { compressImg } from '@/web/common/file/utils'; +import { compressImgAndUpload } from '@/web/common/file/controller'; import { feConfigs, systemVersion } from '@/web/common/system/staticData'; import { useTranslation } from 'next-i18next'; import { timezoneList } from '@fastgpt/global/common/time/timezone'; @@ -30,9 +18,10 @@ import MyIcon from '@/components/Icon'; import MyTooltip from '@/components/MyTooltip'; import { getLangStore, LangEnum, langMap, setLangStore } from '@/web/common/utils/i18n'; import { useRouter } from 'next/router'; -import MyMenu from '@/components/MyMenu'; import MySelect from '@/components/Select'; +import { formatPrice } from '@fastgpt/global/support/wallet/bill/tools'; +const TeamMenu = dynamic(() => import('@/components/support/user/team/TeamMenu')); const PayModal = dynamic(() => import('./PayModal'), { loading: () =>