diff --git a/src/pages/schedule/components/ScheduleTable.vue b/src/pages/schedule/components/ScheduleTable.vue
index ff2a0e4..85dccdb 100644
--- a/src/pages/schedule/components/ScheduleTable.vue
+++ b/src/pages/schedule/components/ScheduleTable.vue
@@ -22,9 +22,14 @@
style="margin-right: 10px"
)
span Создать смену
- schedule-table-header(:result="result")
+ schedule-table-header(
+ :result="result",
+ :selected-all="selectedAll",
+ :select="select"
+ )
schedule-table-body(
:serialized="serialized",
+ :selected="selected",
:trim-owner-name="trimOwnerName",
:result="result",
:choice-cell="choiceCell",
@@ -93,6 +98,8 @@ export default {
},
activeButton: null,
choiceMonth: null,
+ selected: [],
+ selectedAll: false,
};
},
computed: {
@@ -107,6 +114,15 @@ export default {
},
},
methods: {
+ select() {
+ this.selected = [];
+ if (!this.selectedAll) {
+ for (let i in this.serialized) {
+ this.selected.push(this.serialized[i].id);
+ }
+ this.selectedAll = true;
+ } else this.selectedAll = false;
+ },
setActiveButton() {
this.activeButton = this.buttons.find((e) => e.active);
},
diff --git a/src/pages/schedule/components/ScheduleTableBody.vue b/src/pages/schedule/components/ScheduleTableBody.vue
index 4663368..b9a6842 100644
--- a/src/pages/schedule/components/ScheduleTableBody.vue
+++ b/src/pages/schedule/components/ScheduleTableBody.vue
@@ -19,17 +19,25 @@
//- :serialized="serialized",
//- :change-shift="changeShift"
//- )
- .name-employee.flex.items-center.gap-x-3.pr-9.pl-4
- base-avatar.font-medium.text-sm(
- :size="36",
- :color="schedule.color",
- v-if="!schedule.photo"
- ) {{trimInitials(schedule.last_name, schedule.first_name)}}
- base-avatar(:size="36", v-else-if="schedule.photo")
- img.h-full.object-cover(:src="url + schedule.photo")
- .font-semibold.text-sm(
- :style="{minWidth: '228px', maxWidth: '228px'}"
- ) {{schedule.last_name + " " + schedule.first_name + " " + schedule.patronymic}}
+ .name-employee.flex.items-center.gap-x-3
+ .flex.w-9
+ q-checkbox(
+ v-model="selected",
+ :val="schedule.id",
+ :style="{border: 'none', sidth: '36px'}",
+ size="32px"
+ )
+ .flex.items-center(:style="{minWidth: '357px', maxWidth: '357px'}")
+ base-avatar.font-medium.text-sm(
+ :size="36",
+ :color="schedule.color",
+ v-if="!schedule.photo"
+ ) {{trimInitials(schedule.last_name, schedule.first_name)}}
+ base-avatar(:size="36", v-else-if="schedule.photo")
+ img.h-full.object-cover(:src="url + schedule.photo")
+ .font-semibold.text-sm.pl-3(
+ :style="{minWidth: '228px', maxWidth: '228px'}"
+ ) {{schedule.last_name + " " + schedule.first_name + " " + schedule.patronymic}}
.flex.overflow-hidden
.cell.flex.flex-col.items-center.justify-center.m-1.cursor-pointer.transition(
v-for="day in result",
@@ -40,8 +48,24 @@
:style="{backgroundColor: choiceDay(day, schedule.id) ? choiceColor(day, schedule) : ''}"
)
.flex(
- :class="{'cell-work': choiceState(day, schedule.id)?.status, 'show-time': showTime}"
+ v-if="!showTime",
+ :class="{'cell-work': choiceState(day, schedule.id)?.status}"
) {{choiceDay(day, schedule.id) ? choiceWorks(day, schedule) : '-'}}
+ .flex.flex-col(
+ v-else,
+ :class="{'cell-work': choiceState(day, schedule.id)?.status, 'show-time': showTime}"
+ )
+ .cell-time.flex.justify-center(
+ :style="{backgroundColor: choiceColor(day, schedule)}"
+ ) {{choiceStartTime(day, schedule)}}
+ .cell-time.flex.justify-center(
+ ) {{choiceEndTime(day, schedule)}}
+ //- q-draggable-rows(v-model="order")
+ //- q-draggable-row.row.flex.w-full.h-14(v-for="schedule in serialized", :key="schedule.id",
+ //- :id="id"
+ //- v-model="rows[id].depth"
+ //- :collapsed.sync="rows[id].collapsed"
+ //- )