diff --git a/src/pages/clients/components/ClientDetailInfoSection.vue b/src/pages/clients/components/ClientDetailInfoSection.vue
index b2ab550..84a7fd6 100644
--- a/src/pages/clients/components/ClientDetailInfoSection.vue
+++ b/src/pages/clients/components/ClientDetailInfoSection.vue
@@ -1,8 +1,6 @@
.section-wrapper.flex.flex-col.h-fit.cursor-pointer(
:style="{width: settings[section].width + 'px', 'min-height': settings[section].height + 'px', background: changeBackground}",
- :class="sectionAnimationClasses",
- @click="output(section)"
)
.section-header.flex.items-center.justify-between.pl-4.pr-3(:class="{small:settings[section].rowFlex}")
span.text-sm.font-semibold.whitespace-nowrap {{settings[section].title}}
@@ -20,6 +18,7 @@
v-if="!isChange && (this.isData || this.isAddress || this.isAttachments)",
@click="changeClientData"
)
+ .icon-edit.text-base.mt-1
.flex.relative
base-button(
v-if="settings[section].addFile",
@@ -27,9 +26,9 @@
:rounded="true",
:outlined="true",
:added="true",
- :size="24"
+ :size="20"
)
- .icon-plus(class="pt-[2px]")
+ .icon-plus.text-sm(class="pt-[2px]")
base-popup.right-3.top-5(
v-if="section === 'docs' && isOpenAddingWrap",
v-click-outside="closePopup",
@@ -61,60 +60,85 @@
:add-new-additional="addDocAdditional",
:save-additional="saveDocs"
)
- .section-body.flex.flex-col.gap-y-4.px-4(
- :class="{'pt-3 pb-4': isData || isAddress || isAttachments}",
- )
- .flex.flex-col.gap-y-4
- .flex.flex-col(v-for="(item, key) in sectionInfo", class="gap-y-1.5")
- span.title-section.font-semibold.text-xs(
- v-if="settings[section].options") {{settings[section].options[key]}}
- span.title-section.font-semibold.text-xs(v-if="item.header") {{item.header}}
- client-detail-input.text-sm.w-max-fit(
- v-if="section!=='docs' && isChange && settings[section].options[key] !== 'Дата выдачи'",
- :style="{fontWeight:key === 'numba'&&600}",
- v-model:value="sectionInfo[key]",
- :rows="section ==='pass' ? 2 : 1",
- :placeholder="settings[section].placeholder[key]"
- :sharp="settings[section].sharps[key] && section === 'pass' ? settings[section].sharps[key] : ''"
- )
- base-input-date.input.text-sm(
- v-else-if="isChange && section !== 'docs'",
- v-model:value="sectionInfo.issued_by_date"
- )
- .copy.icon-copy.cursor-pointer(
- v-if="item.copy",
- @click="() => copyValue(item)"
+ transition(name="section", mode="out-in")
+ .flex.justify-center.items-center(
+ v-if="sectionDataPresence",
+ :style="{height: settings[section].voidHeight + 'px'}"
+ )
+ base-loader(
+ :width="60",
+ :height="60"
+ )
+ .section-body.flex.flex-col.gap-y-4.px-4(
+ v-else-if="(this.isData || this.isAddress || this.isAttachments) && !isChange",
+ :class="{'pt-3 pb-4': isData || isAddress || isAttachments}",
+ )
+ .flex.flex-col.gap-y-4
+ .flex.flex-col(v-for="(item, key) in sectionInfo", class="gap-y-1.5")
+ span.title-section.font-semibold.text-xs(v-if="settings[section].options") {{settings[section].options[key]}}
+ span.title-section.font-semibold.text-xs(v-if="item.header") {{item.header}}
+ .flex(v-if="settings[section].options && !isChange")
+ span.text-sm.w-fit(:style="{fontWeight:key === 'numba'&&600}") {{key === 'issued_by_date' ? formattedDate : item}}
+ .copy.icon-copy.cursor-pointer.pl-4(
+ v-if="key === 'numba'",
+ @click="() => copyValue(item)"
+ )
+ .flex(v-if="item.name && !isChange")
+ span.text-sm.w-fit {{item.title}}
+ .flex.items-center(v-if="item.title")
+ .flex.gap-x-2.items-center
+ img(:src="iconDictionary[item?.document?.substr(item.document.lastIndexOf('.') + 1)]")
+ span.text-sm {{item.title}}
+ span.text-sm(v-if="item.document") {{`.${item?.document?.substr(item.document.lastIndexOf(".") + 1)}`}}
+ .section-body.flex.flex-col.gap-y-4.px-4(
+ v-else-if="(this.isData || this.isAddress || this.isAttachments) && isChange",
+ :class="{'pt-3 pb-4': isData || isAddress || isAttachments}",
+ )
+ .flex.flex-col.gap-y-4
+ .flex.flex-col(v-for="(item, key) in sectionInfo", class="gap-y-1.5")
+ span.title-section.font-semibold.text-xs(
+ v-if="settings[section].options",
+ ) {{settings[section].options[key]}}
+ span.title-section.font-semibold.text-xs(v-if="item.header") {{item.header}}
+ client-detail-input.text-sm.w-max-fit(
+ v-if="section!=='docs' && isChange && settings[section].options[key] !== 'Дата выдачи'",
+ :style="{fontWeight:key === 'numba'&&600}",
+ v-model:value="sectionInfo[key]",
+ :rows="section ==='pass' ? 2 : 1",
+ :placeholder="settings[section].placeholder[key]"
+ :sharp="settings[section].sharps[key] && section === 'pass' ? settings[section].sharps[key] : ''"
)
- .flex(v-if="settings[section].options && !isChange")
- span.text-sm.w-fit(:style="{fontWeight:key === 'numba'&&600}") {{key === 'issued_by_date' ? formattedDate : item}}
- .copy.icon-copy.cursor-pointer.pl-4(
- v-if="key === 'numba'",
- @click="() => copyValue(item)"
+ base-input-date.input.text-sm(
+ v-else-if="isChange && section !== 'docs'",
+ v-model:value="sectionInfo.issued_by_date"
)
- .separation.flex.items-center.justify-center.relative.mt-10px.mb(
- v-if="section === 'addresses' && isChange",
- class="gap-y-1.5"
- )
- .line.absolute
- .text-separation.span.text-sm.separator.px-2 или
- .flex.flex-col.gap-y-4(v-if="section === 'addresses' && isChange")
- client-detail-section-address(:dope-address="dopeAddress")
- .flex(v-if="item.name && !isChange")
- span.text-sm.w-fit {{item.title}}
- .flex.items-center(v-if="item.title")
- .icon-cancel.cancel.cursor-pointer.pr-3.text-xsm(
- v-if="isChange",
- :id="item.id",
- @click="deleteDoc(item.id)"
+ .copy.icon-copy.cursor-pointer(
+ v-if="item.copy",
+ @click="() => copyValue(item)"
+ )
+ .separation.flex.items-center.justify-center.relative.mt-10px.mb(
+ v-if="section === 'addresses' && isChange",
+ class="gap-y-1.5"
)
- .flex.gap-x-2.items-center
- img(:src="iconDictionary[item?.document?.substr(item.document.lastIndexOf('.') + 1)]")
- span.text-sm {{item.title}}
- span.text-sm(v-if="item.document") {{`.${item?.document?.substr(item.document.lastIndexOf(".") + 1)}`}}
- .section-add.flex.justify-center.items-center.cursor-pointer(
- :style="{height: settings[section].voidHeight + 'px'}"
- @click="openAddDoc"
- ) Добавить данные
+ .line.absolute
+ .text-separation.span.text-sm.separator.px-2 или
+ .flex.flex-col.gap-y-4(v-if="section === 'addresses' && isChange")
+ client-detail-section-address(:dope-address="dopeAddress")
+ .flex.items-center(v-if="item.title")
+ .icon-cancel.cancel.cursor-pointer.pr-3.text-xsm(
+ v-if="isChange",
+ :id="item.id",
+ @click="deleteDoc(item.id)"
+ )
+ .flex.gap-x-2.items-center
+ img(:src="iconDictionary[item?.document?.substr(item.document.lastIndexOf('.') + 1)]")
+ span.text-sm {{item.title}}
+ span.text-sm(v-if="item.document") {{`.${item?.document?.substr(item.document.lastIndexOf(".") + 1)}`}}
+ .section-add.flex.justify-center.items-center.cursor-pointer(
+ v-else
+ :style="{height: settings[section].voidHeight + 'px'}"
+ @click="openAddDoc"
+ ) Добавить данные