choices = (x for x in AccountModel.objects.filter(status=2, user_id=args[0]["user_id"]) if x.task_inwork_count == 0)
function format(d) {
var uchred = ''
var directors = ''
for (iter of d.founder) {
uchred = uchred +
'<tr>' +
'<td>' + iter.inn + '</td>' +
'<td>' + iter.name + '</td>' +
'<td>' + iter.percent + '</td>' +
'<td>' + iter.nominal +'</td>' +
'<td>' + iter.key + '</td>' +
'</tr>'
}
for (iter of d.chief) {
directors = directors +
'<tr>' +
'<td>' + iter.inn + '</td>' +
'<td>' + iter.name + '</td>' +
'<td>' + iter.post + '</td>' +
'<td>' + iter.link + '</td>' +
'<td>' + iter.key + '</td>' +
'</tr>'
}
var form = '<table class="table caption-top" style="width:100%">' +
'<caption>Учредители</caption>' +
'<thead>' +
'<tr>' +
'<th scope="col">' + 'ИНН' + '</th>' +
'<th scope="col">Учредитель</th>' +
'<th scope="col">Доля %</th>' +
'<th scope="col">Доля RUB</th>' +
'<th scope="col">Ключ</th>' +
'</tr>' +
'</thead>' +
'<tbody>' +
'<tr>' +
'<td>' + uchred + '</td>' +
'</tr>' +
'</tbody>' +
'</table>' +
'<table style="width:100%">' +
'<caption>Руководители</caption>' +
'<thead>' +
'<tr>' +
'<th scope="col">ИНН</th>' +
'<th scope="col">ФИО</th>' +
'<th scope="col">Должность</th>' +
'<th scope="col">Также руководит</th>' +
'<th scope="col">Ключ</th>' +
'</tr>' +
'</thead>' + '<tbody>' +
'<tbody>' +
directors +
'</tbody>' +
'</table>'
return (form);
}
let table = new DataTable('#example', {
ajax: '/api/results/?format=datatables',
deferRender: false,
columns: [
{
className: 'dt-control',
orderable: false,
data: null,
defaultContent: ''
},
{ data: 'okopf' },
{ data: 'parent_token' },
{ data: 'name' },
{ data: 'inn' },
{ data: 'contacts.Тел[ ]'},
{ data: 'contacts.Емэйл[ ]' },
{ data: 'contacts.ВебСайт' },
{ data: 'revenue' },
{ data: 'income' },
{ data: 'status' },
{ data: 'post' },
{ data: 'add_date' },
{ data: 'work_status' },
{ data: 'gb_done' },
{ data: 'gb_info' },
{ data: 'gb_file', "render": function ( data, type, full, meta ) {
return '<a href="'+data.replace('api/results/media/', '')+'/" target="_blank">'+data.replace('api/results/media/', '').replace('%23', '')+'</a>';}}
],
paging: true,
<!-- exportOptions : {},-->
<!-- order: [[2, 'asc'], [10, 'asc']],-->
language: {
lengthMenu: 'Показать _MENU_ записей',
"emptyTable": "Нет данных для отображения",
search: "Поиск в таблице:",
"info": "Показано с _START_ по _END_ из _TOTAL_ записей",
"infoEmpty": "Показано 0 из 0 записей",
"loadingRecords": "Загрузка...",
},
columnDefs: [],
layout: {
top2Start: 'pageLength',
topStart: 'buttons',
},
select: true,
serverSide: false,
processing: true,
ordering: true,
searching: true,
});
table.on('click', 'td.dt-control', function (e) {
let tr = e.target.closest('tr');
let row = table.row(tr);
if (row.child.isShown()) {
row.child.hide();
}
else {
row.child(format(row.data())).show();
}
});