{"version":3,"sources":["webpack:///./src/components/general/SearchField.vue","webpack:///./src/components/general/SearchField.vue?6651","webpack:///./src/views/payments/SalaryReportsView.vue","webpack:///./src/components/payments/SalaryReportsIndex.vue?48a9","webpack:///./src/components/payments/tables/SalaryReportsDataTable.vue?400b","webpack:///./src/components/payments/misc/SalaryExportsHistoryModal.vue?4d6e","webpack:///./src/components/payments/misc/SalaryExportsHistoryDataTable.vue?7a28","webpack:///./src/components/payments/misc/SalaryExportsHistoryDataTable.vue","webpack:///./src/components/payments/misc/SalaryExportsHistoryDataTable.vue?7aa0","webpack:///./src/components/payments/misc/SalaryExportsHistoryModal.vue","webpack:///./src/components/payments/misc/SalaryExportsHistoryModal.vue?78b8","webpack:///./src/components/payments/tables/SalaryReportsDataTable.vue","webpack:///./src/components/payments/tables/SalaryReportsDataTable.vue?1352","webpack:///./src/components/general/ShiftsModal.vue","webpack:///./src/components/general/ShiftsModal.vue?30cb","webpack:///./src/components/payments/misc/MissingReportsModal.vue?2099","webpack:///./src/components/payments/misc/MissingReportsModal.vue","webpack:///./src/components/payments/misc/MissingReportsModal.vue?3ef9","webpack:///./src/components/payments/misc/PayModal.vue?24c3","webpack:///./src/components/payments/misc/PayModal.vue","webpack:///./src/components/payments/misc/PayModal.vue?edf4","webpack:///./src/components/salary-reports/SalaryReportSummary.vue?6436","webpack:///./src/components/salary-reports/SalaryReportSummary.vue","webpack:///./src/components/salary-reports/SalaryReportSummary.vue?a9fe","webpack:///./src/components/payments/SalaryReportsIndex.vue","webpack:///./src/components/payments/SalaryReportsIndex.vue?e1f5","webpack:///./src/views/payments/SalaryReportsView.vue?6264","webpack:///./src/components/pagination/Pagination.vue?f9f9","webpack:///./src/components/pagination/Pagination.vue","webpack:///./src/components/pagination/Pagination.vue?f35f","webpack:///./src/components/payments/misc/helpers.ts","webpack:///./src/components/payments/tables/SalaryReportsDataTable.vue?034c","webpack:///./src/components/Icons/ArrowUp.vue?cb77","webpack:///./src/components/Icons/ArrowUp.vue","webpack:///./src/components/Icons/ArrowUp.vue?4417","webpack:///./node_modules/vue-countup-v3/dist/vue-countup-v3.es.js","webpack:///./src/components/Icons/ArrowDown.vue?930a","webpack:///./src/components/Icons/ArrowDown.vue","webpack:///./src/components/Icons/ArrowDown.vue?b5ef","webpack:///./src/components/payments/misc/MissingRatesModal.vue?c3b1","webpack:///./src/components/payments/misc/MissingRatesModal.vue","webpack:///./src/components/payments/misc/MissingRatesModal.vue?a4a1","webpack:///./src/components/payments/SalaryReportsIndex.vue?3338"],"names":["class","xmlns","xmlns:xlink","width","height","viewBox","version","stroke","stroke-width","fill","fill-rule","x","y","d","opacity","type","data-kt-customer-table-filter","placeholder","userSearchInput","name","props","String","this","$route","query","search","watch","$emit","__exports__","render","widget-classes","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","for","_hoisted_6","_hoisted_7","_hoisted_8","key","_hoisted_9","_hoisted_10","role","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_ctx","_cache","$props","$setup","$data","$options","_component_PayModal","_component_MissingReportsModal","_component_MissingRatesModal","_component_ShiftsModal","_component_SalaryReportsSummary","_component_SearchField","_component_el_date_picker","_component_LoadingSpinner","_component_el_empty","_component_SalaryReportsDataTable","_component_Pagination","widgetClasses","ref","onHandleMissingRates","ev","handleMissingRates","response","shifts","missingReportsShifts","missingRates","modalkey","onModalCloseEnd","handleMissingRatesModalClose","onUseOnce","handleUseOnce","onSavedRates","handleSaveRates","loading","getShiftsLoading","userShifts","getShiftsData","data","id","unchecked","$event","showTaxIdWorkers","summaryKey","date","getData","length","isGeneratingReports","style","progressBar","onClick","handleDownloadAll","args","onChangeSearch","changeSearch","clearable","modelValue","size","format","description","tableData","onOpenPayModal","handleOpenPayModal","onDownload","exportPaySlip","onShifts","openUserShifts","currentPage","pagination","totalPages","lastPage","onChangeCurrentPage","changeCurrentPage","_withScopeId","n","_component_SalaryExportsHistoryModal","_component_router_link","modalKey","userID","entry","to","default","_","calculateApprovedHours","approved_hours","shiftsButtonClick","downloadButtonClick","disabled","isAwaitingResponse","ids","includes","handlePreviousReports","openPayModal","_component_SalaryExportsHistoryDataTable","salaryReportsHistory","handlePageChange","entity","file_name","href","url","created_at","Array","components","SalaryExportsHistoryDataTable","Pagination","LoadingSpinner","Number","setup","store","getters","paginationState","updatePagination","value","fetchExportHistory","dispatch","page","then","SalaryExportsHistoryModal","Object","emit","modal","integer","parseInt","double","Math","round","EPSILON","whole","floor","minutes","eventData","eventValue","document","getElementById","show","tabindex","aria-hidden","data-bs-dismiss","src","shift","index","job","start","end","skill","duration","Boolean","console","log","_component_inline_svg","title","job_id","target","label","job_name","toggleModal","previewSalaryReport","handlePayButton","modalState","toggleLoading","isModal","link","createElement","body","appendChild","click","catch","err","fire","toast","icon","showCancelButton","timer","toggle","hide","showConfirmButton","showDenyButton","element","addEventListener","_component_ArrowUpIcon","_component_ArrowDownIcon","_component_count_up","_directive_loading","users","trend","result","hours","salaries","options","suffix","ArrowDownIcon","ArrowUpIcon","CountUp","showTaxId","setLoading","fetchSummary","taxId","trim","SalaryReportsSummary","PayModal","MissingReportsModal","SearchField","SalaryReportsDataTable","MissingRatesModal","ShiftsModal","isFromPayModal","interval","undefined","tempUserId","methods","pageNumber","setCurrentPage","fetchData","userInput","setSearchParams","resetPageNumber","hideModal","setModalState","error","userId","buildErrorString","errorString","subSkills","skills","map","children","flat","keys","forEach","branchID","skillID","find","branch","branches","handleAddRatesModal","$nextTick","period","taxID","downloadAllReports","handleProgressBar","clearLoadingBar","setInterval","getProgress","handleUI","status","helpers","progress","handleS3Download","window","clearInterval","getSalaryModal","html","rates","isConfirmed","isDenied","downloadPaySlip","replaceZero","isDismissed","fromDate","toDate","missing_report_shifts","bootStrapObject","tempRates","payload","fetchShiftsByID","computed","$refs","paySalaryModal","setTaxIdFilter","setSearchByDate","mounted","fetchSkills","fetchBranches","now","push","subtract","startOf","add","updated","getPagination","unmounted","resetState","SalaryReportsList","_hoisted_1","onclick","areThereLessThanEightPages","shouldBackArrowBeVisible","backButtonClicked","shownPageCollection","shouldNextArrowBeVisible","nextButtonClicked","maxPages","AllpageCollection","selectedPage","lastPageOfCurrentShownCollection","filter","i","MissingRatesSwalOptions","confirmButtonText","denyButtonColor","cancelButtonColor","confirmButtonColor","denyButtonText","fireDownloadAllError","points","rx","__defProp","defineProperty","__defProps","defineProperties","__getOwnPropDescs","getOwnPropertyDescriptors","__getOwnPropSymbols","getOwnPropertySymbols","__hasOwnProp","prototype","hasOwnProperty","__propIsEnum","propertyIsEnumerable","__defNormalProp","obj","enumerable","configurable","writable","__spreadValues","a","b","prop","call","__spreadProps","t","assign","t2","i2","s","arguments","apply","i3","endVal","defaults","startVal","decimalPlaces","useEasing","useGrouping","useIndianSeparators","smartEasingThreshold","smartEasingAmount","separator","decimal","prefix","enableScrollSpy","scrollSpyDelay","scrollSpyOnce","finalEndVal","countDown","paused","once","count","startTime","i4","remaining","frameVal","easingFn","n2","toFixed","printValue","rAF","requestAnimationFrame","update","onCompleteCallback","formatNumber","s2","e","o","abs","r","split","l","h","u","p","numerals","replace","t3","easeOutExpo","pow","formattingFn","validateValue","max","resetDuration","el","onScrollFns","handleScroll","onscroll","innerHeight","scrollY","getBoundingClientRect","top","pageYOffset","setTimeout","reset","determineDirectionAndSmartEasing","pauseResume","cancelAnimationFrame","plugin","tagName","textContent","innerHTML","ensureNumber","isNaN","concat","useRaf","cb","delaySeconds","rafId","timestamp","diff","cancel","__default__","_sfc_main","autoplay","loop","delay","emits","__props","expose","elRef","countUp","loopCount","finished","rafCtx","initCountUp","warn","startAnimation","_a","_loop","isTruely","_a2","restart","flag","init","$slots","ref_key","transform","_component_RatesDataTable","hasError","missingSkills","missingRateCollection","branchName","missingRatesSkills","onUpdateModalValues","handleTableInput","isSavingRates","handleSave","RatesDataTable","model","buildModel","missingRatesModal","isEmpty","branchId","values","buildPayload","hasValidData","base_rate","notifyInvalidData","isSaving"],"mappings":"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","file":"js/chunk-3695c56e.ce3dd46d.js","sourcesContent":["\n\n","import { render } from \"./SearchField.vue?vue&type=template&id=c5ec4142\"\nimport script from \"./SearchField.vue?vue&type=script&lang=js\"\nexport * from \"./SearchField.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n\n\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createElementVNode as _createElementVNode, vModelCheckbox as _vModelCheckbox, withDirectives as _withDirectives, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"card mb-5 mb-xl-8\" }\nconst _hoisted_2 = { class: \"card-header border-0 pt-5\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"h3\", { class: \"card-title align-items-start flex-column\" }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"card-label fw-bolder fs-3 mb-1\" }, \"Salary reports\"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"text-muted mt-1 fw-bold fs-7\" }, \"Overview workers and download salary reports\")\n], -1)\nconst _hoisted_4 = { class: \"form-check form-switch\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"label\", {\n class: \"form-check-label\",\n for: \"taxIdCheckbox\"\n}, \"Show taxID workers\", -1)\nconst _hoisted_6 = { class: \"card-body py-3\" }\nconst _hoisted_7 = { class: \"d-flex flex-column\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"d-flex justify-content-end w-100 mb-4\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"w-100 w-sm-75 d-flex align-items-center\"\n}\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", null, [\n /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"spinner-border text-primary spinner-border-sm\",\n role: \"status\"\n })\n], -1)\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"fs-5 text-primary ms-2 me-4\" }, \"Downloading...\", -1)\nconst _hoisted_12 = { class: \"progress w-100\" }\nconst _hoisted_13 = { class: \"row mt-3 justify-content-sm-start justify-content-center ms-0 ps-0\" }\nconst _hoisted_14 = { class: \"col-12 col-md-6 col-lg-5 ps-0\" }\nconst _hoisted_15 = { class: \"col-12 col-md-6 col-lg-6\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PayModal = _resolveComponent(\"PayModal\")!\n const _component_MissingReportsModal = _resolveComponent(\"MissingReportsModal\")!\n const _component_MissingRatesModal = _resolveComponent(\"MissingRatesModal\")!\n const _component_ShiftsModal = _resolveComponent(\"ShiftsModal\")!\n const _component_SalaryReportsSummary = _resolveComponent(\"SalaryReportsSummary\")!\n const _component_SearchField = _resolveComponent(\"SearchField\")!\n const _component_el_date_picker = _resolveComponent(\"el-date-picker\")!\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")!\n const _component_el_empty = _resolveComponent(\"el-empty\")!\n const _component_SalaryReportsDataTable = _resolveComponent(\"SalaryReportsDataTable\")!\n const _component_Pagination = _resolveComponent(\"Pagination\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"card\", _ctx.widgetClasses])\n }, [\n _createVNode(_component_PayModal, {\n ref: \"paySalaryModal\",\n onHandleMissingRates: _cache[0] || (_cache[0] = ev => _ctx.handleMissingRates(ev.query, ev.response))\n }, null, 512),\n _createVNode(_component_MissingReportsModal, { shifts: _ctx.missingReportsShifts }, null, 8, [\"shifts\"]),\n (_openBlock(), _createBlock(_component_MissingRatesModal, {\n missingRates: _ctx.missingRates,\n key: _ctx.modalkey,\n onModalCloseEnd: _ctx.handleMissingRatesModalClose,\n onUseOnce: _ctx.handleUseOnce,\n onSavedRates: _ctx.handleSaveRates\n }, null, 8, [\"missingRates\", \"onModalCloseEnd\", \"onUseOnce\", \"onSavedRates\"])),\n _createVNode(_component_ShiftsModal, {\n loading: _ctx.getShiftsLoading,\n userShifts: _ctx.getShiftsData.data\n }, null, 8, [\"loading\", \"userShifts\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"input\", {\n class: \"form-check-input\",\n type: \"checkbox\",\n id: \"taxIdCheckbox\",\n unchecked: \"\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.showTaxIdWorkers) = $event))\n }, null, 512), [\n [_vModelCheckbox, _ctx.showTaxIdWorkers]\n ]),\n _hoisted_5\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n (_openBlock(), _createBlock(_component_SalaryReportsSummary, {\n key: _ctx.summaryKey,\n date: _ctx.date,\n search: _ctx.search,\n \"show-tax-id\": _ctx.showTaxIdWorkers\n }, null, 8, [\"date\", \"search\", \"show-tax-id\"])),\n (_ctx.getData.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n (!_ctx.isGeneratingReports)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.handleDownloadAll && _ctx.handleDownloadAll(...args))),\n class: \"fs-5 text-dark cursor-pointer\"\n }, \"Download all reports\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", {\n class: \"progress-bar progress-bar-animated progress-bar-striped\",\n role: \"progressbar\",\n style: _normalizeStyle(`width: ${_ctx.progressBar}%`),\n \"aria-valuenow\": \"10\",\n \"aria-valuemin\": \"0\",\n \"aria-valuemax\": \"100\"\n }, null, 4)\n ])\n ]))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_SearchField, {\n placeholder: 'Search users...',\n onChangeSearch: _ctx.changeSearch\n }, null, 8, [\"placeholder\", \"onChangeSearch\"])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_component_el_date_picker, {\n class: \"input-class w-100 w-md-75 w-lg-50 mt-3 mt-md-0\",\n clearable: \"\",\n modelValue: _ctx.date,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.date) = $event)),\n size: \"large\",\n type: \"daterange\",\n \"start-placeholder\": \"From\",\n \"end-placeholder\": \"To\",\n format: \"DD/MM/YYYY\",\n \"value-format\": \"DD/MM/YYYY\"\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n (_ctx.loading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : (_ctx.getData == '')\n ? (_openBlock(), _createBlock(_component_el_empty, {\n key: 1,\n description: \n 'OOPS... Unfortunately no results matching your filters were found.'\n \n }, null, 8, [\"description\"]))\n : (_openBlock(), _createBlock(_component_SalaryReportsDataTable, {\n key: 2,\n tableData: _ctx.getData,\n onOpenPayModal: _ctx.handleOpenPayModal,\n onDownload: _ctx.exportPaySlip,\n onShifts: _ctx.openUserShifts\n }, null, 8, [\"tableData\", \"onOpenPayModal\", \"onDownload\", \"onShifts\"])),\n _createVNode(_component_Pagination, {\n currentPage: _ctx.pagination.currentPage,\n totalPages: _ctx.pagination.lastPage,\n onChangeCurrentPage: _ctx.changeCurrentPage\n }, null, 8, [\"currentPage\", \"totalPages\", \"onChangeCurrentPage\"])\n ])\n ])\n ], 2))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-159407f0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"table-responsive mt-5\" }\nconst _hoisted_2 = { class: \"table table-row-dashed table-row-gray-300 align-middle gs-0 gy-4\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", { class: \"fw-bolder text-muted\" }, [\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-50px\" }, \" #ID \"),\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-100px\" }, \" Freelancer \"),\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-140px\" }, \" Hours worked \"),\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-120px text-end\" }, \"Actions\")\n ])\n], -1))\nconst _hoisted_4 = { class: \"text-dark fw-bolder d-block fs-6\" }\nconst _hoisted_5 = { class: \"text-dark fw-bolder d-block fs-6\" }\nconst _hoisted_6 = { class: \"text-end\" }\nconst _hoisted_7 = { class: \"d-flex justify-content-end flex-row align-items-start\" }\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = { class: \"d-flex flex-column\" }\nconst _hoisted_10 = [\"onClick\", \"disabled\"]\nconst _hoisted_11 = {\n class: \"spinner-border spinner-border-sm\",\n role: \"status\"\n}\nconst _hoisted_12 = [\"onClick\"]\nconst _hoisted_13 = [\"onClick\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SalaryExportsHistoryModal = _resolveComponent(\"SalaryExportsHistoryModal\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_openBlock(), _createBlock(_component_SalaryExportsHistoryModal, {\n key: _ctx.modalKey,\n userID: _ctx.userID\n }, null, 8, [\"userID\"])),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableData, (entry) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: entry.id\n }, [\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(entry.id), 1)\n ]),\n _createElementVNode(\"td\", null, [\n _createVNode(_component_router_link, {\n class: \"text-dark fw-bolder d-block fs-6\",\n to: '/users/' + entry.id + '/personal'\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(entry.name), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", null, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.calculateApprovedHours(entry.approved_hours)), 1)\n ]),\n _createElementVNode(\"td\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"a\", {\n class: \"btn btn-sm btn-info mx-2\",\n onClick: _withModifiers(($event: any) => (_ctx.shiftsButtonClick(entry.id)), [\"prevent\"]),\n \"data-bs-toggle\": \"modal\",\n \"data-bs-target\": \"#shifts_modal\"\n }, \"View Shifts\", 8, _hoisted_8),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n onClick: ($event: any) => (_ctx.downloadButtonClick(entry.id)),\n disabled: _ctx.isAwaitingResponse.ids.includes(entry.id),\n class: \"btn btn-sm btn-warning\"\n }, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_11, null, 512), [\n [_vShow, _ctx.isAwaitingResponse.ids.includes(entry.id)]\n ]),\n _createTextVNode(\" \" + _toDisplayString(_ctx.isAwaitingResponse.ids.includes(entry.id)\n ? \"Download Salary Re...\"\n : \"Download Salary Report\"), 1)\n ], 8, _hoisted_10),\n _createElementVNode(\"a\", {\n onClick: ($event: any) => (_ctx.handlePreviousReports(entry.id)),\n class: \"fs-6 fw-bold text-gray cursor-pointer\"\n }, \"See previous exports\", 8, _hoisted_12)\n ]),\n _createElementVNode(\"button\", {\n class: \"btn btn-sm btn-icon btn-success mx-2\",\n onClick: ($event: any) => (_ctx.openPayModal(entry))\n }, \"Pay\", 8, _hoisted_13)\n ])\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ], 64))\n}","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"modal fade\",\n id: \"salary-exports-history-modal\",\n \"data-toggle\": \"modal\"\n}\nconst _hoisted_2 = { class: \"modal-dialog modal-lg\" }\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h5\", {\n class: \"modal-title\",\n id: \"salary-exports-history-modal-label\"\n }, \" View exports history \"),\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"btn btn-icon btn-sm btn-active-light-primary ms-2\",\n \"data-bs-dismiss\": \"modal\",\n \"aria-label\": \"Close\"\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"svg-icon svg-icon-2x\" })\n ])\n], -1)\nconst _hoisted_5 = { class: \"modal-body\" }\nconst _hoisted_6 = { class: \"d-flex justify-content-end\" }\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-footer\" }, [\n /*#__PURE__*/_createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-light\",\n \"data-bs-dismiss\": \"modal\"\n }, \" Close \")\n], -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")!\n const _component_SalaryExportsHistoryDataTable = _resolveComponent(\"SalaryExportsHistoryDataTable\")!\n const _component_Pagination = _resolveComponent(\"Pagination\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.loading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.loading)\n ? (_openBlock(), _createBlock(_component_SalaryExportsHistoryDataTable, {\n key: 1,\n tableData: _ctx.salaryReportsHistory\n }, null, 8, [\"tableData\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Pagination, {\n currentPage: _ctx.pagination.currentPage,\n totalPages: _ctx.pagination.totalPages,\n onChangeCurrentPage: _ctx.handlePageChange\n }, null, 8, [\"currentPage\", \"totalPages\", \"onChangeCurrentPage\"])\n ])\n ]),\n _hoisted_7\n ])\n ])\n ]))\n}","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"table-responsive mt-5\" }\nconst _hoisted_2 = { class: \"table table-row-dashed table-row-gray-300 align-middle gs-0 gy-4\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", { class: \"fw-bolder text-muted\" }, [\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-50px\" }, \" File \"),\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-140px text-end\" }, \" Created at \")\n ])\n], -1)\nconst _hoisted_4 = { class: \"fw-bolder fs-6 text-gray-800\" }\nconst _hoisted_5 = [\"href\"]\nconst _hoisted_6 = { class: \"fw-bolder fs-6 text-gray-800 text-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"table\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tableData, (entity) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: entity.file_name\n }, [\n _createElementVNode(\"td\", _hoisted_4, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"a\", {\n href: entity.url\n }, _toDisplayString(entity.file_name), 9, _hoisted_5)\n ])\n ]),\n _createElementVNode(\"td\", _hoisted_6, [\n _createElementVNode(\"span\", null, _toDisplayString(entity.created_at), 1)\n ])\n ]))\n }), 128))\n ])\n ])\n ]))\n}","\nimport { defineComponent, PropType } from \"vue\";\n\nexport default defineComponent({\n props: {\n tableData: {\n type: Array as PropType,\n default: () => []\n }\n }\n});\n","import { render } from \"./SalaryExportsHistoryDataTable.vue?vue&type=template&id=4fbb274a&ts=true\"\nimport script from \"./SalaryExportsHistoryDataTable.vue?vue&type=script&lang=ts\"\nexport * from \"./SalaryExportsHistoryDataTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport {\n defineComponent,\n onMounted,\n PropType,\n computed,\n reactive,\n ref\n} from \"vue\";\nimport LoadingSpinner from \"@/components/general/LoadingSpinner.vue\";\nimport SalaryExportsHistoryDataTable from \"@/components/payments/misc/SalaryExportsHistoryDataTable.vue\";\nimport Pagination from \"@/components/pagination/Pagination.vue\";\nimport { useStore } from \"vuex\";\n\nexport default defineComponent({\n name: \"salary-exports-history-modal\",\n components: {\n SalaryExportsHistoryDataTable,\n Pagination,\n LoadingSpinner\n },\n props: {\n userID: {\n type: Number as PropType,\n default: null\n }\n },\n setup(props) {\n const store = useStore();\n const loading = ref(false);\n const salaryReportsHistory = computed(\n () => store.getters[\"SalaryReportsModule/getSalaryReportsHistory\"]\n );\n const paginationState = computed(\n () => store.getters[\"SalaryReportsModule/getExportHistoryPagination\"]\n );\n const pagination = reactive({\n currentPage: 1,\n totalPages: 1\n });\n const updatePagination = () => {\n pagination.totalPages = paginationState.value.lastPage;\n pagination.currentPage = paginationState.value.currentPage;\n };\n const fetchExportHistory = () => {\n loading.value = true;\n store\n .dispatch(\"SalaryReportsModule/fetchExportHistory\", {\n userID: props.userID,\n page: pagination.currentPage\n })\n .then(() => {\n loading.value = false;\n updatePagination();\n });\n };\n const handlePageChange = (page: number) => {\n pagination.currentPage = page;\n fetchExportHistory();\n };\n\n onMounted(() => {\n if (props.userID) fetchExportHistory();\n });\n\n return {\n salaryReportsHistory,\n handlePageChange,\n loading,\n pagination\n };\n }\n});\n","import { render } from \"./SalaryExportsHistoryModal.vue?vue&type=template&id=78071e4a&ts=true\"\nimport script from \"./SalaryExportsHistoryModal.vue?vue&type=script&lang=ts\"\nexport * from \"./SalaryExportsHistoryModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport SalaryExportsHistoryModal from \"@/components/payments/misc/SalaryExportsHistoryModal.vue\";\nimport { defineComponent, computed, ref, nextTick } from \"vue\";\nimport { Modal } from \"bootstrap\";\nimport { useStore } from \"vuex\";\n\nexport default defineComponent({\n name: \"salaryReportsDataTable\",\n components: {\n SalaryExportsHistoryModal\n },\n props: {\n tableData: Object\n },\n setup(props, { emit }) {\n const store = useStore();\n const modalKey = ref(0);\n const modal = ref(null);\n const userID = ref(null);\n const isAwaitingResponse = computed(\n () => store.getters[\"SalaryReportsModule/isAwaitingResponse\"]\n );\n const calculateApprovedHours = (value: string): string => {\n const integer = parseInt(value);\n if (value) {\n const double = Math.round((integer / 60) * 100 + Number.EPSILON) / 100;\n const whole = Math.floor(double);\n const minutes = Math.round((double - whole) * 60);\n return `${whole} hrs ${minutes != 0 ? `${minutes} min` : \"\"}`;\n }\n return \"0 hrs\";\n };\n const downloadButtonClick = (userID: number) => {\n emit(\"download\", userID);\n };\n\n const shiftsButtonClick = (userID: number) => {\n emit(\"shifts\", userID);\n };\n\n const openPayModal = (eventData: object) => {\n emit(\"openPayModal\", eventData);\n };\n\n const handlePreviousReports = async (eventValue: number) => {\n modalKey.value++;\n userID.value = eventValue;\n await nextTick().then(() => {\n modal.value = new Modal(\n document.getElementById(\"salary-exports-history-modal\")\n );\n modal.value.show();\n });\n };\n return {\n calculateApprovedHours,\n handlePreviousReports,\n downloadButtonClick,\n isAwaitingResponse,\n shiftsButtonClick,\n openPayModal,\n modalKey,\n userID\n };\n }\n});\n","import { render } from \"./SalaryReportsDataTable.vue?vue&type=template&id=159407f0&scoped=true&ts=true\"\nimport script from \"./SalaryReportsDataTable.vue?vue&type=script&lang=ts\"\nexport * from \"./SalaryReportsDataTable.vue?vue&type=script&lang=ts\"\n\nimport \"./SalaryReportsDataTable.vue?vue&type=style&index=0&id=159407f0&scoped=true&lang=css\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-159407f0\"]])\n\nexport default __exports__","\n\n","import { render } from \"./ShiftsModal.vue?vue&type=template&id=547c0778\"\nimport script from \"./ShiftsModal.vue?vue&type=script&lang=js\"\nexport * from \"./ShiftsModal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"modal fade\",\n id: \"missing-reports-modal\"\n}\nconst _hoisted_2 = { class: \"modal-dialog mw-650px\" }\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = { class: \"modal-header pb-0 border-0 justify-content-end\" }\nconst _hoisted_5 = {\n class: \"btn btn-sm btn-icon btn-active-color-primary\",\n \"data-bs-dismiss\": \"modal\"\n}\nconst _hoisted_6 = { class: \"svg-icon svg-icon-1\" }\nconst _hoisted_7 = { class: \"modal-body scroll-y mx-5 mx-xl-18 pt-0 pb-15\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-center mb-13\" }, [\n /*#__PURE__*/_createElementVNode(\"h1\", { class: \"mb-3\" }, \"Missing reports\"),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-gray-400 fw-bold fs-5\" }, \" User has missing reports on the shifts listed \")\n], -1)\nconst _hoisted_9 = { class: \"mb-15\" }\nconst _hoisted_10 = { class: \"table-responsive mt-5\" }\nconst _hoisted_11 = { class: \"table table-row-dashed table-row-gray-300 align-middle gs-0 gy-4\" }\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"thead\", null, [\n /*#__PURE__*/_createElementVNode(\"tr\", { class: \"fw-bolder text-muted\" }, [\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-50px\" }, \"Shift\"),\n /*#__PURE__*/_createElementVNode(\"th\", { class: \"min-w-140px text-end\" }, \"Job\")\n ])\n], -1)\nconst _hoisted_13 = { class: \"fw-bolder fs-6 text-gray-800\" }\nconst _hoisted_14 = { class: \"fw-bolder fs-6 text-gray-800 text-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_inline_svg = _resolveComponent(\"inline-svg\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, [\n _createVNode(_component_inline_svg, { src: \"media/icons/duotone/Navigation/Close.svg\" })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"table\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"tbody\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.shifts, (shift, index) => {\n return (_openBlock(), _createElementBlock(\"tr\", { key: index }, [\n _createElementVNode(\"td\", _hoisted_13, [\n _createVNode(_component_router_link, {\n \"data-bs-toggle\": \"tooltip\",\n title: \"This will open a new browser window\",\n to: `/jobs/${shift.job_id}/shifts?shift=${shift.id}`,\n target: \"_blank\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(shift.label), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]),\n _createElementVNode(\"td\", _hoisted_14, [\n _createElementVNode(\"span\", null, _toDisplayString(shift.job_name), 1)\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { defineComponent, PropType } from \"vue\";\n\ninterface MissingShift {\n id: number;\n job_id: number;\n job_name: string;\n label: string;\n}\n\nexport default defineComponent({\n name: \"missing-reports-modal\",\n props: {\n shifts: {\n type: Array as PropType,\n default: () => []\n }\n }\n});\n","import { render } from \"./MissingReportsModal.vue?vue&type=template&id=6f268a95&ts=true\"\nimport script from \"./MissingReportsModal.vue?vue&type=script&lang=ts\"\nexport * from \"./MissingReportsModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"modal fade\",\n id: \"pay-salary-modal\"\n}\nconst _hoisted_2 = { class: \"modal-dialog mw-650px\" }\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = { class: \"modal-header pb-0 border-0 justify-content-between align-items-center\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"Preview salary report before payment ?\", -1)\nconst _hoisted_6 = { class: \"svg-icon svg-icon-1\" }\nconst _hoisted_7 = { class: \"modal-body\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-gray-400 fw-bold fs-5 mt-5 text-start\" }, \" You can preview the user's salary report for the period or proceed and mark it as payed. \", -1)\nconst _hoisted_9 = { class: \"d-flex mt-10 justify-content-end\" }\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n key: 0,\n class: \"spinner-border me-2 spinner-border-sm\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" Preview salary report \")\nconst _hoisted_13 = [\"disabled\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"spinner-border me-2 spinner-border-sm\"\n}\nconst _hoisted_15 = /*#__PURE__*/_createTextVNode(\" Pay \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_inline_svg = _resolveComponent(\"inline-svg\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", {\n class: \"btn btn-sm btn-icon btn-active-color-primary\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.toggleModal(false, null)))\n }, [\n _createElementVNode(\"span\", _hoisted_6, [\n _createVNode(_component_inline_svg, { src: \"media/icons/duotone/Navigation/Close.svg\" })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n disabled: _ctx.loading,\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.previewSalaryReport && _ctx.previewSalaryReport(...args))),\n class: \"h-40px d-flex justify-content-center me-5 align-items-center btn btn-primary\"\n }, [\n (_ctx.loading)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _hoisted_12\n ], 8, _hoisted_10),\n _createElementVNode(\"button\", {\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.handlePayButton && _ctx.handlePayButton(...args))),\n disabled: _ctx.loading,\n class: \"h-40px d-flex justify-content-center align-items-center btn btn-success\"\n }, [\n (_ctx.loading)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14))\n : _createCommentVNode(\"\", true),\n _hoisted_15\n ], 8, _hoisted_13)\n ])\n ])\n ])\n ])\n ]))\n}","\nimport { defineComponent, ref, onMounted } from \"vue\";\nimport { Modal } from \"bootstrap\";\nimport { useStore } from \"vuex\";\nimport Swal from \"sweetalert2\";\n\nexport interface PayModalData {\n userId: number;\n fromDate: string;\n toDate: string;\n}\n\nexport default defineComponent({\n name: \"pay-modal\",\n setup: function(props, { emit }) {\n const modal = ref(null);\n const store = useStore();\n const modalState = ref(null);\n const loading = ref(false);\n\n onMounted((): void => {\n const element = document.getElementById(\"pay-salary-modal\");\n if (element) {\n modal.value = new Modal(element);\n element.addEventListener(\"hidden.bs.modal\", () => {\n modalState.value = null;\n loading.value = false;\n });\n }\n });\n\n function toggleLoading(value: boolean): void {\n loading.value = value;\n }\n\n function previewSalaryReport(): void {\n toggleLoading(true);\n store\n .dispatch(\"SalaryReportsModule/downloadPaySlip\", modalState.value)\n .then(response => {\n if (response && response.data) {\n if (response.data.type == \"MissingRates\") {\n emit(\"handleMissingRates\", {\n response: { isModal: true, ...response.data },\n query: modalState.value\n });\n } else {\n toggleLoading(false);\n const link = document.createElement(\"a\");\n link.href = response.data.url;\n document.body.appendChild(link);\n link.click();\n }\n }\n })\n .catch(err => {\n Swal.fire({\n title: err,\n toast: true,\n icon: \"error\",\n showCancelButton: false,\n timer: 1200\n });\n loading.value = false;\n });\n }\n\n function toggleModal(toggle: boolean, data: PayModalData | null) {\n if (modal.value) {\n if (toggle) {\n modal.value.show();\n if (data) {\n modalState.value = data;\n }\n } else {\n modal.value.hide();\n }\n }\n }\n\n function handlePayButton(): void {\n loading.value = true;\n store\n .dispatch(\"SalaryReportsModule/handlePayButton\", modalState.value)\n .then(() => {\n Swal.fire({\n toast: true,\n icon: \"success\",\n title: \"Successfully marked applications as payed\",\n timer: 1000,\n showCancelButton: false,\n showConfirmButton: false,\n showDenyButton: false\n });\n toggleModal(false, null);\n loading.value = false;\n })\n .catch(() => {\n loading.value = false;\n });\n }\n\n return {\n previewSalaryReport,\n handlePayButton,\n toggleLoading,\n toggleModal,\n loading\n };\n }\n});\n","import { render } from \"./PayModal.vue?vue&type=template&id=a584a95c&ts=true\"\nimport script from \"./PayModal.vue?vue&type=script&lang=ts\"\nexport * from \"./PayModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createVNode as _createVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex\"\n}\nconst _hoisted_2 = { class: \"border border-gray-300 border-dashed rounded min-w-125px py-3 px-4 me-6 mb-3\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"me-2\"\n}\nconst _hoisted_5 = { class: \"fs-4 fw-bolder\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"fw-bold fs-6 text-gray-400\" }, \"Total workers\", -1)\nconst _hoisted_7 = { class: \"border border-gray-300 border-dashed rounded min-w-125px py-3 px-4 me-6 mb-3\" }\nconst _hoisted_8 = { class: \"d-flex align-items-center\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"me-2\"\n}\nconst _hoisted_10 = { class: \"fs-4 fw-bolder\" }\nconst _hoisted_11 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"fw-bold fs-6 text-gray-400\" }, \"Total hours\", -1)\nconst _hoisted_12 = {\n key: 0,\n class: \"d-flex\"\n}\nconst _hoisted_13 = { class: \"d-flex align-items-center\" }\nconst _hoisted_14 = { class: \"d-flex\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"me-2\"\n}\nconst _hoisted_16 = { class: \"fs-4 fw-bolder\" }\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"fw-bold fs-6 text-gray-400\" }, \"Total salaries\", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ArrowUpIcon = _resolveComponent(\"ArrowUpIcon\")!\n const _component_ArrowDownIcon = _resolveComponent(\"ArrowDownIcon\")!\n const _component_count_up = _resolveComponent(\"count-up\")!\n const _directive_loading = _resolveDirective(\"loading\")!\n\n return (_ctx.date)\n ? _withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.data && _ctx.data.users.trend)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_ctx.data.users.trend == 'up')\n ? (_openBlock(), _createBlock(_component_ArrowUpIcon, { key: 0 }))\n : (_openBlock(), _createBlock(_component_ArrowDownIcon, { key: 1 }))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_count_up, {\n \"end-val\": _ctx.data ? _ctx.data.users.result : 0\n }, null, 8, [\"end-val\"])\n ])\n ]),\n _hoisted_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.data && _ctx.data.hours.trend)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n (_ctx.data.hours.trend == 'up')\n ? (_openBlock(), _createBlock(_component_ArrowUpIcon, { key: 0 }))\n : (_openBlock(), _createBlock(_component_ArrowDownIcon, { key: 1 }))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_count_up, {\n \"end-val\": _ctx.data ? _ctx.data.hours.result : 0\n }, null, 8, [\"end-val\"])\n ])\n ]),\n _hoisted_11\n ]),\n (_ctx.data && _ctx.data.salaries)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.data.salaries, (entry, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"border border-gray-300 border-dashed rounded min-w-125px py-3 px-4 me-6 mb-3\"\n }, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n (entry.trend)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n (entry.trend == 'up')\n ? (_openBlock(), _createBlock(_component_ArrowUpIcon, { key: 0 }))\n : (_openBlock(), _createBlock(_component_ArrowDownIcon, { key: 1 }))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_16, [\n _createVNode(_component_count_up, {\n class: \"fs-4 fw-bolder\",\n options: { suffix: ` ${index}` as string },\n \"end-val\": entry.result\n }, null, 8, [\"options\", \"end-val\"])\n ])\n ])\n ]),\n _hoisted_17\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ])), [\n [_directive_loading, _ctx.loading]\n ])\n : _createCommentVNode(\"\", true)\n}","\nimport {\n computed,\n defineComponent,\n onMounted,\n onUnmounted,\n PropType,\n ref\n} from \"vue\";\nimport { useStore } from \"vuex\";\nimport CountUp from \"vue-countup-v3\";\nimport ArrowUpIcon from \"@/components/Icons/ArrowUp.vue\";\nimport ArrowDownIcon from \"@/components/Icons/ArrowDown.vue\";\n\ninterface SummaryDataResult {\n result: number;\n trend: null | \"up\" | \"down\";\n}\n\ninterface SalaryReportSummary {\n users: SalaryReportSummary | null;\n salaries: SalaryReportSummary | null;\n hours: SalaryReportSummary | null;\n}\n\nexport default defineComponent({\n name: \"salary-reports-summary\",\n components: { ArrowDownIcon, ArrowUpIcon, CountUp },\n props: {\n date: {\n type: Array as PropType,\n default: () => []\n },\n showTaxId: {\n type: Boolean as PropType,\n default: () => false\n },\n search: {\n type: String as PropType,\n default: () => \"\"\n },\n },\n setup: function(props) {\n const store = useStore();\n const loading = ref(false);\n\n function setLoading(value: boolean): void {\n loading.value = value;\n }\n\n function fetchSummary(): void {\n if (!props.date || !props.date.length) {\n store.dispatch(\"SalaryReportsModule/clearSummary\");\n return;\n }\n setLoading(true);\n store\n .dispatch(\"SalaryReportsModule/fetchSummary\", {\n date: props.date,\n taxId: props.showTaxId,\n search: props.search.trim() == \"\" ? null : props.search\n })\n .then(() => {\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }\n\n const data = computed(() => store.getters[\"SalaryReportsModule/summary\"]);\n\n onMounted((): void => {\n fetchSummary();\n });\n\n onUnmounted((): void => {\n store.dispatch(\"SalaryReportsModule/clearSummary\");\n });\n\n return {\n loading,\n data\n };\n }\n});\n","import { render } from \"./SalaryReportSummary.vue?vue&type=template&id=332b277a&ts=true\"\nimport script from \"./SalaryReportSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./SalaryReportSummary.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { defineComponent } from \"vue\";\nimport SearchField from \"@/components/general/SearchField.vue\";\nimport SalaryReportsDataTable from \"@/components/payments/tables/SalaryReportsDataTable.vue\";\nimport { mapActions, mapGetters } from \"vuex\";\nimport MissingRatesModal from \"@/components/payments/misc/MissingRatesModal.vue\";\nimport LoadingSpinner from \"@/components/general/LoadingSpinner.vue\";\nimport Pagination from \"@/components/pagination/Pagination.vue\";\nimport ShiftsModal from \"@/components/general/ShiftsModal.vue\";\nimport * as helpers from \"@/components/payments/misc/helpers\";\nimport Swal from \"sweetalert2\";\nimport { Modal } from \"bootstrap\";\nimport moment from \"moment\";\nimport MissingReportsModal from \"@/components/payments/misc/MissingReportsModal.vue\";\nimport PayModal, {\n PayModalData\n} from \"@/components/payments/misc/PayModal.vue\";\nimport ApiService from \"@/core/services/ApiService\";\nimport SalaryReportsSummary from \"@/components/salary-reports/SalaryReportSummary.vue\";\n\nexport default defineComponent({\n name: \"SalaryReportsIndex\",\n components: {\n SalaryReportsSummary,\n PayModal,\n MissingReportsModal,\n SearchField,\n SalaryReportsDataTable,\n LoadingSpinner,\n Pagination,\n MissingRatesModal,\n ShiftsModal\n },\n data() {\n return {\n date: [] as string[],\n showTaxIdWorkers: false,\n summaryKey: 0,\n missingReportsShifts: [],\n isFromPayModal: false,\n modalkey: 0,\n progressBar: 0,\n pagination: {\n currentPage: 1,\n lastPage: 1\n },\n interval: undefined as any,\n isGeneratingReports: false,\n modal: null as Modal,\n missingRates: {},\n tempUserId: null,\n search: \"\"\n };\n },\n methods: {\n ...mapActions(\"SalaryReportsModule\", [\n \"fetchData\",\n \"resetState\",\n \"setCurrentPage\",\n \"setSearchParams\",\n \"setTaxIdFilter\",\n \"fetchSkillsForMissingRates\",\n \"setSearchByDate\",\n \"resetPageNumber\",\n \"downloadAllReports\",\n \"getProgress\",\n \"downloadPaySlip\",\n \"fetchShiftsByID\",\n \"fetchSummary\"\n ]),\n ...mapActions(\"ListsModule\", [\"fetchSkills\", \"fetchBranches\"]),\n changeCurrentPage(pageNumber) {\n this.setCurrentPage(pageNumber);\n this.fetchData();\n },\n changeSearch(userInput) {\n this.setSearchParams(userInput);\n this.resetPageNumber();\n this.search = userInput;\n this.summaryKey++;\n this.fetchData();\n },\n hideModal() {\n this.modal.hide();\n },\n setModalState(error, userId) {\n this.modalkey++;\n this.modal = null;\n this.missingRates = error;\n this.tempUserId = userId;\n },\n buildErrorString(error): string {\n let errorString = \"\" as string;\n const subSkills = this.skills.map(skill => skill.children).flat();\n Object.keys(error).forEach(branchID => {\n error[branchID].forEach(skillID => {\n const skill = subSkills.find(skill => skill.id == skillID);\n const branch = this.branches.find(branch => branch.id == branchID);\n errorString += `${\n skill ? skill.name : \"\"\n } - ${branch ? branch.name : \"\"}
`;\n });\n });\n return errorString;\n },\n async handleAddRatesModal(error, userId) {\n this.setModalState(error, userId);\n await this.$nextTick();\n this.modal = new Modal(document.getElementById(\"missing-rates-modal\"));\n this.modal.show();\n },\n handleDownloadAll() {\n const query = {\n period: this.date,\n taxID: this.showTaxIdWorkers\n };\n this.isGeneratingReports = true;\n this.downloadAllReports(query)\n .then(response => {\n this.handleProgressBar(response);\n })\n .catch(() => {\n this.clearLoadingBar();\n });\n },\n handleProgressBar(id: number) {\n this.interval = setInterval(() => {\n this.getProgress(id)\n .then(result => {\n this.handleUI(result);\n })\n .catch(() => {\n this.clearLoadingBar();\n });\n }, 1000);\n },\n handleUI(data) {\n if (data.status == \"failed\") {\n helpers.fireDownloadAllError(data.result);\n this.clearLoadingBar();\n } else if (data.status == \"finished\") {\n this.progressBar = data.progress;\n this.clearLoadingBar();\n this.handleS3Download(data.result);\n } else {\n this.progressBar = data.progress;\n }\n },\n clearLoadingBar() {\n this.isGeneratingReports = false;\n this.progressBar = 0;\n window.clearInterval(this.interval);\n },\n handleMissingRatesModalClose() {\n if (\n this.isFromPayModal &&\n !this.isAwaitingResponse.ids.includes(this.tempUserId)\n ) {\n this.isFromPayModal = false;\n this.getSalaryModal.toggleLoading(false);\n }\n },\n handleMissingRates(query, error) {\n Swal.fire({\n ...helpers.MissingRatesSwalOptions,\n html: this.buildErrorString(error.rates)\n }).then(result => {\n if (result.isConfirmed) {\n this.handleAddRatesModal(error.rates, query.userId);\n if (error.isModal) {\n this.isFromPayModal = true;\n }\n } else if (result.isDenied) {\n this.downloadPaySlip({ ...query, replaceZero: 1 }).then(response => {\n if (\n response &&\n response.data &&\n response.data.type == \"MissingRates\"\n ) {\n this.handleMissingRates(query, response.data);\n } else {\n if (error.isModal) {\n this.getSalaryModal.toggleLoading(false);\n }\n this.handleS3Download(response.data.url);\n }\n });\n } else if (result.isDismissed) {\n if (error.isModal) {\n this.getSalaryModal.toggleLoading(false);\n }\n }\n });\n },\n handleS3Download(url) {\n const link = document.createElement(\"a\");\n link.href = url;\n document.body.appendChild(link);\n link.click();\n },\n exportPaySlip(id) {\n const query = {\n userId: id,\n fromDate: this.date[0],\n toDate: this.date[1]\n };\n this.downloadPaySlip(query).then(response => {\n if (response && response.data && response.data.type == \"MissingRates\") {\n this.handleMissingRates(query, response.data);\n } else {\n if (0 < response.data.missing_report_shifts.length) {\n const modal = document.getElementById(\"missing-reports-modal\");\n if (modal) {\n this.missingReportsShifts = response.data.missing_report_shifts;\n const bootStrapObject = new Modal(modal) as Modal;\n bootStrapObject.show();\n }\n }\n if (this.isFromPayModal) {\n this.isFromPayModal = false;\n this.getSalaryModal.toggleLoading(false);\n }\n this.handleS3Download(response.data.url);\n }\n });\n },\n handleUseOnce(data) {\n const query = {\n userId: this.tempUserId,\n fromDate: this.date[0],\n toDate: this.date[1],\n tempRates: data\n };\n this.downloadPaySlip(query);\n this.hideModal();\n },\n handleOpenPayModal(data) {\n const payload = {\n userId: data.id,\n fromDate: this.date[0],\n toDate: this.date[1]\n } as PayModalData;\n this.getSalaryModal.toggleModal(true, payload);\n },\n handleSaveRates() {\n this.exportPaySlip(this.tempUserId);\n this.hideModal();\n },\n openUserShifts(id) {\n this.fetchShiftsByID(id);\n }\n },\n computed: {\n ...mapGetters(\"ListsModule\", [\"skills\", \"branches\"]),\n ...mapGetters(\"SalaryReportsModule\", [\n \"getData\",\n \"loading\",\n \"getPagination\",\n \"getShiftsData\",\n \"getShiftsLoading\",\n \"isAwaitingResponse\"\n ]),\n getSalaryModal(): InstanceType {\n return this.$refs.paySalaryModal as InstanceType;\n }\n },\n watch: {\n showTaxIdWorkers() {\n this.setTaxIdFilter(this.showTaxIdWorkers);\n this.resetPageNumber();\n this.fetchData();\n this.summaryKey++;\n },\n date() {\n this.setSearchByDate(this.date);\n this.resetPageNumber();\n this.fetchData();\n this.summaryKey++;\n }\n },\n mounted() {\n this.fetchSkills();\n this.fetchBranches();\n const now = moment().format(\"DD\");\n if (parseInt(now) > 20) {\n //If day now is bigger than 20\n const date = [] as string[];\n date.push(\n moment() //Get current date\n .subtract(1, \"month\") //Subtract 1 month from it\n .startOf(\"month\") //we get the start the last month\n .add(20, \"d\") //add 20 days to it so it will be 21\n .format(\"DD/MM/YYYY\") //format to Api accepted format\n );\n date.push(\n moment() //Get current date\n .startOf(\"month\") //Take the start of the month\n .add(19, \"d\") //Add 19 days so it will be 20 this month\n .format(\"DD/MM/YYYY\") //Format to Api accepted format\n );\n this.date = date;\n } else {\n //If its not the 20th\n const date = [] as string[];\n date.push(\n moment() //Get current date\n .subtract(2, \"months\") //Subtract 2 month from it\n .startOf(\"month\") //we get the start the month\n .add(20, \"d\") //add 20 days to it so it will be the 21st of the month before the last\n .format(\"DD/MM/YYYY\") //format to Api accepted format\n );\n date.push(\n moment() //Get current date\n .subtract(1, \"month\") //Subtract 1 month from it\n .startOf(\"month\") //Take the start of the month\n .add(19, \"d\") //Add 19 days so it will be 20 last month\n .format(\"DD/MM/YYYY\") //Format to Api accepted format\n );\n this.date = date;\n }\n },\n updated() {\n this.pagination = this.getPagination;\n },\n unmounted() {\n this.resetState();\n }\n});\n","import { render } from \"./SalaryReportsIndex.vue?vue&type=template&id=ca73a8c6&ts=true\"\nimport script from \"./SalaryReportsIndex.vue?vue&type=script&lang=ts\"\nexport * from \"./SalaryReportsIndex.vue?vue&type=script&lang=ts\"\n\nimport \"./SalaryReportsIndex.vue?vue&type=style&index=0&id=ca73a8c6&lang=css\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./SalaryReportsView.vue?vue&type=template&id=7705a641\"\nimport script from \"./SalaryReportsView.vue?vue&type=script&lang=js\"\nexport * from \"./SalaryReportsView.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"pagination\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"page-item previous\"\n}\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"bi bi-arrow-left\" }, null, -1)\nconst _hoisted_4 = [\n _hoisted_3\n]\nconst _hoisted_5 = [\"onClick\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n class: \"page-link\",\n href: \"#\",\n onclick: \"return false\"\n}, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"bi bi-arrow-right\" })\n], -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_ctx.totalPages > 1)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_1, [\n (!_ctx.areThereLessThanEightPages && _ctx.shouldBackArrowBeVisible)\n ? (_openBlock(), _createElementBlock(\"li\", _hoisted_2, [\n _createElementVNode(\"a\", {\n onClick: _cache[0] || (_cache[0] = _withModifiers(($event: any) => (_ctx.backButtonClicked()), [\"prevent\"])),\n class: \"page-link\",\n href: \"#\"\n }, _hoisted_4)\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.shownPageCollection, (pageNumber, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n class: _normalizeClass([\"page-item\", _ctx.currentPage == pageNumber ? 'active' : '']),\n key: index\n }, [\n _createElementVNode(\"a\", {\n class: \"page-link\",\n onClick: _withModifiers(($event: any) => (_ctx.changeCurrentPage(pageNumber)), [\"prevent\"]),\n href: \"#\"\n }, _toDisplayString(pageNumber), 9, _hoisted_5)\n ], 2))\n }), 128)),\n (!_ctx.areThereLessThanEightPages && _ctx.shouldNextArrowBeVisible)\n ? (_openBlock(), _createElementBlock(\"li\", {\n key: 1,\n class: \"page-item next\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.nextButtonClicked()))\n }, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n}","\nimport { defineComponent } from \"vue\";\n\nexport default defineComponent({\n name: \"Pagination\",\n components: {},\n props: {\n currentPage: {\n type: Number\n },\n totalPages: {\n type: Number\n },\n maxPages: {\n type: Number,\n default: 8\n }\n },\n data() {\n return {\n AllpageCollection: [1],\n shownPageCollection: [1],\n areThereLessThanEightPages: true,\n selectedPage: 1,\n lastPageOfCurrentShownCollection: 1\n };\n },\n methods: {\n changeCurrentPage(pageNumber) {\n this.selectedPage = pageNumber;\n this.$emit(\"changeCurrentPage\", this.selectedPage);\n },\n nextButtonClicked() {\n if (this.totalPages != undefined && this.selectedPage < this.totalPages) {\n this.selectedPage++;\n this.changeCurrentPage(this.selectedPage);\n if (this.selectedPage > this.lastPageOfCurrentShownCollection) {\n this.shownPageCollection = this.AllpageCollection.filter(\n n =>\n n >= this.selectedPage && n <= this.selectedPage + this.maxPages\n );\n }\n }\n },\n backButtonClicked() {\n if (this.selectedPage > 1) {\n this.selectedPage--;\n this.changeCurrentPage(this.selectedPage);\n if (this.selectedPage < this.shownPageCollection[0]) {\n this.shownPageCollection = this.AllpageCollection.filter(\n n =>\n n >= this.selectedPage - this.maxPages && n <= this.selectedPage\n );\n }\n }\n }\n },\n watch: {\n totalPages() {\n this.selectedPage = 1;\n this.AllpageCollection = [1];\n if (this.totalPages !== undefined && this.totalPages !== 1) {\n for (let i = 1; i < this.totalPages; i++) {\n this.AllpageCollection.push(i + 1);\n }\n }\n if (this.AllpageCollection.length > this.maxPages) {\n this.areThereLessThanEightPages = false;\n this.shownPageCollection = this.AllpageCollection.filter(\n n => n >= 1 && n <= this.maxPages\n );\n } else {\n this.areThereLessThanEightPages = true;\n this.shownPageCollection = this.AllpageCollection;\n }\n },\n shownPageCollection() {\n this.lastPageOfCurrentShownCollection = this.shownPageCollection[\n this.shownPageCollection.length - 1\n ];\n }\n },\n computed: {\n shouldNextArrowBeVisible() {\n if (\n this.totalPages != undefined &&\n this.lastPageOfCurrentShownCollection == this.totalPages\n )\n return false;\n else return true;\n },\n shouldBackArrowBeVisible() {\n if (this.shownPageCollection[0] == 1) return false;\n else return true;\n }\n }\n});\n","import { render } from \"./Pagination.vue?vue&type=template&id=2a88c04e&ts=true\"\nimport script from \"./Pagination.vue?vue&type=script&lang=ts\"\nexport * from \"./Pagination.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import Swal from \"sweetalert2\";\n\nconst MissingRatesSwalOptions = {\n title: \"There are missing rates\",\n showDenyButton: true,\n showCancelButton: true,\n confirmButtonText: \"Add rates\",\n denyButtonColor: \"#0095E8\",\n cancelButtonColor: \"#E4E6EF\",\n confirmButtonColor: \"#5014D0\",\n denyButtonText: `Replace with 0`\n};\n\nconst fireDownloadAllError = (errorString: string) => {\n Swal.fire({\n icon: 'error',\n title: errorString,\n timer: 1000,\n showConfirmButton: false\n })\n}\n\nexport { MissingRatesSwalOptions, fireDownloadAllError };\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./SalaryReportsDataTable.vue?vue&type=style&index=0&id=159407f0&scoped=true&lang=css\"","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"svg-icon svg-icon-success svg-icon-2x\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 24 24\",\n version: \"1.1\"\n}, [\n /*#__PURE__*/_createElementVNode(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, [\n /*#__PURE__*/_createElementVNode(\"polygon\", { points: \"0 0 24 0 24 24 0 24\" }),\n /*#__PURE__*/_createElementVNode(\"rect\", {\n fill: \"#000000\",\n opacity: \"0.3\",\n x: \"11\",\n y: \"5\",\n width: \"2\",\n height: \"14\",\n rx: \"1\"\n }),\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M6.70710678,12.7071068 C6.31658249,13.0976311 5.68341751,13.0976311 5.29289322,12.7071068 C4.90236893,12.3165825 4.90236893,11.6834175 5.29289322,11.2928932 L11.2928932,5.29289322 C11.6714722,4.91431428 12.2810586,4.90106866 12.6757246,5.26284586 L18.6757246,10.7628459 C19.0828436,11.1360383 19.1103465,11.7686056 18.7371541,12.1757246 C18.3639617,12.5828436 17.7313944,12.6103465 17.3242754,12.2371541 L12.0300757,7.38413782 L6.70710678,12.7071068 Z\",\n fill: \"#000000\",\n \"fill-rule\": \"nonzero\"\n })\n ])\n], -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n}","\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"arrow-up-icon\"\n});\n","import { render } from \"./ArrowUp.vue?vue&type=template&id=56ef0214&ts=true\"\nimport script from \"./ArrowUp.vue?vue&type=script&lang=ts\"\nexport * from \"./ArrowUp.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","var __defProp = Object.defineProperty;\nvar __defProps = Object.defineProperties;\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __spreadValues = (a, b) => {\n for (var prop in b || (b = {}))\n if (__hasOwnProp.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n if (__getOwnPropSymbols)\n for (var prop of __getOwnPropSymbols(b)) {\n if (__propIsEnum.call(b, prop))\n __defNormalProp(a, prop, b[prop]);\n }\n return a;\n};\nvar __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));\nimport { ref, defineComponent, watch, onMounted, onUnmounted, openBlock, createElementBlock, renderSlot, createElementVNode } from \"vue\";\nvar t = function() {\n return t = Object.assign || function(t2) {\n for (var i2, n = 1, s = arguments.length; n < s; n++)\n for (var a in i2 = arguments[n])\n Object.prototype.hasOwnProperty.call(i2, a) && (t2[a] = i2[a]);\n return t2;\n }, t.apply(this, arguments);\n}, i = function() {\n function i2(i3, n, s) {\n var a = this;\n this.endVal = n, this.options = s, this.version = \"2.6.2\", this.defaults = { startVal: 0, decimalPlaces: 0, duration: 2, useEasing: true, useGrouping: true, useIndianSeparators: false, smartEasingThreshold: 999, smartEasingAmount: 333, separator: \",\", decimal: \".\", prefix: \"\", suffix: \"\", enableScrollSpy: false, scrollSpyDelay: 200, scrollSpyOnce: false }, this.finalEndVal = null, this.useEasing = true, this.countDown = false, this.error = \"\", this.startVal = 0, this.paused = true, this.once = false, this.count = function(t2) {\n a.startTime || (a.startTime = t2);\n var i4 = t2 - a.startTime;\n a.remaining = a.duration - i4, a.useEasing ? a.countDown ? a.frameVal = a.startVal - a.easingFn(i4, 0, a.startVal - a.endVal, a.duration) : a.frameVal = a.easingFn(i4, a.startVal, a.endVal - a.startVal, a.duration) : a.frameVal = a.startVal + (a.endVal - a.startVal) * (i4 / a.duration);\n var n2 = a.countDown ? a.frameVal < a.endVal : a.frameVal > a.endVal;\n a.frameVal = n2 ? a.endVal : a.frameVal, a.frameVal = Number(a.frameVal.toFixed(a.options.decimalPlaces)), a.printValue(a.frameVal), i4 < a.duration ? a.rAF = requestAnimationFrame(a.count) : a.finalEndVal !== null ? a.update(a.finalEndVal) : a.options.onCompleteCallback && a.options.onCompleteCallback();\n }, this.formatNumber = function(t2) {\n var i4, n2, s2, e, o = t2 < 0 ? \"-\" : \"\";\n i4 = Math.abs(t2).toFixed(a.options.decimalPlaces);\n var r = (i4 += \"\").split(\".\");\n if (n2 = r[0], s2 = r.length > 1 ? a.options.decimal + r[1] : \"\", a.options.useGrouping) {\n e = \"\";\n for (var l = 3, h = 0, u = 0, p = n2.length; u < p; ++u)\n a.options.useIndianSeparators && u === 4 && (l = 2, h = 1), u !== 0 && h % l == 0 && (e = a.options.separator + e), h++, e = n2[p - u - 1] + e;\n n2 = e;\n }\n return a.options.numerals && a.options.numerals.length && (n2 = n2.replace(/[0-9]/g, function(t3) {\n return a.options.numerals[+t3];\n }), s2 = s2.replace(/[0-9]/g, function(t3) {\n return a.options.numerals[+t3];\n })), o + a.options.prefix + n2 + s2 + a.options.suffix;\n }, this.easeOutExpo = function(t2, i4, n2, s2) {\n return n2 * (1 - Math.pow(2, -10 * t2 / s2)) * 1024 / 1023 + i4;\n }, this.options = t(t({}, this.defaults), s), this.formattingFn = this.options.formattingFn ? this.options.formattingFn : this.formatNumber, this.easingFn = this.options.easingFn ? this.options.easingFn : this.easeOutExpo, this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.endVal = this.validateValue(n), this.options.decimalPlaces = Math.max(this.options.decimalPlaces), this.resetDuration(), this.options.separator = String(this.options.separator), this.useEasing = this.options.useEasing, this.options.separator === \"\" && (this.options.useGrouping = false), this.el = typeof i3 == \"string\" ? document.getElementById(i3) : i3, this.el ? this.printValue(this.startVal) : this.error = \"[CountUp] target is null or undefined\", typeof window != \"undefined\" && this.options.enableScrollSpy && (this.error ? console.error(this.error, i3) : (window.onScrollFns = window.onScrollFns || [], window.onScrollFns.push(function() {\n return a.handleScroll(a);\n }), window.onscroll = function() {\n window.onScrollFns.forEach(function(t2) {\n return t2();\n });\n }, this.handleScroll(this)));\n }\n return i2.prototype.handleScroll = function(t2) {\n if (t2 && window && !t2.once) {\n var i3 = window.innerHeight + window.scrollY, n = t2.el.getBoundingClientRect(), s = n.top + window.pageYOffset, a = n.top + n.height + window.pageYOffset;\n a < i3 && a > window.scrollY && t2.paused ? (t2.paused = false, setTimeout(function() {\n return t2.start();\n }, t2.options.scrollSpyDelay), t2.options.scrollSpyOnce && (t2.once = true)) : (window.scrollY > a || s > i3) && !t2.paused && t2.reset();\n }\n }, i2.prototype.determineDirectionAndSmartEasing = function() {\n var t2 = this.finalEndVal ? this.finalEndVal : this.endVal;\n this.countDown = this.startVal > t2;\n var i3 = t2 - this.startVal;\n if (Math.abs(i3) > this.options.smartEasingThreshold && this.options.useEasing) {\n this.finalEndVal = t2;\n var n = this.countDown ? 1 : -1;\n this.endVal = t2 + n * this.options.smartEasingAmount, this.duration = this.duration / 2;\n } else\n this.endVal = t2, this.finalEndVal = null;\n this.finalEndVal !== null ? this.useEasing = false : this.useEasing = this.options.useEasing;\n }, i2.prototype.start = function(t2) {\n this.error || (t2 && (this.options.onCompleteCallback = t2), this.duration > 0 ? (this.determineDirectionAndSmartEasing(), this.paused = false, this.rAF = requestAnimationFrame(this.count)) : this.printValue(this.endVal));\n }, i2.prototype.pauseResume = function() {\n this.paused ? (this.startTime = null, this.duration = this.remaining, this.startVal = this.frameVal, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count)) : cancelAnimationFrame(this.rAF), this.paused = !this.paused;\n }, i2.prototype.reset = function() {\n cancelAnimationFrame(this.rAF), this.paused = true, this.resetDuration(), this.startVal = this.validateValue(this.options.startVal), this.frameVal = this.startVal, this.printValue(this.startVal);\n }, i2.prototype.update = function(t2) {\n cancelAnimationFrame(this.rAF), this.startTime = null, this.endVal = this.validateValue(t2), this.endVal !== this.frameVal && (this.startVal = this.frameVal, this.finalEndVal == null && this.resetDuration(), this.finalEndVal = null, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame(this.count));\n }, i2.prototype.printValue = function(t2) {\n var i3;\n if (this.el) {\n var n = this.formattingFn(t2);\n if ((i3 = this.options.plugin) === null || i3 === void 0 ? void 0 : i3.render)\n this.options.plugin.render(this.el, n);\n else if (this.el.tagName === \"INPUT\")\n this.el.value = n;\n else\n this.el.tagName === \"text\" || this.el.tagName === \"tspan\" ? this.el.textContent = n : this.el.innerHTML = n;\n }\n }, i2.prototype.ensureNumber = function(t2) {\n return typeof t2 == \"number\" && !isNaN(t2);\n }, i2.prototype.validateValue = function(t2) {\n var i3 = Number(t2);\n return this.ensureNumber(i3) ? i3 : (this.error = \"[CountUp] invalid start or end value: \".concat(t2), null);\n }, i2.prototype.resetDuration = function() {\n this.startTime = null, this.duration = 1e3 * Number(this.options.duration), this.remaining = this.duration;\n }, i2;\n}();\nfunction useRaf(cb, delaySeconds = 1) {\n const rafId = ref(-1);\n let startTime;\n function count(timestamp) {\n if (!startTime)\n startTime = timestamp;\n const diff = timestamp - startTime;\n if (diff < delaySeconds * 1e3) {\n rafId.value = requestAnimationFrame(count);\n } else {\n cb();\n }\n }\n rafId.value = requestAnimationFrame(count);\n function cancel() {\n window.cancelAnimationFrame(rafId.value);\n }\n return { cancel };\n}\nconst _hoisted_1 = { class: \"countup-wrap\" };\nconst __default__ = {\n name: \"CountUp\"\n};\nconst _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({}, __default__), {\n props: {\n endVal: null,\n startVal: { default: 0 },\n duration: { default: 2.5 },\n decimalPlaces: { default: 0 },\n autoplay: { type: Boolean, default: true },\n loop: { type: [Boolean, Number], default: false },\n delay: { default: 0 },\n options: { default: void 0 }\n },\n emits: [\"init\", \"finished\"],\n setup(__props, { expose, emit: emits }) {\n const props = __props;\n let elRef = ref();\n let countUp = ref();\n let loopCount = 0;\n const finished = ref(false);\n let rafCtx;\n function initCountUp() {\n if (!elRef.value) {\n console.warn(\"[vue-countup-v3]\", `elRef can't found`);\n return;\n }\n loopCount = 0;\n finished.value = false;\n const startVal = Number(props.startVal);\n const endVal = Number(props.endVal);\n const duration = Number(props.duration);\n countUp.value = new i(elRef.value, endVal, __spreadValues({\n startVal,\n duration,\n decimalPlaces: props.decimalPlaces\n }, props.options));\n if (countUp.value.error) {\n console.error(\"[vue-countup-v3]\", countUp.value.error);\n return;\n }\n emits(\"init\", countUp.value);\n }\n function startAnimation() {\n var _a;\n if (!countUp.value) {\n initCountUp();\n }\n (_a = countUp.value) == null ? void 0 : _a.start(_loop);\n loopCount++;\n function _loop() {\n const isTruely = typeof props.loop === \"boolean\" && props.loop;\n if (isTruely || props.loop > loopCount) {\n rafCtx = useRaf(() => {\n var _a2;\n (_a2 = countUp.value) == null ? void 0 : _a2.reset();\n startAnimation();\n }, props.delay);\n } else {\n finished.value = true;\n }\n }\n }\n function restart() {\n rafCtx == null ? void 0 : rafCtx.cancel();\n initCountUp();\n startAnimation();\n }\n watch([() => props.startVal, () => props.endVal], () => {\n if (props.autoplay) {\n restart();\n }\n });\n watch(finished, (flag) => {\n if (flag) {\n emits(\"finished\");\n }\n });\n onMounted(() => {\n initCountUp();\n if (props.autoplay) {\n startAnimation();\n }\n });\n onUnmounted(() => {\n var _a;\n rafCtx == null ? void 0 : rafCtx.cancel();\n (_a = countUp.value) == null ? void 0 : _a.reset();\n });\n expose({\n init: initCountUp,\n restart\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", _hoisted_1, [\n renderSlot(_ctx.$slots, \"prefix\"),\n createElementVNode(\"span\", {\n ref_key: \"elRef\",\n ref: elRef\n }, null, 512),\n renderSlot(_ctx.$slots, \"suffix\")\n ]);\n };\n }\n}));\nexport { _sfc_main as default };\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"svg-icon svg-icon-danger svg-icon-2x\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 24 24\",\n version: \"1.1\"\n}, [\n /*#__PURE__*/_createElementVNode(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, [\n /*#__PURE__*/_createElementVNode(\"polygon\", { points: \"0 0 24 0 24 24 0 24\" }),\n /*#__PURE__*/_createElementVNode(\"rect\", {\n fill: \"#000000\",\n opacity: \"0.3\",\n x: \"11\",\n y: \"5\",\n width: \"2\",\n height: \"14\",\n rx: \"1\"\n }),\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M6.70710678,18.7071068 C6.31658249,19.0976311 5.68341751,19.0976311 5.29289322,18.7071068 C4.90236893,18.3165825 4.90236893,17.6834175 5.29289322,17.2928932 L11.2928932,11.2928932 C11.6714722,10.9143143 12.2810586,10.9010687 12.6757246,11.2628459 L18.6757246,16.7628459 C19.0828436,17.1360383 19.1103465,17.7686056 18.7371541,18.1757246 C18.3639617,18.5828436 17.7313944,18.6103465 17.3242754,18.2371541 L12.0300757,13.3841378 L6.70710678,18.7071068 Z\",\n fill: \"#000000\",\n \"fill-rule\": \"nonzero\",\n transform: \"translate(12.000003, 14.999999) scale(1, -1) translate(-12.000003, -14.999999) \"\n })\n ])\n], -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _hoisted_3))\n}","\nimport { defineComponent } from \"vue\";\nexport default defineComponent({\n name: \"arrow-down-icon\"\n});\n","import { render } from \"./ArrowDown.vue?vue&type=template&id=15eae308&ts=true\"\nimport script from \"./ArrowDown.vue?vue&type=script&lang=ts\"\nexport * from \"./ArrowDown.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"modal fade\",\n id: \"missing-rates-modal\",\n \"data-toggle\": \"modal\"\n}\nconst _hoisted_2 = { class: \"modal-dialog modal-xl\" }\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-header\" }, [\n /*#__PURE__*/_createElementVNode(\"h5\", {\n class: \"modal-title\",\n id: \"missing-rates-modal-label\"\n }, \" Add missing rates \"),\n /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"btn btn-icon btn-sm btn-active-light-primary ms-2\",\n \"data-bs-dismiss\": \"modal\",\n \"aria-label\": \"Close\"\n }, [\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"svg-icon svg-icon-2x\" })\n ])\n], -1)\nconst _hoisted_5 = { class: \"modal-body\" }\nconst _hoisted_6 = { key: 2 }\nconst _hoisted_7 = { class: \"pb-2 fs-6 fw-bold\" }\nconst _hoisted_8 = { class: \"modal-footer\" }\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-light\",\n \"data-bs-dismiss\": \"modal\"\n}, \" Cancel \", -1)\nconst _hoisted_10 = [\"disabled\"]\nconst _hoisted_11 = {\n key: 0,\n class: \"spinner-border spinner-border-sm\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createTextVNode(\" Save \")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LoadingSpinner = _resolveComponent(\"LoadingSpinner\")!\n const _component_el_empty = _resolveComponent(\"el-empty\")!\n const _component_RatesDataTable = _resolveComponent(\"RatesDataTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.loading)\n ? (_openBlock(), _createBlock(_component_LoadingSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (!_ctx.loading && _ctx.hasError)\n ? (_openBlock(), _createBlock(_component_el_empty, {\n key: 1,\n description: \"There was an error\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.missingSkills, (missingRateCollection, index) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: index }, [\n _createElementVNode(\"div\", _hoisted_7, \" Branch: \" + _toDisplayString(_ctx.branchName(index)), 1),\n _createVNode(_component_RatesDataTable, {\n branchID: index,\n missingRatesSkills: missingRateCollection,\n isModal: true,\n onUpdateModalValues: _ctx.handleTableInput\n }, null, 8, [\"branchID\", \"missingRatesSkills\", \"onUpdateModalValues\"])\n ]))\n }), 128))\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _hoisted_9,\n _withDirectives(_createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-light-primary\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.handleUseOnce && _ctx.handleUseOnce(...args)))\n }, \" Use once \", 512), [\n [_vShow, false]\n ]),\n _createElementVNode(\"button\", {\n type: \"button\",\n disabled: _ctx.isSavingRates,\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.handleSave && _ctx.handleSave(...args))),\n class: \"btn btn-light-success\"\n }, [\n (_ctx.isSavingRates)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n _hoisted_12\n ], 8, _hoisted_10)\n ])\n ])\n ])\n ]))\n}","\nimport {\n defineComponent,\n onMounted,\n reactive,\n PropType,\n computed,\n ref\n} from \"vue\";\nimport * as types from \"@/components/worker-rates/misc/types\";\nimport * as helpers from \"@/components/payments/misc/helpers\";\nimport RatesDataTable from \"@/components/worker-rates/Data-table.vue\";\nimport Swal from \"sweetalert2\";\nimport LoadingSpinner from \"@/components/general/LoadingSpinner.vue\";\nimport { useStore } from \"vuex\";\nimport _ from \"lodash\";\n\nexport default defineComponent({\n name: \"missing-rates-modal\",\n components: {\n RatesDataTable,\n LoadingSpinner\n },\n props: {\n missingRates: {\n type: Array as PropType,\n default: () => []\n }\n },\n emits: [\"modal-close-end\", \"useOnce\", \"savedRates\"],\n setup(props, { emit }) {\n const store = useStore();\n const model = reactive({});\n const missingSkills = ref([]);\n const isSavingRates = ref(false);\n const hasError = ref(false);\n const loading = ref(false);\n const branches = computed(() => store.getters[\"ListsModule/branches\"]);\n\n const buildModel = keys => {\n keys.forEach(key => {\n model[key] = {};\n });\n };\n onMounted(() => {\n const missingRatesModal = document.getElementById(\"missing-rates-modal\");\n if (missingRatesModal) {\n missingRatesModal.addEventListener(\"hidden.bs.modal\", () => {\n emit(\"modal-close-end\");\n });\n }\n if (!_.isEmpty(props.missingRates)) {\n loading.value = true;\n store\n .dispatch(\n \"SalaryReportsModule/fetchSkillsForMissingRates\",\n props.missingRates\n )\n .then(response => {\n buildModel(Object.keys(response.data));\n missingSkills.value = response.data;\n loading.value = false;\n })\n .catch(() => {\n hasError.value = true;\n loading.value = false;\n });\n }\n });\n const handleTableInput = data => {\n model[data.branchId] = data.values;\n };\n\n const buildPayload = (): object[] | boolean => {\n const payload = [] as object[];\n Object.keys(model).forEach(key => {\n payload.push(Object.values(model[key]));\n });\n return payload.flat();\n };\n\n const hasValidData = (): boolean => {\n const values = [] as any[];\n Object.keys(model).forEach(key => {\n values.push(Object.values(model[key]).map((a: any) => a.base_rate));\n });\n return !values.flat().includes(\"\");\n };\n\n const notifyInvalidData = (isSaving: boolean) => {\n Swal.fire({\n title: \"Base rate cannot be empty\",\n timer: 1200,\n icon: \"error\"\n }).then(() => {\n if (isSaving) isSavingRates.value = false;\n });\n };\n\n const handleUseOnce = () => {\n if (!hasValidData()) {\n notifyInvalidData(false);\n } else {\n emit(\"useOnce\", model);\n }\n };\n\n const handleSave = () => {\n const payload = buildPayload() as types.SkillRate[];\n isSavingRates.value = true;\n if (!hasValidData()) {\n notifyInvalidData(true);\n } else {\n store\n .dispatch(\"WorkerRatesModule/store\", { rates: payload })\n .then(() => {\n isSavingRates.value = false;\n emit(\"savedRates\");\n });\n }\n };\n\n const branchName = (id: string) => {\n const branch = branches.value.find(branch => branch.id == parseInt(id));\n return branch ? branch.name : \"\";\n };\n return {\n loading,\n isSavingRates,\n missingSkills,\n hasError,\n branchName,\n handleTableInput,\n handleSave,\n handleUseOnce\n };\n }\n});\n","import { render } from \"./MissingRatesModal.vue?vue&type=template&id=2914fa65&ts=true\"\nimport script from \"./MissingRatesModal.vue?vue&type=script&lang=ts\"\nexport * from \"./MissingRatesModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/codebuild/output/src1803551405/src/wci-front/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./SalaryReportsIndex.vue?vue&type=style&index=0&id=ca73a8c6&lang=css\""],"sourceRoot":""}