{"version":3,"mappings":"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","names":["e","constructor","t","n","a","r","c","k","ae","this","Z","x","dateForCurrentImport","b","date","toDate","dateForPreviousMonthOfCurrentImport","subtract","loading","userService","isPhoenixUser","isInternalUser","input","selectedIdf$","subscribe","f","paybackType","currentlyDisplayedIdf","idf","showFreePoints","canSeeFreePoints","showKpis","canSeePaybackKpis","showEducation","canSeeEducation","notAllowedFreePoints","includes","notAllowedKpis","notAllowedEducation","trackClick","matomoService","trackEvent","ngOnDestroy","ngUnsubscribe$","next","complete","u","m","h","selectors","ngOnInit","isAllowed","loadKpis","indexOf","error","console","log","userRestService","getPaybackKpis","pipe","returnObject","currentKpis","loadChart","message","options","title","text","textStyle","color","fontFamily","fontSize","tooltip","trigger","formatter","formatTooltip","legend","data","name","icon","backgroundColor","bottom","selectedMode","left","itemGap","selected","Bonwert","Neukunden","grid","right","top","containLabel","xAxis","axisLabel","padding","axisLine","show","axisTick","type","boundaryGap","getDataMonths","inverse","yAxis","formatYAxisLabel","series","getChartSeries","length","marker","seriesName","value","toLocaleString","push","transactions","new_customers","active_accounts","month","onChartInit","echartsInstance","p","getPaybackType","loadPoints","currentIdf","getPaybackCurrentPoints","currentPoints","Date","dataFrom","isLinda","d","openDialog","dialog","open","te","g","_","path","children","component","pathMatch","l","imports","s","v","M","S","N","ee","ne","C","y"],"sources":["webpack:///src/app/modules/payback/payback.component.html","webpack:///src/app/modules/payback/payback.component.ts","webpack:///src/app/modules/payback/payback-kpi/payback-kpi.component.html","webpack:///src/app/modules/payback/payback-kpi/payback-kpi.component.ts","webpack:///src/app/modules/payback/payback-points/payback-points.component.html","webpack:///src/app/modules/payback/payback-points/payback-points.component.ts","webpack:///src/app/modules/payback/payback-lernwelt/payback-lernwelt.component.ts","webpack:///src/app/modules/payback/payback-lernwelt/payback-lernwelt.component.html","webpack:///src/app/modules/payback/payback.module.ts"],"sourcesContent":["
\n \"Payback\n
\n \n

\n Die geballte PAYBACK Welt an einem Ort! Hier finden Sie alle Informationen rund um PAYBACK in Ihrer Apotheke.\n Schauen Sie sich Ihre aktuellen Kennzahlen an, tauchen Sie in unserer Lernwelt noch tiefer in die Funktionalität\n des Bonusprogramms ein oder halten Sie sich mithilfe der News auf dem Laufenden. Nur einen Klick entfernt können\n Sie sich Werbemittel bestellen oder kostenfrei Grafiken herunterladen. Ihnen stehen auch Gestaltungselemente zur\n Verfügung um PAYBACK in Ihre eigenen Werbemaßnahmen einzubinden.

\n Sie haben Wünsche oder Anregungen? Melden Sie sich gerne bei uns unter support-payback@phoenixgroup.eu oder 0621/850 580 00.\n

\n
\n
\n","import {Component, Inject, OnDestroy} from '@angular/core';\nimport {UserRestService} from '../../core/services/api/user.rest-service';\nimport {takeUntil} from 'rxjs/operators';\nimport {UserService} from '../../core/services/user.service';\nimport {Observable, Subject} from 'rxjs';\nimport * as moment from 'moment';\nimport {MatomoService} from '../../core/services/matomo.service';\nimport {InternalUserAuthority} from '../../core/models/enums/internal-user-authority.model';\nimport {ActivatedRoute, Router} from '@angular/router';\n\n@Component({\n selector: 'payback',\n templateUrl: './payback.component.html',\n styleUrls: ['./payback.component.scss']\n})\nexport class PaybackComponent implements OnDestroy {\n public ngUnsubscribe$ = new Subject();\n\n public idf: string;\n public idfs$: Observable;\n public input = false;\n\n public dateForPreviousMonthOfCurrentImport: Date;\n public dateForCurrentImport: Date;\n public currentlyDisplayedIdf;\n public loading: boolean;\n public month: number;\n public error;\n public payback;\n public paybackType;\n public showFreePoints = false;\n public showKpis = false;\n public showEducation = false;\n notAllowedFreePoints: Array = ['N', 'K'];\n notAllowedKpis: Array = ['N', 'K'];\n notAllowedEducation: Array = ['N', 'K', null];\n protected readonly InternalUserAuthority = InternalUserAuthority;\n\n constructor(@Inject(UserRestService) private userRestService: UserRestService,\n @Inject('DA_STORE_URL') private DA_STORE_URL: string,\n @Inject('DA_STORE_REFERRER') private DA_STORE_REFERRER: string,\n @Inject('CDN') public CDN,\n @Inject(UserService) public userService: UserService,\n private router: Router,\n private matomoService: MatomoService) {\n\n this.dateForCurrentImport = moment().date(1).toDate();\n this.dateForPreviousMonthOfCurrentImport = moment().subtract(1, 'months').date(1).toDate();\n this.loading = true;\n\n if (this.userService.isPhoenixUser() || this.userService.isInternalUser()) {\n this.input = true;\n }\n\n this.userService.selectedIdf$.subscribe(idf => {\n if (idf) {\n this.paybackType = idf.paybackType;\n if(!this.userService.isPhoenixUser() && !this.userService.isInternalUser()) {\n }\n\n this.currentlyDisplayedIdf = idf.idf;\n if (this.paybackType) {\n this.showFreePoints = this.canSeeFreePoints(this.paybackType);\n this.showKpis = this.canSeePaybackKpis(this.paybackType);\n this.showEducation = this.canSeeEducation(this.paybackType);\n }\n this.loading = false;\n }\n })\n }\n\n canSeeFreePoints(paybackType) {\n return !this.notAllowedFreePoints.includes(paybackType);\n }\n\n canSeePaybackKpis(paybackType) {\n return !this.notAllowedKpis.includes(paybackType);\n }\n\n canSeeEducation(paybackType) {\n return !this.notAllowedEducation.includes(paybackType);\n }\n\n trackClick(tileName: string) {\n this.matomoService.trackEvent('Mein PAYBACK', 'Klick auf Tile', tileName);\n }\n\n /**\n * Unsubscribe from all subscriptions.\n */\n ngOnDestroy() {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","\n
\n
\n \n

PAYBACK Kennzahlen im Überblick ({{ currentKpis?.month | date:'MMMM yyyy' }})

\n

Hier haben Sie die relevantesten PAYBACK Kennzahlen im Überblick. Ihre Zahlen werden monatlich aktualisiert.

\n \n
\n
\n
\n
\"Transaktionen\"
\n

Transaktionen \n

\n
\n {{ currentKpis?.transactions | number:'1.0-0' }}\n
\n
\n
\n
\"Aktive
\n

Aktive Konten \n

\n
\n {{ currentKpis?.active_accounts | number:'1.0-0' }}\n
\n
\n
\n
\"Bestandskunden\"
\n

Bestandskunden \n

\n
\n {{ currentKpis?.existing_customers | number:'1.0-0' }}\n
\n
\n
\n
\n
\n
\"Neukunden\"
\n

Neukunden \n

\n
\n {{ currentKpis?.new_customers | number:'1.0-0'}}\n
\n
\n
\n
\"Reaktivierte\n
\n

Reaktivierte Kunden \n

\n
\n {{ currentKpis?.reactivated_customers | number:'1.0-0'}}\n
\n
\n
\n
\"Potenzielle\n
\n

Potenzielle PAYBACK Kunden \n

\n
\n {{ currentKpis?.active_cards | number:'1.0-0'}}\n
\n
\n
\n \n
\n
\n
\"Potenzielle\n
\n

Kauffrequenz \n

\n
\n {{ currentKpis?.sales_frequency| number:'1.2-2'}}\n
\n
\n
\n
\"Reaktivierte\n
\n

Kosten pro Kundenkontakt \n

\n
\n {{ currentKpis?.cost_per_customer| currency:'EUR':'symbol':'1.2-2'}}\n
\n
\n
\n
\"Neukunden\"
\n

Kundenkontakte pro Apotheke \n

\n
\n {{ currentKpis?.customer_interactions_per_pharmacy| number:'1.0-0'}}\n
\n
\n
\n

Die Definitionen der Kennzahlen sehen Sie, wenn Sie mit der Maus über das jeweilige „i“ neben den\n Begriff gehen.

\n
\n
\n\n \n\n
\n
\n

Bei Klick auf die unterschiedlichen Kennzahlen in der Legende bekommen Sie die entsprechende Kurve\n in der Grafik angezeigt.

\n
\n
\n","import {Component, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\nimport {formatDate} from '@angular/common';\nimport {UserRestService} from '../../../core/services/api/user.rest-service';\nimport {UserService} from \"../../../core/services/user.service\";\n\n@Component({\n selector: 'app-payback-kpi',\n templateUrl: './payback-kpi.component.html',\n styleUrls: ['./payback-kpi.component.scss']\n})\nexport class PaybackKpiComponent implements OnInit, OnDestroy {\n\n loading = false;\n private error: null;\n private currentlyDisplayedIdf: any;\n public currentKpis: {\n transactions: number;\n active_accounts: number;\n existing_customers: number;\n average_receipt_value: number;\n new_customers: number;\n month: string;\n reactivated_customers: number,\n active_cards: number,\n sales_frequency: number,\n customer_interactions_per_pharmacy: number,\n cost_per_customer: number\n };\n\n public ngUnsubscribe$ = new Subject();\n public chart;\n public echartsInstance;\n public options;\n\n constructor(\n @Inject(UserRestService) private userRestService: UserRestService,\n private userService: UserService,\n ) { }\n\n ngOnInit(): void {\n this.userService.selectedIdf$.subscribe(selectedIdf => {\n if(this.isAllowed(selectedIdf.paybackType)) {\n this.loadKpis(selectedIdf.idf);\n }\n });\n }\n\n isAllowed(type) {\n return ['N', 'K'].indexOf(type) < 0;\n }\n\n loadKpis(idf) {\n this.loading = true;\n this.error = null;\n this.currentlyDisplayedIdf = idf;\n console.log(this.currentlyDisplayedIdf);\n this.userRestService.getPaybackKpis(idf).pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(res => {\n if (res.returnObject) {\n this.currentKpis = res.returnObject[0];\n this.loadChart(res.returnObject);\n\n } else {\n this.loadChart([]);\n }\n this.loading = false;\n },\n\n error => {\n this.error = error.message;\n this.loading = false;\n this.loadChart([]);\n }\n );\n }\n\n\n loadChart(data) {\n this.options = {\n title: {\n text: 'Performance der letzten 12 Monate',\n textStyle: {\n color: '#393938', fontFamily: 'Roboto Light', fontSize: 24\n }\n },\n color: [\n '#009775',\n '#92d400',\n '#393938',\n '#999999',\n '#91c7ae',\n '#749f83',\n '#92d400',\n '#bda29a',\n '#009775',\n '#999999',\n '#c4ccd3'\n ],\n tooltip: {\n trigger: 'axis',\n formatter: this.formatTooltip\n },\n legend: {\n data: [\n {\n name: 'Transaktionen',\n icon: 'circle',\n backgroundColor: '#92d400'\n }\n ,\n // {\n // name: 'Bonwert',\n // icon: 'circle',\n // backgroundColor: '#009775'\n // },\n {\n name: 'Neukunden',\n icon: 'circle',\n backgroundColor: '#393938'\n },\n {\n name: 'Aktive Konten',\n icon: 'circle',\n backgroundColor: '#999999'\n }\n ],\n bottom: 0,\n selectedMode: 'single',\n left: 80,\n itemGap: 35,\n selected: {\n 'Bonwert': false,\n 'Neukunden': false,\n 'Aktive Konten': false\n }\n },\n grid: {\n left: '3%',\n right: '3%',\n bottom: '10%',\n top: '20%',\n containLabel: true,\n }, xAxis: {\n axisLabel: {\n fontSize: 16,\n fontFamily: 'Roboto Light',\n color: '#999999',\n padding: [25, 0, 0, 0],\n },\n axisLine: {\n show: false\n },\n axisTick: {\n show: false\n },\n type: 'category',\n boundaryGap: false,\n data: this.getDataMonths(data),\n inverse: 'true',\n padding: [0, 30, 0, 0]\n },\n yAxis: {\n type: 'value',\n axisLabel: {\n formatter: this.formatYAxisLabel,\n fontSize: 16,\n fontFamily: 'Roboto Light',\n color: '#999999',\n padding: [0, 15, 5, 0],\n },\n axisLine: {\n show: false\n },\n axisTick: {\n show: false\n },\n },\n series: this.getChartSeries(data)\n };\n }\n\n\n formatTooltip(params, ticket, callback) {\n let res = params[0].name;\n for (let i = 0, l = params.length; i < l; i++) {\n res += '
' + params[i].marker + params[i].seriesName + ': ' + params[i].value.toLocaleString('de-DE');\n }\n return res;\n }\n\n\n formatYAxisLabel(value) {\n return value.toLocaleString('de-DE');\n }\n\n getChartSeries(data) {\n if (data.length === 0) {\n return [\n {\n name: 'Transaktionen',\n type: 'line',\n data: [0],\n },\n // {\n // name: 'Bonwert',\n // type: 'line',\n // data: [0],\n // },\n {\n name: 'Neukunden',\n type: 'line',\n data: [0],\n },\n {\n name: 'Aktive Konten',\n type: 'line',\n data: [0],\n }\n ];\n }\n\n const transactions = [];\n // const receipts = [];\n const newCustomers = [];\n const activeAccounts = [];\n\n for (const point of data) {\n transactions.push(point.transactions);\n // receipts.push(point.average_receipt_value);\n newCustomers.push(point.new_customers);\n activeAccounts.push(point.active_accounts);\n }\n\n return [\n {\n name: 'Transaktionen',\n type: 'line',\n data: transactions,\n },\n // {\n // name: 'Bonwert',\n // type: 'line',\n // data: receipts,\n // },\n {\n name: 'Neukunden',\n type: 'line',\n data: newCustomers,\n },\n {\n name: 'Aktive Konten',\n type: 'line',\n data: activeAccounts,\n }\n ];\n }\n\n getDataMonths(data) {\n if (data.length === 0) {\n return ['Jan', 'Feb', 'März', 'April', 'Mai', 'Juni', 'Juli', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];\n }\n\n const months = [];\n for (const point of data) {\n months.push(formatDate(point.month, 'LLL', 'de-DE'));\n }\n return months;\n }\n\n onChartInit(ec) {\n this.echartsInstance = ec;\n }\n\n /**\n * Unsubscribe from all subscriptions.\n */\n ngOnDestroy() {\n this.ngUnsubscribe$.next();\n this.ngUnsubscribe$.complete();\n }\n}\n","
\n
\n
Not allowed ...
\n
\n
\n
\n \n

Freipunkte

\n
\n

Hier sehen Sie den aktuellen PAYBACK Punktestand Ihrer Apotheke:

\n
\n
\n \"Payback\n
\n
\n \n
\n

Aktuell noch verfügbare Freipunkte:

\n

{{(currentPoints?.remainingPoints ? currentPoints?.remainingPoints\n : 0) | number}}

\n

\n Stand: {{currentPoints?.dataFrom | date:'dd.MM.yyyy, hh:mm'}} Uhr

\n

Ihre Punkte im Detail:

\n
\n
\n
{{(currentPoints?.monthlyPoints ? currentPoints?.monthlyPoints\n : 0) | number}}
\n
Vertraglich vereinbarte Freipunkte
\n
\n
\n
\n
{{(currentPoints?.lastMonthPoints ? currentPoints?.lastMonthPoints\n : 0) | number}}
\n
übertragene Punkte aus Vormonat
\n
\n
\n
\n
{{(currentPoints?.currentPoints ? currentPoints?.currentPoints\n : 0) | number}}
\n
bereits vergebene Punkte
\n
\n
\n
\n
\n
\n
\n

Ihr Punktestand wird derzeit berechnet! Bitte schauen Sie doch in den nächsten Tagen nochmals\n vorbei.

\n \"Payback\n
\n
\n
\n \n

Punktestand

\n
\n

Hier sehen Sie den aktuellen PAYBACK Punktestand Ihrer Apotheke:

\n
\n
\n \"Payback\n
\n
\n \n
\n

Aktuell vergebene PAYBACK Punkte:

\n

{{(currentPoints?.currentPoints ? currentPoints?.currentPoints\n : 0) | number}}

\n

\n Stand: {{currentPoints?.dataFrom | date:'dd.MM.yyyy, hh:mm'}} Uhr

\n
\n
\n
\n
\n
\n

Ihr Punktestand wird derzeit berechnet! Bitte schauen Sie doch in den nächsten Tagen nochmals\n vorbei.

\n \"Payback\n
\n
\n
\n
\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {takeUntil} from 'rxjs/operators';\nimport {Subject} from 'rxjs';\nimport {UserRestService} from '../../../core/services/api/user.rest-service';\nimport {UserService} from \"../../../core/services/user.service\";\n\n@Component({\n selector: 'app-payback-points',\n templateUrl: './payback-points.component.html',\n styleUrls: ['./payback-points.component.scss']\n})\nexport class PaybackPointsComponent implements OnInit {\n public currentPoints;\n public loading: boolean;\n public month: number;\n public error;\n public dateForPreviousMonthOfCurrentImport: Date;\n public dateForCurrentImport: Date;\n public ngUnsubscribe$ = new Subject();\n public isLinda = false;\n public paybackType;\n public currentIdf: any = null;\n\n constructor(@Inject(UserRestService) private userRestService: UserRestService,\n private userService: UserService,\n @Inject('CDN') public CDN) { }\n\n ngOnInit(): void {\n this.userService.selectedIdf$.subscribe(selectedIdf => {\n if(this.isAllowed(selectedIdf.paybackType)) {\n this.getPaybackType(selectedIdf);\n this.loadPoints(selectedIdf.idf);\n }\n this.currentIdf = selectedIdf;\n });\n }\n\n isAllowed(type) {\n return ['N', 'K'].indexOf(type) < 0;\n }\n\n loadPoints(idf) {\n this.loading = true;\n this.error = null;\n this.userRestService.getPaybackCurrentPoints(idf).pipe(takeUntil(this.ngUnsubscribe$))\n .subscribe(res => {\n if (res.returnObject) {\n this.currentPoints = res.returnObject;\n this.dateForCurrentImport = new Date(this.currentPoints.dataFrom);\n\n } else {\n this.error = 'Ihr Punktestand wird derzeit berechnet!\\n' +\n '\\n' +\n 'Bitte schauen Sie doch in den nächsten Tagen nochmals vorbei.';\n }\n this.loading = false;\n },\n\n error => {\n this.error = error.message;\n this.loading = false;\n });\n }\n\n getPaybackType(idf) {\n this.paybackType = idf.paybackType;\n if (this.paybackType === 'J') {\n this.isLinda = true;\n }\n this.loading = false;\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {VideoDialogComponent} from \"../../public/video-dialog/video-dialog.component\";\nimport {MatDialog} from '@angular/material/dialog';\n\n@Component({\n selector: 'app-payback-lernwelt',\n templateUrl: './payback-lernwelt.component.html',\n styleUrls: ['./payback-lernwelt.component.scss']\n})\nexport class PaybackLernweltComponent implements OnInit {\n\n constructor(\n public dialog: MatDialog,\n ) { }\n\n ngOnInit(): void {\n }\n\n openDialog(typ): void {\n const dialogRef = this.dialog.open(VideoDialogComponent, {\n data: {type: typ},\n });\n }\n}\n","
\n
\n \n

Lernwelt

\n\n

Sie haben Interesse Ihr PAYBACK Basiswissen aufzufrischen oder sind ganz neu mit dabei? Dann freuen Sie sich auf\n Inhalte rund um das PAYBACK Programm, welche wir Ihnen in der Lernwelt zur Verfügung stellen.

\n

Bitte beachten Sie, dass die Videos nur für den internen Gebrauch innerhalb des Apothekenteams gedacht sind.

\n\n
\n
\n
\n \n \"Was\n
\n
\n
\n \n
\n \n \n \n
\n \n
\n
\n
\n
\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {RouterModule} from '@angular/router';\nimport {PaybackComponent} from './payback.component';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatInputModule} from '@angular/material/input';\nimport {PaybackKpiComponent} from './payback-kpi/payback-kpi.component';\nimport {PaybackPointsComponent} from './payback-points/payback-points.component';\nimport {FormsModule} from '@angular/forms';\nimport {SpinnerModule} from '../shared/spinner/spinner.module';\nimport {NgxEchartsModule} from 'ngx-echarts';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport { PaybackLernweltComponent } from './payback-lernwelt/payback-lernwelt.component';\n\nexport const routes = [\n {\n path: '',\n children: [\n {path: '', component: PaybackComponent, pathMatch: 'full'},\n {\n path: 'kpi', component: PaybackKpiComponent,\n },\n {\n path: 'points', component: PaybackPointsComponent,\n },\n {\n path: 'lernwelt', component: PaybackLernweltComponent,\n }\n ]\n }\n];\n\n@NgModule({\n imports: [\n CommonModule,\n RouterModule.forChild(routes),\n MatFormFieldModule,\n MatSelectModule,\n MatInputModule,\n FormsModule,\n SpinnerModule,\n NgxEchartsModule,\n MatTooltipModule\n ],\n declarations: [\n PaybackComponent,\n PaybackKpiComponent,\n PaybackPointsComponent,\n PaybackLernweltComponent\n ],\n entryComponents: [],\n providers: []\n})\nexport class PaybackModule {\n static routes = routes;\n}\n"]}