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.
459 lines
28 KiB
459 lines
28 KiB
{% extends 'partials/base.html' %}
|
|
{% load staticfiles %}
|
|
{% load thumbnail %}
|
|
{% load user_tags %}
|
|
{% load sass_tags %}
|
|
{% block head_css %}
|
|
<link rel='stylesheet' href='{% sass_src "sass/chat_add.sass" %}' xmlns="http://www.w3.org/1999/html">
|
|
<link rel='stylesheet' href='{% sass_src "sass/components/custom-components.sass" %}'>
|
|
{% endblock %}
|
|
{% 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>
|
|
|
|
<li role="presentation">
|
|
<a href="#tab3" data-toggle="tab">Группы<span class="count-tab"
|
|
id="count-tab-team">{{ teams_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="row mod-row-eq-height" style="margin-left: 0; margin-right: 0">
|
|
<div class="col-lg-3 wrMessages">
|
|
<div class="remove-margin">
|
|
<div class="messageBlock box-sizing disTab">
|
|
<div class="header-wrapper">
|
|
<span class="header">
|
|
Контакты
|
|
</span>
|
|
<div class="triangle-header"></div>
|
|
</div>
|
|
<div class="fix-wrapper">
|
|
{% for contact in contacts_users %}
|
|
{% include 'inc-contact-card.html' %}
|
|
{% endfor %}
|
|
</div>
|
|
|
|
</div>
|
|
</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" value="" name="recipentId" id="recipentContactId"/>
|
|
<textarea id="chat" name="chat_message" class="box-sizing js-chat"></textarea>
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя
|
|
отправить</p>
|
|
|
|
<div class="bunChat">
|
|
<input style="display: none" type="file" name="file" id="upload-document-contact">
|
|
<div onclick="$('#upload-document-contact').trigger('click')"
|
|
style="display: inline-block;vertical-align: inherit; float: left"
|
|
class="upload-new paper-clip">
|
|
<p id="fileUploadAddBtn" style="margin: 0">прикрепить файл</p>
|
|
</div>
|
|
<a style="float: right" class="btn btn-send icon-send" href="#"
|
|
id="contact-chat-add-message">отправить</a>
|
|
<div style="clear: both"></div>
|
|
<div style="padding-top: 10px;" id="document-send-contact"></div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="col-lg-3 wrstepschat">
|
|
<div class="col-lg-12">
|
|
{% include 'partials/inc-attach-documents.html' with class='documentSpace' tab='contacts' %}
|
|
</div>
|
|
<div class="textAreaBlock2 box-sizing disTab">
|
|
<ol class="contractor-notes-block"></ol>
|
|
<form id="add-form-contractor-note">
|
|
<div class="icon-note mod-align-center">Для заметок</div>
|
|
<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>#}
|
|
<a style="float: right" class="btn btn-send icon-send" href="#"
|
|
id="add-note-contractor">сохранить</a>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- order-info -->
|
|
{% include 'contact-info.html' %}
|
|
<!-- -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End block Tab1 -->
|
|
|
|
<!-- Tab2 chat order block -->
|
|
<div class="chatBlock disTab tab-pane fade" id="tab2">
|
|
<div class="row mod-row-eq-height" style="margin-left: 0; margin-right: 0">
|
|
<div class="col-lg-3 wrMessages">
|
|
<div class="remove-margin">
|
|
<div class="messageBlock box-sizing disTab">
|
|
<div class="header-wrapper">
|
|
<span class="header">
|
|
Заказы
|
|
</span>
|
|
<div class="triangle-header"></div>
|
|
</div>
|
|
<div class="fix-wrapper">
|
|
{% for order in orders %}
|
|
{% include 'partials/inc-order-card.html' %}
|
|
{% endfor %}
|
|
</div>
|
|
|
|
|
|
{% if archive_orders %}
|
|
{# <div style="margin-left: -13px; margin-right: -13px; text-align: center">#}
|
|
<div style="width:100%; height: 4px; float: left; background-color: white"></div>
|
|
<a href="#" data-show="true" id="trashed-button"
|
|
class="chat-button icon-books">
|
|
Показать архивные заказы
|
|
</a>
|
|
{# </div>#}
|
|
{# <p id="show-archive-label" style="display: none;">Архивные заказы</p>#}
|
|
<div class="header-wrapper" id="show-archive-label" style="display: none;">
|
|
<span class="header">
|
|
Архивные заказы
|
|
</span>
|
|
<div class="triangle-header"></div>
|
|
</div>
|
|
<div class="fix-wrapper">
|
|
<div id="archive-space" style="display:none;">
|
|
|
|
<div id="trashed-orders">
|
|
{% for order in archive_orders %}
|
|
<div data-id="{{ order.id }}"
|
|
class="trashedOrderBlock box-sizing">
|
|
<span class="dimovChat"></span>
|
|
<p class="titleOB"> {{ order.project.name }}</p>
|
|
<div class="hideOBB"><p class="pOB">
|
|
<span>Исполнитель:
|
|
{% if order.contractor %}
|
|
{{ order.contractor.get_full_name }}
|
|
{% else %}
|
|
{{ 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>
|
|
</div>
|
|
{% endif %}
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 commChat">
|
|
<div id="message-chat-order-space">
|
|
{# <div class="invite mod-align-center">#}
|
|
{# Приглашаю в группу <span class="group_name">"TestGroup-2aaaaaaaaaaaaaaafffffffffffffaaawwwwwwwwwa"</span>#}
|
|
{# <a href="/users/accept-team-invitation/609/"#}
|
|
{# class="btn btn-simple btn-chat">#}
|
|
{# Присоединиться#}
|
|
{# </a>#}
|
|
{# <a href="/users/refuse-team-invitation/609/"#}
|
|
{# class="btn btn-simple btn-chat">#}
|
|
{# Отказаться#}
|
|
{# </a>#}
|
|
{# </div>#}
|
|
</div>
|
|
|
|
<form id="chat-order-add">
|
|
<input type="hidden" id="orderId" name="orderId">
|
|
<input type="hidden" id="senderId" name="senderId" value="{{ request.user.pk }}">
|
|
<input type="hidden" id="recipentId" name="recipentId" value="">
|
|
<textarea id="chat" class="box-sizing js-chat"></textarea>
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя
|
|
отправить</p>
|
|
<div class="bunChat">
|
|
<input style="display: none" type="file" name="file" id="upload-document-order">
|
|
<div onclick="$('#upload-document-order').trigger('click')"
|
|
style="display: inline-block;vertical-align: inherit; float: left"
|
|
class="upload-new paper-clip">
|
|
<p id="fileUploadAddBtn" style="margin: 0">прикрепить файл</p>
|
|
</div>
|
|
<a style="float: right" class="btn btn-send icon-send" href="#"
|
|
id="order-chat-add-message">отправить</a>
|
|
<div style="clear: both"></div>
|
|
<div style="padding-top: 10px;" id="document-send-order"></div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
<div class="col-lg-3 wrstepschat" id="order-stages-tab" data-score="">
|
|
<div class="remove-margin">
|
|
<div class="header-wrapper">
|
|
<span class="header">
|
|
Порядок работы
|
|
</span>
|
|
<div class="triangle-header"></div>
|
|
</div>
|
|
</div>
|
|
{# 1.Согласование условий #}
|
|
<div class="stepssBlock box-sizing disTab" id="conditions-approve"
|
|
style="border-bottom: none; border-top: 1px solid black">
|
|
<p class="titleStepss">
|
|
<span class="stage-header">
|
|
<span class="select js-select"> 1.</span> <span class="js-stage-header">Согласование условий</span>
|
|
</span>
|
|
</p>
|
|
<p class="textStepss js-help-text">
|
|
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем.
|
|
</p>
|
|
<div class="border">
|
|
<div class="bird"></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="stepssBlock">
|
|
<div id="order-stages">
|
|
|
|
</div>
|
|
<div class='btn_wrapper'>
|
|
<div style="margin-left: -27px; margin-right: -27px; text-align: center">
|
|
<a href="#"
|
|
class="chat-button icon-hand"
|
|
style="padding-left: 80px" ;
|
|
id="btnApprove">Согласовать
|
|
</a>
|
|
<a href="#"
|
|
class="chat-button icon-change"
|
|
style="padding: 25px 5px 25px 10px;"
|
|
id="btnChange">Отправить на внесение изменений
|
|
</a>
|
|
<a href="#"
|
|
class="chat-button icon-books js-btnToArchive"
|
|
style="padding-left: 60px">Отказаться от заказа
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="reserveSpace" style="display:none;">
|
|
<div class="titleStepss"><span class="select js-select">2.</span> Резервирование</div>
|
|
<div class="textStepss js-help-text">
|
|
Заказчик резервирует сумму на оплату работы.
|
|
Деньги перечисляются и хранятся на сайте. <br>
|
|
<span class="note" style="display: none">Заказ проходит по безопасной сделке</span>
|
|
</div>
|
|
<div class="border">
|
|
<div class="bird"></div>
|
|
</div>
|
|
<ul class="stages-paid">
|
|
{# <li class="reserved"><span class="text">Сумма за этап 1.<br/> Зарезервирована</span></li>#}
|
|
{# <li class="unreserved"><span class="text">Сумма за этап 2.<br/> Не зарезервирована</span></li>#}
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="stepssBlock box-sizing disTab" id="completeWork" style="display: none">
|
|
<p class="titleStepss"><span class="select js-select">3.</span> Выполнение работы</p>
|
|
<p class="textStepss js-help-text">
|
|
Процесс выполнения задания в заказе до получения
|
|
заказчиком итогового результата работы.
|
|
</p>
|
|
<div class="border">
|
|
<div class="bird"></div>
|
|
</div>
|
|
<div id="stagesWork" class="stages-work"></div>
|
|
<div class='btn_wrapper'>
|
|
<div style="margin-left: -27px; margin-right: -27px; text-align: center">
|
|
<a href="#"
|
|
class="chat-button icon-books js-btnToArchive"
|
|
style="padding-left: 60px;">Отказаться от заказа
|
|
</a>
|
|
<a href="#"
|
|
class="chat-button icon-arbitration js-btnArbitration"
|
|
style="padding-left: 40px;">Обратиться в арбитраж
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{# <div id="leaveReview" style="">#}
|
|
{# <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">
|
|
{% include 'partials/inc-attach-documents.html' with class='documentOrderSpace' tab='orders' %}
|
|
</div>
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab">
|
|
<ol class="order-notes-block"></ol>
|
|
<div class="icon-note mod-align-center">Для заметок</div>
|
|
<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>#}
|
|
<a style="float: right" class="btn btn-send icon-send" 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>
|
|
</div>
|
|
<!-- End block Tab2-->
|
|
|
|
<!-- Tab3 groups block -->
|
|
<div class="chatBlock disTab tab-pane fade" id="tab3">
|
|
<div class="row mod-row-eq-height" style="margin-left: 0; margin-right: 0">
|
|
<div class="col-lg-3 wrMessages">
|
|
<div class="remove-margin">
|
|
<div class="messageBlock box-sizing disTab">
|
|
<div class="header-wrapper">
|
|
<span class="header">
|
|
Группы
|
|
</span>
|
|
<div class="triangle-header"></div>
|
|
</div>
|
|
<div class="fix-wrapper">
|
|
{% for yteam in your_teams %}
|
|
{% include 'partials/inc-team-card.html' %}
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 commChat">
|
|
<div id="message-chat-team-space"></div>
|
|
<form id="team-chat-form">
|
|
<input type="hidden" name="sender" id="senderTeamId" value="{{ request.user.pk }}">
|
|
<input type="hidden" name="recipent" id="recipentTeamId">
|
|
<input type="hidden" name="order" id="orderTeamId">
|
|
<input type="hidden" name="team" id="teamId">
|
|
<input type="hidden" name="team_ids" id="teamIds">
|
|
<input type="hidden" name="document-send" id="documentSendIds">
|
|
<textarea id="chatText" class="chat-textarea box-sizing js-chat"></textarea>
|
|
<p class="errorEmptyMessage" style="color: red;display:none;">Пустое сообщение нельзя
|
|
отправить</p>
|
|
<div class="bunChat">
|
|
<input style="display: none" type="file" name="file" id="upload-document-team">
|
|
<div onclick="$('#upload-document-team').trigger('click')"
|
|
style="display: inline-block;vertical-align: inherit; float: left"
|
|
class="upload-new paper-clip">
|
|
<p id="fileUploadAddBtn" style="margin: 0">прикрепить файл</p>
|
|
</div>
|
|
<div id="progress" class="progress" hidden>
|
|
<div class="progress-bar progress-bar-success"></div>
|
|
</div>
|
|
<a style="float: right" class="btn btn-send icon-send" href="#"
|
|
id="add-team-chat-message">отправить</a>
|
|
<div style="clear: both"></div>
|
|
<div style="padding-top: 10px;" id="document-send"></div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="col-lg-3 wrstepschat">
|
|
|
|
<div class="col-lg-12">
|
|
{% include 'partials/inc-attach-documents.html' with class='documentTeamSpace' tab='teams' %}
|
|
</div>
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab">
|
|
<ol class="team-notes-block"></ol>
|
|
|
|
<form id="add-form-team-note">
|
|
<div class="icon-note mod-align-center">Для заметок</div>
|
|
<textarea id="chat2" name="text"></textarea>
|
|
<input type="hidden" name="order" id="orderNote">
|
|
<input type="hidden" name="sender" id="senderNote" value="{{ request.user.pk }}">
|
|
<input type="hidden" name="recipent" id="recipentNote">
|
|
<input type="hidden" name="team" id="teamNote">
|
|
{# <a href="#" id="add-team-note-button">сохранить</a>#}
|
|
<a style="float: right" class="btn btn-send icon-send" href="#"
|
|
id="add-team-note-button">сохранить</a>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- End block Tab3-->
|
|
<!-- order-info -->
|
|
{% include 'order_info.html' %}
|
|
<!-- -->
|
|
</div>
|
|
<div class="fix-footer">
|
|
{% include 'partials/footer.html' %}
|
|
</div>
|
|
</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_contractor.js" %}'></script>#}
|
|
<script src='{% static "js/build/chat_contractor_oop.js" %}'></script>
|
|
{% endblock %}
|
|
|