From a4d6d3ac00e4a58ca4b71cbcf30f853cf1e6a92f Mon Sep 17 00:00:00 2001 From: megavrilinvv Date: Thu, 27 Jul 2023 14:27:00 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=B1=D0=B0=D0=B3?= =?UTF-8?q?=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 4 +- src/assets/sass/variables.sass | 1 + .../BasicDataForms/CurrentPatientForm.vue | 9 ++- .../components/CalendarOpenSidebar.vue | 74 +++++++++++++++++-- .../components/CalendarSidebar.vue | 49 +++++++++--- .../components/CalendarSidebarSvg.vue | 14 ++-- src/pages/newCalendar/utils/calendarConfig.js | 50 +++++-------- 7 files changed, 139 insertions(+), 62 deletions(-) diff --git a/src/App.vue b/src/App.vue index 25cbe8c..4c78d66 100644 --- a/src/App.vue +++ b/src/App.vue @@ -15,9 +15,9 @@ html height: 8px ::-webkit-scrollbar-track border-radius: 4px - background-color: var(--bg-ligth-blue-color) + background-color: var(--gray-background) ::-webkit-scrollbar-thumb - background-color: var(--bg-aqua-blue) + background-color: var(--font-grey-color) border-radius: 4px #app font-feature-settings: 'pnum' on, 'lnum' on diff --git a/src/assets/sass/variables.sass b/src/assets/sass/variables.sass index 4e8ae33..7c7a853 100644 --- a/src/assets/sass/variables.sass +++ b/src/assets/sass/variables.sass @@ -95,4 +95,5 @@ --gray-secondary: #dddde8 --system-color-red: #f34549 --system-color-green: #21ba72 + --gray-background: #e9e9ed diff --git a/src/pages/medcards/components/BasicDataForms/CurrentPatientForm.vue b/src/pages/medcards/components/BasicDataForms/CurrentPatientForm.vue index 58a342d..c7d2a36 100644 --- a/src/pages/medcards/components/BasicDataForms/CurrentPatientForm.vue +++ b/src/pages/medcards/components/BasicDataForms/CurrentPatientForm.vue @@ -36,9 +36,10 @@ export default { patient: patientList .find(({ label }) => label === "Пациенты") .data.find( - ({ time }) => - time.from <= moment().format("HH:MM") && - time.to >= moment().format("HH:MM") + (e) => + e.time.from <= moment().format("HH:MM") && + e.time.to >= moment().format("HH:MM") && + e.reception === moment().format("DD.MM.YYYY") ), prioritys: [ { name: "Без приоритета", id: 0, class: "none-priority" }, @@ -62,7 +63,7 @@ export default { }, choiceColor(priority) { return { - "grey-color": !priority, + "none-priority": !priority, "red-color": priority === 1, "blue-color": priority === 2, "green-color": priority === 3, diff --git a/src/pages/newCalendar/components/CalendarOpenSidebar.vue b/src/pages/newCalendar/components/CalendarOpenSidebar.vue index d73d3d4..b073941 100644 --- a/src/pages/newCalendar/components/CalendarOpenSidebar.vue +++ b/src/pages/newCalendar/components/CalendarOpenSidebar.vue @@ -29,7 +29,16 @@ v-for="item in elem.data" ) .status.flex.items-center.gap-x-1.px-2 - img(:src="item.icon") + q-icon( + v-if="elem.label === 'Первичная медкарта'" + :name="item.icon", + size="20px", + :class="choiceClass(item.id, 'medcard')" + ) + .priority.rounded-full.flex.mr-1.5px( + v-if="elem.label === 'Статус приема'", + :class="choiceClass(item.id, 'priority')" + ) span {{item.name}} .flex.flex-col.px-4.pt-6px.pb-0(:class="choiceState()", v-else) .flex.flex-col.gap-y-2 @@ -46,13 +55,12 @@ iconRight ) template(v-slot:iconLeft) - q-icon(name="app:icon-search", size="16px", style="color: var(--font-grey-color)") + q-icon.input-icon(name="app:search", size="16px") template(v-slot:iconRight) - q-icon.cursor-pointer( + q-icon.cursor-pointer.input-icon( @click="copyValue(foundPerson)" - name="app:icon-copy", - size="16px", - style="color: var(--font-grey-color)" + name="app:copy", + size="16px" ) q-btn.ml-2( @click="sortPerson(elem.data)", @@ -66,7 +74,7 @@ ) .flex.items-center.gap-x-2 .all-icon.flex.items-center.justify-center - calendar-sidebar-svg.p-6px(name-svg="group", active) + q-icon.icon-patients(name="app:patients", size="24px") .flex.flex-col.font-medium .text-smm Все .grey-color.text.text-xsx {{ elem.data?.length + " пациентов" }} @@ -80,7 +88,7 @@ img.h-10.w-10.object-cover.rounded-full(:src="person.avatar") .flex.flex-col.font-medium .text-smm {{trimOwnerName(person.last_name, person.first_name, person.patronymic)}} - .grey-color.text-xsx {{person.birthday}} + .grey-color.text-xsx {{trimBirthday(person.birthday)}} img.h-6.w-6(v-if="person.check", :src="icon_ok") .gradient.flex.absolute(v-if="isGradient") @@ -94,6 +102,7 @@ import { patientList } from "@/pages/newCalendar/utils/calendarConfig.js"; import { trimName } from "@/pages/newCalendar/utils/calendarFunctions.js"; import BaseButton from "@/components/base/BaseButton.vue"; import CalendarSidebarSvg from "@/pages/newCalendar/components/CalendarSidebarSvg.vue"; +import * as moment from "moment"; export default { name: "CalendarOpenSidebar", @@ -125,6 +134,23 @@ export default { }, }, methods: { + choiceClass(priority, name) { + if (name === "priority") + return { + "none-priority": !priority, + "red-color": priority === 1, + "blue-color": priority === 2, + "green-color": priority === 3, + }; + return { + medcard: !priority, + "medcard-orange": priority === 1, + "medcard-green": priority === 2, + }; + }, + trimBirthday(birthday) { + return moment(birthday, "DD MM YYYY").format("DD MMMM YYYY"); + }, choiceState() { let num = 0; let isPrimary = false; @@ -293,6 +319,13 @@ export default { &:hover opacity: 0.6 +.input-icon :deep(path) + fill: var(--font-grey-color) !important + +.priority + height: 15px + width: 15px + .grey-color color: var(--font-grey-color) @@ -306,6 +339,18 @@ export default { &:deep(path) fill: var(--font-dark-blue-color) +.none-priority + border: 1.5px solid var(--font-grey-color) + +.red-color + background: var(--system-color-red) + +.blue-color + background: var(--btn-blue-color) + +.green-color + background: var(--system-color-green) + .person-wrapper overflow-y: auto margin-right: -10px @@ -361,6 +406,19 @@ export default { .on-left margin-right: 8px + .plus :deep(path) fill: var(--default-white) + +.medcard :deep(path) + fill: var(--font-grey-color) + +.medcard-orange :deep(path) + fill: var(--bg-yellow-warning) + +.medcard-green :deep(path) + fill: var(--system-color-green) + +.icon-patients :deep(path) + fill: var(--btn-blue-color) diff --git a/src/pages/newCalendar/components/CalendarSidebar.vue b/src/pages/newCalendar/components/CalendarSidebar.vue index 6af77f4..e4e619e 100644 --- a/src/pages/newCalendar/components/CalendarSidebar.vue +++ b/src/pages/newCalendar/components/CalendarSidebar.vue @@ -39,7 +39,7 @@ .status.flex.items-center.gap-x-1.font-medium.text-smm.rounded.h-7.px-2( v-for="status in patientData.statuses" ) - img(:src="status.icon") + .priority.rounded-full.flex.mr-1.5px(:class="choiceClass(status.id)") span {{status.name}} q-menu( v-if="svg.name === 'medcard'", @@ -53,7 +53,7 @@ .status.flex.items-center.gap-x-1.font-medium.text-smm.rounded.h-7.px-2( v-for="medical in medicalData" ) - img(:src="medical.icon") + q-icon(:name="medical.icon", size="20px") span {{medical.name}} q-menu.overflow-hidden( v-if="svg.name === 'group'", @@ -78,13 +78,12 @@ iconRight ) template(v-slot:iconLeft) - q-icon(name="app:icon-search", size="16px", style="color: var(--font-grey-color)") + q-icon.input-icon(name="app:search", size="16px") template(v-slot:iconRight) - q-icon.cursor-pointer( + q-icon.cursor-pointer.input-icon( @click="copyValue(foundPerson)" - name="app:icon-copy", - size="16px", - style="color: var(--font-grey-color)" + name="app:copy", + size="16px" ) q-btn.ml-2( @click="sortPerson(patientsData)", @@ -99,6 +98,7 @@ ) .flex.items-center.gap-x-2 .all-icon.flex.items-center.justify-center + //- q-icon(name="app:patients") calendar-sidebar-svg.p-6px(name-svg="group", active) .flex.flex-col.font-medium .text-smm Все @@ -113,12 +113,13 @@ img.h-10.w-10.object-cover.rounded-full(:src="person.avatar") .flex.flex-col.font-medium .text-smm {{trimOwnerName(person.last_name, person.first_name, person.patronymic)}} - .grey-color.text.text-xsx {{person.birthday}} + .grey-color.text.text-xsx {{trimBirthday(person.birthday)}} img.h-6.w-6(v-if="person.check", :src="icon_ok") .gradient.flex.absolute(v-if="isGradient")