{"version":3,"sources":["webpack:///./src/services/genericGETJson.js","webpack:///./src/services/configurations/getProducto.js","webpack:///./src/views/historical/TrashProductHistorical.vue?d97e","webpack:///./src/components/filters/trash/HistoricalProductsFilter.vue?f6d0","webpack:///src/components/filters/trash/HistoricalProductsFilter.vue","webpack:///./src/components/filters/trash/HistoricalProductsFilter.vue?46a4","webpack:///./src/components/filters/trash/HistoricalProductsFilter.vue","webpack:///src/views/historical/TrashProductHistorical.vue","webpack:///./src/views/historical/TrashProductHistorical.vue?8ce3","webpack:///./src/views/historical/TrashProductHistorical.vue","webpack:///./src/services/historical/getHistoricalByProductExcel.js","webpack:///./src/services/historical/getHistoricalByProduct.js","webpack:///./src/services/historical/getHistoricalEvents.js"],"names":["async","genericGETJson","url","data","params","req","method","headers","res","axiosInstance","getProducto","render","_vm","this","_h","$createElement","_c","_self","attrs","toggleTableTools","slot","header","pagination","total","currentPage","pageSize","on","changeCurrentPage","changePerPage","staticClass","toggleSearchesDialog","toggleFilters","tags","removeFilterTagHanlder","removeAllTagsHandler","saveTagsHandler","spanish","kendo","dataResult","isGeneralLoading","selectedField","dataStateChange","columnReorder","openPath","onColumnsSubmit","sortChange","filterChange","labelBtnExcel","loadingExcel","exportExcel","filterPanel","applyFiltersHandler","numberSearches","idVista","saveSearchDialog","toggleDialogSearches","applySearchHandler","ref","vuexnamespace","searchesPanel","updateNumberSearches","staticRenderFns","panelOpen","togglePanel","_v","_s","$t","dateRangeOptions","model","value","form","fechaDesde","callback","$$v","$set","expression","fechaHasta","valuesTiposEvento","evento","mensaje","_l","i","key","applyFilters","name","props","type","default","firstDayOfWeek","isOpen","label","values","mounted","tipo","watch","deep","immediate","handler","methods","panelOpenHandler","watchFormHandler","resetForm","component","components","ListLayout","FilterPanel","FilterPanelSearches","CreateSearchDialog","KendoGridComponent","title","icon","breadcrumb","showAllRows","loadingDataTable","tableData","selected","computed","isHeadCoreReady","rowsSelected","rowsTotal","setLabelTowShow","masterFilters","headerCoreFilters","columns","field","width","headerSelectionValue","reorderable","groupable","areAllSelected","hasSelected","role","skip","take","sort","group","created","breadcrumbs","path","removeFilterTag","createAppState","dataState","column","options","idProducto","order","grupos","payload","encoding","link","filename","console","filter","getItemsData","paginate","results","page","totalPages","o","headerCoreFiltersHandler","tableSortByChangeHandler","prop","downloadData","borrado","getHistoricalByProductExcel","responseType","response","getHistoricalByProduct","getHistoricalEvents"],"mappings":"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A,CACArB,SACAqB,2BAGAb,uBAGAe,yBACA,SAAAC,kBACA,2BACA,gBACA,gDAEA,yBACA1F,2BACA,6BAAAkE,QAAAqB,iCAIAI,OACAxB,MACAyB,QACAC,aACAC,4BAEAnC,WACAmC,6BAGAC,SACAC,6BACA,oEACA,IACA,iBACA,qEACA,yEACA,qFACA,uFAKAC,sCAAA7B,aAAAK,SAAAE,SACA,oCACA,wEAEA,mCAGA,oCACA,wEAEA,+BAGAf,uBACA,yBAEA,2BAEAsC,qBACA,WACAvB,QAAAY,oCAAArB,UACAU,SAAAW,kCAAArB,UACAE,YAAAmB,wCAAArB,UACAO,YAAAc,wCAAArB,YAGAc,wBACA,qEACA,8BACA,yBACA,iBACA,6BC9L+X,I,YCO3XmB,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,WACA,MAIa,EAAAA,E,wGC4DA,GACflB,mCACAmB,YACAC,kBACAC,cACAC,2BACAC,0BACAC,2BAEAzG,gBACA,OACAkD,WAEAD,iBACAE,oBACAK,iBAEAX,gBACAZ,WACAf,QACAwF,qCACAC,cACAC,gBACA7G,8BAEAwD,wCACAlB,yBACAU,eACA8D,eACAC,oBACAC,aACA/G,UACAgH,cAGAC,UACArE,yBACA,4EACA,kCAEAV,iBACA,4DAEAgF,2BACA,4CAEAlG,4BACA,+BAEAmG,wBACA,6BAEAC,qBACA,8BAEAC,2BACA,0DAEAC,yBACA,oEAEAlF,4BACA,sCAEAmF,6BACA,iDAEA1F,gBACA,2DAEAV,sBACA,qEAEAqG,UACA,OACA,CAAAC,iBAAAC,aAAAC,yCAAAC,eAAAC,iBACA,qBAGAC,iBACA,qEAEAC,cACA,+BAEAC,gBACA,0CAGArC,OACA4B,mBAEA3B,QACAE,oCAEA9F,UACA,SACAiI,qBACAC,qBACAC,qBACAC,wBAEA,4CAGAC,qBAGA5C,yBACA,8BACA,sEAEA,WACA6C,QAAAC,sBAAAtD,iCACAqD,QAAAC,sBAAAtD,sCAEA,mCACA,yCACAqD,QAAAC,QAAAtD,SACA,gDACA,yBAEA,qBAEAc,SACAvD,uBAIAZ,yBACA,oCAEA4G,4BACA,0CAEAC,2BACA,uBACA,uBACA,SAEAC,6CAEA,yBACA,2BACA,wBAEApG,kCACA,4BACA,qCAEAC,0BACA,mCACA,mCACA,oDACAoG,yCACAC,qBAGA,8BAEA9F,6BACA,wCACA,qBACA,qEACA,GACA+F,iCACAlE,oCACAC,uCACAR,gDACAK,iDAEA,0DACA,sEACA,GAAAqE,cAAAC,UACA,qBACA,yCACAC,aAEA,IACA,kCACA,qBAAA7D,iBAAA8D,mBACA,8BACAC,qCACA,gCACAC,eACAD,aACAA,UACA,eAEA,GADAE,iBACA,2CACA,qCACA,wBAEA,kBAEA,QACA,wCACA,uBAGA3G,4BACA,2BACA,sBAEAC,uBAEA,aACA,mBACAyF,KAEA,SACAF,qBACAC,qBACAC,OACAC,uBACAiB,0BAEA,sBAAArJ,UAEA2C,yBACA,SACAsF,qBACAC,qBACAC,qBACAC,uBACAiB,UAGA,sBAAArJ,UAEAgF,+BACA,yBACA,qEAEA,GACA6D,iCACAlE,oCACAC,uCACAR,gDACAK,iDAEA,0DACA,IACA,uCACA,SAEA,sCACA,2DAEA,kBAEA6E,iCAAA,YACA,+CACA,sCACA,SACAC,YACAC,iCACAC,oCACA,GAEA,8BACA,yBACA,SACArI,mDACAC,+DACAqI,2DACApI,yDAKA,OAHA,8DACA,sCACA,yBACA,WAEA,uBACA,SACAiI,YACAC,iCACAC,oCACA,GAEA,4BAUA,OATA,gBACA,gDAEA,0DACAzJ,2BACA2J,sCACAA,0CAGA,GAEA3G,sCACA,2DACA,sCAEAxB,oCACA,2DACA,yCAEAC,gCACA,2DACA,wDACA,kBACA,yCAEAK,mCAEA,2DACA,4EACA,QACA,6DACA,gCAEA8H,qCACA,sBACA,yBAGA7H,gCACA,2DACA,6DACA,gCAEA8H,wCAAAC,QAAAhB,IACA,oDACA,yDACA,2DACA,yBAEAiB,+BACA,WACA,IACA,sCACA,SACAlB,aACAmB,YAEA3J,2BACA,eACA,gDAEAA,cAEA,SACA,kBACA,QACA,sCAEA,UAEAsB,gCACA,wCAEAK,2BACA,8CAEAoB,gCACA,8CAEAC,oCACA,4BAEA,6CAEAI,uCACA,yBC5b8W,ICO1W,EAAY,eACd,EACAjD,EACAkD,GACA,EACA,KACA,WACA,MAIa,e,2CClBf,4DAGA7D,eAAeoK,EAA6BnB,EAAQ,GAAI7I,EAAS,MAOxD,CACL,MAAMC,EAAM,CACVH,IAAK,2CACLI,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChB,8BAA+B,KAEjC8J,aAAc,OACdlK,KAAM8I,EACN7I,UAEII,QAAYC,eAAcJ,GAC1BiK,EAAW,CACfnK,KAAMK,EAAIL,KACVI,QAASC,EAAID,SAEf,OAAO+J,K,oCC3BX,4DAGAtK,eAAeuK,EAAwBtB,EAAQ,GAAI7I,EAAS,MAOnD,CACL,MAAMC,EAAM,CACVH,IAAK,sCACLI,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChB,8BAA+B,KAEjCJ,KAAM8I,EACN7I,UAEII,QAAYC,eAAcJ,GAChC,OAAOG,EAAIL,Q,kCCtBf,4DAGAH,eAAewK,EAAqBpK,EAAS,MAOpC,CACL,MAAMC,EAAM,CACVH,IAAK,mCACLI,OAAQ,OACRC,QAAS,CACP,eAAgB,mBAChB,8BAA+B,KAEjCH,UAEII,QAAYC,eAAcJ,GAChC,OAAOG,EAAIL","file":"js/chunk-aa6ce01c.v.6.0.0.1743755007948.js","sourcesContent":["import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function genericGETJson (url = '', data = {}, params = null) {\r\n  if (process.env.VUE_APP_ENVIRONMENT === 'tests') {\r\n    return new Promise((resolve, reject) => {\r\n      const data = mock.getCompanies\r\n      const pages = data.data.length\r\n\r\n      const clone = JSON.parse(JSON.stringify(data))\r\n      console.log(clone.data)\r\n      clone.data = clone.data.slice(0, params.limit)\r\n\r\n      clone.meta.total = pages\r\n\r\n      resolve(clone)\r\n    })\r\n  } else {\r\n    const req = {\r\n      url,\r\n      method: 'GET',\r\n      headers: {\r\n        'Content-type': 'application/json',\r\n        'access-control-allow-origin': '*'\r\n      },\r\n      data,\r\n      params\r\n    }\r\n    const res = await axiosInstance(req)\r\n    return res.data\r\n  }\r\n}\r\n\r\nexport { genericGETJson }\r\n","import { genericGETJson } from '@/services/genericGETJson'\r\n\r\nasync function getProducto (params = null) {\r\n  return await genericGETJson(\r\n    '/api/productos/getproductodetalle',\r\n    null,\r\n    params\r\n  )\r\n}\r\n\r\nexport { getProducto }\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('list-layout',{attrs:{\"tableTools\":_vm.toggleTableTools}},[_c('template',{slot:\"header\"},[_c('BaseHeader',{attrs:{\"content\":_vm.header}})],1),_c('template',{slot:\"table-core\"},[_c('base-table-pagination',{attrs:{\"total\":_vm.pagination.total,\"currentPage\":_vm.pagination.currentPage,\"perPage\":_vm.pagination.pageSize},on:{\"changeCurrentPage\":_vm.changeCurrentPage,\"changePerPage\":_vm.changePerPage}}),_c('div',{staticClass:\"flex flex-row w-100\"},[_c('base-table-searches',{on:{\"toggleSearchesDialog\":_vm.toggleSearchesDialog}}),_c('base-table-search',{on:{\"toggleFilters\":_vm.toggleFilters}})],1)],1),_c('template',{slot:\"table-tags\"},[_c('base-table-filter-tags',{attrs:{\"tags\":_vm.tags},on:{\"removeTag\":_vm.removeFilterTagHanlder,\"removeAllTags\":_vm.removeAllTagsHandler,\"saveTags\":_vm.saveTagsHandler}})],1),_c('template',{slot:\"table-component\"},[_c('kendo-grid-component',{attrs:{\"spanish\":_vm.spanish,\"dataResult\":_vm.kendo.dataResult,\"kendo\":_vm.kendo,\"loading\":_vm.isGeneralLoading,\"selectedField\":_vm.selectedField},on:{\"datastatechange\":_vm.dataStateChange,\"columnreorder\":_vm.columnReorder,\"rowclick\":_vm.openPath,\"columnssubmit\":_vm.onColumnsSubmit,\"sortchange\":_vm.sortChange,\"filterchange\":_vm.filterChange}})],1),_c('template',{slot:\"layout-extend\"},[_c('base-footer',[_c('template',{slot:\"actions\"},[_c('base-button-responsive',{attrs:{\"mode\":\"primary\",\"text\":_vm.labelBtnExcel,\"icon\":\"excelxls\",\"loading\":_vm.isGeneralLoading || _vm.loadingExcel,\"disabled\":_vm.loadingExcel},on:{\"click\":_vm.exportExcel}})],1)],2),_c('filter-panel',{attrs:{\"panelOpen\":_vm.filterPanel},on:{\"togglePanel\":_vm.toggleFilters,\"applyFilters\":_vm.applyFiltersHandler}}),_c('create-search-dialog',{attrs:{\"numberSearches\":_vm.numberSearches,\"idVista\":_vm.idVista,\"dialogOpen\":_vm.saveSearchDialog,\"tags\":_vm.tags},on:{\"toggleDialog\":_vm.toggleDialogSearches,\"applyDialog\":_vm.applySearchHandler}}),_c('filter-panel-searches',{ref:\"filterPanelSearches\",attrs:{\"idVista\":_vm.idVista,\"vuexnamespace\":_vm.vuexnamespace,\"panelOpen\":_vm.searchesPanel},on:{\"togglePanel\":_vm.toggleSearchesDialog,\"applyFilters\":_vm.applyFiltersHandler,\"updateNumberSearches\":_vm.updateNumberSearches}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-slide-panel',{attrs:{\"isOpen\":_vm.panelOpen},on:{\"closePanel\":_vm.togglePanel}},[_c('template',{slot:\"header\"},[_c('div',{staticClass:\"h-16 bg-secondary dark:bg-darkblue-600 flex items-center justify-between text-white px-4\"},[_c('div',{staticClass:\"flex items-center\"},[_c('base-icon',{attrs:{\"name\":\"filter\"}}),_c('h2',{staticClass:\"font-bold ml-2\"},[_vm._v(\"Filtrar por\")])],1),_c('span',{staticClass:\"cursor-pointer\",on:{\"click\":_vm.togglePanel}},[_c('base-button-icon',{attrs:{\"name\":\"cross\",\"size\":\"xs\",\"iconSize\":\"sm\",\"mode\":\"secondary\"}})],1)])]),_c('template',{slot:\"main\"},[_c('div',{staticClass:\"form-wrapper p-4 dark:bg-darkblue-800 dark:text-darkblue-200\"},[_c('el-form',{ref:\"ruleForm\"},[_c('div',{staticClass:\"lg:mb-2\"},[_c('div',[_c('base-collapsible',{staticClass:\"mb-3\",attrs:{\"customContent\":\"bg-white dark:bg-darkblue rounded-lg border-solid border-primary-100 dark:border-darkblue-600 border p-4 mt-2\"}},[_c('template',{slot:\"headerRight\"},[_c('div',{staticClass:\"flex flex-col py-2\"},[_c('h2',{staticClass:\"dark:text-darkblue-100\"},[_vm._v(_vm._s(_vm.$t('historical.fechaEvento')))])])]),_c('template',{slot:\"content\"},[_c('div',[_c('div',[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1\"},[_vm._v(_vm._s(_vm.$t('invoicesFilter.from')))]),_c('el-form-item',{attrs:{\"prop\":\"fechaDesde\"}},[_c('el-date-picker',{staticClass:\"bg-white dark:bg-darkblue-900 dark:bg-darkblue\",attrs:{\"type\":\"date\",\"picker-options\":_vm.dateRangeOptions,\"placeholder\":\"\"},model:{value:(_vm.form.fechaDesde.value),callback:function ($$v) {_vm.$set(_vm.form.fechaDesde, \"value\", $$v)},expression:\"form.fechaDesde.value\"}})],1)],1),_c('div',[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1\"},[_vm._v(_vm._s(_vm.$t('invoicesFilter.to')))]),_c('el-form-item',{attrs:{\"prop\":\"fechaHasta\"}},[_c('el-date-picker',{staticClass:\"bg-white dark:bg-darkblue-900 dark:bg-darkblue\",attrs:{\"type\":\"date\",\"picker-options\":_vm.dateRangeOptions,\"placeholder\":\"\"},model:{value:(_vm.form.fechaHasta.value),callback:function ($$v) {_vm.$set(_vm.form.fechaHasta, \"value\", $$v)},expression:\"form.fechaHasta.value\"}})],1)],1)])])],2)],1),_c('div',[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1\"},[_vm._v(_vm._s(_vm.$t('historical.evento')))]),_c('el-form-item',{attrs:{\"prop\":\"evento\"}},[_c('base-el-select',{staticClass:\"w-full\",attrs:{\"options\":_vm.valuesTiposEvento,\"clearable\":\"\"},model:{value:(_vm.form.evento.value),callback:function ($$v) {_vm.$set(_vm.form.evento, \"value\", $$v)},expression:\"form.evento.value\"}})],1)],1),_c('div',[_c('label',{staticClass:\"text-sm font-semibold text-secondary-600 block mb-1\"},[_vm._v(_vm._s(_vm.$t('historical.info')))]),_c('el-form-item',{attrs:{\"prop\":\"mensaje\"}},[_c('el-input',{staticClass:\"w-full\",attrs:{\"clearable\":\"\",\"maxlength\":\"500\"},model:{value:(_vm.form.mensaje.value),callback:function ($$v) {_vm.$set(_vm.form.mensaje, \"value\", $$v)},expression:\"form.mensaje.value\"}})],1)],1)]),_vm._l((0),function(i){return _c('p',{key:i},[_vm._v(\"form\")])})],2)],1)]),_c('template',{slot:\"footer\"},[_c('base-button',{attrs:{\"mode\":\"secondary-phantom-blue\",\"text\":_vm.$t('app.cancel')},on:{\"click\":_vm.togglePanel}}),_c('base-button',{staticClass:\"w-full\",attrs:{\"mode\":\"secondary-phantom-blue\",\"text\":_vm.$t('app.apply')},on:{\"click\":_vm.applyFilters}})],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <base-slide-panel :isOpen=\"panelOpen\" @closePanel=\"togglePanel\">\r\n    <template slot=\"header\">\r\n      <div class=\"h-16 bg-secondary dark:bg-darkblue-600 flex items-center justify-between text-white px-4\">\r\n        <div class=\"flex items-center\">\r\n          <base-icon name=\"filter\"/>\r\n          <h2 class=\"font-bold ml-2\">Filtrar por</h2>\r\n        </div>\r\n        <span class=\"cursor-pointer\" @click=\"togglePanel\">\r\n          <base-button-icon name=\"cross\" size=\"xs\" iconSize=\"sm\" mode=\"secondary\" />\r\n        </span>\r\n      </div>\r\n    </template>\r\n    <template slot=\"main\">\r\n      <div class=\"form-wrapper p-4 dark:bg-darkblue-800 dark:text-darkblue-200\">\r\n        <el-form\r\n          ref=\"ruleForm\"\r\n        >\r\n        <div class=\"lg:mb-2\">\r\n          <div>\r\n              <base-collapsible class=\"mb-3\" customContent=\"bg-white dark:bg-darkblue rounded-lg border-solid border-primary-100 dark:border-darkblue-600 border p-4 mt-2\">\r\n                <template slot=\"headerRight\">\r\n                  <div class=\"flex flex-col py-2\">\r\n                    <h2 class=\"dark:text-darkblue-100\">{{$t('historical.fechaEvento')}}</h2>\r\n                  </div>\r\n                </template>\r\n                <template slot=\"content\">\r\n                  <div>\r\n                    <div>\r\n                        <label class=\"text-sm font-semibold text-secondary-600 block mb-1\">{{$t('invoicesFilter.from')}}</label>\r\n                        <el-form-item prop=\"fechaDesde\">\r\n                            <el-date-picker\r\n                              class=\"bg-white dark:bg-darkblue-900 dark:bg-darkblue\"\r\n                              v-model=\"form.fechaDesde.value\"\r\n                              type=\"date\"\r\n                              :picker-options=\"dateRangeOptions\"\r\n                              placeholder=\"\">\r\n                            </el-date-picker>\r\n                        </el-form-item>\r\n                    </div>\r\n                    <div>\r\n                      <label class=\"text-sm font-semibold text-secondary-600 block mb-1\">{{$t('invoicesFilter.to')}}</label>\r\n                      <el-form-item prop=\"fechaHasta\">\r\n                          <el-date-picker\r\n                            class=\"bg-white dark:bg-darkblue-900 dark:bg-darkblue\"\r\n                            v-model=\"form.fechaHasta.value\"\r\n                            type=\"date\"\r\n                            :picker-options=\"dateRangeOptions\"\r\n                            placeholder=\"\">\r\n                          </el-date-picker>\r\n                      </el-form-item>\r\n                    </div>\r\n                  </div>\r\n                </template>\r\n              </base-collapsible>\r\n            </div>\r\n            <div>\r\n              <label class=\"text-sm font-semibold text-secondary-600 block mb-1\">{{$t('historical.evento')}}</label>\r\n              <el-form-item prop=\"evento\">\r\n                <base-el-select class=\"w-full\" :options=\"valuesTiposEvento\" v-model=\"form.evento.value\" clearable />\r\n              </el-form-item>\r\n            </div>\r\n            <div>\r\n              <label class=\"text-sm font-semibold text-secondary-600 block mb-1\">{{$t('historical.info')}}</label>\r\n              <el-form-item prop=\"mensaje\">\r\n                <el-input\r\n                  clearable\r\n                  class=\"w-full\"\r\n                  v-model=\"form.mensaje.value\"\r\n                  maxlength=\"500\"\r\n                />\r\n              </el-form-item>\r\n            </div>\r\n          </div>\r\n          <p v-for=\"i in 0\" :key=\"i\">form</p>\r\n        </el-form>\r\n      </div>\r\n    </template>\r\n    <template slot=\"footer\">\r\n      <base-button @click=\"togglePanel\" mode=\"secondary-phantom-blue\" :text=\"$t('app.cancel')\"/>\r\n      <base-button mode=\"secondary-phantom-blue\" class=\"w-full\" :text=\"$t('app.apply')\" @click=\"applyFilters\"/>\r\n    </template>\r\n  </base-slide-panel>\r\n</template>\r\n\r\n<script>\r\nimport { i18n } from '@/i18n'\r\nimport moment from 'moment'\r\nimport { getHistoricalEvents } from '@/services/historical/getHistoricalEvents'\r\n\r\nexport default {\r\n  name: 'filter-panel',\r\n  props: {\r\n    panelOpen: {\r\n      type: Boolean,\r\n      default: false\r\n    }\r\n  },\r\n  data: function () {\r\n    return {\r\n      dateRangeOptions: {\r\n        firstDayOfWeek: 1,\r\n      },\r\n      vuexnamespace: 'trashHistoricalProducts',\r\n      isOpen: this.panelOpen,\r\n      form: {\r\n        evento: { label: 'Nombre del evento', value: '' },\r\n        mensaje: { label: 'Información adicional', value: '' },\r\n        fechaDesde: { label: 'Fecha desde', value: '' },\r\n        fechaHasta: { label: 'Fecha hasta', value: '' }\r\n      },\r\n      values: [\r\n        {\r\n          value: true,\r\n          label: i18n.t('app.yes')\r\n        },\r\n        {\r\n          value: false,\r\n          label: i18n.t('app.no')\r\n        }\r\n      ],\r\n      valuesTiposEvento: []\r\n    }\r\n  },\r\n  mounted: async function () {\r\n    const tipoEvento = { tipo: 'productos' }\r\n    const data = await getHistoricalEvents(tipoEvento)\r\n    if (data.blnError === true) {\r\n      this.doFeedback(data.msgError + ' [' + data.codError + ']')\r\n    }\r\n    if (data.listaEventos.length > 0) {\r\n      data.listaEventos.forEach(element => {\r\n        this.valuesTiposEvento.push({ value: element, label: element.replaceAll('_', ' ') })\r\n      })\r\n    }\r\n  },\r\n  watch: {\r\n    form: {\r\n      deep: true,\r\n      immediate: true,\r\n      handler: 'watchFormHandler'\r\n    },\r\n    panelOpen: {\r\n      handler: 'panelOpenHandler'\r\n    }\r\n  },\r\n  methods: {\r\n    panelOpenHandler: function (data) {\r\n      const _temp = this.$store.getters[this.vuexnamespace + '/getMasterFilters']\r\n      if (_temp) {\r\n        this.resetForm()\r\n        this.form.evento.value = _temp.evento !== undefined && _temp.evento ? _temp.evento.value : ''\r\n        this.form.mensaje.value = _temp.mensaje !== undefined && _temp.mensaje ? _temp.mensaje.value : ''\r\n        this.form.fechaDesde.value = _temp.fechaDesde !== undefined && _temp.fechaDesde ? _temp.fechaDesde.value : ''\r\n        this.form.fechaHasta.value = _temp.fechaHasta !== undefined && _temp.fechaHasta ? _temp.fechaHasta.value : ''\r\n      }\r\n      // console.log('_temp =>', _temp)\r\n      // console.log('form =>', this.form)\r\n    },\r\n    watchFormHandler: function ({ fechaDesde, fechaHasta, evento }) {\r\n      if (fechaDesde.value !== undefined && moment(fechaDesde.value).isValid()) {\r\n        this.form.fechaDesde.value = moment(fechaDesde.value).format('YYYY-MM-DD[T00:00:00]')\r\n      } else {\r\n        this.form.fechaDesde.value = ''\r\n      }\r\n\r\n      if (fechaHasta.value !== undefined && moment(fechaHasta.value).isValid()) {\r\n        this.form.fechaHasta.value = moment(fechaHasta.value).format('YYYY-MM-DD[T00:00:00]')\r\n      } else {\r\n        this.form.fechaHasta.value = ''\r\n      }\r\n    },\r\n    togglePanel: function () {\r\n      this.isOpen = !this.isOpen\r\n      // this.resetForm()\r\n      this.$emit('togglePanel')\r\n    },\r\n    resetForm: function () {\r\n      this.form = {\r\n        evento: { label: i18n.t('historical.evento'), value: '' },\r\n        mensaje: { label: i18n.t('historical.info'), value: '' },\r\n        fechaDesde: { label: i18n.t('historical.fechaDesde'), value: '' },\r\n        fechaHasta: { label: i18n.t('historical.fechaHasta'), value: '' }\r\n      }\r\n    },\r\n    applyFilters: function () {\r\n      this.$store.commit(this.vuexnamespace + '/setMasterFilters', this.form)\r\n      this.$emit('applyFilters', true)\r\n      this.isOpen = !this.isOpen\r\n      this.resetForm()\r\n      this.$emit('togglePanel')\r\n    },\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\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!./HistoricalProductsFilter.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!./HistoricalProductsFilter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HistoricalProductsFilter.vue?vue&type=template&id=6e015d3e&scoped=true\"\nimport script from \"./HistoricalProductsFilter.vue?vue&type=script&lang=js\"\nexport * from \"./HistoricalProductsFilter.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  \"6e015d3e\",\n  null\n  \n)\n\nexport default component.exports","<template>\r\n  <list-layout :tableTools=\"toggleTableTools\">\r\n    <template slot=\"header\">\r\n      <BaseHeader :content=\"header\" />\r\n    </template>\r\n    <template slot=\"table-core\">\r\n      <base-table-pagination\r\n        :total=\"pagination.total\"\r\n        :currentPage=\"pagination.currentPage\"\r\n        :perPage=\"pagination.pageSize\"\r\n        @changeCurrentPage=\"changeCurrentPage\"\r\n        @changePerPage=\"changePerPage\"\r\n      ></base-table-pagination>\r\n      <div class=\"flex flex-row w-100\">\r\n        <base-table-searches @toggleSearchesDialog=\"toggleSearchesDialog\" />\r\n        <base-table-search @toggleFilters=\"toggleFilters\" />\r\n      </div>\r\n    </template>\r\n    <template slot=\"table-tags\">\r\n      <base-table-filter-tags  :tags=\"tags\" @removeTag=\"removeFilterTagHanlder\" @removeAllTags=\"removeAllTagsHandler\" @saveTags=\"saveTagsHandler\"/>\r\n    </template>\r\n    <template slot=\"table-component\">\r\n      <kendo-grid-component :spanish=\"spanish\"\r\n        :dataResult='kendo.dataResult'\r\n        :kendo=\"kendo\"\r\n        :loading='isGeneralLoading'\r\n        :selectedField=\"selectedField\"\r\n        @datastatechange='dataStateChange'\r\n        @columnreorder='columnReorder'\r\n        @rowclick='openPath'\r\n        @columnssubmit='onColumnsSubmit'\r\n        @sortchange='sortChange'\r\n        @filterchange='filterChange'>\r\n      </kendo-grid-component>\r\n    </template>\r\n    <template slot=\"layout-extend\">\r\n      <base-footer>\r\n        <template slot=\"actions\">\r\n          <base-button-responsive mode='primary' :text=\"labelBtnExcel\" icon='excelxls' @click='exportExcel' :loading='isGeneralLoading || loadingExcel' :disabled=\"loadingExcel\"/>\r\n        </template>\r\n      </base-footer>\r\n    <filter-panel :panelOpen=\"filterPanel\" @togglePanel=\"toggleFilters\" @applyFilters=\"applyFiltersHandler\" />\r\n    <create-search-dialog \r\n        :numberSearches=\"numberSearches\"\r\n        :idVista=\"idVista\" \r\n        :dialogOpen=\"saveSearchDialog\" \r\n        :tags=\"tags\" \r\n        @toggleDialog=\"toggleDialogSearches\" \r\n        @applyDialog=\"applySearchHandler\" />\r\n      <filter-panel-searches \r\n        ref=\"filterPanelSearches\" \r\n        :idVista=\"idVista\" \r\n        :vuexnamespace=\"vuexnamespace\" \r\n        :panelOpen=\"searchesPanel\" \r\n        @togglePanel=\"toggleSearchesDialog\" \r\n        @applyFilters=\"applyFiltersHandler\" \r\n        @updateNumberSearches=\"updateNumberSearches\"/>\r\n    </template>\r\n  </list-layout>\r\n</template>\r\n\r\n<script>\r\nimport ListLayout from '@/components/layout/ListLayout.vue'\r\nimport FilterPanel from '@/components/filters/trash/HistoricalProductsFilter.vue'\r\nimport FilterPanelSearches from '@/components/searches/SearchesPanel.vue'\r\nimport CreateSearchDialog from '@/components/searches/CreateSearchDialog.vue'\r\nimport { i18n } from '@/i18n'\r\n\r\nimport '@progress/kendo-theme-default/dist/all.css'\r\nimport { process } from '@progress/kendo-data-query'\r\nimport KendoGridComponent from '../../components/KendoGridComponent.vue'\r\n\r\nimport { getProducto } from '@/services/configurations/getProducto'\r\nimport { getHistoricalByProduct } from '@/services/historical/getHistoricalByProduct'\r\nimport { getHistoricalByProductExcel } from '@/services/historical/getHistoricalByProductExcel'\r\n\r\n// import moment from 'moment'\r\n\r\nexport default {\r\n  name: 'papelera-product-historical',\r\n  components: {\r\n    ListLayout,\r\n    FilterPanel,\r\n    FilterPanelSearches,\r\n    CreateSearchDialog,\r\n    KendoGridComponent\r\n  },\r\n  data: function () {\r\n    return {\r\n      idVista: 70,\r\n      // Searches\r\n      numberSearches: 0,\r\n      saveSearchDialog: false,\r\n      searchesPanel: false,\r\n      // All\r\n      loadingExcel: false,\r\n      spanish: true,\r\n      header: {\r\n        title: i18n.t('historical.generic'),\r\n        icon: 'config',\r\n        breadcrumb: null,\r\n        url: 'trash/products/details'\r\n      },\r\n      vuexnamespace: 'trashHistoricalProducts',\r\n      selectedField: 'selected',\r\n      filterPanel: false,\r\n      showAllRows: true,\r\n      loadingDataTable: false,\r\n      tableData: [],\r\n      data: null,\r\n      selected: [],\r\n    }\r\n  },\r\n  computed: {\r\n    labelBtnExcel: function () {\r\n      if (this.hasSelected) return this.$i18n.t('app.export_excel') + ' (Seleccionados)'\r\n      return this.$i18n.t('app.export_excel')\r\n    },\r\n    kendo: function () {\r\n      return this.$store.getters[this.vuexnamespace + '/getKendo']\r\n    },\r\n    isHeadCoreReady: function () {\r\n      return this.$store.getters.isHeadCoreReady\r\n    },\r\n    toggleTableTools: function () {\r\n      return this.selected.length > 0\r\n    },\r\n    rowsSelected: function () {\r\n      return this.selected.length\r\n    },\r\n    rowsTotal: function () {\r\n      return this.tableData.length\r\n    },\r\n    setLabelTowShow: function () {\r\n      return this.showAllRows ? 'Solo Seleccionadas' : 'Ver Todas'\r\n    },\r\n    masterFilters: function () {\r\n      return this.$store.getters[this.vuexnamespace + '/getMasterFilters']\r\n    },\r\n    isGeneralLoading: function () {\r\n      return this.$store.getters.isLoading\r\n    },\r\n    headerCoreFilters: function () {\r\n      return this.$store.getters['auth/queryHeaders']\r\n    },\r\n    tags: function () {\r\n      return this.$store.getters[this.vuexnamespace + '/getTags']\r\n    },\r\n    pagination: function () {\r\n      return this.$store.getters[this.vuexnamespace + '/getPaginationInfo']\r\n    },\r\n    columns () {\r\n      return [\r\n        { field: 'selected', width: '50px', headerSelectionValue: this.areAllSelected, reorderable: false, groupable: false },\r\n        ...this.kendo.columns\r\n      ]\r\n    },\r\n    areAllSelected () {\r\n      return this.kendo.dataResult.data.findIndex(item => item.selected === false) === -1\r\n    },\r\n    hasSelected () {\r\n      return this.selected.length > 0\r\n    },\r\n    role: function () {\r\n      return this.$store.getters['auth/role']\r\n    }\r\n  },\r\n  watch: {\r\n    headerCoreFilters: {\r\n      // immediate: true,\r\n      deep: true,\r\n      handler: 'headerCoreFiltersHandler'\r\n    },\r\n    data (val, oldVal) {\r\n      const dataState = {\r\n        skip: this.kendo.skip,\r\n        take: this.kendo.take,\r\n        sort: this.kendo.sort,\r\n        group: this.kendo.group\r\n      }\r\n      this.kendo.dataResult = process(val, dataState)\r\n    }\r\n  },\r\n  created: function () {\r\n    // console.log('created: ')\r\n  },\r\n  mounted: async function () {\r\n    const entityId = this.$route.params.id\r\n    this.$store.commit(this.vuexnamespace + '/setPageSize', this.kendo.take)\r\n\r\n    const breadcrumbs = []\r\n    breadcrumbs.push({ path: 'trash/products', name: this.$i18n.t('app.trash') })\r\n    breadcrumbs.push({ path: 'trash/products', name: this.$i18n.t('trash.products') })\r\n\r\n    const res = await this.downloadData(entityId)\r\n    const truncName = this.truncate(res.ItemDescription, 30, false)\r\n    breadcrumbs.push({ path: '', name: truncName })\r\n    this.$store.commit('app/setheaderBreadCrumb', truncName)\r\n    this.header.breadcrumb = breadcrumbs\r\n\r\n    this.applyFilters()\r\n  },\r\n  methods: {\r\n    openPath: function (event) {\r\n      // console.log('Ir a registro con ID: ', event.dataItem.id)\r\n      // this.$router.push({ name: 'configurations/tags/details', params: { id: event.dataItem.IdUsuario } })\r\n    },\r\n    toggleFilters: function () {\r\n      this.filterPanel = !this.filterPanel\r\n    },\r\n    removeFilterTag: function (tag) {\r\n      this.tags.splice(this.tags.indexOf(tag), 1)\r\n    },\r\n    createAppState: function (dataState) {\r\n      this.kendo.take = dataState.take\r\n      this.kendo.skip = dataState.skip\r\n      if (dataState.group) {\r\n        // eslint-disable-next-line no-return-assign\r\n        dataState.group.map(group => group.aggregates = this.aggregates)\r\n      }\r\n      this.kendo.group = dataState.group\r\n      this.kendo.filter = dataState.filter\r\n      this.kendo.sort = dataState.sort\r\n    },\r\n    dataStateChange: async function (event) {\r\n      this.createAppState(event.data)\r\n      this.data = await this.applyFilters()\r\n    },\r\n    columnReorder: function (options) {      \r\n      this.sendUpdatedColumns(options.columns)\r\n      this.kendo.columns.forEach((column, index) => {\r\n        if (options.columns.filter(x => x.field === column.field).length === 0) {\r\n          column.orderIndex = index + this.kendo.columns.length\r\n          options.columns.push(column)\r\n        }\r\n      })\r\n      this.kendo.columns = options.columns\r\n    },\r\n    exportExcel: async function () {\r\n      this.$store.commit('app/setLoading', true)\r\n      this.loadingExcel = true\r\n      const data = this.$store.getters[this.vuexnamespace + '/getAppliedFilters']\r\n      const params = {\r\n        idProducto: this.$route.params.id,\r\n        evento: data.evento ? data.evento.value : null,\r\n        mensaje: data.mensaje ? data.mensaje.value : null,\r\n        fechaDesde: data.fechaDesde ? data.fechaDesde.value : null,\r\n        fechaHasta: data.fechaHasta ? data.fechaHasta.value : null\r\n      }\r\n      const objOrder = this.getObjOrderMixin(this.kendo.group, this.kendo.sort)\r\n      const objColumnas = this.getColumnsGroupExcelMixin(this.kendo.columns, this.kendo.group)\r\n      const payload = { order: objOrder.order, grupos: objColumnas }\r\n      if (this.hasSelected) {\r\n        const selectedIDs = this.selected.map(x => x.idevento)\r\n        payload.listaIDs = selectedIDs\r\n      }\r\n      try {\r\n        const response = await getHistoricalByProductExcel(payload, params)\r\n        const blob = new Blob([response.data], { type: response.data.type, encoding: 'UTF-8' })\r\n        const link = document.createElement('a')\r\n        link.href = window.URL.createObjectURL(blob)\r\n        let filename = 'producto-historico.xlsx'\r\n        filename = decodeURI(filename)\r\n        link.download = filename\r\n        link.click()\r\n      } catch (error) {\r\n        console.error(error)\r\n        if (error.response?.data) {\r\n          const errorText = await error.response.data.text()\r\n          this.doFeedback(errorText)\r\n        } else {\r\n          this.doFeedback()\r\n        }\r\n      } finally {\r\n        this.$store.commit('app/setLoading', false)\r\n        this.loadingExcel = false\r\n      }\r\n    },\r\n    onColumnsSubmit: function (columnsState) {\r\n      this.sendUpdatedColumns(columnsState)\r\n      this.kendo.columns = columnsState\r\n    },\r\n    sortChange: function (e) {\r\n      // console.log('sortChange => sort', e)\r\n      let sort = e.sort\r\n      if (Array.isArray(e)) {\r\n        sort = e\r\n      }\r\n      const dataState = {\r\n        skip: this.kendo.skip,\r\n        take: this.kendo.take,\r\n        sort: sort,\r\n        group: this.kendo.group,\r\n        filter: this.kendo.filter\r\n      }\r\n      this.dataStateChange({ data: dataState })\r\n    },\r\n    filterChange: function (filter) {\r\n      const dataState = {\r\n        skip: this.kendo.skip,\r\n        take: this.kendo.take,\r\n        sort: this.kendo.sort,\r\n        group: this.kendo.group,\r\n        filter: filter\r\n      }\r\n\r\n      this.dataStateChange({ data: dataState })\r\n    },\r\n    applyFilters: async function (eventData) {\r\n      this.loadingDataTable = true\r\n      const data = this.$store.getters[this.vuexnamespace + '/getAppliedFilters']\r\n      // console.log('applyFilters', data)\r\n      const params = {\r\n        idProducto: this.$route.params.id,\r\n        evento: data.evento ? data.evento.value : null,\r\n        mensaje: data.mensaje ? data.mensaje.value : null,\r\n        fechaDesde: data.fechaDesde ? data.fechaDesde.value : null,\r\n        fechaHasta: data.fechaHasta ? data.fechaHasta.value : null\r\n      }\r\n      const objOrder = this.getObjOrderMixin(this.kendo.group, this.kendo.sort)\r\n      try {\r\n        this.data = await this.getItemsData(objOrder, params)\r\n      } catch (error) {\r\n        // console.log('error', error)\r\n        this.$store.commit('setIsLoading', false)\r\n        this.doFeedback(this.$i18n.t('feedback.error.general ' + error))\r\n      }\r\n      return this.data\r\n    },\r\n    getItemsData: async function (orders, filters) {\r\n      this.$store.commit('setAjaxRequestPending', true)\r\n      this.$store.commit('setIsLoading', true)\r\n      const params = {\r\n        paginate: true,\r\n        results: this.pagination.pageSize,\r\n        page: this.pagination.currentPage,\r\n        ...filters\r\n      }\r\n      const res = await this.getMainData(orders, params)\r\n      this.data = res.listaEventos\r\n      const pagination = {\r\n        total: res.meta?.total,\r\n        currentPage: res.meta?.currentPage,\r\n        totalPages: res.meta?.lastPage,\r\n        pageSize: res.meta?.perPage\r\n      }\r\n      this.$store.commit(this.vuexnamespace + '/setPaginationInfo', pagination)\r\n      this.$store.commit('setIsLoading', false)\r\n      this.loadingDataTable = false\r\n      return this.data\r\n    },\r\n    async getMainData (orders, filters) {\r\n      const params = {\r\n        paginate: true,\r\n        results: this.pagination.pageSize,\r\n        page: this.pagination.currentPage,\r\n        ...filters\r\n      }\r\n      const data = await getHistoricalByProduct(orders, params)\r\n      if (data.blnError === true) {\r\n        this.doFeedback(data.msgError + ' [' + data.codError + ']')\r\n      }\r\n      if (data !== null && data.listaEventos !== null && data.listaEventos !== undefined) {\r\n        data.listaEventos.forEach(o => {\r\n          o.evento = o.evento.replaceAll('_', ' ')\r\n          o.mensaje = o.mensaje.replaceAll('_', ' ')\r\n        })\r\n      }\r\n      return data\r\n    },\r\n    applyFiltersHandler: async function (eventData) {\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', 1)\r\n      this.data = await this.applyFilters(eventData)\r\n    },\r\n    changeCurrentPage: async function (event) {\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', event)\r\n      this.data = await this.applyFilters(null)\r\n    },\r\n    changePerPage: async function (event) {\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', 1)\r\n      this.$store.commit(this.vuexnamespace + '/setPageSize', event)\r\n      this.kendo.take = event\r\n      this.data = await this.applyFilters(null)\r\n    },\r\n    removeFilterTagHanlder: function (tag) {\r\n      // this.$store.commit(this.vuexnamespace + '/removeTag', tag)\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', 1)\r\n      const filter = this.$store.getters[this.vuexnamespace + '/getAppliedFilters']\r\n      delete filter[tag[0]]\r\n      this.$store.commit(this.vuexnamespace + '/setMasterFilters', filter)\r\n      this.applyFiltersHandler(null)\r\n    },\r\n    headerCoreFiltersHandler: function (obs) {\r\n      if (this.isHeadCoreReady) {\r\n        this.applyFilters(null)\r\n      }\r\n    },\r\n    removeAllTagsHandler: function () {\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', 1)\r\n      this.$store.commit(this.vuexnamespace + '/resetMasterFilters')\r\n      this.applyFiltersHandler(null)\r\n    },\r\n    tableSortByChangeHandler: function ({ prop, order }) {\r\n      this.$store.commit(this.vuexnamespace + '/setSort', prop)\r\n      this.$store.commit(this.vuexnamespace + '/setSortOrder', order)\r\n      this.$store.commit(this.vuexnamespace + '/setCurrentPage', 1)\r\n      this.applyFilters(null)\r\n    },\r\n    downloadData: async function (id) {\r\n      let res = null\r\n      try {\r\n        this.$store.commit('setIsLoading', true)\r\n        const params = {\r\n          idProducto: id,\r\n          borrado: true,\r\n        }\r\n        res = await getProducto(params)\r\n        if (res.blnError === true) {\r\n          this.doFeedback(res.msgError + ' [' + res.codError + ']')\r\n        } else {\r\n          res = res.Respuesta\r\n        }\r\n      } catch (error) {\r\n        this.doFeedback()\r\n      } finally {\r\n        this.$store.commit('setIsLoading', false)\r\n      }\r\n      return res\r\n    },\r\n    toggleSearchesDialog: function () {\r\n      this.searchesPanel = !this.searchesPanel\r\n    },\r\n    saveTagsHandler: function () {\r\n      this.saveSearchDialog = !this.saveSearchDialog\r\n    },\r\n    toggleDialogSearches: function () {\r\n      this.saveSearchDialog = !this.saveSearchDialog\r\n    },\r\n    applySearchHandler: async function () {\r\n      this.toggleDialogSearches()\r\n      // Manda actualizar lista de búsquedas\r\n      this.$refs.filterPanelSearches.updateData()\r\n    },\r\n    updateNumberSearches: async function (number) {\r\n      this.numberSearches = number\r\n    },\r\n  }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\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!./TrashProductHistorical.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!./TrashProductHistorical.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TrashProductHistorical.vue?vue&type=template&id=5fa02f7b&scoped=true\"\nimport script from \"./TrashProductHistorical.vue?vue&type=script&lang=js\"\nexport * from \"./TrashProductHistorical.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  \"5fa02f7b\",\n  null\n  \n)\n\nexport default component.exports","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function getHistoricalByProductExcel (order = {}, params = null) {\r\n  if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n    return new Promise((resolve, reject) => {\r\n      setTimeout(() => {\r\n        resolve(mock.getLanguages.data)\r\n      }, 500)\r\n    })\r\n  } else {\r\n    const req = {\r\n      url: '/api/historico/getproductohistoricoexcel',\r\n      method: 'POST',\r\n      headers: {\r\n        'Content-type': 'application/json',\r\n        'access-control-allow-origin': '*'\r\n      },\r\n      responseType: 'blob',\r\n      data: order,\r\n      params\r\n    }\r\n    const res = await axiosInstance(req)\r\n    const response = {\r\n      data: res.data,\r\n      headers: res.headers\r\n    }\r\n    return response\r\n  }\r\n}\r\n\r\nexport { getHistoricalByProductExcel }\r\n","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function getHistoricalByProduct (order = {}, params = null) {\r\n  if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n    return new Promise((resolve, reject) => {\r\n      setTimeout(() => {\r\n        resolve(mock.getLanguages.data)\r\n      }, 500)\r\n    })\r\n  } else {\r\n    const req = {\r\n      url: '/api/historico/getproductohistorico',\r\n      method: 'POST',\r\n      headers: {\r\n        'Content-type': 'application/json',\r\n        'access-control-allow-origin': '*'\r\n      },\r\n      data: order,\r\n      params\r\n    }\r\n    const res = await axiosInstance(req)\r\n    return res.data\r\n  }\r\n}\r\n\r\nexport { getHistoricalByProduct }\r\n","import axiosInstance from '@/services/axiosInstance'\r\nimport mock from '@/services/mock/index'\r\n\r\nasync function getHistoricalEvents (params = null) {\r\n  if (process.env.VUE_APP_ENVIRONMENT === 'test') {\r\n    return new Promise((resolve, reject) => {\r\n      setTimeout(() => {\r\n        resolve(mock.getLanguages.data)\r\n      }, 500)\r\n    })\r\n  } else {\r\n    const req = {\r\n      url: '/api/historico/gethistoricotipos',\r\n      method: 'POST',\r\n      headers: {\r\n        'Content-type': 'application/json',\r\n        'access-control-allow-origin': '*'\r\n      },\r\n      params\r\n    }\r\n    const res = await axiosInstance(req)\r\n    return res.data\r\n  }\r\n}\r\n\r\nexport { getHistoricalEvents }\r\n"],"sourceRoot":""}