diff --git a/src/assets/icons/locked.svg b/src/assets/icons/locked.svg new file mode 100644 index 0000000..6bbe3cc --- /dev/null +++ b/src/assets/icons/locked.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/components/base/BaseInput.vue b/src/components/base/BaseInput.vue index fbd8b25..6bac6b4 100644 --- a/src/components/base/BaseInput.vue +++ b/src/components/base/BaseInput.vue @@ -1,9 +1,9 @@ diff --git a/src/pages/newCalendar/components/RecordCreationForm.vue b/src/pages/newCalendar/components/RecordCreationForm.vue index 3b839c2..7671b7c 100644 --- a/src/pages/newCalendar/components/RecordCreationForm.vue +++ b/src/pages/newCalendar/components/RecordCreationForm.vue @@ -5,24 +5,42 @@ .flex.gap-x-3.items-center .text.font-semibold Статус .flex.gap-x-1 - .input.flex.items-center.pl-4 - .text-input.font-medium Не принят + .input.flex.items-center.pl-4.gap-x-1 + img(:src="currentStatus.icon") + .text-input.font-medium {{currentStatus.name}} q-btn.change.flex.w-7.h-7(dense, padding="4px 4px") img(:src="folder") + q-menu + .status.flex.items-center.gap-x-1.font-medium.text-smm( + v-for="status in patientData.statuses", + @click="choiceStatus(status)", + v-close-popup + ) + img(:src="status.icon") + span {{status.name}} .flex.gap-x-3.items-center .text.font-semibold Дата: .flex.gap-x-1 .input.flex.items-center.pl-4 - .text-input.font-medium 24 мая 2020 + .text-input.font-medium {{currentDate.format("DD MMMM YYYY")}} q-btn.change.flex.w-7.h-7(dense, padding="4px 4px") img(:src="calendar") + q-menu( + transition-show="scale", + transition-hide="scale", + self="top middle", + :offset="[118, 14]", + ) + base-calendar(v-model="currentDate") .flex.gap-x-3.items-center .text.font-semibold Время: .flex.gap-x-1 .input.flex.items-center.pl-4 .text-input.font-medium 13:00 - 14:00 - q-btn.change.flex.w-7.h-7(dense, padding="4px 4px") + q-btn.change.flex.w-7.h-7(@click="isShowTime = true", dense, padding="4px 4px") img(:src="time") + base-modal(v-model="isShowTime", title="Время", modal-padding) + base-time-modal(:times="times", :close-modal-time="closeModalTime") .flex.h-14.gap-x-3.items-center.text-smm .text.font-semibold Медкарта: .flex.gap-x-1 @@ -42,7 +60,7 @@ span Выберите услуги q-btn.change.flex.w-7.h-7(dense, padding="4px 4px") img(:src="folder") - base-input-full-name(:info-client="infoClient") + base-input-full-name(:info-client="patientData") .flex.flex-col.flex-auto.l.gap-y-8 .flex button.title-info.px-6.py-2.cursor-pointer.w-full.text-sm( @@ -54,16 +72,36 @@ ) {{form.title}} component( v-bind:is="currentForm", - :basic-info="infoClient.basic", - :phone="infoClient.phone", - :email="infoClient.email", + :basic-info="patientData.basic", + :phone="patientData.phone", + :email="patientData.email", :add-network="addNewNetwork", - :priority-list="priorityList", - :identity-document="infoClient.identity_document", - :addresses="infoClient.addresses", + :priority-list="patientData.priorityList", + :identity-document="patientData.identity_document", + :addresses="patientData.addresses", :save-file="saveDocFile", :networks-list="getNetworksList", ) + .footer.flex.gap-2 + q-btn( + color="primary", + outline, + size="16px", + no-caps, + label="Отменить" + :style="{width: '126px', height: '40px'}", + padding="0", + @click="closeForm" + ) + q-btn( + color="primary", + size="16px", + no-caps, + label="Создать запись" + :style="{width: '174px', height: '40px'}", + padding="0", + @click="closeForm" + ) @@ -231,4 +261,17 @@ export default { &.active color: var(--btn-blue-color) border-bottom: 1.5px solid var(--btn-blue-color) + +.footer + border-top: 1px solid var(--border-light-grey-color) + margin: 40px -32px 0px + padding: 16px 32px 0px 32px + +.status + border-radius: 4px + height: 28px + padding: 8px 8px 8px 5px + &:hover + background: var(--bg-light-grey) + cursor: pointer diff --git a/src/pages/newCalendar/utils/calendarConfig.js b/src/pages/newCalendar/utils/calendarConfig.js index ce35b3d..fa2c1e7 100644 --- a/src/pages/newCalendar/utils/calendarConfig.js +++ b/src/pages/newCalendar/utils/calendarConfig.js @@ -136,3 +136,65 @@ export const patientList = [ choice: false, }, ]; +export const patientData = { + basic: { + full_name: "", + birth_date: null, + priority: { + id: null, + label: "", + }, + contacts: [ + { + kind: { + id: "TELEGRAM", + icon: "app:icon-tg", + }, + username: "", + }, + ], + }, + identity_document: { + pass: { + series_number: "", + issued_by_org: "", + issued_by_date: null, + issued_by_org_code: "", + }, + snils: { + kind: "СНИЛС", + number: "", + }, + inn: { + kind: "ИНН", + number: "", + }, + }, + phone: { username: "" }, + email: { username: "" }, + addresses: {}, + priorityList: [ + { + id: 1, + label: "Высокий", + }, + { + id: 2, + label: "Средний", + }, + { + id: 3, + label: "Низкий", + }, + { + id: 4, + label: "-", + }, + ], + statuses: [ + { name: "Отказ", icon: rejected, check: false }, + { name: "Не принят", icon: not_accepted, check: true }, + { name: "На приеме", icon: reception, check: false }, + { name: "Принят", icon: accepted, check: false }, + ], +};