QUY ĐỔI KÍCH THƯỚC
Chiều dài (cm)
Chiều rộng (cm)
Chiều cao (cm)
Số lượng
THÊM
XÓA
QUY ĐỔI
STT Chiều dài (cm) Chiều rộng (cm) Chiều cao (cm) Số lượng Khối lượng (CBM) Cân nặng (KGS)
Số khối theo kích thước đường biển (CBM):
0
Cân nặng theo kích thước hàng không (KGS):
0
// Lưu trữ danh sách kích thước
let dimensionsList = [];
let dimensionCounter = 0;
// Lấy các phần tử DOM
const lengthInput = document.getElementById('length');
const widthInput = document.getElementById('width');
const heightInput = document.getElementById('height');
const quantityInput = document.getElementById('quantity');
const addBtn = document.getElementById('add-btn');
const deleteBtn = document.getElementById('delete-btn');
const convertBtn = document.getElementById('convert-btn');
const dimensionsTable = document.getElementById('dimensions-table');
const dimensionsBody = document.getElementById('dimensions-body');
const cbmResult = document.getElementById('cbm-result');
const kgsResult = document.getElementById('kgs-result');
// Sự kiện thêm kích thước
addBtn.addEventListener('click', function() {
const length = parseFloat(lengthInput.value);
const width = parseFloat(widthInput.value);
const height = parseFloat(heightInput.value);
const quantity = parseInt(quantityInput.value) || 1;
if (!length || !width || !height) {
alert('Vui lòng nhập đầy đủ thông tin kích thước.');
return;
}
dimensionCounter++;
// Tính CBM và KGS
const cbm = calculateCBM(length, width, height, quantity);
const kgs = calculateKGS(length, width, height, quantity);
const dimension = {
id: dimensionCounter,
length: length,
width: width,
height: height,
quantity: quantity,
cbm: cbm,
kgs: kgs
};
dimensionsList.push(dimension);
updateDimensionsTable();
updateResults();
resetInputs();
});
// Sự kiện xóa tất cả
deleteBtn.addEventListener('click', function() {
dimensionsList = [];
dimensionCounter = 0;
updateDimensionsTable();
updateResults();
resetInputs();
});
// Sự kiện quy đổi
convertBtn.addEventListener('click', function() {
// Sử dụng giá trị hiện tại nếu không có trong danh sách
if (dimensionsList.length === 0) {
const length = parseFloat(lengthInput.value);
const width = parseFloat(widthInput.value);
const height = parseFloat(heightInput.value);
const quantity = parseInt(quantityInput.value) || 1;
if (!length || !width || !height) {
alert('Vui lòng nhập đầy đủ thông tin kích thước.');
return;
}
// Tính CBM và KGS
const cbm = calculateCBM(length, width, height, quantity);
const kgs = calculateKGS(length, width, height, quantity);
cbmResult.textContent = cbm.toFixed(6);
kgsResult.textContent = kgs.toFixed(2);
} else {
updateResults();
}
});
// Tính CBM (Cubic Meter)
function calculateCBM(length, width, height, quantity) {
// Công thức ban đầu
let cbm = (length * width * height * quantity) / 1000000;
// Làm tròn lên để giống với website gốc (nếu cần)
if (cbm 0) {
dimensionsTable.style.display = 'table';
dimensionsBody.innerHTML = '';
dimensionsList.forEach(function(dim) {
const row = document.createElement('tr');
row.innerHTML = `
${dim.id} ${dim.length} ${dim.width} ${dim.height} ${dim.quantity} ${dim.cbm.toFixed(6)} ${dim.kgs.toFixed(2)}
`;
dimensionsBody.appendChild(row);
});
} else {
dimensionsTable.style.display = 'none';
}
}
// Cập nhật kết quả tổng
function updateResults() {
let totalCBM = 0;
let totalKGS = 0;
dimensionsList.forEach(function(dim) {
totalCBM += dim.cbm;
totalKGS += dim.kgs;
});
cbmResult.textContent = totalCBM.toFixed(6);
kgsResult.textContent = totalKGS.toFixed(2);
}
// Đặt lại các trường nhập liệu
function resetInputs() {
lengthInput.value = '';
widthInput.value = '';
heightInput.value = '';
quantityInput.value = '1';
lengthInput.focus();
}