From 442815b65e2a050fd4ebd23cc423b64d38d960c9 Mon Sep 17 00:00:00 2001 From: thug0bin Date: Fri, 6 Mar 2026 23:47:25 +0900 Subject: [PATCH] =?UTF-8?q?feat(rx-usage):=20=EC=A3=BC=EB=AC=B8=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EA=B0=9C=EC=84=A0=20-=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=203=EB=B6=84=ED=95=A0=20+=20=EC=B4=9D=EC=95=A1=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ๐Ÿงช ํ…Œ์ŠคํŠธ / ๐Ÿ›’ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋งŒ / ๐Ÿš€ ์ฆ‰์‹œ์ฃผ๋ฌธ ๋ฒ„ํŠผ ๋ถ„๋ฆฌ - cart_only ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋งŒ ๋‹ด๊ธฐ ๊ธฐ๋Šฅ ์ง€์› - ์ฃผ๋ฌธ ํ™•์ธ ๋ชจ๋‹ฌ์— ์ด์•ก ํ‘œ์‹œ ์ถ”๊ฐ€ - ๋ชจ๋‹ฌ ๋„ˆ๋น„ ํ™•์žฅ (600px/650px) --- backend/templates/admin_rx_usage.html | 92 +++++++++++++++++++-------- 1 file changed, 67 insertions(+), 25 deletions(-) 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 @@
-
+

๐Ÿ›’ ์ „์ฒด ๋„๋งค์ƒ ์ฃผ๋ฌธ

-