Browse Source

Estabilizando função de filtro na pagina de encomendas

master
JailtonAraujo 3 years ago
parent
commit
68879c33c3
4 changed files with 97 additions and 10 deletions
  1. +16
    -0
      first-app/package-lock.json
  2. +1
    -0
      first-app/package.json
  3. +4
    -0
      first-app/src/main.tsx
  4. +76
    -10
      first-app/src/pages/Encomenda/Encomendas.tsx

+ 16
- 0
first-app/package-lock.json View File

@ -18,6 +18,7 @@
"react-toastify": "^9.1.3"
},
"devDependencies": {
"@netuno/service-client": "^1.2.0",
"@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11",
"@types/react-highlight-words": "^0.16.4",
@ -995,6 +996,15 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true
},
"node_modules/@netuno/service-client": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/@netuno/service-client/-/service-client-1.2.0.tgz",
"integrity": "sha512-Dya8nYgBZAZdiAz2GZCi/edYMao5IKf9ed+LPUdKKXg0aFZQRyIZCHLrcM1UI1oxX2tsEimXjLuFTfZYDhsEXA==",
"dev": true,
"dependencies": {
"just-extend": "^6.0.1"
}
},
"node_modules/@nodelib/fs.scandir": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -2587,6 +2597,12 @@
"node": ">=6"
}
},
"node_modules/just-extend": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/just-extend/-/just-extend-6.2.0.tgz",
"integrity": "sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==",
"dev": true
},
"node_modules/levn": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",


+ 1
- 0
first-app/package.json View File

@ -20,6 +20,7 @@
"react-toastify": "^9.1.3"
},
"devDependencies": {
"@netuno/service-client": "^1.2.0",
"@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11",
"@types/react-highlight-words": "^0.16.4",


+ 4
- 0
first-app/src/main.tsx View File

@ -3,10 +3,14 @@ import ReactDOM from 'react-dom/client'
import 'antd/dist/reset.css'
import './index.css'
import App from './App.tsx'
import _service from '@netuno/service-client';
import store from './store.ts'
import { Provider } from 'react-redux'
_service.config({
prefix: 'http://localhost:9000/services/'
});
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<React.StrictMode>


+ 76
- 10
first-app/src/pages/Encomenda/Encomendas.tsx View File

@ -9,6 +9,7 @@ import { useDispatch, useSelector } from 'react-redux';
import {
getAllEncomenda
} from '../../slices/EncomendaSlice';
import { ParamsType } from '../../interfaces/ParamsType';
function Encomendas() {
@ -16,13 +17,27 @@ function Encomendas() {
const { encomendas, loading } = useSelector((state: any) => state.encomenda);
const [searchText, setSearchText] = useState('');
const [estadoFilter, setEstadoFilter] = useState('');
const [statusFilter, setStatusFilter] = useState('');
const [clienteFilter, setClienteFilter] = useState('');
const [dataFilter, setDataFilter] = useState('');
const [dataCriacaoFilter, setDataCriacaoFilter] = useState('');
const [dataEnvioFilter, setDataEnvioFilter] = useState('');
const [searchedColumn, setSearchedColumn] = useState('');
const searchInput = useRef<InputRef>(null);
const parans:ParamsType = {
pagination:{
current:1,
pageSize:5
},
filter:{
data_criacao:dataCriacaoFilter,
data_envio:dataEnvioFilter,
status:statusFilter,
cliente:clienteFilter
}
}
const handleSearch = (
selectedKeys: string[],
@ -31,21 +46,71 @@ function Encomendas() {
setSearchText(selectedKeys[0]);
setSearchedColumn(dataIndex);
if (dataIndex == 'data') {
setDataFilter(selectedKeys[0])
console.log(selectedKeys[0])
} else if (dataIndex == 'cliente') {
setClienteFilter(selectedKeys[0])
console.log(selectedKeys[0])
if (dataIndex == 'data_envio') {
setDataEnvioFilter(selectedKeys[0]);
dispatch(getAllEncomenda(
{
pagination: {
current: 1,
pageSize: 5
},
filter:parans.filter
}
));
} else if (dataIndex == 'data_criacao') {
setDataCriacaoFilter(selectedKeys[0]);
dispatch(getAllEncomenda(
{
pagination: {
current: 1,
pageSize: 5
},
filter:{...parans.filter,data_criacao:selectedKeys[0]}
}
));
console.log(parans)
} else if (dataIndex == 'status') {
setEstadoFilter(selectedKeys[0]);
console.log(selectedKeys[0]);
setStatusFilter(selectedKeys[0])
dispatch(getAllEncomenda(
{
pagination: {
current: 1,
pageSize: 5
},
filter:{...parans.filter,status:selectedKeys[0]}
}
));
console.log(parans)
} else if (dataIndex == 'cliente') {
parans.filter.cliente = selectedKeys[0];
dispatch(getAllEncomenda(
{
pagination: {
current: 1,
pageSize: 5
},
filter:parans.filter
}
));
}
};
const handleReset = (clearFilters: () => void) => {
clearFilters();
setSearchText('');
setClienteFilter('');
setDataCriacaoFilter('');
setDataEnvioFilter('');
setStatusFilter('');
};
useEffect(() => {
@ -72,6 +137,7 @@ function Encomendas() {
{ value: '3', label: 'FINISHED' }
]}
style={{ marginBottom: 8, display: 'block' }}
onChange={(e) => setSelectedKeys(e ? [e] : [])}
value={selectedKeys[0]}
/>
) :


Loading…
Cancel
Save