{"version":3,"sources":["store/ducks/fazendas/index.ts","store/ducks/objetos/index.ts","hooks/usePesquisa.ts","store/ducks/tiposRecursos/index.ts","components/DmIconifiedSwitch/DmIconifiedSwitch.tsx","store/ducks/relatoriosUpload/index.ts","services/api/index.ts","store/ducks/relatorios/saga.ts","store/ducks/relatoriosUpload/saga.ts","pages/Cadastros/Usuarios/index.tsx","pages/Cadastros/Usuarios/Components/Row/index.tsx","pages/Cadastros/Usuarios/Components/Form/index.tsx","pages/Cadastros/Perfis/index.tsx","pages/Cadastros/Perfis/Components/Row/index.tsx","store/ducks/usuarios/index.ts","pages/Relatorios/Routes/RelPreExtrato/index.tsx","pages/Relatorios/Routes/RelPreCombustivel/index.tsx","pages/Relatorios/Routes/RelPreProducao/index.tsx","pages/Relatorios/Routes/RelPreRecurso/index.tsx","pages/Relatorios/Routes/RelForPagamento/index.tsx","pages/Relatorios/Routes/RelForCarregamento/index.tsx","pages/Relatorios/Routes/RelForCanaEntregue/index.tsx","pages/Cadastros/TiposArquivos/index.tsx","pages/Cadastros/TiposArquivos/Components/Form/index.tsx","pages/Cadastros/TiposArquivos/Components/Row/index.tsx","pages/Cadastros/Perfis/Components/InputSwitch/index.tsx","pages/Cadastros/Perfis/Components/Form/index.tsx","components/DmCollapseHandler/DmCollapseHandler.tsx","store/ducks/perfis/index.ts","store/ducks/tipoArquivo/index.ts","store/ducks/usuariosPrestadores/index.ts","store/ducks/usuariosFornecedores/index.ts","assets/DatamobIcon.tsx","assets/carousel/1-desktop.png","assets/carousel/2-desktop.png","assets/carousel/3-desktop.png","assets/carousel/1-mobile.png","assets/carousel/2-mobile.png","assets/carousel/3-mobile.png","components/Carousel.tsx","pages/Login/Components/Left/index.tsx","pages/Login/Routes/Confirmation/index.tsx","pages/Login/Routes/Form/index.tsx","pages/Login/Routes/NewPassword/index.tsx","pages/Login/Routes/Recovery/index.tsx","pages/Login/index.tsx","components/Menu.tsx","pages/Dashboard.tsx","pages/Cadastros/VinculosUsuarios/Components/Autocomplete/index.tsx","pages/Cadastros/VinculosUsuarios/Components/Form/index.tsx","pages/Cadastros/VinculosUsuarios/Components/Row/index.tsx","pages/Cadastros/VinculosUsuarios/index.tsx","pages/Relatorios/Components/Form.tsx","pages/Relatorios/Components/ModalUpload.tsx","components/Table/subcomponents/Row.tsx","components/Table/Table.tsx","pages/Relatorios/Components/ModalFiltros.tsx","components/UncontrolledLottie/index.jsx","pages/Relatorios/index.tsx","pages/Relatorios/Gerenciamento.tsx","pages/Relatorios/MeusUploads.tsx","pages/Main.tsx","App.tsx","basic/Styles/theme.ts","index.tsx","hooks/useOutsideClick.tsx","components/ProfileMenu.tsx","components/Header.tsx","store/ducks/relatorios/index.ts","store/ducks/login/index.ts","utils/StringUtils.ts","store/ducks/base/index.ts","store/ducks/rootReducer.ts","store/ducks/fazendas/saga.ts","store/ducks/fornecedores/saga.ts","store/ducks/login/saga.ts","store/ducks/objetos/saga.ts","store/ducks/perfis/saga.ts","store/ducks/prestadores/saga.ts","store/ducks/tiposRecursos/saga.ts","store/ducks/usuariosFornecedores/saga.ts","store/ducks/usuariosPrestadores/saga.ts","store/ducks/usuarios/saga.ts","store/ducks/tipoArquivo/saga.ts","store/ducks/rootSaga.ts","store/index.ts","store/ducks/fornecedores/index.ts","store/ducks/prestadores/index.ts"],"names":["initialState","filterList","error","undefined","fazendasSlice","createSlice","name","reducers","fazendasGetFilterRequest","state","action","fazendasGetFilterSuccess","payload","dados","fazendasGetFilterError","actions","objetosSlice","objetosGetFilterRequest","objetosGetFilterSuccess","objetosGetFilterError","usePesquisa","values","useState","Pesquisa","init","params","pesquisa","setPesquisa","handlePesquisa","key","value","novaPesquisa","clone","numPagina","handleCustomParameters","remove","removeParameter","setParameter","tiposRecursosSlice","tiposRecursosGetFilterRequest","tiposRecursosGetFilterSuccess","tiposRecursosGetFilterError","DmIconifiedSwitch","styled","noIcon","rest","disableRipple","theme","width","height","padding","margin","transitionDuration","transform","color","backgroundImage","encodeURIComponent","backgroundColor","opacity","border","palette","mode","boxSizing","content","position","left","top","backgroundRepeat","backgroundPosition","borderRadius","transition","transitions","create","duration","data","file","pagination","Paginacao","getValoresPadrao","downloadError","uploadError","uploadState","deleteError","deleteState","fileRequestState","fileRequestError","arquivoUploadSlice","arquivosGetRequest","arquivosGetSuccess","arquivosGetError","arquivosDownloadRequest","forEach","item","index","table","line","splice","arquivosDownloadSuccess","arquivosDownloadError","length","map","arquivosDownloadIdle","arquivosUploadRequest","arquivosUploadSuccess","arquivosUploadError","arquivosUploadIdle","arquivosUpdateRequest","arquivosUpdateSuccess","arquivosUpdateError","arquivosUpdateIdle","arquivosDeleteRequest","arquivosDeleteSuccess","arquivosDeleteError","arquivosDeleteIdle","api","axios","baseURL","interceptors","request","use","session","store","getState","authenticated","headers","Authorization","user","accessToken","Promise","reject","message","response","status","dispatch","logout","responseType","text","then","JSON","parse","sendDownloadRequest","downloadFile","fileName","fileExtension","blob","Blob","fileURL","global","window","URL","createObjectURL","fileLink","document","createElement","setAttribute","body","appendChild","click","removeChild","getFileNameFromHeader","responseHeaders","split","lastIndexOf","substring","replaceAll","query","call","get","url","blobURL","put","relatoriosDownloadSuccess","relatoriosDownloadError","all","takeLatest","relatoriosDownloadRequest","sendGetRequest","sendUploadRequest","sendDeleteRequest","sendUpdateRequest","periodoRef","toISOString","periodoUp","prestadores","codigo","fornecedores","descricao","usuarioUpload","formData","FormData","append","formFile","nomArquivo","idRelTpArquivo","toString","lstCodFornecedores","lstCodPrestadores","dtaFim","dtaIni","codAno","codMes","desObs","substituirExistentes","post","idRelArquivo","delete","debounce","Usuarios","flgAcesso","useAppSelector","objetos","find","x","nomPagina","toLowerCase","flgTipo","setFlgTipo","rowSelected","setRowSelected","isModalOpen","setModalOpen","isFormOpened","setFormOpened","isSearchFocused","setSearchFocused","isNewUserSection","setNewUserSection","usuario","setUsuario","useAppDispatch","usuarios","loading","getError","errors","changePassword","changePasswordState","operationState","isErrorCollapseOpened","setErrorCollapseOpened","isGetErrorCollapseOpened","setGetErrorCollapseOpened","useEffect","usuariosCleanError","usuariosIdleOperation","usuariosGetRequest","handleFormOpen","open","newUser","setTimeout","getElementById","focus","idRelUsuario","handleUpdate","flgAtivo","usuariosPutRequest","isOverflown","e","scrollWidth","clientWidth","scrollHeight","clientHeight","arrElems","getElementsByClassName","deleteModalElem","getElementsByTagName","elem","classList","add","className","title","variant","onChange","event","newValue","label","icon","id","filtroPadrao","target","onFocus","onBlur","autoComplete","fullWidth","InputProps","disableUnderline","onClick","disabled","startIcon","style","overflow","loadingUsersRows","indexSelected","handleModalOpen","handleIndexSelected","handleChangeFlgAtivo","onClose","usuariosCancelDelete","closeAfterTransition","keepMounted","disablePortal","BackdropComponent","Backdrop","BackdropProps","timeout","in","desNome","sx","m","usuariosDeleteRequest","type","size","marginTop","marginLeft","tipoUsuario","arr","i","push","animation","marginRight","component","flex","Row","loggedUser","bgcolor","fontWeight","fontSize","children","getInitialsFromString","desEmail","checked","stopPropagation","desLogin","tabIndex","display","codColaborador","schema","Yup","notRequired","idRelPerfil","isNaN","moreThan","max","required","email","nullable","default","desSenha","min","desCpfCnpj","test","when","is","defaultValues","Form","initials","setInitials","perfil","setPerfil","focusPerfil","setFocusPerfil","perfis","operationError","useForm","resolver","yupResolver","clearErrors","handleSubmit","register","reset","setValue","control","formState","handleInitials","perfisGetFilterRequest","novoPerfil","noValidate","onSubmit","usuariosPostRequest","render","field","ref","fieldState","placeholder","inputProps","maxLength","helperText","inputRef","replace","maskCpfCnpj","blurOnSelect","clearOnBlur","selectOnFocus","handleHomeEndKeys","disableCloseOnSelect","filterSelectedOptions","openText","closeText","clearText","loadingText","noOptionsText","options","getOptionLabel","option","renderInput","restParams","startAdornment","restInputProps","maxHeight","marginBottom","overflowY","InputLabelProps","shrink","_","parseInt","usuariosCancelOperation","isSubmitting","Perfis","perfisCleanError","perfisIdleOperation","perfisGetRequest","loadingProfilesRows","perfisCancelDelete","desPerfil","perfisDeleteRequest","changePasswordError","usuariosSlice","usuariosGetSuccess","paginacao","usuariosGetError","usuariosGetFilterRequest","usuariosGetFilterSuccess","usuariosGetFilterError","usuariosOperationSuccess","usuariosOperationError","usuariosDeleteError","usuariosDeleteSuccess","usuariosIdleDelete","changeUsuarioPasswordRequest","changeUsuarioPasswordSuccess","changeUsuarioPasswordError","changeUsuarioPasswordIdle","changeUsuarioPasswordCancel","dtaInicio","typeError","RelPreExtrato","date","setDate","setPrestadores","prest","usuariosPrestadores","pdf","relatorios","pdfError","isLoading","history","useHistory","usuariosPrestadoresGetFilterRequest","relatoriosDownloadIdle","alignContent","concat","format","dateAdapter","AdapterDateFns","locale","brLocale","mask","startText","endText","startProps","endProps","Fragment","mx","multiple","disableListWrap","limitTags","ChipProps","join","goBack","RelPreCombustivel","RelPreProducao","codTpRecurso","RelPreRecurso","tipoRecurso","setTipoRecurso","tipRec","tiposRecursos","RelForPagamento","initialDate","setInitialDate","finalDate","setFinalDate","setFornecedores","forn","usuariosFornecedores","usuariosFornecedoresGetFilterRequest","direction","openTo","inputFormat","views","disableFuture","disableMaskedInput","InputAdornmentProps","lstCodFazendas","RelForCarregamento","fazendas","setFazendas","faz","fornec","RelForCanaEntregue","TiposArquivos","tipoArquivo","setTipoArquivo","tiposArquivos","tipoArquivoCleanError","tipoArquivoIdleOperation","tipoArquivoGetRequest","tipoArquivoCancelDelete","desTpArquivo","tipoArquivoDeleteRequest","flgReferencia","referencias","referencia","setReferencia","focusRef","setFocusRef","tipoArquivoPutRequest","tipoArquivoPostRequest","referenciaToStringLabel","tipoArquivoCancelOperation","InputSwitch","props","updateState","findIndex","codObjeto","justifyContent","FormControlLabel","Checkbox","toUpperCase","componentsProps","typography","whiteSpace","textOverflow","FormHelperText","lstPerfisObjetos","perfisPutRequest","perfisPostRequest","DmCollapseHandler","TextField","Button","perfisCancelOperation","Box","CircularProgress","tipo","errorSeverity","setErrorSeverity","severity","mb","mensagem","perfisSlice","perfisGetSuccess","perfisGetError","perfisGetFilterSuccess","perfisOperationSuccess","perfisOperationError","perfisDeleteError","perfisDeleteSuccess","perfisIdleDelete","tipoArquivoSlice","tipoArquivoGetSuccess","tipoArquivoGetError","tipoArquivoGetFilterRequest","tipoArquivoGetFilterSuccess","tipoArquivoOperationSuccess","tipoArquivoOperationError","tipoArquivoDeleteError","tipoArquivoDeleteSuccess","tipoArquivoIdleDelete","usuariosPrestadoresSlice","usuariosPrestadoresGetRequest","usuariosPrestadoresGetSuccess","usuariosPrestadoresGetError","usuariosPrestadoresGetFilterSuccess","usuariosPrestadoresPostRequest","usuariosPrestadoresPutRequest","usuariosPrestadoresDeleteRequest","usuariosPrestadoresOperationSuccess","usuariosPrestadoresOperationError","usuariosPrestadoresDeleteError","usuariosPrestadoresDeleteSuccess","usuariosFornecedoresSlice","usuariosFornecedoresGetRequest","usuariosFornecedoresGetSuccess","usuariosFornecedoresGetError","usuariosFornecedoresGetFilterSuccess","usuariosFornecedoresPostRequest","usuariosFornecedoresPutRequest","usuariosFornecedoresDeleteRequest","usuariosFornecedoresOperationSuccess","usuariosFornecedoresOperationError","usuariosFornecedoresDeleteError","usuariosFornecedoresDeleteSuccess","DatamobIcon","viewBox","fill","xmlns","d","Carousel","carouselIndex","setCarouselIndex","timer","clearTimeout","Left","Typography","src","mobile1","alt","desktop1","mobile2","desktop2","mobile3","desktop3","Confirmation","fields","autoFocus","to","Login","loginError","loginRequest","NewPassword","Recovery","recoveryError","isAllertCollapseOpened","setAlertCollapseOpened","recoveryRequest","readOnly","textDecoration","Canvas","path","menuItens","link","menuItensRelatorios","Menu","React","setState","stateRelatorios","setStateRelatorios","toggleDrawer","toggleDrawerRelatorios","location","useLocation","pathname","t","Drawer","anchor","PaperProps","role","onKeyDown","List","filter","menu","objeto","ListItem","button","ListItemText","primary","Dashboard","Header","renderRow","dataSet","inlineStyle","hasOwnProperty","ListSubheader","group","OuterElementContext","createContext","OuterElementType","forwardRef","outerProps","useContext","ListboxComponent","other","itemData","useTheme","smUp","useMediaQuery","breakpoints","up","noSsr","itemCount","itemSize","getChildSize","child","gridRef","useRef","current","resetAfterIndex","useResetCache","Provider","reduce","a","b","outerElementType","innerElementType","overscanCount","StyledPopper","Popper","autocompleteClasses","listbox","onCancel","tabsForm","setTabsForm","fornecedoresAntigos","setFornecedoresAntigos","prestadoresAntigos","setPrestadoresAntigos","lstFornecedores","lstPrestadores","fornAux","prestAux","codFornecedor","desFornecedor","codPrestador","nomPrestador","fornecedoresGetFilterRequest","prestadoresGetFilterRequest","preventDefault","deleteForn","includes","createForn","deletePrest","createPrest","usuForn","usuPrest","Tabs","Tab","Autocomplete","getOptionDisabled","PopperComponent","renderOption","selected","isOptionEqualToValue","Avatar","VinculosUsuarios","ufOperationState","Skeleton","autocompleteProps","autocompleteUniqueProps","forns","prests","yearOnlyDatePicker","setYearOnlyDatePicker","dateOnly","setDateOnly","yearAndMonthDatePicker","setYearAndMonthDatePicker","datePeriodo","setDatePeriodo","nomArqWhenDocExists","setNomArqWhenDocExists","desObsForm","setDesObsForm","arquivoUpload","doc","tipoArquivoWhenEdit","Date","setMonth","setFullYear","trigger","setFile","setOpen","setSectionModalController","focusForn","setFocusForn","focusPrest","setFocusPrest","desTipo","Card","elevation","CardContent","multiline","rows","defaultValue","sectionModalController","LocalizationProvider","DatePicker","getFullYear","OpenPickerButtonProps","PopperProps","getMonth","DateRangePicker","desktopModeMediaQuery","getTime","Tooltip","placement","FormGroup","ModalUpload","isUnsuportedFile","setUnsuportedFile","isUnsuportedStyle","setUnsuportedStyle","blink","setBlink","Modal","Fade","noClick","noKeyboard","accept","onDropAccepted","files","onDropRejected","getRootProps","getInputProps","visibility","flexDirection","alignItems","zIndex","collapsed","setCollapsed","isConfirmDeleteView","showConfirmDelete","isErrorView","showErrorView","isDownloading","setDownloading","tableIndex","rowIndex","descDateRef","slice","dateFormatter","fullView","trim","textAlign","desNomeUsuarioUpload","dtaUpload","IconButton","disableButtons","conditionalArrayTypeRender","arrArquivo","arrGui","linkTo","Table","node","subtitle","users","setUsers","isDatePickerOpened","setDatePickerOpened","datePeriodoRef","setDatePeriodoRef","datePeriodoUp","setDatePeriodoUp","filtros","lstUsuarios","admin","cancelText","okText","toolbarTitle","onOpen","setFiltros","UncontrolledLottie","Lottie","loadAnimation","container","querySelector","loadingIndex","animationData","defaultValuesFiltros","Documentos","openFilters","setOpenFilters","arquivosByTipo","arquivosState","displayColumn","setDisplayColumn","showingAlert","setShowingAlert","getObjetos","flgFiltro","lstSistemas","sistema","lstTiposObjetos","tipoObjeto","lstObjetos","desObjeto","mr","Badge","invisible","stringify","gridTemplateColumns","gap","loadingSkeletonElements","filesTypes","arrAux","arquivos","paddingRight","mt","Gerenciamento","MeusUploads","Main","Relatorios","connect","logged","createTheme","fontFamily","light","main","dark","contrastText","ReactDOM","StrictMode","ThemeProvider","useOutsideClick","callback","handleClick","contains","addEventListener","removeEventListener","desNovaSenha","oneOf","desConfirmaNovaSenha","ProfileMenu","success","setSuccess","handleClose","nomUsuario","onLogout","Stack","toLocaleString","relatoriosSlice","jsonUser","localStorage","getItem","sessionSlice","loginSuccess","setItem","recoverySuccess","removeItem","string","aux","charAt","toLocaleUpperCase","getUTCHours","toLocaleDateString","timeZone","numRegInicial","numRegFinal","totRegistros","itensPorPagina","novaOrdenacao","parametrosPersonalizados","Map","Object","assign","this","param","set","stringPesquisa","entries","clear","rootReducer","combineReducers","reducer","fornecedoresSlice","prestadoresSlice","sendGetFilterRequest","fornecedoresGetFilterSuccess","fornecedoresGetFilterError","sendLoginRequest","sendRecoveryRequest","URLSearchParams","client_id","sendPostRequest","sendPutRequest","prestadoresGetFilterSuccess","prestadoresGetFilterError","sendChangePasswordRequest","rootSaga","fazendasSaga","fornecedoresSaga","loginSaga","objetosSaga","perfisSaga","prestadoresSaga","relatoriosSaga","tiposRecursosSaga","usuariosFornecedoresSaga","usuariosPrestadoresSaga","usuariosSaga","tipoArquivoSaga","arquivoUploadSaga","sagaMiddleware","createSagaMiddleware","configureStore","middleware","getDefaultMiddleware","thunk","devTools","run","useSelector","useDispatch"],"mappings":"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","file":"static/js/main.4180db1b.chunk.js","sourcesContent":["import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { FazendasState } from 'src/store/ducks/fazendas/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: FazendasState = {\r\n filterList: [],\r\n error: undefined,\r\n};\r\n\r\nexport const fazendasSlice = createSlice({\r\n name: 'fazendas',\r\n initialState: initialState,\r\n reducers: {\r\n fazendasGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n fazendasGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n state.error = undefined;\r\n },\r\n fazendasGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n fazendasGetFilterRequest,\r\n fazendasGetFilterSuccess,\r\n fazendasGetFilterError,\r\n} = fazendasSlice.actions;\r\n\r\nexport default fazendasSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { ObjetosState } from 'src/store/ducks/objetos/types';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: ObjetosState = {\r\n filterList: [],\r\n error: undefined,\r\n};\r\n\r\nexport const objetosSlice = createSlice({\r\n name: 'objetos',\r\n initialState: initialState,\r\n reducers: {\r\n objetosGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n objetosGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n state.error = undefined;\r\n },\r\n objetosGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n objetosGetFilterRequest,\r\n objetosGetFilterSuccess,\r\n objetosGetFilterError,\r\n} = objetosSlice.actions;\r\n\r\nexport default objetosSlice.reducer;\r\n","import { useState } from 'react';\r\nimport { Pesquisa } from 'src/store/ducks/base';\r\nimport { InfoPesquisa, InfoPesquisaProps } from 'src/store/ducks/base/types';\r\n\r\ntype CustomParametersOptions = {\r\n key: string;\r\n value?: string;\r\n remove?: boolean;\r\n};\r\n\r\ntype PesquisaHandler = (\r\n key: keyof InfoPesquisaProps,\r\n value?: number | string\r\n) => void;\r\n\r\ntype PesquisaCustomHandler = (options: CustomParametersOptions) => void;\r\n\r\ntype InitialState = {\r\n init?: Partial;\r\n params?: Array<{ key: string; value: string }>;\r\n};\r\n\r\ntype PesquisaHook = {\r\n pesquisa: Readonly;\r\n handlePesquisa: PesquisaHandler;\r\n handleCustomParameters: PesquisaCustomHandler;\r\n};\r\n\r\nexport function usePesquisa(values?: InitialState): PesquisaHook {\r\n const [pesquisa, setPesquisa] = useState(\r\n new Pesquisa(values?.init, values?.params)\r\n );\r\n\r\n const handlePesquisa = (key: keyof InfoPesquisa, value?: number | string) => {\r\n const novaPesquisa = pesquisa.clone();\r\n novaPesquisa.numPagina = 1;\r\n\r\n novaPesquisa[key] = value as never;\r\n\r\n setPesquisa(novaPesquisa);\r\n };\r\n\r\n const handleCustomParameters = ({\r\n key,\r\n value = '',\r\n remove = false,\r\n }: CustomParametersOptions) => {\r\n const novaPesquisa = pesquisa.clone();\r\n novaPesquisa.numPagina = 1;\r\n\r\n if (remove) {\r\n novaPesquisa.removeParameter(key);\r\n } else {\r\n novaPesquisa.setParameter(key, value ?? '');\r\n }\r\n\r\n setPesquisa(novaPesquisa);\r\n };\r\n\r\n return {\r\n pesquisa,\r\n handlePesquisa,\r\n handleCustomParameters,\r\n };\r\n}\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { TiposRecursosState } from 'src/store/ducks/tiposRecursos/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: TiposRecursosState = {\r\n filterList: [],\r\n error: undefined,\r\n};\r\n\r\nexport const tiposRecursosSlice = createSlice({\r\n name: 'tiposRecursos',\r\n initialState: initialState,\r\n reducers: {\r\n tiposRecursosGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n tiposRecursosGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n state.error = undefined;\r\n },\r\n tiposRecursosGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n tiposRecursosGetFilterRequest,\r\n tiposRecursosGetFilterSuccess,\r\n tiposRecursosGetFilterError,\r\n} = tiposRecursosSlice.actions;\r\n\r\nexport default tiposRecursosSlice.reducer;\r\n","import React from 'react';\r\nimport { styled } from '@mui/material/styles';\r\nimport Switch, { SwitchProps } from '@mui/material/Switch';\r\n\r\ntype IconsProps = {\r\n firstIcon?: any;\r\n secondIcon?: any;\r\n noIcon?: boolean;\r\n};\r\n\r\nconst DmIconifiedSwitch = styled(\r\n ({ noIcon, ...rest }: SwitchProps & IconsProps) => (\r\n \r\n )\r\n)(({ theme, noIcon }) => ({\r\n width: 42,\r\n height: 26,\r\n padding: 0,\r\n '& .MuiSwitch-switchBase': {\r\n padding: 0,\r\n margin: 2,\r\n transitionDuration: '300ms',\r\n '&.Mui-checked': {\r\n transform: 'translateX(16px)',\r\n color: '#fff',\r\n '& .MuiSwitch-thumb:before': {\r\n backgroundImage: !noIcon\r\n ? `url('data:image/svg+xml;utf8,')`\r\n : '',\r\n },\r\n '& + .MuiSwitch-track': {\r\n backgroundColor: '#23ace6',\r\n opacity: 1,\r\n border: 0,\r\n },\r\n '&.Mui-disabled + .MuiSwitch-track': {\r\n opacity: 0.5,\r\n },\r\n },\r\n '&.Mui-disabled + .MuiSwitch-track': {\r\n opacity: theme.palette.mode === 'light' ? 0.7 : 0.3,\r\n },\r\n },\r\n '& .MuiSwitch-thumb': {\r\n boxSizing: 'border-box',\r\n width: 22,\r\n height: 22,\r\n '&:before': {\r\n content: \"''\",\r\n position: 'absolute',\r\n width: '100%',\r\n height: '100%',\r\n left: 0,\r\n top: 0,\r\n backgroundRepeat: 'no-repeat',\r\n backgroundPosition: 'center',\r\n backgroundImage: !noIcon\r\n ? `url('data:image/svg+xml;utf8,')`\r\n : '',\r\n },\r\n },\r\n '& .MuiSwitch-track': {\r\n borderRadius: 26 / 2,\r\n backgroundColor: theme.palette.mode === 'light' ? '#E9E9EA' : '#39393D',\r\n opacity: 1,\r\n transition: theme.transitions.create(['background-color'], {\r\n duration: 500,\r\n }),\r\n },\r\n}));\r\n\r\nexport default DmIconifiedSwitch;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\nimport { FiltrosRelatorios } from 'src/pages/Relatorios/Gerenciamento';\r\nimport { Paginacao } from '../base';\r\nimport { RespostaApi } from '../base/types';\r\nimport { ErrorAPI } from '../types';\r\nimport {\r\n ArquivosByTipo,\r\n ArquivosState,\r\n ArquivoUpdate,\r\n ArquivoUpload,\r\n ArquivoUploadReceiveFormat,\r\n} from './types';\r\n\r\nconst initialState: ArquivosState = {\r\n data: [],\r\n file: undefined,\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n error: undefined,\r\n state: undefined,\r\n downloadError: [],\r\n uploadError: undefined,\r\n uploadState: undefined, // undef- idle; s- success; e- error; l-loading\r\n deleteError: undefined,\r\n deleteState: undefined, // undef- idle; s- success; e- error; l-loading\r\n fileRequestState: undefined,\r\n fileRequestError: undefined,\r\n};\r\n\r\nexport const arquivoUploadSlice = createSlice({\r\n name: 'arquivos',\r\n initialState: initialState,\r\n reducers: {\r\n arquivosGetRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n state.state = 'l';\r\n state.downloadError = [];\r\n },\r\n arquivosGetSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.data = action.payload.dados;\r\n state.error = undefined;\r\n state.state = 's';\r\n },\r\n arquivosGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.state = 'e';\r\n },\r\n arquivosDownloadRequest: (state, action: PayloadAction>) => {\r\n state.downloadError.forEach((item, index) => {\r\n if (\r\n item?.table === action.payload[1] &&\r\n item?.line === action.payload[2]\r\n ) {\r\n state.downloadError.splice(index, 1);\r\n return;\r\n }\r\n });\r\n },\r\n arquivosDownloadSuccess: (state, action: PayloadAction<[any, number, number]>) => {\r\n state.file = action.payload[0];\r\n state.downloadError.forEach((item, index) => {\r\n if (\r\n item?.table === action.payload[1] &&\r\n item?.line === action.payload[2]\r\n ) {\r\n state.downloadError.splice(index, 1);\r\n return;\r\n }\r\n });\r\n },\r\n arquivosDownloadError: (\r\n state,\r\n action: PayloadAction<[ErrorAPI, number, number]>\r\n ) => {\r\n if (state.downloadError && state.downloadError.length === 0 && state.downloadError) {\r\n state.downloadError = [\r\n {\r\n error: action.payload[0],\r\n table: action.payload[1],\r\n line: action.payload[2],\r\n },\r\n ];\r\n } else {\r\n state.downloadError = state.downloadError.map((item, index) => {\r\n if (\r\n item?.table === action.payload[1] &&\r\n item?.line === action.payload[2]\r\n ) {\r\n return {\r\n error: action.payload[0],\r\n table: action.payload[1],\r\n line: action.payload[2],\r\n };\r\n } else {\r\n return state.downloadError[index];\r\n }\r\n });\r\n }\r\n },\r\n arquivosDownloadIdle: (state) => {\r\n state.file = undefined;\r\n },\r\n arquivosUploadRequest: (state, action: PayloadAction) => {\r\n state.uploadError = undefined;\r\n state.uploadState = 'l';\r\n },\r\n arquivosUploadSuccess: (state) => {\r\n state.uploadError = undefined;\r\n state.uploadState = 's';\r\n },\r\n arquivosUploadError: (state, action: PayloadAction) => {\r\n state.uploadError = action.payload;\r\n state.uploadState = 'e';\r\n },\r\n arquivosUploadIdle: (state) => {\r\n state.uploadState = undefined;\r\n state.uploadError = undefined;\r\n },\r\n arquivosUpdateRequest: (state, action: PayloadAction) => {\r\n state.uploadError = undefined;\r\n state.uploadState = 'l';\r\n },\r\n arquivosUpdateSuccess: (state) => {\r\n state.uploadError = undefined;\r\n state.uploadState = 's';\r\n },\r\n arquivosUpdateError: (state, action: PayloadAction) => {\r\n state.uploadError = action.payload;\r\n state.uploadState = 'e';\r\n },\r\n arquivosUpdateIdle: (state) => {\r\n state.uploadState = undefined;\r\n state.uploadError = undefined;\r\n },\r\n arquivosDeleteRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'l';\r\n },\r\n arquivosDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 's';\r\n },\r\n arquivosDeleteError: (state, action: PayloadAction) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'e';\r\n },\r\n arquivosDeleteIdle: (state) => {\r\n state.uploadState = undefined;\r\n state.deleteState = undefined;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n arquivosGetRequest,\r\n arquivosGetSuccess,\r\n arquivosGetError,\r\n arquivosDownloadRequest,\r\n arquivosDownloadSuccess,\r\n arquivosDownloadError,\r\n arquivosDownloadIdle,\r\n arquivosUploadRequest,\r\n arquivosUploadSuccess,\r\n arquivosUploadError,\r\n arquivosUploadIdle,\r\n arquivosUpdateRequest,\r\n arquivosUpdateSuccess,\r\n arquivosUpdateError,\r\n arquivosUpdateIdle,\r\n arquivosDeleteRequest,\r\n arquivosDeleteSuccess,\r\n arquivosDeleteError,\r\n arquivosDeleteIdle,\r\n} = arquivoUploadSlice.actions;\r\n\r\nexport default arquivoUploadSlice.reducer;\r\n","import axios from 'axios';\r\n\r\nimport store from 'src/store';\r\nimport { logout } from 'src/store/ducks/login';\r\n\r\nconst api = axios.create({\r\n baseURL: 'http://168.138.138.124/ApiDatamobRelatorio/api',\r\n});\r\n\r\napi.interceptors.request.use(\r\n (request) => {\r\n const state = store.getState();\r\n const session = state.session;\r\n\r\n if (session.authenticated) {\r\n request.headers = {\r\n ...request.headers,\r\n Authorization: `Bearer ${session.user?.accessToken}`,\r\n };\r\n }\r\n\r\n return request;\r\n },\r\n (error) => {\r\n if (error.request) {\r\n return Promise.reject(error.request);\r\n }\r\n return Promise.reject(error.message);\r\n }\r\n);\r\n\r\napi.interceptors.response.use(\r\n (response) => {\r\n if (response.status === 401) {\r\n store.dispatch(logout());\r\n }\r\n\r\n if (response.status === 403) {\r\n }\r\n\r\n return response;\r\n },\r\n (error) => {\r\n if (error.request?.responseType === 'blob' && error.response?.data) {\r\n const blob = error.response.data as Blob;\r\n return blob.text().then((text) => Promise.reject(JSON.parse(text)));\r\n }\r\n if (error.response?.data) {\r\n return Promise.reject(error.response.data);\r\n }\r\n return Promise.reject(error.message);\r\n }\r\n);\r\n\r\nexport default api;\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport {\r\n relatoriosDownloadError,\r\n relatoriosDownloadRequest,\r\n relatoriosDownloadSuccess,\r\n} from 'src/store/ducks/relatorios';\r\n\r\nfunction downloadFile(\r\n data: any,\r\n fileName: string | null,\r\n fileExtension: string\r\n): void {\r\n const blob = new Blob([data]);\r\n\r\n const fileURL = global.window.URL.createObjectURL(blob);\r\n const fileLink = global.window.document.createElement('a');\r\n\r\n fileLink.setAttribute('href', fileURL);\r\n fileLink.setAttribute(\r\n 'download',\r\n `${fileName ?? 'download'}.${fileExtension}`\r\n );\r\n\r\n global.window.document.body.appendChild(fileLink);\r\n\r\n fileLink.click();\r\n\r\n global.window.document.body.removeChild(fileLink);\r\n}\r\n\r\nfunction getFileNameFromHeader(responseHeaders: any): string | null {\r\n try {\r\n const fileNameheader = responseHeaders['content-disposition'] as string;\r\n const fileName = fileNameheader.split(\"''\")[1];\r\n const index = fileName.lastIndexOf('.');\r\n\r\n return fileName.substring(0, index).replaceAll('%20', ' ');\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport function* sendDownloadRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload.query ?? '';\r\n\r\n const response: AxiosResponse = yield call(\r\n api.get,\r\n `${action.payload.url}${query}`,\r\n {\r\n responseType: 'blob',\r\n }\r\n );\r\n const fileName = getFileNameFromHeader(response.headers);\r\n const blobURL = URL.createObjectURL(response.data);\r\n\r\n downloadFile(response.data, fileName, 'pdf');\r\n\r\n yield put(relatoriosDownloadSuccess(blobURL));\r\n } catch (error: any) {\r\n yield put(relatoriosDownloadError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(relatoriosDownloadRequest, sendDownloadRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, debounce, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport {\r\n arquivosGetError,\r\n arquivosGetRequest,\r\n arquivosGetSuccess,\r\n arquivosDownloadError,\r\n arquivosDownloadRequest,\r\n arquivosDownloadSuccess,\r\n arquivosUploadError,\r\n arquivosUploadRequest,\r\n arquivosUploadSuccess,\r\n arquivosDeleteRequest,\r\n arquivosDeleteSuccess,\r\n arquivosDeleteError,\r\n arquivosUpdateRequest,\r\n arquivosUpdateError,\r\n arquivosUpdateSuccess,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { RespostaApi } from '../base/types';\r\nimport { ArquivosByTipo } from './types';\r\n\r\nexport function* sendGetRequest(action: ReturnType) {\r\n try {\r\n let query = '';\r\n if (action.payload) {\r\n query = '?';\r\n if (\r\n action.payload.periodoRef &&\r\n action.payload.periodoRef[0] &&\r\n action.payload.periodoRef[1]\r\n ) {\r\n query += `dtaIni=${\r\n action.payload.periodoRef[0].toISOString().split('T')[0]\r\n }&`;\r\n query += `dtaFim=${\r\n action.payload.periodoRef[1].toISOString().split('T')[0]\r\n }`;\r\n } else if (action.payload.periodoRef && action.payload.periodoRef[0]) {\r\n query += `dtaIni=${\r\n action.payload.periodoRef[0].toISOString().split('T')[0]\r\n }`;\r\n } else if (action.payload.periodoRef && action.payload.periodoRef[1]) {\r\n query += `dtaFim=${\r\n action.payload.periodoRef[1].toISOString().split('T')[0]\r\n }`;\r\n }\r\n\r\n if (\r\n action.payload.periodoUp &&\r\n action.payload.periodoUp[0] &&\r\n action.payload.periodoUp[1]\r\n ) {\r\n if (query !== '?') query += '&';\r\n query += `dtaUploadIni=${\r\n action.payload.periodoUp[0].toISOString().split('T')[0]\r\n }&`;\r\n query += `dtaUploadFim=${\r\n action.payload.periodoUp[1].toISOString().split('T')[0]\r\n }`;\r\n } else if (action.payload.periodoUp && action.payload.periodoUp[0]) {\r\n if (query !== '?') query += '&';\r\n query += `dtaIni=${\r\n action.payload.periodoUp[0].toISOString().split('T')[0]\r\n }`;\r\n } else if (action.payload.periodoUp && action.payload.periodoUp[1]) {\r\n if (query !== '?') query += '&';\r\n query += `dtaFim=${\r\n action.payload.periodoUp[1].toISOString().split('T')[0]\r\n }`;\r\n }\r\n\r\n if (action.payload.prestadores) {\r\n if (query !== '?') query += '&';\r\n query += `lstCodPrestadores=`;\r\n\r\n action.payload.prestadores.forEach((item, index) => {\r\n query += item.codigo;\r\n if (index !== (action.payload?.prestadores?.length || 0) - 1)\r\n query += ',';\r\n });\r\n }\r\n\r\n if (action.payload.fornecedores) {\r\n if (query !== '?') query += '&';\r\n query += `lstCodFornecedores=`;\r\n\r\n action.payload.fornecedores.forEach((item, index) => {\r\n query += item.codigo;\r\n if (index !== (action.payload?.fornecedores?.length || 0) - 1)\r\n query += ',';\r\n });\r\n }\r\n\r\n if (action.payload.descricao) {\r\n if (query !== '?') query += '&';\r\n query += `filtroPadrao=${action.payload.descricao}`;\r\n }\r\n\r\n if (action.payload.usuarioUpload) {\r\n if (query !== '?') query += '&';\r\n query += `idRelUsuarioUpload=`;\r\n\r\n query += action.payload.usuarioUpload;\r\n }\r\n }\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Relatorios/v1/${query}`\r\n );\r\n\r\n yield put(arquivosGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(arquivosGetError(error));\r\n }\r\n}\r\n\r\nfunction downloadFile(\r\n data: any,\r\n fileName: string | null,\r\n fileExtension: string\r\n): void {\r\n const blob = new Blob([data]);\r\n\r\n const fileURL = global.window.URL.createObjectURL(blob);\r\n const fileLink = global.window.document.createElement('a');\r\n\r\n fileLink.setAttribute('href', fileURL);\r\n fileLink.setAttribute(\r\n 'download',\r\n `${fileName ?? 'download'}.${fileExtension}`\r\n );\r\n\r\n global.window.document.body.appendChild(fileLink);\r\n\r\n fileLink.click();\r\n\r\n global.window.document.body.removeChild(fileLink);\r\n}\r\n\r\nfunction getFileNameFromHeader(responseHeaders: any): string | null {\r\n try {\r\n const fileNameheader = responseHeaders['content-disposition'] as string;\r\n const fileName = fileNameheader.split(\"''\")[1];\r\n const index = fileName.lastIndexOf('.');\r\n\r\n return fileName.substring(0, index).replaceAll('%20', ' ');\r\n } catch {\r\n return null;\r\n }\r\n}\r\n\r\nexport function* sendDownloadRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload[0] ?? '';\r\n\r\n const response: AxiosResponse = yield call(\r\n api.get,\r\n `Relatorios/v1/download/?idRelArquivo=${query}`,\r\n {\r\n responseType: 'blob',\r\n }\r\n );\r\n const fileName = getFileNameFromHeader(response.headers);\r\n const blobURL = URL.createObjectURL(response.data);\r\n\r\n downloadFile(response.data, fileName, 'pdf');\r\n\r\n yield put(arquivosDownloadSuccess([blobURL, action.payload[1], action.payload[2]]));\r\n } catch (error: any) {\r\n yield put(arquivosDownloadError([error, action.payload[1], action.payload[2]]));\r\n }\r\n}\r\n\r\nexport function* sendUploadRequest(\r\n action: ReturnType\r\n) {\r\n let formData = new FormData();\r\n formData.append('formFile', action.payload.formFile);\r\n formData.append('nomArquivo', action.payload.nomArquivo);\r\n formData.append('idRelTpArquivo', action.payload.idRelTpArquivo.toString());\r\n\r\n action.payload.lstCodFornecedores?.forEach((item, index) =>\r\n formData.append(`lstCodFornecedores[${index}]`, item.toString())\r\n );\r\n action.payload.lstCodPrestadores?.forEach((item, index) =>\r\n formData.append(`lstCodPrestadores[${index}]`, item.toString())\r\n );\r\n\r\n if (action.payload.dtaFim) formData.append('dtaFim', action.payload.dtaFim);\r\n if (action.payload.dtaIni) formData.append('dtaIni', action.payload.dtaIni);\r\n if (action.payload.codAno)\r\n formData.append('codAno', action.payload.codAno.toString());\r\n if (action.payload.codMes)\r\n formData.append('codMes', action.payload.codMes.toString());\r\n if (action.payload.desObs) formData.append('desObs', action.payload.desObs);\r\n if (action.payload.substituirExistentes)\r\n formData.append(\r\n 'substituirExistentes',\r\n action.payload.substituirExistentes.toString()\r\n );\r\n\r\n try {\r\n yield call(api.post, `Relatorios/v1/`, formData);\r\n yield put(arquivosUploadSuccess());\r\n } catch (error: any) {\r\n yield put(arquivosUploadError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = `?idRelArquivo=${action.payload.idRelArquivo}`;\r\n\r\n yield call(api.delete, `Relatorios/v1/${query}`);\r\n yield put(arquivosDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(arquivosDeleteError(error));\r\n }\r\n}\r\n\r\nexport function* sendUpdateRequest(\r\n action: ReturnType\r\n) {\r\n let formData = new FormData();\r\n formData.append('nomArquivo', action.payload.nomArquivo);\r\n formData.append('idRelTpArquivo', action.payload.idRelTpArquivo.toString());\r\n\r\n action.payload.lstCodFornecedores?.forEach((item, index) =>\r\n formData.append(`lstCodFornecedores[${index}]`, item.toString())\r\n );\r\n action.payload.lstCodPrestadores?.forEach((item, index) =>\r\n formData.append(`lstCodPrestadores[${index}]`, item.toString())\r\n );\r\n\r\n if (action.payload.dtaFim) formData.append('dtaFim', action.payload.dtaFim);\r\n if (action.payload.dtaIni) formData.append('dtaIni', action.payload.dtaIni);\r\n if (action.payload.codAno)\r\n formData.append('codAno', action.payload.codAno.toString());\r\n if (action.payload.codMes)\r\n formData.append('codMes', action.payload.codMes.toString());\r\n if (action.payload.desObs) formData.append('desObs', action.payload.desObs);\r\n if (action.payload.idRelArquivo)\r\n formData.append('idRelArquivo', action.payload.idRelArquivo.toString());\r\n if (action.payload.formFile)\r\n formData.append('formFile', action.payload.formFile);\r\n try {\r\n yield call(api.put, `Relatorios/v1/`, formData);\r\n yield put(arquivosUpdateSuccess());\r\n } catch (error: any) {\r\n yield put(arquivosUpdateError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(arquivosDownloadRequest, sendDownloadRequest),\r\n takeLatest(arquivosUploadRequest, sendUploadRequest),\r\n takeLatest(arquivosUpdateRequest, sendUpdateRequest),\r\n debounce(500, arquivosGetRequest, sendGetRequest),\r\n takeLatest(arquivosDeleteRequest, sendDeleteRequest),\r\n]);\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport {\r\n Backdrop,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Modal,\r\n Skeleton,\r\n Tab,\r\n Tabs,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\n\r\nimport Header from 'src/components/Header';\r\nimport Row from 'src/pages/Cadastros/Usuarios/Components/Row';\r\nimport Form from 'src/pages/Cadastros/Usuarios/Components/Form';\r\nimport { usePesquisa } from 'src/hooks/usePesquisa';\r\nimport { useAppSelector, useAppDispatch } from 'src/store';\r\nimport {\r\n usuariosGetRequest,\r\n usuariosPutRequest,\r\n usuariosDeleteRequest,\r\n usuariosIdleOperation,\r\n usuariosCancelDelete,\r\n usuariosCleanError,\r\n} from 'src/store/ducks/usuarios';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\nconst Usuarios = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'usuarios')?.flgAcesso ||\r\n 'N';\r\n\r\n const [flgTipo, setFlgTipo] = useState('I');\r\n const [rowSelected, setRowSelected] = useState(-1);\r\n const [isModalOpen, setModalOpen] = useState(false);\r\n const [isFormOpened, setFormOpened] = useState(false);\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n const [isNewUserSection, setNewUserSection] = useState(false);\r\n\r\n const [usuario, setUsuario] = useState(null);\r\n const { pesquisa, handlePesquisa, handleCustomParameters } = usePesquisa({\r\n params: [{ key: 'flgTipo', value: 'I' }],\r\n });\r\n\r\n const dispatch = useAppDispatch();\r\n const usuarios = useAppSelector((state) => state.usuarios.data);\r\n const loading = useAppSelector((state) => state.usuarios.loading);\r\n const getError = useAppSelector((state) => state.usuarios.error);\r\n const errors = useAppSelector((state) => state.usuarios.deleteError);\r\n const deleteState = useAppSelector((state) => state.usuarios.deleteState);\r\n const changePassword = useAppSelector(\r\n (state) => state.usuarios.changePasswordState\r\n );\r\n const operationState = useAppSelector(\r\n (state) => state.usuarios.operationState\r\n );\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n const [isGetErrorCollapseOpened, setGetErrorCollapseOpened] = useState(false);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosCleanError());\r\n dispatch(usuariosIdleOperation());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (changePassword === 'success') {\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [changePassword]);\r\n\r\n useEffect(() => {\r\n setGetErrorCollapseOpened(getError !== undefined);\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n }, [getError]);\r\n\r\n const handleChangeSearch = (event: React.ChangeEvent) => {\r\n handlePesquisa('filtroPadrao', event.target.value);\r\n };\r\n\r\n const handleFormOpen = (open: boolean, newUser: boolean) => {\r\n if (newUser) {\r\n setRowSelected(-1);\r\n }\r\n\r\n setUsuario(newUser ? null : usuarios[rowSelected]);\r\n setFormOpened(open);\r\n setNewUserSection(newUser);\r\n\r\n setTimeout(() => {\r\n global.window.document.getElementById('desNome')?.focus();\r\n }, 400);\r\n };\r\n\r\n useEffect(() => {\r\n if (operationState === 'success') {\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n } else if (operationState === 'cancel') {\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n dispatch(usuariosIdleOperation());\r\n }\r\n\r\n setErrorCollapseOpened(errors !== undefined);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [operationState]);\r\n\r\n useEffect(() => {\r\n if (deleteState === 'success') {\r\n if (usuario?.idRelUsuario === usuarios[rowSelected]?.idRelUsuario) {\r\n setFormOpened(false);\r\n }\r\n\r\n setModalOpen(false);\r\n setRowSelected(-1);\r\n\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n }\r\n\r\n setErrorCollapseOpened(errors !== undefined);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n const handleChangeFlgTipo = (\r\n event: React.SyntheticEvent,\r\n newValue: string\r\n ) => {\r\n setFlgTipo(newValue);\r\n handleCustomParameters({ key: 'flgTipo', value: newValue });\r\n if (rowSelected !== -1) {\r\n setFormOpened(false);\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n }\r\n };\r\n\r\n const handleUpdate = (index: number, flgAtivo: string) => {\r\n const data = { ...usuarios[index] };\r\n data.flgAtivo = flgAtivo;\r\n\r\n dispatch(usuariosPutRequest(data));\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n };\r\n\r\n useEffect(() => {\r\n setRowSelected(-1);\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n }, [pesquisa, dispatch]);\r\n\r\n const isOverflown = (e: any) => {\r\n return e?.scrollWidth > e?.clientWidth || e?.scrollHeight > e?.clientHeight;\r\n };\r\n\r\n let arrElems = document.getElementsByClassName('textual');\r\n let deleteModalElem = document\r\n .getElementsByClassName('userInfo')[0]\r\n ?.getElementsByTagName('p')[0];\r\n\r\n useEffect(() => {\r\n for (let elem of arrElems) {\r\n if (isOverflown(elem)) elem.classList.add('overflown');\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (isOverflown(deleteModalElem))\r\n deleteModalElem.classList.add('overflown');\r\n }, 505);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Todos os usuários do sistema\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n setSearchFocused(true)}\r\n onBlur={() => setSearchFocused(false)}\r\n autoComplete=\"off\"\r\n fullWidth\r\n color=\"primary\"\r\n label={\r\n flgTipo === 'I'\r\n ? 'Nome, matrícula, CPF ou e-mail'\r\n : 'Nome, CPF/CNPJ ou e-mail'\r\n }\r\n margin=\"normal\"\r\n variant=\"filled\"\r\n className=\"iconified\"\r\n InputProps={{\r\n disableUnderline: true,\r\n }}\r\n />\r\n
\r\n handleFormOpen(true, true)}\r\n disabled={flgAcesso !== 'A'}\r\n variant=\"contained\"\r\n className={`tertiary${\r\n isFormOpened && isNewUserSection ? ' active' : ''\r\n }`}\r\n startIcon={\r\n \r\n }\r\n fullWidth\r\n >\r\n NOVO USUÁRIO\r\n \r\n \r\n \r\n {loading\r\n ? loadingUsersRows()\r\n : usuarios.map((item, index) => (\r\n \r\n ))}\r\n
\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(usuariosCancelDelete());\r\n }, 500);\r\n }}\r\n closeAfterTransition\r\n keepMounted\r\n disablePortal\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{ timeout: 500 }}\r\n aria-labelledby=\"transition-modal-title\"\r\n aria-describedby=\"transition-modal-description\"\r\n >\r\n \r\n \r\n \r\n \r\n Tem certeza que quer deletar o usuário?\r\n \r\n
\r\n \r\n {usuarios[rowSelected]?.desNome}\r\n \r\n
\r\n \r\n
\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(usuariosCancelDelete());\r\n }, 500);\r\n }}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n dispatch(usuariosDeleteRequest(usuarios[rowSelected]))\r\n }\r\n disabled={deleteState === 'request'}\r\n type=\"submit\"\r\n className={\r\n deleteState === 'request'\r\n ? 'errorSecondary'\r\n : 'errorColor'\r\n }\r\n fullWidth\r\n >\r\n DELETAR\r\n \r\n {deleteState === 'request' && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Usuarios;\r\n\r\nconst loadingUsersRows = () => {\r\n let arr = [];\r\n\r\n for (let i = 0; i < 25; i++) {\r\n arr.push(\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return arr;\r\n};\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport { Avatar, Button } from '@mui/material';\r\n\r\nimport { useAppSelector } from 'src/store';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\nimport { getInitialsFromString } from 'src/utils/StringUtils';\r\nimport DmIconifiedSwitch from 'src/components/DmIconifiedSwitch/DmIconifiedSwitch';\r\n\r\ninterface RowProps {\r\n data: Usuario;\r\n index: number;\r\n indexSelected: number;\r\n handleFormOpen: Function;\r\n handleModalOpen: Function;\r\n handleIndexSelected: Function;\r\n handleChangeFlgAtivo: Function;\r\n isFormOpened: boolean;\r\n}\r\n\r\nconst Row: React.FC = ({\r\n data,\r\n index,\r\n indexSelected,\r\n handleFormOpen,\r\n handleModalOpen,\r\n handleIndexSelected,\r\n handleChangeFlgAtivo,\r\n isFormOpened,\r\n}: RowProps) => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const loggedUser = useAppSelector((state) => state.session.user);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'usuarios')?.flgAcesso ||\r\n 'N';\r\n\r\n return (\r\n \r\n \r\n handleIndexSelected(indexSelected !== index ? index : -1)\r\n }\r\n className=\"header\"\r\n >\r\n \r\n
\r\n
{data.desNome}
\r\n
{data.desEmail}
\r\n
\r\n e.stopPropagation()}\r\n onChange={(e) => handleChangeFlgAtivo(index, e.target.value)}\r\n disabled={\r\n isFormOpened ||\r\n loggedUser?.desLogin === data.desLogin ||\r\n flgAcesso !== 'A'\r\n }\r\n tabIndex={-1}\r\n />\r\n \r\n \r\n
\r\n handleFormOpen(true, false)}\r\n disabled={flgAcesso !== 'A'}\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n variant=\"contained\"\r\n fullWidth\r\n >\r\n ALTERAR\r\n \r\n handleModalOpen(true)}\r\n disabled={flgAcesso !== 'A'}\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n variant=\"contained\"\r\n className=\"errorColor\"\r\n style={{\r\n display: loggedUser?.desLogin === data.desLogin ? 'none' : 'block',\r\n }}\r\n fullWidth\r\n >\r\n DELETAR\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, Controller, useForm } from 'react-hook-form';\r\nimport * as Yup from 'yup';\r\n\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport { Icon } from '@iconify/react';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n debounce,\r\n TextField,\r\n} from '@mui/material';\r\n\r\nimport { useAppSelector, useAppDispatch } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { perfisGetFilterRequest } from 'src/store/ducks/perfis';\r\nimport {\r\n usuariosCancelOperation,\r\n usuariosPostRequest,\r\n usuariosPutRequest,\r\n} from 'src/store/ducks/usuarios';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\nimport { getInitialsFromString } from 'src/utils/StringUtils';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\nconst maskCpfCnpj = (value: string) => {\r\n value = value.replace(/\\D/g, '');\r\n\r\n if (value.length <= 11) {\r\n value = value.replace(/(\\d{3})(\\d)/, '$1.$2');\r\n value = value.replace(/(\\d{3})(\\d)/, '$1.$2');\r\n value = value.replace(/(\\d{3})(\\d{1,2})$/, '$1-$2');\r\n } else {\r\n value = value.replace(/^(\\d{2})(\\d)/, '$1.$2');\r\n value = value.replace(/^(\\d{2})\\.(\\d{3})(\\d)/, '$1.$2.$3');\r\n value = value.replace(/\\.(\\d{3})(\\d)/, '.$1/$2');\r\n value = value.replace(/(\\d{4})(\\d)/, '$1-$2');\r\n }\r\n\r\n return value;\r\n};\r\n\r\ninterface FormProps {\r\n data: Usuario | null;\r\n tipoUsuario: string;\r\n isFormOpened: boolean;\r\n}\r\n\r\nconst schema = Yup.object({\r\n idRelUsuario: Yup.number().notRequired(),\r\n idRelPerfil: Yup.number()\r\n .transform((value) => (isNaN(value) ? 0 : value))\r\n .moreThan(0, 'Campo obrigatório!'),\r\n desNome: Yup.string()\r\n .max(100, (params) => `Máximo de ${params.max} caracteres!`)\r\n .required('Campo obrigatório!'),\r\n desEmail: Yup.string()\r\n .email('O e-mail fornecido não é válido')\r\n .nullable()\r\n .default(null)\r\n .max(200, (params) => `Máximo de ${params.max} caracteres!`)\r\n .notRequired(),\r\n desLogin: Yup.string()\r\n .max(200, (params) => `Máximo de ${params.max} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n desSenha: Yup.string()\r\n .max(128, (params) => `Máximo de ${params.max} caracteres!`)\r\n .min(4, (params) => `Mínimo de ${params.min} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n desCpfCnpj: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .transform((value) => value || null)\r\n .test({\r\n message: 'O campo deve conter 14 ou 18 caracteres!',\r\n test: (value) =>\r\n value?.length === 14 || value?.length === 18 || value === null,\r\n })\r\n .when('flgTipo', {\r\n is: (value: string) => value === 'I',\r\n then: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .length(\r\n 14,\r\n (params) => `O campo deve conter ${params.length} caracteres!`\r\n ),\r\n })\r\n .notRequired(),\r\n codColaborador: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .max(10, (params) => `Máximo de ${params.max} caracteres!`)\r\n .notRequired(),\r\n flgTipo: Yup.string().required('Campo obrigatório!'),\r\n flgAtivo: Yup.string().required('Campo obrigatório!'),\r\n});\r\n\r\nconst defaultValues: Usuario = {\r\n idRelUsuario: 0,\r\n idRelPerfil: 0,\r\n desNome: '',\r\n desEmail: '',\r\n desLogin: '',\r\n desSenha: '',\r\n desCpfCnpj: '',\r\n codColaborador: '',\r\n flgTipo: 'I',\r\n flgAtivo: 'S',\r\n};\r\n\r\nconst Form: React.FC = ({\r\n data,\r\n tipoUsuario,\r\n isFormOpened,\r\n}: FormProps) => {\r\n const [initials, setInitials] = useState('');\r\n const [flgTipo, setFlgTipo] = useState('I');\r\n const [perfil, setPerfil] = useState(null);\r\n const [focusPerfil, setFocusPerfil] = useState(false);\r\n\r\n const dispatch = useAppDispatch();\r\n const perfis = useAppSelector((state) => state.perfis.filterList);\r\n const errors = useAppSelector((state) => state.usuarios.operationError);\r\n const operationState = useAppSelector(\r\n (state) => state.usuarios.operationState\r\n );\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const {\r\n clearErrors,\r\n handleSubmit,\r\n register,\r\n reset,\r\n setValue,\r\n control,\r\n formState,\r\n } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const handleInitials = debounce((value: string) => {\r\n setInitials(getInitialsFromString(value));\r\n }, 400);\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n dispatch(\r\n data && data.idRelUsuario > 0\r\n ? usuariosPutRequest(values)\r\n : usuariosPostRequest(values)\r\n );\r\n if (errors !== undefined) setErrorCollapseOpened(true);\r\n };\r\n\r\n const onCancel = () => {\r\n dispatch(usuariosCancelOperation());\r\n setErrorCollapseOpened(false);\r\n };\r\n\r\n useEffect(() => {\r\n setErrorCollapseOpened(errors !== undefined);\r\n }, [errors]);\r\n\r\n useEffect(() => {\r\n dispatch(perfisGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (!data) {\r\n setFlgTipo(tipoUsuario);\r\n setValue('codColaborador', '');\r\n setValue('flgTipo', tipoUsuario);\r\n clearErrors();\r\n } else {\r\n setFlgTipo(tipoUsuario);\r\n setValue('flgTipo', tipoUsuario);\r\n }\r\n }, [data, tipoUsuario, clearErrors, setValue]);\r\n\r\n useEffect(() => {\r\n const newValue = data ?? defaultValues;\r\n const novoPerfil =\r\n perfis.find((item) => item.codigo === `${newValue.idRelPerfil}`) || null;\r\n\r\n setPerfil(novoPerfil);\r\n setInitials(getInitialsFromString(newValue.desNome));\r\n\r\n reset(newValue);\r\n }, [data, perfis, reset]);\r\n\r\n useEffect(() => {\r\n if (!isFormOpened) {\r\n reset();\r\n setValue('flgTipo', flgTipo);\r\n\r\n setPerfil(null);\r\n setInitials('');\r\n }\r\n }, [isFormOpened, flgTipo, setValue, reset]);\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {initials}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n (\r\n {\r\n onChange(event);\r\n handleInitials(event.target.value);\r\n }}\r\n inputRef={ref}\r\n {...rest}\r\n />\r\n )}\r\n />\r\n (\r\n onChange(maskCpfCnpj(event.target.value))}\r\n inputRef={ref}\r\n {...rest}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n option.descricao}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n \r\n ),\r\n }}\r\n InputLabelProps={{\r\n shrink: perfil !== null || focusPerfil,\r\n }}\r\n onFocus={() => setFocusPerfil(true)}\r\n onBlur={() => setFocusPerfil(false)}\r\n error={!!formState.errors.idRelPerfil}\r\n helperText={formState.errors.idRelPerfil?.message}\r\n />\r\n );\r\n }}\r\n value={perfil}\r\n onChange={(_, data) => {\r\n clearErrors('idRelPerfil');\r\n setValue('idRelPerfil', parseInt(data?.codigo || ''));\r\n setPerfil(data);\r\n }}\r\n />\r\n (\r\n onChange(event.target.value.toLowerCase())}\r\n inputRef={ref}\r\n {...rest}\r\n />\r\n )}\r\n />\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {\r\n onCancel();\r\n }}\r\n tabIndex={isFormOpened ? 0 : -1}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n\r\n \r\n \r\n SALVAR\r\n \r\n {(formState.isSubmitting || operationState === 'request') && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Form;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport {\r\n Backdrop,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Modal,\r\n Skeleton,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\n\r\nimport Header from 'src/components/Header';\r\nimport Form from 'src/pages/Cadastros/Perfis/Components/Form';\r\nimport Row from 'src/pages/Cadastros/Perfis/Components/Row';\r\n\r\nimport { usePesquisa } from 'src/hooks/usePesquisa';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport {\r\n perfisGetRequest,\r\n perfisDeleteRequest,\r\n perfisCancelDelete,\r\n perfisIdleOperation,\r\n perfisCleanError,\r\n} from 'src/store/ducks/perfis';\r\nimport { Perfil } from 'src/store/ducks/perfis/types';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\nconst Perfis = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'perfis')?.flgAcesso ||\r\n 'N';\r\n\r\n const [rowSelected, setRowSelected] = useState(-1);\r\n const [isModalOpen, setModalOpen] = useState(false);\r\n const [isFormOpened, setFormOpened] = useState(false);\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n const [isNewUserSection, setNewUserSection] = useState(false);\r\n\r\n const [perfil, setPerfil] = useState(null);\r\n const { pesquisa, handlePesquisa } = usePesquisa();\r\n\r\n const dispatch = useAppDispatch();\r\n const perfis = useAppSelector((state) => state.perfis.data);\r\n const loading = useAppSelector((state) => state.perfis.loading);\r\n const getError = useAppSelector((state) => state.perfis.error);\r\n const errors = useAppSelector((state) => state.perfis.deleteError);\r\n const deleteState = useAppSelector((state) => state.perfis.deleteState);\r\n const operationState = useAppSelector((state) => state.perfis.operationState);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n const [isGetErrorCollapseOpened, setGetErrorCollapseOpened] = useState(false);\r\n\r\n const handleChangeSearch = (event: React.ChangeEvent) => {\r\n handlePesquisa('filtroPadrao', event.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(perfisCleanError());\r\n dispatch(perfisIdleOperation());\r\n }, [dispatch]);\r\n\r\n const handleFormOpen = (open: boolean, newUser: boolean) => {\r\n if (newUser) {\r\n setRowSelected(-1);\r\n }\r\n\r\n setPerfil(newUser ? null : perfis[rowSelected]);\r\n setFormOpened(open);\r\n setNewUserSection(newUser);\r\n\r\n setTimeout(() => {\r\n global.window.document.getElementById('desPerfil')?.focus();\r\n }, 400);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(perfisGetRequest(pesquisa.toString()));\r\n }, [pesquisa, dispatch]);\r\n\r\n const isOverflown = (e: any) => {\r\n return e?.scrollWidth > e?.clientWidth || e?.scrollHeight > e?.clientHeight;\r\n };\r\n\r\n let arrElems = document.getElementsByClassName('textual');\r\n let deleteModalElem = document\r\n .getElementsByClassName('userInfo')[0]\r\n ?.getElementsByTagName('p')[0];\r\n\r\n useEffect(() => {\r\n for (let elem of arrElems) {\r\n if (isOverflown(elem)) elem.classList.add('overflown');\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (isOverflown(deleteModalElem))\r\n deleteModalElem.classList.add('overflown');\r\n }, 505);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n });\r\n\r\n useEffect(() => {\r\n if (operationState === 'success') {\r\n setPerfil(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n\r\n dispatch(perfisGetRequest(pesquisa.toString()));\r\n dispatch(perfisIdleOperation());\r\n } else if (operationState === 'cancel') {\r\n setPerfil(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n dispatch(perfisIdleOperation());\r\n }\r\n setErrorCollapseOpened(errors !== undefined);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [operationState]);\r\n\r\n useEffect(() => {\r\n if (deleteState === 'success') {\r\n if (perfil?.idRelPerfil === perfis[rowSelected]?.idRelPerfil) {\r\n setFormOpened(false);\r\n }\r\n\r\n setModalOpen(false);\r\n setRowSelected(-1);\r\n\r\n dispatch(perfisGetRequest(pesquisa.toString()));\r\n }\r\n setErrorCollapseOpened(errors !== undefined);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Todos os perfis do sistema\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n setSearchFocused(true)}\r\n onBlur={() => setSearchFocused(false)}\r\n autoComplete=\"off\"\r\n fullWidth\r\n color=\"primary\"\r\n label=\"Descrição do perfil\"\r\n margin=\"normal\"\r\n variant=\"filled\"\r\n className=\"iconified\"\r\n InputProps={{\r\n disableUnderline: true,\r\n }}\r\n />\r\n
\r\n handleFormOpen(true, true)}\r\n disabled={flgAcesso !== 'A'}\r\n variant=\"contained\"\r\n className={`tertiary${\r\n isFormOpened && isNewUserSection ? ' active' : ''\r\n }`}\r\n startIcon={\r\n \r\n }\r\n >\r\n NOVO PERFIL\r\n \r\n \r\n \r\n {loading\r\n ? loadingProfilesRows()\r\n : perfis.map((item, index) => (\r\n \r\n ))}\r\n
\r\n {rowSelected !== -1 && (\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(perfisCancelDelete());\r\n }, 500);\r\n }}\r\n closeAfterTransition\r\n keepMounted\r\n disablePortal\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{ timeout: 500 }}\r\n aria-labelledby=\"transition-modal-title\"\r\n aria-describedby=\"transition-modal-description\"\r\n >\r\n \r\n \r\n \r\n \r\n Tem certeza que quer deletar o perfil?\r\n \r\n
\r\n \r\n {perfis[rowSelected]?.desPerfil}\r\n \r\n
\r\n \r\n
\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(perfisCancelDelete());\r\n }, 500);\r\n }}\r\n fullWidth\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n dispatch(perfisDeleteRequest(perfis[rowSelected]))\r\n }\r\n disabled={deleteState === 'request'}\r\n type=\"submit\"\r\n fullWidth\r\n className={\r\n deleteState === 'request'\r\n ? 'errorSecondary'\r\n : 'errorColor'\r\n }\r\n >\r\n DELETAR\r\n \r\n {deleteState === 'request' && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Perfis;\r\n\r\nconst loadingProfilesRows = () => {\r\n let arr = [];\r\n\r\n for (let i = 0; i < 25; i++) {\r\n arr.push(\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return arr;\r\n};\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport Button from '@mui/material/Button';\r\nimport { useAppSelector } from 'src/store';\r\nimport { Perfil } from 'src/store/ducks/perfis/types';\r\n\r\ninterface RowProps {\r\n data: Perfil;\r\n index: number;\r\n indexSelected: number;\r\n handleFormOpen: Function;\r\n handleModalOpen: Function;\r\n handleIndexSelected: Function;\r\n}\r\n\r\nconst Row: React.FC = ({\r\n data,\r\n index,\r\n indexSelected,\r\n handleFormOpen,\r\n handleModalOpen,\r\n handleIndexSelected,\r\n}: RowProps) => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'perfis')?.flgAcesso ||\r\n 'N';\r\n\r\n return (\r\n
\r\n \r\n handleIndexSelected(indexSelected !== index ? index : -1)\r\n }\r\n className=\"header\"\r\n >\r\n
\r\n
{data.desPerfil}
\r\n
\r\n \r\n
\r\n
\r\n handleFormOpen(true, false)}\r\n disabled={flgAcesso !== 'A'}\r\n variant=\"contained\"\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n fullWidth\r\n >\r\n ALTERAR\r\n \r\n handleModalOpen(true)}\r\n disabled={flgAcesso !== 'A'}\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n variant=\"contained\"\r\n className=\"errorColor\"\r\n fullWidth\r\n >\r\n DELETAR\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { Paginacao } from 'src/store/ducks/base';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n ChangeUsuarioPasswordRequest,\r\n Usuario,\r\n UsuariosState,\r\n} from 'src/store/ducks/usuarios/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: UsuariosState = {\r\n data: [],\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n loading: false,\r\n error: undefined,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n deleteError: undefined,\r\n deleteState: 'idle',\r\n changePasswordError: undefined,\r\n changePasswordState: 'idle',\r\n};\r\n\r\nexport const usuariosSlice = createSlice({\r\n name: 'usuarios',\r\n initialState: initialState,\r\n reducers: {\r\n usuariosGetRequest: (state, action: PayloadAction) => {\r\n state.loading = true;\r\n state.error = undefined;\r\n },\r\n usuariosGetSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.data = action.payload.dados;\r\n state.pagination = action.payload.paginacao;\r\n state.loading = false;\r\n state.error = undefined;\r\n },\r\n usuariosGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.loading = false;\r\n },\r\n usuariosCleanError: (state) => {\r\n state.error = undefined;\r\n },\r\n usuariosGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n usuariosGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n },\r\n usuariosGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n usuariosPostRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosPutRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosOperationSuccess: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'success';\r\n },\r\n usuariosOperationError: (state, action: PayloadAction) => {\r\n state.operationError = action.payload;\r\n state.operationState = 'error';\r\n },\r\n usuariosDeleteRequest: (state, action: PayloadAction) => {\r\n state.deleteState = 'request';\r\n },\r\n usuariosDeleteError: (state, action: PayloadAction) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'error';\r\n },\r\n usuariosDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'success';\r\n },\r\n usuariosCancelOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'cancel';\r\n },\r\n usuariosCancelDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'cancel';\r\n },\r\n usuariosIdleOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'idle';\r\n },\r\n usuariosIdleDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'idle';\r\n },\r\n changeUsuarioPasswordRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.changePasswordState = 'request';\r\n },\r\n changeUsuarioPasswordSuccess: (state) => {\r\n state.changePasswordError = undefined;\r\n state.changePasswordState = 'success';\r\n },\r\n changeUsuarioPasswordError: (state, action: PayloadAction) => {\r\n state.changePasswordError = action.payload;\r\n state.changePasswordState = 'error';\r\n },\r\n changeUsuarioPasswordIdle: (state) => {\r\n state.changePasswordError = undefined;\r\n state.changePasswordState = 'idle';\r\n },\r\n changeUsuarioPasswordCancel: (state) => {\r\n state.changePasswordError = undefined;\r\n state.changePasswordState = 'cancel';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n usuariosGetRequest,\r\n usuariosGetSuccess,\r\n usuariosGetError,\r\n usuariosGetFilterRequest,\r\n usuariosGetFilterSuccess,\r\n usuariosGetFilterError,\r\n usuariosPostRequest,\r\n usuariosPutRequest,\r\n usuariosDeleteRequest,\r\n usuariosOperationSuccess,\r\n usuariosOperationError,\r\n usuariosDeleteSuccess,\r\n usuariosDeleteError,\r\n usuariosCancelOperation,\r\n usuariosCancelDelete,\r\n usuariosIdleOperation,\r\n usuariosIdleDelete,\r\n usuariosCleanError,\r\n changeUsuarioPasswordRequest,\r\n changeUsuarioPasswordSuccess,\r\n changeUsuarioPasswordError,\r\n changeUsuarioPasswordIdle,\r\n changeUsuarioPasswordCancel,\r\n} = usuariosSlice.actions;\r\n\r\nexport default usuariosSlice.reducer;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n TextField,\r\n Typography,\r\n CircularProgress,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodPrestadores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodPrestadores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodPrestadores: '',\r\n};\r\n\r\nconst RelPreExtrato = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [prestadores, setPrestadores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const prest = useAppSelector((state) => state.usuariosPrestadores.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const history = useHistory();\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodPrestadores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&lstCodPrestadores=${lstCodPrestadores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelPreExtrato/v1/downloadRelPreExtrato',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={prestadores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodPrestadores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setPrestadores(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelPreExtrato;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodPrestadores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodPrestadores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodPrestadores: '',\r\n};\r\n\r\nconst RelPreCombustivel = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [prestadores, setPrestadores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const prest = useAppSelector((state) => state.usuariosPrestadores.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodPrestadores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&lstCodPrestadores=${lstCodPrestadores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelPreCombustivel/v1/downloadRelPreCombustivel',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={prestadores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodPrestadores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setPrestadores(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelPreCombustivel;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodPrestadores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodPrestadores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodPrestadores: '',\r\n};\r\n\r\nconst RelPreProducao = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [prestadores, setPrestadores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const prest = useAppSelector((state) => state.usuariosPrestadores.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodPrestadores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&lstCodPrestadores=${lstCodPrestadores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelPreProducao/v1/downloadRelPreProducao',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={prestadores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodPrestadores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setPrestadores(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelPreProducao;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport { tiposRecursosGetFilterRequest } from 'src/store/ducks/tiposRecursos';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n codTpRecurso: string;\r\n lstCodPrestadores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .required('Campo obrigatório!')\r\n .typeError('Data inválida!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n codTpRecurso: Yup.string().required('Campo obrigatório!'),\r\n lstCodPrestadores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n codTpRecurso: '',\r\n lstCodPrestadores: '',\r\n};\r\n\r\nconst RelPreRecurso = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [tipoRecurso, setTipoRecurso] = useState(null);\r\n const [prestadores, setPrestadores] = useState([]);\r\n const dispatch = useAppDispatch();\r\n const prest = useAppSelector((state) => state.usuariosPrestadores.filterList);\r\n const tipRec = useAppSelector((state) => state.tiposRecursos.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, codTpRecurso, lstCodPrestadores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&codTpRecurso=${codTpRecurso}`);\r\n query = query.concat(`&lstCodPrestadores=${lstCodPrestadores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelPreRecurso/v1/downloadRelPreRecurso',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n dispatch(tiposRecursosGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n disableCloseOnSelect={false}\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={tipoRecurso}\r\n onChange={(_, data) => {\r\n setValue('codTpRecurso', data?.codigo ?? '');\r\n setTipoRecurso(data);\r\n }}\r\n />\r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={prestadores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodPrestadores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setPrestadores(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelPreRecurso;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n Stack,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DatePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { usuariosFornecedoresGetFilterRequest } from 'src/store/ducks/usuariosFornecedores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodFornecedores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodFornecedores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodFornecedores: '',\r\n};\r\n\r\nconst RelForPagamento = () => {\r\n const [initialDate, setInitialDate] = useState(null);\r\n const [finalDate, setFinalDate] = useState(null);\r\n const [fornecedores, setFornecedores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const forn = useAppSelector((state) => state.usuariosFornecedores.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodFornecedores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM')}`);\r\n query = query.concat(`&lstCodFornecedores=${lstCodFornecedores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelForPagamento/v1/downloadRelForPagamento',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosFornecedoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n \r\n {\r\n setValue('dtaInicio', newValue);\r\n setInitialDate(newValue);\r\n }}\r\n InputAdornmentProps={{\r\n style: {\r\n marginRight: '4px',\r\n },\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n {\r\n setValue('dtaFim', newValue);\r\n setFinalDate(newValue);\r\n }}\r\n InputAdornmentProps={{\r\n style: {\r\n marginRight: '4px',\r\n },\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={fornecedores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodFornecedores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setFornecedores(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelForPagamento;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { fazendasGetFilterRequest } from 'src/store/ducks/fazendas';\r\nimport { usuariosFornecedoresGetFilterRequest } from 'src/store/ducks/usuariosFornecedores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodFazendas: string;\r\n lstCodFornecedores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodFazendas: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .when('lstCodFornecedores', {\r\n is: (value: string) => (value !== '' ? true : false),\r\n then: Yup.string().required(\r\n 'Campo obrigatório se há fornecedor selecionado!'\r\n ),\r\n }),\r\n lstCodFornecedores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodFazendas: '',\r\n lstCodFornecedores: '',\r\n};\r\n\r\nconst RelForCarregamento = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [fazendas, setFazendas] = useState([]);\r\n const [fornecedores, setFornecedores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const forn = useAppSelector((state) => state.usuariosFornecedores.filterList);\r\n const faz = useAppSelector((state) => state.fazendas.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodFazendas, lstCodFornecedores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&lstCodFazendas=${lstCodFazendas}`);\r\n query = query.concat(`&lstCodFornecedores=${lstCodFornecedores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelForCarregamento/v1/downloadRelForCarregamento',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosFornecedoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (fornecedores.length !== 0) {\r\n const fornec = fornecedores.map((x) => x.codigo).join(',');\r\n const query = `?lstCodFornecedores=${fornec}`;\r\n\r\n dispatch(fazendasGetFilterRequest(query));\r\n }\r\n\r\n setFazendas([]);\r\n setValue('lstCodFazendas', '');\r\n }, [dispatch, setValue, fornecedores]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={fornecedores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodFornecedores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setFornecedores(data);\r\n }}\r\n />\r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={fazendas}\r\n onChange={(_, data) => {\r\n setValue('lstCodFazendas', data.map((x) => x.codigo).join(','));\r\n setFazendas(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelForCarregamento;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/Relatorios/Styles/index.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { format } from 'date-fns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Autocomplete,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { DateRange, DateRangePicker } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport LocalizationProvider from '@mui/lab/LocalizationProvider';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { fazendasGetFilterRequest } from 'src/store/ducks/fazendas';\r\nimport { usuariosFornecedoresGetFilterRequest } from 'src/store/ducks/usuariosFornecedores';\r\nimport {\r\n relatoriosDownloadIdle,\r\n relatoriosDownloadRequest,\r\n} from 'src/store/ducks/relatorios';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n dtaInicio: Date | null;\r\n dtaFim: Date | null;\r\n lstCodFazendas: string;\r\n lstCodFornecedores: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n dtaInicio: Yup.date()\r\n .typeError('Data inválida!')\r\n .required('Campo obrigatório!'),\r\n dtaFim: Yup.date().typeError('Data inválida!').required('Campo obrigatório!'),\r\n lstCodFazendas: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .when('lstCodFornecedores', {\r\n is: (value: string) => (value !== '' ? true : false),\r\n then: Yup.string().required(\r\n 'Campo obrigatório se há fornecedor selecionado!'\r\n ),\r\n }),\r\n lstCodFornecedores: Yup.string().nullable().default(null).notRequired(),\r\n});\r\n\r\nconst defaultValues: FormProps = {\r\n dtaInicio: null,\r\n dtaFim: null,\r\n lstCodFazendas: '',\r\n lstCodFornecedores: '',\r\n};\r\n\r\nconst RelForCanaEntregue = () => {\r\n const [date, setDate] = useState>([null, null]);\r\n const [fazendas, setFazendas] = useState([]);\r\n const [fornecedores, setFornecedores] = useState([]);\r\n\r\n const dispatch = useAppDispatch();\r\n const forn = useAppSelector((state) => state.usuariosFornecedores.filterList);\r\n const faz = useAppSelector((state) => state.fazendas.filterList);\r\n const pdf = useAppSelector((state) => state.relatorios.data);\r\n const pdfError = useAppSelector((state) => state.relatorios.error);\r\n const isLoading = useAppSelector((state) => state.relatorios.loading);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const history = useHistory();\r\n\r\n const { handleSubmit, setValue, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n const { dtaInicio, dtaFim, lstCodFazendas, lstCodFornecedores } = values;\r\n\r\n if (dtaInicio && dtaFim) {\r\n let query = '';\r\n\r\n query = query.concat(`?dtaInicio=${format(dtaInicio, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&dtaFim=${format(dtaFim, 'yyyy-MM-dd')}`);\r\n query = query.concat(`&lstCodFazendas=${lstCodFazendas}`);\r\n query = query.concat(`&lstCodFornecedores=${lstCodFornecedores}`);\r\n\r\n dispatch(\r\n relatoriosDownloadRequest({\r\n url: 'RelForCanaEntregue/v1/downloadRelForCanaEntregue',\r\n query: query,\r\n })\r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (pdf) global.window.open(pdf);\r\n }, [pdf]);\r\n\r\n useEffect(() => {\r\n if (pdfError) setErrorCollapseOpened(true);\r\n }, [pdfError]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosFornecedoresGetFilterRequest());\r\n dispatch(relatoriosDownloadIdle());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (fornecedores.length !== 0) {\r\n const fornec = fornecedores.map((x) => x.codigo).join(',');\r\n const query = `?lstCodFornecedores=${fornec}`;\r\n\r\n dispatch(fazendasGetFilterRequest(query));\r\n }\r\n\r\n setFazendas([]);\r\n setValue('lstCodFazendas', '');\r\n }, [dispatch, setValue, fornecedores]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Filtrar documento\r\n \r\n \r\n {\r\n setDate(value);\r\n setValue('dtaInicio', value[0]);\r\n setValue('dtaFim', value[1]);\r\n }}\r\n startText=\"Data inicial\"\r\n endText=\"Data final\"\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={fornecedores}\r\n onChange={(_, data) => {\r\n setValue(\r\n 'lstCodFornecedores',\r\n data.map((x) => x.codigo).join(',')\r\n );\r\n\r\n setFornecedores(data);\r\n }}\r\n />\r\n option.descricao}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={fazendas}\r\n onChange={(_, data) => {\r\n setValue('lstCodFazendas', data.map((x) => x.codigo).join(','));\r\n setFazendas(data);\r\n }}\r\n />\r\n
\r\n history.goBack()}\r\n fullWidth\r\n >\r\n VOLTAR\r\n \r\n \r\n \r\n GERAR\r\n \r\n {(formState.isSubmitting || isLoading) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n {/*\r\n
\r\n \r\n
\r\n */}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default RelForCanaEntregue;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport {\r\n Backdrop,\r\n Box,\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Modal,\r\n Skeleton,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\n\r\nimport Header from 'src/components/Header';\r\nimport Form from 'src/pages/Cadastros/TiposArquivos/Components/Form';\r\nimport Row from 'src/pages/Cadastros/TiposArquivos/Components/Row';\r\n\r\nimport { usePesquisa } from 'src/hooks/usePesquisa';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport {\r\n tipoArquivoGetRequest,\r\n tipoArquivoDeleteRequest,\r\n tipoArquivoCancelDelete,\r\n tipoArquivoIdleOperation,\r\n tipoArquivoCleanError,\r\n} from 'src/store/ducks/tipoArquivo';\r\nimport { TipoArquivo } from 'src/store/ducks/tipoArquivo/types';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\nconst TiposArquivos = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'tiposarquivos')\r\n ?.flgAcesso || 'N';\r\n\r\n const [rowSelected, setRowSelected] = useState(-1);\r\n const [isModalOpen, setModalOpen] = useState(false);\r\n const [isFormOpened, setFormOpened] = useState(false);\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n const [isNewUserSection, setNewUserSection] = useState(false);\r\n\r\n const [tipoArquivo, setTipoArquivo] = useState(null);\r\n const { pesquisa, handlePesquisa } = usePesquisa();\r\n\r\n const dispatch = useAppDispatch();\r\n const tiposArquivos = useAppSelector((state) => state.tipoArquivo.data);\r\n const loading = useAppSelector((state) => state.tipoArquivo.loading);\r\n const getError = useAppSelector((state) => state.tipoArquivo.error);\r\n const errors = useAppSelector((state) => state.tipoArquivo.deleteError);\r\n const deleteState = useAppSelector((state) => state.tipoArquivo.deleteState);\r\n const operationState = useAppSelector(\r\n (state) => state.tipoArquivo.operationState\r\n );\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n const [isGetErrorCollapseOpened, setGetErrorCollapseOpened] = useState(false);\r\n\r\n const handleChangeSearch = (event: React.ChangeEvent) => {\r\n handlePesquisa('filtroPadrao', event.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(tipoArquivoCleanError());\r\n dispatch(tipoArquivoIdleOperation());\r\n }, [dispatch]);\r\n\r\n const handleFormOpen = (open: boolean, newUser: boolean) => {\r\n if (newUser) {\r\n setRowSelected(-1);\r\n }\r\n\r\n setTipoArquivo(newUser ? null : tiposArquivos[rowSelected]);\r\n setFormOpened(open);\r\n setNewUserSection(newUser);\r\n\r\n setTimeout(() => {\r\n global.window.document.getElementById('desTipoArquivo')?.focus();\r\n }, 400);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(tipoArquivoGetRequest(pesquisa.toString()));\r\n }, [pesquisa, dispatch]);\r\n\r\n const isOverflown = (e: any) => {\r\n return e?.scrollWidth > e?.clientWidth || e?.scrollHeight > e?.clientHeight;\r\n };\r\n\r\n let arrElems = document.getElementsByClassName('textual');\r\n let deleteModalElem = document\r\n .getElementsByClassName('userInfo')[0]\r\n ?.getElementsByTagName('p')[0];\r\n\r\n useEffect(() => {\r\n for (let elem of arrElems) {\r\n if (isOverflown(elem)) elem.classList.add('overflown');\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n if (isOverflown(deleteModalElem))\r\n deleteModalElem.classList.add('overflown');\r\n }, 505);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n });\r\n\r\n useEffect(() => {\r\n if (operationState === 'success') {\r\n setTipoArquivo(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n\r\n dispatch(tipoArquivoGetRequest(pesquisa.toString()));\r\n dispatch(tipoArquivoIdleOperation());\r\n } else if (operationState === 'cancel') {\r\n setTipoArquivo(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n setNewUserSection(false);\r\n dispatch(tipoArquivoIdleOperation());\r\n }\r\n setErrorCollapseOpened(errors !== undefined);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [operationState]);\r\n\r\n useEffect(() => {\r\n if (deleteState === 'success') {\r\n if (\r\n tipoArquivo?.idRelTpArquivo ===\r\n tiposArquivos[rowSelected]?.idRelTpArquivo\r\n ) {\r\n setFormOpened(false);\r\n }\r\n\r\n setModalOpen(false);\r\n setRowSelected(-1);\r\n\r\n dispatch(tipoArquivoGetRequest(pesquisa.toString()));\r\n }\r\n setErrorCollapseOpened(errors !== undefined);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Todos os tipos de arquivos do sistema\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n setSearchFocused(true)}\r\n onBlur={() => setSearchFocused(false)}\r\n autoComplete=\"off\"\r\n fullWidth\r\n color=\"primary\"\r\n label=\"Descrição do tipo de arquivo\"\r\n margin=\"normal\"\r\n variant=\"filled\"\r\n className=\"iconified\"\r\n InputProps={{\r\n disableUnderline: true,\r\n }}\r\n />\r\n
\r\n handleFormOpen(true, true)}\r\n disabled={flgAcesso !== 'A'}\r\n variant=\"contained\"\r\n className={`tertiary${\r\n isFormOpened && isNewUserSection ? ' active' : ''\r\n }`}\r\n fullWidth\r\n startIcon={\r\n \r\n }\r\n >\r\n NOVO TIPO DE ARQUIVO\r\n \r\n \r\n \r\n {loading\r\n ? loadingProfilesRows()\r\n : tiposArquivos.map((item, index) => (\r\n \r\n ))}\r\n
\r\n {rowSelected !== -1 && (\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(tipoArquivoCancelDelete());\r\n }, 500);\r\n }}\r\n closeAfterTransition\r\n keepMounted\r\n disablePortal\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{ timeout: 500 }}\r\n aria-labelledby=\"transition-modal-title\"\r\n aria-describedby=\"transition-modal-description\"\r\n >\r\n \r\n \r\n \r\n \r\n Tem certeza que quer deletar o tipoArquivo?\r\n \r\n
\r\n \r\n {tiposArquivos[rowSelected]?.desTpArquivo}\r\n \r\n
\r\n \r\n
\r\n {\r\n setModalOpen(false);\r\n setErrorCollapseOpened(false);\r\n setTimeout(() => {\r\n dispatch(tipoArquivoCancelDelete());\r\n }, 500);\r\n }}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n dispatch(\r\n tipoArquivoDeleteRequest(\r\n tiposArquivos[rowSelected]\r\n )\r\n )\r\n }\r\n disabled={deleteState === 'request'}\r\n type=\"submit\"\r\n className={\r\n deleteState === 'request'\r\n ? 'errorSecondary'\r\n : 'errorColor'\r\n }\r\n fullWidth\r\n >\r\n DELETAR\r\n \r\n {deleteState === 'request' && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TiposArquivos;\r\n\r\nconst loadingProfilesRows = () => {\r\n let arr = [];\r\n\r\n for (let i = 0; i < 25; i++) {\r\n arr.push(\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return arr;\r\n};\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, Controller, useForm } from 'react-hook-form';\r\nimport * as Yup from 'yup';\r\n\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport { useAppSelector, useAppDispatch } from 'src/store';\r\nimport {\r\n tipoArquivoCancelOperation,\r\n tipoArquivoPostRequest,\r\n tipoArquivoPutRequest,\r\n} from 'src/store/ducks/tipoArquivo';\r\nimport { objetosGetFilterRequest } from 'src/store/ducks/objetos';\r\nimport {\r\n Autocomplete,\r\n CircularProgress,\r\n Button,\r\n TextField,\r\n} from '@mui/material';\r\nimport { Box } from '@mui/system';\r\nimport { TipoArquivo } from 'src/store/ducks/tipoArquivo/types';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n data: TipoArquivo | null;\r\n isFormOpened: boolean;\r\n}\r\n\r\nconst schema = Yup.object({\r\n idRelTpArquivo: Yup.number().notRequired(),\r\n desTpArquivo: Yup.string().nullable().required('Campo obrigatório!'),\r\n flgReferencia: Yup.string().nullable().required('Campo obrigatório!'),\r\n});\r\n\r\nconst defaultValues: TipoArquivo = {\r\n idRelTpArquivo: 0,\r\n desTpArquivo: '',\r\n flgReferencia: null,\r\n};\r\n\r\nconst referencias = ['A', 'M', 'D', 'P'];\r\n\r\nconst referenciaToStringLabel = (referencia: string | null) => {\r\n switch (referencia) {\r\n case 'A':\r\n return 'Ano';\r\n case 'M':\r\n return 'Ano e mês';\r\n case 'D':\r\n return 'Data do documento';\r\n case 'P':\r\n return 'Período de datas';\r\n default:\r\n return '';\r\n }\r\n};\r\n\r\nconst Form: React.FC = ({ data, isFormOpened }: FormProps) => {\r\n const dispatch = useAppDispatch();\r\n const [referencia, setReferencia] = useState(null);\r\n const [focusRef, setFocusRef] = useState(false);\r\n const errors = useAppSelector((state) => state.tipoArquivo.operationError);\r\n const operationState = useAppSelector(\r\n (state) => state.tipoArquivo.operationState\r\n );\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const {\r\n clearErrors,\r\n handleSubmit,\r\n register,\r\n reset,\r\n setValue,\r\n control,\r\n formState,\r\n } = useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n dispatch(\r\n data && data.idRelTpArquivo > 0\r\n ? tipoArquivoPutRequest(values)\r\n : tipoArquivoPostRequest(values)\r\n );\r\n if (errors !== undefined) setErrorCollapseOpened(true);\r\n };\r\n\r\n const onCancel = () => {\r\n dispatch(tipoArquivoCancelOperation());\r\n setErrorCollapseOpened(false);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(objetosGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n const newValue = data ?? defaultValues;\r\n setReferencia(newValue.flgReferencia);\r\n reset(newValue);\r\n }, [data, reset]);\r\n\r\n useEffect(() => {\r\n if (!isFormOpened) {\r\n reset();\r\n setReferencia(null);\r\n }\r\n }, [isFormOpened, reset]);\r\n\r\n useEffect(() => {\r\n if (!data) clearErrors();\r\n }, [data, clearErrors, setValue]);\r\n\r\n return (\r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n referenciaToStringLabel(option)}\r\n renderInput={(params) => {\r\n const { InputProps } = params;\r\n const { startAdornment } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n \r\n ),\r\n }}\r\n InputLabelProps={{\r\n shrink: referencia !== null || focusRef,\r\n }}\r\n onFocus={() => setFocusRef(true)}\r\n onBlur={() => setFocusRef(false)}\r\n error={!!formState.errors.flgReferencia}\r\n helperText={formState.errors.flgReferencia?.message}\r\n />\r\n );\r\n }}\r\n value={referencia}\r\n onChange={(_, data) => {\r\n clearErrors('flgReferencia');\r\n setValue('flgReferencia', data);\r\n setReferencia(data);\r\n }}\r\n />\r\n
\r\n {\r\n onCancel();\r\n setErrorCollapseOpened(false);\r\n }}\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n SALVAR\r\n \r\n {(formState.isSubmitting || operationState === 'request') && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Form;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport Button from '@mui/material/Button';\r\nimport { TipoArquivo } from 'src/store/ducks/tipoArquivo/types';\r\nimport { useAppSelector } from 'src/store';\r\n\r\ninterface RowProps {\r\n data: TipoArquivo;\r\n index: number;\r\n indexSelected: number;\r\n handleFormOpen: Function;\r\n handleModalOpen: Function;\r\n handleIndexSelected: Function;\r\n}\r\n\r\nconst Row: React.FC = ({\r\n data,\r\n index,\r\n indexSelected,\r\n handleFormOpen,\r\n handleModalOpen,\r\n handleIndexSelected,\r\n}: RowProps) => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'tiposarquivos')\r\n ?.flgAcesso || 'N';\r\n\r\n return (\r\n
\r\n \r\n handleIndexSelected(indexSelected !== index ? index : -1)\r\n }\r\n className=\"header\"\r\n >\r\n
\r\n
{data.desTpArquivo}
\r\n
\r\n \r\n
\r\n
\r\n handleFormOpen(true, false)}\r\n disabled={flgAcesso !== 'A'}\r\n variant=\"contained\"\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n fullWidth\r\n >\r\n ALTERAR\r\n \r\n handleModalOpen(true)}\r\n disabled={flgAcesso !== 'A'}\r\n tabIndex={indexSelected === index ? 0 : -1}\r\n variant=\"contained\"\r\n className=\"errorColor\"\r\n fullWidth\r\n >\r\n DELETAR\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import React from 'react';\r\nimport Checkbox from '@mui/material/Checkbox';\r\nimport FormControlLabel from '@mui/material/FormControlLabel';\r\nimport FormHelperText from '@mui/material/FormHelperText';\r\n\r\nimport DmIconifiedSwitch from 'src/components/DmIconifiedSwitch/DmIconifiedSwitch';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { PerfilObjeto } from 'src/store/ducks/perfis/types';\r\n\r\ninterface InputSwitchProps {\r\n options: Array;\r\n value: Array;\r\n onChange: (newValue: Array) => void;\r\n isFormOpened: boolean;\r\n error?: boolean;\r\n helperText?: string;\r\n}\r\n\r\nconst InputSwitch: React.FC = (props: InputSwitchProps) => {\r\n const updateState = (value: PerfilObjeto) => {\r\n const index = props.value.findIndex(\r\n (item) => item.codObjeto === value.codObjeto\r\n );\r\n\r\n const newValue = [...props.value];\r\n\r\n if (index !== -1) {\r\n newValue[index] = value;\r\n } else {\r\n newValue.push(value);\r\n }\r\n\r\n props.onChange(newValue);\r\n };\r\n\r\n return (\r\n \r\n {props.options.map((option, index) => {\r\n const value = props.value.find(\r\n (item) => `${item.codObjeto}` === option.codigo\r\n );\r\n\r\n return (\r\n \r\n \r\n updateState({\r\n codObjeto: parseInt(option.codigo),\r\n flgAcesso: checked ? 'C' : 'N',\r\n })\r\n }\r\n checked={(value?.flgAcesso || 'N') !== 'N'}\r\n tabIndex={props.isFormOpened ? 0 : -1}\r\n />\r\n }\r\n label={option.descricao.toUpperCase()}\r\n style={{ width: '85%' }}\r\n tabIndex={-1}\r\n componentsProps={{\r\n typography: {\r\n style: {\r\n overflow: 'hidden',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n },\r\n },\r\n }}\r\n />\r\n \r\n updateState({\r\n codObjeto: parseInt(option.codigo),\r\n flgAcesso: checked ? 'A' : 'C',\r\n })\r\n }\r\n checked={(value?.flgAcesso || 'N') === 'A'}\r\n disabled={(value?.flgAcesso || 'N') === 'N'}\r\n tabIndex={-1}\r\n />\r\n \r\n );\r\n })}\r\n {props.helperText}\r\n \r\n );\r\n};\r\n\r\nexport default InputSwitch;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, Controller, useForm } from 'react-hook-form';\r\nimport * as Yup from 'yup';\r\n\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport Button from '@mui/material/Button';\r\nimport TextField from '@mui/material/TextField';\r\n\r\nimport InputSwitch from 'src/pages/Cadastros/Perfis/Components/InputSwitch';\r\nimport { useAppSelector, useAppDispatch } from 'src/store';\r\nimport {\r\n perfisCancelOperation,\r\n perfisPostRequest,\r\n perfisPutRequest,\r\n} from 'src/store/ducks/perfis';\r\nimport { Perfil } from 'src/store/ducks/perfis/types';\r\nimport { objetosGetFilterRequest } from 'src/store/ducks/objetos';\r\nimport { CircularProgress } from '@mui/material';\r\nimport { Box } from '@mui/system';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormProps {\r\n data: Perfil | null;\r\n isFormOpened: boolean;\r\n}\r\n\r\nconst schema = Yup.object({\r\n idRelPerfil: Yup.number().notRequired(),\r\n desPerfil: Yup.string().required('Campo obrigatório!'),\r\n lstPerfisObjetos: Yup.array(),\r\n});\r\n\r\nconst defaultValues: Perfil = {\r\n idRelPerfil: 0,\r\n desPerfil: '',\r\n lstPerfisObjetos: [],\r\n};\r\n\r\nconst Form: React.FC = ({ data, isFormOpened }: FormProps) => {\r\n const dispatch = useAppDispatch();\r\n const objetos = useAppSelector((state) => state.objetos.filterList);\r\n const errors = useAppSelector((state) => state.perfis.operationError);\r\n const operationState = useAppSelector((state) => state.perfis.operationState);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const { handleSubmit, register, reset, control, formState } = useForm(\r\n {\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n }\r\n );\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n dispatch(\r\n data && data.idRelPerfil > 0\r\n ? perfisPutRequest(values)\r\n : perfisPostRequest(values)\r\n );\r\n if (errors !== undefined) setErrorCollapseOpened(true);\r\n };\r\n\r\n const onCancel = () => {\r\n dispatch(perfisCancelOperation());\r\n setErrorCollapseOpened(false);\r\n };\r\n\r\n useEffect(() => {\r\n dispatch(objetosGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n reset(isFormOpened && data ? data : defaultValues);\r\n }, [data, isFormOpened, reset]);\r\n\r\n return (\r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n (\r\n field.onChange(event)}\r\n isFormOpened={isFormOpened}\r\n />\r\n )}\r\n />\r\n
\r\n {\r\n onCancel();\r\n setErrorCollapseOpened(false);\r\n }}\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n SALVAR\r\n \r\n {(formState.isSubmitting || operationState === 'request') && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Form;\r\n","import { Icon } from '@iconify/react';\r\nimport { Alert, AlertColor, Collapse, IconButton } from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { ErrorAPI } from 'src/store/ducks/types';\r\n\r\ninterface Props {\r\n isErrorCollapseOpened: boolean;\r\n setErrorCollapseOpened: Function;\r\n error: ErrorAPI | undefined;\r\n sx?: any;\r\n}\r\n\r\nconst DmCollapseHandler = (props: Props) => {\r\n const [errorSeverity, setErrorSeverity] = useState(\r\n props.error?.tipo === 1000 ? 'error' : 'warning'\r\n );\r\n\r\n useEffect(() => {\r\n if (props.error) {\r\n setErrorSeverity(props.error.tipo === 1000 ? 'error' : 'warning');\r\n }\r\n }, [props.error]);\r\n\r\n return (\r\n \r\n {\r\n props.setErrorCollapseOpened(false);\r\n }}\r\n >\r\n \r\n \r\n }\r\n sx={{ mb: 2 }}\r\n >\r\n {props.error?.mensagem}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DmCollapseHandler;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { Paginacao } from 'src/store/ducks/base';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { Perfil, PerfisState } from 'src/store/ducks/perfis/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: PerfisState = {\r\n data: [],\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n loading: false,\r\n error: undefined,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n deleteError: undefined,\r\n deleteState: 'idle',\r\n};\r\n\r\nexport const perfisSlice = createSlice({\r\n name: 'perfis',\r\n initialState: initialState,\r\n reducers: {\r\n perfisGetRequest: (state, action: PayloadAction) => {\r\n state.loading = true;\r\n state.error = undefined;\r\n },\r\n perfisGetSuccess: (state, action: PayloadAction>) => {\r\n state.data = action.payload.dados;\r\n state.pagination = action.payload.paginacao;\r\n state.loading = false;\r\n state.error = undefined;\r\n },\r\n perfisGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.loading = false;\r\n },\r\n perfisCleanError: (state) => {\r\n state.error = undefined;\r\n },\r\n perfisGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {},\r\n perfisGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n },\r\n perfisPostRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n perfisPutRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n perfisOperationSuccess: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'success';\r\n },\r\n perfisOperationError: (state, action: PayloadAction) => {\r\n state.operationError = action.payload;\r\n state.operationState = 'error';\r\n },\r\n perfisDeleteRequest: (state, action: PayloadAction) => {\r\n state.deleteState = 'request';\r\n },\r\n perfisDeleteError: (state, action: PayloadAction) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'error';\r\n },\r\n perfisDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'success';\r\n },\r\n perfisCancelOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'cancel';\r\n },\r\n perfisCancelDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'cancel';\r\n },\r\n perfisIdleOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'idle';\r\n },\r\n perfisIdleDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'idle';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n perfisGetRequest,\r\n perfisGetSuccess,\r\n perfisGetError,\r\n perfisGetFilterRequest,\r\n perfisGetFilterSuccess,\r\n perfisPostRequest,\r\n perfisPutRequest,\r\n perfisDeleteRequest,\r\n perfisOperationSuccess,\r\n perfisOperationError,\r\n perfisDeleteSuccess,\r\n perfisDeleteError,\r\n perfisCancelOperation,\r\n perfisCancelDelete,\r\n perfisIdleOperation,\r\n perfisIdleDelete,\r\n perfisCleanError,\r\n} = perfisSlice.actions;\r\n\r\nexport default perfisSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { Paginacao } from 'src/store/ducks/base';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n TipoArquivo,\r\n TipoArquivoState,\r\n} from 'src/store/ducks/tipoArquivo/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: TipoArquivoState = {\r\n data: [],\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n loading: false,\r\n error: undefined,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n deleteError: undefined,\r\n deleteState: 'idle',\r\n};\r\n\r\nexport const tipoArquivoSlice = createSlice({\r\n name: 'tipoArquivo',\r\n initialState: initialState,\r\n reducers: {\r\n tipoArquivoGetRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.loading = true;\r\n state.error = undefined;\r\n },\r\n tipoArquivoGetSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.data = action.payload.dados;\r\n state.pagination = action.payload.paginacao;\r\n state.loading = false;\r\n state.error = undefined;\r\n },\r\n tipoArquivoGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.loading = false;\r\n },\r\n tipoArquivoCleanError: (state) => {\r\n state.error = undefined;\r\n },\r\n tipoArquivoGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {},\r\n tipoArquivoGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n },\r\n tipoArquivoPostRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n tipoArquivoPutRequest: (state, action: PayloadAction) => {\r\n state.operationState = 'request';\r\n },\r\n tipoArquivoOperationSuccess: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'success';\r\n },\r\n tipoArquivoOperationError: (state, action: PayloadAction) => {\r\n state.operationError = action.payload;\r\n state.operationState = 'error';\r\n },\r\n tipoArquivoDeleteRequest: (state, action: PayloadAction) => {\r\n state.deleteState = 'request';\r\n },\r\n tipoArquivoDeleteError: (state, action: PayloadAction) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'error';\r\n },\r\n tipoArquivoDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'success';\r\n },\r\n tipoArquivoCancelOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'cancel';\r\n },\r\n tipoArquivoCancelDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'cancel';\r\n },\r\n tipoArquivoIdleOperation: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'idle';\r\n },\r\n tipoArquivoIdleDelete: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'idle';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n tipoArquivoGetRequest,\r\n tipoArquivoGetSuccess,\r\n tipoArquivoGetError,\r\n tipoArquivoGetFilterRequest,\r\n tipoArquivoGetFilterSuccess,\r\n tipoArquivoPostRequest,\r\n tipoArquivoPutRequest,\r\n tipoArquivoDeleteRequest,\r\n tipoArquivoOperationSuccess,\r\n tipoArquivoOperationError,\r\n tipoArquivoDeleteSuccess,\r\n tipoArquivoDeleteError,\r\n tipoArquivoCancelOperation,\r\n tipoArquivoCancelDelete,\r\n tipoArquivoIdleOperation,\r\n tipoArquivoIdleDelete,\r\n tipoArquivoCleanError,\r\n} = tipoArquivoSlice.actions;\r\n\r\nexport default tipoArquivoSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { Paginacao } from 'src/store/ducks/base';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n UsuarioPrestador,\r\n UsuariosPrestadoresState,\r\n} from 'src/store/ducks/usuariosPrestadores/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: UsuariosPrestadoresState = {\r\n data: [],\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n error: undefined,\r\n loading: false,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n deleteError: undefined,\r\n deleteState: 'idle',\r\n};\r\n\r\nexport const usuariosPrestadoresSlice = createSlice({\r\n name: 'usuariosPrestadores',\r\n initialState: initialState,\r\n reducers: {\r\n usuariosPrestadoresGetRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.loading = true;\r\n state.error = undefined;\r\n },\r\n usuariosPrestadoresGetSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.data = action.payload.dados;\r\n state.pagination = action.payload.paginacao;\r\n state.error = undefined;\r\n state.loading = false;\r\n },\r\n usuariosPrestadoresGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n usuariosPrestadoresGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {},\r\n usuariosPrestadoresGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n },\r\n usuariosPrestadoresPostRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosPrestadoresPutRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosPrestadoresDeleteRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosPrestadoresOperationSuccess: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'success';\r\n },\r\n usuariosPrestadoresOperationError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationError = action.payload;\r\n state.operationState = 'error';\r\n },\r\n usuariosPrestadoresDeleteError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'error';\r\n },\r\n usuariosPrestadoresDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'success';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n usuariosPrestadoresGetRequest,\r\n usuariosPrestadoresGetSuccess,\r\n usuariosPrestadoresGetError,\r\n usuariosPrestadoresGetFilterRequest,\r\n usuariosPrestadoresGetFilterSuccess,\r\n usuariosPrestadoresPostRequest,\r\n usuariosPrestadoresPutRequest,\r\n usuariosPrestadoresDeleteRequest,\r\n usuariosPrestadoresOperationSuccess,\r\n usuariosPrestadoresOperationError,\r\n usuariosPrestadoresDeleteError,\r\n usuariosPrestadoresDeleteSuccess,\r\n} = usuariosPrestadoresSlice.actions;\r\n\r\nexport default usuariosPrestadoresSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { Paginacao } from 'src/store/ducks/base';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n UsuarioFornecedor,\r\n UsuariosFornecedoresState,\r\n} from 'src/store/ducks/usuariosFornecedores/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: UsuariosFornecedoresState = {\r\n data: [],\r\n filterList: [],\r\n pagination: Paginacao.getValoresPadrao(),\r\n error: undefined,\r\n loading: false,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n deleteError: undefined,\r\n deleteState: 'idle',\r\n};\r\n\r\nexport const usuariosFornecedoresSlice = createSlice({\r\n name: 'usuariosFornecedores',\r\n initialState: initialState,\r\n reducers: {\r\n usuariosFornecedoresGetRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.loading = true;\r\n state.error = undefined;\r\n },\r\n usuariosFornecedoresGetSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.data = action.payload.dados;\r\n state.pagination = action.payload.paginacao;\r\n state.error = undefined;\r\n state.loading = false;\r\n },\r\n usuariosFornecedoresGetError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n usuariosFornecedoresGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {},\r\n usuariosFornecedoresGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n },\r\n usuariosFornecedoresPostRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosFornecedoresPutRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosFornecedoresDeleteRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationState = 'request';\r\n },\r\n usuariosFornecedoresOperationSuccess: (state) => {\r\n state.operationError = undefined;\r\n state.operationState = 'success';\r\n },\r\n usuariosFornecedoresOperationError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.operationError = action.payload;\r\n state.operationState = 'error';\r\n },\r\n usuariosFornecedoresDeleteError: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.deleteError = action.payload;\r\n state.deleteState = 'error';\r\n },\r\n usuariosFornecedoresDeleteSuccess: (state) => {\r\n state.deleteError = undefined;\r\n state.deleteState = 'success';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n usuariosFornecedoresGetRequest,\r\n usuariosFornecedoresGetSuccess,\r\n usuariosFornecedoresGetError,\r\n usuariosFornecedoresGetFilterRequest,\r\n usuariosFornecedoresGetFilterSuccess,\r\n usuariosFornecedoresPostRequest,\r\n usuariosFornecedoresPutRequest,\r\n usuariosFornecedoresDeleteRequest,\r\n usuariosFornecedoresOperationSuccess,\r\n usuariosFornecedoresOperationError,\r\n usuariosFornecedoresDeleteError,\r\n usuariosFornecedoresDeleteSuccess,\r\n} = usuariosFornecedoresSlice.actions;\r\n\r\nexport default usuariosFornecedoresSlice.reducer;\r\n","import React from 'react';\r\n\r\ntype Props = {\r\n width?: number;\r\n height?: number;\r\n};\r\n\r\nconst DatamobIcon = (props: Props) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DatamobIcon;\r\n","export default __webpack_public_path__ + \"static/media/1-desktop.e8076a84.png\";","export default __webpack_public_path__ + \"static/media/2-desktop.18444769.png\";","export default __webpack_public_path__ + \"static/media/3-desktop.1999ec63.png\";","export default __webpack_public_path__ + \"static/media/1-mobile.50db66f3.png\";","export default __webpack_public_path__ + \"static/media/2-mobile.b4576090.png\";","export default __webpack_public_path__ + \"static/media/3-mobile.3f47100f.png\";","import React, { useState, useEffect } from 'react';\r\nimport './Carousel.css';\r\n\r\ntype Props = {\r\n children: React.ReactChild[];\r\n};\r\n\r\nconst Carousel: React.FC = ({ children }: Props) => {\r\n const [carouselIndex, setCarouselIndex] = useState(0);\r\n\r\n var arr = [];\r\n for (let i = 0; i < children.length; i++) {\r\n arr.push(\r\n setCarouselIndex(i)}\r\n >\r\n );\r\n }\r\n\r\n useEffect(() => {\r\n const timer = setTimeout(() => {\r\n setCarouselIndex((carouselIndex + 1) % 3);\r\n }, 7000);\r\n return () => clearTimeout(timer);\r\n }, [carouselIndex]);\r\n\r\n return (\r\n
\r\n {children[carouselIndex]}\r\n
{arr}
\r\n
\r\n );\r\n};\r\n\r\nexport default Carousel;\r\n","import 'src/pages/Login/Components/Left/Styles/index.css';\r\n\r\nimport React from 'react';\r\n\r\nimport DatamobIcon from 'src/assets/DatamobIcon';\r\nimport desktop1 from 'src/assets/carousel/1-desktop.png';\r\nimport desktop2 from 'src/assets/carousel/2-desktop.png';\r\nimport desktop3 from 'src/assets/carousel/3-desktop.png';\r\nimport mobile1 from 'src/assets/carousel/1-mobile.png';\r\nimport mobile2 from 'src/assets/carousel/2-mobile.png';\r\nimport mobile3 from 'src/assets/carousel/3-mobile.png';\r\n\r\nimport Carousel from 'src/components/Carousel';\r\nimport { Typography } from '@mui/material';\r\n\r\nconst Left: React.FC = (props: any) => {\r\n return (\r\n
\r\n
\r\n \r\n PORTAL DE RELATÓRIOS\r\n
\r\n \r\n
\r\n
\r\n \"Dashboard\r\n \"Dashboard\r\n
\r\n

Dashboard limpa e intuitiva

\r\n

\r\n Com design responsivo, é possível acessar tanto no seu computador\r\n quanto no seu celular!\r\n

\r\n
\r\n
\r\n
\r\n \"Acesso\r\n \"Acesso\r\n
\r\n

Acesso fácil aos arquivos

\r\n

\r\n Um sistema de arrastar e soltar que vai facilitar demais a sua vida!\r\n

\r\n
\r\n
\r\n
\r\n \"Dashboard\r\n \"Dashboard\r\n
\r\n

Fique por dentro de tudo o que aconteceu

\r\n

\r\n Com os logs de acesso, é possível monitorar a atividade de todos os\r\n colaboradores!\r\n

\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Left;\r\n","import 'src/pages/Login/Routes/Confirmation/Styles/index.css';\r\n\r\nimport React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport ReactCodeInput from 'react-verification-code-input';\r\nimport { Button, Typography } from '@mui/material';\r\n\r\nconst Confirmation: React.FC = (props: any) => {\r\n return (\r\n
\r\n \r\n Recuperação de senha\r\n \r\n
\r\n

Um código foi enviado para:

\r\n r●●●●●●●●@gmail.com\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n CANCELAR\r\n \r\n \r\n

\r\n Caso não tenha acesso a esse email, entre em contato com um\r\n administrador do sistema.\r\n

\r\n \r\n );\r\n};\r\n\r\nexport default Confirmation;\r\n","import 'src/pages/Login/Routes/Form/Styles/index.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { Link, useHistory } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport { Button, CircularProgress, TextField, Typography } from '@mui/material';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { loginRequest } from 'src/store/ducks/login';\r\nimport { Box } from '@mui/system';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormInputs {\r\n desLogin: string;\r\n desSenha: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n desLogin: Yup.string().required(),\r\n desSenha: Yup.string().required(),\r\n});\r\n\r\nconst Login: React.FC = () => {\r\n const history = useHistory();\r\n const dispatch = useAppDispatch();\r\n const loginError = useAppSelector((state) => state.session.error);\r\n const operationState = useAppSelector((state) => state.session.operationState);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n\r\n const { register, handleSubmit, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n });\r\n\r\n const onSubmit: SubmitHandler = (data) => {\r\n history.push('/');\r\n dispatch(loginRequest(data));\r\n\r\n if (loginError) setErrorCollapseOpened(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (loginError) setErrorCollapseOpened(true);\r\n }, [loginError]);\r\n\r\n return (\r\n \r\n \r\n Acessar\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n ENTRAR\r\n \r\n {(formState.isSubmitting || operationState === 'request') && (\r\n \r\n )}\r\n \r\n \r\n Esqueceu a senha?\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Login;\r\n","import 'src/pages/Login/Routes/NewPassword/Styles/index.css';\r\n\r\nimport React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, TextField, Typography } from '@mui/material';\r\n\r\nconst NewPassword: React.FC = (props: any) => {\r\n return (\r\n
\r\n \r\n Recuperação de senha\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CANCELAR\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NewPassword;\r\n","import 'src/pages/Login/Routes/Recovery/Styles/index.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, useForm } from 'react-hook-form';\r\nimport { Link } from 'react-router-dom';\r\nimport * as Yup from 'yup';\r\n\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n Button,\r\n CircularProgress,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { Box } from '@mui/system';\r\n\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { recoveryRequest, reset } from 'src/store/ducks/login';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface FormInputs {\r\n desLogin: string;\r\n desEmail: string;\r\n}\r\n\r\nconst schema = Yup.object({\r\n desLogin: Yup.string().required('Campo obrigatório'),\r\n desEmail: Yup.string().email('E-mail inválido').required('Campo obrigatório'),\r\n});\r\n\r\nconst Recovery: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n const recoveryError = useAppSelector((state) => state.session.error);\r\n const operationState = useAppSelector(\r\n (state) => state.session.operationState\r\n );\r\n const [isAllertCollapseOpened, setAlertCollapseOpened] = useState(false);\r\n\r\n const { register, handleSubmit, formState } = useForm({\r\n resolver: yupResolver(schema),\r\n });\r\n\r\n const onSubmit: SubmitHandler = (data) => {\r\n dispatch(recoveryRequest(data));\r\n };\r\n\r\n useEffect(() => {\r\n const open = operationState === 'success' || operationState === 'error';\r\n setAlertCollapseOpened(open);\r\n }, [operationState, dispatch]);\r\n\r\n useEffect(() => {\r\n dispatch(reset());\r\n }, [dispatch]);\r\n\r\n return (\r\n \r\n \r\n Recuperação de senha\r\n \r\n
\r\n

\r\n Preencha o formulário a seguir para recuperar a sua senha de acesso\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n ENVIAR\r\n \r\n {(formState.isSubmitting || operationState === 'request') && (\r\n \r\n )}\r\n \r\n \r\n \r\n {operationState !== 'success' ? 'CANCELAR' : 'VOLTAR'}\r\n \r\n \r\n

\r\n Caso não tenha acesso a essas informações, entre em contato com um\r\n administrador do sistema.\r\n

\r\n \r\n );\r\n};\r\n\r\nexport default Recovery;\r\n","import 'src/pages/Login/Styles/index.css';\r\n\r\nimport React from 'react';\r\nimport { Switch, Route } from 'react-router';\r\n\r\nimport Left from 'src/pages/Login/Components/Left';\r\nimport Confirmation from 'src/pages/Login/Routes/Confirmation';\r\nimport Form from 'src/pages/Login/Routes/Form';\r\nimport NewPassword from 'src/pages/Login/Routes/NewPassword';\r\nimport Recovery from 'src/pages/Login/Routes/Recovery';\r\n\r\nconst Canvas: React.FC = () => {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Canvas;\r\n","import React from 'react';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport DatamobIcon from '../assets/DatamobIcon';\r\nimport './Menu.css';\r\nimport { Icon } from '@iconify/react';\r\nimport { Box, Drawer, List, ListItem, ListItemText } from '@mui/material';\r\n\r\nimport { useAppSelector } from 'src/store';\r\n\r\nconst menuItens = [\r\n {\r\n label: 'Perfis',\r\n link: '/perfis',\r\n api: 'Perfis',\r\n },\r\n {\r\n label: 'Usuários',\r\n link: '/usuarios',\r\n api: 'Usuarios',\r\n },\r\n {\r\n label: 'Vínculos de Usuários',\r\n link: '/vinculos-usuarios',\r\n api: 'VinculosUsuarios',\r\n },\r\n];\r\n\r\nconst menuItensRelatorios = [\r\n {\r\n label: 'Relatórios',\r\n link: '/relatorios',\r\n api: 'Relatorios',\r\n },\r\n {\r\n label: 'Gerenciamento',\r\n link: '/gerenciamento',\r\n api: 'GerenciarRelatorios',\r\n },\r\n {\r\n label: 'Meus Uploads',\r\n link: '/meusuploads',\r\n api: 'MeusUploads',\r\n },\r\n {\r\n label: 'Tipos de arquivos',\r\n link: '/tiposarquivos',\r\n api: 'TiposArquivos',\r\n },\r\n];\r\n\r\nconst Menu = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const [state, setState] = React.useState(false);\r\n const [stateRelatorios, setStateRelatorios] = React.useState(false);\r\n\r\n const buildMenu = () => {\r\n return menuItens.filter((menu) =>\r\n objetos.find(\r\n (objeto) => objeto.nomPagina.toLowerCase() === menu.api.toLowerCase()\r\n )\r\n );\r\n };\r\n\r\n const buildMenuRelatorios = () => {\r\n return menuItensRelatorios.filter((menu) =>\r\n objetos.find(\r\n (objeto) => objeto.nomPagina.toLowerCase() === menu.api.toLowerCase()\r\n )\r\n );\r\n };\r\n\r\n const toggleDrawer =\r\n (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => {\r\n if (\r\n event.type === 'keydown' &&\r\n ((event as React.KeyboardEvent).key === 'Tab' ||\r\n (event as React.KeyboardEvent).key === 'Shift')\r\n ) {\r\n return;\r\n }\r\n\r\n setState(open);\r\n };\r\n const toggleDrawerRelatorios =\r\n (open: boolean) => (event: React.KeyboardEvent | React.MouseEvent) => {\r\n if (\r\n event.type === 'keydown' &&\r\n ((event as React.KeyboardEvent).key === 'Tab' ||\r\n (event as React.KeyboardEvent).key === 'Shift')\r\n ) {\r\n return;\r\n }\r\n\r\n setStateRelatorios(open);\r\n };\r\n\r\n const location = useLocation();\r\n\r\n const list = () => (\r\n \r\n \r\n {buildMenu().map((text, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n\r\n const listRelatorios = () => (\r\n \r\n \r\n {buildMenuRelatorios().map((text, index) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n {\r\n setState(false);\r\n setStateRelatorios(false);\r\n }}\r\n >\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n () => {\r\n setState(false);\r\n setStateRelatorios(false);\r\n }}\r\n >\r\n \r\n
\r\n \r\n {objetos.findIndex(\r\n (t) =>\r\n menuItensRelatorios.findIndex((x) => x.api === t.nomPagina) !== -1\r\n ) !== -1 && (\r\n item.link === location.pathname\r\n ) !== -1\r\n ? ' active'\r\n : location.pathname === '/relpreproducao' ||\r\n location.pathname === '/relprecombustivel' ||\r\n location.pathname === '/relpreextrato' ||\r\n location.pathname === '/relprerecurso' ||\r\n location.pathname === '/relforcarregamento' ||\r\n location.pathname === '/relforpagamento' ||\r\n location.pathname === '/relforcanaentregue'\r\n ? ' active'\r\n : '')\r\n }\r\n onClick={() => {\r\n setState(false);\r\n setStateRelatorios((stateRelatorios) => !stateRelatorios);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n {objetos.findIndex(\r\n (t) => menuItens.findIndex((x) => x.api === t.nomPagina) !== -1\r\n ) !== -1 && (\r\n item.link === location.pathname\r\n ) !== -1\r\n ? ' active'\r\n : '')\r\n }\r\n onClick={() => {\r\n setState((state) => !state);\r\n setStateRelatorios(false);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n {/*\r\n \r\n {\r\n setActive('/usuarios');\r\n }}\r\n >\r\n \r\n \r\n \r\n */}\r\n \r\n\r\n \r\n {list()}\r\n \r\n\r\n \r\n {listRelatorios()}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Menu;\r\n","import { Typography } from '@mui/material';\r\nimport Header from '../components/Header';\r\nimport './Dashboard.css';\r\n\r\nconst Dashboard = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Bem-Vindo ao Portal de Relatórios\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Dashboard;\r\n","import React from 'react';\r\nimport { VariableSizeList, ListChildComponentProps } from 'react-window';\r\n\r\nimport { ListSubheader, Typography, useMediaQuery } from '@mui/material';\r\nimport { autocompleteClasses } from '@mui/material/Autocomplete';\r\nimport Popper from '@mui/material/Popper';\r\nimport { useTheme, styled } from '@mui/material/styles';\r\n\r\nconst LISTBOX_PADDING = 8;\r\n\r\nexport function renderRow(props: ListChildComponentProps) {\r\n const { data, index, style } = props;\r\n const dataSet = data[index];\r\n const inlineStyle = {\r\n ...style,\r\n top: (style.top as number) + LISTBOX_PADDING,\r\n };\r\n\r\n if (dataSet.hasOwnProperty('group')) {\r\n return (\r\n \r\n {dataSet.group}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {dataSet[1]}\r\n \r\n );\r\n}\r\n\r\nconst OuterElementContext = React.createContext({});\r\n\r\nexport const OuterElementType = React.forwardRef(\r\n (props, ref) => {\r\n const outerProps = React.useContext(OuterElementContext);\r\n return
;\r\n }\r\n);\r\n\r\nexport function useResetCache(data: any) {\r\n const ref = React.useRef(null);\r\n React.useEffect(() => {\r\n if (ref.current != null) {\r\n ref.current.resetAfterIndex(0, true);\r\n }\r\n }, [data]);\r\n return ref;\r\n}\r\n\r\nexport const ListboxComponent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes\r\n>(function ListboxComponent(props, ref) {\r\n const { children, ...other } = props;\r\n const itemData: React.ReactChild[] = [];\r\n (children as React.ReactChild[]).forEach(\r\n (item: React.ReactChild & { children?: React.ReactChild[] }) => {\r\n itemData.push(item);\r\n itemData.push(...(item.children || []));\r\n }\r\n );\r\n\r\n const theme = useTheme();\r\n const smUp = useMediaQuery(theme.breakpoints.up('sm'), {\r\n noSsr: true,\r\n });\r\n const itemCount = itemData.length;\r\n const itemSize = smUp ? 36 : 48;\r\n\r\n const getChildSize = (child: React.ReactChild) => {\r\n if (child.hasOwnProperty('group')) {\r\n return 48;\r\n }\r\n\r\n return itemSize;\r\n };\r\n\r\n const getHeight = () => {\r\n if (itemCount > 16) {\r\n return 16 * itemSize;\r\n }\r\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\r\n };\r\n\r\n const gridRef = useResetCache(itemCount);\r\n\r\n return (\r\n
\r\n \r\n getChildSize(itemData[index])}\r\n overscanCount={8}\r\n itemCount={itemCount}\r\n style={{ height: '100%' }}\r\n >\r\n {renderRow}\r\n \r\n \r\n
\r\n );\r\n});\r\n\r\nexport const StyledPopper = styled(Popper)({\r\n [`& .${autocompleteClasses.listbox}`]: {\r\n boxSizing: 'border-box',\r\n '& ul': {\r\n margin: 0,\r\n padding: 0,\r\n },\r\n },\r\n});\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\n\r\nimport { Button, Tab, Tabs, TextField } from '@mui/material';\r\nimport Autocomplete from '@mui/material/Autocomplete';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\n\r\nimport {\r\n ListboxComponent,\r\n StyledPopper,\r\n} from 'src/pages/Cadastros/VinculosUsuarios/Components/Autocomplete';\r\n\r\nimport { useAppSelector, useAppDispatch } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\n\r\nimport { fornecedoresGetFilterRequest } from 'src/store/ducks/fornecedores';\r\nimport { prestadoresGetFilterRequest } from 'src/store/ducks/prestadores';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\n\r\nimport {\r\n usuariosFornecedoresGetRequest,\r\n usuariosFornecedoresPostRequest,\r\n usuariosFornecedoresDeleteRequest,\r\n} from 'src/store/ducks/usuariosFornecedores';\r\nimport {\r\n usuariosPrestadoresGetRequest,\r\n usuariosPrestadoresPostRequest,\r\n usuariosPrestadoresDeleteRequest,\r\n} from 'src/store/ducks/usuariosPrestadores';\r\nimport { UsuarioFornecedor } from 'src/store/ducks/usuariosFornecedores/types';\r\nimport { UsuarioPrestador } from 'src/store/ducks/usuariosPrestadores/types';\r\n\r\ninterface FormProps {\r\n data: Usuario | null;\r\n isFormOpened: boolean;\r\n onCancel(): void;\r\n}\r\n\r\nconst Form: React.FC = ({\r\n data,\r\n isFormOpened,\r\n onCancel,\r\n}: FormProps) => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'vinculosusuarios')\r\n ?.flgAcesso || 'N';\r\n\r\n const [tabsForm, setTabsForm] = useState('forn');\r\n const [fornecedores, setFornecedores] = useState([]);\r\n const [prestadores, setPrestadores] = useState([]);\r\n\r\n const [fornecedoresAntigos, setFornecedoresAntigos] = useState(\r\n []\r\n );\r\n const [prestadoresAntigos, setPrestadoresAntigos] = useState(\r\n []\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const lstFornecedores = useAppSelector(\r\n (state) => state.fornecedores.filterList\r\n );\r\n const lstPrestadores = useAppSelector(\r\n (state) => state.prestadores.filterList\r\n );\r\n\r\n const fornAux = useAppSelector((state) => state.usuariosFornecedores.data);\r\n const prestAux = useAppSelector((state) => state.usuariosPrestadores.data);\r\n\r\n const handleChangeTabs = (event: React.SyntheticEvent, newValue: string) => {\r\n setTabsForm(newValue);\r\n };\r\n\r\n function handleSubmit(e: any) {\r\n e.preventDefault();\r\n\r\n if (data) {\r\n const deleteForn = fornecedoresAntigos.filter(\r\n (x) => !fornecedores.includes(x)\r\n );\r\n const createForn = fornecedores.filter(\r\n (x) => !fornecedoresAntigos.includes(x)\r\n );\r\n\r\n const deletePrest = prestadoresAntigos.filter(\r\n (x) => !prestadores.includes(x)\r\n );\r\n const createPrest = prestadores.filter(\r\n (x) => !prestadoresAntigos.includes(x)\r\n );\r\n\r\n deleteForn.forEach((item) => {\r\n const usuForn: UsuarioFornecedor = {\r\n idRelUsuario: data.idRelUsuario,\r\n codFornecedor: parseInt(item.codigo),\r\n };\r\n\r\n dispatch(usuariosFornecedoresDeleteRequest(usuForn));\r\n });\r\n\r\n createForn.forEach((item) => {\r\n const usuForn: UsuarioFornecedor = {\r\n idRelUsuario: data.idRelUsuario,\r\n codFornecedor: parseInt(item.codigo),\r\n flgAtivo: 'S',\r\n };\r\n\r\n dispatch(usuariosFornecedoresPostRequest(usuForn));\r\n });\r\n\r\n deletePrest.forEach((item) => {\r\n const usuPrest: UsuarioPrestador = {\r\n idRelUsuario: data.idRelUsuario,\r\n codPrestador: parseInt(item.codigo),\r\n };\r\n\r\n dispatch(usuariosPrestadoresDeleteRequest(usuPrest));\r\n });\r\n\r\n createPrest.forEach((item) => {\r\n const usuPrest: UsuarioPrestador = {\r\n idRelUsuario: data.idRelUsuario,\r\n codPrestador: parseInt(item.codigo),\r\n flgAtivo: 'S',\r\n };\r\n\r\n dispatch(usuariosPrestadoresPostRequest(usuPrest));\r\n });\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const newValue = fornAux.map((item) => {\r\n const tipoFiltro: TipoFiltro = {\r\n codigo: `${item.codFornecedor}`,\r\n descricao: `${item.codFornecedor} - ${item.desFornecedor}`,\r\n flgAtivo: 'S',\r\n };\r\n\r\n return tipoFiltro;\r\n });\r\n\r\n setFornecedores(newValue);\r\n setFornecedoresAntigos(newValue);\r\n }, [fornAux]);\r\n\r\n useEffect(() => {\r\n const newValue = prestAux.map((item) => {\r\n const tipoFiltro: TipoFiltro = {\r\n codigo: `${item.codPrestador}`,\r\n descricao: `${item.codPrestador} - ${item.nomPrestador}`,\r\n flgAtivo: 'S',\r\n };\r\n\r\n return tipoFiltro;\r\n });\r\n\r\n setPrestadores(newValue);\r\n setPrestadoresAntigos(newValue);\r\n }, [prestAux]);\r\n\r\n useEffect(() => {\r\n dispatch(fornecedoresGetFilterRequest());\r\n dispatch(prestadoresGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n dispatch(\r\n usuariosFornecedoresGetRequest(`?idRelUsuario=${data?.idRelUsuario}`)\r\n );\r\n dispatch(\r\n usuariosPrestadoresGetRequest(`?idRelUsuario=${data?.idRelUsuario}`)\r\n );\r\n }\r\n }, [data, dispatch]);\r\n\r\n useEffect(() => {\r\n if (!data) {\r\n setFornecedores([]);\r\n setFornecedoresAntigos([]);\r\n setPrestadores([]);\r\n setPrestadoresAntigos([]);\r\n setTabsForm('forn');\r\n }\r\n }, [data, dispatch]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n flgAcesso !== 'A'}\r\n multiple\r\n autoComplete\r\n clearOnBlur={false}\r\n open={true}\r\n noOptionsText=\"Nenhum fornecedor\"\r\n disableListWrap={true}\r\n disablePortal\r\n fullWidth\r\n selectOnFocus\r\n handleHomeEndKeys\r\n disableCloseOnSelect\r\n PopperComponent={StyledPopper}\r\n ListboxComponent={ListboxComponent}\r\n options={lstFornecedores}\r\n getOptionLabel={(option) => option.descricao}\r\n limitTags={1}\r\n ChipProps={{ size: 'small' }}\r\n className={tabsForm === 'forn' ? '' : 'displayNone'}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params: any) => (\r\n \r\n )}\r\n value={fornecedores}\r\n onChange={(_, data) => setFornecedores(data)}\r\n isOptionEqualToValue={(option, value) => option.codigo === value.codigo}\r\n />\r\n flgAcesso !== 'A'}\r\n multiple\r\n noOptionsText=\"Nenhum prestador\"\r\n open={true}\r\n disableListWrap={true}\r\n disablePortal\r\n fullWidth\r\n clearOnBlur\r\n selectOnFocus\r\n handleHomeEndKeys\r\n disableCloseOnSelect\r\n PopperComponent={StyledPopper}\r\n ListboxComponent={ListboxComponent}\r\n options={lstPrestadores}\r\n getOptionLabel={(option) => option.descricao}\r\n limitTags={1}\r\n ChipProps={{ size: 'small' }}\r\n className={tabsForm === 'prest' ? '' : 'displayNone'}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params: any) => (\r\n \r\n )}\r\n value={prestadores}\r\n onChange={(_, data) => setPrestadores(data)}\r\n isOptionEqualToValue={(option, value) => option.codigo === value.codigo}\r\n />\r\n
\r\n \r\n CANCELAR\r\n \r\n \r\n SALVAR\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Form;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React from 'react';\r\nimport { Avatar } from '@mui/material';\r\n\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\nimport { getInitialsFromString } from 'src/utils/StringUtils';\r\n\r\ninterface RowProps {\r\n data: Usuario;\r\n index: number;\r\n indexSelected: number;\r\n handleIndexSelected: Function;\r\n}\r\n\r\nconst Row: React.FC = ({\r\n data,\r\n index,\r\n indexSelected,\r\n handleIndexSelected,\r\n}: RowProps) => {\r\n return (\r\n \r\n \r\n handleIndexSelected(indexSelected !== index ? index : -1)\r\n }\r\n >\r\n \r\n
\r\n
{data.desNome}
\r\n
{data.desEmail}
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import 'src/pages/Usuarios.css';\r\nimport 'src/pages/FormUser.css';\r\nimport 'src/pages/SectionizedTable.css';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Icon } from '@iconify/react';\r\nimport { Skeleton, Tab, Tabs, TextField, Typography } from '@mui/material';\r\n\r\nimport Header from 'src/components/Header';\r\nimport { usePesquisa } from 'src/hooks/usePesquisa';\r\nimport Form from 'src/pages/Cadastros/VinculosUsuarios/Components/Form';\r\nimport Row from 'src/pages/Cadastros/VinculosUsuarios/Components/Row';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport {\r\n usuariosCleanError,\r\n usuariosGetRequest,\r\n} from 'src/store/ducks/usuarios';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\nconst VinculosUsuarios = () => {\r\n const [flgTipo, setFlgTipo] = useState('I');\r\n const [rowSelected, setRowSelected] = useState(-1);\r\n const [isFormOpened, setFormOpened] = useState(false);\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n\r\n const [usuario, setUsuario] = useState(null);\r\n const { pesquisa, handlePesquisa, handleCustomParameters } = usePesquisa({\r\n params: [{ key: 'flgTipo', value: 'I' }],\r\n });\r\n\r\n const dispatch = useAppDispatch();\r\n const usuarios = useAppSelector((state) => state.usuarios.data);\r\n const loading = useAppSelector((state) => state.usuarios.loading);\r\n const getError = useAppSelector((state) => state.usuarios.error);\r\n const ufOperationState = useAppSelector(\r\n (state) => state.usuariosFornecedores.operationState\r\n );\r\n const [isGetErrorCollapseOpened, setGetErrorCollapseOpened] = useState(false);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosCleanError());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const handleChangeFlgTipo = (\r\n event: React.SyntheticEvent,\r\n newValue: string\r\n ) => {\r\n setFlgTipo(newValue);\r\n handleCustomParameters({ key: 'flgTipo', value: newValue });\r\n\r\n if (rowSelected !== -1) {\r\n setFormOpened(false);\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n }\r\n };\r\n\r\n const handleIndexSelected = (value: number) => {\r\n setUsuario(value !== -1 ? usuarios[value] : null);\r\n setFormOpened(value !== -1 ? true : false);\r\n setRowSelected(value);\r\n };\r\n\r\n const handleChangeSearch = (event: React.ChangeEvent) => {\r\n handlePesquisa('filtroPadrao', event.target.value);\r\n };\r\n\r\n useEffect(() => {\r\n if (ufOperationState === 'success') {\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [ufOperationState]);\r\n\r\n const onCancel = () => {\r\n setUsuario(null);\r\n setRowSelected(-1);\r\n setFormOpened(false);\r\n };\r\n\r\n useEffect(() => {\r\n setRowSelected(-1);\r\n dispatch(usuariosGetRequest(pesquisa.toString()));\r\n }, [pesquisa, dispatch]);\r\n\r\n const isOverflown = (e: any) => {\r\n return e?.scrollWidth > e?.clientWidth || e?.scrollHeight > e?.clientHeight;\r\n };\r\n\r\n let arrElems = document.getElementsByClassName('textual');\r\n\r\n useEffect(() => {\r\n for (let elem of arrElems) {\r\n if (isOverflown(elem)) elem.classList.add('overflown');\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Usuários do sistema e seus vínculos\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n setSearchFocused(true)}\r\n onBlur={() => setSearchFocused(false)}\r\n autoComplete=\"off\"\r\n fullWidth\r\n color=\"primary\"\r\n label={\r\n flgTipo === 'I'\r\n ? 'Nome, matrícula, CPF ou e-mail'\r\n : 'Nome, CPF/CNPJ ou e-mail'\r\n }\r\n margin=\"normal\"\r\n variant=\"filled\"\r\n className=\"iconified\"\r\n InputProps={{\r\n disableUnderline: true,\r\n }}\r\n />\r\n
\r\n \r\n \r\n {loading\r\n ? loadingUsersRows()\r\n : usuarios.map((item, index) => (\r\n \r\n ))}\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default VinculosUsuarios;\r\n\r\nconst loadingUsersRows = () => {\r\n let arr = [];\r\n\r\n for (let i = 0; i < 25; i++) {\r\n arr.push(\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n }\r\n\r\n return arr;\r\n};\r\n","import './Form.css';\r\n\r\nimport { Icon } from '@iconify/react';\r\nimport { DatePicker, DateRangePicker, LocalizationProvider } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport {\r\n Autocomplete,\r\n Button,\r\n Card,\r\n CardContent,\r\n Checkbox,\r\n CircularProgress,\r\n FormControlLabel,\r\n FormGroup,\r\n TextField,\r\n Tooltip,\r\n} from '@mui/material';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport { Box } from '@mui/system';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { SubmitHandler, Controller, useForm } from 'react-hook-form';\r\nimport {\r\n StyledPopper,\r\n ListboxComponent,\r\n} from 'src/pages/Cadastros/VinculosUsuarios/Components/Autocomplete';\r\nimport { TipoArquivo } from 'src/store/ducks/tipoArquivo/types';\r\nimport {\r\n ArquivoUpdate,\r\n ArquivoUpload,\r\n ArquivoUploadReceiveFormat,\r\n} from 'src/store/ducks/relatoriosUpload/types';\r\nimport * as Yup from 'yup';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { fornecedoresGetFilterRequest } from 'src/store/ducks/fornecedores';\r\nimport { prestadoresGetFilterRequest } from 'src/store/ducks/prestadores';\r\nimport { tipoArquivoGetRequest } from 'src/store/ducks/tipoArquivo';\r\nimport {\r\n arquivosUpdateRequest,\r\n arquivosUploadError,\r\n arquivosUploadIdle,\r\n arquivosUploadRequest,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { DateRange } from '@mui/lab/DateRangePicker/RangeTypes';\r\nimport DmCollapseHandler from 'src/components/DmCollapseHandler/DmCollapseHandler';\r\n\r\ntype Props = {\r\n sectionModalController: number;\r\n setSectionModalController: Function;\r\n file: File | null;\r\n setFile: Function;\r\n setOpen: Function;\r\n setBlink: Function;\r\n doc?: ArquivoUploadReceiveFormat;\r\n};\r\n\r\nconst autocompleteProps = {\r\n autoComplete: true,\r\n clearOnBlur: false,\r\n disableListWrap: true,\r\n fullWidth: true,\r\n selectOnFocus: true,\r\n handleHomeEndKeys: true,\r\n disableCloseOnSelect: true,\r\n limitTags: 1,\r\n openText: '',\r\n closeText: '',\r\n clearText: '',\r\n loadingText: 'Carregando',\r\n noOptionsText: 'Sem opções',\r\n};\r\n\r\nconst autocompleteUniqueProps = {\r\n fullWidth: true,\r\n blurOnSelect: true,\r\n clearOnBlur: true,\r\n selectOnFocus: true,\r\n handleHomeEndKeys: true,\r\n disableCloseOnSelect: true,\r\n filterSelectedOptions: true,\r\n openText: '',\r\n closeText: '',\r\n clearText: '',\r\n loadingText: 'Carregando',\r\n noOptionsText: 'Sem opções',\r\n};\r\n\r\nconst schema = Yup.object({\r\n idRelTpArquivo: Yup.number()\r\n .nullable()\r\n .default(null)\r\n .required('Campo obrigatório!'),\r\n idRelArquivo: Yup.number(),\r\n formFile: Yup.mixed().notRequired(),\r\n substituirExistentes: Yup.boolean(),\r\n lstCodFornecedores: Yup.array(),\r\n lstCodPrestadores: Yup.array(),\r\n nomArquivo: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .required('Campo obrigatório!'),\r\n desObs: Yup.string(),\r\n codAno: Yup.number()\r\n .nullable()\r\n .default(null)\r\n .when('idRelTpArquivo', {\r\n is: (value: TipoArquivo | null) =>\r\n value !== null && value.flgReferencia\r\n ? 'A' === value.flgReferencia\r\n : false,\r\n then: Yup.number()\r\n .typeError('Campo obrigatório!')\r\n .required('Campo obrigatório!'),\r\n }),\r\n codMes: Yup.number()\r\n .nullable()\r\n .default(null)\r\n .typeError('Data inválida!')\r\n .when('idRelTpArquivo', {\r\n is: (value: TipoArquivo | null) =>\r\n value?.flgReferencia ? 'M' === value.flgReferencia : false,\r\n then: Yup.number()\r\n .typeError('Campo obrigatório!')\r\n .required('Campo obrigatório!'),\r\n }),\r\n dtaIni: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .typeError('Data inválida!')\r\n .when('idRelTpArquivo', {\r\n is: (value: TipoArquivo | null) =>\r\n value?.flgReferencia ? 'D' === value.flgReferencia : false,\r\n then: Yup.string()\r\n .typeError('Campo obrigatório!')\r\n .required('Campo obrigatório!'),\r\n }),\r\n dtaFim: Yup.string()\r\n .nullable()\r\n .default(null)\r\n .typeError('Data inválida!')\r\n .when('idRelTpArquivo', {\r\n is: (value: TipoArquivo | null) =>\r\n value?.flgReferencia ? 'P' === value.flgReferencia : false,\r\n then: Yup.string()\r\n .typeError('Campo obrigatório!')\r\n .required('Campo obrigatório!'),\r\n }),\r\n}).test(\r\n 'is-optional',\r\n 'É necessário selecionar ao menos um fornecedor ou prestador',\r\n ({ lstCodFornecedores, lstCodPrestadores }) => {\r\n if (lstCodPrestadores && lstCodFornecedores) {\r\n return lstCodFornecedores?.length > 0 || lstCodPrestadores?.length > 0;\r\n } else return false;\r\n }\r\n);\r\n\r\ninterface FormProps {\r\n idRelTpArquivo: number | null;\r\n dtaIni: string | null;\r\n dtaFim: string | null;\r\n codAno: number | null;\r\n codMes: number | null;\r\n lstCodFornecedores: Array;\r\n lstCodPrestadores: Array;\r\n desObs: string;\r\n nomArquivo: string;\r\n formFile: File | null;\r\n substituirExistentes?: boolean;\r\n idRelArquivo?: number;\r\n}\r\n\r\nconst defaultValues: FormProps = {\r\n idRelTpArquivo: null,\r\n lstCodFornecedores: [],\r\n lstCodPrestadores: [],\r\n desObs: '',\r\n codAno: null,\r\n codMes: null,\r\n dtaIni: null,\r\n dtaFim: null,\r\n nomArquivo: '',\r\n formFile: null,\r\n substituirExistentes: undefined,\r\n idRelArquivo: undefined,\r\n};\r\n\r\nconst Form = (props: Props) => {\r\n const [forns, setFornecedores] = useState([]);\r\n const [prests, setPrestadores] = useState([]);\r\n const [tipoArquivo, setTipoArquivo] = useState(null);\r\n const [yearOnlyDatePicker, setYearOnlyDatePicker] = useState(\r\n null\r\n );\r\n const [dateOnly, setDateOnly] = useState(null);\r\n const [yearAndMonthDatePicker, setYearAndMonthDatePicker] =\r\n useState(null);\r\n const [datePeriodo, setDatePeriodo] = useState>([null, null]);\r\n const [nomArqWhenDocExists, setNomArqWhenDocExists] = useState(\r\n null\r\n );\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n const [desObsForm, setDesObsForm] = useState(null);\r\n\r\n const tiposArquivos = useAppSelector((state) => state.tipoArquivo.data);\r\n const uploadError = useAppSelector(\r\n (state) => state.arquivoUpload.uploadError\r\n );\r\n const uploadState = useAppSelector(\r\n (state) => state.arquivoUpload.uploadState\r\n );\r\n const lstFornecedores = useAppSelector(\r\n (state) => state.fornecedores.filterList\r\n );\r\n const lstPrestadores = useAppSelector(\r\n (state) => state.prestadores.filterList\r\n );\r\n\r\n useEffect(() => {\r\n if (!props.doc) {\r\n setValue('substituirExistentes', false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.file) {\r\n setValue('nomArquivo', props.file.name);\r\n setNomArqWhenDocExists(props.file.name);\r\n setValue('formFile', props.file);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.file]);\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n useEffect(() => {\r\n if (props.doc && props.doc.idRelTpArquivo && tiposArquivos) {\r\n let tipoArquivoWhenEdit =\r\n tiposArquivos.find(\r\n (item) => props.doc?.idRelTpArquivo === item.idRelTpArquivo\r\n ) || null;\r\n\r\n setTipoArquivo(tipoArquivoWhenEdit);\r\n\r\n clearErrors('idRelTpArquivo');\r\n setValue('idRelTpArquivo', props.doc?.idRelTpArquivo);\r\n\r\n if (props.doc.lstCodFornecedores) {\r\n setFornecedores(\r\n lstFornecedores.filter((value) =>\r\n props.doc?.lstCodFornecedores?.includes(parseInt(value.codigo))\r\n )\r\n );\r\n setValue('lstCodFornecedores', props.doc.lstCodFornecedores);\r\n }\r\n\r\n if (props.doc.lstCodPrestadores) {\r\n setValue('lstCodPrestadores', props.doc.lstCodPrestadores);\r\n setPrestadores(\r\n lstPrestadores.filter((value) =>\r\n props.doc?.lstCodPrestadores?.includes(parseInt(value.codigo))\r\n )\r\n );\r\n }\r\n\r\n setNomArqWhenDocExists(props.doc.nomArquivo);\r\n setValue('nomArquivo', nomArqWhenDocExists || props.doc.nomArquivo);\r\n\r\n if (props.doc.desObs) {\r\n setDesObsForm(props.doc.desObs);\r\n setValue('desObs', props.doc.desObs);\r\n }\r\n\r\n if (props.doc.codMes && props.doc.codAno) {\r\n let d = new Date();\r\n d.setMonth(props.doc.codMes);\r\n d.setFullYear(props.doc.codAno);\r\n setYearAndMonthDatePicker(d);\r\n setValue('codMes', props.doc.codMes);\r\n setValue('codAno', props.doc.codAno);\r\n } else if (props.doc.codAno) {\r\n let d = new Date();\r\n d.setFullYear(props.doc.codAno);\r\n setYearOnlyDatePicker(d);\r\n setValue('codAno', props.doc.codAno);\r\n } else if (props.doc.dtaIni && props.doc.dtaFim) {\r\n let dtaIni = new Date(props.doc.dtaIni);\r\n let dtaFim = new Date(props.doc.dtaFim);\r\n setValue('dtaIni', props.doc.dtaIni);\r\n setValue('dtaFim', props.doc.dtaFim);\r\n setDatePeriodo([dtaIni, dtaFim]);\r\n } else if (props.doc.dtaIni) {\r\n let dtaIni = new Date(props.doc.dtaIni);\r\n setDateOnly(dtaIni);\r\n setValue('dtaIni', props.doc.dtaIni);\r\n }\r\n\r\n if (props.doc.idRelArquivo)\r\n setValue('idRelArquivo', props.doc.idRelArquivo);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [props.doc, tiposArquivos]);\r\n\r\n useEffect(() => {\r\n switch (tipoArquivo?.flgReferencia) {\r\n case 'A':\r\n setValue('codMes', null);\r\n setValue('dtaIni', null);\r\n setValue('dtaFim', null);\r\n break;\r\n case 'M':\r\n setValue('codAno', null);\r\n setValue('dtaIni', null);\r\n setValue('dtaFim', null);\r\n break;\r\n case 'P':\r\n setValue('codMes', null);\r\n setValue('codAno', null);\r\n break;\r\n case 'D':\r\n setValue('codMes', null);\r\n setValue('codAno', null);\r\n setValue('dtaFim', null);\r\n break;\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [tipoArquivo]);\r\n\r\n const dispatch = useAppDispatch();\r\n useEffect(() => {\r\n dispatch(fornecedoresGetFilterRequest());\r\n dispatch(prestadoresGetFilterRequest());\r\n dispatch(tipoArquivoGetRequest());\r\n }, [dispatch]);\r\n\r\n const { trigger, clearErrors, handleSubmit, reset, setValue, control } =\r\n useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n if (props.doc) {\r\n dispatch(arquivosUpdateRequest(values as ArquivoUpdate));\r\n } else {\r\n dispatch(arquivosUploadRequest(values as ArquivoUpload));\r\n }\r\n };\r\n\r\n const onError = (error: any) => {\r\n if (error['']?.message)\r\n dispatch(\r\n arquivosUploadError({\r\n desTipo: 'aviso',\r\n mensagem: error[''].message,\r\n tipo: 2000,\r\n })\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n return () => {\r\n reset(defaultValues);\r\n dispatch(arquivosUploadIdle());\r\n };\r\n }, [reset, dispatch]);\r\n\r\n useEffect(() => {\r\n if (uploadState === 's') {\r\n setTimeout(() => {\r\n dispatch(arquivosUploadIdle());\r\n props.setFile(null);\r\n props.setOpen(false);\r\n props.setSectionModalController(0);\r\n }, 1000);\r\n }\r\n\r\n setErrorCollapseOpened(uploadError !== undefined);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadState]);\r\n\r\n const [focusForn, setFocusForn] = useState(false);\r\n const [focusPrest, setFocusPrest] = useState(false);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n {/*

{new Date().toDateString()}

*/}\r\n

\r\n (\r\n setValue('nomArquivo', e.target.value)}\r\n />\r\n )}\r\n />\r\n

\r\n
\r\n
\r\n\r\n
\r\n \r\n (\r\n option.descricao}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n
\r\n ),\r\n inputProps: {\r\n ...params.inputProps,\r\n id: 'lstCodFornecedores',\r\n tabIndex:\r\n props.sectionModalController === 0 ? 0 : -1,\r\n },\r\n }}\r\n InputLabelProps={{\r\n shrink: forns.length > 0 || focusForn,\r\n }}\r\n error={!!fieldState.error}\r\n helperText={fieldState.error?.message}\r\n inputRef={ref}\r\n {...rest}\r\n onFocus={() => setFocusForn(true)}\r\n onBlur={() => setFocusForn(false)}\r\n />\r\n );\r\n }}\r\n value={forns}\r\n onChange={(_, data) => {\r\n setFornecedores(data);\r\n setValue(\r\n 'lstCodFornecedores',\r\n data.map((item: TipoFiltro) => {\r\n return parseInt(item['codigo']);\r\n })\r\n );\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.codigo === value.codigo\r\n }\r\n />\r\n )}\r\n />\r\n\r\n (\r\n option.descricao}\r\n ChipProps={{ size: 'small' }}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n \r\n ),\r\n inputProps: {\r\n ...params.inputProps,\r\n id: 'lstCodPrestadores',\r\n tabIndex:\r\n props.sectionModalController === 0 ? 0 : -1,\r\n },\r\n }}\r\n InputLabelProps={{\r\n shrink: prests.length > 0 || focusPrest,\r\n }}\r\n error={!!fieldState.error}\r\n helperText={fieldState.error?.message}\r\n inputRef={ref}\r\n {...rest}\r\n onFocus={() => setFocusPrest(true)}\r\n onBlur={() => setFocusPrest(false)}\r\n />\r\n );\r\n }}\r\n value={prests}\r\n onChange={(_, data) => {\r\n setPrestadores(data);\r\n setValue(\r\n 'lstCodPrestadores',\r\n data.map((item: TipoFiltro) => {\r\n return parseInt(item['codigo']);\r\n })\r\n );\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.codigo === value.codigo\r\n }\r\n />\r\n )}\r\n />\r\n\r\n (\r\n option.desTpArquivo}\r\n renderInput={(params) => (\r\n \r\n )}\r\n value={tipoArquivo}\r\n onChange={(_, data) => {\r\n clearErrors('idRelTpArquivo');\r\n setTipoArquivo(data);\r\n setValue('idRelTpArquivo', data?.idRelTpArquivo || null);\r\n }}\r\n />\r\n )}\r\n />\r\n\r\n
\r\n {\r\n props.setFile(null);\r\n if (props.doc) {\r\n props.setOpen(false);\r\n }\r\n }}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n tabIndex={props.sectionModalController === 0 ? 0 : -1}\r\n >\r\n CANCELAR\r\n \r\n \r\n {\r\n const result = await trigger([\r\n 'idRelTpArquivo',\r\n 'lstCodFornecedores',\r\n 'lstCodPrestadores',\r\n ]);\r\n\r\n if (result) {\r\n props.setSectionModalController(1);\r\n }\r\n }}\r\n >\r\n PRÓXIMO\r\n \r\n {uploadState === 'l' && (\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n (\r\n \r\n )}\r\n />\r\n\r\n \r\n (\r\n {\r\n setYearOnlyDatePicker(value);\r\n if (value !== null)\r\n setValue('codAno', value.getFullYear());\r\n else setValue('codAno', value);\r\n }}\r\n InputAdornmentProps={{\r\n style: {\r\n marginRight: '4px',\r\n },\r\n }}\r\n OpenPickerButtonProps={{\r\n tabIndex: props.sectionModalController === 1 ? 0 : -1,\r\n }}\r\n PopperProps={{\r\n style: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n )}\r\n />\r\n\r\n (\r\n {\r\n setYearAndMonthDatePicker(value);\r\n if (value !== null) {\r\n setValue('codMes', value.getMonth());\r\n setValue('codAno', value.getFullYear());\r\n } else {\r\n setValue('codAno', value);\r\n setValue('codMes', value);\r\n }\r\n }}\r\n InputAdornmentProps={{\r\n style: {\r\n marginRight: '4px',\r\n },\r\n }}\r\n OpenPickerButtonProps={{\r\n tabIndex: props.sectionModalController === 1 ? 0 : -1,\r\n }}\r\n PopperProps={{\r\n style: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n )}\r\n />\r\n\r\n (\r\n {\r\n setDatePeriodo(value);\r\n if (\r\n value[0] instanceof Date &&\r\n value[1] instanceof Date &&\r\n !isNaN(value[0].getTime()) &&\r\n !isNaN(value[1].getTime())\r\n ) {\r\n setValue(\r\n 'dtaIni',\r\n value[0].toISOString().split('T')[0]\r\n );\r\n setValue(\r\n 'dtaFim',\r\n value[1].toISOString().split('T')[0]\r\n );\r\n } else {\r\n setValue('dtaIni', null);\r\n setValue('dtaFim', null);\r\n }\r\n }}\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n {\r\n if (\r\n datePeriodo[0] instanceof Date &&\r\n datePeriodo[1] instanceof Date &&\r\n !isNaN(datePeriodo[0].getTime()) &&\r\n !isNaN(datePeriodo[1].getTime()) &&\r\n datePeriodo[0].getTime() >\r\n datePeriodo[1].getTime()\r\n ) {\r\n setDatePeriodo([datePeriodo[1], datePeriodo[0]]);\r\n setValue(\r\n 'dtaIni',\r\n datePeriodo[1].toISOString().split('T')[0]\r\n );\r\n setValue(\r\n 'dtaFim',\r\n datePeriodo[0].toISOString().split('T')[0]\r\n );\r\n }\r\n }}\r\n />\r\n \r\n )}\r\n />\r\n )}\r\n />\r\n\r\n (\r\n {\r\n setDateOnly(value);\r\n if (value instanceof Date && !isNaN(value.getTime()))\r\n setValue('dtaIni', value.toISOString().split('T')[0]);\r\n else setValue('dtaIni', null);\r\n }}\r\n InputAdornmentProps={{\r\n style: {\r\n marginRight: '4px',\r\n },\r\n }}\r\n OpenPickerButtonProps={{\r\n tabIndex: props.sectionModalController === 1 ? 0 : -1,\r\n }}\r\n PopperProps={{\r\n style: {\r\n position: 'absolute',\r\n top: '50%',\r\n left: '50%',\r\n transform: 'translate(-50%, -50%)',\r\n },\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n )}\r\n />\r\n \r\n\r\n \r\n Ao fazer o upload de um \r\n arquivo \r\n com os mesmos dados de um outro  existente, será\r\n necessário \r\n sobrescrevê-lo . Marque a caixa para ativar a\r\n funcionalidade.\r\n \r\n }\r\n placement=\"bottom\"\r\n >\r\n \r\n {\r\n setValue('substituirExistentes', value);\r\n }}\r\n />\r\n }\r\n label=\"Substituir existentes\"\r\n />\r\n \r\n \r\n\r\n
\r\n {\r\n props.setSectionModalController(0);\r\n }}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n tabIndex={props.sectionModalController === 1 ? 0 : -1}\r\n >\r\n ANTERIOR\r\n \r\n \r\n \r\n SALVAR\r\n \r\n {uploadState === 'l' && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Form;\r\n","import { Icon } from '@iconify/react';\r\nimport { Backdrop, Fade, Modal, Typography } from '@mui/material';\r\nimport { Box } from '@mui/system';\r\nimport React, { useState } from 'react';\r\nimport Dropzone from 'react-dropzone';\r\nimport { ArquivoUploadReceiveFormat } from 'src/store/ducks/relatoriosUpload/types';\r\nimport Form from './Form';\r\nimport './ModalUpload.css';\r\n\r\ntype Props = {\r\n open: boolean;\r\n setOpen: Function;\r\n doc?: ArquivoUploadReceiveFormat;\r\n};\r\n\r\nconst ModalUpload = (props: Props) => {\r\n const [file, setFile] = useState(null);\r\n const [sectionModalController, setSectionModalController] = useState(0);\r\n const [isUnsuportedFile, setUnsuportedFile] = useState(false);\r\n const [isUnsuportedStyle, setUnsuportedStyle] = useState(false);\r\n const [blink, setBlink] = useState(false);\r\n\r\n return (\r\n {\r\n props.setOpen(false);\r\n setFile(null);\r\n setSectionModalController(0);\r\n }}\r\n closeAfterTransition\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{ timeout: 500 }}\r\n >\r\n \r\n \r\n \r\n Upload de relatórios\r\n \r\n\r\n
\r\n {\r\n setFile(files[files.length - 1]);\r\n setUnsuportedFile(false);\r\n }}\r\n onDropRejected={(files) => {\r\n setUnsuportedFile(true);\r\n setUnsuportedStyle(true);\r\n\r\n setTimeout(() => {\r\n setUnsuportedStyle(false);\r\n }, 2000);\r\n }}\r\n >\r\n {({ getRootProps, getInputProps }) => (\r\n <>\r\n
\r\n \r\n \r\n \r\n \r\n

\r\n {isUnsuportedFile\r\n ? 'FORMATO DE ARQUIVO NÃO SUPORTADO! ESPERA-SE: .pdf'\r\n : 'CLIQUE OU ARRASTE UM ARQUIVO PARA EFETUAR UPLOAD'}\r\n

\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n * arraste e solte para atualizar o arquivo\r\n \r\n \r\n )}\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ModalUpload;\r\n","import { Icon } from '@iconify/react';\r\nimport { Button, IconButton } from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport ModalUpload from 'src/pages/Relatorios/Components/ModalUpload';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport {\r\n arquivosDeleteRequest,\r\n arquivosDownloadRequest,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { ArquivoUploadReceiveFormat } from 'src/store/ducks/relatoriosUpload/types';\r\nimport { dateFormatter } from 'src/utils/StringUtils';\r\nimport './Row.css';\r\n\r\ninterface Props {\r\n arrArquivo: Array | undefined;\r\n doc: ArquivoUploadReceiveFormat;\r\n tableIndex: number;\r\n rowIndex: number;\r\n fullView?: boolean;\r\n disableButtons?: boolean;\r\n}\r\n\r\nconst Row = (props: Props) => {\r\n const [collapsed, setCollapsed] = useState(false);\r\n const [isConfirmDeleteView, showConfirmDelete] = useState(false);\r\n const [isErrorView, showErrorView] = useState(false);\r\n const [isDownloading, setDownloading] = useState(false);\r\n const dispatch = useAppDispatch();\r\n const deleteState = useAppSelector(\r\n (state) => state.arquivoUpload.deleteState\r\n );\r\n const downloadError = useAppSelector(\r\n (state) => state.arquivoUpload.downloadError\r\n );\r\n const [open, setOpen] = useState(false);\r\n\r\n useEffect(() => {\r\n if (deleteState === 's') {\r\n showConfirmDelete(false);\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n useEffect(() => {\r\n if (\r\n downloadError &&\r\n downloadError?.find(\r\n (item) =>\r\n item?.table === props.tableIndex && item?.line === props.rowIndex\r\n )\r\n ) {\r\n showErrorView(true);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [downloadError]);\r\n\r\n let descDateRef = '';\r\n\r\n if (props.doc.codMes && props.doc.codAno) {\r\n descDateRef =\r\n ('00' + props.doc.codMes.toString()).slice(-2) + '/' + props.doc.codAno;\r\n } else if (props.doc.codAno) {\r\n descDateRef = props.doc.codAno.toString();\r\n } else if (props.doc.dtaIni && props.doc.dtaFim) {\r\n descDateRef =\r\n dateFormatter(props.doc.dtaIni, 'pt-BR').slice(0, 10) +\r\n ' - ' +\r\n dateFormatter(props.doc.dtaFim, 'pt-BR').slice(0, 10);\r\n } else if (props.doc.dtaIni) {\r\n descDateRef = dateFormatter(props.doc.dtaIni, 'pt-BR').slice(0, 10);\r\n } else descDateRef = '';\r\n\r\n return (\r\n {\r\n if (!props.fullView) setCollapsed(!collapsed);\r\n }}\r\n >\r\n
\r\n
\r\n
{props.doc.nomArquivo}
\r\n \r\n {descDateRef}\r\n
\r\n \r\n {props.doc.desObs}\r\n
\r\n \r\n {props.fullView\r\n ? props.doc.desNomeUsuarioUpload +\r\n ' - ' +\r\n dateFormatter(props.doc.dtaUpload, 'pt-BR')\r\n : dateFormatter(props.doc.dtaUpload, 'pt-BR')}\r\n \r\n \r\n
\r\n {\r\n dispatch(\r\n arquivosDownloadRequest([\r\n props.doc.idRelArquivo,\r\n props.tableIndex,\r\n props.rowIndex,\r\n ])\r\n );\r\n setDownloading(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n BAIXAR\r\n \r\n {props.fullView && (\r\n <>\r\n {\r\n setOpen(true);\r\n }}\r\n >\r\n \r\n \r\n \r\n {\r\n showConfirmDelete(true);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n
Deseja realmente apagar o registro?
\r\n
\r\n dispatch(arquivosDeleteRequest(props.doc))}\r\n >\r\n \r\n \r\n {\r\n showConfirmDelete(false);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {\r\n downloadError?.find(\r\n (item) =>\r\n item?.table === props.tableIndex &&\r\n item?.line === props.rowIndex\r\n )?.error?.mensagem\r\n }\r\n
\r\n
\r\n {\r\n showErrorView(false);\r\n setDownloading(false);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n Data do upload: \r\n {dateFormatter(props.doc.dtaUpload, 'pt-BR')}\r\n
\r\n
\r\n Observações: \r\n {props.doc.desObs || 'Nenhuma observação'}\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Row;\r\n","import './Table.css';\r\n\r\nimport React, { useRef, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Button, Typography } from '@mui/material';\r\nimport { ArquivoUploadReceiveFormat } from 'src/store/ducks/relatoriosUpload/types';\r\nimport { useAppDispatch } from 'src/store';\r\nimport Row from './subcomponents/Row';\r\n\r\nexport interface LinkProps {\r\n name: string;\r\n linkTo: string;\r\n}\r\n\r\ntype Props = {\r\n title: string;\r\n tableIndex: number;\r\n subtitle?: string;\r\n arr?: Array;\r\n arrArquivo?: Array;\r\n fullView?: boolean;\r\n disableButtons?: boolean;\r\n};\r\n\r\nconst conditionalArrayTypeRender = (\r\n arr: Array | undefined,\r\n arrArquivo: Array | undefined,\r\n dispatch: any,\r\n collapsed: boolean,\r\n setCollapsed: Function,\r\n tableIndex: number,\r\n fullView?: boolean,\r\n disableButtons?: boolean\r\n) => {\r\n let arrGui: JSX.Element[] = [];\r\n\r\n if (arr) {\r\n arr.forEach((doc, index) => {\r\n arrGui.push(\r\n
\r\n
\r\n
{doc.name}
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n });\r\n } else if (arrArquivo) {\r\n arrArquivo.forEach((doc, index) => {\r\n arrGui.push(\r\n \r\n );\r\n });\r\n }\r\n\r\n return arrGui;\r\n};\r\n\r\nconst Table = (props: Props) => {\r\n const [collapsed, setCollapsed] = useState(false);\r\n const dispatch = useAppDispatch();\r\n const node = useRef(null);\r\n\r\n const subtitle = props.subtitle ? (\r\n \r\n Tudo o que você não viu desde o seu último acesso\r\n \r\n ) : null;\r\n\r\n return (\r\n
\r\n {props.title}\r\n {subtitle}\r\n
\r\n
\r\n {conditionalArrayTypeRender(\r\n props.arr,\r\n props.arrArquivo,\r\n dispatch,\r\n collapsed,\r\n setCollapsed,\r\n props.tableIndex,\r\n props.fullView,\r\n props.disableButtons\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Table;\r\n","import { Icon } from '@iconify/react';\r\nimport {\r\n Autocomplete,\r\n Backdrop,\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n IconButton,\r\n Modal,\r\n TextField,\r\n Tooltip,\r\n Typography,\r\n} from '@mui/material';\r\nimport CheckIcon from '@mui/icons-material/Check';\r\nimport { Box } from '@mui/system';\r\nimport React, { useState } from 'react';\r\nimport {\r\n ListboxComponent,\r\n StyledPopper,\r\n} from 'src/pages/Cadastros/VinculosUsuarios/Components/Autocomplete';\r\nimport { DateRange } from '@mui/lab/DateRangePicker/RangeTypes';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport './ModalFiltros.css';\r\nimport { DateRangePicker, LocalizationProvider } from '@mui/lab';\r\nimport AdapterDateFns from '@mui/lab/AdapterDateFns';\r\nimport brLocale from 'date-fns/locale/pt-BR';\r\nimport { FiltrosRelatorios } from '../Gerenciamento';\r\n\r\ntype Props = {\r\n open: boolean;\r\n setOpen: Function;\r\n filtros: FiltrosRelatorios;\r\n setFiltros: Function;\r\n lstFornecedores: TipoFiltro[];\r\n lstPrestadores: TipoFiltro[];\r\n lstUsuarios?: TipoFiltro[];\r\n admin?: boolean;\r\n};\r\n\r\nconst ModalUpload = (props: Props) => {\r\n const [focusForn, setFocusForn] = useState(false);\r\n const [focusPrest, setFocusPrest] = useState(false);\r\n\r\n const [users, setUsers] = useState(null);\r\n const [forns, setFornecedores] = useState([]);\r\n const [prests, setPrestadores] = useState([]);\r\n const [isDatePickerOpened, setDatePickerOpened] = useState(false);\r\n const [datePeriodoRef, setDatePeriodoRef] = useState>([\r\n null,\r\n null,\r\n ]);\r\n const [datePeriodoUp, setDatePeriodoUp] = useState>([\r\n null,\r\n null,\r\n ]);\r\n\r\n return (\r\n {\r\n props.setOpen(false);\r\n setFornecedores(props.filtros.fornecedores || []);\r\n setPrestadores(props.filtros.prestadores || []);\r\n setDatePeriodoRef(props.filtros.periodoRef || [null, null]);\r\n setDatePeriodoUp(props.filtros.periodoUp || [null, null]);\r\n setUsers(\r\n props.lstUsuarios?.find(\r\n (item) => item.codigo === `${props.filtros.usuarioUpload}`\r\n ) || null\r\n );\r\n }}\r\n closeAfterTransition\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{ timeout: 500 }}\r\n >\r\n \r\n \r\n option.descricao}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n );\r\n }}\r\n value={users}\r\n onChange={(_, data) => {\r\n setUsers(data);\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.codigo === value.codigo\r\n }\r\n />\r\n\r\n option.descricao}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n \r\n ),\r\n inputProps: {\r\n ...params.inputProps,\r\n id: 'lstCodFornecedores',\r\n },\r\n }}\r\n InputLabelProps={{\r\n shrink: forns.length > 0 || focusForn,\r\n }}\r\n onFocus={() => setFocusForn(true)}\r\n onBlur={() => setFocusForn(false)}\r\n />\r\n );\r\n }}\r\n value={forns}\r\n onChange={(_, data) => {\r\n setFornecedores(data);\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.codigo === value.codigo\r\n }\r\n />\r\n\r\n option.descricao}\r\n ChipProps={{ size: 'small' }}\r\n // renderTags={() => undefined}\r\n renderOption={(props, option, state) => {\r\n return [\r\n props,\r\n \r\n \r\n {option.descricao}\r\n \r\n {state.selected && }\r\n ,\r\n ];\r\n }}\r\n renderInput={(params) => {\r\n const { InputProps, ...restParams } = params;\r\n const { startAdornment, ...restInputProps } = InputProps;\r\n return (\r\n \r\n {startAdornment}\r\n \r\n ),\r\n inputProps: {\r\n ...params.inputProps,\r\n id: 'lstCodPrestadores',\r\n },\r\n }}\r\n InputLabelProps={{\r\n shrink: prests.length > 0 || focusPrest,\r\n }}\r\n onFocus={() => setFocusPrest(true)}\r\n onBlur={() => setFocusPrest(false)}\r\n />\r\n );\r\n }}\r\n value={prests}\r\n onChange={(_, data) => {\r\n setPrestadores(data);\r\n }}\r\n isOptionEqualToValue={(option, value) =>\r\n option.codigo === value.codigo\r\n }\r\n />\r\n\r\n
\r\n \r\n Período da referência\r\n \r\n
\r\n \r\n Ao selecionar uma data do tipo \r\n \r\n {'dia/mês/ano'}\r\n \r\n ,  referências do tipo{' '}\r\n \r\n {'mês/ano'}\r\n \r\n  e{' '}\r\n \r\n {'ano'}\r\n \r\n   também serão incluídas.\r\n \r\n }\r\n placement=\"right\"\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n setDatePickerOpened(true)}\r\n onClose={() => setDatePickerOpened(false)}\r\n value={datePeriodoRef}\r\n onChange={(value) => {\r\n setDatePeriodoRef(value);\r\n }}\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n
\r\n Período do upload\r\n
\r\n \r\n setDatePickerOpened(true)}\r\n onClose={() => setDatePickerOpened(false)}\r\n value={datePeriodoUp}\r\n onChange={(value) => {\r\n setDatePeriodoUp(value);\r\n }}\r\n renderInput={(startProps, endProps) => (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n
\r\n {\r\n props.setOpen(false);\r\n setFornecedores(props.filtros.fornecedores || []);\r\n setPrestadores(props.filtros.prestadores || []);\r\n setDatePeriodoRef(props.filtros.periodoRef || [null, null]);\r\n setDatePeriodoUp(props.filtros.periodoUp || [null, null]);\r\n setUsers(\r\n props.lstUsuarios?.find(\r\n (item) => item.codigo === `${props.filtros.usuarioUpload}`\r\n ) || null\r\n );\r\n }}\r\n >\r\n CANCELAR\r\n \r\n \r\n {\r\n props.setFiltros({\r\n ...props.filtros,\r\n descricao: props.filtros.descricao,\r\n usuarioUpload: !props.admin\r\n ? props.filtros.usuarioUpload\r\n : users?.codigo,\r\n fornecedores: forns,\r\n prestadores: prests,\r\n periodoRef: datePeriodoRef,\r\n periodoUp: datePeriodoUp,\r\n });\r\n props.setOpen(false);\r\n }}\r\n >\r\n SALVAR\r\n \r\n {false && (\r\n \r\n )}\r\n \r\n
\r\n
\r\n {\r\n props.setOpen(false);\r\n setFornecedores([]);\r\n setPrestadores([]);\r\n setDatePeriodoRef([null, null]);\r\n setDatePeriodoUp([null, null]);\r\n setUsers(null);\r\n props.setFiltros({\r\n ...props.filtros,\r\n descricao: props.filtros.descricao,\r\n usuarioUpload: !props.admin\r\n ? props.filtros.usuarioUpload\r\n : undefined,\r\n fornecedores: [],\r\n prestadores: [],\r\n periodoRef: [null, null],\r\n periodoUp: [null, null],\r\n });\r\n }}\r\n >\r\n limpar filtros\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ModalUpload;\r\n","import React from 'react';\r\n\r\nimport Lottie from 'lottie-web';\r\n\r\nimport animationData from 'src/assets/noResult.json';\r\nimport './UncontrolledLottie.css';\r\n\r\nconst UncontrolledLottie = (props) => {\r\n React.useEffect(() => {\r\n Lottie.loadAnimation({\r\n container: document.querySelector(\r\n `#lottie${props.loadingIndex ? props.loadingIndex : ''}`\r\n ),\r\n animationData: animationData,\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default UncontrolledLottie;","import '../Dashboard.css';\r\nimport './Styles/index.css';\r\n\r\nimport {\r\n Typography,\r\n Button,\r\n CircularProgress,\r\n Skeleton,\r\n TextField,\r\n IconButton,\r\n Badge,\r\n} from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Header from 'src/components/Header';\r\nimport Table, { LinkProps } from 'src/components/Table/Table';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { Box } from '@mui/system';\r\nimport ModalUpload from './Components/ModalUpload';\r\nimport {\r\n arquivosGetRequest,\r\n arquivosUploadIdle,\r\n arquivosDownloadIdle,\r\n arquivosDeleteIdle,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { ArquivosByTipo } from 'src/store/ducks/relatoriosUpload/types';\r\nimport { Icon } from '@iconify/react';\r\nimport ModalFiltros from './Components/ModalFiltros';\r\nimport { FiltrosRelatorios } from './Gerenciamento';\r\nimport { usuariosFornecedoresGetFilterRequest } from 'src/store/ducks/usuariosFornecedores';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport UncontrolledLottie from 'src/components/UncontrolledLottie';\r\n\r\nconst defaultValuesFiltros: FiltrosRelatorios = {\r\n descricao: '',\r\n fornecedores: [],\r\n prestadores: [],\r\n periodoRef: [null, null],\r\n periodoUp: [null, null],\r\n usuarioUpload: undefined,\r\n};\r\n\r\nconst Documentos = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'relatorios')\r\n ?.flgAcesso || 'N';\r\n\r\n const dispatch = useAppDispatch();\r\n const user = useAppSelector((state) => state.session.user);\r\n const [open, setOpen] = useState(false);\r\n const [openFilters, setOpenFilters] = useState(false);\r\n const arquivosByTipo = useAppSelector((state) => state.arquivoUpload.data);\r\n const arquivosState = useAppSelector((state) => state.arquivoUpload.state);\r\n const getError = useAppSelector((state) => state.arquivoUpload.error);\r\n const file = useAppSelector((state) => state.arquivoUpload.file);\r\n const [filtros, setFiltros] =\r\n useState(defaultValuesFiltros);\r\n const [displayColumn, setDisplayColumn] = useState('flex');\r\n const [showingAlert, setShowingAlert] = useState(false);\r\n\r\n const deleteState = useAppSelector(\r\n (state) => state.arquivoUpload.deleteState\r\n );\r\n const uploadState = useAppSelector(\r\n (state) => state.arquivoUpload.uploadState\r\n );\r\n\r\n useEffect(() => {\r\n if (deleteState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n dispatch(arquivosDeleteIdle());\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n useEffect(() => {\r\n if (uploadState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadState]);\r\n\r\n useEffect(() => {\r\n if (arquivosState === 's' && arquivosByTipo?.length === 0) {\r\n setShowingAlert(true);\r\n const timeout = setTimeout(() => {\r\n setDisplayColumn('none');\r\n }, 8000);\r\n\r\n return () => clearTimeout(timeout);\r\n } else {\r\n setShowingAlert(false);\r\n setDisplayColumn('flex');\r\n }\r\n }, [arquivosState, arquivosByTipo]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosFornecedoresGetFilterRequest());\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n const lstFornecedores = useAppSelector(\r\n (state) => state.usuariosFornecedores.filterList\r\n );\r\n const lstPrestadores = useAppSelector(\r\n (state) => state.usuariosPrestadores.filterList\r\n );\r\n\r\n useEffect(() => {\r\n dispatch(arquivosGetRequest(filtros));\r\n\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n dispatch(arquivosUploadIdle());\r\n };\r\n }, [dispatch, filtros]);\r\n\r\n useEffect(() => {\r\n if (file) window.open(file);\r\n\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [file]);\r\n\r\n function getObjetos(flgFiltro: string): Array {\r\n const objetos: Array = [];\r\n\r\n user?.lstSistemas?.forEach((sistema) =>\r\n sistema.lstTiposObjetos?.forEach((tipoObjeto) => {\r\n if (tipoObjeto.flgTipo === flgFiltro)\r\n tipoObjeto.lstObjetos?.forEach((objeto) => {\r\n objetos.push({\r\n name: objeto.desObjeto,\r\n linkTo: `/${objeto.nomPagina.toLowerCase()}`,\r\n });\r\n });\r\n })\r\n );\r\n\r\n return objetos;\r\n }\r\n\r\n const prestadores = getObjetos('P');\r\n const fornecedores = getObjetos('F');\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Relatórios e demonstrativos disponíveis para consulta\r\n \r\n
\r\n\r\n
\r\n \r\n {\r\n setOpen(true);\r\n dispatch(arquivosUploadIdle());\r\n }}\r\n >\r\n UPLOAD DE RELATÓRIOS\r\n \r\n {false && (\r\n \r\n )}\r\n \r\n \r\n\r\n
\r\n {\r\n setFiltros({\r\n ...filtros,\r\n descricao: e.target.value,\r\n });\r\n }}\r\n />\r\n setOpenFilters(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n {fornecedores.length !== 0 && (\r\n \r\n )}\r\n {prestadores.length !== 0 && (\r\n \r\n )}\r\n
\r\n \r\n {arquivosState === 'l' ? (\r\n loadingSkeletonElements()\r\n ) : arquivosByTipo?.length === 0 ? (\r\n
\r\n \r\n \r\n {getError ? getError : 'NÃO FORAM ENCONTRADOS REGISTROS'}\r\n \r\n
\r\n ) : (\r\n
\r\n {filesTypes(arquivosByTipo, flgAcesso !== 'A')}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Documentos;\r\n\r\nfunction filesTypes(\r\n arquivosByTipo: ArquivosByTipo[] | undefined,\r\n disableButtons?: boolean\r\n): JSX.Element[] {\r\n let arrAux: JSX.Element[] = [];\r\n\r\n arquivosByTipo?.forEach((item, index) => {\r\n arrAux.push(\r\n \r\n );\r\n });\r\n\r\n return arrAux;\r\n}\r\n\r\nconst loadingSkeletonElements = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import '../Dashboard.css';\r\nimport './Styles/index.css';\r\n\r\nimport {\r\n Typography,\r\n Button,\r\n CircularProgress,\r\n Skeleton,\r\n TextField,\r\n IconButton,\r\n Badge,\r\n} from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Header from 'src/components/Header';\r\nimport Table from 'src/components/Table/Table';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { Box } from '@mui/system';\r\nimport ModalUpload from './Components/ModalUpload';\r\nimport {\r\n arquivosGetRequest,\r\n arquivosUploadIdle,\r\n arquivosDownloadIdle,\r\n arquivosDeleteIdle,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { ArquivosByTipo } from 'src/store/ducks/relatoriosUpload/types';\r\nimport { Icon } from '@iconify/react';\r\nimport ModalFiltros from './Components/ModalFiltros';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { DateRange } from '@mui/lab/DateRangePicker/RangeTypes';\r\nimport { fornecedoresGetFilterRequest } from 'src/store/ducks/fornecedores';\r\nimport { prestadoresGetFilterRequest } from 'src/store/ducks/prestadores';\r\nimport { usuariosGetFilterRequest } from 'src/store/ducks/usuarios';\r\nimport UncontrolledLottie from 'src/components/UncontrolledLottie';\r\n\r\nexport interface FiltrosRelatorios {\r\n descricao?: string;\r\n fornecedores?: Array;\r\n prestadores?: Array;\r\n periodoRef?: DateRange;\r\n periodoUp?: DateRange;\r\n usuarioUpload?: number;\r\n}\r\n\r\nconst defaultValuesFiltros: FiltrosRelatorios = {\r\n descricao: '',\r\n fornecedores: [],\r\n prestadores: [],\r\n periodoRef: [null, null],\r\n periodoUp: [null, null],\r\n usuarioUpload: undefined,\r\n};\r\n\r\nconst Gerenciamento = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'gerenciarrelatorios')\r\n ?.flgAcesso || 'N';\r\n\r\n const dispatch = useAppDispatch();\r\n const [open, setOpen] = useState(false);\r\n const [openFilters, setOpenFilters] = useState(false);\r\n const arquivosByTipo = useAppSelector((state) => state.arquivoUpload.data);\r\n const arquivosState = useAppSelector((state) => state.arquivoUpload.state);\r\n const file = useAppSelector((state) => state.arquivoUpload.file);\r\n const getError = useAppSelector((state) => state.arquivoUpload.error);\r\n const [filtros, setFiltros] =\r\n useState(defaultValuesFiltros);\r\n const deleteState = useAppSelector(\r\n (state) => state.arquivoUpload.deleteState\r\n );\r\n const uploadState = useAppSelector(\r\n (state) => state.arquivoUpload.uploadState\r\n );\r\n\r\n useEffect(() => {\r\n if (deleteState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n dispatch(arquivosDeleteIdle());\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n useEffect(() => {\r\n if (uploadState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadState]);\r\n\r\n useEffect(() => {\r\n dispatch(arquivosGetRequest(filtros));\r\n\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n dispatch(arquivosUploadIdle());\r\n };\r\n }, [dispatch, filtros]);\r\n\r\n useEffect(() => {\r\n dispatch(fornecedoresGetFilterRequest());\r\n dispatch(prestadoresGetFilterRequest());\r\n dispatch(usuariosGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n const lstFornecedores = useAppSelector(\r\n (state) => state.fornecedores.filterList\r\n );\r\n const lstPrestadores = useAppSelector(\r\n (state) => state.prestadores.filterList\r\n );\r\n const lstUsuarios = useAppSelector((state) => state.usuarios.filterList);\r\n\r\n useEffect(() => {\r\n if (file) window.open(file);\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [file]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Relatórios e demonstrativos disponíveis para consulta\r\n \r\n
\r\n\r\n
\r\n \r\n {\r\n setOpen(true);\r\n dispatch(arquivosUploadIdle());\r\n }}\r\n >\r\n UPLOAD DE RELATÓRIOS\r\n \r\n {false && (\r\n \r\n )}\r\n \r\n \r\n\r\n
\r\n {\r\n setFiltros({\r\n ...filtros,\r\n descricao: e.target.value,\r\n });\r\n }}\r\n />\r\n setOpenFilters(true)}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n {arquivosState === 'l' ? (\r\n loadingSkeletonElements()\r\n ) : arquivosByTipo?.length === 0 ? (\r\n
\r\n \r\n \r\n {getError ? getError : 'NÃO FORAM ENCONTRADOS REGISTROS'}\r\n \r\n
\r\n ) : (\r\n
\r\n {filesTypes(arquivosByTipo, flgAcesso !== 'A')}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Gerenciamento;\r\n\r\nfunction filesTypes(\r\n arquivosByTipo: ArquivosByTipo[] | undefined,\r\n disableButtons?: boolean\r\n): any {\r\n let arrAux: JSX.Element[] = [];\r\n\r\n arquivosByTipo?.forEach((item, index) => {\r\n arrAux.push(\r\n \r\n );\r\n });\r\n\r\n return arrAux;\r\n}\r\n\r\nconst loadingSkeletonElements = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import '../Dashboard.css';\r\nimport './Styles/index.css';\r\n\r\nimport {\r\n Typography,\r\n Button,\r\n CircularProgress,\r\n Skeleton,\r\n TextField,\r\n IconButton,\r\n Badge,\r\n} from '@mui/material';\r\nimport React, { useEffect, useState } from 'react';\r\nimport Header from 'src/components/Header';\r\nimport Table from 'src/components/Table/Table';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { Box } from '@mui/system';\r\nimport ModalUpload from './Components/ModalUpload';\r\nimport {\r\n arquivosGetRequest,\r\n arquivosUploadIdle,\r\n arquivosDownloadIdle,\r\n arquivosDeleteIdle,\r\n} from 'src/store/ducks/relatoriosUpload';\r\nimport { ArquivosByTipo } from 'src/store/ducks/relatoriosUpload/types';\r\nimport { Icon } from '@iconify/react';\r\nimport ModalFiltros from './Components/ModalFiltros';\r\nimport { TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { DateRange } from '@mui/lab/DateRangePicker/RangeTypes';\r\nimport { usuariosFornecedoresGetFilterRequest } from 'src/store/ducks/usuariosFornecedores';\r\nimport { usuariosPrestadoresGetFilterRequest } from 'src/store/ducks/usuariosPrestadores';\r\nimport UncontrolledLottie from 'src/components/UncontrolledLottie';\r\n\r\nexport interface FiltrosRelatorios {\r\n descricao?: string;\r\n fornecedores?: Array;\r\n prestadores?: Array;\r\n periodoRef?: DateRange;\r\n periodoUp?: DateRange;\r\n usuarioUpload?: number;\r\n}\r\n\r\nconst MeusUploads = () => {\r\n const objetos = useAppSelector((state) => state.session.objetos);\r\n const flgAcesso =\r\n objetos.find((x) => x.nomPagina.toLowerCase() === 'meusuploads')\r\n ?.flgAcesso || 'N';\r\n\r\n const dispatch = useAppDispatch();\r\n const [open, setOpen] = useState(false);\r\n const [openFilters, setOpenFilters] = useState(false);\r\n const arquivosByTipo = useAppSelector((state) => state.arquivoUpload.data);\r\n const arquivosState = useAppSelector((state) => state.arquivoUpload.state);\r\n const getError = useAppSelector((state) => state.arquivoUpload.error);\r\n const file = useAppSelector((state) => state.arquivoUpload.file);\r\n const deleteState = useAppSelector(\r\n (state) => state.arquivoUpload.deleteState\r\n );\r\n const uploadState = useAppSelector(\r\n (state) => state.arquivoUpload.uploadState\r\n );\r\n\r\n useEffect(() => {\r\n if (deleteState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n dispatch(arquivosDeleteIdle());\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [deleteState]);\r\n\r\n useEffect(() => {\r\n if (uploadState === 's') {\r\n dispatch(arquivosGetRequest(filtros));\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [uploadState]);\r\n\r\n const defaultValuesFiltros: FiltrosRelatorios = {\r\n descricao: '',\r\n fornecedores: [],\r\n prestadores: [],\r\n periodoRef: [null, null],\r\n periodoUp: [null, null],\r\n usuarioUpload: -1,\r\n };\r\n\r\n const [filtros, setFiltros] =\r\n useState(defaultValuesFiltros);\r\n\r\n useEffect(() => {\r\n dispatch(arquivosGetRequest(filtros));\r\n\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n dispatch(arquivosUploadIdle());\r\n };\r\n }, [dispatch, filtros]);\r\n\r\n useEffect(() => {\r\n dispatch(usuariosFornecedoresGetFilterRequest());\r\n dispatch(usuariosPrestadoresGetFilterRequest());\r\n }, [dispatch]);\r\n\r\n const lstFornecedores = useAppSelector(\r\n (state) => state.usuariosFornecedores.filterList\r\n );\r\n const lstPrestadores = useAppSelector(\r\n (state) => state.usuariosPrestadores.filterList\r\n );\r\n\r\n useEffect(() => {\r\n if (file) window.open(file);\r\n return () => {\r\n dispatch(arquivosDownloadIdle());\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [file]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n Relatórios e demonstrativos disponíveis para consulta\r\n \r\n
\r\n\r\n
\r\n \r\n {\r\n setOpen(true);\r\n dispatch(arquivosUploadIdle());\r\n }}\r\n >\r\n UPLOAD DE RELATÓRIOS\r\n \r\n {false && (\r\n \r\n )}\r\n \r\n \r\n\r\n
\r\n {\r\n setFiltros({\r\n ...filtros,\r\n descricao: e.target.value,\r\n });\r\n }}\r\n />\r\n setOpenFilters(true)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n {arquivosState === 'l' ? (\r\n loadingSkeletonElements()\r\n ) : arquivosByTipo?.length === 0 ? (\r\n
\r\n \r\n \r\n {getError ? getError : 'NÃO FORAM ENCONTRADOS REGISTROS'}\r\n \r\n
\r\n ) : (\r\n
\r\n {filesTypes(arquivosByTipo, flgAcesso !== 'A')}\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MeusUploads;\r\n\r\nfunction filesTypes(\r\n arquivosByTipo: ArquivosByTipo[] | undefined,\r\n disableButtons?: boolean\r\n): any {\r\n let arrAux: JSX.Element[] = [];\r\n\r\n arquivosByTipo?.forEach((item, index) => {\r\n arrAux.push(\r\n \r\n );\r\n });\r\n\r\n return arrAux;\r\n}\r\n\r\nconst loadingSkeletonElements = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n","import './Main.css';\r\n\r\nimport React from 'react';\r\nimport { Route, Switch } from 'react-router';\r\n\r\nimport Menu from 'src/components/Menu';\r\nimport Dashboard from './Dashboard';\r\nimport Usuarios from './Cadastros/Usuarios';\r\nimport Perfis from './Cadastros/Perfis';\r\nimport VinculosUsuarios from './Cadastros/VinculosUsuarios';\r\nimport Relatorios from './Relatorios';\r\nimport RelPreExtrato from './Relatorios/Routes/RelPreExtrato';\r\nimport RelPreCombustivel from './Relatorios/Routes/RelPreCombustivel';\r\nimport RelPreProducao from './Relatorios/Routes/RelPreProducao';\r\nimport RelPreRecurso from './Relatorios/Routes/RelPreRecurso';\r\nimport RelForPagamento from './Relatorios/Routes/RelForPagamento';\r\nimport RelForCarregamento from './Relatorios/Routes/RelForCarregamento';\r\nimport RelForCanaEntregue from './Relatorios/Routes/RelForCanaEntregue';\r\nimport TiposArquivos from './Cadastros/TiposArquivos';\r\nimport Gerenciamento from './Relatorios/Gerenciamento';\r\nimport MeusUploads from './Relatorios/MeusUploads';\r\n\r\nconst Main = () => {\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default Main;\r\n","import './App.css';\r\nimport './basic/Styles/customComponents.css';\r\nimport { HashRouter as Router } from 'react-router-dom';\r\nimport Main from './pages/Login';\r\nimport { connect } from 'react-redux';\r\nimport { default as MainHome } from './pages/Main';\r\nimport { AppState } from './store';\r\n\r\nfunction whichMain(logged: boolean) {\r\n return logged ? :
;\r\n}\r\n\r\nconst App: React.FC = (props: any) => {\r\n return (\r\n
\r\n {whichMain(props.logged)}\r\n
\r\n );\r\n};\r\n\r\nconst mapStateToProps = (state: AppState) => {\r\n return {\r\n logged: state.session.authenticated,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(App);\r\n","import { createTheme } from '@mui/material';\r\n\r\nconst theme = createTheme({\r\n typography: {\r\n fontFamily: ['\"Montserrat\"', 'sans-serif'].join(','),\r\n },\r\n palette: {\r\n primary: {\r\n light: 'rgba(35, 172, 230, 0.5)',\r\n main: '#23ACE6',\r\n dark: '#1878a1',\r\n contrastText: '#fff',\r\n },\r\n },\r\n});\r\n\r\nexport default theme;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { ThemeProvider } from '@mui/material';\r\n\r\nimport 'src/index.css';\r\nimport App from 'src/App';\r\nimport store from 'src/store';\r\nimport theme from 'src/basic/Styles/theme';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n","import { useEffect } from 'react';\r\n\r\nconst useOutsideClick = (ref: any, callback: any) => {\r\n const handleClick = (e: { target: any }) => {\r\n if (ref.current && !ref.current.contains(e.target)) {\r\n callback();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClick);\r\n\r\n return () => {\r\n document.removeEventListener('click', handleClick);\r\n };\r\n });\r\n};\r\n\r\nexport default useOutsideClick;\r\n","import React, { useEffect, useRef, useState } from 'react';\r\nimport { Controller, SubmitHandler, useForm } from 'react-hook-form';\r\nimport './ProfileMenu.css';\r\nimport { Icon } from '@iconify/react';\r\nimport useOutsideClick from 'src/hooks/useOutsideClick';\r\nimport {\r\n Avatar,\r\n Backdrop,\r\n Button,\r\n CircularProgress,\r\n Fade,\r\n Modal,\r\n Stack,\r\n TextField,\r\n Typography,\r\n} from '@mui/material';\r\nimport { getInitialsFromString } from 'src/utils/StringUtils';\r\nimport * as Yup from 'yup';\r\nimport { useAppDispatch, useAppSelector } from 'src/store';\r\nimport { Box } from '@mui/system';\r\nimport { ChangeUsuarioPasswordRequest } from 'src/store/ducks/usuarios/types';\r\nimport { yupResolver } from '@hookform/resolvers/yup';\r\nimport {\r\n changeUsuarioPasswordCancel,\r\n changeUsuarioPasswordIdle,\r\n changeUsuarioPasswordRequest,\r\n} from 'src/store/ducks/usuarios';\r\nimport DmCollapseHandler from './DmCollapseHandler/DmCollapseHandler';\r\n\r\ninterface ProfileMenuProps {\r\n onLogout?: React.MouseEventHandler | undefined;\r\n}\r\n\r\nconst schema = Yup.object({\r\n desLogin: Yup.string()\r\n .max(200, (params) => `Máximo de ${params.max} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n desSenha: Yup.string()\r\n .max(128, (params) => `Máximo de ${params.max} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n desNovaSenha: Yup.string()\r\n .oneOf([Yup.ref('desConfirmaNovaSenha')], 'Senhas devem ser iguais!')\r\n .max(128, (params) => `Máximo de ${params.max} caracteres!`)\r\n .min(4, (params) => `Mínimo de ${params.min} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n desConfirmaNovaSenha: Yup.string()\r\n .oneOf([Yup.ref('desNovaSenha')], 'Senhas devem ser iguais!')\r\n .max(128, (params) => `Máximo de ${params.max} caracteres!`)\r\n .min(4, (params) => `Mínimo de ${params.min} caracteres!`)\r\n .required(`Campo obrigatório!`),\r\n});\r\n\r\ninterface FormInputs {\r\n desLogin: string;\r\n desSenha: string;\r\n desNovaSenha: string;\r\n desConfirmaNovaSenha: string;\r\n}\r\n\r\nconst ProfileMenu = (props: ProfileMenuProps) => {\r\n const user = useAppSelector((state) => state.session.user);\r\n\r\n const [collapsed, setCollapsed] = useState(false);\r\n const ref = useRef(null);\r\n\r\n useOutsideClick(ref, () => {\r\n setCollapsed(false);\r\n });\r\n\r\n const [open, setOpen] = React.useState(false);\r\n const [success, setSuccess] = React.useState(false);\r\n const handleOpen = () => setOpen(true);\r\n const handleClose = () => {\r\n setOpen(false);\r\n reset();\r\n };\r\n const errors = useAppSelector((state) => state.usuarios.changePasswordError);\r\n const [isErrorCollapseOpened, setErrorCollapseOpened] = useState(false);\r\n const changePasswordState = useAppSelector(\r\n (state) => state.usuarios.changePasswordState\r\n );\r\n\r\n const dispatch = useAppDispatch();\r\n\r\n const defaultValues: ChangeUsuarioPasswordRequest = {\r\n desLogin: '',\r\n desSenha: '',\r\n desNovaSenha: '',\r\n desConfirmaNovaSenha: '',\r\n };\r\n\r\n const { handleSubmit, reset, control, formState } =\r\n useForm({\r\n resolver: yupResolver(schema),\r\n defaultValues: defaultValues,\r\n });\r\n\r\n const onSubmit: SubmitHandler = (values) => {\r\n dispatch(changeUsuarioPasswordRequest(values));\r\n\r\n if (errors) setErrorCollapseOpened(true);\r\n else {\r\n dispatch(changeUsuarioPasswordIdle());\r\n }\r\n };\r\n\r\n const onCancel = () => {\r\n dispatch(changeUsuarioPasswordCancel());\r\n setErrorCollapseOpened(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (changePasswordState === 'success') {\r\n setTimeout(() => {\r\n setOpen(false);\r\n }, 1000);\r\n setTimeout(() => {\r\n setSuccess(false);\r\n reset();\r\n }, 1500);\r\n setErrorCollapseOpened(false);\r\n setSuccess(true);\r\n dispatch(changeUsuarioPasswordIdle());\r\n } else if (changePasswordState === 'error') {\r\n setErrorCollapseOpened(true);\r\n setSuccess(false);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [changePasswordState]);\r\n\r\n useEffect(() => {\r\n setErrorCollapseOpened(errors !== undefined);\r\n }, [errors]);\r\n\r\n useEffect(() => {\r\n reset(defaultValues);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [reset]);\r\n\r\n return (\r\n
\r\n
setCollapsed(!collapsed)}>\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n

ALTERAR SENHA

\r\n
\r\n
\r\n

SAIR

\r\n
\r\n
\r\n {\r\n onCancel();\r\n handleClose();\r\n }}\r\n closeAfterTransition\r\n BackdropComponent={Backdrop}\r\n BackdropProps={{\r\n timeout: 500,\r\n }}\r\n >\r\n \r\n \r\n \r\n Alterar senha\r\n \r\n \r\n ) : (\r\n getInitialsFromString(user?.nomUsuario || '')\r\n )\r\n }\r\n style={{\r\n fontSize: '38pt',\r\n width: 120,\r\n height: 120,\r\n marginTop: 20,\r\n fontWeight: 800,\r\n }}\r\n />\r\n \r\n {user?.nomUsuario}\r\n \r\n\r\n \r\n \r\n {/*\r\n (\r\n \r\n )}\r\n />\r\n */}\r\n\r\n (\r\n \r\n onChange(event.target.value.toLowerCase())\r\n }\r\n inputRef={ref}\r\n {...rest}\r\n />\r\n )}\r\n />\r\n\r\n (\r\n \r\n )}\r\n />\r\n\r\n (\r\n \r\n )}\r\n />\r\n\r\n (\r\n \r\n )}\r\n />\r\n \r\n {\r\n onCancel();\r\n handleClose();\r\n }}\r\n variant=\"contained\"\r\n className=\"secondary\"\r\n fullWidth\r\n >\r\n CANCELAR\r\n \r\n \r\n \r\n \r\n SALVAR\r\n \r\n {(formState.isSubmitting ||\r\n changePasswordState === 'request') && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProfileMenu;\r\n","import React from 'react';\r\nimport './Header.css';\r\nimport ProfileMenu from './ProfileMenu';\r\nimport { Typography } from '@mui/material';\r\n\r\nimport { useAppDispatch } from 'src/store';\r\nimport { logout } from 'src/store/ducks/login';\r\n\r\nconst Header = (props: { title: any }) => {\r\n const dispatch = useAppDispatch();\r\n\r\n const handleLogout = () => {\r\n dispatch(logout());\r\n };\r\n\r\n return (\r\n
\r\n {props.title}\r\n
\r\n
\r\n Último acesso\r\n \r\n {new Date().toLocaleString()}\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Header;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { RelatoriosState } from 'src/store/ducks/relatorios/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: RelatoriosState = {\r\n data: undefined,\r\n error: undefined,\r\n loading: false,\r\n operationError: undefined,\r\n operationState: 'idle',\r\n};\r\n\r\nexport const relatoriosSlice = createSlice({\r\n name: 'relatorios',\r\n initialState: initialState,\r\n reducers: {\r\n relatoriosDownloadRequest: (\r\n state,\r\n action: PayloadAction<{ url: string; query: string }>\r\n ) => {\r\n state.error = undefined;\r\n state.loading = true;\r\n },\r\n relatoriosDownloadSuccess: (state, action: PayloadAction) => {\r\n state.data = action.payload;\r\n state.error = undefined;\r\n state.loading = false;\r\n },\r\n relatoriosDownloadError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.loading = false;\r\n },\r\n relatoriosDownloadIdle: (state) => {\r\n state.error = undefined;\r\n state.loading = false;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n relatoriosDownloadRequest,\r\n relatoriosDownloadSuccess,\r\n relatoriosDownloadError,\r\n relatoriosDownloadIdle,\r\n} = relatoriosSlice.actions;\r\n\r\nexport default relatoriosSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport {\r\n Objeto,\r\n Sistema,\r\n UserLogin,\r\n SessionState,\r\n LoginRequest,\r\n RecoveryRequest,\r\n} from 'src/store/ducks/login/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst jsonUser = global.window.localStorage.getItem(\r\n 'dm_pr_relatorios_user_prd'\r\n);\r\nconst user = (jsonUser ? JSON.parse(jsonUser) : null) as UserLogin;\r\n\r\nconst initialState: SessionState = {\r\n user: user,\r\n objetos: getObjetos(user?.lstSistemas ?? []),\r\n authenticated: user !== null,\r\n error: undefined,\r\n message: undefined,\r\n operationState: 'idle',\r\n loading: false,\r\n};\r\n\r\nfunction getObjetos(lstSistemas: Array): Array {\r\n const objetos: Array = [];\r\n\r\n lstSistemas?.forEach((sistema) =>\r\n sistema.lstTiposObjetos?.forEach((tipoObjeto) =>\r\n tipoObjeto.lstObjetos?.forEach((objeto) => objetos.push(objeto))\r\n )\r\n );\r\n\r\n return objetos;\r\n}\r\n\r\nexport const sessionSlice = createSlice({\r\n name: 'session',\r\n initialState: initialState,\r\n reducers: {\r\n loginRequest: (state, action: PayloadAction) => {\r\n state.error = undefined;\r\n state.message = undefined;\r\n state.operationState = 'request';\r\n },\r\n loginSuccess: (state, action: PayloadAction) => {\r\n state.user = action.payload;\r\n state.objetos = getObjetos(action.payload.lstSistemas);\r\n state.authenticated = true;\r\n\r\n state.error = undefined;\r\n state.message = undefined;\r\n state.operationState = 'success';\r\n\r\n const jsonUser = JSON.stringify(action.payload);\r\n global.window.localStorage.setItem('dm_pr_relatorios_user_prd', jsonUser);\r\n },\r\n loginError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.message = undefined;\r\n state.operationState = 'error';\r\n },\r\n recoveryRequest: (state, action: PayloadAction) => {\r\n state.error = undefined;\r\n state.message = undefined;\r\n state.operationState = 'request';\r\n },\r\n recoverySuccess: (state, action: PayloadAction) => {\r\n state.error = undefined;\r\n state.message = action.payload;\r\n state.operationState = 'success';\r\n },\r\n recoveryError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n state.message = undefined;\r\n state.operationState = 'error';\r\n },\r\n logout: (state) => {\r\n state.user = null;\r\n state.authenticated = false;\r\n state.error = undefined;\r\n state.message = undefined;\r\n state.operationState = 'idle';\r\n\r\n global.window.localStorage.removeItem('dm_pr_relatorios_user_prd');\r\n },\r\n reset: (state) => {\r\n state.error = undefined;\r\n state.message = undefined;\r\n state.operationState = 'idle';\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n loginRequest,\r\n loginSuccess,\r\n loginError,\r\n recoveryRequest,\r\n recoverySuccess,\r\n recoveryError,\r\n logout,\r\n reset,\r\n} = sessionSlice.actions;\r\n\r\nexport default sessionSlice.reducer;\r\n","export function stringToColor(string: string) {\r\n let hash = 0;\r\n let i;\r\n\r\n for (i = 0; i < string.length; i += 1) {\r\n hash = string.charCodeAt(i) + ((hash << 5) - hash);\r\n }\r\n\r\n let color = '#';\r\n\r\n for (i = 0; i < 3; i += 1) {\r\n const value = (hash >> (i * 8)) & 0xbb;\r\n color += `00${value.toString(16)}`.substr(-2);\r\n }\r\n\r\n return color;\r\n}\r\n\r\nexport function getInitialsFromString(string: string) {\r\n var arr: string[];\r\n arr = string.trim().split(' ');\r\n var aux: string = '';\r\n aux += arr[0].charAt(0);\r\n\r\n if (arr.length > 1) aux += arr[arr.length - 1].charAt(0);\r\n\r\n return aux.toLocaleUpperCase();\r\n}\r\n\r\nexport function dateFormatter(value: string, location: string) {\r\n const date = new Date(value);\r\n\r\n if (date.getUTCHours() > 0) {\r\n return date.toLocaleString(location);\r\n }\r\n\r\n return date.toLocaleDateString(location, { timeZone: 'UTC' });\r\n}\r\n","import { InfoPaginacao, InfoPesquisa } from 'src/store/ducks/base/types';\r\n\r\nabstract class Paginacao implements InfoPaginacao {\r\n public numRegInicial = 0;\r\n public numRegFinal = 0;\r\n public numPagina = 1;\r\n public totRegistros = 0;\r\n public itensPorPagina = 10;\r\n\r\n public static getValoresPadrao(): InfoPaginacao {\r\n return {\r\n numRegInicial: 0,\r\n numRegFinal: 0,\r\n numPagina: 1,\r\n totRegistros: 0,\r\n itensPorPagina: 10,\r\n };\r\n }\r\n}\r\n\r\nclass Pesquisa implements InfoPesquisa {\r\n public numPagina = 0;\r\n public itensPorPagina = 0;\r\n public filtroPadrao = '';\r\n public novaOrdenacao = '';\r\n\r\n public parametrosPersonalizados = new Map();\r\n\r\n public constructor(\r\n values?: Partial,\r\n params?: Array<{ key: string; value: string }>\r\n ) {\r\n if (values) {\r\n Object.assign(this, values);\r\n }\r\n\r\n if (params && params.length > 0) {\r\n params.forEach((param) => {\r\n this.parametrosPersonalizados.set(param.key, param.value);\r\n });\r\n }\r\n }\r\n\r\n public toString(): string {\r\n let stringPesquisa = '';\r\n\r\n stringPesquisa = stringPesquisa.concat(\r\n `?numPagina=${this.numPagina > 0 ? this.numPagina : ''}`\r\n );\r\n\r\n stringPesquisa = stringPesquisa.concat(\r\n `&itensPorPagina=${this.itensPorPagina > 0 ? this.itensPorPagina : ''}`\r\n );\r\n\r\n stringPesquisa = stringPesquisa.concat(\r\n `&filtroPadrao=${this.filtroPadrao ?? ''}`\r\n );\r\n\r\n stringPesquisa = stringPesquisa.concat(\r\n `&novaOrdenacao=${this.novaOrdenacao ?? ''}`\r\n );\r\n\r\n for (const [key, value] of this.parametrosPersonalizados) {\r\n stringPesquisa = stringPesquisa.concat(`&${key}=${value ?? ''}`);\r\n }\r\n\r\n return stringPesquisa;\r\n }\r\n\r\n public clone(): InfoPesquisa {\r\n const entries = this.parametrosPersonalizados.entries();\r\n\r\n return new Pesquisa({\r\n numPagina: this.numPagina,\r\n itensPorPagina: this.itensPorPagina,\r\n filtroPadrao: this.filtroPadrao,\r\n novaOrdenacao: this.novaOrdenacao,\r\n\r\n parametrosPersonalizados: new Map(entries),\r\n });\r\n }\r\n\r\n public setParameter(key: string, value: string): void {\r\n this.parametrosPersonalizados.set(key, value);\r\n }\r\n\r\n public removeParameter(key: string): void {\r\n this.parametrosPersonalizados.delete(key);\r\n }\r\n\r\n public clearAllParameters(): void {\r\n this.parametrosPersonalizados.clear();\r\n }\r\n}\r\n\r\nexport { Paginacao, Pesquisa };\r\n","import { combineReducers } from '@reduxjs/toolkit';\r\n\r\nimport { fazendasSlice } from 'src/store/ducks/fazendas';\r\nimport { fornecedoresSlice } from 'src/store/ducks/fornecedores';\r\nimport { objetosSlice } from 'src/store/ducks/objetos';\r\nimport { perfisSlice } from 'src/store/ducks/perfis';\r\nimport { prestadoresSlice } from 'src/store/ducks/prestadores';\r\nimport { relatoriosSlice } from 'src/store/ducks/relatorios';\r\nimport { sessionSlice } from 'src/store/ducks/login';\r\nimport { tiposRecursosSlice } from 'src/store/ducks/tiposRecursos';\r\nimport { usuariosFornecedoresSlice } from 'src/store/ducks/usuariosFornecedores';\r\nimport { usuariosPrestadoresSlice } from 'src/store/ducks/usuariosPrestadores';\r\nimport { usuariosSlice } from 'src/store/ducks/usuarios';\r\nimport { tipoArquivoSlice } from './tipoArquivo';\r\nimport { arquivoUploadSlice } from './relatoriosUpload';\r\n\r\nconst rootReducer = combineReducers({\r\n fazendas: fazendasSlice.reducer,\r\n fornecedores: fornecedoresSlice.reducer,\r\n objetos: objetosSlice.reducer,\r\n perfis: perfisSlice.reducer,\r\n prestadores: prestadoresSlice.reducer,\r\n relatorios: relatoriosSlice.reducer,\r\n session: sessionSlice.reducer,\r\n tiposRecursos: tiposRecursosSlice.reducer,\r\n usuarios: usuariosSlice.reducer,\r\n usuariosFornecedores: usuariosFornecedoresSlice.reducer,\r\n usuariosPrestadores: usuariosPrestadoresSlice.reducer,\r\n tipoArquivo: tipoArquivoSlice.reducer,\r\n arquivoUpload: arquivoUploadSlice.reducer,\r\n});\r\n\r\nexport default rootReducer;\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n fazendasGetFilterError,\r\n fazendasGetFilterRequest,\r\n fazendasGetFilterSuccess,\r\n} from 'src/store/ducks/fazendas';\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Fazendas/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(fazendasGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(fazendasGetFilterError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(fazendasGetFilterRequest, sendGetFilterRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n fornecedoresGetFilterError,\r\n fornecedoresGetFilterRequest,\r\n fornecedoresGetFilterSuccess,\r\n} from 'src/store/ducks/fornecedores';\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Fornecedores/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(fornecedoresGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(fornecedoresGetFilterError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(fornecedoresGetFilterRequest, sendGetFilterRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { UserLogin } from 'src/store/ducks/login/types';\r\nimport {\r\n loginRequest,\r\n loginSuccess,\r\n loginError,\r\n recoveryRequest,\r\n recoverySuccess,\r\n recoveryError,\r\n} from 'src/store/ducks/login';\r\n\r\nexport function* sendLoginRequest(action: ReturnType) {\r\n try {\r\n const data = new URLSearchParams();\r\n data.append('desLogin', action.payload.desLogin);\r\n data.append('desSenha', action.payload.desSenha);\r\n\r\n const response: AxiosResponse = yield call(\r\n api.post,\r\n 'Auth/v1/login/',\r\n data,\r\n {\r\n headers: {\r\n 'Content-Type': 'Application/x-www-form-urlencoded',\r\n client_id: 'n2mK7ztXlfLDUwH6L/Dz416DeeZQyB2tNlPEfmsQ0S0=',\r\n },\r\n }\r\n );\r\n\r\n yield put(loginSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(loginError(error));\r\n }\r\n}\r\n\r\nexport function* sendRecoveryRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const data = new URLSearchParams();\r\n data.append('desLogin', action.payload.desLogin);\r\n data.append('desEmail', action.payload.desEmail);\r\n\r\n const response: AxiosResponse = yield call(\r\n api.post,\r\n 'Auth/v1/recuperarSenha/',\r\n data,\r\n {\r\n headers: {\r\n 'Content-Type': 'Application/x-www-form-urlencoded',\r\n client_id: 'n2mK7ztXlfLDUwH6L/Dz416DeeZQyB2tNlPEfmsQ0S0=',\r\n },\r\n }\r\n );\r\n\r\n yield put(recoverySuccess(response.data));\r\n } catch (error: any) {\r\n yield put(recoveryError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(loginRequest.type, sendLoginRequest),\r\n takeLatest(recoveryRequest.type, sendRecoveryRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n objetosGetFilterError,\r\n objetosGetFilterRequest,\r\n objetosGetFilterSuccess,\r\n} from 'src/store/ducks/objetos';\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Objetos/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(objetosGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(objetosGetFilterError(error));\r\n }\r\n}\r\n\r\nexport default all([takeLatest(objetosGetFilterRequest, sendGetFilterRequest)]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, debounce, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n perfisGetRequest,\r\n perfisGetSuccess,\r\n perfisGetError,\r\n perfisGetFilterRequest,\r\n perfisGetFilterSuccess,\r\n perfisPostRequest,\r\n perfisPutRequest,\r\n perfisDeleteRequest,\r\n perfisOperationSuccess,\r\n perfisOperationError,\r\n perfisDeleteSuccess,\r\n perfisDeleteError,\r\n} from 'src/store/ducks/perfis';\r\nimport { Perfil } from 'src/store/ducks/perfis/types';\r\n\r\nexport function* sendGetRequest(action: ReturnType) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Perfis/v1/${query}`\r\n );\r\n\r\n yield put(perfisGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(perfisGetError(error));\r\n }\r\n}\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Perfis/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(perfisGetFilterSuccess(response.data));\r\n } catch (error: any) {}\r\n}\r\n\r\nexport function* sendPostRequest(action: ReturnType) {\r\n try {\r\n yield call(api.post, `Perfis/v1/`, action.payload);\r\n yield put(perfisOperationSuccess());\r\n } catch (error: any) {\r\n yield put(perfisOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendPutRequest(action: ReturnType) {\r\n try {\r\n yield call(api.put, `Perfis/v1/`, action.payload);\r\n yield put(perfisOperationSuccess());\r\n } catch (error: any) {\r\n yield put(perfisOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = `?idRelPerfil=${action.payload.idRelPerfil}`;\r\n\r\n yield call(api.delete, `Perfis/v1/${query}`);\r\n yield put(perfisDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(perfisDeleteError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n debounce(500, perfisGetRequest, sendGetRequest),\r\n takeLatest(perfisGetFilterRequest, sendGetFilterRequest),\r\n takeLatest(perfisPostRequest, sendPostRequest),\r\n takeLatest(perfisPutRequest, sendPutRequest),\r\n takeLatest(perfisDeleteRequest, sendDeleteRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n prestadoresGetFilterError,\r\n prestadoresGetFilterRequest,\r\n prestadoresGetFilterSuccess,\r\n} from 'src/store/ducks/prestadores';\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Prestadores/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(prestadoresGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(prestadoresGetFilterError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(prestadoresGetFilterRequest, sendGetFilterRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n tiposRecursosGetFilterError,\r\n tiposRecursosGetFilterRequest,\r\n tiposRecursosGetFilterSuccess,\r\n} from 'src/store/ducks/tiposRecursos';\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `TiposRecursos/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(tiposRecursosGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(tiposRecursosGetFilterError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(tiposRecursosGetFilterRequest, sendGetFilterRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n usuariosFornecedoresGetRequest,\r\n usuariosFornecedoresGetSuccess,\r\n usuariosFornecedoresGetFilterRequest,\r\n usuariosFornecedoresGetFilterSuccess,\r\n usuariosFornecedoresPostRequest,\r\n usuariosFornecedoresPutRequest,\r\n usuariosFornecedoresDeleteRequest,\r\n usuariosFornecedoresGetError,\r\n usuariosFornecedoresOperationSuccess,\r\n usuariosFornecedoresOperationError,\r\n usuariosFornecedoresDeleteError,\r\n usuariosFornecedoresDeleteSuccess,\r\n} from 'src/store/ducks/usuariosFornecedores';\r\nimport { UsuarioFornecedor } from 'src/store/ducks/usuariosFornecedores/types';\r\n\r\nexport function* sendGetRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `UsuariosFornecedores/v1/${query}`\r\n );\r\n\r\n yield put(usuariosFornecedoresGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(usuariosFornecedoresGetError(error));\r\n }\r\n}\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `UsuariosFornecedores/v1/consultarParaFiltrosTela/${query}}`\r\n );\r\n\r\n yield put(usuariosFornecedoresGetFilterSuccess(response.data));\r\n } catch (error) {}\r\n}\r\n\r\nexport function* sendPostRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.post, `UsuariosFornecedores/v1/`, action.payload);\r\n yield put(usuariosFornecedoresOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosFornecedoresOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendPutRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.put, `UsuariosFornecedores/v1/`, action.payload);\r\n yield put(usuariosFornecedoresOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosFornecedoresOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const { idRelUsuario, codFornecedor } = action.payload;\r\n\r\n const query = `?idRelUsuario=${idRelUsuario}&codFornecedor=${codFornecedor}`;\r\n\r\n yield call(api.delete, `UsuariosFornecedores/v1/${query}`);\r\n yield put(usuariosFornecedoresDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosFornecedoresDeleteError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(usuariosFornecedoresGetRequest, sendGetRequest),\r\n takeLatest(usuariosFornecedoresGetFilterRequest, sendGetFilterRequest),\r\n takeLatest(usuariosFornecedoresPostRequest, sendPostRequest),\r\n takeLatest(usuariosFornecedoresPutRequest, sendPutRequest),\r\n takeLatest(usuariosFornecedoresDeleteRequest, sendDeleteRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n usuariosPrestadoresGetRequest,\r\n usuariosPrestadoresGetSuccess,\r\n usuariosPrestadoresGetFilterRequest,\r\n usuariosPrestadoresGetFilterSuccess,\r\n usuariosPrestadoresPostRequest,\r\n usuariosPrestadoresPutRequest,\r\n usuariosPrestadoresDeleteRequest,\r\n usuariosPrestadoresGetError,\r\n usuariosPrestadoresOperationSuccess,\r\n usuariosPrestadoresOperationError,\r\n usuariosPrestadoresDeleteError,\r\n usuariosPrestadoresDeleteSuccess,\r\n} from 'src/store/ducks/usuariosPrestadores';\r\nimport { UsuarioPrestador } from 'src/store/ducks/usuariosPrestadores/types';\r\n\r\nexport function* sendGetRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `UsuariosPrestadores/v1/${query}`\r\n );\r\n\r\n yield put(usuariosPrestadoresGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(usuariosPrestadoresGetError(error));\r\n }\r\n}\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `UsuariosPrestadores/v1/consultarParaFiltrosTela/${query}}`\r\n );\r\n\r\n yield put(usuariosPrestadoresGetFilterSuccess(response.data));\r\n } catch (error) {}\r\n}\r\n\r\nexport function* sendPostRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.post, `UsuariosPrestadores/v1/`, action.payload);\r\n yield put(usuariosPrestadoresOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosPrestadoresOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendPutRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.put, `UsuariosPrestadores/v1/`, action.payload);\r\n yield put(usuariosPrestadoresOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosPrestadoresOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const { idRelUsuario, codPrestador } = action.payload;\r\n\r\n const query = `?idRelUsuario=${idRelUsuario}&codPrestador=${codPrestador}`;\r\n\r\n yield call(api.delete, `UsuariosPrestadores/v1/${query}`);\r\n yield put(usuariosPrestadoresDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosPrestadoresDeleteError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n takeLatest(usuariosPrestadoresGetRequest, sendGetRequest),\r\n takeLatest(usuariosPrestadoresGetFilterRequest, sendGetFilterRequest),\r\n takeLatest(usuariosPrestadoresPostRequest, sendPostRequest),\r\n takeLatest(usuariosPrestadoresPutRequest, sendPutRequest),\r\n takeLatest(usuariosPrestadoresDeleteRequest, sendDeleteRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, debounce, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n usuariosGetRequest,\r\n usuariosGetSuccess,\r\n usuariosGetFilterRequest,\r\n usuariosGetFilterSuccess,\r\n usuariosPostRequest,\r\n usuariosPutRequest,\r\n usuariosDeleteRequest,\r\n usuariosOperationSuccess,\r\n usuariosOperationError,\r\n usuariosDeleteSuccess,\r\n usuariosDeleteError,\r\n usuariosGetError,\r\n changeUsuarioPasswordRequest,\r\n changeUsuarioPasswordSuccess,\r\n changeUsuarioPasswordError,\r\n usuariosGetFilterError,\r\n} from 'src/store/ducks/usuarios';\r\nimport { Usuario } from 'src/store/ducks/usuarios/types';\r\n\r\nexport function* sendGetRequest(action: ReturnType) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Usuarios/v1/${query}`\r\n );\r\n\r\n yield put(usuariosGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(usuariosGetError(error));\r\n }\r\n}\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `Usuarios/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(usuariosGetFilterSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(usuariosGetFilterError(error));\r\n }\r\n}\r\n\r\nexport function* sendPostRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.post, `Usuarios/v1/`, action.payload);\r\n yield put(usuariosOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendPutRequest(action: ReturnType) {\r\n try {\r\n yield call(api.put, `Usuarios/v1/`, action.payload);\r\n yield put(usuariosOperationSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = `?idRelUsuario=${action.payload.idRelUsuario}`;\r\n\r\n yield call(api.delete, `Usuarios/v1/${query}`);\r\n yield put(usuariosDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(usuariosDeleteError(error));\r\n }\r\n}\r\n\r\nexport function* sendChangePasswordRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.post, `Usuarios/v1/alterarSenha/`, action.payload);\r\n yield put(changeUsuarioPasswordSuccess());\r\n } catch (error: any) {\r\n yield put(changeUsuarioPasswordError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n debounce(500, usuariosGetRequest, sendGetRequest),\r\n takeLatest(usuariosGetFilterRequest, sendGetFilterRequest),\r\n takeLatest(usuariosPostRequest, sendPostRequest),\r\n takeLatest(usuariosPutRequest, sendPutRequest),\r\n takeLatest(usuariosDeleteRequest, sendDeleteRequest),\r\n takeLatest(changeUsuarioPasswordRequest, sendChangePasswordRequest),\r\n]);\r\n","import { AxiosResponse } from 'axios';\r\nimport { all, call, debounce, put, takeLatest } from 'redux-saga/effects';\r\n\r\nimport api from 'src/services/api';\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport {\r\n tipoArquivoGetRequest,\r\n tipoArquivoGetSuccess,\r\n tipoArquivoGetError,\r\n tipoArquivoGetFilterRequest,\r\n tipoArquivoGetFilterSuccess,\r\n tipoArquivoPostRequest,\r\n tipoArquivoPutRequest,\r\n tipoArquivoDeleteRequest,\r\n tipoArquivoOperationSuccess,\r\n tipoArquivoOperationError,\r\n tipoArquivoDeleteSuccess,\r\n tipoArquivoDeleteError,\r\n} from 'src/store/ducks/tipoArquivo';\r\nimport { TipoArquivo } from 'src/store/ducks/tipoArquivo/types';\r\n\r\nexport function* sendGetRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `TiposArquivos/v1/${query}`\r\n );\r\n\r\n yield put(tipoArquivoGetSuccess(response.data));\r\n } catch (error: any) {\r\n yield put(tipoArquivoGetError(error));\r\n }\r\n}\r\n\r\nexport function* sendGetFilterRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = action.payload ?? '';\r\n\r\n const response: AxiosResponse> = yield call(\r\n api.get,\r\n `TiposArquivos/v1/consultarParaFiltrosTela/${query}`\r\n );\r\n\r\n yield put(tipoArquivoGetFilterSuccess(response.data));\r\n } catch (error: any) {}\r\n}\r\n\r\nexport function* sendPostRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.post, `TiposArquivos/v1/`, action.payload);\r\n yield put(tipoArquivoOperationSuccess());\r\n } catch (error: any) {\r\n yield put(tipoArquivoOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendPutRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n yield call(api.put, `TiposArquivos/v1/`, action.payload);\r\n yield put(tipoArquivoOperationSuccess());\r\n } catch (error: any) {\r\n yield put(tipoArquivoOperationError(error));\r\n }\r\n}\r\n\r\nexport function* sendDeleteRequest(\r\n action: ReturnType\r\n) {\r\n try {\r\n const query = `?idRelTpArquivo=${action.payload.idRelTpArquivo}`;\r\n\r\n yield call(api.delete, `TiposArquivos/v1/${query}`);\r\n yield put(tipoArquivoDeleteSuccess());\r\n } catch (error: any) {\r\n yield put(tipoArquivoDeleteError(error));\r\n }\r\n}\r\n\r\nexport default all([\r\n debounce(500, tipoArquivoGetRequest, sendGetRequest),\r\n takeLatest(tipoArquivoGetFilterRequest, sendGetFilterRequest),\r\n takeLatest(tipoArquivoPostRequest, sendPostRequest),\r\n takeLatest(tipoArquivoPutRequest, sendPutRequest),\r\n takeLatest(tipoArquivoDeleteRequest, sendDeleteRequest),\r\n]);\r\n","import { all } from 'redux-saga/effects';\r\n\r\nimport fazendasSaga from 'src/store/ducks/fazendas/saga';\r\nimport fornecedoresSaga from 'src/store/ducks/fornecedores/saga';\r\nimport loginSaga from 'src/store/ducks/login/saga';\r\nimport objetosSaga from 'src/store/ducks/objetos/saga';\r\nimport perfisSaga from 'src/store/ducks/perfis/saga';\r\nimport prestadoresSaga from 'src/store/ducks/prestadores/saga';\r\nimport relatoriosSaga from 'src/store/ducks/relatorios/saga';\r\nimport tiposRecursosSaga from 'src/store/ducks/tiposRecursos/saga';\r\nimport usuariosFornecedoresSaga from 'src/store/ducks/usuariosFornecedores/saga';\r\nimport usuariosPrestadoresSaga from 'src/store/ducks/usuariosPrestadores/saga';\r\nimport usuariosSaga from 'src/store/ducks/usuarios/saga';\r\nimport tipoArquivoSaga from 'src/store/ducks/tipoArquivo/saga';\r\nimport arquivoUploadSaga from 'src/store/ducks/relatoriosUpload/saga';\r\n\r\nexport default function* rootSaga(): any {\r\n return yield all([\r\n fazendasSaga,\r\n fornecedoresSaga,\r\n loginSaga,\r\n objetosSaga,\r\n perfisSaga,\r\n prestadoresSaga,\r\n relatoriosSaga,\r\n tiposRecursosSaga,\r\n usuariosFornecedoresSaga,\r\n usuariosPrestadoresSaga,\r\n usuariosSaga,\r\n tipoArquivoSaga,\r\n arquivoUploadSaga,\r\n ]);\r\n}\r\n","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\r\nimport createSagaMiddleware from 'redux-saga';\r\n\r\nimport { configureStore } from '@reduxjs/toolkit';\r\n\r\nimport rootReducer from 'src/store/ducks/rootReducer';\r\nimport rootSaga from 'src/store/ducks/rootSaga';\r\n\r\nconst sagaMiddleware = createSagaMiddleware();\r\n\r\nconst store = configureStore({\r\n reducer: rootReducer,\r\n middleware: (getDefaultMiddleware) => {\r\n return [...getDefaultMiddleware({ thunk: false }), sagaMiddleware];\r\n },\r\n devTools: true,\r\n});\r\n\r\nsagaMiddleware.run(rootSaga);\r\n\r\nexport type AppState = ReturnType;\r\n\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\r\n\r\nexport const useAppDispatch = (): AppDispatch => useDispatch();\r\n\r\nexport default store;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { FornecedoresState } from 'src/store/ducks/fornecedores/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: FornecedoresState = {\r\n filterList: [],\r\n error: undefined,\r\n};\r\n\r\nexport const fornecedoresSlice = createSlice({\r\n name: 'fornecedores',\r\n initialState: initialState,\r\n reducers: {\r\n fornecedoresGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n fornecedoresGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n state.error = undefined;\r\n },\r\n fornecedoresGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n fornecedoresGetFilterRequest,\r\n fornecedoresGetFilterSuccess,\r\n fornecedoresGetFilterError,\r\n} = fornecedoresSlice.actions;\r\n\r\nexport default fornecedoresSlice.reducer;\r\n","import { PayloadAction, createSlice } from '@reduxjs/toolkit';\r\n\r\nimport { RespostaApi, TipoFiltro } from 'src/store/ducks/base/types';\r\nimport { PrestadoresState } from 'src/store/ducks/prestadores/types';\r\nimport { ErrorAPI } from '../types';\r\n\r\nconst initialState: PrestadoresState = {\r\n filterList: [],\r\n error: undefined,\r\n};\r\n\r\nexport const prestadoresSlice = createSlice({\r\n name: 'prestadores',\r\n initialState: initialState,\r\n reducers: {\r\n prestadoresGetFilterRequest: (\r\n state,\r\n action: PayloadAction\r\n ) => {\r\n state.error = undefined;\r\n },\r\n prestadoresGetFilterSuccess: (\r\n state,\r\n action: PayloadAction>\r\n ) => {\r\n state.filterList = action.payload.dados;\r\n state.error = undefined;\r\n },\r\n prestadoresGetFilterError: (state, action: PayloadAction) => {\r\n state.error = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n prestadoresGetFilterRequest,\r\n prestadoresGetFilterSuccess,\r\n prestadoresGetFilterError,\r\n} = prestadoresSlice.actions;\r\n\r\nexport default prestadoresSlice.reducer;\r\n"],"sourceRoot":""}