diff --git a/backend/templates/admin_rx_usage.html b/backend/templates/admin_rx_usage.html index 0cc59ab..0e83818 100644 --- a/backend/templates/admin_rx_usage.html +++ b/backend/templates/admin_rx_usage.html @@ -1224,7 +1224,7 @@ } // 선택된 도매상 전체 일괄 처리 - async function executeAllWholesalers(dryRun = false) { + async function executeAllWholesalers(dryRun = false, cartOnly = false) { const wsIds = Object.keys(pendingWholesalerItems); // 체크된 도매상만 필터 @@ -1240,10 +1240,20 @@ // 버튼 비활성화 const btnTest = document.getElementById('btnMultiTest'); + const btnCart = document.getElementById('btnMultiCart'); const btnReal = document.getElementById('btnMultiReal'); btnTest.disabled = true; + btnCart.disabled = true; btnReal.disabled = true; - btnReal.textContent = '처리 중...'; + + // 진행 상태 표시 + if (dryRun) { + btnTest.textContent = '처리 중...'; + } else if (cartOnly) { + btnCart.textContent = '처리 중...'; + } else { + btnReal.textContent = '처리 중...'; + } const allResults = []; let totalSuccess = 0; @@ -1272,7 +1282,7 @@ })), reference_period: `${document.getElementById('startDate').value}~${document.getElementById('endDate').value}`, dry_run: dryRun, - cart_only: false // 장바구니 + 주문 확정까지 + cart_only: cartOnly // true=장바구니만, false=즉시주문 }; const response = await fetch('/api/order/quick-submit', { @@ -1311,12 +1321,15 @@ } closeMultiWholesalerModal(); - showMultiOrderResultModal(allResults, totalSuccess, totalFailed, dryRun); + showMultiOrderResultModal(allResults, totalSuccess, totalFailed, dryRun, cartOnly); // 버튼 복원 btnTest.disabled = false; + btnCart.disabled = false; btnReal.disabled = false; - btnReal.textContent = '📤 전체 주문 전송'; + btnTest.textContent = '🧪 테스트'; + btnCart.textContent = '🛒 장바구니만'; + btnReal.textContent = '🚀 전체 즉시주문'; } // 특정 품목만 클립보드 복사 @@ -1329,7 +1342,7 @@ } // 다중 도매상 결과 모달 - function showMultiOrderResultModal(results, totalSuccess, totalFailed, isDryRun) { + function showMultiOrderResultModal(results, totalSuccess, totalFailed, isDryRun, isCartOnly = false) { const modal = document.getElementById('orderResultModal'); const content = document.getElementById('orderResultContent'); const header = modal.querySelector('.order-modal-header h3'); @@ -1339,7 +1352,7 @@ header.innerHTML = '📋 전체 주문 결과'; const statusEmoji = totalFailed === 0 ? '✅' : totalSuccess === 0 ? '❌' : '⚠️'; - const modeText = isDryRun ? '[테스트]' : ''; + const modeText = isDryRun ? '[테스트]' : isCartOnly ? '[장바구니]' : ''; let html = `
@@ -1419,17 +1432,28 @@ headerDiv.style.background = ws.gradient; let html = ''; + let totalAmount = 0; + items.forEach((item, idx) => { + // 예상 금액 계산 (단가 × 수량) + const unitPrice = item.unit_price || item.price || 0; + const itemAmount = unitPrice * item.qty; + totalAmount += itemAmount; + html += ` ${escapeHtml(item.product_name)} ${item.specification || '-'} - ${item.qty} + ${item.qty} + ${itemAmount > 0 ? itemAmount.toLocaleString() + '원' : '-'} `; }); tbody.innerHTML = html; document.getElementById('orderConfirmCount').textContent = items.length; + document.getElementById('orderConfirmTotal').innerHTML = totalAmount > 0 + ? `₩${totalAmount.toLocaleString()}` + : '금액 미정'; modal.classList.add('show'); } @@ -1508,7 +1532,7 @@ } } - async function executeOrder(dryRun = true) { + async function executeOrder(dryRun = true, cartOnly = false) { const wholesaler = currentOrderWholesaler || 'geoyoung'; // 해당 도매상 품목 필터 @@ -1522,11 +1546,20 @@ // 버튼 비활성화 const btnTest = document.getElementById('btnOrderTest'); + const btnCart = document.getElementById('btnOrderCart'); const btnReal = document.getElementById('btnOrderReal'); btnTest.disabled = true; + btnCart.disabled = true; btnReal.disabled = true; - btnTest.textContent = dryRun ? '처리 중...' : '🧪 테스트'; - btnReal.textContent = !dryRun ? '처리 중...' : '🛒 장바구니 담기'; + + // 진행 상태 표시 + if (dryRun) { + btnTest.textContent = '처리 중...'; + } else if (cartOnly) { + btnCart.textContent = '처리 중...'; + } else { + btnReal.textContent = '처리 중...'; + } try { const payload = { @@ -1544,7 +1577,7 @@ })), reference_period: `${document.getElementById('startDate').value}~${document.getElementById('endDate').value}`, dry_run: dryRun, - cart_only: false // 장바구니 + 주문 확정까지 + cart_only: cartOnly // true=장바구니만, false=즉시주문 }; // 타임아웃 설정 @@ -1576,9 +1609,11 @@ showToast(`❌ 오류: ${err.message}`, 'error'); } finally { btnTest.disabled = false; + btnCart.disabled = false; btnReal.disabled = false; btnTest.textContent = '🧪 테스트'; - btnReal.textContent = '📤 주문 전송'; + btnCart.textContent = '🛒 장바구니만'; + btnReal.textContent = '🚀 즉시주문'; } } @@ -2536,26 +2571,32 @@
-
+

🏭 지오영 주문 확인

-

- 0개 품목을 지오영 장바구니에 담습니다. -

+
+

+ 0개 품목을 지오영 장바구니에 담습니다. +

+
+ ₩0 +
+

⚠️ 장바구니 담기만 진행됩니다. 도매상 사이트에서 최종 확정이 필요합니다.

- +
품목명규격수량
품목명규격수량예상금액
-
@@ -2577,16 +2618,17 @@
-
+

🛒 전체 도매상 주문

-