Compare commits
2 Commits
ad36134655
...
72328b77c0
| Author | SHA1 | Date |
|---|---|---|
|
|
72328b77c0 | |
|
|
d980962570 |
|
|
@ -362,7 +362,7 @@ export const createOrderColumns = (
|
|||
},
|
||||
{
|
||||
field: 'deliveryLocal',
|
||||
headerName: 'Local Entrega',
|
||||
headerName: 'Praça',
|
||||
width: 180,
|
||||
minWidth: 160,
|
||||
renderCell: (params: Readonly<GridRenderCellParams>) => (
|
||||
|
|
|
|||
|
|
@ -56,9 +56,11 @@ interface LocalFilters {
|
|||
sellerId: string | null;
|
||||
sellerName: string | null;
|
||||
deliveryType: string[] | null;
|
||||
statusTransfer: string[] | null;
|
||||
}
|
||||
|
||||
const DELIVERY_TYPES = ['RI', 'EN', 'EF', 'RP'];
|
||||
const STATUS_TRANSFER_OPTIONS = ['Em Trânsito', 'Em Separação', 'Aguardando Separação', 'Concluída'];
|
||||
|
||||
const getInitialLocalFilters = (
|
||||
urlFilters: Partial<LocalFilters>
|
||||
|
|
@ -78,6 +80,7 @@ const getInitialLocalFilters = (
|
|||
sellerId: urlFilters.sellerId ?? null,
|
||||
sellerName: urlFilters.sellerName ?? null,
|
||||
deliveryType: urlFilters.deliveryType ?? null,
|
||||
statusTransfer: urlFilters.statusTransfer ?? null,
|
||||
});
|
||||
|
||||
export const SearchBar = () => {
|
||||
|
|
@ -140,6 +143,7 @@ export const SearchBar = () => {
|
|||
productId: null,
|
||||
productName: null,
|
||||
deliveryType: null,
|
||||
statusTransfer: null,
|
||||
};
|
||||
|
||||
setLocalFilters(getInitialLocalFilters(resetState));
|
||||
|
|
@ -205,6 +209,7 @@ export const SearchBar = () => {
|
|||
localFilters.partnerId,
|
||||
localFilters.productId,
|
||||
localFilters.deliveryType?.length,
|
||||
localFilters.statusTransfer?.length,
|
||||
].filter(Boolean).length;
|
||||
|
||||
const toggleDrawer = (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => {
|
||||
|
|
@ -470,6 +475,16 @@ export const SearchBar = () => {
|
|||
renderInput={(params) => <TextField {...params} label="Tipo de Entrega" placeholder="Selecione tipo" />}
|
||||
/>
|
||||
|
||||
{/* Status de Transferência */}
|
||||
<Autocomplete
|
||||
multiple
|
||||
size="small"
|
||||
options={STATUS_TRANSFER_OPTIONS}
|
||||
value={localFilters.statusTransfer ?? []}
|
||||
onChange={(_, newValue) => updateLocalFilter('statusTransfer', newValue.length > 0 ? newValue : null)}
|
||||
renderInput={(params) => <TextField {...params} label="Status Transferência" placeholder="Selecione status" />}
|
||||
/>
|
||||
|
||||
</Stack>
|
||||
</Box>
|
||||
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ export const useOrderFilters = () => {
|
|||
|
||||
searchTriggered: parseAsBoolean.withDefault(false),
|
||||
deliveryType: parseAsArrayOf(parseAsString, ','),
|
||||
statusTransfer: parseAsArrayOf(parseAsString, ','),
|
||||
},
|
||||
{
|
||||
shallow: true,
|
||||
|
|
|
|||
|
|
@ -45,7 +45,22 @@ export const findOrdersSchema = z.object({
|
|||
onlyPendingTransfer: z.coerce.boolean().optional(),
|
||||
|
||||
statusTransfer: z
|
||||
.enum(['Em Trânsito', 'Em Separação', 'Aguardando Separação', 'Concluída'])
|
||||
.union([
|
||||
z.enum([
|
||||
'Em Trânsito',
|
||||
'Em Separação',
|
||||
'Aguardando Separação',
|
||||
'Concluída',
|
||||
]),
|
||||
z.array(
|
||||
z.enum([
|
||||
'Em Trânsito',
|
||||
'Em Separação',
|
||||
'Aguardando Separação',
|
||||
'Concluída',
|
||||
])
|
||||
),
|
||||
])
|
||||
.optional(),
|
||||
|
||||
markId: z.coerce.number().optional(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue