Some checks failed
continuous-integration/drone/push Build is failing
- Complete GGZ Ecademy Nuxt.js user portal - Learning products browser and management - Member management interface - User authentication and roles - Multi-language support (NL/EN) - Vuex store for state management - Component-based architecture
263 lines
6.6 KiB
Vue
263 lines
6.6 KiB
Vue
<template>
|
|
<accordion-card :title="$t('learning.product_overview.administration')">
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black in_the_picture"
|
|
>Van leden voor leden</v-subheader
|
|
>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="9" class="mb-4 d-flex flex-column">
|
|
<div class="pb-0 mb-0 d-flex">
|
|
<v-switch
|
|
:disabled="!editMode"
|
|
inset
|
|
class="my-3 toggle"
|
|
v-model="for_members"
|
|
/>
|
|
</div>
|
|
</v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">{{
|
|
$t('learning.product_overview.owner')
|
|
}}</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<v-text-field
|
|
v-model="owner"
|
|
:placeholder="$t('learning.product_overview.placeholder.description')"
|
|
:outlined="editMode"
|
|
:solo="!editMode"
|
|
:disabled="!editMode"
|
|
:flat="!editMode"
|
|
></v-text-field>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">{{
|
|
$t('learning.product_overview.partner')
|
|
}}</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<v-text-field
|
|
v-model="partner"
|
|
:placeholder="$t('learning.product_overview.placeholder.description')"
|
|
:outlined="editMode"
|
|
:solo="!editMode"
|
|
:disabled="!editMode"
|
|
:flat="!editMode"
|
|
></v-text-field>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">
|
|
Leverancier
|
|
</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<v-text-field
|
|
v-model="supplier"
|
|
:placeholder="$t('learning.product_overview.placeholder.description')"
|
|
:outlined="editMode"
|
|
:solo="!editMode"
|
|
:disabled="!editMode"
|
|
:flat="!editMode"
|
|
></v-text-field>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">{{
|
|
$t('learning.product_overview.contract_agreements')
|
|
}}</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<quill-editor
|
|
v-model="contract_agreements"
|
|
:options="editorOption"
|
|
class="quill"
|
|
@focus="isEditorFocused = true"
|
|
@blur="isEditorFocused = false"
|
|
@change="onEditorChange()"
|
|
:class="{ focused: isEditorFocused }"
|
|
v-if="editMode"
|
|
/>
|
|
|
|
<span v-html="contract_agreements" v-else></span>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">
|
|
Prognose gebruik aantal leden
|
|
</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<v-text-field
|
|
v-model="prognosis_members"
|
|
:outlined="editMode"
|
|
:solo="!editMode"
|
|
:disabled="!editMode"
|
|
:flat="!editMode"
|
|
></v-text-field>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
|
|
<v-row>
|
|
<v-col cols="12" sm="12" md="3">
|
|
<v-subheader class="txt--text font-weight-black">
|
|
Prognose gebruik aantal deelnemers
|
|
</v-subheader>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="6">
|
|
<v-text-field
|
|
v-model="prognosis_attendees"
|
|
:outlined="editMode"
|
|
:solo="!editMode"
|
|
:disabled="!editMode"
|
|
:flat="!editMode"
|
|
></v-text-field>
|
|
</v-col>
|
|
<v-col cols="12" sm="12" md="3"> </v-col>
|
|
</v-row>
|
|
</accordion-card>
|
|
</template>
|
|
|
|
<script>
|
|
import accordionCard from '@/components/UI/AccordionCard/AccordionCard'
|
|
|
|
import 'quill/dist/quill.core.css'
|
|
import 'quill/dist/quill.snow.css'
|
|
import 'quill/dist/quill.bubble.css'
|
|
import { quillEditor } from 'vue-quill-editor'
|
|
|
|
export default {
|
|
components: {
|
|
accordionCard,
|
|
quillEditor,
|
|
},
|
|
props: {
|
|
editMode: {
|
|
type: Boolean,
|
|
default: false,
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
isEditorFocused: false,
|
|
editorOption: {
|
|
modules: {
|
|
toolbar: [
|
|
[{ size: ['small', false, 'large'] }],
|
|
['bold', 'italic'],
|
|
[{ list: 'ordered' }, { list: 'bullet' }],
|
|
['link'],
|
|
],
|
|
},
|
|
},
|
|
}
|
|
},
|
|
computed: {
|
|
local() {
|
|
return this.$store.state.learning.local
|
|
},
|
|
owner: {
|
|
get() {
|
|
return this.local.owner || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'owner',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
partner: {
|
|
get() {
|
|
return this.local.partner || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'partner',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
supplier: {
|
|
get() {
|
|
return this.local.supplier || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'supplier',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
contract_agreements: {
|
|
get() {
|
|
return this.local.contract_agreements || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'contract_agreements',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
prognosis_members: {
|
|
get() {
|
|
return this.local.prognosis_members || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'prognosis_members',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
prognosis_attendees: {
|
|
get() {
|
|
return this.local.prognosis_attendees || ''
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'prognosis_attendees',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
for_members: {
|
|
get() {
|
|
return this.local.for_members
|
|
},
|
|
set(value) {
|
|
this.$store.commit('learning/UPDATE_FIELD', {
|
|
field: 'for_members',
|
|
value,
|
|
})
|
|
},
|
|
},
|
|
},
|
|
methods: {
|
|
onEditorChange() {
|
|
if (!this.isEditorFocused) this.isEditorFocused = true
|
|
// console.log('editor change!', editor)
|
|
},
|
|
},
|
|
}
|
|
</script>
|