{"version":3,"sources":["../node_modules/yargs-parser sync","../node_modules/require-main-filename sync","assets/images/BankCarts/10.png","assets/images/BankCarts/100.png","assets/images/BankCarts/103.png","assets/images/BankCarts/108.png","assets/images/BankCarts/109.png","assets/images/BankCarts/111.png","assets/images/BankCarts/12.png","assets/images/BankCarts/124.png","assets/images/BankCarts/125.png","assets/images/BankCarts/134.png","assets/images/BankCarts/135.png","assets/images/BankCarts/146.png","assets/images/BankCarts/15.png","assets/images/BankCarts/203.png","assets/images/BankCarts/205.png","assets/images/BankCarts/206.png","assets/images/BankCarts/209.png","assets/images/BankCarts/210.png","assets/images/BankCarts/211.png","assets/images/BankCarts/32.png","assets/images/BankCarts/34.png","assets/images/BankCarts/4.png","assets/images/BankCarts/46.png","assets/images/BankCarts/48.png","assets/images/BankCarts/59.png","assets/images/BankCarts/62.png","assets/images/BankCarts/64.png","assets/images/BankCarts/67.png","assets/images/BankCarts/96.png","assets/images/BankCarts/99.png","assets/images/BankCarts/999.png","assets/images/supportPanelBackground.png","appRedux/reducers/Settings.js","constants/ThemeSetting.js","constants/ActionTypes.js","appRedux/reducers/Auth.js","appRedux/reducers/Common.js","appRedux/store/index.js","lngProvider/entries/en-US.js","lngProvider/entries/zh-Hans-CN.js","lngProvider/entries/ar_SA.js","lngProvider/entries/it_IT.js","lngProvider/entries/es_ES.js","lngProvider/index.js","lngProvider/entries/fr_FR.js","util/CustomScrollbars.js","util/Extensions/Screens.js","appRedux/actions/Setting.js","containers/Sidebar/SidebarLogo.js","util/ApiforContext.js","util/RequestHandler.js","routes/Forms/Helper/index.js","routes/Forms/DefaultModuleUpdateForm.js","util/MenuItems.js","containers/Sidebar/index.js","components/SearchBox/index.js","components/AppNotification/NotificationItem.js","components/AppNotification/NotificationContent.js","components/AppNotification/index.js","util/Auxiliary.js","containers/Topbar/HorizontalNav.js","util/IntlMessages.js","containers/Topbar/HorizontalDefault/index.js","components/UserInfo/index.js","containers/Topbar/index.js","containers/Topbar/HorizontalDark/index.js","containers/Topbar/InsideHeader/index.js","containers/Topbar/AboveHeader/index.js","containers/Topbar/BelowHeader/index.js","routes/AccountPage/BankAccountPage.js","routes/Forms/TransactionBankInfoAccountAddForm.js","routes/Forms/TransactionBankInfoAccountUpdateForm.js","routes/Forms/GroupAdd.js","routes/Forms/GroupUpdate.js","routes/Consolidated/ConsolidatedTenant.js","routes/Consolidated/ConsolidatedBankList.js","routes/Forms/FirmAddForm.js","routes/BankPage/BankList.js","routes/TenantAccount/index.js","routes/Forms/MonthlyPlanAdd.js","routes/Forms/MonthlyPlanUpdate.js","routes/Forms/CheckPromissoryAdd.js","routes/Forms/CheckPromissoryUpdate.js","routes/MounthlyPlan/MonthlyPlanList.js","routes/Forms/FirmUpdate.js","routes/Firm/FirmList.js","routes/Forms/FirmClassAddForm.js","routes/Forms/FirmClassUpdate.js","routes/TransactionBankInfo/Index.js","routes/Report/BankBasedTransactionReport/index.js","routes/TransactionBankInfo/PosCollectionInfo.js","routes/HomePage/Chartjs/HomeCards.js","routes/HomePage/Chartjs/HomeWidget.js","routes/HomePage/Chartjs/HomeBarCharts.js","routes/HomePage/Lists/TahsilatPlanWidget.js","routes/Report/BalanceReports.js","routes/HomePage/Lists/TahsilatPlanLists.js","components/Widget/index.js","routes/PosOperations/ValueReport.js","routes/PosOperations/PosVolumeReport.js","routes/BankPage/HomePageBankList.js","routes/Report/Chartjs/PosCard.js","util/IntegerInput.js","routes/Forms/DbsDealerAddForm.js","routes/Forms/DbsDealerUpdateForm.js","routes/Forms/DbsInvoiceAddForm.js","routes/Dbs/Report/DbsValueReport.js","routes/Report/Chartjs/PosHomeWidget.js","routes/Forms/TosCreateOrderForm.js","routes/Tos/TosSentPaymentAllList.js","routes/Forms/AccountTransactionRuleAddForm.js","routes/Erp/ErpFirmReport/Netsis/index.js","routes/Report/PosReports.js","routes/SupportPanel/SupportRequest.js","routes/Forms/Helper/ParaticPhoneInput.js","routes/B2B/FirmPanel.js","routes/B2B/PosCollectionTransactionRefundModal.js","routes/B2B/PosCollectionTransactionCancelModal.js","routes/B2B/PosCollectionTransaction.js","routes/B2B/PosCollection.js","routes/SupportPanel/Questions.js","routes/SupportPanel/SupportRequestFirst.js","routes/Forms/SubscriberFirmAddForm.js","routes/Forms/SubscriberFirmUpdate.js","routes/Forms/SubscriberFirmMonthlyPlanAdd.js","routes/SubscriberFirm/SubscriberFirmList.js","routes/SubscriberFirm/SubscriberFirmStatusReport.js","routes/Forms/AccountTransactionRuleUpdateForm.js","routes/Forms/TransactionProjectTypeAddForm.js","routes/Forms/SpecialActionCodeAddForm.js","routes/Forms/TransactionProjectTypeUpdateForm.js","routes/Forms/TransactionCostCenterAddForm.js","routes/Forms/TransactionResponsibilityCenterAddForm.js","routes/Forms/DivisionAddForm.js","routes/Forms/DepartmentAddForm.js","containers/App/MainApp.js","routes/Erp/ErpPosReportTransaction.js","containers/PaymentPage.js","containers/ConstantPaymentPage.js","containers/SignUp.js","containers/LeadRequest.js","containers/App/index.js","appRedux/actions/Auth.js","i18n.js","NextApp.js","appRedux/reducers/index.js","registerServiceWorker.js","index.js","assets/images/w-logo.png","util/config.js","assets/images/finekralogo_white.png","assets/images/imzaposLogoBeyaz.png","assets/images/logoBakiyemWhite.png","assets/images/finekralogo.png","assets/images/imzaPosLogo.png","assets/images/logoBakiyem.png","assets/images/BankCarts sync /^/.*/.png$","assets/images/logo.png","../node_modules/yargs sync","assets/images/paymentSymbols.png","assets/images/bg_lead_request.png","../node_modules/yargs/lib sync","assets/images/user.jpg","assets/images/loader.svg","assets/images/logo-white.png"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","module","exports","id","initialSettings","navCollapsed","navStyle","layoutType","themeType","colorSelection","pathname","width","window","innerWidth","isDirectionRTL","locale","languageId","name","icon","settings","state","action","type","payload","location","INIT_STATE","token","localStorage","getItem","initURL","authUser","error","loading","message","history","createBrowserHistory","require","routeMiddleware","routerMiddleware","middlewares","thunk","EnLang","messages","enMessages","antd","antdEn","ZhLan","zhMessages","saLang","saMessages","antdSA","AppLocale","en","enLang","zh","zhLang","ar","arLang","it","itLang","es","esLang","fr","CustomScrollbars","props","autoHide","renderTrackHorizontal","style","display","className","screen","toggleCollapsedSideNav","onNavStyleChange","switchLanguage","apiUrl","isFinekraLogoApiUrl","headers","Authorization","demoUrl","frontEndUrl","supportPanelImgUrl","renderNotifications","isObject","value","Array","isArray","handleRequest","endPoint","method","data","showDefaultNotification","options","defaultOptions","url","startsWith","config","RequestHandler","getToken","undefined","params","Object","assign","axios","request","then","response","success","notification","duration","handleDefaultNotification","rawResponse","catch","toString","status","forEach","validationMessage","removeUserInfo","handleError","send","isNonAuthEndpoint","some","element","toLowerCase","expiration","refreshExpiration","Date","now","setUserInfo","get","post","put","delete","setItem","getTime","refreshTokenExpiration","refreshToken","userId","email","tenantId","userName","OneSignal","logout","removeItem","typeTemplate","defaultValidateMessages","default","required","enum","whitespace","date","format","parse","invalid","types","string","array","object","number","boolean","integer","float","regexp","hex","len","min","max","range","pattern","mismatch","formItemLayout","labelCol","xs","span","sm","wrapperCol","DefaultModuleUpdateForm","useState","setLoading","moduleSelect","setModuleSelect","Form","useForm","form","useEffect","getModules","defaultModuleId","x","setFieldsValue","moduleId","parseInt","validateMessages","initialValues","remember","onFinish","values","onSuccess","onFinishFailed","errorInfo","Item","label","rules","showSearch","placeholder","filterOption","input","option","children","toLocaleLowerCase","indexOf","map","item","Option","key","textAlign","SaveOutlined","htmlType","onClick","getMenuItems","permissions","title","color","isRender","isGroupUser","isShowPosSummaryGraphic","isAllowPosEarlyUnblock","isAdmin","isGroupAdmin","Layout","Sider","SearchBox","styleName","onChange","defaultProps","NotificationItem","dataIndex","onMarkAsReadSuccess","onDeleteSuccess","onClickNotificationWithBody","setPopoverVisible","shortDescription","useHistory","onClickMarkAsRead","onClickExtarnalUrlTitle","isRead","onClickUrlTitle","onClickContentTitle","padding","backgroundColor","Meta","href","target","rel","to","hasContentBody","description","open","push","cursor","border","content","EyeOutlined","DeleteOutlined","NotificationContent","refreshNotReadBadge","visible","modal","setModal","total","nextPageLoading","notifications","setNotifications","skip","take","current","queryOptions","setQueryOptions","getNotifications","refreshNotifications","_","index","rows","getNotificationDetail","justify","align","length","okText","cancelText","onConfirm","onScrollFrame","top","minWidth","itemLayout","image","Empty","PRESENTED_IMAGE_SIMPLE","centered","onOk","onCancel","footer","zIndex","height","dangerouslySetInnerHTML","__html","body","AppNotification","notReadCount","setNotReadCount","setVisible","getNotReadCount","placement","trigger","onVisibleChange","dot","BellOutlined","verticalAlign","lineHeight","fontSize","Auxiliary","SubMenu","Menu","HorizontalNav","isModalVisible","setIsModalVisible","isModalVisibleSms","setIsModalVisibleSms","isLiveValue","setIsLiveValue","isSmsAccess","setIsSmsAccess","modules","tenantIsKobi","setPermissions","lowerCase","renderMenuItem","menuItem","includes","childItem","selectedKeys","useSelector","substr","defaultOpenKeys","split","menuItems","mode","spinning","defaultChecked","checked","res","setTimeout","reload","UserId","IsSmsAccess","injectIntl","withRef","Header","Select","UserInfo","defaultModuleModalVisible","setDefaultModuleModalVisible","accessSupportPanel","setAccessSupportPanel","userMenuOptions","overlayClassName","UserOutlined","Topbar","tenantAccounts","setTenantAccounts","filteredTenantAccounts","setFilteredTenantAccounts","currentTenantAccount","setcurrentTenantAccount","setIsGroupUser","isTabletOrMobileDevice","useMediaQuery","query","isVisibleDropdown","setIsVisibleDropdown","tenantAccount","menu","autoHideTimeout","autoHideDuration","autoHeight","autoHeightMin","autoHeightMax","thumbMinSize","universal","filter","disabled","AlignLeftOutlined","overlay","marginTop","DownOutlined","connect","dispatch","useDispatch","Screen","alt","src","marginBottom","marginRight","Collapse","Panel","DatePicker","RangePicker","Input","TextArea","Typography","Text","Math","PI","Tabs","TabPane","Modal","confirm","PosCollectionInfo","Widget","cover","extra","actions","isDesktopOrLaptop","isBigScreen","marginLeft","isTabletOrMobile","subTitle","descText","iconColor","borderRadius","React","Component","cardStyles","impWidth","class","PosReports","Title","Dragger","Upload","Editor","onSubmit","submitting","topicId","fileList","justifyContent","multiple","accept","showUploadList","titleId","info","file","onDrop","UploadOutlined","ParaticPhoneInput","countryCodeEditable","country","onlyCountries","inputClass","inputStyle","paddingLeft","Search","createRef","Content","Footer","ErpPosReportTransaction","LeadRequest","useLocation","registerLoading","setRegisterLoading","URLSearchParams","search","utmSource","setUtmSource","utmCampaign","setUtmCampaign","screenSize","setScreenSize","handleResize","addEventListener","removeEventListener","utmMedium","gtag","event_category","event_label","backgroundImage","RegisterPic","backgroundSize","backgroundPosition","backgroundRepeat","md","lg","alignItems","position","registerEmail","tenantName","companyName","firstName","surName","lastName","phone","slice","annualIncome","resetFields","fontWeight","fontFamily","autoComplete","size","memo","auth","useRouteMatch","has","onLayoutTypeChange","setLayoutType","setNavStyle","document","classList","remove","add","fetch","a","json","cookie","replace","version","versionCookie","caches","names","currentAppLocale","localetr","exact","path","component","i18n","use","initReactI18next","init","resources","translation","enTranslation","tr","trTranslation","lng","fallbackLng","interpolation","escapeValue","store","preloadedState","createStore","combineReducers","router","connectRouter","Settings","Auth","commonData","Common","compose","applyMiddleware","configureStore","NextApp","App","isLocalhost","Boolean","hostname","match","registerValidSW","swUrl","navigator","serviceWorker","register","registration","onupdatefound","installingWorker","installing","onstatechange","controller","console","log","URL","process","origin","ready","unregister","checkValidServiceWorker","scope","registerServiceWorker","ReactDOM","render","getElementById","footerText","webpackContext","webpackContextResolve","__webpack_require__","o"],"mappings":"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","file":"static/js/1739826901295.main.81eeb36d.chunk.js","sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 1049;","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 1093;","module.exports = __webpack_public_path__ + \"static/media/10.1860b085.png\";","module.exports = __webpack_public_path__ + \"static/media/100.6b8bb910.png\";","module.exports = __webpack_public_path__ + \"static/media/103.86fc8e38.png\";","module.exports = __webpack_public_path__ + \"static/media/108.ef551bb9.png\";","module.exports = __webpack_public_path__ + \"static/media/109.782bdc91.png\";","module.exports = __webpack_public_path__ + \"static/media/111.10fb010b.png\";","module.exports = __webpack_public_path__ + \"static/media/12.25285420.png\";","module.exports = __webpack_public_path__ + \"static/media/124.fc67259b.png\";","module.exports = __webpack_public_path__ + \"static/media/125.aad87744.png\";","module.exports = __webpack_public_path__ + \"static/media/134.6be19b9f.png\";","module.exports = __webpack_public_path__ + \"static/media/135.205ce301.png\";","module.exports = __webpack_public_path__ + \"static/media/146.20cc98ef.png\";","module.exports = __webpack_public_path__ + \"static/media/15.aec1c763.png\";","module.exports = __webpack_public_path__ + \"static/media/203.615a7ff6.png\";","module.exports = __webpack_public_path__ + \"static/media/205.39bfa595.png\";","module.exports = __webpack_public_path__ + \"static/media/206.7f08102b.png\";","module.exports = __webpack_public_path__ + \"static/media/209.b726036c.png\";","module.exports = __webpack_public_path__ + \"static/media/210.5b2d89a7.png\";","module.exports = __webpack_public_path__ + \"static/media/211.83190e30.png\";","module.exports = __webpack_public_path__ + \"static/media/32.1fd69cfe.png\";","module.exports = __webpack_public_path__ + \"static/media/34.290f0522.png\";","module.exports = __webpack_public_path__ + \"static/media/4.5ab8174b.png\";","module.exports = __webpack_public_path__ + \"static/media/46.82db6fde.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA0cAAAEBAQMAAACJ6kyYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAADUExURf///6fEG8gAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVHja7cExAQAAAMKg9U9tDQ8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu1QBqagABFFUvQAAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"static/media/59.ffd2abf9.png\";","module.exports = __webpack_public_path__ + \"static/media/62.77cf9b12.png\";","module.exports = __webpack_public_path__ + \"static/media/64.3447dd04.png\";","module.exports = __webpack_public_path__ + \"static/media/67.617e00a0.png\";","module.exports = __webpack_public_path__ + \"static/media/96.989a3de3.png\";","module.exports = __webpack_public_path__ + \"static/media/99.1f1ba033.png\";","module.exports = __webpack_public_path__ + \"static/media/999.aa3f2e42.png\";","module.exports = __webpack_public_path__ + \"static/media/supportPanelBackground.56172c05.png\";","import {SWITCH_LANGUAGE, TOGGLE_COLLAPSED_NAV, WINDOW_WIDTH} from \"constants/ActionTypes\";\r\nimport {\r\n LAYOUT_TYPE,\r\n LAYOUT_TYPE_FULL,\r\n NAV_STYLE,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_DARK_HORIZONTAL,\r\n NAV_STYLE_INSIDE_HEADER_HORIZONTAL,\r\n THEME_COLOR_SELECTION,\r\n THEME_COLOR_SELECTION_PRESET,\r\n THEME_TYPE,\r\n THEME_TYPE_SEMI_DARK\r\n} from \"../../constants/ThemeSetting\";\r\n\r\nconst initialSettings = {\r\n navCollapsed: true,\r\n navStyle: NAV_STYLE_INSIDE_HEADER_HORIZONTAL,\r\n layoutType: LAYOUT_TYPE_FULL,\r\n themeType: THEME_TYPE_SEMI_DARK,\r\n colorSelection: THEME_COLOR_SELECTION_PRESET,\r\n\r\n pathname: '',\r\n width: window.innerWidth,\r\n isDirectionRTL: false,\r\n locale: {\r\n languageId: 'english',\r\n locale: 'en',\r\n name: 'English',\r\n icon: 'us'\r\n }\r\n};\r\n\r\nconst settings = (state = initialSettings, action) => {\r\n switch (action.type) {\r\n case '@@router/LOCATION_CHANGE':\r\n return {\r\n ...state,\r\n pathname: action.payload.location.pathname,\r\n navCollapsed: false\r\n };\r\n case TOGGLE_COLLAPSED_NAV:\r\n return {\r\n ...state,\r\n navCollapsed: action.navCollapsed\r\n };\r\n case WINDOW_WIDTH:\r\n return {\r\n ...state,\r\n width: action.width,\r\n };\r\n case THEME_TYPE:\r\n return {\r\n ...state,\r\n themeType: action.themeType\r\n };\r\n case THEME_COLOR_SELECTION:\r\n return {\r\n ...state,\r\n colorSelection: action.colorSelection\r\n };\r\n\r\n case NAV_STYLE:\r\n return {\r\n ...state,\r\n navStyle: action.navStyle\r\n };\r\n case LAYOUT_TYPE:\r\n return {\r\n ...state,\r\n layoutType: action.layoutType\r\n };\r\n\r\n case SWITCH_LANGUAGE:\r\n return {\r\n ...state,\r\n locale: action.payload,\r\n\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default settings;\r\n","// Customizer const\r\nexport const THEME_TYPE = 'THEME_TYPE';\r\nexport const THEME_TYPE_LITE = 'THEME_TYPE_LITE';\r\nexport const THEME_TYPE_DARK = 'THEME_TYPE_DARK';\r\nexport const THEME_TYPE_SEMI_DARK = 'THEME_TYPE_SEMI_DARK';\r\n\r\n\r\nexport const THEME_COLOR_SELECTION = 'THEME_COLOR_SELECTION';\r\nexport const THEME_COLOR_SELECTION_PRESET = 'THEME_COLOR_SELECTION_PRESET';\r\nexport const THEME_COLOR_SELECTION_CUSTOMIZE = 'THEME_COLOR_SELECTION_CUSTOMIZE';\r\n\r\nexport const HORIZONTAL_NAVIGATION = 'HORIZONTAL_NAVIGATION';\r\n\r\nexport const HORIZONTAL_MENU_POSITION = 'HORIZONTAL_MENU_POSITION';\r\nexport const ABOVE_THE_HEADER = 'ABOVE_THE_HEADER';\r\nexport const INSIDE_THE_HEADER = 'INSIDE_THE_HEADER';\r\nexport const BELOW_THE_HEADER = 'BELOW_THE_HEADER';\r\n\r\nexport const VERTICAL_NAVIGATION = 'VERTICAL_NAVIGATION';\r\nexport const NAV_STYLE_MINI = 'NAV_STYLE_MINI';\r\n\r\nexport const LAYOUT_TYPE = 'LAYOUT_TYPE';\r\n\r\nexport const LAYOUT_TYPE_FRAMED = 'LAYOUT_TYPE_FRAMED';\r\nexport const LAYOUT_TYPE_BOXED = 'LAYOUT_TYPE_BOXED';\r\nexport const LAYOUT_TYPE_FULL = 'LAYOUT_TYPE_FULL';\r\n\r\n\r\nexport const NAV_STYLE = 'NAV_STYLE';\r\n\r\nexport const NAV_STYLE_FIXED = 'NAV_STYLE_FIXED';\r\nexport const NAV_STYLE_MINI_SIDEBAR = 'NAV_STYLE_MINI_SIDEBAR';\r\nexport const NAV_STYLE_DRAWER = 'NAV_STYLE_DRAWER';\r\nexport const NAV_STYLE_NO_HEADER_MINI_SIDEBAR = 'NAV_STYLE_NO_HEADER_MINI_SIDEBAR';\r\nexport const NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR = 'NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR';\r\n\r\nexport const NAV_STYLE_DEFAULT_HORIZONTAL = 'NAV_STYLE_DEFAULT_HORIZONTAL';\r\nexport const NAV_STYLE_DARK_HORIZONTAL = 'NAV_STYLE_DARK_HORIZONTAL';\r\nexport const NAV_STYLE_INSIDE_HEADER_HORIZONTAL = 'NAV_STYLE_INSIDE_HEADER_HORIZONTAL';\r\nexport const NAV_STYLE_BELOW_HEADER = 'NAV_STYLE_BELOW_HEADER';\r\nexport const NAV_STYLE_ABOVE_HEADER = 'NAV_STYLE_ABOVE_HEADER';\r\n\r\n\r\nexport const LIGHT_PURPLE = '#8A2BE2';\r\nexport const LIGHT_PURPLE_SEC = '#00B378';\r\nexport const LIGHT_PURPLE_NAV_DARK_BG = '#32394F';\r\nexport const LIGHT_PURPLE_DARK_TEXT_COLOR = '#9799AC';\r\n\r\nexport const RED = '#FF2B7A';\r\nexport const RED_SEC = '#00D9C9';\r\nexport const RED_NAV_DARK_BG = '#3C3766';\r\nexport const RED_DARK_TEXT_COLOR = '#878BAB';\r\n\r\nexport const BLUE = '#3DA4E6';\r\nexport const BLUE_SEC = '#FCB53B';\r\nexport const BLUE_NAV_DARK_BG = '#444342';\r\nexport const BLUE_DARK_TEXT_COLOR = '#AAA59A';\r\n\r\nexport const DARK_BLUE = '#0469B9';\r\nexport const DARK_BLUE_SEC = '#17BDE5';\r\nexport const DARK_BLUE_NAV_DARK_BG = '#086880';\r\nexport const DARK_BLUE_DARK_TEXT_COLOR = '#9DDAE9';\r\n\r\nexport const ORANGE = '#F18805';\r\nexport const ORANGE_SEC = '#F1D065';\r\nexport const ORANGE_NAV_DARK_BG = '#272932';\r\nexport const ORANGE_DARK_TEXT_COLOR = '#ABA895';\r\n\r\nexport const LIGHT_BLUE = '#6A95FF';\r\nexport const LIGHT_BLUE_SEC = '#59DCFF';\r\nexport const LIGHT_BLUE_NAV_DARK_BG = '#1B2642';\r\nexport const LIGHT_BLUE_DARK_TEXT_COLOR = '#92A2C8';\r\n\r\n\r\nexport const DEEP_ORANGE = '#F87060';\r\nexport const DEEP_ORANGE_SEC = '#70A288';\r\nexport const DEEP_ORANGE_NAV_DARK_BG = '#08415C';\r\nexport const DEEP_ORANGE_DARK_TEXT_COLOR = '#97B8C7';\r\n\r\nexport const LIGHT_PURPLE_1 = '#A172E7';\r\nexport const LIGHT_PURPLE_1_SEC = '#E14594';\r\nexport const LIGHT_PURPLE_1_NAV_DARK_BG = '#182952';\r\nexport const LIGHT_PURPLE_1_DARK_TEXT_COLOR = '#8288B4';\r\n\r\nexport const LIGHT_PURPLE_2 = '#956FE7';\r\nexport const LIGHT_PURPLE_2_SEC = '#64D7D6';\r\nexport const LIGHT_PURPLE_2_NAV_DARK_BG = '#284C7C';\r\nexport const LIGHT_PURPLE_2_DARK_TEXT_COLOR = '#5782BB';\r\n\r\n\r\nexport const TAB_SIZE = 992;\r\n","// Customizer const\r\nexport const TOGGLE_COLLAPSED_NAV = 'TOGGLE_COLLAPSE_MENU';\r\nexport const WINDOW_WIDTH = 'WINDOW-WIDTH';\r\nexport const SWITCH_LANGUAGE = 'SWITCH-LANGUAGE';\r\n\r\n//Contact Module const\r\nexport const FETCH_START = 'fetch_start';\r\nexport const FETCH_SUCCESS = 'fetch_success';\r\nexport const FETCH_ERROR = 'fetch_error';\r\nexport const SHOW_MESSAGE = 'SHOW_MESSAGE';\r\nexport const HIDE_MESSAGE = 'HIDE_MESSAGE';\r\nexport const ON_SHOW_LOADER = 'ON_SHOW_LOADER';\r\nexport const ON_HIDE_LOADER = 'ON_HIDE_LOADER';\r\n\r\n//Auth const\r\nexport const SIGNUP_USER = 'SIGNUP_USER';\r\nexport const SIGNUP_USER_SUCCESS = 'SIGNUP_USER_SUCCESS';\r\nexport const SIGNIN_GOOGLE_USER = 'SIGNIN_GOOGLE_USER';\r\nexport const SIGNIN_GOOGLE_USER_SUCCESS = 'SIGNIN_GOOGLE_USER_SUCCESS';\r\nexport const SIGNIN_FACEBOOK_USER = 'SIGNIN_FACEBOOK_USER';\r\nexport const SIGNIN_FACEBOOK_USER_SUCCESS = 'SIGNIN_FACEBOOK_USER_SUCCESS';\r\nexport const SIGNIN_TWITTER_USER = 'SIGNIN_TWITTER_USER';\r\nexport const SIGNIN_TWITTER_USER_SUCCESS = 'SIGNIN_TWITTER_USER_SUCCESS';\r\nexport const SIGNIN_GITHUB_USER = 'SIGNIN_GITHUB_USER';\r\nexport const SIGNIN_GITHUB_USER_SUCCESS = 'signin_github_user_success';\r\nexport const SIGNIN_USER = 'SIGNIN_USER';\r\nexport const SIGNIN_USER_SUCCESS = 'SIGNIN_USER_SUCCESS';\r\nexport const SIGNOUT_USER = 'SIGNOUT_USER';\r\nexport const SIGNOUT_USER_SUCCESS = 'SIGNOUT_USER_SUCCESS';\r\nexport const INIT_URL = 'INIT_URL';\r\nexport const USER_DATA = 'user_data';\r\nexport const USER_TOKEN_SET = 'user_token_set';\r\n\r\n","import {INIT_URL, SIGNOUT_USER_SUCCESS, USER_DATA, USER_TOKEN_SET} from \"../../constants/ActionTypes\";\r\n\r\nconst INIT_STATE = {\r\n token: localStorage.getItem('token'),\r\n initURL: '',\r\n authUser: localStorage.getItem('user'),\r\n};\r\n\r\nexport default (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n\r\n case INIT_URL: {\r\n return {...state, initURL: action.payload};\r\n }\r\n\r\n case SIGNOUT_USER_SUCCESS: {\r\n return {\r\n ...state,\r\n token: null,\r\n authUser: null,\r\n initURL: ''\r\n }\r\n }\r\n\r\n case USER_DATA: {\r\n return {\r\n ...state,\r\n authUser: action.payload,\r\n };\r\n }\r\n\r\n case USER_TOKEN_SET: {\r\n return {\r\n ...state,\r\n token: action.payload,\r\n };\r\n }\r\n\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {FETCH_ERROR, FETCH_START, FETCH_SUCCESS, HIDE_MESSAGE, SHOW_MESSAGE} from '../../constants/ActionTypes'\r\n\r\nconst INIT_STATE = {\r\n error: \"\",\r\n loading: false,\r\n message: ''\r\n};\r\n\r\nexport default (state = INIT_STATE, action) => {\r\n switch (action.type) {\r\n case FETCH_START: {\r\n return {...state, error: '', message: '', loading: true};\r\n }\r\n case FETCH_SUCCESS: {\r\n return {...state, error: '', message: '', loading: false};\r\n }\r\n case SHOW_MESSAGE: {\r\n return {...state, error: '', message: action.payload, loading: false};\r\n }\r\n case FETCH_ERROR: {\r\n return {...state, loading: false, error: action.payload, message: ''};\r\n }\r\n case HIDE_MESSAGE: {\r\n return {...state, loading: false, error: '', message: ''};\r\n }\r\n default:\r\n return state;\r\n }\r\n}\r\n","import {applyMiddleware, compose, createStore} from 'redux'\r\nimport {routerMiddleware} from 'connected-react-router'\r\nimport thunk from 'redux-thunk';\r\nimport createRootReducer from '../reducers'\r\n\r\nconst createBrowserHistory = require('history').createBrowserHistory;\r\n\r\n\r\nexport const history = createBrowserHistory();\r\n\r\nconst routeMiddleware = routerMiddleware(history);\r\n\r\nconst middlewares = [thunk, routeMiddleware];\r\n\r\n\r\nexport default function configureStore(preloadedState) {\r\n const store = createStore(\r\n createRootReducer(history), // root reducer with router state\r\n preloadedState,\r\n compose(\r\n applyMiddleware(\r\n routerMiddleware(history), // for dispatching history actions\r\n ...middlewares\r\n ),\r\n ),\r\n );\r\n\r\n return store;\r\n}\r\n","import antdEn from \"antd/lib/locale-provider/en_US\";\r\nimport enMessages from \"../locales/en_US.json\";\r\n\r\nconst EnLang = {\r\n messages: {\r\n ...enMessages\r\n },\r\n antd: antdEn,\r\n locale: 'en-US',\r\n};\r\nexport default EnLang;\r\n","\r\nimport zhMessages from \"../locales/zh-Hans.json\";\r\n\r\nconst ZhLan = {\r\n messages: {\r\n ...zhMessages\r\n },\r\n antd: null,\r\n locale: 'zh-Hans-CN',\r\n};\r\nexport default ZhLan;\r\n","import antdSA from \"antd/lib/locale-provider/en_US\";\r\n\r\nimport saMessages from \"../locales/ar_SA.json\";\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages\r\n },\r\n antd: antdSA,\r\n locale: 'ar',\r\n};\r\nexport default saLang;\r\n","import antdSA from \"antd/lib/locale-provider/it_IT\";\r\nimport saMessages from \"../locales/it_IT.json\";\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages\r\n },\r\n antd: antdSA,\r\n locale: 'it-IT',\r\n};\r\nexport default saLang;\r\n","import antdSA from \"antd/lib/locale-provider/ca_ES\";\r\nimport saMessages from \"../locales/es_ES.json\";\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages\r\n },\r\n antd: antdSA,\r\n locale: 'es',\r\n};\r\nexport default saLang;\r\n","import enLang from \"./entries/en-US\";\r\nimport zhLang from \"./entries/zh-Hans-CN\";\r\nimport arLang from \"./entries/ar_SA\";\r\nimport itLang from \"./entries/it_IT\";\r\nimport esLang from \"./entries/es_ES\";\r\nimport frLang from \"./entries/fr_FR\";\r\n\r\nconst AppLocale = {\r\n en: enLang,\r\n zh: zhLang,\r\n ar: arLang,\r\n it: itLang,\r\n es: esLang,\r\n fr: frLang\r\n};\r\n\r\nexport default AppLocale;\r\n","import antdSA from \"antd/lib/locale-provider/fr_FR\";\r\nimport saMessages from \"../locales/fr_FR.json\";\r\n\r\nconst saLang = {\r\n messages: {\r\n ...saMessages\r\n },\r\n antd: antdSA,\r\n locale: 'fr-FR',\r\n};\r\nexport default saLang;\r\n","import React from \"react\";\r\nimport {Scrollbars} from \"react-custom-scrollbars\";\r\n\r\nconst CustomScrollbars = (props) =>
}/>;\r\n\r\nexport default CustomScrollbars;\r\n","//gerçek oto için hem screen hem screenGercek açık olmalı\r\n//imza pos için sadece imza pos açık olmalı\r\n//paratic için sadece paratic açık olmalı\r\n\r\nconst screen = 0; //paratic\r\n//const screen = 1; //imzapos\r\n//const screen = 2 //bakiyem//\r\n//const screenGercek = 2; //gercek oto\r\nexport default {\r\n screen: screen,\r\n //screenGercek : screenGercek\r\n}","import {SWITCH_LANGUAGE, TOGGLE_COLLAPSED_NAV, WINDOW_WIDTH} from \"constants/ActionTypes\";\r\nimport {LAYOUT_TYPE, NAV_STYLE, THEME_COLOR_SELECTION, THEME_TYPE} from \"../../constants/ThemeSetting\";\r\n\r\n\r\nexport function toggleCollapsedSideNav(navCollapsed) {\r\n return {type: TOGGLE_COLLAPSED_NAV, navCollapsed};\r\n}\r\n\r\nexport function updateWindowWidth(width) {\r\n return {type: WINDOW_WIDTH, width};\r\n}\r\n\r\nexport function setThemeType(themeType) {\r\n return {type: THEME_TYPE, themeType};\r\n}\r\n\r\nexport function setThemeColorSelection(colorSelection) {\r\n return {type: THEME_COLOR_SELECTION, colorSelection};\r\n}\r\n\r\nexport function onNavStyleChange(navStyle) {\r\n return {type: NAV_STYLE, navStyle};\r\n}\r\n\r\nexport function onLayoutTypeChange(layoutType) {\r\n return {type: LAYOUT_TYPE, layoutType};\r\n}\r\n\r\nexport function switchLanguage(locale) {\r\n return {\r\n type: SWITCH_LANGUAGE,\r\n payload: locale\r\n };\r\n}\r\n","import React from \"react\";\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Screen from '../../util/Extensions/Screens'\r\nimport {onNavStyleChange, toggleCollapsedSideNav} from \"appRedux/actions/Setting\";\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_MINI_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE,\r\n THEME_TYPE_LITE\r\n} from \"../../constants/ThemeSetting\";\r\n\r\n\r\nconst SidebarLogo = () => {\r\n const dispatch = useDispatch();\r\n const {width, themeType, navCollapsed} = useSelector(({settings}) => settings);\r\n let navStyle = useSelector(({settings}) => settings.navStyle);\r\n if (width < TAB_SIZE && navStyle === NAV_STYLE_FIXED) {\r\n navStyle = NAV_STYLE_DRAWER;\r\n }\r\n return (\r\n
\r\n\r\n {(navStyle === NAV_STYLE_FIXED || navStyle === NAV_STYLE_MINI_SIDEBAR) ?
\r\n\r\n {\r\n if (navStyle === NAV_STYLE_DRAWER) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else if (navStyle === NAV_STYLE_FIXED) {\r\n dispatch(onNavStyleChange(NAV_STYLE_MINI_SIDEBAR))\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n } else {\r\n dispatch(onNavStyleChange(NAV_STYLE_FIXED))\r\n }\r\n }}\r\n />\r\n
: null}\r\n\r\n \r\n {\r\n Screen.screen === 0 ?\r\n (\r\n navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR && width >= TAB_SIZE ?\r\n \"\" :\r\n themeType === THEME_TYPE_LITE ?\r\n \"\" :\r\n \"\"\r\n )\r\n :\r\n (\r\n Screen.screen === 1 ? \r\n (\r\n navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR && width >= TAB_SIZE ?\r\n \"\" :\r\n themeType === THEME_TYPE_LITE ?\r\n \"paratic\" :\r\n \"paratic\"\r\n )\r\n :\r\n (\r\n navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR && width >= TAB_SIZE ?\r\n \"\" :\r\n themeType === THEME_TYPE_LITE ?\r\n \"paratic\" :\r\n \"paratic\"\r\n )\r\n )\r\n \r\n }\r\n \r\n\r\n \r\n\r\n
\r\n );\r\n};\r\n\r\nexport default SidebarLogo;\r\n","export default {\r\n // apiUrl: \"https://localhost:44372/api\",\r\n //apiUrl: \"https://uatapi.paratic.com.tr/api\",\r\n apiUrl: \"https://polynom-api.finekra.com/api\",\r\n isFinekraLogoApiUrl: \"https://logo-api.finekra.com/api\",\r\n //apiUrl: \"https://test-api.finekra.com/api\",\r\n headers: {\r\n headers: { Authorization: \"Bearer \" + localStorage.getItem(\"token\") },\r\n },\r\n //demoUrl: \"https://localhost:44351/\",\r\n demoUrl: \"https://test.finekra.com/\",\r\n //demoUrl: \"https://www.finekra.com/\",\r\n //frontEndUrl: \"http://localhost:3000/\",\r\n // frontEndUrl: \"https://panel.paratic.com.tr/\",\r\n //frontEndUrl: \"https://ykb.finekra.com/\",\r\n frontEndUrl: \"https://test-panel.finekra.com/\",\r\n //supportPanelImgUrl: \"https://localhost:44391\",\r\n supportPanelImgUrl: \"https://test-api.finekra.com\",\r\n renderNotifications: false,\r\n};\r\n","import axios from \"axios\";\r\nimport config from \"./ApiforContext\";\r\nimport { notification } from \"antd\";\r\nimport OneSignal from \"react-onesignal\";\r\n\r\nconst isObject = (value) =>\r\n typeof value === \"object\" && !Array.isArray(value) && value !== null;\r\n\r\nconst handleDefaultNotification = (response) => {\r\n let type = response.data.success ? \"success\" : \"error\";\r\n let message = response.data.success\r\n ? \"İşlem başarılı.\"\r\n : response.data.message;\r\n\r\n notification[type]({\r\n message: message,\r\n duration: 3,\r\n });\r\n};\r\n\r\nconst handleError = (error, options) => {\r\n let message = error.toString();\r\n\r\n if (error.response) {\r\n if (error.response.status === 406) {\r\n error.response.data.data.forEach((validationMessage) => {\r\n notification.error({\r\n message: validationMessage,\r\n duration: 3,\r\n });\r\n });\r\n } else if (error.response.status === 400) {\r\n message = isObject(error.response.data)\r\n ? error.response.data.message\r\n : error.response.data;\r\n\r\n notification.error({\r\n message: message,\r\n duration: 3,\r\n });\r\n } else if (error.response.status === 401) {\r\n RequestHandler.removeUserInfo();\r\n window.location = \"/lead-request\";\r\n return;\r\n } else if (error.response.status === 403) {\r\n if (error.response.data?.message) {\r\n notification.error({\r\n message: error.response.data.message,\r\n duration: 3,\r\n });\r\n return;\r\n } else {\r\n window.location = \"/not-authorized-access\";\r\n return;\r\n }\r\n } else if (error.response.status === 500) {\r\n notification.error({\r\n message: isObject(error.response.data)\r\n ? error.response.data.message\r\n : \"Şu anda işleminizi gerçekleştiremiyoruz.Lütfen daha sonra tekrar deneyiniz.\",\r\n duration: 3,\r\n });\r\n } else {\r\n notification.error({\r\n message: error.response.data?.message\r\n ? error.response.data.message\r\n : message,\r\n duration: 3,\r\n });\r\n }\r\n }\r\n\r\n if (options?.rawResponse) {\r\n return error;\r\n }\r\n\r\n return error.response\r\n ? error.response.data\r\n : {\r\n message: message,\r\n success: false,\r\n };\r\n};\r\n\r\nconst handleRequest = (\r\n endPoint,\r\n method,\r\n data,\r\n showDefaultNotification,\r\n options\r\n) => {\r\n let defaultOptions = {\r\n method: method,\r\n url: endPoint.startsWith(\"http\") ? endPoint : config.apiUrl + endPoint,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n Authorization: \"bearer \" + RequestHandler.getToken(),\r\n },\r\n data: method !== \"get\" ? data : undefined,\r\n params: method === \"get\" ? data : undefined,\r\n };\r\n\r\n if (options) {\r\n defaultOptions = Object.assign(defaultOptions, options);\r\n }\r\n\r\n return axios\r\n .request(defaultOptions)\r\n .then((response) => {\r\n if (showDefaultNotification) {\r\n handleDefaultNotification(response);\r\n }\r\n\r\n return options?.rawResponse ? response : response.data;\r\n })\r\n .catch((error) => handleError(error, options));\r\n};\r\n\r\nconst RequestHandler = {\r\n send: (endPoint, method, data, showDefaultNotification, options) => {\r\n const nonAuthUrlPrefixes = [\r\n \"/Auth\",\r\n \"/PaymentRequest\",\r\n \"/PosCollection\",\r\n \"/ConstantPaymentRequest\",\r\n \"/WebSite\",\r\n ];\r\n const isNonAuthEndpoint = nonAuthUrlPrefixes.some((element) =>\r\n endPoint.toLowerCase().startsWith(element.toLowerCase())\r\n );\r\n\r\n const expiration = localStorage.getItem(\"expiration\");\r\n const refreshExpiration = localStorage.getItem(\"refreshExpiration\");\r\n if (expiration < Date.now() && !isNonAuthEndpoint) {\r\n if (refreshExpiration < Date.now()) {\r\n RequestHandler.removeUserInfo();\r\n window.location = \"/lead-request\";\r\n }\r\n\r\n //send request after refresh token\r\n return axios\r\n .request({\r\n method: \"post\",\r\n url: config.apiUrl + \"/Auth/RefreshToken\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n Authorization: \"bearer \" + localStorage.getItem(\"refreshToken\"),\r\n },\r\n })\r\n .then((response) => {\r\n RequestHandler.setUserInfo(response.data);\r\n return response;\r\n })\r\n .then(() => {\r\n return handleRequest(\r\n endPoint,\r\n method,\r\n data,\r\n showDefaultNotification,\r\n options\r\n );\r\n });\r\n }\r\n\r\n return handleRequest(\r\n endPoint,\r\n method,\r\n data,\r\n showDefaultNotification,\r\n options\r\n );\r\n },\r\n\r\n get: (endPoint, data, options) =>\r\n RequestHandler.send(endPoint, \"get\", data, false, options),\r\n\r\n post: (endPoint, data, showDefaultNotification, options) =>\r\n RequestHandler.send(\r\n endPoint,\r\n \"post\",\r\n data,\r\n showDefaultNotification !== false ? true : false,\r\n options\r\n ),\r\n\r\n put: (endPoint, data, showDefaultNotification, options) =>\r\n RequestHandler.send(\r\n endPoint,\r\n \"put\",\r\n data,\r\n showDefaultNotification !== false ? true : false,\r\n options\r\n ),\r\n\r\n delete: (endPoint, data, showDefaultNotification, options) =>\r\n RequestHandler.send(\r\n endPoint,\r\n \"delete\",\r\n data,\r\n showDefaultNotification !== false ? true : false,\r\n options\r\n ),\r\n\r\n getToken: () => localStorage.getItem(\"token\"),\r\n\r\n setUserInfo: (response) => {\r\n localStorage.setItem(\r\n \"expiration\",\r\n new Date(response.data.expiration).getTime()\r\n );\r\n localStorage.setItem(\"token\", response.data.token);\r\n localStorage.setItem(\r\n \"refreshExpiration\",\r\n new Date(response.data.refreshTokenExpiration).getTime()\r\n );\r\n localStorage.setItem(\"refreshToken\", response.data.refreshToken);\r\n localStorage.setItem(\"userId\", response.data.userId);\r\n localStorage.setItem(\"email\", response.data.email);\r\n localStorage.setItem(\"tenantId\", response.data.tenantId);\r\n localStorage.setItem(\"userName\", response.data.userName);\r\n },\r\n\r\n removeUserInfo: () => {\r\n OneSignal.logout();\r\n localStorage.removeItem(\"expiration\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"refreshExpiration\");\r\n localStorage.removeItem(\"refreshToken\");\r\n localStorage.removeItem(\"userId\");\r\n localStorage.removeItem(\"email\");\r\n localStorage.removeItem(\"tenantId\");\r\n localStorage.removeItem(\"userName\");\r\n },\r\n};\r\n\r\nexport default RequestHandler;\r\n","const typeTemplate = \"'${label}' alanı geçerli bir ${type} değil.\";\r\nexport const defaultValidateMessages = {\r\n default: \"'${Label}' alanı doğrulama hatası\",\r\n required: \"'${label}' alanı gerekli.\",\r\n enum: \"'${label}' alanı [$ {enum}] değerlerinden biri olmalıdır.\",\r\n whitespace: \"'${label}' alanı boş olamaz.\",\r\n date: {\r\n format: \"'${label}' alanı tarih formatı geçersiz.\",\r\n parse: \"'${label}' alanı tarih olarak ayrıştırılamadı.\",\r\n invalid: \"'${label}' alanı geçersiz bir tarih.\",\r\n },\r\n types: {\r\n string: typeTemplate,\r\n method: typeTemplate,\r\n array: typeTemplate,\r\n object: typeTemplate,\r\n number: typeTemplate,\r\n date: typeTemplate,\r\n boolean: typeTemplate,\r\n integer: typeTemplate,\r\n float: typeTemplate,\r\n regexp: typeTemplate,\r\n email: typeTemplate,\r\n url: typeTemplate,\r\n hex: typeTemplate,\r\n },\r\n string: {\r\n len: \"'${label}' alanı tam olarak ${len} karakter olmalıdır.\",\r\n min: \"'${label}' alanı en az ${min} karakter olmalıdır.\",\r\n max: \"'${label}' alanı ${max} karakterden uzun olamaz.\",\r\n range: \"'${label}' alanı ${min} ile ${max} karakter arasında olmalıdır.\",\r\n },\r\n number: {\r\n len: \"'${label}' alanı ${len} değerine eşit olmalıdır.\",\r\n min: \"'${label}' alanı ${min}'den az olamaz.\",\r\n max: \"'${label}' alanı ${max}'dan büyük olamaz.\",\r\n range: \"'${label}' alanı ${min} ile ${max} arasında olmalıdır.\",\r\n },\r\n array: {\r\n len: \"'${label}' alanı tam olarak ${len} uzunluğunda olmalıdır.\",\r\n min: \"'${label}' alanı uzunluğu ${min}'den az olamaz.\",\r\n max: \"'${label}' alanı uzunluğu ${max}'dan fazla olamaz.\",\r\n range: \"'${label}' alanı uzunluğu ${min} ile ${max} arasında olmalıdır.\",\r\n },\r\n pattern: {\r\n mismatch: \"'${label}' alanı ${pattern} kalıbıyla eşleşmiyor.\",\r\n },\r\n};\r\n\r\n//onInput functions\r\nexport const onInputMaxLengthCheck = (e) => {\r\n if (e.target.value.length > e.target.maxLength) {\r\n e.target.value = e.target.value.slice(0, e.target.maxLength);\r\n }\r\n};\r\n\r\n//onKeyDown functions\r\nexport const onKeyDownNumberOnly = (e) => {\r\n if (\r\n isNaN(e.key) &&\r\n !(\r\n e.key === \"Backspace\" ||\r\n e.key === \"Delete\" ||\r\n e.key.startsWith(\"Arrow\") ||\r\n e.shiftKey ||\r\n e.ctrlKey\r\n )\r\n ) {\r\n e.preventDefault();\r\n }\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Form, Col, Row, Button, Select } from \"antd\";\r\nimport { SaveOutlined } from \"@ant-design/icons\";\r\nimport RequestHandler from \"util/RequestHandler\";\r\nimport { defaultValidateMessages } from \"./Helper\";\r\n\r\nconst formItemLayout = {\r\n labelCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 8,\r\n },\r\n },\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 16,\r\n },\r\n },\r\n};\r\n\r\nconst DefaultModuleUpdateForm = (props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [moduleSelect, setModuleSelect] = useState({\r\n data: [],\r\n loading: true,\r\n });\r\n const [form] = Form.useForm();\r\n\r\n useEffect(() => {\r\n getModules();\r\n }, []);\r\n\r\n const getModules = () => {\r\n setModuleSelect({\r\n ...moduleSelect,\r\n loading: true,\r\n });\r\n\r\n RequestHandler.get(\"/Module/GetDefaultSelectableModules\").then(\r\n (response) => {\r\n setModuleSelect({\r\n data: response,\r\n loading: false,\r\n });\r\n\r\n const defaultModuleId = localStorage.getItem(\"defaultModuleId\");\r\n if (response.some((x) => x.id == defaultModuleId)) {\r\n form.setFieldsValue({ moduleId: parseInt(defaultModuleId) });\r\n }\r\n }\r\n );\r\n };\r\n\r\n const onFinish = (values) => {\r\n RequestHandler.put(`/User/UpdateDefaultModule/${values.moduleId}`).then(\r\n (response) => {\r\n setLoading(false);\r\n if (response.success) {\r\n localStorage.setItem(\"defaultModuleId\", values.moduleId);\r\n if (props.onSuccess) props.onSuccess();\r\n }\r\n }\r\n );\r\n };\r\n\r\n const onFinishFailed = (errorInfo) => {\r\n setLoading(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n option.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n loading={moduleSelect.loading}\r\n >\r\n {moduleSelect.data.map((item) => (\r\n \r\n {item.name}\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n }\r\n htmlType=\"submit\"\r\n onClick={() => setLoading(true)}\r\n loading={loading}\r\n >\r\n Kaydet\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default DefaultModuleUpdateForm;\r\n","const getMenuItems = (permissions) => [\r\n {\r\n key: \"home\",\r\n url: \"/home\",\r\n // icon: \"icon icon-home\",\r\n title: \"Anasayfa\",\r\n style: { color: \"white\" },\r\n children: [\r\n {\r\n key: \"home-act\",\r\n url: \"/home-act\",\r\n icon: \"icon icon-revenue-new\",\r\n title: \"Hesap Hareketleri\",\r\n module: 1,\r\n },\r\n {\r\n key: \"home-pos\",\r\n url: \"/home-pos\",\r\n icon: \"icon icon-pricing-table\",\r\n title: \"POS Rapor\",\r\n module: 5,\r\n },\r\n {\r\n key: \"home-dbs\",\r\n url: \"/home-dbs\",\r\n icon: \"icon icon-family\",\r\n title: \"Doğrudan Borçlandırma Sistemi\",\r\n module: 3,\r\n },\r\n {\r\n key: \"home-b2b\",\r\n url: \"/home-b2b\",\r\n icon: \"icon icon-profile\",\r\n title: \"B2B Anasayfa\",\r\n module: 8,\r\n },\r\n {\r\n key: \"home-subscriberFirm\",\r\n url: \"/home-subscriberFirm\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Apartman-Site\",\r\n module: 9,\r\n },\r\n ],\r\n },\r\n {\r\n key: \"accountprocess\",\r\n // icon: \"icon icon-card\",\r\n title: \"Hesap İşlemleri\",\r\n module: 1,\r\n children: [\r\n {\r\n key: \"bank-list\",\r\n url: \"/bank-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Banka Bakiyeleri\",\r\n },\r\n {\r\n key: \"bank-accounts\",\r\n url: \"/bank-accounts\",\r\n icon: \"icon icon-cards-list-view\",\r\n title: \"Hesap Bakiyeleri\",\r\n },\r\n {\r\n key: \"account-transaction\",\r\n url: \"/account-transaction\",\r\n icon: \"icon icon-select\",\r\n title: \"Hesap Hareketleri\",\r\n },\r\n {\r\n key: \"consolidate-transacitons\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Konsolide\",\r\n isRender: permissions.isGroupUser,\r\n children: [\r\n {\r\n key: \"consolidated-bank\",\r\n url: \"/consolidated/bank\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Banka\",\r\n },\r\n {\r\n key: \"consolidated-transactions\",\r\n url: \"/consolidated/account-transaction\",\r\n icon: \"icon icon-select\",\r\n title: \"Hesap Hareketleri\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n key: \"posOperations\",\r\n // icon: \"icon icon-revenue-new\",\r\n title: \"POS Rapor\",\r\n module: 5,\r\n children: [\r\n {\r\n key: \"pos-transaction\",\r\n url: \"/pos-transaction\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"POS Hareketleri\",\r\n },\r\n {\r\n key: \"pos-reports\",\r\n url: \"/pos-reports\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Özet Grafikler\",\r\n isRender: permissions.isShowPosSummaryGraphic,\r\n },\r\n {\r\n key: \"value-report\",\r\n url: \"/value-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Valör Raporu\",\r\n },\r\n {\r\n key: \"commission-report\",\r\n url: \"/commission-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Komisyon Raporu\",\r\n },\r\n {\r\n key: \"pos-volume-report\",\r\n url: \"/pos-volume-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Ciro Raporu\",\r\n },\r\n {\r\n key: \"pos-early-unblock-report\",\r\n url: \"/pos-early-unblock\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Erken Bloke Çözüm Raporu\",\r\n isRender: permissions.isAllowPosEarlyUnblock,\r\n },\r\n {\r\n key: \"commission-definition\",\r\n url: \"/commission-definition\",\r\n icon: \"icon icon-feedback\",\r\n title: \"Komisyon Tanımlama\",\r\n },\r\n {\r\n key: \"pos-memberworkplace-terminal-list\",\r\n url: \"/pos-memberworkplace-terminal-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Üye İşYeri-Terminal Listesi\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"tos\",\r\n // icon: \"icon icon-revenue-new\",\r\n title: \"TÖS\",\r\n module: 2,\r\n children: [\r\n {\r\n key: \"tos-payment\",\r\n url: \"/tos-payment\",\r\n icon: \"icon icon-ckeditor\",\r\n title: \"Ödeme Listesi\",\r\n },\r\n {\r\n key: \"tos-order\",\r\n url: \"/tos-order\",\r\n icon: \"icon icon-editor\",\r\n title: \"Talimat Listesi\",\r\n },\r\n {\r\n key: \"tos-sent-order\",\r\n url: \"/tos-sent-order\",\r\n icon: \"icon icon-editor\",\r\n title: \"Gönderilmiş Talimatlar\",\r\n },\r\n {\r\n key: \"tos-sent-payment\",\r\n url: \"/tos-sent-payment\",\r\n icon: \"icon icon-editor\",\r\n title: \"Gönderilmiş Ödemeler\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"dbs\",\r\n // icon: \"icon icon-revenue-new\",\r\n title: \"DBS\",\r\n module: 3,\r\n children: [\r\n {\r\n key: \"dbs-dealer\",\r\n url: \"/dbs-dealer\",\r\n icon: \"icon icon-team\",\r\n title: \"Bayi Bilgileri\",\r\n },\r\n {\r\n key: \"dbs-invoice\",\r\n url: \"/dbs-invoice\",\r\n icon: \"icon icon-editor\",\r\n title: \"Fatura Listesi\",\r\n },\r\n {\r\n key: \"dbs-sent-invoice\",\r\n url: \"/dbs-sent-invoice\",\r\n icon: \"icon icon-sent\",\r\n title: \"Gönderilmiş Faturalar\",\r\n },\r\n {\r\n key: \"dbs-report\",\r\n icon: \"icon icon-data-display\",\r\n title: \"Raporlar\",\r\n children: [\r\n {\r\n key: \"dbs-report/bank-limit-report\",\r\n url: \"/dbs-report/bank-limit-report\",\r\n icon: \"icon icon-chart-radial\",\r\n title: \"Banka Bazlı Limit Raporu\",\r\n },\r\n {\r\n key: \"dbs-report/bank-volume-report\",\r\n url: \"/dbs-report/bank-volume-report\",\r\n icon: \"icon icon-chart-composed\",\r\n title: \"Banka Bazlı Ciro Raporu\",\r\n },\r\n {\r\n key: \"dbs-report/firm-status-report\",\r\n url: \"/dbs-report/firm-status-report\",\r\n icon: \"icon icon-profile\",\r\n title: \"Cari Durum Raporu\",\r\n },\r\n {\r\n key: \"dbs-report/value-report\",\r\n url: \"/dbs-report/value-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"İleri Yönelik Alacaklar Raporu\",\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n key: \"subscriberFirm\",\r\n // icon: \"icon icon-card\",\r\n title: \"ASY\",\r\n module: 9,\r\n children: [\r\n {\r\n key: \"subscriberfirm-list\",\r\n url: \"/subscriberfirm-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Daire Listesi\",\r\n },\r\n {\r\n key: \"subscriberfirm-status-report\",\r\n url: \"/subscriberfirm-status-report\",\r\n icon: \"icon icon-profile\",\r\n title: \"Daire Durumları\",\r\n },\r\n {\r\n key: \"subscriberfirm-pos-collection-transaction\",\r\n url: \"/subscriberfirm-pos-collection-transaction\",\r\n icon: \"icon icon-timepicker\",\r\n title: \"Pos ile Aidat Ödemeleri\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"reports\",\r\n // icon: \"icon icon-amchart\",\r\n title: \"Raporlar\",\r\n module: 12,\r\n children: [\r\n {\r\n key: \"firm-status-report\",\r\n url: \"/firm-status-report\",\r\n icon: \"icon icon-company\",\r\n title: \"Cari Durumları\",\r\n },\r\n {\r\n key: \"chart-reports\",\r\n url: \"/chart-reports\",\r\n icon: \"icon icon-company\",\r\n title: \"Ay Bazlı Grafik\",\r\n },\r\n {\r\n key: \"bank-based-transaction\",\r\n url: \"/bank-based-transaction\",\r\n icon: \"icon icon-company\",\r\n title: \"Banka Bazlı Hareket\",\r\n },\r\n {\r\n key: \"monthly-firm-status-report\",\r\n url: \"/monthly-firm-status-report\",\r\n icon: \"icon icon-company\",\r\n title: \"Tarih Bazlı Durum\",\r\n },\r\n {\r\n key: \"day-reports\",\r\n url: \"/day-reports\",\r\n icon: \"icon icon-company\",\r\n title: \"Gün Sonu Raporu\",\r\n },\r\n {\r\n key: \"balance-reports\",\r\n url: \"/balance-reports\",\r\n icon: \"icon icon-company\",\r\n title: \"Bakiye Raporu\",\r\n },\r\n {\r\n key: \"risk-analysis\",\r\n url: \"/risk-analysis\",\r\n icon: \"icon icon-chart-line\",\r\n title: \"Risk Analiz Raporu\",\r\n module: 14\r\n }\r\n ],\r\n },\r\n {\r\n key: \"firms\",\r\n // icon: \"icon icon-company\",\r\n title: \"Cari İşlemleri\",\r\n children: [\r\n {\r\n key: \"firm-list\",\r\n url: \"/firm-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Cari Listesi\",\r\n },\r\n {\r\n key: \"firm-account-list\",\r\n url: \"/firm-account-list\",\r\n icon: \"icon icon-anchor\",\r\n title: \"Cari Hesapları\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"paymentManagement\",\r\n // icon: \"icon icon-company\",\r\n title: \"Nakit Yönetimi\",\r\n children: [\r\n {\r\n key: \"monthlyPlans\",\r\n icon: \"icon icon-company\",\r\n title: \"Gelir-Gider Planlama\",\r\n url: \"/monthly-plan-list\",\r\n },\r\n {\r\n key: \"manual-account-transaction\",\r\n url: \"/manual-account-transaction\",\r\n icon: \"icon icon-data-entry\",\r\n title: \"Kasa İşlemleri\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"erp\",\r\n title: \"Erp\",\r\n module: 7,\r\n children: [\r\n {\r\n key: \"erp-incoming-transaction\",\r\n url: \"/erp-incoming-transaction\",\r\n icon: \"icon icon-chart-line\",\r\n title: \"Gelen İşlemler\",\r\n },\r\n {\r\n key: \"erp-outgoing-transaction\",\r\n url: \"/erp-outgoing-transaction\",\r\n icon: \"icon icon-chart-area-new\",\r\n title: \"Giden İşlemler\",\r\n },\r\n {\r\n key: \"erp-pos-transaction\",\r\n url: \"/erp-pos-transaction\",\r\n icon: \"icon icon-chart-line\",\r\n title: \"Pos Tahsilat Aktarım\",\r\n },\r\n {\r\n key: \"erp-creditcard-plan-transaction\",\r\n url: \"/erp-creditcard-plan-transaction\",\r\n icon: \"icon icon-chart-area-new\",\r\n title: \"Çek-Senet/Kredi Kartı/Kasa Aktarımı\",\r\n },\r\n {\r\n key: \"erp-pos-report-transaction\",\r\n url: \"/erp-pos-report-transaction\",\r\n icon: \"icon icon-chart-line\",\r\n title: \"Pos Rapor Aktarım\",\r\n },\r\n {\r\n key: \"erp-dbs-invoice\",\r\n url: \"/erp-dbs-invoice\",\r\n icon: \"icon icon-chart-line\",\r\n title: \"Dbs Fatura Aktarım\",\r\n },\r\n {\r\n key: \"erp-report\",\r\n icon: \"icon icon-pricing-table\",\r\n title: \"Erp Rapor\",\r\n children: [\r\n {\r\n key: \"erp-firm-report\",\r\n url: \"/erp-firm-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Cari Takip\",\r\n },\r\n {\r\n key: \"erp-stock-report\",\r\n url: \"/erp-stock-report\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Stok Durumu\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"erp-activity-list\",\r\n url: \"/erp-activity-list\",\r\n icon: \"icon icon-data-entry\",\r\n title: \"Veri Yükleme\",\r\n },\r\n {\r\n key: \"account-transaction-excel\",\r\n url: \"/account-transaction-excel\",\r\n icon: \"icon icon-select\",\r\n title: \"Hesap Hareketleri Excel\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"b2b\",\r\n title: \"B2B\",\r\n module: 8,\r\n children: [\r\n {\r\n key: \"pos-collection-transaction\",\r\n url: \"/pos-collection-transaction\",\r\n icon: \"icon icon-timepicker\",\r\n title: \"Tahsilat Geçmişi\",\r\n },\r\n {\r\n key: \"pos-collection\",\r\n url: \"/pos-collection\",\r\n icon: \"icon icon-litcoin\",\r\n title: \"Pos Tahsilatı\",\r\n },\r\n\r\n {\r\n key: \"payment-request\",\r\n url: \"/payment-request\",\r\n icon: \"icon icon-contacts\",\r\n title: \"Ödeme Linki Oluştur\",\r\n },\r\n {\r\n key: \"payment-list\",\r\n url: \"/payment-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Linkle Ödeme Takibi\",\r\n },\r\n {\r\n key: \"collection-commission-definition\",\r\n url: \"/collection-commission-definition\",\r\n icon: \"icon icon-feedback\",\r\n title: \"Banka Taksit Tanımları\",\r\n },\r\n {\r\n key: \"firm-panel\",\r\n url: \"/firm-panel\",\r\n icon: \"icon icon-company\",\r\n title: \"B2B Firma Tanımlama\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"setting\",\r\n // icon: \"icon icon-setting\",\r\n title: \"Ayarlar\",\r\n isRender: permissions.isAdmin,\r\n children: [\r\n {\r\n key: \"group-list\",\r\n url: \"/group-list\",\r\n icon: \"icon icon-company\",\r\n title: \"Grup Yönetimi\",\r\n isRender: permissions.isGroupAdmin,\r\n },\r\n {\r\n key: \"transaction-bank-info\",\r\n url: \"/transaction-bank-info\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Banka Erişimi\",\r\n },\r\n // {\r\n // key: \"currency-live\",\r\n // url: \"\",\r\n // icon: \"icon icon-cards-list-view\",\r\n // title: \"Döviz Kuru\",\r\n // },\r\n {\r\n key: \"tenant-parameter\",\r\n url: \"/tenant-parameter\",\r\n icon: \"icon icon-setting\",\r\n title: \"Firma Ayarları\",\r\n },\r\n // {\r\n // key: \"password-access\",\r\n // url: \"\",\r\n // icon: \"icon icon-cards-list-view\",\r\n // title: \"Sms Onayı\",\r\n // },\r\n {\r\n key: \"notifications\",\r\n url: \"/notifications\",\r\n icon: \"icon icon-cards-list-view\",\r\n title: \"Bildirim\",\r\n },\r\n {\r\n key: \"user-list\",\r\n url: \"/user-list\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Kullanıcı Listesi\",\r\n },\r\n {\r\n key: \"types\",\r\n // icon: \"icon icon-setting\",\r\n title: \"İşlem Tipleri\",\r\n children: [\r\n {\r\n key: \"firm-class-list\",\r\n url: \"/firm-class-list\",\r\n icon: \"icon icon-menu-unfold\",\r\n title: \"Cari Sınıfları\",\r\n },\r\n {\r\n key: \"monthly-plan-type-list\",\r\n url: \"/monthly-plan-type-list\",\r\n icon: \"icon icon-home\",\r\n title: \"Gelir-Gider Tipleri\",\r\n },\r\n {\r\n key: \"manual-account-transaction-type\",\r\n url: \"/manual-account-transaction-type\",\r\n icon: \"icon icon-data-entry\",\r\n title: \"Kasa İşlem Tipi\",\r\n },\r\n {\r\n key: \"transaction-project-type\",\r\n url: \"/transaction-project-type\",\r\n icon: \"icon icon-all-contacts\",\r\n title: \"Aktarım Parametreleri\",\r\n },\r\n ],\r\n },\r\n {\r\n key: \"accountTransactionRules\",\r\n url: \"/account-transaction-rule\",\r\n icon: \"icon icon-cards-list-view\",\r\n title: \"Kural Listesi\",\r\n },\r\n {\r\n key: \"tenant-screen-settings\",\r\n url: \"/tenant-screen-settings\",\r\n icon: \"icon icon-setting\",\r\n title: \"Ekran Ayarları\",\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport default getMenuItems;\r\n","import React, {useEffect} from \"react\";\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport {Drawer, Layout} from \"antd\";\r\n\r\nimport SidebarContent from \"./SidebarContent\";\r\nimport {toggleCollapsedSideNav, updateWindowWidth} from \"appRedux/actions/Setting\";\r\nimport {\r\n NAV_STYLE_DRAWER,\r\n NAV_STYLE_FIXED,\r\n NAV_STYLE_MINI_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR,\r\n NAV_STYLE_NO_HEADER_MINI_SIDEBAR,\r\n TAB_SIZE,\r\n THEME_TYPE_LITE\r\n} from \"../../constants/ThemeSetting\";\r\n\r\nconst {Sider} = Layout;\r\n\r\nconst Sidebar = () => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const {themeType, navCollapsed, width, navStyle} = useSelector(({settings}) => settings);\r\n\r\n\r\n const onToggleCollapsedNav = () => {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', () => {\r\n dispatch(updateWindowWidth(window.innerWidth));\r\n })\r\n }, [dispatch]);\r\n\r\n\r\n let drawerStyle = \"gx-collapsed-sidebar\";\r\n\r\n if (navStyle === NAV_STYLE_FIXED) {\r\n drawerStyle = \"\";\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_MINI_SIDEBAR) {\r\n drawerStyle = \"gx-mini-sidebar gx-mini-custom-sidebar\";\r\n } else if (navStyle === NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR) {\r\n drawerStyle = \"gx-custom-sidebar\"\r\n } else if (navStyle === NAV_STYLE_MINI_SIDEBAR) {\r\n drawerStyle = \"gx-mini-sidebar\";\r\n } else if (navStyle === NAV_STYLE_DRAWER) {\r\n drawerStyle = \"gx-collapsed-sidebar\"\r\n }\r\n if ((navStyle === NAV_STYLE_FIXED || navStyle === NAV_STYLE_MINI_SIDEBAR\r\n || navStyle === NAV_STYLE_NO_HEADER_EXPANDED_SIDEBAR) && width < TAB_SIZE) {\r\n drawerStyle = \"gx-collapsed-sidebar\"\r\n }\r\n return (\r\n \r\n {\r\n navStyle === NAV_STYLE_DRAWER || width < TAB_SIZE ?\r\n \r\n \r\n :\r\n \r\n }\r\n )\r\n};\r\nexport default Sidebar;\r\n","import React from \"react\";\r\n\r\nconst SearchBox = ({styleName, placeholder, onChange, value}) => {\r\n\r\n return (\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n )\r\n};\r\nexport default SearchBox;\r\n\r\nSearchBox.defaultProps = {\r\n styleName: \"\",\r\n value: \"\",\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Button, Popover, List, Skeleton } from 'antd';\r\nimport { DeleteOutlined, EyeOutlined } from \"@ant-design/icons\";\r\nimport RequestHandler from \"util/RequestHandler\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\n\r\nconst NotificationItem = ({ notification, dataIndex, onMarkAsReadSuccess, onDeleteSuccess, onClickNotificationWithBody, setPopoverVisible }) => {\r\n const [loading, setLoading] = useState(false);\r\n const { title, shortDescription, url } = notification;\r\n let history = useHistory();\r\n\r\n const onClickMarkAsRead = (id) => {\r\n setLoading(true);\r\n RequestHandler.put(`/FeatureNotification/MarkAsRead/${id}`, null, false).then((response) => {\r\n setLoading(false);\r\n if (response.success) {\r\n onMarkAsReadSuccess(id, dataIndex);\r\n }\r\n });\r\n };\r\n\r\n const onClickDelete = (id) => {\r\n setLoading(true);\r\n RequestHandler.delete(`/FeatureNotification/${id}`, null, false).then((response) => {\r\n setLoading(false);\r\n if (response.success) {\r\n onDeleteSuccess(id, dataIndex);\r\n }\r\n });\r\n };\r\n\r\n const onClickExtarnalUrlTitle = () => {\r\n if (!notification.isRead) {\r\n onClickMarkAsRead(notification.id);\r\n }\r\n };\r\n\r\n const onClickUrlTitle = () => {\r\n if (!notification.isRead) {\r\n onClickMarkAsRead(notification.id);\r\n }\r\n\r\n if (setPopoverVisible) {\r\n setPopoverVisible(false);\r\n }\r\n };\r\n\r\n const onClickContentTitle = () => {\r\n if (!notification.isRead) {\r\n onClickMarkAsRead(notification.id);\r\n }\r\n\r\n if (onClickNotificationWithBody) {\r\n onClickNotificationWithBody(notification.id);\r\n }\r\n\r\n if (setPopoverVisible) {\r\n setPopoverVisible(false);\r\n }\r\n };\r\n\r\n const onClickListItemMeta = () => {\r\n if (!notification.isRead) {\r\n onClickMarkAsRead(notification.id);\r\n }\r\n\r\n if (url) {\r\n const isExternalUrl = url.toLowerCase().startsWith(\"http\");\r\n return isExternalUrl ? window.open(url, '_blank', 'noopener,noreferrer') : history.push(url);\r\n }\r\n\r\n if (notification.hasContentBody) {\r\n onClickContentTitle();\r\n }\r\n\r\n if (setPopoverVisible) {\r\n setPopoverVisible(false);\r\n }\r\n };\r\n\r\n const renderTitle = () => {\r\n if (url) {\r\n const isExternalUrl = url.toLowerCase().startsWith(\"http\");\r\n return isExternalUrl ?\r\n ({title}) :\r\n ({title});\r\n }\r\n\r\n if (notification.hasContentBody) {\r\n return ({title})\r\n }\r\n\r\n return title;\r\n };\r\n\r\n const getActions = () => {\r\n if (loading) {\r\n return (\r\n \r\n \r\n \r\n
\r\n } trigger=\"click\">\r\n \r\n\r\n \r\n \r\n
  • \r\n }\r\n trigger=\"click\">\r\n \r\n \r\n
  • \r\n\r\n
  • \r\n } trigger=\"click\">\r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n
  • \r\n {/*
  • */}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default HorizontalDefault;\r\n","import React, { useState,useEffect } from \"react\";\r\nimport { Avatar, Popover, Modal } from \"antd\";\r\nimport RequestHandler from \"util/RequestHandler\";\r\nimport { UserOutlined } from \"@ant-design/icons\";\r\nimport DefaultModuleUpdateForm from \"../../routes/Forms/DefaultModuleUpdateForm\";\r\n\r\nconst userName = localStorage.getItem(\"userName\");\r\n\r\nconst UserInfo = () => {\r\n const [defaultModuleModalVisible, setDefaultModuleModalVisible] =\r\n useState(false);\r\n const [accessSupportPanel, setAccessSupportPanel] = useState();\r\n useEffect(() => {\r\n RequestHandler.get(\"/SupportPanel/AccessControl\").then((response) => {\r\n setAccessSupportPanel(response);\r\n });\r\n }, [])\r\n\r\n const userSignOut = () => {\r\n RequestHandler.get(\"/Auth/Logout\").then((response) => {\r\n if (response.success) {\r\n RequestHandler.removeUserInfo();\r\n window.location.reload();\r\n }\r\n });\r\n };\r\n \r\n const userMenuOptions = (\r\n \r\n );\r\n\r\n const supportPanelDropdown = (\r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n }\r\n />\r\n \r\n\r\n {/* \r\n } />\r\n */}\r\n \r\n setDefaultModuleModalVisible(false)}\r\n onCancel={() => setDefaultModuleModalVisible(false)}\r\n footer={null}\r\n >\r\n setDefaultModuleModalVisible(false)}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default UserInfo;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Menu, Dropdown, Button } from 'antd';\r\nimport { AlignLeftOutlined, UserOutlined, DownOutlined } from '@ant-design/icons';\r\nimport { TAB_SIZE } from \"../../constants/ThemeSetting\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useMediaQuery } from 'react-responsive'\r\nimport Auxiliary from \"util/Auxiliary\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\nimport { Scrollbars } from 'react-custom-scrollbars';\r\n\r\n\r\nconst tenantId = localStorage.getItem(\"tenantId\");\r\nconst userId = localStorage.getItem(\"userId\");\r\n\r\nconst Topbar = () => {\r\n const history = useHistory();\r\n const [tenantAccounts, setTenantAccounts] = useState([]);\r\n const [filteredTenantAccounts, setFilteredTenantAccounts] = useState([]);\r\n const [currentTenantAccount, setcurrentTenantAccount] = useState(\"\");\r\n const [isGroupUser, setIsGroupUser] = useState(false);\r\n const isTabletOrMobileDevice = useMediaQuery({ query: \"(max-device-width: 1224px)\" });\r\n const [isVisibleDropdown, setIsVisibleDropdown] = useState(false);\r\n\r\n function handleMenuClick(e) {\r\n \r\n if(e.key == \"search\") {\r\n return;\r\n }\r\n\r\n if (e.key == \"konsolide\") {\r\n history.push(`/consolidated/bank`);\r\n return;\r\n }\r\n\r\n RequestHandler.get(`/Auth/ChangeTenant/${userId}/${e.key}`, undefined, { rawResponse: true }).then((response) => {\r\n if (response.status === 200) {\r\n RequestHandler.setUserInfo(response);\r\n history.push(`/home`);\r\n window.location.reload();\r\n }\r\n });\r\n }\r\n\r\n \r\n useEffect(() => {\r\n RequestHandler.get(`/User/GetUserTenants/${userId}`).then((response) => {\r\n setTenantAccounts(response);\r\n setFilteredTenantAccounts(response);\r\n\r\n response.map((tenantAccount) => {\r\n if (tenantAccount.id === tenantId) {\r\n setcurrentTenantAccount(tenantAccount.name);\r\n }\r\n });\r\n });\r\n\r\n RequestHandler.get(`/User/IsGroupUser`).then((response) => {\r\n setIsGroupUser(response);\r\n });\r\n }, []);\r\n\r\n const { locale, width, navCollapsed, navStyle } = useSelector(({ settings }) => settings);\r\n\r\n const searchTenant = (e) => {\r\n setFilteredTenantAccounts(tenantAccounts.filter(x=> x.name.toLowerCase().includes(e.target.value.toLowerCase())));\r\n }\r\n\r\n const visibleDropdown = () => {\r\n setIsVisibleDropdown(!isVisibleDropdown);\r\n }\r\n\r\n const menu = (\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n {filteredTenantAccounts.map((item, index) => (\r\n } disabled={item.id === tenantId}>\r\n {item.name}\r\n \r\n ))}\r\n {\r\n isGroupUser === true ? }>\r\n Konsolide\r\n \r\n : null\r\n }\r\n
    \r\n
    \r\n\r\n );\r\n const handleVisibleChange = (visible) => {\r\n if (!visible) \r\n setIsVisibleDropdown(false);\r\n };\r\n return (\r\n
      \r\n \r\n \r\n \r\n {width >= TAB_SIZE ? null :\r\n \r\n
    • \r\n
      \r\n }\r\n
    \r\n );\r\n};\r\n\r\nexport default Topbar;\r\n","import React, {useState} from \"react\";\r\nimport {Button, Dropdown, Layout, Menu, message, Popover, Select} from 'antd';\r\nimport Icon from '@ant-design/icons';\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport CustomScrollbars from \"util/CustomScrollbars\";\r\nimport languageData from \"../languageData\";\r\nimport SearchBox from \"components/SearchBox\";\r\nimport UserInfo from \"components/UserInfo\";\r\nimport AppNotification from \"components/AppNotification\";\r\nimport MailNotification from \"components/MailNotification\";\r\nimport {Link} from \"react-router-dom\";\r\nimport Screen from '../../../util/Extensions/Screens'\r\nimport HorizontalNav from \"../HorizontalNav\";\r\nimport Tenants from \"../index\"\r\nimport {switchLanguage, toggleCollapsedSideNav} from \"../../../appRedux/actions/Setting\";\r\nimport IntlMessages from \"../../../util/IntlMessages\";\r\n\r\nconst {Header} = Layout;\r\n\r\nconst Option = Select.Option;\r\nconst menu = (\r\n \r\n Products\r\n Apps\r\n Blogs\r\n \r\n);\r\n\r\nfunction handleMenuClick(e) {\r\n message.info('Click on menu item.');\r\n}\r\n\r\nfunction handleChange(value) {\r\n}\r\n\r\nconst HorizontalDark = () => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [searchText, setSearchText] = useState('');\r\n const locale = useSelector(({settings}) => settings.locale);\r\n const navCollapsed = useSelector(({settings}) => settings.navCollapsed);\r\n\r\n\r\n const languageMenu = () => (\r\n \r\n
      \r\n {languageData.map(language =>\r\n
    • \r\n dispatch(switchLanguage(language))\r\n }>\r\n \r\n {language.name}\r\n
    • \r\n )}\r\n
    \r\n
    );\r\n\r\n const updateSearchChatUser = (evt) => {\r\n setSearchText(evt.target.value)\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {Screen.screen === 0 ?\r\n
    \r\n \r\n \"\"\r\n \r\n \"\"
    \r\n \r\n :\r\n (\r\n Screen.screen === 1 ? \r\n
    \r\n \r\n \"\"\r\n \r\n \"paratic\"
    \r\n :\r\n
    \r\n \r\n \"\"\r\n \r\n \"paratic\"
    \r\n )\r\n }\r\n \r\n {/*
  • */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nexport default HorizontalDark;\r\n","import React, { useState } from \"react\";\r\nimport { Layout, Popover } from \"antd\";\r\nimport { connect, useDispatch, useSelector } from \"react-redux\";\r\nimport CustomScrollbars from \"util/CustomScrollbars\";\r\nimport languageData from \"../languageData\";\r\nimport UserInfo from \"components/UserInfo\";\r\nimport TenantIndex from \"../index\";\r\nimport HorizontalNav from \"../HorizontalNav\";\r\nimport Screen from \"../../../util/Extensions/Screens\";\r\nimport { Link } from \"react-router-dom\";\r\nimport {\r\n switchLanguage,\r\n toggleCollapsedSideNav,\r\n} from \"../../../appRedux/actions/Setting\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport AppNotification from \"components/AppNotification\";\r\nimport config from \"util/ApiforContext\";\r\n\r\nconst { Header } = Layout;\r\n\r\nconst InsideHeader = () => {\r\n const dispatch = useDispatch();\r\n\r\n const [searchText, setSearchText] = useState(\"\");\r\n const locale = useSelector(({ settings }) => settings.locale);\r\n const navCollapsed = useSelector(({ settings }) => settings.navCollapsed);\r\n const languageMenu = () => (\r\n \r\n
      \r\n {languageData.map((language) => (\r\n dispatch(switchLanguage(language))}\r\n >\r\n \r\n {language.name}\r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n\r\n const updateSearchChatUser = (evt) => {\r\n setSearchText(evt.target.value);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n }}\r\n />\r\n
    \r\n {Screen.screen === 0 ? (\r\n
    \r\n \r\n {\" \"}\r\n \r\n \r\n {\" \"}\r\n \r\n
    \r\n ) :\r\n (\r\n Screen.screen === 1 ?\r\n (\r\n
    \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n
    \r\n )\r\n :\r\n (\r\n
    \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n
    \r\n )\r\n )\r\n }\r\n
    \r\n \r\n
    \r\n \r\n {config.renderNotifications && (\r\n
  • \r\n \r\n
  • \r\n )}\r\n
  • \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = ({ settings }) => {\r\n const { locale, navCollapsed } = settings;\r\n return { locale, navCollapsed };\r\n};\r\nexport default connect(mapStateToProps, {\r\n toggleCollapsedSideNav,\r\n switchLanguage,\r\n})(InsideHeader);\r\n","import React, {useState} from \"react\";\r\nimport {Button, Dropdown,Layout, Menu, message, Popover, Select} from 'antd';\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport CustomScrollbars from \"util/CustomScrollbars\";\r\n\r\nimport languageData from \"../languageData\";\r\nimport SearchBox from \"components/SearchBox\";\r\nimport AppNotification from \"components/AppNotification\";\r\nimport MailNotification from \"components/MailNotification\";\r\nimport {switchLanguage, toggleCollapsedSideNav} from \"../../../appRedux/actions/Setting\";\r\n\r\nimport {TAB_SIZE} from \"../../../constants/ThemeSetting\";\r\nimport HorizontalNav from \"../HorizontalNav\";\r\nimport {Link} from \"react-router-dom\";\r\nimport IntlMessages from \"../../../util/IntlMessages\";\r\nimport DownOutlined from \"@ant-design/icons/lib/icons/DownOutlined\";\r\n\r\nconst {Header} = Layout;\r\n\r\nconst Option = Select.Option;\r\nconst menu = (\r\n \r\n Products\r\n Blog\r\n Apps\r\n \r\n);\r\n\r\nfunction handleMenuClick() {\r\n message.info('Click on menu item.');\r\n}\r\n\r\nfunction handleChange(value) {\r\n}\r\n\r\n\r\nconst AboveHeader = () => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [searchText, setSearchText] = useState('');\r\n const locale = useSelector(({settings}) => settings.locale);\r\n const navCollapsed = useSelector(({settings}) => settings.navCollapsed);\r\n const width = useSelector(({settings}) => settings.width);\r\n\r\n const languageMenu = () => (\r\n \r\n
      \r\n {languageData.map(language =>\r\n
    • \r\n dispatch(switchLanguage(language))\r\n }>\r\n \r\n {language.name}\r\n
    • \r\n )}\r\n
    \r\n
    );\r\n\r\n const updateSearchChatUser = (evt) => {\r\n setSearchText(evt.target.value)\r\n };\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n
    \r\n
      \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n if (width <= TAB_SIZE) {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n }\r\n }}\r\n />\r\n
    \r\n \r\n \"\"\r\n \r\n \"\"\r\n
    \r\n \r\n \r\n
    \r\n\r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    \r\n } trigger=\"click\">\r\n \r\n \r\n \r\n\r\n
  • \r\n }\r\n trigger=\"click\">\r\n \r\n \r\n
  • \r\n\r\n
  • \r\n } trigger=\"click\">\r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n
  • \r\n {/*
  • */}\r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\n\r\nexport default AboveHeader;\r\n","import React, {useState} from \"react\";\r\nimport {Button, Dropdown,Layout, Menu, message, Popover, Select} from 'antd';\r\nimport {useDispatch, useSelector} from \"react-redux\";\r\nimport CustomScrollbars from \"util/CustomScrollbars\";\r\nimport languageData from \"../languageData\";\r\nimport SearchBox from \"components/SearchBox\";\r\nimport UserInfo from \"components/UserInfo\";\r\nimport AppNotification from \"components/AppNotification\";\r\nimport MailNotification from \"components/MailNotification\";\r\nimport {switchLanguage, toggleCollapsedSideNav} from \"../../../appRedux/actions/Setting\";\r\nimport HorizontalNav from \"../HorizontalNav\";\r\nimport {Link} from \"react-router-dom\";\r\nimport IntlMessages from \"util/IntlMessages\";\r\nimport DownOutlined from \"@ant-design/icons/lib/icons/DownOutlined\";\r\n\r\nconst {Header} = Layout;\r\n\r\nconst Option = Select.Option;\r\nconst menu = (\r\n \r\n Products\r\n Apps\r\n Blogs\r\n \r\n);\r\n\r\nfunction handleMenuClick(e) {\r\n message.info('Click on menu item.');\r\n}\r\n\r\nfunction handleChange(value) {\r\n}\r\n\r\nconst BelowHeader = () => {\r\n\r\n const dispatch = useDispatch();\r\n\r\n const [searchText, setSearchText] = useState('');\r\n const locale = useSelector(({settings}) => settings.locale);\r\n const navCollapsed = useSelector(({settings}) => settings.navCollapsed);\r\n\r\n const languageMenu = () => (\r\n \r\n
      \r\n {languageData.map(language =>\r\n
    • \r\n dispatch(switchLanguage(language))\r\n }>\r\n \r\n {language.name}\r\n
    • \r\n )}\r\n
    \r\n
    );\r\n\r\n const updateSearchChatUser = (evt) => {\r\n setSearchText(evt.target.value)\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n
    \r\n
      \r\n
    • Login
    • \r\n
    • Signup
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {\r\n dispatch(toggleCollapsedSideNav(!navCollapsed));\r\n }}\r\n />\r\n
    \r\n \r\n \"\"\r\n \r\n \"\"\r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n
      \r\n
    • \r\n \r\n \r\n \r\n
    \r\n } trigger=\"click\">\r\n \r\n \r\n \r\n\r\n
  • \r\n }\r\n trigger=\"click\">\r\n \r\n \r\n
  • \r\n\r\n
  • \r\n } trigger=\"click\">\r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n
  • \r\n {/*
  • */}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n
    • \r\n
    • \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default BelowHeader;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Table, Input, Tooltip, Col, Form, Empty, Row, Collapse, notification, Select, DatePicker, Button } from 'antd';\r\nimport { SearchOutlined, RollbackOutlined, CloseOutlined, BarsOutlined } from '@ant-design/icons';\r\nimport { useMediaQuery } from 'react-responsive'\r\nimport moment from 'moment';\r\nimport RequestHandler from \"util/RequestHandler\";\r\nimport { RowHelper } from \"util/TableHelper\";\r\n\r\nconst layout = {\r\n labelCol: {\r\n span: 8,\r\n },\r\n wrapperCol: {\r\n span: 13,\r\n },\r\n};\r\nconst { Panel } = Collapse;\r\nconst { RangePicker } = DatePicker;\r\nconst BankAccountPage = (props) => {\r\n const isDesktopOrLaptop = useMediaQuery({ query: '(min-device-width: 1224px)' });\r\n const isTabletOrMobile = useMediaQuery({ query: '(max-width: 1500px)' });\r\n const isTabletOrMobileDevice = useMediaQuery({ query: '(max-device-width: 1224px)' });\r\n\r\n const [accounts, setAccounts] = useState([{ data: [], total: 0 }]);\r\n const [dataState, setDataState] = useState([{ skip: 0, take: 10 }]);\r\n const [take, setTake] = useState(20);\r\n const [skip, setSkip] = useState(0);\r\n const [teminatDropdown, setTeminatDropdown] = useState([]);\r\n const [query, setQuery] = useState(`$filter=TenantAccountId eq ${props.match.params.bankaccountid} and isErpActivity eq false `);\r\n const [Iban, setIban] = useState('');\r\n const [firmDropdown, setFirmDropdown] = useState([]);\r\n const [TenantBankName, setTenantBankName] = useState('');\r\n const [Description, setDescription] = useState('');\r\n const [Amount1, setAmount1] = useState('');\r\n const [Amount2, setAmount2] = useState('');\r\n const [TransactionDate, setTransactionDate] = useState('');\r\n const [firmId, setFirmId] = useState('');\r\n const [TransactionProcessType, setTransactionProcessType] = useState('');\r\n const [isBranchShow, setIsBranchShow] = useState(true);\r\n const [isIbanShow, setIsIbanShow] = useState(true);\r\n const [isCurrencyShow, setIsCurrencyShow] = useState(true);\r\n const [isTenantIbanShow, setIsTenantIbanShow] = useState(true);\r\n const [isTransactionTypeShow, setIsTransactionTypeShow] = useState(true);\r\n const [isVknTcknShow, setIsVknTcknShow] = useState(true);\r\n const [isReceiptShow, setIsReceiptShow] = useState(true);\r\n const [isAdditionalDescriptionShow, setIsAdditionalDescriptionShow] = useState(true);\r\n const [isSenderNameShow, setIsSenderNameShow] = useState(true);\r\n const [isBalanceAfterTransactionShow, setIsBalanceAfterTransactionShow] = useState(true);\r\n const [isDescriptionShow, setIsDescriptionShow] = useState(true);\r\n const [isFirmNameShow, setIsFirmNameShow] = useState(true);\r\n const [TransactionDate1, setTransactionDate1] = useState('');\r\n\r\n const errorList = [];\r\n const errorListNotification = type => {\r\n errorList.map((item) => {\r\n notification[type]({\r\n message: 'Hata',\r\n description:\r\n item\r\n ,\r\n duration: 2,\r\n });\r\n })\r\n };\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/AccountTransaction? ${query} &$count=true&$skip=${skip}&$top=${take}`).then(response => {\r\n setAccounts({\r\n data: response.value,\r\n total: response['@odata.count']\r\n });\r\n });\r\n }, [skip, query]);\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/AccountTransaction/GetTransactionTableRole`).then((response) => {\r\n if (response.success) {\r\n setIsAdditionalDescriptionShow(response.data?.isAdditionalDescriptionShow)\r\n setIsBalanceAfterTransactionShow(response.data?.isBalanceAfterTransactionShow)\r\n setIsBranchShow(response.data?.isBranchShow)\r\n setIsCurrencyShow(response.data?.isCurrencyShow)\r\n setIsDescriptionShow(response.data?.isDescriptionShow)\r\n setIsFirmNameShow(response.data?.isFirmNameShow)\r\n setIsIbanShow(response.data?.isIbanShow)\r\n setIsReceiptShow(response.data?.isReceiptShow)\r\n setIsSenderNameShow(response.data?.isSenderNameShow)\r\n setIsTenantIbanShow(response.data?.isTenantIbanShow)\r\n setIsTransactionTypeShow(response.data?.isTransactionTypeShow)\r\n setIsVknTcknShow(response.data?.isVknTcknShow)\r\n }\r\n });\r\n\r\n RequestHandler.get(`/Firm/GetFirmType`).then(response => {\r\n setFirmDropdown(response.data);\r\n });\r\n\r\n RequestHandler.get(`/Types/GetManualTransactionTypes`).then(response => {\r\n setTeminatDropdown(response);\r\n });\r\n }, []);\r\n\r\n const handleReset = clearFilters => {\r\n setSkip(0)\r\n setTake(20)\r\n setQuery(`$filter=TenantAccountId eq ${props.match.params.bankaccountid} and isErpActivity eq false `)\r\n setIban('')\r\n setTransactionProcessType('')\r\n setTenantBankName('')\r\n setFirmId('')\r\n setAmount2('')\r\n setAmount1('')\r\n setTransactionDate('')\r\n setTransactionDate1('')\r\n setDescription('')\r\n };\r\n const handleIban = (value) => {\r\n setIban(value.target.value)\r\n };\r\n\r\n const onSearch = (val) => {\r\n if (val.length >= 3) {\r\n RequestHandler.get(`/Firm?isFilter=true&$filter=contains(name, '${val}')`).then(response => {\r\n setFirmDropdown(response.value);\r\n });\r\n } else {\r\n setFirmDropdown([])\r\n }\r\n }\r\n\r\n const handleDescription = (value) => {\r\n setDescription(value.target.value)\r\n };\r\n const handleAmount1 = (value) => {\r\n setAmount1(value.target.value.replace(',', '.'))\r\n };\r\n const handleTransactionProcessType = value => {\r\n setTransactionProcessType(value)\r\n }\r\n const handleAmount2 = (value) => {\r\n setAmount2(value.target.value.replace(',', '.'))\r\n };\r\n const handleFirmId = value => {\r\n setFirmId(value)\r\n };\r\n const handleTransactionDate = (value) => {\r\n if (value !== null) {\r\n setTransactionDate(value[0].format('YYYY-MM-DD'))\r\n setTransactionDate1(value[1].format('YYYY-MM-DD'))\r\n }\r\n };\r\n const paging = (p) => {\r\n setDataState(prevState => {\r\n prevState.skip = (p.current - 1) * 20;\r\n setSkip(prevState.skip)\r\n return {\r\n prevState\r\n }\r\n })\r\n }\r\n\r\n\r\n const { Option } = Select;\r\n const onFinish = values => {\r\n {\r\n var NewTransactionDate = moment(TransactionDate).add(-1, 'days').format('YYYY-MM-DD')\r\n var NewTransactionDate1 = moment(TransactionDate1).add(1, 'days').format('YYYY-MM-DD')\r\n setSkip(0)\r\n setTake(15)\r\n var queryBankAccount = `$filter=TenantAccountId eq ${props.match.params.bankaccountid} and isErpActivity eq false `;\r\n if (Iban !== undefined && Iban !== \"\") {\r\n queryBankAccount += ` and Contains(Iban,'${Iban}')`;\r\n }\r\n if (TenantBankName !== undefined && TenantBankName !== \"\") {\r\n queryBankAccount += ` and Contains(TenantBankName,'${TenantBankName}')`;\r\n }\r\n if (Description !== undefined && Description !== \"\") {\r\n queryBankAccount += ` and Contains(Description,'${Description}')`;\r\n }\r\n if (TransactionDate !== undefined && TransactionDate !== \"\") {\r\n queryBankAccount += ` and date(TransactionDateValue) lt ${NewTransactionDate1} and date(TransactionDateValue) gt ${NewTransactionDate}`;\r\n }\r\n if (queryBankAccount !== \"\" && Amount1 !== undefined && Amount1 !== \"\" && (Amount2 === undefined || Amount2 === \"\")) {\r\n queryBankAccount += ` and Amount lt ${Amount1}`;\r\n }\r\n if (queryBankAccount !== \"\" && TransactionProcessType !== undefined && TransactionProcessType !== \"\") {\r\n queryBankAccount += ` and TransactionProcessTypeValue eq ${TransactionProcessType} `;\r\n }\r\n if (queryBankAccount !== \"\" && firmId !== undefined && firmId !== \"\") {\r\n queryBankAccount += ` and FirmId eq ${firmId} `;\r\n }\r\n\r\n if (TransactionProcessType === undefined || TransactionProcessType === \"\") {\r\n if (queryBankAccount !== \"\" && Amount1 !== undefined && Amount1 !== \"\" && (Amount2 === undefined || Amount2 === \"\")) {\r\n queryBankAccount += ` and (Amount lt ${Amount1} or Amount eq ${Amount1}) and (TransactionProcessTypeValue eq 2 or TransactionProcessTypeValue eq 1)`;\r\n }\r\n if (queryBankAccount !== \"\" && (Amount1 === undefined || Amount1 === \"\") && Amount2 !== undefined && Amount2 !== \"\") {\r\n queryBankAccount += ` and (Amount gt ${Amount2} or Amount eq ${Amount2}) and TransactionProcessTypeValue eq 1`;\r\n }\r\n } else {\r\n if (queryBankAccount !== \"\" && Amount1 !== undefined && Amount1 !== \"\" && (Amount2 === undefined || Amount2 === \"\")) {\r\n queryBankAccount += ` and (Amount lt ${Amount1} or Amount eq ${Amount1})`;\r\n }\r\n if (queryBankAccount !== \"\" && (Amount1 === undefined || Amount1 === \"\") && Amount2 !== undefined && Amount2 !== \"\") {\r\n queryBankAccount += ` and Amount gt ${Amount2} `;\r\n }\r\n }\r\n if (queryBankAccount !== \"\" && Amount1 !== undefined && Amount1 !== \"\" && Amount2 !== undefined && Amount2 !== \"\") {\r\n queryBankAccount += ` and (Amount lt ${Amount1} or Amount eq ${Amount1}) and (Amount gt ${Amount2} or Amount eq ${Amount2})`;\r\n }\r\n setQuery(queryBankAccount)\r\n queryBankAccount = `$filter=TenantAccountId eq ${props.match.params.bankaccountid} and isErpActivity eq false `;\r\n }\r\n };\r\n\r\n const columns = [\r\n {\r\n title: 'BANKA',\r\n dataIndex: 'bankId',\r\n key: 'bankId',\r\n render: (text, row, index) => {\r\n return
    \r\n },\r\n },\r\n isBranchShow ?\r\n {\r\n title: 'ŞUBE',\r\n dataIndex: 'tenantBranchCode',\r\n key: 'tenantBranchCode',\r\n align: 'center',\r\n } : {},\r\n isTenantIbanShow ?\r\n {\r\n title: 'IBAN / HESAP NUMARASI',\r\n align: 'center',\r\n dataIndex: 'tenantIban',\r\n key: 'tenantIban',\r\n width: '17%',\r\n render: (text, row, index) => {\r\n {\r\n return
    {row.tenantIban == null ? (row.tenantAccountNumber == null ? \"\" : row.tenantAccountNumber) : row.tenantIban}
    \r\n }\r\n },\r\n } : {},\r\n {\r\n title: 'TUTAR',\r\n dataIndex: 'amountString',\r\n key: 'amountString',\r\n render: (text, row, index) => {\r\n {\r\n return
    {text}
    \r\n }\r\n },\r\n },\r\n isCurrencyShow ?\r\n {\r\n title: 'DÖVİZ',\r\n dataIndex: 'currency',\r\n align: 'center',\r\n key: 'currency',\r\n render: (text, row, index) => {\r\n {\r\n return
    {text}
    \r\n }\r\n },\r\n } : {},\r\n {\r\n title: 'TARİH',\r\n dataIndex: 'transactionDate',\r\n align: 'center',\r\n width: '14%',\r\n key: 'transactionDate',\r\n render: (text, row, index) => {\r\n {\r\n return
    {row.transactionDate}
    \r\n }\r\n },\r\n },\r\n isDescriptionShow ?\r\n {\r\n title: 'AÇIKLAMA',\r\n align: 'left',\r\n dataIndex: 'description',\r\n key: 'description',\r\n render: (text, row, index) =>\r\n \r\n
    \r\n {text?.substring(0, 40) === undefined ? \" \" :\r\n text?.substring(0, 40).trim().length < 35 ? text + \"\" : text?.substring(0, 40) + \"...\"}\r\n
    \r\n } : {},\r\n isFirmNameShow ?\r\n {\r\n title: 'CARİ ADI',\r\n dataIndex: 'firmName',\r\n align: 'center',\r\n key: 'firmName',\r\n render: (text, row, index) => text == null ?
    -
    :\r\n \r\n
    \r\n {text?.substring(0, 15) === undefined ?
    -
    :\r\n text?.substring(0, 15).length < 8 ? text?.substring(0, 15) + \"\" : text?.substring(0, 8) + \"...\"}
    \r\n
    \r\n } : {},\r\n ];\r\n\r\n const detailColumns = [\r\n isIbanShow ?\r\n {\r\n title: \"Karşı Iban\",\r\n dataIndex: \"iban\",\r\n } : {},\r\n isVknTcknShow ?\r\n {\r\n title: \"Vkn / T.C. No\",\r\n dataIndex: \"vkn\",\r\n render: (data, row, index) => data ?? row.tckn,\r\n } : {},\r\n isTransactionTypeShow ?\r\n {\r\n title: \"İşlem Tipi\",\r\n dataIndex: \"transactionTypeName\",\r\n } : {},\r\n isSenderNameShow ?\r\n {\r\n title: \"Gönderen Adı\",\r\n dataIndex: \"senderName\",\r\n } : {},\r\n isReceiptShow ?\r\n {\r\n title: \"Dekont No\",\r\n dataIndex: \"receiptNumber\",\r\n } : {},\r\n isDescriptionShow ?\r\n {\r\n title: \"Banka Açıklaması\",\r\n dataIndex: \"description\",\r\n } : {},\r\n isAdditionalDescriptionShow ?\r\n {\r\n title: \"Ek Açıklama\",\r\n dataIndex: \"additionalDescription\",\r\n } : {},\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n history.goBack()} style={{ color: 'black', marginLeft: \"4%\" }}> GERİ DÖN\r\n \r\n \r\n \r\n

    ŞUBE LİSTESİ - HESAP HAREKETLERİ

    \r\n
    \r\n \r\n \r\n\r\n \r\n \r\n {isDesktopOrLaptop && <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n evt.keyCode === 109 && evt.preventDefault()} style={{ width: \"50%\" }} value={Amount2} name=\"Amount2\" placeholder=\"Tutar Başlangıç\" />\r\n evt.keyCode === 109 && evt.preventDefault()} style={{ width: \"50%\" }} value={Amount1} name=\"Amount1\" placeholder=\"Tutar Bitiş\" />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n Ödeme / Tahsilat Tipi :\r\n \r\n \r\n \r\n\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {teminatDropdown.map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {firmDropdown.map(item => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n .\r\n \r\n \r\n \r\n \r\n }\r\n {isTabletOrMobileDevice && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n Cari :\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {firmDropdown.map(item => (\r\n \r\n ))}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n\r\n\r\n \r\n \r\n \r\n

    \r\n {isTabletOrMobile === true ?\r\n }}\r\n style={{ maxHeight: \"100%\" }}\r\n scroll={{ x: 1150 }}\r\n size=\"small\"\r\n rowKey=\"id\"\r\n filterable={true}\r\n expandable={{\r\n expandedRowRender: (row) =>\r\n RowHelper.renderRowDetail({\r\n data: row,\r\n columns: detailColumns,\r\n }),\r\n }}\r\n sortable={true}\r\n pagination={{\r\n total: accounts.total,\r\n pageSize: [15]\r\n }}\r\n pageable={true}\r\n onChange={paging}\r\n dataSource={accounts.data}\r\n />\r\n :
    }}\r\n style={{ overflowX: \"auto\", maxHeight: \"100%\" }}\r\n size=\"small\"\r\n rowKey=\"id\"\r\n filterable={true}\r\n expandable={{\r\n expandedRowRender: record =>

    Karşı Iban : {record.iban}
    \r\n VKN / T.C. No : {record.tckn == null ? record.vkn : record.tckn}
    \r\n Banka Açıklaması : {record.description}

    ,\r\n }}\r\n sortable={true}\r\n pagination={{\r\n total: accounts.total,\r\n pageSize: [15]\r\n }}\r\n pageable={true}\r\n onChange={paging}\r\n dataSource={accounts.data}\r\n />}\r\n\r\n \r\n )\r\n}\r\n\r\nexport default BankAccountPage\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Col, Row, Form, Select, Input, Button } from \"antd\";\r\n\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\nimport { defaultValidateMessages } from \"./Helper\";\r\n\r\nconst formItemLayout = {\r\n labelCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 8,\r\n },\r\n },\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 16,\r\n },\r\n },\r\n};\r\nconst { Option } = Select;\r\n\r\nconst TransactionBankInfoAccountAddForm = (props) => {\r\n const [form] = Form.useForm();\r\n const [loading, setLoading] = useState(false);\r\n const [bankBranchDropdown, setbankBranchDropdown] = useState({\r\n data: [],\r\n loading: true,\r\n });\r\n const [currencyDropdown, setCurrencyDropdown] = useState({\r\n data: [],\r\n loading: true,\r\n });\r\n const [bankRequirements, setBankRequirements] = useState({});\r\n\r\n useEffect(() => {\r\n if (props.data) {\r\n form.setFieldsValue(props.data);\r\n }\r\n }, [props.data]);\r\n\r\n useEffect(() => {\r\n getBankBranchDropdownData();\r\n getCurrencyDropdownData();\r\n getBankInfoRequirements(props.data.bankId);\r\n }, []);\r\n\r\n const getBankInfoRequirements = (bankId) => {\r\n RequestHandler.get(\"/Bank/GetBankColumnsByBankId/\" + bankId).then(\r\n (response) => {\r\n setBankRequirements({\r\n isRequiredAccountInfo: response.isRequiredAccountInfo,\r\n ...response.bankInfoRequiredColumns,\r\n ...response.bankInfoAccountRequiredColumns,\r\n });\r\n }\r\n );\r\n };\r\n\r\n const getBankBranchDropdownData = () => {\r\n setbankBranchDropdown({\r\n ...bankBranchDropdown,\r\n loading: true,\r\n });\r\n\r\n RequestHandler.get(\r\n `/BankBranch/GetBranchForBank?id=${props.data.bankId}`\r\n ).then((response) => {\r\n setbankBranchDropdown({\r\n data: response,\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n const getCurrencyDropdownData = () => {\r\n setCurrencyDropdown({\r\n ...currencyDropdown,\r\n loading: true,\r\n });\r\n\r\n RequestHandler.get(`/Currency`).then((response) => {\r\n setCurrencyDropdown({\r\n data: response.value,\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n const onFinish = (values) => {\r\n RequestHandler.post(\r\n `/TransactionBankInfoAccount/AddWithBankCheck`,\r\n values\r\n ).then((res) => {\r\n setLoading(false);\r\n if (res.success) {\r\n form.resetFields();\r\n\r\n if (props.onSuccess) props.onSuccess();\r\n }\r\n });\r\n };\r\n\r\n const onFinishFailed = (errorInfo) => {\r\n setLoading(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n\r\n {bankRequirements.isBankBranchIdRequired && (\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n loading={bankBranchDropdown.loading}\r\n >\r\n {bankBranchDropdown.data.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isAccountNumberRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isIbanRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isAccountSuffixRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isCurrencyIdRequired && (\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n loading={currencyDropdown.loading}\r\n >\r\n {currencyDropdown.data.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n \r\n }\r\n htmlType=\"submit\"\r\n onClick={() => setLoading(true)}\r\n loading={loading}\r\n >\r\n Ekle\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TransactionBankInfoAccountAddForm;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Col, Row, Form, Select, Input, Button } from \"antd\";\r\n\r\nimport { PlusOutlined } from \"@ant-design/icons\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\nimport { defaultValidateMessages } from \"./Helper\";\r\n\r\nconst formItemLayout = {\r\n labelCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 8,\r\n },\r\n },\r\n wrapperCol: {\r\n xs: {\r\n span: 24,\r\n },\r\n sm: {\r\n span: 16,\r\n },\r\n },\r\n};\r\nconst { Option } = Select;\r\nconst TransactionBankInfoAccountUpdateForm = (props) => {\r\n const [form] = Form.useForm();\r\n const [loading, setLoading] = useState(false);\r\n const [bankBranchDropdown, setbankBranchDropdown] = useState({\r\n data: [],\r\n loading: true,\r\n });\r\n const [currencyDropdown, setCurrencyDropdown] = useState({\r\n data: [],\r\n loading: true,\r\n });\r\n const [bankRequirements, setBankRequirements] = useState({});\r\n\r\n useEffect(() => {\r\n if (props.data) {\r\n form.setFieldsValue(props.data);\r\n }\r\n }, [props.data]);\r\n\r\n useEffect(() => {\r\n getBankBranchDropdownData();\r\n getCurrencyDropdownData();\r\n getBankInfoRequirements(props.bankId);\r\n }, []);\r\n\r\n const getBankInfoRequirements = (bankId) => {\r\n RequestHandler.get(\"/Bank/GetBankColumnsByBankId/\" + bankId).then(\r\n (response) => {\r\n setBankRequirements({\r\n isRequiredAccountInfo: response.isRequiredAccountInfo,\r\n ...response.bankInfoRequiredColumns,\r\n ...response.bankInfoAccountRequiredColumns,\r\n });\r\n }\r\n );\r\n };\r\n\r\n const getBankBranchDropdownData = () => {\r\n setbankBranchDropdown({\r\n ...bankBranchDropdown,\r\n loading: true,\r\n });\r\n\r\n RequestHandler.get(\r\n `/BankBranch/GetBranchForBank?id=${props.bankId}`\r\n ).then((response) => {\r\n setbankBranchDropdown({\r\n data: response,\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n const getCurrencyDropdownData = () => {\r\n setCurrencyDropdown({\r\n ...currencyDropdown,\r\n loading: true,\r\n });\r\n\r\n RequestHandler.get(`/Currency`).then((response) => {\r\n setCurrencyDropdown({\r\n data: response.value,\r\n loading: false,\r\n });\r\n });\r\n };\r\n\r\n const onFinish = (values) => {\r\n RequestHandler.put(`/TransactionBankInfoAccount`, values).then((res) => {\r\n setLoading(false);\r\n if (res.success) {\r\n form.resetFields();\r\n\r\n if (props.onSuccess) props.onSuccess();\r\n }\r\n }).catch(function (error) {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const onFinishFailed = (errorInfo) => {\r\n setLoading(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {bankRequirements.isBankBranchIdRequired && (\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n loading={bankBranchDropdown.loading}\r\n >\r\n {bankBranchDropdown.data.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isAccountNumberRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isIbanRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isAccountSuffixRequired && (\r\n \r\n \r\n \r\n )}\r\n\r\n {bankRequirements.isCurrencyIdRequired && (\r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n loading={currencyDropdown.loading}\r\n >\r\n {currencyDropdown.data.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n \r\n }\r\n htmlType=\"submit\"\r\n onClick={() => setLoading(true)}\r\n loading={loading}\r\n >\r\n Güncelle\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nexport default TransactionBankInfoAccountUpdateForm;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Form, Input, Button, Row, Col, Transfer } from 'antd';\r\nimport { useMediaQuery } from 'react-responsive'\r\nimport RequestHandler from '../../util/RequestHandler';\r\nconst userId = localStorage.getItem(\"userId\");\r\n\r\nconst layout = {\r\n labelCol: {\r\n span: 4,\r\n },\r\n wrapperCol: {\r\n span: 16,\r\n },\r\n};\r\nconst tailLayout = {\r\n wrapperCol: {\r\n offset: 8,\r\n span: 16,\r\n },\r\n};\r\n\r\nconst GroupAdd = () => {\r\n const isDesktopOrLaptop = useMediaQuery({ query: '(min-device-width: 1224px)' });\r\n const isTabletOrMobileDevice = useMediaQuery({ query: '(max-device-width: 1224px)' });\r\n const [mockDataTenant, setmockDataTenant] = useState([]);\r\n const [mockDataUser, setmockDataUser] = useState([]);\r\n const [targetKeysTenant, setTargetKeysTenant] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [targetKeysUser, setTargetKeysUser] = useState([]);\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/User/GetUserTenants/${userId}`).then(response => {\r\n getMockTenant(response);\r\n const tenantList = [];\r\n response.map((item) => {\r\n tenantList.push(item.id);\r\n });\r\n\r\n RequestHandler.post(`/User/GetUserListForTenants`, {\r\n tenants: tenantList\r\n }, false).then(res => {\r\n getMockUser(res)\r\n });\r\n });\r\n }, []);\r\n\r\n const onFinish = (values) => {\r\n const tenantList = [];\r\n const userList = [];\r\n targetKeysTenant.map((item) => {\r\n tenantList.push(item);\r\n })\r\n targetKeysUser.map((item) => {\r\n userList.push(item);\r\n })\r\n\r\n RequestHandler.post(`/Group`, {\r\n name: values.name,\r\n tenantIds: tenantList,\r\n userIds: userList\r\n }).then(res => {\r\n setTimeout(function () {\r\n window.location.reload();\r\n }.bind(this), 2000)\r\n });\r\n };\r\n\r\n const onFinishFailed = () => setLoading(false);\r\n\r\n const getMockTenant = (value) => {\r\n const targetKeysTenant = [];\r\n const mockDataTenant = [];\r\n value.map((item, index) => {\r\n const data = {\r\n key: item.id,\r\n title: item.name,\r\n description: ``,\r\n };\r\n if (data.chosen) {\r\n targetKeysTenant.push(data.key);\r\n }\r\n mockDataTenant.push(data);\r\n })\r\n setmockDataTenant(mockDataTenant)\r\n setTargetKeysTenant(targetKeysTenant)\r\n };\r\n\r\n const getMockUser = (value) => {\r\n const targetKeysUser = [];\r\n const mockDataUser = [];\r\n value.map((item, index) => {\r\n const data = {\r\n key: item.id,\r\n title: item.firstName,\r\n description: ``,\r\n };\r\n if (data.chosen) {\r\n targetKeysUser.push(data.key);\r\n }\r\n mockDataUser.push(data);\r\n })\r\n setmockDataUser(mockDataUser)\r\n setTargetKeysUser(targetKeysUser)\r\n };\r\n\r\n const filterOptionUser = (inputValue, option) => option.description.indexOf(inputValue) > -1;\r\n\r\n const handleChangeUser = targetKeysUser => {\r\n setTargetKeysUser(targetKeysUser)\r\n };\r\n\r\n const filterOptionTenant = (inputValue, option) => option.description.indexOf(inputValue) > -1;\r\n\r\n const handleChangeTenant = targetKeysTenant => {\r\n setTargetKeysTenant(targetKeysTenant)\r\n };\r\n\r\n return (\r\n
    \r\n {isTabletOrMobileDevice && <>\r\n \r\n \r\n \r\n \r\n\r\n \r\n item.title}\r\n />\r\n \r\n\r\n \r\n\r\n item.title}\r\n />\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n }\r\n {isDesktopOrLaptop && <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n item.title}\r\n />\r\n \r\n \r\n item.title}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n\r\n );\r\n}\r\n\r\nexport default GroupAdd","import React, { useEffect, useState } from 'react';\r\nimport { Form, Col, Input, Button, Transfer } from 'antd';\r\nimport { useMediaQuery } from 'react-responsive'\r\nimport RequestHandler from '../../util/RequestHandler';\r\n\r\nconst userId = localStorage.getItem(\"userId\");\r\nconst layout = {\r\n labelCol: {\r\n span: 4,\r\n },\r\n wrapperCol: {\r\n span: 16,\r\n },\r\n};\r\nconst tailLayout = {\r\n wrapperCol: {\r\n offset: 8,\r\n span: 16,\r\n },\r\n};\r\n\r\nconst GroupUpdate = (props) => {\r\n const isDesktopOrLaptop = useMediaQuery({ query: '(min-device-width: 1224px)' });\r\n const isTabletOrMobileDevice = useMediaQuery({ query: '(max-device-width: 1224px)' });\r\n\r\n const [groupName, setGroupName] = useState(props.groupName);\r\n const [loading, setLoading] = useState(false);\r\n const [mockDataTenant, setmockDataTenant] = useState([]);\r\n const [mockDataUser, setmockDataUser] = useState([]);\r\n const [targetKeysTenant, setTargetKeysTenant] = useState([]);\r\n const [groupId, setGroupId] = useState(props.groupId);\r\n const [targetKeysUser, setTargetKeysUser] = useState([]);\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/User/GetUserTenants/${userId}`).then(response => {\r\n getMockTenant(response);\r\n const tenantList = [];\r\n response.map((item) => {\r\n tenantList.push(item.id)\r\n });\r\n\r\n RequestHandler.post(`/User/GetUserListForTenants`, { tenants: tenantList }, false).then(res => {\r\n getMockUser(res)\r\n });\r\n });\r\n\r\n RequestHandler.get(`/Group/GetTenantGroup/${props.groupId}`).then(response => {\r\n const tenants = [];\r\n response.map((item) => {\r\n tenants.push(item.tenantId);\r\n });\r\n setTargetKeysTenant(tenants);\r\n });\r\n\r\n RequestHandler.get(`/Group/GetUserGroup/${props.groupId}`).then(response => {\r\n const users = [];\r\n response.map((item) => {\r\n users.push(item.userId);\r\n });\r\n setTargetKeysUser(users);\r\n });\r\n\r\n setGroupId(props.groupId)\r\n setGroupName(props.groupName)\r\n }, [setGroupName, props.groupName, setTargetKeysUser, setTargetKeysTenant, setGroupId, props.groupId]);\r\n\r\n const onChangeName = (e) => {\r\n setGroupName(e.target.value)\r\n }\r\n\r\n const onFinish = (values) => {\r\n RequestHandler.put(`/Group`, {\r\n id: groupId,\r\n name: values.name,\r\n tenantIds: targetKeysTenant,\r\n userIds: targetKeysUser\r\n }).then(res => {\r\n setTimeout(function () {\r\n window.location.reload();\r\n }.bind(this), 2000);\r\n }).catch(function (error) {\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const onFinishFailed = () => setLoading(false);\r\n\r\n const getMockTenant = (value) => {\r\n const targetKeysTenant = [];\r\n const mockDataTenant = [];\r\n value.map((item, index) => {\r\n const data = {\r\n key: item.id,\r\n title: item.name,\r\n description: ``,\r\n };\r\n if (data.chosen) {\r\n targetKeysTenant.push(data.key);\r\n }\r\n mockDataTenant.push(data);\r\n })\r\n setmockDataTenant(mockDataTenant)\r\n };\r\n\r\n const getMockUser = (value) => {\r\n const targetKeysUser = [];\r\n const mockDataUser = [];\r\n value.map((item, index) => {\r\n const data = {\r\n key: item.id,\r\n title: item.firstName,\r\n description: ``,\r\n };\r\n if (data.chosen) {\r\n targetKeysUser.push(data.key);\r\n }\r\n mockDataUser.push(data);\r\n })\r\n setmockDataUser(mockDataUser)\r\n };\r\n\r\n const filterOptionUser = (inputValue, option) => option.description.indexOf(inputValue) > -1;\r\n\r\n const handleChangeUser = targetKeysUser => {\r\n setTargetKeysUser(targetKeysUser)\r\n };\r\n\r\n const filterOptionTenant = (inputValue, option) => option.description.indexOf(inputValue) > -1;\r\n\r\n const handleChangeTenant = targetKeysTenant => {\r\n setTargetKeysTenant(targetKeysTenant)\r\n };\r\n\r\n return (\r\n
    \r\n {isDesktopOrLaptop && <>\r\n \r\n \r\n \r\n \r\n \r\n item.title}\r\n />\r\n \r\n \r\n\r\n item.title}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n }\r\n {isTabletOrMobileDevice && <>\r\n \r\n \r\n \r\n \r\n \r\n item.title}\r\n />\r\n \r\n \r\n\r\n item.title}\r\n />\r\n \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n\r\n );\r\n}\r\n\r\nexport default GroupUpdate","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Table,\r\n Empty,\r\n Card,\r\n notification,\r\n Col,\r\n Row,\r\n Select,\r\n message,\r\n Tabs,\r\n Modal,\r\n Spin,\r\n Collapse,\r\n Tooltip as AntdTooltip,\r\n} from \"antd\";\r\nimport CurrencyFormat from \"react-currency-format\";\r\nimport { Cell, Pie, PieChart, Tooltip } from \"recharts\";\r\nimport {\r\n FileExcelOutlined,\r\n BarsOutlined,\r\n CaretRightFilled,\r\n MenuUnfoldOutlined,\r\n QuestionCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport config from \"../../util/ApiforContext\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\nconst { Panel } = Collapse;\r\n\r\nconst COLORS = [\r\n \"#003668\",\r\n \"#0061ba\",\r\n \"#1f94ff\",\r\n \"#8dbbe5\",\r\n \"#8de5cd\",\r\n \"#00b684\",\r\n \"#006448\",\r\n];\r\nconst renderCustomizedLabelTRY = ({ x, y, stroke, value }) => {\r\n return \"% \" + value.toFixed(2);\r\n};\r\n\r\nconst CustomToolTip = (props) => {\r\n try {\r\n const { active, payload, label } = props;\r\n if (!active || !payload) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n

    \r\n {label}\r\n

    \r\n {payload.map((item, i) => (\r\n

    \r\n \r\n {item.name}\r\n \r\n

    \r\n ))}\r\n
    \r\n );\r\n } catch (error) {}\r\n};\r\n\r\nconst openNotificationWithIconExcel = (type) => {\r\n notification[type]({\r\n message: \"BAŞARILI\",\r\n description: \"Excel indirme işlemi başarı ile gerçekleşti.\",\r\n duration: 2,\r\n });\r\n};\r\n\r\nconst ConsolidatedTenant = () => {\r\n const { Option } = Select;\r\n\r\n const isDesktopOrLaptop = useMediaQuery({\r\n query: \"(min-device-width: 1224px)\",\r\n });\r\n const isChartWidth = useMediaQuery({ query: \"(min-width: 500px)\" });\r\n const isTabletOrMobile = useMediaQuery({ query: \"(max-width: 1000px)\" });\r\n const isTabletOrMobileDevice = useMediaQuery({\r\n query: \"(max-device-width: 1224px)\",\r\n });\r\n\r\n const [bankListForTRY, setBankListForTRY] = useState([]);\r\n const [tenantIdList, setTenantIdList] = useState([]);\r\n const [isLiveValue, setIsLiveValue] = useState(false);\r\n const [dailyDate, setDailyDate] = useState(\"\");\r\n const [liveDate, setLiveDate] = useState(\"\");\r\n const [bankListForTotal, setBankListForTotal] = useState([]);\r\n const [exchangeRate, setExchangeRate] = useState([]);\r\n const [groups, setGroups] = useState([]);\r\n const [currencyList, setCurrencyList] = useState([]);\r\n const [currencyBankList, setCurrencyBankList] = useState([]);\r\n const [chartTakeValuesStateTotal, setChartTakeValuesStateTotal] = useState(\r\n []\r\n );\r\n const [chartTakeValuesState, setChartTakeValuesState] = useState([]);\r\n const [totalTenantAccountList, setTotalTenantAccountList] = useState([]);\r\n const [totalBankList, setTotalBankList] = useState([]);\r\n const [totalWithCurrency, setTotalWithCurrency] = useState([]);\r\n const [totalWithCurrencyBank, setTotalWithCurrencyBank] = useState([]);\r\n const [bankConsolideTenant, setBankConsolideTenant] = useState([]);\r\n const [firstGroups, setFirstGroups] = useState(\"\");\r\n const [firstName, setFirstName] = useState(\"\");\r\n const [activeKey, setActiveKey] = useState(\"1\");\r\n const [allTotal, setAllTotal] = useState(0);\r\n const [allBankTotal, setAllBankTotal] = useState(0);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [loadingBank, setLoadingBank] = useState(false);\r\n const [isDigitConsolidate, setIsDigitConsolidate] = useState();\r\n const [useAvailableBalance, setUseAvailableBalance] = useState(false);\r\n const [useAvailableCreditBalance, setUseAvailableCreditBalance] =\r\n useState(false);\r\n\r\n const chartTakeValues = [];\r\n var bankListConsolide = [];\r\n var bankListConsolideTotal = [];\r\n var totalListConsolide = 0;\r\n var totalListConsolideTotal = 0;\r\n var bankAndTotalList = [];\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/TenantUserParameter/GetDigitParameter`).then(\r\n (response) => {\r\n if (response.success) {\r\n setIsDigitConsolidate(response.data.isDigitConsolidate);\r\n }\r\n }\r\n );\r\n RequestHandler.get(`/Group/GetConsolidateDropdown`).then((response) => {\r\n onChange(response[0]?.id);\r\n setFirstName(response[0]?.name);\r\n setFirstGroups(response[0]?.id);\r\n setGroups(response);\r\n });\r\n\r\n RequestHandler.get(`/TenantCurrency/GetExchangeRateList`).then(\r\n (response) => {\r\n RequestHandler.get(`/TenantCurrency/GetIsDailyValue`).then((res) => {\r\n setIsLiveValue(res.isLiveValue);\r\n });\r\n\r\n setLiveDate(response[0].liveDate);\r\n setDailyDate(response[0].dailyDate);\r\n setExchangeRate(response);\r\n }\r\n );\r\n\r\n RequestHandler.get(`/TenantCurrency/GetExchangeRateList`).then(\r\n (response) => {\r\n setExchangeRate(response);\r\n }\r\n );\r\n }, [\r\n setLoading,\r\n loading,\r\n setCurrencyList,\r\n setBankListForTRY,\r\n setActiveKey,\r\n setFirstName,\r\n useAvailableBalance,\r\n useAvailableCreditBalance,\r\n ]);\r\n\r\n const exportExcel = () => {\r\n const hide = message.loading(\"Excel indiriliyor...\", 0);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/ExportExcel`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n openNotificationWithIconExcel(\"success\");\r\n window.open(\r\n `${config.apiUrl}/Consolidated/downloadexcel?fileName=${\r\n res.data\r\n }&t=${RequestHandler.getToken()}`\r\n );\r\n hide();\r\n } else {\r\n setLoading(false);\r\n setLoadingBank(false);\r\n }\r\n });\r\n };\r\n\r\n const changeQuery = (query) => {\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenants`,\r\n {\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n var total = 0;\r\n res.data.map((item) => {\r\n var model = {};\r\n total += item.balance;\r\n model.tenantName = item.tenantName;\r\n model.balance = item.balance;\r\n model.bankName = item.bankName;\r\n model.tenantList = item.tenantList;\r\n model.tenantId = item.tenantId;\r\n bankAndTotalList.push(model);\r\n });\r\n var totalString = total.toFixed(2);\r\n var totalDecimal = parseFloat(totalString);\r\n setAllTotal(totalDecimal);\r\n setTotalTenantAccountList(bankAndTotalList);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetCurrencyListForConsolidate`,\r\n {\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n setCurrencyList(response);\r\n setActiveKey(\"9999\");\r\n\r\n RequestHandler.post(\r\n `${config.apiUrl}/Consolidated/GetListForConsolidatedWithTenatns`,\r\n {\r\n currencyId: response[0]?.currencyId,\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n var currency = \"\";\r\n var currencyId = 0;\r\n var currencyLogo = \"\";\r\n res.map((item) => {\r\n totalListConsolide += item.balance;\r\n currency = item.currency;\r\n currencyId = item.currencyId;\r\n currencyLogo = item.currencyLogo;\r\n bankListConsolide.push(item);\r\n });\r\n\r\n var model = {};\r\n model.bankLogo = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolide.toFixed(2));\r\n model.currency = currency;\r\n model.currencyId = currencyId;\r\n model.currencyLogo = currencyLogo;\r\n bankListConsolide.push(model);\r\n setBankListForTRY(bankListConsolide);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetConsolidateChartWithTenants?$apply=groupby((name),aggregate(value with sum as value))`,\r\n {\r\n currencyId: response[0]?.currencyId.toString(),\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n const chartValuesTRY = res.data;\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.Currency = res.data.code;\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesState(chartTakeValues);\r\n } catch (error) {}\r\n });\r\n });\r\n setTenantIdList(query);\r\n setLoading(false);\r\n };\r\n\r\n const showModal = (value) => {\r\n setCurrencyBankList([]);\r\n setTotalWithCurrencyBank([]);\r\n setAllBankTotal(0);\r\n setTotalBankList([]);\r\n setBankConsolideTenant([]);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetCurrencyListForConsolidate`,\r\n {\r\n tenantId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n setCurrencyBankList(res);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetLastTotalsConsalide`,\r\n {\r\n tenantId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n setTotalWithCurrencyBank(res);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n var total = 0;\r\n\r\n res.map((item) => {\r\n var model = {};\r\n total += item.balance;\r\n model.bankId = item.bankId;\r\n model.bankLogo = item.bankLogo;\r\n model.balance = item.balance;\r\n model.bankName = item.bankName;\r\n model.tenantList = item.tenantList;\r\n bankAndTotalList.push(model);\r\n });\r\n var totalString = total.toFixed(2);\r\n var totalDecimal = parseFloat(totalString);\r\n setAllBankTotal(totalDecimal);\r\n setTotalBankList(bankAndTotalList);\r\n });\r\n\r\n const tenantList = [];\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenantId`,\r\n {\r\n tenantId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n res.map((item) => {\r\n var model = {};\r\n model.bankLogo = item.bankLogo;\r\n model.balance = item.balance;\r\n tenantList.push(model);\r\n });\r\n setBankConsolideTenant(tenantList);\r\n });\r\n\r\n setTimeout(() => {\r\n setLoadingBank(false);\r\n }, 500);\r\n\r\n setIsModalVisible(true);\r\n };\r\n\r\n const handleOk = () => {\r\n setIsModalVisible(false);\r\n setCurrencyBankList([]);\r\n setTotalWithCurrencyBank([]);\r\n setAllBankTotal(0);\r\n setTotalBankList([]);\r\n setBankConsolideTenant([]);\r\n setLoadingBank(true);\r\n };\r\n\r\n const handleCancel = () => {\r\n setIsModalVisible(false);\r\n setCurrencyBankList([]);\r\n setTotalWithCurrencyBank([]);\r\n setAllBankTotal(0);\r\n setTotalBankList([]);\r\n setBankConsolideTenant([]);\r\n setLoadingBank(true);\r\n };\r\n\r\n const columnsExchangeRate = [\r\n {\r\n dataIndex: \"currencyName\",\r\n },\r\n {\r\n dataIndex: \"currencyCode\",\r\n },\r\n {\r\n title: \"Alış\",\r\n align: \"center\",\r\n dataIndex: \"buyingLiveValue\",\r\n render: (record, text) => {\r\n return `${record === null ? \"-\" : record}`;\r\n },\r\n },\r\n {\r\n title: \"Satış\",\r\n align: \"center\",\r\n dataIndex: \"value\",\r\n render: (record, text) => {\r\n return `${record === null ? \"-\" : record}`;\r\n },\r\n },\r\n ];\r\n\r\n const columns = [\r\n {\r\n title: \"Şirket\",\r\n dataIndex: \"tenantName\",\r\n width: \"20%\",\r\n render: (text, row, index) => {\r\n return
    {row.tenantName}
    ;\r\n },\r\n },\r\n {\r\n title: \"Bakiye\",\r\n dataIndex: \"balance\",\r\n align: \"right\",\r\n render: (text, row, index) => {\r\n if (text.toString().includes(\".\") === true) {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}\r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n const columnsTenant = [\r\n {\r\n title: \"Banka\",\r\n dataIndex: \"bankLogo\",\r\n render: (text, row, index) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n },\r\n },\r\n {\r\n title: \"Bakiye\",\r\n dataIndex: \"balance\",\r\n align: \"right\",\r\n render: (text, row, index) => {\r\n if (text.toString().includes(\".\") === true) {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}{\" \"}\r\n ₺{\" \"}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}\r\n {isDigitConsolidate ? \",00 ₺\" : \" ₺\"}{\" \"}\r\n
    \r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n const titles = [];\r\n titles.push(\"Şirket\");\r\n currencyList.map((item) => {\r\n titles.push(item.currency);\r\n });\r\n const titlesBank = [];\r\n titlesBank.push(\"Banka\");\r\n currencyBankList.map((item) => {\r\n titlesBank.push(item.currency);\r\n });\r\n const columnsExpanded = [\r\n {\r\n title: \"Banka\",\r\n dataIndex: \"bankName\",\r\n align: \"center\",\r\n render: (text, row, index) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n },\r\n },\r\n {\r\n title: \"Tutar\",\r\n dataIndex: \"balance\",\r\n align: \"center\",\r\n render: (text, row, index) => {\r\n if (text.toString().includes(\".\") === true) {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}\r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n const ContactSideBar = (value, e) => {\r\n var totalCurrencyValue = 0;\r\n var currency = \"\";\r\n bankListForTRY.map((item) => {\r\n if (item.bankLogo === \"TOPLAM\") {\r\n totalCurrencyValue = item.balance;\r\n currency = item.currencyLogo;\r\n }\r\n });\r\n return (\r\n \r\n {isTabletOrMobile === false && (\r\n <>\r\n \r\n \r\n ),\r\n }}\r\n style={{ overflowX: \"auto\", maxHeight: \"100%\" }}\r\n columns={columns}\r\n size=\"small\"\r\n dataSource={bankListForTRY.filter(\r\n (x) => x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"tenantId\"\r\n expandable={{\r\n expandedRowRender: (record) => {\r\n if (record.bankLogo !== \"TOPLAM\") {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columnsExpanded}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={record.tenantList}\r\n rowKey=\"tenantId\"\r\n />\r\n );\r\n } else {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columns}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={bankListForTRY.filter(\r\n (x) =>\r\n x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"tenantId\"\r\n />\r\n );\r\n }\r\n },\r\n }}\r\n bordered\r\n pagination={{\r\n defaultPageSize: 40,\r\n }}\r\n title={() => \"BANKA LİSTESİ\"}\r\n footer={() => (\r\n
    \r\n
    \r\n Toplam :{\" \"}\r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n
    \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n )}\r\n {isTabletOrMobile && (\r\n <>\r\n
    \r\n \r\n ),\r\n }}\r\n style={{ overflowX: \"auto\", maxHeight: \"100%\" }}\r\n columns={columns}\r\n size=\"small\"\r\n dataSource={bankListForTRY.filter(\r\n (x) => x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"bankId\"\r\n expandable={{\r\n expandedRowRender: (record) => {\r\n if (record.bankLogo !== \"TOPLAM\") {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columnsExpanded}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={record.tenantList}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n } else {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columns}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={bankListForTRY.filter(\r\n (x) =>\r\n x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n }\r\n },\r\n }}\r\n bordered\r\n pagination={{\r\n defaultPageSize: 40,\r\n }}\r\n title={() => \"BANKA LİSTESİ\"}\r\n footer={() => (\r\n
    \r\n
    \r\n Toplam :{\" \"}\r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n
    \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n function onChange(value) {\r\n setFirstName(value);\r\n RequestHandler.get(`/Group/GetTenantGroup/${value}`, undefined, {\r\n rawResponse: true,\r\n }).then((res) => {\r\n var query = \"&$filter=\";\r\n var tenantIdList = [];\r\n for (let index = 0; index < res.data.length; index++) {\r\n tenantIdList.push(res.data[index].tenantId);\r\n if (index == res.data.length - 1) {\r\n query += ` TenantId eq ${res.data[index].tenantId} `;\r\n } else {\r\n query += ` TenantId eq ${res.data[index].tenantId} or `;\r\n }\r\n }\r\n changeQuery(tenantIdList);\r\n var chartTakeValuesTotal = [];\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenants`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n var chartValuesTRY = [];\r\n res.data.map((item) => {\r\n var model = {};\r\n model.name = item.tenantName;\r\n model.value = item.balance;\r\n chartValuesTRY.push(model);\r\n });\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValuesTotal.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValuesTotal.push(model);\r\n }\r\n setChartTakeValuesStateTotal(chartTakeValuesTotal);\r\n } catch (error) {}\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetLastTotalsConsalide`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n setTotalWithCurrency(response);\r\n });\r\n });\r\n }\r\n\r\n const handleChange = (activeKeys) => {\r\n setActiveKey(activeKeys);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenants`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n res.data.map((item) => {\r\n totalListConsolideTotal += item.balance;\r\n bankListConsolideTotal.push(item);\r\n });\r\n var model = {};\r\n model.tenantName = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolideTotal.toFixed(2));\r\n bankListConsolideTotal.push(model);\r\n setBankListForTotal(bankListConsolideTotal);\r\n });\r\n\r\n const chartTakeValuesTotal = [];\r\n if (activeKeys === \"9999\") {\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenants`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n const chartValuesTRY = [];\r\n res.data.map((item) => {\r\n var model = {};\r\n model.name = item.tenantName;\r\n model.value = item.balance;\r\n chartValuesTRY.push(model);\r\n });\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValuesTotal.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValuesTotal.push(model);\r\n }\r\n setChartTakeValuesStateTotal(chartTakeValuesTotal);\r\n } catch (error) {}\r\n });\r\n } else {\r\n RequestHandler.post(\r\n `/Consolidated/GetConsolidateChartWithTenants?$apply=groupby((name),aggregate(value with sum as value))`,\r\n {\r\n currencyId: activeKeys,\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n const chartValuesTRY = res.data;\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.Currency = res.data.code;\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesState(chartTakeValues);\r\n } catch (error) {}\r\n });\r\n }\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForConsolidatedWithTenatns`,\r\n {\r\n currencyId: activeKeys,\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n var currency = \"\";\r\n var currencyId = 0;\r\n var currencyLogo = \"\";\r\n res.data.map((item) => {\r\n totalListConsolide += item.balance;\r\n currency = item.currency;\r\n currencyId = item.currencyId;\r\n currencyLogo = item.currencyLogo;\r\n bankListConsolide.push(item);\r\n });\r\n var model = {};\r\n model.bankLogo = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolide.toFixed(2));\r\n model.currency = currency;\r\n model.currencyId = currencyId;\r\n model.currencyLogo = currencyLogo;\r\n bankListConsolide.push(model);\r\n setBankListForTRY(bankListConsolide);\r\n });\r\n };\r\n\r\n const { TabPane } = Tabs;\r\n var totalValue = 0;\r\n var currency = \"\";\r\n bankListForTotal.map((item) => {\r\n if (item.bankLogo === \"TOPLAM\") {\r\n totalValue = item.balance;\r\n currency = \"₺\";\r\n }\r\n });\r\n\r\n function onChangeBalanceDropDown(value) {\r\n if (value === \"Kullanılabilir Bakiye\") {\r\n setUseAvailableBalance(true);\r\n setUseAvailableCreditBalance(false);\r\n } else if (value === \"Kredili Kullanılabilir Bakiye\") {\r\n setUseAvailableBalance(false);\r\n setUseAvailableCreditBalance(true);\r\n } else {\r\n setUseAvailableBalance(false);\r\n setUseAvailableCreditBalance(false);\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n {isDesktopOrLaptop ? (\r\n 5 ? 1000 : titlesBank.length < 4 ? 500 : 700\r\n }\r\n onOk={handleOk}\r\n onCancel={handleCancel}\r\n footer={null}\r\n >\r\n \r\n \r\n
    \r\n {titlesBank.map((item) => {\r\n return ;\r\n })}\r\n \r\n \r\n {totalBankList.map((item) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n
    \r\n \r\n );\r\n })}\r\n \r\n \r\n {totalWithCurrencyBank.map((item) => {\r\n return (\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    {item}\r\n TOPLAM{\" \"}\r\n
    \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n )}\r\n
    \r\n TOPLAM\r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n )}\r\n
    \r\n {allBankTotal.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n )}\r\n
    \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n {titlesBank.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalBankList.map((item) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrencyBank.map((item) => {\r\n return (\r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n {allBankTotal.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n\r\n {isTabletOrMobileDevice ? (\r\n \r\n \r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {groups.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {activeKey === \"9999\" ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n ) : (\r\n \r\n \r\n

    \r\n KONSOLİDE\r\n

    \r\n \r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {groups.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {activeKey === \"9999\" ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n )}\r\n \r\n \r\n {currencyList.length !== 0 ? (\r\n \r\n \r\n {isTabletOrMobile === false && (\r\n <>\r\n \r\n \r\n \r\n {titles.map((item) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n BANKALAR\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n {item.currencyLogo}\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n {item.currencyLogo}\r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n showModal(item.tenantId)}\r\n />\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n {item.balance.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n ₺\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"} ₺\r\n \r\n )}\r\n
    \r\n TOPLAM\r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n {item.currencyLogo}\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n {item.currencyLogo}\r\n \r\n )}\r\n \r\n {allTotal.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n ₺\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"} ₺\r\n \r\n )}\r\n
    \r\n \r\n \r\n {titles.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantName}\r\n \r\n {item.tenantList.map((item) => {\r\n return {item.balance} ;\r\n })}\r\n {item.balance} \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrency.map((item) => {\r\n return {item.balance};\r\n })}\r\n {allTotal}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n )}\r\n {isTabletOrMobile && (\r\n <>\r\n \r\n \r\n \r\n {titles.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n BANKALAR\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n showModal(item.tenantId)}\r\n />\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n {titles.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.bankName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {currencyList.length === 0 ? (\r\n } key=\"1\">\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n \r\n \r\n ) : (\r\n currencyList.map((item, index) => {\r\n return (\r\n {item.currency}}\r\n key={item.currencyId}\r\n >\r\n {ContactSideBar(item.currency)}\r\n \r\n );\r\n })\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\nexport default ConsolidatedTenant;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n Table,\r\n Empty,\r\n Card,\r\n notification,\r\n Col,\r\n message,\r\n Row,\r\n Select,\r\n Tabs,\r\n Modal,\r\n Spin,\r\n Collapse,\r\n Switch,\r\n Tooltip as AntdTooltip,\r\n} from \"antd\";\r\nimport CurrencyFormat from \"react-currency-format\";\r\nimport { Cell, Pie, PieChart, Tooltip } from \"recharts\";\r\nimport {\r\n FileExcelOutlined,\r\n BarsOutlined,\r\n CaretRightFilled,\r\n MenuUnfoldOutlined,\r\n QuestionCircleOutlined,\r\n} from \"@ant-design/icons\";\r\nimport config from \"../../util/ApiforContext\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport ConsolidatedTenant from \"./ConsolidatedTenant\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Screen from \"util/Extensions/Screens\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\nconst { Panel } = Collapse;\r\n\r\nconst COLORS = [\r\n \"#003668\",\r\n \"#0061ba\",\r\n \"#1f94ff\",\r\n \"#8dbbe5\",\r\n \"#8de5cd\",\r\n \"#00b684\",\r\n \"#006448\",\r\n];\r\n\r\nconst renderCustomizedLabelTRY = ({ x, y, stroke, value }) => {\r\n return \"% \" + value.toFixed(2);\r\n};\r\n\r\nconst CustomToolTip = (props) => {\r\n try {\r\n const { active, payload, label } = props;\r\n if (!active || !payload) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n

    \r\n {label}\r\n

    \r\n {payload.map((item, i) => (\r\n

    \r\n \r\n {item.name}\r\n \r\n

    \r\n ))}\r\n
    \r\n );\r\n } catch (error) {}\r\n};\r\n\r\nconst ConsolidatedBankList = () => {\r\n const { Option } = Select;\r\n\r\n const isDesktopOrLaptop = useMediaQuery({\r\n query: \"(min-device-width: 1224px)\",\r\n });\r\n const isChartWidth = useMediaQuery({ query: \"(min-width: 500px)\" });\r\n const isTabletOrMobile = useMediaQuery({ query: \"(max-width: 1000px)\" });\r\n const history = useHistory();\r\n const [bankListForTRY, setBankListForTRY] = useState([]);\r\n const [tenantIdList, setTenantIdList] = useState([]);\r\n\r\n const [bankListForTotal, setBankListForTotal] = useState([]);\r\n const [exchangeRate, setExchangeRate] = useState([]);\r\n const [groups, setGroups] = useState([]);\r\n const [currencyList, setCurrencyList] = useState([]);\r\n const [currencyTenantList, setCurrencyTenantList] = useState([]);\r\n const [chartTakeValuesStateTotal, setChartTakeValuesStateTotal] = useState(\r\n []\r\n );\r\n const [chartTakeValuesState, setChartTakeValuesState] = useState([]);\r\n const [totalTenantAccountList, setTotalTenantAccountList] = useState([]);\r\n const [totalTenantAccountTenantList, setTotalTenantAccountTenantList] =\r\n useState([]);\r\n const [isLiveValue, setIsLiveValue] = useState(false);\r\n const [dailyDate, setDailyDate] = useState(\"\");\r\n const [liveDate, setLiveDate] = useState(\"\");\r\n const [totalWithCurrency, setTotalWithCurrency] = useState([]);\r\n const [totalWithCurrencyTenant, setTotalWithCurrencyTenant] = useState([]);\r\n const [firstGroups, setFirstGroups] = useState(\"\");\r\n const [firstName, setFirstName] = useState(\"\");\r\n const [activeKey, setActiveKey] = useState(\"1\");\r\n const [allTotal, setAllTotal] = useState(0);\r\n const [allTotalTenant, setAllTotalTenant] = useState(0);\r\n const [bankId, setBankId] = useState(0);\r\n const [bankConsolideTenant, setBankConsolideTenant] = useState([]);\r\n const [switchTenant, setSwitchTenant] = useState(false);\r\n const [isModalVisibleBank, setIsModalVisibleBank] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [loadingTenant, setLoadingTenant] = useState(true);\r\n const [isDigitConsolidate, setIsDigitConsolidate] = useState();\r\n const [useAvailableBalance, setUseAvailableBalance] = useState(false);\r\n const [useAvailableCreditBalance, setUseAvailableCreditBalance] =\r\n useState(false);\r\n const chartTakeValues = [];\r\n var bankListConsolide = [];\r\n var bankListConsolideTotal = [];\r\n var totalListConsolide = 0;\r\n var totalListConsolideTotal = 0;\r\n const openNotificationWithIconExcel = (type) => {\r\n notification[type]({\r\n message: \"BAŞARILI\",\r\n description: \"Excel indirme işlemi başarı ile gerçekleşti.\",\r\n duration: 2,\r\n });\r\n };\r\n\r\n var bankAndTotalList = [];\r\n\r\n useEffect(() => {\r\n RequestHandler.get(`/TenantUserParameter/GetDigitParameter`).then(\r\n (response) => {\r\n if (response.success) {\r\n setIsDigitConsolidate(response.data.isDigitConsolidate);\r\n }\r\n }\r\n );\r\n RequestHandler.get(`/Group/GetConsolidateDropdown`).then((response) => {\r\n onChange(response[0]?.id);\r\n setFirstName(response[0]?.name);\r\n setFirstGroups(response[0]?.id);\r\n setGroups(response);\r\n });\r\n\r\n RequestHandler.get(`/TenantCurrency/GetExchangeRateList`).then(\r\n (response) => {\r\n setLiveDate(response[0].liveDate);\r\n setDailyDate(response[0].dailyDate);\r\n setExchangeRate(response);\r\n\r\n RequestHandler.get(`/TenantCurrency/GetIsDailyValue`).then((res) => {\r\n setIsLiveValue(res.isLiveValue);\r\n });\r\n }\r\n );\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n const chartValuesTRY = [];\r\n response.map((item) => {\r\n chartValuesTRY.push({\r\n name: item.bankName,\r\n value: item.balance,\r\n });\r\n });\r\n\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesStateTotal(chartTakeValues);\r\n } catch (error) {\r\n if (error.response.status === 403 || error.response.status === 401) {\r\n history.push(\"/not-authorized-access\");\r\n }\r\n }\r\n });\r\n }, [\r\n setLoading,\r\n setGroups,\r\n loading,\r\n setCurrencyList,\r\n setActiveKey,\r\n setFirstName,\r\n useAvailableBalance,\r\n useAvailableCreditBalance,\r\n ]);\r\n\r\n const exportExcel = () => {\r\n const hide = message.loading(\"Excel indiriliyor...\", 0);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/ExportExcel`,\r\n {\r\n tenantIdList: tenantIdList,\r\n screenOption: Screen.screenGercek,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n openNotificationWithIconExcel(\"success\");\r\n window.open(\r\n `${config.apiUrl}/Consolidated/DownloadExcel?fileName=${\r\n res.data\r\n }&t=${RequestHandler.getToken()}`\r\n );\r\n hide();\r\n } else {\r\n setLoading(false);\r\n setLoadingTenant(false);\r\n }\r\n });\r\n };\r\n\r\n const showModalBank = (value) => {\r\n setCurrencyTenantList([]);\r\n setBankConsolideTenant([]);\r\n setAllTotalTenant(0);\r\n setTotalTenantAccountTenantList([]);\r\n setTotalWithCurrencyTenant([]);\r\n\r\n setBankId(value);\r\n RequestHandler.post(\r\n `/Consolidated/GetCurrencyListForConsolidate`,\r\n {\r\n tenantIdList: tenantIdList,\r\n bankId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n setCurrencyTenantList(response);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidatedWithTenants`,\r\n {\r\n tenantIdList: tenantIdList,\r\n bankId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n let total = 0;\r\n response.map((item) => {\r\n let model = {};\r\n total += item.balance;\r\n model.tenantName = item.tenantName;\r\n model.balance = item.balance;\r\n model.bankName = item.bankName;\r\n model.tenantList = item.tenantList;\r\n model.tenantId = item.tenantId;\r\n bankAndTotalList.push(model);\r\n });\r\n let totalString = total.toFixed(2);\r\n let totalDecimal = parseFloat(totalString);\r\n setAllTotalTenant(totalDecimal);\r\n setTotalTenantAccountTenantList(bankAndTotalList);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetLastTotalsConsalide`,\r\n {\r\n tenantIdList: tenantIdList,\r\n bankId: value,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n setTotalWithCurrencyTenant(res);\r\n });\r\n });\r\n\r\n setTimeout(() => {\r\n setLoadingTenant(false);\r\n }, 500);\r\n\r\n setIsModalVisibleBank(!isModalVisibleBank);\r\n };\r\n\r\n const handleOkBank = () => {\r\n setIsModalVisibleBank(!isModalVisibleBank);\r\n setCurrencyTenantList([]);\r\n setBankConsolideTenant([]);\r\n setAllTotalTenant(0);\r\n setTotalTenantAccountTenantList([]);\r\n setTotalWithCurrencyTenant([]);\r\n setLoadingTenant(true);\r\n };\r\n\r\n const handleCancelBank = () => {\r\n setIsModalVisibleBank(!isModalVisibleBank);\r\n setCurrencyTenantList([]);\r\n setBankConsolideTenant([]);\r\n setAllTotalTenant(0);\r\n setTotalTenantAccountTenantList([]);\r\n setTotalWithCurrencyTenant([]);\r\n setLoadingTenant(true);\r\n };\r\n\r\n const changeQuery = (query) => {\r\n if (Screen.screenGercek === 2) {\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n let total = 0;\r\n response\r\n .sort((a, b) => (a.bankNameEnglish > b.bankNameEnglish ? 1 : -1))\r\n .map((item) => {\r\n if (item.bankId !== 999) {\r\n let model = {};\r\n total += item.balance;\r\n model.bankId = item.bankId;\r\n model.bankLogo = item.bankLogo;\r\n model.balance = item.balance;\r\n model.bankName = item.bankName;\r\n model.tenantList = item.tenantList;\r\n bankAndTotalList.push(model);\r\n }\r\n });\r\n let totalString = total.toFixed(2);\r\n let totalDecimal = parseFloat(totalString);\r\n setAllTotal(totalDecimal);\r\n setTotalTenantAccountList(bankAndTotalList);\r\n setLoading(false);\r\n });\r\n } else {\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n let total = 0;\r\n response.map((item) => {\r\n let model = {};\r\n total += item.balance;\r\n model.bankId = item.bankId;\r\n model.bankLogo = item.bankLogo;\r\n model.balance = item.balance;\r\n model.bankName = item.bankName;\r\n model.tenantList = item.tenantList;\r\n bankAndTotalList.push(model);\r\n });\r\n let totalString = total.toFixed(2);\r\n let totalDecimal = parseFloat(totalString);\r\n setAllTotal(totalDecimal);\r\n setTotalTenantAccountList(bankAndTotalList);\r\n setLoading(false);\r\n });\r\n }\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetCurrencyListForConsolidate`,\r\n {\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n setCurrencyList(response);\r\n setActiveKey(\"9999\");\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForConsolidated`,\r\n {\r\n currencyId: response[0]?.currencyId,\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n let currency = \"\";\r\n let currencyId = 0;\r\n let currencyLogo = \"\";\r\n res.map((item) => {\r\n totalListConsolide += item.balance;\r\n currency = item.currency;\r\n currencyId = item.currencyId;\r\n currencyLogo = item.currencyLogo;\r\n bankListConsolide.push(item);\r\n });\r\n let model = {};\r\n model.bankLogo = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolide.toFixed(2));\r\n model.currency = currency;\r\n model.currencyId = currencyId;\r\n model.currencyLogo = currencyLogo;\r\n bankListConsolide.push(model);\r\n setBankListForTRY(bankListConsolide);\r\n });\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetConsolidateChart?$apply=groupby((name),aggregate(value with sum as value))`,\r\n {\r\n currencyId: response[0]?.currencyId.toString(),\r\n tenantIdList: query,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n const chartValuesTRY = res.data;\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.Currency = res.data.code;\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesState(chartTakeValues);\r\n } catch (error) {\r\n if (error.response.status === 403 || error.response.status === 401) {\r\n history.push(\"/not-authorized-access\");\r\n }\r\n }\r\n });\r\n });\r\n setTenantIdList(query);\r\n };\r\n\r\n const columnsExchangeRate = [\r\n {\r\n dataIndex: \"currencyName\",\r\n },\r\n {\r\n dataIndex: \"currencyCode\",\r\n },\r\n {\r\n title: \"Alış\",\r\n align: \"center\",\r\n dataIndex: \"buyingLiveValue\",\r\n render: (record, text) => {\r\n return `${record === null ? \"-\" : record}`;\r\n },\r\n },\r\n {\r\n title: \"Satış\",\r\n align: \"center\",\r\n dataIndex: \"value\",\r\n render: (record, text) => {\r\n return `${record === null ? \"-\" : record}`;\r\n },\r\n },\r\n ];\r\n\r\n const columns = [\r\n {\r\n title: \"Banka\",\r\n dataIndex: \"bankLogo\",\r\n render: (text, row, index) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n },\r\n },\r\n {\r\n title: \"Bakiye\",\r\n dataIndex: \"balance\",\r\n align: \"right\",\r\n render: (text, row, index) => {\r\n if (text.toString().includes(\".\") === true) {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}\r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n const titles = [];\r\n titles.push(\"Banka\");\r\n currencyList.map((item) => {\r\n titles.push(item.currency);\r\n });\r\n const titlesTenant = [];\r\n titlesTenant.push(\"Şirket\");\r\n currencyTenantList.map((item) => {\r\n titlesTenant.push(item.currency);\r\n });\r\n\r\n const columnsExpanded = [\r\n {\r\n title: \"Şirket\",\r\n dataIndex: \"tenantName\",\r\n align: \"center\",\r\n width: \"20%\",\r\n },\r\n {\r\n title: \"Tutar\",\r\n dataIndex: \"balance\",\r\n align: \"center\",\r\n render: (text, row, index) => {\r\n if (text.toString().includes(\".\") === true) {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {text === null ? (\r\n text\r\n ) : (\r\n \r\n )}\r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n
    \r\n );\r\n }\r\n },\r\n },\r\n ];\r\n\r\n // const columnsTenant = [\r\n // {\r\n // title: \"Şirket\",\r\n // dataIndex: \"tenantName\",\r\n // align: \"center\",\r\n // width: \"20%\",\r\n // },\r\n // {\r\n // title: \"Tutar\",\r\n // dataIndex: \"balance\",\r\n // align: \"right\",\r\n // render: (text, row, index) => {\r\n // if (text.toString().includes(\".\") === true) {\r\n // return (\r\n //
    \r\n // {text === null ? (\r\n // text\r\n // ) : (\r\n // \r\n // )}{\" \"}\r\n // ₺{\" \"}\r\n //
    \r\n // );\r\n // } else {\r\n // return (\r\n //
    \r\n // {text === null ? (\r\n // text\r\n // ) : (\r\n // \r\n // )}\r\n // {isDigitConsolidate ? \",00 ₺\" : \" ₺\"}{\" \"}\r\n //
    \r\n // );\r\n // }\r\n // },\r\n // },\r\n // ];\r\n\r\n const ContactSideBar = (value, e) => {\r\n var totalCurrencyValue = 0;\r\n var currency = \"\";\r\n bankListForTRY.map((item) => {\r\n if (item.bankLogo === \"TOPLAM\") {\r\n totalCurrencyValue = item.balance;\r\n currency = item.currencyLogo;\r\n }\r\n });\r\n return (\r\n \r\n {isTabletOrMobile === false && (\r\n <>\r\n \r\n \r\n ),\r\n }}\r\n style={{ overflowX: \"auto\", maxHeight: \"100%\" }}\r\n columns={columns}\r\n size=\"small\"\r\n dataSource={\r\n Screen.screenGercek === 2\r\n ? bankListForTRY.filter(\r\n (x) =>\r\n x.currency == value &&\r\n x.bankId !== 999 &&\r\n x.bankLogo !== \"TOPLAM\"\r\n )\r\n : bankListForTRY.filter(\r\n (x) => x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )\r\n }\r\n rowKey=\"bankId\"\r\n expandable={{\r\n expandedRowRender: (record) => {\r\n if (record.bankLogo !== \"TOPLAM\") {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columnsExpanded}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={record.tenantList}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n } else {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columns}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={bankListForTRY.filter(\r\n (x) =>\r\n x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n }\r\n },\r\n }}\r\n bordered\r\n pagination={{\r\n defaultPageSize: 40,\r\n }}\r\n title={() => \"BANKA LİSTESİ\"}\r\n footer={() => (\r\n
    \r\n
    \r\n Toplam :{\" \"}\r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n )}\r\n {isTabletOrMobile && (\r\n <>\r\n \r\n \r\n ),\r\n }}\r\n style={{ overflowX: \"auto\", maxHeight: \"100%\" }}\r\n columns={columns}\r\n size=\"small\"\r\n pagination={{\r\n defaultPageSize: 40,\r\n }}\r\n dataSource={bankListForTRY.filter(\r\n (x) => x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"bankId\"\r\n expandable={{\r\n expandedRowRender: (record) => {\r\n if (record.bankLogo !== \"TOPLAM\") {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columnsExpanded}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={record.tenantList}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n } else {\r\n return (\r\n \r\n ),\r\n }}\r\n columns={columns}\r\n size=\"small\"\r\n pagination={false}\r\n dataSource={bankListForTRY.filter(\r\n (x) =>\r\n x.currency == value && x.bankLogo !== \"TOPLAM\"\r\n )}\r\n rowKey=\"bankId\"\r\n />\r\n );\r\n }\r\n },\r\n }}\r\n bordered\r\n title={() => \"BANKA LİSTESİ\"}\r\n footer={() => (\r\n
    \r\n
    \r\n Toplam :{\" \"}\r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesState.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n function onChange(value) {\r\n setFirstName(value);\r\n\r\n RequestHandler.get(`/Group/GetTenantGroup/${value}`).then((response) => {\r\n var query = \"&$filter=\";\r\n var tenantIdList = [];\r\n for (let index = 0; index < response.length; index++) {\r\n tenantIdList.push(response[index].tenantId);\r\n if (index == response.length - 1) {\r\n query += ` TenantId eq ${response[index].tenantId} `;\r\n } else {\r\n query += ` TenantId eq ${response[index].tenantId} or `;\r\n }\r\n }\r\n\r\n var chartTakeValues = [];\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n var chartValuesTRY = [];\r\n res.map((item) => {\r\n var model = {};\r\n model.name = item.bankName;\r\n model.value = item.balance;\r\n chartValuesTRY.push(model);\r\n });\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesStateTotal(chartTakeValues);\r\n } catch (error) {}\r\n });\r\n\r\n changeQuery(tenantIdList);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetLastTotalsConsalide`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((res) => {\r\n setTotalWithCurrency(res);\r\n });\r\n });\r\n }\r\n\r\n function onChangeTenantSwift(checked) {\r\n setSwitchTenant(checked);\r\n }\r\n\r\n const handleChange = (activeKeys) => {\r\n setActiveKey(activeKeys);\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n response.map((item) => {\r\n totalListConsolideTotal += item.balance;\r\n bankListConsolideTotal.push(item);\r\n });\r\n var model = {};\r\n model.bankLogo = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolideTotal.toFixed(2));\r\n bankListConsolideTotal.push(model);\r\n setBankListForTotal(bankListConsolideTotal);\r\n });\r\n\r\n if (activeKeys === \"9999\") {\r\n RequestHandler.post(\r\n `/Consolidated/GetListForTotalConsolidated`,\r\n {\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n var chartValuesTRY = [];\r\n response.map((item) => {\r\n var model = {};\r\n model.name = item.bankName;\r\n model.value = item.balance;\r\n chartValuesTRY.push(model);\r\n });\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesStateTotal(chartTakeValues);\r\n } catch (error) {}\r\n });\r\n } else {\r\n RequestHandler.post(\r\n `/Consolidated/GetConsolidateChart?$apply=groupby((name),aggregate(value with sum as value))`,\r\n {\r\n currencyId: activeKeys,\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n const chartValuesTRY = res.data;\r\n var total = 0;\r\n var valueTotal = 0;\r\n var currency = \"\";\r\n try {\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n if (value.value < 0) {\r\n value.value = 0;\r\n }\r\n total += value.value;\r\n });\r\n }\r\n\r\n {\r\n chartValuesTRY.map((value, index) => {\r\n var percents = ((value.value / total) * 100).toFixed(2);\r\n var percentsFloat = parseFloat(percents);\r\n\r\n if (percentsFloat < 0) {\r\n percentsFloat = 0;\r\n }\r\n value.value = percentsFloat;\r\n\r\n if (value.value < 10) {\r\n valueTotal += value.value;\r\n } else {\r\n currency = value.Currency;\r\n chartTakeValues.push(value);\r\n }\r\n });\r\n }\r\n if (valueTotal != 0) {\r\n var model = {};\r\n model.Currency = res.data.code;\r\n model.name = \"DİĞER\";\r\n model.value = valueTotal;\r\n chartTakeValues.push(model);\r\n }\r\n setChartTakeValuesState(chartTakeValues);\r\n } catch (error) {}\r\n });\r\n }\r\n\r\n RequestHandler.post(\r\n `/Consolidated/GetListForConsolidated`,\r\n {\r\n currencyId: activeKeys,\r\n tenantIdList: tenantIdList,\r\n useAvailableBalance: useAvailableBalance,\r\n useAvailableCreditBalance: useAvailableCreditBalance,\r\n },\r\n false\r\n ).then((response) => {\r\n let currency = \"\";\r\n let currencyId = 0;\r\n let currencyLogo = \"\";\r\n response.map((item) => {\r\n totalListConsolide += item.balance;\r\n currency = item.currency;\r\n currencyId = item.currencyId;\r\n currencyLogo = item.currencyLogo;\r\n bankListConsolide.push(item);\r\n });\r\n var model = {};\r\n model.bankLogo = \"TOPLAM\";\r\n model.balance = parseFloat(totalListConsolide.toFixed(2));\r\n model.currency = currency;\r\n model.currencyId = currencyId;\r\n model.currencyLogo = currencyLogo;\r\n bankListConsolide.push(model);\r\n setBankListForTRY(bankListConsolide);\r\n });\r\n };\r\n\r\n const { TabPane } = Tabs;\r\n var totalValue = 0;\r\n var currency = \"\";\r\n bankListForTotal.map((item) => {\r\n if (item.bankLogo === \"TOPLAM\") {\r\n totalValue = item.balance;\r\n currency = \"₺\";\r\n }\r\n });\r\n\r\n function onChangeBalanceDropDown(value) {\r\n if (value === \"Kullanılabilir Bakiye\") {\r\n setUseAvailableBalance(true);\r\n setUseAvailableCreditBalance(false);\r\n } else if (value === \"Kredili Kullanılabilir Bakiye\") {\r\n setUseAvailableBalance(false);\r\n setUseAvailableCreditBalance(true);\r\n } else {\r\n setUseAvailableBalance(false);\r\n setUseAvailableCreditBalance(false);\r\n }\r\n }\r\n return (\r\n
    \r\n {isDesktopOrLaptop ? (\r\n 5\r\n ? 1000\r\n : titlesTenant.length == 5\r\n ? 700\r\n : 500\r\n }\r\n onOk={handleOkBank}\r\n onCancel={handleCancelBank}\r\n footer={null}\r\n >\r\n \r\n \r\n \r\n {titlesTenant.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountTenantList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrencyTenant.map((item) => {\r\n return (\r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n {allTotalTenant.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n {titlesTenant.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountTenantList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrencyTenant.map((item) => {\r\n return (\r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n {allTotalTenant.toString().includes(\".\") ? (\r\n
    \r\n {\" \"}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n {isDigitConsolidate ? \",00\" : \"\"}\r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n {isDesktopOrLaptop ? (\r\n \r\n \r\n \r\n Banka Görünüm{\" \"}\r\n {\" \"}\r\n Şirket Görünüm\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n

    \r\n KONSOLİDE\r\n

    \r\n \r\n \r\n Banka Görünüm{\" \"}\r\n {\" \"}\r\n Şirket Görünüm\r\n \r\n
    \r\n )}\r\n {switchTenant ? (\r\n \r\n ) : (\r\n
    \r\n {isDesktopOrLaptop ? (\r\n \r\n \r\n

    \r\n KONSOLİDE\r\n

    \r\n \r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {groups.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {activeKey === \"9999\" ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n option.props.children\r\n .toLocaleLowerCase(\"tr-TR\")\r\n .indexOf(input.toLocaleLowerCase(\"tr-TR\")) >= 0\r\n }\r\n >\r\n {groups.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {activeKey === \"9999\" ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n ) : null}\r\n\r\n {/* {activeKey === \"9999\" ? \r\n
    \r\n

    } /> \r\n
    \r\n :\r\n null\r\n } */}\r\n \r\n
    \r\n )}\r\n\r\n \r\n {currencyList.length !== 0 ? (\r\n \r\n \r\n {isTabletOrMobile === false && (\r\n <>\r\n \r\n \r\n \r\n {titles.map((item) => {\r\n return (\r\n \r\n {item}\r\n \r\n );\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n ŞİRKETLER\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {item.balance\r\n .toString()\r\n .includes(\".\") ? (\r\n \r\n {\" \"}\r\n {item.currencyLogo}\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n {item.currencyLogo}\r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n showModalBank(item.bankId)}\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    \r\n {item.balance.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n ₺\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00 ₺\" : \"₺\"}\r\n \r\n )}\r\n
    \r\n \r\n TOPLAM\r\n \r\n \r\n \r\n {item.balance.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n {item.currencyLogo}\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00\" : \"\"}{\" \"}\r\n {item.currencyLogo}\r\n \r\n )}\r\n \r\n {allTotal.toString().includes(\".\") ? (\r\n \r\n {\" \"}\r\n ₺\r\n \r\n ) : (\r\n \r\n \r\n {isDigitConsolidate ? \",00 ₺\" : \"₺\"}\r\n \r\n )}\r\n
    \r\n \r\n \r\n {titles.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.bankName}\r\n \r\n {item.tenantList.map((item) => {\r\n return {item.balance} ;\r\n })}\r\n {item.balance} \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrency.map((item) => {\r\n return {item.balance};\r\n })}\r\n {allTotal}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n )}\r\n {isTabletOrMobile && (\r\n <>\r\n \r\n \r\n \r\n {titles.map((item) => {\r\n return ;\r\n })}\r\n \r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n \r\n showModalBank(item.bankId)}\r\n />\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n
    {item}\r\n TOPLAM{\" \"}\r\n \r\n ŞİRKETLER\r\n
    \r\n \r\n
    \r\n TOPLAM\r\n \r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n {\" \"}\r\n
    \r\n \r\n \r\n {titles.map((item) => {\r\n return {item};\r\n })}\r\n \r\n TOPLAM{\" \"}\r\n \r\n \r\n {totalTenantAccountList.map((item) => {\r\n return (\r\n \r\n \r\n {item.bankName}\r\n \r\n {item.tenantList.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n \r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n TOPLAM\r\n \r\n {totalWithCurrency.map((item) => {\r\n return (\r\n \r\n {\" \"}\r\n {\" \"}\r\n \r\n );\r\n })}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n {chartTakeValuesStateTotal.map((entry, index) => (\r\n
    \r\n \r\n \r\n \r\n {entry.name}\r\n
    \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n {currencyList.length === 0 ? (\r\n } key=\"1\">\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n \r\n \r\n ) : (\r\n currencyList.map((item, index) => {\r\n return (\r\n {item.currency}}\r\n key={item.currencyId}\r\n >\r\n {ContactSideBar(item.currency)}\r\n \r\n );\r\n })\r\n )}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\nexport default ConsolidatedBankList;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport {\r\n Input,\r\n Select,\r\n Form,\r\n Col,\r\n notification,\r\n Row,\r\n Button,\r\n Upload,\r\n Spin,\r\n Modal,\r\n Switch,\r\n} from \"antd\";\r\nimport PhoneInput from \"react-phone-input-2\";\r\nimport \"react-phone-input-2/lib/style.css\";\r\nimport {\r\n PlusOutlined,\r\n MinusOutlined,\r\n UploadOutlined,\r\n DownloadOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { useMediaQuery } from \"react-responsive\";\r\nimport config from \"../../util/ApiforContext\";\r\nimport FirmAccountAddForm from \"./FirmAccountAddForm\";\r\nimport RequestHandler from \"../../util/RequestHandler\";\r\n\r\nconst layout = {\r\n labelCol: {\r\n span: 8,\r\n },\r\n wrapperCol: {\r\n span: 13,\r\n },\r\n};\r\nconst tailLayout = {\r\n wrapperCol: {\r\n offset: 15,\r\n span: 5,\r\n },\r\n};\r\n\r\nconst { TextArea } = Input;\r\nconst FirmAddForm = (props) => {\r\n const [form] = Form.useForm();\r\n const isDesktopOrLaptop = useMediaQuery({\r\n query: \"(min-device-width: 1224px)\",\r\n });\r\n const isTabletOrMobileDevice = useMediaQuery({\r\n query: \"(max-device-width: 1224px)\",\r\n });\r\n\r\n const [IsHasSendFirmToLogo, setIsHasSendFirmToLogo] = useState(\r\n props.IsHasSendFirmToLogo\r\n );\r\n const [IsDivisionAndDeparment, setIsDivisionAndDeparment] = useState(\r\n props.IsDivisionAndDeparment\r\n );\r\n const [inputList, setInputList] = useState([{ word: \"\" }]);\r\n const [spinLoading, SetSpinLoading] = useState(false);\r\n const [wordList, setWordList] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [firmTypeDropdown, setfirmTypeDropdown] = useState([]);\r\n const [transactionProjectTypes, setTransactionProjectTypes] = useState([]);\r\n const [firmClassDropdown, setfirmClassDropdown] = useState([]);\r\n const [FirmTypeValue, setFirmTypeValue] = useState(3);\r\n const [tckn, setTckn] = useState(props.Tckn);\r\n const [vkn, setVkn] = useState(props.Vkn);\r\n const [id, setId] = useState(props.Id);\r\n const [senderName, setSenderName] = useState(props.senderName);\r\n const [firmId, setFirmId] = useState(\"\");\r\n const [iban, setIban] = useState(props.Iban);\r\n const [bankCode, setBankCode] = useState(\"\");\r\n const [bankBranchName, setbankBranchName] = useState(\"\");\r\n const [accountNumber, setAccountNumber] = useState(\"\");\r\n const [firmAccountVisible, setFirmAccountVisible] = useState(false);\r\n const errorList = [];\r\n const [IsGroup, setIsGroup] = useState(false);\r\n\r\n const handleInputChange = (e, index) => {\r\n const { name, value } = e.target;\r\n const list = [...inputList];\r\n list[index][name] = value;\r\n setInputList(list);\r\n };\r\n\r\n const handleRemoveClick = (index) => {\r\n const list = [...inputList];\r\n list.splice(index, 1);\r\n setInputList(list);\r\n };\r\n\r\n const handleAddClick = () => {\r\n setInputList([...inputList, { word: \"\" }]);\r\n };\r\n\r\n const maxLengthCheck = (object) => {\r\n if (object.target.value.length > object.target.maxLength) {\r\n object.target.value = object.target.value.slice(\r\n 0,\r\n object.target.maxLength\r\n );\r\n }\r\n };\r\n\r\n const handleCancelFirmAccount = (e) => {\r\n openNotificationWithIcon(\"success\");\r\n setLoading(false);\r\n if (props.GetTableData) {\r\n form.resetFields();\r\n props.GetTableData();\r\n } else window.location.reload();\r\n setFirmAccountVisible(false);\r\n };\r\n\r\n const onChangeFirmType = (value) => {\r\n setFirmTypeValue(value);\r\n RequestHandler.get(`/FirmClass?firmTypeId=${value}`).then((response) => {\r\n setfirmClassDropdown(response.value);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setId(props.Id);\r\n setVkn(props.Vkn);\r\n setTckn(props.Tckn);\r\n setSenderName(props.SenderName);\r\n\r\n if (props.AccountId !== undefined) {\r\n RequestHandler.get(`/AccountTransaction/Getbyid/${props.Id}`).then(\r\n (response) => {\r\n setIban(response.iban);\r\n setAccountNumber(response.accountNumber);\r\n setbankBranchName(response.branchCode);\r\n setBankCode(response.otherBankCode);\r\n }\r\n );\r\n\r\n RequestHandler.get(`/AccountTransaction/GetBankCode/${props.Id}`).then(\r\n (response) => {\r\n setbankBranchName(response.message);\r\n }\r\n );\r\n }\r\n\r\n RequestHandler.get(`/FirmClass?firmTypeId=3`).then((response) => {\r\n setfirmClassDropdown(response.value);\r\n });\r\n\r\n RequestHandler.get(`/Firm/GetFirmType`).then((response) => {\r\n setfirmTypeDropdown(response.data);\r\n });\r\n\r\n RequestHandler.get(\r\n `/TransactionProjectType?$filter=(ProjectType eq 4 or ProjectType eq 5 or ProjectType eq 6) and isActive eq true`\r\n ).then((response) => {\r\n setTransactionProjectTypes(response.value);\r\n });\r\n\r\n setFirmTypeValue(3);\r\n }, [\r\n setfirmTypeDropdown,\r\n setTransactionProjectTypes,\r\n setfirmClassDropdown,\r\n setFirmTypeValue,\r\n setTckn,\r\n setVkn,\r\n setSenderName,\r\n props.SenderName,\r\n props.Vkn,\r\n props.Tckn,\r\n ]);\r\n\r\n const { Option } = Select;\r\n const openNotificationWithIcon = (type) => {\r\n notification[type]({\r\n message: \"BAŞARILI\",\r\n description: \"Ekleme işlemi başarı ile gerçekleşti.\",\r\n duration: 2,\r\n });\r\n };\r\n const errorListNotification = (type) => {\r\n errorList.map((item) => {\r\n notification[type]({\r\n message: \"Hata\",\r\n description: item,\r\n duration: 5,\r\n });\r\n });\r\n };\r\n const onChangeVknValue = (e) => {\r\n setVkn(e.target.value);\r\n };\r\n const onChangeTcNoValue = (e) => {\r\n setTckn(e.target.value);\r\n };\r\n const onChangeSenderNameValue = (e) => {\r\n setSenderName(e.target.value);\r\n };\r\n\r\n const onChangeIsGroupValue = (e) => {\r\n setIsGroup(e);\r\n };\r\n\r\n const onFinish = (values) => {\r\n const words = [];\r\n inputList.map((item) => {\r\n words.push(item.word.trim());\r\n });\r\n var error = 0;\r\n words.map((item) => {\r\n var wordLength = item.length;\r\n if (wordLength < 5 && wordLength != 0) {\r\n error += 1;\r\n }\r\n });\r\n\r\n RequestHandler.post(\r\n `/Firm`,\r\n {\r\n tenantId: localStorage.getItem(\"tenantId\"),\r\n name: values.Name,\r\n firmBranchNumber: values.FirmBranchNumber,\r\n tcNo: values.TcNo,\r\n erpSalesCode: values.ErpSalesCode,\r\n customerType: values.CustomerType,\r\n placeType: values.PlaceType,\r\n purchaseType: values.PurchaseType,\r\n erpCode: values.ErpCode,\r\n directiveName: values.DirectiveName,\r\n email: values.Email,\r\n taxOffice: values.TaxOffice,\r\n vkn: values.Vkn,\r\n phone: values.Phone,\r\n mobilePhone: values.MobilePhone,\r\n fax: values.Fax,\r\n address: values.Address,\r\n groupCode: values.GroupCode,\r\n city: values.City,\r\n town: values.Town,\r\n specialCode: values.SpecialCode,\r\n authorizationCode: values.AuthorizationCode,\r\n accountCode: values.AccountCode,\r\n divisionId: values.DivisionId,\r\n deparmentId: values.DeparmentId,\r\n accountTransactionId:\r\n props.AccountId === undefined\r\n ? \"00000000-0000-0000-0000-000000000000\"\r\n : props.AccountId,\r\n firmTypeValue: values.FirmTypeValue,\r\n firmClassId: values.FirmClassId,\r\n accountingCode: values.accountingCode,\r\n transactionProjectTypeId: values.TransactionProjectTypeId,\r\n isGroup: IsGroup,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n if (error == 0) {\r\n RequestHandler.post(\r\n `/Firm/FirmMatchingWordAdd`,\r\n {\r\n firmId: res.data.data.id,\r\n words: words,\r\n },\r\n false,\r\n { rawResponse: true }\r\n ).then((res) => {\r\n if (res.status == 200) {\r\n openNotificationWithIcon(\"success\");\r\n if (props.AccountId === undefined) {\r\n if (props.GetTableData) {\r\n form.resetFields();\r\n props.GetTableData();\r\n } else\r\n setTimeout(\r\n function () {\r\n window.location.reload();\r\n }.bind(this),\r\n 2000\r\n );\r\n }\r\n } else {\r\n setLoading(false);\r\n SetSpinLoading(false);\r\n }\r\n });\r\n\r\n if (props.AccountId !== undefined) {\r\n if (props.getTableDate) props.getTableDate();\r\n else {\r\n setFirmAccountVisible(true);\r\n setFirmId(res.data.data.id);\r\n }\r\n // setTimeout(\r\n // function () {\r\n // window.location.reload();\r\n // }.bind(this),\r\n // 2000\r\n // );\r\n }\r\n } else {\r\n openNotificationWithIcon(\"success\");\r\n wordLengtError(\"error\");\r\n setLoading(false);\r\n setTimeout(\r\n function () {\r\n window.location.reload();\r\n }.bind(this),\r\n 3500\r\n );\r\n }\r\n setWordList(words);\r\n } else {\r\n setLoading(false);\r\n SetSpinLoading(false);\r\n }\r\n });\r\n };\r\n\r\n const excelDownload = (type) => {\r\n notification[type]({\r\n message: \"BAŞARILI\",\r\n description: \"Excel şablonu indirme işlemi başarı ile gerçekleşti.\",\r\n duration: 2,\r\n });\r\n };\r\n\r\n const wordLengtError = (type) => {\r\n notification[type]({\r\n message: \"HATA\",\r\n description:\r\n \"Kelimeler bölümündeki harf sayısı 5ten küçük olduğu için kayıt başarısız oldu, düzenleyip tekrar deneyin.\",\r\n duration: 4,\r\n });\r\n };\r\n\r\n const excelDownloadFailedUntilThis = (type) => {\r\n notification[type]({\r\n message: \"HATA\",\r\n description: \"Bu veriden sonra yüklemeye devam edilemedi.\",\r\n duration: 5,\r\n });\r\n };\r\n\r\n const downloadExcel = () => {\r\n window.open(\r\n `${config.apiUrl}/Firm/DownloadExcel?t=${RequestHandler.getToken()}`\r\n );\r\n };\r\n const propsFirmExcel = {\r\n name: \"excel\",\r\n action: `${config.apiUrl}/Firm/ImportExcel?type=1`,\r\n headers: { Authorization: \"bearer \" + RequestHandler.getToken() },\r\n beforeUpload() {\r\n setTimeout(function () {\r\n notification.info({\r\n message: \"Uyarı\",\r\n description:\r\n \"Bu işlem bir kaç dakika sürebilir, tüm veri uygunluğu kontrol edilerek hatalı veri varsa otomatik Excel inecektir. Lütfen bekleyiniz..\",\r\n duration: 5,\r\n });\r\n }, 3000);\r\n },\r\n onChange(info) {\r\n const { response, status } = info.file;\r\n if (info.fileList.length > 0) {\r\n SetSpinLoading(true);\r\n document.body.querySelector(\".ant-drawer-body\").scrollTo(0, 0);\r\n }\r\n if (info.file.status === \"done\") {\r\n excelDownload(\"success\");\r\n setTimeout(\r\n function () {\r\n window.location.reload();\r\n }.bind(this),\r\n 2000\r\n );\r\n } else if (info.file.status === \"error\") {\r\n if (info.file.response.statusCode === 406) {\r\n info.file.response.data.map((item) => {\r\n errorList.push(item);\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 5000);\r\n });\r\n errorListNotification(\"error\");\r\n excelDownloadFailedUntilThis(\"error\");\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 5000);\r\n } else {\r\n const notificationType = response.success ? \"success\" : \"error\";\r\n\r\n notification[notificationType]({\r\n message: response.message,\r\n duration: 3,\r\n });\r\n if (!response.success) {\r\n downloadImportResult(info.file.response.data);\r\n }\r\n setTimeout(function () {\r\n window.location.reload();\r\n }, 5000);\r\n }\r\n\r\n SetSpinLoading(false);\r\n }\r\n },\r\n };\r\n const downloadImportResult = (fileName) => {\r\n window.open(\r\n `${\r\n config.apiUrl\r\n }/Firm/DownloadImportResult?t=${RequestHandler.getToken()}&fileName=${fileName}`\r\n );\r\n };\r\n\r\n const onFinishFailed = () => setLoading(false);\r\n const ScreenNameWithActiveTab = () => {\r\n switch (props.activeTab) {\r\n case \"1\":\r\n return \"Cari\";\r\n case \"2\":\r\n return \"Banka\";\r\n case \"3\":\r\n return \"Masraf\";\r\n case \"4\":\r\n return \"Çek\";\r\n case \"5\":\r\n return \"Senet\";\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n {isDesktopOrLaptop && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n evt.key === \"e\" && evt.preventDefault()\r\n }\r\n />\r\n \r\n \r\n \r\n evt.key === \"e\" && evt.preventDefault()\r\n }\r\n maxLength=\"11\"\r\n onInput={maxLengthCheck}\r\n />\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n