-
💰
+
?
-
-
총 회수가능 금액
-
전체 반품 대상
+
??수가??금액
+
?체 반품 ???/div>
-
🔴💵
+
??
-
-
3년+ 금액
-
긴급 회수 대상
+
3?? 금액
+
긴급 ?수 ???/div>
-
🟠💵
+
??
-
-
2년+ 금액
-
주의 대상
+
2?? 금액
+
주의 ???/div>
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
- 💡 행 더블클릭 → 입고이력 확인 (도매상 연락처)
+ ? ???블?릭 ???고?력 ?인 (?매???락?
| 긴급 |
- 약품 |
- 현재고 |
- 단가 |
- 회수가능금액 |
- 마지막 처방 |
- 미사용 |
- 마지막 입고 |
- 상태 |
- 액션 |
+ ?품 |
+ ?치 |
+ ?재?/th>
+ | ?? |
+ ?수가?금??/th>
+ | 마??처방 |
+ 미사??/th>
+ | 마???고 |
+ ?태 |
+ ?션 |
- |
+ |
- 데이터 로딩 중...
+ ?이??로딩 ?..
|
@@ -837,70 +857,70 @@
-
+
-
+
-
+
-
-
+
+
-
+
-
+
- | 도매상 |
- 입고일 |
- 수량 |
- 단가 |
+ ?매??/th>
+ | ?고??/th>
+ | ?량 |
+ ?? |
- 📭 로딩 중... |
+ ? 로딩 ?.. |
@@ -920,7 +940,7 @@
async function loadData() {
const tbody = document.getElementById('dataTableBody');
- tbody.innerHTML = `
|
`;
+ tbody.innerHTML = `
|
`;
const status = document.getElementById('filterStatus').value;
const urgency = document.getElementById('filterUrgency').value;
@@ -944,10 +964,10 @@
currentPage = 1;
renderTable();
} else {
- tbody.innerHTML = `
|
`;
+ tbody.innerHTML = `
|
`;
}
} catch (err) {
- tbody.innerHTML = `
|
`;
+ tbody.innerHTML = `
|
`;
}
}
@@ -958,23 +978,23 @@
document.getElementById('statProcessed').textContent = stats.processed || 0;
document.getElementById('statTotal').textContent = stats.total || 0;
- // 금액 표시
+ // 금액 ?시
document.getElementById('statTotalAmount').textContent = formatAmount(stats.total_amount || 0);
document.getElementById('statCriticalAmount').textContent = formatAmount(stats.critical_amount || 0);
document.getElementById('statWarningAmount').textContent = formatAmount(stats.warning_amount || 0);
}
function formatAmount(amount) {
- if (!amount || amount === 0) return '₩0';
+ if (!amount || amount === 0) return '??';
if (amount >= 1000000) {
- return '₩' + (amount / 10000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ',') + '만';
+ return '?? + (amount / 10000).toFixed(0).replace(/\B(?=(\d{3})+(?!\d))/g, ',') + '?;
}
- return '₩' + Math.round(amount).toLocaleString();
+ return '?? + Math.round(amount).toLocaleString();
}
function formatPrice(price) {
if (!price || price === 0) return '-';
- return '₩' + Math.round(price).toLocaleString();
+ return '?? + Math.round(price).toLocaleString();
}
function updateTabs() {
@@ -1016,7 +1036,7 @@
}
if (filteredData.length === 0) {
- tbody.innerHTML = `
|
`;
+ tbody.innerHTML = `
|
`;
document.getElementById('pagination').innerHTML = '';
return;
}
@@ -1035,7 +1055,7 @@
|
- ${urgency === 'critical' ? '🔴' : urgency === 'warning' ? '🟠' : '⚪'}
+ ${urgency === 'critical' ? '?' : urgency === 'warning' ? '?' : '??}
|
@@ -1044,9 +1064,10 @@
${item.drug_code}
|
+ ${item.location ? `${escapeHtml(item.location)}` : '-'} |
${item.current_stock || 0} |
${formatPrice(item.unit_price)} |
- ${hasAmount ? '₩' + Math.round(item.recoverable_amount).toLocaleString() : '-'} |
+ ${hasAmount ? '?? + Math.round(item.recoverable_amount).toLocaleString() : '-'} |
${formatDate(item.last_prescription_date) || '-'} |
${item.months_since_use ? item.months_since_use + '개월' : '-'}
@@ -1054,7 +1075,7 @@
| ${formatDate(item.last_purchase_date) || '-'} |
${getStatusLabel(item.status)} |
-
+ |
`;
@@ -1067,12 +1088,12 @@
const pagination = document.getElementById('pagination');
if (totalPages <= 1) {
- pagination.innerHTML = `
총 ${totalItems}건`;
+ pagination.innerHTML = `
?${totalItems}?/span>`;
return;
}
let html = ``;
- html += ``;
+ html += `