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" "react-toastify": "^9.1.3"
}, },
"devDependencies": { "devDependencies": {
"@netuno/service-client": "^1.2.0",
"@types/react": "^18.0.37", "@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11", "@types/react-dom": "^18.0.11",
"@types/react-highlight-words": "^0.16.4", "@types/react-highlight-words": "^0.16.4",
@ -995,6 +996,15 @@
"integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
"dev": true "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": { "node_modules/@nodelib/fs.scandir": {
"version": "2.1.5", "version": "2.1.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@ -2587,6 +2597,12 @@
"node": ">=6" "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": { "node_modules/levn": {
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "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" "react-toastify": "^9.1.3"
}, },
"devDependencies": { "devDependencies": {
"@netuno/service-client": "^1.2.0",
"@types/react": "^18.0.37", "@types/react": "^18.0.37",
"@types/react-dom": "^18.0.11", "@types/react-dom": "^18.0.11",
"@types/react-highlight-words": "^0.16.4", "@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 'antd/dist/reset.css'
import './index.css' import './index.css'
import App from './App.tsx' import App from './App.tsx'
import _service from '@netuno/service-client';
import store from './store.ts' import store from './store.ts'
import { Provider } from 'react-redux' import { Provider } from 'react-redux'
_service.config({
prefix: 'http://localhost:9000/services/'
});
ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
<React.StrictMode> <React.StrictMode>


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

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


Loading…
Cancel
Save