{"version":3,"sources":["webpack:///./src/views/account/reports/components/DriverProductivity.vue?8178","webpack:///./src/views/account/reports/components/DriverProductivity.vue","webpack:///./src/views/account/reports/components/DriverProductivity.vue?4acf"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","key","_hoisted_7","render","_ctx","_cache","$props","$setup","$data","$options","_component_PageTitle","_resolveComponent","_component_SearchInput","_component_BaseIcon","_component_FilterPanel","_component_DynamicTable","_openBlock","_createElementBlock","_Fragment","_createElementVNode","_createVNode","title","placeholder","$t","modelValue","searchValue","$event","onClick","showFilterModal","name","filters","onClose","onFetchData","onExpandPanelClick","_createCommentVNode","tableData","reports","exportData","exportReports","loading","reportType","pagination","tableFields","exportFields","id","width","buttons","edit","delete","export","onSort","clickSort","onMenuEvent","menuEvent","defineComponent","components","SearchInput","defineAsyncComponent","BaseIcon","FilterPanel","PageTitle","DynamicTable","data","sortable","currentSort","sort","sortName","this","model","dataLoading","fetchDataOnExpand","dataRequested","actionName","type","calendarType","selectedReport","methods","eventName","$store","dispatch","OrderActions","FETCH_ORDER_STATUSES","VehiclesActions","FETCH_VEHICLE_TYPES","e","console","log","field","map","el","router","push","query","$route","orderBy","watch","immediate","handler","val","vehicleTypes","length","target","reportName","queries","pageNumber","username","statuses","filterItems","label","value","props","String","computed","getters","__exports__"],"mappings":"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","file":"js/chunk-2d21ad59.6d6faa73.js","sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"pt-14 pb-5 px-5\" }\nconst _hoisted_2 = { class: \"flex justify-between\" }\nconst _hoisted_3 = { class: \"flex justify-start\" }\nconst _hoisted_4 = { class: \"relative h-42 w-288 me-3\" }\nconst _hoisted_5 = { class: \"w-full\" }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { class: \"px-5\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PageTitle = _resolveComponent(\"PageTitle\")!\n const _component_SearchInput = _resolveComponent(\"SearchInput\")!\n const _component_BaseIcon = _resolveComponent(\"BaseIcon\")!\n const _component_FilterPanel = _resolveComponent(\"FilterPanel\")!\n const _component_DynamicTable = _resolveComponent(\"DynamicTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_PageTitle, { title: \"reports.DriversProductivity\" })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_SearchInput, {\n placeholder: _ctx.$t('placeholders.username'),\n modelValue: _ctx.searchValue,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchValue) = $event))\n }, null, 8, [\"placeholder\", \"modelValue\"])\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.showFilterModal = true)),\n class: \"border border-inputBorder w-42 h-42\"\n }, [\n _createElementVNode(\"span\", _hoisted_5, [\n _createVNode(_component_BaseIcon, { name: \"filter\" })\n ])\n ]),\n (_ctx.showFilterModal)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_FilterPanel, {\n filters: _ctx.filters,\n onClose: _cache[2] || (_cache[2] = ($event: any) => (_ctx.showFilterModal = false)),\n onFetchData: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onExpandPanelClick($event)))\n }, null, 8, [\"filters\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_DynamicTable, {\n tableData: _ctx.reports,\n exportData: _ctx.exportReports,\n loading: _ctx.loading,\n reportType: _ctx.reportType,\n pagination: _ctx.pagination,\n tableFields: _ctx.tableFields,\n exportFields: [\n { id: 'driverUsername', name: 'Driver Username', width: '20%' },\n { id: 'driverFullName', name: 'Driver Full Name', width: '20%' },\n { id: 'orderStatus', name: 'Order Status', width: '20%' },\n { id: 'orderCount', name: 'Orders Count', width: '20%' },\n { id: 'trackingId', name: 'Tracking Id', width: '20%' }\n ],\n buttons: { edit: true, delete: true, export: true},\n onSort: _cache[4] || (_cache[4] = ($event: any) => (_ctx.clickSort($event))),\n onMenuEvent: _cache[5] || (_cache[5] = ($event: any) => (_ctx.menuEvent($event)))\n }, null, 8, [\"tableData\", \"exportData\", \"loading\", \"reportType\", \"pagination\", \"tableFields\"])\n ])\n ], 64))\n}","\nimport { defineComponent, defineAsyncComponent } from 'vue'\nimport router from '@/router'\nimport { OrderActions } from '@/store/modules/orders/actions'\nimport { VehiclesActions } from '@/store/modules/vehicles/actions'\n\nexport default defineComponent({\n components: {\n SearchInput: defineAsyncComponent(() => import('@/shared/components/SearchInput.vue')),\n BaseIcon: defineAsyncComponent(() => import('@/shared/components/base-icon/BaseIcon.vue')),\n FilterPanel: defineAsyncComponent(() => import('@/shared/components/filter/FilterPanel.vue')),\n PageTitle: defineAsyncComponent(() => import('@/shared/components/PageTitle.vue')),\n DynamicTable: defineAsyncComponent(() => import('@/shared/components/dynamic-table/DynamicTable.vue'))\n },\n data () {\n return {\n showFilterModal: false,\n tableFields: [\n { id: 'driverUsername', name: 'Driver Username', width: '18%', sortable: false },\n { id: 'driverFullName', name: 'Driver Full Name', width: '18%', sortable: false },\n { id: 'orderStatus', name: 'Order Status', width: '18%', sortable: false, currentSort: false, sort: null, sortName: 'order_status' },\n { id: 'orderCount', name: 'Order Count', width: '18%', sortable: true, currentSort: false, sort: null, sortName: 'order_count' },\n { id: 'trackingId', name: 'Tracking Id', width: '18%', sortable: false, currentSort: false, sort: null, sortName: 'tracking_id' }\n ],\n filters: [\n {\n name: this.$t('filters.orderStatus'),\n model: 'status',\n dataLoading: true,\n fetchDataOnExpand: true,\n dataRequested: false,\n actionName: 'orderStatus',\n type: 'radio',\n data: []\n },\n { name: this.$t('filters.ordersCount'), model: 'orderCount', type: 'number' },\n { name: this.$t('filters.createdAt'), model: 'createdAt', type: 'date', calendarType: 'range' },\n {\n name: this.$t('filters.vehicleType'),\n model: 'vehicleTypeId',\n dataLoading: true,\n fetchDataOnExpand: true,\n dataRequested: false,\n actionName: 'vehicleTypes',\n type: 'radio',\n data: []\n },\n { name: this.$t('filters.trackingId'), model: 'trackingId', type: 'number' }\n ],\n selectedReport: this.reportType,\n searchValue: null as any\n }\n },\n methods: {\n onExpandPanelClick (eventName: string): void {\n if (eventName === 'orderStatus') {\n this.$store.dispatch(`orders/${OrderActions.FETCH_ORDER_STATUSES}`)\n }\n if (eventName === 'vehicleTypes') {\n this.$store.dispatch(`vehicles/${[VehiclesActions.FETCH_VEHICLE_TYPES]}`)\n }\n },\n menuEvent (e: any): void {\n console.log(e)\n },\n clickSort (field: any): void {\n this.tableFields = this.tableFields?.map((el: any) => {\n if (el.id === field.id) {\n el.currentSort = true\n if (el.sort === null) {\n el.sort = 'asc'\n } else if (el.sort === 'asc') {\n el.sort = 'desc'\n } else if (el.sort === 'desc') {\n el.sort = null\n }\n } else {\n el.currentSort = false\n el.sort = null\n }\n return el\n })\n router.push({ query: { ...this.$route.query, orderBy: field.sortName, sort: field.sort } })\n }\n },\n watch: {\n $route: {\n immediate: true,\n handler (val: any) {\n if (val.query.orderBy) {\n this.tableFields = this.tableFields.map((el: any) => {\n if (el.id === val.query.orderBy) {\n el.currentSort = true\n el.sort = val.query.sort\n }\n return el\n })\n }\n }\n },\n vehicleTypes: {\n immediate: true,\n handler (val) {\n if (!val.length) return\n const target = this.filters[3]\n target.dataRequested = true\n target.data = val\n target.dataLoading = false\n }\n },\n selectedReport (val) {\n if (val) {\n router.push({ query: { reportName: val.name } })\n }\n },\n searchValue () {\n const queries = this.$route.query\n queries.pageNumber = '1'\n router.push({ query: { ...queries, username: this.searchValue } })\n },\n statuses (val: any) {\n if (!val.length) return\n const filterItems = val.map((el: any) => {\n return {\n id: el.id,\n label: el.value\n }\n })\n const target = this.filters[0]\n target.dataRequested = true\n target.data = filterItems\n target.dataLoading = false\n }\n },\n props: {\n reportType: {\n type: String\n }\n },\n computed: {\n vehicleTypes (): any[] {\n return this.$store.getters['vehicles/getVehicleTypes']\n .map((el: any) => {\n return {\n id: el.id,\n label: el.value\n }\n })\n },\n reports () {\n return this.$store.getters['reports/getDriversProductivityReports']\n },\n exportReports () {\n return this.$store.getters['reports/getDriversProductivityExportReports']\n },\n pagination () {\n return this.$store.getters['reports/getDriversProductivityPagination']\n },\n loading () {\n return this.$store.getters['reports/getLoading']\n },\n statuses (): any {\n return this.$store.getters['orders/getOrderStatuses']\n }\n }\n})\n","import { render } from \"./DriverProductivity.vue?vue&type=template&id=7d0a0590&ts=true\"\nimport script from \"./DriverProductivity.vue?vue&type=script&lang=ts\"\nexport * from \"./DriverProductivity.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"/usr/src/app/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}