medical-form-wrapper(
id="documents",
title="Документы",
:is-check-change="isCheckChange",
:is-edit="isEdit",
:cancel="cancelEdit",
:open-edit="openEdit",
:save="saveChange"
)
q-form.form-wrap.gap-x-6.w-full(ref="documentForm", :no-error-focus="true")
.data-section.flex.flex-col.gap-2(
v-for="data in configData",
:key="data.dataLabel",
:class="data?.dataClass"
)
.font-semibold.text-sm.whitespace-nowrap {{data.dataLabel}}
.flex.w-full.items-center.gap-4(
v-for="field in data.fields",
:key="field.label"
)
.label-field.font-sm.text-sm.whitespace-nowrap {{`${field.label} :`}}
.flex.gap-3.items-center.h-10(v-if="field.type === 'photo'")
q-avatar(
rounded,
size="40px",
v-if="docData[data.dataKey]?.attachments?.photo"
)
img.h-10.w-10.object-cover(
:src="docData[data.dataKey]?.attachments?.photo",
:alt="docData[data.dataKey][field.label]"
)
q-badge.delete(
floating,
v-if="isEdit",
rounded,
@click="removeImage(data?.dataKey, field?.key)",
:style="{padding: 0}"
)
q-icon.cancel-icon(name="app:cancel-mini", size="16px")
.replace-photo.font-medium.text-base.cursor-pointer(
v-if="isEdit",
@click="openModal(data.dataKey)",
) {{ docData[data.dataKey][field.key]?.photo ? "Заменить фото" : "Добавить фото"}}
base-modal(v-model="showModal", title="Загрузить изображение" v-if="photoId === data.dataKey")
base-upload-photo(
v-model="docData[photoId][field.key]",
:confirm-upload="confirmChangePhoto",
)
base-input-date(
v-if="field.type === 'date'",
v-model="docData[data.dataKey][field.key]",
:name="data.dataKey + ':' + field.key",
@update:model-value="checkChangeDocData",
:readonly="!isEdit",
width="100%",
:mask="field?.inputMask",
:rule="(val) => !personDataField.includes(data.dataKey + ':' + field.key) ? checkPassportFields(val, field.rules) : field.rules(val)",
size="M",
)
base-input(
v-if="field.type === 'text'",
v-model="docData[data.dataKey][field.key]",
:name="data.dataKey + ':' + field.key",
@update:model-value="checkChangeDocData",
:readonly="!isEdit",
:type="field.type",
width="100%",
:mask="field?.inputMask",
:rule="[(val) => !personDataField.includes(data.dataKey + ':' + field.key) ? checkPassportFields(val, field.rules) : field.rules(val, initialDocData?.[data.dataKey]?.id)]",
size="M"
)
q-icon.my-auto.cursor-pointer.copy(
size="20px",
name="app:copy",
v-if="checkCopiedFields(field.key) && !!docData[data.dataKey][field.key]",
@click="copyValue(docData[data.dataKey][field.key])"
)