Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $(document).ready(function() {
- var editor2 = new $.fn.dataTable.Editor( {
- table: "#order-table",
- idSrc: 'kod',
- fields: [ {
- label: "Код:", name: "kod"
- },
- {
- label: "Наименование:", name: "name"
- },
- {
- label: "Производитель:", name: "proizvod"
- },
- {
- label: "Срок годности", name: "srok"
- },
- {
- label: "Количество", name: "kol"
- },
- {
- label: "К заказу", name: 'zakaz'
- },
- {
- label: "ЖНВЛП", name: "flag"
- },
- {
- label: "Цена:", name: "price"
- },
- {
- label: "Цена реестрная:", name: "rprice"
- },
- {
- label: "Ставка НДС", name: "nds"
- },
- {
- label: "Штрихкод", name: "ean13"
- },
- {
- label: "Комментарий", name: "comment"
- },
- {
- label: "Обновлено", name: "updated_at"
- },
- ],
- ajax: function ( method, url, d, successCallback, errorCallback ) {
- var output = { data: [] };
- if ( d.action === 'edit' ) {
- var key = Object.keys(d.data)[0];
- var editedRow = d.data[Object.keys(d.data)[0]];
- editedRow.id = key;
- output.data.push(editedRow);
- }
- successCallback(output);
- }
- } );
- var editor = new $.fn.dataTable.Editor( {
- table: "#mytable",
- idSrc: 'kod',
- fields: [ {
- label: "Код:",
- name: "kod"
- },
- {
- label: "Наименование:",
- name: "name"
- },
- {
- label: "Производитель:",
- name: "proizvod"
- },
- {
- label: "Срок годности",
- name: "srok"
- },
- {
- label: "Количество",
- name: "kol"
- },
- {
- label: "К заказу",
- name: 'zakaz'
- },
- {
- label: "ЖНВЛП",
- name: "flag"
- },
- {
- label: "Цена:",
- name: "price"
- },
- {
- label: "Цена реестрная:",
- name: "rprice"
- },
- {
- label: "Ставка НДС",
- name: "nds"
- },
- {
- label: "Штрихкод",
- name: "ean13"
- },
- {
- label: "Комментарий",
- name: "comment"
- },
- {
- label: "Обновлено",
- name: "updated_at"
- },
- ],
- ajax: function ( method, url, d, successCallback, errorCallback ) {
- var output = { data: [] };
- if ( d.action === 'edit' ) {
- var key = Object.keys(d.data)[0];
- var editedRow = d.data[Object.keys(d.data)[0]];
- editedRow.id = key;
- output.data.push(editedRow);
- }
- $.ajax({
- type: "POST",
- url: "{% url 'order_api' %}",
- data: {'kod':editedRow.kod, 'name':editedRow.name, 'proizvod':editedRow.proizvod, 'srok':editedRow.srok, 'kol':editedRow.kol, 'flag':editedRow.flag, 'zakaz':editedRow.zakaz,
- 'price':editedRow.price, 'rprice':editedRow.rprice, 'nds':editedRow.nds, 'comment':editedRow.comment, 'ean13':editedRow.ean13, 'updated_at':editedRow.updated_at },
- success: function(data) {
- var adata = {'kod': data.kod, 'name': data.name, 'proizvod': data.proizvod, 'srok': data.srok.toString(), 'kol': data.kol, 'zakaz': data.zakaz, 'flag': data.flag, 'price': data.price, 'rprice': data.rprice, 'nds':data.nds, 'ean13': data.ean13, 'comment': data.comment, 'updated_at': data.updated_at}
- orderTable.row.add(adata).draw();
- }
- });
- successCallback(output);
- }
- } );
- var orderTable = $('#order-table').DataTable({
- dom: "Bfrtp",
- domTable: "#order-table",
- paging: false,
- columns: [
- { data: "kod", orderable: 'False' },
- { data: "name" },
- { data: "proizvod" },
- { data: "srok" },
- { data: "kol" },
- { data: "zakaz", className: 'editable' },
- { data: "flag" },
- { data: "price" },
- { data: "rprice" },
- { data: "nds" },
- { data: "ean13" },
- { data: "comment" },
- { data: "updated_at"}
- ],
- language: {
- "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Russian.json"
- },
- select: true,
- buttons: [
- { extend: "edit", editor: editor2 },
- { extend: "remove", editor: editor2 }
- ]
- });
- $('#mytable').DataTable( {
- dom: 'Bfrtip',
- ajax: "{% url 'price_json' %}",
- language: {
- "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Russian.json"
- },
- ordering: true,
- columns: [
- { data: "kod", orderable: false },
- { data: "name" },
- { data: "proizvod" },
- { data: "srok", orderable: false },
- { data: "kol" },
- { data: "zakaz", className: 'editable' },
- { data: "flag", orderable: false },
- { data: "price" },
- { data: "rprice", orderable: false },
- { data: "nds", orderable: false },
- { data: "ean13", orderable: false },
- { data: "comment", orderable: false },
- { data: "updated_at"}
- ],
- select: {
- style: 'os',
- selector: 'td:first-child'
- },
- buttons: [
- ]
- } );
- // Activate an inline edit on click of a table cell
- $('#mytable').on( 'click', 'tbody td.editable', function (e) {
- editor.inline( this, {
- submit: 'allIfChanged',
- } );
- } );
- $('#save_order').on('click', function () {
- var table = $('#order-table').DataTable();
- var order = {
- kod_klienta: "{{ user.username }}",
- goods: []
- };
- table.data().each( function (d) {
- order.goods.push({
- "kod": d.kod,
- "name": d.name,
- "proizvod": d.proizvod,
- "srok": d.srok,
- "kol": d.kol,
- "zakaz": d.zakaz,
- "flag": d.flag,
- "price": d.price,
- "rprice": d.rprice,
- "nds": d.nds,
- "comment": d.comment,
- "ean13": d.ean13,
- "updated_at": d.updated_at
- })
- } );
- $.ajax({
- type: "POST",
- data: JSON.stringify({ massiv: order }),
- contentType: "application/json; charset=utf-8",
- dataType: "json",
- url: "{% url 'order_create_ajax' %}",
- success: function(data){
- alert(data['msg']);
- }
- });
- function csrfSafeMethod(method) {
- // these HTTP methods do not require CSRF protection
- return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
- }
- $.ajaxSetup({
- beforeSend: function(xhr, settings) {
- if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
- xhr.setRequestHeader("X-CSRFToken", csrftoken);
- }
- }
- });
- });
- } );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement