From efd1f97041355f0e9e47239f5c65125cbe332a6b Mon Sep 17 00:00:00 2001 From: Daria Golova Date: Thu, 27 Jul 2023 16:54:16 +0300 Subject: [PATCH] =?UTF-8?q?WIP=20=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/base/BaseSelect.vue | 59 ++++++- .../components/MedicalCardSearchHeader.vue | 101 ++++++++---- .../components/MedicalCardSearchList.vue | 131 +-------------- src/pages/medcards/utils/medcardsConfig.js | 151 ++++++++++++++++++ 4 files changed, 281 insertions(+), 161 deletions(-) diff --git a/src/components/base/BaseSelect.vue b/src/components/base/BaseSelect.vue index b7a5538..6abe91a 100644 --- a/src/components/base/BaseSelect.vue +++ b/src/components/base/BaseSelect.vue @@ -13,22 +13,42 @@ map-options, :clearable="clearable", dropdown-icon="app:down-arrow", - :menu-offset="[0, 8]" + :menu-offset="[0, 8]", + :use-input="useInput", + :placeholder="useInput && placeholder ? placeholder : ''", + @filter="filterFn", + :popup-content-style="popupContentStyle" ) template(v-slot:selected) - span(v-if="!value?.icon", :class="{placeholder: placeholder}") {{ textSelect }} + span(v-if="!value?.icon", :class="placeholderColor") {{ textSelect }} q-icon.selected-icon( v-else, :name="iconSelect", size="24px" ) - template(v-slot:option="scope") + template(v-slot:option="scope", v-if="!customOption") q-item(v-bind="scope.itemProps", style="justify-content: center", v-if="value?.icon") q-item-section(avatar, style="padding: 0px; min-width: 0px") q-icon.icon(:name="scope.opt.icon", size="24px") q-item.item.px-4.py-2(v-bind="scope.itemProps", style="justify-content: center", v-else) q-item-section q-item-label.text-dark.text-base.font-medium {{ scope.opt.label }} + template(v-slot:option="{itemProps, opt}", v-else) + slot( + name="customOption", + :props="itemProps", + :label="opt.label" + :avatar="opt.avatar", + :medcard="opt.medcard" + ) + template(v-slot:prepend, v-if="iconLeft") + slot(name="iconLeft") + template(v-slot:append, v-if="iconRight") + slot(name="iconRight") + template(v-slot:before-options) + slot(name="beforeOptions") + template(v-slot:no-option) + slot(name="noOption") diff --git a/src/pages/medcards/components/MedicalCardSearchHeader.vue b/src/pages/medcards/components/MedicalCardSearchHeader.vue index 4293ff2..2ec8d57 100644 --- a/src/pages/medcards/components/MedicalCardSearchHeader.vue +++ b/src/pages/medcards/components/MedicalCardSearchHeader.vue @@ -1,17 +1,37 @@