finished ##172
This commit is contained in:
		
							parent
							
								
									5d8befdaec
								
							
						
					
					
						commit
						e0697b2a6d
					
				| 
						 | 
					@ -0,0 +1,125 @@
 | 
				
			||||||
 | 
					<template>
 | 
				
			||||||
 | 
					  <v-content>
 | 
				
			||||||
 | 
					    <v-container>
 | 
				
			||||||
 | 
					      <v-card>
 | 
				
			||||||
 | 
					        <v-card-title>
 | 
				
			||||||
 | 
					          Preisliste
 | 
				
			||||||
 | 
					          <v-spacer />
 | 
				
			||||||
 | 
					          <v-text-field
 | 
				
			||||||
 | 
					            v-model="search"
 | 
				
			||||||
 | 
					            label="Suche Getränk"
 | 
				
			||||||
 | 
					            single-line
 | 
				
			||||||
 | 
					            hide-details
 | 
				
			||||||
 | 
					          >
 | 
				
			||||||
 | 
					            <template v-slot:append>
 | 
				
			||||||
 | 
					              <v-icon>{{searchIcon}}</v-icon>
 | 
				
			||||||
 | 
					            </template>
 | 
				
			||||||
 | 
					          </v-text-field>
 | 
				
			||||||
 | 
					        </v-card-title>
 | 
				
			||||||
 | 
					        <v-data-table :headers="headers" :items="priceList" :search="search">
 | 
				
			||||||
 | 
					          <template v-slot:item.price="{ item }">
 | 
				
			||||||
 | 
					            {{ item.price ? (item.price / 100).toFixed(2) : '' }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.price_big="{ item }">
 | 
				
			||||||
 | 
					            {{ item.price_big ? (item.price_big / 100).toFixed(2) : '' }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.price_club="{ item }">
 | 
				
			||||||
 | 
					            {{
 | 
				
			||||||
 | 
					              item.name.toLowerCase() == 'long island ice tea'.toLowerCase()
 | 
				
			||||||
 | 
					                ? 'Ein Klubmitglied bestellt keinen Long Island Icetea'
 | 
				
			||||||
 | 
					                : item.price_club
 | 
				
			||||||
 | 
					                ? (item.price_club / 100).toFixed(2)
 | 
				
			||||||
 | 
					                : ''
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.price_club_big="{ item }">
 | 
				
			||||||
 | 
					            {{
 | 
				
			||||||
 | 
					              item.price_club_big ? (item.price_club_big / 100).toFixed(2) : ''
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.premium="{ item }">
 | 
				
			||||||
 | 
					            {{ item.premium ? (item.premium / 100).toFixed(2) : '' }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.premium_club="{ item }">
 | 
				
			||||||
 | 
					            {{ item.premium_club ? (item.premium_club / 100).toFixed(2) : '' }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					          <template v-slot:item.price_extern_club="{ item }">
 | 
				
			||||||
 | 
					            {{
 | 
				
			||||||
 | 
					              item.price_extern_club
 | 
				
			||||||
 | 
					                ? (item.price_extern_club / 100).toFixed(2)
 | 
				
			||||||
 | 
					                : ''
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					          </template>
 | 
				
			||||||
 | 
					        </v-data-table>
 | 
				
			||||||
 | 
					      </v-card>
 | 
				
			||||||
 | 
					    </v-container>
 | 
				
			||||||
 | 
					  </v-content>
 | 
				
			||||||
 | 
					</template>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<script>
 | 
				
			||||||
 | 
					import { mapGetters, mapActions } from 'vuex'
 | 
				
			||||||
 | 
					import { mdiMagnify } from '@mdi/js'
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  name: 'PriceList',
 | 
				
			||||||
 | 
					  data() {
 | 
				
			||||||
 | 
					    return {
 | 
				
			||||||
 | 
					      searchIcon: mdiMagnify,
 | 
				
			||||||
 | 
					      search: null,
 | 
				
			||||||
 | 
					      headers: [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Name',
 | 
				
			||||||
 | 
					          value: 'name'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Kategorie',
 | 
				
			||||||
 | 
					          value: 'type'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Preis in €',
 | 
				
			||||||
 | 
					          value: 'price'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Preis groß in €',
 | 
				
			||||||
 | 
					          value: 'price_big'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Preis Club in €',
 | 
				
			||||||
 | 
					          value: 'price_club'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Preis groß Club in €',
 | 
				
			||||||
 | 
					          value: 'price_club_big'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Aufpreis in €',
 | 
				
			||||||
 | 
					          value: 'premium'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Aufpreis Club in €',
 | 
				
			||||||
 | 
					          value: 'premium_club'
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          text: 'Preis Club extern in €',
 | 
				
			||||||
 | 
					          value: 'price_extern_club'
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ],
 | 
				
			||||||
 | 
					      items: []
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  methods: {
 | 
				
			||||||
 | 
					    ...mapActions({
 | 
				
			||||||
 | 
					      getPriceList: 'priceList/getPriceList'
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  computed: {
 | 
				
			||||||
 | 
					    ...mapGetters({
 | 
				
			||||||
 | 
					      priceList: 'priceList/priceList'
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  created() {
 | 
				
			||||||
 | 
					    this.getPriceList()
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<style scoped></style>
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@ const main = 'http://localhost:5000/'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const url = {
 | 
					const url = {
 | 
				
			||||||
  login: main + 'login',
 | 
					  login: main + 'login',
 | 
				
			||||||
 | 
					  pricelist: main + 'pricelist',
 | 
				
			||||||
  getFinanzerMain: main + 'getFinanzerMain',
 | 
					  getFinanzerMain: main + 'getFinanzerMain',
 | 
				
			||||||
  bar: main + 'bar',
 | 
					  bar: main + 'bar',
 | 
				
			||||||
  barGetUser: main + 'barGetUser',
 | 
					  barGetUser: main + 'barGetUser',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,10 +18,16 @@ import ServiceManagement from '../components/vorstand/ServiceManagement'
 | 
				
			||||||
import Config from '@/components/user/Config'
 | 
					import Config from '@/components/user/Config'
 | 
				
			||||||
import Jobs from '@/components/user/Jobs'
 | 
					import Jobs from '@/components/user/Jobs'
 | 
				
			||||||
import JobRequests from '@/components/user/JobRequests'
 | 
					import JobRequests from '@/components/user/JobRequests'
 | 
				
			||||||
 | 
					import PriceList from "@/components/pricelist/PriceList";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Vue.use(VueRouter)
 | 
					Vue.use(VueRouter)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const routes = [
 | 
					const routes = [
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    path: '/pricelist',
 | 
				
			||||||
 | 
					    name: 'priceListNoLogin',
 | 
				
			||||||
 | 
					    component: PriceList
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    path: '/login',
 | 
					    path: '/login',
 | 
				
			||||||
    name: 'login',
 | 
					    name: 'login',
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,7 @@ import user from '@/store/modules/user'
 | 
				
			||||||
import sm from '@/store/modules/serviceManagement'
 | 
					import sm from '@/store/modules/serviceManagement'
 | 
				
			||||||
import jobs from '@/store/modules/jobs'
 | 
					import jobs from '@/store/modules/jobs'
 | 
				
			||||||
import requestJobs from '@/store/modules/jobRequests'
 | 
					import requestJobs from '@/store/modules/jobRequests'
 | 
				
			||||||
 | 
					import priceList from '@/store/modules/pricelist'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Vue.use(Vuex)
 | 
					Vue.use(Vuex)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +19,7 @@ export default new Vuex.Store({
 | 
				
			||||||
    user,
 | 
					    user,
 | 
				
			||||||
    sm,
 | 
					    sm,
 | 
				
			||||||
    jobs,
 | 
					    jobs,
 | 
				
			||||||
    requestJobs
 | 
					    requestJobs,
 | 
				
			||||||
 | 
					    priceList
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					import url from '@/plugins/routes'
 | 
				
			||||||
 | 
					import axios from 'axios'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const state = {
 | 
				
			||||||
 | 
					  priceList: []
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const mutations = {
 | 
				
			||||||
 | 
					  setPriceList: (state, priceList) => {
 | 
				
			||||||
 | 
					    state.priceList = priceList
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const actions = {
 | 
				
			||||||
 | 
					  async getPriceList({ commit }) {
 | 
				
			||||||
 | 
					    try {
 | 
				
			||||||
 | 
					      const response = await axios.get(url.pricelist)
 | 
				
			||||||
 | 
					      commit('setPriceList', response.data)
 | 
				
			||||||
 | 
					    } catch (e) {
 | 
				
			||||||
 | 
					      console.log(e)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const getters = {
 | 
				
			||||||
 | 
					  priceList: state => {
 | 
				
			||||||
 | 
					    return state.priceList
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default {
 | 
				
			||||||
 | 
					  namespaced: true,
 | 
				
			||||||
 | 
					  state,
 | 
				
			||||||
 | 
					  mutations,
 | 
				
			||||||
 | 
					  actions,
 | 
				
			||||||
 | 
					  getters
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue