import React from 'react'; import { Filter } from 'lucide-react'; import { ExportRangeConfig, LabelTemplate, PaperConfig, RecordRow } from '../types'; import { buildPrintablePages } from '../utils'; import { PageInput } from './PreviewGrid'; interface DataRangeFieldsProps { variant?: 'ps' | 'mobile'; exportRange: ExportRangeConfig; onChangeExportRange: (range: ExportRangeConfig) => void; rows: RecordRow[]; paper: PaperConfig; template: LabelTemplate; disabled?: boolean; } export const DataRangeFields: React.FC = ({ variant = 'ps', exportRange, onChangeExportRange, rows, paper, template, disabled = false, }) => { const isMobile = variant === 'mobile'; const rangeStats = buildPrintablePages(rows, paper, template, exportRange); const patchRange = (patch: Partial) => { onChangeExportRange({ ...exportRange, ...patch }); }; return (
{!isMobile &&
数据范围
} {isMobile && (
数据范围
)}

序号指数据行顺序(从 1 开始),应用数据后生效。

{isMobile && } {!isMobile && }
{exportRange.mode === 'custom' && (
{isMobile ? ( ) : ( )} patchRange({ custom: val })} placeholder="如 1,3,5-10" inputClassName={isMobile ? 'mobile-field font-mono' : 'ps-field font-mono text-[11px]'} />
)}

将选 {rangeStats.selectedCount} 枚 {rangeStats.selectedCount < rows.length && ` / 共 ${rows.length} 行`} {isMobile && rangeStats.selectedCount > 0 && ( {' '} · 约 {rangeStats.totalPages} 页 PDF )}

); };