diff --git a/src/components/base/BaseDownload.vue b/src/components/base/BaseDownload.vue
new file mode 100644
index 0000000..3139b34
--- /dev/null
+++ b/src/components/base/BaseDownload.vue
@@ -0,0 +1,98 @@
+
+ label.download.flex.cursor-pointer.relative.items-center.justify-center.rounded(
+ :style="{height: `${height}px`, width: width ? `${width}px` : '100%'}"
+ )
+ q-icon.absolute(
+ v-if="withIcon",
+ name="app:download",
+ size="24px"
+ )
+ .flex.flex-col.items-center.justify-center.absolute.font-medium.text-smm.w-full(
+ v-else,
+ :style="{color: 'var(--font-grey-color)'}"
+ )
+ span {{`Загрузите ${titleType}`}}
+ label(:style="{color: 'var(--btn-blue-color)'}") с компьютера
+ span или перетащите его в это поле
+ base-input(
+ @change="(e) => addNewFiles(e)",
+ doc,
+ type="file",
+ :accept="getAccept",
+ id="download",
+ :style="{zIndex: '-1'}",
+ borderless,
+ :multiple="multiple"
+ )
+
+
+
+
+
diff --git a/src/pages/newMedicalCard/components/HealthState/HealthStateCreateModal.vue b/src/pages/newMedicalCard/components/HealthState/HealthStateCreateModal.vue
new file mode 100644
index 0000000..e3e753e
--- /dev/null
+++ b/src/pages/newMedicalCard/components/HealthState/HealthStateCreateModal.vue
@@ -0,0 +1,72 @@
+
+ base-modal(v-model="value", title="Добавление записи" modal-padding)
+ .form-wrapper.flex.flex-col.gap-y-6.justify-start.mt-1
+ span.text-smm.font-medium.title-inputs {{`Дата: ${dataEntry.date}`}}
+ .flex.flex-col.gap-y-4.w-full
+ .flex.flex-col.gap-y-6px.justify-start.w-full
+ span.text-smm.font-semibold.title-inputs Карта здоровья
+ base-download(
+ v-model="dataEntry.pictures",
+ multiple,
+ :returned-fields="['photo', 'id', 'name', 'size']"
+ )
+ .grey-border.rounded-md.flex.w-full.py-2.pr-4.pl-2.justify-between.items-center(v-for="picture in dataEntry.pictures")
+ .flex
+ img.grey-border.rounded.w-8.h-8(:src="picture.photo")
+ .flex.flex-col.gap-y-6px.justify-start.w-full
+ span.text-smm.font-semibold.title-inputs Комментарий врача
+ .flex.gap-x-2.text-smm
+ q-btn(
+ color="primary",
+ outline,
+ size="16px",
+ no-caps,
+ label="Отменить",
+ padding="10px 24px 10px 24px",
+ @click="closeModal"
+ )
+ q-btn(
+ color="primary",
+ size="16px",
+ no-caps,
+ label="Сохранить",
+ padding="10px 24px 10px 24px",
+ )
+
+
+
+
+
diff --git a/src/pages/newMedicalCard/components/HealthState/HealthStateForm.vue b/src/pages/newMedicalCard/components/HealthState/HealthStateForm.vue
index f9a2faa..c5d6f30 100644
--- a/src/pages/newMedicalCard/components/HealthState/HealthStateForm.vue
+++ b/src/pages/newMedicalCard/components/HealthState/HealthStateForm.vue
@@ -1,6 +1,6 @@
medical-form-wrapper(
- :title="`${value?.year} год`",
+ :title="`${moment(value?.date).format('YYYY')} год`",
:is-edit="isEdit",
:open-edit="openEdit",
:cancel="cancelEdit",
@@ -60,7 +60,6 @@
id="download",
:style="{zIndex: '-1'}",
borderless,
- multiple
)
.flex.w-full.flex-col.gap-y-2
.flex.font-semibold.text-sm(:style="{color: 'var(--font-grey-color)'}") Комментарий врача
@@ -89,6 +88,7 @@
import MedicalFormWrapper from "@/pages/newMedicalCard/components/MedicalFormWrapper.vue";
import BaseInput from "@/components/base/BaseInput";
import BaseModalShowingPicture from "@/components/base/BaseModalShowingPicture.vue";
+import moment from "moment";
import { mapActions, mapGetters } from "vuex";
import { v_model } from "@/shared/mixins/v-model";
@@ -97,6 +97,7 @@ export default {
components: { MedicalFormWrapper, BaseModalShowingPicture, BaseInput },
data() {
return {
+ moment,
isEdit: false,
isCheckChange: true,
isShowsPicture: false,
diff --git a/src/pages/newMedicalCard/components/HealthState/HealthStateHeader.vue b/src/pages/newMedicalCard/components/HealthState/HealthStateHeader.vue
index 810f865..6b082a5 100644
--- a/src/pages/newMedicalCard/components/HealthState/HealthStateHeader.vue
+++ b/src/pages/newMedicalCard/components/HealthState/HealthStateHeader.vue
@@ -2,16 +2,28 @@
.header.flex.w-full.rounded.justify-between.items-center.py-5.pl-6.pr-5
.span.text-2xl.font-bold Карты здоровья
q-btn(
+ @click="() => {isOpenModal = true}"
color="primary",
no-caps
)
q-icon.mr-2(size="20px" name="add")
span Добавить запись
+ health-state-create-modal(v-model="isOpenModal")
diff --git a/src/pages/newMedicalCard/utils/gettersObjects.js b/src/pages/newMedicalCard/utils/gettersObjects.js
index 0a6248a..0396036 100644
--- a/src/pages/newMedicalCard/utils/gettersObjects.js
+++ b/src/pages/newMedicalCard/utils/gettersObjects.js
@@ -150,3 +150,26 @@ export function getToothImageConfig(data) {
});
return resulConfig;
}
+export function getReturnedObjectImg(fields, e, file) {
+ let result = {};
+ fields.forEach((field) => {
+ switch (field) {
+ case "file":
+ result.file = file;
+ break;
+ case "photo":
+ result.photo = e.target.result;
+ break;
+ case "id":
+ result.id = Math.random();
+ break;
+ case "name":
+ result.name = file.name;
+ break;
+ case "size":
+ result.size = (file.size / 1024 / 1024).toFixed(1);
+ break;
+ }
+ });
+ return result;
+}
diff --git a/src/store/modules/medicalCard.js b/src/store/modules/medicalCard.js
index ceca573..554b1ff 100644
--- a/src/store/modules/medicalCard.js
+++ b/src/store/modules/medicalCard.js
@@ -394,7 +394,7 @@ const getters = {
return [
{
id: 1,
- year: 2023,
+ date: "2023-02-22",
pictures: [],
comments: [
{
@@ -410,7 +410,7 @@ const getters = {
},
{
id: 2,
- year: 2022,
+ date: "2022-02-22",
pictures: [],
comments: [
{
@@ -426,7 +426,7 @@ const getters = {
},
{
id: 3,
- year: 2021,
+ date: "2021-02-22",
pictures: [],
comments: [
{