diff --git a/web/src/components/table/model-pricing/PricingSidebar.jsx b/web/src/components/table/model-pricing/PricingSidebar.jsx
index 6c13c014..8605f5c9 100644
--- a/web/src/components/table/model-pricing/PricingSidebar.jsx
+++ b/web/src/components/table/model-pricing/PricingSidebar.jsx
@@ -23,6 +23,7 @@ import PricingCategories from './filter/PricingCategories';
import PricingGroups from './filter/PricingGroups';
import PricingQuotaTypes from './filter/PricingQuotaTypes';
import PricingDisplaySettings from './filter/PricingDisplaySettings';
+import { resetPricingFilters } from '../../../helpers/utils';
const PricingSidebar = ({
showWithRecharge,
@@ -41,41 +42,17 @@ const PricingSidebar = ({
...categoryProps
}) => {
- // 重置所有筛选条件
- const handleResetFilters = () => {
- // 重置搜索
- if (handleChange) {
- handleChange('');
- }
-
- // 重置模型分类到默认
- if (setActiveKey && categoryProps.availableCategories?.length > 0) {
- setActiveKey(categoryProps.availableCategories[0]);
- }
-
- // 重置充值价格显示
- if (setShowWithRecharge) {
- setShowWithRecharge(false);
- }
-
- // 重置货币
- if (setCurrency) {
- setCurrency('USD');
- }
-
- // 重置显示倍率
- setShowRatio(false);
-
- // 重置分组筛选
- if (setFilterGroup) {
- setFilterGroup('all');
- }
-
- // 重置计费类型筛选
- if (setFilterQuotaType) {
- setFilterQuotaType('all');
- }
- };
+ const handleResetFilters = () =>
+ resetPricingFilters({
+ handleChange,
+ setActiveKey,
+ availableCategories: categoryProps.availableCategories,
+ setShowWithRecharge,
+ setCurrency,
+ setShowRatio,
+ setFilterGroup,
+ setFilterQuotaType,
+ });
return (
diff --git a/web/src/components/table/model-pricing/modal/PricingFilterModal.jsx b/web/src/components/table/model-pricing/modal/PricingFilterModal.jsx
index a9602591..483104f7 100644
--- a/web/src/components/table/model-pricing/modal/PricingFilterModal.jsx
+++ b/web/src/components/table/model-pricing/modal/PricingFilterModal.jsx
@@ -18,8 +18,12 @@ For commercial licensing, please contact support@quantumnous.com
*/
import React from 'react';
-import { Modal } from '@douyinfe/semi-ui';
-import PricingSidebar from '../PricingSidebar';
+import { Modal, Button } from '@douyinfe/semi-ui';
+import PricingCategories from '../filter/PricingCategories';
+import PricingGroups from '../filter/PricingGroups';
+import PricingQuotaTypes from '../filter/PricingQuotaTypes';
+import PricingDisplaySettings from '../filter/PricingDisplaySettings';
+import { resetPricingFilters } from '../../../../helpers/utils';
const PricingFilterModal = ({
visible,
@@ -27,20 +31,100 @@ const PricingFilterModal = ({
sidebarProps,
t
}) => {
+ const {
+ showWithRecharge,
+ setShowWithRecharge,
+ currency,
+ setCurrency,
+ handleChange,
+ setActiveKey,
+ showRatio,
+ setShowRatio,
+ filterGroup,
+ setFilterGroup,
+ filterQuotaType,
+ setFilterQuotaType,
+ ...categoryProps
+ } = sidebarProps;
+
+ const handleResetFilters = () =>
+ resetPricingFilters({
+ handleChange,
+ setActiveKey,
+ availableCategories: categoryProps.availableCategories,
+ setShowWithRecharge,
+ setCurrency,
+ setShowRatio,
+ setFilterGroup,
+ setFilterQuotaType,
+ });
+
+ const handleConfirm = () => {
+ onClose();
+ };
+
+ const footer = (
+
+
+
+
+ );
+
return (
-
+
);
};
diff --git a/web/src/helpers/utils.js b/web/src/helpers/utils.js
index 5a8aa9cd..265be6c2 100644
--- a/web/src/helpers/utils.js
+++ b/web/src/helpers/utils.js
@@ -616,3 +616,55 @@ export const createCardProPagination = ({
>
);
};
+
+// -------------------------------
+// 重置模型定价筛选条件
+export const resetPricingFilters = ({
+ handleChange,
+ setActiveKey,
+ availableCategories,
+ setShowWithRecharge,
+ setCurrency,
+ setShowRatio,
+ setFilterGroup,
+ setFilterQuotaType,
+}) => {
+ // 重置搜索
+ if (typeof handleChange === 'function') {
+ handleChange('');
+ }
+
+ // 重置模型分类到默认
+ if (
+ typeof setActiveKey === 'function' &&
+ Array.isArray(availableCategories) &&
+ availableCategories.length > 0
+ ) {
+ setActiveKey(availableCategories[0]);
+ }
+
+ // 重置充值价格显示
+ if (typeof setShowWithRecharge === 'function') {
+ setShowWithRecharge(false);
+ }
+
+ // 重置货币
+ if (typeof setCurrency === 'function') {
+ setCurrency('USD');
+ }
+
+ // 重置显示倍率
+ if (typeof setShowRatio === 'function') {
+ setShowRatio(false);
+ }
+
+ // 重置分组筛选
+ if (typeof setFilterGroup === 'function') {
+ setFilterGroup('all');
+ }
+
+ // 重置计费类型筛选
+ if (typeof setFilterQuotaType === 'function') {
+ setFilterQuotaType('all');
+ }
+};