medical-form-wrapper(
title="Страховка",
:is-loading-data="isLoadingData",
:is-check-change="isCheckChange",
:is-edit="isEdit",
:open-edit="openEdit",
:save="saveChange",
:cancel="cancelEdit"
)
.form-wrap.gap-24.w-full
.flex.flex-col.gap-4(v-for="insurance in insuranceConfig", :key="insurance.insuranceKey")
.font-semibold.text-sm.whitespace-nowrap {{insurance.insuranceLabel}}
.flex.w-full.justify-between.items-center.gap-4(
v-for="field in insurance.fields",
:key="insurance.insuranceKey + field.key",
:style="{marginTop: field.label === 'Документы' ? '20px' : null}"
)
.label-field.font-sm.text-sm.whitespace-nowrap {{`${field.label} :`}}
.avatar-field.flex.gap-3.items-center.h-10.w-10(v-if="field.type === 'avatar'")
.flex.w-10.h-10.relative(v-if="basic[insurance.insuranceKey][field.key]?.photo")
img.rounded.avatar.object-cover(
:src="basic[insurance.insuranceKey][field.key].photo",
alt="AV"
)
q-badge.delete(
floating,
v-if="isEdit",
@click="removeImage(insurance?.insuranceKey, field?.key)",
rounded
)
q-icon(name="app:icon-cancel", size="8px")
.replace-photo.font-medium.text-base.cursor-pointer(
v-if="isEdit",
@click="changeModal(insurance.insuranceKey)"
) {{ basic[insurance.insuranceKey][field.key]?.photo ? "Заменить фото" : "Добавить фото" }}
base-modal(
v-if="insurance.insuranceKey === photoId"
v-model="showModal",
title="Загрузить изображение"
)
base-upload-photo(
:key="insurance.insuranceKey"
v-model="basic[photoId][field.key]"
:confirm-upload="confirmChangePhoto"
)
.flex.h-10.relative(
v-else-if="field.type === 'select'",
@click="openModalCategories"
)
q-field.items-center(
:style="{cursor: isEdit ? 'pointer' : 'default'}",
standout,
:readonly="!isEdit",
:outlined="isEdit",
) {{selectCategory(basic[insurance.insuranceKey][field.key])}}
base-modal(
default-padding,
hide-header,
v-model="showModalCategories",
title="Категории"
)
base-category-selection(
:benefit-data="benefitData",
:close-modal-categories="closeModalCategories",
:save-categories="saveCategories",
:show-modal="showModalCategories",
:basic="basic.benefit",
@search="filterDataBenefit"
)
.flex.font-medium.text-smm.absolute.top-11(
v-if="basic?.benefit[insurance?.discount]",
:style="{color: 'var(--font-grey-color)'}"
)
span Процент скидки:
span(
:style="{color: 'var(--font-dark-blue-color)'}"
) {{"\xa0" + basic?.benefit[insurance?.discount] + "%"}}
.input-container.flex.flex-col.relative(v-else)
base-input(
v-model="basic[insurance.insuranceKey][field.key]",
@update:model-value="checkChangeInput",
:mask="field?.inputMask",
:readonly="!isEdit",
:standout="!isEdit",
:outlined="isEdit",
:type="field.type",
text-color="black"
)
q-icon.my-auto.text-lg.label-field.cursor-pointer(
size="18px",
name="app:icon-copy",
v-if="checkCopiedFields(field.key, basic[insurance.insuranceKey])",
@click="copyValue(basic[insurance.insuranceKey][field.key])"
)