{"version":3,"sources":["webpack:///./src/pages/offline/tiempoTrabajadoView/TiempoTrabajadoView.vue?94a8","webpack:///./src/pages/offline/tiempoTrabajadoView/TiempoTrabajadoViewData.js","webpack:///src/pages/offline/tiempoTrabajadoView/TiempoTrabajadoView.vue","webpack:///./src/pages/offline/tiempoTrabajadoView/TiempoTrabajadoView.vue?a96e","webpack:///./src/pages/offline/tiempoTrabajadoView/TiempoTrabajadoView.vue","webpack:///./src/mixins/viewPageMixin.js","webpack:///./src/mixins/basePageMixin.js","webpack:///./src/mixins/common.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","title","toolbarOptions","on","clickToolbarOption","formattedItem","showingDialogs","moreInfo","loadingData","routeFromBrowserHistory","$event","$set","slot","tiempo_trabajado","staticClass","_v","_e","staticRenderFns","selectTiempoTrabajado","Vue","idtiempoTrabajado","tables","$offline","db","select","from","innerJoin","tecnico","idempleado","eq","empleado","leftOuterJoin","ttarea","idttarea","subsis","idsubsis","parte_trabajo","idparte_trabajo","vehiculo","idvehiculo","where","idtiempo_trabajado","exec","mixins","beforeRouteLeave","to","next","data","moreInfoRows","name","label","filter","delete","visible","icon","mapInicio","mapFin","computed","estadoPartePendiente","item","created","methods","loadPage","loadItem","Data","dataset","option","res","window","getLatLongURL","component","VChip","viewPageMixin","basePageMixin","metadata","details","initStore","copyRouteParamsToPageStore","beforeRouteLeaveBase","beforeRouteLeaveCommon","pageStorePath","dispatchStore","buildMoreInfo","getRowLabelFromMetadata","rowName","getColumn","metadataRow","$options","filters","capitalize","defaultProperties","clickable","password","$vuetify","icons","values","Array","isArray","moreInfoArray","row","formattedRow","push","moreInfoObj","group","rows","initDetails","addDetail","subtitle","disabled","index","type","order","length","badge","badgeColor","totals","addDetailHeader","setMoreInfoRowValue","prop","value","_","find","itemNotFound","message","ItemNotFoundError","routeParams","routeQuery","rememberState","rememberScroll","pageLoaded","bottomNavBarButtons","dbReady","cloneDeep","$route","params","query","extra","decodeBase64","meta","fromBrowserHistory","userPermissions","get","permissions","initDB","$loading","showManual","connect","initSchema","init","hide","closeDB","close","pageStoreName","routeParam","storeHasProperty","setStoreProperty","property","$store","set","getStoreProperty","actionName","payload","dispatch","hasViewPerm","perm","hasInsertPerm","hasEditPerm","hasDeletePerm","hasPerm","initNavigationBottom","addNavigationBottomButton","that","showingDialog","dialog"],"mappings":"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","file":"js/chunk-27451584.0de793fd.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b10-base',[_c('b10-toolbar',{attrs:{\"title\":_vm.title,\"options\":_vm.toolbarOptions},on:{\"click-option\":_vm.clickToolbarOption}}),_c('b10-page-content',[_c('b10-view-summary',{attrs:{\"item\":_vm.formattedItem,\"showing\":_vm.showingDialogs.moreInfo,\"loading-data\":_vm.loadingData,\"show-alerts\":!_vm.routeFromBrowserHistory},on:{\"update:showing\":function($event){return _vm.$set(_vm.showingDialogs, \"moreInfo\", $event)}}},[_c('template',{slot:\"extraSubtitle\"},[(_vm.formattedItem.tiempo_trabajado)?[(_vm.formattedItem.tiempo_trabajado.es_desplazamiento)?_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"brown\",\"dark\":\"\"}},[_vm._v(\" Es desplazamiento \")]):_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"blue\",\"dark\":\"\"}},[_vm._v(\" Es mano de obra \")]),(_vm.formattedItem.tiempo_trabajado.manodeobrafacturable)?_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"green\",\"dark\":\"\"}},[_vm._v(\" M.O. facturable \")]):_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"red\",\"dark\":\"\"}},[_vm._v(\" M.O. no facturable \")]),(_vm.formattedItem.tiempo_trabajado.kilometros_facturables)?_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"green\",\"dark\":\"\"}},[_vm._v(\" Desplazamiento facturable \")]):_c('v-chip',{staticClass:\"mt-1 ml-1\",attrs:{\"label\":\"\",\"small\":\"\",\"color\":\"red\",\"dark\":\"\"}},[_vm._v(\" Desplazamiento no facturable \")])]:_vm._e()],2)],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n async selectTiempoTrabajado (Vue, idtiempoTrabajado) {\r\n const tables = Vue.$offline.db.tables\r\n return (await Vue.$offline.db\r\n .select()\r\n .from(tables.tiempo_trabajado)\r\n .innerJoin(\r\n tables.tecnico,\r\n tables.tiempo_trabajado.idempleado.eq(tables.tecnico.idempleado)\r\n )\r\n .innerJoin(\r\n tables.empleado,\r\n tables.tiempo_trabajado.idempleado.eq(tables.empleado.idempleado)\r\n )\r\n .leftOuterJoin(\r\n tables.ttarea,\r\n tables.tiempo_trabajado.idttarea.eq(tables.ttarea.idttarea)\r\n )\r\n .leftOuterJoin(\r\n tables.subsis,\r\n tables.tiempo_trabajado.idsubsis.eq(tables.subsis.idsubsis)\r\n )\r\n .leftOuterJoin(\r\n tables.parte_trabajo,\r\n tables.tiempo_trabajado.idparte_trabajo.eq(tables.parte_trabajo.idparte_trabajo)\r\n )\r\n .leftOuterJoin(\r\n tables.vehiculo,\r\n tables.vehiculo.idvehiculo.eq(tables.tiempo_trabajado.idvehiculo)\r\n )\r\n .where(tables.tiempo_trabajado.idtiempo_trabajado.eq(idtiempoTrabajado))\r\n .exec())[0]\r\n },\r\n}\r\n","\r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TiempoTrabajadoView.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TiempoTrabajadoView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TiempoTrabajadoView.vue?vue&type=template&id=13a178c6&\"\nimport script from \"./TiempoTrabajadoView.vue?vue&type=script&lang=js&\"\nexport * from \"./TiempoTrabajadoView.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","import { basePageMixin } from '@/mixins/basePageMixin'\r\nimport { beforeRouteLeaveCommon } from './common'\r\nimport { ItemNotFoundError } from '@/utils/consts'\r\nimport _ from '@/utils/lodash'\r\n\r\nexport const viewPageMixin = {\r\n mixins: [basePageMixin],\r\n data () {\r\n return {\r\n // moreInfoRows puede ser:\r\n // 1º un array strings con nombres de campos\r\n // ['idcliente', 'nombre']\r\n // 2º un array de objetos (campos)\r\n // [{ name: 'idcliente' }, { name: 'nombre' }]\r\n // 3º un objeto con grupos y cada grupo con un título y un array de strings u objetos (campos)\r\n // {\r\n // cliente: { title: 'Cliente', rows: ['idcliente', 'nombre'] },\r\n // sistema: { title: 'Sistema', rows: [ { name: 'idsistema' }, 'descripcion'] },\r\n // },\r\n item: {\r\n dataset: [],\r\n metadata: {},\r\n },\r\n moreInfoRows: [],\r\n details: [],\r\n }\r\n },\r\n methods: {\r\n async initStore () {\r\n await this.copyRouteParamsToPageStore()\r\n },\r\n async beforeRouteLeaveBase (to, from, next) {\r\n if (!beforeRouteLeaveCommon(this, to, from, next)) {\r\n if (this.pageStorePath) {\r\n await this.dispatchStore('resetStore')\r\n }\r\n next()\r\n }\r\n },\r\n buildMoreInfo (metadata) {\r\n const getRowLabelFromMetadata = (rowName, metadata) => {\r\n let label = ''\r\n if (metadata && typeof metadata.getColumn === 'function') {\r\n const metadataRow = metadata.getColumn(rowName)\r\n if (metadataRow) {\r\n label = metadataRow.label\r\n }\r\n }\r\n return label || this.$options.filters.capitalize(rowName)\r\n }\r\n const defaultProperties = {\r\n visible: true,\r\n clickable: false,\r\n password: false,\r\n icon: this.$vuetify.icons.values.next\r\n }\r\n if (Array.isArray(this.moreInfoRows)) {\r\n const moreInfoArray = []\r\n for (const row of this.moreInfoRows) {\r\n let formattedRow = {}\r\n if (typeof(row) === 'string') {\r\n formattedRow = { name: row, label: getRowLabelFromMetadata(row, metadata) }\r\n } else {\r\n formattedRow = row\r\n if (!formattedRow.label) {\r\n formattedRow.label = getRowLabelFromMetadata(formattedRow.name, metadata)\r\n }\r\n }\r\n moreInfoArray.push({ ...defaultProperties, ...formattedRow })\r\n }\r\n return moreInfoArray\r\n } else {\r\n const moreInfoObj = {}\r\n for (const group in this.moreInfoRows) {\r\n moreInfoObj[group] = {}\r\n moreInfoObj[group].title = this.moreInfoRows[group].title\r\n moreInfoObj[group].rows = []\r\n for (const row of this.moreInfoRows[group].rows) {\r\n let formattedRow = {}\r\n if (typeof(row) === 'string') {\r\n formattedRow = { name: row, label: getRowLabelFromMetadata(row, metadata) }\r\n } else {\r\n formattedRow = row\r\n if (!formattedRow.label) {\r\n formattedRow.label = getRowLabelFromMetadata(formattedRow.name, metadata)\r\n }\r\n }\r\n moreInfoObj[group].rows.push({ ...defaultProperties, ...formattedRow })\r\n }\r\n }\r\n return moreInfoObj\r\n }\r\n },\r\n initDetails () {\r\n this.details = []\r\n },\r\n addDetail (name, title, subtitle, icon, disabled = false, data = {}) {\r\n const index = this.details.push({\r\n type: 'detail',\r\n name,\r\n title,\r\n subtitle,\r\n icon,\r\n order: this.details.length + 1,\r\n badge: '',\r\n badgeColor: '',\r\n totals: '',\r\n data,\r\n disabled,\r\n })\r\n return this.details[index - 1]\r\n },\r\n addDetailHeader (title) {\r\n const index = this.details.push({\r\n type: 'header',\r\n title,\r\n order: this.details.length + 1,\r\n })\r\n return this.details[index - 1]\r\n },\r\n setMoreInfoRowValue (name, prop, value, group = '') {\r\n // ¿esta agrupado?\r\n if (group) {\r\n _.find(this.moreInfoRows[group].rows, { name })[prop] = value\r\n } else {\r\n _.find(this.moreInfoRows, { name })[prop] = value\r\n }\r\n },\r\n itemNotFound (message) {\r\n throw new ItemNotFoundError(message)\r\n },\r\n }\r\n}\r\n","import { decodeBase64 } from '@/utils/router'\r\nimport { get } from 'vuex-pathify'\r\nimport _ from '@/utils/lodash'\r\nimport { beforeRouteLeaveCommon } from './common'\r\nimport { hasViewPerm, hasInsertPerm, hasEditPerm, hasDeletePerm, hasPerm, permissions } from '@/utils/permissions'\r\nimport { initSchema, connect } from '@/offline/database'\r\n\r\nexport const basePageMixin = {\r\n data () {\r\n return {\r\n title: '',\r\n routeParams: null,\r\n routeQuery: null,\r\n loadingData: false,\r\n rememberState: false,\r\n rememberScroll: false,\r\n showingDialogs: {},\r\n pageLoaded: false,\r\n bottomNavBarButtons: [],\r\n dbReady: false,\r\n }\r\n },\r\n created () {\r\n this.routeParams = _.cloneDeep(this.$route.params)\r\n this.routeQuery = _.cloneDeep(this.$route.query)\r\n if (this.routeQuery.extra) {\r\n this.routeQuery.extra = decodeBase64(this.routeQuery.extra)\r\n }\r\n },\r\n computed: {\r\n routeFromBrowserHistory () {\r\n // no mostrar alerts en el \"back\" del navegador\r\n return this.$route.meta.fromBrowserHistory\r\n },\r\n userPermissions: get('usuario/permisos'),\r\n permissions () {\r\n return permissions\r\n },\r\n },\r\n methods: {\r\n async initDB () {\r\n if (!this.$offline.db) {\r\n this.$loading.showManual('Inicializando base de datos...')\r\n try {\r\n await this.$offline.init(await connect(initSchema()))\r\n } finally {\r\n this.dbReady = true\r\n this.$loading.hide()\r\n }\r\n } else {\r\n this.dbReady = true\r\n }\r\n },\r\n async closeDB () {\r\n if (this.$offline.db) {\r\n await this.$offline.db.close()\r\n this.$offline.db = null\r\n this.dbReady = false\r\n }\r\n },\r\n async copyRouteParamsToPageStore () {\r\n if (this.pageStoreName) {\r\n for (const routeParam in this.routeParams) {\r\n if (this.storeHasProperty(routeParam)) {\r\n await this.setStoreProperty(routeParam, this.routeParams[routeParam])\r\n }\r\n }\r\n }\r\n },\r\n async initStore () {\r\n // routeParams -> ¿existe en el store de la página? -> copiar valor\r\n // usado para: nextRoute, readonly\r\n await this.copyRouteParamsToPageStore()\r\n },\r\n storeHasProperty (property) {\r\n return property in this.$store.get(`${this.pageStoreName}`)\r\n },\r\n async setStoreProperty (property, value) {\r\n await this.$store.set(`${this.pageStoreName}/${property}`, value)\r\n },\r\n async getStoreProperty (property) {\r\n return await this.$store.get(`${this.pageStoreName}/${property}`)\r\n },\r\n async dispatchStore (actionName, payload) {\r\n return await this.$store.dispatch(`${this.pageStoreName}/${actionName}`, payload)\r\n },\r\n hasViewPerm (perm) {\r\n return hasViewPerm(this.userPermissions, perm)\r\n },\r\n hasInsertPerm (perm) {\r\n return hasInsertPerm(this.userPermissions, perm)\r\n },\r\n hasEditPerm (perm) {\r\n return hasEditPerm(this.userPermissions, perm)\r\n },\r\n hasDeletePerm (perm) {\r\n return hasDeletePerm(this.userPermissions, perm)\r\n },\r\n hasPerm (perm) {\r\n return hasPerm(this.userPermissions, perm)\r\n },\r\n beforeRouteLeaveBase (to, from, next) {\r\n if (!beforeRouteLeaveCommon(this, to, from, next)) {\r\n next()\r\n }\r\n },\r\n initNavigationBottom () {\r\n this.bottomNavBarButtons = []\r\n },\r\n addNavigationBottomButton (title, name, icon, visible = true, badge = null, badgeColor = 'green') {\r\n const index = this.bottomNavBarButtons.push({\r\n title,\r\n name,\r\n icon,\r\n order: this.bottomNavBarButtons.length + 1,\r\n visible,\r\n badge,\r\n badgeColor,\r\n })\r\n return this.bottomNavBarButtons[index - 1]\r\n },\r\n }\r\n}\r\n","export const beforeRouteLeaveCommon = (that, to, from, next) => {\r\n if (that.loadingData) {\r\n next(false)\r\n return true\r\n } else {\r\n let showingDialog = false\r\n for (const dialog in that.showingDialogs) {\r\n if (that.showingDialogs[dialog]) {\r\n that.$set(that.showingDialogs, dialog, false)\r\n showingDialog = true\r\n next(false)\r\n break\r\n }\r\n }\r\n return showingDialog\r\n }\r\n}\r\n"],"sourceRoot":""}