{"version":3,"sources":["redux/actions/AuthActions.ts","redux/reducers/AppReducer.ts","api/documents.ts","redux/actions/DocumentsActions.ts","api/auth.ts","redux/reducers/NotificationsReducer.ts","components/core/translate/Translate.tsx","redux/reducers/EimzoReducer.ts","redux/actions/AdminActions.ts","data/marks.ts","layouts/dashboard/DashboardStyles.js","hooks/redux.ts","api/eimzo.ts","components/form/ControlledCheckBox.jsx","components/form/BankAutoComplete.tsx","redux/actions/EimzoActions.ts","components/Scrollbar.js","components/form/DistrictAutoComplete.tsx","components/form/RegionAutoComplete.tsx","utils/requests.ts","redux/reducers/GoodsReducer.ts","redux/actions/ProfileActions.ts","utils/formatNumber.js","api/requests.ts","models/profile.ts","hooks/useProfile.ts","utils/utils.js","hooks/useToggle.ts","utils/formatTime.js","layouts/dashboard/skeletons/NavbarSkeleton.tsx","layouts/dashboard/skeletons/SidebarSkeleton.tsx","layouts/dashboard/index.js","layouts/LogoOnlyLayout.js","components/Page.js","components/_dashboard/app/AppBannedDocs.js","components/_dashboard/app/AppRejectedDocs.js","components/NewsModal.tsx","data/news.ts","redux/actions/NewsActions.ts","components/_dashboard/app/AppNewsUpdate.js","components/_dashboard/app/AppSignedDocs.js","components/_dashboard/app/AppWaitingDocs.js","pages/DashboardApp.js","hooks/useCopy.ts","redux/reducers/GroupActionsReducer.ts","components/core/tables/DetailPanel.tsx","components/_dashboard/user/UserListToolbar.js","components/core/tables/ Snowfall/Snowfall.js","components/core/tables/CustomPaginationTop.jsx","components/core/tables/CustomPaginationBottom.jsx","components/core/documentsFilter/DocumentsFilter.tsx","components/core/getDocumentFromRouming/GetDocumentFromRouming.tsx","static/xlsx/factura/sample.xlsx","static/xlsx/factura/template.xlsx","components/core/tables/DocumentsPreviewTable.tsx","hooks/use-open-file.ts","components/core/tables/RowMoreDocuments.tsx","components/core/tables/RenderMarksList.tsx","components/core/openFile/OpenFile.tsx","components/core/linearLoader/LinearLoader.tsx","components/core/loader/MainLoader.tsx","components/ProfileSelect.tsx","pages/MobileAuth.tsx","pages/Settings.tsx","components/core/skeletons/DocumentEditSkeleton.tsx","components/core/skeletons/ReferencesSkeleton.tsx","components/core/skeletons/ContactsSkeleton.tsx","components/core/skeletons/MxiksSkeleton.tsx","components/core/skeletons/LoginSkeleton.tsx","components/core/skeletons/RegisterSkeleton.tsx","api/editProfile.ts","pages/Admin.tsx","routes.js","theme/shape.js","theme/lightPalette.js","theme/darkPaletter.js","theme/typography.js","theme/overrides/index.js","theme/overrides/Card.js","theme/overrides/Lists.js","theme/overrides/Paper.js","theme/overrides/Input.js","theme/overrides/Button.js","theme/overrides/Tooltip.js","theme/overrides/Backdrop.js","theme/overrides/Typography.js","theme/overrides/IconButton.js","theme/overrides/Autocomplete.js","theme/overrides/Checkbox.js","theme/shadows.js","theme/index.js","theme/globalStyles.js","components/core/alert/Alert.tsx","hooks/useApp.ts","App.js","version.js","serviceWorker.js","reportWebVitals.js","redux/reducers/DocumentsReducer.ts","redux/reducers/ProfileReducer.ts","redux/reducers/RootReducer.ts","utils/i18n.ts","index.js","redux/actions/GoodsActions.ts","components/form/ControlledTextField.tsx","data/lists.ts","redux/actions/AdminBanksActions.ts","redux/reducers/AuthReducer.ts","redux/reducers/FilterReducer.ts","api/profile.ts"],"names":["getAuthId","async","serialNumber","length","parseInt","toString","res","api","status","data","authId","e","getProfileStatus","tin","fetchProfileType","format","Date","now","window","localStorage","setItem","JSON","stringify","dispatch","AuthSlice","actions","setAccountStatus","entityToken","type","console","log","userSignUp","payload","appSlice","toggleSystemLoading","response","toggleSystemAlert","show","message","user","entities","userLogin","token","refreshToken","updateProfileToken","saveLoginPass","createSlice","name","initialState","showSidebar","systemLoading","systemLoadingMsg","scaled","darkTheme","systemAlert","autoHide","reducers","toggleDarkTheme","state","action","toggleSideBar","hasOwnProperty","toggleInputsScale","getDocuments","params","axios","get","getDocCounts","getPrintDocument","id","getDownloadDocument","uploadFileXLSX","file","post","getDocument","saveDocument","editDocument","deleteDocument","signDocument","showSnackbar","arguments","undefined","pkcs7","headers","waybillLocalMethods","method","url","trim","getDocumentFromRouming","rejectDocument","getSignCheck","getSignedFile","side","getWaybillLocalSign","deleteFromBin","refreshAllDocs","cookie","refreshDocument","SERVER_ERROR","fetchDocuments","createAsyncThunk","thunkAPI","rejectWithValue","fetchGetDocumentFromRouming","error","fetchDocCounts","fetchDocument","fetchSaveDocument","uploadXlsx","fetchAllDocuments","fetchEraseDocument","fetchEditDocument","fetchSignDocument","fetchWaybillLocalMethods","fetchDeleteDocument","refetchAllDocs","fetchRejectDocument","fetchSignedFile","fetchWaybillLocalSign","fetchRefreshDocument","userPwdLogin","notificationsApi","createApi","reducerPath","baseQuery","fetchBaseQuery","baseUrl","process","prepareHeaders","_ref","_authReducer$profile$","getState","authReducer","profile","at","set","endpoints","builder","getReceivedDocs","query","useGetReceivedDocsQuery","Translate","tk","rest","t","useTranslation","_jsx","Typography","children","eimzoSlice","certificates","serialNumbers","setCertificates","setSerialNumbers","extraReducers","adminApi","getAllBanks","args","filter","page","limit","fields","modifyBanks","mutation","body","getMeasures","modifyMeasures","getEntities","modifyEntities","getUsers","modifyUsers","getPackages","modifyPackages","getBillings","modifyBillings","getItems","modifyItems","getGroups","modifyGroups","useGetAllBanksQuery","useGetBillingsQuery","useGetEntitiesQuery","useGetGroupsQuery","useGetItemsQuery","useGetMeasuresQuery","useGetPackagesQuery","useGetUsersQuery","useModifyBanksMutation","useModifyBillingsMutation","useModifyEntitiesMutation","useModifyGroupsMutation","useModifyItemsMutation","useModifyMeasuresMutation","useModifyPackagesMutation","useModifyUsersMutation","MARK_TYPES","value","PACKAGE_TYPES","RootStyle","styled","display","minHeight","overflow","MainStyle","theme","flexGrow","paddingTop","paddingBottom","spacing","breakpoints","up","paddingLeft","paddingRight","RootStyleNavbar","AppBar","_ref2","open","isVisible","boxShadow","backgroundColor","palette","background","header","width","transform","transition","ToolbarStyle","Toolbar","_ref3","padding","justifyContent","alignItems","borderBottom","divider","flexBasis","maxWidth","AccountStatus","color","border","marginLeft","borderRadius","whiteSpace","textOverflow","fontSize","lineHeight","FinanceCard","Card","_ref4","minWidth","paper","shape","margin","height","textAlign","position","FinanceTitle","_ref5","typography","pxToRem","text","secondary","fontWeight","fontWeightMedium","down","FinanceStatus","_ref6","debt","fontWeightBold","main","success","_ref7","FinanceIcon","marginRight","FinanceResultsBox","MenuIconContainer","Box","_ref8","top","right","useAppDispatch","useDispatch","useAppSelector","useSelector","getTimeStamp","getJoinSign","customCheckBoxIcons","icon","Icon","close","checkedIcon","check","ControlledCheckBox","field","label","checked","disabled","FormControlLabel","control","Checkbox","onChange","target","inputProps","size","BankAutoComplete","setValue","index","self","useGetBanksQuery","banks","Controller","render","ref","Autocomplete","options","find","bank","bankId","getOptionLabel","option","nameRU","returnOptionLabel","renderInput","TextField","inputRef","sx","mt","React","memo","API_KEYS","errImzo","loadKeys","_serialNumbers","_certificates","EIMZOClient","listAllUserKeys","o","i","itemId","v","push","obj","items","firstId","r","installApiKeys","Promise","resolve","reject","CAPIWS","apikey","event","setTimeout","getInitialState","buildSuccess","reason","handleError","errMsg","loadKey","keyObject","cert","_cert$obj","keyId","indexOf","signData","callFunction","plugin","Buffer","from","pkcs7_64","then","pkcs7tst","catch","_currentProfile$user","_currentProfile$user$","eimzoReducer","allProfiles","toUpperCase","newKeyId","signedData","setNewKeyId","appendSign","documentData","getAttachedInfo","pkcs7Doc2","joinedDocuments","json","parsedDocument","pkcs7Info","documentBase64","parse","Error","SimpleBarStyle","SimpleBarReact","maxHeight","alpha","grey","opacity","zIndex","Scrollbar","other","test","navigator","userAgent","overflowX","timeout","clickOnTrack","DistrictAutoComplete","suffix","regionid","allDistricts","useGetDistrictsQuery","districts","useGetWaybillLocalDistrictsQuery","skip","selector","list","i18n","returnValue","Array","isArray","district","districtCode","districtId","language","nameRu","nameUzCyrl","districtIdSelector","handleDistrictChange","RegionAutoComplete","postfix","useGetRegionsQuery","waybillLocalData","useGetWaybillLocalRegionsQuery","regions","regionName","region","regionId","buildPayloadPagination","pagination","search","sortBy","sortDesc","itemsPerPage","sorting","descending","sort","order","io","group","number","branch","dateMin","dateMax","goodsSlice","listOfMxikCodes","listOfAllMeasures","addMxik","mxik","some","existing","mxikCode","clearMxik","fetchMxikList","pending","fulfilled","rejected","fetchAllMeasures","fetchProfile","_","getProfile","shortName","fetchRentContracts","to","getRentContracts","fetchProfileByTin","getProfileByTin","fetchCurrentTurnOver","year","getCurrentTurnOver","date","newDate","fShortDashedDate","getProfileType","fetchWareHouses","getWarehouses","fetchBankAccounts","getProfileBankAccounts","fetchProfileRights","getProfileRights","fetchMoneyLeft","getMoneyLeft","getStatus","checkPremiumAccount","useGetMoneyLeftQuery","useGetStatusQuery","useCheckPremiumAccountQuery","fCurrencySpace","numeral","Number","isInteger","replace","fNumber","fShortenNumber","fFloat","fixedVal","isNaN","toFixed","getCheckNonConfirmatoryCompany","getCheckProduct","day","dd","getDate","mm","getMonth","yyyy","getFullYear","String","getWithoutVatCompany","buyerTin","commitentTin","getLgotasForTurnOverCompany","getListOfAllMeasures","getListOfMxiks","getListOfMxiksByTin","getMxikByTin","code","searchParam","searchForMxik","searchForMxikByCode","codes","searchOtherIncomeMxik","getLotInfo","lotId","getLotType","signRequest","loginecp","verifyCode","mobileVerification","getProviders","setProviders","getInvestmentObject","getVehicles","getInvestmentListById","sellerTin","objectId","getInvestmentListByAccount","account","getContractById","getProductOriginByTin","getCheckMxikWithoutVat","getCheckMxikZeroVat","catchErrorMessage","errorData","errorText","searchRailwayDocId","getMarks","tokenExpiration","isItd","vat","vatRegCode","oked","email","mobile","phone","director","directorPinfl","accountant","telegramId","address","itemReleased","personalNum","branches","budget","isBudget","vatStatus","active","isSafe","suspended","vatPayer","isFizAuthToYurProfile","isAuthWithPassword","TIME_TO_CHECK_FOR_TOKEN_REFRESH","useProfileSetter","localProfile","useProfileGetter","useGetProfile","navigate","useNavigate","logout","filterSlice","resetFilter","profileLogout","profileExit","useCallback","deleteAllCookies","key","removeItem","sessionStorage","clear","clearAccountStatus","location","reload","setProfileHook","noTokenUpdate","profileCopy","Object","assign","getTime","setProfile","profilesStore","profileObj","useGetAllProfiles","props","InputProps","readOnly","fullWidth","getContractEntityFields","isOwner","role","basis","jobtitle","checkErrorsBase","errorMessage","errorTranslations","returnObjects","startKey","explanation","entries","checkRoumingErrorsBase","roumingErrorTranslations","startsWith","checkFormFacturaErrorsBase","keys","toLowerCase","split","rowNumber","processedKeys","map","arrayMatch","match","current","checkTTHErrorsBase","checkFormWaybillLocalErrorsBase","selectAllText","select","cookies","document","eqPos","substr","copyObject","isValidTinPinfl","tinPinfl","includes","resolveParam","toLowerCaseKeys","reduce","acc","useToggle","initialValue","setState","useState","on","off","toggle","prev","fDate","locale","ru","fShortDate","fShortDatePerDay","parsedDate","isToday","isThisYear","fDateTime","custom","NavbarSkeleton","appReducer","_jsxs","Stack","direction","xs","sm","Skeleton","animation","variant","Drawer","shouldForwardProp","prop","flexShrink","boxSizing","CustomScrollbar","CustomList","List","SidebarSkeleton","useTheme","px","DashboardNavbar","lazy","DashboardSidebar","DashboardLayout","setOpen","Suspense","fallback","isOpenSidebar","onCloseSidebar","Outlet","LogoOnlyLayout","useEffect","_Fragment","Page","forwardRef","title","Helmet","propTypes","PropTypes","node","isRequired","string","flexDirection","darker","lighter","IconWrapperStyle","marginBottom","dark","backgroundImage","AppBannedDocs","count","banned","warning","AppRejectedDocs","formatNewsText","NewsModal","handleClose","files","descriptionElementRef","useRef","descriptionElement","focus","Dialog","onClose","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","Button","onClick","backdropFilter","DialogContent","pb","component","alt","src","mb","DialogContentText","tabIndex","dangerouslySetInnerHTML","__html","newsApi","getNews","useGetNewsQuery","placeholderAnimation","hidden","scale","visible","duration","NewsItem","news","newsClick","short_text","Paper","elevation","p","cursor","objectFit","motion","div","initial","animate","variants","textDecoration","AppNewsUpdate","_fetchedNews$messages2","modalContent","setModalContent","visibleNewsCount","setVisibleNewsCount","fetchedNews","isFetching","isSuccess","handleNewsClick","_fetchedNews$messages","lastShowedNewsId","getItem","messages","latestNewsWithImage","newsItem","latestNewsWithImageId","messageid","latestNewsDate","twoDaysAgo","CardHeader","style","onMouseOver","currentTarget","onMouseOut","TelegramIcon","handleTelegramLinkClick","Divider","Grid","container","flexWrap","slice","item","md","endIcon","arrowIosForwardFill","handleLoadMore","prevCount","Math","min","primary","AppSignedDocs","rightTopArrow","info","AppWaitingDocs","clockFilled","DashboardApp","signed","sended","documentsReducer","docCounts","in","drafts","outSended","out","Container","y","ease","Link","AppWeeklySales","delay","AppNewUsers","AppItemOrders","AppBugReports","useCopy","copyToClipboard","clipboard","writeText","err","textarea","createElement","appendChild","execCommand","removeChild","groupActionsSlice","processingRow","processingRowsError","processingRowsSuccess","processingRowsErrorDialog","setProcessingRow","setProcessingRowsError","setProcessingRowsSuccess","setProcessingRowsErrorDialog","clearProcessingRow","clearProcessingRowsErrorDialog","clearAllProcessedRows","statusColors","received","deleted","earsed","DetailPanel","_targetTins$","_targetTins$2","_targetTins$3","_targetTins$4","_targetTins$5","_targetTins$6","_targetTins$7","row","useParams","_id","stateId","updatedAt","contractNumber","contractDate","roumingId","docNumber","docDate","subType","ownerTin","targetTins","ownerName","extension","notes","original","statusColor","targetTinsLength","tinOrPinfl","partnerName","tinOrPinflLabel","contragent","responsiblePersonPINFL","responsiblePersonName","contractText","gap","noWrap","singlesidedtype","Tooltip","arrow","disableInteractive","placement","setupTinFilter","setupDocTypeFilter","docType","setupNumberDocumentFilter","numberDocument","setupNumberFilter","totalDocSum","totalSum","totalVatSum","UserListToolbar","docsLength","numSelected","setShowSignMessage","showSignButton","documentType","deleteDocuments","erase","refreshDocuments","refreshReceived","onClearSelection","disabledState","isSmallScreen","useMediaQuery","LoadingButton","loading","loadingPosition","refresh","mr","trash2Fill","signIcon","borderColor","snowflakeIcons","snowflakeCarbon","snowIcon","AntDesignRadarChartOutlined","CarbonCoronavirus","CarbonFavorite","Snowfall","flakes","setFlakes","newFlakes","left","random","fallDuration","animationDelay","floor","spinDuration","className","flake","animationDuration","common","CustomPaginationTop","totalDocs","rowsPerPage","handleChangePage","handleChangeRowsPerPage","pageTitle","pageTitleIcon","totalPages","ceil","verticalAlign","Select","MenuItem","Pagination","handlePageChange","siblingCount","boundaryCount","selected","CustomPaginationBottom","pr","DocumentsFilter","filterReducer","isFilterActive","setIsFilterActive","docCategory","setDocCategory","anchorEl","setAnchorEl","setContractDate","minDate","setMinDate","maxDate","setMaxDate","setTin","num","setNum","contractNum","setContractNum","filterPopover","Boolean","dropFilter","ml","Badge","invisible","badgeContent","anchorOrigin","vertical","horizontal","textTransform","icons","stopPropagation","content","Popover","FormControl","InputLabel","labelId","listOfFilterDocuments","doc","ListSubheader","LocalizationProvider","dateAdapter","AdapterDayjs","adapterLocale","uz","DatePicker","views","newValue","inputFormat","mask","startIcon","setupFilter","filterObject","setFilter","GetDocumentFromRouming","anchor","tinRef","fileInputRef","useId","mode","setMode","successfulUploads","setSuccessfulUploads","setLoading","progress","setProgress","timer","clearTimeout","_tinRef$current","_inputRef$current","_tinRef$current2","errors","msg","accept","_event$target$files","reader","FileReader","onload","_e$target","result","decoder","TextDecoder","encodedText","Uint8Array","char","charCodeAt","rows","decode","processedCount","_columns$","_columns$2","columns","readAsBinaryString","ReactDOM","createPortal","Fade","Alert","severity","bottom","Slide","bgcolor","round","LinearProgress","descendingComparator","a","b","orderBy","Transition","titleIconsList","imported","exported","preliminary","draft","waybillLocalActions","DocumentsPreviewTable","confirm","useConfirm","successfullSignedRef","signButton","eraseButton","setPage","showSignMessage","setOrder","setOrderBy","setRowsPerPage","opened","freeze","successfullSigned","setSuccessfullSigned","dialogContentRef","docs","tableLoading","groupActionsReducer","setSelected","rowSelection","setRowSelection","openSampleDialog","setOpenSampleDialog","processingRowsErrorDialogOpen","setProcessingRowsErrorDialogOpen","translateTableHead","newPage","filteredUsers","array","comparator","stabilizedThis","el","_user","applySortFilter","getComparator","docId","foundDoc","respStatus","_respStatus$data$erro","newDocument","sellerVatRegStatus","sellertin","seller","vatregstatus","buyertin","buyerVatRegStatus","buyer","_res","_res2","_res2$data$errors","refreshReceivedDoc","description","cancellationText","confirmationText","_res$data$errors","eraseDocuments","_res$data$errors2","useMemo","buildSearch","srch","refetchDocs","redirectToClickedDocument","signRes","hasOwn","agent","passport","dateofissue","issuedby","newDoc","_doc$data","_doc$data$seller","_doc$data2","_doc$data2$buyer","taxgap","_newDoc$data","_newDoc$data$seller","_newDoc$data$seller2","_newDoc$data$buyer","realizationpurpose","category","sign","_signRes","signType","signature","_signRes2","_doc","_doc$data3","_doc$data3$consignee","consignee","tinorpinfl","WaybillLocalId","WaybillLocalSignType","ResponsiblePersonPinfl","ConsignorTinOrPinfl","_res3","docStatus","_doc2","_doc2$data","_doc2$data$consignee","_res4","_res4$data$errors","createBasedDoc","identificator","based","navParams","corrected","additional","listOfDocumentCategories","_newDoc","accessorKey","enableColumnActions","enableColumnOrdering","enableSorting","enableColumnFilter","minSize","maxSize","muiTableHeadCellProps","align","Cell","_row$original","_row$original$extensi","IconButton","handleClickOpen","redirectToEditDocument","renewDocument","hasmarking","PriorityHighIcon","enableClickToCopy","totalDocSumText","enableResizing","sortDescFirst","redirectToDocumentPage","sectionDocumentType","toLocaleUpperCase","setMaxHeight","updateTableHeight","innerHeight","addEventListener","removeEventListener","showProgressBars","setShowProgressBars","TransitionComponent","keepMounted","DialogTitle","DialogActions","finally","href","sampleXlsx","download","m","templateXlsx","fileBase64","readAsDataURL","onerror","fileToBase64","base64","upload","textWrap","rel","_dialogContentRef$cur","innerText","MaterialReactTable","enableExpanding","density","columnOrder","desc","muiTableBodyCellProps","displayColumnDefOptions","enableHiding","muiTopToolbarProps","tableContainer","muiTableHeadRowProps","muiTableBodyRowProps","tableBody","pointerEvents","muiTableContainerProps","muiBottomToolbarProps","borderTop","muiTablePaperProps","enableColumnResizing","enableRowActions","renderRowActions","rowId","handleClickOpenProcessingRowsErrorDialog","CircularProgress","enableColumnFilters","enableGlobalFilter","enablePagination","enableRowSelection","getRowId","onRowSelectionChange","positionToolbarAlertBanner","renderTopToolbarCustomActions","AddIcon","RefreshIcon","renderBottomToolbarCustomActions","showLessIcon","showMoreIcon","layoutMode","renderDetailPanel","muiTableDetailPanelProps","tableBodyDetail","localization","expand","expandAll","collapse","collapseAll","toggleFullScreen","toggleDensity","showHideColumns","hideAll","resetOrder","showAll","toggleSelectRow","toggleSelectAll","noRecordsToDisplay","waybillLocalUnwantedKeys","RowMoreDocuments","modal","contractClients","setContractClients","moreDocCateg","documents","idPopover","checkContract","_res$data$clients","clients","redirectToNewDoc","targetTin","client","add","Menu","handlePoperClose","RenderMarksList","_doc$data2$productlis","_doc$data2$productlis2","tableHeads","splitMarks","_item$marks","_item$marks$kiz","_item$marks2","_item$marks2$nomupak","_item$marks3","_item$marks3$identtra","marks","consumer","transport","kiz","nomupak","identtransupak","downloadMarksAsExcel","_doc$data$productlist","_doc$data$productlist2","marksData","productlist","products","forEach","mark","packageType","_MARK_TYPES$find","productData","product_name","product_type","_item$marks4","producttype","package_type","mark_code","ws","XLSX","json_to_sheet","skipHeader","wb","book_new","book_append_sheet","Table","TableHead","TableRow","cell","TableCell","TableBody","_MARK_TYPES$find2","markType","Chip","OpenFile","_doc$data$consignor","_doc$data2$consignee","_doc$data3$responsibl","_doc$data4","useLocation","isUniversal","lastScrollY","setLastScrollY","topValue","setTopValue","link","setLink","setDoc","marksModal","isSidebarShown","isWaybillLocalType","isConsignor","consignor","isConsignee","isRespPerson","responsibleperson","pinfl","handleCloseMarks","createBased","eraseItem","deleteItem","rejectItem","_doc$data2$responsibl","Notes","note","nameData","pkcs","isResponsiblePerson","_pkcs","k","WaybillLocal","waybilllocaltypename","singlesidedtypename","SellerTin","FacturaId","facturaid","BuyerTin","EmpowermentId","empowermentid","CarrierTin","WaybillIds","waybillids","ActId","actid","OwnerTin","ContractId","contractid","VerificationActId","verificationactid","Type","Id","useOpenFile","comment","rejectModal","noCommentError","fetchPrintDocument","res2","all","goBack","REACT_APP_DEVELOPMENT_URL","refreshDraft","customBtnLabel","neg","pos","copyProduct","enqueueSnackbar","handleScroll","currentScrollY","scrollY","ButtonGroup","_doc$data$buyer","print","printDoc","downloadElement","click","pdfDoc","handleOpenMarks","barCode","update","edit","copy","multiline","handleDocumentReject","autoFocus","trashCan","eraseBtn","backIcon","srcDoc","LinearLoader","LoadingComponent","StyledCustomButton","ProfileSelect","currentProfileTin","filteredEntities","entity","marginTop","_parsedProfile$tin","profileRes","fetch","Authorization","parsedProfile","entityName","owner","removeFizInnProfiles","selectEntity","default","MobileAuth","handleSubmit","useForm","mobProfile","setMobProfile","login","password","showPassword","handleChange","saveLoginPassword","autoComplete","onSubmit","OutlinedInput","htmlFor","endAdornment","InputAdornment","handleClickShowPassword","onMouseDown","preventDefault","visibilityoff","visibility","TABLE_ICONS","icon1","send","icon2","cancel","icon3","icon4","Settings","_profile$branches","_profile$branches2","_profile$branches2$fi","_profile$user","_rights$taxpayers","rights","profileReducer","editableUser","setEditableUser","editableUserFio","setEditableUserFio","rightsList","setRightsList","shouldRenderMobileAuth","saving","fio","fizTin","roles","brunchNum","req","setProfileRights","_res$data","fetchSignRequest","Success","hash","Hash","fetchLoginEcp","startIndex","substring","res3","searchByTin","setBranch","handleRight","rightNum","checkedRight","providersData","setProvidersData","setupProviders","enabled","fetchProviders","maxLength","isDeleted","branchNum","branchName","pl","rowSpan","borderStyle","borderWidth","colSpan","taxpayers","_rights$taxpayers$fin","foundUserRights","taxPayer","editTableRow","barnch","deleteTableRow","deleteRow","checkmark","systemName","providerName","edocsTin","edocs","providerTin","providerTins","provider","ClientTin","ProviderTins","setEdocs","DocumentEditSkeleton","gridTemplateColumns","ReferencesSkeleton","my","ContactsSkeleton","MxiksSkeleton","LoginSkeleton","RegisterSkeleton","saveProfileData","resData","Admin","notification","methods","defaultValues","reset","watchVat","useWatch","verifyMobile","prompt","FormProvider","ControlledTextField","startAdornment","referrerPolicy","refreshProfile","userData","updateProfileData","DocumentEdit","Contacts","Mxiks","AdminItems","References","Login","Register","Router","isAuthenticated","isFizHasOldInn","useRoutes","path","element","Navigate","borderRadiusSm","borderRadiusMd","createGradient","color1","color2","GREY","PRIMARY","light","contrastText","INFO","SUCCESS","WARNING","ERROR","GRADIENTS","lightPalette","black","white","gradients","chart","violet","blue","green","yellow","red","neutral","social","hover","disabledBackground","hoverOpacity","disabledOpacity","darkPalette","responsiveFontSizes","lg","fontFamily","fontWeightRegular","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","caption","overline","letterSpacing","button","ComponentsOverrides","merge","MuiCard","styleOverrides","root","customShadows","z4","MuiCardHeader","defaultProps","titleTypographyProps","subheaderTypographyProps","MuiCardContent","MuiListItemIcon","MuiListItemAvatar","MuiListItemText","Lists","MuiPaper","MuiInputBase","input","MuiInput","underline","borderBottomColor","MuiFilledInput","MuiOutlinedInput","Input","MuiButton","sizeLarge","containedInherit","z8","containedPrimary","containedSecondary","outlinedInherit","textInherit","MuiTooltip","tooltip","varLow","varHigh","MuiBackdrop","MuiTypography","paragraph","gutterBottom","MuiIconButton","MuiAutocomplete","z20","MuiCheckbox","MuiSvgIcon","fill","LIGHT_MODE","transparent","z1","z12","z16","z24","createCustomShadow","shadows","transparent1","transparent2","transparent3","createShadow","ThemeConfig","themeOptions","createTheme","components","componentsOverride","StyledEngineProvider","injectFirst","ThemeProvider","CssBaseline","GlobalStyles","GlobalThemeStyles","styles","html","WebkitOverflowScrolling","MozAppearance","WebkitAppearance","WebkitBoxShadow","WebkitTextFillColor","caretColor","img","WebkitFilter","AlertBoxWrapper","AlertBox","timerRef","countdown","setCountdown","hideAlert","counter","interval","setInterval","clearInterval","borderLeft","AlertTitle","useApp","closeSnackbar","useSnackbar","localToken","localTokenExpiration","defaults","isTokenExpired","configureAxiosMiddleware","handleToken","getProfileStat","_localProfile$tin","checkEdocsProvider","allowClose","providers","providersRes","createSnackbarContent","wordWrap","interceptors","use","_error$response","_error$response$data","_error$response$data$","_error$response2","filteredErrorMessage","errorRespons","_errorRespons$data","_errorRespons$data$er","config","checkedValue","param","join","errorMessageFn","autoHideDuration","_error$response3","_error$response3$data","_error$response3$data2","_error$response4","_error$response4$data","_error$response4$data2","_error$response5","_error$response5$data","_error$response5$data2","_error$response6","_error$response7","_error$response8","dataErrorsMsg","statusText","App","ok","versionMatch","clearData","themeLightValue","i18nextLngValue","c","toUTCString","cacheNames","caches","cacheName","delete","handleCustomHotKey","shiftKey","querySelector","isLocalhost","hostname","registerValidSW","swUrl","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","onUpdate","onSuccess","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","documentsSlice","hasNextPage","hasPrevPage","nextPage","current_page","pagingCounter","prevPage","sened","commonDocCounts","profileSlice","warehouses","bankAccounts","persistConfig","storage","version","blacklist","listsApi","mxiksApi","rootReducer","combineReducers","goodsReducer","notificationsReducer","reducer","persistedReducer","persistReducer","store","configureStore","devTools","middleware","getDefaultMiddleware","serializableCheck","concat","persistor","persistStore","resources","translation","initReactI18next","LanguageDetector","HttpApi","init","supportedLngs","fallbackLng","debug","interpolation","escapeValue","require","notistackRef","createRef","onClickDismiss","baseURL","Provider","PersistGate","HelmetProvider","BrowserRouter","ConfirmProvider","SnackbarProvider","maxSnack","getElementById","URL","origin","contentType","ready","unregister","checkValidServiceWorker","allData","searchNonConfirmatoryCompany","fetchMxikByCode","railwayDocId","getSavedMxiksForCount","TasnifName","getSavedMxiks","mutateMxik","reqUrl","getGoodsWithPriveleges","TasnifCode","LgotaName","getZeroVatRateServices","getCompaniesWithPriveleges","Tin","getZeroVatRateCompanies","getNoOffsetGoods","SearchText","getCompensationServices","getNonConformityGoodsCompanies","useGetCompaniesWithPrivelegesQuery","useGetCompensationServicesQuery","useGetGoodsWithPrivelegesQuery","useGetNoOffsetGoodsQuery","useGetZeroVatRateCompaniesQuery","useGetZeroVatRateServicesQuery","useGetNonConformityGoodsCompaniesQuery","useGetSavedMxiksQuery","useMutateMxikMutation","useGetSavedMxiksForCountQuery","ObjectByString","s","n","rules","formatOnBlur","formatOnChange","useFormContext","formatValue","val","str","onBlur","InputLabelProps","shrink","helperText","listOfDocumentDirections","listOfFacturaTypes","listOfContractTypes","listOfProductOrigins","getBanks","getDistricts","getRegions","getStations","getCountries","getWaybillLocalRegions","getWaybillLocalDistricts","getMahallas","soato","useGetCountriesQuery","useGetStationsQuery","useGetMahallasQuery","accountStatus","nameUz","filteredProfiles","filterState","filters","profileTin","setFilterProfile","resetAllFilters","getProfileByPinfl","getProfileTypeCommitent"],"mappings":"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","file":"static/js/main.0fe5944d.chunk.js","sourcesContent":["import { RootDispatch } from '../reducers/RootReducer'\r\nimport api, { IUserLogin } from '../../api/auth'\r\nimport { format } from 'date-fns'\r\nimport { AuthSlice } from '../reducers/AuthReducer'\r\nimport { appSlice } from '../reducers/AppReducer'\r\nimport { fetchProfileType } from './ProfileActions'\r\n\r\nexport const getAuthId = async (serialNumber: string) => {\r\n\ttry {\r\n\t\tif (serialNumber.length > 8) {\r\n\t\t\tserialNumber = parseInt(serialNumber).toString(16)\r\n\t\t}\r\n\t\tlet res = await api.getAuthId(serialNumber)\r\n\t\tif (res.status === 200) {\r\n\t\t\treturn res.data.authId\r\n\t\t}\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const getProfileStatus = (tin: string) => async (dispatch: RootDispatch) => {\r\n\ttry {\r\n\t\tconst res = await fetchProfileType(tin, format(new Date(Date.now()), 'yyyy-MM-dd'))\r\n\t\twindow.localStorage.setItem('accountStatus', JSON.stringify(res?.data))\r\n\t\tres?.status === 200 && dispatch(AuthSlice.actions.setAccountStatus(res?.data))\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const entityToken = async (tin: string, type: string) => {\r\n\ttry {\r\n\t\treturn await api.entityToken(tin, type)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const userSignUp = (payload: any) => async (dispatch: RootDispatch) => {\r\n\ttry {\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\tconst response = await api.userSignUp(payload)\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\tif (response.status === 200) {\r\n\t\t\tdispatch(\r\n\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\tshow: true,\r\n\t\t\t\t\tmessage: 'Успешно авторизовано'\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\treturn response.data.user.entities\r\n\t\t} else {\r\n\t\t\treturn null\r\n\t\t}\r\n\t} catch {\r\n\t} finally {\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t}\r\n}\r\n\r\nexport const userLogin = (payload: IUserLogin) => async () => {\r\n\ttry {\r\n\t\tconst response = await api.userLogin(payload)\r\n\t\tif (response.status === 200) {\r\n\t\t\treturn {\r\n\t\t\t\tentities: response.data.user.entities,\r\n\t\t\t\ttoken: response.data.token,\r\n\t\t\t\tuser: response.data.user\r\n\t\t\t}\r\n\t\t}\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const refreshToken = async (updateProfileToken: (token: string) => void) => {\r\n\ttry {\r\n\t\tconst response = await api.refreshToken()\r\n\r\n\t\tif (response.status === 200) {\r\n\t\t\tupdateProfileToken(response.data.token)\r\n\t\t}\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const saveLoginPass = async (payload: any) => {\r\n\ttry {\r\n\t\treturn await api.saveLoginPass(payload)\r\n\t} catch (e) {}\r\n}\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\r\n\r\nexport type SystemAlert = {\r\n\tmessage: string\r\n\ttype: 'error' | 'success' | 'info' | 'warning'\r\n\tshow: boolean\r\n\tautoHide?: boolean\r\n}\r\n\r\ninterface AppState {\r\n\tshowSidebar: boolean\r\n\tsystemAlert: SystemAlert\r\n\tsystemLoading: boolean\r\n\tscaled: boolean\r\n\tdarkTheme: boolean\r\n\tsystemLoadingMsg: string\r\n}\r\n\r\nconst initialState: AppState = {\r\n\tshowSidebar: true,\r\n\tsystemLoading: false,\r\n\tsystemLoadingMsg: '',\r\n\tscaled: false,\r\n\tdarkTheme: false,\r\n\tsystemAlert: {\r\n\t\tshow: false,\r\n\t\tmessage: '',\r\n\t\ttype: 'info',\r\n\t\tautoHide: true\r\n\t}\r\n}\r\n\r\nexport const appSlice = createSlice({\r\n\tname: 'app',\r\n\tinitialState,\r\n\treducers: {\r\n\t\ttoggleDarkTheme(state, action: PayloadAction) {\r\n\t\t\tstate.darkTheme = action.payload\r\n\t\t},\r\n\t\ttoggleSideBar(state, action: PayloadAction) {\r\n\t\t\tstate.showSidebar = action.payload\r\n\t\t},\r\n\t\ttoggleSystemAlert(state, action: PayloadAction) {\r\n\t\t\tif (action.payload.hasOwnProperty('autoHide')) {\r\n\t\t\t\tstate.systemAlert = action.payload\r\n\t\t\t} else {\r\n\t\t\t\taction.payload.autoHide = true\r\n\t\t\t\tstate.systemAlert = action.payload\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleSystemLoading(state, action) {\r\n\t\t\tif (typeof action.payload === 'boolean') {\r\n\t\t\t\tstate.systemLoading = action.payload\r\n\t\t\t\tstate.systemLoadingMsg = ''\r\n\t\t\t} else {\r\n\t\t\t\tstate.systemLoading = action.payload.state\r\n\t\t\t\tstate.systemLoadingMsg = action.payload.message\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleInputsScale(state, action: PayloadAction) {\r\n\t\t\tstate.scaled = action.payload\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default appSlice.reducer\r\n","import axios from 'axios'\r\n\r\nexport default {\r\n\tasync getDocuments(params: any) {\r\n\t\treturn await axios.get(`/documents`, {\r\n\t\t\tparams\r\n\t\t})\r\n\t},\r\n\tasync getDocCounts(type: string) {\r\n\t\treturn await axios.get(`/documents/${type}/get/stats`)\r\n\t},\r\n\tasync getPrintDocument(type: string, id: string) {\r\n\t\treturn await axios.get(`/documents/${type}/${id}/html`)\r\n\t},\r\n\tasync getDownloadDocument(type: string, id: string) {\r\n\t\treturn await axios.get(`/documents/${type}/${id}/true/file`)\r\n\t},\r\n\tasync uploadFileXLSX(file: any) {\r\n\t\treturn await axios.post(`/documents/factura/upload/xlsx`, file)\r\n\t},\r\n\tasync getDocument(type: string, id: string) {\r\n\t\treturn await axios.get(`/documents/${type}/${id}`)\r\n\t},\r\n\tasync saveDocument(type: string, payload: any) {\r\n\t\treturn await axios.post(`/documents/${type}/`, payload)\r\n\t},\r\n\tasync editDocument(type: string, id: string, payload: any) {\r\n\t\treturn await axios.post(`/documents/${type}/${id}/edit`, payload)\r\n\t},\r\n\tasync deleteDocument(type: string, id: string, payload: any) {\r\n\t\treturn await axios.post(`/documents/${type}/${id}/delete`, payload)\r\n\t},\r\n\tasync signDocument(type: string, id: string, payload: any, showSnackbar = true) {\r\n\t\treturn await axios.post(\r\n\t\t\t`/documents/${type}/${id}/sign`,\r\n\t\t\t{\r\n\t\t\t\tpkcs7: payload\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: { showSnackbar: showSnackbar.toString() }\r\n\t\t\t}\r\n\t\t)\r\n\t},\r\n\tasync waybillLocalMethods(id: string, payload: any, method: string) {\r\n\t\tlet url = `/documents/waybillLocal/${id}/sign`\r\n\t\tif (!!method.trim()) {\r\n\t\t\turl += `/${method}`\r\n\t\t}\r\n\t\treturn await axios.post(url, { pkcs7: payload })\r\n\t},\r\n\tasync getDocumentFromRouming(tin: string, id: string) {\r\n\t\treturn await axios.get(`/documents/factura/${tin}/${id}/refreshdoc`)\r\n\t},\r\n\tasync rejectDocument(type: string, id: string, payload: any) {\r\n\t\treturn await axios.post(`/documents/${type}/${id}/reject`, payload)\r\n\t},\r\n\tasync getSignCheck(id: string) {\r\n\t\treturn axios.get(`/documents/factura/${id}/buyer/signedfile`)\r\n\t},\r\n\tasync getSignedFile(type: string, id: string, side: string) {\r\n\t\treturn await axios.get(`/documents/${type}/${id}/${side}/signedfile`)\r\n\t},\r\n\tasync getWaybillLocalSign(id: string, side: string, state: number) {\r\n\t\treturn await axios.get(`/documents/waybillLocal/${id}/${side}/signedfile/${state}`)\r\n\t},\r\n\tasync deleteFromBin(type: string, id: string) {\r\n\t\treturn await axios.post(`/documents/${type}/${id}/erase`)\r\n\t},\r\n\tasync refreshAllDocs(data: string) {\r\n\t\tconst params = `FacturaSessionId=${data}`\r\n\t\treturn await axios.post('/documents/all/docs/refreshNew', {\r\n\t\t\tcookie: params\r\n\t\t})\r\n\t},\r\n\tasync refreshDocument(type: string, id: string, showSnackbar = true) {\r\n\t\treturn await axios.get(`/documents/${type}/${id}/refresh`, {\r\n\t\t\theaders: { showSnackbar: showSnackbar.toString() }\r\n\t\t})\r\n\t}\r\n}\r\n","import { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport api from '../../api/documents'\r\n\r\nconst SERVER_ERROR = 'Ошибка на стороне сервера'\r\n\r\nexport const fetchDocuments = createAsyncThunk('documents/fetchAll', async (payload: any, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getDocuments(payload)\r\n\t\tif (res.status !== 200) return\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const getPrintDocument = async (type: string, id: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getPrintDocument(type, id)\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchGetDocumentFromRouming = async (tin: string, id: string) => {\r\n\ttry {\r\n\t\treturn await api.getDocumentFromRouming(tin, id)\r\n\t} catch (error) {\r\n\t\tconsole.error(error)\r\n\t}\r\n}\r\n\r\nexport const getDownloadDocument = async (type: string, id: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getDownloadDocument(type, id)\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchDocCounts = createAsyncThunk('documents/fetchDocCounts', async (type: string, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getDocCounts(type)\r\n\t\tif (res.status !== 200) return\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchDocument = async (type: string, id: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getDocument(type, id)\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchSaveDocument = async (type: string, payload: any) => {\r\n\ttry {\r\n\t\treturn await api.saveDocument(type, payload)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const uploadXlsx = async (payload: any) => {\r\n\ttry {\r\n\t\treturn await api.uploadFileXLSX(payload)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchAllDocuments = async (payload: any) => {\r\n\ttry {\r\n\t\tconst res = await api.getDocuments(payload)\r\n\t\tif (res.status !== 200) return\r\n\t\treturn res\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchEraseDocument = async (type: string, id: string) => {\r\n\ttry {\r\n\t\treturn await api.deleteFromBin(type, id)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchEditDocument = async (type: string, id: string, payload: any) => {\r\n\ttry {\r\n\t\treturn await api.editDocument(type, id, payload)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchSignDocument = async (type: string, id: string, payload: any, showSnackbar = true) => {\r\n\ttry {\r\n\t\treturn await api.signDocument(type, id, payload, showSnackbar)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchWaybillLocalMethods = async (id: string, payload: any, method: string) => {\r\n\ttry {\r\n\t\treturn await api.waybillLocalMethods(id, payload, method)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchDeleteDocument = async (type: string, id: string, pkcs7?: string) => {\r\n\ttry {\r\n\t\tconst payload = { pkcs7: pkcs7 ? pkcs7 : '' }\r\n\t\treturn await api.deleteDocument(type, id, payload)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const refetchAllDocs = async (cookie: string) => {\r\n\ttry {\r\n\t\treturn await api.refreshAllDocs(cookie)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchSignCheck = async (id: string) => {\r\n\ttry {\r\n\t\treturn await api.getSignCheck(id)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchRejectDocument = async (type: string, id: string, data: any) => {\r\n\ttry {\r\n\t\tconst payload = { pkcs7: data }\r\n\t\treturn await api.rejectDocument(type, id, payload)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchSignedFile = async (type: string, id: string, side: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getSignedFile(type, id, side)\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchWaybillLocalSign = async (id: string, side: string, state: number) => {\r\n\ttry {\r\n\t\tconst res = await api.getWaybillLocalSign(id, side, state)\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchRefreshDocument = async (type: string, id: string, showSnackbar = true) => {\r\n\ttry {\r\n\t\treturn await api.refreshDocument(type, id, showSnackbar)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n","import axios from 'axios'\r\n\r\nexport interface IUserLogin {\r\n serialNumber: string,\r\n pkcs7: string\r\n}\r\n\r\nexport interface IUserPwdLogin {\r\n login: string\r\n password: string\r\n}\r\n\r\nexport default {\r\n async userLogin(payload: IUserLogin) {\r\n return await axios.post('/login', payload)\r\n },\r\n async userPwdLogin(payload: IUserPwdLogin) {\r\n return await axios.post('/loginpassword', payload)\r\n },\r\n async saveLoginPass(payload: any) {\r\n return await axios.post('/saveloginpass', payload)\r\n },\r\n async refreshToken() {\r\n return await axios.get<{token: string}>('/token')\r\n },\r\n async entityToken(tin: string, type: string) {\r\n return await axios.get(`/token/${tin}/${type}`)\r\n },\r\n async getAuthId(serialNumber: string) {\r\n return await axios.get(`/authId/${serialNumber}`)\r\n },\r\n async userSignUp(payload: any) {\r\n return await axios.post(`/register`, payload)\r\n }\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { appSlice } from './AppReducer'\r\nimport { createApi, fetchBaseQuery } from '@reduxjs/toolkit/dist/query/react'\r\nimport { RootReducer } from './RootReducer'\r\nimport { IBaseDoc } from '../../models'\r\n\r\nconst initialState = {\r\n\r\n}\r\n\r\nexport const notificationsSlice = createSlice({\r\n\tname: 'notifications',\r\n\tinitialState,\r\n\treducers: {}\r\n})\r\n\r\nexport const notificationsApi = createApi({\r\n\treducerPath: 'notificationsApi',\r\n\tbaseQuery: fetchBaseQuery({\r\n\t\tbaseUrl: process.env.REACT_APP_DEVELOPMENT_URL,\r\n\t\tprepareHeaders: (headers, { getState }) => {\r\n\t\t\tconst token = (getState() as RootReducer).authReducer.profile.at(-1)?.token || \"\"\r\n\t\t\theaders.set('Authorization', `Bearer ${token}`)\r\n\t\t\treturn headers\r\n\t\t}\r\n\t}),\r\n\tendpoints: (builder) => ({\r\n\t\tgetReceivedDocs: builder.query<{docs: IBaseDoc[]}, null>({\r\n\t\t\tquery: () => '/documents?sort=createdAt&order=-1&page=1&limit=100&io=in&status=received&type=all',\r\n\t\t}),\r\n\t})\r\n})\r\n\r\nexport const { useGetReceivedDocsQuery } = notificationsApi\r\n\r\nexport default appSlice.reducer\r\n","import { Typography, TypographyTypeMap } from '@mui/material'\r\nimport { ElementType, FC } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\ninterface ITranslate {\r\n\ttk: string\r\n\tvariant?: TypographyTypeMap['props']['variant']\r\n\tcomponent?: ElementType\r\n}\r\n\r\nexport const Translate: FC = ({ tk, ...rest }) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn {t(tk)}\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\n\r\ninterface IEimzo {\r\n\tcertificates: []\r\n\tserialNumbers: []\r\n}\r\n\r\nconst initialState: IEimzo = {\r\n\tcertificates: [],\r\n\tserialNumbers: []\r\n}\r\n\r\nexport const eimzoSlice = createSlice({\r\n\tname: 'eimzo',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tsetCertificates(state, action) {\r\n\t\t\tstate.certificates = action.payload\r\n\t\t},\r\n\t\tsetSerialNumbers(state, action) {\r\n\t\t\tstate.serialNumbers = action.payload\r\n\t\t}\r\n\t},\r\n\textraReducers: {}\r\n})\r\n\r\nexport default eimzoSlice.reducer\r\n","import { createApi, fetchBaseQuery } from \"@reduxjs/toolkit/dist/query/react\";\r\nimport { RootReducer } from \"../reducers/RootReducer\";\r\n\r\ninterface IAdminQuery {\r\n filter: string;\r\n page: number;\r\n limit: number;\r\n}\r\n\r\ntype IAdminMutation = {\r\n id?: string;\r\n method: \"POST\" | \"PATCH\" | \"DELETE\";\r\n body?: any;\r\n};\r\n\r\nexport const adminApi = createApi({\r\n reducerPath: \"adminApi\",\r\n baseQuery: fetchBaseQuery({\r\n baseUrl: process.env.REACT_APP_DEVELOPMENT_URL,\r\n prepareHeaders: (headers, {getState}) => {\r\n const token = (getState() as RootReducer).authReducer.profile.at(-1)?.token || \"\"\r\n headers.set(\"Authorization\", `Bearer ${token}`);\r\n return headers;\r\n },\r\n }),\r\n endpoints: (builder) => ({\r\n getAllBanks: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/banks`,\r\n params: { filter, page, limit, fields: \"bankId,nameUZ,nameRU\" },\r\n };\r\n },\r\n }),\r\n modifyBanks: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/banks/${id}` : `/banks/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getMeasures: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/measures`,\r\n params: { filter, page, limit, fields: \"measureId,nameUZ,nameRU\" },\r\n };\r\n },\r\n }),\r\n modifyMeasures: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/measures/${id}` : `/measures/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getEntities: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/entities`,\r\n params: { filter, page, limit, fields: \"name,tin\" },\r\n };\r\n },\r\n }),\r\n modifyEntities: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/entities/${id}` : `/entities/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getUsers: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/users`,\r\n params: { filter, page, limit, fields: \"name,email,role,tin,uid,mobile\" },\r\n };\r\n },\r\n }),\r\n modifyUsers: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/users/${id}` : `/users/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getPackages: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/packages`,\r\n params: { filter, page, limit, fields: \"code,name,tin\" },\r\n };\r\n },\r\n }),\r\n modifyPackages: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/packages/${id}` : `/packages/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getBillings: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/billings`,\r\n params: { filter, page, limit, fields: \"tin,month,year\" },\r\n };\r\n },\r\n }),\r\n modifyBillings: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/billings/${id}` : `/billings/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getItems: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/items`,\r\n params: { filter, page, limit, fields: \"code,name\" },\r\n };\r\n },\r\n }),\r\n modifyItems: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/items/${id}` : `/items/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n getGroups: builder.query({\r\n query: (args) => {\r\n const { filter, page, limit } = args;\r\n return {\r\n url: `/groups`,\r\n params: { filter, page, limit, fields: \"groupId,nameUZ,nameRU\" },\r\n };\r\n },\r\n }),\r\n modifyGroups: builder.mutation({\r\n query: (args) => {\r\n const { id, method, body } = args;\r\n return {\r\n url: !!id ? `/groups/${id}` : `/groups/`,\r\n method,\r\n body,\r\n };\r\n },\r\n }),\r\n }),\r\n});\r\n\r\nexport const {\r\n useGetAllBanksQuery,\r\n useGetBillingsQuery,\r\n useGetEntitiesQuery,\r\n useGetGroupsQuery,\r\n useGetItemsQuery,\r\n useGetMeasuresQuery,\r\n useGetPackagesQuery,\r\n useGetUsersQuery,\r\n useModifyBanksMutation,\r\n useModifyBillingsMutation,\r\n useModifyEntitiesMutation,\r\n useModifyGroupsMutation,\r\n useModifyItemsMutation,\r\n useModifyMeasuresMutation,\r\n useModifyPackagesMutation,\r\n useModifyUsersMutation\r\n} = adminApi;\r\n","export const MARK_TYPES = [\r\n\t{\r\n\t\tvalue: 1,\r\n\t\tname: 'cigarets'\r\n\t},\r\n\t{\r\n\t\tvalue: 2,\r\n\t\tname: 'alchoholProducts'\r\n\t},\r\n\t{\r\n\t\tvalue: 3,\r\n\t\tname: 'beerAndBeerProducts'\r\n\t},\r\n\t{\r\n\t\tvalue: 4,\r\n\t\tname: 'medicines'\r\n\t},\r\n\t{\r\n\t\tvalue: 5,\r\n\t\tname: 'waterAndSoda'\r\n\t},\r\n\t{\r\n\t\tvalue: 6,\r\n\t\tname: 'appliances'\r\n\t}\r\n]\r\n\r\nexport const PACKAGE_TYPES = [\r\n\t{\r\n\t\tvalue: 'kiz',\r\n\t\tname: 'consumer'\r\n\t},\r\n\t{\r\n\t\tvalue: 'nomupak',\r\n\t\tname: 'group'\r\n\t},\r\n\t{\r\n\t\tvalue: 'identtransupak',\r\n\t\tname: 'transport'\r\n\t}\r\n]","import { styled } from '@mui/material/styles'\r\nimport { AppBar, Toolbar, Card, Typography, Box } from '@mui/material'\r\n\r\nconst APPBAR_MOBILE = 10\r\nconst APPBAR_DESKTOP = 70\r\n\r\nexport const RootStyle = styled('div')({\r\n\tdisplay: 'flex',\r\n\tminHeight: '100%',\r\n\toverflow: 'hidden'\r\n})\r\n\r\nexport const MainStyle = styled('div')(({ theme }) => ({\r\n\tflexGrow: 1,\r\n\toverflow: 'auto',\r\n\tminHeight: '100%',\r\n\tpaddingTop: APPBAR_MOBILE,\r\n\tpaddingBottom: theme.spacing(2),\r\n\t[theme.breakpoints.up('lg')]: {\r\n\t\tpaddingTop: APPBAR_DESKTOP,\r\n\t\tpaddingLeft: theme.spacing(2),\r\n\t\tpaddingRight: theme.spacing(2)\r\n\t}\r\n}))\r\n\r\nexport const RootStyleNavbar = styled(AppBar)(({ theme, open, isVisible }) => ({\r\n\tboxShadow: 'none',\r\n\tbackgroundColor: theme.palette.background.header,\r\n\twidth: open ? `calc(100% - 280px)` : `calc(100% - 55px)`,\r\n\ttransform: isVisible ? 'translateY(0)' : 'translateY(-100%)',\r\n\ttransition: 'transform 0.4s'\r\n}))\r\n\r\nexport const ToolbarStyle = styled(Toolbar)(({ theme }) => ({\r\n\t[theme.breakpoints.up('lg')]: {\r\n\t\tpadding: theme.spacing(0, 4)\r\n\t},\r\n\tdisplay: 'flex',\r\n\tjustifyContent: 'space-between',\r\n\talignItems: 'center',\r\n\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\tminHeight: '52px !important',\r\n\t'> *': {\r\n\t\tflexGrow: 1,\r\n\t\tflexBasis: '0',\r\n\t\tmaxWidth: '33.33%'\r\n\t}\r\n}))\r\n\r\nexport const AccountStatus = styled('h6')({\r\n\twidth: 'max-content',\r\n\tmaxWidth: '100px',\r\n\tcolor: 'gray',\r\n\tborder: '1px solid gray',\r\n\tpadding: '1px',\r\n\tpaddingLeft: '3px',\r\n\tmarginLeft: '5px',\r\n\tborderRadius: 5,\r\n\twhiteSpace: 'nowrap',\r\n\toverflow: 'hidden',\r\n\ttextOverflow: 'ellipsis',\r\n\tfontSize: '0.5rem',\r\n\tlineHeight: '1.5',\r\n\tdisplay: 'block'\r\n})\r\n\r\nexport const FinanceCard = styled(Card)(({ theme }) => ({\r\n\tminWidth: '120px',\r\n\twidth: 'max-content',\r\n\tmaxWidth: '200px',\r\n\tbackgroundColor: theme.palette.background.paper,\r\n\tborder: `1px solid ${theme.palette.divider}`,\r\n\tboxShadow: '0px 4px 8px rgba(0, 0, 0, 0.1)',\r\n\tborderRadius: theme.shape.borderRadius,\r\n\tpadding: theme.spacing(0.5),\r\n\tmargin: theme.spacing(0.5),\r\n\theight: 42,\r\n\tdisplay: 'flex',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\ttextAlign: 'center',\r\n\tposition: 'relative',\r\n\ttransition: 'transform 0.2s',\r\n\t'&:hover': {\r\n\t\ttransform: 'scale(1.05)'\r\n\t}\r\n}))\r\n\r\nexport const FinanceTitle = styled(Typography)(({ theme }) => ({\r\n\tfontSize: theme.typography.pxToRem(12),\r\n\tcolor: theme.palette.text.secondary,\r\n\tfontWeight: theme.typography.fontWeightMedium,\r\n\tdisplay: 'flex',\r\n\talignItems: 'center',\r\n\ttextAlign: 'center',\r\n\twhiteSpace: 'nowrap',\r\n\toverflow: 'hidden',\r\n\ttextOverflow: 'ellipsis',\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\tfontSize: theme.typography.pxToRem(8),\r\n\t\twhiteSpace: 'normal'\r\n\t}\r\n}))\r\n\r\nexport const FinanceAmount = styled(Typography)(({ theme, debt }) => ({\r\n\tfontSize: theme.typography.pxToRem(12),\r\n\tfontWeight: theme.typography.fontWeightBold,\r\n\tcolor: debt ? theme.palette.error.main : theme.palette.success.main,\r\n\twhiteSpace: 'nowrap'\r\n}))\r\n\r\nexport const FinanceStatus = styled(Typography)(({ theme }) => ({\r\n\tfontSize: theme.typography.pxToRem(12),\r\n\tfontWeight: theme.typography.fontWeightMedium,\r\n\ttextAlign: 'center',\r\n\twhiteSpace: 'nowrap',\r\n\toverflow: 'hidden',\r\n\ttextOverflow: 'ellipsis',\r\n\t'@media (max-width: 600px)': {\r\n\t\tfontSize: '12px'\r\n\t}\r\n}))\r\n\r\nexport const FinanceIcon = styled('div')({\r\n\talignItems: 'center',\r\n\tjustifyContent: 'center',\r\n\twidth: 20,\r\n\theight: 20,\r\n\tbackgroundColor: 'rgba(0, 0, 0, 0.05)',\r\n\tborderRadius: '50%',\r\n\tmarginRight: '3px'\r\n})\r\n\r\nexport const FinanceResultsBox = styled('div')({\r\n\tdisplay: 'flex',\r\n\talignItems: 'center',\r\n\tjustifyContent: 'center',\r\n\twidth: '100%',\r\n\tposition: 'relative',\r\n\tpaddingRight: '10px'\r\n})\r\n\r\nexport const MenuIconContainer = styled(Box)(({ theme }) => ({\r\n\tdisplay: 'none',\r\n\t[theme.breakpoints.down('lg')]: {\r\n\t\tdisplay: 'flex'\r\n\t},\r\n\tposition: 'fixed',\r\n\ttop: 16,\r\n\tright: 16,\r\n\tbackgroundColor: 'rgba(0, 0, 0, 0.7)',\r\n\tborderRadius: '50%',\r\n\tpadding: '8px',\r\n\tboxShadow: '0px 2px 5px rgba(0, 0, 0, 0.3)'\r\n}))\r\n","import {TypedUseSelectorHook, useDispatch, useSelector} from \"react-redux\";\r\nimport {RootDispatch, RootReducer} from \"../redux/reducers/RootReducer\";\r\n\r\nexport const useAppDispatch = () => useDispatch()\r\nexport const useAppSelector: TypedUseSelectorHook = useSelector\r\n","import axios from 'axios'\r\n\r\nexport default {\r\n\tasync getTimeStamp(payload: any) {\r\n\t\treturn axios.post('/dsvs/gettimestamp', payload)\r\n\t},\r\n\r\n\tasync getJoinSign(payload: any) {\r\n\t\treturn axios.post('/dsvs/joinpkcs7', payload)\r\n\t}\r\n}\r\n","import {Checkbox, FormControlLabel} from \"@mui/material\";\r\nimport {Icon} from \"@iconify/react\";\r\nimport close from \"@iconify/icons-carbon/circle-dash\";\r\nimport check from \"@iconify/icons-carbon/checkmark\";\r\n\r\nconst customCheckBoxIcons = {\r\n icon: ,\r\n checkedIcon: \r\n}\r\n\r\nexport const ControlledCheckBox = ({field, label, checked = false, disabled = false, ...rest}) => {\r\n return (\r\n field.onChange(e.target.checked)}\r\n inputProps={{ 'aria-label': `${label}-checkbox` }}\r\n {...field}\r\n {...rest}\r\n size=\"small\"\r\n />\r\n }\r\n label={label}\r\n />\r\n )\r\n}\r\n","import { Autocomplete, TextField } from '@mui/material'\r\nimport React from 'react'\r\nimport { Control, Controller, UseFormSetValue } from 'react-hook-form'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IDocsType } from '../../models'\r\nimport { IBanks, useGetBanksQuery } from '../../redux/actions/AdminBanksActions'\r\n\r\ntype IBankAutoComplete = {\r\n\tcontrol: Control\r\n\tindex?:\r\n\t\t| 'seller'\r\n\t\t| 'buyer'\r\n\t\t| 'generalcontractor'\r\n\t\t| 'customer'\r\n\t\t| `clients.1`\r\n\t\t| 'clients.2'\r\n\t\t| 'clients.0'\r\n\t\t| 'owner'\r\n\t\t| 'payment'\r\n\tsetValue: UseFormSetValue\r\n\tself?: boolean\r\n}\r\n\r\nconst BankAutoComplete = ({ control, setValue, index = 'seller', self = false }: IBankAutoComplete) => {\r\n\tconst { data } = useGetBanksQuery('')\r\n\tconst banks = data || []\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst handleBankChange = (bank: IBanks | null) => {\r\n\t\tif (bank) {\r\n\t\t\tself ? setValue('bankId', bank.bankId) : setValue(`${index}.bankid`, bank.bankId)\r\n\t\t} else {\r\n\t\t\tself ? setValue('bankId', '') : setValue(`${index}.bankid`, '')\r\n\t\t}\r\n\t}\r\n\r\n\tconst returnOptionLabel = (option: IBanks | null) => {\r\n\t\treturn option ? `${option.bankId} - ${option.nameRU}` : ''\r\n\t}\r\n\r\n\treturn (\r\n\t\t (\r\n\t\t\t\t bank.bankId === value) || null}\r\n\t\t\t\t\tonChange={(e, data) => handleBankChange(data)}\r\n\t\t\t\t\tgetOptionLabel={option => returnOptionLabel(option)}\r\n\t\t\t\t\trenderInput={params => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport default React.memo(BankAutoComplete)\r\n","import { eimzoSlice } from '../reducers/EimzoReducer'\r\nimport { RootDispatch, RootReducer } from '../reducers/RootReducer'\r\nimport { buildSuccess, handleError } from '../../utils/utils'\r\nimport api from '../../api/eimzo'\r\nimport { appSlice } from '../reducers/AppReducer'\r\nimport { AuthSlice } from '../reducers/AuthReducer'\r\n\r\ndeclare const window: any\r\n\r\nconst API_KEYS = [\r\n\t'localhost',\r\n\t'96D0C1491615C82B9A54D9989779DF825B690748224C2B04F500F370D51827CE2644D8D4A82C18184D73AB8530BB8ED537269603F61DB0D03D2104ABF789970B',\r\n\t'127.0.0.1',\r\n\t'A7BCFA5D490B351BE0754130DF03A068F855DB4333D43921125B9CF2670EF6A40370C646B90401955E1F7BC9CDBF59CE0B2C5467D820BE189C845D0B79CFC96F',\r\n\t'null',\r\n\t'E0A205EC4E7B78BBB56AFF83A733A1BB9FD39D562E67978CC5E7D73B0951DB1954595A20672A63332535E13CC6EC1E1FC8857BB09E0855D7E76E411B6FA16E9D',\r\n\t'edocs.uz',\r\n\t'B7E61CAE12DF2D46D62F306942C0DAFA916A4DED50704879912C4BFAD65700DF7AB35684FC663254DF9BC57A5DD5B3E567CBFDCF9B0873718CA0A95738981DC3',\r\n\t'doc.edocs.uz',\r\n\t'E56908ED539E290CB3BC103700B589FBF3B7788C1E4BA2CBFF00E6A3F6BCBF2B6ECE0DA4123D0860B9FDBCBA3563B5408E2D807BF483820EC9D282499D8F8081'\r\n]\r\n\r\nconst errImzo = 'EIMZO_FATAL_ERROR'\r\n\r\nexport const loadKeys = () => async (dispatch: RootDispatch) => {\r\n\ttry {\r\n\t\tconst _serialNumbers: any = []\r\n\t\tconst _certificates: any = []\r\n\r\n\t\tawait window.EIMZOClient.listAllUserKeys(\r\n\t\t\tfunction (o: any, i: any) {\r\n\t\t\t\tconst itemId = 'itm-' + o.serialNumber + '-' + i\r\n\t\t\t\treturn itemId\r\n\t\t\t},\r\n\t\t\tfunction (itemId: any, v: any) {\r\n\t\t\t\t_serialNumbers.push({ obj: v, value: v.serialNumber })\r\n\t\t\t\t_certificates.push(v)\r\n\t\t\t},\r\n\t\t\tfunction (items: any, firstId: any) {\r\n\t\t\t\tdispatch(eimzoSlice.actions.setSerialNumbers(_serialNumbers))\r\n\t\t\t\tdispatch(eimzoSlice.actions.setCertificates(_certificates))\r\n\t\t\t},\r\n\t\t\tfunction (e: any, r: any) {\r\n\t\t\t\tif (r) {\r\n\t\t\t\t\tconsole.log('r', r)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.log('e', e)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport function installApiKeys() {\r\n\treturn async (dispatch: RootDispatch) => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\twindow.CAPIWS.apikey(\r\n\t\t\t\tAPI_KEYS,\r\n\t\t\t\t(event: any, data: any) => {\r\n\t\t\t\t\tif (data.success) {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\t\t\tmessage: 'Модуль E-Imzo успешно подключен!',\r\n\t\t\t\t\t\t\t\tautoHide: false\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\t\t...appSlice.getInitialState().systemAlert,\r\n\t\t\t\t\t\t\t\t\tshow: false\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}, 3000)\r\n\r\n\t\t\t\t\t\tbuildSuccess(resolve, true)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconsole.log('error', data.reason)\r\n\t\t\t\t\t\thandleError({ response: false, errMsg: data.reason }, dispatch, reject)\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t(e: any) => {\r\n\t\t\t\t\tconsole.log('error', e)\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\t\tmessage: 'Запустите модуль E-Imzo для корректной работы сайта',\r\n\t\t\t\t\t\t\tautoHide: false\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t)\r\n\t\t})\r\n\t}\r\n}\r\n\r\nexport function loadKey(serialNumber: string, certificates: any) {\r\n\treturn async (dispatch: RootDispatch) => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst { obj: keyObject } = certificates.find((cert: any) => cert?.obj?.serialNumber == serialNumber)\r\n\t\t\tif (!keyObject || keyObject.type !== 'pfx') {\r\n\t\t\t\thandleError({ response: false, errMsg: 'WRONG_TYPE_KEY' }, dispatch, reject)\r\n\t\t\t} else {\r\n\t\t\t\twindow.EIMZOClient.loadKey(\r\n\t\t\t\t\tkeyObject,\r\n\t\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\t\tfunction (keyId: string) {\r\n\t\t\t\t\t\tbuildSuccess(resolve, keyId)\r\n\t\t\t\t\t},\r\n\t\t\t\t\t// eslint-disable-next-line\r\n\t\t\t\t\tfunction (e: any, r: any) {\r\n\t\t\t\t\t\tlet reason = ''\r\n\t\t\t\t\t\tif (r) {\r\n\t\t\t\t\t\t\tif (r.indexOf('BadPaddingException') !== -1) {\r\n\t\t\t\t\t\t\t\treason = 'WRONG_PASSWORD'\r\n\t\t\t\t\t\t\t} else if (r.indexOf('Ввод пароля отменен') !== -1) {\r\n\t\t\t\t\t\t\t\treason = 'PASSWORD_ENTRY_CANCELED'\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconsole.log('error', r)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tconsole.log('error', e)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\t\t\tmessage: 'Запустите модуль E-Imzo для корректной работы сайта'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\n\r\nconst CAPIWS = window.CAPIWS\r\n\r\nexport function signData(payload: string, keyId: string) {\r\n\treturn async (dispatch: RootDispatch, getState: () => RootReducer) => {\r\n\t\ttry {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tCAPIWS.callFunction(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tplugin: 'pkcs7',\r\n\t\t\t\t\t\tname: 'create_pkcs7',\r\n\t\t\t\t\t\targuments: [Buffer.from(payload).toString('base64'), keyId, 'no']\r\n\t\t\t\t\t},\r\n\t\t\t\t\tasync (event: any, data: any) => {\r\n\t\t\t\t\t\tif (data.success) {\r\n\t\t\t\t\t\t\tapi\r\n\t\t\t\t\t\t\t\t.getTimeStamp({ pkcs7_64: data.pkcs7_64 })\r\n\t\t\t\t\t\t\t\t.then(response => {\r\n\t\t\t\t\t\t\t\t\tif (response.status === 200) {\r\n\t\t\t\t\t\t\t\t\t\tif (response.data.success) {\r\n\t\t\t\t\t\t\t\t\t\t\tconst pkcs7tst = response.data.pkcs7_64\r\n\t\t\t\t\t\t\t\t\t\t\tbuildSuccess(resolve, pkcs7tst)\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\tconsole.log('error', response.data.reason)\r\n\t\t\t\t\t\t\t\t\t\t\thandleError({ response: false, errMsg: response.data.reason }, dispatch, reject)\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.catch(error => {\r\n\t\t\t\t\t\t\t\t\thandleError(error, dispatch, reject)\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (data.reason == 'Ключ по идентификатору не найден') {\r\n\t\t\t\t\t\t\t\tconst serialNumbers = getState().eimzoReducer.serialNumbers\r\n\t\t\t\t\t\t\t\tconst allProfiles = getState().authReducer.profile\r\n\r\n\t\t\t\t\t\t\t\tconst currentProfile = allProfiles[allProfiles.length - 1]\r\n\t\t\t\t\t\t\t\tconst serialNumber = currentProfile.user?.serialNumber?.toUpperCase()\r\n\r\n\t\t\t\t\t\t\t\tif (serialNumber) {\r\n\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\tconst newKeyId = await dispatch(loadKey(serialNumber, serialNumbers))\r\n\t\t\t\t\t\t\t\t\t\tconst signedData = await dispatch(signData(payload, newKeyId))\r\n\r\n\t\t\t\t\t\t\t\t\t\tresolve(signedData)\r\n\t\t\t\t\t\t\t\t\t\tdispatch(AuthSlice.actions.setNewKeyId({ keyId, newKeyId }))\r\n\t\t\t\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\t\t\t\tconsole.error('Ошибка при загрузке ключа:', error)\r\n\t\t\t\t\t\t\t\t\t\treject(error)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else if (data.reason.indexOf('BadPaddingException') !== -1) {\r\n\t\t\t\t\t\t\t\tdata.reason = 'WRONG_PASSWORD'\r\n\t\t\t\t\t\t\t\thandleError({ response: false, errMsg: data.reason }, dispatch, reject)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\tconsole.log('error', e)\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\t\t\tmessage: 'Запустите модуль E-Imzo для подписания документа'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function appendSign(payload: any, keyId: any) {\r\n\treturn async (dispatch: RootDispatch) => {\r\n\t\ttry {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\r\n\t\t\tconst documentData = (await dispatch(getAttachedInfo(payload, false))) as string\r\n\t\t\tconst pkcs7Doc2 = await dispatch(signData(documentData, keyId))\r\n\t\t\tconst joinedDocuments = `${payload}|${pkcs7Doc2}`\r\n\r\n\t\t\tconst response = await api.getJoinSign({ pkcs7_64: joinedDocuments })\r\n\t\t\tif (response.status === 200) {\r\n\t\t\t\tconst { success, pkcs7_64, reason } = response.data\r\n\t\t\t\tif (success) {\r\n\t\t\t\t\treturn pkcs7_64\r\n\t\t\t\t} else {\r\n\t\t\t\t\thandleError({ response: false, errMsg: reason }, dispatch)\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\thandleError({ response: false, errMsg: response.data.reason }, dispatch)\r\n\t\t\t}\r\n\t\t} finally {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function getAttachedInfo(payload: any, json: boolean) {\r\n\treturn async (dispatch: RootDispatch) => {\r\n\t\ttry {\r\n\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\tCAPIWS.callFunction(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tplugin: 'pkcs7',\r\n\t\t\t\t\t\tname: 'get_pkcs7_attached_info',\r\n\t\t\t\t\t\targuments: [payload, '']\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(event: any, data: any) => {\r\n\t\t\t\t\t\tif (data) {\r\n\t\t\t\t\t\t\tconst parsedDocument = Buffer.from(data.pkcs7Info.documentBase64, 'base64').toString('utf-8')\r\n\t\t\t\t\t\t\tif (json) {\r\n\t\t\t\t\t\t\t\tresolve(JSON.parse(parsedDocument))\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tresolve(parsedDocument)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t(e: any) => {\r\n\t\t\t\t\t\tconsole.log('error', e)\r\n\t\t\t\t\t\thandleError({ response: false, errMsg: errImzo }, dispatch, reject)\r\n\t\t\t\t\t\tthrow new Error()\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t}\r\n\t}\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport SimpleBarReact from 'simplebar-react';\r\n// material\r\nimport { alpha, styled } from '@mui/material/styles';\r\nimport { Box } from '@mui/material';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst RootStyle = styled('div')({\r\n flexGrow: 1,\r\n height: '100%',\r\n overflow: 'hidden'\r\n});\r\n\r\nconst SimpleBarStyle = styled(SimpleBarReact)(({ theme }) => ({\r\n maxHeight: '100%',\r\n '& .simplebar-scrollbar': {\r\n '&:before': {\r\n backgroundColor: alpha(theme.palette.grey[600], 0.48)\r\n },\r\n '&.simplebar-visible:before': {\r\n opacity: 1\r\n }\r\n },\r\n '& .simplebar-track.simplebar-vertical': {\r\n width: 10\r\n },\r\n '& .simplebar-track.simplebar-horizontal .simplebar-scrollbar': {\r\n height: 6\r\n },\r\n '& .simplebar-mask': {\r\n zIndex: 'inherit'\r\n }\r\n}));\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nScrollbar.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n sx: PropTypes.object\r\n};\r\n\r\nexport default function Scrollbar({ children, sx, ...other }) {\r\n const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n );\r\n\r\n if (isMobile) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n","import { Autocomplete, TextField } from '@mui/material'\r\nimport React from 'react'\r\nimport { Control, Controller, FieldPath, UseFormSetValue } from 'react-hook-form'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IDocsType } from '../../models'\r\nimport {\r\n\tIDistrict,\r\n\tuseGetDistrictsQuery,\r\n\tuseGetWaybillLocalDistrictsQuery\r\n} from '../../redux/actions/AdminBanksActions'\r\n\r\ntype IDistrictAutoComplete = {\r\n\tcontrol: Control\r\n\tsetValue: UseFormSetValue\r\n\tname?: FieldPath\r\n\tindex?: 'seller' | 'buyer'\r\n\tself?: boolean\r\n\tsuffix?: 'districtid' | 'districtcode'\r\n\tregionid?: string\r\n}\r\n\r\nconst DistrictAutoComplete = ({\r\n\tcontrol,\r\n\tsetValue,\r\n\tname,\r\n\tindex = 'seller',\r\n\tsuffix,\r\n\tself = false,\r\n\tregionid\r\n}: IDistrictAutoComplete) => {\r\n\tconst { data: allDistricts } = useGetDistrictsQuery('')\r\n\tconst { data: districts } = useGetWaybillLocalDistrictsQuery(regionid as string, { skip: !regionid })\r\n\tconst selector = `${name || index}.${suffix || 'districtid'}` as keyof IDocsType\r\n\r\n\tconst list = districts || allDistricts\r\n\r\n\tconst { t, i18n } = useTranslation()\r\n\r\n\tconst handleDistrictChange = (district: IDistrict | null) => {\r\n\t\tif (district) {\r\n\t\t\tif (self) {\r\n\t\t\t\tsetValue('districtId', district.districtId)\r\n\t\t\t} else {\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\t// prettier-ignore\r\n\t\t\t\tsuffix === 'districtcode' && setValue(`${name}.districtname`, i18n.language === 'ru' ? district.nameRu : district.nameUzCyrl)\r\n\t\t\t\tconst districtIdSelector = suffix === 'districtcode' ? district.districtCode : district.districtId\r\n\t\t\t\tsetValue(selector, districtIdSelector as never)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (self) {\r\n\t\t\t\tsetValue('districtId', '')\r\n\t\t\t} else {\r\n\t\t\t\tsetValue(selector, '' as never)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst returnOptionLabel = (option: IDistrict | null) => {\r\n\t\tlet label = ''\r\n\t\tif (!regionid) {\r\n\t\t\tlabel = `${suffix === 'districtcode' ? option?.districtCode : option?.districtId} - ${option?.nameRU}`\r\n\t\t} else {\r\n\t\t\t//@ts-ignore\r\n\t\t\tlabel = `${suffix === 'districtcode' ? option?.districtCode : option?.districtId} - ${option?.nameRu}`\r\n\t\t}\r\n\t\treturn label\r\n\t}\r\n\r\n\tconst returnValue = (value: string) => {\r\n\t\tif (Array.isArray(list)) {\r\n\t\t\treturn (\r\n\t\t\t\tlist.find(\r\n\t\t\t\t\tdistrict => `${suffix === 'districtcode' ? district.districtCode : district.districtId}` === `${value}`\r\n\t\t\t\t) || null\r\n\t\t\t)\r\n\t\t}\r\n\t\t// console.log('List of districts is not an array:', list)\r\n\t\treturn null\r\n\t}\r\n\r\n\treturn (\r\n\t\t (\r\n\t\t\t\t handleDistrictChange(data)}\r\n\t\t\t\t\tgetOptionLabel={option => returnOptionLabel(option)}\r\n\t\t\t\t\trenderInput={params => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport default React.memo(DistrictAutoComplete)\r\n","import { Autocomplete, TextField } from '@mui/material'\r\nimport React from 'react'\r\nimport { Control, Controller, FieldPath, UseFormSetValue } from 'react-hook-form'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { IDocsType } from '../../models'\r\nimport { IRegions, useGetRegionsQuery, useGetWaybillLocalRegionsQuery } from '../../redux/actions/AdminBanksActions'\r\n\r\ntype IRegionAutoComplete = {\r\n\tcontrol: Control\r\n\tsetValue: UseFormSetValue\r\n\tname?: FieldPath\r\n\tpostfix?: 'regionname'\r\n\tindex?: 'seller' | 'buyer'\r\n\tself?: boolean\r\n}\r\n\r\nconst RegionAutoComplete = ({\r\n\tcontrol,\r\n\tsetValue,\r\n\tindex = 'seller',\r\n\tname,\r\n\tpostfix,\r\n\tself = false\r\n}: IRegionAutoComplete) => {\r\n\tconst { data } = useGetRegionsQuery('')\r\n\tconst { data: waybillLocalData } = useGetWaybillLocalRegionsQuery('')\r\n\tconst regions = postfix ? waybillLocalData : data\r\n\tconst { t, i18n } = useTranslation()\r\n\tconst selector = `${name || index}.regionid` as keyof IDocsType\r\n\tconst regionName = postfix ? `${name}.regionname` : ('' as keyof IDocsType)\r\n\r\n\tconst handleRegionChange = (region: IRegions | null) => {\r\n\t\tif (region) {\r\n\t\t\tself ? setValue('regionId', region.regionId) : setValue(selector, region.regionId as never)\r\n\t\t\tif (postfix && regionName) {\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tsetValue(regionName, i18n.language === 'ru' ? region.nameRu : region.nameUzCyrl)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tself ? setValue('regionId', '') : setValue(selector, '' as never)\r\n\t\t\tif (postfix && regionName) {\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tsetValue(regionName, '')\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst returnOptionLabel = (option: IRegions | null) => {\r\n\t\t//@ts-ignore\r\n\t\treturn option ? `${option.regionId} - ${postfix ? option.nameRu : option.nameRU}` : ''\r\n\t}\r\n\r\n\tconst returnValue = (value: string | null) => {\r\n\t\treturn Array.isArray(regions) ? regions.find(region => `${region.regionId}` === `${value}`) : null\r\n\t}\r\n\r\n\treturn (\r\n\t\t (\r\n\t\t\t\t handleRegionChange(data)}\r\n\t\t\t\t\tgetOptionLabel={option => returnOptionLabel(option)}\r\n\t\t\t\t\trenderInput={params => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport default React.memo(RegionAutoComplete)\r\n","interface ISearch {\r\n io: string\r\n status: string\r\n type: string\r\n group: string | undefined | null\r\n tin: string\r\n number: number | string\r\n branch: string\r\n dateMin: string | undefined | null\r\n dateMax: string | undefined | null\r\n query: string | undefined | null\r\n fields: string | undefined | null\r\n}\r\n\r\nexport const buildPayloadPagination = (pagination: any, search: ISearch) => {\r\n const {sortBy, sortDesc, page, itemsPerPage} = pagination\r\n // Gets order\r\n const sorting = sortBy?.length ? sortBy[0] : ''\r\n const descending = sortDesc?.length && sortDesc[0] ? -1 : 1\r\n\r\n let query: any = {}\r\n\r\n // If search and fields are defined\r\n if (search) {\r\n query = {\r\n sort: sorting,\r\n order: descending,\r\n page,\r\n limit: itemsPerPage,\r\n filter: search.query,\r\n fields: search.fields\r\n }\r\n } else {\r\n // Pagination with no filters\r\n query = {\r\n sort: sorting,\r\n order: descending,\r\n page,\r\n limit: itemsPerPage\r\n }\r\n }\r\n if (search.io) query.io = search.io\r\n if (search.status) query.status = search.status\r\n if (search.type) query.type = search.type\r\n if (search.group) query.group = search.group\r\n if (search.tin) query.tin = search.tin\r\n if (search.number) query.number = search.number\r\n if (search.branch) query.branch = search.branch\r\n if (search.dateMin) query.dateMin = search.dateMin\r\n if (search.dateMax) query.dateMax = search.dateMax\r\n return query\r\n}\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { fetchAllMeasures, fetchMxikList } from '../actions/GoodsActions'\r\n\r\ninterface IMxikUnit {\r\n\tid: number\r\n\tname: string\r\n\tnameRu: string\r\n\tnameUz: string\r\n\tnameEng: string | null\r\n\tnameLatin: string\r\n\tunit: string\r\n\tcommonUnitsId: number\r\n\tdifference: string\r\n\tdescription: string\r\n}\r\n\r\nexport interface IMxikPackageName {\r\n\tcode: number\r\n\tmxikCode: string\r\n\tnameUz: string\r\n\tpackageType: string\r\n\tnameRu: string\r\n\tnameLat: string\r\n\tname?: string\r\n}\r\n\r\nexport interface IMeasure {\r\n\tmeasureId: string\r\n\tnameRU: string\r\n\tnameUZ: string\r\n}\r\n\r\nexport interface IOtherIcomeMxik {\r\n\tcode: string\r\n\tname: string\r\n}\r\n\r\nexport interface IMxikProduct {\r\n\tpkey: string\r\n\ttin: string\r\n\tmxikCode: string\r\n\tgroupName: string\r\n\tclassName: string\r\n\tpositionName: string\r\n\tsubPositionName: string\r\n\tbrandName: string | null\r\n\tattributeName: string | null\r\n\tinternationalCode: string | null\r\n\tunitCode: number\r\n\tunitName: string\r\n\tunitValue: string\r\n\tcommonUnitCode: number\r\n\tcommonUnitName: string\r\n\tunits: IMxikUnit[]\r\n\tpackageNames: IMxikPackageName[]\r\n\tusePackage: string\r\n\tmxikFullName: string\r\n}\r\n\r\ninterface IGoodsInitialState {\r\n\tlistOfMxikCodes: IMxikProduct[]\r\n\tlistOfAllMeasures: IMeasure[]\r\n}\r\n\r\nconst initialState: IGoodsInitialState = {\r\n\tlistOfMxikCodes: [],\r\n\tlistOfAllMeasures: []\r\n}\r\n\r\nexport const goodsSlice = createSlice({\r\n\tname: 'goods',\r\n\tinitialState,\r\n\treducers: {\r\n\t\taddMxik(state, action) {\r\n\t\t\tif (Array.isArray(action.payload)) {\r\n\t\t\t\tstate.listOfMxikCodes = [\r\n\t\t\t\t\t...state.listOfMxikCodes,\r\n\t\t\t\t\t...action.payload.filter(mxik => !state.listOfMxikCodes.some(existing => existing.mxikCode === mxik.mxikCode))\r\n\t\t\t\t]\r\n\t\t\t} else {\r\n\t\t\t\tif (!state.listOfMxikCodes.some(existing => existing.mxikCode === action.payload.mxikCode)) {\r\n\t\t\t\t\tstate.listOfMxikCodes = [...state.listOfMxikCodes, action.payload]\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tclearMxik(state) {\r\n\t\t\tstate.listOfMxikCodes = []\r\n\t\t}\r\n\t},\r\n\textraReducers: {\r\n\t\t[fetchMxikList.pending.type]: (state, action) => {\r\n\t\t\tconsole.log('waiting for mxiks list')\r\n\t\t},\r\n\t\t[fetchMxikList.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.listOfMxikCodes = Array.isArray(action.payload) ? action.payload : []\r\n\t\t},\r\n\t\t[fetchMxikList.rejected.type]: (state, action) => {\r\n\t\t\tconsole.log('rejection for mxiks list')\r\n\t\t},\r\n\t\t[fetchAllMeasures.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.listOfAllMeasures = action.payload\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default goodsSlice.reducer\r\n","import { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\r\nimport api from '../../api/profile'\r\nimport { fShortDashedDate } from '../../utils/formatTime'\r\nimport { RootReducer } from '../reducers/RootReducer'\r\n\r\nconst SERVER_ERROR = 'Ошибка на стороне сервера'\r\n\r\nexport const fetchProfile = createAsyncThunk('profile/fetchProfile', async (_, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getProfile()\r\n\t\tres.data.name = res.data.shortName\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchRentContracts = async (from: string, to: string) => {\r\n\ttry {\r\n\t\treturn await api.getRentContracts(from, to)\r\n\t} catch (error) {\r\n\t\tconsole.error(error)\r\n\t}\r\n}\r\n\r\nexport const fetchProfileByTin = async (tin: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getProfileByTin(tin)\r\n\t\tres.data.name = res.data.shortName\r\n\t\treturn res.data || {}\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchCurrentTurnOver = async (tin: string, year: string) => {\r\n\ttry {\r\n\t\treturn await api.getCurrentTurnOver(tin, year)\r\n\t} catch (error) {\r\n\t\tconsole.error(error)\r\n\t}\r\n}\r\n\r\nexport const fetchProfileByPinfl = async (pinfl: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getProfileByPinfl(pinfl)\r\n\t\tres.data.name = res.data.shortName\r\n\t\treturn res.data || {}\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchProfileType = async (tin: string, date: string) => {\r\n\ttry {\r\n\t\tlet newDate = date || fShortDashedDate(Date.now())\r\n\t\tif (!tin) {\r\n\t\t\tthrow new Error('Profile tin not provided')\r\n\t\t}\r\n\t\treturn await api.getProfileType(tin, newDate)\r\n\t} catch (e) {\r\n\t\tconsole.error(e)\r\n\t}\r\n}\r\n\r\nexport const fetchWareHouses = createAsyncThunk('profile/fetchWareHouses', async (tin: string, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getWarehouses(tin)\r\n\t\treturn res.status === 200 ? res.data : []\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchBankAccounts = createAsyncThunk('profile/fetchBankAccounts', async (tin: string, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getProfileBankAccounts(tin)\r\n\t\treturn res.status === 200 ? res.data : []\r\n\t} catch (error) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchProfileRights = createAsyncThunk('profile/fetchProfileRights', async (_, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getProfileRights()\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchMoneyLeft = createApi({\r\n\treducerPath: 'fetchMoneyLeft',\r\n\tbaseQuery: fetchBaseQuery({\r\n\t\tbaseUrl: process.env.REACT_APP_DEVELOPMENT_URL,\r\n\t\tprepareHeaders: (headers, { getState }) => {\r\n\t\t\tconst token = (getState() as RootReducer).authReducer.profile.at(-1)?.token || ''\r\n\t\t\theaders.set('Authorization', `Bearer ${token}`)\r\n\t\t\treturn headers\r\n\t\t}\r\n\t}),\r\n\tendpoints: builder => ({\r\n\t\tgetMoneyLeft: builder.query({\r\n\t\t\tquery: () => `/billings/balance/info`\r\n\t\t}),\r\n\t\tgetStatus: builder.query({\r\n\t\t\tquery: () => `/billings/blockuser/info`\r\n\t\t}),\r\n\t\tcheckPremiumAccount: builder.query({\r\n\t\t\tquery: () => `/premiumAccounts/check`\r\n\t\t})\r\n\t})\r\n})\r\n\r\nexport const { useGetMoneyLeftQuery, useGetStatusQuery, useCheckPremiumAccountQuery } = fetchMoneyLeft\r\n","import { replace } from 'lodash'\r\nimport numeral from 'numeral'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function fCurrency(number) {\r\n\treturn numeral(number).format(Number.isInteger(number) ? '0,0' : '0,0.00')\r\n}\r\n\r\nexport function fCurrencySpace(number) {\r\n\t// Форматируем число с помощью 'numeral'\r\n\tconst formattedNumber = numeral(number).format(Number.isInteger(number) ? '0,0' : '0,0.00')\r\n\r\n\t// Заменяем запятые на пробелы\r\n\treturn formattedNumber.replace(/,/g, ' ')\r\n}\r\n\r\nexport function fPercent(number) {\r\n\treturn numeral(number / 100).format('0.0%')\r\n}\r\n\r\nexport function fNumber(number) {\r\n\treturn numeral(number).format()\r\n}\r\n\r\nexport function fShortenNumber(number) {\r\n\treturn replace(numeral(number).format('0.00a'), '.00', '')\r\n}\r\n\r\nexport function fData(number) {\r\n\treturn numeral(number).format('0.0 b')\r\n}\r\n\r\nexport function fFloat(number, fixedVal) {\r\n\tif (!Number.isNaN(number)) {\r\n\t\treturn number == '0' ? 0 : Number(number).toFixed(fixedVal)\r\n\t} else {\r\n\t\treturn number\r\n\t}\r\n}\r\n","import axios from 'axios'\r\n\r\ninterface IWithoutVatCompany {\r\n\ttin?: string\r\n\tbuyerTin?: string\r\n\tcommitentTin?: string\r\n\tdate: string\r\n}\r\n\r\nexport interface ILgotaItem {\r\n\tlgotaId: string\r\n\tlgotaName: string\r\n\tbuyerTins?: string[]\r\n\tturnOver?: boolean\r\n}\r\n\r\ninterface LgotaEntityResponse {\r\n\t[key: string]: {\r\n\t\tsellerWithoutVat: ILgotaItem[]\r\n\t\tsellerZeroVat: ILgotaItem[]\r\n\t\tbuyerWithoutVat: ILgotaItem[]\r\n\t\tbuyerZeroVat: ILgotaItem[]\r\n\t\tsellerLgotas?: ILgotaItem[]\r\n\t\tbuyerLgotas?: ILgotaItem[]\r\n\t}\r\n}\r\n\r\ninterface LgotaTurnOverEntityResponse {\r\n\t[key: string]: ILgotaItem[]\r\n}\r\n\r\ninterface LgotaMxikResponse {\r\n\t[key: string]: {\r\n\t\tcompensationWork: boolean\r\n\t\tnotIncludedProduct: boolean\r\n\t\twithoutVat: ILgotaItem[]\r\n\t\tzeroVat: ILgotaItem[]\r\n\t}\r\n}\r\n\r\nexport default {\r\n\tasync getCheckNonConfirmatoryCompany(tin: string) {\r\n\t\treturn await axios.get(`/goods/utils/non-conformity-goods-companies?page=1&size=1&SearchText=${tin}`)\r\n\t},\r\n\tasync getCheckProduct(mxikCode: string, date: any) {\r\n\t\tdate = date ? date : Date.now()\r\n\t\tlet day = new Date(date)\r\n\t\tlet dd = day.getDate()\r\n\t\tlet mm = day.getMonth() + 1 //January is 0!\r\n\t\tlet yyyy = day.getFullYear()\r\n\r\n\t\t//@ts-ignore\r\n\t\tmm = String(mm).length === 1 ? `0${mm}` : mm\r\n\r\n\t\treturn await axios.post(`/goods/lgota/check-product?date=${yyyy}-${mm}-${dd}`, [mxikCode])\r\n\t},\r\n\tasync getWithoutVatCompany({ tin, buyerTin, commitentTin, date }: IWithoutVatCompany) {\r\n\t\treturn await axios.post(`/goods/lgota/check-company?date=${date}`, [\r\n\t\t\t`${tin || ''}`,\r\n\t\t\t`${buyerTin || ''}`,\r\n\t\t\t`${commitentTin || ''}`\r\n\t\t])\r\n\t},\r\n\tasync getLgotasForTurnOverCompany(tin: string, date: any) {\r\n\t\tdate = date ? date : Date.now()\r\n\t\tlet day = new Date(date)\r\n\t\tlet dd = day.getDate()\r\n\t\tlet mm = day.getMonth() + 1 //January is 0!\r\n\t\tlet yyyy = day.getFullYear()\r\n\r\n\t\t//@ts-ignore\r\n\t\tmm = String(mm).length === 1 ? `0${mm}` : mm\r\n\t\tconst response = await axios.post(\r\n\t\t\t`/goods/lgota/check-turnover-tax/?lang=ru&date=${yyyy}-${mm}-${dd}`,\r\n\t\t\t[tin]\r\n\t\t)\r\n\t\treturn response\r\n\t},\r\n\tasync getListOfAllMeasures() {\r\n\t\treturn await axios.get(`/measures/all`)\r\n\t},\r\n\tasync getListOfMxiks({ size = 1000, page = 0 }) {\r\n\t\treturn await axios.get(`/goods/product/list?size=${size}&page=${page}`)\r\n\t},\r\n\tasync getListOfMxiksByTin(tin: string) {\r\n\t\treturn await axios.get(`/goods/product/listbytin/${tin}/?size=1000`)\r\n\t},\r\n\tasync getMxikByTin(tin: string, code: string) {\r\n\t\tconst isAllNumerical = !!Number(code)\r\n\t\tconst searchParam = `?${isAllNumerical ? 'mxik' : 'stext'}=${code}`\r\n\t\treturn await axios.get(`/goods/product/listbytin/${tin}/${searchParam}`)\r\n\t},\r\n\tasync searchForMxik(data: string) {\r\n\t\treturn await axios.get(`/goods/mxik/search/?stext=${data}`)\r\n\t},\r\n\tasync searchForMxikByCode(codes: any) {\r\n\t\treturn await axios.post(`/goods/mxik/check/codes`, { codes })\r\n\t},\r\n\tasync searchOtherIncomeMxik(codes: any) {\r\n\t\treturn await axios.post(`/goods/mxik/list/package`, { codes })\r\n\t},\r\n\tasync getLotInfo(buyerTin: string, lotId: string) {\r\n\t\treturn await axios.get(`/documents/exchange/lotinfo/${buyerTin}/${lotId}`)\r\n\t},\r\n\tasync getLotType(buyerTin: string, lotId: string) {\r\n\t\treturn await axios.get(`/documents/exchange/lottype/${buyerTin}/${lotId}`)\r\n\t},\r\n\tasync signRequest() {\r\n\t\treturn await axios.post('/rouming/signrequest', 'q=1')\r\n\t},\r\n\tasync loginecp(pkcs7: string) {\r\n\t\treturn await axios.post('/rouming/loginecp', { pkcs7 })\r\n\t},\r\n\tasync verifyCode(code: any) {\r\n\t\treturn await axios.post('/profile/verifymobile', {\r\n\t\t\tmobileVerification: code\r\n\t\t})\r\n\t},\r\n\tasync getProviders() {\r\n\t\treturn await axios.get(`/profile/provider`)\r\n\t},\r\n\tasync setProviders(payload: any) {\r\n\t\treturn await axios.post(`/profile/provider`, payload)\r\n\t},\r\n\tasync getInvestmentObject(buyerTin: string) {\r\n\t\treturn await axios.get(`/documents/investmentobject/buyer/${buyerTin}`)\r\n\t},\r\n\tasync getVehicles(tin: string) {\r\n\t\treturn await axios.get(`/utils/waybills-v2/catalogs/transport?tinOrPinfl=${tin}`)\r\n\t},\r\n\tasync getInvestmentListById(sellerTin: string, buyerTin: string, objectId: string) {\r\n\t\treturn await axios.get(`/documents/investmentobject/list/${sellerTin}/${buyerTin}/?objectId=${objectId}`)\r\n\t},\r\n\tasync getInvestmentListByAccount(sellerTin: string, buyerTin: string, account: string) {\r\n\t\treturn await axios.get(`/documents/investmentobject/list/${sellerTin}/${buyerTin}/?buyerAccount=${account}`)\r\n\t},\r\n\tasync getContractById(id: string) {\r\n\t\treturn await axios.get(`/rouming/econtract/contract/getbyid/?lang=ru&id=${id}`)\r\n\t},\r\n\tasync getProductOriginByTin(tin: string) {\r\n\t\treturn await axios.get(`/profile/productoriginbytin/${tin}`)\r\n\t},\r\n\tasync getCheckMxikWithoutVat(code: string) {\r\n\t\treturn await axios.get(`/goods/lgota/without-vat-products/?page=0&size=10&TasnifCode=${code}`)\r\n\t},\r\n\tasync getCheckMxikZeroVat(code: string) {\r\n\t\treturn await axios.get(`/goods/lgota/zero-vat-products/?page=0&size=10&TasnifCode=${code}`)\r\n\t},\r\n\tasync catchErrorMessage(errorData: any, showSnackbar = false) {\r\n\t\tconst errorText = `${errorData}`\r\n\t\tawait axios.post(\r\n\t\t\t'/profile/errorSave',\r\n\t\t\t{\r\n\t\t\t\terror: errorText\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\theaders: { showSnackbar: showSnackbar.toString() }\r\n\t\t\t}\r\n\t\t)\r\n\t},\r\n\tasync searchRailwayDocId(data: string) {\r\n\t\treturn await axios.get(`/utils/waybills-v2/templates/integrations/railway-doc?railwayDocId=${data}`)\r\n\t},\r\n\tasync getMarks(payload: any) {\r\n\t\treturn await axios.post(`/goods/utils/checkmarkingcodes`, payload)\r\n\t}\r\n}\r\n","export interface UserEntities {\r\n\tname: string\r\n\ttin: string\r\n\ttype: string\r\n}\r\n\r\nexport interface IUserInfo {\r\n\t_id: string\r\n\tentities: UserEntities[]\r\n\tentityName: string\r\n\tname: string\r\n\trole: string\r\n\tserialNumber: string\r\n\ttin: string\r\n\ttype: string\r\n\tverification: string\r\n\tverified: boolean\r\n\tpersonalNum?: string\r\n}\r\n\r\nexport interface IProfile {\r\n\ttoken: string | null\r\n\ttokenExpiration: string | null\r\n\tkeyId?: string | null\r\n\ttin: string\r\n\tisItd: boolean\r\n\tname: string\r\n\tentityName?: string\r\n\tvat: boolean\r\n\tvatRegCode: string\r\n\toked: string\r\n\temail: string\r\n\tmobile: string\r\n\tphone: string\r\n\tregionId: string\r\n\tdistrictId: string\r\n\tbankId: string\r\n\taccount: string\r\n\tdirector: string\r\n\tdirectorPinfl: number\r\n\tfiztin?: string\r\n\taccountant: string\r\n\ttelegramId: string\r\n\taddress: string\r\n\titemReleased: string\r\n\tshortName: string\r\n\tpersonalNum: string\r\n\tbranches: any[]\r\n\tbudget: {\r\n\t\taccount: null | string\r\n\t\tisBudget: number\r\n\t\ttin: null | string\r\n\t}\r\n\tvatStatus: {\r\n\t\tactive: boolean\r\n\t\tcode: number | null\r\n\t\tisSafe: boolean\r\n\t\tsuspended: boolean\r\n\t\tvatPayer: boolean\r\n\t}\r\n\tisFizAuthToYurProfile?: boolean\r\n\tisAuthWithPassword?: boolean\r\n\tuser: IUserInfo | null\r\n}\r\n\r\nexport const profile: IProfile = {\r\n\ttoken: null,\r\n\ttokenExpiration: null,\r\n\ttin: '',\r\n\tisItd: false,\r\n\tname: '',\r\n\tvat: false,\r\n\tvatRegCode: '',\r\n\toked: '',\r\n\temail: '',\r\n\tmobile: '',\r\n\tphone: '',\r\n\tregionId: '',\r\n\tdistrictId: '',\r\n\tbankId: '',\r\n\taccount: '',\r\n\tdirector: '',\r\n\tdirectorPinfl: 0,\r\n\taccountant: '',\r\n\ttelegramId: '',\r\n\taddress: '',\r\n\titemReleased: '',\r\n\tshortName: '',\r\n\tpersonalNum: '',\r\n\tbranches: [],\r\n\tbudget: {\r\n\t\taccount: null,\r\n\t\tisBudget: 0,\r\n\t\ttin: null\r\n\t},\r\n\tvatStatus: {\r\n\t\tactive: false,\r\n\t\tcode: null,\r\n\t\tisSafe: false,\r\n\t\tsuspended: false,\r\n\t\tvatPayer: false\r\n\t},\r\n\tisFizAuthToYurProfile: false,\r\n\tisAuthWithPassword: false,\r\n\tuser: null\r\n}\r\n","import { useCallback } from 'react'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { useTranslation } from 'react-i18next'\r\n// redux\r\nimport { IProfile, profile } from '../models/profile'\r\nimport { useAppDispatch, useAppSelector } from './redux'\r\nimport { AuthSlice } from '../redux/reducers/AuthReducer'\r\nimport { filterSlice } from '../redux/reducers/FilterReducer'\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\n// utils\r\nimport { deleteAllCookies } from '../utils/utils'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst TIME_TO_CHECK_FOR_TOKEN_REFRESH = 24 * 60 * 60 * 1000\r\n\r\nexport function useProfileSetter() {\r\n\tconst dispatch = useAppDispatch()\r\n\tconst localProfile = useProfileGetter.useGetProfile()\r\n\tconst navigate = useNavigate()\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst setProfileHook = (profile: IProfile, noTokenUpdate?: boolean) => {\r\n\t\tconst profileCopy = Object.assign({}, profile)\r\n\r\n\t\tconst tokenExpiration = JSON.stringify(new Date().getTime() + TIME_TO_CHECK_FOR_TOKEN_REFRESH)\r\n\t\tprofileCopy.tokenExpiration = noTokenUpdate ? profileCopy.tokenExpiration : tokenExpiration\r\n\r\n\t\tdispatch(AuthSlice.actions.setProfile({ profile: profileCopy }))\r\n\t}\r\n\r\n\tconst updateProfileToken = (token: string, profile?: IProfile) => {\r\n\t\tif (!localProfile) return\r\n\r\n\t\tconst tokenExpiration = JSON.stringify(new Date().getTime() + TIME_TO_CHECK_FOR_TOKEN_REFRESH)\r\n\r\n\t\tdispatch(AuthSlice.actions.setProfile({ profile: { ...localProfile, ...profile, token, tokenExpiration } }))\r\n\t}\r\n\r\n\tconst logout = (profile?: IProfile) => {\r\n\t\tif (!localProfile) return\r\n\r\n\t\tdispatch(filterSlice.actions.resetFilter())\r\n\t\tdispatch(AuthSlice.actions.profileLogout(profile || localProfile))\r\n\t}\r\n\r\n\tconst profileExit = useCallback(() => {\r\n\t\tlogout()\r\n\t\tdispatch(filterSlice.actions.resetFilter())\r\n\t\tdeleteAllCookies()\r\n\t\tfor (let key in window.localStorage) {\r\n\t\t\tif (key !== 'themeLight') {\r\n\t\t\t\twindow.localStorage.removeItem(key)\r\n\t\t\t}\r\n\t\t}\r\n\t\twindow.sessionStorage.clear()\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'info',\r\n\t\t\t\tmessage: t('alertTitles.signOut'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t\tdispatch(AuthSlice.actions.clearAccountStatus())\r\n\t\tnavigate('/login')\r\n\t\twindow.location.reload()\r\n\t}, [])\r\n\r\n\treturn {\r\n\t\tsetProfileHook,\r\n\t\tupdateProfileToken,\r\n\t\tlogout,\r\n\t\tprofileExit\r\n\t}\r\n}\r\n\r\nexport const useProfileGetter = {\r\n\tuseGetProfile: (): IProfile => {\r\n\t\tconst profilesStore = useAppSelector(state => state.authReducer.profile)\r\n\t\tlet profileObj\r\n\t\tif (Array.isArray(profilesStore)) {\r\n\t\t\tprofileObj = profilesStore.at(-1) || profile\r\n\t\t} else {\r\n\t\t\tprofileObj = profile\r\n\t\t}\r\n\t\treturn profileObj\r\n\t},\r\n\tuseGetAllProfiles: (): IProfile[] => {\r\n\t\treturn useAppSelector(state => state.authReducer.profile)\r\n\t}\r\n}\r\n","import { appSlice } from '../redux/reducers/AppReducer'\r\nimport { isPast } from 'date-fns'\r\nimport { refreshToken } from '../redux/actions/AuthActions'\r\n\r\nexport const inputProps = (\r\n\tlabel,\r\n\tsize,\r\n\ttype,\r\n\treadOnly = false,\r\n\tmt = 0,\r\n\twidth,\r\n\tfullWidth = false,\r\n\tvalue = undefined\r\n) => {\r\n\tconst props = {\r\n\t\tlabel: label,\r\n\t\tsize: size,\r\n\t\ttype: type,\r\n\t\tInputProps: { readOnly: readOnly },\r\n\t\tsx: { mt: mt, width: width },\r\n\t\tfullWidth: fullWidth\r\n\t}\r\n\r\n\tif (value) {\r\n\t\tprops.value = value\r\n\t}\r\n\r\n\treturn props\r\n}\r\n\r\nexport const getContractEntityFields = (obj, isOwner) => {\r\n\treturn {\r\n\t\trole: obj.role || (isOwner ? 'Поставщик' : 'Покупатель'),\r\n\t\tbasis: obj.basis || 'Устава',\r\n\t\tjobtitle: obj.jobtitle || 'Директор'\r\n\t}\r\n}\r\n\r\nexport const checkErrorsBase = (errorMessage, t) => {\r\n\tconst errorTranslations = t('errors', { returnObjects: true })\r\n\tfor (const [startKey, explanation] of Object.entries(errorTranslations)) {\r\n\t\tif (errorMessage === startKey) {\r\n\t\t\treturn explanation\r\n\t\t}\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport const checkRoumingErrorsBase = (errorMessage, t) => {\r\n\tconst roumingErrorTranslations = t('roumingErrorStartWith', { returnObjects: true })\r\n\tfor (const [startKey, explanation] of Object.entries(roumingErrorTranslations)) {\r\n\t\tif (errorMessage === startKey || errorMessage?.startsWith(startKey)) {\r\n\t\t\treturn `Ошибка в РОУМИНГЕ: ${errorMessage}\\nПояснение: ${explanation}`\r\n\t\t}\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport const checkFormFacturaErrorsBase = (errorMessage, t) => {\r\n\tconst errorTranslations = t('formFacturaErrors', { returnObjects: true })\r\n\tconst keys = errorMessage.toLowerCase().split('.')\r\n\r\n\tlet rowNumber = null\r\n\tconst processedKeys = keys.map(key => {\r\n\t\tconst arrayMatch = key.match(/(.+)\\[(\\d+)]/)\r\n\t\tif (arrayMatch) {\r\n\t\t\trowNumber = parseInt(arrayMatch[2], 10) + 1\r\n\t\t\treturn arrayMatch[1]\r\n\t\t}\r\n\t\treturn key\r\n\t})\r\n\r\n\tlet current = errorTranslations\r\n\tfor (const key of processedKeys) {\r\n\t\tif (current && current[key] !== undefined) {\r\n\t\t\tcurrent = current[key]\r\n\t\t} else {\r\n\t\t\treturn null\r\n\t\t}\r\n\t}\r\n\r\n\treturn rowNumber !== null ? `Строка-${rowNumber} товара: ${current}` : current\r\n}\r\n\r\nexport const checkTTHErrorsBase = (errorMessage, t) => {\r\n\tconst errorTranslations = t('TTH_Errors', { returnObjects: true })\r\n\r\n\tfor (const [startKey, explanation] of Object.entries(errorTranslations)) {\r\n\t\tconst sanitizedErrorMessage = errorMessage.replace(/[:\\s]/g, '_').trim()\r\n\t\tconst sanitizedStartKey = startKey.replace(/[:\\s]/g, '_').trim()\r\n\r\n\t\tif (sanitizedErrorMessage === sanitizedStartKey) {\r\n\t\t\treturn explanation\r\n\t\t}\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport const checkFormWaybillLocalErrorsBase = (errorMessage, t) => {\r\n\tconst errorTranslations = t('formTTH_Errors', { returnObjects: true })\r\n\tconst keys = errorMessage.toLowerCase().split('.')\r\n\r\n\tlet rowNumber = null\r\n\tconst processedKeys = keys.map(key => {\r\n\t\tconst arrayMatch = key.match(/(.+)\\[(\\d+)]/)\r\n\t\tif (arrayMatch) {\r\n\t\t\trowNumber = parseInt(arrayMatch[2], 10) + 1\r\n\t\t\treturn arrayMatch[1]\r\n\t\t}\r\n\t\treturn key\r\n\t})\r\n\r\n\tlet current = errorTranslations\r\n\tfor (const key of processedKeys) {\r\n\t\tif (current && current[key] !== undefined) {\r\n\t\t\tcurrent = current[key]\r\n\t\t} else {\r\n\t\t\treturn null\r\n\t\t}\r\n\t}\r\n\r\n\treturn rowNumber !== null ? `Строка-${rowNumber} товара: ${current}` : current\r\n}\r\n\r\nexport const selectAllText = event => event.target.select()\r\n\r\nexport const deleteAllCookies = () => {\r\n\tconst cookies = document.cookie.split(';')\r\n\r\n\tfor (let i = 0; i < cookies.length; i++) {\r\n\t\tconst cookie = cookies[i]\r\n\t\tconst eqPos = cookie.indexOf('=')\r\n\t\tconst name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie\r\n\t\tdocument.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:00 GMT'\r\n\t}\r\n}\r\n\r\nexport const searchArr = (arr, val, field) => {\r\n\tfor (let i = 0; i < arr.length; i++) {\r\n\t\tif (arr[i][field] === val) {\r\n\t\t\treturn arr[i]\r\n\t\t}\r\n\t}\r\n\treturn null\r\n}\r\n\r\nexport const copyObject = data => {\r\n\treturn JSON.parse(JSON.stringify(data))\r\n}\r\n\r\nexport const isValidTinPinfl = tinPinfl => {\r\n\treturn [9, 14].includes(tinPinfl?.length)\r\n}\r\n\r\nexport const checkIfTokenNeedsRefresh = (updateProfileToken, token, tokenExpiration) => {\r\n\tif (![token, tokenExpiration].every(Boolean)) return\r\n\tif (isPast(new Date(JSON.parse(tokenExpiration)))) {\r\n\t\trefreshToken(updateProfileToken)\r\n\t}\r\n}\r\n\r\nexport const buildSuccess = (resolve, resolveParam) => {\r\n\tresolve(resolveParam)\r\n}\r\n\r\nexport const handleError = (error, dispatch, reject) => {\r\n\tif (error.response && error.response.status === 401) {\r\n\t\t// store.dispatch('userLogout')\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'error',\r\n\t\t\t\tshow: true,\r\n\t\t\t\tmessage: 'status === 401, Заново пройдите авторизацию'\r\n\t\t\t})\r\n\t\t)\r\n\t} else {\r\n\t\tlet errorMessage =\r\n\t\t\terror.errMsg === 'WRONG_PASSWORD' ? 'Неправильно введен пароль. Заново пройдите авторизацию.' : error.errMsg\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'error',\r\n\t\t\t\tshow: true,\r\n\t\t\t\tmessage: errorMessage\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\treject(error)\r\n}\r\n\r\nexport const isMainProduction = () => {\r\n\treturn window.location.hostname === 'doc.edocs.uz'\r\n}\r\n\r\nexport const toLowerCaseKeys = obj => {\r\n\tif (obj === null || typeof obj !== 'object') {\r\n\t\treturn obj // Если это не объект или null, возвращаем как есть\r\n\t}\r\n\r\n\tif (Array.isArray(obj)) {\r\n\t\treturn obj.map(toLowerCaseKeys) // Рекурсивно обрабатываем массивы\r\n\t}\r\n\r\n\treturn Object.keys(obj).reduce((acc, key) => {\r\n\t\tconst newKey = key.toLowerCase() // Преобразуем ключ в строчные буквы\r\n\t\tacc[newKey] = toLowerCaseKeys(obj[key]) // Рекурсивно обрабатываем значение\r\n\t\treturn acc\r\n\t}, {})\r\n}\r\n","import { useCallback, useState } from \"react\";\r\n\r\nconst useToggle = (initialValue: boolean) => {\r\n const [state, setState] = useState(initialValue);\r\n\r\n const on = useCallback(() => setState(true), [])\r\n const off = useCallback(() => setState(false), [])\r\n const toggle = useCallback(() => setState((prev) => !prev), [])\r\n\r\n return { state, on, off, toggle };\r\n};\r\n\r\nexport default useToggle","import { format, formatDistanceToNow, isToday, isThisYear } from 'date-fns'\r\nimport { ru } from 'date-fns/locale'\r\n// ----------------------------------------------------------------------\r\n\r\nexport function fDate(date) {\r\n\treturn format(new Date(date), 'dd LLLL yyyy', { locale: ru })\r\n}\r\n\r\nexport function fShortDate(date) {\r\n\treturn format(new Date(date), 'dd.MM.yyyy')\r\n}\r\n\r\nexport function fShortDashedDate(date) {\r\n\tif (date) {\r\n\t\tif (JSON.stringify(date) !== 'null') {\r\n\t\t\treturn format(new Date(date), 'yyyy-MM-dd')\r\n\t\t}\r\n\t} else {\r\n\t\treturn date\r\n\t}\r\n}\r\n\r\nexport function fShortDatePerDay(date) {\r\n\tconst parsedDate = new Date(date)\r\n\r\n\tif (isToday(parsedDate)) {\r\n\t\treturn format(parsedDate, 'HH:mm')\r\n\t}\r\n\r\n\tif (isThisYear(parsedDate)) {\r\n\t\treturn format(parsedDate, 'dd MMM', { locale: ru })\r\n\t}\r\n\r\n\treturn format(parsedDate, 'dd.MM.yyyy')\r\n}\r\n\r\nexport function fShortDottedDate(date) {\r\n\treturn format(new Date(date), 'yyyy.MM.dd')\r\n}\r\n\r\nexport function fDateTime(date) {\r\n\treturn format(new Date(date), 'HH:mm, dd-MM-yyyy', { locale: ru })\r\n}\r\n\r\nexport function fDateTimeSuffix(date) {\r\n\treturn format(new Date(date), 'dd/MM/yyyy hh:mm p')\r\n}\r\n\r\nexport function fToNow(date) {\r\n\treturn formatDistanceToNow(new Date(date), {\r\n\t\taddSuffix: true\r\n\t})\r\n}\r\n","import React, { memo } from 'react'\r\nimport { styled } from '@mui/material/styles'\r\nimport { AppBar, Box, IconButton, Skeleton, Stack, Toolbar, Typography } from '@mui/material'\r\nimport { useAppSelector } from '../../../hooks/redux'\r\nimport { Icon } from '@iconify/react'\r\nimport scale from '@iconify/icons-carbon/scale'\r\nimport ThemeToggler from '../ThemeToggler'\r\nimport LanguagePopover from '../LanguagePopover'\r\nimport AccountPopover from '../AccountPopover'\r\n\r\n// @ts-ignore\r\nconst RootStyle = styled(AppBar)(({ theme, open }) => ({\r\n\t//@ts-ignore\r\n\tbackgroundColor: theme.palette.background.custom,\r\n\twidth: `calc(100vw - ${open ? '280px' : theme.spacing(7)})`,\r\n\theight: 51\r\n}))\r\n\r\nconst ToolbarStyle = styled(Toolbar)(({ theme }) => ({\r\n\tminHeight: 51,\r\n\t[theme.breakpoints.up('lg')]: {\r\n\t\tminHeight: 51,\r\n\t\tpadding: theme.spacing(0, 5)\r\n\t}\r\n}))\r\n\r\nconst NavbarSkeleton = () => {\r\n\tconst open = useAppSelector(state => state.appReducer.showSidebar)\r\n\r\n\treturn (\r\n\t\t// @ts-ignore\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(NavbarSkeleton)\r\n","import { memo } from 'react'\r\nimport { useAppSelector } from '../../../hooks/redux'\r\nimport { styled, useTheme } from '@mui/material/styles'\r\nimport Scrollbar from '../../../components/Scrollbar'\r\nimport { Drawer, List, Skeleton, Stack } from '@mui/material'\r\n\r\n//@ts-ignore\r\nconst RootStyle = styled(Drawer, {\r\n\tshouldForwardProp: prop => prop !== 'open'\r\n})(({ theme, open }) => ({\r\n\twidth: open ? 280 : theme.spacing(7),\r\n\tflexShrink: 0,\r\n\twhiteSpace: 'nowrap',\r\n\tboxSizing: 'border-box'\r\n}))\r\n\r\nconst CustomScrollbar = styled(Scrollbar)(({ theme }) => ({\r\n\t//@ts-ignore\r\n\tbackground: theme.palette.background.custom\r\n}))\r\nconst CustomList = styled(List)(({ theme }) => ({\r\n\t//@ts-ignore\r\n\tbackground: theme.palette.background.custom\r\n}))\r\n\r\nconst SidebarSkeleton = () => {\r\n\tconst open = useAppSelector(state => state.appReducer.showSidebar)\r\n\tconst theme = useTheme()\r\n\r\n\treturn (\r\n\t\t//@ts-ignore\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{Array.from({ length: 11 }).map((i, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(SidebarSkeleton)\r\n","import React, { useState, lazy } from 'react'\r\nimport { Outlet } from 'react-router-dom'\r\n// material\r\nimport NavbarSkeleton from './skeletons/NavbarSkeleton'\r\nimport SidebarSkeleton from './skeletons/SidebarSkeleton'\r\nimport { RootStyle, MainStyle } from './DashboardStyles'\r\n// components\r\nconst DashboardNavbar = lazy(() => import('./DashboardNavbar'))\r\nconst DashboardSidebar = lazy(() => import('./DashboardSidebar'))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst DashboardLayout = () => {\r\n\tconst [open, setOpen] = useState(false)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t}>\r\n\t\t\t\t setOpen(false)} />\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(DashboardLayout)\r\n","import { Outlet } from \"react-router-dom\";\r\n// material\r\nimport { styled } from \"@mui/material/styles\";\r\n// components\r\nimport { useEffect } from \"react\";\r\nimport { installApiKeys } from \"../redux/actions/EimzoActions\";\r\nimport { useAppDispatch } from \"../hooks/redux\";\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function LogoOnlyLayout() {\r\n const dispatch = useAppDispatch()\r\n useEffect(() => {\r\n dispatch(installApiKeys())\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n}\r\n","import PropTypes from 'prop-types';\r\nimport { Helmet } from 'react-helmet-async';\r\nimport { forwardRef } from 'react';\r\n// material\r\nimport { Box } from '@mui/material';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst Page = forwardRef(({ children, title = '', ...other }, ref) => (\r\n \r\n \r\n {title}\r\n \r\n {children}\r\n \r\n));\r\n\r\nPage.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n title: PropTypes.string\r\n};\r\n\r\nexport default Page;\r\n","import { Icon } from '@iconify/react'\r\nimport banned from '@iconify/icons-carbon/document-export'\r\n// material\r\nimport { alpha, styled } from '@mui/material/styles'\r\nimport { Card, Typography } from '@mui/material'\r\n// utils\r\nimport { fShortenNumber } from '../../../utils/formatNumber'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React from 'react'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst RootStyle = styled(Card)(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\tboxShadow: 'none',\r\n\ttextAlign: 'center',\r\n\tpadding: theme.spacing(5, 0),\r\n\tcolor: theme.palette.error.darker,\r\n\tbackgroundColor: theme.palette.error.lighter,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t\tfontSize: '0.875rem',\r\n\t\theight: '152px'\r\n\t}\r\n}))\r\n\r\nconst IconWrapperStyle = styled('div')(({ theme }) => ({\r\n\tmargin: 'auto',\r\n\tdisplay: 'flex',\r\n\tborderRadius: '50%',\r\n\talignItems: 'center',\r\n\twidth: theme.spacing(8),\r\n\theight: theme.spacing(8),\r\n\tjustifyContent: 'center',\r\n\tmarginBottom: theme.spacing(3),\r\n\tcolor: theme.palette.error.dark,\r\n\tbackgroundImage: `linear-gradient(135deg, ${alpha(theme.palette.error.dark, 0)} 0%, ${alpha(\r\n\t\ttheme.palette.error.dark,\r\n\t\t0.24\r\n\t)} 100%)`,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\twidth: theme.spacing(6),\r\n\t\theight: theme.spacing(2)\r\n\t}\r\n}))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst AppBannedDocs = ({ count }) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{fShortenNumber(count)}\r\n\t\t\t\r\n\t\t\t\t{t('DOC_STATUS.waiting_partner')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(AppBannedDocs)\r\n","import { Icon } from '@iconify/react'\r\nimport rejected from '@iconify/icons-carbon/rule-draft'\r\n// material\r\nimport { alpha, styled } from '@mui/material/styles'\r\nimport { Card, Typography } from '@mui/material'\r\n// utils\r\nimport { fShortenNumber } from '../../../utils/formatNumber'\r\nimport React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst RootStyle = styled(Card)(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\tboxShadow: 'none',\r\n\ttextAlign: 'center',\r\n\tpadding: theme.spacing(5, 0),\r\n\tcolor: theme.palette.warning.darker,\r\n\tbackgroundColor: theme.palette.warning.lighter,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t\tfontSize: '0.875rem',\r\n\t\theight: '152px'\r\n\t}\r\n}))\r\n\r\nconst IconWrapperStyle = styled('div')(({ theme }) => ({\r\n\tmargin: 'auto',\r\n\tdisplay: 'flex',\r\n\tborderRadius: '50%',\r\n\talignItems: 'center',\r\n\twidth: theme.spacing(8),\r\n\theight: theme.spacing(8),\r\n\tjustifyContent: 'center',\r\n\tmarginBottom: theme.spacing(3),\r\n\tcolor: theme.palette.warning.dark,\r\n\tbackgroundImage: `linear-gradient(135deg, ${alpha(theme.palette.warning.dark, 0)} 0%, ${alpha(\r\n\t\ttheme.palette.warning.dark,\r\n\t\t0.24\r\n\t)} 100%)`,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\twidth: theme.spacing(6),\r\n\t\theight: theme.spacing(2)\r\n\t}\r\n}))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst AppRejectedDocs = ({ count }) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{fShortenNumber(count)}\r\n\t\t\t\r\n\t\t\t\t{t('DOC_STATUS.waiting_send')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(AppRejectedDocs)\r\n","import { memo, useEffect, useRef } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Backdrop, Dialog, DialogContent, DialogContentText, Box, Button } from '@mui/material'\r\nimport { INews } from '../redux/actions/NewsActions'\r\n\r\nconst formatNewsText = (text: string) => {\r\n\treturn text\r\n\t\t.replace(/<[^>]*>(?)/g, '')\r\n\t\t.replace(/(https?:\\/\\/[^\\s]+)/g, '$1')\r\n}\r\n\r\ninterface INewsModal extends Partial {\r\n\topen: boolean\r\n\thandleClose: () => void\r\n}\r\n\r\nconst NewsModal = (props: INewsModal) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { open, handleClose, text, files } = props\r\n\tconst descriptionElementRef = useRef(null)\r\n\r\n\tuseEffect(() => {\r\n\t\tif (open) {\r\n\t\t\tconst { current: descriptionElement } = descriptionElementRef\r\n\t\t\tif (descriptionElement !== null) {\r\n\t\t\t\tdescriptionElement.focus()\r\n\t\t\t}\r\n\t\t}\r\n\t}, [open])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('common.close')}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{!!files?.length && (\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(NewsModal)","export const NEWS = [\r\n\t{\r\n\t\ttitle: 'Внимание! Изменения при формировании ЭСФ.',\r\n\t\tdescription:\r\n\t\t\t'С 01.06.2023 года в системе электронных ЭСФ произошли изменения со стороны ГНК. Теперь необходимо указывать \"Цель реализации\" и \"Категория поставщика\" данной электронной счёт-фактуры. Все изменения на сервисе уже учтены, в конфигурации 1С: FIDES изменения в скором времени будут учтены с выходом нового обновления',\r\n\t\tpostedAt: Date.now()\r\n\t},\r\n\t{\r\n\t\ttitle: 'Внимание пользователям!',\r\n\t\tdescription: `Мы сердечно благодарим, что вы продолжаете пользоваться сервисом E-Docs. Наша команда сталкивается с бесконечными трудностями в поддержке сервиса в рабочем состоянии. Мы стараемся оказать помощь и поддержку каждому пользователю. На протяжении 3 лет наша команда работала не покладая рук для того, чтобы сервис оставался доступным в режиме 24/7. Мы сделали много улучшений, много новшеств, включая и те, которые нескончаемым потоком льются от оператора-роуминга. Мы стараемся, чтобы по праву назваться Первой линией поддержки пользователей. Мы не смогли бы сделать сервис лучше без вашего участия, без вашей поддержки, без вашего терпения. Спасибо, что вы с нами. \r\n\r\n Чтобы и в дальнейшем поддерживать сервис в актуальном и стабильном состоянии мы вынуждены увеличить стоимость отправки документы через наш сервис. Надеемся на ваше понимание. Мы всевозможными силами пытались предотвратить это, однако стоимость содержания сервиса за время работы возросла почти в два раза. \r\n В связи с этим с 01.12.2022 года мы изменяем тарифы.\r\n \r\n Тариф «FREE» - по-прежнему бесплатный для всех новых пользователей в течении первых 30 дней использования.\r\n Тариф «Подписчик ИТС» - 270 сум за один отправленный документ.\r\n Тариф «Базовый» - 300 сум за один отправленный документ.\r\n \r\n Также в доступе становиться приобретение пакетов на отправку документов (от 3000 документов), по сниженной цене, 250 сум за отправленный документ.`,\r\n\t\tpostedAt: Date.now()\r\n\t},\r\n\t{\r\n\t\ttitle: 'Новый сайт!',\r\n\t\tdescription:\r\n\t\t\t'Свершилось! Вы этого так долго ждали. Система электронного документооборота E-DOCS в новом интерфейсе! Для комфортной работы с системой предлагаем ознакомиться с видео инструкциями, которые доступны в нашем телеграм канале.',\r\n\t\tpostedAt: Date.now()\r\n\t}\r\n]\r\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/dist/query/react'\r\n\r\nexport interface INews {\r\n\tdate: string\r\n\tfiles: string[]\r\n\tlink: string\r\n\tmessageid: number\r\n\ttext: string\r\n\tshort_text: string\r\n}\r\n\r\nexport const newsApi = createApi({\r\n\treducerPath: 'newsApi',\r\n\tbaseQuery: fetchBaseQuery({\r\n\t\tbaseUrl: 'https://news.tildacdn.com/feed/telegrambot-1177297055-84bdf649432592bce/20/0/200'\r\n\t}),\r\n\tendpoints: builder => ({\r\n\t\tgetNews: builder.query({\r\n\t\t\tquery: () => ''\r\n\t\t})\r\n\t})\r\n})\r\n\r\nexport const { useGetNewsQuery } = newsApi\r\n","import React, { useEffect } from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { Icon } from '@iconify/react'\r\nimport { motion } from 'framer-motion'\r\nimport arrowIosForwardFill from '@iconify/icons-eva/arrow-ios-forward-fill'\r\n// material\r\nimport { Box, Card, Button, Divider, Typography, CardHeader, Paper, Grid } from '@mui/material'\r\n//\r\nimport { useCallback, useState } from 'react'\r\nimport NewsModal from '../../NewsModal'\r\nimport { fDate } from '../../../utils/formatTime'\r\nimport useToggle from '../../../hooks/useToggle'\r\nimport { NEWS } from '../../../data/news'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useGetNewsQuery } from '../../../redux/actions/NewsActions'\r\nimport TelegramIcon from '@mui/icons-material/Telegram'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nNewsItem.propTypes = {\r\n\tnews: PropTypes.object.isRequired\r\n}\r\n\r\nconst placeholderAnimation = {\r\n\thidden: { opacity: 0, scale: 0.8 },\r\n\tvisible: { opacity: 1, scale: 1, transition: { duration: 0.5 } }\r\n}\r\n\r\nconst formatNewsText = text => {\r\n\treturn text\r\n\t\t.replace(/<[^>]*>(?)/g, '')\r\n\t\t.replace(/(https?:\\/\\/[^\\s]+)/g, '$1')\r\n}\r\n\r\nfunction NewsItem({ news, newsClick }) {\r\n\tconst { short_text, files, date } = news\r\n\r\n\treturn (\r\n\t\t newsClick(news)}\r\n\t\t\tsx={{\r\n\t\t\t\tp: 2,\r\n\t\t\t\tdisplay: 'flex',\r\n\t\t\t\tflexDirection: 'column',\r\n\t\t\t\tcursor: 'pointer',\r\n\t\t\t\twidth: '100%',\r\n\t\t\t\theight: '100%',\r\n\t\t\t\tbackgroundColor: 'background.paper',\r\n\t\t\t\t'&:hover': { backgroundColor: 'action.hover' },\r\n\t\t\t\tborderRadius: 2\r\n\t\t\t}}\r\n\t\t>\r\n\t\t\t{files.length > 0 ? (\r\n\t\t\t\t\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tНовости сервиса\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{fDate(new Date(date))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nNewsItem.propTypes = {\r\n\tnews: PropTypes.object.isRequired\r\n}\r\n\r\nexport default function AppNewsUpdate() {\r\n\tconst open = useToggle(false)\r\n\tconst { t } = useTranslation()\r\n\tconst [modalContent, setModalContent] = useState(null)\r\n\tconst [visibleNewsCount, setVisibleNewsCount] = useState(4)\r\n\r\n\tconst { data: fetchedNews, isFetching, isSuccess } = useGetNewsQuery('')\r\n\r\n\tconst handleNewsClick = useCallback(news => {\r\n\t\tsetModalContent(news)\r\n\t\topen.on()\r\n\t}, [])\r\n\r\n\tconst handleTelegramLinkClick = () => {\r\n\t\twindow.open('https://t.me/edocs_info', '_blank') // Переход на указанную ссылку\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst lastShowedNewsId = Number(localStorage.getItem('lastShowedNewsId'))\r\n\r\n\t\tif (isSuccess && fetchedNews?.messages?.length > 0) {\r\n\t\t\tconst latestNewsWithImage = fetchedNews.messages.find(newsItem => newsItem.files.length > 0)\r\n\t\t\tconst latestNewsWithImageId = latestNewsWithImage.messageid\r\n\r\n\t\t\tconst latestNewsDate = new Date(Date.parse(latestNewsWithImage.date))\r\n\t\t\tconst twoDaysAgo = new Date(Date.now() - 2 * 864e5)\r\n\r\n\t\t\tif (lastShowedNewsId !== latestNewsWithImageId && latestNewsDate > twoDaysAgo) {\r\n\t\t\t\tsetModalContent(latestNewsWithImage)\r\n\t\t\t\topen.on()\r\n\t\t\t\tlocalStorage.setItem('lastShowedNewsId', latestNewsWithImageId)\r\n\t\t\t}\r\n\t\t}\r\n\t}, [isSuccess, fetchedNews])\r\n\r\n\tconst handleLoadMore = () => {\r\n\t\tsetVisibleNewsCount(prevCount => Math.min(prevCount + 4, fetchedNews.messages.length))\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\t\t (e.currentTarget.style.textDecoration = 'underline')}\r\n\t\t\t\t\t\t\tonMouseOut={e => (e.currentTarget.style.textDecoration = 'none')}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('NEWS')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\tonClick={handleTelegramLinkClick}\r\n\t\t\t\tstyle={{\r\n\t\t\t\t\tcursor: 'pointer',\r\n\t\t\t\t\tdisplay: 'inline-block',\r\n\t\t\t\t\tpaddingBottom: '24px'\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\r\n\t\t\t\r\n\r\n\t\t\t open.off()} />\r\n\r\n\t\t\t\r\n\t\t\t\t{isSuccess && !isFetching && fetchedNews?.messages\r\n\t\t\t\t\t? fetchedNews.messages\r\n\t\t\t\t\t\t\t//.filter(newsItem => newsItem.files && newsItem.files.length > 0)\r\n\t\t\t\t\t\t\t.slice(0, visibleNewsCount)\r\n\t\t\t\t\t\t\t.map(newsItem => (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t: null}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t= fetchedNews?.messages?.length}\r\n\t\t\t\t\tendIcon={}\r\n\t\t\t\t\tonClick={handleLoadMore}\r\n\t\t\t\t>\r\n\t\t\t\t\t{t('common.more')}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import { Icon } from '@iconify/react'\r\nimport rightTopArrow from '@iconify/icons-carbon/document-signed'\r\n// material\r\nimport { alpha, styled } from '@mui/material/styles'\r\nimport { Card, Typography } from '@mui/material'\r\n// utils\r\nimport { fShortenNumber } from '../../../utils/formatNumber'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React from 'react'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst RootStyle = styled(Card)(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\tboxShadow: 'none',\r\n\ttextAlign: 'center',\r\n\tpadding: theme.spacing(5, 0),\r\n\tcolor: theme.palette.primary.darker,\r\n\tbackgroundColor: theme.palette.primary.lighter,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t\tfontSize: '0.875rem',\r\n\t\theight: '152px'\r\n\t}\r\n}))\r\n\r\nconst IconWrapperStyle = styled('div')(({ theme }) => ({\r\n\tmargin: 'auto',\r\n\tdisplay: 'flex',\r\n\tborderRadius: '50%',\r\n\talignItems: 'center',\r\n\twidth: theme.spacing(8),\r\n\theight: theme.spacing(8),\r\n\tjustifyContent: 'center',\r\n\tmarginBottom: theme.spacing(3),\r\n\tcolor: theme.palette.primary.dark,\r\n\tbackgroundImage: `linear-gradient(135deg, ${alpha(theme.palette.primary.dark, 0)} 0%, ${alpha(\r\n\t\ttheme.palette.primary.dark,\r\n\t\t0.24\r\n\t)} 100%)`,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\twidth: theme.spacing(6),\r\n\t\theight: theme.spacing(2)\r\n\t}\r\n}))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst AppSignedDocs = ({ count }) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{fShortenNumber(count)}\r\n\t\t\t\r\n\t\t\t\t{t('DOC_STATUS.signed')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(AppSignedDocs)\r\n","import { Icon } from '@iconify/react'\r\nimport clockFilled from '@iconify/icons-carbon/time'\r\n// material\r\nimport { alpha, styled } from '@mui/material/styles'\r\nimport { Card, Typography } from '@mui/material'\r\n// utils\r\nimport { fShortenNumber } from '../../../utils/formatNumber'\r\nimport { useTranslation } from 'react-i18next'\r\nimport React from 'react'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst RootStyle = styled(Card)(({ theme }) => ({\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\tboxShadow: 'none',\r\n\ttextAlign: 'center',\r\n\tpadding: theme.spacing(5, 0),\r\n\tcolor: theme.palette.info.darker,\r\n\tbackgroundColor: theme.palette.info.lighter,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\tpadding: theme.spacing(2, 0),\r\n\t\tfontSize: '0.875rem',\r\n\t\theight: '152px'\r\n\t}\r\n}))\r\n\r\nconst IconWrapperStyle = styled('div')(({ theme }) => ({\r\n\tmargin: 'auto',\r\n\tdisplay: 'flex',\r\n\tborderRadius: '50%',\r\n\talignItems: 'center',\r\n\twidth: theme.spacing(8),\r\n\theight: theme.spacing(8),\r\n\tjustifyContent: 'center',\r\n\tmarginBottom: theme.spacing(3),\r\n\tcolor: theme.palette.info.dark,\r\n\tbackgroundImage: `linear-gradient(135deg, ${alpha(theme.palette.info.dark, 0)} 0%, ${alpha(\r\n\t\ttheme.palette.info.dark,\r\n\t\t0.24\r\n\t)} 100%)`,\r\n\t[theme.breakpoints.down('sm')]: {\r\n\t\twidth: theme.spacing(6),\r\n\t\theight: theme.spacing(2)\r\n\t}\r\n}))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst AppWaitingDocs = ({ count }) => {\r\n\tconst { t } = useTranslation()\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t{fShortenNumber(count)}\r\n\t\t\t\r\n\t\t\t\t{t('DOC_STATUS.waiting_you')}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(AppWaitingDocs)\r\n","import { Grid, Container } from '@mui/material'\r\nimport Page from '../components/Page'\r\nimport { useAppSelector } from '../hooks/redux'\r\nimport { Link } from 'react-router-dom'\r\nimport { motion } from 'framer-motion'\r\nimport { AppNewUsers, AppBugReports, AppItemOrders, AppNewsUpdate, AppWeeklySales } from '../components/_dashboard/app'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst DashboardApp = () => {\r\n\tconst { signed, sended } = useAppSelector(state => state.documentsReducer.docCounts.in)\r\n\tconst { drafts, sended: outSended } = useAppSelector(state => state.documentsReducer.docCounts.out)\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default DashboardApp\r\n","import { appSlice } from '../redux/reducers/AppReducer'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useAppDispatch } from './redux'\r\n\r\nexport function useCopy() {\r\n\tconst { t } = useTranslation()\r\n\tconst dispatch = useAppDispatch()\r\n\r\n\tconst copyToClipboard = (text: string) => {\r\n\t\tif (navigator.clipboard && navigator.clipboard.writeText) {\r\n\t\t\t// Используем Clipboard API\r\n\t\t\tnavigator.clipboard\r\n\t\t\t\t.writeText(text)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.clipboard') + ': ' + text\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t})\r\n\t\t\t\t.catch(err => {\r\n\t\t\t\t\tconsole.error('Ошибка при копировании через Clipboard API: ', err)\r\n\t\t\t\t})\r\n\t\t} else {\r\n\t\t\t// Резервный вариант через textarea\r\n\t\t\tconst textarea = document.createElement('textarea')\r\n\t\t\ttextarea.value = text\r\n\t\t\tdocument.body.appendChild(textarea)\r\n\t\t\ttextarea.select()\r\n\t\t\ttry {\r\n\t\t\t\tdocument.execCommand('copy')\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\tmessage: t('alertTitles.clipboard') + ': ' + text\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t} catch (err) {\r\n\t\t\t\tconsole.error('Ошибка при копировании через execCommand: ', err)\r\n\t\t\t}\r\n\t\t\tdocument.body.removeChild(textarea)\r\n\t\t}\r\n\t}\r\n\r\n\treturn { copyToClipboard }\r\n}\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\r\n\r\ninterface DocumentState {\r\n\tprocessingRow: string\r\n\tprocessingRowsError: Record\r\n\tprocessingRowsSuccess: Record\r\n\tprocessingRowsErrorDialog: any\r\n}\r\n\r\nconst initialState: DocumentState = {\r\n\tprocessingRow: '',\r\n\tprocessingRowsError: {},\r\n\tprocessingRowsSuccess: {},\r\n\tprocessingRowsErrorDialog: {}\r\n}\r\n\r\nexport const groupActionsSlice = createSlice({\r\n\tname: 'documents',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tsetProcessingRow: (state, action: PayloadAction) => {\r\n\t\t\tstate.processingRow = action.payload\r\n\t\t},\r\n\t\tsetProcessingRowsError: (state, action: PayloadAction>) => {\r\n\t\t\tstate.processingRowsError = { ...state.processingRowsError, ...action.payload }\r\n\t\t},\r\n\t\tsetProcessingRowsSuccess: (state, action: PayloadAction>) => {\r\n\t\t\tstate.processingRowsSuccess = { ...state.processingRowsSuccess, ...action.payload }\r\n\t\t},\r\n\t\tsetProcessingRowsErrorDialog: (state, action: PayloadAction) => {\r\n\t\t\tstate.processingRowsErrorDialog = action.payload\r\n\t\t},\r\n\t\tclearProcessingRow: state => {\r\n\t\t\tstate.processingRow = ''\r\n\t\t},\r\n\t\tclearProcessingRowsErrorDialog: state => {\r\n\t\t\tstate.processingRowsErrorDialog = {}\r\n\t\t},\r\n\t\tclearAllProcessedRows: state => {\r\n\t\t\tstate.processingRow = ''\r\n\t\t\tstate.processingRowsSuccess = {}\r\n\t\t\tstate.processingRowsError = {}\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default groupActionsSlice.reducer\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Box, Button, Typography } from '@mui/material'\r\nimport { useAppDispatch } from '../../../hooks/redux'\r\nimport { useTheme } from '@mui/material/styles'\r\nimport Tooltip from '@mui/material/Tooltip'\r\nimport { Icon } from '@iconify/react'\r\nimport { fDateTime, fShortDate } from '../../../utils/formatTime'\r\nimport { filterSlice } from '../../../redux/reducers/FilterReducer'\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { useParams } from 'react-router-dom'\r\nimport { fCurrencySpace } from '../../../utils/formatNumber'\r\n\r\nexport const statusColors: any = {\r\n\t'1': 'grey', // Сохранён\r\n\t'7': 'blue', // Ожидает подписи получателя\r\n\t'9': 'red', // Отказано доверенным лицом\r\n\t'10': 'blue', // Ожидает подписи получателя\r\n\t'15': 'blue', // Ожидает подписи получателя\r\n\t'17': 'grey', // Отменён\r\n\t'20': 'red', // Отклонён со стороны получателя\r\n\t'30': 'green', // Подписан\r\n\t'40': 'red', // Аннулирован\r\n\t'110': 'blue', // Ожидает подписи (отв лицо)\r\n\t'120': 'gray', // Отменено\r\n\t'130': 'red', // Отказано (отв.лицом)\r\n\t'140': 'orange', // Принято (отв.лицом)\r\n\t'150': 'red', // Груз возвращен (отв.лицом)\r\n\t'160': 'blue', // Доставлено получателю\r\n\t'170': 'red', // Отказано (грузополучателем)\r\n\t'180': 'green', // Подтверждено (грузополучателем)\r\n\t'190': 'orange', // Груз возвращен (отв.лицом)\r\n\t'200': 'green', // Возвращено\r\n\t'998': 'grey', // Недействительный\r\n\t'999': 'red', // Аннулировано (НК)\r\n\tsigned: 'green', // Подписан\r\n\tsended: 'blue', // Ожидает подписи получателя\r\n\treceived: 'blue', // Ожидают вашей подписи\"\r\n\trejected: 'red', // Отклонен\r\n\tdrafts: 'grey', // Сохранён\r\n\tdeleted: 'grey', // Отменён\r\n\tearsed: 'grey' // Удалён (Корзина)\r\n}\r\n\r\nconst DetailPanel: React.FC<{ row: any }> = ({ row }) => {\r\n\tconst { io } = useParams()\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst {\r\n\t\t_id,\r\n\t\tstatus,\r\n\t\tstateId,\r\n\t\tupdatedAt,\r\n\t\tcontractNumber,\r\n\t\tcontractDate,\r\n\t\troumingId,\r\n\t\tdocNumber,\r\n\t\tdocDate,\r\n\t\ttype,\r\n\t\tsubType,\r\n\t\townerTin,\r\n\t\ttargetTins,\r\n\t\townerName,\r\n\t\textension,\r\n\t\tnotes\r\n\t} = row.original\r\n\r\n\tconst statusColor = statusColors[stateId || status] || 'grey'\r\n\tconst targetTinsLength = targetTins.length\r\n\tconst tinOrPinfl =\r\n\t\tio === 'out'\r\n\t\t\t? !!targetTinsLength && type === 'waybillLocal'\r\n\t\t\t\t? targetTins[targetTinsLength - 1].tin\r\n\t\t\t\t: targetTins[0]?.tin\r\n\t\t\t: ownerTin\r\n\tconst partnerName =\r\n\t\tio === 'out'\r\n\t\t\t? targetTinsLength && type === 'waybillLocal'\r\n\t\t\t\t? targetTins[targetTinsLength - 1].name\r\n\t\t\t\t: targetTins[0]?.name\r\n\t\t\t: ownerName\r\n\tconst tinOrPinflLabel = tinOrPinfl?.length === 9 ? t('TIN') : t('PINFL')\r\n\tconst contragent =\r\n\t\ttype === 'waybillLocal'\r\n\t\t\t? io === 'out'\r\n\t\t\t\t? `1) ${t('TTHFORM.consignee')}: `\r\n\t\t\t\t: `1) ${t('TTHFORM.consignor')}: `\r\n\t\t\t: '1) Контрагент:'\r\n\tconst responsiblePersonPINFL = targetTins[0]?.tin.length > 9 ? targetTins[0]?.tin : ''\r\n\tconst responsiblePersonName = targetTins[0]?.tin.length > 9 ? targetTins[0]?.name : ''\r\n\r\n\tconst contractText = contractNumber\r\n\t\t? `№ ${contractNumber} ${t('shortDate.from')} ${fShortDate(contractDate)} ${t('shortDate.year')}`\r\n\t\t: '--'\r\n\r\n\tconst setupDocTypeFilter = (docType: string) => {\r\n\t\tdispatch(filterSlice.actions.setupDocTypeFilter(docType))\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'info',\r\n\t\t\t\tmessage: t('alertTitles.filterAct'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tconst setupNumberDocumentFilter = (numberDocument: string) => {\r\n\t\tdispatch(filterSlice.actions.setupNumberFilter(numberDocument))\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'info',\r\n\t\t\t\tmessage: t('alertTitles.filterAct'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tconst setupTinFilter = (tin: string) => {\r\n\t\tdispatch(filterSlice.actions.setupTinFilter(tin))\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'info',\r\n\t\t\t\tmessage: t('alertTitles.filterAct'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{t('detailPanel.detailedData')}\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{contragent}\r\n\t\t\t\t\r\n\r\n\t\t\t\t{type === 'factura' && extension?.singlesidedtype ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('SINGLE_SIDED')}:\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{t(`SINGLE_SIDED_STATUS.${extension.singlesidedtype}`) || t('DOC_STATUS.statusUndefined')}\r\n\t\t\t\t\t\r\n\t\t\t\t) : targetTins?.length ? (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{tinOrPinflLabel} {tinOrPinfl}\r\n\t\t\t\t\t\t{', '}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{partnerName}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('SINGLE_SIDED')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{tinOrPinfl && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setupTinFilter(tinOrPinfl)}\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tpadding: 0.05,\r\n\t\t\t\t\t\t\t\tminWidth: 'auto',\r\n\t\t\t\t\t\t\t\tmargin: 0,\r\n\t\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\t\talignItems: 'center'\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t{type === 'waybillLocal' && (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t1.1) {t('TTHFORM.responsiblePerson')}:\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{targetTins[0]?.tin.length > 9 ? (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('PINFL')} {responsiblePersonPINFL}\r\n\t\t\t\t\t\t\t{', '}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{responsiblePersonName}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\tt('detailPanel.responsiblePersonInDocument')\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t\r\n\t\t\t\t2) {t('detailPanel.documentType')}:\r\n\t\t\t\t\r\n\t\t\t\t\t{t(`DOCUMENT_CATEGORIES.${type}`)}\r\n\t\t\t\t\t{type === 'universal' ? `(${subType})` : ''}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setupDocTypeFilter(type)}\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tpadding: 0.05,\r\n\t\t\t\t\t\t\tminWidth: 'auto',\r\n\t\t\t\t\t\t\tmargin: 0,\r\n\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\talignItems: 'center'\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t3) {t('detailPanel.documentNumber')}:\r\n\t\t\t\t\r\n\t\t\t\t\t№{' '}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{docNumber}\r\n\t\t\t\t\t{' '}\r\n\t\t\t\t\t{t('shortDate.from')} {fShortDate(docDate)}\r\n\t\t\t\t\t{t('shortDate.year')}\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t setupNumberDocumentFilter(docNumber)}\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tpadding: 0.05,\r\n\t\t\t\t\t\t\tminWidth: 'auto',\r\n\t\t\t\t\t\t\tmargin: 0,\r\n\t\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\t\talignItems: 'center'\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t4) {t('documentItem.CONTRACT')}:\r\n\t\t\t\t{contractText}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t5) {t('detailPanel.totalWidthVat')}:\r\n\t\t\t\t{fCurrencySpace(row.original.totalDocSum)}\r\n\t\t\t\t\r\n\t\t\t\t\t({t('detailPanel.price')}: {fCurrencySpace(row.original.totalSum)}, {t('VAT')}:{' '}\r\n\t\t\t\t\t{fCurrencySpace(row.original.totalVatSum)})\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t6) {t('detailPanel.updatedAt')}:\r\n\t\t\t\t\r\n\t\t\t\t\t{fDateTime(updatedAt)}\r\n\t\t\t\t\t{t('shortDate.year')}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t7) {t('detailPanel.status')} - {stateId ? stateId : `${t(`DOC_STATUS.${status}`)}`}:\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{stateId ? `${t(`DOC_STATUS.${stateId}`)}` : ''}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t8) {t('detailPanel.notes')}:\r\n\t\t\t\t{notes}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{notes ? 9 : 8}) {t('detailPanel._id')}\r\n\t\t\t\t\r\n\t\t\t\t{_id}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{notes ? 10 : 9}) {t('detailPanel.roumingId')}\r\n\t\t\t\t\r\n\t\t\t\t{roumingId}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(DetailPanel)\r\n","import React from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport PropTypes from 'prop-types'\r\n// redux\r\n// hooks\r\nimport { useProfileGetter } from '../../../hooks/useProfile'\r\n// material\r\nimport { Box, Typography, useMediaQuery } from '@mui/material'\r\nimport LoadingButton from '@mui/lab/LoadingButton'\r\nimport { useTheme } from '@mui/material/styles'\r\n// icons\r\nimport { Icon } from '@iconify/react'\r\nimport trash2Fill from '@iconify/icons-eva/trash-2-fill'\r\nimport signIcon from '@iconify/icons-eva/file-text-outline'\r\nimport refresh from '@iconify/icons-eva/refresh-fill'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nUserListToolbar.propTypes = {\r\n\tdocsLength: PropTypes.number,\r\n\tnumSelected: PropTypes.number,\r\n\tsetShowSignMessage: PropTypes.any,\r\n\tshowSignButton: PropTypes.bool,\r\n\tdocumentType: PropTypes.string,\r\n\tdeleteDocuments: PropTypes.any,\r\n\terase: PropTypes.any,\r\n\trefreshDocuments: PropTypes.any,\r\n\trefreshReceived: PropTypes.any,\r\n\tonClearSelection: PropTypes.any,\r\n\tdisabledState: PropTypes.bool\r\n}\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function UserListToolbar({\r\n\tdocsLength,\r\n\tnumSelected,\r\n\tsetShowSignMessage,\r\n\tshowSignButton,\r\n\tdocumentType,\r\n\tdeleteDocuments,\r\n\terase,\r\n\trefreshDocuments,\r\n\trefreshReceived,\r\n\tonClearSelection,\r\n\tdisabledState\r\n}) {\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst isSmallScreen = useMediaQuery(theme.breakpoints.down('lg'))\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\tconst isAuthWithPassword = !!profile.isAuthWithPassword\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('common.selected')} {numSelected}\r\n\t\t\t\t\t{t('common.selectedFrom')}\r\n\t\t\t\t\t{docsLength}\r\n\t\t\t\t\t{t('common.selectedFromDoc')}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('common.clear')}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{documentType === 'received' && (\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\tsx={{ mr: 2, height: '100%' }}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSmallScreen ? null : t('common.refresh')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{documentType === 'drafts' && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\tsx={{ mr: 2, height: '100%' }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{isSmallScreen ? null : t('common.refresh')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\tsx={{ mr: 2, height: '100%' }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{isSmallScreen ? null : t('common.delete')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{showSignButton && !isAuthWithPassword && (\r\n\t\t\t\t\t setShowSignMessage(true)}\r\n\t\t\t\t\t\tloading={disabledState}\r\n\t\t\t\t\t\tloadingPosition='end'\r\n\t\t\t\t\t\tendIcon={}\r\n\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tmr: 2,\r\n\t\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\t\ttransition: 'all 0.3s ease',\r\n\t\t\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\t\t\tborderColor: 'green',\r\n\t\t\t\t\t\t\t\tboxShadow: '0 0 10px rgba(0, 255, 0, 0.5)'\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSmallScreen ? null : t('common.sign')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\t{documentType === 'deleted' && !isAuthWithPassword && (\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\tsx={{ mr: 2, height: '100%' }}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSmallScreen ? null : t('common.delete_forever')}\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Box } from '@mui/material'\r\nimport { Icon } from '@iconify/react'\r\nimport AntDesignRadarChartOutlined from '@iconify/icons-ant-design/radar-chart-outlined'\r\nimport snowflakeCarbon from '@iconify/icons-carbon/snowflake'\r\nimport CarbonCoronavirus from '@iconify/icons-carbon/coronavirus'\r\nimport CarbonFavorite from '@iconify/icons-carbon/favorite'\r\nimport snowIcon from '@iconify/icons-ic/baseline-ac-unit'\r\nimport './Snowfall.css'\r\nimport { useTheme } from '@mui/material/styles'\r\n\r\n// Массив иконок снежинок\r\nconst snowflakeIcons = [\r\n\tsnowflakeCarbon,\r\n\tsnowIcon,\r\n\tAntDesignRadarChartOutlined,\r\n\tsnowflakeCarbon,\r\n\tCarbonCoronavirus,\r\n\tCarbonFavorite\r\n]\r\n\r\nconst Snowfall = () => {\r\n\tconst theme = useTheme()\r\n\tconst [flakes, setFlakes] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst newFlakes = Array.from({ length: 60 }).map((_, i) => ({\r\n\t\t\tid: i,\r\n\t\t\tleft: Math.random() * 100 + 'vw',\r\n\t\t\tfallDuration: Math.random() * 5 + 8 + 's',\r\n\t\t\tanimationDelay: Math.random() * 8 + 's',\r\n\t\t\tsize: Math.random() * 15 + 3 + 'px',\r\n\t\t\topacity: Math.random() * 0.5 + 0.3,\r\n\t\t\ticon: snowflakeIcons[Math.floor(Math.random() * snowflakeIcons.length)],\r\n\t\t\tspinDuration: Math.random() * 5 + 3 + 's'\r\n\t\t}))\r\n\t\tsetFlakes(newFlakes)\r\n\t}, [])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{flakes.map(flake => (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default Snowfall\r\n","import React from 'react'\r\nimport { Box, Pagination, MenuItem, Select, Typography } from '@mui/material'\r\nimport { useTheme } from '@mui/material/styles'\r\n\r\nconst CustomPaginationTop = ({\r\n\ttotalDocs,\r\n\trowsPerPage,\r\n\tpage,\r\n\thandleChangePage,\r\n\thandleChangeRowsPerPage,\r\n\tpageTitle,\r\n\tpageTitleIcon\r\n}) => {\r\n\tconst theme = useTheme()\r\n\tconst totalPages = Math.ceil(totalDocs / rowsPerPage)\r\n\r\n\tconst handlePageChange = (event, value) => {\r\n\t\thandleChangePage(event, value - 1)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{pageTitle}\r\n\t\t\t\t\r\n\t\t\t\t\t{pageTitleIcon}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{[10, 20, 30, rowsPerPage > 30 ? rowsPerPage : 50].map(option => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{option}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default CustomPaginationTop\r\n","import { Box, Pagination, MenuItem, Select, Typography } from '@mui/material'\r\nimport { useTheme } from '@mui/material/styles'\r\nimport { useTranslation } from 'react-i18next'\r\n\r\nconst CustomPaginationBottom = ({ totalDocs, rowsPerPage, page, handleChangePage, handleChangeRowsPerPage }) => {\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst totalPages = Math.ceil(totalDocs / rowsPerPage)\r\n\r\n\tconst handlePageChange = (event, value) => {\r\n\t\thandleChangePage(event, value - 1)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('ROWS_PER_PAGE')}:\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{[10, 20, 30, rowsPerPage > 30 ? rowsPerPage : 50].map(option => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{option}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default CustomPaginationBottom\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { listOfFilterDocuments } from '../../../data/lists'\r\nimport { useTranslation } from 'react-i18next'\r\nimport {\r\n\tBox,\r\n\tButton,\r\n\tPopover,\r\n\tFormControl,\r\n\tInputLabel,\r\n\tSelect,\r\n\tMenuItem,\r\n\tSelectChangeEvent,\r\n\tStack,\r\n\tTextField,\r\n\tTypography,\r\n\tBadge,\r\n\tListSubheader,\r\n\tuseMediaQuery\r\n} from '@mui/material'\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/redux'\r\nimport { filterSlice, IFilter } from '../../../redux/reducers/FilterReducer'\r\nimport { fShortDashedDate } from '../../../utils/formatTime'\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { fetchDocCounts } from '../../../redux/actions/DocumentsActions'\r\nimport { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider'\r\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'\r\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker'\r\nimport { Icon } from '@iconify/react'\r\nimport ru from 'dayjs/locale/ru'\r\nimport uz from 'dayjs/locale/uz'\r\nimport i18n from 'i18next'\r\nimport { useTheme } from '@mui/material/styles'\r\n\r\nconst DocumentsFilter: React.FC = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst { filter } = useAppSelector(state => state.filterReducer)\r\n\tconst scaled = useAppSelector(state => state.appReducer.scaled)\r\n\tconst [isFilterActive, setIsFilterActive] = useState(false)\r\n\tconst [docCategory, setDocCategory] = useState(filter.docType)\r\n\tconst [anchorEl, setAnchorEl] = useState(null)\r\n\tconst [contractDate, setContractDate] = useState(filter.contractDate)\r\n\r\n\tconst [minDate, setMinDate] = useState(null)\r\n\tconst [maxDate, setMaxDate] = useState(null)\r\n\r\n\tconst [tin, setTin] = useState(filter.tin)\r\n\tconst [num, setNum] = useState(filter.number)\r\n\tconst [contractNum, setContractNum] = useState(filter.contractNumber)\r\n\tconst isSmallScreen = useMediaQuery(theme.breakpoints.down('lg'))\r\n\r\n\tuseEffect(() => {\r\n\t\tsetDocCategory(filter.docType)\r\n\t\tsetTin(filter.tin)\r\n\t\tsetNum(filter.number)\r\n\t\tsetMinDate(filter.minDate ? new Date(filter.minDate) : null)\r\n\t\tsetMaxDate(filter.maxDate ? new Date(filter.maxDate) : null)\r\n\t\tsetContractDate(filter.contractDate ? new Date(filter.contractDate) : null)\r\n\t\tsetContractNum(filter.contractNumber)\r\n\r\n\t\tif (\r\n\t\t\tfilter.docType !== 'all' ||\r\n\t\t\t!!filter.tin ||\r\n\t\t\t!!filter.number ||\r\n\t\t\tfilter.minDate ||\r\n\t\t\tfilter.maxDate ||\r\n\t\t\tfilter.contractDate ||\r\n\t\t\tfilter.contractNumber\r\n\t\t) {\r\n\t\t\tsetIsFilterActive(true)\r\n\t\t} else {\r\n\t\t\tsetIsFilterActive(false)\r\n\t\t}\r\n\t}, [filter])\r\n\r\n\tconst handleClick = (event: React.MouseEvent) => {\r\n\t\tsetAnchorEl(event.currentTarget)\r\n\t}\r\n\tconst handleClose = () => {\r\n\t\tsetAnchorEl(null)\r\n\t}\r\n\r\n\tconst size = useCallback(() => {\r\n\t\treturn scaled ? 'medium' : 'small'\r\n\t}, [scaled])\r\n\r\n\tconst handleDocCategoryChange = (event: SelectChangeEvent) => {\r\n\t\tsetDocCategory(event.target.value)\r\n\t}\r\n\r\n\tconst handleContractDateChange = (newValue: Date | null) => {\r\n\t\tsetContractDate(newValue)\r\n\t}\r\n\r\n\tconst handleMinDateChange = (newValue: Date | null) => {\r\n\t\tsetMinDate(newValue)\r\n\t}\r\n\r\n\tconst handleMaxDateChange = (newValue: Date | null) => {\r\n\t\tsetMaxDate(newValue)\r\n\t}\r\n\r\n\tconst filterPopover = Boolean(anchorEl)\r\n\tconst id = filterPopover ? 'filter-popover' : undefined\r\n\r\n\tconst setupFilter = () => {\r\n\t\tconst filterObject: IFilter = {\r\n\t\t\tdocType: docCategory,\r\n\t\t\ttin,\r\n\t\t\tnumber: num,\r\n\t\t\tminDate: minDate ? fShortDashedDate(minDate) : null,\r\n\t\t\tmaxDate: maxDate ? fShortDashedDate(maxDate) : null,\r\n\t\t\tcontractDate: contractDate ? fShortDashedDate(contractDate) : null,\r\n\t\t\tcontractNumber: contractNum\r\n\t\t}\r\n\t\tdispatch(filterSlice.actions.setFilter(filterObject))\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'info',\r\n\t\t\t\tmessage: t('alertTitles.filterAct'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t\tdispatch(fetchDocCounts(docCategory))\r\n\t\tsetIsFilterActive(true)\r\n\t\thandleClose()\r\n\t}\r\n\r\n\tconst dropFilter = async () => {\r\n\t\tdispatch(filterSlice.actions.resetFilter())\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: 'warning',\r\n\t\t\t\tmessage: t('alertTitles.filterClear'),\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t\tsetDocCategory('all')\r\n\t\tsetTin('')\r\n\t\tsetNum('')\r\n\t\tsetMaxDate(null)\r\n\t\tsetMinDate(null)\r\n\t\tsetContractNum('')\r\n\t\tsetContractDate(null)\r\n\t\tsetIsFilterActive(false)\r\n\t\tawait dispatch(fetchDocCounts('all'))\r\n\t\thandleClose()\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{isSmallScreen ? null : t('common.filter')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{isFilterActive ? (\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcolor='error'\r\n\t\t\t\t\t\t\tonClick={event => {\r\n\t\t\t\t\t\t\t\tevent.stopPropagation()\r\n\t\t\t\t\t\t\t\tdropFilter()\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\tpadding: 1,\r\n\t\t\t\t\t\t\t\tlineHeight: 0,\r\n\t\t\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\t\t\ttextTransform: 'none',\r\n\t\t\t\t\t\t\t\tposition: 'relative',\r\n\t\t\t\t\t\t\t\t'&::before': {\r\n\t\t\t\t\t\t\t\t\tcontent: '\"\"',\r\n\t\t\t\t\t\t\t\t\tposition: 'absolute',\r\n\t\t\t\t\t\t\t\t\tleft: 0,\r\n\t\t\t\t\t\t\t\t\ttop: '25%',\r\n\t\t\t\t\t\t\t\t\theight: '50%',\r\n\t\t\t\t\t\t\t\t\twidth: '1px',\r\n\t\t\t\t\t\t\t\t\tbackgroundColor: 'currentColor'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{isSmallScreen ? null : t('common.clear')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t''\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t('common.filterBy')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('DOCS_TABLE.DOCUMENT_TYPE')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{listOfFilterDocuments\r\n\t\t\t\t\t\t\t\t\t.filter(doc => doc.name === 'all')\r\n\t\t\t\t\t\t\t\t\t.map(item => (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(`DOCUMENT_CATEGORIES.${item.name}`)}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{'Глобальные документы'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{listOfFilterDocuments.map(doc => {\r\n\t\t\t\t\t\t\t\t\tif (!['all', 'universal', 'invoice', 'actGoodsAcceptance'].includes(doc.name)) {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(`DOCUMENT_CATEGORIES.${doc.name}`)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{'Локальные документы'}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{listOfFilterDocuments.map(doc => {\r\n\t\t\t\t\t\t\t\t\tif (['universal', 'invoice', 'actGoodsAcceptance'].includes(doc.name)) {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{t(`DOCUMENT_CATEGORIES.${doc.name}`)}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t setTin(event.target.value)} size={size()} />\r\n\t\t\t\t\t\t setNum(event.target.value)}\r\n\t\t\t\t\t\t\tsize={size()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcolor='error'\r\n\t\t\t\t\t\t\tonClick={dropFilter}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('common.clear')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonClick={setupFilter}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('common.apply')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(DocumentsFilter)\r\n","import ReactDOM from 'react-dom'\r\nimport {\r\n\tBox,\r\n\tButton,\r\n\tPopover,\r\n\tStack,\r\n\tTextField,\r\n\tTypography,\r\n\tAlert,\r\n\tLinearProgress,\r\n\tSlide,\r\n\tFade,\r\n\tuseMediaQuery\r\n} from '@mui/material'\r\nimport useToggle from '../../../hooks/useToggle'\r\nimport React, { useEffect, useRef, useState } from 'react'\r\nimport useId from '@mui/utils/useId'\r\nimport { Icon } from '@iconify/react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useAppDispatch } from '../../../hooks/redux'\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { fetchGetDocumentFromRouming } from '../../../redux/actions/DocumentsActions'\r\nimport { useTheme } from '@mui/material/styles'\r\n\r\nconst GetDocumentFromRouming = () => {\r\n\tconst open = useToggle(false)\r\n\tconst anchor = useRef(null)\r\n\tconst inputRef = useRef(null)\r\n\tconst tinRef = useRef(null)\r\n\tconst fileInputRef = useRef(null)\r\n\tconst id = useId()\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst isSmallScreen = useMediaQuery(theme.breakpoints.down('lg'))\r\n\r\n\t// Стейт для выбора режима\r\n\tconst [mode, setMode] = useState('id')\r\n\r\n\t// Стейт для хранения количества успешно загруженных документов\r\n\tconst [successfulUploads, setSuccessfulUploads] = useState(null)\r\n\r\n\t// Стейт для отслеживания состояния загрузки\r\n\tconst [loading, setLoading] = useState(false)\r\n\r\n\t// Стейт для отслеживания прогресса загрузки\r\n\tconst [progress, setProgress] = useState(0)\r\n\r\n\t// Функция для загрузки документа по ID\r\n\tconst getDocument = async () => {\r\n\t\tif (!tinRef.current?.value.trim()) return\r\n\t\tif (!inputRef.current?.value.trim()) {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemAlert({ message: t('GET_DOCUMENT_ID_EMPTY'), type: 'warning', show: true }))\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tsetLoading(true) // Запускаем процесс загрузки\r\n\t\tconst res = await fetchGetDocumentFromRouming(tinRef.current?.value, inputRef.current.value)\r\n\t\tif (res?.status === 200) {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemAlert({ message: t('GET_DOCUMENT_SUCCESS'), type: 'success', show: true }))\r\n\t\t\topen.off()\r\n\t\t\tsetSuccessfulUploads(1) // Один документ обновлен\r\n\t\t} else {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemAlert({ message: t(res?.data.errors.msg), type: 'error', show: true }))\r\n\t\t}\r\n\t\tsetLoading(false) // Завершаем процесс загрузки\r\n\t}\r\n\r\n\t// Функция для обработки загруженного файла CSV\r\n\tconst handleFileUpload = (event: React.ChangeEvent) => {\r\n\t\tconst file = event.target.files?.[0]\r\n\t\tif (file) {\r\n\t\t\tconst reader = new FileReader()\r\n\t\t\treader.onload = async e => {\r\n\t\t\t\tconst text = e.target?.result\r\n\t\t\t\tif (typeof text === 'string') {\r\n\t\t\t\t\t// Конвертация данных\r\n\t\t\t\t\tconst decoder = new TextDecoder('windows-1251')\r\n\t\t\t\t\tconst encodedText = new Uint8Array(text.split('').map(char => char.charCodeAt(0)))\r\n\t\t\t\t\tconst decodedText = decoder.decode(encodedText)\r\n\r\n\t\t\t\t\t// Парсинг CSV\r\n\t\t\t\t\tconst rows = decodedText.split('\\n')\r\n\t\t\t\t\tlet processedCount = 0 // Количество успешно загруженных документов\r\n\r\n\t\t\t\t\tsetLoading(true) // Запускаем процесс загрузки\r\n\t\t\t\t\tfor (let index = 1; index < rows.length; index++) {\r\n\t\t\t\t\t\tconst row = rows[index]\r\n\t\t\t\t\t\tif (!row.trim()) continue // Пропустить пустые строки\r\n\t\t\t\t\t\tconst columns = row.split(';')\r\n\t\t\t\t\t\tconst id = columns[1]?.trim()\r\n\t\t\t\t\t\tconst tin = columns[6]?.trim()\r\n\t\t\t\t\t\tif (id && tin) {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tconst res = await fetchGetDocumentFromRouming(tin, id)\r\n\r\n\t\t\t\t\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\t\t\t\t\tprocessedCount++ // Увеличиваем счетчик успешных запросов\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\t\t\tmessage: t('GET_DOCUMENT_REQUEST_FAILED'),\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tsetProgress(((index + 1) / rows.length) * 100) // Обновляем прогресс\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetLoading(false) // Завершаем процесс загрузки\r\n\t\t\t\t\tsetSuccessfulUploads(processedCount) // Устанавливаем количество загруженных документов\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treader.readAsBinaryString(file)\r\n\t\t}\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tif (successfulUploads !== null) {\r\n\t\t\tconst timer = setTimeout(() => {\r\n\t\t\t\tsetSuccessfulUploads(null) // Скрыть уведомление\r\n\t\t\t}, 30000) // 30 секунд\r\n\r\n\t\t\treturn () => clearTimeout(timer) // Очистка таймера при размонтировании\r\n\t\t}\r\n\t}, [successfulUploads])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t open.on()}\r\n\t\t\t\tvariant='outlined'\r\n\t\t\t\tsize='large'\r\n\t\t\t\t// color='warning'\r\n\t\t\t\taria-describedby={id}\r\n\t\t\t\tendIcon={}\r\n\t\t\t\tsx={{\r\n\t\t\t\t\tpaddingLeft: isSmallScreen ? 0 : 1,\r\n\t\t\t\t\tpaddingRight: 1,\r\n\t\t\t\t\tlineHeight: 1,\r\n\t\t\t\t\theight: '100%',\r\n\t\t\t\t\ttextTransform: 'none',\r\n\t\t\t\t\tcolor: theme.palette.grey[600],\r\n\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\tborderColor: theme.palette.background.icons\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\t{isSmallScreen ? null : t('GET_DOCUMENT')}\r\n\t\t\t\r\n\t\t\t open.off()}\r\n\t\t\t\tanchorEl={anchor.current}\r\n\t\t\t\tanchorOrigin={{\r\n\t\t\t\t\tvertical: 'top',\r\n\t\t\t\t\thorizontal: 'left'\r\n\t\t\t\t}}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t{/* выбор режима */}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('CHOOSE_MODE')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/* Если выбран режим загрузки по ID */}\r\n\t\t\t\t\t{mode === 'id' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t{/* Если выбран режим загрузки файла*/}\r\n\t\t\t\t\t{mode === 'file' && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{/* Уведомление о количестве успешно загруженных документов */}\r\n\t\t\t{ReactDOM.createPortal(\r\n\t\t\t\t\r\n\t\t\t\t\t setSuccessfulUploads(null)}\r\n\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\tposition: 'fixed',\r\n\t\t\t\t\t\t\tbottom: 16,\r\n\t\t\t\t\t\t\tright: 16,\r\n\t\t\t\t\t\t\tboxShadow: '0px 4px 12px rgba(0, 0, 0, 0.4)',\r\n\t\t\t\t\t\t\tfontSize: '1.1rem',\r\n\t\t\t\t\t\t\tpadding: '20px',\r\n\t\t\t\t\t\t\twidth: '350px',\r\n\t\t\t\t\t\t\tborderRadius: '10px',\r\n\t\t\t\t\t\t\tbackgroundColor: 'rgba(255, 255, 255, 0.8)',\r\n\t\t\t\t\t\t\tcolor: '#333',\r\n\t\t\t\t\t\t\tborder: '1px solid rgba(0, 0, 0, 0.2)',\r\n\t\t\t\t\t\t\tzIndex: 20000\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{t('DOCUMENT_COUNT', { count: successfulUploads ?? 0 })}\r\n\t\t\t\t\t\r\n\t\t\t\t,\r\n\t\t\t\tdocument.body\r\n\t\t\t)}\r\n\r\n\t\t\t{/* Уведомление о процессе загрузки */}\r\n\t\t\t{ReactDOM.createPortal(\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('LOADING_PROCESS')} {Math.round(progress)}%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t,\r\n\t\t\t\tdocument.body\r\n\t\t\t)}\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default GetDocumentFromRouming\r\n","export default __webpack_public_path__ + \"static/media/sample.68e72f99.xlsx\";","export default __webpack_public_path__ + \"static/media/template.654c0bd9.xlsx\";","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\r\nimport './index.scss'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { filter } from 'lodash'\r\n// hooks\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/redux'\r\nimport { useProfileGetter } from '../../../hooks/useProfile'\r\nimport { useCopy } from '../../../hooks/useCopy'\r\nimport useToggle from '../../../hooks/useToggle'\r\n// redux\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { appendSign, signData } from '../../../redux/actions/EimzoActions'\r\nimport { fetchProfileType } from '../../../redux/actions/ProfileActions'\r\nimport { uploadXlsx } from '../../../redux/actions/DocumentsActions'\r\nimport { groupActionsSlice } from '../../../redux/reducers/GroupActionsReducer'\r\nimport {\r\n\tfetchDeleteDocument,\r\n\tfetchDocCounts,\r\n\tfetchDocument,\r\n\tfetchDocuments,\r\n\tfetchEraseDocument,\r\n\tfetchSignDocument,\r\n\tfetchSignedFile,\r\n\tfetchRefreshDocument,\r\n\tfetchEditDocument,\r\n\tfetchWaybillLocalSign,\r\n\tfetchWaybillLocalMethods\r\n} from '../../../redux/actions/DocumentsActions'\r\n// material\r\nimport { useTheme } from '@mui/material/styles'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { TransitionProps } from '@mui/material/transitions'\r\nimport { MaterialReactTable, MRT_Row, type MRT_RowSelectionState } from 'material-react-table'\r\nimport {\r\n\tAlert,\r\n\tBox,\r\n\tButton,\r\n\tDialog,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tDialogContentText,\r\n\tDialogTitle,\r\n\tIconButton,\r\n\tSlide,\r\n\tTooltip,\r\n\tBadge,\r\n\tTypography,\r\n\tuseMediaQuery,\r\n\tCircularProgress\r\n} from '@mui/material'\r\n// components\r\nimport DetailPanel from './DetailPanel'\r\nimport { UserListToolbar } from '../../_dashboard/user'\r\nimport { useNavigate, useParams } from 'react-router-dom'\r\nimport { listOfDocumentCategories } from '../../../data/lists'\r\nimport { statusColors } from './DetailPanel'\r\nimport Snowfall from './ Snowfall/Snowfall'\r\nimport CustomPaginationTop from './CustomPaginationTop'\r\nimport CustomPaginationBottom from './CustomPaginationBottom'\r\nimport DocumentsFilter from '../documentsFilter/DocumentsFilter'\r\nimport GetDocumentFromRouming from '../getDocumentFromRouming/GetDocumentFromRouming'\r\n// utils\r\nimport i18n from 'i18next'\r\nimport { format } from 'date-fns'\r\nimport { fCurrencySpace } from '../../../utils/formatNumber'\r\nimport { buildPayloadPagination } from '../../../utils/requests'\r\nimport { fShortDate, fShortDatePerDay } from '../../../utils/formatTime'\r\n// icons\r\nimport { Icon, IconifyIcon } from '@iconify/react'\r\nimport upload from '@iconify/icons-carbon/upload'\r\nimport download from '@iconify/icons-carbon/download'\r\nimport showMoreIcon from '@iconify/icons-ant-design/caret-down-filled'\r\nimport showLessIcon from '@iconify/icons-ant-design/caret-up-filled'\r\nimport rejected from '@iconify/icons-carbon/document-subtract'\r\nimport signed from '@iconify/icons-carbon/document-signed'\r\nimport RefreshIcon from '@mui/icons-material/Refresh'\r\nimport AddIcon from '@mui/icons-material/Add'\r\nimport PriorityHighIcon from '@mui/icons-material/PriorityHigh'\r\nimport imported from '@iconify/icons-carbon/document-import'\r\nimport exported from '@iconify/icons-carbon/document-export'\r\nimport preliminary from '@iconify/icons-carbon/document-preliminary'\r\nimport draft from '@iconify/icons-carbon/document-unknown'\r\n// @ts-ignore\r\nimport sampleXlsx from '../../../static/xlsx/factura/sample.xlsx'\r\n// @ts-ignore\r\nimport templateXlsx from '../../../static/xlsx/factura/template.xlsx'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nfunction descendingComparator(a: any, b: any, orderBy: any) {\r\n\tif (b[orderBy] < a[orderBy]) {\r\n\t\treturn -1\r\n\t}\r\n\tif (b[orderBy] > a[orderBy]) {\r\n\t\treturn 1\r\n\t}\r\n\treturn 0\r\n}\r\n\r\nfunction getComparator(order: any, orderBy: any) {\r\n\treturn order === 'desc'\r\n\t\t? (a: any, b: any) => descendingComparator(a, b, orderBy)\r\n\t\t: (a: any, b: any) => -descendingComparator(a, b, orderBy)\r\n}\r\n\r\nfunction applySortFilter(array: any, comparator: any, query: any) {\r\n\tif (!Array.isArray(array)) return\r\n\tconst stabilizedThis = array.map((el: any, index: any) => [el, index])\r\n\tstabilizedThis.sort((a: any, b: any) => {\r\n\t\tconst order = comparator(a[0], b[0])\r\n\t\tif (order !== 0) return order\r\n\t\treturn a[1] - b[1]\r\n\t})\r\n\tif (query) {\r\n\t\treturn filter(array, _user => _user.name.toLowerCase().indexOf(query.toLowerCase()) !== -1)\r\n\t}\r\n\treturn stabilizedThis.map((el: any) => el[0])\r\n}\r\n\r\nconst Transition = React.forwardRef(function Transition(\r\n\tprops: TransitionProps & {\r\n\t\tchildren: React.ReactElement\r\n\t},\r\n\tref: React.Ref\r\n) {\r\n\treturn \r\n})\r\n\r\nconst getIcon = (name: IconifyIcon) => \r\n\r\ninterface IIConsList {\r\n\t[index: string]: IconifyIcon\r\n}\r\n\r\nconst titleIconsList: IIConsList = {\r\n\treceived: imported,\r\n\trejected: rejected,\r\n\tsigned: signed,\r\n\tsended: exported,\r\n\tdeleted: preliminary,\r\n\tdrafts: draft\r\n}\r\n\r\nconst waybillLocalActions: Record = {\r\n\t110: 'accept',\r\n\t140: 'give',\r\n\t160: 'accept',\r\n\t150: 'return',\r\n\t190: 'return'\r\n}\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst DocumentsPreviewTable: React.FC = () => {\r\n\tconst { type, io, status } = useParams()\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst disabled = useToggle(false)\r\n\tconst dispatch = useAppDispatch()\r\n\tconst navigate = useNavigate()\r\n\tconst confirm = useConfirm()\r\n\tconst successfullSignedRef = useRef()\r\n\r\n\tconst signButton = useToggle(false)\r\n\tconst eraseButton = useToggle(false)\r\n\tconst [page, setPage] = useState(0)\r\n\tconst [showSignMessage, setShowSignMessage] = useState(false)\r\n\tconst [order, setOrder] = useState('asc')\r\n\tconst [orderBy, setOrderBy] = useState('name')\r\n\tconst [rowsPerPage, setRowsPerPage] = useState(20)\r\n\tconst [open, setOpen] = useState({\r\n\t\topened: false,\r\n\t\tid: '',\r\n\t\ttype: ''\r\n\t})\r\n\tconst freeze = useToggle(false)\r\n\tconst [successfullSigned, setSuccessfullSigned] = useState(0)\r\n\tconst dialogContentRef = useRef(null)\r\n\r\n\tconst { docs, totalDocs, tableLoading } = useAppSelector(state => state.documentsReducer)\r\n\tconst { filter: filterReducer } = useAppSelector(state => state.filterReducer)\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\tconst { token } = profile || { token: null }\r\n\tconst keyId = profile?.keyId || ''\r\n\r\n\tconst { processingRow, processingRowsError, processingRowsSuccess, processingRowsErrorDialog } = useAppSelector(\r\n\t\tstate => state.groupActionsReducer\r\n\t)\r\n\tconst { copyToClipboard } = useCopy()\r\n\tconst [selected, setSelected] = useState([])\r\n\tconst [rowSelection, setRowSelection] = useState({})\r\n\tconst [openSampleDialog, setOpenSampleDialog] = useState(false)\r\n\tconst [processingRowsErrorDialogOpen, setProcessingRowsErrorDialogOpen] = useState(false)\r\n\r\n\tuseEffect(() => {\r\n\t\tsetSelected(Object.keys(rowSelection))\r\n\t}, [rowSelection])\r\n\r\n\tconst translateTableHead = (name: string) => {\r\n\t\treturn t('DOCS_TABLE_HEADERS.' + name)\r\n\t}\r\n\r\n\tconst handleClickOpen = (id: string, type: string) => {\r\n\t\tsetOpen({ opened: true, id: id, type: type })\r\n\t}\r\n\r\n\tconst handleClose = () => {\r\n\t\tif (showSignMessage) {\r\n\t\t\tsetShowSignMessage(false)\r\n\t\t} else {\r\n\t\t\tsetOpen({ opened: false, id: '', type: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst handleChangePage = (event: React.MouseEvent | null, newPage: number) => {\r\n\t\tsetPage(newPage)\r\n\t}\r\n\r\n\tconst handleChangeRowsPerPage = (event: React.ChangeEvent) => {\r\n\t\tsetRowsPerPage(parseInt(event.target.value, 10))\r\n\t\tconst rows = parseInt(event.target.value).toString()\r\n\t\tlocalStorage.setItem('rowsPerPage', rows)\r\n\t\tsetPage(0)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst rows = JSON.parse(localStorage.getItem('rowsPerPage') || '{}')\r\n\t\tif (rows > 1) {\r\n\t\t\tsetRowsPerPage(rows)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tconst filteredUsers = applySortFilter(docs, getComparator(order, orderBy), '')\r\n\r\n\tconst redirectToEditDocument = (document: any, corrected?: boolean) => {\r\n\t\tconst props = { state: { corrected } }\r\n\t\tnavigate(`/edit/${document.type}/${document._id}`, { state: props })\r\n\t}\r\n\r\n\tconst refreshDocuments = async () => {\r\n\t\tif (!selected.length) return\r\n\t\tfor await (let docId of selected) {\r\n\t\t\tdispatch(groupActionsSlice.actions.setProcessingRow(docId))\r\n\t\t\tconst foundDoc = filteredUsers?.find((doc: any) => doc._id === docId)\r\n\t\t\tconst respStatus = await refreshDocument(foundDoc)\r\n\r\n\t\t\tif (respStatus.status === 200 || foundDoc._id === respStatus) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t[foundDoc._id]: 'refresh'\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsError({\r\n\t\t\t\t\t\t[foundDoc._id]: respStatus?.data.errors?.msg || 'Unknown error'\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetSelected([])\r\n\t\tsetRowSelection({})\r\n\t\tdispatch(groupActionsSlice.actions.clearProcessingRow())\r\n\t}\r\n\r\n\tconst refreshDocument = async (item: any) => {\r\n\t\tlet respStatus = null\r\n\t\ttry {\r\n\t\t\tdisabled.on()\r\n\t\t\tconst doc = await fetchDocument(item.type, item._id)\r\n\t\t\trespStatus = doc?._id\r\n\r\n\t\t\tif (doc.type === 'factura' && doc.status === 'drafts') {\r\n\t\t\t\tlet newDocument = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\tlet sellerVatRegStatus = await fetchProfileType(doc.data.sellertin, format(new Date(Date.now()), 'yyyy-MM-dd'))\r\n\t\t\t\tnewDocument.data.seller.vatregstatus = sellerVatRegStatus?.data.data.code\r\n\t\t\t\tif (doc.data.buyertin) {\r\n\t\t\t\t\tlet buyerVatRegStatus = await fetchProfileType(doc.data.buyertin, format(new Date(Date.now()), 'yyyy-MM-dd'))\r\n\t\t\t\t\tnewDocument.data.buyer.vatregstatus = buyerVatRegStatus?.data.data.code\r\n\t\t\t\t}\r\n\t\t\t\trespStatus = await fetchEditDocument(newDocument.type, newDocument._id, newDocument.data)\r\n\t\t\t}\r\n\t\t\tdisabled.off()\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t}\r\n\t\treturn respStatus\r\n\t}\r\n\r\n\tconst refreshReceived = async () => {\r\n\t\tif (!selected.length) return\r\n\t\tconst refreshReceivedDoc = async () => {\r\n\t\t\ttry {\r\n\t\t\t\tfor await (let docId of selected) {\r\n\t\t\t\t\tdispatch(groupActionsSlice.actions.setProcessingRow(docId))\r\n\t\t\t\t\tlet res = null\r\n\t\t\t\t\tconst foundDoc = filteredUsers?.find((item: any) => item._id === docId)\r\n\t\t\t\t\tif (!['universal', 'actGoodsAcceptance', 'invoice'].includes(foundDoc.type)) {\r\n\t\t\t\t\t\tres = await fetchRefreshDocument(foundDoc.type, foundDoc._id, false)\r\n\r\n\t\t\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t\t\t\t[foundDoc._id]: 'refresh'\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsError({\r\n\t\t\t\t\t\t\t\t\t[foundDoc._id]: res?.data.errors?.msg || 'Unknown error'\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t\t\t[foundDoc._id]: 'refreshNoNeed'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.log(e)\r\n\t\t\t}\r\n\t\t}\r\n\t\tdisabled.on()\r\n\t\tawait refreshReceivedDoc()\r\n\t\tsetSelected([])\r\n\t\tsetRowSelection({})\r\n\t\tdispatch(groupActionsSlice.actions.clearProcessingRow())\r\n\t\tdisabled.off()\r\n\t}\r\n\r\n\tconst deleteDocuments = async () => {\r\n\t\tawait confirm({\r\n\t\t\ttitle: `${t('alertTitles.warning')} !`,\r\n\t\t\tdescription: `${t('DOCUMENT_DELETE_BODY')}`,\r\n\t\t\tcancellationText: t('NO'),\r\n\t\t\tconfirmationText: t('YES')\r\n\t\t})\r\n\t\t\t.then(async () => {\r\n\t\t\t\tdisabled.on()\r\n\t\t\t\tfor await (let docId of selected) {\r\n\t\t\t\t\tdispatch(groupActionsSlice.actions.setProcessingRow(docId))\r\n\t\t\t\t\tconst foundDoc = filteredUsers?.find((item: any) => item._id === docId)\r\n\t\t\t\t\tconst res = await fetchDeleteDocument(foundDoc.type, foundDoc._id)\r\n\r\n\t\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t\t\t[foundDoc._id]: 'delete'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsError({\r\n\t\t\t\t\t\t\t\t[foundDoc._id]: res?.data.errors?.msg || 'Unknown error'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetSelected([])\r\n\t\t\t\tsetRowSelection({})\r\n\t\t\t\tdisabled.off()\r\n\t\t\t})\r\n\t\t\t.catch()\r\n\t}\r\n\r\n\tconst eraseDocuments = async () => {\r\n\t\tawait confirm({\r\n\t\t\ttitle: `${t('alertTitles.warning')} !`,\r\n\t\t\tdescription: `${t('DELETE_SELECTED')} ${selected.length}`,\r\n\t\t\tcancellationText: t('NO'),\r\n\t\t\tconfirmationText: t('YES')\r\n\t\t})\r\n\t\t\t.then(async () => {\r\n\t\t\t\tdisabled.on()\r\n\t\t\t\tfor await (let docId of selected) {\r\n\t\t\t\t\tdispatch(groupActionsSlice.actions.setProcessingRow(docId))\r\n\t\t\t\t\tconst foundDoc = filteredUsers?.find((item: any) => item._id === docId)\r\n\t\t\t\t\tconst res = await fetchEraseDocument(foundDoc.type, foundDoc._id)\r\n\r\n\t\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t\t\t[foundDoc._id]: 'erase'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsError({\r\n\t\t\t\t\t\t\t\t[foundDoc._id]: res?.data.errors?.msg || 'Unknown error'\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tsetSelected([])\r\n\t\t\t\tsetRowSelection({})\r\n\t\t\t\tdisabled.off()\r\n\t\t\t\tdispatch(fetchDocCounts(filterReducer.docType !== 'all' ? filterReducer.docType : 'all'))\r\n\t\t\t})\r\n\t\t\t.catch()\r\n\t}\r\n\r\n\tconst deleteDocument = async (type: string, id: string) => {\r\n\t\ttry {\r\n\t\t\tconst res = await fetchDeleteDocument(type, id)\r\n\t\t\tif (res!.status === 200) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\tmessage: t('alertTitles.docDeleted')\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\trefetchDocs()\r\n\t\t\tsetOpen({ opened: false, id: '', type: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tconst options = useMemo(\r\n\t\t() => ({\r\n\t\t\tsortBy: ['createdAt'],\r\n\t\t\tsortDesc: [true],\r\n\t\t\titemsPerPage: rowsPerPage,\r\n\t\t\tpage: page + 1\r\n\t\t}),\r\n\t\t[page, rowsPerPage]\r\n\t)\r\n\r\n\tconst buildSearch = useCallback(() => {\r\n\t\tconst srch: any = {\r\n\t\t\ttype: filterReducer.docType !== 'all' ? filterReducer.docType : type,\r\n\t\t\tio: io,\r\n\t\t\tstatus: status\r\n\t\t}\r\n\r\n\t\tsrch.branch = ''\r\n\t\tif (filterReducer.tin) srch.tin = filterReducer.tin\r\n\t\tif (filterReducer.number) srch.number = filterReducer.number\r\n\t\tif (filterReducer.minDate) srch.dateMin = filterReducer.minDate\r\n\t\tif (filterReducer.maxDate) srch.dateMax = filterReducer.maxDate\r\n\r\n\t\treturn srch\r\n\t}, [{ ...filterReducer }, type, status, io])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!token) return\r\n\t\tsetSelected([])\r\n\t\tsetRowSelection({})\r\n\t\tsetPage(0)\r\n\t\tif (status === 'deleted') {\r\n\t\t\teraseButton.on()\r\n\t\t} else {\r\n\t\t\teraseButton.off()\r\n\t\t}\r\n\t\t// @ts-ignore\r\n\t\tif (['received', 'drafts'].includes(status)) {\r\n\t\t\tsignButton.on()\r\n\t\t} else {\r\n\t\t\tsignButton.off()\r\n\t\t}\r\n\t}, [type, status, io, filterReducer])\r\n\r\n\tconst refetchDocs = () => {\r\n\t\tif (!token) return\r\n\t\tdispatch(fetchDocuments(buildPayloadPagination(options, buildSearch())))\r\n\t\tdispatch(fetchDocCounts(filterReducer.docType))\r\n\t\tdispatch(groupActionsSlice.actions.clearAllProcessedRows())\r\n\t}\r\n\r\n\tconst showMore = () => {\r\n\t\tsetRowsPerPage(rowsPerPage * 2)\r\n\t\trefetchDocs()\r\n\t}\r\n\r\n\tconst showLess = () => {\r\n\t\tsetRowsPerPage(10)\r\n\t\trefetchDocs()\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tsetSelected([])\r\n\t\tsetRowSelection({})\r\n\t\tdispatch(groupActionsSlice.actions.clearAllProcessedRows())\r\n\t}, [page, rowsPerPage, filterReducer])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!token) return\r\n\t\trefetchDocs()\r\n\t}, [type, io, status, page, rowsPerPage, filterReducer, token])\r\n\r\n\tconst redirectToClickedDocument = (type: string, id: string) => {\r\n\t\tnavigate(`/open-file/${type}/${id}`, {\r\n\t\t\tstate: { type, status, io }\r\n\t\t})\r\n\t}\r\n\r\n\tconst signDocuments = async () => {\r\n\t\tif (!selected) return\r\n\t\tdisabled.on()\r\n\t\thandleClose()\r\n\t\tfreeze.on()\r\n\r\n\t\tfor await (let docId of selected) {\r\n\t\t\tdispatch(groupActionsSlice.actions.setProcessingRow(docId))\r\n\t\t\t// @ts-ignore\r\n\t\t\tconst foundDoc = filteredUsers.find(doc => doc._id === docId)\r\n\t\t\tconst result = await signDocument(foundDoc, selected.indexOf(docId)).finally(() => {\r\n\t\t\t\tif (selected.length === selected.indexOf(docId) + 1) {\r\n\t\t\t\t\tsetSelected([])\r\n\t\t\t\t\tsetRowSelection({})\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\tif (result) {\r\n\t\t\t\tif (result.success) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsSuccess({\r\n\t\t\t\t\t\t\t[docId]: 'sign'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tgroupActionsSlice.actions.setProcessingRowsError({\r\n\t\t\t\t\t\t\t[docId]: result.message || 'Unknown error'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tdispatch(groupActionsSlice.actions.clearProcessingRow())\r\n\t\tdisabled.off()\r\n\t}\r\n\r\n\tconst signDocument = async (item: any, index: number) => {\r\n\t\tlet signRes = null\r\n\r\n\t\tif (item?.data && !Object.hasOwn(item.data, 'signed') && Object.hasOwn(item.data, 'facturaid') && io === 'in') {\r\n\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\titem.type,\r\n\t\t\t\titem._id as string,\r\n\t\t\t\titem.data.buyertin === profile?.tin ? 'buyer' : 'agent'\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tlet doc = await fetchDocument(item.type, item._id)\r\n\t\t\tlet pkcs7: any = ''\r\n\t\t\tif (io === 'out' && doc.status === 'drafts' && doc.type === 'empowerment') {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdoc.data.agent.jobtitle != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.dateofissue != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.issuedby != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.number != null\r\n\t\t\t\t) {\r\n\t\t\t\t\tlet newDoc = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\t\tnewDoc.data.agent.jobtitle = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.dateofissue = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.issuedby = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.number = null\r\n\t\t\t\t\tawait fetchEditDocument(newDoc.type, newDoc._id, newDoc.data)\r\n\t\t\t\t\tdoc = await fetchDocument(newDoc.type, newDoc._id)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (io === 'out' && doc.status === 'drafts' && doc.type === 'factura') {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdoc.data.hasOwnProperty('realizationpurpose') ||\r\n\t\t\t\t\tdoc.data.seller.hasOwnProperty('category') ||\r\n\t\t\t\t\tdoc.data?.seller?.taxgap !== null ||\r\n\t\t\t\t\tdoc.data?.buyer?.taxgap !== null\r\n\t\t\t\t) {\r\n\t\t\t\t\tlet newDoc = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\t\tdelete newDoc.data?.realizationpurpose\r\n\t\t\t\t\tdelete newDoc.data.seller?.category\r\n\t\t\t\t\tdelete newDoc.data.seller?.taxgap\r\n\t\t\t\t\tdelete newDoc.data.buyer?.taxgap\r\n\t\t\t\t\tawait fetchEditDocument(newDoc.type, newDoc._id, newDoc.data)\r\n\t\t\t\t\tdoc = await fetchDocument(newDoc.type, newDoc._id)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (io === 'out' && doc.status === 'drafts') {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(doc.data), keyId))\r\n\t\t\t} else if (io === 'in' && doc.status === 'sended' && doc.type === 'empowerment') {\r\n\t\t\t\tlet agent = doc.targetTins.find((obj: any) => obj.side === 'agent')\r\n\t\t\t\tlet sign = await fetchSignedFile('empowerment', doc._id, profile?.personalNum == agent.tin ? 'agent' : 'seller')\r\n\t\t\t\tif (!sign) return { success: false, message: 'Подпись не найден' }\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t} else if (io === 'in' && doc.status === 'sended' && doc.type === 'contract') {\r\n\t\t\t\tlet client = doc.targetTins.find((obj: any) => obj.side === 'client' && obj.tin === profile?.tin)\r\n\t\t\t\tif (!client) return { success: false, message: 'Клиент не найден' }\r\n\t\t\t\tlet sign = await fetchSignedFile('contract', doc._id, 'client')\r\n\t\t\t\tif (!sign) return { success: false, message: 'Подпись не найден' }\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t} else if (\r\n\t\t\t\tio === 'in' &&\r\n\t\t\t\tdoc.status === 'sended' &&\r\n\t\t\t\tdoc.type !== 'waybillLocal' &&\r\n\t\t\t\t['actWorkPerformed', 'actVerification', 'actGoodsAcceptance', 'universal', 'invoice'].includes(doc.type)\r\n\t\t\t) {\r\n\t\t\t\tlet signType = ''\r\n\r\n\t\t\t\tif (doc.type === 'actWorkPerformed' || doc.type === 'invoice') {\r\n\t\t\t\t\tsignType = 'buyer'\r\n\t\t\t\t} else if (doc.type === 'actVerification') {\r\n\t\t\t\t\tsignType = 'partner'\r\n\t\t\t\t} else if (doc.type === 'actGoodsAcceptance' || doc.type === 'universal') {\r\n\t\t\t\t\tsignType = 'client'\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!signRes) {\r\n\t\t\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\t\t\tdoc.type as string,\r\n\t\t\t\t\t\tdoc._id as string,\r\n\t\t\t\t\t\tsignType !== 'buyer' ? (signType !== 'partner' ? 'client' : 'partner') : 'buyer'\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst signature = !!signRes?.sign ? signRes.sign : doc.sign\r\n\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(signature, keyId))\r\n\t\t\t} else if (io === 'in' && doc.status === 'sended' && doc.type === 'factura') {\r\n\t\t\t\tif (!signRes) {\r\n\t\t\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\t\t\tdoc.type as string,\r\n\t\t\t\t\t\tdoc._id as string,\r\n\t\t\t\t\t\tdoc.data.buyertin === profile?.tin ? 'buyer' : 'agent'\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tconst signature = !!signRes?.sign ? signRes.sign : doc.sign\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(signature, keyId))\r\n\t\t\t} else if (io === 'in' && doc.status === 'sended' && doc.type === 'waybillLocal') {\r\n\t\t\t\tif (doc.stateId === 110) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'responsibleperson', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (doc?.data?.consignee?.tinorpinfl === profile?.tin && doc.stateId === 140) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'consignee', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (doc.stateId === 140) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ResponsiblePersonGiven',\r\n\t\t\t\t\t\tResponsiblePersonPinfl: profile?.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t} else if (doc.stateId === 160) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'consignee', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (doc.stateId === 150) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tConsignorTinOrPinfl: profile?.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t} else if (doc.stateId === 190) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tConsignorTinOrPinfl: profile?.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t}\r\n\t\t\t} else if (\r\n\t\t\t\t['out', 'in'].includes(io as string) &&\r\n\t\t\t\tdoc.type === 'waybillLocal' &&\r\n\t\t\t\t[150, 190].includes(doc.stateId)\r\n\t\t\t) {\r\n\t\t\t\tconst data = {\r\n\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\tConsignorTinOrPinfl: profile?.tin\r\n\t\t\t\t}\r\n\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t}\r\n\r\n\t\t\tif (pkcs7) {\r\n\t\t\t\tlet res = null\r\n\t\t\t\tif (doc.type === 'waybillLocal') {\r\n\t\t\t\t\tconst docStatus = doc.stateId as number\r\n\t\t\t\t\tif (docStatus === 1) {\r\n\t\t\t\t\t\tres = await fetchSignDocument(doc.type, doc._id, pkcs7, false)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres = await fetchWaybillLocalMethods(\r\n\t\t\t\t\t\t\tdoc._id,\r\n\t\t\t\t\t\t\tpkcs7,\r\n\t\t\t\t\t\t\tdoc?.data?.consignee?.tinorpinfl === profile?.tin ? 'accept' : waybillLocalActions[docStatus]\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tres = await fetchSignDocument(doc.type, doc._id, pkcs7, false)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\tsetSuccessfullSigned(successfullSigned + 1)\r\n\t\t\t\t\treturn { success: true, message: 'Документ успешно подписан' }\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn { success: false, message: res?.data.errors?.msg }\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\treturn { success: false, message: 'Подпись не создан по непредвиденной причине' }\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\t//@ts-ignore\r\n\t\t\treturn { success: false, message: e.errMsg }\r\n\t\t}\r\n\t}\r\n\r\n\tconst renewDocument = async (type: string, id: string) => {\r\n\t\ttry {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\t\tconst res = await fetchRefreshDocument(type, id)\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t\tif (res?.status === 200) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tmessage: t('alertTitles.docUpdate'),\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t}\r\n\t}\r\n\r\n\tconst createBasedDoc = (newDoc: string | undefined, identificator: string, based: string, id: number) => {\r\n\t\tconst navParams = {\r\n\t\t\tstate: {\r\n\t\t\t\tid: identificator,\r\n\t\t\t\tbased: based,\r\n\t\t\t\tnewDoc: '',\r\n\t\t\t\tcorrected: false,\r\n\t\t\t\tadditional: false\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (newDoc === 'copy') {\r\n\t\t\tnewDoc = based\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === based?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t\tif (based === 'factura') {\r\n\t\t\t\tif (id === 4) {\r\n\t\t\t\t\tnavParams.state.corrected = true\r\n\t\t\t\t} else if (id === 5) {\r\n\t\t\t\t\tnavParams.state.additional = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === newDoc?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t}\r\n\t\tnavigate(`/document/${newDoc}`, { state: navParams })\r\n\t}\r\n\r\n\tconst fileToBase64 = (file: any) => {\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tconst reader = new FileReader()\r\n\t\t\treader.readAsDataURL(file)\r\n\t\t\treader.onload = () => resolve(reader.result)\r\n\t\t\treader.onerror = error => reject(error)\r\n\t\t})\r\n\t}\r\n\r\n\tconst uploadFile = async (e: any) => {\r\n\t\tconst file = e.target.files[0]\r\n\t\tconst fileBase64: any = await fileToBase64(file).catch(e => e)\r\n\t\tif (fileBase64 instanceof Error) {\r\n\t\t\tconsole.log('Error: ', fileBase64.message)\r\n\t\t\treturn\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\t\tconst res = await uploadXlsx({\r\n\t\t\t\tbase64: fileBase64.replace(/.*base64,/, '')\r\n\t\t\t})\r\n\t\t\tif (res?.status === 200) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\tmessage: t('alertTitles.successUploadXlsx')\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\tshow: true,\r\n\t\t\t\t\t\tmessage: t('alertTitles.errorUploadXlsx')\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log(error)\r\n\t\t\tconsole.log(fileBase64)\r\n\t\t} finally {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t\trefetchDocs()\r\n\t\t\te.target.value = ''\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!!successfullSigned) {\r\n\t\t\tclearTimeout(successfullSignedRef.current)\r\n\t\t\tsuccessfullSignedRef.current = setTimeout(() => setSuccessfullSigned(0), 5000)\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tclearTimeout(successfullSignedRef.current)\r\n\t\t}\r\n\t}, [successfullSigned])\r\n\r\n\tinterface DocumentRow {\r\n\t\t_id: string\r\n\t\ttype: string\r\n\t\tdocNumber: string\r\n\t\tdocDate: string\r\n\t\tcontractDate: string\r\n\t\tcontractNumber: string\r\n\t\townerName: string\r\n\t\townerTin: string\r\n\t\ttotalSum: number\r\n\t\ttotalVatSum: number\r\n\t\ttotalDocSum: number\r\n\t\tupdatedAt: string\r\n\t\tnotes: string\r\n\t\tstateId: number\r\n\t\tstatus: string\r\n\t\troumingId: string\r\n\t\ttargetTins: {\r\n\t\t\tname: string\r\n\t\t\ttin: string\r\n\t\t}[]\r\n\t\tsubType: string\r\n\t\textension: any\r\n\t}\r\n\r\n\tconst columns = useMemo(\r\n\t\t() => [\r\n\t\t\t{\r\n\t\t\t\taccessorKey: 'actions',\r\n\t\t\t\theader: translateTableHead('DOCUMENT_ACTIONS'),\r\n\t\t\t\tenableColumnActions: false,\r\n\t\t\t\tenableColumnOrdering: false,\r\n\t\t\t\tenableSorting: false,\r\n\t\t\t\tenableColumnFilter: false,\r\n\t\t\t\tminSize: 50,\r\n\t\t\t\tmaxSize: 140,\r\n\t\t\t\tmuiTableHeadCellProps: {\r\n\t\t\t\t\talign: 'center' as const\r\n\t\t\t\t},\r\n\t\t\t\tCell: ({ row }: { row: MRT_Row }) => {\r\n\t\t\t\t\tconst { type, _id, status } = row.original\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t redirectToClickedDocument(type, _id)}\r\n\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{io === 'out' && status === 'drafts' && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleClickOpen(_id, type)} sx={{ p: '5px', color: 'background.icons' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBasedDoc(type, _id, type, 9)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t redirectToEditDocument(row.original)}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{io === 'out' && status === 'rejected' && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBasedDoc(type, _id, type, 9)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{io === 'out' &&\r\n\t\t\t\t\t\t\t\tstatus === 'sended' &&\r\n\t\t\t\t\t\t\t\t!['universal', 'actGoodsAcceptance', 'invoice'].includes(type) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\trenewDocument(type, _id)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{io === 'out' && ['signed', 'sended'].includes(`${status}`) && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcreateBasedDoc(type, _id, type, 9)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\t\tp: '5px',\r\n\t\t\t\t\t\t\t\t\t\t\t\tcolor: 'background.icons'\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{io === 'out' && status === 'deleted' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\tcreateBasedDoc(type, _id, type, 9)\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\tsx={{ p: '5px', color: 'background.icons' }}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t{row.original?.extension?.hasmarking === true && type === 'factura' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\taccessorKey: 'docDate',\r\n\t\t\t\theader: translateTableHead('DOCUMENT') + ' / ' + t('DOCS_TABLE_HEADERS.CONTR_AGENT'),\r\n\t\t\t\tenableColumnActions: false,\r\n\t\t\t\tsize: 440,\r\n\t\t\t\tmuiTableHeadCellProps: {\r\n\t\t\t\t\talign: 'center' as const\r\n\t\t\t\t},\r\n\t\t\t\tCell: ({ row }: { row: MRT_Row }) => {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\ttype,\r\n\t\t\t\t\t\textension,\r\n\t\t\t\t\t\tdocNumber,\r\n\t\t\t\t\t\tdocDate,\r\n\t\t\t\t\t\townerName,\r\n\t\t\t\t\t\townerTin,\r\n\t\t\t\t\t\ttargetTins,\r\n\t\t\t\t\t\tsubType,\r\n\t\t\t\t\t\tstateId,\r\n\t\t\t\t\t\tstatus,\r\n\t\t\t\t\t\tnotes\r\n\t\t\t\t\t} = row.original\r\n\t\t\t\t\tconst targetTinsLength = targetTins.length\r\n\t\t\t\t\tconst tinOrPinfl =\r\n\t\t\t\t\t\tio === 'out'\r\n\t\t\t\t\t\t\t? !!targetTinsLength && type === 'waybillLocal'\r\n\t\t\t\t\t\t\t\t? targetTins[targetTinsLength - 1].tin\r\n\t\t\t\t\t\t\t\t: targetTins[0]?.tin\r\n\t\t\t\t\t\t\t: ownerTin\r\n\t\t\t\t\tconst partnerName =\r\n\t\t\t\t\t\tio === 'out'\r\n\t\t\t\t\t\t\t? targetTinsLength && type === 'waybillLocal'\r\n\t\t\t\t\t\t\t\t? targetTins[targetTinsLength - 1].name\r\n\t\t\t\t\t\t\t\t: targetTins[0]?.name\r\n\t\t\t\t\t\t\t: ownerName\r\n\t\t\t\t\tconst tinOrPinflLabel = tinOrPinfl?.length === 9 ? t('TIN') : t('PINFL')\r\n\t\t\t\t\tconst contragent =\r\n\t\t\t\t\t\ttype === 'waybillLocal'\r\n\t\t\t\t\t\t\t? io === 'out'\r\n\t\t\t\t\t\t\t\t? `${t('common.cargoReceiver')}: `\r\n\t\t\t\t\t\t\t\t: `${t('common.shipper')}: `\r\n\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\tconst responsiblePersonPINFL =\r\n\t\t\t\t\t\ttargetTins[0]?.tin.length > 9 ? targetTins[0]?.tin : t('detailPanel.responsiblePersonInDocument')\r\n\t\t\t\t\tconst responsiblePersonName = targetTins[0]?.tin.length > 9 ? targetTins[0]?.name : ''\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{type !== 'universal' ? t('documentItem.' + type.toUpperCase()) : subType} № {docNumber}{' '}\r\n\t\t\t\t\t\t\t\t{t('shortDate.from')} {fShortDate(docDate)}\r\n\t\t\t\t\t\t\t\t{t('shortDate.year')}\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{stateId ? `${t(`DOC_STATUS.${stateId}`)}` : `${t(`DOC_STATUS.${status}`)}`}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{status === 'rejected' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('detailPanel.notes')} {notes ? notes : `${t(`detailPanel.notesInDoc`)}`}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{type === 'factura' && extension?.singlesidedtype ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('SINGLE_SIDED')}:\r\n\t\t\t\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t\t\t\t{t(`SINGLE_SIDED_STATUS.${extension.singlesidedtype}`) || t('DOC_STATUS.statusUndefined')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : targetTins?.length ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{contragent}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{tinOrPinflLabel}{' '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t copyToClipboard(tinOrPinfl)} style={{ cursor: 'pointer' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t{tinOrPinfl}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{', '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{partnerName}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('SINGLE_SIDED')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{type === 'waybillLocal' && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{t('TTHFORM.responsiblePersonForDeliver')}\r\n\t\t\t\t\t\t\t\t\t\t{': '}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{targetTins[0]?.tin.length > 9 ? (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t{`${t('PINFL')} `}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t copyToClipboard(responsiblePersonPINFL)} style={{ cursor: 'pointer' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{responsiblePersonPINFL}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{', '}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{responsiblePersonName}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\tt('detailPanel.responsiblePersonInDocument')\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\taccessorKey: 'contractDate',\r\n\t\t\t\theader: translateTableHead('CONTRACT'),\r\n\t\t\t\tenableClickToCopy: false,\r\n\t\t\t\tenableColumnActions: false,\r\n\t\t\t\tsize: 180,\r\n\t\t\t\tmuiTableHeadCellProps: {\r\n\t\t\t\t\talign: 'center' as const\r\n\t\t\t\t},\r\n\t\t\t\tCell: ({ row }: { row: MRT_Row }) => {\r\n\t\t\t\t\tconst contractText = row.original.contractNumber\r\n\t\t\t\t\t\t? `№ ${row.original.contractNumber} ${t('shortDate.from')} ${fShortDate(row.original.contractDate)} ${t(\r\n\t\t\t\t\t\t\t\t'shortDate.year'\r\n\t\t\t\t\t\t )}`\r\n\t\t\t\t\t\t: '--'\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t copyToClipboard(contractText)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t№ {row.original.contractNumber}{' '}\r\n\t\t\t\t\t\t\t\t{row.original.contractDate !== null && (\r\n\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t{t('shortDate.from')} {fShortDate(row.original.contractDate)} {t('shortDate.year')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\taccessorKey: 'totalDocSum',\r\n\t\t\t\theader: translateTableHead('SUM'),\r\n\t\t\t\tenableClickToCopy: false,\r\n\t\t\t\tenableColumnActions: false,\r\n\t\t\t\tsize: 220,\r\n\t\t\t\tmuiTableHeadCellProps: {\r\n\t\t\t\t\talign: 'center' as const\r\n\t\t\t\t},\r\n\t\t\t\tCell: ({ row }: { row: MRT_Row }) => {\r\n\t\t\t\t\tconst totalDocSumText = `Сумма: ${fCurrencySpace(row.original.totalSum)}\\n${t('VAT')}: ${fCurrencySpace(\r\n\t\t\t\t\t\trow.original.totalVatSum\r\n\t\t\t\t\t)}\\n${t('TTHFORM.total')}: ${fCurrencySpace(row.original.totalDocSum)}`\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t copyToClipboard(totalDocSumText)}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tСумма: {fCurrencySpace(row.original.totalSum)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('VAT')}: {fCurrencySpace(row.original.totalVatSum)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('TTHFORM.totalWidthVat')}: {fCurrencySpace(row.original.totalDocSum)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\taccessorKey: 'updatedAt',\r\n\t\t\t\theader: translateTableHead('DOC_UPDATED_AT'),\r\n\t\t\t\tenableColumnActions: false,\r\n\t\t\t\tenableColumnOrdering: false,\r\n\t\t\t\tenableResizing: false,\r\n\t\t\t\tenableSorting: true,\r\n\t\t\t\tsortDescFirst: true,\r\n\t\t\t\tsize: 100,\r\n\t\t\t\tmuiTableHeadCellProps: {\r\n\t\t\t\t\talign: 'center' as const,\r\n\t\t\t\t\tcolor: 'text.disabled'\r\n\t\t\t\t},\r\n\t\t\t\tCell: ({ row }: { row: MRT_Row }) => (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{fShortDatePerDay(row.original.updatedAt)}\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t],\r\n\t\t[io, status, i18n.language]\r\n\t)\r\n\r\n\tconst redirectToDocumentPage = () => {\r\n\t\tnavigate(`/document/factura`)\r\n\t}\r\n\tconst pageTitle = useMemo(() => {\r\n\t\tconst sectionDocumentType = status?.toLocaleUpperCase()\r\n\t\treturn ` ${t(`DOCUMENT_TYPES.` + t(`${sectionDocumentType}`))} `\r\n\t}, [status])\r\n\tconst pageTitleIcon = useMemo(() => {\r\n\t\tif (!status) return\r\n\t\tlet documentTypeIcon = titleIconsList[status]\r\n\t\treturn getIcon(documentTypeIcon)\r\n\t}, [status])\r\n\r\n\t//высота таблицы по экрану, каждого индивидуального пользователя\r\n\tconst [maxHeight, setMaxHeight] = useState('100vh')\r\n\tuseEffect(() => {\r\n\t\tconst updateTableHeight = () => {\r\n\t\t\tsetMaxHeight(`${window.innerHeight - 208}px`)\r\n\t\t}\r\n\t\twindow.addEventListener('resize', updateTableHeight)\r\n\t\tupdateTableHeight()\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('resize', updateTableHeight)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tconst isSmallScreen = useMediaQuery(theme.breakpoints.down('lg'))\r\n\r\n\t//высота таблицы\r\n\tconst [showProgressBars, setShowProgressBars] = useState(false)\r\n\tuseEffect(() => {\r\n\t\tif (tableLoading) {\r\n\t\t\tsetShowProgressBars(true)\r\n\t\t} else {\r\n\t\t\tconst timer = setTimeout(() => {\r\n\t\t\t\tsetShowProgressBars(false)\r\n\t\t\t}, 200)\r\n\r\n\t\t\treturn () => clearTimeout(timer)\r\n\t\t}\r\n\t}, [tableLoading])\r\n\r\n\t//функция для открытия диалогового окна ошибки при групповом подписании\r\n\tconst handleClickOpenProcessingRowsErrorDialog = (row: any) => {\r\n\t\tsetProcessingRowsErrorDialogOpen(true)\r\n\t\tdispatch(groupActionsSlice.actions.setProcessingRowsErrorDialog(row))\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!!successfullSigned && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('alertTitles.docsSigned')} {successfullSigned}\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\t{(open || showSignMessage) && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('alertTitles.warning')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{showSignMessage ? t('DOCUMENT_SIGN_BODY') : t('DOCUMENT_DELETE_BODY')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{showSignMessage ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t{openSampleDialog && (\r\n\t\t\t\t setOpenSampleDialog(false)}>\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t   {t('common.xlsxExample')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t   {t('common.xlsxSample')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t setOpenSampleDialog(false)}\r\n\t\t\t\t\t\t\t\tcolor='primary'\r\n\t\t\t\t\t\t\t\tsx={{ backgroundColor: theme.palette.background.paper }}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{t('common.close')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t{processingRowsErrorDialogOpen && (\r\n\t\t\t\t setProcessingRowsErrorDialogOpen(false)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('alertTitles.error')}: {processingRowsError[processingRowsErrorDialog._id]}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('groupActions.explanation')}{' '}\r\n\t\t\t\t\t\t\t\t{(() => {\r\n\t\t\t\t\t\t\t\t\tconst errorMessage = processingRowsError[processingRowsErrorDialog._id]\r\n\r\n\t\t\t\t\t\t\t\t\tconst errorTranslations = t('errors', { returnObjects: true })\r\n\t\t\t\t\t\t\t\t\tfor (const [startKey, explanation] of Object.entries(errorTranslations)) {\r\n\t\t\t\t\t\t\t\t\t\tif (errorMessage === startKey) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn explanation\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\tconst roumingErrorTranslations = t('roumingErrorStartWith', { returnObjects: true })\r\n\t\t\t\t\t\t\t\t\tfor (const [startKey, explanation] of Object.entries(roumingErrorTranslations)) {\r\n\t\t\t\t\t\t\t\t\t\tif (errorMessage?.startsWith(startKey)) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn explanation\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t{'Если указанный выше текст ошибки не помог решить проблему, '}\r\n\t\t\t\t\t\t\t\t\t\t\t{'пожалуйста, скопируйте его по нажатии кнопки и отправьте в техническую поддержку '}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\thttps://t.me/edocs_uz\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})()}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('detailPanel._id')} {processingRowsErrorDialog._id}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('detailPanel.roumingId')} {processingRowsErrorDialog.roumingId}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('detailPanel.status')} -{' '}\r\n\t\t\t\t\t\t\t\t{processingRowsErrorDialog.stateId ? processingRowsErrorDialog.stateId : `${t(`DOC_STATUS.${status}`)}`}\r\n\t\t\t\t\t\t\t\t: {processingRowsErrorDialog.stateId ? `${t(`DOC_STATUS.${processingRowsErrorDialog.stateId}`)}` : ''}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t copyToClipboard(dialogContentRef.current?.innerText || '')}\r\n\t\t\t\t\t\t\tcolor='secondary'\r\n\t\t\t\t\t\t\tsx={{ backgroundColor: theme.palette.background.paper }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('common.clickToCopyError')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t setProcessingRowsErrorDialogOpen(false)}\r\n\t\t\t\t\t\t\tcolor='primary'\r\n\t\t\t\t\t\t\tsx={{ backgroundColor: theme.palette.background.paper }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('common.close')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)}\r\n\r\n\t\t\t ({\r\n\t\t\t\t\tsx: {\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tbackgroundColor: theme.palette.background.tableBody,\r\n\t\t\t\t\t\t//делаю прозрачным те строки которые успешно обновлены/удалён или подписаны\r\n\t\t\t\t\t\tpointerEvents:\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'sign' ||\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'erase' ||\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'delete'\r\n\t\t\t\t\t\t\t\t? 'none'\r\n\t\t\t\t\t\t\t\t: 'auto',\r\n\t\t\t\t\t\topacity:\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'sign' ||\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'erase' ||\r\n\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'delete'\r\n\t\t\t\t\t\t\t\t? 0.4\r\n\t\t\t\t\t\t\t\t: 1\r\n\t\t\t\t\t}\r\n\t\t\t\t})}\r\n\t\t\t\tmuiTableContainerProps={{\r\n\t\t\t\t\tsx: {\r\n\t\t\t\t\t\tmaxHeight: maxHeight,\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tbackgroundColor: theme.palette.background.tableBody\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\t// Нижняя часть таблицы\r\n\t\t\t\tmuiBottomToolbarProps={{\r\n\t\t\t\t\tsx: {\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tbackgroundColor: theme.palette.background.tableContainer,\r\n\t\t\t\t\t\tborderTop: `1px solid ${theme.palette.divider}`\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\t// Устанавливаем радиус бордера для всего блока таблицы\r\n\t\t\t\tmuiTablePaperProps={{\r\n\t\t\t\t\tsx: {\r\n\t\t\t\t\t\tborderRadius: '12px',\r\n\t\t\t\t\t\toverflow: 'hidden'\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tenableColumnResizing\r\n\t\t\t\tenableColumnOrdering\r\n\t\t\t\t// enableColumnActions={false}\r\n\t\t\t\tenableRowActions\r\n\t\t\t\trenderRowActions={({ row }) => {\r\n\t\t\t\t\tconst rowId = row.original._id\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t{processingRowsError[rowId] ? (\r\n\t\t\t\t\t\t\t\t handleClickOpenProcessingRowsErrorDialog(row.original)}\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tfontSize: '12px',\r\n\t\t\t\t\t\t\t\t\t\ttextWrap: 'wrap',\r\n\t\t\t\t\t\t\t\t\t\tcolor: 'error.main',\r\n\t\t\t\t\t\t\t\t\t\tcursor: 'pointer'\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{t('alertTitles.error')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : processingRowsSuccess[rowId] ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{processingRowsSuccess[row.original._id] === 'erase' ||\r\n\t\t\t\t\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'delete'\r\n\t\t\t\t\t\t\t\t\t\t? t('groupActions.deleted')\r\n\t\t\t\t\t\t\t\t\t\t: processingRowsSuccess[row.original._id] === 'sign'\r\n\t\t\t\t\t\t\t\t\t\t? t('groupActions.signed')\r\n\t\t\t\t\t\t\t\t\t\t: processingRowsSuccess[row.original._id] === 'refreshNoNeed'\r\n\t\t\t\t\t\t\t\t\t\t? t('groupActions.refreshNoNeed')\r\n\t\t\t\t\t\t\t\t\t\t: t('groupActions.refreshed')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : processingRow === rowId ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : rowSelection[rowId] && processingRow !== rowId ? (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{processingRow ? t('groupActions.inLine') : t('groupActions.checked')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\tenableColumnFilters={false}\r\n\t\t\t\tenableGlobalFilter={false}\r\n\t\t\t\t// enableSorting={false}\r\n\t\t\t\tenablePagination={false}\r\n\t\t\t\tenableRowSelection={row =>\r\n\t\t\t\t\t(!processingRowsSuccess[row.original._id] && !processingRowsError[row.original._id]) ||\r\n\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'refresh' ||\r\n\t\t\t\t\tprocessingRowsSuccess[row.original._id] === 'refreshNoNeed'\r\n\t\t\t\t}\r\n\t\t\t\tgetRowId={row => row._id}\r\n\t\t\t\tonRowSelectionChange={setRowSelection}\r\n\t\t\t\tpositionToolbarAlertBanner='none'\r\n\t\t\t\tstate={{ rowSelection, showProgressBars }}\r\n\t\t\t\trenderTopToolbarCustomActions={() => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t{!selected.length && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\t\tpaddingLeft: isSmallScreen ? 0 : 1,\r\n\t\t\t\t\t\t\t\t\t\t\tpaddingRight: 1,\r\n\t\t\t\t\t\t\t\t\t\t\tlineHeight: 1,\r\n\t\t\t\t\t\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\t\t\t\t\t\ttextTransform: 'none',\r\n\t\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.grey[600],\r\n\t\t\t\t\t\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\t\t\t\t\t\tborderColor: theme.palette.background.icons\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{isSmallScreen ? null : t('common.createDoc')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t{selected.length > 0 && (\r\n\t\t\t\t\t\t\t\t setRowSelection({})}\r\n\t\t\t\t\t\t\t\t\tdisabledState={disabled.state}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t refetchDocs()}>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\trenderBottomToolbarCustomActions={() => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t setOpenSampleDialog(true)}\r\n\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t\tsize='medium'\r\n\t\t\t\t\t\t\t\t\tendIcon={}\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\tpaddingLeft: 1.5,\r\n\t\t\t\t\t\t\t\t\t\tpaddingRight: 2,\r\n\t\t\t\t\t\t\t\t\t\tlineHeight: 1,\r\n\t\t\t\t\t\t\t\t\t\theight: '100%',\r\n\t\t\t\t\t\t\t\t\t\ttextTransform: 'none',\r\n\t\t\t\t\t\t\t\t\t\tcolor: theme.palette.grey[600],\r\n\t\t\t\t\t\t\t\t\t\tborderColor: theme.palette.grey[600]\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{t('DownloadSample')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{rowsPerPage > 10 && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t showLess()} sx={{ color: 'background.icons' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t{!(docs?.length < rowsPerPage) && (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t showMore()} sx={{ color: 'background.icons' }}>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\tlayoutMode='grid'\r\n\t\t\t\trenderDetailPanel={({ row }) => }\r\n\t\t\t\tmuiTableDetailPanelProps={{\r\n\t\t\t\t\tsx: {\r\n\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\tjustifyContent: 'center',\r\n\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\twidth: '100%',\r\n\t\t\t\t\t\tborderBottom: `1px solid ${theme.palette.divider}`,\r\n\t\t\t\t\t\t// @ts-ignore\r\n\t\t\t\t\t\tbackgroundColor: theme.palette.background.tableBodyDetail\r\n\t\t\t\t\t}\r\n\t\t\t\t}}\r\n\t\t\t\tlocalization={{\r\n\t\t\t\t\texpand: t('common.expandDetailPanel'),\r\n\t\t\t\t\texpandAll: t('common.expandAllDetailPanels'),\r\n\t\t\t\t\tcollapse: t('common.collapsDetailPanel'),\r\n\t\t\t\t\tcollapseAll: t('common.collapsAllDetailPanels'),\r\n\t\t\t\t\ttoggleFullScreen: t('common.toggleFullScreen'),\r\n\t\t\t\t\ttoggleDensity: t('common.toggleDensity'),\r\n\t\t\t\t\tshowHideColumns: t('common.showHideColumns'),\r\n\t\t\t\t\thideAll: t('common.hideAll'),\r\n\t\t\t\t\tresetOrder: t('common.resetOrder'),\r\n\t\t\t\t\tshowAll: t('common.showAll'),\r\n\t\t\t\t\ttoggleSelectRow: t('common.toggleSelectRow'),\r\n\t\t\t\t\ttoggleSelectAll: t('common.toggleSelectAll'),\r\n\t\t\t\t\tselect: t('common.select'),\r\n\t\t\t\t\tnoRecordsToDisplay: t('common.noRecordsToDisplay'),\r\n\t\t\t\t\tactions: 'Статус'\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(DocumentsPreviewTable)\r\n","import { useConfirm } from 'material-ui-confirm'\r\nimport { useCallback } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { listOfDocumentCategories } from '../data/lists'\r\nimport {\r\n\tfetchDeleteDocument,\r\n\tfetchDocCounts,\r\n\tfetchDocument,\r\n\tfetchEraseDocument,\r\n\tfetchRefreshDocument,\r\n\tfetchRejectDocument,\r\n\tfetchSignedFile,\r\n\tfetchWaybillLocalMethods,\r\n\tfetchWaybillLocalSign\r\n} from '../redux/actions/DocumentsActions'\r\nimport { getAttachedInfo, signData } from '../redux/actions/EimzoActions'\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\nimport { useAppDispatch, useAppSelector } from './redux'\r\nimport useToggle from './useToggle'\r\nimport { useProfileGetter } from './useProfile'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\ninterface ICreateBased {\r\n\tnewDoc: string | undefined\r\n\tidentificator: string\r\n\tbased: string\r\n\tid: number\r\n}\r\n\r\ninterface IHookProps {\r\n\ttype: string\r\n\tid: string\r\n\tio: string\r\n\tstatus: string\r\n}\r\n\r\nconst waybillLocalActions: Record = {\r\n\t110: 'reject',\r\n\t140: 'till-return',\r\n\t160: 'reject'\r\n}\r\n\r\nconst waybillLocalUnwantedKeys = [\r\n\t'deliverytypename',\r\n\t'transporttypename',\r\n\t'currentstateid',\r\n\t'currentstatename',\r\n\t'states',\r\n\t'createdat',\r\n\t'updatedat',\r\n\t'singlesidedtype'\r\n]\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport function useOpenFile({ type, id, io, status }: IHookProps) {\r\n\tconst navigate = useNavigate()\r\n\tconst { t } = useTranslation()\r\n\tconst confirm = useConfirm()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst filterReducer = useAppSelector(state => state.filterReducer.filter)\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\tconst disabled = useToggle(false)\r\n\tconst keyId = profile?.keyId || ''\r\n\r\n\tconst editDocument = useCallback(() => {\r\n\t\tnavigate(`/edit/${type}/${id}`, { state: { corrected: false } })\r\n\t}, [])\r\n\r\n\tconst rejectItem = useCallback(async (note: string) => {\r\n\t\ttry {\r\n\t\t\tdisabled.on()\r\n\t\t\tlet signedData: any = {\r\n\t\t\t\tNotes: note\r\n\t\t\t}\r\n\t\t\tconst doc = await fetchDocument(type!, id!)\r\n\r\n\t\t\tlet side = type === 'actVerification' ? 'partner' : doc?.data?.buyertin === profile.tin ? 'buyer' : 'agent'\r\n\t\t\tif (type === 'universal' || type === 'actGoodsAcceptance') {\r\n\t\t\t\tside = 'client'\r\n\t\t\t}\r\n\t\t\tlet nameData = 'Data'\r\n\t\t\tif (type === 'factura') {\r\n\t\t\t\tnameData = 'Factura'\r\n\t\t\t} else if (type == 'empowerment') {\r\n\t\t\t\tnameData = 'Empowerment'\r\n\t\t\t\tside = doc.data.buyertin === profile.tin ? 'buyer' : doc.data.sellertin === profile.tin ? 'seller' : 'agent'\r\n\t\t\t} else if (type == 'waybill') {\r\n\t\t\t\tnameData = 'Waybill'\r\n\t\t\t} else if (type == 'actGoodsAcceptance') {\r\n\t\t\t\tnameData = 'Data'\r\n\t\t\t} else if (type == 'actWorkPerformed') {\r\n\t\t\t\tnameData = 'Act'\r\n\t\t\t} else if (type == 'contract') {\r\n\t\t\t\tnameData = 'Contract'\r\n\t\t\t\tside = 'client'\r\n\t\t\t} else if (type == 'actVerification') {\r\n\t\t\t\tnameData = 'VerificationAct'\r\n\t\t\t} else if (type == 'waybillLocal') {\r\n\t\t\t\tnameData = 'WaybillLocal'\r\n\t\t\t}\r\n\t\t\tsignedData[nameData] = doc.data\r\n\r\n\t\t\tlet pkcs = { sign: '', success: false }\r\n\t\t\tconst isResponsiblePerson = doc.data?.responsibleperson?.pinfl === profile.tin || false\r\n\t\t\tconst isConsignee = doc?.data?.consignee?.tinorpinfl === profile.tin || false\r\n\r\n\t\t\tif (doc.type === 'waybillLocal') {\r\n\t\t\t\tif (doc.stateId === 110) {\r\n\t\t\t\t\tpkcs.success = true\r\n\t\t\t\t} else if (doc.stateId === 140 && isConsignee) {\r\n\t\t\t\t\tpkcs.success = true\r\n\t\t\t\t} else if (doc.stateId === 140 && isResponsiblePerson) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ResponsiblePersonTillReturned',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tResponsiblePersonPinfl: profile.tin,\r\n\t\t\t\t\t\tNotes: note\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs.sign = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t\tpkcs.success = true\r\n\t\t\t\t} else if (doc.stateId === 160 && !isResponsiblePerson) {\r\n\t\t\t\t\tpkcs = await fetchWaybillLocalSign(doc._id, 'consignee', 6)\r\n\t\t\t\t} else if (isResponsiblePerson && [160, 170].includes(doc.stateId)) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ResponsiblePersonReturned',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tResponsiblePersonPinfl: profile.tin,\r\n\t\t\t\t\t\tNotes: note\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs.sign = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t\tpkcs.success = true\r\n\t\t\t\t} else if (doc.stateId === 150) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\t\tConsignorTinOrPinfl: profile.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs.sign = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t\tpkcs.success = true\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tpkcs = await fetchSignedFile(type, id as string, side)\r\n\t\t\t}\r\n\r\n\t\t\tif (!pkcs.success) {\r\n\t\t\t\tthrow new Error('no sign on document')\r\n\t\t\t}\r\n\r\n\t\t\t//тут pkcs7 формируется\r\n\t\t\tlet pkcs7 = null\r\n\r\n\t\t\tif (doc.type === 'waybillLocal' && isResponsiblePerson && [160, 170].includes(doc.stateId)) {\r\n\t\t\t\tpkcs7 = pkcs.sign\r\n\t\t\t} else {\r\n\t\t\t\tif (doc.type === 'waybillLocal') {\r\n\t\t\t\t\twaybillLocalUnwantedKeys.map(k => {\r\n\t\t\t\t\t\tdelete signedData.WaybillLocal[k]\r\n\t\t\t\t\t})\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (signedData.WaybillLocal.waybilllocaltypename) {\r\n\t\t\t\t\t\t\tdelete signedData.WaybillLocal.waybilllocaltypename\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (signedData.WaybillLocal.singlesidedtype) {\r\n\t\t\t\t\t\t\tdelete signedData.WaybillLocal.singlesidedtype\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (signedData.WaybillLocal.singlesidedtypename) {\r\n\t\t\t\t\t\t\tdelete signedData.WaybillLocal.singlesidedtypename\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(signedData), keyId))\r\n\t\t\t\t}\r\n\t\t\t\tif (doc.stateId === 150) {\r\n\t\t\t\t\tpkcs7 = pkcs.sign\r\n\t\t\t\t} else if (!isResponsiblePerson && doc.stateId !== 140) {\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(signedData), keyId))\r\n\t\t\t\t} else if (isResponsiblePerson && doc.stateId === 140) {\r\n\t\t\t\t\tpkcs7 = pkcs.sign\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (doc.type !== 'waybillLocal') {\r\n\t\t\t\t\tsignedData[nameData] = await dispatch(getAttachedInfo(pkcs?.sign, true))\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(signedData), keyId))\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//тут происходит сам процесс подписания\r\n\t\t\tif (!!pkcs7) {\r\n\t\t\t\tlet res = null\r\n\t\t\t\tif (doc.type === 'waybillLocal' && isResponsiblePerson && [160, 170].includes(doc.stateId)) {\r\n\t\t\t\t\tres = await fetchWaybillLocalMethods(doc._id, pkcs7, 'return')\r\n\t\t\t\t} else if (doc.type === 'waybillLocal' && doc.stateId === 150) {\r\n\t\t\t\t\tres = await fetchWaybillLocalMethods(doc._id, pkcs7, 'return')\r\n\t\t\t\t} else if (doc.type === 'waybillLocal' && doc.stateId === 140 && isResponsiblePerson) {\r\n\t\t\t\t\tres = await fetchWaybillLocalMethods(doc._id, pkcs7, waybillLocalActions[doc.stateId])\r\n\t\t\t\t} else {\r\n\t\t\t\t\tres = await fetchRejectDocument(type, id, pkcs7)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tawait dispatch(fetchDocCounts('all'))\r\n\t\t\t\tawait fetchRefreshDocument(type, id)\r\n\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.docRejected'),\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t\tnavigate(-1)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('Ошибка при загрузке данных:', error)\r\n\t\t} finally {\r\n\t\t\tdisabled.off()\r\n\t\t}\r\n\t}, [])\r\n\r\n\tconst deleteItem = useCallback(async () => {\r\n\t\tawait confirm({\r\n\t\t\ttitle: `${t('alertTitles.warning')} !`,\r\n\t\t\tdescription: `${t('DELETE_SELECTED')} 1`,\r\n\t\t\tcancellationText: t('NO'),\r\n\t\t\tconfirmationText: t('YES')\r\n\t\t})\r\n\t\t\t.then(async () => {\r\n\t\t\t\tdisabled.on()\r\n\t\t\t\t// await fetchEraseDocument(type!, id!)\r\n\t\t\t\tconst doc = await fetchDocument(type!, id!)\r\n\t\t\t\tlet pkcs7 = ''\r\n\t\t\t\tif (io === 'out' && status === 'sended') {\r\n\t\t\t\t\tlet data: any = {}\r\n\t\t\t\t\tif (type === 'factura') {\r\n\t\t\t\t\t\tdata.SellerTin = profile.tin\r\n\t\t\t\t\t\tdata.FacturaId = doc.data.facturaid\r\n\t\t\t\t\t} else if (type === 'empowerment') {\r\n\t\t\t\t\t\tdata.BuyerTin = profile.tin\r\n\t\t\t\t\t\tdata.EmpowermentId = doc.data.empowermentid\r\n\t\t\t\t\t} else if (type === 'waybill') {\r\n\t\t\t\t\t\tdata.CarrierTin = profile.tin\r\n\t\t\t\t\t\tdata.WaybillIds = doc.data.waybillids\r\n\t\t\t\t\t} else if (type === 'actWorkPerformed') {\r\n\t\t\t\t\t\tdata.SellerTin = profile.tin\r\n\t\t\t\t\t\tdata.ActId = doc.data.actid\r\n\t\t\t\t\t} else if (type === 'contract') {\r\n\t\t\t\t\t\tdata.OwnerTin = profile.tin\r\n\t\t\t\t\t\tdata.ContractId = doc.data.contractid\r\n\t\t\t\t\t} else if (type === 'actVerification') {\r\n\t\t\t\t\t\tdata.OwnerTin = profile.tin\r\n\t\t\t\t\t\tdata.VerificationActId = doc.data.verificationactid\r\n\t\t\t\t\t} else if (type == 'actGoodsAcceptance') {\r\n\t\t\t\t\t\tdata.CarrierTin = profile.tin\r\n\t\t\t\t\t\tdata.ActId = doc.data.actid\r\n\t\t\t\t\t} else if (type === 'waybillLocal') {\r\n\t\t\t\t\t\tconst doc = await fetchDocument(type!, id!)\r\n\t\t\t\t\t\tdata = {\r\n\t\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorCanceled',\r\n\t\t\t\t\t\t\tWaybillLocalId: doc?.roumingId || '',\r\n\t\t\t\t\t\t\tConsignorTinOrPinfl: profile.tin\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata.OwnerTin = profile.tin\r\n\t\t\t\t\t\tdata.Type = type\r\n\t\t\t\t\t\tdata.Id = id\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = (await dispatch(signData(JSON.stringify(data), keyId))) as string\r\n\t\t\t\t}\r\n\t\t\t\tconst res = await fetchDeleteDocument(type, id, pkcs7)\r\n\t\t\t\tdispatch(fetchDocCounts(filterReducer.docType !== 'all' ? filterReducer.docType : 'all'))\r\n\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.docDeleted'),\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tnavigate(-1)\r\n\t\t\t})\r\n\t\t\t.catch()\r\n\t\t\t.finally(() => disabled.off())\r\n\t}, [])\r\n\r\n\tconst eraseItem = useCallback(async () => {\r\n\t\tif (!type || !id) return\r\n\t\tawait confirm({\r\n\t\t\ttitle: `${t('alertTitles.warning')} !`,\r\n\t\t\tdescription: `${t('DELETE_SELECTED')} 1`,\r\n\t\t\tcancellationText: t('NO'),\r\n\t\t\tconfirmationText: t('YES')\r\n\t\t})\r\n\t\t\t.then(async () => {\r\n\t\t\t\tdisabled.on()\r\n\t\t\t\tawait fetchEraseDocument(type, id)\r\n\t\t\t\tdispatch(fetchDocCounts(filterReducer.docType !== 'all' ? filterReducer.docType : 'all'))\r\n\t\t\t\tnavigate(-1)\r\n\t\t\t})\r\n\t\t\t.catch()\r\n\t\t\t.finally(() => disabled.off())\r\n\t}, [])\r\n\r\n\tconst createBased = useCallback((props: ICreateBased) => {\r\n\t\tlet { newDoc, id, identificator, based } = props\r\n\t\tconst navParams = {\r\n\t\t\tstate: {\r\n\t\t\t\tid: identificator,\r\n\t\t\t\tbased: based,\r\n\t\t\t\tnewDoc: '',\r\n\t\t\t\tcorrected: false,\r\n\t\t\t\tadditional: false\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (newDoc === 'copy') {\r\n\t\t\tnewDoc = based\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === based?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t\tif (based === 'factura') {\r\n\t\t\t\tif (id === 4) {\r\n\t\t\t\t\tnavParams.state.corrected = true\r\n\t\t\t\t} else if (id === 5) {\r\n\t\t\t\t\tnavParams.state.additional = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === newDoc?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t}\r\n\t\tnavigate(`/document/${newDoc}`, { state: navParams })\r\n\t}, [])\r\n\r\n\treturn {\r\n\t\tcreateBased,\r\n\t\teraseItem,\r\n\t\tdeleteItem,\r\n\t\trejectItem,\r\n\t\teditDocument,\r\n\t\tdisabled\r\n\t}\r\n}\r\n","import React, { useMemo, useState } from 'react'\r\nimport {\r\n\tMenu,\r\n\tCard,\r\n\tMenuItem,\r\n\tBox,\r\n\tDialog,\r\n\tDialogContentText,\r\n\tDialogActions,\r\n\tButton,\r\n\tStack,\r\n\tDialogTitle,\r\n\tTypography\r\n} from '@mui/material'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Icon } from '@iconify/react'\r\nimport { useNavigate } from 'react-router-dom'\r\nimport { listOfDocumentCategories } from '../../../data/lists'\r\nimport useToggle from '../../../hooks/useToggle'\r\nimport { Translate } from '../translate/Translate'\r\nimport { fetchDocument } from '../../../redux/actions/DocumentsActions'\r\nimport { IContractEntity } from '../../../models'\r\nimport add from '@iconify/icons-carbon/document-add'\r\n\r\nconst RowMoreDocuments = ({\r\n\tidentificator,\r\n\ttype,\r\n\tstatus,\r\n\tstateId,\r\n\tio\r\n}: {\r\n\tidentificator: string\r\n\ttype: string\r\n\tstatus: string\r\n\tstateId: number\r\n\tio?: string\r\n}) => {\r\n\tconst modal = useToggle(false)\r\n\tconst [contractClients, setContractClients] = useState([])\r\n\r\n\tconst moreDocCateg = useMemo(() => {\r\n\t\tlet documents = []\r\n\t\tif (type === 'factura') {\r\n\t\t\tdocuments.push(\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 1,\r\n\t\t\t\t\tlabel: 'CREATE_ON_BASE.actWorkPerformed',\r\n\t\t\t\t\tnewDoc: 'actWorkPerformed'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 2,\r\n\t\t\t\t\tlabel: 'CREATE_ON_BASE.actGoodsAcceptance',\r\n\t\t\t\t\tnewDoc: 'actGoodsAcceptance'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tid: 3,\r\n\t\t\t\t\tlabel: 'CREATE_ON_BASE.waybillLocal',\r\n\t\t\t\t\tnewDoc: 'waybillLocal'\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tif (status === 'signed') {\r\n\t\t\t\tdocuments.push(\r\n\t\t\t\t\t{ id: 4, label: 'CREATE_ON_BASE.facturaCorrected', newDoc: 'copy' },\r\n\t\t\t\t\t{ id: 5, label: 'CREATE_ON_BASE.facturaAdditional', newDoc: 'copy' }\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t} else if (type === 'waybillLocal' && stateId === 180) {\r\n\t\t\tdocuments.push({ id: 7, label: 'CREATE_ON_BASE.waybillLocalCorrected', newDoc: 'copy' })\r\n\t\t} else if (type === 'waybillLocal' && [160, 180].includes(stateId)) {\r\n\t\t\tdocuments.push({ id: 8, label: 'CREATE_ON_BASE.waybillLocalAdditional', newDoc: 'copy' })\r\n\t\t} else if (type === 'contract') {\r\n\t\t\tif (io === 'in') {\r\n\t\t\t\tdocuments.push({ id: 10, label: 'CREATE_ON_BASE.empowerment', newDoc: 'empowerment' })\r\n\t\t\t} else {\r\n\t\t\t\tdocuments.push({ id: 9, label: 'CREATE_ON_BASE.factura', newDoc: 'factura' })\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (['waybillLocal', 'actWorkPerformed', 'actGoodsAcceptance', 'empowerment'].includes(type)) {\r\n\t\t\tdocuments.push({\r\n\t\t\t\tid: 6,\r\n\t\t\t\tlabel: 'CREATE_ON_BASE.factura',\r\n\t\t\t\tnewDoc: 'factura'\r\n\t\t\t})\r\n\t\t}\r\n\r\n\t\treturn documents\r\n\t}, [status, type, stateId])\r\n\r\n\tconst { t } = useTranslation()\r\n\tconst navigate = useNavigate()\r\n\r\n\tconst [anchorEl, setAnchorEl] = useState(null)\r\n\r\n\tconst handlePoperClick = (event: React.MouseEvent) => {\r\n\t\tif (moreDocCateg.length === 1) {\r\n\t\t\tcreateBasedDoc(moreDocCateg[0].newDoc, identificator, type, moreDocCateg[0].id, stateId)\r\n\t\t} else {\r\n\t\t\tsetAnchorEl(event.currentTarget)\r\n\t\t}\r\n\t}\r\n\r\n\tconst handlePoperClose = () => {\r\n\t\tsetAnchorEl(null)\r\n\t}\r\n\r\n\tconst filterPopover = Boolean(anchorEl)\r\n\tconst idPopover = filterPopover ? 'more-popover' : undefined\r\n\r\n\tconst createBasedDoc = (\r\n\t\tnewDoc: string | undefined,\r\n\t\tidentificator: string,\r\n\t\tbased: string,\r\n\t\tid: number,\r\n\t\tstateId: number\r\n\t) => {\r\n\t\tconst navParams = {\r\n\t\t\tstate: {\r\n\t\t\t\tid: identificator,\r\n\t\t\t\tbased: based,\r\n\t\t\t\tnewDoc: '',\r\n\t\t\t\tcorrected: false,\r\n\t\t\t\tadditional: false,\r\n\t\t\t\tstateId\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (newDoc === 'copy') {\r\n\t\t\tnewDoc = based\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === based?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t\tif (based === 'factura') {\r\n\t\t\t\tif (id === 4) {\r\n\t\t\t\t\tnavParams.state.corrected = true\r\n\t\t\t\t} else if (id === 5) {\r\n\t\t\t\t\tnavParams.state.additional = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (based === 'waybillLocal') {\r\n\t\t\t\tif (id === 7) {\r\n\t\t\t\t\tnavParams.state.corrected = true\r\n\t\t\t\t} else if (id === 8) {\r\n\t\t\t\t\tnavParams.state.additional = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === newDoc?.toLowerCase())\r\n\t\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\t\t}\r\n\t\tif (based === 'contract') {\r\n\t\t\tcheckContract()\r\n\t\t} else {\r\n\t\t\tnavigate(`/document/${newDoc}`, { state: navParams })\r\n\t\t}\r\n\t}\r\n\r\n\tconst checkContract = async () => {\r\n\t\tconst res = await fetchDocument(type, identificator)\r\n\t\tif (!res.data) return\r\n\r\n\t\tif (res.data.clients?.length > 1) {\r\n\t\t\tmodal.on()\r\n\t\t\tsetContractClients(res.data.clients)\r\n\t\t} else {\r\n\t\t\tredirectToNewDoc(res.data.clients[0].tin)\r\n\t\t}\r\n\t}\r\n\r\n\tconst redirectToNewDoc = (tin: string) => {\r\n\t\tconst navParams = {\r\n\t\t\tstate: {\r\n\t\t\t\tid: identificator,\r\n\t\t\t\tbased: type,\r\n\t\t\t\tnewDoc: '',\r\n\t\t\t\tcorrected: false,\r\n\t\t\t\tadditional: false,\r\n\t\t\t\ttargetTin: tin,\r\n\t\t\t\tstateId\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst newDoc = io === 'in' ? 'empowerment' : 'factura'\r\n\r\n\t\tconst foundDoc = listOfDocumentCategories.find(item => item.name.toLowerCase() === newDoc?.toLowerCase())\r\n\t\tnavParams.state.newDoc = foundDoc?.name || ''\r\n\r\n\t\tnavigate(`/document/${newDoc}`, { state: navParams })\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t modal.off()}>\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{contractClients.length\r\n\t\t\t\t\t\t\t? contractClients.map(client => (\r\n\t\t\t\t\t\t\t\t\t redirectToNewDoc(client.tin)}\r\n\t\t\t\t\t\t\t\t\t\tkey={client.tin}\r\n\t\t\t\t\t\t\t\t\t\tsx={{ p: 1, mt: 1, borderRadius: 1, border: '1px solid #888', cursor: 'pointer' }}\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t   {client.tin}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t   {client.name}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t ))\r\n\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{moreDocCateg.map(item => (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\tcreateBasedDoc(item!.newDoc, identificator, type, item.id, stateId)\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t(item.label)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default RowMoreDocuments\r\n","import React, { memo, useMemo } from 'react'\r\nimport { Box, Typography, Table, TableHead, TableRow, TableCell, TableBody, Chip, Button } from '@mui/material'\r\n\r\nimport { MARK_TYPES } from '../../../data/marks'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useCopy } from '../../../hooks/useCopy'\r\nimport * as XLSX from 'xlsx'\r\n\r\ninterface MarksData {\r\n\tproduct_name: string;\r\n\tproduct_type: string;\r\n\tpackage_type: string;\r\n\tmark_code: string;\r\n}\r\n\r\nconst RenderMarksList = memo(({ doc }: { doc: any }) => {\r\n\tconst { t } = useTranslation()\r\n\tconst { copyToClipboard } = useCopy()\r\n\r\n\tconst tableHeads = useMemo(\r\n\t\t() => [\r\n\t\t\t{ id: 1, name: '№' },\r\n\t\t\t{ id: 2, name: t('open_file_table_heads.product_name') },\r\n\t\t\t{ id: 3, name: t('open_file_table_heads.product_type') },\r\n\t\t\t{ id: 4, name: t('open_file_table_heads.package_type') }\r\n\t\t],\r\n\t\t[]\r\n\t)\r\n\r\n\tconst splitMarks = (item: any) => {\r\n\t\tlet marks = { consumer: [], group: [], transport: [] }\r\n\r\n\t\tif (item?.marks?.kiz?.length) {\r\n\t\t\tmarks.consumer = item.marks.kiz\r\n\t\t}\r\n\t\tif (item?.marks?.nomupak?.length) {\r\n\t\t\tmarks.group = item.marks.nomupak\r\n\t\t}\r\n\t\tif (item?.marks?.identtransupak?.length) {\r\n\t\t\tmarks.transport = item.marks.identtransupak\r\n\t\t}\r\n\t\treturn marks\r\n\t}\r\n\r\n\tconst downloadMarksAsExcel = () => {\r\n\t\tconst marksData: MarksData[] = []\r\n\t\tdoc?.data?.productlist?.products?.forEach((item: any) => {\r\n\t\t\tconst marks = splitMarks(item)\r\n\t\r\n\t\t\tconst allMarks = [\r\n\t\t\t\t...marks.consumer.map((mark) => ({ mark, packageType: 'consumer' })),\r\n\t\t\t\t...marks.group.map((mark) => ({ mark, packageType: 'group' })),\r\n\t\t\t\t...marks.transport.map((mark) => ({ mark, packageType: 'transport' }))\r\n\t\t\t]\r\n\t\t\t\r\n\t\t\tallMarks.forEach(({ mark, packageType }, index) => {\r\n\t\t\t\tconst productData = {\r\n\t\t\t\t\tproduct_name: index === 0 ? item.name : '',\r\n\t\t\t\t\tproduct_type: index === 0 ? t(\r\n\t\t\t\t\t\t`MARKS.${\r\n\t\t\t\t\t\t\tMARK_TYPES.find(mark => mark.value === item.marks?.producttype)?.name || 'not_selected'\r\n\t\t\t\t\t\t}`) : '',\r\n\t\t\t\t\tpackage_type: t(`PACKAGES.${packageType || 'not_selected'}`),\r\n\t\t\t\t\tmark_code: mark\r\n\t\t\t\t}\r\n\t\t\t\tmarksData.push(productData)\r\n\t\t\t})\r\n\t\t})\r\n\r\n\r\n\t\tconst ws = XLSX.utils.json_to_sheet(marksData, {\r\n\t\t\theader: [],\r\n\t\t\tskipHeader: true\r\n\t\t})\r\n\r\n const wb = XLSX.utils.book_new()\r\n XLSX.utils.book_append_sheet(wb, ws, 'Marks')\r\n\r\n XLSX.writeFile(wb, 'коды маркировки.xlsx')\r\n}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{tableHeads.map(cell => (\r\n\t\t\t\t\t\t\t{cell.name}\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{doc?.data?.productlist?.products?.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{index + 1}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t(\r\n\t\t\t\t\t\t\t\t\t\t`MARKS.${\r\n\t\t\t\t\t\t\t\t\t\t\tMARK_TYPES.find(mark => mark.value === (item && item.marks ? item.marks.producttype : null))\r\n\t\t\t\t\t\t\t\t\t\t\t\t?.name || 'not_selected'\r\n\t\t\t\t\t\t\t\t\t\t}`\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{Object.entries(splitMarks(item)).map(([markType, marks]) =>\r\n\t\t\t\t\t\t\t\t\tmarks.length ? (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t(`PACKAGES.${markType || 'not_selected'}`)}:\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{marks.map((mark: string) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t copyToClipboard(mark)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor='info'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize='small'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t) : null\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n})\r\n\r\nexport default RenderMarksList\r\n","import React, { useEffect, useRef, useState, useMemo } from 'react'\r\nimport { useLocation, useNavigate, useParams } from 'react-router-dom'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { format } from 'date-fns'\r\nimport './index.scss'\r\n//redux\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { appendSign, signData } from '../../../redux/actions/EimzoActions'\r\nimport { fetchProfileType } from '../../../redux/actions/ProfileActions'\r\nimport {\r\n\tgetDownloadDocument,\r\n\tgetPrintDocument,\r\n\tfetchDocument,\r\n\tfetchSignedFile,\r\n\tfetchSignDocument,\r\n\tfetchRefreshDocument,\r\n\tfetchEditDocument,\r\n\tfetchWaybillLocalSign,\r\n\tfetchWaybillLocalMethods\r\n} from '../../../redux/actions/DocumentsActions'\r\n//hooks and utils\r\nimport useToggle from '../../../hooks/useToggle'\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/redux'\r\nimport { useProfileGetter } from '../../../hooks/useProfile'\r\nimport { useOpenFile } from '../../../hooks/use-open-file'\r\n//material\r\nimport {\r\n\tBox,\r\n\tButton,\r\n\tButtonGroup,\r\n\tCard,\r\n\tStack,\r\n\tTextField,\r\n\tTypography,\r\n\tDialog,\r\n\tDialogActions,\r\n\tDialogContent,\r\n\tDialogTitle\r\n} from '@mui/material'\r\nimport LoadingButton from '@mui/lab/LoadingButton'\r\n// icons\r\nimport { Icon } from '@iconify/react'\r\nimport backIcon from '@iconify/icons-carbon/arrow-left'\r\nimport update from '@iconify/icons-carbon/update-now'\r\nimport sign from '@iconify/icons-carbon/document-tasks'\r\nimport reject from '@iconify/icons-carbon/document-subtract'\r\nimport pdfDoc from '@iconify/icons-carbon/generate-pdf'\r\nimport print from '@iconify/icons-carbon/printer'\r\nimport edit from '@iconify/icons-carbon/edit'\r\nimport eraseBtn from '@iconify/icons-carbon/column-delete'\r\nimport trashCan from '@iconify/icons-carbon/trash-can'\r\nimport copy from '@iconify/icons-carbon/copy-file'\r\nimport barCode from '@iconify/icons-carbon/barcode'\r\n//components\r\nimport RowMoreDocuments from '../tables/RowMoreDocuments'\r\nimport RenderMarksList from '../tables/RenderMarksList'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\ninterface IStateProps {\r\n\ttype: string\r\n\tio: string\r\n\tstatus: string\r\n\t_id: string\r\n}\r\n\r\nconst waybillLocalActions: Record = {\r\n\t110: 'accept',\r\n\t140: 'give',\r\n\t160: 'accept',\r\n\t150: 'return',\r\n\t190: 'return'\r\n}\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst OpenFile = () => {\r\n\tconst { type, id } = useParams()\r\n\tconst { t } = useTranslation()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst navigate = useNavigate()\r\n\tconst location = useLocation().state as IStateProps\r\n\tconst isUniversal = location.type === 'universal'\r\n\r\n\tconst [lastScrollY, setLastScrollY] = useState(0)\r\n\tconst [topValue, setTopValue] = useState('52px')\r\n\r\n\tconst [link, setLink] = useState('')\r\n\tconst [doc, setDoc] = useState({})\r\n\tconst ref = useRef(null)\r\n\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\tconst isAuthWithPassword = !!profile.isAuthWithPassword\r\n\tconst keyId = profile?.keyId || ''\r\n\r\n\tconst marksModal = useToggle(false)\r\n\tconst isSidebarShown = useAppSelector(state => state.appReducer.showSidebar)\r\n\r\n\tconst isWaybillLocalType = type === 'waybillLocal'\r\n\tconst isConsignor = doc?.data?.consignor?.tinorpinfl === profile.tin\r\n\tconst isConsignee = doc?.data?.consignee?.tinorpinfl === profile.tin\r\n\tconst isRespPerson = doc?.data?.responsibleperson?.pinfl === profile.tin\r\n\r\n\tconst handleOpenMarks = () => marksModal.on()\r\n\tconst handleCloseMarks = () => marksModal.off()\r\n\r\n\tconst { createBased, eraseItem, deleteItem, rejectItem, editDocument, disabled } = useOpenFile({\r\n\t\ttype: location.type,\r\n\t\tid: id as string,\r\n\t\tio: location.io,\r\n\t\tstatus: location.status\r\n\t})\r\n\r\n\tconst createBasedDoc = (newDoc: string | undefined, identificator: string, based: string, id: number) => {\r\n\t\tcreateBased({ newDoc, id, identificator, based })\r\n\t}\r\n\r\n\tconst comment = useRef(null)\r\n\tconst rejectModal = useToggle(false)\r\n\tconst noCommentError = useToggle(false)\r\n\r\n\tconst handleDocumentReject = () => {\r\n\t\tif (!comment.current) return\r\n\r\n\t\tif (comment.current.value.trim()) {\r\n\t\t\trejectItem(comment.current.value.trim())\r\n\t\t\trejectModal.off()\r\n\t\t\tnoCommentError.off()\r\n\t\t} else {\r\n\t\t\tnoCommentError.on()\r\n\t\t}\r\n\t}\r\n\r\n\tconst fetchPrintDocument = async () => {\r\n\t\tif (!type && !id) return\r\n\r\n\t\tconst [res, res2] = await Promise.all([\r\n\t\t\t//@ts-ignore\r\n\t\t\tgetPrintDocument(type, id),\r\n\t\t\t//@ts-ignore\r\n\t\t\tfetchDocument(type, id)\r\n\t\t])\r\n\t\tif (!!res2._id) {\r\n\t\t\tsetDoc(res2)\r\n\t\t}\r\n\t\tsetLink(res)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tfetchPrintDocument()\r\n\t}, [])\r\n\r\n\tconst goBack = () => {\r\n\t\tnavigate(-1)\r\n\t}\r\n\r\n\tconst { REACT_APP_DEVELOPMENT_URL } = process.env\r\n\tconst printDoc = () => {\r\n\t\twindow.open(`${REACT_APP_DEVELOPMENT_URL}/documents/${type}/${id}/file/file`)\r\n\t}\r\n\r\n\tconst printProtocol = async () => {\r\n\t\twindow.open(`${REACT_APP_DEVELOPMENT_URL}/documents/${type}/${id}/false/file`)\r\n\t}\r\n\r\n\tconst downloadPdf = async () => {\r\n\t\tconst res = await getDownloadDocument(type!, id!)\r\n\t\tconst downloadElement = document.createElement('a')\r\n\t\tdownloadElement.href = 'data:application/pdf;base64,' + res.base64\r\n\t\tdownloadElement.download = `${type}-${id}`\r\n\t\tdownloadElement.click()\r\n\t}\r\n\r\n\tconst renewDocument = async (type: string, id: string) => {\r\n\t\tif (type === 'actGoodsAcceptance' || type === 'universal' || type === 'invoice') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tdisabled.on()\r\n\t\t\tconst res = await fetchRefreshDocument(type, id, false)\r\n\t\t\tif (res?.status === 200) {\r\n\t\t\t\tfetchPrintDocument()\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tmessage: t('alertTitles.docUpdate'),\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t} else if (location.type === 'factura' && location.status === 'drafts') {\r\n\t\t\t\trefreshDraft(type, id)\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\tdisabled.off()\r\n\t\t}\r\n\t}\r\n\r\n\tconst signDocument = async () => {\r\n\t\tlet signRes = null\r\n\t\tif (\r\n\t\t\tdoc?.data &&\r\n\t\t\t!Object.hasOwn(doc.data, 'signed') &&\r\n\t\t\tObject.hasOwn(doc.data, 'facturaid') &&\r\n\t\t\tlocation.io === 'in'\r\n\t\t) {\r\n\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\tlocation.type,\r\n\t\t\t\tid as string,\r\n\t\t\t\tdoc.data.buyertin === profile?.tin ? 'buyer' : 'agent'\r\n\t\t\t)\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\tdisabled.on()\r\n\t\t\tlet doc = await fetchDocument(type!, id!)\r\n\t\t\tlet pkcs7: any = ''\r\n\t\t\tif (location.io === 'out' && doc.status === 'drafts' && doc.type === 'empowerment') {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdoc.data.agent.jobtitle != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.dateofissue != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.issuedby != null ||\r\n\t\t\t\t\tdoc.data.agent.passport.number != null\r\n\t\t\t\t) {\r\n\t\t\t\t\tlet newDoc = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\t\tnewDoc.data.agent.jobtitle = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.dateofissue = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.issuedby = null\r\n\t\t\t\t\tnewDoc.data.agent.passport.number = null\r\n\t\t\t\t\tawait fetchEditDocument(newDoc.type, newDoc._id, newDoc.data)\r\n\t\t\t\t\tdoc = await fetchDocument(newDoc.type, newDoc._id)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (location.io === 'out' && doc.status === 'drafts' && doc.type === 'factura') {\r\n\t\t\t\tif (\r\n\t\t\t\t\tdoc.data.hasOwnProperty('realizationpurpose') ||\r\n\t\t\t\t\tdoc.data.seller.hasOwnProperty('category') ||\r\n\t\t\t\t\tdoc.data.seller?.taxgap !== null ||\r\n\t\t\t\t\tdoc.data.buyer?.taxgap !== null\r\n\t\t\t\t) {\r\n\t\t\t\t\tlet newDoc = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\t\tdelete newDoc.data?.realizationpurpose\r\n\t\t\t\t\tdelete newDoc.data.seller?.category\r\n\t\t\t\t\tdelete newDoc.data.seller?.taxgap\r\n\t\t\t\t\tdelete newDoc.data.buyer?.taxgap\r\n\t\t\t\t\tawait fetchEditDocument(newDoc.type, newDoc._id, newDoc.data)\r\n\t\t\t\t\tdoc = await fetchDocument(newDoc.type, newDoc._id)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (location.io === 'out' && doc.status === 'drafts') {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(doc.data), keyId))\r\n\t\t\t} else if (location.io === 'in' && doc.status === 'sended' && doc.type === 'empowerment') {\r\n\t\t\t\tlet agent = doc.targetTins.find((obj: any) => obj.side === 'agent')\r\n\t\t\t\tlet sign = await fetchSignedFile('empowerment', doc._id, profile?.personalNum == agent.tin ? 'agent' : 'seller')\r\n\t\t\t\tif (!sign) return\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t} else if (location.io === 'in' && doc.status === 'sended' && doc.type === 'contract') {\r\n\t\t\t\tlet client = doc.targetTins.find((obj: any) => obj.side === 'client' && obj.tin === profile?.tin)\r\n\t\t\t\tif (!client) return\r\n\t\t\t\tlet sign = await fetchSignedFile('contract', doc._id, 'client')\r\n\t\t\t\tif (!sign) return\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t} else if (\r\n\t\t\t\tlocation.io === 'in' &&\r\n\t\t\t\tdoc.status === 'sended' &&\r\n\t\t\t\tdoc.type !== 'waybillLocal' &&\r\n\t\t\t\t['actWorkPerformed', 'actVerification', 'actGoodsAcceptance', 'universal', 'invoice'].includes(doc.type)\r\n\t\t\t) {\r\n\t\t\t\tlet signType = ''\r\n\r\n\t\t\t\tif (doc.type === 'actWorkPerformed' || doc.type === 'invoice') {\r\n\t\t\t\t\tsignType = 'buyer'\r\n\t\t\t\t} else if (doc.type === 'actVerification') {\r\n\t\t\t\t\tsignType = 'partner'\r\n\t\t\t\t} else if (doc.type === 'actGoodsAcceptance' || doc.type === 'universal') {\r\n\t\t\t\t\tsignType = 'client'\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!signRes) {\r\n\t\t\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\t\t\tlocation.type,\r\n\t\t\t\t\t\tid as string,\r\n\t\t\t\t\t\tsignType !== 'buyer' ? (signType !== 'partner' ? 'client' : 'partner') : 'buyer'\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tconst signature = !!signRes?.sign ? signRes.sign : doc.sign\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(signature, keyId))\r\n\t\t\t} else if (location.io === 'in' && doc.status === 'sended' && doc.type === 'factura') {\r\n\t\t\t\tif (!signRes) {\r\n\t\t\t\t\tsignRes = await fetchSignedFile(\r\n\t\t\t\t\t\tlocation.type,\r\n\t\t\t\t\t\tid as string,\r\n\t\t\t\t\t\tdoc.data.buyertin === profile?.tin ? 'buyer' : 'agent'\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\tconst signature = !!signRes?.sign ? signRes.sign : doc.sign\r\n\t\t\t\t//@ts-ignore\r\n\t\t\t\tpkcs7 = await dispatch(appendSign(signature, keyId))\r\n\t\t\t} else if (location.io === 'in' && doc.status === 'sended' && doc.type === 'waybillLocal') {\r\n\t\t\t\tif (doc.stateId === 110) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'responsibleperson', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (isConsignee && doc.stateId === 140) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'consignee', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (doc.stateId === 140) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ResponsiblePersonGiven',\r\n\t\t\t\t\t\tResponsiblePersonPinfl: profile.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t} else if (doc.stateId === 160) {\r\n\t\t\t\t\tconst sign = await fetchWaybillLocalSign(doc._id, 'consignee', 1)\r\n\t\t\t\t\tif (!sign?.sign) return\r\n\t\t\t\t\tpkcs7 = await dispatch(appendSign(sign.sign, keyId))\r\n\t\t\t\t} else if (doc.stateId === 150) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tConsignorTinOrPinfl: profile.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t} else if (doc.stateId === 190) {\r\n\t\t\t\t\tconst data = {\r\n\t\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\t\tConsignorTinOrPinfl: profile.tin\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t\t}\r\n\t\t\t} else if (\r\n\t\t\t\t['out', 'in'].includes(location.io) &&\r\n\t\t\t\tdoc.type === 'waybillLocal' &&\r\n\t\t\t\t[150, 190].includes(doc.stateId)\r\n\t\t\t) {\r\n\t\t\t\tconst data = {\r\n\t\t\t\t\tWaybillLocalSignType: 'ConsignorReturnAccepted',\r\n\t\t\t\t\tWaybillLocalId: doc.roumingId,\r\n\t\t\t\t\tConsignorTinOrPinfl: profile.tin\r\n\t\t\t\t}\r\n\t\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\t}\r\n\t\t\tif (pkcs7) {\r\n\t\t\t\tlet res = null\r\n\t\t\t\tif (doc.type === 'waybillLocal') {\r\n\t\t\t\t\tconst docStatus = doc.stateId as number\r\n\t\t\t\t\tif (docStatus === 1) {\r\n\t\t\t\t\t\tres = await fetchSignDocument(doc.type, doc._id, pkcs7)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tres = await fetchWaybillLocalMethods(\r\n\t\t\t\t\t\t\tdoc._id,\r\n\t\t\t\t\t\t\tpkcs7,\r\n\t\t\t\t\t\t\tisConsignee ? 'accept' : waybillLocalActions[docStatus]\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tres = await fetchSignDocument(doc.type, doc._id, pkcs7)\r\n\t\t\t\t}\r\n\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\tawait renewDocument(location.type, id!)\r\n\t\t\t\t\tif (doc.type !== 'empowerment') {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\tmessage: t('alertTitles.docSigned'),\r\n\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t}\r\n\t\t\t\t\tgoBack()\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\tdisabled.off()\r\n\t\t}\r\n\t}\r\n\r\n\tconst customBtnLabel = useMemo(() => {\r\n\t\tlet neg = 'common.decline'\r\n\t\tlet pos = 'common.sign'\r\n\r\n\t\tif (isWaybillLocalType) {\r\n\t\t\tneg = 'TTHFORM.reject.'\r\n\t\t\tpos = 'TTHFORM.accept.'\r\n\r\n\t\t\tif (isConsignor && [150, 170, 190].includes(doc.stateId)) {\r\n\t\t\t\tpos += 'returnConfirm'\r\n\t\t\t} else if (isRespPerson && [110].includes(doc.stateId)) {\r\n\t\t\t\tneg += 'reject'\r\n\t\t\t\tpos += 'deliver'\r\n\t\t\t} else if (isRespPerson && [140, 160, 170].includes(doc.stateId)) {\r\n\t\t\t\tneg += 'return'\r\n\t\t\t\tpos += 'delivered'\r\n\t\t\t} else if (isConsignee && [110, 140].includes(doc.stateId)) {\r\n\t\t\t\tneg += 'rejectWithoutRespPerson'\r\n\t\t\t\tpos += 'signWithoutRespPerson'\r\n\t\t\t} else if (isConsignee && [160].includes(doc.stateId)) {\r\n\t\t\t\tneg += 'reject'\r\n\t\t\t\tpos += 'sign'\r\n\t\t\t} else {\r\n\t\t\t\tneg += 'delete'\r\n\t\t\t\tpos = 'common.sign'\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn { pos: t(pos), neg: t(neg) }\r\n\t}, [isWaybillLocalType, doc, isRespPerson, isConsignor, isConsignee])\r\n\r\n\tconst refreshDraft = async (type: string, id: string) => {\r\n\t\ttry {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\t\tconst doc = await fetchDocument(type, id)\r\n\t\t\tif (doc.type === 'factura' && doc.status === 'drafts') {\r\n\t\t\t\tlet newDocument = JSON.parse(JSON.stringify(doc))\r\n\t\t\t\tnewDocument.data.productlist.products.map((data: any) => {\r\n\t\t\t\t\tlet copyProduct = data\r\n\t\t\t\t\tdata = {}\r\n\t\t\t\t\tdata = copyProduct\r\n\t\t\t\t})\r\n\t\t\t\tlet sellerVatRegStatus = await fetchProfileType(doc.data.sellertin, format(new Date(Date.now()), 'yyyy-MM-dd'))\r\n\t\t\t\tnewDocument.data.seller.vatregstatus = sellerVatRegStatus?.data.data.code\r\n\t\t\t\tif (doc.data.buyertin) {\r\n\t\t\t\t\tlet buyerVatRegStatus = await fetchProfileType(doc.data.buyertin, format(new Date(Date.now()), 'yyyy-MM-dd'))\r\n\t\t\t\t\tnewDocument.data.buyer.vatregstatus = buyerVatRegStatus?.data.data.code\r\n\t\t\t\t}\r\n\t\t\t\tconst res = await fetchEditDocument(newDocument.type, newDocument._id, newDocument.data)\r\n\t\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t\t\tif (res?.status === 200) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.docUpdate'),\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t\t// @ts-ignore\r\n\t\t\tenqueueSnackbar(e.errMsg, { variant: 'error' })\r\n\t\t} finally {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst handleScroll = () => {\r\n\t\t\tconst currentScrollY = window.scrollY\r\n\t\t\tif (currentScrollY > lastScrollY && currentScrollY > 70) {\r\n\t\t\t\tsetTopValue('0px')\r\n\t\t\t} else if (currentScrollY <= 70) {\r\n\t\t\t\tsetTopValue('52px')\r\n\t\t\t}\r\n\t\t\tsetLastScrollY(currentScrollY)\r\n\t\t}\r\n\t\twindow.addEventListener('scroll', handleScroll)\r\n\t\treturn () => {\r\n\t\t\twindow.removeEventListener('scroll', handleScroll)\r\n\t\t}\r\n\t}, [lastScrollY])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{/*Зеленые кнопки*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*Подпись документа*/}\r\n\t\t\t\t\t\t{((isWaybillLocalType &&\r\n\t\t\t\t\t\t\t((isConsignor && [1, 150, 190].includes(doc.stateId)) ||\r\n\t\t\t\t\t\t\t\t(isRespPerson && [110, 140].includes(doc.stateId)) ||\r\n\t\t\t\t\t\t\t\t(isConsignee && [110, 140, 160].includes(doc.stateId)))) ||\r\n\t\t\t\t\t\t\t(['drafts', 'received'].includes(location.status) && !isWaybillLocalType)) &&\r\n\t\t\t\t\t\t\t!isAuthWithPassword && (\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t\tsx={{\r\n\t\t\t\t\t\t\t\t\t\ttransition: 'all 0.3s ease',\r\n\t\t\t\t\t\t\t\t\t\t'&:hover': {\r\n\t\t\t\t\t\t\t\t\t\t\tborderColor: 'green',\r\n\t\t\t\t\t\t\t\t\t\t\tboxShadow: '0 0 10px rgba(0, 255, 0, 0.5)'\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t {customBtnLabel.pos}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/*Желтые кнопки*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*Печать документ*/}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{/*pdf документа*/}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t{/*Маркировка кода*/}\r\n\t\t\t\t\t\t{location.type === 'factura' && doc.data?.hasmarking === true && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/*Синие кнопки*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*Обновить документ*/}\r\n\t\t\t\t\t\t{!['universal', 'actGoodsAcceptance', 'invoice'].includes(location.type) &&\r\n\t\t\t\t\t\t\t['sended', 'signed', 'received', 'rejected', 'drafts'].includes(location.status) && (\r\n\t\t\t\t\t\t\t\t renewDocument(location.type, id!)}\r\n\t\t\t\t\t\t\t\t\tloading={disabled.state}\r\n\t\t\t\t\t\t\t\t\tloadingPosition='start'\r\n\t\t\t\t\t\t\t\t\tstartIcon={}\r\n\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{t('common.refresh')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/*Редактировать документ*/}\r\n\t\t\t\t\t\t{location.status === 'drafts' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/*Копировать документ*/}\r\n\t\t\t\t\t\t{(['drafts', 'deleted'].includes(location.status) ||\r\n\t\t\t\t\t\t\t(location.io === 'out' && ['sended', 'signed', 'rejected'].includes(location.status))) && (\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tcreateBasedDoc(location.type, id!, location.type, 9)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {t('common.copy')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/*Создать на основании документ*/}\r\n\t\t\t\t\t\t{location.io === 'out' &&\r\n\t\t\t\t\t\t\t['signed', 'sended'].includes(location.status) &&\r\n\t\t\t\t\t\t\t!['universal', 'empowerment', 'buildingFactura', 'invoice', 'actVerification'].includes(`${type}`) && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{location.io === 'in' &&\r\n\t\t\t\t\t\t\tlocation.status === 'signed' &&\r\n\t\t\t\t\t\t\t['empowerment', 'contract'].includes(`${type}`) && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{location.io === 'in' && location.status === 'received' && type === 'contract' && (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/*Красные кнопки*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{/*Отказ документа*/}\r\n\t\t\t\t\t\t{((isWaybillLocalType &&\r\n\t\t\t\t\t\t\t((isRespPerson && [110, 140, 160, 170].includes(doc.stateId)) ||\r\n\t\t\t\t\t\t\t\t(isConsignee && [110, 140, 160].includes(doc.stateId)))) ||\r\n\t\t\t\t\t\t\t(location.io === 'in' && location.status === 'received' && !isWaybillLocalType)) &&\r\n\t\t\t\t\t\t\t!isAuthWithPassword && (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t rejectModal.on()}\r\n\t\t\t\t\t\t\t\t\t\tloading={disabled.state}\r\n\t\t\t\t\t\t\t\t\t\tloadingPosition='start'\r\n\t\t\t\t\t\t\t\t\t\tstartIcon={}\r\n\t\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t {customBtnLabel.neg}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t rejectModal.off()}\r\n\t\t\t\t\t\t\t\t\t\taria-labelledby='alert-dialog-title'\r\n\t\t\t\t\t\t\t\t\t\taria-describedby='alert-dialog-description'\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{t('alertTitles.warning')}!\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{t('DOCUMENT_REJECT_BODY')}?\r\n\t\t\t\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t{noCommentError.state ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{t('common.reqField')}!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t) : null}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/*Удаление документа*/}\r\n\t\t\t\t\t\t{location.io === 'out' &&\r\n\t\t\t\t\t\t\t(['drafts'].includes(location.status) ||\r\n\t\t\t\t\t\t\t\t(['sended'].includes(location.status) && !isAuthWithPassword)) && (\r\n\t\t\t\t\t\t\t\t deleteItem()}\r\n\t\t\t\t\t\t\t\t\tloading={disabled.state}\r\n\t\t\t\t\t\t\t\t\tloadingPosition='start'\r\n\t\t\t\t\t\t\t\t\tstartIcon={}\r\n\t\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t {t('common.delete')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t{/*Удаление документ навсегда*/}\r\n\t\t\t\t\t\t{location.status === 'deleted' && !isAuthWithPassword && (\r\n\t\t\t\t\t\t\t eraseItem()}\r\n\t\t\t\t\t\t\t\tloading={disabled.state}\r\n\t\t\t\t\t\t\t\tloadingPosition='start'\r\n\t\t\t\t\t\t\t\tstartIcon={}\r\n\t\t\t\t\t\t\t\tvariant='outlined'\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t {t('common.delete_forever')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{/*Назад*/}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t{!!link ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{/* @ts-ignore */}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('LOADING_DOCUMENT')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(OpenFile)\r\n","import React from 'react'\r\nimport { Box, LinearProgress, Stack, Typography } from '@mui/material'\r\n\r\ninterface LinearLoaderProps {\r\n\tsystemLoadingMsg?: string\r\n}\r\n\r\nconst LinearLoader: React.FC = ({ systemLoadingMsg }) => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{systemLoadingMsg} Пожалуйста, подождите...\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(LinearLoader)\r\n","import React from 'react'\r\nimport LinearLoader from '../linearLoader/LinearLoader'\r\n\r\nconst LoadingComponent: React.FC = () => {\r\n\treturn \r\n}\r\n\r\nexport default React.memo(LoadingComponent)\r\n","import React, { useEffect } from 'react'\r\nimport { useLocation, useNavigate } from 'react-router-dom'\r\nimport { useTranslation } from 'react-i18next'\r\n// hooks\r\nimport { useAppDispatch, useAppSelector } from '../hooks/redux'\r\nimport { useProfileSetter } from '../hooks/useProfile'\r\n// redux\r\nimport { entityToken } from '../redux/actions/AuthActions'\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\n// components\r\nimport LoadingComponent from './core/loader/MainLoader'\r\n// material\r\nimport { AuthSlice } from '../redux/reducers/AuthReducer'\r\nimport { styled, useTheme } from '@mui/material/styles'\r\nimport { Box, Button, Stack, Typography } from '@mui/material'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\ninterface IEntityObj {\r\n\tname: string\r\n\ttin: string\r\n\ttype: string\r\n}\r\n\r\ninterface IStateProps {\r\n\tentities: IEntityObj[]\r\n}\r\n\r\nconst StyledCustomButton = styled(Button)(({ theme }) => ({\r\n\tcolor: theme.palette.text.primary,\r\n\t'&:hover': {\r\n\t\tcolor: theme.palette.primary.dark\r\n\t}\r\n}))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst ProfileSelect: React.FC = () => {\r\n\tconst { entities = [] } = (useLocation().state as IStateProps) || {}\r\n\tconst dispatch = useAppDispatch()\r\n\tconst navigate = useNavigate()\r\n\tconst theme = useTheme()\r\n\tconst { updateProfileToken } = useProfileSetter()\r\n\tconst currentProfileTin = useAppSelector(state => state.filterReducer.currentProfileTin)\r\n\r\n\tconst { t } = useTranslation()\r\n\r\n\tconst filteredEntities = entities.filter(\r\n\t\tentity => !(entity.tin.length === 9 && ['4', '5', '6'].includes(entity.tin[0]))\r\n\t)\r\n\r\n\tconst selectEntity = async (item: IEntityObj) => {\r\n\t\tif (currentProfileTin === item.tin) {\r\n\t\t\tnavigate('/dashboard/app')\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\tconst response = await entityToken(item.tin, item.type)\r\n\r\n\t\tconst profileRes = await fetch(`${process.env.REACT_APP_DEVELOPMENT_URL}/profile`, {\r\n\t\t\theaders: {\r\n\t\t\t\tAuthorization: `Bearer ${response?.data.token}`\r\n\t\t\t}\r\n\t\t})\r\n\t\tconst parsedProfile = await profileRes.json()\r\n\t\tparsedProfile.tin = parsedProfile.tin?.length ? parsedProfile.tin : parsedProfile.personalNum\r\n\t\tconst profileCopy = Object.assign({}, parsedProfile)\r\n\r\n\t\tif (response?.status === 200) {\r\n\t\t\tprofileCopy.tin = item.tin\r\n\t\t\tprofileCopy.entityName = response.data.user.entityName\r\n\t\t\tprofileCopy.user = response.data.user\r\n\t\t\tif (response.data.owner == false) {\r\n\t\t\t\tprofileCopy.isFizAuthToYurProfile = true\r\n\t\t\t}\r\n\t\t\tprofileCopy.isAuthWithPassword = false\r\n\r\n\t\t\tupdateProfileToken(response.data.token, profileCopy)\r\n\r\n\t\t\tdispatch(\r\n\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\tshow: true,\r\n\t\t\t\t\tmessage: 'Добро пожаловать'\r\n\t\t\t\t})\r\n\t\t\t)\r\n\r\n\t\t\tnavigate('/dashboard/app')\r\n\t\t}\r\n\r\n\t\tdispatch(AuthSlice.actions.removeFizInnProfiles())\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tif (filteredEntities.length === 1) {\r\n\t\t\tnavigate('/dashboard/app')\r\n\t\t}\r\n\t}, [filteredEntities])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{filteredEntities?.map((item, index) => (\r\n\t\t\t\t selectEntity(item)}\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tborder: `3px solid`,\r\n\t\t\t\t\t\tbackgroundColor: theme.palette.background.default,\r\n\t\t\t\t\t\tmt: 1,\r\n\t\t\t\t\t\twidth: 400,\r\n\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\tjustifyContent: 'flex-start',\r\n\t\t\t\t\t\tp: 2\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.name}\r\n\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{item.tin.length === 9 ? t('TIN') : t('PINFL')}: \r\n\t\t\t\t\t\t\t{item.tin}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tРоль: \r\n\t\t\t\t\t\t\t{t(item.type)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t))}\r\n\r\n\t\t\t{entities?.length < 1 && }\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(ProfileSelect)\r\n","import React from 'react'\r\nimport { Card, Box, IconButton, Button, Typography, FormControl, InputLabel } from '@mui/material'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useForm } from 'react-hook-form'\r\nimport { useAppDispatch } from '../hooks/redux'\r\nimport { saveLoginPass } from '../redux/actions/AuthActions'\r\nimport InputAdornment from '@mui/material/InputAdornment'\r\nimport OutlinedInput from '@mui/material/OutlinedInput'\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\n//icons\r\nimport { Icon } from '@iconify/react'\r\n// import appStore from '@iconify/icons-ant-design/apple-filled'\r\n// import playStore from '@iconify/icons-ant-design/google-circle-filled'\r\nimport visibility from '@iconify/icons-ant-design/eye-twotone'\r\nimport visibilityoff from '@iconify/icons-ant-design/eye-invisible-twotone'\r\n\r\ninterface IMobProfile {\r\n\tlogin: string\r\n\tpassword: string\r\n\tshowPassword: boolean\r\n}\r\n\r\nconst MobileAuth = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst dispatch = useAppDispatch()\r\n\r\n\tconst { handleSubmit } = useForm()\r\n\r\n\tconst [mobProfile, setMobProfile] = React.useState({\r\n\t\tlogin: '',\r\n\t\tpassword: '',\r\n\t\tshowPassword: false\r\n\t})\r\n\r\n\tconst handleChange = (prop: keyof IMobProfile) => (event: React.ChangeEvent) => {\r\n\t\tsetMobProfile({ ...mobProfile, [prop]: event.target.value })\r\n\t}\r\n\r\n\tconst handleClickShowPassword = () => {\r\n\t\tsetMobProfile({\r\n\t\t\t...mobProfile,\r\n\t\t\tshowPassword: !mobProfile.showPassword\r\n\t\t})\r\n\t}\r\n\tconst handleMouseDownPassword = (event: React.MouseEvent) => {\r\n\t\tevent.preventDefault()\r\n\t}\r\n\r\n\tconst saveLoginPassword = async () => {\r\n\t\ttry {\r\n\t\t\tlet res = await saveLoginPass({\r\n\t\t\t\tlogin: mobProfile.login,\r\n\t\t\t\tpassword: mobProfile.password\r\n\t\t\t})\r\n\t\t\tif (res?.status === 200) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\tmessage: t('alertTitles.loginPassSaved'),\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t} else if (res?.status === 422) {\r\n\t\t\t\tif (mobProfile.login.length <= 6 || mobProfile.password.length <= 6) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.loginPassLength'),\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.loginPassNotSaved'),\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\t// console.log(e)\r\n\t\t}\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{/**/}\r\n\t\t\t{/*\t{t('SETT.mobApp')}*/}\r\n\t\t\t{/**/}\r\n\t\t\t{/**/}\r\n\t\t\t{/*\t*/}\r\n\t\t\t{/*\t\t*/}\r\n\t\t\t{/*\t\t*/}\r\n\t\t\t{/*\t\t\tGET IT ON

App Store

*/}\r\n\t\t\t{/*\t\t
*/}\r\n\t\t\t{/*\t*/}\r\n\t\t\t{/*\t*/}\r\n\t\t\t{/*\t\t*/}\r\n\t\t\t{/*\t\t*/}\r\n\t\t\t{/*\t\t\tGET IT ON

Google Play

*/}\r\n\t\t\t{/*\t\t
*/}\r\n\t\t\t{/*\t*/}\r\n\t\t\t{/*
*/}\r\n\r\n\t\t\t{t('SETT.forAuth')}\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('input.login')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{t('input.pass')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{mobProfile.showPassword ? (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tlabel={t('input.pass')}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default React.memo(MobileAuth)\r\n","import React, { useCallback, useEffect, useState } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { useNavigate } from 'react-router-dom'\r\n// redux\r\nimport { IBranch } from '../redux/reducers/ProfileReducer'\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\nimport { signData } from '../redux/actions/EimzoActions'\r\nimport { refetchAllDocs } from '../redux/actions/DocumentsActions'\r\nimport { fetchLoginEcp, fetchSignRequest } from '../redux/actions/GoodsActions'\r\nimport { fetchProfileByTin, fetchProfileRights } from '../redux/actions/ProfileActions'\r\n// hooks\r\nimport useToggle from '../hooks/useToggle'\r\nimport { useAppDispatch, useAppSelector } from '../hooks/redux'\r\nimport { useProfileGetter } from '../hooks/useProfile'\r\n// material\r\nimport { useTheme } from '@mui/material/styles'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport Select, { SelectChangeEvent } from '@mui/material/Select'\r\nimport {\r\n\tCard,\r\n\tBox,\r\n\tCheckbox,\r\n\tStack,\r\n\tTable,\r\n\tIconButton,\r\n\tTableBody,\r\n\tTableCell,\r\n\tTableHead,\r\n\tTextField,\r\n\tTableRow,\r\n\tTypography,\r\n\tButton,\r\n\tDialog,\r\n\tMenuItem,\r\n\tFormControl,\r\n\tInputLabel,\r\n\tDialogActions\r\n} from '@mui/material'\r\n// api and components\r\nimport api from '../api/requests'\r\nimport MobileAuth from './MobileAuth'\r\nimport { setProfileRights } from '../api/profile'\r\n//icons\r\nimport { Icon } from '@iconify/react'\r\nimport edit from '@iconify/icons-carbon/edit'\r\nimport checkmark from '@iconify/icons-eva/checkmark-fill'\r\nimport send from '@iconify/icons-carbon/send-alt'\r\nimport cancel from '@iconify/icons-carbon/rule-cancelled'\r\nimport accept from '@iconify/icons-carbon/document-tasks'\r\nimport reject from '@iconify/icons-carbon/document-subtract'\r\nimport deleteRow from '@iconify/icons-carbon/row-delete'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst TABLE_ICONS = [\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t},\r\n\t{\r\n\t\ticon1: send,\r\n\t\ticon2: cancel,\r\n\t\ticon3: accept,\r\n\t\ticon4: reject\r\n\t}\r\n]\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst Settings = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst navigate = useNavigate()\r\n\tconst confirm = useConfirm()\r\n\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\tconst rights = useAppSelector(state => state.profileReducer.rights)\r\n\tconst keyId = profile?.keyId || ''\r\n\r\n\tconst modal = useToggle(false)\r\n\tconst [editableUser, setEditableUser] = useState('')\r\n\tconst [editableUserFio, setEditableUserFio] = useState('')\r\n\tconst [rightsList, setRightsList] = useState([])\r\n\r\n\tconst shouldRenderMobileAuth = !!profile.isAuthWithPassword || !!profile.isFizAuthToYurProfile\r\n\r\n\tuseEffect(() => {\r\n\t\t!Boolean(rights.tin) && dispatch(fetchProfileRights())\r\n\t\tdispatch(fetchProfileRights())\r\n\t}, [])\r\n\r\n\tconst onSubmit = async (data: any) => {\r\n\t\tconst tin = profile.tin\r\n\t\tconst req = {\r\n\t\t\tfio: editableUserFio,\r\n\t\t\tfizTin: editableUser,\r\n\t\t\troles: rightsList,\r\n\t\t\ttin: tin,\r\n\t\t\tbrunchNum: branch\r\n\t\t}\r\n\t\tsaving(req)\r\n\t}\r\n\r\n\tconst saving = async (data: any) => {\r\n\t\ttry {\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(true))\r\n\t\t\tlet pkcs7: string | unknown = ''\r\n\t\t\tpkcs7 = await dispatch(signData(JSON.stringify(data), keyId))\r\n\t\t\tif (pkcs7) {\r\n\t\t\t\tconst req = await setProfileRights({ sign: pkcs7 })\r\n\t\t\t\tdispatch(fetchProfileRights())\r\n\t\t\t\tmodal.off()\r\n\t\t\t\tif (req === true) {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.rightsSuccess'),\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\tmessage: t('alertTitles.rightsError'),\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t} finally {\r\n\t\t\tsetEditableUserFio('')\r\n\t\t\tsetRightsList([])\r\n\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t}\r\n\t}\r\n\r\n\tconst editTableRow = (tin: string) => {\r\n\t\tconst foundUserRights = rights.taxpayers.find(taxPayer => taxPayer.tin === tin)?.roles || []\r\n\t\tsetEditableUser(tin)\r\n\t\tsetRightsList(foundUserRights)\r\n\t\tmodal.on()\r\n\t}\r\n\r\n\tconst deleteTableRow = (index: any) => {\r\n\t\tconst user = rights.taxpayers[index]\r\n\t\tconst tin = profile.tin\r\n\t\tconst data: object = {\r\n\t\t\tbarnch: undefined,\r\n\t\t\troles: [],\r\n\t\t\tfizTin: user.tin,\r\n\t\t\ttin: tin\r\n\t\t}\r\n\t\tsaving(data)\r\n\t}\r\n\r\n\tconst handleClose = () => {\r\n\t\tmodal.off()\r\n\t\tsetEditableUser('')\r\n\t\tsetRightsList([])\r\n\t}\r\n\r\n\t// refresh doc data from rouming\r\n\tconst refreshAllDocs = useCallback(async () => {\r\n\t\tawait confirm({\r\n\t\t\ttitle: `${t('alertTitles.warning')} !`,\r\n\t\t\tdescription: `${t('DO_YOU_REALLY_WANT_TO_REFRESH_ALL_DOCS')}`,\r\n\t\t\tcancellationText: t('NO'),\r\n\t\t\tconfirmationText: t('YES')\r\n\t\t})\r\n\t\t\t.then(async () => {\r\n\t\t\t\tconst res = await fetchSignRequest()\r\n\t\t\t\tif (res?.data?.Success) {\r\n\t\t\t\t\tconst hash = res.data.Hash\r\n\t\t\t\t\tconst pkcs7 = await dispatch(signData(hash, keyId))\r\n\t\t\t\t\tconst res2 = await fetchLoginEcp(pkcs7 as unknown as string)\r\n\t\t\t\t\tif (res2?.data.Success === false) return\r\n\t\t\t\t\tconst cookies = res2?.data.cookie\r\n\t\t\t\t\tlet startIndex = cookies.indexOf('=') + 1\r\n\t\t\t\t\tconst cookie = cookies.substring(startIndex)\r\n\t\t\t\t\tconst res3 = await refetchAllDocs(cookie)\r\n\t\t\t\t\tif (res3?.data.success) {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\tmessage: t('alertTitles.successRefresh'),\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tnavigate(`/dashboard/app`)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\tmessage: t('alertTitles.errorRefresh'),\r\n\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\tnavigate(`/dashboard/app`)\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch()\r\n\t}, [keyId])\r\n\r\n\tconst handlePinfl = async (event: React.ChangeEvent) => {\r\n\t\tsetEditableUser(event.target.value)\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tconst searchByTin = async () => {\r\n\t\t\tconst res = await fetchProfileByTin(editableUser)\r\n\t\t\tsetEditableUserFio(res.name)\r\n\t\t}\r\n\t\tif (editableUser.length === 14 || editableUser.length === 9) {\r\n\t\t\tsearchByTin()\r\n\t\t} else {\r\n\t\t\tsetEditableUser('')\r\n\t\t}\r\n\t}, [editableUser])\r\n\r\n\tconst [branch, setBranch] = useState('')\r\n\tconst handleBranch = (e: SelectChangeEvent) => {\r\n\t\tsetBranch(e.target.value as string)\r\n\t}\r\n\r\n\tconst handleRight = (rightNum: number) => {\r\n\t\tconst checkedRight = rightsList.includes(rightNum)\r\n\t\tcheckedRight ? setRightsList(rightsList.filter(r => r !== rightNum)) : setRightsList(prev => [...prev, rightNum])\r\n\t}\r\n\r\n\tconst [providersData, setProvidersData] = useState([])\r\n\r\n\tuseEffect(() => {\r\n\t\tconst fetchProviders = async () => {\r\n\t\t\tconst res = await api.getProviders()\r\n\t\t\tlet setupProviders = res?.data.filter((item: any) => item.enabled)\r\n\t\t\tsetProvidersData(setupProviders)\r\n\t\t}\r\n\t\tfetchProviders()\r\n\t}, [profile])\r\n\r\n\tconst setEdocs = async () => {\r\n\t\ttry {\r\n\t\t\tconst edocsTin = '300711863'\r\n\t\t\tconst edocs = providersData.find((el: any) => el.providerTin === edocsTin)\r\n\t\t\tif (edocs && edocs.enabled) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\tmessage: t('alertTitles.edocsAlreadyInstalled'),\r\n\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tconst providerTins = providersData\r\n\t\t\t\t.filter((provider: any) => provider.enabled)\r\n\t\t\t\t.map((provider: any) => provider.providerTin)\r\n\t\t\tproviderTins.push(edocsTin)\r\n\t\t\tconst pkcs7 = await dispatch(\r\n\t\t\t\tsignData(\r\n\t\t\t\t\tJSON.stringify({\r\n\t\t\t\t\t\tClientTin: profile.tin,\r\n\t\t\t\t\t\tProviderTins: providerTins\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tkeyId\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t\tconst res = await api.setProviders({ sign: pkcs7 })\r\n\t\t\tawait api.getProviders()\r\n\t\t\tif (res?.data.success) {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\tmessage: t('alertTitles.edocsInstalled'),\r\n\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\tnavigate(`/dashboard/app`)\r\n\t\t\t} else {\r\n\t\t\t\tdispatch(\r\n\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\tmessage: t('alertTitles.edocsInstallError'),\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\tnavigate(`/dashboard/app`)\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.log('setEdocs error', error)\r\n\t\t}\r\n\t}\r\n\r\n\tconst displayProviders = () => {\r\n\t\treturn providersData.map((data: any) => (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{`${data?.systemName} (${data?.providerName})`}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t))\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{!!profile?.branches?.filter((branch: IBranch) => branch.isDeleted !== 1).length && (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('input.branch')}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{t('EDO')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.factura')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(11)} checked={rightsList.includes(11)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(12)} checked={rightsList.includes(12)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.empowerment')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(21)} checked={rightsList.includes(21)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(22)} checked={rightsList.includes(22)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.waybill')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(31)} checked={rightsList.includes(31)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(32)} checked={rightsList.includes(32)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.acts')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(41)} checked={rightsList.includes(41)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(42)} checked={rightsList.includes(42)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.contracts')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(51)} checked={rightsList.includes(51)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(52)} checked={rightsList.includes(52)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.actVerification')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(61)} checked={rightsList.includes(61)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(62)} checked={rightsList.includes(62)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.buildingFactura')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(71)} checked={rightsList.includes(71)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(72)} checked={rightsList.includes(72)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCS_PLURAL.calcTable')}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(81)} checked={rightsList.includes(81)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t handleRight(82)} checked={rightsList.includes(82)} />\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t{profile.isFizAuthToYurProfile && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurFirst')}\r\n\t\t\t\t\t{profile.user?.name}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurSecond')}\r\n\t\t\t\t\t{profile.shortName || profile.name} ({t('TIN')}:{profile.tin}){t('AUTH.isFizAuthToYurLast')}\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurReadOnly')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{profile.isAuthWithPassword && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordFirst')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{profile.shortName || profile.name} ({t('TIN')}:{profile.tin})\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordSecond')}\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordReadOnly')}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordLast')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t\r\n\t\t\t\t{t('ASSIGN_RIGHTS')}\r\n\t\t\t\r\n\t\t\t{/* Rights table start */}\r\n\t\t\t\r\n\t\t\t\t{/* */}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('factura_table_heads.actions')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('PINFL_OF_FIZ')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('factura_table_heads.branch')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.factura')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.empowerment')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.waybill')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.act')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.contract')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.actVerification')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.buildingFactura')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('DOCUMENT_CATEGORIES.calcTable')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{TABLE_ICONS.map((item, index) => (\r\n\t\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{rights.taxpayers?.map((right, index) => (\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t editTableRow(right.tin)}\r\n\t\t\t\t\t\t\t\t\t\t\tsize='small'\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={profile.isFizAuthToYurProfile || profile.isAuthWithPassword}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t deleteTableRow(index)}\r\n\t\t\t\t\t\t\t\t\t\t\tsize='small'\r\n\t\t\t\t\t\t\t\t\t\t\tdisabled={profile.isFizAuthToYurProfile || profile.isAuthWithPassword}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{right.tin}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{right.branch}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\r\n\t\t\t\t{/* End of rights table */}\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t   -   {t('common.send')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t   -   {t('common.cancel')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t   -   {t('common.accept2')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t   -   {t('common.decline2')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t modal.on()}\r\n\t\t\t\t\t\t\tdisabled={profile.isFizAuthToYurProfile || profile.isAuthWithPassword}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{t('ikpu.ADD_BUTTON')}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('SETT.refreshDocData')}\r\n\t\t\t\t\r\n\t\t\t\t{t('SETT.refreshText')}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{!shouldRenderMobileAuth && }\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{t('SETT.installedEDO')}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{displayProviders()}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default React.memo(Settings)\r\n","import { memo } from 'react'\r\nimport { Box, Card, Skeleton } from '@mui/material'\r\n\r\nconst DocumentEditSkeleton = () => {\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(DocumentEditSkeleton)\r\n","import { memo } from 'react'\r\nimport { Card, Skeleton, Stack } from '@mui/material'\r\n\r\nconst ReferencesSkeleton = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{Array.from({ length: 8 }).map((i, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\n\r\nexport default memo(ReferencesSkeleton)\r\n","import { memo } from 'react'\r\nimport { Box, Card, Skeleton } from '@mui/material'\r\n\r\nconst ContactsSkeleton = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{Array.from({ length: 10 }).map((i, index) => (\r\n\t\t\t\t\t\r\n\t\t\t\t))}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(ContactsSkeleton)\r\n","import { memo } from 'react'\r\nimport { Box, Card, Skeleton } from '@mui/material'\r\n\r\nconst MxiksSkeleton = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{Array.from({ length: 8 }).map((i, index) => (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t))}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(MxiksSkeleton)\r\n","import { memo } from 'react'\r\nimport { Box, Skeleton } from '@mui/material'\r\n\r\nconst LoginSkeleton = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(LoginSkeleton)\r\n","import { memo } from 'react'\r\nimport { Box, Skeleton } from '@mui/material'\r\n\r\nconst RegisterSkeleton = () => {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default memo(RegisterSkeleton)\r\n","import { IProfile } from '../models/profile'\r\nimport axios from 'axios'\r\n\r\nexport const updateProfileData = async () => {\r\n\tlet userData: any\r\n\tawait axios.get(`/profile`).then(res => {\r\n\t\tuserData = res\r\n\t})\r\n\treturn userData\r\n}\r\n\r\nexport const saveProfileData = async (data: IProfile) => {\r\n\tlet resData: any\r\n\tawait axios.post(`/profile`, data).then(res => {\r\n\t\tresData = res\r\n\t})\r\n\treturn resData\r\n}\r\n\r\n","import React, { useEffect, useMemo } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\nimport { Controller, useForm, useWatch, FormProvider } from 'react-hook-form'\r\n// redux\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\nimport { useProfileGetter } from '../hooks/useProfile'\r\n// hooks\r\nimport { useAppSelector, useAppDispatch } from '../hooks/redux'\r\n// material\r\nimport { useTheme } from '@mui/material/styles'\r\nimport { Box, Card, Grid, Typography, Button, InputAdornment, IconButton } from '@mui/material'\r\n// api and models\r\nimport api from '../api/requests'\r\nimport { saveProfileData, updateProfileData } from '../api/editProfile'\r\nimport { IProfile } from '../models/profile'\r\n// components\r\nimport ControlledTextField from '../components/form/ControlledTextField'\r\nimport { ControlledCheckBox } from '../components/form/ControlledCheckBox'\r\nimport BankAutoComplete from '../components/form/BankAutoComplete'\r\nimport DistrictAutoComplete from '../components/form/DistrictAutoComplete'\r\nimport RegionAutoComplete from '../components/form/RegionAutoComplete'\r\n// icons and styles\r\nimport { Icon, IconifyIcon } from '@iconify/react'\r\nimport link from '@iconify/icons-carbon/link'\r\nconst getIcon = (name: IconifyIcon) => \r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst Admin: React.FC = () => {\r\n\tconst { t } = useTranslation()\r\n\tconst theme = useTheme()\r\n\tconst dispatch = useAppDispatch()\r\n\tconst scaled = useAppSelector(state => state.appReducer.scaled)\r\n\tconst profile = useProfileGetter.useGetProfile()\r\n\r\n\tconst notification = (type: 'success' | 'error' | 'info' | 'warning', message: string) => {\r\n\t\tdispatch(\r\n\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\ttype: type,\r\n\t\t\t\tmessage: message,\r\n\t\t\t\tshow: true\r\n\t\t\t})\r\n\t\t)\r\n\t}\r\n\r\n\tconst methods = useForm({\r\n\t\tdefaultValues: JSON.parse(JSON.stringify(profile))\r\n\t})\r\n\r\n\tconst { control, setValue, reset, handleSubmit } = methods\r\n\r\n\tconst size = useMemo(() => {\r\n\t\treturn scaled ? 'medium' : 'small'\r\n\t}, [scaled])\r\n\r\n\tconst watchVat = useWatch({\r\n\t\tcontrol,\r\n\t\tname: 'vat'\r\n\t})\r\n\r\n\tuseEffect(() => {\r\n\t\treset(profile)\r\n\t}, [profile])\r\n\r\n\t// save profile data\r\n\tconst saveProfile = async (data: IProfile) => {\r\n\t\ttry {\r\n\t\t\tsaveProfileData(data as IProfile).then(res => {\r\n\t\t\t\tif (res.status === 200) {\r\n\t\t\t\t\tif (data.mobile !== profile.mobile) {\r\n\t\t\t\t\t\tverifyMobile(data)\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnotification('success', t('alertTitles.profileSaved'))\r\n\t\t\t\t\t\t// dispatch(AuthSlice.actions.setProfile(data))\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnotification('error', t('alertTitles.profileNotSaved'))\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t}\r\n\t}\r\n\r\n\t// mobile verification by code\r\n\tconst verifyMobile = async (data: IProfile) => {\r\n\t\tconst code = prompt(`${t('alertTitles.mobileVerif')}: ${data.mobile.replace('+', '')}`)\r\n\t\tif (!!code) {\r\n\t\t\tconst answer = await api.verifyCode(code)\r\n\t\t\tif (answer.status === 200) {\r\n\t\t\t\tnotification('success', t('alertTitles.profileSaved'))\r\n\t\t\t\t// dispatch(AuthSlice.actions.setProfile(data))\r\n\t\t\t} else {\r\n\t\t\t\tnotification('error', t('alertTitles.wrongCode'))\r\n\t\t\t\tsaveProfileData(profile as IProfile)\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnotification('error', t('alertTitles.noCodeVerif'))\r\n\t\t\tsaveProfileData(profile as IProfile)\r\n\t\t}\r\n\t}\r\n\r\n\t// refresh profile data\r\n\tconst refreshProfile = () => {\r\n\t\tupdateProfileData().then(res => {\r\n\t\t\tconst data: IProfile = res.data\r\n\t\t\tfor (let [key, value] of Object.entries(data)) {\r\n\t\t\t\t// @ts-ignore\r\n\t\t\t\tsetValue(key, value)\r\n\t\t\t}\r\n\t\t})\r\n\t\tnotification('success', t('alertTitles.profileUpdate'))\r\n\t}\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{profile.isFizAuthToYurProfile && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurFirst')}\r\n\t\t\t\t\t{profile.user?.name}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurSecond')}\r\n\t\t\t\t\t{profile.shortName || profile.name} ({t('TIN')}:{profile.tin}){t('AUTH.isFizAuthToYurLast')}\r\n\t\t\t\t\t{t('AUTH.isFizAuthToYurReadOnly')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\t\t\t{profile.isAuthWithPassword && (\r\n\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordFirst')}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{profile.shortName || profile.name} ({t('TIN')}:{profile.tin})\r\n\t\t\t\t\t\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordSecond')}\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordReadOnly')}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t{t('AUTH.isAuthWithPasswordLast')}\r\n\t\t\t\t
\r\n\t\t\t)}\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('admin.details')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t+\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getIcon(link)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{t('common.save')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}\r\n\r\nexport default React.memo(Admin)\r\n","import React from 'react'\r\nimport { Navigate, useRoutes } from 'react-router-dom'\r\nimport DashboardLayout from './layouts/dashboard'\r\nimport LogoOnlyLayout from './layouts/LogoOnlyLayout'\r\nimport DashboardApp from './pages/DashboardApp'\r\nimport DocumentsPreviewTable from './components/core/tables/DocumentsPreviewTable'\r\nimport OpenFile from './components/core/openFile/OpenFile'\r\nimport ProfileSelect from './components/ProfileSelect'\r\nimport Settings from './pages/Settings'\r\nimport DocumentEditSkeleton from './components/core/skeletons/DocumentEditSkeleton'\r\nimport ReferencesSkeleton from './components/core/skeletons/ReferencesSkeleton'\r\nimport ContactsSkeleton from './components/core/skeletons/ContactsSkeleton'\r\nimport MxiksSkeleton from './components/core/skeletons/MxiksSkeleton'\r\nimport LoginSkeleton from './components/core/skeletons/LoginSkeleton'\r\nimport RegisterSkeleton from './components/core/skeletons/RegisterSkeleton'\r\nimport Admin from './pages/Admin.tsx'\r\n\r\nconst DocumentEdit = React.lazy(() => import('./components/DocumentEdit'))\r\nconst Contacts = React.lazy(() => import('./pages/Contacts'))\r\nconst Mxiks = React.lazy(() => import('./pages/Mxiks'))\r\nconst AdminItems = React.lazy(() => import('./pages/AdminItems'))\r\nconst References = React.lazy(() => import('./pages/References'))\r\n// const Admin = React.lazy(() => import('./pages/Admin'))\r\nconst Login = React.lazy(() => import('./pages/Login'))\r\nconst Register = React.lazy(() => import('./pages/Register'))\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function Router({ token, tin }) {\r\n\tconst isAuthenticated = !!token\r\n\tconst isFizHasOldInn = tin.length === 9 && ['4', '5', '6'].includes(tin[0])\r\n\r\n\treturn useRoutes([\r\n\t\t{\r\n\t\t\tpath: '/',\r\n\t\t\telement: isAuthenticated ? : ,\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'dashboard',\r\n\t\t\t\t\tchildren: [\r\n\t\t\t\t\t\t{ element: },\r\n\t\t\t\t\t\t{ path: 'app', element: },\r\n\t\t\t\t\t\t{ path: 'profile-select', element: }\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'admin',\r\n\t\t\t\t\telement: ,\r\n\t\t\t\t\tchildren: [{ path: ':type', element: }]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'profile',\r\n\t\t\t\t\telement: \r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'settings',\r\n\t\t\t\t\telement: \r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'contacts',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'mxiks',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'catalogue/:type',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'list/:type/:io/:status',\r\n\t\t\t\t\telement: \r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'document/:type',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'edit/:type/:id',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'copy/:type/:id',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: 'open-file/:type/:id',\r\n\t\t\t\t\telement: \r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: '',\r\n\t\t\t\t\telement: \r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'add-account',\r\n\t\t\telement: ,\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: '',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'login',\r\n\t\t\telement: isAuthenticated ? (\r\n\t\t\t\tisFizHasOldInn ? (\r\n\t\t\t\t\t\r\n\t\t\t\t) : (\r\n\t\t\t\t\t\r\n\t\t\t\t)\r\n\t\t\t) : (\r\n\t\t\t\t\r\n\t\t\t),\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: '',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t},\r\n\t\t{\r\n\t\t\tpath: 'register',\r\n\t\t\telement: isAuthenticated ? : ,\r\n\t\t\tchildren: [\r\n\t\t\t\t{\r\n\t\t\t\t\tpath: '',\r\n\t\t\t\t\telement: (\r\n\t\t\t\t\t\t}>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t}\r\n\t])\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nconst shape = {\r\n borderRadius: 8,\r\n borderRadiusSm: 12,\r\n borderRadiusMd: 16\r\n};\r\n\r\nexport default shape;\r\n","import { alpha } from '@mui/material/styles'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nfunction createGradient(color1, color2) {\r\n\treturn `linear-gradient(to bottom, ${color1}, ${color2})`\r\n}\r\n\r\n// SETUP COLORS\r\nconst GREY = {\r\n\t0: '#FFFFFF',\r\n\t100: '#F9FAFB',\r\n\t200: '#F4F6F8',\r\n\t300: '#DFE3E8',\r\n\t400: '#C4CDD5',\r\n\t500: '#919EAB',\r\n\t600: '#637381',\r\n\t700: '#454F5B',\r\n\t800: '#212B36',\r\n\t900: '#161C24',\r\n\t500_8: alpha('#919EAB', 0.08),\r\n\t500_12: alpha('#919EAB', 0.12),\r\n\t500_16: alpha('#919EAB', 0.16),\r\n\t500_24: alpha('#919EAB', 0.24),\r\n\t500_32: alpha('#919EAB', 0.32),\r\n\t500_48: alpha('#919EAB', 0.48),\r\n\t500_56: alpha('#919EAB', 0.56),\r\n\t500_80: alpha('#919EAB', 0.8)\r\n}\r\n\r\nconst PRIMARY = {\r\n\tlighter: '#ffefcc',\r\n\tlight: '#ffcf66',\r\n\tmain: '#ffaf00',\r\n\tdark: '#996900',\r\n\tdarker: '#332300',\r\n\tcontrastText: '#fff'\r\n}\r\nconst SECONDARY = {\r\n\tlighter: '#D6E4FF',\r\n\tlight: '#84A9FF',\r\n\tmain: '#3366FF',\r\n\tdark: '#1939B7',\r\n\tdarker: '#091A7A',\r\n\tcontrastText: '#fff'\r\n}\r\nconst INFO = {\r\n\tlighter: '#D0F2FF',\r\n\tlight: '#74CAFF',\r\n\tmain: '#1890FF',\r\n\tdark: '#0C53B7',\r\n\tdarker: '#04297A',\r\n\tcontrastText: '#fff'\r\n}\r\nconst SUCCESS = {\r\n\tlighter: '#E9FCD4',\r\n\tlight: '#AAF27F',\r\n\tmain: '#54D62C',\r\n\tdark: '#229A16',\r\n\tdarker: '#08660D',\r\n\tcontrastText: GREY[800]\r\n}\r\nconst WARNING = {\r\n\tlighter: '#FFF7CD',\r\n\tlight: '#FFE16A',\r\n\tmain: '#e28743',\r\n\tdark: '#B78103',\r\n\tdarker: '#7A4F01',\r\n\tcontrastText: GREY[800]\r\n}\r\nconst ERROR = {\r\n\tlighter: '#FFE7D9',\r\n\tlight: '#FFA48D',\r\n\tmain: '#FF4842',\r\n\tdark: '#B72136',\r\n\tdarker: '#7A0C2E',\r\n\tcontrastText: '#fff'\r\n}\r\n\r\nconst GRADIENTS = {\r\n\tprimary: createGradient(PRIMARY.light, PRIMARY.main),\r\n\tinfo: createGradient(INFO.light, INFO.main),\r\n\tsuccess: createGradient(SUCCESS.light, SUCCESS.main),\r\n\twarning: createGradient(WARNING.light, WARNING.main),\r\n\terror: createGradient(ERROR.light, ERROR.main)\r\n}\r\n\r\nconst CHART_COLORS = {\r\n\tviolet: ['#826AF9', '#9E86FF', '#D0AEFF', '#F7D2FF'],\r\n\tblue: ['#2D99FF', '#83CFFF', '#A5F3FF', '#CCFAFF'],\r\n\tgreen: ['#2CD9C5', '#60F1C8', '#A4F7CC', '#C0F2DC'],\r\n\tyellow: ['#FFE700', '#FFEF5A', '#FFF7AE', '#FFF3D6'],\r\n\tred: ['#FF6C40', '#FF8F6D', '#FFBD98', '#FFF2D4']\r\n}\r\n\r\nconst lightPalette = {\r\n\tcommon: { black: '#000', white: '#fff' },\r\n\tprimary: { ...PRIMARY },\r\n\tsecondary: { ...SECONDARY },\r\n\tinfo: { ...INFO },\r\n\tsuccess: { ...SUCCESS },\r\n\twarning: { ...WARNING },\r\n\terror: { ...ERROR },\r\n\tgrey: GREY,\r\n\tgradients: GRADIENTS,\r\n\tchart: CHART_COLORS,\r\n\tdivider: GREY[500_24],\r\n\ttext: { primary: GREY[800], secondary: GREY[600], disabled: GREY[500] },\r\n\tbackground: {\r\n\t\tpaper: '#ffffff',\r\n\t\tdefault: '#F4F5F7',\r\n\t\tneutral: GREY[200],\r\n\t\t// custom: '#F4F5F7',\r\n\t\tcustom: '#e7e7e7',\r\n\t\tactive: '#ffffff',\r\n\t\ticons: '#000',\r\n\t\tsocial: '#000',\r\n\t\ttext: '#000',\r\n\t\t// header: '#F4F5F7',\r\n\t\theader: '#e7e7e7',\r\n\t\ttableContainer: '#e7e7e7',\r\n\t\ttableBody: '#ffffff',\r\n\t\ttableBodyDetail: '#e8eefe'\r\n\t},\r\n\taction: {\r\n\t\tactive: GREY[600],\r\n\t\thover: GREY[500_8],\r\n\t\tselected: GREY[500_16],\r\n\t\tdisabled: GREY[500_80],\r\n\t\tdisabledBackground: GREY[500_24],\r\n\t\tfocus: GREY[500_24],\r\n\t\thoverOpacity: 0.08,\r\n\t\tdisabledOpacity: 0.48\r\n\t}\r\n}\r\n\r\nexport default lightPalette\r\n","import { alpha } from '@mui/material/styles'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nfunction createGradient(color1, color2) {\r\n\treturn `linear-gradient(to bottom, ${color1}, ${color2})`\r\n}\r\n\r\n// SETUP COLORS\r\nconst GREY = {\r\n\t0: '#FFFFFF',\r\n\t100: '#F9FAFB',\r\n\t200: '#F4F6F8',\r\n\t300: '#DFE3E8',\r\n\t400: '#C4CDD5',\r\n\t500: '#919EAB',\r\n\t600: '#637381',\r\n\t700: '#454F5B',\r\n\t800: '#212B36',\r\n\t900: '#161C24',\r\n\t500_8: alpha('#919EAB', 0.08),\r\n\t500_12: alpha('#919EAB', 0.12),\r\n\t500_16: alpha('#919EAB', 0.16),\r\n\t500_24: alpha('#919EAB', 0.24),\r\n\t500_32: alpha('#919EAB', 0.32),\r\n\t500_48: alpha('#919EAB', 0.48),\r\n\t500_56: alpha('#919EAB', 0.56),\r\n\t500_80: alpha('#919EAB', 0.8)\r\n}\r\n\r\nconst PRIMARY = {\r\n\tlighter: '#ffefcc',\r\n\tlight: '#ffcf66',\r\n\tmain: '#ffaf00',\r\n\tdark: '#996900',\r\n\tdarker: '#332300',\r\n\tcontrastText: '#fff'\r\n}\r\nconst SECONDARY = {\r\n\tlighter: '#D6E4FF',\r\n\tlight: '#84A9FF',\r\n\tmain: '#3366FF',\r\n\tdark: '#1939B7',\r\n\tdarker: '#091A7A',\r\n\tcontrastText: '#fff'\r\n}\r\nconst INFO = {\r\n\tlighter: '#80dcff',\r\n\tlight: '#74CAFF',\r\n\tmain: '#1890FF',\r\n\tdark: '#0C53B7',\r\n\tdarker: '#04297A',\r\n\tcontrastText: '#fff'\r\n}\r\nconst SUCCESS = {\r\n\tlighter: '#acf060',\r\n\tlight: '#AAF27F',\r\n\tmain: '#54D62C',\r\n\tdark: '#229A16',\r\n\tdarker: '#08660D',\r\n\tcontrastText: GREY[800]\r\n}\r\nconst WARNING = {\r\n\tlighter: '#ffeb85',\r\n\tlight: '#FFE16A',\r\n\tmain: '#FFC107',\r\n\tdark: '#B78103',\r\n\tdarker: '#7A4F01',\r\n\tcontrastText: GREY[800]\r\n}\r\nconst ERROR = {\r\n\tlighter: '#ffad7d',\r\n\tlight: '#FFA48D',\r\n\tmain: '#FF4842',\r\n\tdark: '#B72136',\r\n\tdarker: '#7A0C2E',\r\n\tcontrastText: '#fff'\r\n}\r\n\r\nconst GRADIENTS = {\r\n\tprimary: createGradient(PRIMARY.light, PRIMARY.main),\r\n\tinfo: createGradient(INFO.light, INFO.main),\r\n\tsuccess: createGradient(SUCCESS.light, SUCCESS.main),\r\n\twarning: createGradient(WARNING.light, WARNING.main),\r\n\terror: createGradient(ERROR.light, ERROR.main)\r\n}\r\n\r\nconst CHART_COLORS = {\r\n\tviolet: ['#826AF9', '#9E86FF', '#D0AEFF', '#F7D2FF'],\r\n\tblue: ['#2D99FF', '#83CFFF', '#A5F3FF', '#CCFAFF'],\r\n\tgreen: ['#2CD9C5', '#60F1C8', '#A4F7CC', '#C0F2DC'],\r\n\tyellow: ['#FFE700', '#FFEF5A', '#FFF7AE', '#FFF3D6'],\r\n\tred: ['#FF6C40', '#FF8F6D', '#FFBD98', '#FFF2D4']\r\n}\r\n\r\nconst darkPalette = {\r\n\tcommon: { black: '#000', white: '#fff' },\r\n\tprimary: { ...PRIMARY },\r\n\tsecondary: { ...SECONDARY },\r\n\tinfo: { ...INFO },\r\n\tsuccess: { ...SUCCESS },\r\n\twarning: { ...WARNING },\r\n\terror: { ...ERROR },\r\n\tgrey: GREY,\r\n\tgradients: GRADIENTS,\r\n\tchart: CHART_COLORS,\r\n\tdivider: GREY[500_24],\r\n\ttext: { primary: GREY[100], secondary: GREY[400], disabled: GREY[500] },\r\n\tbackground: {\r\n\t\t// default: '#161c24',\r\n\t\t// default: '#25374a',\r\n\t\tdefault: '#2E3440',\r\n\t\tpaper: '#1C1F26',\r\n\t\tneutral: GREY[200],\r\n\t\t// custom: '#161c2485',\r\n\t\tcustom: '#1C1F26',\r\n\t\tactive: '#A8B3A8',\r\n\t\ticons: '#FFC107',\r\n\t\tsocial: '#e28743',\r\n\t\ttext: '#fff',\r\n\t\t// header: '#182029',\r\n\t\theader: '#1C1F26',\r\n\t\ttableContainer: '#1C1F26',\r\n\t\t// tableBody: '#222c38',\r\n\t\ttableBody: '#1C1F26',\r\n\t\ttableBodyDetail: '#131c2f'\r\n\t},\r\n\taction: {\r\n\t\tactive: GREY[600],\r\n\t\thover: GREY[500_8],\r\n\t\tselected: GREY[500_16],\r\n\t\tdisabled: GREY[500_80],\r\n\t\tdisabledBackground: GREY[500_24],\r\n\t\tfocus: GREY[500_24],\r\n\t\thoverOpacity: 0.08,\r\n\t\tdisabledOpacity: 0.48\r\n\t}\r\n}\r\n\r\nexport default darkPalette\r\n","// ----------------------------------------------------------------------\r\n\r\nfunction pxToRem(value) {\r\n return `${value / 16}rem`;\r\n}\r\n\r\nfunction responsiveFontSizes({ sm, md, lg }) {\r\n return {\r\n '@media (min-width:600px)': {\r\n fontSize: pxToRem(sm)\r\n },\r\n '@media (min-width:900px)': {\r\n fontSize: pxToRem(md)\r\n },\r\n '@media (min-width:1200px)': {\r\n fontSize: pxToRem(lg)\r\n }\r\n };\r\n}\r\n\r\nconst FONT_PRIMARY = 'Public Sans, sans-serif';\r\n\r\nconst typography = {\r\n fontFamily: FONT_PRIMARY,\r\n fontWeightRegular: 400,\r\n fontWeightMedium: 600,\r\n fontWeightBold: 700,\r\n h1: {\r\n fontWeight: 700,\r\n lineHeight: 80 / 64,\r\n fontSize: pxToRem(40),\r\n ...responsiveFontSizes({ sm: 52, md: 58, lg: 64 })\r\n },\r\n h2: {\r\n fontWeight: 700,\r\n lineHeight: 64 / 48,\r\n fontSize: pxToRem(32),\r\n ...responsiveFontSizes({ sm: 40, md: 44, lg: 48 })\r\n },\r\n h3: {\r\n fontWeight: 700,\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(24),\r\n ...responsiveFontSizes({ sm: 26, md: 30, lg: 32 })\r\n },\r\n h4: {\r\n fontWeight: 700,\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(20),\r\n ...responsiveFontSizes({ sm: 20, md: 24, lg: 24 })\r\n },\r\n h5: {\r\n fontWeight: 700,\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(18),\r\n ...responsiveFontSizes({ sm: 19, md: 20, lg: 20 })\r\n },\r\n h6: {\r\n fontWeight: 700,\r\n lineHeight: 28 / 18,\r\n fontSize: pxToRem(17),\r\n ...responsiveFontSizes({ sm: 18, md: 18, lg: 18 })\r\n },\r\n subtitle1: {\r\n fontWeight: 600,\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(16)\r\n },\r\n subtitle2: {\r\n fontWeight: 600,\r\n lineHeight: 22 / 14,\r\n fontSize: pxToRem(14)\r\n },\r\n body1: {\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(16)\r\n },\r\n body2: {\r\n lineHeight: 22 / 14,\r\n fontSize: pxToRem(14)\r\n },\r\n caption: {\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(12)\r\n },\r\n overline: {\r\n fontWeight: 700,\r\n lineHeight: 1.5,\r\n fontSize: pxToRem(12),\r\n letterSpacing: 1.1,\r\n textTransform: 'uppercase'\r\n },\r\n button: {\r\n fontWeight: 700,\r\n lineHeight: 24 / 14,\r\n fontSize: pxToRem(14),\r\n textTransform: 'capitalize'\r\n }\r\n};\r\n\r\nexport default typography;\r\n","import { merge } from 'lodash';\r\nimport Card from './Card';\r\nimport Lists from './Lists';\r\nimport Paper from './Paper';\r\nimport Input from './Input';\r\nimport Button from './Button';\r\nimport Tooltip from './Tooltip';\r\nimport Backdrop from './Backdrop';\r\nimport Typography from './Typography';\r\nimport IconButton from './IconButton';\r\nimport Autocomplete from './Autocomplete';\r\nimport Checkbox from './Checkbox';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function ComponentsOverrides(theme) {\r\n return merge(\r\n Card(theme),\r\n Lists(theme),\r\n Paper(theme),\r\n Input(theme),\r\n Button(theme),\r\n Tooltip(theme),\r\n Backdrop(theme),\r\n Typography(theme),\r\n IconButton(theme),\r\n Autocomplete(theme),\r\n Checkbox(theme)\r\n );\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Card(theme) {\r\n return {\r\n MuiCard: {\r\n styleOverrides: {\r\n root: {\r\n boxShadow: theme.customShadows.z4,\r\n borderRadius: theme.shape.borderRadiusMd,\r\n position: 'relative',\r\n zIndex: 0 // Fix Safari overflow: hidden with border radius\r\n }\r\n }\r\n },\r\n MuiCardHeader: {\r\n defaultProps: {\r\n titleTypographyProps: { variant: 'h6' },\r\n subheaderTypographyProps: { variant: 'body2' }\r\n },\r\n styleOverrides: {\r\n root: {\r\n padding: theme.spacing(3, 3, 0)\r\n }\r\n }\r\n },\r\n MuiCardContent: {\r\n styleOverrides: {\r\n root: {\r\n padding: theme.spacing(3)\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Lists(theme) {\r\n return {\r\n MuiListItemIcon: {\r\n styleOverrides: {\r\n root: {\r\n color: 'inherit',\r\n minWidth: 'auto',\r\n marginRight: theme.spacing(2)\r\n }\r\n }\r\n },\r\n MuiListItemAvatar: {\r\n styleOverrides: {\r\n root: {\r\n minWidth: 'auto',\r\n marginRight: theme.spacing(2)\r\n }\r\n }\r\n },\r\n MuiListItemText: {\r\n styleOverrides: {\r\n root: {\r\n marginTop: 0,\r\n marginBottom: 0\r\n },\r\n multiline: {\r\n marginTop: 0,\r\n marginBottom: 0\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Paper() {\r\n return {\r\n MuiPaper: {\r\n defaultProps: {\r\n elevation: 0\r\n },\r\n\r\n styleOverrides: {\r\n root: {\r\n backgroundImage: 'none'\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Input(theme) {\r\n return {\r\n MuiInputBase: {\r\n styleOverrides: {\r\n root: {\r\n '&.Mui-disabled': {\r\n '& svg': { color: theme.palette.text.disabled }\r\n }\r\n },\r\n input: {\r\n '&::placeholder': {\r\n opacity: 1,\r\n color: theme.palette.text.disabled\r\n }\r\n }\r\n }\r\n },\r\n MuiInput: {\r\n styleOverrides: {\r\n underline: {\r\n '&:before': {\r\n borderBottomColor: theme.palette.grey[500_56]\r\n }\r\n }\r\n }\r\n },\r\n MuiFilledInput: {\r\n styleOverrides: {\r\n root: {\r\n backgroundColor: theme.palette.grey[500_12],\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey[500_16]\r\n },\r\n '&.Mui-focused': {\r\n backgroundColor: theme.palette.action.focus\r\n },\r\n '&.Mui-disabled': {\r\n backgroundColor: theme.palette.action.disabledBackground\r\n }\r\n },\r\n underline: {\r\n '&:before': {\r\n borderBottomColor: theme.palette.grey[500_56]\r\n }\r\n }\r\n }\r\n },\r\n MuiOutlinedInput: {\r\n styleOverrides: {\r\n root: {\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: theme.palette.grey[500_32]\r\n },\r\n '&.Mui-disabled': {\r\n '& .MuiOutlinedInput-notchedOutline': {\r\n borderColor: theme.palette.action.disabledBackground\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Button(theme) {\r\n return {\r\n MuiButton: {\r\n styleOverrides: {\r\n root: {\r\n '&:hover': {\r\n boxShadow: 'none'\r\n }\r\n },\r\n sizeLarge: {\r\n height: 48\r\n },\r\n containedInherit: {\r\n color: theme.palette.grey[800],\r\n boxShadow: theme.customShadows.z8,\r\n '&:hover': {\r\n backgroundColor: theme.palette.grey[400]\r\n }\r\n },\r\n containedPrimary: {\r\n boxShadow: theme.customShadows.primary\r\n },\r\n containedSecondary: {\r\n boxShadow: theme.customShadows.secondary\r\n },\r\n outlinedInherit: {\r\n border: `1px solid ${theme.palette.grey[500_32]}`,\r\n '&:hover': {\r\n backgroundColor: theme.palette.action.hover\r\n }\r\n },\r\n textInherit: {\r\n '&:hover': {\r\n backgroundColor: theme.palette.action.hover\r\n }\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Tooltip(theme) {\r\n return {\r\n MuiTooltip: {\r\n styleOverrides: {\r\n tooltip: {\r\n backgroundColor: theme.palette.grey[800]\r\n },\r\n arrow: {\r\n color: theme.palette.grey[800]\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","import { alpha } from '@mui/material/styles';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function Backdrop(theme) {\r\n const varLow = alpha(theme.palette.grey[900], 0.48);\r\n const varHigh = alpha(theme.palette.grey[900], 1);\r\n\r\n return {\r\n MuiBackdrop: {\r\n styleOverrides: {\r\n root: {\r\n background: [\r\n `rgb(22,28,36)`,\r\n `-moz-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\r\n `-webkit-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\r\n `linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`\r\n ],\r\n '&.MuiBackdrop-invisible': {\r\n background: 'transparent'\r\n }\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Typography(theme) {\r\n return {\r\n MuiTypography: {\r\n styleOverrides: {\r\n paragraph: {\r\n marginBottom: theme.spacing(2)\r\n },\r\n gutterBottom: {\r\n marginBottom: theme.spacing(1)\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function IconButton(theme) {\r\n return {\r\n MuiIconButton: {\r\n variants: [\r\n {\r\n props: { color: 'default' },\r\n style: {\r\n '&:hover': { backgroundColor: theme.palette.action.hover }\r\n }\r\n },\r\n {\r\n props: { color: 'inherit' },\r\n style: {\r\n '&:hover': { backgroundColor: theme.palette.action.hover }\r\n }\r\n }\r\n ],\r\n\r\n styleOverrides: {\r\n root: {}\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Autocomplete(theme) {\r\n return {\r\n MuiAutocomplete: {\r\n styleOverrides: {\r\n paper: {\r\n boxShadow: theme.customShadows.z20\r\n }\r\n }\r\n }\r\n };\r\n}\r\n","// ----------------------------------------------------------------------\r\n\r\nexport default function Checkbox(theme) {\r\n\treturn {\r\n\t\tMuiCheckbox: {\r\n\t\t\tstyleOverrides: {\r\n\t\t\t\troot: {\r\n\t\t\t\t\tMuiSvgIcon: {\r\n\t\t\t\t\t\tstyleOverrides: {\r\n\t\t\t\t\t\t\troot: {\r\n\t\t\t\t\t\t\t\tfill: theme.palette.warning.main\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","// material\r\nimport { alpha } from '@mui/material/styles';\r\nimport palette from './lightPalette';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nconst LIGHT_MODE = palette.grey[500];\r\n\r\nconst createShadow = (color) => {\r\n const transparent1 = alpha(color, 0.2);\r\n const transparent2 = alpha(color, 0.14);\r\n const transparent3 = alpha(color, 0.12);\r\n return [\r\n 'none',\r\n `0px 2px 1px -1px ${transparent1},0px 1px 1px 0px ${transparent2},0px 1px 3px 0px ${transparent3}`,\r\n `0px 3px 1px -2px ${transparent1},0px 2px 2px 0px ${transparent2},0px 1px 5px 0px ${transparent3}`,\r\n `0px 3px 3px -2px ${transparent1},0px 3px 4px 0px ${transparent2},0px 1px 8px 0px ${transparent3}`,\r\n `0px 2px 4px -1px ${transparent1},0px 4px 5px 0px ${transparent2},0px 1px 10px 0px ${transparent3}`,\r\n `0px 3px 5px -1px ${transparent1},0px 5px 8px 0px ${transparent2},0px 1px 14px 0px ${transparent3}`,\r\n `0px 3px 5px -1px ${transparent1},0px 6px 10px 0px ${transparent2},0px 1px 18px 0px ${transparent3}`,\r\n `0px 4px 5px -2px ${transparent1},0px 7px 10px 1px ${transparent2},0px 2px 16px 1px ${transparent3}`,\r\n `0px 5px 5px -3px ${transparent1},0px 8px 10px 1px ${transparent2},0px 3px 14px 2px ${transparent3}`,\r\n `0px 5px 6px -3px ${transparent1},0px 9px 12px 1px ${transparent2},0px 3px 16px 2px ${transparent3}`,\r\n `0px 6px 6px -3px ${transparent1},0px 10px 14px 1px ${transparent2},0px 4px 18px 3px ${transparent3}`,\r\n `0px 6px 7px -4px ${transparent1},0px 11px 15px 1px ${transparent2},0px 4px 20px 3px ${transparent3}`,\r\n `0px 7px 8px -4px ${transparent1},0px 12px 17px 2px ${transparent2},0px 5px 22px 4px ${transparent3}`,\r\n `0px 7px 8px -4px ${transparent1},0px 13px 19px 2px ${transparent2},0px 5px 24px 4px ${transparent3}`,\r\n `0px 7px 9px -4px ${transparent1},0px 14px 21px 2px ${transparent2},0px 5px 26px 4px ${transparent3}`,\r\n `0px 8px 9px -5px ${transparent1},0px 15px 22px 2px ${transparent2},0px 6px 28px 5px ${transparent3}`,\r\n `0px 8px 10px -5px ${transparent1},0px 16px 24px 2px ${transparent2},0px 6px 30px 5px ${transparent3}`,\r\n `0px 8px 11px -5px ${transparent1},0px 17px 26px 2px ${transparent2},0px 6px 32px 5px ${transparent3}`,\r\n `0px 9px 11px -5px ${transparent1},0px 18px 28px 2px ${transparent2},0px 7px 34px 6px ${transparent3}`,\r\n `0px 9px 12px -6px ${transparent1},0px 19px 29px 2px ${transparent2},0px 7px 36px 6px ${transparent3}`,\r\n `0px 10px 13px -6px ${transparent1},0px 20px 31px 3px ${transparent2},0px 8px 38px 7px ${transparent3}`,\r\n `0px 10px 13px -6px ${transparent1},0px 21px 33px 3px ${transparent2},0px 8px 40px 7px ${transparent3}`,\r\n `0px 10px 14px -6px ${transparent1},0px 22px 35px 3px ${transparent2},0px 8px 42px 7px ${transparent3}`,\r\n `0px 11px 14px -7px ${transparent1},0px 23px 36px 3px ${transparent2},0px 9px 44px 8px ${transparent3}`,\r\n `0px 11px 15px -7px ${transparent1},0px 24px 38px 3px ${transparent2},0px 9px 46px 8px ${transparent3}`\r\n ];\r\n};\r\n\r\nconst createCustomShadow = (color) => {\r\n const transparent = alpha(color, 0.24);\r\n\r\n return {\r\n z1: `0 1px 2px 0 ${transparent}`,\r\n z4: `0 4px 8px 0 ${transparent}`,\r\n z8: `0 8px 16px 0 ${transparent}`,\r\n z12: `0 0 2px 0 ${transparent}, 0 12px 24px 0 ${transparent}`,\r\n z16: `0 0 2px 0 ${transparent}, 0 16px 32px -4px ${transparent}`,\r\n z20: `0 0 2px 0 ${transparent}, 0 20px 40px -4px ${transparent}`,\r\n z24: `0 0 4px 0 ${transparent}, 0 24px 48px 0 ${transparent}`,\r\n primary: `0 8px 16px 0 ${alpha(palette.primary.main, 0.24)}`,\r\n secondary: `0 8px 16px 0 ${alpha(palette.secondary.main, 0.24)}`,\r\n info: `0 8px 16px 0 ${alpha(palette.info.main, 0.24)}`,\r\n success: `0 8px 16px 0 ${alpha(palette.success.main, 0.24)}`,\r\n warning: `0 8px 16px 0 ${alpha(palette.warning.main, 0.24)}`,\r\n error: `0 8px 16px 0 ${alpha(palette.error.main, 0.24)}`\r\n };\r\n};\r\n\r\nexport const customShadows = createCustomShadow(LIGHT_MODE);\r\n\r\nconst shadows = createShadow(LIGHT_MODE);\r\n\r\nexport default shadows;\r\n","import PropTypes from 'prop-types';\r\nimport { useEffect, useMemo, useState } from 'react';\r\n// material\r\nimport { CssBaseline } from '@mui/material';\r\nimport { ThemeProvider, createTheme, StyledEngineProvider } from '@mui/material/styles';\r\n//\r\nimport shape from './shape';\r\nimport lightPalette from './lightPalette';\r\nimport darkPalette from './darkPaletter';\r\nimport typography from './typography';\r\nimport componentsOverride from './overrides';\r\nimport shadows, { customShadows } from './shadows';\r\nimport { useAppSelector } from '../hooks/redux';\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nThemeConfig.propTypes = {\r\n children: PropTypes.node\r\n};\r\n\r\nexport default function ThemeConfig({ children }) {\r\n\r\n const dark = useAppSelector(state => state.appReducer.darkTheme)\r\n const [mode, setMode] = useState('light')\r\n\r\n useEffect(() => {\r\n dark ? setMode('dark') : setMode('light')\r\n }, [dark])\r\n\r\n const themeOptions = useMemo(\r\n () => ({\r\n palette: {mode, ...(\r\n dark ? darkPalette : lightPalette\r\n )},\r\n shape,\r\n typography,\r\n shadows,\r\n customShadows\r\n }),\r\n [dark]\r\n );\r\n\r\n const theme = createTheme(themeOptions);\r\n theme.components = componentsOverride(theme);\r\n\r\n return (\r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n );\r\n}\r\n","// material\r\nimport { useTheme } from '@mui/material/styles'\r\nimport { GlobalStyles as GlobalThemeStyles } from '@mui/material'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function GlobalStyles() {\r\n\tconst theme = useTheme()\r\n\r\n\treturn (\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useCallback, useEffect, useRef, useState } from 'react'\r\nimport { Alert, AlertTitle, IconButton, Typography } from '@mui/material'\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks/redux'\r\nimport { appSlice } from '../../../redux/reducers/AppReducer'\r\nimport { styled } from '@mui/material/styles'\r\nimport { useTranslation } from 'react-i18next'\r\nimport close from '@iconify/icons-carbon/close-outline'\r\nimport { Icon } from '@iconify/react'\r\n\r\nconst AlertBoxWrapper = styled('div')({\r\n\tposition: 'fixed',\r\n\ttop: '2rem',\r\n\tleft: '3rem',\r\n\tmaxWidth: '90%',\r\n\tzIndex: 11111\r\n})\r\n\r\nconst AlertBox: React.FC = () => {\r\n\tconst dispatch = useAppDispatch()\r\n\tconst { t } = useTranslation()\r\n\tconst { message, type, show, autoHide } = useAppSelector(state => state.appReducer.systemAlert)\r\n\tconst timerRef = useRef(undefined)\r\n\tconst [countdown, setCountdown] = useState(30)\r\n\r\n\t// useEffect(() => {\r\n\t// \tif (!autoHide) {\r\n\t// \t\tclearTimeout(timerRef.current)\r\n\t// \t\treturn\r\n\t// \t}\r\n\t// \tif (show && autoHide) {\r\n\t// \t\ttimerRef.current = setTimeout(() => {\r\n\t// \t\t\thideAlert()\r\n\t// \t\t}, 3000)\r\n\t// \t}\r\n\t// }, [message, type, show, autoHide, timerRef])\r\n\t//\r\n\t// const hideAlert = useCallback(() => {\r\n\t// \tdispatch(appSlice.actions.toggleSystemAlert({ show: false, type: 'info', message: '' }))\r\n\t// }, [autoHide])\r\n\r\n\tconst hideAlert = useCallback(() => {\r\n\t\tdispatch(appSlice.actions.toggleSystemAlert({ show: false, type: 'info', message: '' }))\r\n\t\tclearTimeout(timerRef.current)\r\n\t\tsetCountdown(30)\r\n\t}, [dispatch])\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!show) {\r\n\t\t\tclearTimeout(timerRef.current)\r\n\t\t\tsetCountdown(30)\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\t\tif (autoHide) {\r\n\t\t\ttimerRef.current = setTimeout(() => {\r\n\t\t\t\thideAlert()\r\n\t\t\t}, 3000)\r\n\t\t} else if (type === 'error') {\r\n\t\t\tlet counter = 30\r\n\t\t\tsetCountdown(counter)\r\n\r\n\t\t\tconst interval = setInterval(() => {\r\n\t\t\t\tcounter -= 1\r\n\t\t\t\tsetCountdown(counter)\r\n\r\n\t\t\t\tif (counter <= 0) {\r\n\t\t\t\t\tclearInterval(interval)\r\n\t\t\t\t\thideAlert()\r\n\t\t\t\t}\r\n\t\t\t}, 1000)\r\n\r\n\t\t\treturn () => {\r\n\t\t\t\tclearInterval(interval)\r\n\t\t\t\tclearTimeout(timerRef.current)\r\n\t\t\t}\r\n\t\t}\r\n\t}, [message, type, show, autoHide, hideAlert])\r\n\r\n\tif (show) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsx={{\r\n\t\t\t\t\t\tp: 2,\r\n\t\t\t\t\t\t...(type === 'error' && {\r\n\t\t\t\t\t\t\tbackgroundColor: '#ffe6e6',\r\n\t\t\t\t\t\t\tcolor: '#d32f2f',\r\n\t\t\t\t\t\t\tboxShadow: '0 4px 12px rgba(255, 0, 0, 0.3)', // Тень для выделения\r\n\t\t\t\t\t\t\tborderLeft: '6px solid #f44336', // Красная полоса сбоку\r\n\t\t\t\t\t\t\tmaxWidth: '600px'\r\n\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t...(type === 'success' && {\r\n\t\t\t\t\t\t\tbackgroundColor: '#d4edda',\r\n\t\t\t\t\t\t\tboxShadow: '0 4px 12px rgba(255, 0, 0, 0.3)',\r\n\t\t\t\t\t\t\tborderLeft: '6px solid #0DE718FF',\r\n\t\t\t\t\t\t\tcolor: '#155724',\r\n\t\t\t\t\t\t\tmaxWidth: '600px'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}}\r\n\t\t\t\t>\r\n\t\t\t\t\t{t('alertTitles.' + type)}\r\n\t\t\t\t\t{message}\r\n\t\t\t\t\t{type === 'error' && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('alertTitles.linkToSupport')}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\thttps://t.me/edocs_uz\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t{type === 'error' && !autoHide && (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{t('alertTitles.closeAlertAfter')}\r\n\t\t\t\t\t\t\t{countdown} сек.\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn null\r\n}\r\n\r\nexport default AlertBox\r\n","import React from 'react'\r\nimport { useEffect } from 'react'\r\nimport { useTranslation } from 'react-i18next'\r\n// redux\r\nimport { appSlice } from '../redux/reducers/AppReducer'\r\nimport { signData } from '../redux/actions/EimzoActions'\r\nimport { useAppDispatch, useAppSelector } from './redux'\r\nimport { fetchProfile } from '../redux/actions/ProfileActions'\r\nimport { getProfileStatus, refreshToken } from '../redux/actions/AuthActions'\r\nimport { fetchDocCounts } from '../redux/actions/DocumentsActions'\r\nimport { fetchAllMeasures, fetchMxikList } from '../redux/actions/GoodsActions'\r\n// fetch\r\nimport axios from 'axios'\r\nimport api from '../api/requests'\r\n// components\r\nimport { IProfile } from '../models/profile'\r\nimport { useProfileGetter, useProfileSetter } from './useProfile'\r\nimport {\r\n\tcheckRoumingErrorsBase,\r\n\tcheckErrorsBase,\r\n\tcheckFormFacturaErrorsBase,\r\n\tcheckFormWaybillLocalErrorsBase,\r\n\tcheckTTHErrorsBase\r\n} from '../utils/utils'\r\n// material\r\nimport { useSnackbar } from 'notistack'\r\nimport { useConfirm } from 'material-ui-confirm'\r\nimport { Icon } from '@iconify/react'\r\nimport Typography from '@mui/material/Typography'\r\nimport close from '@iconify/icons-eva/close-outline'\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nexport default function useApp() {\r\n\tconst dispatch = useAppDispatch()\r\n\tconst { t } = useTranslation()\r\n\tconst { enqueueSnackbar, closeSnackbar } = useSnackbar()\r\n\tconst { logout, updateProfileToken } = useProfileSetter()\r\n\tconst localProfile = useProfileGetter.useGetProfile() as IProfile | undefined\r\n\r\n\tconst localToken = localProfile?.token\r\n\tconst localTokenExpiration = localProfile?.tokenExpiration\r\n\tconst keyId = localProfile?.keyId || ''\r\n\r\n\tconst confirm = useConfirm()\r\n\tconst systemLoading = useAppSelector(state => state.appReducer.systemLoading)\r\n\r\n\taxios.defaults.headers.common['Authorization'] = `Bearer ${localToken}`\r\n\r\n\tconst isTokenExpired = !!localTokenExpiration ? Number(localProfile?.tokenExpiration) < Date.now() : false\r\n\r\n\tuseEffect(() => {\r\n\t\tif (isTokenExpired && !!localToken) {\r\n\t\t\trefreshToken(updateProfileToken)\r\n\t\t}\r\n\t}, [isTokenExpired])\r\n\r\n\tuseEffect(() => {\r\n\t\tconfigureAxiosMiddleware()\r\n\t\thandleToken()\r\n\t\tif (systemLoading) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\t\t\t}, 3000)\r\n\t\t}\r\n\t}, [localToken])\r\n\r\n\tconst errorMessageFn = (errorRespons: any): string | string[] | null => {\r\n\t\tconst errorMessage = errorRespons?.data?.errors?.msg\r\n\t\t// Обработка строки\r\n\t\tif (typeof errorMessage === 'string') {\r\n\t\t\tlet filteredErrorMessage = checkErrorsBase(errorMessage, t)\r\n\r\n\t\t\tif (!filteredErrorMessage && errorRespons.config.url.startsWith('/documents/waybillLocal/')) {\r\n\t\t\t\tfilteredErrorMessage = checkTTHErrorsBase(errorMessage, t)\r\n\t\t\t} else if (!filteredErrorMessage) {\r\n\t\t\t\tfilteredErrorMessage = checkRoumingErrorsBase(errorMessage, t)\r\n\t\t\t}\r\n\t\t\treturn filteredErrorMessage || errorMessage\r\n\t\t}\r\n\r\n\t\t// Обработка массива\r\n\t\tif (Array.isArray(errorMessage)) {\r\n\t\t\tif (errorRespons.config.url.startsWith('/documents/factura/')) {\r\n\t\t\t\treturn errorMessage\r\n\t\t\t\t\t.map((item, index) => {\r\n\t\t\t\t\t\tconst checkedValue = checkFormFacturaErrorsBase(item.param, t)\r\n\t\t\t\t\t\tconst valueToUse = checkedValue !== null ? checkedValue : item.param\r\n\t\t\t\t\t\treturn `${index + 1}) ${valueToUse}`\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.join(',\\n')\r\n\t\t\t} else if (errorRespons.config.url.startsWith('/documents/waybillLocal/')) {\r\n\t\t\t\treturn errorMessage\r\n\t\t\t\t\t.map((item, index) => {\r\n\t\t\t\t\t\tconst checkedValue = checkFormWaybillLocalErrorsBase(item.param, t)\r\n\t\t\t\t\t\tconst valueToUse = checkedValue !== null ? checkedValue : item.param\r\n\t\t\t\t\t\treturn `${index + 1}) ${valueToUse}`\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.join(',\\n')\r\n\t\t\t} else {\r\n\t\t\t\treturn errorMessage.map((item, index) => `${index + 1}) ${item.param}`).join(',\\n')\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Если тип данных не строка и не массив, возвращаем null\r\n\t\treturn null\r\n\t}\r\n\r\n\tconst getProfileStat = async () => {\r\n\t\tif (!localProfile) return\r\n\t\tlet { payload } = await dispatch(fetchProfile())\r\n\t\tawait dispatch(getProfileStatus(!!payload.personalNum ? payload.personalNum : payload.tin))\r\n\t\tpayload.tin = !!localProfile.tin?.length ? localProfile.tin : payload.tin\r\n\r\n\t\tcheckEdocsProvider(payload.tin)\r\n\t}\r\n\r\n\tconst checkEdocsProvider = async (tin: string) => {\r\n\t\tif (!localToken) return\r\n\r\n\t\tconst res = await api.getProviders()\r\n\t\tif (res.status === 200) {\r\n\t\t\tconst edocs = res.data.find((obj: any) => obj.providerTin === '300711863')\r\n\r\n\t\t\tif (edocs && !edocs.enabled) {\r\n\t\t\t\tawait confirm({\r\n\t\t\t\t\ttitle: t('alertTitles.warning'),\r\n\t\t\t\t\tdescription: 'У вас не установлен оператор E-DOCS, желаете установить?',\r\n\t\t\t\t\tcancellationText: t('NO'),\r\n\t\t\t\t\tconfirmationText: t('YES'),\r\n\t\t\t\t\tallowClose: false\r\n\t\t\t\t})\r\n\t\t\t\t\t.then(async () => {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tconst providers = res.data.filter((provider: any) => provider.enabled) || []\r\n\t\t\t\t\t\t\t// add edocs to provider list\r\n\t\t\t\t\t\t\tproviders.push(edocs)\r\n\t\t\t\t\t\t\tconst providerTins = providers.map((provider: any) => provider.providerTin)\r\n\t\t\t\t\t\t\tconst pkcs7 = await dispatch(\r\n\t\t\t\t\t\t\t\tsignData(\r\n\t\t\t\t\t\t\t\t\tJSON.stringify({\r\n\t\t\t\t\t\t\t\t\t\tClientTin: tin,\r\n\t\t\t\t\t\t\t\t\t\tproviderTins\r\n\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\tkeyId\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\tconst providersRes = await api.setProviders({ sign: pkcs7 })\r\n\t\t\t\t\t\t\tawait api.getProviders()\r\n\t\t\t\t\t\t\tif (providersRes?.data.success) {\r\n\t\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\t\t\tmessage: t('alertTitles.edocsInstalled'),\r\n\t\t\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\t\t\t\tmessage: t('alertTitles.edocsInstallError'),\r\n\t\t\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch (error) {\r\n\t\t\t\t\t\t\tconsole.log('setEdocs error', error)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(e => console.error(e))\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst createSnackbarContent = (key: any, message: any, closeSnackbar: (key: any) => void) => {\r\n\t\treturn React.createElement(\r\n\t\t\t'div',\r\n\t\t\t{\r\n\t\t\t\tstyle: {\r\n\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\tjustifyContent: 'space-between',\r\n\t\t\t\t\tflexDirection: 'column',\r\n\t\t\t\t\tbackgroundColor: '#ffe6e6',\r\n\t\t\t\t\tpadding: '14px 18px',\r\n\t\t\t\t\tborderRadius: '12px',\r\n\t\t\t\t\tboxShadow: '0 2px 10px rgba(0, 0, 0, 0.1)',\r\n\t\t\t\t\twordWrap: 'break-word',\r\n\t\t\t\t\tmaxWidth: '600px'\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tReact.createElement(\r\n\t\t\t\t'div',\r\n\t\t\t\t{\r\n\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\tdisplay: 'flex',\r\n\t\t\t\t\t\talignItems: 'center',\r\n\t\t\t\t\t\tjustifyContent: 'space-between',\r\n\t\t\t\t\t\twidth: '100%',\r\n\t\t\t\t\t\tpaddingBottom: '8px'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tReact.createElement(\r\n\t\t\t\t\tTypography,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tfontSize: '14px',\r\n\t\t\t\t\t\t\tfontFamily: 'cursive',\r\n\t\t\t\t\t\t\tfontWeight: 'bold',\r\n\t\t\t\t\t\t\tcolor: '#d32f2f'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'Кажется, возникла ошибка.'\r\n\t\t\t\t),\r\n\t\t\t\tReact.createElement(Icon, {\r\n\t\t\t\t\ticon: close,\r\n\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\twidth: '24px',\r\n\t\t\t\t\t\theight: '24px',\r\n\t\t\t\t\t\tcolor: '#d32f2f',\r\n\t\t\t\t\t\tcursor: 'pointer'\r\n\t\t\t\t\t},\r\n\t\t\t\t\tonClick: () => closeSnackbar(key)\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tReact.createElement(\r\n\t\t\t\t'div',\r\n\t\t\t\t{ style: { display: 'flex', alignItems: 'center', gap: '8px' } },\r\n\t\t\t\tReact.createElement(\r\n\t\t\t\t\tTypography,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\t\tfontSize: '14px',\r\n\t\t\t\t\t\t\tcolor: '#d32f2f',\r\n\t\t\t\t\t\t\tfontFamily: 'cursive',\r\n\t\t\t\t\t\t\twhiteSpace: 'pre-line'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tmessage\r\n\t\t\t\t)\r\n\t\t\t),\r\n\r\n\t\t\tReact.createElement(\r\n\t\t\t\tTypography,\r\n\t\t\t\t{\r\n\t\t\t\t\tstyle: {\r\n\t\t\t\t\t\tfontSize: '10px',\r\n\t\t\t\t\t\tcolor: '#716763',\r\n\t\t\t\t\t\tfontFamily: 'cursive',\r\n\t\t\t\t\t\twhiteSpace: 'pre-line',\r\n\t\t\t\t\t\tpaddingTop: '8px'\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tReact.createElement(\r\n\t\t\t\t\t'span',\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\t'Если указанный выше текст ошибки не помог решить проблему, ' +\r\n\t\t\t\t\t\t'пожалуйста, скопируйте его полностью и отправьте в техническую поддержку ',\r\n\t\t\t\t\tReact.createElement(\r\n\t\t\t\t\t\t'a',\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\thref: 'https://t.me/edocs_uz',\r\n\t\t\t\t\t\t\ttarget: '_blank',\r\n\t\t\t\t\t\t\trel: 'noopener noreferrer',\r\n\t\t\t\t\t\t\tstyle: { fontSize: '10px', color: '#716763', textDecoration: 'underline' }\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t'https://t.me/edocs_uz'\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t)\r\n\t\t)\r\n\t}\r\n\r\n\tconst configureAxiosMiddleware = () => {\r\n\t\taxios.interceptors.response.use(\r\n\t\t\tresponse => {\r\n\t\t\t\treturn response\r\n\t\t\t},\r\n\t\t\terror => {\r\n\t\t\t\tconst errorMessage = error.response?.data?.errors?.msg\r\n\t\t\t\tconst filteredErrorMessage = errorMessageFn(error.response)\r\n\r\n\t\t\t\tif (error?.response?.status === 401) {\r\n\t\t\t\t\tlogout()\r\n\t\t\t\t\tif (!!errorMessage) {\r\n\t\t\t\t\t\tenqueueSnackbar(t('alertTitles.notAuth'), {\r\n\t\t\t\t\t\t\tvariant: 'error',\r\n\t\t\t\t\t\t\tautoHideDuration: 6000\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (error.config.headers.hasOwnProperty('showSnackbar') && filteredErrorMessage) {\r\n\t\t\t\t\tif (error.config.headers['showSnackbar'] === 'true') {\r\n\t\t\t\t\t\tenqueueSnackbar(filteredErrorMessage, {\r\n\t\t\t\t\t\t\tautoHideDuration: 30000,\r\n\t\t\t\t\t\t\tcontent: (key, message) => createSnackbarContent(key, message, closeSnackbar)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\terror.response &&\r\n\t\t\t\t\t\tfilteredErrorMessage &&\r\n\t\t\t\t\t\tenqueueSnackbar(filteredErrorMessage, {\r\n\t\t\t\t\t\t\tautoHideDuration: 30000,\r\n\t\t\t\t\t\t\tcontent: (key, message) => createSnackbarContent(key, message, closeSnackbar)\r\n\t\t\t\t\t\t})\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (errorMessage && filteredErrorMessage && !!localToken) {\r\n\t\t\t\t\tconst dataErrorsMsg = Array.isArray(error?.response?.data?.errors?.msg)\r\n\t\t\t\t\t\t? error?.response?.data?.errors?.msg\r\n\t\t\t\t\t\t\t\t.map((item: { param: any }, index: number) => `${index + 1}) ${item.param}`)\r\n\t\t\t\t\t\t\t\t.join(',\\n')\r\n\t\t\t\t\t\t: error?.response?.data?.errors?.msg\r\n\r\n\t\t\t\t\tapi.catchErrorMessage(\r\n\t\t\t\t\t\t`${error?.response?.status}, ${error?.response?.statusText}\r\n\r\n\t\t\t\t\t\t\tA) config.url:\\n${error?.response?.config.url}\r\n\r\n\t\t\t\t\t\t\tB) data.errors.msg:\\n${dataErrorsMsg}\r\n\r\n\t\t\t\t\t\t\tC) Пояснение в нашей базе:\\n${filteredErrorMessage}\r\n\t\t\t\t\t\t`\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn error.response\r\n\t\t\t}\r\n\t\t)\r\n\t}\r\n\r\n\tconst handleToken = () => {\r\n\t\tif (!!localToken) {\r\n\t\t\tPromise.all([\r\n\t\t\t\tgetProfileStat(),\r\n\t\t\t\tdispatch(fetchDocCounts('all')),\r\n\t\t\t\tdispatch(fetchMxikList()),\r\n\t\t\t\tdispatch(fetchAllMeasures())\r\n\t\t\t])\r\n\t\t}\r\n\t}\r\n}\r\n","import React, { useCallback, useEffect } from 'react'\r\nimport Router from './routes'\r\nimport ThemeConfig from './theme'\r\nimport GlobalStyles from './theme/globalStyles'\r\nimport './sass/main.scss'\r\nimport { useAppSelector, useAppDispatch } from './hooks/redux'\r\nimport AlertBox from './components/core/alert/Alert'\r\nimport LinearLoader from './components/core/linearLoader/LinearLoader'\r\nimport useApp from './hooks/useApp'\r\nimport { appSlice } from './redux/reducers/AppReducer'\r\nimport { version } from './version'\r\nimport { useProfileGetter, useProfileSetter } from './hooks/useProfile'\r\nimport Snowfall from './components/core/tables/ Snowfall/Snowfall'\r\n\r\nexport default function App() {\r\n\tconst { profileExit } = useProfileSetter()\r\n\tconst profile = useProfileGetter.useGetProfile() || {}\r\n\tconst { systemLoading, systemLoadingMsg } = useAppSelector(state => state.appReducer)\r\n\tconst dispatch = useAppDispatch()\r\n\r\n\tuseEffect(() => {\r\n\t\tdispatch(appSlice.actions.toggleSystemLoading(false))\r\n\r\n\t\tconst getVersion = async () => {\r\n\t\t\ttry {\r\n\t\t\t\tconst response = await fetch('/version.js', {\r\n\t\t\t\t\theaders: { 'Cache-Control': 'no-cache' }\r\n\t\t\t\t})\r\n\r\n\t\t\t\tif (!response?.ok) {\r\n\t\t\t\t\tconsole.log(`Error status: ${response.status}`)\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst responseText = await response.text()\r\n\t\t\t\tconst versionMatch = responseText.match(/export const version = '([^']*)'/)\r\n\r\n\t\t\t\tif (versionMatch && versionMatch[1] && versionMatch[1] !== version) {\r\n\t\t\t\t\tawait clearData()\r\n\t\t\t\t\tprofileExit()\r\n\t\t\t\t\tdispatch(\r\n\t\t\t\t\t\tappSlice.actions.toggleSystemAlert({\r\n\t\t\t\t\t\t\ttype: 'warning',\r\n\t\t\t\t\t\t\tmessage: 'Сайт был обновлен. Пожалуйста, перезагрузите страницу.',\r\n\t\t\t\t\t\t\tshow: true\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Error:', error)\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst interval = setInterval(getVersion, 120000)\r\n\t\treturn () => clearInterval(interval)\r\n\t}, [])\r\n\r\n\tconst clearData = async () => {\r\n\t\tconst themeLightValue = localStorage.getItem('themeLight')\r\n\t\tconst i18nextLngValue = localStorage.getItem('i18nextLng')\r\n\r\n\t\tlocalStorage.clear()\r\n\t\tsessionStorage.clear()\r\n\r\n\t\tdocument.cookie.split(';').forEach(c => {\r\n\t\t\tdocument.cookie = c.replace(/^ +/, '').replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/')\r\n\t\t})\r\n\r\n\t\tif (themeLightValue !== null) {\r\n\t\t\tlocalStorage.setItem('themeLight', themeLightValue)\r\n\t\t}\r\n\r\n\t\tif (i18nextLngValue !== null) {\r\n\t\t\tlocalStorage.setItem('i18nextLng', i18nextLngValue)\r\n\t\t}\r\n\r\n\t\tif ('caches' in window) {\r\n\t\t\ttry {\r\n\t\t\t\tconst cacheNames = await caches.keys()\r\n\t\t\t\tfor (const cacheName of cacheNames) {\r\n\t\t\t\t\tawait caches.delete(cacheName)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tconsole.error('Error clearing caches:', error)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdocument.addEventListener('keydown', handleCustomHotKey)\r\n\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('keydown', handleCustomHotKey)\r\n\t\t}\r\n\t}, [])\r\n\r\n\tconst handleCustomHotKey = useCallback(e => {\r\n\t\tif (e.shiftKey && e.key === 'F5') {\r\n\t\t\tclearData()\r\n\t\t}\r\n\t}, [])\r\n\r\n\tuseApp()\r\n\r\n\tuseEffect(() => {\r\n\t\tconst body = document.querySelector('body')\r\n\t\tbody.style.overflow = systemLoading ? 'hidden' : 'unset'\r\n\t}, [systemLoading])\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{systemLoading && }\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}\r\n","export const version = '1.7.2'\r\n","/* eslint-disable */\r\n/* @ts-nocheck */\r\n\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/sw.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log('This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://bit.ly/CRA-PWA');\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator\r\n .serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log('New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.');\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('Отсутствует интернет соединение. Сайт работает в оффлайн режиме.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator\r\n .serviceWorker\r\n .ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry);\r\n getFID(onPerfEntry);\r\n getFCP(onPerfEntry);\r\n getLCP(onPerfEntry);\r\n getTTFB(onPerfEntry);\r\n });\r\n }\r\n};\r\n\r\nexport default reportWebVitals;\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { fetchDocCounts, fetchDocuments } from '../actions/DocumentsActions'\r\n\r\nconst initialState = {\r\n\ttableLoading: true,\r\n\tdocs: [],\r\n\thasNextPage: false,\r\n\thasPrevPage: false,\r\n\tlimit: 0,\r\n\tnextPage: 0,\r\n\tcurrent_page: 1,\r\n\tpagingCounter: 1,\r\n\tprevPage: null,\r\n\ttotalDocs: 0,\r\n\ttotalPages: 0,\r\n\tdocCounts: {\r\n\t\tin: {\r\n\t\t\tdeleted: 0,\r\n\t\t\tdrafts: 0,\r\n\t\t\trejected: 0,\r\n\t\t\tsended: 0,\r\n\t\t\tsigned: 0\r\n\t\t},\r\n\t\tout: {\r\n\t\t\tdrafts: 0,\r\n\t\t\tsened: 0,\r\n\t\t\tsigned: 0,\r\n\t\t\trejected: 0,\r\n\t\t\tdeleted: 0\r\n\t\t}\r\n\t},\r\n\tcommonDocCounts: {\r\n\t\tin: 0,\r\n\t\tout: 0\r\n\t}\r\n}\r\n\r\nexport const documentsSlice = createSlice({\r\n\tname: 'documents',\r\n\tinitialState,\r\n\treducers: {},\r\n\textraReducers: {\r\n\t\t[fetchDocuments.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.tableLoading = false\r\n\t\t\tstate.docs = action.payload.docs\r\n\t\t\tstate.hasNextPage = action.payload.hasNextPage\r\n\t\t\tstate.hasPrevPage = action.payload.hasPrevPage\r\n\t\t\tstate.limit = action.payload.limit\r\n\t\t\tstate.nextPage = action.payload.nextPage\r\n\t\t\tstate.current_page = action.payload.page\r\n\t\t\tstate.pagingCounter = action.payload.pagingCounter\r\n\t\t\tstate.prevPage = action.payload.prevPage\r\n\t\t\tstate.totalDocs = action.payload.totalDocs\r\n\t\t\tstate.totalPages = action.payload.totalPages\r\n\t\t},\r\n\t\t[fetchDocuments.pending.type]: (state, action) => {\r\n\t\t\tstate.tableLoading = true\r\n\t\t},\r\n\t\t[fetchDocuments.rejected.type]: (state, action) => {\r\n\t\t\tconsole.log('rejected')\r\n\t\t},\r\n\t\t[fetchDocCounts.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.docCounts = JSON.parse(JSON.stringify(action.payload))\r\n\t\t},\r\n\t\t[fetchDocCounts.rejected.type]: (state, action) => {\r\n\t\t\tconsole.log('rejected fetching doc counts')\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default documentsSlice.reducer\r\n","import { createSlice } from '@reduxjs/toolkit'\r\nimport { fetchBankAccounts, fetchProfileRights, fetchWareHouses } from '../actions/ProfileActions'\r\n\r\nexport interface IBranch {\r\n\tid: number\r\n\tns10Code: number\r\n\tns10Name: string\r\n\tns11Code: number\r\n\tns11Name: string\r\n\ttin: string\r\n\tname: string\r\n\tbranchName: string\r\n\tbranchNum: string\r\n\tisDeleted: number\r\n\tcreatedDate: string\r\n\tdeletedDate: string\r\n\tdirectorTin: string\r\n\tdirectorName: string\r\n\tdirectorPinfl: number\r\n\tpinfl: number | string | null\r\n\tlatitude: number | string | null\r\n\tlongitude: number | string | null\r\n\tclientIp: number | string | null\r\n\turl: string | null\r\n\tlang: string | null\r\n\tsource: string | null\r\n\taddress: string | null\r\n}\r\n\r\nexport interface ITaxPayers {\r\n\ttin: string\r\n\tbranch?: string\r\n\troles: number[]\r\n}\r\n\r\nexport interface IState {\r\n\trights: {\r\n\t\ttin: string\r\n\t\ttaxpayers: ITaxPayers[]\r\n\t},\r\n\twarehouses: IWareHouse[],\r\n\tbankAccounts: IBankAccounts[],\r\n}\r\n\r\ninterface IWareHouse {\r\n\tid: number\r\n\twarehouseNumber: number\r\n\twarehouseName: string\r\n\twarehouseAddress: string\r\n}\r\n\r\ninterface IBankAccounts {\r\n\tbankId: string\r\n\taccount: string\r\n\tattribute: number\r\n\tcondition: number\r\n}\r\n\r\nconst initialState: IState = {\r\n\trights: {\r\n\t\ttin: '',\r\n\t\ttaxpayers: []\r\n\t},\r\n\twarehouses: [],\r\n\tbankAccounts: []\r\n}\r\n\r\nexport const profileSlice = createSlice({\r\n\tname: 'profile',\r\n\tinitialState,\r\n\treducers: {},\r\n\textraReducers: {\r\n\t\t[fetchProfileRights.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.rights = action.payload\r\n\t\t},\r\n\t\t[fetchWareHouses.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.warehouses = action.payload || []\r\n\t\t},\r\n\t\t[fetchBankAccounts.fulfilled.type]: (state, action) => {\r\n\t\t\tstate.bankAccounts = action.payload || []\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default profileSlice.reducer\r\n","import { adminApi } from './../actions/AdminActions'\r\nimport { combineReducers } from 'redux'\r\nimport { configureStore } from '@reduxjs/toolkit'\r\nimport appReducer from './AppReducer'\r\nimport notificationsReducer, { notificationsApi } from './NotificationsReducer'\r\nimport eimzoReducer from './EimzoReducer'\r\nimport authReducer from './AuthReducer'\r\nimport documentsReducer from './DocumentsReducer'\r\nimport filterReducer from './FilterReducer'\r\nimport { listsApi } from '../actions/AdminBanksActions'\r\nimport goodsReducer from './GoodsReducer'\r\nimport profileReducer from './ProfileReducer'\r\nimport groupActionsReducer from './GroupActionsReducer'\r\nimport { fetchMoneyLeft } from '../actions/ProfileActions'\r\nimport { mxiksApi } from '../actions/GoodsActions'\r\nimport { persistStore, persistReducer } from 'redux-persist'\r\nimport storage from 'redux-persist/lib/storage'\r\nimport { newsApi } from '../actions/NewsActions'\r\n\r\nconst persistConfig = {\r\n\tkey: 'root',\r\n\tstorage,\r\n\tversion: 1,\r\n\tblacklist: [\r\n\t\t'documentsReducer',\r\n\t\t'goodsReducer',\r\n\t\tlistsApi.reducerPath,\r\n\t\tfetchMoneyLeft.reducerPath,\r\n\t\tmxiksApi.reducerPath,\r\n\t\tadminApi.reducerPath,\r\n\t\tnewsApi.reducerPath,\r\n\t\tnotificationsApi.reducerPath\r\n\t]\r\n}\r\n\r\nexport const rootReducer = combineReducers({\r\n\tappReducer,\r\n\teimzoReducer,\r\n\tauthReducer,\r\n\tdocumentsReducer,\r\n\tfilterReducer,\r\n\tgoodsReducer,\r\n\tnotificationsReducer,\r\n\tprofileReducer,\r\n\tgroupActionsReducer,\r\n\t[listsApi.reducerPath]: listsApi.reducer,\r\n\t[fetchMoneyLeft.reducerPath]: fetchMoneyLeft.reducer,\r\n\t[mxiksApi.reducerPath]: mxiksApi.reducer,\r\n\t[newsApi.reducerPath]: newsApi.reducer,\r\n\t[adminApi.reducerPath]: adminApi.reducer,\r\n\t[notificationsApi.reducerPath]: notificationsApi.reducer\r\n})\r\n\r\nconst persistedReducer = persistReducer(persistConfig, rootReducer)\r\n\r\nexport const setupStore = () => {\r\n\treturn configureStore({\r\n\t\treducer: persistedReducer,\r\n\t\tdevTools: process.env.NODE_ENV !== 'production',\r\n\t\tmiddleware: getDefaultMiddleware =>\r\n\t\t\tgetDefaultMiddleware({\r\n\t\t\t\tserializableCheck: false\r\n\t\t\t}).concat(\r\n\t\t\t\tlistsApi.middleware,\r\n\t\t\t\tfetchMoneyLeft.middleware,\r\n\t\t\t\tmxiksApi.middleware,\r\n\t\t\t\tadminApi.middleware,\r\n\t\t\t\tnewsApi.middleware,\r\n\t\t\t\tnotificationsApi.middleware\r\n\t\t\t)\r\n\t})\r\n}\r\n\r\nconst store = setupStore()\r\nexport const persistor = persistStore(store)\r\nexport default store\r\n\r\nexport type RootReducer = ReturnType\r\nexport type RootStore = ReturnType\r\nexport type RootDispatch = RootStore['dispatch']\r\n","import i18n from \"i18next\";\r\nimport {initReactI18next} from \"react-i18next\";\r\nimport HttpApi from 'i18next-http-backend';\r\nimport LanguageDetector from \"i18next-browser-languagedetector\";\r\n\r\n// translation languages\r\nimport RussianTranslation from '../locales/ru.json'\r\nimport UzbekTranslation from '../locales/uz.json'\r\n\r\nconst resources = {\r\n ru: {\r\n translation: RussianTranslation\r\n },\r\n uz: {\r\n translation: UzbekTranslation\r\n }\r\n}\r\n\r\ni18n\r\n .use(initReactI18next)\r\n .use(LanguageDetector)\r\n .use(HttpApi)\r\n .init({\r\n supportedLngs: ['ru', 'uz'],\r\n resources,\r\n fallbackLng: 'ru',\r\n debug: false,\r\n interpolation: {\r\n escapeValue: false\r\n }\r\n })\r\n\r\nexport default i18n\r\n","// scroll bar\r\nimport 'simplebar/src/simplebar.css'\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport { HelmetProvider } from 'react-helmet-async'\r\n//\r\nimport App from './App'\r\nimport * as serviceWorker from './serviceWorker'\r\nimport reportWebVitals from './reportWebVitals'\r\nimport { Provider } from 'react-redux'\r\nimport store, { persistor } from './redux/reducers/RootReducer'\r\nimport './utils/i18n'\r\nimport LoadingComponent from './components/core/loader/MainLoader'\r\nimport { ConfirmProvider } from 'material-ui-confirm'\r\nimport { SnackbarProvider } from 'notistack'\r\nimport { Button } from '@mui/material'\r\nimport { PersistGate } from 'redux-persist/integration/react'\r\nimport axios from 'axios'\r\nrequire('dotenv').config()\r\n\r\n// ----------------------------------------------------------------------\r\n\r\nwindow.addEventListener('load', async () => {\r\n\tif ('serviceWorker' in navigator) {\r\n\t\ttry {\r\n\t\t\tawait navigator.serviceWorker.register('/sw.js')\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(e)\r\n\t\t}\r\n\t}\r\n})\r\n\r\nconst notistackRef = React.createRef()\r\nconst onClickDismiss = key => () => {\r\n\tnotistackRef.current.closeSnackbar(key)\r\n}\r\n\r\naxios.defaults.baseURL = process.env.REACT_APP_DEVELOPMENT_URL\r\n\r\nReactDOM.render(\r\n\t\r\n\t\t} persistor={persistor}>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\tmaxSnack={10}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t,\r\n\tdocument.getElementById('root')\r\n)\r\n\r\nserviceWorker.register()\r\n\r\nreportWebVitals()\r\n","import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query/react'\r\nimport api from '../../api/requests'\r\nimport { createAsyncThunk } from '@reduxjs/toolkit'\r\nimport { IMxikProduct } from '../reducers/GoodsReducer'\r\nimport { RootReducer } from '../reducers/RootReducer'\r\n\r\nconst SERVER_ERROR = 'Ошибка на стороне сервера'\r\n\r\nexport const fetchMxikList = createAsyncThunk('goods/fetchMxikList', async (_, thunkAPI) => {\r\n\ttry {\r\n\t\tlet allData: any[] = []\r\n\t\tlet page = 0\r\n\t\tconst size = 1000\r\n\r\n\t\twhile (true) {\r\n\t\t\ttry {\r\n\t\t\t\tconst res = await api.getListOfMxiks({ size, page })\r\n\r\n\t\t\t\tif (res.status === 200 && Array.isArray(res.data)) {\r\n\t\t\t\t\tallData = [...allData, ...res.data]\r\n\r\n\t\t\t\t\tif (res.data.length < size) {\r\n\t\t\t\t\t\tbreak\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpage++\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbreak\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn allData\r\n\t} catch (e) {\r\n\t\tconsole.error('Ошибка загрузки:', e)\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchMxikByKey = createAsyncThunk('goods/fetchMxikByKey', async (payload: string, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.searchForMxik(payload)\r\n\t\treturn res\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchAllMeasures = createAsyncThunk('goods/fetchAllMeasures', async (_, thunkAPI) => {\r\n\ttry {\r\n\t\tconst res = await api.getListOfAllMeasures()\r\n\t\treturn res.data\r\n\t} catch (e) {\r\n\t\treturn thunkAPI.rejectWithValue(SERVER_ERROR)\r\n\t}\r\n})\r\n\r\nexport const fetchSignRequest = async () => {\r\n\ttry {\r\n\t\treturn await api.signRequest()\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const fetchLoginEcp = async (pkcs7: string) => {\r\n\ttry {\r\n\t\treturn await api.loginecp(pkcs7)\r\n\t} catch (e) {\r\n\t\tconsole.log(e)\r\n\t}\r\n}\r\n\r\nexport const searchNonConfirmatoryCompany = async (tin: string) => {\r\n\ttry {\r\n\t\treturn await api.getCheckNonConfirmatoryCompany(tin)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchMxikLgotas = async (mxik: string, date: string) => {\r\n\ttry {\r\n\t\tconst res = await api.getCheckProduct(mxik, date)\r\n\t\tif (res.status === 200) {\r\n\t\t\treturn res\r\n\t\t}\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const fetchMxikByCode = async (codes: any) => {\r\n\ttry {\r\n\t\treturn await api.searchForMxikByCode(codes)\r\n\t} catch (e) {}\r\n}\r\n\r\nexport const searchRailwayDocId = async (railwayDocId: any) => {\r\n\ttry {\r\n\t\treturn await api.searchRailwayDocId(railwayDocId)\r\n\t} catch (e) {}\r\n}\r\n\r\ninterface IDictionaryProps {\r\n\tpage?: number\r\n\tsize?: number\r\n\tTasnifCode?: string\r\n\tLgotaName?: string\r\n\tTasnifName?: string\r\n}\r\n\r\ntype IMxikMutation = {\r\n\tmxikCode: string\r\n\tpinfl?: string\r\n\ttin?: string\r\n\tmethod?: 'delete' | 'add'\r\n}\r\n\r\ninterface IMxikWithSearch {\r\n\tcode: number\r\n\tdata: IMxikProduct[]\r\n\tsuccess: boolean\r\n}\r\n\r\ntype IMxikCombine = IMxikProduct[] & IMxikWithSearch\r\n\r\nexport const mxiksApi = createApi({\r\n\treducerPath: 'mxiksApi',\r\n\tbaseQuery: fetchBaseQuery({\r\n\t\tbaseUrl: process.env.REACT_APP_DEVELOPMENT_URL,\r\n\t\tprepareHeaders: (headers, { getState }) => {\r\n\t\t\tconst token = (getState() as RootReducer).authReducer.profile.at(-1)?.token || ''\r\n\t\t\theaders.set('Authorization', `Bearer ${token}`)\r\n\t\t\treturn headers\r\n\t\t}\r\n\t}),\r\n\tendpoints: builder => ({\r\n\t\tgetSavedMxiksForCount: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifName } = args\r\n\t\t\t\tconst reqUrl = !!TasnifName ? `/goods/mxik/search/?size=1000&stext=${TasnifName}` : `/goods/product/list`\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: reqUrl,\r\n\t\t\t\t\tparams: { page, size }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetSavedMxiks: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { TasnifName } = args\r\n\t\t\t\tconst reqUrl = !!TasnifName ? `/goods/mxik/search/?stext=${TasnifName}` : `/goods/product/list`\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: reqUrl\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tmutateMxik: builder.mutation({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst reqUrl = args.method === 'add' ? `/goods/product/add` : `/goods/product/del`\r\n\t\t\t\tdelete args.method\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: reqUrl,\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tbody: { ...args }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetGoodsWithPriveleges: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifCode, TasnifName, LgotaName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/without-vat-products`,\r\n\t\t\t\t\tparams: { page, size, TasnifCode, TasnifName, LgotaName }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetZeroVatRateServices: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifCode, TasnifName, LgotaName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/zero-vat-products`,\r\n\t\t\t\t\tparams: { page, size, TasnifCode, TasnifName, LgotaName }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetCompaniesWithPriveleges: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifCode, LgotaName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/privileged-seller-companies`,\r\n\t\t\t\t\tparams: { page, size, LgotaName, Tin: TasnifCode }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetZeroVatRateCompanies: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifCode, LgotaName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/privileged-buyer-companies`,\r\n\t\t\t\t\tparams: { page, size, LgotaName, Tin: TasnifCode }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetNoOffsetGoods: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/not-included-products`,\r\n\t\t\t\t\tparams: { page, size, SearchText: TasnifName }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetCompensationServices: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/lgota/compensation-works`,\r\n\t\t\t\t\tparams: { page, size, SearchText: TasnifName }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tgetNonConformityGoodsCompanies: builder.query({\r\n\t\t\tquery: args => {\r\n\t\t\t\tconst { page, size, TasnifName } = args\r\n\t\t\t\treturn {\r\n\t\t\t\t\turl: `/goods/utils/non-conformity-goods-companies`,\r\n\t\t\t\t\tparams: { page, size, SearchText: TasnifName }\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t})\r\n\t})\r\n})\r\n\r\nexport const {\r\n\tuseGetCompaniesWithPrivelegesQuery,\r\n\tuseGetCompensationServicesQuery,\r\n\tuseGetGoodsWithPrivelegesQuery,\r\n\tuseGetNoOffsetGoodsQuery,\r\n\tuseGetZeroVatRateCompaniesQuery,\r\n\tuseGetZeroVatRateServicesQuery,\r\n\tuseGetNonConformityGoodsCompaniesQuery,\r\n\tuseGetSavedMxiksQuery,\r\n\tuseMutateMxikMutation,\r\n\tuseGetSavedMxiksForCountQuery\r\n} = mxiksApi\r\n","import { TextField, TextFieldProps } from '@mui/material'\r\nimport { Controller, FieldErrors, FieldPath, RegisterOptions, useFormContext } from 'react-hook-form'\r\nimport { IDocsType } from '../../models'\r\nimport { fFloat, fNumber } from '../../utils/formatNumber'\r\n\r\nfunction ObjectByString(o: any, s: string) {\r\n\ts = s.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\r\n\ts = s.replace(/^\\./, '') // strip a leading dot\r\n\tvar a = s.split('.')\r\n\tfor (var i = 0, n = a.length; i < n; ++i) {\r\n\t\tvar k = a[i]\r\n\t\tif (k in o) {\r\n\t\t\to = o[k]\r\n\t\t} else {\r\n\t\t\treturn\r\n\t\t}\r\n\t}\r\n\treturn o\r\n}\r\n\r\ntype IControlledTextField = TextFieldProps & {\r\n\tname: FieldPath\r\n\trules?: RegisterOptions\r\n\terrors?: FieldErrors\r\n\tformat?: 'currency'\r\n\tformatOnBlur?: boolean\r\n\tformatOnChange?: boolean\r\n}\r\n\r\nconst ControlledTextField = ({\r\n\trules,\r\n\tname,\r\n\terrors,\r\n\tformat,\r\n\tformatOnBlur,\r\n\tformatOnChange,\r\n\t...props\r\n}: IControlledTextField) => {\r\n\tconst { control, setValue } = useFormContext()\r\n\r\n\tconst formatValue = (val: string): string => {\r\n\t\tlet str = val\r\n\r\n\t\tif (format === 'currency') {\r\n\t\t\tstr = fNumber(val)\r\n\t\t}\r\n\t\tif (formatOnChange) {\r\n\t\t\tstr = fFloat(str, 2)\r\n\t\t}\r\n\r\n\t\treturn str\r\n\t}\r\n\r\n\treturn (\r\n\t\t (\r\n\t\t\t\t {\r\n\t\t\t\t\t\tformatOnBlur && setValue(name, fFloat(e.target.value, 2))\r\n\t\t\t\t\t\tfield.onBlur()\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tInputLabelProps={{ shrink: Boolean(field.value) || field.value === 0 }}\r\n\t\t\t\t\terror={Boolean(Object.keys(errors || {}).length) && Boolean(ObjectByString(errors, field.name))}\r\n\t\t\t\t\thelperText={\r\n\t\t\t\t\t\tBoolean(Object.keys(errors || {}).length) && ObjectByString(errors, field.name)\r\n\t\t\t\t\t\t\t? ObjectByString(errors, field.name).message\r\n\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t)}\r\n\t\t/>\r\n\t)\r\n}\r\n\r\nexport default ControlledTextField\r\n","interface IDocTypes {\r\n\tid: number\r\n\tname: string\r\n\tpath: string | null\r\n}\r\n\r\ninterface IFilterDoc {\r\n\tid: number\r\n\tname: string\r\n}\r\n\r\nexport const listOfDocumentCategories: IDocTypes[] = [\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: 'factura',\r\n\t\tpath: '/factura'\r\n\t},\r\n\t{\r\n\t\tid: 10,\r\n\t\tname: 'buildingFactura',\r\n\t\tpath: '/buildingFactura'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: 'empowerment',\r\n\t\tpath: '/empowerment'\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tname: 'universal',\r\n\t\tpath: '/universal'\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tname: 'actWorkPerformed',\r\n\t\tpath: '/actWorkPerformed'\r\n\t},\r\n\t{\r\n\t\tid: 5,\r\n\t\tname: 'actGoodsAcceptance',\r\n\t\tpath: '/actGoodsAcceptance'\r\n\t},\r\n\t{\r\n\t\tid: 6,\r\n\t\tname: 'waybill',\r\n\t\tpath: '/waybill'\r\n\t},\r\n\t{\r\n\t\tid: 11,\r\n\t\tname: 'waybillLocal',\r\n\t\tpath: '/waybillLocal'\r\n\t},\r\n\t{\r\n\t\tid: 7,\r\n\t\tname: 'invoice',\r\n\t\tpath: '/invoice'\r\n\t},\r\n\t{\r\n\t\tid: 8,\r\n\t\tname: 'contract',\r\n\t\tpath: '/contract'\r\n\t},\r\n\t{\r\n\t\tid: 9,\r\n\t\tname: 'actVerification',\r\n\t\tpath: '/actverification'\r\n\t}\r\n]\r\n\r\nexport const listOfFilterDocuments: IFilterDoc[] = [\r\n\t{\r\n\t\tid: 0,\r\n\t\tname: 'all'\r\n\t},\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: 'factura'\r\n\t},\r\n\t{\r\n\t\tid: 10,\r\n\t\tname: 'buildingFactura'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: 'empowerment'\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tname: 'universal'\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tname: 'actWorkPerformed'\r\n\t},\r\n\t{\r\n\t\tid: 5,\r\n\t\tname: 'actGoodsAcceptance'\r\n\t},\r\n\t{\r\n\t\tid: 6,\r\n\t\tname: 'waybill'\r\n\t},\r\n\t{\r\n\t\tid: 11,\r\n\t\tname: 'waybillLocal'\r\n\t},\r\n\t{\r\n\t\tid: 7,\r\n\t\tname: 'invoice'\r\n\t},\r\n\t{\r\n\t\tid: 8,\r\n\t\tname: 'contract'\r\n\t},\r\n\t{\r\n\t\tid: 9,\r\n\t\tname: 'actVerification'\r\n\t}\r\n]\r\n\r\nexport interface IFacturaDirection {\r\n\tid: number\r\n\tname: string\r\n}\r\n\r\nexport const listOfDocumentDirections: IFacturaDirection[] = [\r\n\t{\r\n\t\tid: 0,\r\n\t\tname: '_0'\r\n\t},\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: '_1'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: '_2'\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tname: '_4'\r\n\t},\r\n\t{\r\n\t\tid: 5,\r\n\t\tname: '_5'\r\n\t},\r\n\t{\r\n\t\tid: 6,\r\n\t\tname: '_6'\r\n\t},\r\n\t{\r\n\t\tid: 7,\r\n\t\tname: '_7'\r\n\t},\r\n\t{\r\n\t\tid: 8,\r\n\t\tname: '_8'\r\n\t},\r\n\t{\r\n\t\tid: 9,\r\n\t\tname: '_9'\r\n\t},\r\n\t{\r\n\t\tid: 10,\r\n\t\tname: '_10'\r\n\t},\r\n\t{\r\n\t\tid: 11,\r\n\t\tname: '_11'\r\n\t},\r\n\t{\r\n\t\tid: 12,\r\n\t\tname: '_12'\r\n\t},\r\n\t{\r\n\t\tid: 13,\r\n\t\tname: '_13'\r\n\t}\r\n]\r\n\r\nexport const listOfFacturaTypes = [\r\n\t{\r\n\t\tid: 0,\r\n\t\tname: '_0'\r\n\t},\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: '_1'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: '_2'\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tname: '_3'\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tname: '_4'\r\n\t},\r\n\t{\r\n\t\tid: 5,\r\n\t\tname: '_5'\r\n\t},\r\n\t{\r\n\t\tid: 6,\r\n\t\tname: '_6'\r\n\t},\r\n\t{\r\n\t\tid: 8,\r\n\t\tname: '_8'\r\n\t},\r\n\t{\r\n\t\tid: 9,\r\n\t\tname: '_9'\r\n\t}\r\n]\r\n\r\nexport const listOfContractTypes = [\r\n\t{\r\n\t\tid: 0,\r\n\t\tname: '_0'\r\n\t},\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: '_1'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: '_2'\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tname: '_3'\r\n\t}\r\n]\r\n\r\nexport const listOfProductOrigins = [\r\n\t{\r\n\t\tid: 1,\r\n\t\tname: '_1'\r\n\t},\r\n\t{\r\n\t\tid: 2,\r\n\t\tname: '_2'\r\n\t},\r\n\t{\r\n\t\tid: 3,\r\n\t\tname: '_3'\r\n\t},\r\n\t{\r\n\t\tid: 4,\r\n\t\tname: '_4'\r\n\t}\r\n]\r\n","import {fetchBaseQuery, createApi} from \"@reduxjs/toolkit/dist/query/react\";\r\n\r\nexport interface IBanks {\r\n bankId: string\r\n nameRU: string\r\n nameUZ: string\r\n}\r\n\r\nexport interface IRegions {\r\n regionId: string\r\n nameRU: string\r\n nameUZ: string\r\n}\r\n\r\nexport interface IDistrict {\r\n districtId: string\r\n districtCode: string\r\n regionId: string\r\n nameRU: string\r\n nameUZ: string\r\n soato: number\r\n}\r\n\r\nexport interface IMahalla {\r\n code: number\r\n description: string | null\r\n districtId: number\r\n id: number\r\n kadastrCode: string\r\n name: string\r\n nameRu: string\r\n nameUzCyrl: string\r\n nameUzLatn: string\r\n regionId: number\r\n sector: number\r\n soato: number\r\n tin: string\r\n uzkadCode: string\r\n}\r\n\r\nexport interface ICountries {\r\n Code: string\r\n Name: string\r\n}\r\n\r\nexport interface IStation {\r\n stationId: string\r\n name?: string\r\n}\r\n\r\nexport const listsApi = createApi({\r\n reducerPath: 'listsApi',\r\n baseQuery: fetchBaseQuery({\r\n baseUrl: process.env.REACT_APP_DEVELOPMENT_URL,\r\n }),\r\n endpoints: (builder) => ({\r\n getBanks: builder.query({\r\n query: () => '/banks/all'\r\n }),\r\n getDistricts: builder.query({\r\n query: () => '/districts/all'\r\n }),\r\n getRegions: builder.query({\r\n query: () => '/regions/all'\r\n }),\r\n getStations: builder.query({\r\n query: () => '/stations/all'\r\n }),\r\n getCountries: builder.query({\r\n query: () => '/regions/getcountries'\r\n }),\r\n getWaybillLocalRegions: builder.query({\r\n query: () => '/utils/waybills-v2/catalogs/regions'\r\n }),\r\n getWaybillLocalDistricts: builder.query({\r\n query: (regionId: string) => `/utils/waybills-v2/catalogs/districts?regionId=${regionId}`\r\n }),\r\n getMahallas: builder.query({\r\n query: (soato: number) => `/utils/waybills-v2/catalogs/villages?soato=${soato}`\r\n })\r\n })\r\n})\r\n\r\nexport const {\r\n useGetBanksQuery,\r\n useGetDistrictsQuery,\r\n useGetRegionsQuery,\r\n useGetCountriesQuery,\r\n useGetStationsQuery,\r\n useGetWaybillLocalRegionsQuery,\r\n useGetWaybillLocalDistrictsQuery,\r\n useGetMahallasQuery,\r\n} = listsApi\r\n","import { createSlice, current, PayloadAction } from '@reduxjs/toolkit'\r\nimport { IProfile } from '../../models/profile'\r\n\r\ninterface IAuth {\r\n\tprofile: IProfile[]\r\n\taccountStatus: {\r\n\t\tdata: {\r\n\t\t\tcode: number\r\n\t\t\tname: string\r\n\t\t\tnameRu: string\r\n\t\t\tnameUz: string\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst initialState: IAuth = {\r\n\tprofile: [],\r\n\taccountStatus: {\r\n\t\tdata: {\r\n\t\t\tcode: 0,\r\n\t\t\tname: '',\r\n\t\t\tnameRu: '',\r\n\t\t\tnameUz: ''\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport const AuthSlice = createSlice({\r\n\tname: 'auth',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tsetProfile(state, action: PayloadAction<{ profile: IProfile }>) {\r\n\t\t\tlet filteredProfiles = []\r\n\r\n\t\t\tconst { tin, isAuthWithPassword, isFizAuthToYurProfile } = action.payload.profile\r\n\t\t\tfilteredProfiles = current(state.profile).filter(\r\n\t\t\t\titem =>\r\n\t\t\t\t\t!(\r\n\t\t\t\t\t\titem.tin === tin &&\r\n\t\t\t\t\t\titem.isAuthWithPassword === isAuthWithPassword &&\r\n\t\t\t\t\t\titem.isFizAuthToYurProfile === isFizAuthToYurProfile\r\n\t\t\t\t\t)\r\n\t\t\t)\r\n\r\n\t\t\tstate.profile = [...filteredProfiles, action.payload.profile]\r\n\t\t},\r\n\t\tprofileLogout(state, action: PayloadAction) {\r\n\t\t\tconst { tin, isAuthWithPassword, isFizAuthToYurProfile } = action.payload\r\n\r\n\t\t\tstate.profile = state.profile.filter(\r\n\t\t\t\titem =>\r\n\t\t\t\t\t!(\r\n\t\t\t\t\t\titem.tin === tin &&\r\n\t\t\t\t\t\titem.isAuthWithPassword === isAuthWithPassword &&\r\n\t\t\t\t\t\titem.isFizAuthToYurProfile === isFizAuthToYurProfile\r\n\t\t\t\t\t)\r\n\t\t\t)\r\n\t\t},\r\n\t\tsetNewKeyId(state, action: PayloadAction<{ keyId: string; newKeyId: string }>) {\r\n\t\t\tconst { keyId, newKeyId } = action.payload\r\n\r\n\t\t\tstate.profile.forEach(profile => {\r\n\t\t\t\tif (profile.keyId === keyId) {\r\n\t\t\t\t\tprofile.keyId = newKeyId\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t},\r\n\t\tremoveFizInnProfiles(state) {\r\n\t\t\tstate.profile = state.profile.filter(profile => {\r\n\t\t\t\treturn !(profile.tin.length === 9 && ['4', '5', '6'].includes(profile.tin[0]))\r\n\t\t\t})\r\n\t\t},\r\n\t\tsetAccountStatus(state, action) {\r\n\t\t\tstate.accountStatus = action.payload\r\n\t\t},\r\n\t\tclearAccountStatus(state) {\r\n\t\t\tstate.accountStatus = {\r\n\t\t\t\tdata: { code: 0, name: '', nameRu: '', nameUz: '' }\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\textraReducers: {}\r\n})\r\n\r\nexport default AuthSlice.reducer\r\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit'\r\n\r\nexport interface IFilter {\r\n\tdocType: string\r\n\ttin: string\r\n\tnumber: string\r\n\tminDate: Date | null | string\r\n\tmaxDate: Date | null | string\r\n\tcontractNumber: string\r\n\tcontractDate: Date | null | string\r\n}\r\n\r\nexport const filterState: IFilter = {\r\n\tdocType: 'all',\r\n\ttin: '',\r\n\tnumber: '',\r\n\tminDate: null,\r\n\tmaxDate: null,\r\n\tcontractDate: null,\r\n\tcontractNumber: ''\r\n}\r\n\r\ninterface FilterSliceState {\r\n\tfilters: { [profileTin: string]: IFilter }\r\n\tcurrentProfileTin: string | null\r\n\tfilter: IFilter\r\n}\r\n\r\nconst initialState: FilterSliceState = {\r\n\tfilters: {},\r\n\tcurrentProfileTin: null,\r\n\tfilter: filterState\r\n}\r\n\r\nexport const filterSlice = createSlice({\r\n\tname: 'filter',\r\n\tinitialState,\r\n\treducers: {\r\n\t\tsetFilter(state, action: PayloadAction) {\r\n\t\t\tconst profileTin = state.currentProfileTin\r\n\t\t\tif (profileTin) {\r\n\t\t\t\tif (!state.filters) {\r\n\t\t\t\t\tstate.filters = {}\r\n\t\t\t\t}\r\n\t\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\t}\r\n\t\t\t\tstate.filters[profileTin] = action.payload\r\n\t\t\t\tstate.filter = action.payload\r\n\t\t\t}\r\n\t\t},\r\n\t\tresetFilter(state) {\r\n\t\t\tconst profileTin = state.currentProfileTin\r\n\t\t\tif (profileTin) {\r\n\t\t\t\tif (!state.filters) {\r\n\t\t\t\t\tstate.filters = {}\r\n\t\t\t\t}\r\n\t\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\t}\r\n\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\tstate.filter = { ...filterState }\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetFilterProfile(state, action: PayloadAction) {\r\n\t\t\tconst profileTin = action.payload\r\n\t\t\tstate.currentProfileTin = profileTin\r\n\t\t\tif (!state.filters) {\r\n\t\t\t\tstate.filters = {}\r\n\t\t\t}\r\n\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t}\r\n\t\t\tstate.filter = { ...state.filters[profileTin] }\r\n\t\t},\r\n\t\tresetAllFilters(state) {\r\n\t\t\tstate.filters = {}\r\n\t\t\tstate.filter = { ...filterState }\r\n\t\t},\r\n\t\tsetupDocTypeFilter(state, action: PayloadAction) {\r\n\t\t\tconst profileTin = state.currentProfileTin\r\n\t\t\tif (profileTin) {\r\n\t\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\t}\r\n\t\t\t\tstate.filters[profileTin].docType = action.payload\r\n\t\t\t\tstate.filter.docType = action.payload\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetupTinFilter(state, action: PayloadAction) {\r\n\t\t\tconst profileTin = state.currentProfileTin\r\n\t\t\tif (profileTin) {\r\n\t\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\t}\r\n\t\t\t\tstate.filters[profileTin].tin = action.payload\r\n\t\t\t\tstate.filter.tin = action.payload\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetupNumberFilter(state, action: PayloadAction) {\r\n\t\t\tconst profileTin = state.currentProfileTin\r\n\t\t\tif (profileTin) {\r\n\t\t\t\tif (!state.filters[profileTin]) {\r\n\t\t\t\t\tstate.filters[profileTin] = { ...filterState }\r\n\t\t\t\t}\r\n\t\t\t\tstate.filters[profileTin].number = action.payload\r\n\t\t\t\tstate.filter.number = action.payload\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n})\r\n\r\nexport default filterSlice.reducer\r\n","/* eslint-disable import/no-anonymous-default-export */\r\nimport axios from 'axios'\r\nimport { fShortDashedDate } from '../utils/formatTime'\r\n\r\nexport default {\r\n\tasync getProfile() {\r\n\t\treturn await axios.get('/profile')\r\n\t},\r\n\tasync getProfileByTin(tin: string) {\r\n\t\treturn await axios.get(`/profile/${tin}`)\r\n\t},\r\n\tasync getProfileByPinfl(pinfl: string) {\r\n\t\treturn await axios.get(`/profile/${pinfl}`)\r\n\t},\r\n\tasync getProfileType(tin: string, date: string) {\r\n\t\tdate = !!date ? date : fShortDashedDate(Date.now())\r\n\t\treturn await axios.get(`/profile/taxpayertype/${tin}/${date}`)\r\n\t},\r\n\tasync getProfileTypeCommitent(tin: string) {\r\n\t\treturn await axios.get(`/profile/taxpayertype/${tin}`)\r\n\t},\r\n\tasync getProfileRights() {\r\n\t\treturn await axios.get(`/profile/rights`)\r\n\t},\r\n\tasync getProfileBankAccounts(tin: string) {\r\n\t\treturn await axios.get(`/profile/bankaccounts/${tin}`)\r\n\t},\r\n\tasync getWarehouses(tin: string) {\r\n\t\treturn await axios.get(`/profile/warehouses/${tin}`)\r\n\t},\r\n\tasync getCurrentTurnOver(tin: string, year: string) {\r\n\t\treturn await axios.get(`/profile/currentturnover/${tin}/${year}`)\r\n\t},\r\n\tasync getRentContracts(from: string, to: string) {\r\n\t\treturn await axios.get(`/profile/rentcontracts/${from}/${to}`)\r\n\t}\r\n}\r\n\r\nexport const setProfileRights = async (rights: object) => {\r\n\tlet response: boolean = false\r\n\tawait axios.post(`/profile/rights`, rights).then(res => {\r\n\t\tif (res.status === 200) {\r\n\t\t\tresponse = true\r\n\t\t}\r\n\t})\r\n\treturn response\r\n}\r\n"],"sourceRoot":""}