diff --git a/src/components/base/BaseCalendar.vue b/src/components/base/BaseCalendar.vue
new file mode 100644
index 0000000..fcdbe2d
--- /dev/null
+++ b/src/components/base/BaseCalendar.vue
@@ -0,0 +1,118 @@
+
+ .calendar-wrapper.bg-white
+ .header.px-6.pt-5.pb-18px.flex.items-center.justify-between
+ .text-smm.font-semibold {{ month }}
+ .arrows.flex.items-center.justify-center.gap-x-6
+ q-btn(
+ flat,
+ size="10px",
+ dense,
+ icon="arrow_back_ios_new",
+ text-color="black",
+ round,
+ @click="previousMonth"
+ )
+ q-btn(
+ flat,
+ icon="arrow_forward_ios",
+ size="10px",
+ text-color="black",
+ dense,
+ round,
+ @click="nextMonth"
+ )
+ .week.py-4.px-18px.grid.grid-rows-1.grid-cols-7.gap-x-1
+ .flex.items-center.justify-center.week-item.text-xsx.py-1.px-2(v-for="day of week", :key="day") {{ day }}
+ .body.pb-6.px-6.grid.grid-rows-6.grid-cols-7.gap-x-1.gap-y-2
+ .flex.items-center.justify-center.h-8.w-8.rounded-full(
+ v-for="date of dates",
+ :style="calculateCurrentMonth(date)",
+ :key="date",
+ ) {{ date.format("DD") }}
+
+
+
+
+
diff --git a/src/pages/newCalendar/TheCalendar.vue b/src/pages/newCalendar/TheCalendar.vue
index ce0caab..f892637 100644
--- a/src/pages/newCalendar/TheCalendar.vue
+++ b/src/pages/newCalendar/TheCalendar.vue
@@ -9,6 +9,7 @@
import CalendarSidebar from "@/pages/newCalendar/components/CalendarSidebar";
import CalendarOpenSidebar from "@/pages/newCalendar/components/CalendarOpenSidebar";
import CalendarWrapper from "@/pages/newCalendar/components/CalendarWrapper";
+import * as moment from "moment/moment";
export default {
name: "TheCalendar",
@@ -16,6 +17,7 @@ export default {
data() {
return {
isOpen: false,
+ currentDate: moment(),
};
},
methods: {
diff --git a/src/pages/newCalendar/components/CalendarHeader.vue b/src/pages/newCalendar/components/CalendarHeader.vue
index a420d50..0f0b16a 100644
--- a/src/pages/newCalendar/components/CalendarHeader.vue
+++ b/src/pages/newCalendar/components/CalendarHeader.vue
@@ -24,22 +24,34 @@
:width="300",
fontSize="16px",
lineHeight="19px",
- iconRight
+ iconRight,
+ id="calendarIcon"
)
- q-icon.text(name="app:calendar", size="20px")
- q-popup-proxy(
+ q-icon.text(name="app:calendar", size="20px", ref="calendarIcon", @click="changeCalendarVisibility(false)")
+ //q-popup-proxy(
cover,
transition-show="scale",
transition-hide="scale"
- )
- q-date(v-model="date", minimal)
- .flex.items-center.justify-end
- q-btn(
- v-close-popup,
- label="Закрыть",
- color="primary",
- flat
- )
+ anchor="bottom middle", self="top middle"
+ //)
+ //q-date(v-model="date", minimal, range)
+ .flex.items-center.justify-end
+ q-btn(
+ v-close-popup,
+ label="Закрыть",
+ color="primary",
+ flat
+ )
+ q-menu(
+ :style="{'margin-top': '4px !important'}"
+ target="#calendarIcon"
+ v-model="calendarVisibility",
+ transition-show="scale",
+ transition-hide="scale"
+ anchor="bottom middle",
+ self="top middle"
+ )
+ base-calendar(v-model="date")
q-btn(
color="secondary",
icon="arrow_forward_ios",
@@ -61,9 +73,10 @@
diff --git a/src/store/index.js b/src/store/index.js
index 7a0d8f0..576b379 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,5 +1,6 @@
import { createStore } from "vuex";
import medical from "./modules/medicalCard";
+import calendar from "./modules/calendar";
export default createStore({
state: {
@@ -9,6 +10,7 @@ export default createStore({
},
modules: {
medical,
+ calendar,
},
getters: {
getUrl(state) {
diff --git a/src/store/modules/calendar.js b/src/store/modules/calendar.js
new file mode 100644
index 0000000..b34864f
--- /dev/null
+++ b/src/store/modules/calendar.js
@@ -0,0 +1,17 @@
+import * as moment from "moment/moment";
+const state = () => ({
+ currentDate: moment(),
+});
+
+const getters = {};
+
+const actions = {};
+
+const mutations = {};
+
+export default {
+ state,
+ getters,
+ actions,
+ mutations,
+};