167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
| <template>
 | |
|     <page-layout>
 | |
|         <div class="flex" slot="toolbar">
 | |
|             <toolbar-button :href="meta.links.index" color="primary" icon="undo">zurück</toolbar-button>
 | |
|             <toolbar-button :href="data.links.edit" color="warning" icon="pencil">bearbeiten</toolbar-button>
 | |
|         </div>
 | |
|         <div class="p-3 grid gap-3 this-grid grow">
 | |
|             <box heading="Stammdaten" class="area-stamm hidden xl:block">
 | |
|                 <stamm :inner="inner"></stamm>
 | |
|             </box>
 | |
|             <box heading="Kontakt" class="area-kontakt hidden xl:block">
 | |
|                 <kontakt :inner="inner"></kontakt>
 | |
|             </box>
 | |
|             <box class="area-stammkontakt block xl:hidden">
 | |
|                 <tabs v-model="tabs.stammkontakt">
 | |
|                     <stamm v-show="tabs.stammkontakt.active === 'stamm'" :inner="inner"></stamm>
 | |
|                     <kontakt v-show="tabs.stammkontakt.active === 'kontakt'" :inner="inner"></kontakt>
 | |
|                 </tabs>
 | |
|             </box>
 | |
| 
 | |
|             <box container-class="" heading="Prävention" class="area-praev hidden xl:block">
 | |
|                 <prae :inner="inner"></prae>
 | |
|             </box>
 | |
|             <box heading="System" class="area-system hidden xl:block">
 | |
|                 <system :inner="inner"></system>
 | |
|             </box>
 | |
|             <box class="area-praesystem block xl:hidden">
 | |
|                 <tabs v-model="tabs.praesystem">
 | |
|                     <prae v-show="tabs.praesystem.active === 'prae'" :inner="inner"></prae>
 | |
|                     <system v-show="tabs.praesystem.active === 'system'" :inner="inner"></system>
 | |
|                 </tabs>
 | |
|             </box>
 | |
| 
 | |
|             <box class="area-membershipcourse hidden xl:block">
 | |
|                 <tabs v-model="tabs.membershipcourse">
 | |
|                     <courses v-show="tabs.membershipcourse.active === 'course'" :value="inner.courses"></courses>
 | |
|                     <memberships v-show="tabs.membershipcourse.active === 'membership'" :value="inner.memberships"></memberships>
 | |
|                 </tabs>
 | |
|             </box>
 | |
|             <box heading="Ausbildungen" class="area-courses xl:hidden">
 | |
|                 <courses :value="inner.courses"></courses>
 | |
|             </box>
 | |
|             <box heading="Mitgliedschaften" class="area-memberships xl:hidden">
 | |
|                 <memberships :value="inner.memberships"></memberships>
 | |
|             </box>
 | |
| 
 | |
|             <box heading="Zahlungen" class="area-payments">
 | |
|                 <payments :value="inner.payments"></payments>
 | |
|             </box>
 | |
| 
 | |
|             <box heading="Karte" container-class="grow" class="area-map hidden xl:block">
 | |
|                 <vmap :inner="inner"></vmap>
 | |
|             </box>
 | |
|         </div>
 | |
|     </page-layout>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| export default {
 | |
|     data: function () {
 | |
|         return {
 | |
|             inner: {},
 | |
|             tabs: {
 | |
|                 stammkontakt: {
 | |
|                     children: {
 | |
|                         stamm: 'Stammdaten',
 | |
|                         kontakt: 'Kontakt',
 | |
|                     },
 | |
|                     active: 'stamm',
 | |
|                 },
 | |
|                 praesystem: {
 | |
|                     children: {
 | |
|                         system: 'System',
 | |
|                         prae: 'Prävention',
 | |
|                     },
 | |
|                     active: 'system',
 | |
|                 },
 | |
|                 membershipcourse: {
 | |
|                     children: {
 | |
|                         membership: 'Mitgliedshaften',
 | |
|                         course: 'Ausbildungen',
 | |
|                     },
 | |
|                     active: 'membership',
 | |
|                 },
 | |
|             },
 | |
|         };
 | |
|     },
 | |
| 
 | |
|     methods: {},
 | |
| 
 | |
|     props: {
 | |
|         data: {},
 | |
|         meta: {},
 | |
|     },
 | |
| 
 | |
|     components: {
 | |
|         stamm: () => import(/* webpackChunkName: "member" */ './boxes/Stamm'),
 | |
|         kontakt: () => import(/* webpackChunkName: "member" */ './boxes/Kontakt'),
 | |
|         prae: () => import(/* webpackChunkName: "member" */ './boxes/Prae'),
 | |
|         courses: () => import(/* webpackChunkName: "member" */ './boxes/Courses'),
 | |
|         system: () => import(/* webpackChunkName: "member" */ './boxes/System'),
 | |
|         payments: () => import(/* webpackChunkName: "member" */ './boxes/Payments'),
 | |
|         memberships: () => import(/* webpackChunkName: "member" */ './boxes/Memberships'),
 | |
|         vmap: () => import(/* webpackChunkName: "member" */ './boxes/Vmap'),
 | |
|         tabs: () => import(/* webpackChunkName: "member" */ './Tabs'),
 | |
|     },
 | |
| 
 | |
|     created() {
 | |
|         this.inner = this.data;
 | |
|     },
 | |
| };
 | |
| </script>
 | |
| 
 | |
| <style scoped>
 | |
| .this-grid {
 | |
|     grid-template-areas:
 | |
|         'stammkontakt'
 | |
|         'praesystem'
 | |
|         'courses'
 | |
|         'memberships'
 | |
|         'payments';
 | |
|     grid-template-columns: 1fr;
 | |
| }
 | |
| @media screen and (min-width: 1280px) {
 | |
|     .this-grid {
 | |
|         grid-template-areas:
 | |
|             'stamm kontakt praev system'
 | |
|             'membershipcourse membershipcourse membershipcourse membershipcourse'
 | |
|             'payments payments map map';
 | |
|         grid-template-columns: max-content max-content max-content 1fr;
 | |
|     }
 | |
| }
 | |
| .area-stamm {
 | |
|     grid-area: stamm;
 | |
| }
 | |
| .area-kontakt {
 | |
|     grid-area: kontakt;
 | |
| }
 | |
| .area-praev {
 | |
|     grid-area: praev;
 | |
| }
 | |
| .area-courses {
 | |
|     grid-area: courses;
 | |
| }
 | |
| .area-system {
 | |
|     grid-area: system;
 | |
| }
 | |
| .area-memberships {
 | |
|     grid-area: memberships;
 | |
| }
 | |
| .area-payments {
 | |
|     grid-area: payments;
 | |
| }
 | |
| .area-map {
 | |
|     grid-area: map;
 | |
| }
 | |
| .area-stammkontakt {
 | |
|     grid-area: stammkontakt;
 | |
| }
 | |
| .area-membershipcourse {
 | |
|     grid-area: membershipcourse;
 | |
| }
 | |
| .area-praesystem {
 | |
|     grid-area: praesystem;
 | |
| }
 | |
| </style>
 |