fix: usage: datepicker item disabled issue

This commit is contained in:
jialin
2025-06-26 12:15:09 +08:00
parent 8751400ae3
commit 47d7418eb1
6 changed files with 37 additions and 20 deletions
@@ -29,7 +29,8 @@ const ExportData: React.FC<{
} = useUsageData<{
items: TableRow[];
}>({
url: DASHBOARD_USAGE_API
url: DASHBOARD_USAGE_API,
disabledDate: false
});
const exportTableColumns: TableColumnType[] = [
@@ -24,6 +24,7 @@ const UsageInner: FC<{ paddingRight: string }> = ({ paddingRight }) => {
const { usageData, handleOnCancel, handleExport, FilterBar, init, open } =
useUsageData<DashboardUsageData>({
url: DASHBOARD_STATS_API,
disabledDate: true,
defaultData: {
api_request_history: [],
completion_token_history: [],
@@ -80,7 +80,7 @@ const legendData = [
];
const RequestTokenInner: React.FC<RequestTokenInnerProps> = (props) => {
const { requestData, tokenData, xAxisData, onExport } = props;
const { requestData, tokenData, xAxisData } = props;
const totalData = useMemo(() => {
const data: Record<string, number> = {
@@ -42,10 +42,10 @@ interface RequestTokenData {
xAxisData: string[];
}
interface TopUserData {
userData: { name: string; value: number }[];
topUserList: string[];
}
const DefaultDateConfig = {
maxRange: 60,
defaultRange: 30
};
const getLast30Days = () => {
const dates: string[] = [];
@@ -94,14 +94,16 @@ const generateData = (dateRage: string[], valueMap: Map<string, number>) => {
export default function useUseageData<T>(config: {
url: string;
defaultData?: T;
disabledDate?: boolean;
}) {
const { url, defaultData } = config || {};
const { url, defaultData, disabledDate = false } = config || {};
const intl = useIntl();
const { TagRender } = useSelectRender({
maxTagWidth: 100
});
const { disabledRangeDaysDate, rangePresets } = useRangePickerPreset({
range: 60
range: DefaultDateConfig.maxRange,
disabledDate: disabledDate
});
const [open, setOpen] = useState(false);
const [result, setResult] = useState<{
@@ -109,7 +111,9 @@ export default function useUseageData<T>(config: {
end_date?: string;
data: T;
}>({
start_date: dayjs().subtract(30, 'days').format('YYYY-MM-DD'),
start_date: dayjs()
.subtract(DefaultDateConfig.defaultRange, 'days')
.format('YYYY-MM-DD'),
end_date: dayjs().format('YYYY-MM-DD'),
data: defaultData as T
});
@@ -120,7 +124,9 @@ export default function useUseageData<T>(config: {
model_ids: number[];
user_ids: number[];
}>({
start_date: dayjs().subtract(30, 'days').format('YYYY-MM-DD'),
start_date: dayjs()
.subtract(DefaultDateConfig.defaultRange, 'days')
.format('YYYY-MM-DD'),
end_date: dayjs().format('YYYY-MM-DD'),
model_ids: [],
user_ids: []
@@ -318,11 +324,15 @@ export default function useUseageData<T>(config: {
};
const FilterBar = () => {
const filterOptions = (inputValue: any, option: any) => {
return option.label?.toLowerCase().includes(inputValue.toLowerCase());
};
return (
<FilterWrapper>
<div className="selection">
<DatePicker.RangePicker
defaultValue={[dayjs().add(-30, 'd'), dayjs()]}
maxDate={dayjs()}
defaultValue={[dayjs().add(-29, 'd'), dayjs()]}
disabledDate={disabledRangeDaysDate}
presets={rangePresets}
allowClear={false}
@@ -332,9 +342,11 @@ export default function useUseageData<T>(config: {
></DatePicker.RangePicker>
<Select
allowClear
showSearch
mode="multiple"
options={userList}
maxTagCount={1}
filterOption={filterOptions}
tagRender={TagRender}
placeholder={intl.formatMessage({
id: 'dashboard.usage.selectuser'
@@ -345,10 +357,12 @@ export default function useUseageData<T>(config: {
></Select>
<Select
allowClear
showSearch
mode="multiple"
options={modelList}
maxTagCount={1}
tagRender={TagRender}
filterOption={filterOptions}
placeholder={intl.formatMessage({
id: 'dashboard.usage.selectmodel'
})}