{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/moduleApi/KhaoSatApi.js","webpack:///./src/service/ApiServiceAxios.js","webpack:///./src/service/mushroom.api.def.js","webpack:///./src/service/mushroom.es6.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/service/mushroom.file.js","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///./src/App.vue?8f16","webpack:///./src/App.vue?a938","webpack:///./src/router/index.js","webpack:///./src/store/state.js","webpack:///./src/store/mutations.js","webpack:///./src/store/action.js","webpack:///./src/store/getters.js","webpack:///./src/store/store.js","webpack:///./src/directive/ladda.js","webpack:///./src/directive/filters.js","webpack:///./src/main.js","webpack:///./src/App.vue?2307","webpack:///./src/service/ExtensionService.js","webpack:///./src/service/ApiService.js","webpack:///./src/service/mushroom.auth.js","webpack:///./src/service/AuthService.js","webpack:///./src/service/LanguageService.js","webpack:///./src/service/MethodService.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","moduleApi","token","MethodService","getToken","UrlApiKhaoSat","MyConfig","UrlHostApi831","hostApi831","GetHoSo831ByHSSKCN_ID","_ref","_asyncToGenerator","regeneratorRuntime","mark","_callee","HSSKCN_ID","currentUser","api","wrap","_context","prev","next","getCurrentUserBS","checkToken","method","url","params","ApplicationCode","applicationCode831","MaTinhThanhSoYTe","MaTinhThanhCSKCB","success","abrupt","ApiServiceAxios","stop","_x","arguments","GetHSSKByHSSKCN_ID","_ref2","_callee2","_context2","_x2","getHSSKCN","_ref3","_callee3","MaDangKyOrMaThe","_context3","MaDangKy","_x3","getHSSKCNByAccount","_callee4","_context4","UserName","updateHSSKCN","_ref5","_callee5","dataForm","_context5","_x4","getHSSK831","_ref6","_callee6","_context6","_x5","updateBHYT","_ref7","_callee7","_context7","_x6","SaveHSSK_TT_LUC_SINH","_ref8","_callee8","_context8","_x7","SaveHSSK_YTSK","_ref9","_callee9","_context9","_x8","SaveHSSK_KTAT","_ref10","_callee10","_context10","_x9","SaveHSSK_PTHUAT","_ref11","_callee11","_context11","_x10","SaveHSSK_SKSS","_ref12","_callee12","_context12","_x11","SaveHSSK_VANDE_KHAC","_ref13","_callee13","_context13","_x12","SaveHSSK_DIUNG","_ref14","_callee14","_context14","_x13","SaveHSSK_DIUNG_GD","_ref15","_callee15","_context15","_x14","SaveHSSK_BENHTAT","_ref16","_callee16","_context16","_x15","SaveHSSK_BENHTATGD","_ref17","_callee17","_context17","_x16","SaveHSSK_TCHUNG_UVAN","_ref18","_callee18","_context18","_x17","LoadDMQuocGia","_callee19","_context19","LoadDMDanToc","_callee20","_context20","LoadDMGioiTinh","_callee21","_context21","LoadDMCSKCB","_callee22","_context22","LoadDMTonGiao","_callee23","_context23","LoadDMKhuyetTat","_callee24","_context24","LoadDMKhoa","_callee25","_context25","LoadDMTinhThanh","_callee26","_context26","LoadDMQuanHuyen","_ref27","_callee27","MaTinhThanh","_context27","_x18","LoadDMPhuongXa","_ref28","_callee28","MaQuanHuyen","_context28","_x19","_x20","LoadDMCoSoCachLy","_ref29","_callee29","_context29","_x21","SaveUser","_callee30","_context30","LoadDMUserByMaCSKCB","_ref31","_callee31","MaCSKCB","_context31","_x22","LoadDMUserByUserName","_ref32","_callee32","cardCode","_context32","_x23","_x24","SearchHSSK_CN","_ref33","_callee33","_context33","HoVaTen","NgaySinh","GioiTinh","MaTinhThanhHoKhau","MaQuanHuyenHoKhau","MaPhuongXaHoKhau","SoCMND","SoTheBHYT","SoDienThoai","MaTheHoacMaDangKy","MaHoGD","MaTinhThanhNoiOHienTai","MaQuanHuyenNoiOHienTai","MaPhuongXaNoiOHienTai","_x25","getBieuMau1","card_Code","ApiService","getBieuMau2","_ref34","_callee34","body","_context34","_x26","DoiMatKhau","_ref35","_callee35","_context35","_x27","NProgress","require","blockUi","start","$","css","unblockUi","done","Ladda","stopAll","configure","trickleSpeed","minimum","requestCount","checkSuccess","res","objData","toastr","LanguageService","lang","c_addSuccess","c_updateSuccess","c_deleteSuccess","meta","successIds","c_delete","c_recordSuccess","failureIds","c_recordError","checkError","c_findError","c_addError","c_updateError","c_deleteError","dontLoading","axios","response","catch","toQueryString","obj","path","Array","isArray","map","item","join","arr","mushroom","_defineAsyncResource","actions","findById","clientCache","findMany","createOne","updatePartially","deleteOne","views","layHoTenTheoSoThe","dot_kham","requestOtpAsync","parameters","__createAsyncRestFunction","resource","blankBody","headers","_fnGetRootApiUrl","connection","validateOtpAsync","ho_so_831","get_chi_phi_by_id_dot_kham_chua_benhAsync","get_ho_so_831Async","get_phrAsync","nguoi_dan","get_index_831Async","getAllInForAsync","param","rootApiUrl","$using","dang_ky_kham","get_hospitalAsync","get_roomAsync","get_serviceAsync","get_patient_typeAsync","registerAsync","survey","bieu_mau_1Async","bieu_mau_2_3Async","doi_tuong_cach_ly","get_manyAsync","bac_sy","importExcelAsync","diem_den_an_toan","clearCache","tin_tuc","deleteAsync","id","register_for_exam_config","advisory_for_exam_config","version","hostApi","connectionStatus","events","app_id","applicationId","env","MushroomError","subCode","detail","instance","setPrototypeOf","getPrototypeOf","this","captureStackTrace","fireEvent","_fireEvent","eventName","args","evt","findManyUrlGenerator","config","settings","base","_typeof","filters","forEach","fields","encodeURIComponent","sort","limit","offset","page","vn_text","findByIdUrlGenerator","ReferenceError","resourceUrlGenerator","resourceIdUrlGenerator","entityViewUrlGenerator","viewName","queryString","viewUrlGenerator","constructor","writable","configurable","__proto__","cache","cache_age","createAsyncRestfulFunction","dataOrSettings","cacheItem","x","headerName","action","context","isRawData","enabledCache","toUpperCase","cacheAge","beforeSend","log","Date","getTime","JSON","parse","ex","XMLHttpRequest","open","setRequestHeader","_requestTimeout","onreadystatechange","readyState","status","responseText","me","mushroomError","stringify","addEventListener","processData","send","_rootApiUrl","TypeError","actionName","listAsync","findByIdAsync","createAsync","batchCreateAsync","updateAsync","batchUpdateAsync","partialUpdateAsync","batchDeleteAsync","_defineAsyncView","$view","_on","fnHandler","eventList","_unbindEvent","idx","indexOf","_hasEvent","$cache","invalid","RegExp","test","warn","setCacheAge","ms","RangeError","webpackContext","req","webpackContextResolve","keys","download","downloadLink","onclick","style","display","click","$file","uploadAsync","FileName","file","Tags","tags","progress","zip","ids","render","_vm","_c","_self","staticRenderFns","component","DefaultContainer","DefaultContainerClient","AdminHome","AdminHssk4210List","AdminHsskHL7List","AdminHssk831Detail","AdminHssk831Update","AdminPhienBanList","AdminPhienBanForm","AdminCapNhatFilePDF","AdminKhaiBaoDichList","AdminDangKyKhamList","AdminDangKyKhamForm","AdminDangKyKhamFormS2","AdminDangKyKhamFormS3","AdminDangKyKhamFormS4","AdminDangKyKhamFormS5","AdminKhamDichList","AdminKhamDichForm","AdminDoiTuongTheoDoiList","AdminDoiTuongTheoDoiForm","AdminDoiTuongTheoDoiBaoCao","AdminBieuMauTongHop2AList","AdminBieuMauTongHop2BList","AdminHsskBNList","AdminHsskBNForm","AdminHsskBNFormSK","AdminDanhMucTinTucList","AdminDanhMucTinTucForm","AdminTinTucList","AdminTinTucForm","AdminChatRoomList","AdminChatRoomForm","AdminQATypesForm","AdminQATypesList","AdminSucKhoeCaNhanList","AdminSucKhoeCaNhanForm","AdminBacSi","AdminBacSiImport","AdminAppList","AdminAppForm","AdminAppConfigList","AdminAppConfigForm","AdminTiemChung","AdminCauHinhDangKyKhamList","AdminCauHinhDangKyKhamForm","AdminCauHinhDangKyTuVanKhamList","AdminCauHinhDangKyTuVanKhamForm","AuthPage404","AuthLogin","AuthRegister","AuthChangePassword","AuthForgotPassword","AuthResetPassword","Vue","use","Router","router","pathDefault","linkActiveClass","scrollBehavior","y","routes","redirect","defaultRouter","children","allowAccess","beforeEach","to","from","dataRouter","query","routerHistory","localStorage","setItem","AuthService","account","roles","access","logout","removeItem","sessionStorage","location","warning","state","refreshFnCountNew","reload","isResult","mutations","phanHoi","reloadModalDetailHL7","dataSearchUser","dataUser","getters","Vuex","store","Store","ladda","el","binding","vnode","attr","capitalize","toString","BootstrapVue","Swal","jQuery","options","VueQuillEditor","placeholder","VueNumeric","enLocale","datepicker","year","viLocale","language","locale","Element","size","zIndex","arg","directive","filter","template","components","App","methods","created","ExtensionService","urlImg","urlFile","urlFilesTemplate","DSBacSiVien","upload","rawDataFile","raw","c_uploadError","viewAction","setStorageItem","getStorageItem","getItem","removeStorageItem","getAllStorageKeys","tokenPool","saveToken","permanent","deleteToken","$auth","expiredTime","loadTokens","charAt","expired","parseInt","isNaN","apiUrl","substring","isReady","loginAsync","password","remember","loginV2Async","card_code","loginOneLinkAsync","loginRoleAsync","logoutAsync","statusAsync","meAsync","activateAsync","onelinkRequestRecoverPasswordAsync","phoneNumber","recoverPasswordAsync","onelinkRecoverPasswordAsync","otp","newPassword","changePasswordAsync","oldPassword","changePasswordAdminAsync","resetPasswordAsync","checkActiveAsync","requestActivateCodeAsync","activateAccountAsync","Token","checkTokenTichHop","loginBs","res_login","res_infoBS","login","sent","KhaoSatApi","logoutAll","register","requireActivation","activate","activationCode","recoverPassword","oneLinkRecoverPassword","resetPassword","oneLinkResetPassword","changePassword","changePasswordAdmin","checkActive","requestActiveCode","ActiveAccount","dict","vi","en","formatMoney","replace","checkRole","stringRoles","split","flag","trim","getCurrentUser","currentUserBS","element","formatDate","formatDatetime","valueFormat","placeholderDate","placeholderDatetime","formatMonth","placeholderMonth","formatYear","placeholderYear","formatDateMoment","rule","format","moment","formatDate2","z","formatTimestamp","formatStringToIsoDate","checkIsoDate","getAboutTime","timeAgo","fromNow","getDay","getMonth","getYear","findItem","attrFind","val","find","addDate","numberTime","add","getDate","formatterTrimString","row","column","cellValue","index","number","lengthAllow","width","realWidth","formatterFloatNumber","parseFloat","toFixed","stringToObject","stringObj","decodeURI","specialCharactersRegex","match","each","valueRegex","string","CalculationYear","last","toGo","yearNow","getFullYear","beforeAvatarUpload","mb","EndYearBind","startYear","setYear","yearPresent","rangToYearStart","StartYearBind","endYear","Number","stopLadda","checkFileSize","isString","String","isNumber","isFinite","isFunction","isObject","isDate","isBoolean","isNull","isUndefined","checkIsDate","day","month","date","copyObject","checkDifferentObject","objectOld","objectNew","forObject","key_objectOld","value_objectOld","findListItemDifferent","arrItem","field","arrItemNew","findListItemDuplicate","arrItem1","arrItem2","markdownOption","previewStyle","minHeight","useCommandShortcut","useDefaultHTMLSanitizer","usageStatistics","hideModeSwitch","toolbarItems","markdownModel","dialogImage","dialogImageTab","dataFormImage","title","link","validFormImage","replaceURLImage","unreplaceURLImage","concat","readExcel","dataFile","readXlsxFile","rows","checkSDT","filterTable","jsonFilter","dataSearch","operator","valueChange","includes","special","sortObjectByKeyDate","unordered","ordered","a","b","sortObjectByKeyDate2","createGuid","S4","Math","random","guid","substr","toLowerCase","soSanhVoiNgayHomNay","now","dayNow","checkIsNullObject","formatDate3","trimFormData","formData","trimTextData","textData","NgaySinhSlice","change_alias","alias","str","checkIsFileImage","count","exportExcel","dataList","workbook","Excel","Workbook","calcProperties","fullCalcOnLoad","height","firstSheet","activeTab","visibility","worksheet","addWorksheet","xSplit","ySplit","columns","header","getRow","eachCell","cell","colNumber","getCell","font","bold","alignment","vertical","horizontal","first_name","last_name","hospital_code","hospital_name","license_code","note","addRow","xlsx","writeBuffer","blob","Blob","FileSaver","saveAs"],"mappings":"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","file":"js/app.74e28bfa.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\"app\": 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\"app\": 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-02364f48\":\"e03312b7\",\"chunk-07817330\":\"8763e90e\",\"chunk-088100ec\":\"41fef300\",\"chunk-0fdaa4b3\":\"deb4f876\",\"chunk-135bbde8\":\"d424ff99\",\"chunk-16a6e05e\":\"cf6f70da\",\"chunk-2d0b5fb8\":\"87829187\",\"chunk-60991e4a\":\"8f5a6839\",\"chunk-21c1488b\":\"013ad141\",\"chunk-2849015a\":\"9413a7ba\",\"chunk-292f9835\":\"0e3a3048\",\"chunk-2d0c8644\":\"b00208ee\",\"chunk-055e0934\":\"27308627\",\"chunk-1d172bf2\":\"e003e534\",\"chunk-376cdc5d\":\"af4ef874\",\"chunk-3e68061e\":\"9084437a\",\"chunk-4a36478c\":\"74cd8853\",\"chunk-4f266b52\":\"82e49650\",\"chunk-6261acc2\":\"5d9ffcf6\",\"chunk-7bec6b2e\":\"edad4923\",\"chunk-9e918534\":\"ae50ead4\",\"chunk-e6c46ff0\":\"ee1c908c\",\"chunk-9c2b0560\":\"91271826\",\"chunk-f0e9365a\":\"a41ad0fa\",\"chunk-55a84048\":\"e3c216c6\",\"chunk-f3418980\":\"7c0b5ca2\",\"chunk-196d5612\":\"ee987fe9\",\"chunk-43c0b04b\":\"f2baa353\",\"chunk-58a1fa08\":\"bd51647f\",\"chunk-243d4cb0\":\"a8efed18\",\"chunk-2d0e5060\":\"c39d614d\",\"chunk-2d221dc5\":\"9985a6a6\",\"chunk-373829f9\":\"b00aafc1\",\"chunk-3f19b951\":\"8cb84570\",\"chunk-3f8379f0\":\"0a2821ee\",\"chunk-41711611\":\"474323dd\",\"chunk-45c65724\":\"35d5ba30\",\"chunk-4b7fc77c\":\"7193d216\",\"chunk-54bf6ca6\":\"f860411a\",\"chunk-5cb228df\":\"f4d66b99\",\"chunk-5da863da\":\"f2e5a9d3\",\"chunk-66e6f34e\":\"f2caeeeb\",\"chunk-679bf44a\":\"28715d33\",\"chunk-68ec3481\":\"393754f0\",\"chunk-69c77fa4\":\"85d2dec0\",\"chunk-6ece08ac\":\"6228db35\",\"chunk-757b45de\":\"79362463\",\"chunk-7d549e35\":\"e3944a5c\",\"chunk-7de2a3ab\":\"b1c4cba2\",\"chunk-8090f902\":\"d791fe1d\",\"chunk-81dba02c\":\"9ed66761\",\"chunk-985263b8\":\"2c92c28c\",\"chunk-a99dcd2e\":\"d837c015\",\"chunk-ae571fe0\":\"1e8a6d59\",\"chunk-aed18f9e\":\"b00bc742\",\"chunk-b02cca16\":\"60d0dd24\",\"chunk-ba98132c\":\"c96797be\",\"chunk-d727d906\":\"f61e49ff\",\"chunk-d87e9d8c\":\"efeb484c\",\"chunk-2d0be169\":\"5c916987\",\"chunk-f4437008\":\"bf0b521d\"}[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-02364f48\":1,\"chunk-07817330\":1,\"chunk-60991e4a\":1,\"chunk-21c1488b\":1,\"chunk-292f9835\":1,\"chunk-055e0934\":1,\"chunk-376cdc5d\":1,\"chunk-3e68061e\":1,\"chunk-4a36478c\":1,\"chunk-4f266b52\":1,\"chunk-6261acc2\":1,\"chunk-7bec6b2e\":1,\"chunk-9c2b0560\":1,\"chunk-f0e9365a\":1,\"chunk-58a1fa08\":1,\"chunk-373829f9\":1,\"chunk-3f19b951\":1,\"chunk-3f8379f0\":1,\"chunk-41711611\":1,\"chunk-5da863da\":1,\"chunk-679bf44a\":1,\"chunk-68ec3481\":1,\"chunk-6ece08ac\":1,\"chunk-757b45de\":1,\"chunk-985263b8\":1,\"chunk-a99dcd2e\":1,\"chunk-ae571fe0\":1,\"chunk-aed18f9e\":1,\"chunk-b02cca16\":1,\"chunk-d727d906\":1,\"chunk-d87e9d8c\":1,\"chunk-f4437008\":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-02364f48\":\"13d38cc2\",\"chunk-07817330\":\"9fbaf58f\",\"chunk-088100ec\":\"31d6cfe0\",\"chunk-0fdaa4b3\":\"31d6cfe0\",\"chunk-135bbde8\":\"31d6cfe0\",\"chunk-16a6e05e\":\"31d6cfe0\",\"chunk-2d0b5fb8\":\"31d6cfe0\",\"chunk-60991e4a\":\"d1ed919c\",\"chunk-21c1488b\":\"f51d046e\",\"chunk-2849015a\":\"31d6cfe0\",\"chunk-292f9835\":\"9fa3fc0c\",\"chunk-2d0c8644\":\"31d6cfe0\",\"chunk-055e0934\":\"f2b3a2c5\",\"chunk-1d172bf2\":\"31d6cfe0\",\"chunk-376cdc5d\":\"f52f11a0\",\"chunk-3e68061e\":\"d6de5ffc\",\"chunk-4a36478c\":\"f31aa118\",\"chunk-4f266b52\":\"9dd6d33f\",\"chunk-6261acc2\":\"a7e44f9a\",\"chunk-7bec6b2e\":\"9b80d579\",\"chunk-9e918534\":\"31d6cfe0\",\"chunk-e6c46ff0\":\"31d6cfe0\",\"chunk-9c2b0560\":\"903740c3\",\"chunk-f0e9365a\":\"46245671\",\"chunk-55a84048\":\"31d6cfe0\",\"chunk-f3418980\":\"31d6cfe0\",\"chunk-196d5612\":\"31d6cfe0\",\"chunk-43c0b04b\":\"31d6cfe0\",\"chunk-58a1fa08\":\"97299f95\",\"chunk-243d4cb0\":\"31d6cfe0\",\"chunk-2d0e5060\":\"31d6cfe0\",\"chunk-2d221dc5\":\"31d6cfe0\",\"chunk-373829f9\":\"c52175ef\",\"chunk-3f19b951\":\"7624d695\",\"chunk-3f8379f0\":\"cf437652\",\"chunk-41711611\":\"2392419e\",\"chunk-45c65724\":\"31d6cfe0\",\"chunk-4b7fc77c\":\"31d6cfe0\",\"chunk-54bf6ca6\":\"31d6cfe0\",\"chunk-5cb228df\":\"31d6cfe0\",\"chunk-5da863da\":\"f351ec22\",\"chunk-66e6f34e\":\"31d6cfe0\",\"chunk-679bf44a\":\"9b5be276\",\"chunk-68ec3481\":\"05b36cea\",\"chunk-69c77fa4\":\"31d6cfe0\",\"chunk-6ece08ac\":\"522eb5e5\",\"chunk-757b45de\":\"12fb93f9\",\"chunk-7d549e35\":\"31d6cfe0\",\"chunk-7de2a3ab\":\"31d6cfe0\",\"chunk-8090f902\":\"31d6cfe0\",\"chunk-81dba02c\":\"31d6cfe0\",\"chunk-985263b8\":\"026b7413\",\"chunk-a99dcd2e\":\"39739fb7\",\"chunk-ae571fe0\":\"18d18e67\",\"chunk-aed18f9e\":\"494fac4d\",\"chunk-b02cca16\":\"53aec2c6\",\"chunk-ba98132c\":\"31d6cfe0\",\"chunk-d727d906\":\"0d5d514b\",\"chunk-d87e9d8c\":\"551b869e\",\"chunk-2d0be169\":\"31d6cfe0\",\"chunk-f4437008\":\"bd60371c\"}[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","\r\nimport ApiService from '../service/ApiService';\r\nimport ApiServiceAxios from '../service/ApiServiceAxios';\r\nimport MethodService from '../service/MethodService';\r\n\r\nlet moduleApi = {};\r\nlet token = MethodService.getToken();\r\nlet UrlApiKhaoSat = window.MyConfig.UrlApiKhaoSat;\r\nlet UrlHostApi831 = window.MyConfig.hostApi831;\r\n\r\nmoduleApi.GetHoSo831ByHSSKCN_ID = async (HSSKCN_ID) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"GetHoSo831ByHSSKCN_ID\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB,\r\n HSSKCN_ID: HSSKCN_ID\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.GetHSSKByHSSKCN_ID = async (HSSKCN_ID) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"GetHSSK_CN\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB,\r\n HSSKCN_ID: HSSKCN_ID\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\n\r\n// chưa có\r\nmoduleApi.getHSSKCN = async (MaDangKyOrMaThe) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"GetHoSo831ByMaDangKy\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB,\r\n MaDangKy: MaDangKyOrMaThe\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.getHSSKCNByAccount = async () => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"GetListHSSK_CNByAccount\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB,\r\n UserName: currentUser.UserName\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n}\r\nmoduleApi.updateHSSKCN = async (dataForm) => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_CNAsync\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Cập nhật không thành công\",\r\n },\r\n };\r\n\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.getHSSK831 = async (MaDangKy) => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = { \r\n method: \"GET\",\r\n url: UrlHostApi831 + \"GetHoSo831ByMaDangKy\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaDangKy: MaDangKy\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Lấy HSSK 831 không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.updateBHYT = async (dataForm) => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_BHYT\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Cập nhật không thành công\",\r\n },\r\n };\r\n\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_TT_LUC_SINH = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_TT_LUC_SINH\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_YTSK = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_YTSK\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_KTAT = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_KTAT\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_PTHUAT = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_PTHUAT\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_SKSS = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_SKSS\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_VANDE_KHAC = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_VANDE_KHAC\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_DIUNG = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_DIUNG\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_DIUNG_GD = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_DIUNG_GD\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_BENHTAT = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_BENHTAT\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_BENHTATGD = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_BENHTATGD\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SaveHSSK_TCHUNG_UVAN = async (dataForm) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SaveHSSK_TCHUNG_UVAN\",\r\n data: dataForm,\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n }\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMQuocGia = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMQuocGia\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMDanToc = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMDanToc\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMGioiTinh = async () => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMGioiTinh\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMCSKCB = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMCSKCB\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMTonGiao = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMTonGiao\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMKhuyetTat = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMKhuyetTat\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMKhoa = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMKhoa\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMTinhThanh = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMTinhThanh\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMQuanHuyen = async (MaTinhThanh) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMQuanHuyen\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n if (MaTinhThanh) {\r\n api.params.MaTinhThanh = MaTinhThanh;\r\n }\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMPhuongXa = async (MaTinhThanh, MaQuanHuyen) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMPhuongXa\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n if (MaTinhThanh) {\r\n api.params.MaTinhThanh = MaTinhThanh;\r\n }\r\n if (MaQuanHuyen) {\r\n api.params.MaQuanHuyen = MaQuanHuyen;\r\n }\r\n return ApiServiceAxios(api);\r\n};\r\nmoduleApi.LoadDMCoSoCachLy = async (MaTinhThanh) => {\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMDiaDiemCachLy\",\r\n // data: {},\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: MaTinhThanh\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tải dữ liệu danh mục không thành công\",\r\n },\r\n };\r\n if (MaTinhThanh) {\r\n api.params.MaTinhThanh = MaTinhThanh;\r\n }\r\n // if (MaQuanHuyen) {\r\n // api.params.MaQuanHuyen = MaQuanHuyen;\r\n // }\r\n return ApiServiceAxios(api);\r\n};\r\nmoduleApi.SaveUser = async () => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"SaveUser\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMUserByMaCSKCB = async (MaCSKCB) => {\r\n\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMUserByMaCSKCB\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB,\r\n MaCSKCB: MaCSKCB\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.LoadDMUserByUserName = async (cardCode, token) => {\r\n let api = {\r\n method: \"GET\",\r\n url: UrlApiKhaoSat + \"LoadDMUserByUserName\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: '',\r\n UserName: cardCode\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\nmoduleApi.SearchHSSK_CN = async (dataForm) => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"SearchHSSK_CN\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanhSoYTe: currentUser.MaTinhThanhCSKCB\r\n },\r\n data: {\r\n HoVaTen: dataForm.HoVaTen ? dataForm.HoVaTen : '',\r\n NgaySinh: dataForm.NgaySinh ? dataForm.NgaySinh : '',\r\n GioiTinh: dataForm.GioiTinh ? dataForm.GioiTinh : '',\r\n MaTinhThanhHoKhau: '',\r\n MaQuanHuyenHoKhau: '',\r\n MaPhuongXaHoKhau: '',\r\n SoCMND: dataForm.SoCMND ? dataForm.SoCMND : '',\r\n SoTheBHYT: dataForm.SoTheBHYT ? dataForm.SoTheBHYT : '',\r\n SoDienThoai: dataForm.SoDienThoai ? dataForm.SoDienThoai : '',\r\n MaTheHoacMaDangKy: dataForm.MaTheHoacMaDangKy ? dataForm.MaTheHoacMaDangKy : '',\r\n MaHoGD: dataForm.MaHoGD ? dataForm.MaHoGD : '',\r\n MaTinhThanhNoiOHienTai: dataForm.MaTinhThanhHoKhau ? dataForm.MaTinhThanhHoKhau : '',\r\n MaQuanHuyenNoiOHienTai: dataForm.MaQuanHuyenHoKhau ? dataForm.MaQuanHuyenHoKhau : '',\r\n MaPhuongXaNoiOHienTai: dataForm.MaPhuongXaHoKhau ? dataForm.MaPhuongXaHoKhau : '',\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"Tìm kiếm người dân không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\n/* có thay đổi cách seacrh nhé\r\ncó thể search 1 trong 5 thông tin sau\r\n- CMND\r\n- Số BHYT\r\n- Số dthoai\r\n- Mã thẻ hoặc mã MS\r\n- Bộ thông tin hành chính (họ tên, ngày sinh, giới tính, mã tỉnh thành hộ khẩu, mã quận huyện hộ khẩu, mã phường xã hộ khẩu)\r\n\r\n\r\n1 trong 5 nhóm thông tin này có dữ liệu là cho search chứ không nhất nhiết phải đầy đủ all 5 nhóm thông tin\r\nriêng phần bộ thông tin hành chính, mấy ông bổ sung thêm Mã Tỉnh / thành, quận /huyện, phường xã đăng ký hộ khẩu để đủ điều kiện search nhé\r\n */\r\n\r\n\r\nmoduleApi.getBieuMau1 = (cardCode) => {\r\n let api = {\r\n module: \"survey\",\r\n type: \"bieu_mau_1\",\r\n value: {\r\n card_Code: cardCode\r\n },\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiService(api);\r\n};\r\n\r\nmoduleApi.getBieuMau2 = async (body) => {\r\n // body = {\r\n // ma_tinh = \"\",\r\n // ma_huyen = \"\",\r\n // ma_xa = \"\",\r\n // ma_cscl = \"\",\r\n // ngay_theo_doi = \"\"\r\n // }\r\n let api = {\r\n module: \"survey\",\r\n type: \"bieu_mau_2_3\",\r\n value: body,\r\n message: {\r\n success: \"\",\r\n error: \"\",\r\n },\r\n };\r\n return ApiService(api);\r\n};\r\n\r\nmoduleApi.DoiMatKhau = async (dataForm) => {\r\n let currentUser = MethodService.getCurrentUserBS();\r\n token = MethodService.checkToken(token);\r\n let api = {\r\n method: \"POST\",\r\n url: UrlApiKhaoSat + \"DoiMatKhau\",\r\n params: {\r\n token: token,\r\n ApplicationCode: window.MyConfig.applicationCode831,\r\n MaTinhThanh: currentUser.MaTinhThanhCSKCB\r\n },\r\n data: dataForm,\r\n message: {\r\n success: \"\",\r\n error: \"Đổi mật khẩu không thành công\",\r\n },\r\n };\r\n return ApiServiceAxios(api);\r\n};\r\n\r\n\r\nexport default moduleApi;\r\n","import LanguageService from './LanguageService';\r\nimport axios from 'axios';\r\n\r\nvar NProgress = require('nprogress');\r\nNProgress.configure({\r\n trickleSpeed: 1000,\r\n minimum: 0.2,\r\n});\r\n\r\nfunction blockUi() {\r\n NProgress.start();\r\n $(\"body\").css(\"pointer-events\", \"none\");\r\n}\r\n\r\nfunction unblockUi() {\r\n setTimeout(() => {\r\n NProgress.done();\r\n Ladda.stopAll();\r\n $(\"body\").css(\"pointer-events\", \"auto\");\r\n }, 200);\r\n}\r\n\r\nwindow.requestCount = 0;\r\n\r\nlet ApiService = {};\r\n\r\nApiService = (objData) => {\r\n\r\n if (window.requestCount == 0 && !objData.dontLoading) {\r\n blockUi();\r\n }\r\n window.requestCount += 1;\r\n\r\n // objData = {\r\n // method: \"\",\r\n // url: \"\", \r\n // headers: {},\r\n // params: {},\r\n // data: {},\r\n // type: \"\",\r\n // message: { \r\n // success: \"\",\r\n // error: \"\",\r\n // },\r\n // }\r\n\r\n return axios(objData)\r\n .then(response => {\r\n checkSuccess(response, objData);\r\n return response;\r\n })\r\n .catch(error => {\r\n checkError(error, objData);\r\n throw error;\r\n });\r\n\r\n};\r\n\r\n\r\nfunction checkSuccess(res, objData) {\r\n\r\n window.requestCount -= 1;\r\n if (window.requestCount == 0) {\r\n unblockUi();\r\n }\r\n if (objData.message && objData.message.success && objData.message.success == \"hidden\") {\r\n return;\r\n }\r\n if (objData.message && objData.message.success && objData.message.success != \"hidden\") {\r\n toastr.success(objData.message.success);\r\n } else {\r\n if (objData.type == \"create\") {\r\n toastr.success(LanguageService.lang.c_addSuccess);\r\n }\r\n else if (objData.type == \"partialUpdate\") {\r\n toastr.success(LanguageService.lang.c_updateSuccess);\r\n }\r\n else if (objData.type == \"delete\") {\r\n toastr.success(LanguageService.lang.c_deleteSuccess);\r\n }\r\n else if (objData.type == \"batchDelete\") {\r\n if (res.meta && res.meta.successIds && res.meta.successIds.length > 0) {\r\n toastr.success(LanguageService.lang.c_delete + \" \" + res.meta.successIds.length + \" \" + LanguageService.lang.c_recordSuccess);\r\n }\r\n if (res.meta && res.meta.failureIds && res.meta.failureIds.length > 0) {\r\n toastr.error(LanguageService.lang.c_delete + \" \" + res.meta.failureIds.length + \" \" + LanguageService.lang.c_recordError);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction checkError(err, objData) {\r\n\r\n window.requestCount -= 1;\r\n if (window.requestCount == 0) {\r\n unblockUi();\r\n }\r\n if (objData.message && objData.message.error && objData.message.error == \"hidden\") {\r\n return;\r\n }\r\n if (objData.message && objData.message.error && objData.message.error != \"hidden\") {\r\n toastr.error(objData.message.error);\r\n } else {\r\n if (objData.type == \"findById\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else if (objData.type == \"list\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else if (objData.type == \"create\") {\r\n toastr.error(LanguageService.lang.c_addError);\r\n }\r\n else if (objData.type == \"partialUpdate\") {\r\n toastr.error(LanguageService.lang.c_updateError);\r\n }\r\n else if (objData.type == \"batchDelete\") {\r\n toastr.error(LanguageService.lang.c_deleteError);\r\n }\r\n else if (objData.type == \"views\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport default ApiService;\r\n","import mushroom from \"./mushroom.es6\";\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"medical_facility\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"register_for_exam_config\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"advisory_for_exam_config\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"user\",\r\n actions: {\r\n findMany: { clientCache: true },\r\n findById: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"nguoi_dan\",\r\n actions: {\r\n findMany: { clientCache: true },\r\n findById: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: { layHoTenTheoSoThe: {} }\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"hs4210\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"dot_kham\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({ name: \"ho_so_831\", actions: {}, views: {} });\r\nmushroom._defineAsyncResource({\r\n name: \"version\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"survey\",\r\n actions: {\r\n findMany: { clientCache: false },\r\n findById: { clientCache: false }\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"dang_ky_kham\",\r\n actions: {\r\n findById: { clientCache: false },\r\n findMany: { clientCache: false },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"doi_tuong_cach_ly\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"danh_muc_tin\",\r\n actions: {\r\n findMany: { clientCache: true },\r\n findById: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"tin_tuc\",\r\n actions: {\r\n findMany: { clientCache: true },\r\n findById: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"tinh\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"huyen\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"menu\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"chat_rooms\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"bac_sy\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {}\r\n },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"nhom_benh\",\r\n actions: { findMany: { clientCache: true } },\r\n views: {}\r\n});\r\nmushroom._defineAsyncResource({\r\n name: \"qa_type\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"app\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"app_config\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"user_guide\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\n\r\nmushroom._defineAsyncResource({\r\n name: \"file\",\r\n actions: {\r\n findById: { clientCache: true },\r\n findMany: { clientCache: true },\r\n createOne: {},\r\n updatePartially: {},\r\n deleteOne: {}\r\n },\r\n views: {}\r\n});\r\nfunction toQueryString(obj, path) {\r\n if (obj === null || obj === undefined || typeof obj == \"function\") return \"\";\r\n\r\n if (\r\n typeof obj == \"string\" ||\r\n typeof obj == \"number\" ||\r\n typeof obj == \"boolean\"\r\n )\r\n return obj;\r\n\r\n if (Array.isArray(obj))\r\n return obj\r\n .map(function(item) {\r\n return toQueryString(item, path);\r\n })\r\n .join(\",\");\r\n\r\n var arr = [];\r\n for (var m in obj) {\r\n if (!obj.hasOwnProperty(m)) continue;\r\n\r\n var key = (path ? path : \"\") + m;\r\n arr.push(key + \"=\" + toQueryString(obj[m], key));\r\n }\r\n return arr.join(\"&\");\r\n}\r\n\r\nmushroom.dot_kham.requestOtpAsync = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"dot_kham\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"requestOtp\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dot_khams/requestOtp?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.dot_kham,\r\n name: \"requestOtp\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.dot_kham.validateOtpAsync = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"dot_kham\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"validateOtp\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dot_khams/validateOtp?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.dot_kham,\r\n name: \"validateOtp\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.ho_so_831.requestOtpAsync = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"ho_so_831\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"requestOtp\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"ho_so_831s/requestOtp?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.ho_so_831,\r\n name: \"requestOtp\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.ho_so_831.validateOtpAsync = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"ho_so_831\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"validateOtp\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"ho_so_831s/validateOtp?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.ho_so_831,\r\n name: \"validateOtp\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.dot_kham.get_chi_phi_by_id_dot_kham_chua_benhAsync = function(\r\n body,\r\n parameters\r\n) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"dot_kham\",\r\n method: \"GET\",\r\n blankBody: true,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_chi_phi_by_id_dot_kham_chua_benh\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dot_khams/get_chi_phi_by_id_dot_kham_chua_benh?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.dot_kham,\r\n name: \"get_chi_phi_by_id_dot_kham_chua_benh\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.ho_so_831.get_ho_so_831Async = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"ho_so_831\",\r\n method: \"GET\",\r\n blankBody: true,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_ho_so_831\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"ho_so_831s/get_ho_so_831?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.ho_so_831,\r\n name: \"get_ho_so_831\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.ho_so_831.get_phrAsync = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"ho_so_831\",\r\n method: \"GET\",\r\n blankBody: true,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_phr_by_ma_dang_ky\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"ho_so_831s/get_phr_by_ma_dang_ky?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.ho_so_831,\r\n name: \"get_phr_by_ma_dang_ky\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.nguoi_dan.get_index_831Async = function(body, parameters) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"nguoi_dan\",\r\n method: \"GET\",\r\n blankBody: true,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_index_831\"\r\n },\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"nguoi_dans/get_index_831?\" +\r\n toQueryString(parameters),\r\n connection: mushroom.nguoi_dan,\r\n name: \"get_index_831\"\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.nguoi_dan.getAllInForAsync = function(body, param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"cospeopleimgtype.getviewcardcode\",\r\n rootApiUrl: mushroom.$using(),\r\n method: \"GET\",\r\n blankBody: true,\r\n url:\r\n mushroom.$using() +\r\n \"cospeopleimgtype/getviewcardcode?\" +\r\n toQueryString(param)\r\n })(param);\r\n};\r\n// mushroom.nguoi_dan.getAllInForAsync = function(param) {\r\n// return mushroom.__createAsyncRestFunction({\r\n// name: 'cospeopleimgtype.getviewcardcode',\r\n// rootApiUrl: mushroom.$using(),\r\n// method: 'GET',\r\n// blankBody: true,\r\n// url:\r\n// mushroom.$using() +\r\n// 'cospeopleimgtype/getviewcardcode?' +\r\n// toQueryString(param),\r\n// })(param);\r\n// };\r\n\r\nmushroom.dang_ky_kham.get_hospitalAsync = function(param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"dang_ky_kham.get_hospital\",\r\n rootApiUrl: mushroom.$using(),\r\n method: \"GET\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_hospital\"\r\n },\r\n blankBody: true,\r\n url:\r\n mushroom.$using() + \"dang_ky_khams/get_hospital?\" + toQueryString(param)\r\n })();\r\n};\r\n\r\nmushroom.dang_ky_kham.get_roomAsync = function(param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"dang_ky_kham.get_room\",\r\n method: \"GET\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_room\"\r\n },\r\n blankBody: true,\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dang_ky_khams/get_room?\" +\r\n toQueryString(param)\r\n })();\r\n};\r\n\r\nmushroom.dang_ky_kham.get_serviceAsync = function(param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"dang_ky_kham.get_service\",\r\n method: \"GET\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_service\"\r\n },\r\n blankBody: true,\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dang_ky_khams/get_service?\" +\r\n toQueryString(param)\r\n })();\r\n};\r\n\r\nmushroom.dang_ky_kham.get_patient_typeAsync = function(param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"dang_ky_kham.get_patient_type\",\r\n method: \"GET\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_patient_type\"\r\n },\r\n blankBody: true,\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"dang_ky_khams/get_patient_type?\" +\r\n toQueryString(param)\r\n })();\r\n};\r\n\r\nmushroom.dang_ky_kham.registerAsync = function(param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"dang_ky_kham.register\",\r\n method: \"POST\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"register\"\r\n },\r\n blankBody: false,\r\n url: mushroom._fnGetRootApiUrl() + \"dang_ky_khams/register\"\r\n })(param);\r\n};\r\n\r\nmushroom.survey.bieu_mau_1Async = function(body, param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"survey.bieu_mau_1\",\r\n method: \"POST\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"bieu_mau_1\"\r\n },\r\n blankBody: false,\r\n url:\r\n mushroom._fnGetRootApiUrl() + \"surveys/bieu_mau_1?\" + toQueryString(param)\r\n })(body);\r\n};\r\n\r\nmushroom.survey.bieu_mau_2_3Async = function(body, param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"survey.bieu_mau_2_3\",\r\n method: \"POST\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"bieu_mau_2_3\"\r\n },\r\n blankBody: false,\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"surveys/bieu_mau_2_3?\" +\r\n toQueryString(param)\r\n })(body);\r\n};\r\n\r\nmushroom.doi_tuong_cach_ly.get_manyAsync = function(body, param) {\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"doi_tuong_cach_ly.get_many\",\r\n method: \"GET\",\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"get_many\"\r\n },\r\n blankBody: false,\r\n url:\r\n mushroom._fnGetRootApiUrl() +\r\n \"doi_tuong_cach_lys/get_many?\" +\r\n toQueryString(param)\r\n })(body);\r\n};\r\n\r\nmushroom.bac_sy.importExcelAsync = function(body) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"bac_sy.import_excel\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"import_excel\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"bac_sys/import_excel?\",\r\n connection: mushroom.diem_den_an_toan,\r\n name: \"import_excel\",\r\n clearCache: true\r\n })(body);\r\n return p;\r\n};\r\n\r\nmushroom.tin_tuc.deleteAsync = function(body) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"tin_tuc.delete\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"delete\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"tin_tucs/delete?id=\" + body.id,\r\n connection: mushroom.tin_tuc,\r\n name: \"delete\",\r\n clearCache: true\r\n })({});\r\n return p;\r\n};\r\n\r\nmushroom.bac_sy.deleteAsync = function(body) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"bac_sy.delete\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"delete_doctor\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"bac_sys/delete_doctor?id=\" + body.id,\r\n connection: mushroom.bac_sy,\r\n name: \"delete\",\r\n clearCache: true\r\n })({});\r\n return p;\r\n};\r\n\r\nmushroom.register_for_exam_config.deleteAsync = function(body) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"register_for_exam_config.delete\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"delete\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"register_for_exam_configs/delete?id=\" + body.id,\r\n connection: mushroom.register_for_exam_config,\r\n name: \"delete\",\r\n clearCache: true\r\n })({});\r\n return p;\r\n};\r\n\r\nmushroom.advisory_for_exam_config.deleteAsync = function(body) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"advisory_for_exam_config.delete\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"delete\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"advisory_for_exam_configs/delete?id=\" + body.id,\r\n connection: mushroom.advisory_for_exam_config,\r\n name: \"delete\",\r\n clearCache: true\r\n })({});\r\n return p;\r\n};\r\n\r\nmushroom.version.deleteAsync = function(id) {\r\n var p = mushroom.__createAsyncRestFunction({\r\n resource: \"tin_tuc.delete\",\r\n method: \"POST\",\r\n blankBody: false,\r\n headers: {\r\n \"X-HTTP-Method-Override\": \"delete\"\r\n },\r\n //rootApiUrl: rootApiUrl,\r\n url: mushroom._fnGetRootApiUrl() + \"versions/delete?id=\" + id,\r\n connection: mushroom.tin_tuc,\r\n name: \"delete\",\r\n clearCache: true\r\n })({});\r\n return p;\r\n};\r\nmushroom.$using(window.MyConfig.hostApi);\r\nexport default mushroom;\r\n","\"use strict\";\r\n\r\nlet connectionStatus = \"online\";\r\nlet events = {};\r\nlet mushroom;\r\nlet app_id = window.MyConfig.applicationId;\r\nlet env = window.MyConfig.env;\r\n\r\nfunction MushroomError(code, subCode, detail, meta, result, message) {\r\n if (message === undefined)\r\n message = detail;\r\n\r\n const instance = new Error(message);\r\n instance.name = \"MushroomError\";\r\n instance.code = code;\r\n instance.subCode = subCode;\r\n instance.detail = detail;\r\n instance.meta = meta;\r\n instance.result = result;\r\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(instance, MushroomError);\r\n }\r\n return instance;\r\n}\r\n\r\nMushroomError.prototype = Object.create(Error.prototype, {\r\n constructor: {\r\n value: Error,\r\n enumerable: false,\r\n writable: true,\r\n configurable: true\r\n }\r\n});\r\n\r\nif (Object.setPrototypeOf) {\r\n Object.setPrototypeOf(MushroomError, Error);\r\n} else {\r\n MushroomError.__proto__ = Error;\r\n}\r\n\r\n\r\nasync function fireEvent(eventName, args) {\r\n if (typeof eventName !== \"string\") throw new Error(\"eventName must be a string\");\r\n if (eventName === \"\") throw new Error(\"eventName cannot be empty\");\r\n\r\n if (!events[eventName])\r\n return;\r\n\r\n for (let i=0; i {\r\n if (config.blankBody) {\r\n settings = dataOrSettings;\r\n }\r\n\r\n if (settings === null || settings === undefined)\r\n settings = {};\r\n\r\n let request = {\r\n action: config.name,\r\n resource: config.resource,\r\n method: config.method,\r\n url: typeof config.url === \"function\" ? config.url(settings, dataOrSettings) : config.url,\r\n context: settings.context,\r\n data: config.blankBody ? undefined : dataOrSettings,\r\n isRawData: config.isRawData,\r\n headers: {\r\n \"X-Requested-With\": \"XMLHttpRequest\",\r\n \"Content-Type\": \"application/json\",\r\n app_id,\r\n env\r\n },\r\n events: settings.events,\r\n timeout: settings.timeout,\r\n enabledCache: config.method && config.method.toUpperCase() === \"GET\" && (settings.enabledCache || settings.enabledCache === undefined && config.enabledCache),\r\n cacheAge: settings.cacheAge || config.cacheAge || cache_age\r\n };\r\n\r\n await fireEvent(\"beginRequest\",\r\n [\r\n {\r\n request: request\r\n }\r\n ]);\r\n \r\n await fireEvent(\"beforeSend\", [request]);\r\n \r\n if (typeof config.beforeSend === \"function\") {\r\n await config.beforeSend(request, settings, dataOrSettings);\r\n }\r\n\r\n if (request.enabledCache) {\r\n if (request.url in cache) {\r\n const cacheItem = cache[request.url];\r\n console.log(\"found in cache: \", cacheItem);\r\n\r\n if (new Date().getTime() - cacheItem.t > cache_age) {\r\n console.log(\"... but out of date, ignore cache\");\r\n delete cache[request.url];\r\n } else {\r\n const data = JSON.parse(cacheItem.o);\r\n resolve(data);\r\n\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n response: data,\r\n request: request,\r\n cache: cacheItem\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n\r\n return;\r\n }\r\n }\r\n }\r\n\r\n var x = new XMLHttpRequest();\r\n x.open(request.method, request.url, true);\r\n\r\n if (config.headers !== null && typeof config.headers === \"object\") {\r\n for (var name in config.headers) {\r\n if (config.headers.hasOwnProperty(name)) {\r\n request.headers[name] = config.headers[name];\r\n }\r\n }\r\n }\r\n \r\n for (var headerName in request.headers) {\r\n if (request.headers.hasOwnProperty(headerName)) {\r\n x.setRequestHeader(headerName, request.headers[headerName]);\r\n }\r\n }\r\n \r\n \r\n if (request.timeout)\r\n x.timeout = request.timeout;\r\n else if (mushroom._requestTimeout)\r\n x.timeout = mushroom._requestTimeout;\r\n\r\n\r\n x.onreadystatechange = function() {\r\n //console.log(\"onreadystatechange, readyState=\", this.readyState);\r\n if (this.readyState !== 4) return;\r\n\r\n //console.log(this.responseText);\r\n\r\n if (this.status === 0) {\r\n // aborted, error, timeout\r\n return;\r\n }\r\n\r\n if (connectionStatus !== \"online\") {\r\n connectionStatus = \"online\";\r\n fireEvent(\"online\");\r\n }\r\n\r\n var data;\r\n var ex;\r\n try {\r\n data = JSON.parse(this.responseText);\r\n } catch (e) {\r\n console.log(\"Invalid response format\");\r\n const me = new MushroomError(5, 0, \"Invalid response format\");\r\n reject(me);\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n error: me,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n return;\r\n }\r\n\r\n if (data.code) {\r\n //console.log(\"API error\");\r\n const mushroomError = new MushroomError(data.code, data.subCode, data.detail, data.meta, data.result);\r\n reject(mushroomError);\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n error: mushroomError,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n return;\r\n }\r\n\r\n if (config.clearCache) {\r\n for (let url in cache) {\r\n if (cache.hasOwnProperty(url)) {\r\n if (cache[url].r === request.resource) {\r\n delete cache[url];\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (request.enabledCache) {\r\n delete cache[request.url];\r\n cache[request.url] = {\r\n i: JSON.stringify(request.data), // input\r\n o: this.responseText, // output\r\n t: new Date().getTime(),\r\n r: request.resource\r\n };\r\n }\r\n\r\n resolve(data);\r\n\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n response: data,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n /*if (debugMode && window.mushroom._warning_slow_connection) {\r\n var ms = new Date().getTime() - startTime.getTime();\r\n if (ms >= 2000) {\r\n console.warn(\"Slow response: \" + ms + \"ms\\nStackTrace:\\n\" + stacktrace);\r\n }\r\n }*/\r\n };\r\n x.addEventListener(\"timeout\",\r\n () => {\r\n console.log(\"Connection timeout\");\r\n var me = new MushroomError(2, 0, \"Connection timeout\");\r\n reject(me);\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n error: me,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n });\r\n x.addEventListener(\"abort\",\r\n () => {\r\n console.log(\"Connection aborted\");\r\n var me = new MushroomError(3, 0, \"Connection aborted\");\r\n reject(me);\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n error: me,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n });\r\n x.addEventListener(\"error\",\r\n () => {\r\n console.log(\"Connection error\");\r\n if (connectionStatus !== \"offline\") {\r\n connectionStatus = \"offline\";\r\n fireEvent(\"offline\");\r\n }\r\n var me = new MushroomError(4, 0, \"Connection error\");\r\n reject(me);\r\n try {\r\n fireEvent(\"endRequest\",\r\n [\r\n {\r\n error: me,\r\n request: request\r\n }\r\n ]);\r\n } catch (ex) {\r\n console.log(\"Error in endRequest: \", ex);\r\n }\r\n });\r\n\r\n if (request.events !== null && typeof request.events === \"object\") {\r\n for (var eventName in request.events) {\r\n if (request.events.hasOwnProperty(eventName) && typeof request.events[eventName] === \"function\") {\r\n x.addEventListener(eventName, request.events[eventName]);\r\n }\r\n }\r\n }\r\n\r\n console.log(\"send request: \", request.method, request.url, request.headers, request.data);\r\n\r\n if (typeof config.processData === \"function\")\r\n request.data = config.processData(request.data, request, settings);\r\n\r\n x.send(request.data !== undefined && request.data !== null ? request.isRawData ? request.data : JSON.stringify(request.data) : null);\r\n \r\n //console.log(\"sent request\");\r\n });\r\n };\r\n}\r\n\r\nvar _rootApiUrl = null;\r\n\r\nmushroom = {\r\n _defineAsyncResource: function(config) {\r\n if (!config || typeof config !== \"object\")\r\n throw new TypeError(\"config must be an object\");\r\n if (typeof config.name !== \"string\")\r\n throw new TypeError(\"config.name must be a string\");\r\n if (config.name === \"\")\r\n throw new TypeError(\"config.name cannot be a empty string\");\r\n\r\n //window.resources[config.name.charAt(0).toString().toUpperCase() + config.name.substr(1)] = function () { };\r\n\r\n mushroom[config.name] = mushroom[config.name] || {};\r\n\r\n if (config.actions !== null && typeof config.actions === \"object\") {\r\n for (var actionName in config.actions) {\r\n if (!config.actions.hasOwnProperty(actionName))\r\n continue;\r\n\r\n if (actionName === \"findMany\")\r\n mushroom[config.name].listAsync = createAsyncRestfulFunction({\r\n name: \"listAsync\",\r\n resource: config.name,\r\n method: \"GET\",\r\n url: findManyUrlGenerator(config),\r\n blankBody: true,\r\n enabledCache: config.actions[actionName].clientCache\r\n });\r\n else if (actionName === \"findById\")\r\n mushroom[config.name].findByIdAsync = createAsyncRestfulFunction({\r\n name: \"findByIdAsync\",\r\n resource: config.name,\r\n method: \"GET\",\r\n url: findByIdUrlGenerator(config),\r\n blankBody: true,\r\n enabledCache: config.actions[actionName].clientCache\r\n });\r\n else if (actionName === \"createOne\")\r\n mushroom[config.name].createAsync = createAsyncRestfulFunction({\r\n name: \"createAsync\",\r\n resource: config.name,\r\n method: \"POST\",\r\n url: resourceUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n else if (actionName === \"createMany\")\r\n mushroom[config.name].batchCreateAsync = createAsyncRestfulFunction({\r\n name: \"batchCreateAsync\",\r\n resource: config.name,\r\n method: \"POST\",\r\n headers: {\r\n \"X-Mushroom-Create-Many\": \"true\"\r\n },\r\n url: resourceUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n else if (actionName === \"updateOne\")\r\n mushroom[config.name].updateAsync = createAsyncRestfulFunction({\r\n name: \"updateAsync\",\r\n resource: config.name,\r\n method: \"PUT\",\r\n url: resourceIdUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n else if (actionName === \"updateMany\")\r\n mushroom[config.name].batchUpdateAsync = createAsyncRestfulFunction({\r\n name: \"batchUpdateAsync\",\r\n resource: config.name,\r\n method: \"PUT\",\r\n url: resourceUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n else if (actionName === \"updatePartially\")\r\n mushroom[config.name].partialUpdateAsync = createAsyncRestfulFunction({\r\n name: \"partialUpdateAsync\",\r\n resource: config.name,\r\n method: \"PATCH\",\r\n url: resourceIdUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n else if (actionName === \"deleteOne\")\r\n mushroom[config.name].deleteAsync = createAsyncRestfulFunction({\r\n name: \"deleteAsync\",\r\n resource: config.name,\r\n method: \"DELETE\",\r\n url: resourceIdUrlGenerator(config),\r\n blankBody: true,\r\n clearCache: true\r\n });\r\n else if (actionName === \"deleteMany\")\r\n mushroom[config.name].batchDeleteAsync = createAsyncRestfulFunction({\r\n name: \"batchDeleteAsync\",\r\n resource: config.name,\r\n method: \"DELETE\",\r\n url: resourceUrlGenerator(config),\r\n blankBody: false,\r\n clearCache: true\r\n });\r\n }\r\n }\r\n\r\n if (config.views !== null && typeof config.views === \"object\") {\r\n for (var viewName in config.views) {\r\n if (!config.views.hasOwnProperty(viewName))\r\n continue;\r\n\r\n mushroom[config.name].views = mushroom[config.name].views || {};\r\n\r\n mushroom[config.name].views[viewName + \"Async\"] = createAsyncRestfulFunction({\r\n name: \"$views.\" + viewName,\r\n resource: config.name,\r\n method: \"GET\",\r\n url: entityViewUrlGenerator(config, viewName),\r\n blankBody: true\r\n });\r\n }\r\n }\r\n },\r\n _defineAsyncView: function (config) {\r\n if (!config || typeof config !== \"object\")\r\n throw new TypeError(\"config must be an object\");\r\n if (typeof config.name !== \"string\")\r\n throw new TypeError(\"config.name must be a string\");\r\n if (config.name === \"\")\r\n throw new TypeError(\"config.name cannot be a empty string\");\r\n\r\n mushroom.$view[config.name] = createAsyncRestfulFunction({\r\n name: \"$view\",\r\n resource: config.name,\r\n method: \"GET\",\r\n url: viewUrlGenerator(config),\r\n blankBody: true,\r\n meta: config.views[config.name]\r\n });\r\n },\r\n _on: function (eventName, fnHandler) {\r\n if (typeof (eventName) !== \"string\") throw new Error(\"eventName must be a string\");\r\n if (eventName === \"\") throw new Error(\"eventName cannot be empty\");\r\n if (typeof (fnHandler) !== \"function\") throw new Error(\"fnHandler must be a callback function\");\r\n\r\n var eventList = events[eventName];\r\n if (!eventList) eventList = events[eventName] = new Array();\r\n eventList.push(fnHandler);\r\n return this;\r\n },\r\n _unbindEvent: function (eventName, fnHandler) {\r\n if (typeof (eventName) !== \"string\") throw new Error(\"eventName must be a string\");\r\n if (eventName === \"\") throw new Error(\"eventName cannot be empty\");\r\n if (typeof (fnHandler) !== \"function\" && fnHandler !== undefined) throw new Error(\"fnHandler must be a callback function\");\r\n\r\n var eventList = events[eventName];\r\n if (!eventList) return;\r\n if (fnHandler === undefined) {\r\n eventList.length = 0;\r\n return;\r\n }\r\n var idx = eventList.indexOf(fnHandler);\r\n if (idx !== -1) eventList.splice(idx, 1);\r\n return;\r\n },\r\n _hasEvent: function (eventName) {\r\n return eventName in events && events[eventName].length;\r\n },\r\n _fnGetRootApiUrl: function() {\r\n return mushroom.$using();\r\n },\r\n __createAsyncRestFunction: createAsyncRestfulFunction,\r\n $using: function (rootApiUrl) {\r\n if (rootApiUrl === undefined)\r\n return _rootApiUrl;\r\n _rootApiUrl = rootApiUrl;\r\n return this;\r\n },\r\n $view: {},\r\n $cache: {\r\n invalid: function(url) {\r\n if (url === undefined) {\r\n console.log(\"Invalid all cache\");\r\n cache = {};\r\n return;\r\n }\r\n\r\n if (typeof url === \"string\") {\r\n console.log(\"Invalid cache: \" + url);\r\n delete cache[url];\r\n return;\r\n }\r\n\r\n if (url instanceof RegExp) {\r\n console.log(\"Invalid cache by pattern \" + url);\r\n\r\n for (let m in cache) {\r\n if (cache.hasOwnProperty(m)) {\r\n if (url.test(m)) {\r\n console.log(\"Invalid cache: \" + m);\r\n delete cache[url];\r\n }\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n console.warn(\"Unknown type of parameter: \", url);\r\n },\r\n setCacheAge: function(ms) {\r\n if (ms <= 0)\r\n throw new RangeError();\r\n\r\n cache_age = ms;\r\n }\r\n },\r\n MushroomError: MushroomError\r\n};\r\n\r\nexport default mushroom;","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import mushroom from './mushroom.es6';\r\n\r\nmushroom.$file = {};\r\n\r\nmushroom.$file.uploadAsync = function (args) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$file.uploadAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n isRawData: true,\r\n url: rootApiUrl + \"file/upload\",\r\n headers: {\r\n FileName: encodeURIComponent(args.name || args.file.name),\r\n Tags: args.tags\r\n },\r\n events: {\r\n progress: args.progress\r\n }\r\n })(args.file);\r\n};\r\n\r\nfunction download(url) {\r\n var downloadLink = document.createElement(\"a\");\r\n downloadLink.href = url;\r\n //downloadLink.innerHTML = \"Download File\";\r\n // Firefox requires the link to be added to the DOM\r\n // before it can be clicked.\r\n downloadLink.onclick = function () {\r\n document.body.removeChild(downloadLink);\r\n };\r\n downloadLink.style.display = \"none\";\r\n document.body.appendChild(downloadLink);\r\n\r\n downloadLink.click();\r\n}\r\n\r\nmushroom.$file.download = function (id) {\r\n download(mushroom.$using() + \"file/download?id=\" + id);\r\n};\r\n\r\nmushroom.$file.zip = function (ids) {\r\n if (!ids || !Array.isArray(ids) || !ids.length)\r\n throw new TypeError(\"Require list of file id to zip\");\r\n\r\n download(mushroom.$using() + \"file/zip?id=\" + ids.join(\",\"));\r\n};\r\nexport default mushroom;\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('router-view')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\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=1b98d443\"\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&id=1b98d443&prod&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 Vue from \"vue\";\r\nimport Router from \"vue-router\";\r\nimport AuthService from \"../service/AuthService\";\r\n\r\n// Containers\r\nconst DefaultContainer = () => import(\"@/containers/DefaultContainer\");\r\nconst DefaultContainerClient = () =>\r\n import(\"@/containers/DefaultContainerClient\");\r\n\r\n// Views - admin\r\nconst AdminHome = () => import(\"@/views/admin/Home/Home\");\r\n\r\n// const AdminUserList = () => import('@/views/admin/User/UserList');\r\n// const AdminUserForm = () => import('@/views/admin/User/UserForm');\r\n\r\nconst AdminHssk4210List = () => import(\"@/views/admin/Hssk4210/Hssk4210List\");\r\nconst AdminHsskHL7List = () => import(\"@/views/admin/HsskHL7/HsskHL7List\");\r\nconst AdminHssk831Detail = () => import(\"@/views/admin/Hssk831/Hssk831Detail\");\r\nconst AdminHssk831Update = () => import(\"@/views/admin/Hssk831/Hssk831Update\");\r\n\r\nconst AdminPhienBanList = () => import(\"@/views/admin/PhienBan/PhienBanList\");\r\nconst AdminPhienBanForm = () => import(\"@/views/admin/PhienBan/PhienBanForm\");\r\nconst AdminCapNhatFilePDF = () => import(\"@/views/admin/CapNhatFilePDF/CapNhatFilePDFForm\");\r\n\r\nconst AdminKhaiBaoDichList = () =>\r\n import(\"@/views/admin/KhaiBaoDich/KhaiBaoDichList\");\r\n// const AdminKhaiBaoDichForm = () => import('@/views/admin/KhaiBaoDich/KhaiBaoDichForm');\r\n\r\nconst AdminDangKyKhamList = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamList\");\r\nconst AdminDangKyKhamForm = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamForm\");\r\nconst AdminDangKyKhamFormS2 = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamFormS2\");\r\nconst AdminDangKyKhamFormS3 = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamFormS3\");\r\nconst AdminDangKyKhamFormS4 = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamFormS4\");\r\nconst AdminDangKyKhamFormS5 = () =>\r\n import(\"@/views/admin/DangKyKham/DangKyKhamFormS5\");\r\n\r\nconst AdminKhamDichList = () => import(\"@/views/admin/KhamDich/KhamDichList\");\r\nconst AdminKhamDichForm = () => import(\"@/views/admin/KhamDich/KhamDichForm\");\r\n\r\nconst AdminDoiTuongTheoDoiList = () =>\r\n import(\"@/views/admin/DoiTuongTheoDoi/DoiTuongTheoDoiList\");\r\nconst AdminDoiTuongTheoDoiForm = () =>\r\n import(\"@/views/admin/DoiTuongTheoDoi/DoiTuongTheoDoiForm\");\r\nconst AdminDoiTuongTheoDoiBaoCao = () =>\r\n import(\"@/views/admin/DoiTuongTheoDoi/DoiTuongTheoDoiBaoCao\");\r\n\r\nconst AdminBieuMauTongHop2AList = () =>\r\n import(\"@/views/admin/BieuMauTongHop/BieuMauTongHop2AList\");\r\nconst AdminBieuMauTongHop2BList = () =>\r\n import(\"@/views/admin/BieuMauTongHop/BieuMauTongHop2BList\");\r\nconst AdminBieuMauTongHopForm = () =>\r\n import(\"@/views/admin/BieuMauTongHop/BieuMauTongHopForm\");\r\n\r\nconst AdminHsskBNList = () => import('@/views/admin/HsskBN/HsskBNList');\r\nconst AdminHsskBNForm = () => import('@/views/admin/HsskBN/HsskBNUpdate');\r\nconst AdminHsskBNFormSK = () => import('@/views/admin/HsskBN/HsskBNUpdateSK');\r\n\r\nconst AdminDanhMucTinTucList = () =>\r\n import(\"@/views/admin/DanhMucTinTuc/DanhMucTinTucList\");\r\nconst AdminDanhMucTinTucForm = () =>\r\n import(\"@/views/admin/DanhMucTinTuc/DanhMucTinTucForm\");\r\n\r\nconst AdminTinTucList = () => import(\"@/views/admin/TinTuc/TinTucList\");\r\nconst AdminTinTucForm = () => import(\"@/views/admin/TinTuc/TinTucForm\");\r\n\r\nconst AdminQuanTriMenuApp = () =>\r\n import(\"@/views/admin/QuanTriMenuApp/QuanTriMenuApp\");\r\nconst AdminChatRoomList = () => import(\"@/views/admin/ChatRoom/ListRoom\");\r\nconst AdminChatRoomForm = () => import(\"@/views/admin/ChatRoom/ChatRoomForm\");\r\n\r\nconst AdminQATypesForm = () => import(\"@/views/admin/QATypes/QATypesForm\");\r\nconst AdminQATypesList = () => import(\"@/views/admin/QATypes/QATypesList\");\r\n\r\nconst AdminSucKhoeCaNhanList = () => import(\"@/views/admin/SucKhoeCaNhan/SucKhoeCaNhanList\");\r\nconst AdminSucKhoeCaNhanForm = () => import(\"@/views/admin/SucKhoeCaNhan/SucKhoeCaNhanDetail\");\r\n\r\nconst AdminBacSi = () => import(\"@/views/admin/BacSiVien/BacSiVienList\");\r\nconst AdminBacSiImport = () => import(\"@/views/admin/BacSiVien/BacSiVienImport\");\r\n\r\nconst AdminAppList = () => import(\"@/views/admin/App/AppList\");\r\nconst AdminAppForm = () => import(\"@/views/admin/App/AppForm\");\r\n\r\nconst AdminAppConfigList = () => import(\"@/views/admin/AppConfig/AppConfigList\");\r\nconst AdminAppConfigForm = () => import(\"@/views/admin/AppConfig/AppConfigForm\");\r\n\r\nconst AdminTiemChung = () => import(\"@/views/admin/TiemChung/TiemChung\");\r\n\r\n// Đăng ký cấu hình giá\r\nconst AdminCauHinhDangKyKhamList = () => import(\"@/views/admin/CauHinhDangKyKham/CauHinhDangKyKhamList\");\r\nconst AdminCauHinhDangKyKhamForm = () => import(\"@/views/admin/CauHinhDangKyKham/CauHinhDangKyKhamForm\");\r\nconst AdminCauHinhDangKyTuVanKhamList = () => import(\"@/views/admin/CauHinhDangKyTuVanKham/CauHinhDangKyTuVanKhamList\");\r\nconst AdminCauHinhDangKyTuVanKhamForm = () => import(\"@/views/admin/CauHinhDangKyTuVanKham/CauHinhDangKyTuVanKhamForm\");\r\n\r\n// Views - auth\r\nconst AuthPage404 = () => import(\"@/views/auth/Page404\");\r\nconst AuthLogin = () => import(\"@/views/auth/Login\");\r\nconst AuthRegister = () => import(\"@/views/auth/Register\");\r\nconst AuthChangePassword = () => import(\"@/views/auth/ChangePassword\");\r\nconst AuthForgotPassword = () => import(\"@/views/auth/ForgotPassword\");\r\nconst AuthResetPassword = () => import(\"@/views/auth/ResetPassword\");\r\n\r\n// Views - client\r\nconst ClientHome = () => import(\"@/views/client/Home\");\r\n\r\nVue.use(Router);\r\n/* Các quyền người dùng: BuiltinAdmin - Tài khoản super admin, Admin - Quản trị hệ thống, Officer - Quản lý nhà nước, TourGuide - Hướng dẫn viên du lịch, TourAgent - Công ty lữ hành, User - người dùng */\r\n//ex roles: [\"BuiltinAdmin \", \"Admin\", \"Hospital\", \"Doctor\", \"Citizen\", \"User\"]\r\n\r\nconst router = new Router({\r\n base: window.MyConfig.pathDefault,\r\n mode: \"history\", // https://router.vuejs.org/api/#mode\r\n linkActiveClass: \"open active\",\r\n scrollBehavior: () => ({\r\n y: 0\r\n }),\r\n routes: [\r\n {\r\n path: \"/\",\r\n redirect: window.MyConfig.defaultRouter,\r\n component: DefaultContainerClient\r\n },\r\n // {\r\n // path: '/home',\r\n // name: 'Client-Home',\r\n // component: ClientHome,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'client'\r\n // },\r\n // },\r\n {\r\n path: \"/admin\",\r\n redirect: \"/admin/home\",\r\n component: DefaultContainer,\r\n children: [\r\n {\r\n path: \"home\",\r\n name: \"Admin-Home\",\r\n component: AdminHome,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n // {\r\n // path: 'User',\r\n // name: 'Admin-User',\r\n // redirect: '/admin/User/list',\r\n // component: {\r\n // render(c) {\r\n // return c('router-view')\r\n // }\r\n // },\r\n // children: [{\r\n // path: 'list',\r\n // name: 'Admin-User-list',\r\n // component: AdminUserList,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // {\r\n // path: 'create',\r\n // name: 'Admin-User-create',\r\n // component: AdminUserForm,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // {\r\n // path: 'update/:id',\r\n // name: 'Admin-User-update',\r\n // component: AdminUserForm,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // {\r\n // path: 'detail/:id',\r\n // name: 'Admin-User-detail',\r\n // component: AdminUserForm,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // ]\r\n // },\r\n\r\n {\r\n path: \"hssk4210\",\r\n name: \"Admin-hssk4210\",\r\n component: AdminHssk4210List,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"hsskHL7\",\r\n name: \"Admin-hsskHL7\",\r\n component: AdminHsskHL7List,\r\n meta: {\r\n allowAccess: [\"Hospital\", \"Doctor_His\", \"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"hssk831\",\r\n name: \"Admin-hssk831\",\r\n redirect: \"/admin/hssk831/detail\",\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: \"detail\",\r\n name: \"Admin-hssk831-detail\",\r\n component: AdminHssk831Detail,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update\",\r\n name: \"Admin-hssk831-update\",\r\n component: AdminHssk831Update,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"details\",\r\n name: \"Admin-hssk831-details\",\r\n component: AdminHssk831Detail,\r\n meta: {\r\n allowAccess: [\"Doctor_His\", \"Hospital\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"PhienBan\",\r\n name: \"Admin-PhienBan\",\r\n redirect: \"/admin/PhienBan/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: \"Admin-PhienBan-list\",\r\n component: AdminPhienBanList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-PhienBan-create\",\r\n component: AdminPhienBanForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-PhienBan-update\",\r\n component: AdminPhienBanForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-PhienBan-detail\",\r\n component: AdminPhienBanForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'CapNhatFilePDF',\r\n name: 'Admin-CapNhatFilePDF',\r\n redirect: '/admin/CapNhatFilePDF/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: \"Admin-CapNhatFilePDF-list\",\r\n component: AdminCapNhatFilePDF,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n\r\n ]\r\n },\r\n {\r\n path: \"KhaiBaoDich\",\r\n name: \"Admin-KhaiBaoDich\",\r\n redirect: \"/admin/KhaiBaoDich/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: \"Admin-KhaiBaoDich-list\",\r\n component: AdminKhaiBaoDichList,\r\n meta: {\r\n allowAccess: [\"Citizen\", \"tichhop\"],\r\n page: \"admin\"\r\n }\r\n }\r\n /* {\r\n path: 'create',\r\n name: 'Admin-KhaiBaoDich-create',\r\n component: AdminKhaiBaoDichForm,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n },\r\n {\r\n path: 'update/:id',\r\n name: 'Admin-KhaiBaoDich-update',\r\n component: AdminKhaiBaoDichForm,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n },\r\n {\r\n path: 'detail/:id',\r\n name: 'Admin-KhaiBaoDich-detail',\r\n component: AdminKhaiBaoDichForm,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n }, */\r\n ]\r\n },\r\n {\r\n path: \"DangKyKham\",\r\n name: \"Admin-DangKyKham\",\r\n redirect: \"/admin/DangKyKham/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: \"Admin-DangKyKham-list\",\r\n component: AdminDangKyKhamList,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-DangKyKham-create\",\r\n component: AdminDangKyKhamForm,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"createStep2\",\r\n name: \"Admin-DangKyKham-createStep2\",\r\n component: AdminDangKyKhamFormS2,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"createStep3\",\r\n name: \"Admin-DangKyKham-createStep3\",\r\n component: AdminDangKyKhamFormS3,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"createStep4\",\r\n name: \"Admin-DangKyKham-createStep4\",\r\n component: AdminDangKyKhamFormS4,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"createStep5\",\r\n name: \"Admin-DangKyKham-createStep5\",\r\n component: AdminDangKyKhamFormS5,\r\n meta: {\r\n allowAccess: [\"Citizen\"],\r\n page: \"admin\"\r\n }\r\n }\r\n // {\r\n // path: 'detail/:id',\r\n // name: 'Admin-DangKyKham-createStep3',\r\n // component: AdminDangKyKhamForm,\r\n // meta: {\r\n // allowAccess: ['Citizen'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n ]\r\n },\r\n {\r\n path: \"KhamDich\",\r\n name: \"Admin-KhamDich\",\r\n redirect: \"/admin/KhamDich/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: \"Admin-KhamDich-list\",\r\n component: AdminKhamDichList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-KhamDich-create\",\r\n component: AdminKhamDichForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-KhamDich-update\",\r\n component: AdminKhamDichForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-KhamDich-detail\",\r\n component: AdminKhamDichForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"HsskBN\",\r\n name: \"Admin-HsskBN\",\r\n redirect: \"/admin/HsskBN/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: \"Admin-HsskBN-list\",\r\n component: AdminHsskBNList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-HsskBN-create\",\r\n component: AdminHsskBNForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-HsskBN-update\",\r\n component: AdminHsskBNForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n // {\r\n // path: 'detail/:id',\r\n // name: 'Admin-HsskBN-detail',\r\n // component: AdminHsskBNForm,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // {\r\n // path: 'baocao/:id',\r\n // name: 'Admin-HsskBN-baocao',\r\n // component: AdminHsskBNBaoCao,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n ]\r\n },\r\n {\r\n path: \"DoiTuongTheoDoi\",\r\n name: \"Admin-DoiTuongTheoDoi\",\r\n redirect: \"/admin/DoiTuongTheoDoi/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: \"Admin-DoiTuongTheoDoi-list\",\r\n component: AdminDoiTuongTheoDoiList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-DoiTuongTheoDoi-create\",\r\n component: AdminDoiTuongTheoDoiForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-DoiTuongTheoDoi-update\",\r\n component: AdminDoiTuongTheoDoiForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-DoiTuongTheoDoi-detail\",\r\n component: AdminDoiTuongTheoDoiForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"baocao/:id\",\r\n name: \"Admin-DoiTuongTheoDoi-baocao\",\r\n component: AdminDoiTuongTheoDoiBaoCao,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"BieuMauTongHop2A\",\r\n name: \"Admin-BieuMauTongHop2A\",\r\n redirect: \"/admin/BieuMauTongHop2A/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: \"Admin-BieuMauTongHop2A-list\",\r\n component: AdminBieuMauTongHop2AList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"BieuMauTongHop2B\",\r\n name: \"Admin-BieuMauTongHop2B\",\r\n redirect: \"/admin/BieuMauTongHop2B/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: \"Admin-BieuMauTongHop2B-list\",\r\n component: AdminBieuMauTongHop2BList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"DanhMucTinTuc\",\r\n name: \"Admin-DanhMucTinTuc\",\r\n redirect: \"/admin/DanhMucTinTuc/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: \"Admin-DanhMucTinTuc-list\",\r\n component: AdminDanhMucTinTucList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-DanhMucTinTuc-create\",\r\n component: AdminDanhMucTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-DanhMucTinTuc-update\",\r\n component: AdminDanhMucTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-DanhMucTinTuc-detail\",\r\n component: AdminDanhMucTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"TinTuc\",\r\n name: \"Admin-TinTuc\",\r\n redirect: \"/admin/TinTuc/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: \"Admin-TinTuc-list\",\r\n component: AdminTinTucList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-TinTuc-create\",\r\n component: AdminTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-TinTuc-update\",\r\n component: AdminTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-TinTuc-detail\",\r\n component: AdminTinTucForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"App\",\r\n name: \"Admin-App\",\r\n redirect: \"/admin/App/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: \"Admin-App-list\",\r\n component: AdminAppList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-App-create\",\r\n component: AdminAppForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-App-update\",\r\n component: AdminAppForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-App-detail\",\r\n component: AdminAppForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"AppConfig\",\r\n name: \"Admin-AppConfig\",\r\n redirect: \"/admin/AppConfig/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: \"Admin-AppConfig-list\",\r\n component: AdminAppConfigList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create/:id\",\r\n name: \"Admin-AppConfig-create\",\r\n component: AdminAppConfigForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-AppConfig-update\",\r\n component: AdminAppConfigForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-AppConfig-detail\",\r\n component: AdminAppConfigForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: 'create-step-2/:id',\r\n name: 'Admin-HsskBN-create-sk',\r\n component: AdminHsskBNFormSK,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n },\r\n {\r\n path: 'update/:id',\r\n name: 'Admin-HsskBN-update',\r\n component: AdminHsskBNForm,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n },\r\n {\r\n path: 'update-health-infor/:id',\r\n name: 'Admin-HsskBN-update-sk',\r\n component: AdminHsskBNFormSK,\r\n meta: {\r\n allowAccess: ['*'],\r\n page: 'admin'\r\n },\r\n },\r\n // {\r\n // path: 'detail/:id',\r\n // name: 'Admin-HsskBN-detail',\r\n // component: AdminHsskBNForm,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n // {\r\n // path: 'baocao/:id',\r\n // name: 'Admin-HsskBN-baocao',\r\n // component: AdminHsskBNBaoCao,\r\n // meta: {\r\n // allowAccess: ['*'],\r\n // page: 'admin'\r\n // },\r\n // },\r\n {\r\n path: 'DoiTuongTheoDoi',\r\n name: 'Admin-DoiTuongTheoDoi',\r\n redirect: '/admin/DoiTuongTheoDoi/list',\r\n component: {\r\n render(c) {\r\n return c('router-view')\r\n }\r\n }\r\n },\r\n {\r\n path: \"ChatRoom\",\r\n name: \"Admin-ChatRoom\",\r\n redirect: \"/admin/ChatRoom/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: \"Admin-ChatRoom-list\",\r\n component: AdminChatRoomList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-ChatRoom-create\",\r\n component: AdminChatRoomForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-ChatRoom-detail\",\r\n component: AdminChatRoomForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-ChatRoom-update\",\r\n component: AdminChatRoomForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"BacSi\",\r\n name: \"Admin-BacSi\",\r\n redirect: \"/admin/BacSi/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: \"Admin-BacSi-list\",\r\n component: AdminBacSi,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"import\",\r\n name: \"Admin-BacSi-import\",\r\n component: AdminBacSiImport,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"SucKhoeCaNhan\",\r\n name: \"Admin-SucKhoeCaNhan\",\r\n redirect: \"/admin/SucKhoeCaNhan/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: \"Admin-SucKhoeCaNhan-list\",\r\n component: AdminSucKhoeCaNhanList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-SucKhoeCaNhan-create\",\r\n component: AdminSucKhoeCaNhanForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-SucKhoeCaNhan-detail\",\r\n component: AdminSucKhoeCaNhanForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-SucKhoeCaNhan-update\",\r\n component: AdminSucKhoeCaNhanForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"QATypes\",\r\n name: \"Admin-QATypes\",\r\n redirect: \"/admin/QATypes/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: \"Admin-QATypes-list\",\r\n component: AdminQATypesList,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-QATypes-create\",\r\n component: AdminQATypesForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-QATypes-detail\",\r\n component: AdminQATypesForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-QATypes-update\",\r\n component: AdminQATypesForm,\r\n meta: {\r\n allowAccess: [\"Admin\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"ChungNhanTiemChung\",\r\n name: \"Admin-TiemChung\",\r\n component: AdminTiemChung,\r\n meta: {\r\n allowAccess: ['Citizen'],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"CauHinhDangKyKham\",\r\n name: \"Admin-CauHinhDangKyKham\",\r\n redirect: \"/admin/CauHinhDangKyKham/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: \"Admin-CauHinhDangKyKham-list\",\r\n component: AdminCauHinhDangKyKhamList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-CauHinhDangKyKham-create\",\r\n component: AdminCauHinhDangKyKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-CauHinhDangKyKham-detail\",\r\n component: AdminCauHinhDangKyKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-CauHinhDangKyKham-update\",\r\n component: AdminCauHinhDangKyKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n {\r\n path: \"CauHinhDangKyTuVanKham\",\r\n name: \"Admin-CauHinhDangKyTuVanKham\",\r\n redirect: \"/admin/CauHinhDangKyTuVanKham/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: \"Admin-CauHinhDangKyTuVanKham-list\",\r\n component: AdminCauHinhDangKyTuVanKhamList,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"create\",\r\n name: \"Admin-CauHinhDangKyTuVanKham-create\",\r\n component: AdminCauHinhDangKyTuVanKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"detail/:id\",\r\n name: \"Admin-CauHinhDangKyTuVanKham-detail\",\r\n component: AdminCauHinhDangKyTuVanKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n },\r\n {\r\n path: \"update/:id\",\r\n name: \"Admin-CauHinhDangKyTuVanKham-update\",\r\n component: AdminCauHinhDangKyTuVanKhamForm,\r\n meta: {\r\n allowAccess: [\"*\"],\r\n page: \"admin\"\r\n }\r\n }\r\n ]\r\n },\r\n ]\r\n },\r\n\r\n {\r\n path: \"/auth\",\r\n redirect: \"/auth/login\",\r\n name: \"Auth\",\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: \"Auth-Page404\",\r\n component: AuthPage404,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n },\r\n {\r\n path: \"login\",\r\n name: \"Auth-Login\",\r\n component: AuthLogin,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n },\r\n {\r\n path: \"register\",\r\n name: \"Auth-Register\",\r\n component: AuthRegister,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n },\r\n {\r\n path: \"changepassword\",\r\n name: \"Auth-ChangePassword\",\r\n component: AuthChangePassword,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n },\r\n {\r\n path: \"forgotPassword\",\r\n name: \"Auth-ForgotPassword\",\r\n component: AuthForgotPassword,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n },\r\n {\r\n path: \"resetPassword\",\r\n name: \"Auth-ResetPassword\",\r\n component: AuthResetPassword,\r\n meta: {\r\n page: \"auth\"\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n});\r\nexport default router;\r\n\r\n//check route\r\nrouter.beforeEach(function (to, from, next) {\r\n if (from.name != to.name) {\r\n if (to.meta.page && to.meta.page == \"admin\" && to.name == \"Admin-hssk4210\") {\r\n next();\r\n return;\r\n }\r\n else if (to.meta.page && to.meta.page == \"admin\") {\r\n let dataRouter = {\r\n name: to.name,\r\n query: to.query\r\n };\r\n let routerHistory = JSON.stringify(dataRouter);\r\n window.localStorage.setItem(\"routerHistory\", routerHistory);\r\n AuthService.me()\r\n .then(res => {\r\n if (res.result && res.result.account == \"tichhop\") {\r\n res.result.roles = [\"tichhop\"];\r\n }\r\n window.localStorage.setItem(\r\n \"currentUser\",\r\n JSON.stringify(res.result)\r\n );\r\n if (to.meta.allowAccess && to.meta.allowAccess.indexOf(\"*\") == 0) {\r\n next();\r\n } else {\r\n if (res.result && res.result.roles && res.result.roles.length > 0) {\r\n var access = false;\r\n res.result.roles.forEach(item => {\r\n if (\r\n to.meta.allowAccess &&\r\n to.meta.allowAccess.indexOf(item) != -1\r\n ) {\r\n access = true;\r\n }\r\n });\r\n if (access) {\r\n next();\r\n } else {\r\n if (\r\n to.name &&\r\n to.name == \"Admin-hssk831-details\" &&\r\n from.name &&\r\n from.name == \"Auth-Login\"\r\n ) {\r\n if (to.name && to.name == \"Admin-hssk831-details\") {\r\n AuthService.logout(false)\r\n .then(res => {\r\n window.localStorage.removeItem(\"routerHistory\");\r\n window.localStorage.removeItem(\"token\");\r\n window.localStorage.removeItem(\"account\");\r\n window.localStorage.removeItem(\"dataUser\");\r\n window.localStorage.removeItem(\"cardcode\");\r\n window.localStorage.removeItem(\"currentUser\");\r\n window.sessionStorage.removeItem(\"steps\");\r\n window.sessionStorage.removeItem(\"lastBooking\");\r\n window.localStorage.removeItem(\"dataLocalHealthRecord\");\r\n window.localStorage.removeItem(\"isDoctorTram\");\r\n window.localStorage.removeItem(\"currentUserBS\");\r\n window.location.href = to.path;\r\n })\r\n .catch(error => { });\r\n }\r\n }\r\n toastr.warning(\"Không có quyền truy cập trang này\");\r\n }\r\n }\r\n }\r\n })\r\n .catch(error => {\r\n window.localStorage.removeItem(\"routerHistory\");\r\n window.localStorage.removeItem(\"token\");\r\n window.localStorage.removeItem(\"account\");\r\n window.localStorage.removeItem(\"dataUser\");\r\n window.localStorage.removeItem(\"cardcode\");\r\n window.sessionStorage.removeItem(\"steps\");\r\n window.localStorage.removeItem(\"dataLocalHealthRecord\");\r\n next(\"/auth/login\");\r\n });\r\n } else if (to.meta.page && to.meta.page != \"admin\") {\r\n next();\r\n } else {\r\n next(\"/auth/404\");\r\n }\r\n } else {\r\n if (!to.name) {\r\n next(\"/auth/404\");\r\n } else {\r\n next();\r\n }\r\n }\r\n});\r\n","let state = {};\r\n\r\nstate.phanHoi = {\r\n refreshFnCountNew: 0,\r\n};\r\n\r\nstate.currentUser = {};\r\n\r\nstate.reloadModalDetailHL7 = 0;\r\n\r\nstate.dataSearchUser = {\r\n reload: 0,\r\n isResult: false,\r\n data: {}\r\n};\r\n\r\nstate.dataUser = {};\r\n\r\nexport default state;","// export const updateValue = (state, payload) => {\r\n// state.value = payload\r\n// }\r\n\r\nlet mutations = {};\r\n\r\nmutations.fn_countPhanHoi = (state) => {\r\n state.phanHoi.refreshFnCountNew++;\r\n};\r\n\r\nmutations.fn_saveCurrentUser = (state) => {\r\n state.currentUser = JSON.parse(window.localStorage.currentUser);\r\n};\r\n\r\nmutations.fn_reloadModalDetailHL7 = (state) => {\r\n state.reloadModalDetailHL7++;\r\n};\r\n\r\n// mutations.fn_saveDataSearchUser = (state, data) => {\r\n// state.dataSearchUser.data = data;\r\n// state.dataSearchUser.data = data;\r\n// };\r\n\r\nmutations.fn_searchDataSearchUserSuccess = (state, data) => {\r\n state.dataSearchUser.isResult = true;\r\n state.dataSearchUser.data = data;\r\n state.dataSearchUser.reload++;\r\n};\r\n\r\nmutations.fn_searchDataSearchUserError = (state) => {\r\n state.dataSearchUser.isResult = false;\r\n state.dataSearchUser.data = {};\r\n state.dataSearchUser.reload++;\r\n};\r\n\r\nmutations.fn_saveDataUser = (state,data) => {\r\n state.dataUser = data;\r\n}\r\n\r\nexport default mutations;\r\n\r\n","// export const updateValue = ({ commit }, payload) => {\r\n// commit('updateValue', payload);\r\n// };\r\n\r\nlet action = {};\r\n\r\nexport default action;","// export const value = state => {\r\n// return state.value;\r\n// }\r\n\r\nlet getters = {};\r\n\r\nexport default getters;","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport state from './state';\r\nimport mutations from './mutations';\r\nimport actions from './action';\r\nimport getters from './getters';\r\n\r\nVue.use(Vuex);\r\n\r\nexport const store = new Vuex.Store({\r\n state: state,\r\n mutations: mutations,\r\n actions: actions,\r\n getters: getters\r\n});","let ladda = {\r\n bind: function (el, binding, vnode) {\r\n $(el).attr(\"data-style\", \"slide-left\");\r\n Ladda.bind(el);\r\n }\r\n};\r\n\r\nexport default ladda;","const filters = {\r\n capitalize: function (value) {\r\n // console.log('filter', value);\r\n\r\n if (!value) return '';\r\n value = value.toString();\r\n return value.toUpperCase();\r\n }\r\n\r\n};\r\n\r\nexport default filters;","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport 'core-js/es6/promise';\r\nimport 'core-js/es6/string';\r\nimport 'core-js/es7/array';\r\nimport Vue from 'vue';\r\nimport BootstrapVue from 'bootstrap-vue';\r\nimport App from './App';\r\nimport router from './router';\r\nimport { store } from './store/store';\r\nimport Swal from 'sweetalert2'\r\n\r\nVue.use(BootstrapVue);\r\n\r\n// sal\r\nwindow.Swal = Swal;\r\n// import library\r\n\r\nwindow.jQuery = window.$ = require('jquery');\r\nwindow.toastr = require('toastr');\r\ntoastr.options = {\r\n \"closeButton\": true,\r\n \"debug\": false,\r\n \"newestOnTop\": false,\r\n \"progressBar\": true,\r\n \"positionClass\": \"toast-top-right\",\r\n \"preventDuplicates\": true,\r\n \"onclick\": null,\r\n \"showDuration\": \"300\",\r\n \"hideDuration\": \"1000\",\r\n \"timeOut\": \"6000\",\r\n \"extendedTimeOut\": \"1000\"\r\n};\r\nwindow.Ladda = require('ladda');\r\n\r\nimport VueQuillEditor from 'vue-quill-editor';\r\nVue.use(VueQuillEditor, {\r\n placeholder: \"Nhập nội dung\"\r\n});\r\n\r\nimport VueNumeric from 'vue-numeric'\r\nVue.use(VueNumeric)\r\n\r\n\r\nimport Element from 'element-ui';\r\nimport locale from 'element-ui/lib/locale';\r\nimport enLocale from 'element-ui/lib/locale/lang/en';\r\nimport viLocale from 'element-ui/lib/locale/lang/vi';\r\nenLocale.el.datepicker.year = \"\";\r\nviLocale.el.datepicker.year = \"\";\r\n\r\nif (window.MyConfig.language == \"vi\") {\r\n locale.use(viLocale)\r\n}\r\nif (window.MyConfig.language == \"en\") {\r\n locale.use(enLocale)\r\n}\r\n\r\nVue.use(Element, {\r\n size: 'small',\r\n zIndex: 3000,\r\n});\r\n\r\n\r\n// import Service\r\n\r\nimport mushroom from 'mushroomjs';\r\nmushroom.$using(window.MyConfig.hostApi);\r\n\r\nmushroom._on(\"beforeSend\", function (arg) {\r\n arg.headers = arg.headers || {};\r\n arg.headers[\"X-Client\"] = \"Biin\";\r\n arg.headers[\"X-Client-Platform\"] = \"Mushroom\";\r\n arg.headers[\"X-Client-Version\"] = \"1.0\";\r\n});\r\n\r\n// import directive\r\nimport ladda from './directive/ladda';\r\nVue.directive('ladda', ladda);\r\n\r\nimport filters from './directive/filters';\r\nVue.filter('capitalize', filters.capitalize);\r\n\r\n/* eslint-disable no-new */\r\nvar vm = new Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n template: '',\r\n data: function () {\r\n return {}\r\n },\r\n components: {\r\n App\r\n },\r\n methods: {},\r\n created: function () { },\r\n\r\n})\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../node_modules/css-loader/index.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&id=1b98d443&prod&lang=scss\"","import mushroom from './mushroom.file';\r\nimport LanguageService from './LanguageService';\r\n\r\nvar NProgress = require('nprogress');\r\nNProgress.configure({\r\n trickleSpeed: 1000,\r\n minimum: 0.2,\r\n});\r\n\r\nfunction blockUi() {\r\n NProgress.start();\r\n $(\"body\").css(\"pointer-events\", \"none\");\r\n}\r\n\r\nfunction unblockUi() {\r\n NProgress.done();\r\n Ladda.stopAll();\r\n $(\"body\").css(\"pointer-events\", \"auto\");\r\n}\r\n\r\nwindow.requestCount = 0;\r\n\r\nlet ExtensionService = {};\r\n\r\nExtensionService.urlImg = window.MyConfig.hostApi + \"file/thumb?id=\";\r\nExtensionService.urlFile = window.MyConfig.hostApi + \"file/download?id=\";\r\nExtensionService.urlFilesTemplate = {\r\n DSBacSiVien: \"/files/template/DSBacSiVienMau.xlsx\",\r\n};\r\n\r\n\r\nExtensionService.upload = (rawDataFile, tags) => {\r\n blockUi();\r\n return mushroom.$file.uploadAsync(\r\n {\r\n file: rawDataFile.raw, // required\r\n name: rawDataFile.name, // optional\r\n tags: tags\r\n }\r\n ).then(response => {\r\n unblockUi();\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n toastr.error(LanguageService.lang.c_uploadError);\r\n throw error;\r\n });\r\n};\r\n\r\nexport default ExtensionService;","import LanguageService from './LanguageService';\r\nimport mushroom from './mushroom.api.def';\r\nimport { clearConsole } from '../shared/global';\r\n\r\nvar NProgress = require('nprogress');\r\nNProgress.configure({\r\n trickleSpeed: 1000,\r\n minimum: 0.2,\r\n});\r\n\r\nfunction blockUi() {\r\n NProgress.start();\r\n $(\"body\").css(\"pointer-events\", \"none\");\r\n}\r\n\r\nfunction unblockUi() {\r\n setTimeout(() => {\r\n NProgress.done();\r\n Ladda.stopAll();\r\n $(\"body\").css(\"pointer-events\", \"auto\");\r\n }, 200);\r\n}\r\n\r\nwindow.requestCount = 0;\r\n\r\nlet ApiService = {};\r\n\r\nApiService = (objData) => {\r\n\r\n if (window.requestCount == 0 && !objData.dontLoading) {\r\n blockUi();\r\n }\r\n window.requestCount += 1;\r\n\r\n // let objData = {\r\n // module: \"\", //required string\r\n // type: \"\", //required string\r\n // viewAction: \"\",\r\n // message: {\r\n // success: \"\", //string | null | comment\r\n // error: \"\", //string | null | comment\r\n // },\r\n // value: {}, //option {} | [] | null | comment\r\n // params: {} //option {} | [] | null | comment\r\n // }\r\n if (objData.type && objData.type != \"views\") {\r\n // console.log(mushroom);\r\n return mushroom[objData.module][objData.type + \"Async\"](objData.value, objData.params)\r\n .then(response => {\r\n // console.log(\"response: %o %o\", response, objData);\r\n checkSuccess(response, objData);\r\n return response;\r\n })\r\n .catch(error => {\r\n checkError(error, objData);\r\n throw error;\r\n });\r\n }\r\n else {\r\n return mushroom[objData.module].views[objData.viewAction + \"Async\"](objData.value, objData.params)\r\n .then(response => {\r\n // console.log(\"response: %o %o\", response, objData);\r\n checkSuccess(response, objData);\r\n return response;\r\n })\r\n .catch(error => {\r\n checkError(error, objData);\r\n throw error;\r\n });\r\n }\r\n\r\n};\r\n\r\nfunction checkSuccess(res, objData) {\r\n\r\n window.requestCount -= 1;\r\n if (window.requestCount == 0) {\r\n // clearConsole();\r\n unblockUi();\r\n }\r\n if (objData.message && objData.message.success && objData.message.success == \"hidden\"){\r\n return;\r\n }\r\n if (objData.message && objData.message.success && objData.message.success != \"hidden\") {\r\n toastr.success(objData.message.success);\r\n } else {\r\n if (objData.type == \"create\") {\r\n toastr.success(LanguageService.lang.c_addSuccess);\r\n }\r\n else if (objData.type == \"partialUpdate\") {\r\n toastr.success(LanguageService.lang.c_updateSuccess);\r\n }\r\n else if (objData.type == \"delete\") {\r\n toastr.success(LanguageService.lang.c_deleteSuccess);\r\n }\r\n else if (objData.type == \"batchDelete\") {\r\n if (res.meta && res.meta.successIds && res.meta.successIds.length > 0) {\r\n toastr.success(LanguageService.lang.c_delete + \" \" + res.meta.successIds.length + \" \" + LanguageService.lang.c_recordSuccess);\r\n }\r\n if (res.meta && res.meta.failureIds && res.meta.failureIds.length > 0) {\r\n toastr.error(LanguageService.lang.c_delete + \" \" + res.meta.failureIds.length + \" \" + LanguageService.lang.c_recordError);\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction checkError(err, objData) {\r\n\r\n window.requestCount -= 1;\r\n if (window.requestCount == 0) {\r\n unblockUi();\r\n }\r\n if (objData.message && objData.message.error && objData.message.error == \"hidden\"){\r\n return;\r\n }\r\n if (objData.message && objData.message.error && objData.message.error != \"hidden\") {\r\n toastr.error(objData.message.error);\r\n } else {\r\n if (objData.type == \"findById\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else if (objData.type == \"list\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else if (objData.type == \"create\") {\r\n toastr.error(LanguageService.lang.c_addError);\r\n }\r\n else if (objData.type == \"partialUpdate\") {\r\n toastr.error(LanguageService.lang.c_updateError);\r\n }\r\n else if (objData.type == \"batchDelete\") {\r\n toastr.error(LanguageService.lang.c_deleteError);\r\n }\r\n else if (objData.type == \"views\") {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n else {\r\n toastr.error(LanguageService.lang.c_findError);\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\nexport default ApiService;\r\n","import mushroom from './mushroom.es6';\r\nimport MethodService from './MethodService';\r\n\"use strict\";\r\n\r\n// --------- helper methods ------------\r\nfunction setStorageItem(key, value) {\r\n if (value !== null && value !== undefined && typeof value !== \"string\") {\r\n value = value.toString();\r\n }\r\n\r\n localStorage.setItem(key, value);\r\n}\r\n\r\nfunction getStorageItem(key) {\r\n return localStorage.getItem(key);\r\n}\r\n\r\nfunction removeStorageItem(key) {\r\n return localStorage.removeItem(key);\r\n}\r\n\r\nfunction getAllStorageKeys() {\r\n return Object.keys(localStorage);\r\n}\r\n// --------- end helper methods ------------\r\n\r\nvar tokenPool = {};\r\n\r\nmushroom.$auth = {\r\n // số phút lưu trữ token nếu inactive\r\n expiredTime: 30,\r\n // cho biết đã khởi tạo xong chưa\r\n isReady: false\r\n};\r\n\r\n\r\n\r\n\r\nfunction saveToken(rootApiUrl, token, permanent) {\r\n try {\r\n deleteToken(rootApiUrl);\r\n //console.log(\"deleted Token\");\r\n //console.log(\"call setStorageItem(%o, %o)\", \"mushroom.tokens[\" + rootApiUrl + \"]\", token);\r\n setStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"]\", token);\r\n //console.log(\"set Token\");\r\n //var s = getStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"]\");\r\n //console.log(\"getStorageItem: token=\" + s);\r\n if (!permanent)\r\n setStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"].expired\", new Date().getTime() + mushroom.$auth.expiredTime * 60000 + \"\");\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n}\r\n\r\nfunction deleteToken(rootApiUrl) {\r\n removeStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"]\");\r\n removeStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"].expired\");\r\n}\r\n\r\nfunction loadTokens() {\r\n try {\r\n var keys = getAllStorageKeys();\r\n //console.log(\"loadToken, keys.length=\", keys.length);\r\n for (var i = 0; i < keys.length; i++) {\r\n var key = keys[i];\r\n //console.log(\"loadToken, key=\", key);\r\n if (key && key.indexOf(\"mushroom.tokens[\") === 0 && key.charAt(key.length - 1) === \"]\") {\r\n var expired = getStorageItem(key + \".expired\");\r\n if (expired) {\r\n expired = parseInt(expired);\r\n if (isNaN(expired) || expired < new Date().getTime()) {\r\n continue;\r\n }\r\n }\r\n var apiUrl = key.substring(\"mushroom.tokens[\".length, key.length - 1);\r\n tokenPool[apiUrl] = getStorageItem(key);\r\n //console.log(\"loadToken, set tokenPool[\", apiUrl, \"]=\", tokenPool[apiUrl]);\r\n }\r\n }\r\n } catch (e) {\r\n console.warn(e);\r\n }\r\n mushroom.$auth.isReady = true;\r\n //console.log(\"loadToken: tokenPool=\", tokenPool);\r\n}\r\n\r\nloadTokens();\r\n\r\n\r\n\r\nmushroom.$auth.loginAsync = function (account, password, remember) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.loginAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/login\"\r\n })({\r\n account: account,\r\n password: password\r\n }).then(response => {\r\n //console.log(\"login success, response: %o\", response);\r\n tokenPool[rootApiUrl] = response.result.token;\r\n try {\r\n saveToken(rootApiUrl, tokenPool[rootApiUrl], remember);\r\n }\r\n catch (e) {\r\n console.warn(\"Cannot save token: %o\", e);\r\n }\r\n return response;\r\n });\r\n};\r\n\r\nmushroom.$auth.loginV2Async = function (account, password, card_code, remember) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.loginAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/login_v2\"\r\n })({\r\n account: account,\r\n password: password,\r\n card_code: card_code\r\n }).then(response => {\r\n //console.log(\"login success, response: %o\", response);\r\n tokenPool[rootApiUrl] = response.result.token;\r\n try {\r\n saveToken(rootApiUrl, tokenPool[rootApiUrl], remember);\r\n }\r\n catch (e) {\r\n console.warn(\"Cannot save token: %o\", e);\r\n }\r\n return response;\r\n });\r\n};\r\n\r\nmushroom.$auth.loginOneLinkAsync = function (account, password, remember) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.loginAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/login\"\r\n })({\r\n account: account,\r\n password: password\r\n }).then(response => {\r\n //console.log(\"login success, response: %o\", response);\r\n tokenPool[rootApiUrl] = response.result.token;\r\n try {\r\n saveToken(rootApiUrl, tokenPool[rootApiUrl], remember);\r\n }\r\n catch (e) {\r\n console.warn(\"Cannot save token: %o\", e);\r\n }\r\n return response;\r\n });\r\n};\r\n\r\nmushroom.$auth.loginRoleAsync = function (account, password, token, remember) {\r\n var rootApiUrl = mushroom._fnGetRootApiUrl();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.loginAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/customLogin\"\r\n })({\r\n account: account,\r\n password: password,\r\n token: token,\r\n }).then(response => {\r\n console.log(\"login success, response: %o\", response);\r\n window.localStorage.setItem(\"isDoctorTram\", true);\r\n tokenPool[rootApiUrl] = response.result && response.result.token ? response.result.token : response.result;\r\n saveToken(rootApiUrl, tokenPool[rootApiUrl], remember);\r\n return response;\r\n });\r\n};\r\n\r\n\r\nmushroom.$auth.logoutAsync = function (options) {\r\n if (typeof options === \"boolean\") {\r\n options = {\r\n mode: options ? \"invalidAllSession\" : \"invalidServerSession\"\r\n };\r\n }\r\n else if (typeof options !== \"object\" || options === null) {\r\n options = {\r\n mode: \"invalidServerSession\"\r\n };\r\n }\r\n\r\n if (options.mode !== \"invalidClientSession\" &&\r\n options.mode !== \"invalidServerSession\" &&\r\n options.mode !== \"invalidAllSession\") {\r\n options.mode = \"invalidServerSession\";\r\n }\r\n\r\n // mode: invalidClientSession, invalidServerSession, invalidAllSession\r\n\r\n var rootApiUrl = mushroom.$using();\r\n\r\n if (options.mode === \"invalidClientSession\") {\r\n delete tokenPool[rootApiUrl];\r\n return new Promise(function (resolve, reject) {\r\n deleteToken(rootApiUrl);\r\n resolve({ code: 0 });\r\n });\r\n\r\n }\r\n else\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.logoutAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"GET\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/logout\" + (options.mode === \"invalidAllSession\" ? \"?invalidAllSession=true\" : \"\")\r\n })().then(x => {\r\n delete tokenPool[rootApiUrl];\r\n deleteToken(rootApiUrl);\r\n return x;\r\n }).catch(err => {\r\n delete tokenPool[rootApiUrl];\r\n deleteToken(rootApiUrl);\r\n throw err;\r\n });\r\n};\r\nmushroom.$auth.statusAsync = function () {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.statusAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"GET\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/status\"\r\n })();\r\n};\r\nmushroom.$auth.meAsync = function () {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.meAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"GET\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/me\"\r\n })();\r\n};\r\n\r\nmushroom.$auth.registerAsync = function (account, password) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.registerAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/register\"\r\n })({\r\n account: account,\r\n password: password\r\n });\r\n};\r\n\r\nmushroom.$auth.activateAsync = function (account, code) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.activateAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/activate\"\r\n })({\r\n account: account,\r\n code: code\r\n });\r\n};\r\n\r\nmushroom.$auth.onelinkRequestRecoverPasswordAsync = function (account, phoneNumber) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.onelinkRequestRecoverPasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/requestRecoverPassword\"\r\n })({\r\n account: account,\r\n phoneNumber: phoneNumber\r\n });\r\n};\r\n\r\nmushroom.$auth.recoverPasswordAsync = function (account) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.recoverPasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/recover-password\"\r\n })({\r\n account: account\r\n });\r\n};\r\n\r\nmushroom.$auth.onelinkRecoverPasswordAsync = function (account, phoneNumber, otp, newPassword) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.onelinkRecoverPasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/recoverPassword\"\r\n })({\r\n account: account,\r\n phoneNumber: phoneNumber,\r\n otp: otp,\r\n newPassword: newPassword\r\n });\r\n};\r\n\r\nmushroom.$auth.changePasswordAsync = function (account, oldPassword, newPassword) {\r\n var rootApiUrl = mushroom.$using();\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.changePasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n // url: rootApiUrl + \"auth/reset-password\"\r\n url: rootApiUrl + \"onelink/changePassword\"\r\n })({\r\n account: account,\r\n oldPassword: oldPassword,\r\n newPassword: newPassword\r\n });\r\n};\r\n\r\nmushroom.$auth.changePasswordAdminAsync = function (account, oldPassword, newPassword) {\r\n var rootApiUrl = mushroom.$using();\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.changePasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"auth/reset-password\"\r\n // url: rootApiUrl + \"onelink/changePassword\"\r\n })({\r\n account: account,\r\n oldPassword: oldPassword,\r\n newPassword: newPassword\r\n });\r\n};\r\n\r\nmushroom.$auth.resetPasswordAsync = function (account, code, newPassword) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.resetPasswordAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n // url: rootApiUrl + \"auth/reset-password\"\r\n url: rootApiUrl + \"onelink/reset-password\"\r\n })({\r\n account: account,\r\n code: code,\r\n newPassword: newPassword\r\n });\r\n};\r\n\r\nmushroom.$auth.checkActiveAsync = function (account) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.checkActiveAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/checkActive\"\r\n })({\r\n account: account\r\n });\r\n};\r\n\r\nmushroom.$auth.requestActivateCodeAsync = function (account, phoneNumber) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.requestActivateCodeAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/requestActivateCode\"\r\n })({\r\n account: account,\r\n phoneNumber: phoneNumber\r\n });\r\n};\r\n\r\nmushroom.$auth.activateAccountAsync = function (account, code, password) {\r\n var rootApiUrl = mushroom.$using();\r\n\r\n return mushroom.__createAsyncRestFunction({\r\n name: \"$auth.activateAccountAsync\",\r\n rootApiUrl: rootApiUrl,\r\n method: \"POST\",\r\n blankBody: false,\r\n url: rootApiUrl + \"onelink/activate\"\r\n })({\r\n account: account,\r\n code: code,\r\n password: password\r\n });\r\n};\r\n\r\n//console.log(\"register beforeSend\");\r\n\r\nmushroom._on(\"beforeSend\",\r\n request => {\r\n //console.log(\"beforeSend: \", tokenPool);\r\n var rootApiUrl = mushroom.$using();\r\n if (tokenPool[rootApiUrl]) {\r\n try {\r\n var expired = getStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"].expired\");\r\n if (expired) {\r\n expired = parseInt(expired);\r\n if (isNaN(expired) || expired < new Date().getTime()) {\r\n deleteToken(rootApiUrl);\r\n return;\r\n }\r\n setStorageItem(\"mushroom.tokens[\" + rootApiUrl + \"].expired\", new Date().getTime() + mushroom.$auth.expiredTime * 60000 + \"\");\r\n }\r\n \r\n if(request.action && request.action == '$auth.meAsync')\r\n {\r\n request.headers.Token = tokenPool[rootApiUrl];\r\n }\r\n else\r\n {\r\n request.headers.Token = MethodService.checkTokenTichHop(tokenPool[rootApiUrl]);\r\n }\r\n //console.log(request);\r\n }\r\n catch (ex) {\r\n console.warn(ex);\r\n }\r\n }\r\n });\r\n\r\nexport default mushroom;","import mushroom from './mushroom.auth';\r\nimport KhaoSatApi from '../moduleApi/KhaoSatApi';\r\n\r\nvar NProgress = require('nprogress');\r\nNProgress.configure({\r\n trickleSpeed: 1000,\r\n minimum: 0.2,\r\n});\r\n\r\nfunction blockUi() {\r\n NProgress.start();\r\n $(\"body\").css(\"pointer-events\", \"none\");\r\n}\r\n\r\nfunction unblockUi() {\r\n NProgress.done();\r\n Ladda.stopAll();\r\n $(\"body\").css(\"pointer-events\", \"auto\");\r\n}\r\n\r\nwindow.requestCount = 0;\r\n\r\n// đăng nhập\r\nlet AuthService = {};\r\n\r\nAuthService.login = (account, password, remember) => {\r\n blockUi();\r\n return mushroom.$auth.loginAsync(account, password, remember)\r\n .then(response => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thành công, token: \" + response.token);\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thất bại: %o\", error);\r\n throw error;\r\n });\r\n};\r\nAuthService.login_v2 = (account, password, card_code, remember) => {\r\n blockUi();\r\n return mushroom.$auth.loginV2Async(account, password, card_code, remember)\r\n .then(response => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thành công, token: \" + response.token);\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thất bại: %o\", error);\r\n throw error;\r\n });\r\n};\r\nAuthService.loginOnelink = (account, password, remember) => {\r\n blockUi();\r\n return mushroom.$auth.loginOneLinkAsync(account, password, remember)\r\n .then(response => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thành công, token: \" + response.token);\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thất bại: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\nAuthService.loginBs = async (account, password, remember) => {\r\n blockUi();\r\n let res = await AuthService.login('tichhop', 'tichhop', true);\r\n if (res.result && res.result.token) {\r\n let res_login = await mushroom.$auth.loginRoleAsync(account, password, res.result.token, remember);\r\n if (res_login) {\r\n let res_infoBS = await KhaoSatApi.LoadDMUserByUserName(account, res.result.token);\r\n window.localStorage.setItem(\"currentUserBS\", JSON.stringify(res_infoBS.data[0] ? res_infoBS.data[0] : {}))\r\n unblockUi();\r\n // console.log(\"Đăng nhập thành công\");\r\n return res_infoBS;\r\n }\r\n else {\r\n unblockUi();\r\n // console.log(\"Đăng nhập thất bại\");\r\n throw false;\r\n }\r\n\r\n }\r\n else {\r\n throw false;\r\n }\r\n\r\n\r\n};\r\n\r\n// đăng xuất\r\nAuthService.logout = (logoutAll) => {\r\n blockUi();\r\n return mushroom.$auth.logoutAsync({\r\n mode: logoutAll ? \"invalidAllSession\" : \"invalidClientSession\"\r\n })\r\n .then(response => {\r\n unblockUi();\r\n // console.log(\"Đã logout\");\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n // console.log(\"Có lỗi: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// Kiểm tra trạng thái đăng nhập\r\nAuthService.status = () => {\r\n return mushroom.$auth.statusAsync()\r\n .then(response => {\r\n // console.log(\"status = \" + response.status);\r\n return response.status;\r\n })\r\n .catch(error => {\r\n // console.log(\"Có lỗi: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// Lấy về thông tin người dùng hiện tại\r\nAuthService.me = () => {\r\n return mushroom.$auth.meAsync()\r\n .then(response => {\r\n // console.log(\"response data: %o\", response);\r\n return response;\r\n })\r\n .catch(error => {\r\n // console.log(\"Có lỗi: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// đăng ký\r\nAuthService.register = (account, password) => {\r\n return mushroom.$auth.registerAsync(account, password)\r\n .then(response => {\r\n if (response.requireActivation) {\r\n // console.log(\"Đăng ký thành công, bạn hãy checkmail để kích hoạt tài khoản\");\r\n }\r\n else {\r\n // console.log(\"Đăng ký thành công\");\r\n }\r\n return response;\r\n })\r\n .catch(error => {\r\n // console.log(\"Đăng ký thất bại: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// kick hoạt tài khoản\r\nAuthService.activate = (account, activationCode) => {\r\n return mushroom.$auth.activateAsync(account, activationCode)\r\n .then(response => {\r\n console.log(\"Kích hoạt thành công\");\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(\"Kích hoạt thất bại: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// lấy lại mật khẩu\r\nAuthService.recoverPassword = (account) => {\r\n return mushroom.$auth.recoverPasswordAsync(account)\r\n .then(response => {\r\n console.log(\"Bạn hãy check mail để lấy mật khẩu\");\r\n unblockUi();\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(\"Có lỗi: %o\", error);\r\n unblockUi();\r\n throw error;\r\n });\r\n};\r\n\r\nAuthService.oneLinkRecoverPassword = (account, phoneNumber) => {\r\n return mushroom.$auth.onelinkRequestRecoverPasswordAsync(account, phoneNumber)\r\n .then(response => {\r\n unblockUi();\r\n return response;\r\n }).catch(error => {\r\n unblockUi();\r\n throw error;\r\n })\r\n}\r\n\r\n// khôi phục mật khẩu\r\nAuthService.resetPassword = (account, code, newPassword) => {\r\n return mushroom.$auth.resetPasswordAsync(account, code, newPassword)\r\n .then(response => {\r\n console.log(\"Đã đặt lại mật khẩu dựa trên mã khôi phục mật khẩu\");\r\n unblockUi();\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(\"Có lỗi: %o\", error);\r\n unblockUi();\r\n throw error;\r\n });\r\n\r\n};\r\n\r\nAuthService.oneLinkResetPassword = (account, phoneNumber, code, newPassword) => {\r\n return mushroom.$auth.onelinkRecoverPasswordAsync(account, phoneNumber, code, newPassword)\r\n .then(response => {\r\n unblockUi();\r\n return response;\r\n })\r\n .catch(error => {\r\n unblockUi();\r\n throw error;\r\n })\r\n}\r\n\r\n// đổi mật khẩu\r\nAuthService.changePassword = (account, password, newPassword) => {\r\n return mushroom.$auth.changePasswordAsync(account, password, newPassword)\r\n .then(response => {\r\n console.log(\"Đã đổi mật khẩu thành công\");\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(\"Có lỗi: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n// đổi mật khẩu admin\r\nAuthService.changePasswordAdmin = (account, password, newPassword) => {\r\n return mushroom.$auth.changePasswordAdminAsync(account, password, newPassword)\r\n .then(response => {\r\n console.log(\"Đã đổi mật khẩu thành công\");\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(\"Có lỗi: %o\", error);\r\n throw error;\r\n });\r\n};\r\n\r\n//check tài khoản đã kích hoạt\r\nAuthService.checkActive = (account) => {\r\n return mushroom.$auth.checkActiveAsync(account)\r\n .then(response => {\r\n console.log(response);\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n });\r\n};\r\n\r\n//request otp\r\nAuthService.requestActiveCode = (account, phoneNumber) => {\r\n return mushroom.$auth.requestActivateCodeAsync(account, phoneNumber)\r\n .then(response => {\r\n console.log(response);\r\n return response;\r\n })\r\n .catch(error => {\r\n console.log(error);\r\n throw error;\r\n });\r\n};\r\n\r\n//active account\r\nAuthService.ActiveAccount = (account, code, password) => {\r\n return mushroom.$auth.activateAccountAsync(account, code, password)\r\n .then(response => {\r\n return response;\r\n })\r\n .catch(error => {\r\n throw error;\r\n })\r\n};\r\n\r\n\r\nexport default AuthService;","/**\r\n * Định nghĩa ngôn ngữ\r\n * Cách 1: [từ khóa, tiếng việt, tiếng anh]\r\n */\r\nlet dict = [\r\n ['key', 'vi', 'en'],\r\n // ['vi', 'en'],\r\n\r\n //common_text\r\n ['c_home', 'Trang chủ', 'Home'],\r\n ['c_homeAdmin', 'Trang chủ quản trị', 'Home'],\r\n ['c_create', 'Thêm mới', 'Add New'],\r\n ['c_list', 'Danh sách', 'List'],\r\n ['c_update', 'Cập nhật', 'Update'],\r\n ['c_edit', 'Chỉnh sửa', 'Edit'],\r\n ['c_delete', 'Xóa', 'Delete'],\r\n ['c_deletes', 'Xóa nhiều', 'Delete'],\r\n ['c_detail', 'Chi tiết', 'Detail'],\r\n ['c_duplicate', 'Sao chép', 'Duplicate'],\r\n ['c_view', 'Xem', 'view'],\r\n ['c_close', 'Đóng', 'Close'],\r\n ['c_search', 'Tìm kiếm', 'Search'],\r\n ['c_filter', 'Lọc dữ liệu', 'Filter'],\r\n ['c_back', 'Quay lại', 'Back'],\r\n ['c_success', 'thành công', 'Success'],\r\n ['c_error', 'không thành công', 'Unsuccesful'],\r\n ['c_record', 'bản ghi', 'Record'],\r\n ['c_fromDate', 'Từ ngày', 'From Day'],\r\n ['c_toDate', 'Đến ngày', 'To Day'],\r\n ['c_order', 'Xắp xếp', 'Sort'],\r\n ['c_drag', 'Kéo thả', 'Drag and Drop'],\r\n ['c_select', 'Chọn', 'Selected'],\r\n ['c_agree', 'Đồng ý', 'Agree'],\r\n ['c_cancel', 'Huỷ', 'Cancel'],\r\n ['c_showHideSearch', 'Ẩn/hiện tìm kiếm', 'Hide/Show search'],\r\n ['c_toggle', 'Thu nhỏ/phóng to', ''],\r\n ['c_action', 'Thao tác', 'Action'],\r\n ['c_total', 'Tổng số', 'Total'],\r\n ['c_toPage', 'Đến trang', 'To page'],\r\n ['c_enter', 'Nhập', 'Enter'],\r\n ['c_select', 'Chọn', 'Select'],\r\n ['c_yes', 'Có', 'Yes'],\r\n ['c_no', 'Không', 'No'],\r\n ['c_insertContent', 'Nhập nội dung', 'Insert Content'],\r\n ['c_config', 'Cấu hình', 'Settings'],\r\n ['c_lock', 'Khóa', 'Lock'],\r\n ['c_unlock', 'Mở khóa', 'Unlock'],\r\n\r\n\r\n //common_alert\r\n ['c_addSuccess', 'Thêm mới thành công', 'Add new success'],\r\n ['c_addError', 'Thêm mới không thành công', 'More new failed'],\r\n ['c_addduplicateError', 'Mã đã tồn tại, không thể thêm mới', 'More new failed'],\r\n ['c_updateSuccess', 'Cập nhật thành công', 'Successful update'],\r\n ['c_updateError', 'Cập nhật không thành công', 'Update failed'],\r\n ['c_deleteSuccess', 'Xóa thành công', 'Successful deleted'],\r\n ['c_deleteError', 'Xóa không thành công', 'Deletion failed'],\r\n ['c_uploadError', 'Tải lên không thành công', 'Upload failed'],\r\n ['c_recordSuccess', 'bản ghi thành công', 'Successful record'],\r\n ['c_recordError', 'bản ghi không thành công', 'Record failed'],\r\n ['c_deleteConfirm', 'Bạn có chắc chắn muốn xóa bản ghi này không?', 'Are you sure to delete this record?'],\r\n ['c_notAllowAccess', 'Không có quyền truy cập trang này', 'No access to this page'],\r\n ['c_emptyRecord', 'Bạn chưa chọn bản ghi nào', 'You have not selected any record'],\r\n ['c_loginAgain', 'Bạn cần đăng nhập trước', 'You need to login first,Please!'],\r\n ['c_findError', 'Lỗi tải dữ liệu', ''],\r\n ['c_uploadConfirm', 'Xác nhận upload file?', 'Are you sure to upload file?'],\r\n ['c_lockConfirm', 'Bạn có chắc chắn muốn khóa bản ghi này không?', 'Are you sure to lock this record?'],\r\n ['c_unlockConfirm', 'Bạn có chắc chắn muốn mở khóa bản ghi này không?', 'Are you sure to unlock this record?'],\r\n\r\n //validation\r\n ['valid', 'Được phép', ''],\r\n ['valid_required', 'Vui lòng nhập giá trị', 'Licensed'],\r\n ['required_change', 'Vui lòng chọn giá trị', 'Licensed'],\r\n ['valid_email', 'Email không đúng định dạng', 'Email invalidate'],\r\n ['valid_phone', 'Số điện thoại không đúng định dạng', 'Phone number is incorrect!'],\r\n ['valid_link', 'Liên kết không đúng định dạng', 'The link is not properly formatted'],\r\n ['valid_imageLink', 'Liên kết ảnh không đúng định dạng', 'Image Link is not properly formatted'],\r\n ['valid_sign', 'Không được nhập ký tự có dấu', 'Do not enter accented characters'],\r\n ['valid_space', 'Không được nhập ký tự trắng', 'Do not enter white characters'],\r\n ['valid_script', 'Không được nhập ký tự đặc biệt', 'do not enter special characters'],\r\n ['valid_az09', 'Chỉ được nhập từ a đến z, từ 0 đến 9', 'Only enter a to z and 0 to 9'],\r\n ['valid_az09Dot', 'Chỉ được nhập a đến z ,từ 0 đến 9 và dấu chấm', 'Only enter a to z , A to Z and the dots'],\r\n ['valid_phone', 'Số điện thoại không đúng'],\r\n ['valid_textFirst', 'Ký tự đầu tiên phải là chữ', 'The first character must be text'],\r\n ['valid_floatNegative', 'Không được nhập số âm', 'Do not enter number negative'],\r\n ['valid_dateTime', 'Ngày giờ không đúng định dạng', 'The data and time are incorrect'],\r\n ['valid_date', 'Ngày không đúng định dạng', 'The Day is incorrect'],\r\n ['valid_year', 'Năm không đúng định dạng', 'The Year is incorrect'],\r\n ['valid_month', 'Tháng không đúng định dạng', 'The month is incorrect'],\r\n ['valid_number', 'Chỉ được nhập số từ 0 đến 9', 'Only enter numbers from 0 to 9'],\r\n ['valid_integer', 'Chỉ được nhập số nguyên', 'Enter integers only '],\r\n ['valid_integer_positive', 'Chỉ được nhập số nguyên dương', 'Enter positive integers only '],\r\n ['valid_float', 'Chỉ được nhập số nguyên hoặc số thập phân', 'Only enter whole numbers or decimal numbers'],\r\n ['valid_tuNgay', 'Từ ngày phải nhỏ hơn hoặc bằng đến ngày', 'The date must be less than or equal to the date'],\r\n ['valid_denNgay', 'Đến ngày phải lớn hơn hoặc bằng từ ngày', 'The date must be greater than or equal to the date'],\r\n ['valid_upload', 'Vui lòng chọn file', 'Please selete the file'],\r\n ['valid_file', 'file', 'file'],\r\n ['valid_character', 'ký tự', 'characters'],\r\n ['valid_max', 'Không được lớn hơn', 'Do not the bigger'],\r\n ['valid_min', 'Không được nhỏ hơn', 'Not smaller'],\r\n ['valid_length', 'Giá trị nhập phải là', 'The input value must be'],\r\n ['valid_requiredUpload', 'Vui lòng chọn', 'Please , select'],\r\n ['valid_password', 'Nhập tổi thiểu 6 ký tự', 'Minimum six characters'],\r\n ['valid_insert', 'Nhập từ', 'Insert'],\r\n ['valid_to', '', 'đến', 'to'],\r\n ['valid_insertThan', 'Nhập lớn hơn', 'Insert than'],\r\n ['valid_insertLess', 'Nhập nhỏ hơn', 'Insert less'],\r\n ['valid_character', 'ký tự', 'character'],\r\n ['valid_compareTime', 'TG bắt đầu phải nhỏ hơn TG kết thúc', ''],\r\n ['valid_password', 'Mật khẩu chứa ít nhất 6 kí tự chữ và số', ''],\r\n ['valide_blood_pressure', 'Vui lòng nhập đúng huyết áp', ''],\r\n\r\n //login\r\n ['login', 'Đăng nhập', 'Login'],\r\n ['login_error', 'Mật khẩu không đúng', 'Username or password is incorrect'],\r\n ['login_account', 'Tên đăng nhập', 'Username'],\r\n ['login_account_victim', 'Vui lòng chọn thông tin đăng nhập', \"Please enter identification information\"],\r\n ['login_password', 'Mật khẩu', 'Password'],\r\n ['login_repassword', 'Nhập lại mật khẩu', 'Repassword'],\r\n ['login_remember', 'Ghi nhớ đăng nhập', 'Remember Login'],\r\n ['login_not_exist', 'Số thẻ hoặc mã đăng ký không tồn tại', 'Cardcode does not exist'],\r\n ['login_phone', 'Số điện thoại', 'Phone number'],\r\n ['login_otp', 'Mã OTP', 'OTP Code'],\r\n ['login_get_otp', 'Lấy mã OTP', 'Get OTP'],\r\n ['login_active_title', 'Kích hoạt tài khoản', 'Active account'],\r\n ['login_active', 'Kích hoạt', 'Active'],\r\n ['login_error_phone', 'Có lỗi xảy ra!', 'Error!'],\r\n ['login_error_active_phone', 'Không thể gửi mã OTP!', \"Can't sent OTP code!\"],\r\n ['login_sent_otp', 'Mã OTP đã được gửi đến số điện thoại của bạn', ''],\r\n ['login_error_active', 'Mã OTP không đúng hoặc đã hết hạn', \"OTP code isn't correct\"],\r\n ['login_change_password', 'Đặt mật khẩu', 'Set password'],\r\n ['login_change_account', 'Đổi tài khoản', 'Change account'],\r\n ['login_forgot_password', 'Quên mật khẩu ?', 'Forgot password'],\r\n ['login_next', 'Tiếp theo', 'Next'],\r\n\r\n //logout\r\n ['logout', 'Đăng xuất', 'Logout'],\r\n ['logout_all', 'Có đăng xuất khỏi các thiết bị khác?', 'Do you logout of other devices?'],\r\n ['logout_success', 'Đăng xuất thành công', 'Logout successful'],\r\n ['logout_error', 'Đăng xuất không thành công', 'Logout failed'],\r\n\r\n //changepassword\r\n ['c_changePasswordSuccess', 'Đổi mật khẩu thành công', 'Change password success'],\r\n ['c_changePasswordError', 'Đổi mật khẩu không thành công', 'Change password failed'],\r\n ['c_changePasswordErrorOld', 'Mật khẩu cũ không đúng', 'Old password wrong'],\r\n ['c_changePasswordErrorReEnterNew', 'Mật khẩu nhập lại không khớp', 'Re-enter password not match'],\r\n ['c_changePasswordErrorOldNew', 'Mật khẩu mới không được trùng với mật khẩu cũ', 'The new password must not match the old password'],\r\n ['c_resetPassword', 'Đặt lại mật khẩu', 'Reset password'],\r\n ['c_resetPasswordSuccess', 'Đặt lại mật khẩu thành công', 'Reset password success'],\r\n ['c_resetPasswordError', 'Đặt lại mật khẩu không thành công', 'Reset password failed'],\r\n\r\n //header\r\n ['header_goClient', 'Đến trang người dùng', 'To page users'],\r\n ['header_goChangePassword', 'Đổi mật khẩu', 'Change password'],\r\n\r\n //404\r\n ['p404_error', 'Đường dẫn không đúng!', 'The path is not correct'],\r\n ['p404_backPage', 'Trang trước đó', 'Pervious page'],\r\n\r\n //nav\r\n\r\n ['nav_qlnguoidung', 'Quản lý người dùng', 'User management'],\r\n ['nav_dsnguoidung', 'Danh sách người dùng', 'User list'],\r\n\r\n //user\r\n ['User', 'Người dùng', 'User'],\r\n ['user', 'người dùng', 'User'],\r\n ['user_disableConfirm', 'Bạn chắc chắn khóa người dùng này không?', 'Are you sure this user is locked?'],\r\n ['user_disableSuccess', 'Khóa người dùng thành công', 'Lock user sucessful'],\r\n ['user_disableError', 'Khóa người dùng không thành công', 'Lock user failed'],\r\n ['user_openDisableConfirm', 'Bạn chắc chắn mở khóa người dùng này không?', 'Are you sure to unlock this user?'],\r\n ['user_openDisableSuccess', 'Mở khóa người dùng thành công', 'Unlock user successful'],\r\n ['user_openDisableError', 'Mở khóa người dùng không thành công', 'Unlock user failed'],\r\n ['user_nameAccount', 'Tên đăng nhập', 'Name account'],\r\n ['user_roles', 'Quyền', 'Roles'],\r\n ['user_lockAccount', 'Khóa tài khoản', 'Lock account'],\r\n ['user_unlockAccount', 'Mở khóa tài khoản', 'Unlock account'],\r\n ['user_lock', 'Khóa', 'Lock'],\r\n ['user_unlock', 'Không Khóa', 'Unlock'],\r\n ['user_locked', 'Đã Khóa', 'Locked'],\r\n ['user_hidden', 'Đã Ẩn', 'Hidden'],\r\n ['user_unhide', 'Hiện', 'Show'],\r\n ['user_pinned', 'Đã Ghim', 'Pinned'],\r\n ['user_unpin', 'Không ghim', 'Unpin'],\r\n ['user_reEnterPass', 'Nhập lại mật khẩu', 'Re-enter the password'],\r\n ['user_password', 'Mật khẩu', 'Enter Password'],\r\n ['user_newPassword', 'Mật khẩu mới', 'Enter New Password'],\r\n ['user_oldPassword', 'Mật khẩu cũ', 'Enter Old Password'],\r\n ['user_whitePassword', 'Mật khẩu (Để trống là giữ nguyên mật khẩu)', 'Password (Leave blank to keep the password)'],\r\n ['user_position', 'Chức vụ', 'Positon'],\r\n ['user_nameUser', 'Tên Người dùng', 'Name user'],\r\n ['user_phoneNumber', 'Số điện thoại', 'Phone Number'],\r\n\r\n\r\n\r\n ['', '', ''],\r\n];\r\n\r\nlet LanguageService = {\r\n vi: {},\r\n en: {},\r\n lang: {}\r\n};\r\n\r\ndict.forEach(item => {\r\n LanguageService.vi[item[0]] = item[1];\r\n LanguageService.en[item[0]] = item[2];\r\n});\r\nif (window.MyConfig.language == \"vi\") {\r\n LanguageService.lang = LanguageService.vi;\r\n}\r\nif (window.MyConfig.language == \"en\") {\r\n LanguageService.lang = LanguageService.en;\r\n}\r\nexport default LanguageService;\r\n","import ExtensionService from \"./ExtensionService\";\r\nimport * as moment from \"moment\";\r\nimport readXlsxFile from \"read-excel-file\";\r\n\r\nimport Excel from \"exceljs\";\r\nimport FileSaver from \"file-saver\";\r\n\r\nlet MethodService = {};\r\n\r\nvar NProgress = require('nprogress');\r\nNProgress.configure({\r\n trickleSpeed: 1000,\r\n minimum: 0.2,\r\n});\r\n\r\nfunction blockUi() {\r\n NProgress.start();\r\n $(\"body\").css(\"pointer-events\", \"none\");\r\n}\r\n\r\nfunction unblockUi() {\r\n setTimeout(() => {\r\n NProgress.done();\r\n Ladda.stopAll();\r\n $(\"body\").css(\"pointer-events\", \"auto\");\r\n }, 200);\r\n}\r\n\r\nMethodService.formatMoney = function (value) {\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\r\n};\r\n\r\nMethodService.getToken = function () {\r\n return window.localStorage.getItem(\r\n \"mushroom.tokens[\" + window.MyConfig.hostApi + \"]\"\r\n );\r\n};\r\n\r\nMethodService.checkToken = function (token) {\r\n if (token == null) {\r\n return MethodService.getToken();\r\n } else {\r\n return token;\r\n }\r\n};\r\n\r\nMethodService.checkRole = function (stringRoles) {\r\n if (!window.localStorage.currentUser) {\r\n return false;\r\n }\r\n var currentUser = JSON.parse(window.localStorage.currentUser);\r\n let roles = stringRoles.split(\",\");\r\n var flag = false;\r\n roles.forEach(function (item) {\r\n item = item.trim();\r\n if (currentUser.roles.indexOf(item) != -1) {\r\n flag = true;\r\n }\r\n });\r\n return flag;\r\n};\r\n\r\nMethodService.getCurrentUser = function () {\r\n return JSON.parse(window.localStorage.currentUser);\r\n};\r\nMethodService.getCurrentUserBS = function () {\r\n return JSON.parse(window.localStorage.currentUserBS);\r\n};\r\n\r\nMethodService.element = {\r\n datepicker: {\r\n formatDate: \"dd/MM/yyyy\",\r\n formatDatetime: \"dd/MM/yyyy HH:mm\",\r\n valueFormat: \"yyyy-MM-ddTHH:mm:ss\",\r\n placeholderDate: \"Ngày/Tháng/Năm\",\r\n placeholderDatetime: \"Ngày/Tháng/Năm Giờ:Phút\",\r\n\r\n formatMonth: \"MM/yyyy\",\r\n placeholderMonth: \"Tháng/Năm\",\r\n formatYear: \"yyyy\",\r\n placeholderYear: \"Năm\"\r\n }\r\n};\r\n\r\n//required iso 9001 ex: yyyy-dd-mmThh:mm:ssZ\r\nlet formatDateMoment = \"DD/MM/YYYY\";\r\n\r\n//ex: iso date to string date yyyy-dd-mmThh:mm:ssZ - > DD/MM/YYYY\r\n//ex: new Date to iso date Wed Mar 25 2015 07:00:00 GMT+0700 (Giờ Đông Dương) - > yyyy-dd-mmThh:mm:ssZ || MethodService.formatDate(new Date, \"\")\r\nMethodService.formatDate = function (value, rule) {\r\n if (value) {\r\n var format = \"\";\r\n if (rule == \"date\") {\r\n format = formatDateMoment;\r\n } else if (rule == \"datetime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else if (rule == \"aboutTime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else {\r\n format = rule;\r\n }\r\n return moment(value).format(format);\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nMethodService.formatDate2 = function (value, rule, z) {\r\n if (value) {\r\n var format = \"\";\r\n if (rule == \"date\") {\r\n format = formatDateMoment;\r\n } else if (rule == \"datetime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else if (rule == \"aboutTime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else {\r\n format = rule;\r\n }\r\n return moment(value, z).format(format);\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nMethodService.formatTimestamp = function (value, rule) {\r\n if (value) {\r\n var format = \"\";\r\n if (rule == \"date\") {\r\n format = formatDateMoment;\r\n } else if (rule == \"datetime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else if (rule == \"aboutTime\") {\r\n format = formatDateMoment + \" HH:mm\";\r\n } else {\r\n format = rule;\r\n }\r\n return moment(value, \"YYYY:MM:DDTHH:mm:ss.SSSZZ\").format(format);\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\n//value mush is \"DD/MM/YYYY\"\r\nMethodService.formatStringToIsoDate = function (value) {\r\n return moment(value, \"DD/MM/YYYY\").format();\r\n};\r\n\r\nMethodService.checkIsoDate = function (value) {\r\n return RegExp(\r\n /^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9])T(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?$/\r\n ).test(value);\r\n};\r\n\r\nMethodService.getAboutTime = function (value) {\r\n if (value) {\r\n let timeAgo = moment(value).fromNow();\r\n timeAgo = timeAgo\r\n .replace(\"a few seconds ago\", \"vài giây trước\")\r\n .replace(\"minutes ago\", \"phút trước\")\r\n .replace(\"hours ago\", \"giờ trước\");\r\n return timeAgo;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\n//value mush is Iso date\r\nMethodService.getDay = function (value) {\r\n if (value) {\r\n return moment(value, \"YYYY-MM-DD\").get(\"date\");\r\n } else {\r\n return \"\";\r\n }\r\n};\r\nMethodService.getMonth = function (value) {\r\n if (value) {\r\n return 1 + moment(value, \"YYYY-MM-DD\").get(\"month\");\r\n } else {\r\n return \"\";\r\n }\r\n};\r\nMethodService.getYear = function (value) {\r\n if (value) {\r\n return moment(value, \"YYYY-MM-DD\").get(\"year\");\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\n//ex: MethodService.findItem(listProvince, id, \"123\"); return item;\r\nMethodService.findItem = function (arr, attrFind, val) {\r\n return arr.find(item => {\r\n return val == item[attrFind];\r\n });\r\n};\r\n\r\n// ex: moment('2020-03-30T00:00:00).add(1, 'days').format(\"YYYY-MM-DDTHH:mm:ss\");\r\n// years quarters\tmonths weeks\tdays\thours\tminutes\tseconds\tmilliseconds\r\nMethodService.addDate = function (value, type, numberTime) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n return moment(value)\r\n .add(numberTime, type)\r\n .format(\"YYYY-MM-DDTHH:mm:ss\");\r\n};\r\n\r\nMethodService.getDate = function () {\r\n let res = moment().format(\"YYYY-MM-DD\") + \"T00:00:00\";\r\n return res;\r\n};\r\n\r\nMethodService.formatterTrimString = function (\r\n row,\r\n column,\r\n cellValue,\r\n index,\r\n number\r\n) {\r\n if (!number) {\r\n number = 8;\r\n }\r\n var lengthAllow = (column.width ? column.width : column.realWidth) / number;\r\n if (cellValue) {\r\n if (cellValue.length > lengthAllow) {\r\n return cellValue.slice(0, lengthAllow) + \"...\";\r\n } else {\r\n return cellValue;\r\n }\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nMethodService.formatterFloatNumber = function (row, column, cellValue, index) {\r\n if (cellValue) {\r\n cellValue = parseFloat(cellValue).toFixed(2);\r\n return cellValue.replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\");\r\n }\r\n};\r\n\r\nMethodService.stringToObject = function (value) {\r\n let stringObj = decodeURI(value)\r\n .replace(/\"/g, '\\\\\"')\r\n .replace(/&/g, '\",\"')\r\n .replace(/<=/g, '\":\"')\r\n .replace(/>=/g, '\":\"')\r\n .replace(/=/g, '\":\"')\r\n .replace(/:regex_i:/g, '\":\"')\r\n .replace(/:regex:/g, '\":\"')\r\n .replace(//g, '\":\"')\r\n .replace(/:in:/g, '\":\"');\r\n let specialCharactersRegex = /[\\&\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|]/g;\r\n let match = value.match(specialCharactersRegex);\r\n $.each(match, (key, valueRegex) => {\r\n let string = \"\\\\\" + valueRegex;\r\n stringObj = stringObj.replace(string, valueRegex);\r\n })\r\n return JSON.parse(\r\n '{\"' + stringObj + '\"}'\r\n );\r\n};\r\n\r\nMethodService.CalculationYear = function (type, last, next) {\r\n var toGo = \"\";\r\n var yearNow = new Date();\r\n var limit = yearNow.getFullYear();\r\n if (type == \"last\") {\r\n toGo = last;\r\n }\r\n if (type == \"next\") {\r\n toGo = next;\r\n limit = limit + next - 1;\r\n }\r\n if (type == \"last-next\") {\r\n toGo = next + last;\r\n limit = limit + next - 1;\r\n }\r\n var arr = [];\r\n for (let i = 0; i < toGo; i++) {\r\n arr.push(limit - i);\r\n }\r\n return arr;\r\n};\r\n\r\nMethodService.beforeAvatarUpload = function (file, mb) {\r\n return file.size / 1024 / 1024 < mb;\r\n};\r\n\r\nMethodService.EndYearBind = function (startYear) {\r\n let arr = [];\r\n let setYear = new Date();\r\n let yearPresent = setYear.getFullYear();\r\n\r\n if (startYear) {\r\n let rangToYearStart = yearPresent - startYear;\r\n if (rangToYearStart <= 20) {\r\n for (let i = rangToYearStart; i >= 1; i--) {\r\n arr.push(startYear + i);\r\n }\r\n } else {\r\n for (let i = 20; i <= 1; i) {\r\n arr.push(startYear + i);\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < 20; i++) {\r\n arr.push(yearPresent - i);\r\n }\r\n }\r\n\r\n return arr;\r\n};\r\n\r\nMethodService.StartYearBind = function (endYear) {\r\n let arr = [];\r\n let setYear = new Date();\r\n let yearPresent = setYear.getFullYear();\r\n if (endYear) {\r\n let rangToYearStart = endYear - Number(2000);\r\n if (rangToYearStart <= 20)\r\n for (let i = 1; i < rangToYearStart; i++) {\r\n arr.push(endYear - i);\r\n }\r\n } else {\r\n for (let i = 1; i < 20; i++) {\r\n arr.push(yearPresent - i);\r\n }\r\n }\r\n return arr;\r\n};\r\n\r\nMethodService.stopLadda = function () {\r\n setTimeout(function () {\r\n Ladda.stopAll();\r\n }, 100);\r\n};\r\n\r\nMethodService.checkFileSize = function (file, mb) {\r\n return file.size / 1024 / 1024 < mb;\r\n};\r\n\r\nMethodService.isString = function (value) {\r\n return typeof value === \"string\" || value instanceof String;\r\n};\r\n\r\nMethodService.isNumber = function (value) {\r\n return typeof value === \"number\" && isFinite(value);\r\n};\r\n\r\nMethodService.isArray = function (value) {\r\n return value && typeof value === \"object\" && value.constructor === Array;\r\n};\r\n\r\nMethodService.isFunction = function (value) {\r\n return typeof value === \"function\";\r\n};\r\n\r\nMethodService.isObject = function (value) {\r\n return value && typeof value === \"object\" && value.constructor === Object;\r\n};\r\n\r\nMethodService.isDate = function (value) {\r\n return value instanceof Date;\r\n};\r\n\r\nMethodService.isBoolean = function (value) {\r\n return typeof value === \"boolean\";\r\n};\r\n\r\nMethodService.isNull = function (value) {\r\n return value === null;\r\n};\r\n\r\nMethodService.isUndefined = function (value) {\r\n return typeof value === \"undefined\";\r\n};\r\n\r\nMethodService.checkIsDate = function (day, month, year) {\r\n var d = parseInt(day);\r\n var m = parseInt(month);\r\n var y = parseInt(year);\r\n\r\n var date = new Date(y, m - 1, d);\r\n if (\r\n date.getFullYear() == y &&\r\n date.getMonth() + 1 == m &&\r\n date.getDate() == d\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nMethodService.copyObject = function (obj) {\r\n return JSON.parse(JSON.stringify(obj));\r\n};\r\n\r\n// so sánh 2 object khởi tạo và object trả về, nếu trả về thiếu trường thì lấy trường từ object khởi tạo gán vào objetc trả về\r\nMethodService.checkDifferentObject = function (objectOld, objectNew) {\r\n function forObject(objectOld) {\r\n $.each(objectOld, function (key_objectOld, value_objectOld) {\r\n if (MethodService.isUndefined(objectNew[key_objectOld])) {\r\n objectNew[key_objectOld] = objectOld[key_objectOld];\r\n } else if (MethodService.isNull(objectNew[key_objectOld])) {\r\n objectNew[key_objectOld] = objectOld[key_objectOld];\r\n } else {\r\n if (MethodService.isObject(value_objectOld)) {\r\n forObject(value_objectOld);\r\n }\r\n }\r\n });\r\n }\r\n forObject(objectOld);\r\n return objectNew;\r\n};\r\n\r\n// Tìm các phần tử khác nhau có trong mảng object trả về [],\r\n// nếu truyền [object] thì truyển thêm field\r\n// nếu truyền array thì k cần\r\nMethodService.findListItemDifferent = function (arrItem, field) {\r\n let arrItemNew = [];\r\n if (field) {\r\n arrItem.forEach((item, index) => {\r\n if (field) {\r\n if (item[field]) {\r\n if (arrItemNew.indexOf(item[field]) == -1) {\r\n arrItemNew.push(item[field]);\r\n }\r\n }\r\n } else {\r\n if (arrItemNew.indexOf(item) == -1) {\r\n arrItemNew.push(item);\r\n }\r\n }\r\n });\r\n return arrItemNew;\r\n } else {\r\n return arrItem.filter((item, index) => {\r\n return arrItem.indexOf(item) === index;\r\n });\r\n }\r\n};\r\n\r\nMethodService.findListItemDuplicate = function (arrItem1, arrItem2) {\r\n return arrItem1.filter(function (val) {\r\n return arrItem2.indexOf(val) != -1;\r\n });\r\n};\r\n\r\nMethodService.markdownOption = {\r\n previewStyle: \"vertical\", //tab | vertical\r\n mode: \"markdown\",\r\n options: {\r\n minHeight: \"200px\",\r\n language: \"vi_VN\",\r\n useCommandShortcut: true,\r\n useDefaultHTMLSanitizer: true,\r\n usageStatistics: false,\r\n hideModeSwitch: true,\r\n placeholder: \"Nhập nội dung...\",\r\n toolbarItems: [\r\n \"heading\",\r\n \"bold\",\r\n \"italic\",\r\n \"strike\",\r\n \"divider\",\r\n \"hr\",\r\n \"quote\",\r\n \"divider\",\r\n \"ul\",\r\n \"ol\",\r\n \"task\",\r\n \"indent\",\r\n \"outdent\",\r\n \"divider\",\r\n \"table\",\r\n // 'image',\r\n \"link\",\r\n \"divider\",\r\n \"code\"\r\n // 'codeblock'\r\n ]\r\n }\r\n};\r\n\r\nMethodService.markdownModel = {\r\n dialogImage: false,\r\n dialogImageTab: \"insert\",\r\n dataFormImage: {\r\n title: null,\r\n link: null,\r\n file: null\r\n },\r\n validFormImage: {\r\n title: [],\r\n link: [],\r\n file: []\r\n }\r\n};\r\n\r\nMethodService.replaceURLImage = function (value) {\r\n return value.replace(\r\n /!\\[([^\\]]*)\\]\\(([^\\]]*)([0-9a-fA-F]{24})\\)/,\r\n \"![$1]($3)\"\r\n );\r\n};\r\n\r\nMethodService.unreplaceURLImage = function (value) {\r\n return value.replace(\r\n /!\\[([^\\]]*)\\]\\(([0-9a-fA-F]{24})\\)/,\r\n `![$1](${ExtensionService.urlImg}$2)`\r\n );\r\n};\r\n\r\nMethodService.readExcel = function (dataFile) {\r\n return new Promise(function (resolve, reject) {\r\n blockUi();\r\n readXlsxFile(dataFile).then((rows) => {\r\n resolve(rows);\r\n unblockUi()\r\n }, (error) => {\r\n toastr.error(\"Đọc file không thành công\");\r\n unblockUi();\r\n });\r\n })\r\n\r\n};\r\n\r\nMethodService.checkSDT = function (value) {\r\n return RegExp(/^(0|\\+?84|0084)\\d{9}$/).test(value);\r\n};\r\n\r\nMethodService.filterTable = function (jsonFilter) {\r\n if (jsonFilter) {\r\n let dataSearch = JSON.parse(jsonFilter);\r\n let filters = \"\";\r\n $.each(dataSearch.value, (key, value) => {\r\n if (value) {\r\n if (dataSearch.operator[key]) {\r\n let operator = dataSearch.operator[key];\r\n console.log(value);\r\n\r\n let valueChange = value.replace(\"*\", \"\\\\*\"); //Sửa lỗi tìm dấu *\r\n if (operator == \"<+1day\") {\r\n operator = \"<\";\r\n valueChange = MethodService.addDate(value, \"days\", 1);\r\n }\r\n if (operator.includes(\"regex\")) {\r\n let specialCharactersRegex = /[#&\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|]/g;\r\n let match = value.match(specialCharactersRegex);\r\n let special = '#&\\\\';\r\n $.each(match, (key, valueRegex) => {\r\n let string = (special.includes(valueRegex) ? \"\\\\\\\\\\\\\" : \"\\\\\") + valueRegex;\r\n valueChange = valueChange.replace(valueRegex, string);\r\n })\r\n console.log(valueChange);\r\n }\r\n filters += key + operator + valueChange + \"&\";\r\n } else {\r\n filters += key + \"=\" + value + \"&\";\r\n }\r\n }\r\n });\r\n return filters.slice(0, -1);\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nMethodService.sortObjectByKeyDate = function (obj, type) {\r\n var unordered = obj;\r\n var ordered = {};\r\n\r\n let keys = Object.keys(unordered);\r\n\r\n if (type == \"asc\") {\r\n keys\r\n .sort(function (a, b) {\r\n return new Date(a) - new Date(b);\r\n })\r\n .forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n }\r\n if (type == \"desc\") {\r\n keys\r\n .sort(function (a, b) {\r\n return new Date(b) - new Date(a);\r\n })\r\n .forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n }\r\n\r\n return ordered;\r\n};\r\n\r\nMethodService.sortObjectByKeyDate2 = function (obj, type) {\r\n var unordered = obj;\r\n var ordered = {};\r\n\r\n let keys = Object.keys(unordered);\r\n\r\n if (type == \"asc\") {\r\n keys\r\n .sort(function (a, b) {\r\n return new Date(\r\n a.substring(6, 10),\r\n parseInt(a.substring(3, 5)) - 1,\r\n a.substring(0, 2)\r\n ).getTime() -\r\n new Date(\r\n b.substring(6, 10),\r\n parseInt(b.substring(3, 5)) - 1,\r\n b.substring(0, 2)\r\n ).getTime();\r\n })\r\n .forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n }\r\n if (type == \"desc\") {\r\n keys\r\n .sort(function (a, b) {\r\n return new Date(\r\n b.substring(6, 10),\r\n parseInt(b.substring(3, 5)) - 1,\r\n b.substring(0, 2)\r\n ).getTime() -\r\n new Date(\r\n a.substring(6, 10),\r\n parseInt(a.substring(3, 5)) - 1,\r\n a.substring(0, 2)\r\n ).getTime();\r\n })\r\n .forEach(function (key) {\r\n ordered[key] = unordered[key];\r\n });\r\n }\r\n\r\n return ordered;\r\n};\r\n\r\nMethodService.createGuid = function () {\r\n function S4() {\r\n return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);\r\n }\r\n\r\n // then to call it, plus stitch in '4' in the third group\r\n let guid = (\r\n S4() +\r\n S4() +\r\n \"-\" +\r\n S4() +\r\n \"-4\" +\r\n S4().substr(0, 3) +\r\n \"-\" +\r\n S4() +\r\n \"-\" +\r\n S4() +\r\n S4() +\r\n S4()\r\n ).toLowerCase();\r\n return guid;\r\n};\r\n\r\nMethodService.soSanhVoiNgayHomNay = function (value) {\r\n let now = new Date();\r\n let dayNow = moment(now).format(\"YYYYMMDD\");\r\n let day = moment(value)\r\n .add(1, \"day\")\r\n .format(\"YYYYMMDD\");\r\n return dayNow < day;\r\n};\r\n\r\nMethodService.checkIsNullObject = function (obj) {\r\n let flag = true;\r\n for (let key in obj) {\r\n let val = obj[key];\r\n if (val) {\r\n flag = false;\r\n return;\r\n }\r\n }\r\n return flag;\r\n};\r\nMethodService.formatDate3 = function (value) {\r\n if (!value) {\r\n return \"\";\r\n }\r\n return moment(value).format(\"DD-MM-YYYY\");\r\n};\r\nMethodService.trimFormData = function (formData) {\r\n return JSON.parse(JSON.stringify(formData).replace(/\"\\s+|\\s+\"/g, '\"'));\r\n};\r\nMethodService.trimTextData = function (textData) {\r\n return textData.replace(/^\\s+ |\\s+$/g, \"\");\r\n};\r\nMethodService.NgaySinhSlice = function (value) {\r\n return `${value.slice(0, 4)}-${value.slice(4, 6)}-${value.slice(\r\n 6,\r\n 8\r\n )}T00:00:00`;\r\n};\r\nMethodService.checkTokenTichHop = token => {\r\n if (window.localStorage.getItem(\"token\")) {\r\n return window.localStorage.getItem(\"token\");\r\n } else {\r\n return token;\r\n }\r\n};\r\n\r\nMethodService.change_alias = (alias) => {\r\n var str = alias;\r\n str = str.toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, \"a\");\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, \"e\");\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, \"i\");\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, \"o\");\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, \"u\");\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, \"y\");\r\n str = str.replace(/đ/g, \"d\");\r\n str = str.replace(/!|@|%|\\^|\\*|\\(|\\)|\\+|\\=|\\<|\\>|\\?|\\/|,|\\.|\\:|\\;|\\'|\\\"|\\&|\\#|\\[|\\]|~|\\$|_|`|-|{|}|\\||\\\\/g, \" \");\r\n str = str.replace(/ + /g, \" \");\r\n str = str.trim();\r\n return str;\r\n};\r\n\r\nMethodService.checkIsFileImage = (value) =>{\r\n let count = 0;\r\n ['.jpg', '.jpeg', '.png'].forEach(element => {\r\n if (value.toLowerCase().includes(element)) {\r\n count = count + 1;\r\n }\r\n });\r\n if (count > 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nMethodService.exportExcel = function (dataList) {\r\n let workbook = new Excel.Workbook();\r\n workbook.created = new Date();\r\n workbook.calcProperties.fullCalcOnLoad = false;\r\n workbook.views = [\r\n {\r\n x: 0,\r\n y: 0,\r\n width: 10000,\r\n height: 20000,\r\n firstSheet: 0,\r\n activeTab: 0,\r\n visibility: \"visible\"\r\n }\r\n ];\r\n\r\n\r\n //Tạo sheet DS KDL\r\n let worksheet = workbook.addWorksheet(\"DS Bác sĩ\", {\r\n views: [{ state: \"frozen\", xSplit: 2, ySplit: 3 }]\r\n });\r\n // let worksheet = workbook.getWorksheet('DS Khách du lịch');\r\n\r\n worksheet.columns = [\r\n { header: \"Tên bác sĩ\", key: \"first_name\", width: 20 },\r\n { header: \"Họ đệm\", key: \"last_name\", width: 30 },\r\n { header: \"Mã bệnh viện\", key: \"hospital_code\", width: 20 },\r\n { header: \"Tên bệnh viện\", key: \"hospital_name\", width: 40 },\r\n { header: \"Chứng chỉ hành nghề\", key: \"license_code\", width: 20 },\r\n { header: \"Ghi chú\", key: \"note\", width: 100 },\r\n ];\r\n\r\n let row = worksheet.getRow(1);\r\n row.eachCell(function (cell, colNumber) {\r\n row.getCell(colNumber).font = { bold: true };\r\n row.getCell(colNumber).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\"\r\n };\r\n });\r\n\r\n $.each(dataList, (index, element) => {\r\n let item = {};\r\n item.first_name = element.first_name ? element.first_name : \"\";\r\n item.last_name = element.last_name ? element.last_name : \"\";\r\n item.hospital_code = element.hospital_code ? element.hospital_code : \"\";\r\n item.hospital_name = element.hospital_name ? element.hospital_name : \"\";\r\n item.license_code = element.license_code ? element.license_code : \"\";\r\n item.note = element.note ? element.note : \"\";\r\n worksheet.addRow(item);\r\n });\r\n\r\n workbook.xlsx.writeBuffer().then(function (data) {\r\n var blob = new Blob([data], {\r\n type:\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\"\r\n });\r\n FileSaver.saveAs(blob, \"DSBacSiVien.xlsx\");\r\n });\r\n}\r\n\r\nexport default MethodService;\r\n"],"sourceRoot":""}