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.
 
 
 
 

121 lines
5.3 KiB

{# заглушка js #}
<script type="text/javascript">
$(document).ready(function() {
$('tr.plat_form').formset({
prefix: '{{ pformset.prefix }}',
formCssClass: 'plat_dynamic-form',
});
$('tr.row_tbl_items').formset({
prefix: '{{ formset.prefix }}',
formCssClass: 'dynamic-form',
});
var get_pair = function(model, class1, class2, name1, name2) {
$('body').on('focusout', '.' + class1 + ' input', function() {
var $this = $(this);
var $code_input = $this.closest('.row_tbl_items').find('.' + class2 + ' input');
var code_input_val = $code_input.val();
$.get('/my/docs/ajax_get_pair/' + model + '/' + name1 + '/' + name2 + '/' + $this.val() + '/', function(data){
if (data['val']) {
$code_input.val(data['val']);
if (($code_input.val() != '')&&(($code_input.val() != code_input_val))) {
$code_input.css('color', 'red')
} else {
$code_input.css('color', 'black')
}
$this.css('color', 'black');
}
});
})
}
get_pair('Country', 'country_code', 'country_name', 'code', 'name');
get_pair('Country', 'country_name', 'country_code', 'name', 'code');
get_pair('Measure', 'units', 'units_kod', 'name', 'code');
get_pair('Measure', 'units_kod', 'units', 'code', 'name');
$('#id_client').on('change', function() {
var client_id = $(this).val();
$.get('/my/docs/ajax_get_invoices/' + client_id, function(data) {
var select = $('#id_invoice');
if(select.prop) {
var options = select.prop('options');
}
else {
var options = select.attr('options');
}
$('option', select).remove();
options[options.length] = new Option('-------', '');
$.each(data, function(val, text) {
options[options.length] = new Option(text, val);
});
select.prop('selectedIndex', 0);
})
})
$('#id_invoice').on('change', function() {
var invoice_id = $(this).val();
$.each($('.row_tbl_items'), function(index, item){
$(item).find('a.delete-row').trigger('click');
});
$.get('/my/docs/ajax_get_client_by_invoice/' + invoice_id, function(data) {
var client = data[0];
$('#id_client_text').hide();
$('#id_client-deck').html('<span class="div hilight" data-value='+ data[0] +'><span class="remove div" style="display: inline;">X</span>' + data[1] + '</span>');
$('#id_client').html('<option selected="selected" value="'+ data[0] +'"></option>');
//$('#id_client').trigger('change');
})
$.get('/my/docs/ajax_get_tbl_items/' + invoice_id, function(data) {
var items = JSON.parse(data);
$.each(items, function(index, item){
var name = item['fields']['name'];
var units = item['fields']['units'];
var qty = item['fields']['qty'];
var price = item['fields']['price'];
var total_price = item['fields']['total_price'];
$('#tbl_items a.add-row').trigger('click');
var $last_row = $('.row_tbl_items:visible').last();
$last_row.find('.name input').val(name);
$last_row.find('.units input').val(units);
$last_row.find('.qty input').val(qty);
$last_row.find('.price input').val(price);
$last_row.find('.total_price input').val(total_price);
$.get('/my/docs/ajax_get_pair/Measure/name/code/' + units + '/', function(data){
if (data['val']) {
$last_row.find('.units_kod input').val(data['val']);
}
});
})
})
})
//var sender_val = $('input:radio[name=sender_group]:checked', '#doc-form').val();
var toggle_sender = function(client_type) {
var sender_val = $('input:radio[name=' + client_type + '_group]:checked', '#doc-form').val();
if (sender_val == 'another') {
$('#' + client_type).show()
} else {
$('#' + client_type).hide()
}
}
$.each(['sender', 'receiver'], function(i, client_type){
toggle_sender(client_type);
$('input:radio[name=' + client_type + '_group]').change(function(){
toggle_sender(client_type);
})
})
if ($('#id_fixes').is(':checked')){
$('#fix_block').show();
} else {
$('#fix_block').hide();
}
$('#id_fixes').change(function(){
$('#fix_block').toggle();
$('#id_fix_doc_num').val('');
$('#id_fix_doc_date').val('');
})
});
</script>