0.0.131 search routes

This commit is contained in:
SBD
2025-01-24 21:43:03 +03:00
parent 04af851875
commit ca05de3d7d
18 changed files with 336 additions and 221 deletions

View File

@@ -279,7 +279,7 @@ def find_routes_ajax(request):
if routes_Dict['routes']:
html = render_to_string('blocks/b_search_routes.html', routes_Dict, request=request)
html = render_to_string('v2/blocks/b_search_routes_result.html', routes_Dict, request=request)
else:
html = render_to_string('templates_js_translate/not_found_find_routes.html', routes_Dict, request=request)

View File

@@ -5,6 +5,7 @@
background: #FFFFFF;
border-radius: 10px;
height: fit-content;
.title{
font-size: var(--form-title-font-size);
font-weight: 700;

View File

@@ -10,5 +10,6 @@
.routes_content_part{
margin-top: 50px;
display: grid;
grid-template-columns: 30% calc(100% - 30%);
grid-template-columns: 30% calc(100% - 30% - 41px);
gap: 41px;
}

View File

@@ -392,7 +392,7 @@
justify-content: center;
text-align: unset;
}
&:not(&.inactive){
&:not(&.inactive) and &:not(&.unhovered){
&:hover{
background: var(--route-btn-hover-bg);
.route_btn_title{color: var(--route-btn-hover-text-color);}
@@ -455,4 +455,20 @@
font-size: var(--route-number-font-size);
margin-top: var(--route-number-margin-top);
}
.respond_route_cont{
display: grid;
grid-template-columns: calc(100% - 47px) 37px;
gap: 10px;
}
.chat_btn{
padding: 6.5px;
background: #FF613A;
border-radius: 10px;
img{
display: block;
height: 24px;
width: 24px;
filter: invert(1);
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -9,7 +9,10 @@ function searchRoutes (form) {
data: formData,
data_type: 'formData',
success: function (res) {
if (!res.html) return;
let $parent = $('.routes_search_results')[0]
$parent.innerHTML = res.html;
}
})

View File

@@ -0,0 +1,3 @@
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}

View File

@@ -115,3 +115,14 @@ function highlightRoute(el) {
request.ajaxRequest()
}
function respondBtnClickEvent(el) {
if (!el) return;
let $parent = el.closest(".route_card_owner_info")
let $responde_cont = $parent.querySelector(".respond_route_cont")
$(el).fadeOut(500);
sleep(500).then(() => {
$($responde_cont).fadeIn(500);
})
}

View File

@@ -3,6 +3,6 @@
<div class="b_my_routes">
{% for route in routes %}
{% include 'v2/widgets/w_customer_route_card.html' with route=route %}
{% include 'v2/widgets/w_route_card.html' with route=route %}
{% endfor %}
</div>

View File

@@ -0,0 +1,6 @@
{% load static %}
{% load i18n %}
{% for route in routes %}
{% include "v2/widgets/w_route_card_for_search.html" %}
{% endfor %}

View File

@@ -0,0 +1,39 @@
{% load static %}
{% load i18n %}
<div class="route_card_actions_container">
<div class="delete_route" onclick="deleteRoute(this)">{% trans "Удалить" %}</div>
<div class="right_part_action_btns">
<div class="route_btn" data-actions_count="{{ remains_route_rising_count }}" data-action="raise" onclick="raiseRoute(this)">
<div class="route_btn_title">{% trans "Поднять" %}</div>
<div class="route_btn_data">Осталось поднятий: {{ remains_route_rising_count }}</div>
</div>
<div class="route_btn" data-actions_count="{{ remains_route_highlight_count }}" data-action="highlight" onclick="highlightRoute(this)">
<div class="route_btn_title">{% trans "Выделить цветом" %}</div>
<div class="route_btn_data">Осталось выделений: {{ remains_route_highlight_count }}</div>
</div>
<div class="route_btn solid" data-action="change" onclick="changeRoute(this)">
<div class="route_btn_title">{% trans "Редактировать" %}</div>
</div>
</div>
</div>
<div class="route_btn phone mobile inactive" style="--route-btn-width: auto;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;--route-btn-margin: 20.5px 0 0 0;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
<div class="route_card_actions_container mobile">
<div class="route_btn solid" style="--route-btn-width: auto;" data-action="change" onclick="changeRoute(this)">
<div class="route_btn_title">{% trans "Редактировать" %}</div>
</div>
<div class="container_actions_mobile">
<div class="route_btn" data-actions_count="{{ remains_route_rising_count }}" style="--route-btn-height: fit-content;--route-btn-width: auto;" data-action="raise" onclick="raiseRoute(this)">
<div class="route_btn_title">{% trans "Поднять" %}</div>
<div class="route_btn_data">Осталось поднятий: {{ remains_route_rising_count }}</div>
</div>
<div class="route_btn" data-actions_count="{{ remains_route_highlight_count }}" style="--route-btn-height: fit-content;--route-btn-width: auto;" data-action="highlight" onclick="highlightRoute(this)">
<div class="route_btn_title">{% trans "Выделить цветом" %}</div>
<div class="route_btn_data">Осталось выделений: {{ remains_route_highlight_count }}</div>
</div>
</div>
<div class="delete_route" onclick="deleteRoute(this)">{% trans "Удалить" %}</div>
</div>

View File

@@ -0,0 +1,50 @@
{% load static %}
{% load i18n %}
<div class="route_card_info_data">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{% if route.owner.user_profile.avatar %}{{ route.owner.user_profile.avatar.url }}{% endif %}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_name">{{ route.owner }}</div>
<div class="card_splitter"></div>
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
<div class="route_btn phone inactive" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>
<div class="route_card_info_data mobile">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
<div class="route_btn phone inactive" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
</div>
<div class="card_owner_name">{{ route.owner }}</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>

View File

@@ -0,0 +1,54 @@
{% load static %}
{% load i18n %}
<div class="route_card_info_data">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{% if route.owner.user_profile.avatar %}{{ route.owner.user_profile.avatar.url }}{% endif %}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_name">{{ route.owner }}</div>
<div class="card_splitter"></div>
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
<div class="respond_route_cont" style="display: none;">
<div class="route_btn phone unhovered" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;">
<img src="{% static "v2/icons/widgets/w_route_card/phone.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone|truncatechars:20 }}</div>
</div>
<div class="chat_btn">
<img src="{% static "v2/icons/widgets/w_route_card/chat.png" %}" alt="">
</div>
</div>
<div class="route_btn solid" onclick="respondBtnClickEvent(this)" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 38.5px;">
<div class="route_btn_title big">{% trans "Откликнуться" %}</div>
</div>
</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>
<div class="route_card_info_data mobile">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
</div>
<div class="card_owner_name">{{ route.owner }}</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>

