From 39160fc455ce3dc3ea988d6b433e1a55e34f4f54 Mon Sep 17 00:00:00 2001 From: megavrilinvv Date: Tue, 1 Aug 2023 12:47:31 +0300 Subject: [PATCH 1/2] =?UTF-8?q?[WIP]=20=D0=A4=D0=B8=D0=BA=D1=81=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D1=8B=20=D1=83=D1=81=D0=BB=D1=83=D0=B3=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D0=B5=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../newCalendar/components/ServicesModal.vue | 165 +++++------------- .../del_RecordCreationForm copy.vue | 16 +- src/pages/newCalendar/utils/calendarConfig.js | 130 ++++++++++++++ 3 files changed, 181 insertions(+), 130 deletions(-) diff --git a/src/pages/newCalendar/components/ServicesModal.vue b/src/pages/newCalendar/components/ServicesModal.vue index 7b5c581..3e70203 100644 --- a/src/pages/newCalendar/components/ServicesModal.vue +++ b/src/pages/newCalendar/components/ServicesModal.vue @@ -1,10 +1,10 @@ @@ -178,12 +73,24 @@ export default { .wrapper width: 422px +.basic + height: 563px + .search :deep(path) fill: var(--font-grey-color) .search :deep(.q-field__prepend) padding-right: 4px +.tags-wrapper + row-gap: 8px + flex-wrap: wrap !important + column-gap: 8px + +.tag + width: fit-content + height: 32px + .base-service border-radius: 4px border: 1px solid var(--gray-secondary) @@ -218,4 +125,14 @@ export default { .grey-color color: var(--font-grey-color) + +.checkbox :deep(.q-checkbox__bg) + border-radius: 4px + border: 1.5px solid var(--font-grey-color) + +.checkbox :deep(.q-icon) + font-size: 24px + +.checkbox :deep(rect) + fill: var(--btn-blue-color) diff --git a/src/pages/newCalendar/components/del_RecordCreationForm copy.vue b/src/pages/newCalendar/components/del_RecordCreationForm copy.vue index 9942310..0cb503c 100644 --- a/src/pages/newCalendar/components/del_RecordCreationForm copy.vue +++ b/src/pages/newCalendar/components/del_RecordCreationForm copy.vue @@ -20,7 +20,7 @@ v-else, v-for="service in services", :style="{background: service.color}" - ) {{service.name}} + ) {{service.title}} .gradient.flex.absolute( :style="{background: `linear-gradient(270deg, ${otherColor} 0%, rgba(247, 217, 255, 0) 100%)`}" ) @@ -29,7 +29,7 @@ q-btn.change.flex.w-7.h-9.rounded-md(@click="isShowServices = true", dense, padding="4px 4px") q-icon.icon(name="app:folder", size="20px") base-modal(v-model="isShowServices", title="Услуги", modal-padding) - services-modal(:close-services="closeServices") + services-modal(:close-services="closeServices", :save-services="saveServices") base-input-full-name(:info-client="patientData") .flex.flex-col.flex-auto.l.gap-y-8 .flex @@ -96,15 +96,15 @@ export default { patientData: patientData, currentStatus: patientData.statuses.find((e) => e.name === "Не принят"), services: [ - { id: 0, name: "Чистка зубов", price: 500, color: "#D8E3FF" }, - { id: 1, name: "Осмотр", price: 1300, color: "#FFF0CA" }, + { id: 0, title: "Чистка зубов", price: 500, color: "#D8E3FF" }, + { id: 1, title: "Осмотр", price: 1300, color: "#FFF0CA" }, { id: 2, - name: "Лечение среднего кариеса", + title: "Лечение среднего кариеса", price: 500, color: "#F7D9FF", }, - { id: 3, name: "Осмотр зубов", price: 1300, color: "#FFF0CA" }, + { id: 3, title: "Осмотр зубов", price: 1300, color: "#FFF0CA" }, ], forms: [ { @@ -191,6 +191,10 @@ export default { closeServices() { this.isShowServices = false; }, + saveServices(selectedServices) { + this.isShowServices = false; + selectedServices.forEach((e) => this.services.push(e)); + }, }, mounted() { this.addShadow(); diff --git a/src/pages/newCalendar/utils/calendarConfig.js b/src/pages/newCalendar/utils/calendarConfig.js index 0016afe..0157dfa 100644 --- a/src/pages/newCalendar/utils/calendarConfig.js +++ b/src/pages/newCalendar/utils/calendarConfig.js @@ -374,6 +374,136 @@ export const patientData = { ], }; +export const services = [ + { + name: "Терапия", + check: true, + data: [ + { + title: "Пломбирование кариеса", + price: "350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Консультация стоматолога", + price: "1 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "2 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "3 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "5 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "50 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "3 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "5 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Пломбирование кариеса", + price: "50 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + ], + }, + { + name: "Хирургия", + check: false, + data: [ + { + title: "Пломбирование кариеса", + price: "2 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Консультация стоматолога", + price: "1 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + ], + }, + { + name: "Ортопедия ", + check: false, + data: [ + { + title: "Пломбирование кариеса", + price: "2 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + { + title: "Консультация стоматолога", + price: "1 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + color: "var(--bg-chip-blue-color)", + }, + ], + }, + { + name: "Ортодонтия", + check: false, + data: [ + { + title: "Пломбирование кариеса", + price: "2 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + }, + { + title: "Консультация стоматолога", + price: "1 350 ₽", + time: "1 ч. 30 мин.", + checked: false, + }, + ], + }, +]; + export const recordList = [ { id: "c3df0a95-8093-41f1-9584-5b70ee05e71c", From 563b53a409870aa81c1e1579431d8864bbf0ed0b Mon Sep 17 00:00:00 2001 From: megavrilinvv Date: Tue, 1 Aug 2023 17:26:05 +0300 Subject: [PATCH 2/2] =?UTF-8?q?[WIP]=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=BC=D0=BE=D0=B4=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=BA=D0=BD=D0=BE=20=D0=B2=D1=8B=D0=B1=D0=BE?= =?UTF-8?q?=D1=80=D0=B0=20=D0=BC=D0=B5=D0=B4=D0=BA=D0=B0=D1=80=D1=82=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D0=BE=D1=80=D0=BC=D0=B5=20=D1=81=D0=BE?= =?UTF-8?q?=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=B7=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/HeaderRecordForm.vue | 31 +++- .../newCalendar/components/MedcardsModal.vue | 141 ++++++++++++++++++ 2 files changed, 167 insertions(+), 5 deletions(-) create mode 100644 src/pages/newCalendar/components/MedcardsModal.vue diff --git a/src/pages/newCalendar/components/HeaderRecordForm.vue b/src/pages/newCalendar/components/HeaderRecordForm.vue index f815467..26a4c91 100644 --- a/src/pages/newCalendar/components/HeaderRecordForm.vue +++ b/src/pages/newCalendar/components/HeaderRecordForm.vue @@ -46,13 +46,20 @@ .flex.gap-x-1 .name.flex.items-center.px-4.pt-2.pb-1.gap-x-2.rounded-md .photo.flex.h-10.w-10.items-center.justify-center - q-icon.icon(name="app:noname", size="24px") + img.w-10.h-10.rounded-full(v-if="patient", :src="patient.avatar") + q-icon.icon(v-else, name="app:noname", size="24px") .flex.flex-col.font-medium - .dark-blue Имя Фамилия - .grey-color.text-xsx.rounded-md Дата + .dark-blue {{patient ? trimPatientName(patient.last_name, patient.first_name, patient.patronymic) : "Имя Фамилия"}} + .grey-color.text-xsx.rounded-md {{patient ? patient.birthday : "Дата"}} .change.flex.items-center.rounded-md - q-btn(dense, padding="18px 4px") + q-btn(dense, padding="18px 4px", @click="isShowMedcards = true") q-icon.icon(name="app:folder", size="20px") + base-modal(v-model="isShowMedcards", title="Медкарты", modal-padding) + medcards-modal( + :save-medcard="saveMedcard", + :close-medcards="closeModalMedcards", + :patients="patients" + ) diff --git a/src/pages/newCalendar/components/MedcardsModal.vue b/src/pages/newCalendar/components/MedcardsModal.vue new file mode 100644 index 0000000..a4932b8 --- /dev/null +++ b/src/pages/newCalendar/components/MedcardsModal.vue @@ -0,0 +1,141 @@ + + + + +