You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
296 lines
16 KiB
296 lines
16 KiB
{% extends 'partials/base.html' %}
|
|
{% load staticfiles %}
|
|
{% load thumbnail %}
|
|
{% load user_tags %}
|
|
{% block content %}
|
|
{% include 'partials/header.html' %}
|
|
<div class="container mainScore">
|
|
<div class="row">
|
|
<div class="col-lg-12 allProjects">
|
|
<h1>Чат</h1>
|
|
</div>
|
|
<div class="btnReadyBlock disTab">
|
|
<div class="triangle1"></div>
|
|
<div class="col-lg-6 col-lg-offset-3 tabsChat">
|
|
<div class="profileTabs2">
|
|
<ul class="nav nav-tabs nav-justified">
|
|
<li role="presentation">
|
|
<a href="#tab1" data-toggle="tab">Личные<span
|
|
class="count-tab" id="count-tab-contact">{{ contacts_users_count }}</span></a>
|
|
</li>
|
|
<li role="presentation">
|
|
<a href="#tab2" data-toggle="tab">Исполнители<span
|
|
class="count-tab" id="count-tab-order">{{ orders_ms_count }}</span>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% include 'dialog_delete.html' %}
|
|
<div class="tab-content">
|
|
<!-- Tab1 (contacts block)-->
|
|
<div class="chatBlock disTab tab-pane fade in" id="tab1">
|
|
<div class="col-lg-3 wrMessages">
|
|
<div class="messageBlock box-sizing disTab">
|
|
<p>Контакты</p>
|
|
{% for contact in contacts_users %}
|
|
{% include 'inc-contact-card.html' %}
|
|
{% endfor %}
|
|
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 commChat" id="contact-chat">
|
|
<div id="message-chat-space"></div>
|
|
<form id="contact-chat-form">
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderContactId"/>
|
|
<input type="hidden" name="recipentId" id="recipentContactId">
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea>
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя
|
|
отправить</p>
|
|
|
|
<div class="bunChat">
|
|
<div class="setChat box-sizing upload">
|
|
<input type="file" name="file" id="upload-document-contact">
|
|
<p>Прикрепить файл</p>
|
|
</div>
|
|
<div id="document-send-contact"></div>
|
|
<a id="contact-chat-add-message" href="#">отправить</a>
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
<div class="col-lg-3 wrChat1">
|
|
<div class="col-lg-12 documentsChat">
|
|
<p>Прикрепленные документы</p>
|
|
<ul id="documentSpace">
|
|
</ul>
|
|
<a href="{% url 'common:create' %}">
|
|
Распечатать с помощью ресурса
|
|
</a>
|
|
</div>
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab">
|
|
<p>Заметки</p>
|
|
<ul class="contractor-notes-block">
|
|
</ul>
|
|
<form id="add-form-contractor-note">
|
|
<p>Для заметок</p>
|
|
<input type="hidden" name="sender" id="senderNoteContractor"
|
|
value="{{ request.user.pk }}"/>
|
|
<input type="hidden" name="recipent" id="recipentNoteContractor" value=""/>
|
|
<textarea id="chat2" name="text"></textarea>
|
|
<a href="#" id="add-note-contractor">сохранить</a>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- order-info -->
|
|
{% include 'contact-info.html' %}
|
|
<!-- -->
|
|
</div>
|
|
<!-- End block Tab1(contacts block)-->
|
|
|
|
<!-- Tab2 (chat order block)-->
|
|
<div class="chatBlock disTab tab-pane fade" id="tab2">
|
|
<div class="col-lg-3 wrMessages">
|
|
<div class="messageBlock box-sizing disTab">
|
|
<p>Заказы</p>
|
|
{% for order in orders %}
|
|
<div class="orderBlock box-sizing order-block"
|
|
data-team-id="
|
|
{% if order.order.team %}{{ order.order.team.pk }}{% else %}0{% endif %}"
|
|
data-project-id="{{ order.id }}"
|
|
id="orderBlock{{ order.order.id }}"
|
|
data-secure-deal="{% if order.order.secure %}true{% else %}false{% endif %}"
|
|
{% if order.order.contractor %}
|
|
data-recipent-id="{{ order.order.contractor.pk }}"
|
|
{% else %}
|
|
data-recipent-id="{{ order.order.team.owner.pk }}"
|
|
{% endif %} data-id="{{ order.order.id }}">
|
|
<span class="dimovChat"></span>
|
|
<p class="titleOB">{{ order }}</p>
|
|
<div class="hideOBB">
|
|
<p class="pOB">
|
|
<span style="display: none;"
|
|
class="order-count-{{ order.order.id }}">{% get_new_count_for_order request.user order.order.id %}</span>
|
|
<span>Исполнитель:</span>
|
|
{% if order.order.contractor %}
|
|
{{ order.order.contractor.get_full_name }}
|
|
{% else %}
|
|
{{ order.order.team.name }}
|
|
{% endif %}
|
|
</p>
|
|
<a href="#" class="linkChat11 full-order-info">
|
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
|
Полное описание заказа
|
|
</a>
|
|
{# <a href="#" class="deleteOrder" data-project-id="{{ order.pk }}">#}
|
|
{# Удалить заказ#}
|
|
{# </a>#}
|
|
</div>
|
|
|
|
</div>
|
|
{% endfor %}
|
|
|
|
|
|
|
|
{% if archive_projects %}
|
|
<div class="textAreaBlock2 FFD box-sizing disTab">
|
|
<a href="#" data-show="true" id="trashed-button">Показать архивные заказы</a>
|
|
</div>
|
|
<p id="show-archive-label" style="display: none;">Архивные заказы</p>
|
|
<div id="archive-space" style="display:none;">
|
|
|
|
<div id="trashed-orders">
|
|
{% for proj in archive_projects %}
|
|
<div data-id="{{ proj.order.id }}" class="trashedOrderBlock box-sizing">
|
|
<span class="dimovChat"></span>
|
|
<p class="titleOB"> {{ proj.name }}</p>
|
|
<div class="hideOBB"><p class="pOB">
|
|
<span>Исполнитель:
|
|
{% if proj.order.contractor %}
|
|
{{ proj.order.contractor.get_full_name }}
|
|
{% else %}
|
|
{{ proj.order.team.name }}
|
|
{% endif %}
|
|
</span>
|
|
</p>
|
|
<a href="#" class="linkChat11 full-order-info">
|
|
<span class="glyphicon glyphicon-info-sign"
|
|
aria-hidden="true"></span>
|
|
Полное описание заказа
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 commChat">
|
|
<div id="message-chat-order-space"></div>
|
|
<form id="chat-order-add" style="display:none;">
|
|
<input type="hidden" name="senderId" id="senderId" value="{{ request.user.pk }}"/>
|
|
<input type="hidden" name="recipentId" id="recipentId">
|
|
<input type="hidden" name="orderId" id="orderId">
|
|
<textarea id="chat" class="box-sizing"></textarea>
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя
|
|
отправить</p>
|
|
<div class="bunChat">
|
|
<div class="setChat box-sizing upload">
|
|
<input type="file" name="file" id="upload-document-order">
|
|
<p>Прикрепить файл</p>
|
|
</div>
|
|
<div id="document-send-order"></div>
|
|
<a href="#" id="order-chat-add-message">отправить</a>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="col-lg-3 wrstepschat" id="order-stages-tab" data-score="">
|
|
<p>Этапы работы</p>
|
|
<div class="stepssBlock box-sizing disTab">
|
|
<p class="titleStepss">1 / Согласование условий</p>
|
|
<p class="textStepss">
|
|
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем.
|
|
</p>
|
|
</div>
|
|
|
|
<div id="order-stages" class="stepssBlock"></div>
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="reserveSpace" style="display:none;">
|
|
<p class="titleStepss">2 / Резервирование</p>
|
|
<p class="textStepss">
|
|
Резервирование заказчиком суммы оплаты по заказ.
|
|
Деньги перечисляются и хранятся насайте.
|
|
</p>
|
|
<ul class="stages-paid"></ul>
|
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab">
|
|
<a href="#" id="reserve-button" data-order-id="">Зарезервировать</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- Зарезервировать средства (модальное окно)-->
|
|
{% include 'reverse_stage_modal.html' %}
|
|
<!-- Конец блока -->
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork">
|
|
<p class="titleStepss">3 / Выполнение работы</p>
|
|
<p class="textStepss">
|
|
Процесс выполнения задания в заказе до получения
|
|
заказчиком итогового результата работы.
|
|
</p>
|
|
<div id="stagesWork" class="stages-work"></div>
|
|
</div>
|
|
|
|
<div id="leaveReview" style="display: none;">
|
|
<div class="closeChat closeChat1">
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="positive">
|
|
Закрыть проект<br>и оставить отзыв
|
|
</a>
|
|
</div>
|
|
<div class="closeChat closeChat2">
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="negative">
|
|
Закрыть проект<br>и оставить отзыв
|
|
</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-12 documentsChat">
|
|
<p>Прикрепленные документы</p>
|
|
<ul id="documentOrderSpace"></ul>
|
|
<a href="{% url 'common:create' %}">
|
|
Распечатать с помощью ресурса
|
|
</a>
|
|
</div>
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab">
|
|
<ul class="order-notes-block">
|
|
</ul>
|
|
<p>Для заметок</p>
|
|
<form id="add-form-order-note">
|
|
<textarea id="chat2" name="text"></textarea>
|
|
<input type="hidden" name="order" id="orderNote" value=""/>
|
|
<input type="hidden" name="sender" id="senderNote" value="{{ request.user.pk }}"/>
|
|
<input type="hidden" name="recipent" id="recipentNote" value=""/>
|
|
<a href="#" id="add-note-button">сохранить</a>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- Review add -->
|
|
{% include 'review_add_modal.html' %}
|
|
<!-- -->
|
|
|
|
<!-- Arbitration add -->
|
|
{% include 'arbitration_modal.html' %}
|
|
<!-- -->
|
|
|
|
<!-- order-info -->
|
|
{% include 'order_info.html' %}
|
|
<!-- -->
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<!-- End block (chat order block) -->
|
|
</div>
|
|
{% include 'partials/footer.html' %}
|
|
</div>
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
{% block js_block %}
|
|
<script type="text/javascript">
|
|
var userId = {{ request.user.pk }};
|
|
var domain = '{{ request.META.HTTP_HOST }}';
|
|
var port = '{{ request.META.SERVER_PORT }}';
|
|
|
|
</script>
|
|
<script type="text/javascript" src='{% static "js/chat.js" %}'></script>
|
|
<script type="text/javascript" src='{% static "js/chat_customer.js" %}'></script>
|
|
{% endblock %}
|
|
|