chore: initial import for test contour with k3s CI
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<div id="detail-specialist" class="modal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-body">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<div class="modal-title popup__title">Полное расписание</div>
|
||||
<div class="popup__content">
|
||||
<div class="text-center loading d-none">
|
||||
<img src="/images/eclipse.gif" alt="load">
|
||||
</div>
|
||||
|
||||
<div class="popup-staff about-specialist d-none">
|
||||
<a href="#" class="popup-staff__img"></a>
|
||||
<div class="popup-staff__info">
|
||||
<a href="#" class="popup-staff__name"></a>
|
||||
<div class="popup-staff__position"></div>
|
||||
<div class="popup-staff__exp"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="current-dates mb-3"></div>
|
||||
<div class="popup-inteval calendar-wrap">
|
||||
<div class="calendar-body popup-inteval__item"></div>
|
||||
</div>
|
||||
|
||||
<div class="popup-btns mt-3">
|
||||
<button class="popup-btn button btn-prev">Предыдущая неделя</button>
|
||||
<button class="popup-btn button btn-next">Следующая неделя</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,208 @@
|
||||
{% set onlineMode = 0 %}
|
||||
{% set href = path('specialist_show', {'alias': specialist.alias}) %}
|
||||
|
||||
{% if app.request.attributes.get('_route') in ['specialist_online_index'] %}
|
||||
{% set onlineMode = 1 %}
|
||||
{% set href = path('specialist_show', {'alias': specialist.alias, 'specialist_search' : { 'onlineMode': onlineMode }}) %}
|
||||
{% endif %}
|
||||
|
||||
{% if app.request.get('specialist_search')['onlineMode'] is defined and app.request.get('specialist_search')['onlineMode'] == 1 %}
|
||||
{% set onlineMode = 1 %}
|
||||
{% set href = path('specialist_show', {'alias': specialist.alias, 'specialist_search' : { 'onlineMode': onlineMode }}) %}
|
||||
{% endif %}
|
||||
{% set specialistMore = specialist.specialistMore %}
|
||||
|
||||
<div class="block-item staff-block block-content">
|
||||
<div class="staff-block__main">
|
||||
{% if link %}
|
||||
<a href="{{ href }}" class="staff-block__img" style="
|
||||
background: url(https://api.sovamed.ru/specialist/picture/{{ specialist.img }}) no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center 0px;
|
||||
"></a>
|
||||
{% else %}
|
||||
<span class="staff-block__img" style="
|
||||
background: url(https://api.sovamed.ru/specialist/picture/{{ specialist.img }}) no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center 0px;
|
||||
"></span>
|
||||
{% endif %}
|
||||
|
||||
<div class="staff-block__info staff-info">
|
||||
{% if link %}
|
||||
<a class="staff-info__name" href="{{ href }}">
|
||||
{{ specialist.fio[0] }} <br>
|
||||
{{ specialist.fio[1] }}
|
||||
|
||||
{% if specialist.fio[2] is defined %}
|
||||
{{ specialist.fio[2] }}
|
||||
{% endif %}
|
||||
</a>
|
||||
{% else %}
|
||||
<p class="staff-info__name">
|
||||
{{ specialist.fio[0] }} <br>
|
||||
{{ specialist.fio[1] }}
|
||||
|
||||
{% if specialist.fio[2] is defined %}
|
||||
{{ specialist.fio[2] }}
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% autoescape %}
|
||||
<div class="staff-info__position">{{ specialist.speciality }}</div>
|
||||
|
||||
{% if specialist.degree is defined and specialist.degree is not null %}
|
||||
<div class="staff-info__param">
|
||||
{{ specialist.degree }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.kinder is defined and specialist.kinder is not null %}
|
||||
<div class="staff-info__param">
|
||||
Приём детей с {{ specialist.kinder }} {{ textYear(specialist.kinder, false) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.experience is defined and specialist.experience is not null %}
|
||||
<div class="staff-info__param">
|
||||
Опыт работы: {{ specialist.experience }} {{ textYear(specialist.experience, true) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.category is defined and specialist.category is not null %}
|
||||
<div class="staff-info__param">
|
||||
Категория: {{ specialist.category }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.acceptsDms is defined and specialist.acceptsDms is not null %}
|
||||
<div class="staff-info__param{% if not specialist.acceptsDms %} staff-info__param--dms-no{% endif %}">
|
||||
{{ specialist.acceptsDms ? 'Принимает по ДМС' : 'Не принимает по ДМС' }}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endautoescape %}
|
||||
|
||||
{% if specialistMore.hasReviews %}
|
||||
<a href="{{ path('specialist_show', {'alias': specialist.alias, '_fragment': 'reviews'}) }}" class="staff-info__review">
|
||||
Отзывы
|
||||
</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="staff-info__time-list time-list" id="pcode" data-pcode="{{ csrf_token('send-veretify-sms') }}">
|
||||
<div {% if specialist.isInfoclinica %}
|
||||
data-controller='checkSchedule' data-id="{{ specialistMore.defaultLocation.dcode|default(0) }}:{{ onlineMode }}:{{ specialist.infoclinica }}"
|
||||
{% endif %}>
|
||||
|
||||
{% set render = true %}
|
||||
|
||||
{% if specialistMore.locationsCount > 1 %}
|
||||
<div class="filter__input-wrap">
|
||||
{% if onlineMode and render %}
|
||||
{% for location in specialistMore.locations %}
|
||||
{% if location.onlineMode == 1 and render %}
|
||||
{% set render = false %}
|
||||
<div class="filter__select bg-address onlineMode">
|
||||
<span value="{{ location.dcode }}:{{ location.filial }}:{{ location.department }}:1:{{ specialist.infoclinica }}">
|
||||
Онлайн консультация
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<select data-controller='selectpicker' data-width="100%" class="filter__select select-schedule" style="padding-left: 10px;padding-right: 10px;">
|
||||
{% for location in specialistMore.locations %}
|
||||
<option value="{{ location.dcode }}:{{ location.filial }}:{{ location.department }}:0:{{ specialist.infoclinica }}">
|
||||
{{ location.addressName }}: {{ location.name }}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="filter__input-wrap">
|
||||
{% if specialistMore.defaultLocation.onlineMode|default(false) == true and onlineMode and render %}
|
||||
{% set render = false %}
|
||||
<div class="filter__select bg-address onlineMode">
|
||||
<span value="{{ specialistMore.defaultLocation.dcode }}:{{ specialistMore.defaultLocation.filial }}:{{ specialistMore.defaultLocation.department }}:1:{{ specialist.infoclinica }}">
|
||||
Онлайн консультация
|
||||
</span>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="filter__select bg-address">
|
||||
<span value="{{ specialist.defaultLocation.dcode|default(0) }}:{{ specialist.defaultLocation.filial|default(0) }}:{{ specialist.defaultLocation.department|default(0) }}:0:{{ specialist.infoclinica }}">
|
||||
{{ specialistMore.defaultLocation.addressName|default('null') }}
|
||||
</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if specialist.infoclinica %}
|
||||
<p class="time-list__title">Удобное время для записи: <span class="cdate">загружается</span></p>
|
||||
{% else %}
|
||||
<p class="time-list__title">Вы можете записаться, оставив заявку</p>
|
||||
{% endif %}
|
||||
|
||||
<div class="time-intervals mt-3 mb-1">
|
||||
{% if specialist.infoclinica %}
|
||||
<div class="intervals time-list__intervals" id="{{ specialistMore.defaultLocation.dcode|default(0) }}:{{ onlineMode }}:{{ specialist.infoclinica }}">
|
||||
<div class="intervals-wrap"></div>
|
||||
<span
|
||||
class="btn-show-specialist-detail show-specialist-detail"
|
||||
data-address="{{ specialistMore.defaultLocation.address|default('') }}"
|
||||
data-company="{{ specialistMore.defaultLocation.company|default('') }}"
|
||||
data-onlineMode="{{ onlineMode }}"
|
||||
data-departmentId="{{ specialistMore.defaultLocation.department|default(0) }}"
|
||||
data-filialId="{{ specialistMore.defaultLocation.filial|default(0) }}"
|
||||
data-specialistId="{{ specialistMore.defaultLocation.dcode|default(0) }}"
|
||||
data-docName="{{ specialist.name|default('') }}"
|
||||
data-controller="calendar"
|
||||
data-comment="{{ specialist.name|default('') }}, {{ specialist.speciality|default('') }}"
|
||||
>Все даты</span>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="intervals time-list__intervals space-between">
|
||||
<button
|
||||
data-docName="{{ specialist.name|default('') }}"
|
||||
data-address="{{ specialistMore.defaultLocation.address|default('') }}"
|
||||
data-company="{{ specialistMore.defaultLocation.company|default('') }}"
|
||||
data-comment="{{ specialist.name|default('') }}, {{ specialist.speciality|default('') }}"
|
||||
class="btn-show-specialist-detail"
|
||||
type="button"
|
||||
data-controller="uslugi"
|
||||
>Записаться</button>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="time-list__bottom">
|
||||
{% set route = app.request.get('_route') %}
|
||||
{% if isShowInRegion([91,92,93]) %}
|
||||
{% if specialistMore.minPrice is not null and route != 'specialist_online_index' and onlineMode != 1 %}
|
||||
<span class="time-list__price">Прием от {{ specialistMore.minPrice.priceInfo.price }} ₽</span>
|
||||
{% else %}
|
||||
<span class="time-list__price"> </span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<div data-controller='favorites' data-sid="{{ specialistMore.defaultLocation.dcode|default(0) }}" class="d-block text-right mr-3">
|
||||
<i class="fa fa-bookmark d-none dislike" aria-hidden="true">
|
||||
<span class="dislike" aria-hidden="true">
|
||||
<span style="font-family: Circe;">
|
||||
В моих врачах
|
||||
</span>
|
||||
</span>
|
||||
</i>
|
||||
<i class="fa fa-bookmark-o like like-btn" aria-hidden="true">
|
||||
<span class="like" aria-hidden="true">
|
||||
<span style="font-family: Circe;">
|
||||
В избранное
|
||||
</span>
|
||||
</span>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,43 @@
|
||||
{% if specialistMore.hasReviews %}
|
||||
{% set reviews = specialistMore.reviews %}
|
||||
<div id="reviews" data-controller="slideshow" class="owl-carousel owl-theme hide">
|
||||
{% for index, review in reviews %}
|
||||
<div class="staff-review slide">
|
||||
{% if review.active == true %}
|
||||
<h6><b>{{ review.author }}</b></h6>
|
||||
<hr>
|
||||
<div class="rating mb-2">
|
||||
{% for i in 1..5 %}
|
||||
{% if review.rating|float >= i %}
|
||||
<i class="fa fa-star" aria-hidden="true"></i>
|
||||
{% else %}
|
||||
<i class="fa fa-star-o" aria-hidden="true"></i>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% autoescape 'html' %}
|
||||
|
||||
{% set message = minText(review.message) %}
|
||||
|
||||
{% if message.crop %}
|
||||
<div id="crop-{{ review.id }}" class="crop-message">{{ message.text }}</div>
|
||||
<div id="full-{{ review.id }}" class="full-message d-none">{{ review.message|striptags }}</div>
|
||||
{% else %}
|
||||
<div class="full-message">{{ message.text|striptags }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if message.crop %}
|
||||
<button class="btn-show show-msg mt-3" data-show-id="{{ review.id }}">весь отзыв</button>
|
||||
{% endif %}
|
||||
|
||||
<p>Дата написания: {{ review.dateCreate|date('d.m.Y', timezone='Europe/Moscow') }}</p>
|
||||
|
||||
<a class="reviews-block__link" rel="nofollow" target="_blank" href="{{ review.source }}">
|
||||
Перейти на отзыв с портала
|
||||
</a>
|
||||
{% endautoescape %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,74 @@
|
||||
<span class="filter__close">
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.9596 6.95962C12.2134 6.70578 12.2134 6.29422 11.9596 6.04038C11.7057 5.78654 11.2942 5.78654 11.0403 6.04038L11.9596 6.95962ZM6.04033 11.0404C5.78649 11.2942 5.78649 11.7058 6.04033 11.9596C6.29417 12.2135 6.70573 12.2135 6.95957 11.9596L6.04033 11.0404ZM6.95967 6.04038C6.70583 5.78654 6.29428 5.78654 6.04043 6.04038C5.78659 6.29422 5.78659 6.70578 6.04043 6.95962L6.95967 6.04038ZM11.0404 11.9596C11.2943 12.2135 11.7058 12.2135 11.9597 11.9596C12.2135 11.7058 12.2135 11.2942 11.9597 11.0404L11.0404 11.9596ZM11.0403 6.04038L6.04033 11.0404L6.95957 11.9596L11.9596 6.95962L11.0403 6.04038ZM6.04043 6.95962L11.0404 11.9596L11.9597 11.0404L6.95967 6.04038L6.04043 6.95962ZM15.85 9C15.85 12.7832 12.7832 15.85 9 15.85V17.15C13.5011 17.15 17.15 13.5011 17.15 9H15.85ZM9 15.85C5.21685 15.85 2.15 12.7832 2.15 9H0.85C0.85 13.5011 4.49888 17.15 9 17.15V15.85ZM2.15 9C2.15 5.21685 5.21685 2.15 9 2.15V0.85C4.49888 0.85 0.85 4.49888 0.85 9H2.15ZM9 2.15C12.7832 2.15 15.85 5.21685 15.85 9H17.15C17.15 4.49888 13.5011 0.85 9 0.85V2.15Z" fill="#8E8C8C"/>
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
{{ form_start(searchForm, {'attr': {'data-controller': 'kinderFilter'}}) }}
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.kinder, {'attr': {
|
||||
'class': 'filter__select',
|
||||
'data-controller' : 'selectpicker'
|
||||
}}) }}
|
||||
</div>
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.order_by, {'attr': {'class': 'filter__select d-none'}}) }}
|
||||
</div>
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.name, {'attr': {'class': 'filter__select d-none'}}) }}
|
||||
</div>
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.department, {'attr': {
|
||||
'class': 'filter__select',
|
||||
'data-live-search': 'true',
|
||||
'data-controller' : 'selectpicker'
|
||||
}}) }}
|
||||
</div>
|
||||
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.category, {'attr': {
|
||||
'class': 'filter__select',
|
||||
'data-live-search': 'true',
|
||||
'data-controller' : 'selectpicker',
|
||||
'data-placeholder': 'Категория'
|
||||
}}) }}
|
||||
</div>
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.filial, {'attr': {
|
||||
'class': 'filter__select selectpicker',
|
||||
'data-controller' : 'selectpicker',
|
||||
'data-placeholder': 'Все клиники'
|
||||
}}) }}
|
||||
</div>
|
||||
<div class="filter__input-wrap" data-controller="quickDateRange">
|
||||
{{ form_widget(searchForm.current_date, {'attr': {
|
||||
'class': 'filter__input filter__input--date',
|
||||
'data-controller': 'datePicker',
|
||||
'data-quickDateRange-target': 'input',
|
||||
'range': 'true',
|
||||
'placeholder': 'Сегодня',
|
||||
'autocomplete': 'off'
|
||||
}}) }}
|
||||
<div class="d-flex gap-2 mt-2">
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-secondary flex-fill submit-filter filter__btn"
|
||||
data-action="click->quickDateRange#today"
|
||||
>Сегодня</button>
|
||||
<button
|
||||
type="button"
|
||||
class="btn btn-outline-secondary flex-fill submit-filter filter__btn"
|
||||
data-action="click->quickDateRange#tomorrow"
|
||||
>Завтра</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filter__input-wrap">
|
||||
{{ form_widget(searchForm.onlineMode, {'attr': {'class': 'filter__checkbox'}}) }}
|
||||
{{ form_label(searchForm.onlineMode, 'Онлайн консультация', {'label_attr': {'class': 'filter__checkbox-label'}}) }}
|
||||
</div>
|
||||
|
||||
{{ form_row(searchForm._token) }}
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn btn-outline-secondary submit-filter filter__btn submit-filter">Найти</button>
|
||||
</div>
|
||||
{{ form_end(searchForm) }}
|
||||
@@ -0,0 +1,5 @@
|
||||
{% form_theme searchForm 'bootstrap_4_layout.html.twig' %}
|
||||
{{ form_start(searchForm) }}
|
||||
{{ form_widget(searchForm) }}
|
||||
<button class="btn btn-primary">{{ button_label|default('Search') }}</button>
|
||||
{{ form_end(searchForm) }}
|
||||
@@ -0,0 +1,4 @@
|
||||
<form method="post" action="{{ path('admin_toggle_location_status', {'id': location.id }) }}" onsubmit="return confirm('Are you sure you want to change status active this item?');">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token('toggle' ~ location.id) }}">
|
||||
<button class="btn btn-primary mb-1">{{ location.active ? 'Disable' : 'Enable' }}</button>
|
||||
</form>
|
||||
@@ -0,0 +1,113 @@
|
||||
{% extends 'admin_base.html.twig' %}
|
||||
|
||||
{% block title %}{{ title }}{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h1>{{ title }}</h1>
|
||||
<div class="my-2">
|
||||
{{ include('specialist/admin/_form.html.twig') }}
|
||||
</div>
|
||||
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>FIO</th>
|
||||
<th>Picture</th>
|
||||
<th>Address</th>
|
||||
<th>Department</th>
|
||||
<th>Dcode or bitrixID</th>
|
||||
<th>Active</th>
|
||||
<th>Actions</th>
|
||||
<th>Updated Location</th>
|
||||
<th>Update</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for specialist in pagination %}
|
||||
<tr span="5">
|
||||
<td>{{ specialist.id }}</td>
|
||||
<td>{{ specialist.name }}</td>
|
||||
<td><a href="/specialist/picture/{{ specialist.id }}?size=1" target="_blank">show picture</a></td>
|
||||
|
||||
{% if specialist.locationAllCount > 0 %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
<p>{{ location.filial.address }}</p>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.locationAllCount > 0 %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
<p>{{ location.department.did }}</p>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.locationAllCount > 0 %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
<p>{{ location.dcode }}</p>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.locationAllCount > 0 %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
<p>{{ location.active ? 'on' : 'off' }}</p>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.locationAllCount == 0 %}
|
||||
<td>disabled</td>
|
||||
{% else %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
{{ include('specialist/admin/_toggle_form.html.twig') }}
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.locationAllCount > 0 %}
|
||||
<td>
|
||||
{% for location in specialist.locationAll %}
|
||||
<p>{{ location.updated|date('d.m.Y') }}</p>
|
||||
{% endfor %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
{% if specialist.updated is defined %}
|
||||
<td>
|
||||
<p>{{ specialist.updated|date('d.m.Y') }}</p>
|
||||
</td>
|
||||
{% else %}
|
||||
<td>there is no data</td>
|
||||
{% endif %}
|
||||
|
||||
</tr>
|
||||
{% else %}
|
||||
<tr>
|
||||
<td colspan="6">no records found</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="d-block text-center">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,73 @@
|
||||
{% extends template ~ '.html.twig' %}
|
||||
|
||||
{% block title %} {{ title }} {% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script id="smartCaptcha" src="https://smartcaptcha.yandexcloud.net/captcha.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block filter %}
|
||||
<div class="filter__title">Найти специалиста</div>
|
||||
{{ include('specialist/_search_form.html.twig', {'searchForm': searchForm}) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div id="specialist" class="main">
|
||||
{% if(isMobile() == false) %}
|
||||
<div class="sort-block">
|
||||
<div class="call-back">
|
||||
Не нашли нужного врача?
|
||||
<a href="#" data-controller="uslugi" data-company="">Оставьте заявку для записи</a>
|
||||
</div>
|
||||
<div class="sort-line" data-controller="searchOrderByInput">
|
||||
<span id="sort-time" class="sort-line__item sort-line__item asc mx-2">
|
||||
<i class="fa fa-sort-amount-asc d-none" aria-hidden="true"></i>
|
||||
<i class="fa fa-sort-amount-desc d-none" aria-hidden="true"></i>
|
||||
по времени приема
|
||||
</span>
|
||||
{# <span id="sort-price" class="mr-2 asc">
|
||||
<i class="fa fa-sort-amount-asc d-none" aria-hidden="true"></i>
|
||||
<i class="fa fa-sort-amount-desc d-none" aria-hidden="true"></i>
|
||||
по стоимости приема
|
||||
</span> #}
|
||||
<span id="sort-abc" class="sort-line__item sort-line__item sort-line__item--active asc">
|
||||
<i class="fa fa-sort-amount-asc" aria-hidden="true"></i>
|
||||
<i class="fa fa-sort-amount-desc d-none" aria-hidden="true"></i>
|
||||
по афавиту
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="mobile-actions">
|
||||
<div class="sort-select-wrap">
|
||||
|
||||
<select class="form-control" data-controller="mobileSearchOrderByInput">
|
||||
<option value="sort-time" class="acs">по времени приема</option>
|
||||
<option value="sort-abc" class="acs">по афавиту</option>
|
||||
</select>
|
||||
</div>
|
||||
<a href="#" data-controller="filterMenu" class="mobile-filter-btn">
|
||||
<svg width="16" height="17" viewBox="0 0 16 17" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.3335 1.33325V0.683252C1.0972 0.683252 0.879525 0.811482 0.764979 1.01815C0.650432 1.22482 0.657063 1.47738 0.782297 1.67775L1.3335 1.33325ZM14.6668 1.33325L15.218 1.67775C15.3433 1.47738 15.3499 1.22482 15.2353 1.01815C15.1208 0.811482 14.9031 0.683252 14.6668 0.683252V1.33325ZM5.50016 7.99992H6.15016C6.15016 7.8781 6.11593 7.75872 6.05136 7.65542L5.50016 7.99992ZM10.5002 7.99992L9.94896 7.65542C9.8844 7.75872 9.85016 7.8781 9.85016 7.99992H10.5002ZM5.50016 12.9999H4.85016C4.85016 13.2461 4.98926 13.4712 5.20947 13.5813L5.50016 12.9999ZM10.5002 15.4999L10.2095 16.0813C10.411 16.182 10.6503 16.1713 10.8419 16.0528C11.0335 15.9344 11.1502 15.7252 11.1502 15.4999H10.5002ZM0.782297 1.67775L4.94896 8.34442L6.05136 7.65542L1.88469 0.988753L0.782297 1.67775ZM11.0514 8.34442L15.218 1.67775L14.1156 0.988753L9.94896 7.65542L11.0514 8.34442ZM4.85016 7.99992V12.9999H6.15016V7.99992H4.85016ZM5.20947 13.5813L10.2095 16.0813L10.7909 14.9185L5.79085 12.4185L5.20947 13.5813ZM11.1502 15.4999V7.99992H9.85016V15.4999H11.1502ZM1.3335 1.98325H14.6668V0.683252H1.3335V1.98325Z" fill="#005B33"/>
|
||||
</svg>
|
||||
фильтр
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="specialist-items staff-block-wrap" data-controller="specialistView" data-st="{{ st|date('Y-m-d') }}" data-en="{{ en|date('Y-m-d') }}">
|
||||
|
||||
{% for specialist in pagination %}
|
||||
{% include '/specialist/_item.html.twig' with {'link': true} %}
|
||||
{% else %}
|
||||
<p colspan="5">Не найдено, повторите поиск</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="d-block text-center">
|
||||
{{ knp_pagination_render(pagination) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% include '/specialist/_calendar.html.twig' %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,42 @@
|
||||
{% extends template ~ '.html.twig' %}
|
||||
|
||||
{% block title %}{{ title }} - {{ specialist.name }}{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script id="smartCaptcha" src="https://smartcaptcha.yandexcloud.net/captcha.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<div class="main">
|
||||
<div id="specialist">
|
||||
<div class="block-title">{{ specialistMore.defaultLocation.address }}</div>
|
||||
<div class="specialist-items" data-st="{{ st|date('Y-m-d') }}" data-en="{{ en|date('Y-m-d') }}" data-controller="specialistView">
|
||||
{% include '/specialist/_item.html.twig' with {'link': false} %}
|
||||
</div>
|
||||
</div>
|
||||
{% if isShowInRegion([91,92,93]) %}
|
||||
{% if specialistMore.hasPrice %}
|
||||
<br>
|
||||
<div class="staff-detail block-content mb-0">
|
||||
<h3>Стоимость</h3>
|
||||
<ul>
|
||||
{% for price in specialistMore.prices %}
|
||||
<li>{{ price.schname }} — {{ price.priceInfo.price }} ₽</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<br>
|
||||
<div class="staff-detail block-content mb-4">
|
||||
{% autoescape 'html' %}
|
||||
{{ specialist.description|raw }}
|
||||
{% endautoescape %}
|
||||
</div>
|
||||
|
||||
{% include '/specialist/_reviews.html.twig' %}
|
||||
</div>
|
||||
|
||||
{% include '/specialist/_calendar.html.twig' %}
|
||||
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user