|
|
|
@ -15,10 +15,12 @@ |
|
|
|
<div class="profileTabs2"> |
|
|
|
<div class="profileTabs2"> |
|
|
|
<ul class="nav nav-tabs nav-justified"> |
|
|
|
<ul class="nav nav-tabs nav-justified"> |
|
|
|
<li role="presentation"> |
|
|
|
<li role="presentation"> |
|
|
|
<a href="#tab1" data-toggle="tab">Личные<span class="count-tab">{{ contacts_users_count }}</span></a> |
|
|
|
<a href="#tab1" data-toggle="tab">Личные<span |
|
|
|
|
|
|
|
class="count-tab" id="count-tab-contact">{{ contacts_users_count }}</span></a> |
|
|
|
</li> |
|
|
|
</li> |
|
|
|
<li role="presentation"> |
|
|
|
<li role="presentation"> |
|
|
|
<a href="#tab2" data-toggle="tab">Исполнители<span class="count-tab">{{ orders_ms_count }}</span> |
|
|
|
<a href="#tab2" data-toggle="tab">Исполнители<span |
|
|
|
|
|
|
|
class="count-tab" id="count-tab-order">{{ orders_ms_count }}</span> |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</li> |
|
|
|
</li> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
@ -27,13 +29,14 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% include 'dialog_delete.html' %} |
|
|
|
{% include 'dialog_delete.html' %} |
|
|
|
<div class="tab-content"> |
|
|
|
<div class="tab-content"> |
|
|
|
<!-- Tab1 (contacts block)--> |
|
|
|
<!-- Tab1 (contacts block)--> |
|
|
|
<div class="chatBlock disTab tab-pane fade in" id="tab1"> |
|
|
|
<div class="chatBlock disTab tab-pane fade in" id="tab1"> |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<p>Контакты</p> |
|
|
|
<p>Контакты</p> |
|
|
|
{% for contact in contacts_users %} |
|
|
|
{% for contact in contacts_users %} |
|
|
|
<div class="message messd user-block" id="userBlock{{ contact.pk }}" data-id="{{ contact.pk }}"> |
|
|
|
<div class="message messd user-block" id="userBlock{{ contact.pk }}" |
|
|
|
|
|
|
|
data-id="{{ contact.pk }}"> |
|
|
|
<div class="imgMess"> |
|
|
|
<div class="imgMess"> |
|
|
|
{% if contact.avatar %} |
|
|
|
{% if contact.avatar %} |
|
|
|
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
|
|
|
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
|
|
|
@ -44,11 +47,11 @@ |
|
|
|
{% endif %} |
|
|
|
{% endif %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<p class="nameMess"> |
|
|
|
<p class="nameMess"> |
|
|
|
{% if contact.is_contractor %} |
|
|
|
{% if contact.is_contractor %} |
|
|
|
{% url "users:contractor-profile" pk=contact.pk as contact_url %} |
|
|
|
{% url "users:contractor-profile" pk=contact.pk as contact_url %} |
|
|
|
{% else %} |
|
|
|
{% else %} |
|
|
|
{% url "users:customer-profile-open-projects" pk=contact.pk as contact_url %} |
|
|
|
{% url "users:customer-profile-open-projects" pk=contact.pk as contact_url %} |
|
|
|
{% endif %} |
|
|
|
{% endif %} |
|
|
|
<div><a href="{{ contact_url }}">{{ contact.username }}</a></div> |
|
|
|
<div><a href="{{ contact_url }}">{{ contact.username }}</a></div> |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
|
|
|
|
|
|
|
|
@ -69,17 +72,18 @@ |
|
|
|
<div id="message-chat-space"></div> |
|
|
|
<div id="message-chat-space"></div> |
|
|
|
<form id="contact-chat-form"> |
|
|
|
<form id="contact-chat-form"> |
|
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderContactId"/> |
|
|
|
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderContactId"/> |
|
|
|
<input type="hidden" name="recipentId" id="recipentContactId"> |
|
|
|
<input type="hidden" name="recipentId" id="recipentContactId"> |
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя отправить</p> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя |
|
|
|
|
|
|
|
отправить</p> |
|
|
|
|
|
|
|
|
|
|
|
<div class="bunChat"> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<input type="file" name="file" id="upload-document-contact"> |
|
|
|
<input type="file" name="file" id="upload-document-contact"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="document-send-contact"></div> |
|
|
|
<div id="document-send-contact"></div> |
|
|
|
<a id="contact-chat-add-message" href="#">отправить</a> |
|
|
|
<a id="contact-chat-add-message" href="#">отправить</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</form> |
|
|
|
</form> |
|
|
|
@ -87,47 +91,51 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-lg-3 wrChat1"> |
|
|
|
<div class="col-lg-3 wrChat1"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<ul id="documentSpace"> |
|
|
|
<ul id="documentSpace"> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
Распечатать с помощью ресурса |
|
|
|
Распечатать с помощью ресурса |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<p>Заметки</p> |
|
|
|
<p>Заметки</p> |
|
|
|
<ul class="contractor-notes-block"> |
|
|
|
<ul class="contractor-notes-block"> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
<form id="add-form-contractor-note"> |
|
|
|
<form id="add-form-contractor-note"> |
|
|
|
<p>Для заметок</p> |
|
|
|
<p>Для заметок</p> |
|
|
|
<input type="hidden" name="sender" id="senderNoteContractor" value="{{ request.user.pk }}"/> |
|
|
|
<input type="hidden" name="sender" id="senderNoteContractor" |
|
|
|
<input type="hidden" name="recipent" id="recipentNoteContractor" value=""/> |
|
|
|
value="{{ request.user.pk }}"/> |
|
|
|
<textarea id="chat2" name="text"></textarea> |
|
|
|
<input type="hidden" name="recipent" id="recipentNoteContractor" value=""/> |
|
|
|
<a href="#" id="add-note-contractor">сохранить</a> |
|
|
|
<textarea id="chat2" name="text"></textarea> |
|
|
|
|
|
|
|
<a href="#" id="add-note-contractor">сохранить</a> |
|
|
|
</form> |
|
|
|
</form> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- order-info --> |
|
|
|
<!-- order-info --> |
|
|
|
{% include 'contact-info.html' %} |
|
|
|
{% include 'contact-info.html' %} |
|
|
|
<!-- --> |
|
|
|
<!-- --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- End block Tab1(contacts block)--> |
|
|
|
<!-- End block Tab1(contacts block)--> |
|
|
|
|
|
|
|
|
|
|
|
<!-- Tab2 (chat order block)--> |
|
|
|
<!-- Tab2 (chat order block)--> |
|
|
|
<div class="chatBlock disTab tab-pane fade" id="tab2"> |
|
|
|
<div class="chatBlock disTab tab-pane fade" id="tab2"> |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="col-lg-3 wrMessages"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<div class="messageBlock box-sizing disTab"> |
|
|
|
<p>Заказы</p> |
|
|
|
<p>Заказы</p> |
|
|
|
{% for order in orders %} |
|
|
|
{% for order in orders %} |
|
|
|
<div class="orderBlock box-sizing order-block" data-project-id="{{ order.id }}" |
|
|
|
<div class="orderBlock box-sizing order-block" |
|
|
|
id="orderBlock{{ order.order.id }}" data-secure-deal="{% if order.order.secure %}true{% else %}false{% endif %}" |
|
|
|
data-team-id="{% if order.order.team %}{{ order.order.team.pk }}{% else %}0{% endif %}" |
|
|
|
{% if order.order.contractor %} |
|
|
|
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 }}" |
|
|
|
data-recipent-id="{{ order.order.contractor.pk }}" |
|
|
|
{% else %} |
|
|
|
{% else %} |
|
|
|
data-recipent-id="{{ order.order.team.owner.pk }}" |
|
|
|
data-recipent-id="{{ order.order.team.owner.pk }}" |
|
|
|
{% endif %} data-id="{{ order.order.id }}"> |
|
|
|
{% endif %} data-id="{{ order.order.id }}"> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<span class="dimovChat"></span> |
|
|
|
<p class="titleOB">{{ order }}</p> |
|
|
|
<p class="titleOB">{{ order }}</p> |
|
|
|
<div class="hideOBB"> |
|
|
|
<div class="hideOBB"> |
|
|
|
@ -144,21 +152,47 @@ |
|
|
|
Полное описание заказа |
|
|
|
Полное описание заказа |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
<a href="#" class="deleteOrder" data-project-id="{{ order.pk }}"> |
|
|
|
<a href="#" class="deleteOrder" data-project-id="{{ order.pk }}"> |
|
|
|
Удалить заказ |
|
|
|
Удалить заказ |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% endfor %} |
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
|
|
|
|
<a href="#" data-show="true" id="trashed-button">Показать архивные заказы</a> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p id="show-archive-label">Архивные заказы</p> |
|
|
|
|
|
|
|
<div id="trashed-orders"></div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
{% 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> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
<div class="col-lg-6 commChat"> |
|
|
|
<div id="message-chat-order-space"></div> |
|
|
|
<div id="message-chat-order-space"></div> |
|
|
|
@ -167,11 +201,12 @@ |
|
|
|
<input type="hidden" name="recipentId" id="recipentId"> |
|
|
|
<input type="hidden" name="recipentId" id="recipentId"> |
|
|
|
<input type="hidden" name="orderId" id="orderId"> |
|
|
|
<input type="hidden" name="orderId" id="orderId"> |
|
|
|
<textarea id="chat" class="box-sizing"></textarea> |
|
|
|
<textarea id="chat" class="box-sizing"></textarea> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя отправить</p> |
|
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя |
|
|
|
|
|
|
|
отправить</p> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="bunChat"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<div class="setChat box-sizing upload"> |
|
|
|
<input type="file" name="file" id="upload-document-order"> |
|
|
|
<input type="file" name="file" id="upload-document-order"> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
<p>Прикрепить файл</p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div id="document-send-order"></div> |
|
|
|
<div id="document-send-order"></div> |
|
|
|
<a href="#" id="order-chat-add-message">отправить</a> |
|
|
|
<a href="#" id="order-chat-add-message">отправить</a> |
|
|
|
@ -198,44 +233,44 @@ |
|
|
|
<ul class="stages-paid"></ul> |
|
|
|
<ul class="stages-paid"></ul> |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
<a href="#" id="reserve-button" data-order-id="">Зарезервировать</a> |
|
|
|
<a href="#" id="reserve-button" data-order-id="">Зарезервировать</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<!-- Зарезервировать средства (модальное окно)--> |
|
|
|
<!-- Зарезервировать средства (модальное окно)--> |
|
|
|
{% include 'reverse_stage_modal.html' %} |
|
|
|
{% include 'reverse_stage_modal.html' %} |
|
|
|
<!-- Конец блока --> |
|
|
|
<!-- Конец блока --> |
|
|
|
|
|
|
|
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork"> |
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork"> |
|
|
|
<p class="titleStepss">3 / Выполнение работы</p> |
|
|
|
<p class="titleStepss">3 / Выполнение работы</p> |
|
|
|
<p class="textStepss"> |
|
|
|
<p class="textStepss"> |
|
|
|
Процесс выполнения задания в заказе до получения |
|
|
|
Процесс выполнения задания в заказе до получения |
|
|
|
заказчиком итогового результата работы. |
|
|
|
заказчиком итогового результата работы. |
|
|
|
</p> |
|
|
|
</p> |
|
|
|
<div id="stagesWork" class="stages-work"></div> |
|
|
|
<div id="stagesWork" class="stages-work"></div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div id="leaveReview" style="display: none;"> |
|
|
|
<div id="leaveReview" style="display: none;"> |
|
|
|
<div class="closeChat closeChat1"> |
|
|
|
<div class="closeChat closeChat1"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="positive"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="positive"> |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="closeChat closeChat2"> |
|
|
|
<div class="closeChat closeChat2"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="negative"> |
|
|
|
<a href="#" data-toggle="modal" data-target="#review-add" data-review-type="negative"> |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
Закрыть проект<br>и оставить отзыв |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<div class="col-lg-12 documentsChat"> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<p>Прикрепленные документы</p> |
|
|
|
<ul id="documentOrderSpace"></ul> |
|
|
|
<ul id="documentOrderSpace"></ul> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
<a href="{% url 'common:create' %}"> |
|
|
|
Распечатать с помощью ресурса |
|
|
|
Распечатать с помощью ресурса |
|
|
|
</a> |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
<ul class="order-notes-block"> |
|
|
|
<ul class="order-notes-block"> |
|
|
|
@ -265,7 +300,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- End block (chat order block) --> |
|
|
|
<!-- End block (chat order block) --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
{% include 'partials/footer.html' %} |
|
|
|
{% include 'partials/footer.html' %} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -275,11 +310,11 @@ |
|
|
|
|
|
|
|
|
|
|
|
{% block js_block %} |
|
|
|
{% block js_block %} |
|
|
|
<script type="text/javascript"> |
|
|
|
<script type="text/javascript"> |
|
|
|
var userId = {{ request.user.pk }}; |
|
|
|
var userId = {{ request.user.pk }}; |
|
|
|
var domain = '{{ request.META.HTTP_HOST }}'; |
|
|
|
var domain = '{{ request.META.HTTP_HOST }}'; |
|
|
|
var port = '{{ request.META.SERVER_PORT }}'; |
|
|
|
var port = '{{ request.META.SERVER_PORT }}'; |
|
|
|
|
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat_customer.js" %}'></script> |
|
|
|
<script type="text/javascript" src='{% static "js/chat_customer.js" %}'></script> |
|
|
|
{% endblock %} |
|
|
|
{% endblock %} |
|
|
|
|