Change 'Rack' to 'Bin'

This commit is contained in:
Thanakorn S
2026-05-27 17:14:53 +07:00
parent b8798bc02d
commit 8f57ab5570
41 changed files with 931 additions and 933 deletions
+32 -32
View File
@@ -85,11 +85,11 @@
</select>
</div>
<!-- Step 7: Rack -->
<div class="mb-3 col-lg-6" id="group_rack">
<label for="rack" class="form-label" id="label_rack">Rack</label>
<select name="rack" id="rack" class="form-select" required disabled>
<option value="">Please select rack</option>
<!-- Step 7: Bin -->
<div class="mb-3 col-lg-6" id="group_bin">
<label for="bin" class="form-label" id="label_bin">Bin</label>
<select name="bin" id="bin" class="form-select" required disabled>
<option value="">Please select bin</option>
</select>
</div>
@@ -124,7 +124,7 @@
// custom.js globals: set_select_value(), load_location_config()
var advanced = false;
var label_rack = 'Location';
var label_bin = 'Location';
var label_zone = 'Zone';
var label_aisle = 'Aisle';
var scan_sku_ready = false;
@@ -157,7 +157,7 @@
set_select_value('#zone', data.zone, data.zone);
set_select_value('#aisle', data.aisle, data.aisle);
}
set_select_value('#rack', data.rack, data.rack);
set_select_value('#bin', data.bin, data.bin);
scan_location_ready = true;
});
}
@@ -175,7 +175,7 @@
warehouse_id: data.warehouse_id,
zone: data.zone,
aisle: data.aisle,
rack: data.rack,
bin: data.bin,
product_sku: $('#product_sku').attr('secondary') || $('#product_sku').val(),
lot_number: $('#lot_number').val(),
serial_number: $('#serial_number').val()
@@ -204,7 +204,7 @@
bootbox.alert('Scan the SKU label first.');
return;
}
if (!scan_location_ready && !$('#rack').val()) {
if (!scan_location_ready && !$('#bin').val()) {
bootbox.alert('Scan the location label before saving.');
return;
}
@@ -218,22 +218,22 @@
$('#group_aisle').show();
$('#label_zone').text(label_zone);
$('#label_aisle').text(label_aisle);
$('#label_rack').text(label_rack);
$('#label_bin').text(label_bin);
} else {
$('#group_zone').hide();
$('#group_aisle').hide();
$('#label_rack').text(label_rack);
$('#label_bin').text(label_bin);
}
}
function manage_stock_out() {
var rack_val = $('#rack').val();
var bin_val = $('#bin').val();
var sku_val = $('#product_sku').attr('secondary') || $('#product_sku').val();
var wh_val = $('#warehouse').val();
if (!advanced) {
$('#zone').val(rack_val);
$('#aisle').val(rack_val);
$('#zone').val(bin_val);
$('#aisle').val(bin_val);
}
return ajax_request({
@@ -243,9 +243,9 @@
debugMode: 0,
data: {
'contact_id': $('#contact').attr('data-id'),
'zone': advanced ? $('#zone').val() : rack_val,
'aisle': advanced ? $('#aisle').val() : rack_val,
'rack': rack_val,
'zone': advanced ? $('#zone').val() : bin_val,
'aisle': advanced ? $('#aisle').val() : bin_val,
'bin': bin_val,
'product_sku': sku_val,
'warehouse': wh_val,
'lot_number': $('#lot_number').val(),
@@ -391,7 +391,7 @@
}
// ── Steps 5-7: Zone → Aisle → Rack ───────────────────────────────────
// ── Steps 5-7: Zone → Aisle → Bin ───────────────────────────────────
function retrieve_zone(callback) {
return ajax_request({
@@ -447,10 +447,10 @@
});
}
function retrieve_rack(callback) {
function retrieve_bin(callback) {
return ajax_request({
url: "<?php echo $server_url?>ics/api/engine/retrieve_rack.php",
url: "<?php echo $server_url?>ics/api/engine/retrieve_bin.php",
autoPrepare: true,
checkRequired: 0,
noLoading: true,
@@ -466,11 +466,11 @@
},
action: 'read',
onSuccess: function(res) {
var option = '<option value="">Please select ' + label_rack.toLowerCase() + '</option>';
var option = '<option value="">Please select ' + label_bin.toLowerCase() + '</option>';
$.each(res.output, function(key, item) {
option += `<option value='${item}'>${item}</option>`;
});
$('#rack').html(option).prop('disabled', false);
$('#bin').html(option).prop('disabled', false);
if (callback) callback();
}
});
@@ -482,7 +482,7 @@
$('#warehouse').html('<option value="">Select warehouse...</option>').prop('disabled', true);
$('#zone').html('<option value="">Please select ' + label_zone.toLowerCase() + '</option>').prop('disabled', true);
$('#aisle').html('<option value="">Please select ' + label_aisle.toLowerCase() + '</option>').prop('disabled', true);
$('#rack').html('<option value="">Please select ' + label_rack.toLowerCase() + '</option>').prop('disabled', true);
$('#bin').html('<option value="">Please select ' + label_bin.toLowerCase() + '</option>').prop('disabled', true);
}
@@ -513,7 +513,7 @@
function populate_fields() {
$.each(data, function(key, item) {
if (!['warehouse', 'zone', 'aisle', 'rack', 'lot_number', 'serial_number'].includes(key)) {
if (!['warehouse', 'zone', 'aisle', 'bin', 'lot_number', 'serial_number'].includes(key)) {
$('#' + key).val(item);
}
});
@@ -534,16 +534,16 @@
$('#zone').val(data.zone).prop('disabled', true);
retrieve_aisle(function() {
$('#aisle').val(data.aisle).prop('disabled', true);
retrieve_rack(function() {
$('#rack').val(data.rack).prop('disabled', true);
retrieve_bin(function() {
$('#bin').val(data.bin).prop('disabled', true);
populate_fields();
});
});
});
} else {
// Simple mode — skip zone/aisle cascade
retrieve_rack(function() {
$('#rack').val(data.rack).prop('disabled', true);
retrieve_bin(function() {
$('#bin').val(data.bin).prop('disabled', true);
populate_fields();
});
}
@@ -600,12 +600,12 @@
retrieve_warehouse();
});
// Warehouse selected → load zone (advanced) or rack directly (simple)
// Warehouse selected → load zone (advanced) or bin directly (simple)
$('#warehouse').on('change', function() {
if (advanced) {
retrieve_zone();
} else {
retrieve_rack();
retrieve_bin();
}
});
@@ -614,9 +614,9 @@
if (advanced) retrieve_aisle();
});
// Aisle selected → load rack (advanced only)
// Aisle selected → load bin (advanced only)
$('#aisle').on('change', function() {
if (advanced) retrieve_rack();
if (advanced) retrieve_bin();
});
<?php } ?>