mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
add work reprt in the community skellet
This commit is contained in:
parent
8c14a07872
commit
15f43d7351
@ -4,8 +4,7 @@
|
|||||||
</header>
|
</header>
|
||||||
<div class="">
|
<div class="">
|
||||||
<particles-bg type="custom" :config="config" :bg="true" />
|
<particles-bg type="custom" :config="config" :bg="true" />
|
||||||
<router-view />
|
<router-view />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -19,17 +18,25 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
ParticlesBg
|
ParticlesBg
|
||||||
},
|
},
|
||||||
created () {
|
mounted() {
|
||||||
//console.log("this.$cookies.get('gdd_session_id') ", this.$cookies.get('gdd_session_id') )
|
console.log("mounted")
|
||||||
console.log(" $cookies.isKey('gdd_session_id') ", this.$cookies.isKey("gdd_session_id") )
|
console.log(" $cookies.get('gdd_session_id') ", $cookies.get("gdd_session_id") )
|
||||||
if ( this.$cookies.isKey('gdd_session_id') ) {
|
console.log(" $cookies.isKey('gdd_session_id') ", $cookies.isKey("gdd_session_id") )
|
||||||
|
const isSession = $cookies.isKey("gdd_session_id")
|
||||||
|
const getSession = $cookies.get("gdd_session_id")
|
||||||
|
console.log("this.isSession ", this.isSession )
|
||||||
|
|
||||||
|
if ( $cookies.isKey("gdd_session_id")) {
|
||||||
//this.$store.state.email = this.$cookies.get('gdd_u')
|
//this.$store.state.email = this.$cookies.get('gdd_u')
|
||||||
console.log("login to kontooverview")
|
console.log("router to overview")
|
||||||
this.$router.push('/KontoOverview')
|
this.$router.push("/overview")
|
||||||
}else {
|
}else {
|
||||||
console.log("login to LOGIN")
|
console.log("router to LOGIN")
|
||||||
this.$router.push("/Login")
|
//this.$router.push("/login")
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
console.log("created")
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
@ -52,7 +59,7 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.btn {
|
.btn-primary pim{
|
||||||
background-color: #5A7B02;
|
background-color: #5A7B02;
|
||||||
border-color: #5e72e4;
|
border-color: #5e72e4;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import CONFIG from '../config'
|
import CONFIG from '../config'
|
||||||
|
|
||||||
|
// axios.defaults.withCredentials = true. Dies ist erforderlich, da Axios standardmäßig keine Cookies weitergibt.
|
||||||
|
axios.defaults.withCredentials = true
|
||||||
|
|
||||||
const apiGet = async (url) => {
|
const apiGet = async (url) => {
|
||||||
try {
|
try {
|
||||||
const result = await axios.get(url);
|
const result = await axios.get(url);
|
||||||
|
|||||||
@ -7,6 +7,9 @@ const EMAIL_TYPE = {
|
|||||||
ADMIN: 5, // if user was registered by an admin
|
ADMIN: 5, // if user was registered by an admin
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// axios.defaults.withCredentials = true. Dies ist erforderlich, da Axios standardmäßig keine Cookies weitergibt.
|
||||||
|
axios.defaults.withCredentials = true
|
||||||
|
|
||||||
const apiPost = async (url, payload) => {
|
const apiPost = async (url, payload) => {
|
||||||
try {
|
try {
|
||||||
const result = await axios.post(url, payload);
|
const result = await axios.post(url, payload);
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<bread-crumb list-classes="breadcrumb-links breadcrumb-dark">
|
<bread-crumb list-classes="breadcrumb-links breadcrumb-dark">
|
||||||
<BreadCrumbItem>
|
<BreadCrumbItem>
|
||||||
<router-link to="/">
|
<router-link to="/overview">
|
||||||
<i class="fas fa-home"></i>
|
<i class="fas fa-home"></i>
|
||||||
</router-link>
|
</router-link>
|
||||||
</BreadCrumbItem>
|
</BreadCrumbItem>
|
||||||
|
|||||||
@ -6,12 +6,12 @@
|
|||||||
<navbar-toggle-button @click.native="showSidebar">
|
<navbar-toggle-button @click.native="showSidebar">
|
||||||
|
|
||||||
</navbar-toggle-button>
|
</navbar-toggle-button>
|
||||||
<router-link class="navbar-brand" to="/">
|
<router-link class="navbar-brand" to="/overview">
|
||||||
<img :src="logo" class="navbar-brand-img" alt="...">
|
<img :src="logo" class="navbar-brand-img" alt="...">
|
||||||
</router-link>
|
</router-link>
|
||||||
|
|
||||||
<slot name="mobile-right">
|
<slot name="mobile-right">
|
||||||
<ul class="nav align-items-center d-md-none">
|
<ul class="nav align-items-center d-md-none">
|
||||||
|
|
||||||
<base-dropdown class="nav-item" menu-on-right tag="li" title-tag="a">
|
<base-dropdown class="nav-item" menu-on-right tag="li" title-tag="a">
|
||||||
<a slot="title-container" class="nav-link" href="#" role="button">
|
<a slot="title-container" class="nav-link" href="#" role="button">
|
||||||
@ -22,7 +22,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<router-link to="/KontoOverview" class="dropdown-item text-lg text-muted">
|
<router-link to="/overview" class="dropdown-item text-lg text-muted">
|
||||||
<i class="ni ni-single-02"></i>
|
<i class="ni ni-single-02"></i>
|
||||||
<span>{{ $t('site.overview.account_overview')}}</span>
|
<span>{{ $t('site.overview.account_overview')}}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
@ -40,10 +40,10 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
|
|
||||||
<div class="dropdown-divider"></div>
|
<div class="dropdown-divider"></div>
|
||||||
<router-link @click="logout" class="dropdown-item text-lg text-muted">
|
<div @click="logout" class="dropdown-item text-lg text-muted" >
|
||||||
<i class="ni ni-support-16"></i>
|
<i class="ni ni-support-16"></i>
|
||||||
<span>{{ $t('logout') }}</span>
|
{{ $t('logout') }}
|
||||||
</router-link>
|
</div>
|
||||||
</base-dropdown>
|
</base-dropdown>
|
||||||
</ul>
|
</ul>
|
||||||
</slot>
|
</slot>
|
||||||
@ -53,7 +53,7 @@
|
|||||||
<div class="navbar-collapse-header d-md-none">
|
<div class="navbar-collapse-header d-md-none">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-6 collapse-brand">
|
<div class="col-6 collapse-brand">
|
||||||
<router-link to="/">
|
<router-link to="/overview">
|
||||||
<img :src="logo">
|
<img :src="logo">
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
@ -62,26 +62,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<ul class="navbar-nav">
|
<ul class="navbar-nav">
|
||||||
<slot name="links">
|
<slot name="links">
|
||||||
</slot>
|
</slot>
|
||||||
</ul>
|
</ul>
|
||||||
|
<hr class="my-3">
|
||||||
<hr class="my-3">
|
<ul class="navbar-nav mb-md-3">
|
||||||
|
|
||||||
<ul class="navbar-nav mb-md-3">
|
|
||||||
|
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
|
|
||||||
<a class="nav-link text-lg bg-light" href="#!" @click="logout">
|
<a class="nav-link text-lg bg-light" href="#!" @click="logout">
|
||||||
{{ $t('logout') }}
|
{{ $t('logout') }}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@ -96,7 +90,7 @@
|
|||||||
logo: {
|
logo: {
|
||||||
type: String,
|
type: String,
|
||||||
default: 'img/brand/green.png',
|
default: 'img/brand/green.png',
|
||||||
description: 'Sidebar app logo'
|
description: 'Gradido Sidebar app logo'
|
||||||
},
|
},
|
||||||
autoClose: {
|
autoClose: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@ -116,17 +110,9 @@
|
|||||||
showSidebar() {
|
showSidebar() {
|
||||||
this.$sidebar.displaySidebar(true)
|
this.$sidebar.displaySidebar(true)
|
||||||
},
|
},
|
||||||
setLocale(locale) {
|
logout(){
|
||||||
this.$i18n.locale = locale
|
this.$store.dispatch('logout')
|
||||||
//this.$router.push({
|
}
|
||||||
// params: { lang: locale }
|
|
||||||
//})
|
|
||||||
//this.hideDropdown()
|
|
||||||
},
|
|
||||||
logout(){
|
|
||||||
//console.log("DashboardNavbar.vue user logout() : ")
|
|
||||||
this.$store.dispatch('logout')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (this.$sidebar.showSidebar) {
|
if (this.$sidebar.showSidebar) {
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import { messages } from 'vee-validate/dist/locale/en.json';
|
|||||||
import VueQrcodeReader from "vue-qrcode-reader";
|
import VueQrcodeReader from "vue-qrcode-reader";
|
||||||
import VueQrcode from "vue-qrcode";
|
import VueQrcode from "vue-qrcode";
|
||||||
|
|
||||||
|
import VueFlatPickr from 'vue-flatpickr-component';
|
||||||
|
|
||||||
import VueGoodTablePlugin from 'vue-good-table';
|
import VueGoodTablePlugin from 'vue-good-table';
|
||||||
// import the styles
|
// import the styles
|
||||||
@ -54,6 +55,7 @@ export default {
|
|||||||
Vue.use(VueMoment);
|
Vue.use(VueMoment);
|
||||||
Vue.use(VueQrcodeReader);
|
Vue.use(VueQrcodeReader);
|
||||||
Vue.use(VueQrcode);
|
Vue.use(VueQrcode);
|
||||||
|
Vue.use(VueFlatPickr);
|
||||||
configure({
|
configure({
|
||||||
classes: {
|
classes: {
|
||||||
valid: 'is-valid',
|
valid: 'is-valid',
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import DashboardLayout from '@/views/Layout/DashboardLayout.vue'
|
|||||||
import AuthLayoutGDD from '@/views/Layout/AuthLayout_gdd.vue'
|
import AuthLayoutGDD from '@/views/Layout/AuthLayout_gdd.vue'
|
||||||
import AuthLayout from '@/views/Layout/AuthLayout.vue'
|
import AuthLayout from '@/views/Layout/AuthLayout.vue'
|
||||||
|
|
||||||
import NotFound from '@/views/NotFoundPage.vue'
|
// import NotFound from '@/views/NotFoundPage.vue'
|
||||||
|
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
@ -31,11 +31,11 @@ const routes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/',
|
path: '/',
|
||||||
redirect: 'KontoOverview',
|
redirect: 'overview',
|
||||||
component: DashboardLayout,
|
component: DashboardLayout,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/KontoOverview',
|
path: '/overview',
|
||||||
component: () => import('../views/KontoOverview.vue'),
|
component: () => import('../views/KontoOverview.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
requiresAuth: true
|
requiresAuth: true
|
||||||
@ -70,15 +70,6 @@ const routes = [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
path: '/',
|
|
||||||
redirect: 'login',
|
|
||||||
component: AuthLayout,
|
|
||||||
children: [
|
|
||||||
|
|
||||||
{ path: '*', component: NotFound }
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@ -6,6 +6,8 @@ import loginAPI from '../apis/loginAPI'
|
|||||||
import communityAPI from '../apis/communityAPI'
|
import communityAPI from '../apis/communityAPI'
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
|
// axios.defaults.withCredentials = true. Dies ist erforderlich, da Axios standardmäßig keine Cookies weitergibt.
|
||||||
|
axios.defaults.withCredentials = true
|
||||||
|
|
||||||
export const store = new Vuex.Store({
|
export const store = new Vuex.Store({
|
||||||
state: {
|
state: {
|
||||||
@ -68,7 +70,7 @@ export const store = new Vuex.Store({
|
|||||||
commit('email', data.email)
|
commit('email', data.email)
|
||||||
$cookies.set('gdd_session_id', result.result.data.session_id);
|
$cookies.set('gdd_session_id', result.result.data.session_id);
|
||||||
$cookies.set('gdd_u', data.email);
|
$cookies.set('gdd_u', data.email);
|
||||||
router.push('/KontoOverview')
|
router.push('/overview')
|
||||||
} else {
|
} else {
|
||||||
// Register failed, we perform a logout
|
// Register failed, we perform a logout
|
||||||
dispatch('logout')
|
dispatch('logout')
|
||||||
@ -88,7 +90,7 @@ export const store = new Vuex.Store({
|
|||||||
commit('email', data.email)
|
commit('email', data.email)
|
||||||
$cookies.set('gdd_session_id', result.result.data.session_id);
|
$cookies.set('gdd_session_id', result.result.data.session_id);
|
||||||
$cookies.set('gdd_u', data.email);
|
$cookies.set('gdd_u', data.email);
|
||||||
router.push('/KontoOverview')
|
router.push('/overview')
|
||||||
} else {
|
} else {
|
||||||
// Register failed, we perform a logout
|
// Register failed, we perform a logout
|
||||||
dispatch('logout')
|
dispatch('logout')
|
||||||
|
|||||||
@ -226,6 +226,8 @@
|
|||||||
import AdminUserCreation from './AdminOverview/AdminUserCreation';
|
import AdminUserCreation from './AdminOverview/AdminUserCreation';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
|
// axios.defaults.withCredentials = true. Dies ist erforderlich, da Axios standardmäßig keine Cookies weitergibt.
|
||||||
|
axios.defaults.withCredentials = true
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
|||||||
@ -6,37 +6,41 @@
|
|||||||
<gdd-sent />
|
<gdd-sent />
|
||||||
<hr>
|
<hr>
|
||||||
<gdd-table />
|
<gdd-table />
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<div>
|
<div>
|
||||||
<gdd-add-work />
|
<gdd-add-work-2 />
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
<!--
|
||||||
<!--
|
<div>
|
||||||
|
<gdd-add-work />
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
-->
|
||||||
<div>
|
<div>
|
||||||
<gdd-work-table />
|
<gdd-work-table />
|
||||||
</div>
|
</div>
|
||||||
-->
|
|
||||||
</base-header>
|
</base-header>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import GddStatus from './KontoOverview/GddStatus.vue';
|
import GddStatus from './KontoOverview/GddStatus.vue';
|
||||||
import GddSent from './KontoOverview/GddSent.vue';
|
import GddSent from './KontoOverview/GddSent.vue';
|
||||||
import GddTable from './KontoOverview/GddTable.vue';
|
import GddTable from './KontoOverview/GddTable.vue';
|
||||||
import GddAddWork from './KontoOverview/GddAddWork.vue';
|
//import GddAddWork from './KontoOverview/GddAddWork.vue';
|
||||||
// import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
import GddAddWork2 from './KontoOverview/GddAddWork2.vue';
|
||||||
|
import GddWorkTable from './KontoOverview/GddWorkTable.vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "Overview",
|
name: "Overview",
|
||||||
components: {
|
components: {
|
||||||
GddStatus,
|
GddStatus,
|
||||||
GddSent,
|
GddSent,
|
||||||
GddTable,
|
GddTable,
|
||||||
GddAddWork
|
//GddAddWork,
|
||||||
//GddWorkTable
|
GddAddWork2,
|
||||||
|
GddWorkTable
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.$store.dispatch('accountBalance')
|
this.$store.dispatch('accountBalance')
|
||||||
|
|||||||
@ -70,6 +70,15 @@
|
|||||||
<base-input label="Beitrag">
|
<base-input label="Beitrag">
|
||||||
<textarea class="form-control form-control-lg" rows="3" v-model="form.text" ></textarea>
|
<textarea class="form-control form-control-lg" rows="3" v-model="form.text" ></textarea>
|
||||||
</base-input>
|
</base-input>
|
||||||
|
<b-row class="form-group">
|
||||||
|
<label class="col-md-2 col-form-label form-control-label form-control-lg">Tätigkeit</label>
|
||||||
|
<b-col md="8">
|
||||||
|
<base-input placeholder="Tätigkeit" v-model="form.location" class="form-control-lg"></base-input>
|
||||||
|
</b-col>
|
||||||
|
<b-col md="2">
|
||||||
|
<base-input placeholder="Stunden" v-model="form.location" class="form-control-lg"></base-input>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|||||||
240
frontend/src/views/KontoOverview/GddAddWork2.vue
Normal file
240
frontend/src/views/KontoOverview/GddAddWork2.vue
Normal file
@ -0,0 +1,240 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<b-tabs content-class="mt-3" fill>
|
||||||
|
<b-tab :title="names.thisMonth" active>
|
||||||
|
|
||||||
|
<b-row>
|
||||||
|
<b-col cols="3">
|
||||||
|
|
||||||
|
<base-input label="Arbeitstunden" >
|
||||||
|
<b-form-input type="number" placeholder="23" />
|
||||||
|
</base-input>
|
||||||
|
<base-input label="Datum / Zeitraum" >
|
||||||
|
<flat-pickr class="form-control" v-model="date" :config="config"></flat-pickr>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
<b-col cols="9">
|
||||||
|
<base-input label="Arbeitsreport">
|
||||||
|
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
|
||||||
|
</b-row>
|
||||||
|
<b-row>
|
||||||
|
<b-col><button class="btn btn-info text-right" @click.prevent="newWorkForm">weiteren Report hinzufügen</button></b-col>
|
||||||
|
<b-col>
|
||||||
|
<div class="text-right">
|
||||||
|
<button class="btn btn-info text-right" @click.prevent="submitForm2">save new Report</button>
|
||||||
|
</div>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
</b-tab>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<b-tab :title="names.lastMonth">
|
||||||
|
<b-row>
|
||||||
|
<b-col cols="3">
|
||||||
|
|
||||||
|
<base-input label="Arbeitstunden" >
|
||||||
|
<b-form-input type="number" placeholder="23" />
|
||||||
|
</base-input>
|
||||||
|
<base-input label="Datum / Zeitraum" >
|
||||||
|
<flat-pickr class="form-control" v-model="date" :config="lastConfig"></flat-pickr>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
<b-col cols="9">
|
||||||
|
<base-input label="Arbeitsreport">
|
||||||
|
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
|
||||||
|
</b-row>
|
||||||
|
<b-row>
|
||||||
|
<b-col><button class="btn btn-warning text-right" @click.prevent="newWorkForm">+ weiteren Report hinzufügen</button></b-col>
|
||||||
|
<b-col>
|
||||||
|
<div class="text-right">
|
||||||
|
<button class="btn btn-info text-right" @click.prevent="submitForm2">save new Report</button>
|
||||||
|
</div>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
<hr>
|
||||||
|
<pre>Selected date is - {{date}}</pre>
|
||||||
|
<p>{{days.lastMonth}} Days in {{names.lastMonth}} </p>
|
||||||
|
|
||||||
|
<p>Du hast diesen Monat
|
||||||
|
{{stundenSumme>0 ? 'schon ' : 'noch keine' }}
|
||||||
|
{{stundenSumme>0 ? ''+ stundenSumme : '' }}
|
||||||
|
Stunden eingetragen</p>
|
||||||
|
|
||||||
|
</b-tab>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<b-tab :title="names.beforLastMonth">
|
||||||
|
|
||||||
|
<b-row>
|
||||||
|
<b-col cols="3">
|
||||||
|
|
||||||
|
<base-input label="Arbeitstunden" >
|
||||||
|
<b-form-input type="number" placeholder="23" />
|
||||||
|
</base-input>
|
||||||
|
<base-input label="Datum / Zeitraum" >
|
||||||
|
<flat-pickr class="form-control" v-model="date" :config="beforLastConfig"></flat-pickr>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
<b-col cols="9">
|
||||||
|
<base-input label="Arbeitsreport">
|
||||||
|
<textarea class="form-control" rows="5" @focus="textFocus"></textarea>
|
||||||
|
</base-input>
|
||||||
|
</b-col>
|
||||||
|
|
||||||
|
</b-row>
|
||||||
|
<b-row>
|
||||||
|
<b-col><button class="btn btn-warning text-right" @click.prevent="newWorkForm">+ weiteren Report hinzufügen</button></b-col>
|
||||||
|
<b-col>
|
||||||
|
<div class="text-right">
|
||||||
|
<button class="btn btn-info text-right" @click.prevent="submitForm3">save new Report</button>
|
||||||
|
</div>
|
||||||
|
</b-col>
|
||||||
|
</b-row>
|
||||||
|
<hr>
|
||||||
|
<pre>Selected date is - {{date}}</pre>
|
||||||
|
<p>{{days.beforLastMonth}} Days in {{names.beforLastMonth}} </p>
|
||||||
|
<p>Du hast noch keine Einträge </p>
|
||||||
|
|
||||||
|
|
||||||
|
</b-tab>
|
||||||
|
|
||||||
|
</b-tabs>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import flatPickr from "vue-flatpickr-component"
|
||||||
|
import "flatpickr/dist/flatpickr.css"
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'GDDAddWork2',
|
||||||
|
components: {flatPickr},
|
||||||
|
data(){
|
||||||
|
return {
|
||||||
|
date: null,
|
||||||
|
config: {
|
||||||
|
altInput: false,
|
||||||
|
dateFormat: "d-m-Y",
|
||||||
|
minDate: this.$moment().startOf('month').format("DD.MM.YYYY"),
|
||||||
|
maxDate: this.$moment().format("DD.MM.YYYY"),
|
||||||
|
mode: 'range'
|
||||||
|
|
||||||
|
},
|
||||||
|
lastConfig:{
|
||||||
|
altInput: false,
|
||||||
|
dateFormat: "d-m-Y",
|
||||||
|
minDate: this.$moment().month(this.$moment().month()-1).startOf('month').format("DD.MM.YYYY"),
|
||||||
|
maxDate: this.$moment().month(this.$moment().month()-1).endOf('month').format("DD.MM.YYYY"),
|
||||||
|
mode: 'range'
|
||||||
|
},
|
||||||
|
beforLastConfig:{
|
||||||
|
altInput: false,
|
||||||
|
dateFormat: "d-m-Y",
|
||||||
|
minDate: this.$moment().month(this.$moment().month()-2).startOf('month').format("DD.MM.YYYY"),
|
||||||
|
maxDate: this.$moment().month(this.$moment().month()-2).endOf('month').format("DD.MM.YYYY"),
|
||||||
|
mode: 'range'
|
||||||
|
},
|
||||||
|
index: 0,
|
||||||
|
form:[],
|
||||||
|
stundenSumme: 0,
|
||||||
|
messages: [],
|
||||||
|
submitted:false,
|
||||||
|
days: {
|
||||||
|
thisMonth: this.$moment().month(this.$moment().month()).daysInMonth(),
|
||||||
|
lastMonth: this.$moment().month(this.$moment().month()-1).daysInMonth(),
|
||||||
|
beforLastMonth: this.$moment().month(this.$moment().month()-2).daysInMonth(),
|
||||||
|
},
|
||||||
|
names: {
|
||||||
|
thisMonth: this.$moment().month(this.$moment().month()).format('MMMM'),
|
||||||
|
lastMonth: this.$moment().month(this.$moment().month()-1).format('MMMM'),
|
||||||
|
beforLastMonth: this.$moment().month(this.$moment().month()-2).format('MMMM')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
$form: function(){
|
||||||
|
stunden(this.form)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getTR(m,i){
|
||||||
|
console.log(m+"-"+i)
|
||||||
|
},
|
||||||
|
stunden(hour, i, mon) {
|
||||||
|
let n = 0
|
||||||
|
console.log("stunden(form)=>", hour)
|
||||||
|
console.log("stunden(i)=>", i)
|
||||||
|
console.log("stunden(mon)=>", mon)
|
||||||
|
|
||||||
|
|
||||||
|
console.log("this.stundenSumme start=> ", this.stundenSumme)
|
||||||
|
this.stundenSumme = 0
|
||||||
|
console.log("arr.length => ", this.form.length)
|
||||||
|
for (n; n < this.form.length; n++){
|
||||||
|
console.log(">arr[n]=> ",this.form[n])
|
||||||
|
if (this.form[n] > 0) {
|
||||||
|
this.stundenSumme += parseInt(this.form[n]) ;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
this.messages.push({
|
||||||
|
id: this.index,
|
||||||
|
MonthsNumber: mon,
|
||||||
|
DaysNumber: i,
|
||||||
|
HoursNumber: hour,
|
||||||
|
DestinationText: '',
|
||||||
|
TextDecoded: ''
|
||||||
|
});
|
||||||
|
this.index++
|
||||||
|
console.log("this.stundenSumme ende=> ", this.stundenSumme)
|
||||||
|
},
|
||||||
|
addNewMessage: function(){
|
||||||
|
this.messages.push({
|
||||||
|
DaysNumber: '',
|
||||||
|
TextDecoded: ''
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
deleteNewMessage: function(event) {
|
||||||
|
console.log("deleteNewMessage:event) => ", event)
|
||||||
|
//console.log("deleteNewMessage:this.events.splice(this.event) => ", this.events.splice(this.event))
|
||||||
|
this.form.splice(event, null);
|
||||||
|
this.messages.splice(index, 1);
|
||||||
|
this.index--
|
||||||
|
},
|
||||||
|
submitForm: function(e) {
|
||||||
|
console.log(this.messages);
|
||||||
|
|
||||||
|
this.messages = [{ DaysNumber: '', TextDecoded: '' }];
|
||||||
|
this.submitted = true;
|
||||||
|
},
|
||||||
|
submitForm2() {
|
||||||
|
console.log("submitForm2 TODO")
|
||||||
|
},
|
||||||
|
submitForm3() {
|
||||||
|
console.log("submitForm3 TODO")
|
||||||
|
},
|
||||||
|
textFocus(){
|
||||||
|
console.log("textFocus TODO")
|
||||||
|
},
|
||||||
|
newWorkForm(){
|
||||||
|
console.log("newWorkForm TODO")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@ -41,6 +41,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
|
// axios.defaults.withCredentials = true. Dies ist erforderlich, da Axios standardmäßig keine Cookies weitergibt.
|
||||||
|
axios.defaults.withCredentials = true
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GddTable',
|
name: 'GddTable',
|
||||||
data(){
|
data(){
|
||||||
|
|||||||
@ -1,20 +1,18 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<b-list-group >
|
<b-list-group >
|
||||||
<b-list-group-item v-for="item in items" :key="item.id">
|
<b-list-group-item v-for="item in items" :key="item.id">
|
||||||
<div class="d-flex w-100 justify-content-between" @click="toogle(item)" >
|
<div class="d-flex w-100 justify-content-between" @click="toogle(item)" >
|
||||||
<b-icon v-if="item.status == 'submitted'" icon="clock-history" class="m-1" font-scale="2" style="color:orange"></b-icon>
|
<b-icon v-if="item.status == 'submitted'" icon="clock-history" class="m-1" font-scale="2" style="color:orange"></b-icon>
|
||||||
<b-icon v-else icon="check2-all" class="m-1" font-scale="2" style="color:green" ></b-icon>
|
<b-icon v-else icon="check2-all" class="m-1" font-scale="2" style="color:green" ></b-icon>
|
||||||
<h2 class="text-muted"><small>{{item.datel}}</small> - {{item.text}}</h2>
|
<h2 class="text-muted"><small>{{item.datel}}</small> - {{item.text}}</h2>
|
||||||
</div>
|
</div>
|
||||||
</b-list-group-item>
|
</b-list-group-item>
|
||||||
</b-list-group>
|
</b-list-group>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'GddWorkTable',
|
name: 'GddWorkTable',
|
||||||
data(){
|
data(){
|
||||||
@ -22,8 +20,8 @@ export default {
|
|||||||
form: [],
|
form: [],
|
||||||
items: [
|
items: [
|
||||||
{ id: 1, text: 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '12.12.2020 14:04', status: 'submitted' },
|
{ id: 1, text: 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '12.12.2020 14:04', status: 'submitted' },
|
||||||
{ id: 2, text: 'Larsen Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '22.06.2020 22:23', status: 'submitted' },
|
{ id: 2, text: 'Larsen Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '22.06.2020 22:23', status: 'submitted' },
|
||||||
{ id: 3, text: 'Geneva Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '15.04.2020 12:55', status: 'confirmed' },
|
{ id: 3, text: 'Geneva Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '15.04.2020 12:55', status: 'confirmed' },
|
||||||
{ id: 4, text: 'Community Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '10.03.2020 18:20', status: 'confirmed'}
|
{ id: 4, text: 'Community Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', datel: '10.03.2020 18:20', status: 'confirmed'}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -37,10 +35,7 @@ export default {
|
|||||||
},
|
},
|
||||||
toogle(item) {
|
toogle(item) {
|
||||||
const temp = '<b-collapse visible v-bind:id="item.id">xxx <small class="text-muted">porta</small></b-collapse>'
|
const temp = '<b-collapse visible v-bind:id="item.id">xxx <small class="text-muted">porta</small></b-collapse>'
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
<b-col xl="5" lg="6" md="6" class="px-5">
|
<b-col xl="5" lg="6" md="6" class="px-5">
|
||||||
<h1 class="text-light">Landing Gradido</h1>
|
<h1 class="text-light">Landing Gradido</h1>
|
||||||
<br>
|
<br>
|
||||||
<router-link to="/KontoOverview" class="font-weight-bold text-white mt-5"> LoginUser</router-link>
|
<router-link to="/overview" class="font-weight-bold text-white mt-5"> LoginUser</router-link>
|
||||||
<br><br>
|
<br><br>
|
||||||
<router-link to="/AdminOverview" class="font-weight-bold text-white mt-5"> Login Admin</router-link>
|
<router-link to="/AdminOverview" class="font-weight-bold text-white mt-5"> Login Admin</router-link>
|
||||||
<br><br>
|
<br><br>
|
||||||
|
|||||||
@ -6,7 +6,7 @@
|
|||||||
<sidebar-item
|
<sidebar-item
|
||||||
:link="{
|
:link="{
|
||||||
name: 'Kontoübersicht',
|
name: 'Kontoübersicht',
|
||||||
path: 'KontoOverview',
|
path: '/overview',
|
||||||
icon: 'ni ni-tv-2 text-primary',
|
icon: 'ni ni-tv-2 text-primary',
|
||||||
}"
|
}"
|
||||||
>
|
>
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
expand="lg"
|
expand="lg"
|
||||||
>
|
>
|
||||||
<div slot="brand" class="navbar-wrapper">
|
<div slot="brand" class="navbar-wrapper">
|
||||||
<b-navbar-brand to="/">
|
<b-navbar-brand to="/overview">
|
||||||
<img src="img/brand/white.png">
|
<img src="img/brand/white.png">
|
||||||
</b-navbar-brand>
|
</b-navbar-brand>
|
||||||
</div>
|
</div>
|
||||||
@ -17,7 +17,7 @@
|
|||||||
<div class="navbar-collapse-header">
|
<div class="navbar-collapse-header">
|
||||||
<b-row>
|
<b-row>
|
||||||
<b-col cols="6" class="collapse-brand">
|
<b-col cols="6" class="collapse-brand">
|
||||||
<router-link to="/">
|
<router-link to="/overview">
|
||||||
<img src="img/brand/green.png">
|
<img src="img/brand/green.png">
|
||||||
</router-link>
|
</router-link>
|
||||||
</b-col>
|
</b-col>
|
||||||
|
|||||||
@ -13,17 +13,17 @@
|
|||||||
</div>
|
</div>
|
||||||
</b-col>
|
</b-col>
|
||||||
<b-col xl="6" class="col-xl-6">
|
<b-col xl="6" class="col-xl-6">
|
||||||
<b-nav class="nav-footer justify-content-center justify-content-xl-end">
|
<b-nav class="nav-footer justify-content-center justify-content-lg-end">
|
||||||
<b-nav-item ref="https://www.creative-tim.com" target="_blank">
|
<b-nav-item ref="https://gradido.net/" target="_blank">
|
||||||
Gradido
|
Gradido
|
||||||
</b-nav-item>
|
</b-nav-item>
|
||||||
<b-nav-item href="https://www.creative-tim.com/presentation" target="_blank">
|
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||||
{{$t('imprint')}}
|
{{$t('imprint')}}
|
||||||
</b-nav-item>
|
</b-nav-item>
|
||||||
<b-nav-item href="http://blog.creative-tim.com" target="_blank">
|
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||||
{{$t('privacy_policy')}}
|
{{$t('privacy_policy')}}
|
||||||
</b-nav-item>
|
</b-nav-item>
|
||||||
<b-nav-item href="https://www.creative-tim.com/license" target="_blank">
|
<b-nav-item href="https://gradido.net/" target="_blank">
|
||||||
{{$t('license')}}
|
{{$t('license')}}
|
||||||
</b-nav-item>
|
</b-nav-item>
|
||||||
</b-nav>
|
</b-nav>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<side-bar>
|
<side-bar>
|
||||||
<template slot="links" >
|
<template slot="links" >
|
||||||
|
|
||||||
<b-nav-item href="#!" to="/KontoOverview">
|
<b-nav-item href="#!" to="/overview">
|
||||||
|
|
||||||
<b-nav-text class="p-0 text-lg text-muted">Senden</b-nav-text>
|
<b-nav-text class="p-0 text-lg text-muted">Senden</b-nav-text>
|
||||||
</b-nav-item>
|
</b-nav-item>
|
||||||
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
import DashboardNavbar from './DashboardNavbar.vue';
|
import DashboardNavbar from './DashboardNavbar.vue';
|
||||||
import ContentFooter from './ContentFooter.vue';
|
import ContentFooter from './ContentFooter.vue';
|
||||||
import DashboardContent from './Content.vue';
|
// import DashboardContent from './Content.vue';
|
||||||
import { FadeTransition } from 'vue2-transitions';
|
import { FadeTransition } from 'vue2-transitions';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -74,11 +74,7 @@
|
|||||||
if (isWindows) {
|
if (isWindows) {
|
||||||
initScrollbar('sidenav');
|
initScrollbar('sidenav');
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
logout(){
|
|
||||||
//console.log("DashboardLayout.vue user logout() : ")
|
|
||||||
this.$store.dispatch('logout')
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.initScrollbar()
|
this.initScrollbar()
|
||||||
|
|||||||
@ -34,12 +34,12 @@
|
|||||||
title-tag="a"
|
title-tag="a"
|
||||||
title-classes="nav-link pr-0">
|
title-classes="nav-link pr-0">
|
||||||
<a href="#" class="nav-link pr-0" @click.prevent slot="title-container">
|
<a href="#" class="nav-link pr-0" @click.prevent slot="title-container">
|
||||||
<b-media no-body class="align-items-center">
|
<b-media no-body class="align-items-center">
|
||||||
|
|
||||||
<span class="avatar avatar-sm rounded-circle">
|
|
||||||
<vue-qrcode :value="$store.state.email" />
|
|
||||||
</span>
|
|
||||||
<b-media-body class="ml-2 d-none d-lg-block">
|
<b-media-body class="ml-2 d-none d-lg-block">
|
||||||
|
<span class="avatar avatar-sm rounded-circle">
|
||||||
|
<vue-qrcode :value="$store.state.email" type="image/png"/>
|
||||||
|
</span>
|
||||||
<span class="mb-0 text-lg font-weight-bold">{{this.$store.state.email}}</span>
|
<span class="mb-0 text-lg font-weight-bold">{{this.$store.state.email}}</span>
|
||||||
</b-media-body>
|
</b-media-body>
|
||||||
</b-media>
|
</b-media>
|
||||||
@ -50,7 +50,7 @@
|
|||||||
<b-dropdown-header class="noti-title">
|
<b-dropdown-header class="noti-title">
|
||||||
<h6 class="text-overflow m-0"> {{ $t('welcome') }}</h6>
|
<h6 class="text-overflow m-0"> {{ $t('welcome') }}</h6>
|
||||||
</b-dropdown-header>
|
</b-dropdown-header>
|
||||||
<b-dropdown-item href="#!" to="/KontoOverview">
|
<b-dropdown-item href="#!" to="/overview">
|
||||||
<i class="ni ni-single-02"></i>
|
<i class="ni ni-single-02"></i>
|
||||||
<span>{{ $t('site.overview.account_overview')}}</span>
|
<span>{{ $t('site.overview.account_overview')}}</span>
|
||||||
</b-dropdown-item>
|
</b-dropdown-item>
|
||||||
|
|||||||
@ -348,7 +348,7 @@
|
|||||||
<div class="pr-md-5">
|
<div class="pr-md-5">
|
||||||
<h1 class="text-light"> {{ $t('site.landing1.explore') }}</h1>
|
<h1 class="text-light"> {{ $t('site.landing1.explore') }}</h1>
|
||||||
<p class="text-light">{{ $t('site.landing1.text') }}</p>
|
<p class="text-light">{{ $t('site.landing1.text') }}</p>
|
||||||
<router-link to="/user" class="font-weight-bold text-warning mt-5">{{ $t('site.landing1.link') }}</router-link>
|
<router-link to="/overview" class="font-weight-bold text-warning mt-5">{{ $t('site.landing1.link') }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
</b-col>
|
</b-col>
|
||||||
</b-row>
|
</b-row>
|
||||||
|
|||||||
@ -4,7 +4,7 @@
|
|||||||
<b-col lg="3" class="order-lg-2">
|
<b-col lg="3" class="order-lg-2">
|
||||||
<div class="card-profile-image">
|
<div class="card-profile-image">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<vue-qrcode :value="$store.state.email" />
|
<vue-qrcode :value="$store.state.email" type="image/png"/>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</b-col>
|
</b-col>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user