View File

@@ -0,0 +1,129 @@
{% load static %}
{% load i18n %}
<div class="route_card_route_data">
<div class="from_to_place_data">
<div class="label departure_from">{% trans "Забрать из:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.from_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.from_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.from_city.name }}/{{ route.from_city.country.name }}
</div>
</div>
{% if route.owner_type == 'mover' %}
<div class="route_date_data" style="--route-date-data-justify: left;--route-date-data-margin: 10px 0 0 0;">
{% trans "Отправка:" %}
<div class="date_data_value">{{ route.departure_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="route_way_data">
<div class="route_transport">
<div class="route_transport_name">{{ route.get_type_transport_display }}</div>
{% if route.type_transport == '' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'road' %}
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'avia' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
{% endif %}
</div>
<div class="way_progress_line_container">
<div class="way_progress_round"></div>
<div class="way_progress_line"></div>
<div class="way_progress_arrows_line"></div>
<div class="way_progress_round"></div>
</div>
{% if route.owner_type == 'customer' %}
<div class="route_date_data">
{% trans "Дата доставки:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="from_to_place_data">
<div class="label arrival_to">{% trans "Доставить в:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.to_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.to_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.to_city.name }}/{{ route.to_city.country.name }}
</div>
</div>
{% if route.owner_type == 'mover' %}
<div class="route_date_data" style="--route-date-data-justify: right;--route-date-data-margin: 10px 0 0 0;">
{% trans "Прибытие:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
</div>
<div class="route_card_route_data mobile">
<div class="way_progress_line_container mobile">
<div class="way_progress_round"></div>
<div class="way_progress_line"></div>
<div class="way_progress_arrows_line"></div>
<div class="way_progress_round"></div>
</div>
<div class="right_part_route_card">
<div class="from_to_place_data">
<div class="label departure_from">{% trans "Забрать из:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.from_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.from_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.from_city.name }}/{{ route.from_city.country.name }}
</div>
</div>
</div>
<div class="route_way_data">
<div class="route_transport">
<div class="route_transport_name">{{ route.get_type_transport_display }}</div>
{% if route.type_transport == '' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'road' %}
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'avia' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
{% endif %}
</div>
<div class="route_date_splitter"></div>
{% if route.owner_type == 'customer' %}
<div class="route_date_data">
{% trans "Дата доставки:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% else %}
<div class="route_date_data">
{% trans "Отправка:" %}
<div class="date_data_value">{{ route.departure_DT|date:'d F Y' }}</div>
</div>
<div class="route_date_data">
{% trans "Прибытие:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="from_to_place_data">
<div class="label arrival_to">{% trans "Доставить в:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.to_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.to_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.to_city.name }}/{{ route.to_city.country.name }}
</div>
</div>
</div>
</div>
</div>

View File

@@ -7,10 +7,12 @@
<link rel="stylesheet" href="{% static "v2/css/widgets/w_select_country.css" %}">
<link rel="stylesheet" href="{% static "v2/css/widgets/w_datarangepicker.css" %}">
<link rel="stylesheet" href="{% static "v2/css/pages/p_search_route_results.css" %}">
<link rel="stylesheet" href="{% static "v2/css/widgets/w_route_card.css" %}">
<script src="{% static "v2/js/forms.js" %}"></script>
<script src="{% static "v2/js/widgets/w_select_country.js" %}"></script>
<script src="{% static "v2/js/widgets/w_daterangepicker.js" %}"></script>
<script src="{% static "v2/js/blocks/b_search_routes.js" %}"></script>
<script src="{% static "v2/js/widgets/w_route_card.js" %}"></script>
{% endblock %}
{% block content %}
@@ -18,8 +20,6 @@
{% include 'v2/blocks/b_search_routes.html' %}
<div class="routes_content_part">
{% include "v2/blocks/b_filter_routes.html" %}
<div>
</div>
<div class="routes_search_results"></div>
</div>
{% endblock %}

View File

@@ -1,214 +0,0 @@
{% load i18n %}
{% load static %}
<div class="w_customer_route_card w_route_card" data-route_id="{{ route.id }}" data-owner_type="{{ route.owner_type }}">
<div class="route_card_info_data">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_name">{{ route.owner }}</div>
<div class="card_splitter"></div>
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
<div class="route_btn phone inactive" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>
<div class="route_card_info_data mobile">
<img class="route_card_text_img" src="{% static "v2/icons/widgets/w_route_card/route_card_avatar_spline.svg" %}">
<img class="route_card_owner_avatar" src="{{ route.owner.user_profile.avatar.url }}">
<div class="route_card_owner_info">
<div class="route_card_info_left_part">
<div class="card_owner_type {{ route.owner_type }}">{% if route.owner_type == 'customer' %}{% trans "Нужен перевозчик" %}{% else %}{% trans "Могу перевезти" %}{% endif %}</div>
<div class="card_cargo_type">{% trans "Тип посылки:" %} <div class="orange">{{ route.get_cargo_type_display }}</div></div>
</div>
<div class="route_btn phone inactive" style="--route-btn-width: max-content;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
</div>
<div class="card_owner_name">{{ route.owner }}</div>
<div class="route_card_text_container">
{% if route.comment %}
{{ route.comment|linebreaksbr }}
{% else %}
{% trans "Комментарий отсутствует" %}
{% endif %}
</div>
<div class="route_number">{% trans "Объявление №" %} {{ route.id }}</div>
</div>
<div class="route_card_route_data">
<div class="from_to_place_data">
<div class="label departure_from">{% trans "Забрать из:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.from_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.from_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.from_city.name }}/{{ route.from_city.country.name }}
</div>
</div>
{% if route.owner_type == 'mover' %}
<div class="route_date_data" style="--route-date-data-justify: left;--route-date-data-margin: 10px 0 0 0;">
{% trans "Отправка:" %}
<div class="date_data_value">{{ route.departure_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="route_way_data">
<div class="route_transport">
<div class="route_transport_name">{{ route.get_type_transport_display }}</div>
{% if route.type_transport == '' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'road' %}
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'avia' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
{% endif %}
</div>
<div class="way_progress_line_container">
<div class="way_progress_round"></div>
<div class="way_progress_line"></div>
<div class="way_progress_arrows_line"></div>
<div class="way_progress_round"></div>
</div>
{% if route.owner_type == 'customer' %}
<div class="route_date_data">
{% trans "Дата доставки:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="from_to_place_data">
<div class="label arrival_to">{% trans "Доставить в:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.to_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.to_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.to_city.name }}/{{ route.to_city.country.name }}
</div>
</div>
{% if route.owner_type == 'mover' %}
<div class="route_date_data" style="--route-date-data-justify: right;--route-date-data-margin: 10px 0 0 0;">
{% trans "Прибытие:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
</div>
<div class="route_card_route_data mobile">
<div class="way_progress_line_container mobile">
<div class="way_progress_round"></div>
<div class="way_progress_line"></div>
<div class="way_progress_arrows_line"></div>
<div class="way_progress_round"></div>
</div>
<div class="right_part_route_card">
<div class="from_to_place_data">
<div class="label departure_from">{% trans "Забрать из:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.from_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.from_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.from_city.name }}/{{ route.from_city.country.name }}
</div>
</div>
</div>
<div class="route_way_data">
<div class="route_transport">
<div class="route_transport_name">{{ route.get_type_transport_display }}</div>
{% if route.type_transport == '' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'road' %}
<img src="{% static "v2/icons/widgets/w_route_card/car.svg" %}" alt="">
{% elif route.type_transport == 'avia' %}
<img src="{% static "v2/icons/widgets/w_route_card/plane.svg" %}" alt="">
{% endif %}
</div>
<div class="route_date_splitter"></div>
{% if route.owner_type == 'customer' %}
<div class="route_date_data">
{% trans "Дата доставки:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% else %}
<div class="route_date_data">
{% trans "Отправка:" %}
<div class="date_data_value">{{ route.departure_DT|date:'d F Y' }}</div>
</div>
<div class="route_date_data">
{% trans "Прибытие:" %}
<div class="date_data_value">{{ route.arrival_DT|date:'d F Y' }}</div>
</div>
{% endif %}
</div>
<div class="from_to_place_data">
<div class="label arrival_to">{% trans "Доставить в:" %}</div>
<div class="place">
<div class="country">
<img src="{{ route.to_city.country.flag.url }}" alt="">
<div class="country_code">{{ route.to_city.country.code }}</div>
</div>
<div class="place_title">
{{ route.to_city.name }}/{{ route.to_city.country.name }}
</div>
</div>
</div>
</div>
</div>
<div class="route_card_actions_container">
<div class="delete_route" onclick="deleteRoute(this)">{% trans "Удалить" %}</div>
<div class="right_part_action_btns">
<div class="route_btn" data-actions_count="{{ remains_route_rising_count }}" data-action="raise" onclick="raiseRoute(this)">
<div class="route_btn_title">{% trans "Поднять" %}</div>
<div class="route_btn_data">Осталось поднятий: {{ remains_route_rising_count }}</div>
</div>
<div class="route_btn" data-actions_count="{{ remains_route_highlight_count }}" data-action="highlight" onclick="highlightRoute(this)">
<div class="route_btn_title">{% trans "Выделить цветом" %}</div>
<div class="route_btn_data">Осталось выделений: {{ remains_route_highlight_count }}</div>
</div>
<div class="route_btn solid" data-action="change" onclick="changeRoute(this)">
<div class="route_btn_title">{% trans "Редактировать" %}</div>
</div>
</div>
</div>
<div class="route_btn phone mobile inactive" style="--route-btn-width: auto;--route-btn-height: min-content;--route-btn-padding: 7.5px 11px;--route-btn-margin: 20.5px 0 0 0;">
<img src="{% static "v2/icons/widgets/w_route_card/phone_half_opacity.svg" %}" alt="">
<div class="route_btn_title big">{{ route.phone }}</div>
</div>
<div class="route_card_actions_container mobile">
<div class="route_btn solid" style="--route-btn-width: auto;" data-action="change" onclick="changeRoute(this)">
<div class="route_btn_title">{% trans "Редактировать" %}</div>
</div>
<div class="container_actions_mobile">
<div class="route_btn" data-actions_count="{{ remains_route_rising_count }}" style="--route-btn-height: fit-content;--route-btn-width: auto;" data-action="raise" onclick="raiseRoute(this)">
<div class="route_btn_title">{% trans "Поднять" %}</div>
<div class="route_btn_data">Осталось поднятий: {{ remains_route_rising_count }}</div>
</div>
<div class="route_btn" data-actions_count="{{ remains_route_highlight_count }}" style="--route-btn-height: fit-content;--route-btn-width: auto;" data-action="highlight" onclick="highlightRoute(this)">
<div class="route_btn_title">{% trans "Выделить цветом" %}</div>
<div class="route_btn_data">Осталось выделений: {{ remains_route_highlight_count }}</div>
</div>
</div>
<div class="delete_route" onclick="deleteRoute(this)">{% trans "Удалить" %}</div>
</div>
</div>

View File

@@ -0,0 +1,8 @@
{% load i18n %}
{% load static %}
<div class="w_customer_route_card w_route_card" data-route_id="{{ route.id }}" data-owner_type="{{ route.owner_type }}">
{% include 'v2/content_widgets/w_route_card/route_card_info_data.html' %}
{% include 'v2/content_widgets/w_route_card/route_card_route_data.html' %}
{% include 'v2/content_widgets/w_route_card/route_card_actions_container.html' %}
</div>

View File

@@ -0,0 +1,8 @@
{% load i18n %}
{% load static %}
<div class="w_customer_route_card w_route_card" data-route_id="{{ route.id }}" data-owner_type="{{ route.owner_type }}">
{% include 'v2/content_widgets/w_route_card/route_card_info_data_for_search.html' %}
{% include 'v2/content_widgets/w_route_card/route_card_route_data.html' %}
</div>