@ -8,6 +8,7 @@
< 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" >
@ -29,7 +30,9 @@
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "tab-content" >
< div class = "tab-content" >
<!-- Tab1 contacts block -->
< div class = "chatBlock disTab tab-pane fade in active" id = "tab1" >
< div class = "chatBlock disTab tab-pane fade in active" 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" >
@ -56,102 +59,46 @@
< / div >
< / div >
< / div >
< / div >
< div class = "col-lg-6 commChat" id = "contact-chat" >
< div id = "message-chat-space" >
< / div >
< div class = "col-lg-6 commChat" id = "contact-chat" >
< 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 = "senderId" / >
< input type = "hidden" value = "{{ request.user.pk }}" name = "senderId" id = "senderId" / >
< input type = "hidden" value = "" name = "recipentId" id = "recipentId" / >
< input type = "hidden" value = "" name = "recipentId" id = "recipentId" / >
< textarea id = "chat" name = "chat_message" class = "box-sizing" > < / textarea >
< textarea id = "chat" name = "chat_message" 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мб< / span >
Не более 10 файлов с общим объемом 500мб
< / 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 = "messageBlock box-sizing disTab" >
< p > Контакты< / p >
< div class = "message" >
< div class = "imgMess" >
< img src = "img/mess.png" alt = "mess-image" >
< / div >
< p class = "nameMess" >
< a href = "#" > Иванов Петр Иванович< / a >
< / p >
< a href = "javascript:void(0)" class = "conMess" > Контакты< / a >
< / div >
< / div >
< div class = "col-lg-12 startChat" >
< div class = "insetSC1" >
Начало:
< span > Срок сдачи:< / span >
< / div >
< div class = "insetSC2" >
13.0.2016
< span > 13.0.2016< / span >
< / div >
< / div >
< div class = "col-lg-12 documentsChat" >
< p > Входящие документы< / p >
< ul >
< li >
Архитерурное 2.jpg
< span > 7мб< / span >
< div > < / div >
< / li >
< / ul >
< div class = "col-lg-3 wrChat1" >
< a href = "javascript:void(0)" >
Распечатать с помощью ресурса
< / a >
< / 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" >
< a href = "javascript:void(0)" >
Закрыть проект< br > и оставить отзыв
< / a >
< / div >
< div class = "closeChat closeChat2" >
< a href = "javascript:void(0)" >
Закрыть проект< br > и оставить отзыв
< / a >
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- End block Tab1 -->
<!-- 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"
< div class = "orderBlock box-sizing order-block" data-recipent-id = "{{ order.project.customer.pk }}" data-id = "{{ order.id }}" >
data-recipent-id="{{ order.project.customer.pk }}" data-id="{{ order.id }}">
< span class = "dimovChat" > < / span >
< span class = "dimovChat" > < / span >
< p class = "titleOB" >
< p class = "titleOB" > {{ order }}< / p >
{{ order }}
< / p >
< div class = "hideOBB" >
< div class = "hideOBB" >
< p class = "pOB" >
< p class = "pOB" > < span > Исполнитель:< / span > {{ request.user.get_full_name }}< / p >
< span > Испонитель:< / span > {{ request.user.get_full_name }}
< p class = "pOB" > < span > Чаты:< / span > Иванов, Петров< / p >
< / p >
< p class = "pOB" >
< span > Чаты:< / span > Иванов, Петров, Пенкин
< / p >
< 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 >
Полное описание заказа
Полное описание заказа
@ -163,27 +110,24 @@
< / div >
< / div >
< div class = "col-lg-6 commChat" >
< div class = "col-lg-6 commChat" >
< div id = "message-chat-order-space" >
< div id = "message-chat-order-space" > < / div >
< / div >
< form id = "chat-contractor-order" >
< form id = "chat-contractor-order" >
< input type = "text " id = "orderId" / >
< input type = "hidden " id = "orderId" / >
< input type = "text " id = "senderOrderId" value = "{{ request.user.pk }}" / >
< input type = "hidden " id = "senderOrderId" value = "{{ request.user.pk }}" / >
< input type = "text " id = "recipentOrderId" / >
< input type = "hidden " id = "recipentOrderId" / >
< 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мб< / span >
Не более 10 файлов с общим объемом 500мб
< / span >
< / div >
< / div >
< a href = "javascript:void(0)" id = "order-chat-add-message" > отправить< / a >
< a href = "javascript:void(0)" id = "order-chat-add-message" > отправить< / a >
< / div >
< / div >
< / form >
< / form >
< / div >
< div class = "col-lg-3 wrTAB" >
< / div >
< 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 >
@ -193,16 +137,33 @@
< / div >
< / div >
< div id = "order-stages" > < / div >
< div id = "order-stages" > < / div >
< div class = "stepssBlock box-sizing disTab" >
< p class = "titleStepss" > 2 / Резервирование< / p >
< p class = "textStepss" >
Резервирование заказчиком суммы оплаты по заказ. Деньги перечисляются и хранятся на
сайте.
< / p >
< ul class = "stages-paid" > < / ul >
< / div >
< div class = "textAreaBlock2 box-sizing disTab" >
< div class = "textAreaBlock2 box-sizing disTab" >
< ul class = "notes-block" >
< / ul >
< p > Для заметок< / p >
< p > Для заметок< / p >
< textarea id = "chat2" > < / textarea >
< form id = "add-form-order-note" >
< a href = "javascript:void()" > сохранить< / a >
< textarea id = "chat2" name = "text" > < / textarea >
< / div >
< input type = "hidden" name = "order" id = "orderNote" value = "" / >
< div class = "linkChatB box-sizing disTab" >
< input type = "hidden" name = "sender" id = "senderNote" value = "{{ request.user.pk }}" / >
< a href = "javascript:void(0)" > предложить проект< / a >
< input type = "hidden" name = "recipent" id = "recipentNote" value = "" / >
< a href = "javascript:void()" id = "add-note-button" > сохранить< / a >
< / form >
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- End block Tab2 -->
<!-- Tab3 groups block -->
< 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" >
@ -250,9 +211,6 @@
< / div >
< / div >
< div id = "order-stages" > < / div >
< div id = "order-stages" > < / div >
< div class = "textAreaBlock2 FFD box-sizing disTab" >
< a href = "javascript:void()" > согласовать< / a >
< / 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" >
@ -272,6 +230,7 @@
< / div >
< / div >
< / div >
< / div >
< / div >
< / div >
<!-- End block Tab3 -->
< / div >
< / div >
{% include 'partials/footer.html' %}
{% include 'partials/footer.html' %}
< / div >
< / div >
@ -282,10 +241,6 @@
{% 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.
*/
var SocketHandler = function () {
var SocketHandler = function () {
var userId = {{ request.user.pk }};
var userId = {{ request.user.pk }};
@ -339,7 +294,6 @@
sock.send(JSON.stringify(data));
sock.send(JSON.stringify(data));
var textareaMessage = document.getElementById("message");
var textareaMessage = document.getElementById("message");
textareaMessage.value = "";
textareaMessage.value = "";
}
}
}
}
@ -350,12 +304,28 @@
var form = document.getElementById('message_form');
var form = document.getElementById('message_form');
var csrftoken = getCookie('csrftoken');
var csrftoken = getCookie('csrftoken');
$("#approve-stages").on('click', function(){
$(".stage-block-approve").each(function(){
var stageId = $(this).attr('data-id');
});
});
// Вытащить сообщения для чата заказа
// Вытащить сообщения для чата заказа
$('.order-block').on('click', function () {
$('.order-block').on('click', function () {
$('.order-block').each(function () {
$(this).removeClass('orAct');
});
$(this).addClass('orAct');
var orderId = $(this).attr('data-id');
var orderId = $(this).attr('data-id');
var recipentId = $(this).attr('data-recipent-id');
var recipentId = $(this).attr('data-recipent-id');
$("#chat-contractor-order #orderId").val(orderId);
$("#chat-contractor-order #orderId").val(orderId);
$("#add-form-order-note #orderNote").val(orderId);
$("#chat-contractor-order #recipentOrderId").val(recipentId);
$("#chat-contractor-order #recipentOrderId").val(recipentId);
$("#add-form-order-note #recipentNote").val(recipentId);
var inbox = document.getElementById('message-chat-order-space');
var inbox = document.getElementById('message-chat-order-space');
inbox.innerHTML = '';
inbox.innerHTML = '';
@ -366,7 +336,6 @@
dataType: 'json',
dataType: 'json',
success: function (json) {
success: function (json) {
$.each(json.results, function (i, v) {
$.each(json.results, function (i, v) {
var senderName = 'Вы';
var senderName = 'Вы';
var className = 'youChat';
var className = 'youChat';
if (v.sender.id !== currentChatUser) {
if (v.sender.id !== currentChatUser) {
@ -380,6 +349,21 @@
}
}
});
});
$.ajax({
url: '/api/note/',
type: 'GET',
data: {csrfmiddlewaretoken: csrftoken, 'order': orderId},
dataType: 'json',
success: function (json) {
console.log(json.results);
var noteHtmlInbox = '';
$.each(json.results, function (i, v) {
noteHtmlInbox += '< li > '+ v.text +'< li > ';
});
$(".notes-block").html(noteHtmlInbox);
}
});
$.ajax({
$.ajax({
url: '/api/stages/',
url: '/api/stages/',
@ -389,18 +373,52 @@
success: function (json) {
success: function (json) {
console.log(json.results);
console.log(json.results);
var htmlInbox = "";
var htmlInbox = "";
$.each(json.results, function (i, v) {
var stagesReservedHtml = "";
htmlInbox += '< div class = "numberStepp box-sizing" > < div class = "insetNumStepp" > ' +
if (json.results.length > 0) {
'< p class = "titleNumStepp" > < span > Этап '+ v.pos +'< / span > '+ v.name +'< / p > ' +
'< p class = "textNumStepp" > Результаты этапа:'+ v.result+'< / p > < div > ' +
$.each(json.results, function (i, v) {
'< p > до 16.03.2015< / p > < span > '+ v.cost +'< i class = "fa fa-rub" > < / i > < / span > < / div > < / div > < / div > ';
if(v.is_paid){
});
stagesReservedHtml += '< li class = "reserved" > Сумма за этап '+ i +'.Зарезервирована.< / li > ';
}else{
stagesReservedHtml += '< li class = "unreserved" > Сумма за этап '+ i +'.Не зарезервирована.< / li > ';
}
htmlInbox += '< div data-id = "' + v.id + '" class = "numberStepp box-sizing stage-block-approve" > < div class = "insetNumStepp" > ' +
'< p class = "titleNumStepp" > < span > Этап ' + v.pos + '< / span > ' + v.name + '< / p > ' +
'< p class = "textNumStepp" > Результаты этапа:' + v.result + '< / p > < div > ' +
'< p > '+ v.status+'< / p > < span > ' + v.cost + '< i class = "fa fa-rub" > < / i > < / span > < / div > < / div > < / div > ';
});
htmlInbox += '< div class = "textAreaBlock2 FFD box-sizing disTab" > < a id = "approve-stages" href = "javascript:void()" > согласовать< / a > < / div > ';
}
$("#order-stages").html(htmlInbox);
$("#order-stages").html(htmlInbox);
$(".stages-paid").html(stagesReservedHtml);
}
}
});
});
});
});
$('#add-note-button').on('click', function(){
$.ajax({
url: '/api/note/',
type: 'POST',
beforeSend: function (xhr) {
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken'))
},
data:$("#add-form-order-note").serialize(),
dataType: 'json',
success: function (json) {
console.log(json);
$("#add-form-order-note #chat2").val("");
},
error: function(e){
console.log('error');
console.log(e);
}
});
});
// Вытащить сообщения для конактов
// Вытащить сообщения для конактов
$('.user-block').on('click', function () {
$('.user-block').on('click', function () {
var userId = $(this).attr('data-id');
var userId = $(this).attr('data-id');