|
|
|
|
@ -156,7 +156,7 @@ |
|
|
|
|
<div id="message-chat-order-space"> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<form id="chat-order-add"> |
|
|
|
|
<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" value=""/> |
|
|
|
|
<input type="hidden" name="orderId" id="orderId" value=""/> |
|
|
|
|
@ -174,43 +174,47 @@ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<div class="col-lg-3 wrTAB"> |
|
|
|
|
<p>Этапы работы</p> |
|
|
|
|
<div class="stepssBlock box-sizing disTab"> |
|
|
|
|
<p class="titleStepss">1 / Согласование условий</p> |
|
|
|
|
<p class="textStepss"> |
|
|
|
|
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
|
|
|
|
</p> |
|
|
|
|
<p></p> |
|
|
|
|
<p class="textStepss"> |
|
|
|
|
Какое кол-во этапов подразумевает работа? <input type="text" id="countStage" size="3" /> |
|
|
|
|
</p> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<div id="formsetStage" class="numberStepp box-sizing"> |
|
|
|
|
<div class="insetNumStepp" id="stage1"> |
|
|
|
|
<p class="titleNumStepp"> |
|
|
|
|
<span>Этап </span> |
|
|
|
|
</p> |
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
|
<form> |
|
|
|
|
<input type="text" value="Название этапа" /> |
|
|
|
|
<input type="text" value="Результат этапа" /> |
|
|
|
|
<input type="text" value="Срок этапа" /> |
|
|
|
|
<input type="text" value="Цена этапа" /> |
|
|
|
|
<input type="text" value="" class="orderStagesInput" /> |
|
|
|
|
</form> |
|
|
|
|
<div class="col-lg-3 wrstepschat"> |
|
|
|
|
<p>Этапы работы</p> |
|
|
|
|
<div class="stepssBlock box-sizing disTab"> |
|
|
|
|
<p class="titleStepss">1 / Согласование условий</p> |
|
|
|
|
<p class="textStepss"> |
|
|
|
|
Обсуджение задания и условий выполнения работы. Подтверждение заказа исполнителем. |
|
|
|
|
</p> |
|
|
|
|
<p></p> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<div class="stepssBlock box-sizing disTab"> |
|
|
|
|
<p class="textStepss"> |
|
|
|
|
Какое кол-во этапов подразумевает работа? <input type="text" id="countStage" size="3"/> |
|
|
|
|
</p> |
|
|
|
|
<div id="formsetStage" class="numberStepp box-sizing" style="display: none;"> |
|
|
|
|
<div class="insetNumStepp" id="stage1"> |
|
|
|
|
<p class="titleNumStepp"> |
|
|
|
|
<span>Этап </span> |
|
|
|
|
</p> |
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
|
<form class="new-stages-form"> |
|
|
|
|
<label>Название</label> |
|
|
|
|
<input type="text" name="name" /> |
|
|
|
|
<label>Результат</label> |
|
|
|
|
<input type="text" name="result" /> |
|
|
|
|
<label>Стоимость</label> |
|
|
|
|
<input type="text" name="cost" /> |
|
|
|
|
<input type="hidden" name="order" class="orderStagesInput"/> |
|
|
|
|
</form> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
|
<a href="javascript:void()">сохранить</a> |
|
|
|
|
<div class="textAreaBlock2 box-sizing disTab"> |
|
|
|
|
<a href="javascript:void()" id="addStagesForm">сохранить</a> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
|
<a href="javascript:void()">согласовать</a> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="textAreaBlock2 FFD box-sizing disTab"> |
|
|
|
|
<a href="javascript:void()">согласовать</a> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div id="order-stages"></div> |
|
|
|
|
|
|
|
|
|
@ -241,23 +245,48 @@ |
|
|
|
|
var csrftoken = getCookie('csrftoken'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$('#countStage').on('change', function(e){ |
|
|
|
|
$(".stages_form").each(function(){ |
|
|
|
|
$("#addStagesForm").on('click',function(){ |
|
|
|
|
$(".new-stages-form").each(function(i,v){ |
|
|
|
|
$.ajax({ |
|
|
|
|
url: '/api/stages/', |
|
|
|
|
type: 'POST', |
|
|
|
|
beforeSend: function (xhr) { |
|
|
|
|
xhr.setRequestHeader("X-CSRFToken", getCookie('csrftoken')) |
|
|
|
|
}, |
|
|
|
|
data:$(this).serialize(), |
|
|
|
|
dataType: 'json', |
|
|
|
|
success: function (json) { |
|
|
|
|
console.log(json); |
|
|
|
|
}, |
|
|
|
|
error: function(e){ |
|
|
|
|
console.log(e); |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$('#countStage').on('change', function (e) { |
|
|
|
|
$(".stages_form").each(function () { |
|
|
|
|
$(this).remove(); |
|
|
|
|
}); |
|
|
|
|
var countStage = parseInt($(this).val()); |
|
|
|
|
var limitCount = countStage + 1; |
|
|
|
|
for(var i=2;i<limitCount;i++){ |
|
|
|
|
var stageCopy = $("#stage1").clone().attr("id","stage" + i).addClass("stages_form"); |
|
|
|
|
for (var i = 2; i < limitCount; i++) { |
|
|
|
|
var stageCopy = $("#stage1").clone().attr("id", "stage" + i).addClass("stages_form"); |
|
|
|
|
$("#stage1").after(stageCopy); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$('.order-block').on('click', function () { |
|
|
|
|
$('.order-block').each(function(){ |
|
|
|
|
$(this).removeClass('orAct'); |
|
|
|
|
$("#chat-order-add").css("display", "block"); |
|
|
|
|
$("#formsetStage").css("display","block"); |
|
|
|
|
|
|
|
|
|
$('.order-block').each(function () { |
|
|
|
|
$(this).removeClass('orAct'); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$(this).addClass('orAct'); |
|
|
|
|
var orderId = $(this).attr('data-id'); |
|
|
|
|
var recipentId = $(this).attr('data-recipent-id'); |
|
|
|
|
@ -281,8 +310,8 @@ |
|
|
|
|
className = ''; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
inbox.innerHTML += '<div class="col-lg-12 insetCommChat '+ className +'"><div class="topCommChat">' + |
|
|
|
|
'<p class="nameCommChat">'+ senderName +'</p><span>'+ v.created +'</span></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>'; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
@ -296,10 +325,22 @@ |
|
|
|
|
success: function (json) { |
|
|
|
|
var htmlInbox = ""; |
|
|
|
|
$.each(json.results, function (i, v) { |
|
|
|
|
htmlInbox += '<div class="numberStepp box-sizing"><div class="insetNumStepp">' + |
|
|
|
|
'<p class="titleNumStepp"><span>Этап '+ v.pos +'</span>'+ v.name +'</p>' + |
|
|
|
|
'<p class="textNumStepp">Результаты этапа:'+ v.result+'</p><div>' + |
|
|
|
|
'<p>до 16.03.2015</p><span>'+ v.cost +'<i class="fa fa-rub"></i></span></div></div></div>'; |
|
|
|
|
if (v.status == "not_agreed") { |
|
|
|
|
htmlInbox += '<div class="numberStepp box-sizing">' + |
|
|
|
|
'<p>Этап</p><form class="update-stages-form" id="stage-form-'+ v.pos +'">' + |
|
|
|
|
'<label for="">Название</label><input class="form-control" type="text" value="'+ v.name +'" />' + |
|
|
|
|
'<label for="">Цена</label><input class="form-control" type="text" value="'+ v.cost +'" />' + |
|
|
|
|
'<input class="form-control" type="hidden" value="'+ v.order +'" />' + |
|
|
|
|
'<label for="">Срок</label><input class="form-control" type="text" value="'+ v.term +'" />' + |
|
|
|
|
'<label for="">Результат</label><input class="form-control" type="text" value="'+ v.result +'" />' + |
|
|
|
|
'</form></div>'; |
|
|
|
|
} else { |
|
|
|
|
htmlInbox += '<div class="numberStepp box-sizing"><div class="insetNumStepp">' + |
|
|
|
|
'<p class="titleNumStepp"><span>Этап ' + v.pos + '</span>' + v.name + '</p>' + |
|
|
|
|
'<p class="textNumStepp">Результаты этапа:' + v.result + '</p><div>' + |
|
|
|
|
'<p>до 16.03.2015</p><span>' + v.cost + '<i class="fa fa-rub"></i></span></div></div></div>'; |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
$("#order-stages").html(htmlInbox); |
|
|
|
|
} |
|
|
|
|
|