From b724f83e84c12e99733736489ec5ebf014292ea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Gr=C3=B6ger?= Date: Sat, 18 Jan 2020 12:49:49 +0100 Subject: [PATCH] added serviceManagement --- .../finanzer/FinanzerNavigation.vue | 8 + src/components/vorstand/ServiceManagement.vue | 92 ++++++++ .../ServiceManagementComponents/Day.vue | 58 +++++ src/plugins/routes.js | 3 +- src/router/index.js | 5 + src/store/index.js | 4 +- src/store/modules/serviceManagement.js | 219 ++++++++++++++++++ src/views/FinanzerView.vue | 54 ----- src/views/Home.vue | 17 -- 9 files changed, 387 insertions(+), 73 deletions(-) create mode 100644 src/components/vorstand/ServiceManagement.vue create mode 100644 src/components/vorstand/ServiceManagementComponents/Day.vue create mode 100644 src/store/modules/serviceManagement.js delete mode 100644 src/views/Home.vue diff --git a/src/components/finanzer/FinanzerNavigation.vue b/src/components/finanzer/FinanzerNavigation.vue index 065e4f1..07ff246 100644 --- a/src/components/finanzer/FinanzerNavigation.vue +++ b/src/components/finanzer/FinanzerNavigation.vue @@ -11,6 +11,14 @@ Gesamtübersicht + + + work + + + Dienstverwaltung + + diff --git a/src/components/vorstand/ServiceManagement.vue b/src/components/vorstand/ServiceManagement.vue new file mode 100644 index 0000000..8586493 --- /dev/null +++ b/src/components/vorstand/ServiceManagement.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/src/components/vorstand/ServiceManagementComponents/Day.vue b/src/components/vorstand/ServiceManagementComponents/Day.vue new file mode 100644 index 0000000..84c4266 --- /dev/null +++ b/src/components/vorstand/ServiceManagementComponents/Day.vue @@ -0,0 +1,58 @@ + + + + + diff --git a/src/plugins/routes.js b/src/plugins/routes.js index 3861d98..3fca019 100644 --- a/src/plugins/routes.js +++ b/src/plugins/routes.js @@ -1,5 +1,6 @@ -//const main = 'http://192.168.5.118:5000/' +//const main = 'https://192.168.5.128:5000/' const main = 'https://localhost:5000/' +//const main = 'https://groeger-clan.duckdns.org:5000/' const url = { login: main + 'login', diff --git a/src/router/index.js b/src/router/index.js index a816fab..8d6f02b 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -14,6 +14,7 @@ import BarNavigation from '../components/baruser/BarNavigation' import FinanzerNavigation from '../components/finanzer/FinanzerNavigation' import Overview from '../components/finanzer/Overview' import User from '../components/finanzer/User' +import ServiceManagement from '../components/vorstand/ServiceManagement' Vue.use(VueRouter) @@ -71,6 +72,10 @@ const routes = [ name: 'activeUser', props: true, component: User + }, + { + path: 'servicemanagement', + component: ServiceManagement } ] } diff --git a/src/store/index.js b/src/store/index.js index 8687346..412ceef 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -4,6 +4,7 @@ import login from './modules/login' import finanzerUsers from './modules/finanzerUsers' import barUsers from '@/store/modules/barUsers' import user from '@/store/modules/user' +import sm from '@/store/modules/serviceManagement' Vue.use(Vuex) @@ -12,6 +13,7 @@ export default new Vuex.Store({ login, finanzerUsers, barUsers, - user + user, + sm } }) diff --git a/src/store/modules/serviceManagement.js b/src/store/modules/serviceManagement.js new file mode 100644 index 0000000..7702697 --- /dev/null +++ b/src/store/modules/serviceManagement.js @@ -0,0 +1,219 @@ +import axios from 'axios' +import url from '@/plugins/routes' + +const state = { + month: [], + allUsers: [] +} + +const mutations = { + setAllUsers: (state, users) => { + state.allUsers = [] + state.allUsers = users + for (let i = 0; i < state.allUsers.length; i++) { + state.allUsers[i].fullName = + state.allUsers[i].firstname + ' ' + state.allUsers[i].lastname + } + }, + createMonth: (state, date) => { + let month = [] + let id = 0 + const year = date.getFullYear() + const mon = date.getMonth() + let a = new Date(year, mon, 0, 13, 1) + console.log('createMonth', a) + let days = a.getDate() + let startDate = 1 + for (let intDay = 1; intDay <= days; intDay++) { + if (new Date(year, mon, intDay).getDay() === 3) { + startDate = intDay + break + } + } + let week = { id: id, days: {} } + for (let intDay = startDate; intDay <= days; intDay++) { + let currentDate = new Date(year, mon, intDay, 13, 1) + console.log('currentDate', currentDate) + + switch (currentDate.getDay()) { + case 1: + if (week.days.monday) { + week.startDate = week.days.monday.date + } else if (week.days.tuesday) { + week.startDate = week.days.tuesday.date + } else if (week.days.wednesday) { + week.startDate = week.days.wednesday.date + } else if (week.days.thursday) { + week.startDate = week.days.thursday.date + } else if (week.days.friday) { + week.startDate = week.days.friday.date + } else if (week.days.satturday) { + week.startDate = week.days.satturday.date + } else if (week.days.sunday) { + week.startDate = week.days.sunday.date + } + + if (week.days.sunday) { + week.endDate = week.days.sunday.date + } else if (week.days.satturday) { + week.endDate = week.days.satturday.date + } else if (week.days.friday) { + week.endDate = week.days.friday.date + } else if (week.days.thursday) { + week.endDate = week.days.thursday.date + } else if (week.days.wednesday) { + week.endDate = week.days.wednesday.date + } else if (week.days.tuesday) { + week.endDate = week.days.tuesday.date + } else if (week.days.monday) { + week.endDate = week.days.monday.date + } + + month.push(week) + id++ + week = { id: id, days: {} } + week.days.monday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Montag', + worker: [] + } + break + case 2: + week.days.tuesday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Dienstag', + worker: [] + } + break + case 3: + week.days.wednesday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Mittwoch', + worker: [] + } + break + case 4: + week.days.thursday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Donnerstag', + worker: [] + } + break + case 5: + week.days.friday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Freitag', + worker: [] + } + break + case 6: + week.days.satturday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Samstag', + worker: [] + } + break + case 0: + week.days.sunday = { + id: currentDate.getDay(), + date: currentDate, + name: 'Sontag', + worker: [] + } + break + } + } + if (week.days.monday) { + week.startDate = week.days.monday.date + } else if (week.days.tuesday) { + week.startDate = week.days.tuesday.date + } else if (week.days.wednesday) { + week.startDate = week.days.wednesday.date + } else if (week.days.thursday) { + week.startDate = week.days.thursday.date + } else if (week.days.friday) { + week.startDate = week.days.friday.date + } else if (week.days.satturday) { + week.startDate = week.days.satturday.date + } else if (week.days.sunday) { + week.startDate = week.days.sunday.date + } + + if (week.days.sunday) { + week.endDate = week.days.sunday.date + } else if (week.days.satturday) { + week.endDate = week.days.satturday.date + } else if (week.days.friday) { + week.endDate = week.days.friday.date + } else if (week.days.thursday) { + week.endDate = week.days.thursday.date + } else if (week.days.wednesday) { + week.endDate = week.days.wednesday.date + } else if (week.days.tuesday) { + week.endDate = week.days.tuesday.date + } else if (week.days.monday) { + week.endDate = week.days.monday.date + } + month.push(week) + state.month = month + console.log(state.month) + }, + setWorker: (state, data) => { + console.log('hier ist die mutation', data) + for (let week in state.month) { + console.log('week', week) + for (let day in state.month[week].days) { + console.log(state.month[week].days[day], data.day) + if (state.month[week].days[day].date - data.day.date === 0) { + state.month[week].days[day].worker.push(data.worker) + console.log('sm', state.month) + return + } + } + } + } +} +const actions = { + createMonth({ commit }, date) { + commit('createMonth', date) + }, + async getAllUsers({ commit, rootState, dispatch }) { + try { + const response = await axios.post( + url.searchUser, + { searchString: '' }, + { headers: { Token: rootState.login.user.accessToken } } + ) + commit('setAllUsers', response.data) + } catch (e) { + if (e.response) + if (e.response.data === 401) dispatch('logout', null, { root: true }) + } + }, + setWorker({ commit }, data) { + console.log('hier bin ich', data) + commit('setWorker', data) + } +} +const getters = { + month: state => { + return state.month + }, + allUsers: state => { + return state.allUsers + } +} + +export default { + namespaced: true, + state, + mutations, + actions, + getters +} diff --git a/src/views/FinanzerView.vue b/src/views/FinanzerView.vue index 2341ee9..9d27a1c 100644 --- a/src/views/FinanzerView.vue +++ b/src/views/FinanzerView.vue @@ -1,52 +1,10 @@ diff --git a/src/views/Home.vue b/src/views/Home.vue deleted file mode 100644 index d076a9f..0000000 --- a/src/views/Home.vue +++ /dev/null @@ -1,17 +0,0 @@ - - -