parent
5797457346
commit
5715a301e2
94 changed files with 514 additions and 454 deletions
@ -1,495 +1,512 @@ |
|||||||
{% extends 'partials/base.html' %} |
{% extends 'partials/base.html' %} |
||||||
{% load staticfiles %} |
{% load staticfiles %} |
||||||
{% load thumbnail %} |
{% load thumbnail %} |
||||||
{% block content %} |
{% block content %} |
||||||
{% include 'partials/header.html' %} |
{% include 'partials/header.html' %} |
||||||
<div class="container mainScore"> |
<div class="container mainScore"> |
||||||
<div class="row"> |
<div class="row"> |
||||||
<div class="col-lg-12 allProjects"> |
<div class="col-lg-12 allProjects"> |
||||||
<h1>Чат {{ request.user }} {{ request.user.pk }}</h1> |
<h1>Чат {{ request.user }} {{ request.user.pk }}</h1> |
||||||
</div> |
</div> |
||||||
<div class="btnReadyBlock disTab"> |
<div class="btnReadyBlock disTab"> |
||||||
<div class="triangle1"></div> |
<div class="triangle1"></div> |
||||||
<div class="col-lg-6 col-lg-offset-3 tabsChat"> |
<div class="col-lg-6 col-lg-offset-3 tabsChat"> |
||||||
<div class="profileTabs2"> |
<div class="profileTabs2"> |
||||||
<ul class="nav nav-tabs nav-justified"> |
<ul class="nav nav-tabs nav-justified"> |
||||||
|
|
||||||
<li role="presentation" class="active"> |
<li role="presentation" class="active"> |
||||||
<a href="#tab1" data-toggle="tab">Личные</a> |
<a href="#tab1" data-toggle="tab">Личные</a> |
||||||
</li> |
</li> |
||||||
|
|
||||||
<li role="presentation"> |
|
||||||
<a href="#tab2" data-toggle="tab">Заказчики</a> |
|
||||||
</li> |
|
||||||
|
|
||||||
<li role="presentation"> |
|
||||||
<a href="#tab3" data-toggle="tab">Исполнители</a> |
|
||||||
</li> |
|
||||||
</ul> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="tab-content"> |
|
||||||
<div class="chatBlock disTab tab-pane fade in active" id="tab1"> |
|
||||||
<div class="col-lg-3 wrMessages"> |
|
||||||
<div class="messageBlock box-sizing disTab"> |
|
||||||
<p>Контакты</p> |
|
||||||
{% for contact in contacts_users %} |
|
||||||
<div class="message messd user-block" data-id="{{ contact.pk }}"> |
|
||||||
<div class="imgMess"> |
|
||||||
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
|
||||||
<img src="{{ im.url }}" alt="mess-image"> |
|
||||||
{% endthumbnail %} |
|
||||||
</div> |
|
||||||
<p class="nameMess"> |
|
||||||
<a href="#">{{ contact.username }}{{ contact.username }}{{ contact.first_name }} {{ contact.last_name }}</a> |
|
||||||
</p> |
|
||||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
|
||||||
|
|
||||||
<span>0</span> |
|
||||||
<a href="javascript:void(0)" class="deleteMess"> |
|
||||||
Удалить контакт |
|
||||||
</a> |
|
||||||
</div> |
|
||||||
{% endfor %} |
|
||||||
|
|
||||||
</div> |
|
||||||
</div> |
|
||||||
<div class="col-lg-6 commChat" id="contact-chat"> |
|
||||||
<div id="message-chat-space"> |
|
||||||
|
|
||||||
</div> |
<li role="presentation"> |
||||||
<form id="contact-chat-form"> |
<a href="#tab2" data-toggle="tab">Заказчики</a> |
||||||
<input type="hidden" value="{{ request.user.pk }}" name="senderId" id="senderId" /> |
</li> |
||||||
<input type="hidden" value="" name="recipentId" id="recipentId" /> |
|
||||||
|
|
||||||
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
<li role="presentation"> |
||||||
<div class="bunChat"> |
<a href="#tab3" data-toggle="tab">Исполнители</a> |
||||||
<div class="setChat box-sizing"> |
</li> |
||||||
<p>Прикрепить файл</p> |
</ul> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
<div class="tab-content"> |
||||||
|
<div class="chatBlock disTab tab-pane fade in active" id="tab1"> |
||||||
|
<div class="col-lg-3 wrMessages"> |
||||||
|
<div class="messageBlock box-sizing disTab"> |
||||||
|
<p>Контакты</p> |
||||||
|
{% for contact in contacts_users %} |
||||||
|
<div class="message messd user-block" data-id="{{ contact.pk }}"> |
||||||
|
<div class="imgMess"> |
||||||
|
{% thumbnail contact.avatar "60x60" crop="center" as im %} |
||||||
|
<img src="{{ im.url }}" alt="mess-image"> |
||||||
|
{% endthumbnail %} |
||||||
|
</div> |
||||||
|
<p class="nameMess"> |
||||||
|
<a href="#"> |
||||||
|
{{ contact.username }}{{ contact.username }}{{ contact.first_name }} {{ contact.last_name }}</a> |
||||||
|
</p> |
||||||
|
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||||
|
|
||||||
|
<span>0</span> |
||||||
|
<a href="javascript:void(0)" class="deleteMess"> |
||||||
|
Удалить контакт |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
{% 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="senderId"/> |
||||||
|
<input type="hidden" value="" name="recipentId" id="recipentId"/> |
||||||
|
|
||||||
|
<textarea id="chat" name="chat_message" class="box-sizing"></textarea> |
||||||
|
<div class="bunChat"> |
||||||
|
<div class="setChat box-sizing"> |
||||||
|
<p>Прикрепить файл</p> |
||||||
<span> |
<span> |
||||||
Не более 10 файлов с общим объемом 500мб |
Не более 10 файлов с общим объемом 500мб |
||||||
</span> |
</span> |
||||||
</div> |
</div> |
||||||
|
|
||||||
<a id="contact-chat-add-message" href="javascript:void(0)">отправить</a> |
<a id="contact-chat-add-message" href="javascript:void(0)">отправить</a> |
||||||
|
|
||||||
</div> |
</div> |
||||||
</form> |
</form> |
||||||
|
|
||||||
</div> |
</div> |
||||||
<div class="col-lg-3 wrChat1"> |
<div class="col-lg-3 wrChat1"> |
||||||
<div class="messageBlock box-sizing disTab"> |
<div class="messageBlock box-sizing disTab"> |
||||||
<p>Контакты</p> |
<p>Контакты</p> |
||||||
<div class="message"> |
<div class="message"> |
||||||
<div class="imgMess"> |
<div class="imgMess"> |
||||||
<img src="img/mess.png" alt="mess-image"> |
<img src="img/mess.png" alt="mess-image"> |
||||||
</div> |
</div> |
||||||
<p class="nameMess"> |
<p class="nameMess"> |
||||||
<a href="#">Иванов Петр Иванович</a> |
<a href="#">Иванов Петр Иванович</a> |
||||||
</p> |
</p> |
||||||
<a href="javascript:void(0)" class="conMess">Контакты</a> |
<a href="javascript:void(0)" class="conMess">Контакты</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-12 startChat"> |
<div class="col-lg-12 startChat"> |
||||||
<div class="insetSC1"> |
<div class="insetSC1"> |
||||||
Начало: |
Начало: |
||||||
<span>Срок сдачи:</span> |
<span>Срок сдачи:</span> |
||||||
</div> |
</div> |
||||||
<div class="insetSC2"> |
<div class="insetSC2"> |
||||||
13.0.2016 |
13.0.2016 |
||||||
<span>13.0.2016</span> |
<span>13.0.2016</span> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-12 documentsChat"> |
<div class="col-lg-12 documentsChat"> |
||||||
<p>Входящие документы</p> |
<p>Входящие документы</p> |
||||||
<ul> |
<ul> |
||||||
<li> |
<li> |
||||||
Архитерурное 2.jpg |
Архитерурное 2.jpg |
||||||
<span>7мб</span> |
<span>7мб</span> |
||||||
<div></div> |
<div></div> |
||||||
</li> |
</li> |
||||||
|
|
||||||
</ul> |
</ul> |
||||||
<a href="javascript:void(0)"> |
<a href="javascript:void(0)"> |
||||||
Распечатать с помощью ресурса |
Распечатать с помощью ресурса |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
<div class="textAreaBlock2 box-sizing disTab"> |
<div class="textAreaBlock2 box-sizing disTab"> |
||||||
<p>Для заметок</p> |
<p>Для заметок</p> |
||||||
<textarea id="chat2"></textarea> |
<textarea id="chat2"></textarea> |
||||||
<a href="javascript:void()">сохранить</a> |
<a href="javascript:void()">сохранить</a> |
||||||
</div> |
</div> |
||||||
<div class="closeChat closeChat1"> |
<div class="closeChat closeChat1"> |
||||||
<a href="javascript:void(0)"> |
<a href="javascript:void(0)"> |
||||||
Закрыть проект<br>и оставить отзыв |
Закрыть проект<br>и оставить отзыв |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
<div class="closeChat closeChat2"> |
<div class="closeChat closeChat2"> |
||||||
<a href="javascript:void(0)"> |
<a href="javascript:void(0)"> |
||||||
Закрыть проект<br>и оставить отзыв |
Закрыть проект<br>и оставить отзыв |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
|
||||||
<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-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}"> |
|
||||||
<span class="dimovChat"></span> |
|
||||||
<p class="titleOB"> |
|
||||||
{{ order }} |
|
||||||
</p> |
|
||||||
<div class="hideOBB"> |
|
||||||
<p class="pOB"> |
|
||||||
<span>Испонитель:</span> {{ request.user.get_full_name }} |
|
||||||
</p> |
|
||||||
<p class="pOB"> |
|
||||||
<span>Чаты:</span> Иванов, Петров, Пенкин |
|
||||||
</p> |
|
||||||
<a href="javascript:void(0)" class="linkChat11"> |
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
|
||||||
Полное описание заказа |
|
||||||
</a> |
|
||||||
</div> |
|
||||||
</div> |
|
||||||
{% endfor%} |
|
||||||
</div> |
|
||||||
|
|
||||||
</div> |
|
||||||
<div class="col-lg-6 commChat"> |
|
||||||
<div id="message-chat-order-space"> |
|
||||||
{# {% for msg in chat_messages %}#} |
|
||||||
{# <div class="col-lg-12 insetCommChat {% if msg.sender.pk == request.user.pk %}youChat{% endif %}">#} |
|
||||||
{# <div class="topCommChat">#} |
|
||||||
{# <p class="nameCommChat {% if msg.sender.pk == request.user.pk %}greenNCC{% endif %}">{{ msg.sender.get_full_name }}</p>#} |
|
||||||
{# <span>{{ msg.created }}</span>#} |
|
||||||
{# </div>#} |
|
||||||
{# <p class="textCommChat">{{ msg }}</p>#} |
|
||||||
{# </div>#} |
|
||||||
{# {% endfor %}#} |
|
||||||
</div> |
</div> |
||||||
<form id="chat-contractor-order"> |
<div class="chatBlock disTab tab-pane fade" id="tab2"> |
||||||
<input type="text" id="orderId" /> |
<div class="col-lg-3 wrMessages"> |
||||||
<input type="text" id="senderOrderId" value="{{ request.user.pk }}" /> |
|
||||||
<input type="text" id="recipentOrderId" /> |
<div class="messageBlock box-sizing disTab"> |
||||||
|
<p>Заказы</p> |
||||||
<textarea id="chat" class="box-sizing"></textarea> |
{% for order in orders %} |
||||||
<div class="bunChat"> |
<div class="orderBlock box-sizing order-block" |
||||||
<div class="setChat box-sizing"> |
data-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}"> |
||||||
<p>Прикрепить файл</p> |
<span class="dimovChat"></span> |
||||||
|
<p class="titleOB"> |
||||||
|
{{ order }} |
||||||
|
</p> |
||||||
|
<div class="hideOBB"> |
||||||
|
<p class="pOB"> |
||||||
|
<span>Испонитель:</span> {{ request.user.get_full_name }} |
||||||
|
</p> |
||||||
|
<p class="pOB"> |
||||||
|
<span>Чаты:</span> Иванов, Петров, Пенкин |
||||||
|
</p> |
||||||
|
<a href="javascript:void(0)" class="linkChat11"> |
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||||
|
Полное описание заказа |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
|
||||||
|
</div> |
||||||
|
<div class="col-lg-6 commChat"> |
||||||
|
<div id="message-chat-order-space"> |
||||||
|
{# {% for msg in chat_messages %}#} |
||||||
|
{# <div class="col-lg-12 insetCommChat {% if msg.sender.pk == request.user.pk %}youChat{% endif %}">#} |
||||||
|
{# <div class="topCommChat">#} |
||||||
|
{# <p class="nameCommChat {% if msg.sender.pk == request.user.pk %}greenNCC{% endif %}">{{ msg.sender.get_full_name }}</p>#} |
||||||
|
{# <span>{{ msg.created }}</span>#} |
||||||
|
{# </div>#} |
||||||
|
{# <p class="textCommChat">{{ msg }}</p>#} |
||||||
|
{# </div>#} |
||||||
|
{# {% endfor %}#} |
||||||
|
</div> |
||||||
|
<form id="chat-contractor-order"> |
||||||
|
<input type="text" id="orderId"/> |
||||||
|
<input type="text" id="senderOrderId" value="{{ request.user.pk }}"/> |
||||||
|
<input type="text" id="recipentOrderId"/> |
||||||
|
|
||||||
|
<textarea id="chat" class="box-sizing"></textarea> |
||||||
|
<div class="bunChat"> |
||||||
|
<div class="setChat box-sizing"> |
||||||
|
<p>Прикрепить файл</p> |
||||||
<span> |
<span> |
||||||
Не более 10 файлов с общим объемом 500мб |
Не более 10 файлов с общим объемом 500мб |
||||||
</span> |
</span> |
||||||
</div> |
</div> |
||||||
<a href="javascript:void(0)">отправить</a> |
<a href="javascript:void(0)">отправить</a> |
||||||
</div> |
</div> |
||||||
</form> |
</form> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-3 wrTAB"> |
<div class="col-lg-3 wrTAB"> |
||||||
<div class="textAreaBlock2 box-sizing disTab"> |
<div class="textAreaBlock2 box-sizing disTab"> |
||||||
<p>Для заметок</p> |
<p>Для заметок</p> |
||||||
<textarea id="chat2" ></textarea> |
<textarea id="chat2"></textarea> |
||||||
<a href="javascript:void()">сохранить</a> |
<a href="javascript:void()">сохранить</a> |
||||||
</div> |
</div> |
||||||
<div class="linkChatB box-sizing disTab"> |
<div class="linkChatB box-sizing disTab"> |
||||||
<a href="javascript:void(0)">предложить проект</a> |
<a href="javascript:void(0)">предложить проект</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
<div class="chatBlock disTab tab-pane fade" id="tab3"> |
||||||
<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> |
||||||
<div class="orderBlock box-sizing orAct"> |
<div class="orderBlock box-sizing orAct"> |
||||||
<span class="dimovChat"></span> |
<span class="dimovChat"></span> |
||||||
<p class="titleOB"> |
<p class="titleOB"> |
||||||
Дизай-проект квартиры на набережной 200 m2 |
Дизай-проект квартиры на набережной 200 m2 |
||||||
</p> |
</p> |
||||||
<div class="hideOBB disTab"> |
<div class="hideOBB disTab"> |
||||||
<p class="pOB"> |
<p class="pOB"> |
||||||
<span>Заказчик:</span> Группа Икс |
<span>Заказчик:</span> Группа Икс |
||||||
</p> |
</p> |
||||||
<ul class="listChat1"> |
<ul class="listChat1"> |
||||||
<li>Иванов Петр Иванович</li> |
<li>Иванов Петр Иванович</li> |
||||||
<li>Сергей Пенкин</li> |
<li>Сергей Пенкин</li> |
||||||
</ul> |
</ul> |
||||||
<a href="javascript:void(0)" class="linkChat11"> |
<a href="javascript:void(0)" class="linkChat11"> |
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||||
Полное описание заказа |
Полное описание заказа |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="orderBlock box-sizing"> |
<div class="orderBlock box-sizing"> |
||||||
<span class="dimovChat"></span> |
<span class="dimovChat"></span> |
||||||
<p class="titleOB"> |
<p class="titleOB"> |
||||||
Дизай-проект квартиры на набережной 200 m2 |
Дизай-проект квартиры на набережной 200 m2 |
||||||
</p> |
</p> |
||||||
<div class="hideOBB disTab"> |
<div class="hideOBB disTab"> |
||||||
<p class="pOB"> |
<p class="pOB"> |
||||||
<span>Заказчик:</span> Группа Икс |
<span>Заказчик:</span> Группа Икс |
||||||
</p> |
</p> |
||||||
<ul class="listChat1"> |
<ul class="listChat1"> |
||||||
<li>Иванов Петр Иванович</li> |
<li>Иванов Петр Иванович</li> |
||||||
<li>Сергей Пенкин</li> |
<li>Сергей Пенкин</li> |
||||||
</ul> |
</ul> |
||||||
<a href="javascript:void(0)" class="linkChat11"> |
<a href="javascript:void(0)" class="linkChat11"> |
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> |
||||||
Полное описание заказа |
Полное описание заказа |
||||||
</a> |
</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-6 commChat"> |
<div class="col-lg-6 commChat"> |
||||||
<div class="col-lg-12 insetCommChat"> |
<div class="col-lg-12 insetCommChat"> |
||||||
<div class="topCommChat"> |
<div class="topCommChat"> |
||||||
<p class="nameCommChat"> |
<p class="nameCommChat"> |
||||||
Иванов Петр Иванович |
Иванов Петр Иванович |
||||||
</p> |
</p> |
||||||
<span> |
<span> |
||||||
13.0.2016 / 21:05 |
13.0.2016 / 21:05 |
||||||
</span> |
</span> |
||||||
</div> |
</div> |
||||||
<p class="textCommChat"> |
<p class="textCommChat"> |
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit</p> |
Lorem ipsum dolor sit amet, consectetur adipiscing elit</p> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-12 insetCommChat youChat"> |
<div class="col-lg-12 insetCommChat youChat"> |
||||||
<div class="topCommChat"> |
<div class="topCommChat"> |
||||||
<p class="nameCommChat greenNCC"> |
<p class="nameCommChat greenNCC"> |
||||||
Вы |
Вы |
||||||
</p> |
</p> |
||||||
<span> |
<span> |
||||||
13.0.2016 / 21:05 |
13.0.2016 / 21:05 |
||||||
</span> |
</span> |
||||||
</div> |
</div> |
||||||
<p class="textCommChat"> |
<p class="textCommChat"> |
||||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> |
Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> |
||||||
</div> |
</div> |
||||||
<textarea id="chat" class="box-sizing"></textarea> |
<textarea id="chat" class="box-sizing"></textarea> |
||||||
<div class="bunChat"> |
<div class="bunChat"> |
||||||
<div class="setChat box-sizing"> |
<div class="setChat box-sizing"> |
||||||
<p>Прикрепить файл</p> |
<p>Прикрепить файл</p> |
||||||
<span> |
<span> |
||||||
Не более 10 файлов с общим объемом 500мб |
Не более 10 файлов с общим объемом 500мб |
||||||
</span> |
</span> |
||||||
</div> |
</div> |
||||||
<a href="javascript:void(0)">отправить</a> |
<a href="javascript:void(0)">отправить</a> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="col-lg-3 wrstepschat"> |
<div class="col-lg-3 wrstepschat"> |
||||||
<p>Этапы работы</p> |
<p>Этапы работы</p> |
||||||
<div class="stepssBlock box-sizing disTab"> |
<div class="stepssBlock box-sizing disTab"> |
||||||
<p class="titleStepss">1 / Согласование условий</p> |
<p class="titleStepss">1 / Согласование условий</p> |
||||||
<p class="textStepss"> |
<p class="textStepss"> |
||||||
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
||||||
</p> |
</p> |
||||||
</div> |
</div> |
||||||
<div class="numberStepp box-sizing"> |
<div class="numberStepp box-sizing"> |
||||||
<div class="insetNumStepp"> |
<div class="insetNumStepp"> |
||||||
<p class="titleNumStepp"> |
<p class="titleNumStepp"> |
||||||
<span>Этап 1</span>Название этапа |
<span>Этап 1</span>Название этапа |
||||||
</p> |
</p> |
||||||
<p class="textNumStepp"> |
<p class="textNumStepp"> |
||||||
Результаты этапа: Готовый чертеж 1 |
Результаты этапа: Готовый чертеж 1 |
||||||
</p> |
</p> |
||||||
<div> |
<div> |
||||||
<p>до 16.03.2015</p> |
<p>до 16.03.2015</p> |
||||||
<span>30 000 <i class="fa fa-rub"></i></span> |
<span>30 000 <i class="fa fa-rub"></i></span> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="numberStepp box-sizing"> |
<div class="numberStepp box-sizing"> |
||||||
<div class="insetNumStepp"> |
<div class="insetNumStepp"> |
||||||
<p class="titleNumStepp"> |
<p class="titleNumStepp"> |
||||||
<span>Этап 2</span>Название этапа |
<span>Этап 2</span>Название этапа |
||||||
</p> |
</p> |
||||||
<p class="textNumStepp"> |
<p class="textNumStepp"> |
||||||
Результаты этапа: Готовый чертеж 1 |
Результаты этапа: Готовый чертеж 1 |
||||||
</p> |
</p> |
||||||
<div> |
<div> |
||||||
<p>до 16.03.2015</p> |
<p>до 16.03.2015</p> |
||||||
<span>30 000 <i class="fa fa-rub"></i></span> |
<span>30 000 <i class="fa fa-rub"></i></span> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
<div class="textAreaBlock2 FFD box-sizing disTab"> |
<div class="textAreaBlock2 FFD box-sizing disTab"> |
||||||
<a href="javascript:void()">согласовать</a> |
<a href="javascript:void()">согласовать</a> |
||||||
</div> |
</div> |
||||||
<div class="stepssBlock box-sizing disTab"> |
<div class="stepssBlock box-sizing disTab"> |
||||||
<p class="titleStepss">2 / Резервирование</p> |
<p class="titleStepss">2 / Резервирование</p> |
||||||
<p class="textStepss"> |
<p class="textStepss"> |
||||||
Резервирование заказчиком суммы оплаты по заказ. Деньги перечисляются и хранятся на сайте. |
Резервирование заказчиком суммы оплаты по заказ. Деньги перечисляются и хранятся на |
||||||
</p> |
сайте. |
||||||
<ul> |
</p> |
||||||
<li>Сумма еще не зарезервирована</li> |
<ul> |
||||||
<li>Сумма за этап1, Зарезервирована</li> |
<li>Сумма еще не зарезервирована</li> |
||||||
</ul> |
<li>Сумма за этап1, Зарезервирована</li> |
||||||
</div> |
</ul> |
||||||
<div class="stepssBlock box-sizing disTab"> |
</div> |
||||||
<p class="titleStepss">3 / Выполнение работы</p> |
<div class="stepssBlock box-sizing disTab"> |
||||||
<p class="textStepss"> |
<p class="titleStepss">3 / Выполнение работы</p> |
||||||
Процесс выполнения задания в заказе до получения заказчиком итогового результата работы. |
<p class="textStepss"> |
||||||
</p> |
Процесс выполнения задания в заказе до получения заказчиком итогового результата работы. |
||||||
</div> |
</p> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
</div> |
</div> |
||||||
{% include 'partials/footer.html' %} |
</div> |
||||||
</div> |
{% include 'partials/footer.html' %} |
||||||
</div> |
</div> |
||||||
|
</div> |
||||||
|
|
||||||
{% endblock %} |
{% endblock %} |
||||||
|
|
||||||
{% block js_block %} |
{% block js_block %} |
||||||
{# <script type="text/javascript" src="{% static 'js/chat.js' %}"></script>#} |
{# <script type="text/javascript" src="{% static 'js/chat.js' %}"></script>#} |
||||||
<script type="text/javascript"> |
<script type="text/javascript"> |
||||||
/** |
/** |
||||||
* Created by mukhtar on 04.07.16. |
* Created by mukhtar on 04.07.16. |
||||||
*/ |
*/ |
||||||
|
|
||||||
|
|
||||||
var SocketHandler = function () { |
var SocketHandler = function () { |
||||||
var userId = {{ request.user.pk }}; |
var userId = {{ request.user.pk }}; |
||||||
var url = 'ws://127.0.0.1:8888/chat/' + userId +'/'; |
var url = 'ws://127.0.0.1:8888/chat/' + userId + '/'; |
||||||
var sock = new WebSocket(url); |
var sock = new WebSocket(url); |
||||||
var intervalId; |
var intervalId; |
||||||
sock.onopen = function () { |
sock.onopen = function () { |
||||||
console.log("Start connect"); |
console.log("Start connect"); |
||||||
intervalId = setInterval(function () { |
intervalId = setInterval(function () { |
||||||
sock.send('{"dummy": 1}'); |
sock.send('{"dummy": 1}'); |
||||||
}, 150000); |
}, 150000); |
||||||
}; |
}; |
||||||
sock.onmessage = function (event) { |
sock.onmessage = function (event) { |
||||||
console.log(event.data); |
console.log(event.data); |
||||||
alert(event.data); |
alert(event.data); |
||||||
var message = JSON.parse(event.data); |
var message = JSON.parse(event.data); |
||||||
var inbox = document.getElementById('message-chat-space'); |
var inbox = document.getElementById('message-chat-space'); |
||||||
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
||||||
'<p class="nameCommChat">Иванов</p> <span>13.0.2016</span></div>' + |
|
||||||
'<p class="textCommChat">' + message.msg + '</p></div>'; |
|
||||||
|
|
||||||
}; |
|
||||||
|
|
||||||
this.send_contact_message = function (userId) { |
|
||||||
var data = { |
|
||||||
"format_type": "add_message", |
|
||||||
"user_id": userId |
|
||||||
} |
|
||||||
sock.send(JSON.stringify(data)); |
|
||||||
console.log(data); |
|
||||||
}; |
|
||||||
|
|
||||||
this.add_contact_message = function (messageData) { |
|
||||||
console.log(messageData); |
|
||||||
sock.send(JSON.stringify(messageData)); |
|
||||||
}; |
|
||||||
|
|
||||||
this.send_message = function (form) { |
|
||||||
var elements = form.elements; |
|
||||||
var data = {}; |
|
||||||
var i = 0; |
|
||||||
for (var i; i < elements.length; i++) { |
|
||||||
if (elements[i].name == 'message') { |
|
||||||
data[elements[i].name] = elements[i].value; |
|
||||||
} |
|
||||||
} |
|
||||||
sock.send(JSON.stringify(data)); |
|
||||||
var textareaMessage = document.getElementById("message"); |
|
||||||
textareaMessage.value = ""; |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
$(function () { |
|
||||||
var currentChatUser = {{ request.user.pk }}; |
|
||||||
var socket = new SocketHandler(); |
|
||||||
var form = document.getElementById('message_form'); |
|
||||||
var csrftoken = getCookie('csrftoken'); |
|
||||||
|
|
||||||
// Вытащить сообщения для чата заказа |
|
||||||
$('.order-block').on('click', function () { |
|
||||||
var orderId = $(this).attr('data-id'); |
|
||||||
var recipentId = $(this).attr('data-recipent-id'); |
|
||||||
$("#chat-contractor-order #orderId").val(orderId); |
|
||||||
$("#chat-contractor-order #recipentId").val(recipentId); |
|
||||||
var inbox = document.getElementById('message-chat-order-space'); |
|
||||||
inbox.innerHTML = ''; |
|
||||||
$.ajax({ |
|
||||||
url: '/api/message', |
|
||||||
type: 'GET', |
|
||||||
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId}, |
|
||||||
dataType: 'json', |
|
||||||
success: function (json) { |
|
||||||
$.each(json.results, function (i, v) { |
|
||||||
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
|
||||||
'<p class="nameCommChat">Иванов</p> <span>13.0.2016</span></div>' + |
'<p class="nameCommChat">Иванов</p> <span>13.0.2016</span></div>' + |
||||||
'<p class="textCommChat">' + v.text + '</p></div>'; |
'<p class="textCommChat">' + message.msg + '</p></div>'; |
||||||
}); |
|
||||||
|
}; |
||||||
|
|
||||||
|
this.send_contact_message = function (userId) { |
||||||
|
var data = { |
||||||
|
"format_type": "add_message", |
||||||
|
"user_id": userId |
||||||
|
} |
||||||
|
sock.send(JSON.stringify(data)); |
||||||
|
console.log(data); |
||||||
|
}; |
||||||
|
|
||||||
|
this.add_contact_message = function (messageData) { |
||||||
|
console.log(messageData); |
||||||
|
sock.send(JSON.stringify(messageData)); |
||||||
|
}; |
||||||
|
|
||||||
|
this.send_message = function (form) { |
||||||
|
var elements = form.elements; |
||||||
|
var data = {}; |
||||||
|
var i = 0; |
||||||
|
for (var i; i < elements.length; i++) { |
||||||
|
if (elements[i].name == 'message') { |
||||||
|
data[elements[i].name] = elements[i].value; |
||||||
|
} |
||||||
|
} |
||||||
|
sock.send(JSON.stringify(data)); |
||||||
|
var textareaMessage = document.getElementById("message"); |
||||||
|
textareaMessage.value = ""; |
||||||
|
|
||||||
} |
} |
||||||
}); |
|
||||||
|
|
||||||
}); |
} |
||||||
|
|
||||||
// Вытащить сообщения для конактов |
$(function () { |
||||||
$('.user-block').on('click', function () { |
var currentChatUser = {{ request.user.pk }}; |
||||||
var userId = $(this).attr('data-id'); |
var socket = new SocketHandler(); |
||||||
$("#contact-chat-form #recipentId").val(userId); |
var form = document.getElementById('message_form'); |
||||||
var inbox = document.getElementById('message-chat-space'); |
var csrftoken = getCookie('csrftoken'); |
||||||
inbox.innerHTML = ''; |
|
||||||
$.ajax({ |
// Вытащить сообщения для чата заказа |
||||||
url: '/api/message', |
$('.order-block').on('click', function () { |
||||||
type: 'GET', |
var orderId = $(this).attr('data-id'); |
||||||
data: {csrfmiddlewaretoken: csrftoken, 'operand': 'in', 'sender_id':currentChatUser,'recipent_id': userId}, |
var recipentId = $(this).attr('data-recipent-id'); |
||||||
dataType: 'json', |
$("#chat-contractor-order #orderId").val(orderId); |
||||||
success: function (json) { |
$("#chat-contractor-order #recipentId").val(recipentId); |
||||||
$.each(json.results, function (i, v) { |
var inbox = document.getElementById('message-chat-order-space'); |
||||||
|
inbox.innerHTML = ''; |
||||||
console.log(v.sender.id); |
|
||||||
var senderName = 'Вы'; |
|
||||||
var className = 'youChat'; |
$.ajax({ |
||||||
if(v.sender.id == userId){ |
url: '/api/message', |
||||||
senderName = v.sender.username; |
type: 'GET', |
||||||
className = ''; |
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId}, |
||||||
|
dataType: 'json', |
||||||
|
success: function (json) { |
||||||
|
$.each(json.results, function (i, v) { |
||||||
|
|
||||||
|
var senderName = 'Вы'; |
||||||
|
var className = 'youChat'; |
||||||
|
if (v.sender.id == currentChatUser) { |
||||||
|
senderName = v.sender.username; |
||||||
|
className = ''; |
||||||
|
} |
||||||
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
||||||
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' + |
||||||
|
'<p class="textCommChat">' + v.text + '</p></div>'; |
||||||
|
}); |
||||||
} |
} |
||||||
|
}); |
||||||
|
|
||||||
inbox.innerHTML += '<div class="col-lg-12 insetCommChat '+ className+'"><div class="topCommChat">' + |
}); |
||||||
'<p class="nameCommChat">'+ senderName +'</p> <span>'+ v.created +'</span></div>' + |
|
||||||
'<p class="textCommChat">' + v.text + '</p></div>'; |
// Вытащить сообщения для конактов |
||||||
|
$('.user-block').on('click', function () { |
||||||
|
var userId = $(this).attr('data-id'); |
||||||
|
$("#contact-chat-form #recipentId").val(userId); |
||||||
|
var inbox = document.getElementById('message-chat-space'); |
||||||
|
inbox.innerHTML = ''; |
||||||
|
$.ajax({ |
||||||
|
url: '/api/message', |
||||||
|
type: 'GET', |
||||||
|
data: { |
||||||
|
csrfmiddlewaretoken: csrftoken, |
||||||
|
'operand': 'in', |
||||||
|
'sender_id': currentChatUser, |
||||||
|
'recipent_id': userId |
||||||
|
}, |
||||||
|
dataType: 'json', |
||||||
|
success: function (json) { |
||||||
|
$.each(json.results, function (i, v) { |
||||||
|
|
||||||
|
console.log(v.sender.id); |
||||||
|
var senderName = 'Вы'; |
||||||
|
var className = 'youChat'; |
||||||
|
if (v.sender.id == userId) { |
||||||
|
senderName = v.sender.username; |
||||||
|
className = ''; |
||||||
|
} |
||||||
|
|
||||||
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat ' + className + '"><div class="topCommChat">' + |
||||||
|
'<p class="nameCommChat">' + senderName + '</p> <span>' + v.created + '</span></div>' + |
||||||
|
'<p class="textCommChat">' + v.text + '</p></div>'; |
||||||
|
}); |
||||||
|
} |
||||||
}); |
}); |
||||||
} |
|
||||||
}); |
|
||||||
|
|
||||||
}); |
}); |
||||||
|
|
||||||
// Добавить сообщение для контакта |
// Добавить сообщение для контакта |
||||||
$('#contact-chat-add-message').on('click', function () { |
$('#contact-chat-add-message').on('click', function () { |
||||||
var chatMessage = $("#chat").val(); |
var chatMessage = $("#chat").val(); |
||||||
var recipentId = $("#recipentId").val(); |
var recipentId = $("#recipentId").val(); |
||||||
var senderId = $("#senderId").val(); |
var senderId = $("#senderId").val(); |
||||||
|
|
||||||
socket.add_contact_message({ |
socket.add_contact_message({ |
||||||
"format_type": "add_message_contact", |
"format_type": "add_message_contact", |
||||||
"data": { |
"data": { |
||||||
"sender_id": senderId, |
"sender_id": senderId, |
||||||
"recipent_id": recipentId, |
"recipent_id": recipentId, |
||||||
"chat_message": chatMessage, |
"chat_message": chatMessage, |
||||||
} |
} |
||||||
}); |
}); |
||||||
|
|
||||||
var inbox = $('#message-chat-space').html(); |
var inbox = $('#message-chat-space').html(); |
||||||
$('#message-chat-space').html(inbox + '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
$('#message-chat-space').html(inbox + '<div class="col-lg-12 insetCommChat"><div class="topCommChat">' + |
||||||
'<p class="nameCommChat">Вы</p> <span>Сейчас</span></div>' + |
'<p class="nameCommChat">Вы</p> <span>Сейчас</span></div>' + |
||||||
'<p class="textCommChat">' + chatMessage +'</p></div>'); |
'<p class="textCommChat">' + chatMessage + '</p></div>'); |
||||||
|
|
||||||
$("#chat").val(""); |
$("#chat").val(""); |
||||||
}); |
}); |
||||||
|
|
||||||
|
|
||||||
}); |
}); |
||||||
</script> |
</script> |
||||||
{% endblock %} |
{% endblock %} |
||||||
|
|||||||
Loading…
Reference in new issue