{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/modules/Files.js","webpack:///./src/store/modules/Auth.js","webpack:///./src/store/modules/UI.js","webpack:///./src/store/modules/TimeKeeping.js","webpack:///./src/store/modules/Budget.js","webpack:///./src/store/modules/Emulation.js","webpack:///./src/store/index.js","webpack:///./src/App.vue?7c9b","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/assets/icons/icons.js","webpack:///./src/main.js","webpack:///./src/App.vue?f446","webpack:///./src/api/AxiosClient.js","webpack:///./src/router/pageRouter.js","webpack:///./src/router/surveyRouter.js","webpack:///./src/router/emulationRouter.js","webpack:///./src/router/timekeepingRouter.js","webpack:///./src/router/briefingsRouter.js","webpack:///./src/router/revenueRouter.js","webpack:///./src/router/userRouter.js","webpack:///./src/router/calendarRouter.js","webpack:///./src/router/budgetReportRouter.js","webpack:///./src/router/publicBudgetReportRouter.js","webpack:///./src/router/departmentRouter.js","webpack:///./src/router/licenseRouter.js","webpack:///./src/router/briefingsCollectionRPRouter.js","webpack:///./src/router/databasefinanceRouter.js","webpack:///./src/router/index.js","webpack:///./src/api/modules/AuthApi.js","webpack:///./src/api/modules/FileApi.js","webpack:///./src/api/modules/EmulationApi.js","webpack:///./src/api/modules/UserApi.js","webpack:///./src/api/modules/SurveyApi.js","webpack:///./src/api/modules/TimekeepingApi.js","webpack:///./src/api/modules/BriefingsApi.js","webpack:///./src/api/modules/BudgetReportApi.js","webpack:///./src/api/modules/PublicBudgetReportApi.js","webpack:///./src/api/modules/DepartmentApi.js","webpack:///./src/api/modules/PayApi.js","webpack:///./src/api/modules/RevenuesApi.js","webpack:///./src/api/modules/DropdownsApi.js","webpack:///./src/api/modules/iOfficeApi.js","webpack:///./src/api/modules/PortalApi.js","webpack:///./src/api/modules/MenuApi.js","webpack:///./src/api/modules/RoleGroupApi.js","webpack:///./src/api/modules/EmployeeApi.js","webpack:///./src/api/modules/PushNotificationApi.js","webpack:///./src/api/modules/BriefingDraftApi.js","webpack:///./src/api/modules/LicenseApi.js","webpack:///./src/api/modules/InformApi.js","webpack:///./src/api/modules/BriefingCollectionApi.js","webpack:///./src/api/modules/RankingsReport.js","webpack:///./src/api/modules/DatabaseFinanceApi.js","webpack:///./src/api/ClientFactory.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","FileApi","ClientFactory","state","files","actions","loadFiles","commit","mutations","setFiles","response","log","getters","namespaced","AuthApi","userDefaults","username","userInfoLocalStorage","JSON","parse","localStorage","getItem","getUserInfo","userInfo","keys","forEach","token","AppActiveUser","isUserLoggedIn","isAuthenticated","accessToken","login","payload","setItem","router","currentRoute","query","to","logout","removeItem","UPDATE_USER_INFO","stringify","globalLoading","loading","vs","color","closeLoading","notify","Vue","$vs","notification","square","position","title","text","DISPLAY_LOADING","vsLoading","HIDE_LOADING","close","department","filter","department_id","year","Date","getFullYear","month","getMonth","status","saveDepartmentSearchFilter","DEPARTMENT_FILTERS","filterDTK","tabActive","saveTabState","saveSearchFilter","TAB_STATE","SEARCH_FILTER","tabState","filterState","cncd","emulation_group_id","ldcd","currentMonth","full_name","approver_status","vpth","saveCNCDSearchFilter","saveLDCDSearchFilter","saveVPTHSearchFilter","CNCD_FILTERS","LDCD_FILTERS","VPTH_FILTERS","filterCNCD","filterLDCD","filterVPTH","use","Vuex","sidebarShow","sidebarMinimize","toggleSidebarDesktop","sidebarOpened","includes","toggleSidebarMobile","sidebarClosed","set","variable","store","Store","auth","Auth","ui","UI","TimeKeepingStore","TimeKeeping","Budget","EmulationStore","Emulation","render","_vm","this","_h","$createElement","_c","_self","staticRenderFns","component","iconsSet","assign","cilAirplay","cilQrCode","cilApple","cilArrowRight","cilBan","cilBasket","cilBell","cilCalculator","cilCalendar","cilCloudDownload","cilChartPie","cilCheck","cilChevronBottom","cilChevronTop","cilCheckCircle","cilCommentSquare","cilCursor","cilDrop","cilDollar","cilEnvelopeClosed","cilEnvelopeOpen","cilEuro","cilGlobeAlt","cilGrid","cilFile","cilJustifyCenter","cilLaptop","cilLayers","cilLightbulb","cilList","cilLocationPin","cilLockLocked","cilMagnifyingGlass","cilMoon","cilOptions","cilPencil","cilPeople","cilPuzzle","cilSettings","cilShieldAlt","cilSpeech","cilSpeedometer","cilStar","cilTask","cilUser","cilUserFemale","cilUserFollow","cilXCircle","cifUs","cifBr","cifIn","cifFr","cifEs","cifPl","cibFacebook","cibTwitter","cibLinkedin","cibFlickr","cibTumblr","cibXing","cibGithub","cibStackoverflow","cibYoutube","cibDribbble","cibInstagram","cibPinterest","cibVk","cibYahoo","cibBehance","cibReddit","cibVimeo","cibCcMastercard","cibCcVisa","cibStripe","cibPaypal","cibGooglePay","cibCcAmex","VCalendar","componentPrefix","Vuesax","colors","primary","success","danger","warning","dark","config","performance","CoreuiVue","$log","BootstrapVue","IconsPlugin","VeeValidate","locale","fieldsBagName","dictionary","vi","messages","VueFileAgent","el","icons","template","components","App","domain","baseURL","AxiosClient","axios","headers","device","client","navigator","userAgent","interceptors","toString","dispatch","path","catch","redirect","children","meta","requiresAuth","TheContainer","Router","linkActiveClass","scrollBehavior","y","routes","configRoutes","usersRouter","briefingsRouter","revenuesRouter","timekeepingsRouter","emulationsRouter","surveysRouter","calendarRouter","budgetReportRouter","departmentRouter","briefingsCollectionRPRouter","databasefinanceRouter","pagesRouter","publicBudgetReportRouter","licenseRouter","DEFAULT_TITLE","beforeEach","from","next","matched","some","record","params","nextUrl","fullPath","nextTick","afterEach","tooltip","querySelector","body","appLoading","getElementById","style","display","getapp","Client","post","user","resource","uploadFile","formData","FormData","append","update","delete","id","getEmulation","employee_id","getEmulationDepartment","getEmulationOffice","insertEmulation","updateEmulation","put","updateApproverStatus","deleteEmulation","reportByDepartment","downloadReportByDepartment","responseType","downloadOfficeSummaryReport","getDetail","getTarget","insertTarget","updateTarget","deleteTarget","getGroup","group_name","getGroupByEmployee","insertGroup","updateGroup","deleteGroup","getGroupTarget","getGroupTargetByGroupId","insertGroupTarget","getGroupUser","insertGroupUser","userinfo","get_list_account","account","get_role_user","lock_account","reset_password","create_account","update_avatar","changeOpenSurveyStatus","getSurveys","account_id","surveys","getSurveyById","survey","deleteSurveyById","createSurvey","participateSurvey","getResults","surveyId","getTopics","topics","createTopic","topic","get_timekeeping","get_office_summary_tk","report_office_summary_tk","get_type_timekeeping","statistical_timekeeping","sub_type","update_timekeeping","updateMultipleDayInTimeSheet","timekeepingcode_arr","censorship_timekeeping","censorship_timekeeping_department","lock_timekeeping","get_holiday","delete_holiday","add_holiday","downloadReport","resourceReport","searchConclusion","insConclusion","updConclusion","delConclusion","getfileConclusion","searchReport","departmentId","exportReport","insReport","updReport","delReport","getfileReport","resourceFile","publicApi","reportName","circularsTemplateNo","circularsNo","cateId","reportTypeId","periodType","periodValue","reportYear","page","size","getById","getSummary","exportSummary","period_type","period_value","report_year","getXml","fileDownload","insFile","updFile","getFileByBudgetReportId","searchPublicReport","getItemsTree","get_department_byuser","department_type","get_pay","report_name","form_name","circulars_number","get_pay_file","report_id","report_type","get_statical_year","insert_pay","update_pay","update_pay_file","update_pay_status","delete_pay","syncPayReport","get_revenue","get_revenue_file","insert_revenue","update_revenue","update_revenue_file","update_revenue_status","delete_revenue","syncRevenueReport","YEARS","EMPLOYEES","DEPARTMENTS","ACCOUNTS","TOPICS","getEmployeeByDepartment","getiOfficeEmployeeByDepartment","catCode","getDatabaseFinance_qt","getDatabaseFinance_ts","getSendDocuments","fromDate","toDate","getReceiveDocuments","getCalendarByDay","day","getCalendar","getInvitationLetter","getInvitationLetter_V2","reportInvitationLetter","getProcessDocument","downloadFile","fileName","sendSms","phone_list","content","getMeetingStatistics","quickGuidance","getReportJobUBND","maphong","loaigiaoviec","vaitro","tungay","denngay","sohieu","trichyeu","getDepartment","getInfo","list_menu_main","get_menu","menu_id","menu_name","tt","lock_menu","list_role_menu","update_role_menu","create_menu","update_menu","list_group_user","update_grouprole_account","list_group","role_id","role_name","lock_group","create_group","update_group","list_group_role","group_id","update_group_role","list_role_user","update_role_account","list_role","lock_role","create_role","update_role","get_employees","phone_number","get_employee_deparment","update_employee_deparment","change_status_employee","update_employee","create_employee","pushNotification","getNotification","read","feature","updateNotification","search","getOne","getAttachments","reportId","add","briefingDraft","remove","activeURI","infoURI","active","license_key","getLatest","briefings_month","briefings_year","getRankingsReport","downloadRankingsReport","fileQTApi","fileTSApi","searchSettlement","report","searchAsset","getFileQT","getToken","Authorization","Accept","blob","Blob","url","URL","createObjectURL","link","reportCode","namBC","click","getFileTS","nam","getqt","getts","PUB_searchSettlement","PUB_searchAsset","getYear","getDashboard","repositories","file","users","emulations","emulation","timekeepings","timekeeping","briefings","budgetreport","publicbudgetreport","departments","pays","pay","revenues","revenue","dropdowns","ioffices","ioffice","portals","portal","menus","menu","rolegroups","rolegroup","employees","employee","notifications","license","inform","briefingCollection","rankingsReport","databasefinance","repo"],"mappings":"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","file":"js/main.46a1711d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"main\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"main\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f806652\":\"02bcc447\",\"chunk-2d0aacf6\":\"d4587eda\",\"chunk-2d0c4303\":\"1d4d0d15\",\"chunk-2d0d6704\":\"993fe8d1\",\"chunk-2d2131a8\":\"349c0cf6\",\"chunk-2d21d9f9\":\"66c31d91\",\"chunk-2d22b9e2\":\"cf0165f7\",\"chunk-2d22c303\":\"7dc604e4\",\"chunk-2d22cfac\":\"5256fa18\",\"chunk-0156cf38\":\"6c7dd398\",\"chunk-0875ba08\":\"7a4cb5bd\",\"chunk-11471a1e\":\"ef64a015\",\"chunk-127d29f0\":\"102afa92\",\"chunk-12d48a26\":\"0f05cacf\",\"chunk-1778f7d5\":\"7035e0fa\",\"chunk-19414cbe\":\"506d205e\",\"chunk-1c91b551\":\"14659ec5\",\"chunk-255a65e5\":\"bd7e9f2c\",\"chunk-26f24084\":\"49d50539\",\"chunk-2d2cd15a\":\"ea15f786\",\"chunk-359205b2\":\"c46d033a\",\"chunk-36fccb6f\":\"99af9572\",\"chunk-3806556b\":\"d4ff004a\",\"chunk-3c1648ea\":\"cf5d5436\",\"chunk-3d88d54e\":\"f0435a87\",\"chunk-409904ef\":\"03d35673\",\"chunk-417ff5cc\":\"5c006f55\",\"chunk-42876a9c\":\"0a625044\",\"chunk-54ac99a2\":\"7490ddf6\",\"chunk-5f4de157\":\"bb1b9bc9\",\"chunk-61a23d95\":\"363e1af8\",\"chunk-6527571c\":\"de841b87\",\"chunk-6f899f3e\":\"75a43879\",\"chunk-2d22c901\":\"1e5cde2a\",\"chunk-5487972a\":\"b5665951\",\"chunk-73ddf324\":\"8ec22c47\",\"chunk-87c8475c\":\"5b2ea438\",\"chunk-91b38af2\":\"746c8216\",\"chunk-9be20ddc\":\"9a235114\",\"chunk-cb913e3a\":\"0c7d330d\",\"chunk-ccb37a0e\":\"44421899\",\"chunk-067f0c15\":\"1bdd09d8\",\"chunk-130a64a8\":\"9556946c\",\"chunk-2a593c01\":\"0388b1d8\",\"chunk-2a93a444\":\"e4b0b96c\",\"chunk-2fa003d6\":\"860bf150\",\"chunk-3393bc2c\":\"827536c5\",\"chunk-2d0a34da\":\"1b7f90cd\",\"chunk-2d0c94bf\":\"095b29ec\",\"chunk-5f19ef0a\":\"20fcc745\",\"chunk-631753ca\":\"61de0f10\",\"chunk-67731272\":\"6f567ea9\",\"chunk-7a09b9ff\":\"37cbec5f\",\"chunk-3f8d766a\":\"f369bbaa\",\"chunk-4ee89dd7\":\"80cf0d43\",\"chunk-59f5e2f6\":\"74f7feea\",\"chunk-5acf2d0d\":\"952bac72\",\"chunk-5eb5e524\":\"ebb440e7\",\"chunk-67f388d8\":\"f05874da\",\"chunk-6d5c9937\":\"0549cb02\",\"chunk-c46ce8e4\":\"bd3c388c\",\"chunk-e805adae\":\"e9bd810b\",\"chunk-f112ed68\":\"99a019d5\",\"chunk-fb9e01f8\":\"17826443\",\"chunk-2d4ad9d2\":\"6a4db474\",\"chunk-47eb9eb2\":\"bdf2db99\",\"chunk-5596bdd7\":\"72355000\",\"chunk-6276db64\":\"6fa3dcd6\",\"chunk-2d0e9d9f\":\"94bc34d3\",\"chunk-5f04b0bc\":\"b99dccea\",\"chunk-62fffcf7\":\"60d7a3e1\",\"chunk-7f923c52\":\"42fdea14\",\"chunk-9528b852\":\"98ecdf7e\",\"chunk-2d0e5831\":\"1ff3b411\",\"chunk-2d2226b8\":\"3d607f43\",\"chunk-4cff7044\":\"8c5afd88\",\"chunk-3dff5678\":\"17a95ded\",\"chunk-407617fc\":\"712cd264\",\"chunk-7a792828\":\"1be2f867\",\"chunk-f4d56504\":\"7a3741f6\",\"chunk-ff660500\":\"290ab4bf\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-0f806652\":1,\"chunk-0156cf38\":1,\"chunk-0875ba08\":1,\"chunk-11471a1e\":1,\"chunk-127d29f0\":1,\"chunk-12d48a26\":1,\"chunk-1778f7d5\":1,\"chunk-19414cbe\":1,\"chunk-1c91b551\":1,\"chunk-255a65e5\":1,\"chunk-26f24084\":1,\"chunk-2d2cd15a\":1,\"chunk-359205b2\":1,\"chunk-36fccb6f\":1,\"chunk-3806556b\":1,\"chunk-3c1648ea\":1,\"chunk-3d88d54e\":1,\"chunk-409904ef\":1,\"chunk-417ff5cc\":1,\"chunk-42876a9c\":1,\"chunk-54ac99a2\":1,\"chunk-5f4de157\":1,\"chunk-61a23d95\":1,\"chunk-6527571c\":1,\"chunk-6f899f3e\":1,\"chunk-5487972a\":1,\"chunk-73ddf324\":1,\"chunk-87c8475c\":1,\"chunk-91b38af2\":1,\"chunk-9be20ddc\":1,\"chunk-cb913e3a\":1,\"chunk-067f0c15\":1,\"chunk-130a64a8\":1,\"chunk-2a593c01\":1,\"chunk-2a93a444\":1,\"chunk-2fa003d6\":1,\"chunk-3393bc2c\":1,\"chunk-5f19ef0a\":1,\"chunk-631753ca\":1,\"chunk-67731272\":1,\"chunk-7a09b9ff\":1,\"chunk-3f8d766a\":1,\"chunk-4ee89dd7\":1,\"chunk-59f5e2f6\":1,\"chunk-5acf2d0d\":1,\"chunk-5eb5e524\":1,\"chunk-67f388d8\":1,\"chunk-6d5c9937\":1,\"chunk-c46ce8e4\":1,\"chunk-e805adae\":1,\"chunk-f112ed68\":1,\"chunk-fb9e01f8\":1,\"chunk-2d4ad9d2\":1,\"chunk-47eb9eb2\":1,\"chunk-5596bdd7\":1,\"chunk-6276db64\":1,\"chunk-5f04b0bc\":1,\"chunk-62fffcf7\":1,\"chunk-7f923c52\":1,\"chunk-9528b852\":1,\"chunk-4cff7044\":1,\"chunk-3dff5678\":1,\"chunk-407617fc\":1,\"chunk-7a792828\":1,\"chunk-f4d56504\":1,\"chunk-ff660500\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f806652\":\"96738b21\",\"chunk-2d0aacf6\":\"31d6cfe0\",\"chunk-2d0c4303\":\"31d6cfe0\",\"chunk-2d0d6704\":\"31d6cfe0\",\"chunk-2d2131a8\":\"31d6cfe0\",\"chunk-2d21d9f9\":\"31d6cfe0\",\"chunk-2d22b9e2\":\"31d6cfe0\",\"chunk-2d22c303\":\"31d6cfe0\",\"chunk-2d22cfac\":\"31d6cfe0\",\"chunk-0156cf38\":\"ca05bb74\",\"chunk-0875ba08\":\"9cca5716\",\"chunk-11471a1e\":\"6f6f1118\",\"chunk-127d29f0\":\"060161a1\",\"chunk-12d48a26\":\"2d90c96a\",\"chunk-1778f7d5\":\"244e7880\",\"chunk-19414cbe\":\"b20a7ba9\",\"chunk-1c91b551\":\"c52f2a31\",\"chunk-255a65e5\":\"26b12916\",\"chunk-26f24084\":\"07d77cd4\",\"chunk-2d2cd15a\":\"0d16b727\",\"chunk-359205b2\":\"f72df609\",\"chunk-36fccb6f\":\"0d16b727\",\"chunk-3806556b\":\"cf1d8b7a\",\"chunk-3c1648ea\":\"81f4f196\",\"chunk-3d88d54e\":\"47622ea3\",\"chunk-409904ef\":\"f93e9d80\",\"chunk-417ff5cc\":\"9a4d9e86\",\"chunk-42876a9c\":\"69fa71d8\",\"chunk-54ac99a2\":\"3e5841c2\",\"chunk-5f4de157\":\"12a1056a\",\"chunk-61a23d95\":\"d36a5f06\",\"chunk-6527571c\":\"ac495f79\",\"chunk-6f899f3e\":\"864129e5\",\"chunk-2d22c901\":\"31d6cfe0\",\"chunk-5487972a\":\"46908824\",\"chunk-73ddf324\":\"2c6ddd53\",\"chunk-87c8475c\":\"0c2c5334\",\"chunk-91b38af2\":\"9b01bb51\",\"chunk-9be20ddc\":\"5f0730a6\",\"chunk-cb913e3a\":\"ced33f1d\",\"chunk-ccb37a0e\":\"31d6cfe0\",\"chunk-067f0c15\":\"408846f2\",\"chunk-130a64a8\":\"25e97ac3\",\"chunk-2a593c01\":\"1eaa9c73\",\"chunk-2a93a444\":\"1eaa9c73\",\"chunk-2fa003d6\":\"1eaa9c73\",\"chunk-3393bc2c\":\"a490bb9e\",\"chunk-2d0a34da\":\"31d6cfe0\",\"chunk-2d0c94bf\":\"31d6cfe0\",\"chunk-5f19ef0a\":\"c329a233\",\"chunk-631753ca\":\"224de6ab\",\"chunk-67731272\":\"c329a233\",\"chunk-7a09b9ff\":\"224de6ab\",\"chunk-3f8d766a\":\"25e97ac3\",\"chunk-4ee89dd7\":\"91e262f7\",\"chunk-59f5e2f6\":\"dc1a792d\",\"chunk-5acf2d0d\":\"1eaa9c73\",\"chunk-5eb5e524\":\"bd4f1358\",\"chunk-67f388d8\":\"ced97c30\",\"chunk-6d5c9937\":\"1eaa9c73\",\"chunk-c46ce8e4\":\"dc1a792d\",\"chunk-e805adae\":\"699b6b25\",\"chunk-f112ed68\":\"a18c8a20\",\"chunk-fb9e01f8\":\"47271619\",\"chunk-2d4ad9d2\":\"ff173687\",\"chunk-47eb9eb2\":\"2c7a977a\",\"chunk-5596bdd7\":\"2b57a3f4\",\"chunk-6276db64\":\"a8701ebf\",\"chunk-2d0e9d9f\":\"31d6cfe0\",\"chunk-5f04b0bc\":\"9e5b0182\",\"chunk-62fffcf7\":\"4105700e\",\"chunk-7f923c52\":\"4105700e\",\"chunk-9528b852\":\"a490bb9e\",\"chunk-2d0e5831\":\"31d6cfe0\",\"chunk-2d2226b8\":\"31d6cfe0\",\"chunk-4cff7044\":\"d154c4ab\",\"chunk-3dff5678\":\"dd15cf88\",\"chunk-407617fc\":\"dd15cf88\",\"chunk-7a792828\":\"a490bb9e\",\"chunk-f4d56504\":\"ab9f0e5f\",\"chunk-ff660500\":\"222b4848\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import ClientFactory from '@/api/ClientFactory';\r\nconst FileApi = ClientFactory.get('files');\r\n\r\nconst state = {\r\n files:[],\r\n name:\"File Name\"\r\n}\r\n\r\nconst actions = {\r\n async loadFiles({commit}) {\r\n commit('setFiles', await FileApi.get());\r\n }\r\n}\r\n\r\nconst mutations = {\r\n setFiles: (state, response) => {\r\n const {\r\n data\r\n } = response;\r\n\r\n console.log(data)\r\n state.files = [...data];\r\n }\r\n}\r\n\r\nconst getters = {\r\n\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n};","import ClientFactory from \"@/api/ClientFactory\";\r\nconst AuthApi = ClientFactory.get(\"auth\");\r\nimport router from \"@/router\";\r\n\r\n// *From Auth - Data will be received from auth provider\r\nconst userDefaults = {\r\n username: \"admin\"\r\n};\r\n\r\nconst userInfoLocalStorage = JSON.parse(localStorage.getItem(\"userInfo\")) || {};\r\nconst getUserInfo = () => {\r\n const userInfo = {};\r\n // Update property in user\r\n Object.keys(userDefaults).forEach((key) => {\r\n // If property is defined in localStorage => Use that\r\n userInfo[key] = userInfoLocalStorage[key]\r\n ? userInfoLocalStorage[key]\r\n : userDefaults[key];\r\n });\r\n\r\n // Include properties from localStorage\r\n Object.keys(userInfoLocalStorage).forEach((key) => {\r\n if (userInfo[key] === undefined && userInfoLocalStorage[key] !== null)\r\n userInfo[key] = userInfoLocalStorage[key];\r\n });\r\n return userInfo;\r\n};\r\n\r\nconst state = {\r\n token: \"\",\r\n AppActiveUser: getUserInfo(),\r\n isUserLoggedIn: () => {\r\n let isAuthenticated = false;\r\n\r\n // Check accessToken\r\n const accessToken = localStorage.getItem(\"accessToken\");\r\n if (accessToken) {\r\n isAuthenticated = true;\r\n }\r\n\r\n return isAuthenticated;\r\n },\r\n};\r\n\r\nconst actions = {\r\n async login({ commit }, payload) {\r\n const response = await AuthApi.login(payload);\r\n console.log(response);\r\n if (response.data.token) {\r\n // Set accessToken\r\n localStorage.setItem(\"accessToken\", response.data.token);\r\n // Update user details\r\n commit(\"UPDATE_USER_INFO\", response.data);\r\n // Navigate User to homepage\r\n\r\n router.push(router.currentRoute.query.to || \"/dashboard\");\r\n } else {\r\n throw \"Sai Tên người dùng hoặc Mật khẩu\";\r\n }\r\n },\r\n\r\n async logout() {\r\n // Clean storage\r\n if (localStorage.getItem(\"accessToken\")) {\r\n localStorage.removeItem(\"accessToken\");\r\n }\r\n localStorage.removeItem(\"userInfo\");\r\n localStorage.removeItem(\"rus\");\r\n\r\n // Redirect to login page\r\n setTimeout(() => {\r\n router.push(router.currentRoute.query.to || \"/pages/login\");\r\n }, 600);\r\n },\r\n};\r\n\r\nconst mutations = {\r\n UPDATE_USER_INFO(state, response) {\r\n const { token, data } = response;\r\n\r\n // Get Data localStorage\r\n const userInfo =\r\n JSON.parse(localStorage.getItem(\"userInfo\")) || state.AppActiveUser;\r\n\r\n for (const property of Object.keys(data)) {\r\n if (data[property] !== null) {\r\n // If some of user property is null - user default property defined in state.AppActiveUser\r\n state.AppActiveUser[property] = data[property];\r\n\r\n // Update key in localStorage\r\n userInfo[property] = data[property];\r\n }\r\n }\r\n\r\n state.token = token;\r\n // Store data in localStorage\r\n localStorage.setItem(\"userInfo\", JSON.stringify(userInfo));\r\n },\r\n};\r\n\r\nconst getters = {};\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters,\r\n};\r\n","import Vue from 'vue';\r\n\r\nconst state = {\r\n globalLoading: undefined\r\n}\r\n\r\nconst actions = {\r\n loading({commit}, vs) {\r\n const loading = vs.loading({\r\n type:'default',\r\n color: '#082258'\r\n });\r\n commit('DISPLAY_LOADING', loading)\r\n \r\n },\r\n\r\n closeLoading({commit}) {\r\n commit('HIDE_LOADING');\r\n },\r\n\r\n notify({commit}, payload) {\r\n Vue.prototype.$vs.notification({\r\n square: true,\r\n color: payload.error ? 'danger' : 'success',\r\n position:'top-right',\r\n title: payload.title || 'Thông báo',\r\n text: payload.text\r\n })\r\n }\r\n\r\n}\r\n\r\n\r\nconst mutations = {\r\n DISPLAY_LOADING: (state, vsLoading) => {\r\n state.globalLoading = vsLoading;\r\n },\r\n\r\n HIDE_LOADING: (state) => {\r\n if(state.globalLoading) {\r\n state.globalLoading.close();\r\n state.globalLoading = undefined;\r\n }\r\n }\r\n}\r\n\r\nconst getters = {\r\n\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n};","const state = {\r\n department: {\r\n filter: {\r\n department_id: \"0\", \r\n year: new Date().getFullYear(),\r\n month: new Date().getMonth()+1,\r\n status: \"0\"\r\n }\r\n }\r\n\r\n}\r\n\r\nconst actions = {\r\n saveDepartmentSearchFilter ({commit}, payload) {\r\n const { filter } = payload;\r\n commit('DEPARTMENT_FILTERS', filter);\r\n }\r\n}\r\n\r\nconst mutations = {\r\n DEPARTMENT_FILTERS: (state, response) => {\r\n state.department.filter = {...response};\r\n }\r\n}\r\n\r\nconst getters = {\r\n filterDTK: state => {\r\n return state.department.filter;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n};","const state = {\r\n tabActive: 0,\r\n filter:{\r\n year: new Date().getFullYear(),\r\n month: 0,\r\n status: \"10\"\r\n }\r\n \r\n}\r\n\r\n\r\nconst actions = {\r\n saveTabState ({commit}, payload) {\r\n commit('TAB_STATE', payload);\r\n },\r\n saveSearchFilter ({commit}, payload) {\r\n const { filter } = payload;\r\n commit('SEARCH_FILTER', filter);\r\n }\r\n}\r\n\r\nconst mutations = {\r\n TAB_STATE: (state, response) => {\r\n state.tabActive = response;\r\n },\r\n SEARCH_FILTER: (state, response) => {\r\n const {filter} = response\r\n state.filter = filter;\r\n }\r\n}\r\n\r\n\r\nconst getters = {\r\n tabState: state => {\r\n return state.tabActive;\r\n },\r\n filterState: state => {\r\n return state.filter\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n};","const state = {\r\n cncd: {\r\n filter: {\r\n year:new Date().getFullYear(),\r\n emulation_group_id:0,\r\n }\r\n },\r\n ldcd: {\r\n filter: {\r\n year:new Date().getFullYear(),\r\n currentMonth:new Date().getMonth()+1,\r\n full_name:\"\",\r\n emulation_group_id:0,\r\n approver_status:1000\r\n }\r\n },\r\n vpth: {\r\n filter: {\r\n year:new Date().getFullYear(),\r\n currentMonth:new Date().getMonth()+1,\r\n full_name:\"\",\r\n department_id:\"0\",\r\n emulation_group_id:0\r\n }\r\n }\r\n\r\n}\r\n\r\nconst actions = {\r\n saveCNCDSearchFilter ({commit}, payload) {\r\n const { filter } = payload;\r\n commit('CNCD_FILTERS', filter);\r\n },\r\n saveLDCDSearchFilter ({commit}, payload) {\r\n const { filter } = payload;\r\n commit('LDCD_FILTERS', filter);\r\n },\r\n saveVPTHSearchFilter ({commit}, payload) {\r\n const { filter } = payload;\r\n commit('VPTH_FILTERS', filter);\r\n }\r\n}\r\n\r\nconst mutations = {\r\n CNCD_FILTERS: (state, response) => {\r\n state.cncd.filter = {...response};\r\n },\r\n LDCD_FILTERS: (state, response) => {\r\n state.ldcd.filter = {...response};\r\n },\r\n VPTH_FILTERS: (state, response) => {\r\n state.vpth.filter = {...response};\r\n }\r\n}\r\n\r\nconst getters = {\r\n filterCNCD: state => {\r\n return state.cncd.filter;\r\n },\r\n filterLDCD: state => {\r\n return state.ldcd.filter;\r\n },\r\n filterVPTH: state => {\r\n return state.vpth.filter;\r\n }\r\n}\r\n\r\nexport default {\r\n namespaced: true,\r\n state,\r\n mutations,\r\n actions,\r\n getters\r\n};","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\n\r\nVue.use(Vuex);\r\n\r\nimport files from './modules/Files'\r\nimport Auth from './modules/Auth';\r\nimport UI from './modules/UI';\r\nimport TimeKeeping from './modules/TimeKeeping';\r\nimport Budget from './modules/Budget';\r\nimport Emulation from './modules/Emulation';\r\n\r\n\r\nconst state = {\r\n sidebarShow: 'responsive',\r\n sidebarMinimize: false\r\n}\r\n\r\nconst mutations = {\r\n toggleSidebarDesktop(state) {\r\n const sidebarOpened = [true, 'responsive'].includes(state.sidebarShow)\r\n state.sidebarShow = sidebarOpened ? false : 'responsive'\r\n },\r\n toggleSidebarMobile(state) {\r\n const sidebarClosed = [false, 'responsive'].includes(state.sidebarShow)\r\n state.sidebarShow = sidebarClosed ? true : 'responsive'\r\n },\r\n set(state, [variable, value]) {\r\n state[variable] = value\r\n }\r\n}\r\n\r\nconst store = new Vuex.Store({\r\n state,\r\n mutations,\r\n modules: {\r\n files,\r\n auth: Auth,\r\n ui: UI,\r\n TimeKeepingStore: TimeKeeping,\r\n Budget: Budget,\r\n EmulationStore:Emulation,\r\n }\r\n});\r\n\r\nexport default store;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-view')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7652976a&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import {\n cibFacebook,\n cibTwitter,\n cibLinkedin,\n cibFlickr,\n cibTumblr,\n cibXing,\n cibGithub,\n cibStackoverflow,\n cibYoutube,\n cibDribbble,\n cibInstagram,\n cibPinterest,\n cibVk,\n cibYahoo,\n cibBehance,\n cibReddit,\n cibVimeo,\n cibCcMastercard,\n cibCcVisa,\n cibStripe,\n cibPaypal,\n cibGooglePay, \n cibCcAmex\n} from '@coreui/icons'\nimport {\n cifUs,\n cifBr,\n cifIn,\n cifFr,\n cifEs,\n cifPl\n} from '@coreui/icons'\nimport {\n cilArrowRight,\n cilBan,\n cilBasket,\n cilBell,\n cilCalculator,\n cilCalendar,\n cilCloudDownload,\n cilChartPie,\n cilCheck,\n cilChevronBottom,\n cilChevronTop,\n cilCheckCircle,\n cilCommentSquare,\n cilCursor,\n cilDrop,\n cilDollar,\n cilEnvelopeClosed,\n cilEnvelopeOpen,\n cilEuro,\n cilGlobeAlt,\n cilGrid,\n cilFile,\n cilJustifyCenter,\n cilLaptop,\n cilLayers,\n cilLightbulb,\n cilList,\n cilLocationPin,\n cilLockLocked,\n cilMagnifyingGlass,\n cilMoon,\n cilOptions,\n cilPencil,\n cilPeople,\n cilPuzzle,\n cilSettings,\n cilShieldAlt,\n cilSpeech,\n cilSpeedometer,\n cilStar,\n cilTask,\n cilUser,\n cilUserFemale,\n cilUserFollow,\n cilXCircle,\n cilApple,\n cilQrCode,\n cilAirplay\n\n} from '@coreui/icons'\n\n\nexport const iconsSet = Object.assign(\n {},\n {},\n {\n cilAirplay,\n cilQrCode,\n cilApple,\n cilArrowRight,\n cilBan,\n cilBasket,\n cilBell,\n cilCalculator,\n cilCalendar,\n cilCloudDownload,\n cilChartPie,\n cilCheck,\n cilChevronBottom,\n cilChevronTop,\n cilCheckCircle,\n cilCommentSquare,\n cilCursor,\n cilDrop,\n cilDollar,\n cilEnvelopeClosed,\n cilEnvelopeOpen,\n cilEuro,\n cilGlobeAlt,\n cilGrid,\n cilFile,\n cilJustifyCenter,\n cilLaptop,\n cilLayers,\n cilLightbulb,\n cilList,\n cilLocationPin,\n cilLockLocked,\n cilMagnifyingGlass,\n cilMoon,\n cilOptions,\n cilPencil,\n cilPeople,\n cilPuzzle,\n cilSettings,\n cilShieldAlt,\n cilSpeech,\n cilSpeedometer,\n cilStar,\n cilTask,\n cilUser,\n cilUserFemale,\n cilUserFollow,\n cilXCircle\n },\n {\n cifUs,\n cifBr,\n cifIn,\n cifFr,\n cifEs,\n cifPl\n },\n {\n cibFacebook,\n cibTwitter,\n cibLinkedin,\n cibFlickr,\n cibTumblr,\n cibXing,\n cibGithub,\n cibStackoverflow,\n cibYoutube,\n cibDribbble,\n cibInstagram,\n cibPinterest,\n cibVk,\n cibYahoo,\n cibBehance,\n cibReddit,\n cibVimeo,\n cibCcMastercard, \n cibCcVisa, \n cibStripe, \n cibPaypal, \n cibGooglePay,\n cibCcAmex\n }\n)\n","import \"core-js/stable\";\nimport Vue from \"vue\";\nimport App from \"./App\";\nimport router from \"./router\";\nimport CoreuiVue from \"@coreui/vue\";\nimport { iconsSet as icons } from \"./assets/icons/icons.js\";\nimport store from \"./store\";\n\nimport { BootstrapVue, IconsPlugin } from \"bootstrap-vue\";\n\nimport VCalendar from \"v-calendar\";\n// Use v-calendar & v-date-picker components\nVue.use(VCalendar, {\n componentPrefix: \"vc\",\n});\n\n// Vuesax Component Framework\nimport Vuesax from \"vuesax\";\nimport \"material-icons/iconfont/material-icons.css\"; //Material Icons\nimport \"boxicons/css/boxicons.min.css\"; // boxicons Icons\nimport \"vuesax/dist/vuesax.css\"; // Vuesax\nimport \"vue-good-table/dist/vue-good-table.css\";\nimport \"bootstrap-vue/dist/bootstrap-vue.css\";\n\nVue.use(Vuesax, {\n colors: {\n primary: \"#082258\",\n success: \"#2eb85c\",\n danger: \"#e55353\",\n warning: \"#f9b115\",\n dark: \"#636f83\",\n },\n});\n\nVue.config.performance = true;\nVue.use(CoreuiVue);\nVue.prototype.$log = console.log.bind(console);\n\n// Make BootstrapVue available throughout your project\nVue.use(BootstrapVue);\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin);\n\n// Validate forms\nimport * as VeeValidate from \"vee-validate\";\nimport vi from \"vee-validate/dist/locale/vi\";\nVue.use(VeeValidate, {\n locale: \"vi\",\n fieldsBagName: \"fieldBags\",\n dictionary: {\n vi: {\n messages: vi.messages,\n },\n },\n});\n\nimport VueFileAgent from \"vue-file-agent\";\nimport \"vue-file-agent/dist/vue-file-agent.css\";\nVue.use(VueFileAgent);\n\n// register firebase notifications\n//import firebaseMessaging from './firebase/firebaseConfig'\n//Vue.prototype.$firebase = firebaseMessaging\n\nnew Vue({\n el: \"#app\",\n router,\n store,\n icons,\n template: \"\",\n components: {\n App,\n },\n});\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=scss&\"","import axios from \"axios\";\r\nimport store from \"../store/\";\r\nimport router from \"@/router\";\r\n\r\n// const domain = \"http://10.23.29.15:4000\";\r\n// //const domain = process.env.NODE_ENV === 'production' ? 'http://ttdhnbstcapi.vnptthainguyen.vn' : 'http://localhost:4000';\r\n\r\n// // const domain = \"http://ttdhnbstcapi.vnptthainguyen.vn\";\r\n// const domain = process.env.NODE_ENV === 'production' ? 'http://ttdhnbstcapi.vnptthainguyen.vn' : 'http://localhost:4000';\r\n\r\n// const domain = \"http://ttdhnbstcapi.vnptthainguyen.vn\";\r\nconst domain =\r\n process.env.NODE_ENV === \"production\"\r\n ? \"https://ttdhnbstcapi.vnptthainguyen.vn\"\r\n : \"http://localhost:4000\";\r\n\r\nconst baseURL = `${domain}/api`;\r\n\r\nconst AxiosClient = axios.create({\r\n baseURL,\r\n headers: {\r\n device: \"WEB\",\r\n client: navigator.userAgent,\r\n \"Cache-Control\": \"no-cache, no-store\",\r\n },\r\n});\r\n\r\nAxiosClient.interceptors.request.use(\r\n function(config) {\r\n config.headers[\"x-access-token\"] = localStorage.getItem(\"accessToken\")\r\n ? localStorage.getItem(\"accessToken\").toString()\r\n : \"\";\r\n console.log(\"pre-process before send axios request\");\r\n return config;\r\n },\r\n function(error) {\r\n throw error;\r\n }\r\n);\r\n\r\nAxiosClient.interceptors.response.use(\r\n function(response) {\r\n console.log(\"Axios receive response!\");\r\n return response;\r\n },\r\n function(error) {\r\n const { response } = error;\r\n\r\n // Unauthorized Error: Redirect to login page\r\n if (response && response.status === 401) {\r\n store.dispatch(\"auth/logout\");\r\n } else if (response.status === 402) {\r\n store.dispatch(\"ui/closeLoading\");\r\n router.push({ path: `/license/active` }).catch(() => {});\r\n } else {\r\n throw response.data.message || \"Unknow Error\";\r\n }\r\n }\r\n);\r\n\r\nexport default AxiosClient;\r\n","export default [\r\n {\r\n path: \"/pages\",\r\n redirect: \"/pages/404\",\r\n name: \"Pages\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"404\",\r\n name: \"Page404\",\r\n component: () => import(\"@/views/pages/Page404\"),\r\n meta: {\r\n title: \"Oop\"\r\n },\r\n },\r\n {\r\n path: \"500\",\r\n name: \"Page500\",\r\n component: () => import(\"@/views/pages/Page500\"),\r\n },\r\n {\r\n path: \"login\",\r\n name: \"Login\",\r\n component: () => import(\"@/views/pages/Login\"),\r\n meta: {\r\n title: \"Đăng nhập\"\r\n },\r\n },\r\n {\r\n path: \"register\",\r\n name: \"Register\",\r\n component: () => import(\"@/views/pages/Register\"),\r\n },\r\n {\r\n path: \"/pages/not-authorized\",\r\n name: \"Not Authorized\",\r\n component: () => import(\"@/views/pages/NotAuthorized\"),\r\n meta: {\r\n title: \"Không có quyền truy cập\"\r\n },\r\n },\r\n ],\r\n }\r\n]","export default [\r\n {\r\n path: \"surveys\",\r\n redirect: \"/surveys/list\",\r\n name: \"Khảo sát\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Danh sách khảo sát\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/surveys/SurveyManagement\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Danh sách khảo sát\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Tạo khảo sát\",\r\n component: () =>\r\n import(\"@/views/screens/surveys/SurveyMaker\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tạo khảo sát\"\r\n },\r\n },\r\n {\r\n path: \"participate/:id\",\r\n name: \"Thực hiện khảo sát\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/surveys/SurveyParticipate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thực hiện khảo sát\"\r\n },\r\n },\r\n {\r\n path: \"result/:id\",\r\n name: \"Kết quả khảo sát\",\r\n component: () =>\r\n import(\"@/views/screens/surveys/SurveyResult\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Kết quả khảo sát\"\r\n },\r\n },\r\n ],\r\n }\r\n]","export default [\r\n {\r\n path: \"emulation\",\r\n redirect: \"/emulation/list\",\r\n name: \"Thi đua\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Cá nhân chấm điểm\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/SelfRatingManagement\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Cá nhân chấm điểm\"\r\n },\r\n },\r\n {\r\n path: \"create/:group_id\",\r\n name: \"Thêm mới chấm điểm\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/SelfRatingCreate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm mới bản tự chấm điểm\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Chỉnh sửa chấm điểm thi đua\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/SelfRatingEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa bản tự chấm điểm\"\r\n },\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Chi tiết chấm điểm thi đua\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/SelfRatingDetail\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Chi tiết chấm điểm thi đua\"\r\n },\r\n },\r\n {\r\n path: \"office_report\",\r\n name: \"Văn phòng tổng hợp\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/GeneralOfficeReport\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Văn phòng tổng hợp thi đua\"\r\n },\r\n },\r\n {\r\n path: \"rankings_report\",\r\n name: \"Xếp loại lao động\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/RankingsReport\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tổng hợp xếp loại lao động\"\r\n },\r\n },\r\n {\r\n path: \"report\",\r\n name: \"Tổng hợp điểm thi đua của phòng/ban\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/DepartmentReport\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tổng hợp điểm thi đua của phòng/ban\"\r\n },\r\n },\r\n {\r\n path: \"department\",\r\n name: \"Phòng chấm điểm\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/DepartmentRatingManagement\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Lãnh đạo phòng chấm điểm\"\r\n },\r\n },\r\n {\r\n path: \"department_edit/:id\",\r\n name: \"Phòng chấm điểm cho nhân viên\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/DepartmentRatingEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Phòng chấm điểm cho nhân viên\"\r\n },\r\n },\r\n {\r\n path: \"group\",\r\n name: \"Quản lý nhóm thi đua\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/emulation/EmulationGroupManagement\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý nhóm thi đua\"\r\n },\r\n },\r\n ],\r\n }\r\n]","export default [\r\n {\r\n path: \"timekeeping\",\r\n name: \"Chấm công\",\r\n redirect: \"/timekeeping/user\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"user\",\r\n name: \"Chấm công cá nhân\",\r\n component: () => import(\"@/views/screens/timekeeping/UserTimeKeeping\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Chấm công cá nhân\",\r\n },\r\n },\r\n {\r\n path: \"detail\",\r\n name: \"Thực hiện chấm công\",\r\n component: () =>\r\n import(\"@/views/screens/timekeeping/TimeKeepingDetail\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Cập nhật ngày công\",\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: \"department_timekeeping\",\r\n name: \"Chấm công đơn vị\",\r\n component: () =>\r\n import(\"@/views/screens/timekeeping/DepartmentTimekeeping\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Lãnh đạo chấm công\",\r\n },\r\n },\r\n {\r\n path: \"office_timekeeping\",\r\n name: \"Văn phòng tổng hợp\",\r\n component: () =>\r\n import(\"@/views/screens/timekeeping/OfficeTimekeeping\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Văn phòng tổng hợp ngày công\",\r\n },\r\n },\r\n {\r\n path: \"statistical_timekeeping\",\r\n name: \"Tổng hợp ngày công\",\r\n component: () =>\r\n import(\"@/views/screens/timekeeping/StatisticalTimekeeping\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tổng hợp ngày công\",\r\n },\r\n },\r\n {\r\n path: \"holiday_manager\",\r\n name: \"Quản lý ngày nghỉ\",\r\n component: () => import(\"@/views/screens/timekeeping/HolidayManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý ngày nghỉ\",\r\n },\r\n },\r\n];\r\n","export default [\r\n /*HoangTM - Giao ban*/\r\n {\r\n path: \"briefingsconclusion\",\r\n name: \"Giao ban\",\r\n redirect: \"briefingsconclusion/list\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Kết luận giao ban\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsConclusion\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tra cứu kết luận giao ban\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Thêm kết luận\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsConclusionCreate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm kết luận giao ban\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Sửa thông tin kết luận\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsConclusionEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm kết luận giao ban\"\r\n },\r\n },\r\n ],\r\n },\r\n /*End*/\r\n /*HoangTM - Gửi nội dung giao ban*/\r\n {\r\n path: \"briefingsreport\",\r\n name: \"Gửi nội dung giao ban\",\r\n redirect: \"briefingsreport/list\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Nội dung giao ban\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsReport\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tra cứu báo cáo trước giao ban\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Thêm nội dung giao ban\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsReportCreate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm báo cáo trước giao ban\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Sửa nội dung giao ban\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingsReportEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa báo cáo trước giao ban\"\r\n },\r\n },\r\n ],\r\n },\r\n /*Sonda - Dự thảo giao ban*/\r\n {\r\n path: \"briefingsdraft\",\r\n name: \"Dự thảo kết luận giao ban\",\r\n redirect: \"briefingsdraft/list\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Danh sách dự thảo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingDraftConclusion\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tra cứu dự thảo KL giao ban\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Thêm dự thảo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingDraftConclusionCreate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm dự thảo KL giao ban\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Sửa dự thảo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefings/BriefingDraftConclusionEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa dự thảo KL giao ban\"\r\n },\r\n },\r\n ],\r\n },\r\n /*End*/\r\n /*HoangTM - Tổng hợp giao ban tháng*/\r\n {\r\n path: \"briefingssummary\",\r\n name: \"Tổng hợp giao ban tháng\",\r\n component: () =>\r\n import(\"@/views/screens/briefings/BriefingsSummary\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tổng hợp giao ban tháng\"\r\n },\r\n }\r\n]","export default [\r\n {\r\n path: \"revenues_pay\",\r\n name: \"Thông tin ngân sách\",\r\n redirect: \"/revenues_pay/summary\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"summary\",\r\n name: \"Quản lý Báo cáo Thu - Chi\",\r\n component: () => import(\"@/views/screens/revenues_pay/summary\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý Báo cáo Thu - Chi\"\r\n },\r\n },\r\n {\r\n path: \"addrevenues\",\r\n name: \"Thu ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/addrevenues\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm BC thu ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"editrevenues/:id\",\r\n name: \"Cập nhật BC Thu ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/editRevenues\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Cập nhật BC Thu ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"revenuesdetail/:id\",\r\n name: \"Chi tiết BC thu ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/revenueDetail\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Chi tiết BC thu ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"addpays\",\r\n name: \"Chi ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/addpays\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm BC Chi ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"editpays/:id\",\r\n name: \"Cập nhật BC Chi ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/editPay\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Cập nhật BC Chi ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"paydetail/:id\",\r\n name: \"Chi tiết BC chi ngân sách\",\r\n component: () => import(\"@/views/screens/revenues_pay/payDetail\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Chi tiết BC chi ngân sách\"\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n","export default [\r\n {\r\n path: \"user\",\r\n name: \"Thông tin tài khoản\",\r\n component: () => import(\"@/views/screens/UserProfile\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thông tin tài khoản\"\r\n },\r\n },\r\n {\r\n path: \"account_manager\",\r\n name: \"Quản lý người dùng\",\r\n component: () => import(\"@/views/screens/administration/AccountManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý người dùng\"\r\n },\r\n },\r\n {\r\n path: \"employee_manager\",\r\n name: \"Quản lý nhân viên\",\r\n component: () => import(\"@/views/screens/administration/EmployeeManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý nhân viên\"\r\n },\r\n },\r\n {\r\n path: \"role\",\r\n name: \"Quản lý quyền\",\r\n component: () => import(\"@/views/screens/administration/RoleManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý quyền\"\r\n },\r\n },\r\n {\r\n path: \"group_role\",\r\n name: \"Quản lý nhóm quyền\",\r\n component: () => import(\"@/views/screens/administration/GroupRoleManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý nhóm quyền\"\r\n },\r\n },\r\n {\r\n path: \"menu\",\r\n name: \"Quản lý menu\",\r\n component: () => import(\"@/views/screens/administration/MenuManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý menu\"\r\n },\r\n },\r\n\r\n {\r\n path: \"departments\",\r\n name: \"Quản lý phòng ban\",\r\n component: () =>\r\n import(\"@/views/screens/administration/DepartmentsManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý phòng ban\"\r\n },\r\n },\r\n\r\n {\r\n path: \"notification\",\r\n name: \"Quản lý thông báo\",\r\n component: () =>\r\n import(\"@/views/screens/administration/NotificationManager\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý thông báo\"\r\n },\r\n },\r\n];\r\n","export default [\r\n {\r\n path: \"calendars\",\r\n name: \"Lịch công tác\",\r\n redirect: \"/calendars/calendarbyday\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"calendarbyday\",\r\n name: \"Lịch công tác theo ngày\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/CalendarByDay\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Lịch công tác\"\r\n },\r\n },\r\n {\r\n path: \"invitation_letter\",\r\n name: \"Danh sách giấy mời\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/InvitationLetters\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Danh sách giấy mời\"\r\n },\r\n },\r\n {\r\n path: \"quick_document\",\r\n name: \"Danh sách văn bản\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/QuickDocuments\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Danh sách văn bản\"\r\n },\r\n },\r\n {\r\n path: \"report_invitation_letter\",\r\n name: \"Báo cáo tổng hợp giấy mời\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/ReportInvitationLetters\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Báo cáo tổng hợp giấy mời\"\r\n },\r\n },\r\n {\r\n path: \"report_quick_document\",\r\n name: \"Báo cáo tổng hợp văn bản\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/ReportQuickDocuments\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Báo cáo tổng hợp văn bản\"\r\n },\r\n },\r\n {\r\n path: \"report_job_ubnd\",\r\n name: \"Báo cáo giao việc từ UBND\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/calendars/ReportJobUBND\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Báo cáo giao việc từ UBND\"\r\n },\r\n },\r\n ],\r\n }\r\n]","export default [\r\n /*HoangTM - Công khai tài chính*/\r\n {\r\n path: \"budgetreport\",\r\n name: \"Công khai tài chính\",\r\n redirect: \"budgetreport/list\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Quản lý nội dung công khai\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/List\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Quản lý nội dung công khai\"\r\n },\r\n },\r\n {\r\n path: \"viewer\",\r\n name: \"Hiển thị nội dung công khai\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/ReportViewer\"\r\n ),\r\n meta: {\r\n requiresAuth: false,\r\n title: \"Hiển thị nội dung công khai\"\r\n },\r\n },\r\n {\r\n path: \"summary\",\r\n name: \"Thống kê báo cáo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/ReportSummary\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thống kê BC công khai ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"createbudget\",\r\n name: \"Thêm báo cáo công khai ngân sách\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/CreateBudget\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm BC công khai ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"editbudget/:id\",\r\n name: \"Sửa thông tin báo cáo công khai ngân sách\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/EditBudget\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa BC công khai ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"detailbudget/:id\",\r\n name: \"Thông tin chi tiết báo cáo công khai ngân sách\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/DetailBudget\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thông tin chi tiết báo cáo công khai ngân sách\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Thêm báo cáo khác\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/Create\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm báo cáo khác\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Sửa thông tin báo cáo khác\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/budgetreport/Edit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa thông tin báo cáo khác\"\r\n },\r\n },\r\n ],\r\n },\r\n /*End*/\r\n]","export default [\r\n {\r\n path: \"/iframe\",\r\n redirect: \"/iframe/budgetreport\",\r\n name: \"Iframe\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"budgetreport\",\r\n name: \"Công khai ngân sách\",\r\n component: () => import(\"@/views/pages/PublicReportViewer\"),\r\n },\r\n {\r\n path: \"budgetreport/view/:id\",\r\n name: \"Chi tiết báo cáo công khai ngân sách\",\r\n component: () => import(\"@/views/pages/PublicReportDetailViewer\"),\r\n },\r\n ],\r\n }\r\n]","export default [\r\n {\r\n path: \"department\",\r\n name: \"Đơn vị\",\r\n // redirect: \"/timekeeping/user-tk\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"EmployeeDepartments\",\r\n name: \"Gán nhân viên đơn vị\",\r\n component: () =>\r\n import(\"@/views/screens/departments/EmployeeDepartments\"),\r\n meta: {\r\n requiresAuth: true,\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n","export default [\r\n {\r\n path: \"/license\",\r\n redirect: \"/license/active\",\r\n name: \"license\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"active\",\r\n name: \"Thông tin giấy phép bản quyền\",\r\n component: () => import(\"@/views/pages/License\"),\r\n meta: {\r\n requiresAuth: false,\r\n title: \"Thông tin giấy phép bản quyền\"\r\n },\r\n },\r\n ],\r\n }\r\n]","export default [\r\n /* Sonda - Báo cáo của Sở */\r\n {\r\n path: \"briefingcollections\",\r\n name: \"Báo cáo của Sở\",\r\n redirect: \"briefingcollections/list\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"list\",\r\n name: \"Danh sách báo cáo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefingCollections/BriefingsCollectionRP\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Tra cứu báo cáo của Sở\"\r\n },\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Thêm báo cáo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefingCollections/BriefingsCollectionRPCreate\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Thêm báo cáo\"\r\n },\r\n },\r\n {\r\n path: \"edit/:id\",\r\n name: \"Sửa nội dung báo cáo\",\r\n component: () =>\r\n import(\r\n \"@/views/screens/briefingCollections/BriefingsCollectionRPEdit\"\r\n ),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Sửa nội dung báo cáo\"\r\n },\r\n },\r\n ],\r\n },\r\n]","export default [\r\n {\r\n path: \"databasefinance\",\r\n name: \"Cơ sở dữ liệu tài chính\",\r\n redirect: \"/databasefinance/settlement\",\r\n component: {\r\n render(c) {\r\n return c(\"router-view\");\r\n },\r\n },\r\n children: [\r\n {\r\n path: \"settlement\",\r\n name: \"Báo cáo quyết toán\",\r\n component: () => import(\"@/views/screens/databasefinances/settlement\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Báo cáo quyết toán\",\r\n },\r\n },\r\n {\r\n path: \"asset\",\r\n name: \"Báo cáo tài sản\",\r\n component: () => import(\"@/views/screens/databasefinances/asset\"),\r\n meta: {\r\n requiresAuth: true,\r\n title: \"Báo cáo tài sản\",\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n","import Vue from \"vue\";\nimport Router from \"vue-router\";\n\n// Containers\nconst TheContainer = () => import(\"@/containers/TheContainer\");\n\n// Routers\nimport pagesRouter from \"./pageRouter\";\nimport surveysRouter from \"./surveyRouter\";\nimport emulationsRouter from \"./emulationRouter\";\nimport timekeepingsRouter from \"./timekeepingRouter\";\nimport briefingsRouter from \"./briefingsRouter\";\nimport revenuesRouter from \"./revenueRouter\";\nimport usersRouter from \"./userRouter\";\nimport calendarRouter from \"./calendarRouter\";\nimport budgetReportRouter from \"./budgetReportRouter\";\nimport publicBudgetReportRouter from \"./publicBudgetReportRouter\";\nimport departmentRouter from \"./departmentRouter\";\nimport licenseRouter from \"./licenseRouter\";\nimport briefingsCollectionRPRouter from \"./briefingsCollectionRPRouter\";\nimport databasefinanceRouter from \"./databasefinanceRouter\";\n\nVue.use(Router);\n\nconst router = new Router({\n mode: \"history\", // https://router.vuejs.org/api/#mode\n linkActiveClass: \"active\",\n scrollBehavior: () => ({ y: 0 }),\n routes: configRoutes(),\n});\n\nfunction configRoutes() {\n return [\n {\n path: \"/\",\n redirect: \"/dashboard\",\n name: \"Home\",\n component: TheContainer,\n children: [\n {\n path: \"dashboard\",\n name: \"Trang chủ\",\n component: () => import(\"@/views/screens/Dashboard\"),\n meta: {\n requiresAuth: false,\n },\n },\n ...usersRouter,\n ...briefingsRouter,\n ...revenuesRouter,\n ...timekeepingsRouter,\n ...emulationsRouter,\n ...surveysRouter,\n ...calendarRouter,\n ...budgetReportRouter,\n ...departmentRouter,\n ...briefingsCollectionRPRouter,\n ...databasefinanceRouter,\n ],\n },\n ...pagesRouter,\n ...publicBudgetReportRouter,\n ...licenseRouter,\n ];\n}\nconst DEFAULT_TITLE = \"Hệ thống quản lý nội bộ Sở Tài Chính Thái Nguyên\";\nrouter.beforeEach((to, from, next) => {\n if (to.matched.some((record) => record.meta.requiresAuth)) {\n if (localStorage.getItem(\"accessToken\") == null) {\n next({\n path: \"/pages/login\",\n params: { nextUrl: to.fullPath },\n });\n } else {\n next();\n }\n }\n Vue.nextTick(() => {\n document.title = to.meta.title\n ? `${to.meta.title} | Sở Tài chính Thái Nguyên`\n : DEFAULT_TITLE;\n });\n next();\n});\n\nrouter.afterEach(() => {\n const tooltip = document.querySelector(\".vs-tooltip\");\n if (tooltip !== null) document.body.removeChild(tooltip);\n // Remove initial loading\n const appLoading = document.getElementById(\"loading-bg\");\n if (appLoading) {\n appLoading.style.display = \"none\";\n }\n});\n\nexport default router;\n","import Client from \"../AxiosClient\";\r\nconst login = \"/public/auth/login\";\r\nconst logout = \"/private/accounts/logout\";\r\nconst getapp = \"/public/auth/getapp\";\r\n\r\nexport default {\r\n async login(userInfo) {\r\n let response = await Client.post(`${login}`, userInfo);\r\n console.log(response);\r\n return response;\r\n },\r\n\r\n async logout(user) {\r\n const response = await Client.post(`${logout}`, user);\r\n return response;\r\n },\r\n async getapp() {\r\n const response = await Client.get(`${getapp}`);\r\n return response;\r\n },\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/files\";\r\n\r\nexport default {\r\n async get() {\r\n const response = await Client.get(`${resource}`);\r\n return response.data;\r\n },\r\n\r\n async uploadFile(files) {\r\n try {\r\n let formData = new FormData();\r\n formData.append('files', files);\r\n console.log(formData)\r\n const result = await Client.post(`${resource}`, formData);\r\n return result;\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n\r\n update(payload) {},\r\n\r\n delete(id) {},\r\n};\r\n","import Client from '../AxiosClient';\r\nconst resource = '/private/emulation';\r\n\r\nexport default {\r\n async getEmulation(year,employee_id,department_id,emulation_group_id) {\r\n try {\r\n year = year !== undefined ? year : null;\r\n employee_id = employee_id !== undefined ? employee_id : \"\";\r\n department_id = department_id !== undefined ? department_id : \"\";\r\n emulation_group_id = emulation_group_id !== undefined ? emulation_group_id : \"\";\r\n const response = await Client.get(`${resource}?year=${year}&employee_id=${employee_id}&department_id=${department_id}&emulation_group_id=${emulation_group_id}&status=1`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getEmulationDepartment(year,month,full_name,department_id,emulation_group_id,approver_status) {\r\n try {\r\n year = year !== undefined ? year : null;\r\n month = month !== undefined ? month : -1;\r\n full_name = full_name !== undefined ? full_name : \"\";\r\n department_id = department_id !== undefined ? department_id : -1;\r\n emulation_group_id = emulation_group_id !== undefined ? emulation_group_id : \"\";\r\n approver_status = approver_status !== undefined ? approver_status : -1;\r\n const response = await Client.get(`${resource}?year=${year}&month=${month}&full_name=${full_name}&&department_id=${department_id}&emulation_group_id=${emulation_group_id}&approver_status=${approver_status}&status=1`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getEmulationOffice(year,month,full_name,department_id,emulation_group_id) {\r\n\r\n try {\r\n year = year !== undefined ? year : null;\r\n month = month !== undefined ? month : -1;\r\n full_name = full_name !== undefined ? full_name : \"\";\r\n department_id = department_id !== undefined ? department_id : -1;\r\n emulation_group_id = emulation_group_id !== undefined ? emulation_group_id : \"\";\r\n const response = await Client.get(`${resource}/office?year=${year}&month=${month}&full_name=${full_name}&&department_id=${department_id}&emulation_group_id=${emulation_group_id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async insertEmulation(data) {\r\n try {\r\n const response = await Client.post(`${resource}/`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async updateEmulation(data) {\r\n try {\r\n const response = await Client.put(`${resource}/`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async updateApproverStatus(data) {\r\n try {\r\n const response = await Client.put(`${resource}/approver_status`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async deleteEmulation(id) {\r\n try {\r\n const response = await Client.delete(`${resource}/${id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async reportByDepartment(department_id,year,emulation_group_id) {\r\n try {\r\n const response = await Client.get(`${resource}/reportbydepartment?year=${year}&emulation_group_id=${emulation_group_id}&department_id=${department_id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async downloadReportByDepartment(department_id,year,emulation_group_id) {\r\n try {\r\n const params={\r\n department_id:department_id,\r\n year:year,\r\n emulation_group_id:emulation_group_id\r\n }\r\n\r\n const response = await Client.get(`${resource}/exportbydepartment`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\"\r\n },\r\n responseType: 'blob',\r\n params: params\r\n });\r\n \r\n // console.log(params)\r\n // const response = await Client.get(`${resource}report`, {\r\n // headers: {\r\n // \"Access-Control-Expose-Headers\": \"Content-Disposition\"\r\n // },\r\n // responseType: 'blob',\r\n // params: params\r\n // });\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n async downloadOfficeSummaryReport(department_id,year, month, emulation_group_id) {\r\n try {\r\n const params={\r\n department_id:department_id,\r\n year:year,\r\n emulation_group_id:emulation_group_id,\r\n month: month\r\n }\r\n\r\n const response = await Client.get(`${resource}/exportofficesummary`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\"\r\n },\r\n responseType: 'blob',\r\n params: params\r\n });\r\n \r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n \r\n async getDetail(id) {\r\n try {\r\n const response = await Client.get(`${resource}/detail/${id}`);\r\n //console.log(response);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n async getTarget(id,status) {\r\n console.log(\"getTarget\");\r\n try {\r\n let params = \"?\";\r\n params += id != undefined ? `id=${id}` : ``;\r\n params += status != undefined ? `&status=${status}` : ``;\r\n //const response = await Client.get(`${resource}/target?${params}`);\r\n const response = await Client.get(`${resource}/target${params}`);\r\n //console.log(response);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async insertTarget(data) {\r\n try {\r\n const response = await Client.post(`${resource}/target`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async updateTarget(data) {\r\n try {\r\n const response = await Client.put(`${resource}/target`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async deleteTarget(id) {\r\n try {\r\n const response = await Client.delete(`${resource}/target?id=${id}`)\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n async getGroup(id,group_name,status) {\r\n try {\r\n id = id !== undefined ? id : 0;\r\n status = status !== undefined ? status : 1;\r\n group_name = group_name !== undefined ? group_name : \"\";\r\n const response = await Client.get(`${resource}/group?id=${id}&group_name=${group_name}&status=${status}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getGroupByEmployee(employee_id) {\r\n try {\r\n const response = await Client.get(`${resource}/group/byemployee/${employee_id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async insertGroup(data) {\r\n try {\r\n const response = await Client.post(`${resource}/group`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async updateGroup(data) {\r\n try {\r\n const response = await Client.put(`${resource}/group`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async deleteGroup(id) {\r\n try {\r\n const response = await Client.delete(`${resource}/group/${id}`)\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n\r\n async getGroupTarget(id) {\r\n try {\r\n const response = await Client.get(`${resource}/grouptarget?group_id=${id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getGroupTargetByGroupId(id) {\r\n try {\r\n const response = await Client.get(`${resource}/grouptarget/${id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async insertGroupTarget(data) {\r\n try {\r\n const response = await Client.post(`${resource}/grouptarget`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n\r\n async getGroupUser(id) {\r\n try {\r\n const response = await Client.get(`${resource}/groupuser/${id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async insertGroupUser(data) {\r\n try {\r\n const response = await Client.post(`${resource}/groupuser`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/accounts\";\r\n\r\nexport default {\r\n /**\r\n * Lấy thông tin chi tiết của một tài khoản.\r\n * @param {} username\r\n * @returns\r\n */\r\n async get(username) {\r\n try {\r\n const userinfo = await Client.get(`${resource}/${username}`);\r\n return userinfo.data.data[0];\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async update(userInfo) {\r\n try {\r\n const response = await Client.put(`${resource}`, userInfo);\r\n return response;\r\n } catch (error) {\r\n return {\r\n error: error,\r\n };\r\n }\r\n },\r\n\r\n async get_list_account(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/get_account?id=${params.id}&account=${params.account}&department_id=${params.department_id}`\r\n );\r\n return response;\r\n } catch (error) {\r\n return {\r\n error: error,\r\n };\r\n }\r\n },\r\n\r\n async get_role_user() {\r\n try {\r\n const response = await Client.get(`${resource}/get_role_user`);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n error: error,\r\n };\r\n }\r\n },\r\n\r\n async lock_account(body) {\r\n try {\r\n const response = await Client.post(`${resource}/lock_account`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async reset_password(body) {\r\n try {\r\n const response = await Client.post(`${resource}/reset_password`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async create_account(body) {\r\n try {\r\n const response = await Client.post(`${resource}/create_account`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async update_avatar(body) {\r\n try {\r\n const response = await Client.post(`${resource}/update_avatar`, body);\r\n console.log(body);\r\n console.log(response);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n};\r\n","import Client from '../AxiosClient';\r\nconst resource = '/private/surveys';\r\n\r\nexport default {\r\n /**\r\n * ----------------------------------------------------------------\r\n * Survey APIs\r\n * ----------------------------------------------------------------\r\n */\r\n\r\n async changeOpenSurveyStatus(body){\r\n try {\r\n const response = await Client.post(`${resource}/changestatus`, body);\r\n if(response.data.status === 'failed') {\r\n return {error: response.data.message};\r\n }\r\n return response.data.data[0];\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n \r\n /**\r\n * Lấy danh sách toàn bộ các cuộc khảo sát.\r\n */\r\n async getSurveys(account_id) {\r\n try {\r\n const surveys = await Client.get(`${resource}/account/${account_id}`);\r\n return surveys.data.data;\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n\r\n /**\r\n * Lấy thông tin và nội dung (gồm câu hỏi và các lựa chọn) của một cuộc khảo sát \r\n * để người dùng thực hiện khảo sát\r\n * @param {mã cuộc khảo sát } id \r\n */\r\n async getSurveyById(id) {\r\n try {\r\n const survey = await Client.get(`${resource}/${id}`);\r\n if(survey.data.data.length <= 0) {\r\n return {};\r\n }\r\n return survey.data.data[0];\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n\r\n /**\r\n * Xóa một khảo sát khỏi hệ thống\r\n * @param {survey_id} id \r\n * @returns \r\n */\r\n async deleteSurveyById(id) {\r\n try {\r\n const survey = await Client.delete(`${resource}/${id}`);\r\n if(survey.data.data.length <= 0) {\r\n return {};\r\n }\r\n return survey.data.data[0];\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n\r\n /**\r\n * Tạo mới một cuộc khảo sát (bao gồm cả câu hỏi và các lựa chọn)\r\n * @param {Nội dung cuộc khảo sát} survey \r\n */\r\n async createSurvey(survey) {\r\n try {\r\n const response = await Client.post(`${resource}`, survey);\r\n return response;\r\n } catch (error) {\r\n return {error: error}\r\n }\r\n },\r\n\r\n /**\r\n * Submit nội dung mà người dùng đã thực hiện trả lời khảo sát\r\n * @param {Nội dung mà người dùng thực hiện khảo sát} result \r\n */\r\n async participateSurvey(result) {\r\n try {\r\n const response = await Client.post(`${resource}/results`, result);\r\n return response;\r\n } catch (error) {\r\n return {error: error}\r\n }\r\n },\r\n\r\n /**\r\n * Lấy kểt quả tổng kết một khảo sát\r\n * @param {*} surveyId \r\n * @returns \r\n */\r\n async getResults(surveyId) {\r\n try {\r\n const result = await Client.get(`${resource}/results/${surveyId}`);\r\n if(result.data.data.length <= 0) {\r\n return {};\r\n }\r\n return result.data.data[0];\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n\r\n /**\r\n * ----------------------------------------------------------------\r\n * Topic APIs\r\n * ----------------------------------------------------------------\r\n */\r\n\r\n /**\r\n * Lấy danh sách toàn bộ nội dung các chủ đề\r\n */\r\n async getTopics() {\r\n try {\r\n const topics = await Client.get(`${resource}/topics`);\r\n return topics.data.data;\r\n } catch (error) {\r\n return {error: error}\r\n }\r\n },\r\n\r\n /**\r\n * Tạo mới một chủ đề\r\n * @param {*} topic \r\n */\r\n async createTopic(topic) {\r\n try {\r\n const response = await Client.post(`${resource}/topics`, topic);\r\n return response;\r\n } catch (error) {\r\n return {error: error}\r\n }\r\n\r\n },\r\n \r\n /**\r\n * ----------------------------------------------------------------\r\n * Group accounts APIs\r\n * ----------------------------------------------------------------\r\n */\r\n\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/timekeepings/\";\r\n\r\nexport default {\r\n async get_timekeeping(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_timekeeping?year=${params.year}&month=${params.month}&employee_id=${params.employee_id}&status=${params.status}&id=${params.id}&department_id=${params.department_id}`\r\n );\r\n\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async get_office_summary_tk(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_office_summary_tk?year=${params.year}&month=${params.month}&employee_id=${params.employee_id}&status=${params.status}&id=${params.id}&department_id=${params.department_id}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async report_office_summary_tk(params) {\r\n try {\r\n const response = await Client.get(`${resource}report_office_summary_tk`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\",\r\n },\r\n responseType: \"blob\",\r\n params: params,\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async get_type_timekeeping(params) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_type_timekeeping?type=${params.type}`\r\n );\r\n\r\n // console.log(response);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async statistical_timekeeping(params) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.get(\r\n `${resource}statistical_timekeeping?type=${params.type}&sub_type=${params.sub_type}&year=${params.year}&department_id=${params.department_id}`\r\n );\r\n\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async update_timekeeping(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(`${resource}update_timekeeping`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n /**\r\n * Cập nhật trạng thái ngày công của nhiều ngày cùng lúc.\r\n * @param {} data\r\n * @returns\r\n */\r\n async updateMultipleDayInTimeSheet(data) {\r\n try {\r\n const response = await Client.post(\r\n `${resource}update_timekeeping_multiple`,\r\n {\r\n timekeepingcode_arr: data,\r\n }\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async censorship_timekeeping(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(\r\n `${resource}censorship_timekeeping`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async censorship_timekeeping_department(body) {\r\n try {\r\n const response = await Client.post(\r\n `${resource}censorship_timekeeping_department`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n async lock_timekeeping(body) {\r\n try {\r\n const response = await Client.post(`${resource}lock_timekeeping`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n //#region HOLIDAY\r\n async get_holiday(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_holiday?year=${params.year}`\r\n );\r\n\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async delete_holiday(body) {\r\n try {\r\n const response = await Client.post(`${resource}delete_holiday`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async add_holiday(body) {\r\n try {\r\n const response = await Client.post(`${resource}create_holiday`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async downloadReport(params) {\r\n try {\r\n const response = await Client.get(`${resource}report`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\",\r\n },\r\n responseType: \"blob\",\r\n params: params,\r\n });\r\n\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n //#endregion\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/briefings\";\r\nconst resourceReport = \"/private/briefings/report\";\r\n\r\nexport default {\r\n //#region Conclusion\r\n async searchConclusion(id, month, year) {\r\n try {\r\n const result = await Client.get(\r\n `${resource}/searchconclusion?id=${id}&briefings_month=${month}&briefings_year=${year}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async insConclusion(data) {\r\n try {\r\n const result = await Client.post(`${resource}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async updConclusion(data) {\r\n try {\r\n const result = await Client.put(`${resource}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async delConclusion(id) {\r\n try {\r\n const result = await Client.delete(`${resource}/${id}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getfileConclusion(id) {\r\n try {\r\n const result = await Client.get(`${resource}/getfile?id=${id}`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n //#endregion\r\n\r\n //#region Report\r\n async searchReport(id, month, year, departmentId) {\r\n try {\r\n if (departmentId === -1) departmentId = \"\";\r\n const result = await Client.get(\r\n `${resourceReport}/searchreport?id=${id}&briefings_month=${month}&briefings_year=${year}&department_id=${departmentId}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n async exportReport(month, year) {\r\n try {\r\n const response = await Client.get(\r\n `${resourceReport}/exportreport?briefings_month=${month}&briefings_year=${year}`,\r\n {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\",\r\n },\r\n responseType: \"blob\",\r\n }\r\n );\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n async insReport(data) {\r\n try {\r\n const result = await Client.post(`${resourceReport}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async updReport(data) {\r\n try {\r\n const result = await Client.put(`${resourceReport}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async delReport(id) {\r\n try {\r\n const result = await Client.delete(`${resourceReport}/${id}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getfileReport(id) {\r\n try {\r\n const result = await Client.get(`${resourceReport}/getfile?id=${id}`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n //#endregion\r\n};\r\n","import Client from \"../AxiosClient\";\r\nimport fileDownload from \"js-file-download\";\r\nconst resource = \"/private/budgetreport\";\r\nconst resourceFile = \"/private/budgetreport/file\";\r\nconst publicApi = \"/public/publicbudgetreport\";\r\n\r\nexport default {\r\n //#region BudgetReport\r\n async searchReport(\r\n reportName,\r\n circularsTemplateNo,\r\n circularsNo,\r\n cateId,\r\n reportTypeId,\r\n status,\r\n periodType,\r\n periodValue,\r\n reportYear,\r\n page,\r\n size\r\n ) {\r\n try {\r\n if (cateId === -1) cateId = \"\";\r\n if (reportTypeId === -1) reportTypeId = \"\";\r\n if (status === -1) status = \"\";\r\n if (periodType === -1) periodType = \"\";\r\n if (periodValue === -1) periodValue = \"\";\r\n if (page === -1) page = 1;\r\n if (size === -1) size = 1000;\r\n const result = await Client.get(\r\n `${resource}/searchreport?report_name=${reportName}&circulars_template_no=${circularsTemplateNo}&circulars_no=${circularsNo}&cate_id=${cateId}&report_type_id=${reportTypeId}&status=${status}&period_type=${periodType}&period_value=${periodValue}&report_year=${reportYear}&page=${page}&size=${size}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getById(id) {\r\n try {\r\n const result = await Client.get(`${resource}/?id=${id}&page=1&size=1000`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getSummary(status, periodType, periodValue, reportYear) {\r\n try {\r\n if (status === -1) status = \"\";\r\n if (periodType === -1) periodType = \"\";\r\n if (periodValue === -1) periodValue = \"\";\r\n if (reportYear === -1) reportYear = \"\";\r\n const result = await Client.get(\r\n `${resource}/getsummary?status=${status}&period_type=${periodType}&period_value=${periodValue}&report_year=${reportYear}`\r\n );\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async exportSummary(status, periodType, periodValue, reportYear) {\r\n try {\r\n if (status === -1) status = \"\";\r\n if (periodType === -1) periodType = \"\";\r\n if (periodValue === -1) periodValue = \"\";\r\n if (reportYear === -1) reportYear = \"\";\r\n\r\n const params = {\r\n status: status,\r\n period_type: periodType,\r\n period_value: periodValue,\r\n report_year: reportYear,\r\n };\r\n\r\n const response = await Client.get(`${resource}/exportsummary`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\",\r\n },\r\n responseType: \"blob\",\r\n params: params,\r\n });\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async getXml(filter) {\r\n console.log(filter)\r\n const result = await Client.get(`${publicApi}/exportxml`, {\r\n params: filter\r\n });\r\n fileDownload(result.data, \"ckns.xml\");\r\n },\r\n\r\n async insReport(data) {\r\n try {\r\n const result = await Client.post(`${resource}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async updReport(data) {\r\n try {\r\n const result = await Client.put(`${resource}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async delReport(id) {\r\n try {\r\n const result = await Client.delete(`${resource}/${id}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n //#endregion\r\n\r\n //#region BudgetReportFile\r\n async insFile(data) {\r\n try {\r\n const result = await Client.post(`${resourceFile}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n async updFile(data) {\r\n try {\r\n const result = await Client.put(`${resourceFile}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getFileByBudgetReportId(id) {\r\n try {\r\n const result = await Client.get(\r\n `${resourceFile}/getByBudgetReportId?budget_report_id=${id}`\r\n );\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n //#endregion\r\n};\r\n","import Client from '../AxiosClient';\r\nconst resource = '/public/publicbudgetreport';\r\n\r\nexport default {\r\n //#region BudgetReport\r\n async searchPublicReport(reportName, circularsTemplateNo, circularsNo, cateId, reportTypeId, status, periodType, periodValue, reportYear, page, size) {\r\n try {\r\n if (cateId === -1)\r\n cateId = \"\";\r\n if (reportTypeId === -1)\r\n reportTypeId = \"\";\r\n if (status === -1)\r\n status = \"\";\r\n if (periodType === -1)\r\n periodType = \"\";\r\n if (periodValue === -1)\r\n periodValue = \"\";\r\n if (page === -1)\r\n page = 1;\r\n if (size === -1)\r\n size = 1000;\r\n const result = await Client.get(`${resource}/searchpublicreport?report_name=${reportName}&circulars_template_no=${circularsTemplateNo}&circulars_no=${circularsNo}&cate_id=${cateId}&report_type_id=${reportTypeId}&status=${status}&period_type=${periodType}&period_value=${periodValue}&report_year=${reportYear}&page=${page}&size=${size}`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n async getItemsTree() {\r\n try {\r\n const response = await Client.get(`${resource}/items`);\r\n return response.data.data;\r\n } catch (error) {\r\n return {error: error};\r\n }\r\n },\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/departments/\";\r\n\r\nexport default {\r\n async get_department_byuser(params) {\r\n // console.log(\"getTarget\");\r\n try {\r\n console.log(\r\n `${resource}list_department_byuser?department_type=${params.department_type}`\r\n );\r\n const response = await Client.get(\r\n `${resource}list_department_byuser?department_type=${params.department_type}`\r\n );\r\n\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n create(payload) {},\r\n\r\n update(payload) {},\r\n\r\n delete(id) {},\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/pays/\";\r\n\r\nexport default {\r\n async get_pay(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_pay?year=${params.year}&month=${params.month}&status=${params.status}&id=${params.id}&report_name=${params.report_name}&form_name=${params.form_name}&circulars_number=${params.circulars_number}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async get_pay_file(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_pay_file?report_id=${params.report_id}&report_type=${params.report_type}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async get_statical_year(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_statical_year?year=${params.year}&type=${params.type}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async insert_pay(body) {\r\n try {\r\n const response = await Client.post(`${resource}insert_pay`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_pay(body) {\r\n try {\r\n const response = await Client.post(`${resource}update_pay`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_pay_file(body) {\r\n try {\r\n const response = await Client.post(`${resource}update_pay_file`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_pay_status(body) {\r\n try {\r\n const response = await Client.post(`${resource}update_pay_status`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async delete_pay(body) {\r\n try {\r\n const response = await Client.post(`${resource}delete_pay`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n /**\r\n * Tải bản báo cáo thu ngân sách từ CSDL Tỉnh\r\n * @param {*} params {month, year}\r\n */\r\n async syncPayReport(params) {\r\n try {\r\n const {data} = await Client.get(`${resource}sync_pay_report`, {params});\r\n return data;\r\n } catch (error) {\r\n return {\r\n status: 'failed',\r\n data: [],\r\n message: error\r\n }\r\n }\r\n }\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/revenues/\";\r\n\r\nexport default {\r\n async get_revenue(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_revenue?year=${params.year}&month=${params.month}&status=${params.status}&id=${params.id}&report_name=${params.report_name}&form_name=${params.form_name}&circulars_number=${params.circulars_number}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async get_revenue_file(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_revenue_file?report_id=${params.report_id}&report_type=${params.report_type}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async get_statical_year(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}get_statical_year?year=${params.year}&type=${params.type}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async insert_revenue(body) {\r\n try {\r\n const response = await Client.post(`${resource}insert_revenue`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_revenue(body) {\r\n try {\r\n const response = await Client.post(`${resource}update_revenue`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_revenue_file(body) {\r\n try {\r\n const response = await Client.post(\r\n `${resource}update_revenue_file`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_revenue_status(body) {\r\n try {\r\n const response = await Client.post(\r\n `${resource}update_revenue_status`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async delete_revenue(body) {\r\n try {\r\n const response = await Client.post(`${resource}delete_revenue`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n \r\n /**\r\n * Tải bản báo cáo thu ngân sách từ CSDL Tỉnh\r\n * @param {*} params {month, year}\r\n */\r\n async syncRevenueReport(params) {\r\n try {\r\n const {data} = await Client.get(`${resource}sync_revenue_report`, {params});\r\n return data;\r\n } catch (error) {\r\n return {\r\n status: 'failed',\r\n data: [],\r\n message: error\r\n }\r\n }\r\n }\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/dropdowns\";\r\n\r\nexport default {\r\n async get(type) {\r\n try {\r\n const response = await Client.get(`${resource}/${type}`);\r\n return response.data.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n type: {\r\n YEARS: `years`,\r\n EMPLOYEES: `employees`,\r\n DEPARTMENTS: `departments`,\r\n ACCOUNTS: `accounts`,\r\n TOPICS: `topics`,\r\n },\r\n async getEmployeeByDepartment() {\r\n try {\r\n const response = await Client.get(`${resource}/employeebydepartment`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n async getiOfficeEmployeeByDepartment() {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/ioffice-employee-by-department`\r\n );\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async getItemsTree(catCode) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/items?cat_code=${catCode}`\r\n );\r\n return response.data.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getDatabaseFinance_qt() {\r\n try {\r\n const response = await Client.get(`${resource}/databasefinance_qt`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n async getDatabaseFinance_ts() {\r\n try {\r\n const response = await Client.get(`${resource}/databasefinance_ts`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n};\r\n","import Client from '../AxiosClient';\r\nconst resource = '/private/ioffice';\r\n\r\nexport default {\r\n async getSendDocuments(fromDate, toDate) {\r\n try {\r\n const response = await Client.get(`${resource}/sentdocuments?from_date=${fromDate}&to_date=${toDate}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n async getReceiveDocuments(fromDate, toDate) {\r\n try {\r\n const response = await Client.get(`${resource}/receivedocuments?from_date=${fromDate}&to_date=${toDate}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getCalendarByDay(day) {\r\n try {\r\n const response = await Client.get(`${resource}/calendarbyday?day=${day}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getCalendar(fromDate, toDate) {\r\n try {\r\n const response = await Client.get(`${resource}/calendarfromto?from_date=${fromDate}&to_date=${toDate}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getInvitationLetter(fromDate, toDate) {\r\n try {\r\n const response = await Client.get(`${resource}/inviteletters?from_date=${fromDate}&to_date=${toDate}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getInvitationLetter_V2(fromDate, toDate, type) {\r\n try {\r\n const response = await Client.get(`${resource}/inviteletters_v2?from_date=${fromDate}&to_date=${toDate}&type=${type}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async reportInvitationLetter(fromDate, toDate, type) {\r\n try {\r\n const response = await Client.get(`${resource}/inviteletters_report?from_date=${fromDate}&to_date=${toDate}&type=${type}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getProcessDocument(id) {\r\n try {\r\n const response = await Client.get(`${resource}/processed_document?id=${id}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async downloadFile(fileName) {\r\n try {\r\n const response = await Client.get(`${resource}/inviteletters/file?file_name=${fileName}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async sendSms(phone_list, content) {\r\n try {\r\n const response = await Client.get(`${resource}/sendsms?phone_list=${phone_list}&content=${content}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n async getMeetingStatistics(username, from, to) {\r\n try {\r\n const response = await Client.get(`${resource}/statistics_meeting?username=${username}&from=${from}&to=${to}`)\r\n //console.log(response.data)\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error\r\n }\r\n }\r\n },\r\n /**\r\n * Gửi chỉ đạo nhanh\r\n */\r\n async quickGuidance(data) {\r\n try {\r\n const response = await Client.post(`${resource}/quick-guidance`, data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getReportJobUBND(maphong, loaigiaoviec, vaitro, tungay, denngay, sohieu, trichyeu) {\r\n try {\r\n const response = await Client.get(`${resource}/report_job_ubnd?maphong=${maphong}&loaigiaoviec=${loaigiaoviec}&vaitro=${vaitro}&tungay=${tungay}&denngay=${denngay}&sohieu=${sohieu}&trichyeu=${trichyeu}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getDepartment() {\r\n try {\r\n const response = await Client.get(`${resource}/department`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n\r\n}","import Client from '../AxiosClient';\r\nconst resource = '/private/portal';\r\n\r\nexport default {\r\n async getInfo() {\r\n try {\r\n const response = await Client.get(`${resource}/info`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/menus\";\r\n\r\nexport default {\r\n async list_menu_main() {\r\n try {\r\n const response = await Client.get(`${resource}/getmenu_main`);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n async get_menu(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/get_menu?menu_id=${params.menu_id}&menu_name=${params.menu_name}&tt=${params.tt}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async lock_menu(body) {\r\n try {\r\n const response = await Client.post(`${resource}/lock_menu`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async list_role_menu(menu_id) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_role_menu?menu_id=${menu_id}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_role_menu(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(`${resource}/update_role_menu`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async create_menu(body) {\r\n try {\r\n const response = await Client.post(`${resource}/create_menu`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_menu(body) {\r\n try {\r\n const response = await Client.post(`${resource}/update_menu`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/rolegroups\";\r\n\r\nexport default {\r\n //#region group\r\n async list_group_user(id) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_group_user?account_id=${id}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_grouprole_account(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(\r\n `${resource}/update_grouprole_account`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async list_group(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_group?group_id=${params.role_id}&group_name=${params.role_name}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error.message,\r\n };\r\n }\r\n },\r\n\r\n async lock_group(body) {\r\n try {\r\n const response = await Client.post(`${resource}/lock_group`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async create_group(body) {\r\n try {\r\n const response = await Client.post(`${resource}/create_group`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_group(body) {\r\n try {\r\n const response = await Client.post(`${resource}/update_group`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async list_group_role(group_id) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_group_role?group_id=${group_id}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_group_role(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(`${resource}/update_group_role`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n //#endregion\r\n\r\n //#region role\r\n\r\n async list_role_user(id) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_role_user?account_id=${id}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async update_role_account(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(\r\n `${resource}/update_role_account`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async list_role(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/list_role?role_id=${params.role_id}&role_name=${params.role_name}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async lock_role(body) {\r\n try {\r\n const response = await Client.post(`${resource}/lock_role`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async create_role(body) {\r\n try {\r\n const response = await Client.post(`${resource}/create_role`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_role(body) {\r\n try {\r\n const response = await Client.post(`${resource}/update_role`, body);\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n //#endregion\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/employees\";\r\n\r\nexport default {\r\n async get_employees(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/get_employees?employee_id=${params.employee_id}&full_name=${params.full_name}&phone_number=${params.phone_number}&department_id=${params.department_id}&tt=${params.tt}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async get_employee_deparment(params) {\r\n try {\r\n const response = await Client.get(\r\n `${resource}/get_employee_deparment?employee_id=${params.employee_id}&department_type=${params.department_type}`\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_employee_deparment(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(\r\n `${resource}/update_employee_deparment`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async change_status_employee(body) {\r\n try {\r\n const response = await Client.post(\r\n `${resource}/change_status_employee`,\r\n body\r\n );\r\n return response.data;\r\n } catch (error) {\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n\r\n async update_employee(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(`${resource}/update_employee`, body);\r\n return response.data;\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n async create_employee(body) {\r\n // console.log(\"getTarget\");\r\n try {\r\n const response = await Client.post(`${resource}/create_employee`, body);\r\n return response.data;\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n status: \"failed\",\r\n data: [],\r\n message: error,\r\n };\r\n }\r\n },\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/notifications\";\r\n\r\nexport default {\r\n async pushNotification(data) {\r\n try {\r\n const response = await Client.post(`${resource}`,data);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async getNotification(read, feature) {\r\n try {\r\n read = read !== undefined ? read : null;\r\n feature = feature !== undefined ? feature : \"\";\r\n const response = await Client.get(`${resource}?read=${read}&feature=${feature}`);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n async updateNotification(id) {\r\n try {\r\n const response = await Client.put(`${resource}`,id);\r\n return response;\r\n } catch (error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n\r\n update(payload) {},\r\n\r\n delete(id) {},\r\n};\r\n","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/briefingdrafts\";\r\n\r\nexport default {\r\n async search (month=\"\", year) {\r\n try {\r\n const result = await Client.get(`${resource}/?year=${year}${month !=\"\" ? `&month=${month}` : ''}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getOne (id) {\r\n try {\r\n const result = await Client.get(`${resource}/${id}`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async getAttachments(reportId) {\r\n try {\r\n const result = await Client.get(`${resource}/${reportId}/attachments`);\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async add (briefingDraft) {\r\n try {\r\n const result = await Client.post(`${resource}`, briefingDraft);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async update (briefingDraft) {\r\n try {\r\n const result = await Client.put(`${resource}`, briefingDraft);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n async remove (id) {\r\n try {\r\n const result = await Client.delete(`${resource}/${id}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n\r\n}","import Client from \"../AxiosClient\";\r\nconst activeURI = '/public/licenses/active';\r\nconst infoURI = '/public/licenses/info';\r\n\r\nexport default {\r\n\r\n async getInfo() {\r\n try {\r\n let {data} = await Client.get(`${infoURI}`);\r\n return data;\r\n } catch(error) {\r\n console.log(error);\r\n return { error: error};\r\n }\r\n },\r\n\r\n async active(license_key) {\r\n try {\r\n let {data} = await Client.post(`${activeURI}`, {license_key: license_key});\r\n console.log(data)\r\n return data;\r\n } catch(error) {\r\n console.log(error);\r\n return { error: error };\r\n }\r\n \r\n }\r\n\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/informs\";\r\n\r\nexport default {\r\n\r\n async getLatest (params) {\r\n try {\r\n const result = await Client.get(`${resource}/latest`, {params});\r\n return result;\r\n } catch (error) {\r\n return {\r\n status: 'failed',\r\n data: [],\r\n message: error\r\n }\r\n }\r\n },\r\n\r\n}","import Client from \"../AxiosClient\";\r\nconst resourceReport = \"/private/briefingcollections\";\r\n\r\nexport default {\r\n async searchReport(id, month, year, departmentId) {\r\n try {\r\n if (departmentId === -1) departmentId = \"\";\r\n const result = await Client.get(`${resourceReport}/searchreport`, {\r\n params: {\r\n id: id,\r\n briefings_month: month,\r\n briefings_year: year,\r\n department_id: departmentId\r\n }\r\n });\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n async insReport(data) {\r\n try {\r\n const result = await Client.post(`${resourceReport}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n \r\n async updReport(data) {\r\n try {\r\n const result = await Client.put(`${resourceReport}`, data);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n \r\n async delReport(id) {\r\n try {\r\n const result = await Client.delete(`${resourceReport}/${id}`);\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n \r\n async getfileReport(id) {\r\n try {\r\n const result = await Client.get(`${resourceReport}/getfile`, {\r\n params: {\r\n id: id\r\n }\r\n });\r\n return result.data;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n}","import Client from '../AxiosClient';\r\nconst resource = '/private/rankings';\r\n\r\nexport default {\r\n // Tra cứu bảng tổng hợp xếp loại lao động\r\n async getRankingsReport(year, month, department_id) {\r\n try {\r\n const params = {\r\n department_id: department_id ?? \"\",\r\n year: year ?? null,\r\n month: month ?? -1\r\n }\r\n const response = await Client.get(`${resource}/search`, {params: params});\r\n console.log(resource)\r\n return response;\r\n } catch(error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n },\r\n // Tải file excel bảng tổng hợp xếp loại lao động.\r\n async downloadRankingsReport(year,month,department_id) {\r\n try {\r\n const params = {\r\n department_id: department_id ?? \"\",\r\n year: year ?? null,\r\n month: month ?? -1\r\n }\r\n const response = await Client.get(`${resource}/download`, {\r\n headers: {\r\n \"Access-Control-Expose-Headers\": \"Content-Disposition\"\r\n },\r\n responseType: 'blob',\r\n params: params\r\n });\r\n return response;\r\n } catch(error) {\r\n return {\r\n \"status\": \"failed\",\r\n \"data\": [],\r\n \"message\": error.message\r\n }\r\n }\r\n }\r\n}","import Client from \"../AxiosClient\";\r\nconst resource = \"/private/dbFinance\";\r\nconst publicApi = \"/public/dbFinance\";\r\nconst fileQTApi =\r\n \"https://csdltaichinh.thainguyen.gov.vn:8066/api/ShareDataQuyetToan/file\";\r\nconst fileTSApi =\r\n \"https://csdltaichinh.thainguyen.gov.vn:8066/api/ShareDataTaiSan/file\";\r\n\r\nexport default {\r\n //#region settlement\r\n async searchSettlement(year, report) {\r\n try {\r\n const result = await Client.get(\r\n `${resource}/get_qt?year=${year}&report=${report}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n //#endregion\r\n\r\n //#region asset\r\n async searchAsset(year, report) {\r\n try {\r\n const result = await Client.get(\r\n `${resource}/get_ts?year=${year}&report=${report}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n //#endregion\r\n\r\n async getFileQT(filter) {\r\n const accessToken = await this.getToken();\r\n const headers = {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n Accept: \"application/octet-stream\",\r\n },\r\n };\r\n const response = await Client.post(`${fileQTApi}`, filter, headers);\r\n const blob = new Blob([response.data], {\r\n type: \"application/octet-stream\",\r\n });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Tạo một liên kết để tải xuống tệp\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\r\n \"download\",\r\n filter.reportCode + \"_\" + filter.namBC + \".xls\"\r\n ); // Thay 'ten_file_tai_ve.ext' bằng tên bạn muốn đặt cho tệp\r\n document.body.appendChild(link);\r\n link.click();\r\n // Xóa liên kết sau khi đã tải xuống\r\n document.body.removeChild(link);\r\n },\r\n\r\n async getFileTS(filter) {\r\n const accessToken = await this.getToken();\r\n const headers = {\r\n responseType: \"arraybuffer\",\r\n headers: {\r\n Authorization: \"Bearer \" + accessToken,\r\n Accept: \"application/octet-stream\",\r\n },\r\n };\r\n const response = await Client.post(`${fileTSApi}`, filter, headers);\r\n // console.log(response);\r\n // return;\r\n const blob = new Blob([response.data], {\r\n type: \"application/octet-stream\",\r\n });\r\n const url = URL.createObjectURL(blob);\r\n\r\n // Tạo một liên kết để tải xuống tệp\r\n const link = document.createElement(\"a\");\r\n link.href = url;\r\n link.setAttribute(\r\n \"download\",\r\n filter.reportCode + \"_\" + filter.nam + \".xls\"\r\n );\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n },\r\n async getToken() {\r\n const result = await Client.get(`${publicApi}/gettoken`, {});\r\n\r\n return result.data.token;\r\n },\r\n\r\n async getqt() {\r\n const result = await Client.get(`${publicApi}/getlist_qt`, {});\r\n // console.log(result);\r\n return result.data.data;\r\n },\r\n async getts() {\r\n const result = await Client.get(`${publicApi}/getlist_ts`, {});\r\n\r\n return result.data.data;\r\n },\r\n\r\n async PUB_searchSettlement(year, report) {\r\n try {\r\n const result = await Client.get(\r\n `${publicApi}/get_qt?year=${year}&report=${report}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n\r\n //#endregion\r\n\r\n //#region asset\r\n async PUB_searchAsset(year, report) {\r\n try {\r\n const result = await Client.get(\r\n `${publicApi}/get_ts?year=${year}&report=${report}`\r\n );\r\n return result;\r\n } catch (error) {\r\n return { error: error };\r\n }\r\n },\r\n ///////// get nam\r\n async getYear(p) {\r\n const result = await Client.get(`${publicApi}/getYear?report=${p}`, {});\r\n //console.log(result.data.data[0].value);\r\n return result.data.data[0].value;\r\n },\r\n\r\n async getDashboard(p, y) {\r\n const result = await Client.get(\r\n `${publicApi}/getDashboard?report=${p}&year=${y}`,\r\n {}\r\n );\r\n //console.log(result.data.data[0].value);\r\n return result.data;\r\n },\r\n};\r\n","import {\r\n auth,\r\n file,\r\n user,\r\n emulation,\r\n survey,\r\n timekeeping,\r\n briefings,\r\n budgetreport,\r\n publicbudgetreport,\r\n department,\r\n pay,\r\n revenue,\r\n dropdowns,\r\n ioffice,\r\n portal,\r\n menu,\r\n rolegroup,\r\n employee,\r\n notification,\r\n briefingDraft,\r\n license,\r\n inform,\r\n briefingCollection,\r\n rankingsReport,\r\n databasefinance,\r\n} from \"./modules\";\r\n\r\nconst repositories = {\r\n files: file,\r\n auth: auth,\r\n users: user,\r\n emulations: emulation,\r\n surveys: survey,\r\n timekeepings: timekeeping,\r\n briefings: briefings,\r\n budgetreport: budgetreport,\r\n publicbudgetreport: publicbudgetreport,\r\n departments: department,\r\n pays: pay,\r\n revenues: revenue,\r\n dropdowns: dropdowns,\r\n ioffices: ioffice,\r\n portals: portal,\r\n menus: menu,\r\n rolegroups: rolegroup,\r\n employees: employee,\r\n notifications: notification,\r\n briefingDraft: briefingDraft,\r\n license: license,\r\n inform: inform,\r\n briefingCollection: briefingCollection,\r\n rankingsReport: rankingsReport,\r\n databasefinance: databasefinance,\r\n};\r\n\r\nexport default {\r\n get: (repo) => repositories[repo],\r\n};\r\n"],"sourceRoot":""}