Files
palletizing/static/js/progress.js

256 lines
7.7 KiB
JavaScript
Raw Permalink Normal View History

2026-08-04 14:30:00 +09:00
document.addEventListener('DOMContentLoaded', function () {
const terminateAction = document.getElementById('terminateAction');
const finishAction = document.getElementById('finishAction');
const exitAppButton = document.getElementById('exitAppButton');
const stackerStartButton = document.getElementById('stackerStartButton');
const stackerStopButton = document.getElementById('stackerStopButton');
const upDownOnButton = document.getElementById('upDownOnButton');
const upDownOffButton = document.getElementById('upDownOffButton');
const leftRightOnButton = document.getElementById('leftRightOnButton');
const leftRightOffButton = document.getElementById('leftRightOffButton');
function logAction(message) {
fetch('/writelog', {
method: 'POST',
headers: {
'Content-Type': 'text/plain',
},
body: message,
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to write log.');
}
return response.text();
})
.then((data) => {
console.log(`Log result: ${data}`);
})
.catch((error) => console.error('Error writing log:', error));
}
// 인덱스 표시 업데이트 함수
function updateIndexDisplay() {
fetch('/static/json/cache.json')
.then((response) => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then((data) => {
document.getElementById('currentDataIndex').textContent =
data.currentDataIndex + 1;
document.getElementById('currentLayerIndex').textContent =
data.currentLayerIndex + 1;
console.log(data.currentDataIndex, data.currentLayerIndex);
})
.catch((error) => console.error('Error loading cache.json:', error));
}
// 페이지 로드 시 초기 인덱스 표시 업데이트
updateIndexDisplay();
// 일정 시간마다 인덱스 표시 업데이트
intervalId = setInterval(updateIndexDisplay, 5000); // 5초마다 업데이트
finishAction.addEventListener('click', function () {
finishAction.disabled = true;
fetch('/robot_immediately_take_book', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
immediately_take_book: 'robot_immediately_take_book',
}),
})
.then((response) => {
if (!response.ok) {
throw new Error('immediately_take_book failed.');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction(
'FE : robot_immediately_take_book api sent successfully - progress.js'
);
})
.catch((error) =>
console.error('Error Sending robot finish action:', error)
).finally(() => {
setTimeout(() => {
finishAction.disabled = false;
}, 10000);
})
});
terminateAction.addEventListener('click', function () {
fetch('/robot_finish_action', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'robot_finish_action' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send robot finish action.');
}
return response.text();
})
.then((data) => {
console.log(data);
clearInterval(intervalId);
logAction(
'FE : robot_finish_action api sent successfully - progress.js'
);
window.location.href = '/';
})
.catch((error) =>
console.error('Error sending robot finish action:', error)
);
});
exitAppButton.addEventListener('click', function () {
fetch('/shutdown', {
method: 'POST',
})
.then((response) => response.text())
.then((data) => {
console.log(data);
logAction('FE : shutdown api sent successfully - progress.js');
})
.catch((error) => console.error('Error shutting down:', error));
});
stackerStartButton.addEventListener('click', function () {
fetch('/stacker_start', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'stacker_start' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send stacker start.');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : stacker_start api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending stacker start:', error));
});
stackerStopButton.addEventListener('click', function () {
fetch('/stacker_stop', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'stacker_stop' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send stacker stop.');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : stacker_stop api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending stacker stop:', error));
});
upDownOnButton.addEventListener('click', function () {
fetch('/updown_on', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'updown_on' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send updown on');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : updown_on api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending updown on:', error));
});
upDownOffButton.addEventListener('click', function () {
fetch('/updown_off', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'updown_off' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send updown off');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : updown_off api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending updown off:', error));
});
leftRightOnButton.addEventListener('click', function () {
fetch('/leftright_on', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'leftright_on' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send leftright on');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : leftright_on api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending leftright on:', error));
});
leftRightOffButton.addEventListener('click', function () {
fetch('/leftright_off', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ action: 'leftright_off' }),
})
.then((response) => {
if (!response.ok) {
throw new Error('Failed to send leftright off');
}
return response.text();
})
.then((data) => {
console.log(data);
logAction('FE : leftright_off api sent successfully - progress.js');
})
.catch((error) => console.error('Error sending leftright off:', error));
});
});