fixed "Booking Users"
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
:dense="dense"
|
||||
mask="####-##-## ##:##"
|
||||
debounce="500"
|
||||
@input="changeval"
|
||||
@update:model-value="changeval"
|
||||
:input-class="getclass()"
|
||||
>
|
||||
</q-input>
|
||||
|
||||
@@ -4,7 +4,7 @@ import { useUserStore } from '@store/UserStore'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { colors, Screen, Platform, date } from 'quasar'
|
||||
import { EState, IBookedEvent, IBookedEventPage, IEvents, IMessage, IMessagePage } from '@model'
|
||||
import { EState, IBookedEvent, IBookedEventPage, IEvents, IMessage, IMessagePage, IParamDialog } from '@model'
|
||||
import { Logo } from '../logo'
|
||||
import { Footer } from '../Footer'
|
||||
import { CTitle } from '../CTitle'
|
||||
@@ -25,6 +25,8 @@ import { useCalendarStore } from '@store/CalendarStore'
|
||||
import { func_tools, toolsext } from '@store/Modules/toolsext'
|
||||
import { useMessageStore } from '@store/MessageStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import { lists } from '@store/Modules/lists'
|
||||
import translate from '@/globalroutines/util'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CEventsCalendar',
|
||||
@@ -441,6 +443,61 @@ export default defineComponent({
|
||||
tools.CancelEvent($q, eventparam)
|
||||
}
|
||||
|
||||
function executefunc(mythisq: any, table: string, func: number, par: IParamDialog) {
|
||||
|
||||
if (func === lists.MenuAction.DELETE) {
|
||||
// console.log('param1', par.param1)
|
||||
calendarStore.CancelBookingEvent({
|
||||
ideventbook: par.param1,
|
||||
notify: par.param2 === true ? '1' : '0',
|
||||
}).then((ris: any) => {
|
||||
if (ris) {
|
||||
tools.showPositiveNotif(mythisq, t('cal.canceledbooking') + ' "' + par.param3 + '"')
|
||||
if (bookEventpage.value)
|
||||
bookEventpage.value.show = false
|
||||
} else {
|
||||
tools.showNegativeNotif(mythisq, t('cal.cancelederrorbooking'))
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
function CancelBookingEvent(mythisq: any, eventparam: IEvents, bookeventid: string, notify: boolean, mythis?: any) {
|
||||
|
||||
const mytitle = translate('cal.titlebooking')
|
||||
const mytext = translate('cal.cancelbooking') + ' ' + tools.gettextevent(eventparam) + '?'
|
||||
const ok = translate('dialog.yes')
|
||||
const funcok = lists.MenuAction.DELETE
|
||||
const table = ''
|
||||
const funccancel = 0
|
||||
const par = {
|
||||
param1: bookeventid,
|
||||
param2: notify,
|
||||
param3: eventparam.title,
|
||||
}
|
||||
|
||||
console.log('CancelBookingEvent ', eventparam)
|
||||
return $q.dialog({
|
||||
message: mytext,
|
||||
html: true,
|
||||
ok: {
|
||||
label: ok,
|
||||
push: true,
|
||||
},
|
||||
title: mytitle,
|
||||
cancel: true,
|
||||
persistent: false,
|
||||
}).onOk(() => {
|
||||
// console.log('OK')
|
||||
executefunc($q, table, funcok, par)
|
||||
return true
|
||||
}).onCancel(() => {
|
||||
// console.log('CANCEL')
|
||||
executefunc($q, table, funccancel, par)
|
||||
return false
|
||||
})
|
||||
}
|
||||
|
||||
function duplicateEvent(eventparam: any, numgg: number, numev = 1) {
|
||||
for (let i = 0; i < numev; ++i) {
|
||||
globalStore.DuplicateRec({ table: costanti.TABEVENTS, id: eventparam._id }).then((rec) => {
|
||||
@@ -962,6 +1019,8 @@ export default defineComponent({
|
||||
createContribType,
|
||||
static_data,
|
||||
editEvent,
|
||||
EState,
|
||||
CancelBookingEvent,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -465,12 +465,13 @@
|
||||
<q-btn
|
||||
v-if="bookEventpage.state === EState.Modifying" flat :label="$t('cal.cancelbooking')"
|
||||
color="negative"
|
||||
@click="tools.CancelBookingEvent($q, myevent, bookEventForm._id, true)"></q-btn>
|
||||
@click="CancelBookingEvent($q, myevent, bookEventForm._id, true)"></q-btn>
|
||||
<q-btn
|
||||
v-if="checkseinviaMsg" flat :label="$t('dialog.sendonlymsg')" color="primary"
|
||||
v-if="checkseinviaMsg()" flat :label="$t('dialog.sendonlymsg')" color="primary"
|
||||
@click="sendMsg(myevent)"></q-btn>
|
||||
<q-btn
|
||||
v-else :label="getTitleBtnBooking" color="primary" @click="saveBookEvent(myevent)"
|
||||
v-else
|
||||
:label="getTitleBtnBooking()" color="primary" @click="saveBookEvent(myevent)"
|
||||
:disable="!(bookEventpage.state === EState.Creating || hasModifiedBooking)"></q-btn>
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
label="Id"
|
||||
dense
|
||||
@keyup.enter.stop
|
||||
@input="save"
|
||||
@update:model-value="save"
|
||||
debounce="1000"
|
||||
autofocus>
|
||||
</q-input>
|
||||
@@ -71,7 +71,7 @@
|
||||
:label="$t('disc.order')"
|
||||
dense
|
||||
@keyup.enter.stop
|
||||
@input="save"
|
||||
@update:model-value="save"
|
||||
debounce="1000"
|
||||
autofocus>
|
||||
</q-input>-->
|
||||
@@ -79,7 +79,7 @@
|
||||
label="Alt"
|
||||
dense
|
||||
@keyup.enter.stop
|
||||
@input="save"
|
||||
@update:model-value="save"
|
||||
debounce="1000"
|
||||
autofocus>
|
||||
</q-input>-->
|
||||
@@ -89,7 +89,7 @@
|
||||
dense
|
||||
:label="$t('proj.longdescr')"
|
||||
@keyup.enter.stop
|
||||
@input="save"
|
||||
@update:model-value="save"
|
||||
debounce="1000"
|
||||
autofocus>
|
||||
</q-input>
|
||||
|
||||
@@ -532,27 +532,9 @@ export default defineComponent({
|
||||
|
||||
}
|
||||
|
||||
function executefunc(table: string, func: number, par: IParamDialog) {
|
||||
const globalStore = useGlobalStore()
|
||||
const calendarStore = useCalendarStore()
|
||||
function exec_func_table(table: string, func: number, par: IParamDialog) {
|
||||
|
||||
if (func === lists.MenuAction.DELETE) {
|
||||
// console.log('param1', par.param1)
|
||||
calendarStore.CancelBookingEvent({
|
||||
ideventbook: par.param1,
|
||||
notify: par.param2 === true ? '1' : '0',
|
||||
}).then((ris: any) => {
|
||||
if (ris) {
|
||||
tools.showPositiveNotif($q, t('cal.canceledbooking') + ' "' + par.param3 + '"')
|
||||
//++Todo: Calendar FIX:
|
||||
// if (myself.bookEventpage)
|
||||
// myself.bookEventpage.show = false
|
||||
} else {
|
||||
tools.showNegativeNotif($q, t('cal.cancelederrorbooking'))
|
||||
}
|
||||
})
|
||||
} else if (func === lists.MenuAction.DELETE_RECTABLE) {
|
||||
// console.log('param1', par.param1)
|
||||
if (func === lists.MenuAction.DELETE_RECTABLE) {
|
||||
globalStore.DeleteRec({ table, id: par.param1 }).then((ris) => {
|
||||
if (ris) {
|
||||
ActionAfterYes(func, par.param2, null)
|
||||
@@ -562,7 +544,6 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
} else if (func === lists.MenuAction.DUPLICATE_RECTABLE) {
|
||||
// console.log('param1', par.param1)
|
||||
globalStore.DuplicateRec({ table, id: par.param1 }).then((ris) => {
|
||||
if (ris) {
|
||||
ActionAfterYes(func, par.param2, ris.data)
|
||||
@@ -598,11 +579,11 @@ export default defineComponent({
|
||||
persistent: false,
|
||||
}).onOk(() => {
|
||||
// console.log('OK')
|
||||
executefunc(table, col.action, par)
|
||||
exec_func_table(table, col.action, par)
|
||||
return true
|
||||
}).onCancel(() => {
|
||||
// console.log('CANCEL')
|
||||
executefunc(table, funccancel, par)
|
||||
exec_func_table(table, funccancel, par)
|
||||
return false
|
||||
})
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@
|
||||
<!--<vue-tel-input
|
||||
@country-changed="intcode_change"
|
||||
:value="myvalue"
|
||||
@input="onInput"
|
||||
@update:model-value="onInput"
|
||||
:disabledFetchingCountry="true"
|
||||
:preferredCountries="tools.getprefCountries"
|
||||
:placeholder="$t('reg.cell')"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
v-model="myvalue"
|
||||
autogrow
|
||||
@keyup.enter.stop
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
autofocus
|
||||
:label="col.label">
|
||||
</q-input>
|
||||
@@ -20,7 +20,7 @@
|
||||
:readonly="false"
|
||||
:minuteinterval="minuteinterval"
|
||||
:dense="true"
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
canEdit="true"
|
||||
@savetoclose="SaveValueInt"
|
||||
@show="OpenEdit">
|
||||
@@ -34,7 +34,7 @@
|
||||
:readonly="false"
|
||||
:minuteinterval="minuteinterval"
|
||||
:dense="true"
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
canEdit="true"
|
||||
@savetoclose="SaveValueInt"
|
||||
@show="OpenEdit"
|
||||
@@ -45,7 +45,7 @@
|
||||
<q-input
|
||||
v-model="myvalue" type="number"
|
||||
autofocus
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
:label="col.label"
|
||||
>
|
||||
|
||||
@@ -56,7 +56,7 @@
|
||||
<q-input
|
||||
v-model="myvalue" type="number"
|
||||
autofocus
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
style="max-width: 100px;"
|
||||
:label="col.label"
|
||||
>
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
<!--<q-input v-model="myvalue" type="number"
|
||||
autofocus
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
:label="col.label">
|
||||
</q-input>
|
||||
-->
|
||||
@@ -86,7 +86,7 @@
|
||||
<CGallery
|
||||
:gall="row" :listimages="myvalue" :edit="isviewfield()"
|
||||
@showandsave="Savedb"
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
>
|
||||
|
||||
</CGallery>
|
||||
@@ -94,7 +94,7 @@
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.image">
|
||||
<CGallery
|
||||
:gall="row" :listimages="myvalue" :edit="isviewfield()"
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
@showandsave="Savedb">
|
||||
|
||||
</CGallery>
|
||||
@@ -103,7 +103,7 @@
|
||||
<CMyChipList
|
||||
:type="costanti.FieldType.binary"
|
||||
:value="myvalue"
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
:options="globalStore.getTableJoinByName(col.jointable)"
|
||||
:optval="fieldsTable.getKeyByTable(col.jointable)"
|
||||
:optlab="fieldsTable.getLabelByTable(col.jointable)"
|
||||
@@ -112,7 +112,7 @@
|
||||
<!-- Show Value -->
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.multiselect">
|
||||
<CMyChipList
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
:type="costanti.FieldType.multiselect"
|
||||
:value="myvalue"
|
||||
:options="globalStore.getTableJoinByName(col.jointable)"
|
||||
@@ -122,7 +122,7 @@
|
||||
</div>
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.select">
|
||||
<CMyChipList
|
||||
@input="changevalRec"
|
||||
@update:model-value="changevalRec"
|
||||
myclass="text-center"
|
||||
:type="costanti.FieldType.select"
|
||||
:value="myvalue"
|
||||
@@ -359,7 +359,7 @@
|
||||
<!-- <vue-tel-input
|
||||
@country-changed="intcode_change"
|
||||
:value="scope.value"
|
||||
@input="oninput"
|
||||
@update:model-value="oninput"
|
||||
:placeholder="$t('reg.cell')"
|
||||
:enabledCountryCode="true"
|
||||
inputClasses="clCell"
|
||||
@@ -385,7 +385,7 @@
|
||||
:option-label="fieldsTable.getLabelByTable(col.jointable)"
|
||||
:option-value="fieldsTable.getKeyByTable(col.jointable)"
|
||||
style="min-width: 150px"
|
||||
@input="changeCol">
|
||||
@update:model-value="changeCol">
|
||||
|
||||
</q-select>
|
||||
</div>
|
||||
|
||||
@@ -89,6 +89,7 @@ export default defineComponent({
|
||||
isEventEnabled,
|
||||
findEventIndex,
|
||||
UpdateDbByFields,
|
||||
selected,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div>
|
||||
<CMyPage
|
||||
v-if="myevent" :imgbackground="myevent.img" :title="myevent.title" keywords="" description=""
|
||||
nofooter="true">
|
||||
:nofooter="true">
|
||||
|
||||
<div class="q-mx-md">
|
||||
<div class="listaev__align_chips q-ma-md">
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
dense
|
||||
label="Altezza"
|
||||
emit-value map-options
|
||||
@input="changedim"
|
||||
@update:model-value="changedim"
|
||||
></q-select>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<!--<q-item-label class="title">Condiviso: {{ shared.numshared }}</q-item-label>
|
||||
<q-item-label class="title">Rating: {{ shared.rating }}</q-item-label>-->
|
||||
</q-item-section>
|
||||
<!--<q-rating v-model="shared.rating" :max="5" size="16px" @input="change_rating(shared.rating, shared)"/>-->
|
||||
<!--<q-rating v-model="shared.rating" :max="5" size="16px" @update:model-value="change_rating(shared.rating, shared)"/>-->
|
||||
|
||||
|
||||
</div>
|
||||
@@ -80,7 +80,7 @@
|
||||
@click="add_newshare(shared.description)"></q-btn>
|
||||
<!--<q-item-label class="title">Condiviso: {{ shared.numshared }}</q-item-label>
|
||||
<q-item-label class="title">Rating: {{ shared.rating }}</q-item-label>-->
|
||||
<!--<q-rating v-model="shared.rating" :max="5" size="16px" @input="change_rating(shared.rating, shared)"/>-->
|
||||
<!--<q-rating v-model="shared.rating" :max="5" size="16px" @update:model-value="change_rating(shared.rating, shared)"/>-->
|
||||
|
||||
</div>
|
||||
</transition>
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
v-model="signup.email"
|
||||
rounded outlined
|
||||
@blur="v$.email.$touch"
|
||||
@input="changeemail()"
|
||||
@update:model-value="changeemail()"
|
||||
:error="v$.email.$error"
|
||||
:error-message="tools.errorMsg( 'email', v$.email)"
|
||||
maxlength="50"
|
||||
@@ -31,7 +31,7 @@
|
||||
v-model="signup.username"
|
||||
rounded outlined
|
||||
@blur="v$.username.$touch"
|
||||
@input="changeusername"
|
||||
@update:model-value="changeusername"
|
||||
:error="v$.username.$error"
|
||||
@keydown.space="(event) => event.preventDefault()"
|
||||
maxlength="20"
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<q-checkbox
|
||||
class="bg-grey-4"
|
||||
v-model="accetta_saw_video"
|
||||
@input="changeval"
|
||||
@update:model-value="changeval"
|
||||
color="primary"
|
||||
:label="$t('steps.saw_video_intro')">
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ const functionality: IFunctionality = {
|
||||
ENABLE_PROJECTS_LOADING: false,
|
||||
SHOW_IF_IS_SERVER_CONNECTION: false,
|
||||
SHOW_MESSAGES: false,
|
||||
BOOKING_EVENTS: false,
|
||||
BOOKING_EVENTS: true,
|
||||
ENABLE_ECOMMERCE: true,
|
||||
ENABLE_REG_CNM: true,
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ import { useI18n } from '@/boot/i18n'
|
||||
// You can declare a mixin as the same style as components.
|
||||
export default function () {
|
||||
function getImgEvent(event: IEvents) {
|
||||
if (!!event.img)
|
||||
if (event && !!event.img)
|
||||
return event.img
|
||||
else
|
||||
return 'images/noimg.png'
|
||||
|
||||
@@ -139,6 +139,7 @@ export default defineComponent({
|
||||
isnotmyevent,
|
||||
setmeta,
|
||||
myevent,
|
||||
selected,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,7 +3,16 @@ import { tools } from '@src/store/Modules/tools'
|
||||
import { func_tools } from '@src/store/Modules/toolsext'
|
||||
import { CTitle } from '../../../components/CTitle/index'
|
||||
import { CMyPage } from '../../../components/CMyPage/index'
|
||||
import { IBookedEvent, ICalendarState, IEvents, ITodo, ITodosState, IUserState, IUserFields } from '@src/model'
|
||||
import {
|
||||
IBookedEvent,
|
||||
ICalendarState,
|
||||
IEvents,
|
||||
ITodo,
|
||||
ITodosState,
|
||||
IUserState,
|
||||
IUserFields,
|
||||
IParamDialog
|
||||
} from '@src/model'
|
||||
import { lists } from '@src/store/Modules/lists'
|
||||
|
||||
import MixinUsers from '@src/mixins/mixin-users'
|
||||
@@ -14,6 +23,7 @@ import { useCalendarStore } from '@store/CalendarStore'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { useI18n } from '@/boot/i18n'
|
||||
import translate from '@/globalroutines/util'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Eventlist',
|
||||
@@ -21,6 +31,7 @@ export default defineComponent({
|
||||
|
||||
setup() {
|
||||
|
||||
const showpeople = ref(false)
|
||||
const shownote = ref(false)
|
||||
const eventsel = ref(null)
|
||||
const showPrev = ref(false)
|
||||
@@ -36,6 +47,8 @@ export default defineComponent({
|
||||
|
||||
const { UpdateDbByFields } = MixinEvents()
|
||||
|
||||
const { isValidUsername } = MixinUsers()
|
||||
|
||||
function getEventList() {
|
||||
const eventsloc: IEvents[] = []
|
||||
|
||||
@@ -115,10 +128,6 @@ export default defineComponent({
|
||||
return eventsloc
|
||||
}
|
||||
|
||||
function mostra() {
|
||||
return $route.name
|
||||
}
|
||||
|
||||
function showall() {
|
||||
return $route.name === 'otherpages.admin.usereventlist'
|
||||
}
|
||||
@@ -134,7 +143,9 @@ export default defineComponent({
|
||||
getNumEvent()
|
||||
}
|
||||
|
||||
|
||||
function change_rec(eventparam: any) {
|
||||
console.log('change_rec')
|
||||
UpdateDbByFields($q, eventparam)
|
||||
}
|
||||
|
||||
@@ -151,6 +162,12 @@ export default defineComponent({
|
||||
getTeacherByUsername,
|
||||
numrec,
|
||||
shownote,
|
||||
showpeople,
|
||||
eventsel,
|
||||
isValidUsername,
|
||||
gettitle,
|
||||
change_rec,
|
||||
$q,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
autogrow
|
||||
type="textarea" debounce="500"
|
||||
input-class="myinput-area"
|
||||
@input="change_rec(eventsel)">
|
||||
@update:model-value="change_rec(eventsel)">
|
||||
</q-input>
|
||||
|
||||
</q-card-section>
|
||||
@@ -161,7 +161,7 @@
|
||||
<td class="text-center">
|
||||
<q-btn
|
||||
flat round color="red" icon="fas fa-trash-alt" size="sm"
|
||||
@click="tools.CancelBookingEvent(mythis, eventsel, eventbook._id, false)"></q-btn>
|
||||
@click="tools.CancelBookingEvent($q, eventsel, eventbook._id, false)"></q-btn>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
@@ -1709,9 +1709,6 @@ export const tools = {
|
||||
}).then((ris: any) => {
|
||||
if (ris) {
|
||||
this.showPositiveNotif(mythisq, t('cal.canceledbooking') + ' "' + par.param3 + '"')
|
||||
//++Todo: Calendar FIX:
|
||||
// if (myself.bookEventpage)
|
||||
// myself.bookEventpage.show = false
|
||||
} else {
|
||||
this.showNegativeNotif(mythisq, t('cal.cancelederrorbooking'))
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
:label="$t('proj.longdescr')"
|
||||
outlined
|
||||
debounce="1000"
|
||||
@input="modifyfieldproj('privacywrite')"
|
||||
@update:model-value="modifyfieldproj('privacywrite')"
|
||||
autogrow
|
||||
style="flex: auto">
|
||||
</q-input>
|
||||
@@ -235,7 +235,7 @@
|
||||
:readonly="readonly_PanelPrivacySel"
|
||||
rounded outlined v-model="itemselproj.groupId" :options="selectGroup"
|
||||
:label="$t('proj.group')" emit-value map-options
|
||||
@input="modifyfieldproj('groupId')">
|
||||
@update:model-value="modifyfieldproj('groupId')">
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -247,7 +247,7 @@
|
||||
:readonly="readonly_PanelPrivacySel"
|
||||
rounded outlined v-model="itemselproj.respUsername" :options="selectResp"
|
||||
:label="$t('proj.respUsername')" emit-value map-options
|
||||
@input="modifyfieldproj('respUsername')">
|
||||
@update:model-value="modifyfieldproj('respUsername')">
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -259,14 +259,14 @@
|
||||
:readonly="readonly_PanelPrivacySel"
|
||||
rounded outlined v-model="itemselproj.viceRespUsername" :options="selectResp"
|
||||
:label="$t('proj.viceRespUsername')" emit-value map-options
|
||||
@input="modifyfieldproj('viceRespUsername')">
|
||||
@update:model-value="modifyfieldproj('viceRespUsername')">
|
||||
</q-select>
|
||||
<q-select
|
||||
style="min-width: 200px"
|
||||
:readonly="readonly_PanelPrivacySel"
|
||||
rounded outlined v-model="itemselproj.vice2RespUsername" :options="selectResp"
|
||||
:label="$t('proj.vice2RespUsername')" emit-value map-options
|
||||
@input="modifyfieldproj('vice2RespUsername')">
|
||||
@update:model-value="modifyfieldproj('vice2RespUsername')">
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -277,7 +277,7 @@
|
||||
style="min-width: 150px" :readonly="readonly_PanelPrivacySel" rounded outlined
|
||||
v-model="itemselproj.tipovisu"
|
||||
:options="selectTipoVisu"
|
||||
@input="modifyfieldproj('tipovisu')"
|
||||
@update:model-value="modifyfieldproj('tipovisu')"
|
||||
:label="$t('proj.tipovisu')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
@@ -290,7 +290,7 @@
|
||||
:readonly="readonly_PanelPrivacySel"
|
||||
rounded outlined v-model="itemselproj.privacyread" :options="selectPrivacy"
|
||||
:label="$t('proj.privacyread')" emit-value map-options
|
||||
@input="modifyfieldproj('privacyread')">
|
||||
@update:model-value="modifyfieldproj('privacyread')">
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -301,7 +301,7 @@
|
||||
style="min-width: 200px" :readonly="readonly_PanelPrivacySel" rounded outlined
|
||||
v-model="itemselproj.privacywrite" :options="selectPrivacy"
|
||||
:label="$t('proj.privacywrite')" emit-value map-options
|
||||
@input="modifyfieldproj('privacywrite')">
|
||||
@update:model-value="modifyfieldproj('privacywrite')">
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -330,7 +330,7 @@
|
||||
:label="$t('proj.longdescr')"
|
||||
outlined
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
@input="modifyfieldtodo('descr')"
|
||||
@update:model-value="modifyfieldtodo('descr')"
|
||||
debounce="1000"
|
||||
autogrow
|
||||
style="flex: auto">
|
||||
@@ -349,7 +349,7 @@
|
||||
:label="$t('proj.note')"
|
||||
outlined
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
@input="modifyfieldtodo('note')"
|
||||
@update:model-value="modifyfieldtodo('note')"
|
||||
debounce="1000"
|
||||
autogrow
|
||||
style="flex: auto">
|
||||
@@ -365,7 +365,7 @@
|
||||
v-model="itemtodosel.pos"
|
||||
type="number"
|
||||
debounce="500"
|
||||
@input="modifyfieldtodo('pos')"
|
||||
@update:model-value="modifyfieldtodo('pos')"
|
||||
rounded outlined
|
||||
style="max-width: 100px;"
|
||||
:label="$t('dashboard.posizione')">
|
||||
@@ -378,7 +378,7 @@
|
||||
<q-select
|
||||
style="min-width: 200px"
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
@input="modifyfieldtodo('assigned_to_userId')"
|
||||
@update:model-value="modifyfieldtodo('assigned_to_userId')"
|
||||
rounded outlined v-model="itemtodosel.assigned_to_userId" :options="selectWorkers"
|
||||
:label="$t('todo.assigned_to_userId')" emit-value map-options>
|
||||
</q-select>
|
||||
@@ -390,7 +390,7 @@
|
||||
:idmain="itemtodosel.category"
|
||||
table="todos"
|
||||
mykey="assignedToUsers"
|
||||
@input="modifyfieldtodo('assignedToUsers')"
|
||||
@update:model-value="modifyfieldtodo('assignedToUsers')"
|
||||
:type="costanti.FieldType.multiselect"
|
||||
jointable="workers">
|
||||
</CMyFieldDb>
|
||||
@@ -403,7 +403,7 @@
|
||||
rounded outlined v-model="itemtodosel.statustodo" :options="selectStatus"
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
:label="$t('todo.status')" emit-value map-options
|
||||
@input="modifyfieldtodo('statustodo')">
|
||||
@update:model-value="modifyfieldtodo('statustodo')">
|
||||
|
||||
</q-select>
|
||||
</div>
|
||||
@@ -485,7 +485,7 @@
|
||||
readonly
|
||||
v-model="itemselproj.hoursplanned"
|
||||
rounded outlined
|
||||
@input="modifyfieldproj('hoursplanned')"
|
||||
@update:model-value="modifyfieldproj('hoursplanned')"
|
||||
:label="$t('proj.hoursplanned')"
|
||||
debounce="500">
|
||||
|
||||
@@ -500,7 +500,7 @@
|
||||
<div class="flex-item itemdata">
|
||||
<CDate
|
||||
:readonly="readonly_PanelPrivacySel" :mydate="itemselproj.begin_development"
|
||||
@input="itemselproj.begin_development = new Date(arguments[0]); modifyfieldproj('begin_development')"
|
||||
@update:model-value="itemselproj.begin_development = new Date(arguments[0]); modifyfieldproj('begin_development')"
|
||||
:label="$t('proj.begin_development')">
|
||||
</CDate>
|
||||
</div>
|
||||
@@ -508,7 +508,7 @@
|
||||
<div class="flex-item itemdata">
|
||||
<CDate
|
||||
:readonly="readonly_PanelPrivacySel" :mydate="itemselproj.begin_test"
|
||||
@input="itemselproj.begin_test = new Date(arguments[0]); modifyfieldproj('begin_test')"
|
||||
@update:model-value="itemselproj.begin_test = new Date(arguments[0]); modifyfieldproj('begin_test')"
|
||||
:label="$t('proj.begin_test')">
|
||||
</CDate>
|
||||
</div>
|
||||
@@ -520,7 +520,7 @@
|
||||
style="min-width: 150px" :readonly="readonly_PanelPrivacySel" rounded outlined
|
||||
v-model="itemselproj.actualphase"
|
||||
:options="selectPhase"
|
||||
@input="modifyfieldproj('actualphase')"
|
||||
@update:model-value="modifyfieldproj('actualphase')"
|
||||
:label="$t('proj.actualphase')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
@@ -530,7 +530,7 @@
|
||||
style="min-width: 150px"
|
||||
:readonly="readonly_PanelPrivacySel" rounded outlined v-model="itemselproj.totalphases"
|
||||
:options="selectPhase"
|
||||
@input="modifyfieldproj('totalphases')"
|
||||
@update:model-value="modifyfieldproj('totalphases')"
|
||||
:label="$t('proj.totalphases')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
@@ -599,7 +599,7 @@
|
||||
:descr="$t('proj.progresstask')"
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
:progressval="itemtodosel.progress"
|
||||
:slider="true" @input="itemtodosel.progress = arguments[0]"></CProgress>
|
||||
:slider="true" @update:model-value="itemtodosel.progress = arguments[0]"></CProgress>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-container clMain">
|
||||
@@ -608,7 +608,7 @@
|
||||
<CDate
|
||||
:mydate="itemtodosel.start_date"
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
@input="itemtodosel.start_date = new Date(arguments[0]); modifyfieldtodo('start_date')"
|
||||
@update:model-value="itemtodosel.start_date = new Date(arguments[0]); modifyfieldtodo('start_date')"
|
||||
:label="$t('todo.start_date')">
|
||||
|
||||
</CDate>
|
||||
@@ -619,7 +619,7 @@
|
||||
<CDate
|
||||
:readonly="((itemtodosel.statustodo !== tools.Status.COMPLETED) || readonly_PanelPrivacy)"
|
||||
:mydate="itemtodosel.completed_at"
|
||||
@input="itemtodosel.completed_at = new Date(arguments[0]); modifyfieldtodo('completed_at')"
|
||||
@update:model-value="itemtodosel.completed_at = new Date(arguments[0]); modifyfieldtodo('completed_at')"
|
||||
:label="$t('todo.completed_at')">
|
||||
</CDate>
|
||||
</div>
|
||||
@@ -630,7 +630,7 @@
|
||||
<q-select
|
||||
rounded outlined v-model="itemtodosel.phase" :options="selectPhase"
|
||||
:readonly="readonly_PanelPrivacy"
|
||||
@input="modifyfieldtodo('phase')"
|
||||
@update:model-value="modifyfieldtodo('phase')"
|
||||
:label="$t('todo.phase')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user