(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{505:function(e,t,n){"use strict";n.r(t);var r=n(0),o=n(2),l=(n(920),n(193),n(921),n(4));function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function d(e){for(var t=1;t({filterState:"all",filterItems:[{text:"Todos",value:"all"},{text:"Usados",value:"used"},{text:"No usados",value:"unused"}],fetching:!1,exporting:!1,page:1,tableFilters:{init_date:null,end_date:null},exportFilters:{init_date:null,end_date:null},pagination:{current_page:1,last_page:1,per_page:10,total:0},discounts:[],tableHeaders:[{text:"Código",value:"coddesc"},{text:"Estado",value:"consumido"},{text:"Pedido",value:"order_id"},{text:"Cliente",value:"client"},{text:"Fecha creación",value:"creation_date"},{text:"Fecha uso",value:"usage_date"}]}),computed:{expandedDiscounts(){var e=Array.isArray(this.discounts)?this.discounts:[],t=e=>{var t=new Date(e);return Number.isNaN(t.getTime())?0:t.getTime()};return e.flatMap(e=>{var t=Array.isArray(e.orders)?e.orders.filter(e=>e&&(e.id||e.client)):[];return t.length?t.map((t,n)=>d(d({},e),{},{row_key:"".concat(e.coddesc||"coupon","-").concat(t.id||"order","-").concat(n),order_id:t.id||e.order_id||"-",client:t.client||"-",creation_date:e.init_date||null,usage_date:t.used_at||t.order_date||null})):[d(d({},e),{},{row_key:"".concat(e.coddesc||"coupon","-no-order"),order_id:e.order_id||"-",client:"-",creation_date:e.init_date||null,usage_date:null})]}).sort((e,n)=>{var r=Number(Boolean(n.consumido))-Number(Boolean(e.consumido));if(0!==r)return r;var o=t(n.usage_date||n.creation_date)-t(e.usage_date||e.creation_date);return 0!==o?o:String(e.coddesc||"").localeCompare(String(n.coddesc||""))})}},watch:{coupon:{immediate:!0,handler(){this.page=1,this.filterState="all",this.tableFilters={init_date:null,end_date:null},this.fetchDiscounts()}},page(){this.fetchDiscounts()},filterState(){this.page=1,this.fetchDiscounts()}},methods:{typeLabel:e=>({amount:"Por rango",purchases:"Por compras realizadas en el mes",flyer:"Por flyer"}[e]||e||"-"),fetchDiscounts(){var e=this;return Object(r.a)(function*(){var t;if(null!==(t=e.coupon)&&void 0!==t&&t.id){e.fetching=!0;var n=e.tableFilters.init_date||e.tableFilters.end_date||void 0,r=e.tableFilters.end_date||e.tableFilters.init_date||void 0;try{var data=yield e.$axios.$get("/admin/premium-discounts/".concat(e.coupon.id,"/discounts"),{params:{with_orders:1,status:e.filterState,init_date:n,end_date:r,page:e.page}});e.discounts=Array.isArray(data)?data:data.data||[],data.meta?e.pagination=data.meta:e.pagination={current_page:1,last_page:1,per_page:e.discounts.length||10,total:e.discounts.length}}catch(t){e.discounts=[],e.pagination={current_page:1,last_page:1,per_page:10,total:0},e.$notify({color:"error",message:"No se pudieron cargar los ítems del cupón."})}finally{e.fetching=!1}}})()},applyTableFilters(){this.page=1,this.fetchDiscounts()},resetTableFilters(){var e="all"!==this.filterState;this.filterState="all",this.tableFilters={init_date:null,end_date:null},this.page=1,e||this.fetchDiscounts()},generate(e){var t=this;return Object(r.a)(function*(){var n;if(null!==(n=t.coupon)&&void 0!==n&&n.name){t.exporting=!0;var r={format:e,name:t.coupon.name,init_date:t.exportFilters.init_date||void 0,end_date:t.exportFilters.end_date||void 0};r.init_date&&!r.end_date&&(r.end_date=r.init_date);try{var o=yield t.$axios.get("/admin/premium-discounts/report",{params:r,responseType:"blob"});Object(l.e)(o),t.$notify({timeout:1e4,message:"Reporte generado, su archivo se descargará automaticamente."})}catch(e){var c,data=yield Object(l.g)(e);if(409===(null==e||null===(c=e.response)||void 0===c?void 0:c.status))return void t.$notify({color:"error",message:"string"==typeof data?data:"No hay elementos para mostrar."});t.$notify({color:"error",message:"string"==typeof data?data:"No se pudo generar el reporte."})}finally{t.exporting=!1}}else t.$notify({color:"error",message:"No se pudo identificar el cupón para exportar."})})()}}},_=n(1),component=Object(_.a)(v,function(){var e,t=this,n=t._self._c;return t.coupon?n("v-card",[n("v-card-title",[n("div",[n("div",{staticClass:"text-h6"},[t._v("\n "+t._s(t.coupon.name)+"\n ")]),t._v(" "),n("div",{staticClass:"text-subtitle-2"},[t._v("\n Vendedor: "+t._s((null===(e=t.coupon.seller)||void 0===e?void 0:e.name)||"Sin asignar")+" — Tipo: "+t._s(t.typeLabel(t.coupon.type))+"\n ")])])]),t._v(" "),n("v-card-text",[n("v-sheet",{staticClass:"pa-3 mb-4",attrs:{outlined:"",rounded:""}},[n("div",{staticClass:"text-overline font-weight-bold mb-1"},[t._v("\n Filtro de tabla\n ")]),t._v(" "),n("div",{staticClass:"caption grey--text text--darken-1 mb-2"},[t._v("\n El estado se consulta en backend para garantizar que usados/no usados traigan todos los registros.\n ")]),t._v(" "),n("v-row",[n("v-col",{attrs:{cols:"12",md:"4"}},[n("v-select",{attrs:{items:t.filterItems,"item-text":"text","item-value":"value",label:"Estado","persistent-hint":"",hint:"Cuando filtras usados/no usados se consulta todo el universo en backend"},model:{value:t.filterState,callback:function(e){t.filterState=e},expression:"filterState"}})],1),t._v(" "),n("v-col",{attrs:{cols:"12",md:"4"}},[n("app-date-input",{attrs:{label:"Fecha inicio","hide-details":"auto",clearable:"",placeholder:"Selecciona fecha inicio"},model:{value:t.tableFilters.init_date,callback:function(e){t.$set(t.tableFilters,"init_date",e)},expression:"tableFilters.init_date"}})],1),t._v(" "),n("v-col",{attrs:{cols:"12",md:"4"}},[n("app-date-input",{attrs:{label:"Fecha fin","hide-details":"auto",clearable:"",placeholder:"Selecciona fecha fin"},model:{value:t.tableFilters.end_date,callback:function(e){t.$set(t.tableFilters,"end_date",e)},expression:"tableFilters.end_date"}})],1)],1),t._v(" "),n("v-row",[n("v-col",{staticClass:"text-right",attrs:{cols:"12"}},[n("v-btn",{attrs:{small:"",text:"",color:"primary",disabled:t.fetching},on:{click:function(e){return e.preventDefault(),t.applyTableFilters.apply(null,arguments)}}},[t._v("\n Aplicar filtros\n ")]),t._v(" "),n("v-btn",{attrs:{small:"",text:"",color:"grey",disabled:t.fetching},on:{click:function(e){return e.preventDefault(),t.resetTableFilters.apply(null,arguments)}}},[t._v("\n Limpiar\n ")])],1)],1)],1),t._v(" "),n("v-sheet",{staticClass:"pa-3 mb-4",attrs:{outlined:"",rounded:""}},[n("div",{staticClass:"text-overline font-weight-bold mb-1"},[t._v("\n Exportación\n ")]),t._v(" "),n("div",{staticClass:"caption grey--text text--darken-1 mb-2"},[t._v("\n Selecciona rango de fechas para exportar el detalle del cupón actual.\n ")]),t._v(" "),n("v-row",[n("v-col",{attrs:{cols:"12",md:"4"}},[n("div",{staticClass:"caption font-weight-medium mb-1"},[t._v("\n Fecha inicio (exportación)\n ")]),t._v(" "),n("app-date-input",{attrs:{"hide-details":"auto",clearable:"",placeholder:"Selecciona fecha inicio"},model:{value:t.exportFilters.init_date,callback:function(e){t.$set(t.exportFilters,"init_date",e)},expression:"exportFilters.init_date"}})],1),t._v(" "),n("v-col",{attrs:{cols:"12",md:"4"}},[n("div",{staticClass:"caption font-weight-medium mb-1"},[t._v("\n Fecha fin (exportación)\n ")]),t._v(" "),n("app-date-input",{attrs:{"hide-details":"auto",clearable:"",placeholder:"Selecciona fecha fin"},model:{value:t.exportFilters.end_date,callback:function(e){t.$set(t.exportFilters,"end_date",e)},expression:"exportFilters.end_date"}})],1),t._v(" "),n("v-col",{staticClass:"d-flex align-end justify-end",attrs:{cols:"12",md:"4"}},[n("div",[n("v-btn",{staticClass:"mx-1",attrs:{dark:"",small:"",color:"green",loading:t.exporting,disabled:t.fetching||t.exporting},on:{click:function(e){return e.preventDefault(),t.generate("xlsx")}}},[n("v-icon",{staticClass:"mr-1"},[t._v("far fa-file-excel")]),t._v(" "),n("strong",[t._v("Excel")])],1),t._v(" "),n("v-btn",{attrs:{dark:"",small:"",color:"red",loading:t.exporting,disabled:t.fetching||t.exporting},on:{click:function(e){return e.preventDefault(),t.generate("pdf")}}},[n("v-icon",{staticClass:"mr-1"},[t._v("far fa-file-pdf")]),t._v(" "),n("strong",[t._v("PDF")])],1)],1)])],1)],1),t._v(" "),n("v-data-table",{attrs:{items:t.expandedDiscounts,headers:t.tableHeaders,loading:t.fetching,"item-key":"row_key",dense:"","disable-pagination":"","hide-default-footer":""},scopedSlots:t._u([{key:"item.consumido",fn:function(e){var{item:r}=e;return[n("v-chip",{attrs:{color:r.consumido?"green":"grey",dark:"",small:""}},[t._v("\n "+t._s(r.consumido?"Usado":"No usado")+"\n ")])]}},{key:"item.order_id",fn:function(e){var{item:r}=e;return[n("span",{domProps:{textContent:t._s(r.order_id||"-")}})]}},{key:"item.client",fn:function(e){var{item:r}=e;return[n("span",{domProps:{textContent:t._s(r.client||"-")}})]}},{key:"item.creation_date",fn:function(e){var{item:r}=e;return[n("span",{domProps:{textContent:t._s(t.str_to_date(r.creation_date)||"-")}})]}},{key:"item.usage_date",fn:function(e){var{item:r}=e;return[n("span",{domProps:{textContent:t._s(t.str_to_date(r.usage_date)||"-")}})]}}],null,!0)}),t._v(" "),"all"===t.filterState&&t.pagination.last_page>1?n("div",{staticClass:"text-center my-4"},[n("v-pagination",{attrs:{circle:"",color:"light-green","total-visible":5,length:t.pagination.last_page},model:{value:t.page,callback:function(e){t.page=e},expression:"page"}})],1):t._e()],1),t._v(" "),n("v-card-actions",[n("v-spacer"),t._v(" "),n("v-btn",{attrs:{text:"",color:"primary"},on:{click:function(e){return t.$emit("close")}}},[t._v("\n Cerrar\n ")])],1)],1):t._e()},[],!1,null,null,null);t.default=component.exports},920:function(e,t,n){"use strict";var r=n(6),o=n(406),l=n(31),c=n(43),d=n(49),v=n(195);r({target:"Array",proto:!0},{flatMap:function(e){var t,n=c(this),r=d(n);return l(e),(t=v(n,0)).length=o(t,n,n,r,0,1,e,arguments.length>1?arguments[1]:void 0),t}})},921:function(e,t,n){"use strict";n(139)("flatMap")}}]);