Commit e5f44f2b by François C.

Merge branch '2947-merged-orders-order-by-po' into 'dev_cooperatic'

[REC] for grouped orders display order in list for ordering

See merge request !170
parents acd357d1 79cebb4d
Pipeline #2178 passed with stage
in 1 minute 29 seconds
...@@ -355,6 +355,10 @@ ...@@ -355,6 +355,10 @@
- RECEPTION_SHELF_LABEL_PRINT = True - RECEPTION_SHELF_LABEL_PRINT = True
- DISPLAY_COL_AUTRES = True
Display "Autres" column (showing select with action "rupture fournisseur")
- COEFF_MAG_ID = 1 - COEFF_MAG_ID = 1
DB coeff id, needed to compute product shelf price DB coeff id, needed to compute product shelf price
......
...@@ -188,6 +188,11 @@ div#container_edition { ...@@ -188,6 +188,11 @@ div#container_edition {
padding-bottom: 15px; padding-bottom: 15px;
} }
.title_partner_key {
font-weight: bolder;
font-size: 2rem;
}
/* Accordion style */ /* Accordion style */
/* Style the buttons that are used to open and close the accordion panel */ /* Style the buttons that are used to open and close the accordion panel */
...@@ -247,5 +252,9 @@ hr { ...@@ -247,5 +252,9 @@ hr {
#main_content {width: 100%;} #main_content {width: 100%;}
.select_product_action { .select_product_action {
max-width: 15px; max-width: 5px;
}
.toProcess_line_edit, .toProcess_line_valid {
min-width: 11px;
} }
\ No newline at end of file
...@@ -365,9 +365,7 @@ function display_orders_table() { ...@@ -365,9 +365,7 @@ function display_orders_table() {
table_orders.clear().destroy(); table_orders.clear().destroy();
$('#orders').empty(); $('#orders').empty();
} }
for (let j in orders) {
console.log(orders[j].id);
}
table_orders = $('#orders').DataTable({ table_orders = $('#orders').DataTable({
data: orders, data: orders,
columns:[ columns:[
......
...@@ -282,6 +282,11 @@ function fetch_data() { ...@@ -282,6 +282,11 @@ function fetch_data() {
} }
} else { } else {
// Add order key in products
let order_full_data = orders[order_data.id_po];
order_data.po[i].order_key = order_full_data.key;
// Add product to list_to_process // Add product to list_to_process
list_to_process.push(order_data.po[i]); list_to_process.push(order_data.po[i]);
...@@ -310,7 +315,7 @@ function fetch_data() { ...@@ -310,7 +315,7 @@ function fetch_data() {
// Init Data & listeners // Init Data & listeners
function initLists() { function initLists() {
try { try {
// Un-disable validation buttons now the data's here // Enable validation buttons now the data's here
if (reception_status == "False") { if (reception_status == "False") {
document.getElementById("valid_qty").disabled = false; document.getElementById("valid_qty").disabled = false;
document.getElementById("valid_all_qties").disabled = false; document.getElementById("valid_all_qties").disabled = false;
...@@ -344,10 +349,18 @@ function initLists() { ...@@ -344,10 +349,18 @@ function initLists() {
} }
} }
// Init table for to_process content let columns_to_process = [];
table_to_process = $('#table_to_process').DataTable({ let columns_processed = [];
data: list_to_process,
columns:[ // In case of group orders, add "Order" as first column for ordering
if (Object.keys(orders).length > 1) {
columns_to_process.push({
data:"order_key", title: "n°", className: "dt-body-center",
width: "20px"
});
}
columns_to_process = columns_to_process.concat([
{data:"product_id.0", title: "id", visible: false}, {data:"product_id.0", title: "id", visible: false},
{data:"shelf_sortorder", title: "Rayon", className: "dt-body-center"}, {data:"shelf_sortorder", title: "Rayon", className: "dt-body-center"},
{ {
...@@ -382,41 +395,26 @@ function initLists() { ...@@ -382,41 +395,26 @@ function initLists() {
}, },
{ {
title:"Editer", title:"Editer",
defaultContent: "<a class='btn' id='toProcess_line_edit' href='#'><i class='far fa-edit'></i></a>", defaultContent: "<a class='btn toProcess_line_edit' href='#'><i class='far fa-edit'></i></a>",
className:"dt-body-center", className:"dt-body-center",
orderable: false orderable: false
}, },
{ {
title:"Valider", title:"Valider",
defaultContent: "<a class='btn' id='toProcess_line_valid' href='#'><i class='far fa-check-square'></i></a>", defaultContent: "<a class='btn toProcess_line_valid' href='#'><i class='far fa-check-square'></i></a>",
className:"dt-body-center", className:"dt-body-center",
orderable: false orderable: false
}, },
{ {
title:"Autres", title:"",
defaultContent: "<select class='select_product_action'><option value=''></option><option value='supplier_shortage'>Rupture fournisseur</option></select>", defaultContent: "<select class='select_product_action'><option value=''></option><option value='supplier_shortage'>Rupture fournisseur</option></select>",
className:"dt-body-center", className:"dt-body-center",
orderable: false, orderable: false,
visible: display_autres === "True" visible: display_autres === "True"
} }
], ]);
rowId : "product_id.0",
order: [ columns_processed = [
[
0,
"asc"
]
],
scrollY: "33vh",
scrollCollapse: true,
paging: false,
dom: 'lrtip', // Remove the search input from that table
language: {url : '/static/js/datatables/french.json'}
});
// Init table for processed content
table_processed = $('#table_processed').DataTable({
data: list_processed,
columns:[
{data:"row_counter", title:"row_counter", visible: false}, // Hidden counter to display last row first {data:"row_counter", title:"row_counter", visible: false}, // Hidden counter to display last row first
{data:"shelf_sortorder", title: "Rayon", className:"dt-body-center"}, {data:"shelf_sortorder", title: "Rayon", className:"dt-body-center"},
{ {
...@@ -487,7 +485,33 @@ function initLists() { ...@@ -487,7 +485,33 @@ function initLists() {
+ "</select>"; + "</select>";
} }
} }
];
console.log(columns_to_process);
// Init table for to_process content
table_to_process = $('#table_to_process').DataTable({
data: list_to_process,
columns: columns_to_process,
rowId : "product_id.0",
order: [
[
0,
"asc"
]
], ],
scrollY: "33vh",
scrollCollapse: true,
paging: false,
dom: 'lrtip', // Remove the search input from that table
language: {url : '/static/js/datatables/french.json'}
});
// Init table for processed content
table_processed = $('#table_processed').DataTable({
data: list_processed,
columns: columns_processed,
rowId : "product_id.0", rowId : "product_id.0",
order: [ order: [
[ [
...@@ -509,7 +533,7 @@ function initLists() { ...@@ -509,7 +533,7 @@ function initLists() {
/* Listeners */ /* Listeners */
// Direct valid from to_process // Direct valid from to_process
$('#table_to_process tbody').on('click', 'a#toProcess_line_valid', function () { $('#table_to_process tbody').on('click', 'a.toProcess_line_valid', function () {
if (is_time_to('reception_direct_valid_order_line', 500)) { if (is_time_to('reception_direct_valid_order_line', 500)) {
try { try {
let row = table_to_process.row($(this).parents('tr')); let row = table_to_process.row($(this).parents('tr'));
...@@ -542,7 +566,7 @@ function initLists() { ...@@ -542,7 +566,7 @@ function initLists() {
}); });
// Edit to_process line // Edit to_process line
$('#table_to_process tbody').on('click', 'a#toProcess_line_edit', function () { $('#table_to_process tbody').on('click', 'a.toProcess_line_edit', function () {
try { try {
// Prevent editing mutiple lines at a time // Prevent editing mutiple lines at a time
if (editing_product == null) { if (editing_product == null) {
...@@ -1657,7 +1681,7 @@ function init_dom(partners_display_data) { ...@@ -1657,7 +1681,7 @@ function init_dom(partners_display_data) {
}; };
} }
dbc.bulkDocs(Object.values(orders)).then((response) => { dbc.bulkDocs(Object.values(orders)).then(() => {
back(); back();
}) })
.catch((err) => { .catch((err) => {
...@@ -1964,12 +1988,13 @@ $(document).ready(function() { ...@@ -1964,12 +1988,13 @@ $(document).ready(function() {
include_docs: true include_docs: true
}).then(function (result) { }).then(function (result) {
// for each order in the group // for each order in the group
for (let order_id of group_ids) { for (let i in group_ids) {
// find order // find order
let order_id = group_ids[i];
let order = result.rows.find(el => el.id == 'order_' + order_id); let order = result.rows.find(el => el.id == 'order_' + order_id);
order = order.doc; order = order.doc;
order.key = parseInt(i) + 1;
orders[order_id] = order; orders[order_id] = order;
// Add each order's already updated and validated products to common list // Add each order's already updated and validated products to common list
...@@ -1982,7 +2007,7 @@ $(document).ready(function() { ...@@ -1982,7 +2007,7 @@ $(document).ready(function() {
} }
// Prepare data to display in 'partner name' area // Prepare data to display in 'partner name' area
partners_display_data.push(order['partner'] + ' du ' + order['date_order']); partners_display_data.push(`<span class="title_partner_key">${order.key}.</span> ${order.partner} du ${order.date_order}`);
} }
// Set current reception status: take first order's // Set current reception status: take first order's
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment