mirror of
https://github.com/labring/FastGPT.git
synced 2025-12-25 20:02:47 +00:00
perf: plan year switch
This commit is contained in:
parent
b0b9b21966
commit
8f1dae4283
|
|
@ -1,4 +1,4 @@
|
|||
import React, { useMemo, useState } from 'react';
|
||||
import React, { useEffect, useMemo, useState } from 'react';
|
||||
import MyIcon from '@fastgpt/web/components/common/Icon';
|
||||
import { Box, Button, Flex, Grid } from '@chakra-ui/react';
|
||||
import { useTranslation } from 'next-i18next';
|
||||
|
|
@ -23,6 +23,12 @@ export enum PackageChangeStatusEnum {
|
|||
renewal = 'renewal',
|
||||
upgrade = 'upgrade'
|
||||
}
|
||||
const NEW_PLAN_LEVELS = [
|
||||
StandardSubLevelEnum.free,
|
||||
StandardSubLevelEnum.basic,
|
||||
StandardSubLevelEnum.advanced,
|
||||
StandardSubLevelEnum.custom
|
||||
];
|
||||
|
||||
const Standard = ({
|
||||
standardPlan: myStandardPlan,
|
||||
|
|
@ -41,21 +47,17 @@ const Standard = ({
|
|||
|
||||
const [packageChange, setPackageChange] = useState<PackageChangeStatusEnum>();
|
||||
const { subPlans, feConfigs } = useSystemStore();
|
||||
const [selectSubMode, setSelectSubMode] = useState<`${SubModeEnum}`>(SubModeEnum.year);
|
||||
|
||||
const hasActivityExpiration = !!subPlans?.activityExpirationTime;
|
||||
const [selectSubMode, setSelectSubMode] = useState<`${SubModeEnum}`>(
|
||||
hasActivityExpiration ? SubModeEnum.year : SubModeEnum.month
|
||||
);
|
||||
|
||||
const NEW_PLAN_LEVELS = [
|
||||
StandardSubLevelEnum.free,
|
||||
StandardSubLevelEnum.basic,
|
||||
StandardSubLevelEnum.advanced,
|
||||
StandardSubLevelEnum.custom
|
||||
];
|
||||
const {
|
||||
data: coupons = [],
|
||||
loading,
|
||||
runAsync: getCoupons
|
||||
} = useRequest2(
|
||||
useEffect(() => {
|
||||
setSelectSubMode(hasActivityExpiration ? SubModeEnum.year : SubModeEnum.month);
|
||||
}, [hasActivityExpiration]);
|
||||
|
||||
// 获取优惠券
|
||||
const { data: coupons = [], runAsync: getCoupons } = useRequest2(
|
||||
async () => {
|
||||
if (!myStandardPlan?.teamId) return [];
|
||||
return getDiscountCouponList(myStandardPlan.teamId);
|
||||
|
|
@ -65,7 +67,7 @@ const Standard = ({
|
|||
refreshDeps: [myStandardPlan?.teamId]
|
||||
}
|
||||
);
|
||||
|
||||
// 匹配合适的优惠券
|
||||
const matchedCoupon = useMemo(() => {
|
||||
const targetType =
|
||||
selectSubMode === SubModeEnum.month
|
||||
|
|
@ -111,7 +113,13 @@ const Standard = ({
|
|||
};
|
||||
})
|
||||
: [];
|
||||
}, [subPlans?.standard, selectSubMode]);
|
||||
}, [
|
||||
subPlans?.standard,
|
||||
selectSubMode,
|
||||
myStandardPlan?.maxTeamMember,
|
||||
myStandardPlan?.maxApp,
|
||||
myStandardPlan?.maxDataset
|
||||
]);
|
||||
|
||||
// Pay code
|
||||
const [qrPayData, setQRPayData] = useState<QRPayProps>();
|
||||
|
|
|
|||
Loading…
Reference in New Issue