From f8ad20d1aedaabf39c95535a785598f24ebd2e4b Mon Sep 17 00:00:00 2001 From: Paolo Arena Date: Sun, 21 Feb 2021 02:05:39 +0100 Subject: [PATCH] Reportistica Ore 1 --- .../CEventsCalendar/CEventsCalendar.scss | 6 +- .../CEventsCalendar/CEventsCalendar.ts | 46 +- .../CEventsCalendar/CEventsCalendar.vue | 1411 +++++++++-------- .../CGridTableRec/CGridTableRec.scss | 3 + src/components/CGridTableRec/CGridTableRec.ts | 46 +- .../CGridTableRec/CGridTableRec.vue | 17 +- src/components/CHours/CHours.ts | 8 +- src/components/CHours/CHours.vue | 11 +- src/components/CMyFieldDb/CMyFieldDb.vue | 7 + src/components/CMyPopupEdit/CMyPopupEdit.ts | 7 + src/components/CMyPopupEdit/CMyPopupEdit.vue | 98 +- src/components/CMySelect/CMySelect.ts | 2 + src/components/Header/Header.ts | 6 + src/components/Header/Header.vue | 5 +- .../projects/SingleProject/SingleProject.scss | 33 +- .../projects/SingleProject/SingleProject.vue | 51 +- src/components/todos/CTodo/CTodo.ts | 50 +- src/components/todos/CTodo/CTodo.vue | 308 ++-- .../todos/SingleTodo/SingleTodo.vue | 30 +- src/mixins/mixin-base.ts | 2 +- src/model/Calendar.ts | 9 + src/model/GlobalStore.ts | 9 + src/model/Projects.ts | 3 +- src/rootgen/admin/eventlist/eventlist.ts | 6 +- src/rootgen/admin/eventlist/eventlist.vue | 225 +-- src/statics/lang/it.js | 13 +- src/store/Modules/ApiTables.ts | 89 +- src/store/Modules/GlobalStore.ts | 19 +- src/store/Modules/Projects.ts | 86 +- .../Modules/Store/calendar/CalendarStore.ts | 6 +- src/store/Modules/Todos.ts | 8 +- src/store/Modules/UserStore.ts | 14 +- src/store/Modules/costanti.ts | 2 + src/store/Modules/fieldsTable.ts | 49 +- src/store/Modules/tools.ts | 104 +- src/store/Modules/translation.ts | 9 +- src/views/projects/proj-list/proj-list.ts | 375 ++++- src/views/projects/proj-list/proj-list.vue | 964 +++++------ src/views/projects/report/report.scss | 181 +++ src/views/projects/report/report.ts | 129 ++ src/views/projects/report/report.vue | 48 + 41 files changed, 2803 insertions(+), 1692 deletions(-) create mode 100755 src/views/projects/report/report.scss create mode 100755 src/views/projects/report/report.ts create mode 100755 src/views/projects/report/report.vue diff --git a/src/components/CEventsCalendar/CEventsCalendar.scss b/src/components/CEventsCalendar/CEventsCalendar.scss index ac64c28..9bce850 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.scss +++ b/src/components/CEventsCalendar/CEventsCalendar.scss @@ -272,7 +272,7 @@ $graytext: #555; position: absolute; margin-top: -10px; overflow: hidden; - z-index: 9999; + z-index: 1000; box-sizing: border-box; right: 0; @media (max-width: 400px) { @@ -297,3 +297,7 @@ $graytext: #555; flex-flow: column; } } +.itemprenota{ + align-self: center; + color: blue; +} diff --git a/src/components/CEventsCalendar/CEventsCalendar.ts b/src/components/CEventsCalendar/CEventsCalendar.ts index 4735947..9f503b8 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.ts +++ b/src/components/CEventsCalendar/CEventsCalendar.ts @@ -74,6 +74,8 @@ export default class CEventsCalendar extends MixinEvents { msgbooking: '', infoevent: '', numpeople: 1, + numpeopleLunch: 0, + numpeopleDinner: 0, datebooked: tools.getDateNow(), booked: false, modified: false @@ -137,29 +139,7 @@ export default class CEventsCalendar extends MixinEvents { } - public resources = [ - { - label: 'John' - }, - { - label: 'Mary' - }, - { - label: 'Susan' - }, - { - label: 'Olivia' - }, - { - label: 'Board Room' - }, - { - label: 'Room-1' - }, - { - label: 'Room-2' - } - ] + public resources = [] // public eventdata = // [ @@ -365,6 +345,8 @@ export default class CEventsCalendar extends MixinEvents { get hasModifiedBooking() { return (this.bookEventpage.bookedevent.numpeople !== this.bookEventForm.numpeople) || + (this.bookEventpage.bookedevent.numpeopleLunch !== this.bookEventForm.numpeopleLunch) || + (this.bookEventpage.bookedevent.numpeopleDinner !== this.bookEventForm.numpeopleDinner) || (this.bookEventpage.bookedevent.msgbooking !== this.bookEventForm.msgbooking) || (this.bookEventpage.bookedevent.booked !== this.bookEventForm.booked) } @@ -450,16 +432,18 @@ export default class CEventsCalendar extends MixinEvents { this.eventForm = { ...this.formDefault } } - public addEventMenu(day, type) { - // console.log('addeventmenu editable = ', this.editable) + public addEventMenu(day) { + console.log('addeventmenu', day) if (this.calendarView === 'scheduler' || this.calendarView === 'week-scheduler' || this.calendarView === 'month-scheduler' || !this.editable) { return } this.resetForm() - this.contextDay = { ...day } + this.contextDay = { ...day.scope } - this.eventForm.dateTimeStart = tools.getstrYYMMDDDateTime(day.date + ' 21:00:00') - this.eventForm.dateTimeEnd = tools.getstrYYMMDDDateTime(day.date + ' 22:00:00') + this.eventForm.dateTimeStart = tools.getstrYYMMDDDateTime(day.scope.date + ' 21:00:00') + this.eventForm.dateTimeEnd = tools.getstrYYMMDDDateTime(day.scope.date + ' 22:00:00') + + console.log('eventForm', this.eventForm) this.addEvent = true // show dialog } @@ -479,6 +463,8 @@ export default class CEventsCalendar extends MixinEvents { this.myevent = eventparam this.bookEventForm.msgbooking = '' this.bookEventForm.numpeople = 1 + this.bookEventForm.numpeopleLunch = 0 + this.bookEventForm.numpeopleDinner = 0 this.bookEventForm.booked = true this.bookEventpage.state = EState.Creating @@ -703,6 +689,8 @@ export default class CEventsCalendar extends MixinEvents { if (bookedevent) { this.bookEventForm._id = bookedevent._id this.bookEventForm.numpeople = bookedevent.numpeople + this.bookEventForm.numpeopleLunch = bookedevent.numpeopleLunch + this.bookEventForm.numpeopleDinner = bookedevent.numpeopleDinner this.bookEventForm.infoevent = bookedevent.infoevent this.bookEventForm.msgbooking = bookedevent.msgbooking this.bookEventForm.booked = bookedevent.booked @@ -755,6 +743,8 @@ export default class CEventsCalendar extends MixinEvents { userId: UserStore.state.my._id, id_bookedevent: myevent._id, numpeople: self.bookEventForm.numpeople, + numpeopleLunch: self.bookEventForm.numpeopleLunch, + numpeopleDinner: self.bookEventForm.numpeopleDinner, infoevent: tools.gettextevent(self, myevent), msgbooking: self.bookEventForm.msgbooking, booked: self.bookEventForm.booked, diff --git a/src/components/CEventsCalendar/CEventsCalendar.vue b/src/components/CEventsCalendar/CEventsCalendar.vue index fc39f17..29001ed 100755 --- a/src/components/CEventsCalendar/CEventsCalendar.vue +++ b/src/components/CEventsCalendar/CEventsCalendar.vue @@ -1,66 +1,75 @@ diff --git a/src/components/CGridTableRec/CGridTableRec.scss b/src/components/CGridTableRec/CGridTableRec.scss index 6380566..845760c 100755 --- a/src/components/CGridTableRec/CGridTableRec.scss +++ b/src/components/CGridTableRec/CGridTableRec.scss @@ -16,4 +16,7 @@ padding-right: 2px; padding-top: 0; padding-bottom: 0; + &__title { + font-size: 1rem; + } } diff --git a/src/components/CGridTableRec/CGridTableRec.ts b/src/components/CGridTableRec/CGridTableRec.ts index 94a149e..c4a882a 100755 --- a/src/components/CGridTableRec/CGridTableRec.ts +++ b/src/components/CGridTableRec/CGridTableRec.ts @@ -5,7 +5,7 @@ import { GlobalStore, UserStore } from '../../store/Modules/index' import { tools } from '../../store/Modules/tools' import { shared_consts } from '../../common/shared_vuejs' -import { ICategory, IColGridTable, IFilter, ITableRec } from '../../model' +import { ICategory, IColGridTable, IFilter, ITableRec, IPagination } from '../../model' import { CTodo } from '../todos/CTodo' import { SingleProject } from '../projects/SingleProject' import { lists } from '../../store/Modules/lists' @@ -19,18 +19,28 @@ import { CMyDashboard } from '../CMyDashboard' components: { CMyPopupEdit, CTitleBanner, CMyDashboard } }) export default class CGridTableRec extends Vue { + private addRow: string = 'Aggiungi' @Prop({ required: true }) public prop_mytitle: string @Prop({ required: false }) public prop_mytable: string @Prop({ required: false, default: null }) public prop_mycolumns: any[] @Prop({ required: false, default: '' }) public prop_colkey: string @Prop({ required: false, default: '' }) public prop_codeId: string @Prop({ required: false, default: '' }) public nodataLabel: string + @Prop({ required: false, default: 'Aggiungi' }) public labelBtnAddRow: string @Prop({ required: false, default: '' }) public noresultLabel: string - @Prop({ required: false, default: {} }) public defaultnewrec: any + @Prop({ + required: false, default: function mydef() { + return true + } + }) public defaultnewrec: any @Prop({ required: false, default: null }) public tablesList: ITableRec[] @Prop({ required: false, default: null }) public arrfilters: IFilter[] @Prop({ required: false, default: [] }) public filterdef: number[] @Prop({ required: false, default: {} }) public extraparams: any + @Prop({ + required: false, + default: { sortBy: '', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } + }) public pagination: IPagination public newRecordBool: boolean = false public newRecord: any = {} @@ -47,13 +57,6 @@ export default class CGridTableRec extends Vue { public $q public $t public loading: boolean = false - public pagination: { - sortBy: string, - descending: boolean - rowsNumber: number - page: number, - rowsPerPage: number // specifying this determines pagination is server-side - } = { sortBy: '', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } public serverData: any [] = [] public spinner_visible: boolean = false @@ -63,9 +66,9 @@ export default class CGridTableRec extends Vue { public valPrec: string = '' public separator: 'horizontal' - public myfilter = undefined + public myfilter: any = '' public myfilterand = [] - public rowsel: any = {} + public rowsel: any = {} public dark: boolean = true public canEdit: boolean = false @@ -210,9 +213,15 @@ export default class CGridTableRec extends Vue { this.valPrec = valinitial this.saveFieldValue(mydata) + + } + + public beforeMount() { + console.log('beforeMount') } public created() { + console.log('created') // this.serverData = this.mylist.slice() // [{ chiave: 'chiave1', valore: 'valore 1' }] this.mytable = this.prop_mytable @@ -450,6 +459,7 @@ export default class CGridTableRec extends Vue { } public mounted() { + console.log('GridTable mounted', this.tablesel) if (!!this.tablesList) { this.canEdit = tools.getCookie(tools.CAN_EDIT, this.canEdit) === 'true' @@ -684,6 +694,7 @@ export default class CGridTableRec extends Vue { if (ris) { // console.log('ris', ris) this.newRecordBool = false + this.refresh() } }) } @@ -694,4 +705,17 @@ export default class CGridTableRec extends Vue { this.annulla(0) } } + + get isfinishLoading() { + return GlobalStore.state.finishLoading + } + + get getlabelAddRow() { + return this.labelBtnAddRow + } + + get visButtRow() { + return this.labelBtnAddRow !== this.addRow + } + } diff --git a/src/components/CGridTableRec/CGridTableRec.vue b/src/components/CGridTableRec/CGridTableRec.vue index 27e4318..20128b7 100755 --- a/src/components/CGridTableRec/CGridTableRec.vue +++ b/src/components/CGridTableRec/CGridTableRec.vue @@ -1,9 +1,11 @@