ncss2 / index.html
r2d209's picture
๋‹ค์Œ "๋ฐฐ๊ฒฝ ์ง€์‹"์„ ์ฐธ๊ณ ํ•ด, NCSS CP ์ •์‚ฐ์‹œ์Šคํ…œ์—์„œ "NCSS๋‚ด ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์กฐํšŒ ๋ฐ ์ „ํ‘œ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ •์˜" ๋‚ด์—ญ ๊ธฐ๋ฐ˜ ํ™”๋ฉด๋“ค์„ ์ œ์•ˆํ•ด์ค˜. ์ด๋•Œ "๊ฐœ์„  ํฌ์ธํŠธ"์— ์–ธ๊ธ‰ํ•œ ๋‚ด์šฉ๋„ ๋ฐ˜์˜๋  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค˜ #๋ฐฐ๊ฒฝ ์ง€์‹ SK๋ธŒ๋กœ๋“œ๋ฐด๋“œ๋Š” CP(Contents Provider)์—์„œ ์˜ํ™”, ๋“œ๋ผ๋งˆ๋“ฑ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ˆ˜๊ธ‰ํ•ด IPTV๋‚ด VoD ์„œ๋น„์Šค๋ฅผ ์ œ๊ณต์ค‘์ด๊ณ , ์ด ์„œ๋น„์Šค์—์„œ ๋งค์›” ๋ฐœ์ƒํ•œ ๋งค์ถœ ๋Œ€์ƒ ๊ฐ CP๋ณ„ ๊ณ„์•ฝ์กฐ๊ฑด์œผ๋กœ ์ •์‚ฐํ•˜๋Š” NCSS๋ผ๋Š” ์‹œ์Šคํ…œ์ด ์žˆ๋‹ค. NCSS์—๋Š” CP์™€ ๊ณ„์•ฝ์„ ๋งบ์€ ์ •์‚ฐ๋‹ด๋‹น์ž๋“ค์ด ๊ณ„์•ฝ์กฐ๊ฑด์„ ์ž…๋ ฅํ•˜๊ณ , ๊ทธ ๊ณ„์•ฝ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ •์‚ฐ๊ฒฐ๊ณผ๊ฐ€ ์‚ฐ์ถœ๋œ๋‹ค. PoC๋ผ๋Š” ์šฉ์–ด๋Š” VoD๊ฐ€ ํŽธ์„ฑ๋˜์–ด ๋งค์ถœ์ด ๋ฐœ์ƒํ•˜๋Š” ๋งค์ฒด ๋‹จ์œ„์ด๋ฉฐ, B tv, IP-CATV, T Play ์„ธ๊ฐ€์ง€๊ฐ€ ์กด์žฌํ•œ๋‹ค. NCSS์ƒ์— ๊ณ„์•ฝ์€ ๋™์ผํ•œ CP์ด๋”๋ผ๋„ ๊ฐ ์ •์‚ฐ๋‹ด๋‹น์ž๋งˆ๋‹ค ๋‹ค๋ฅธ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค์ˆ˜์˜ ๊ณ„์•ฝ์„ ์ž…๋ ฅํ•˜๊ณ  ์ด์— ๋”ฐ๋ผ ๊ฐ ๋‹ด๋‹น์ž์˜ ๊ณ„์•ฝ๋ณ„ ์ •์‚ฐ๊ฒฐ๊ณผ๊ฐ€ ์‚ฐ์ถœ๋œ๋‹ค. ์ฆ‰, ์ •์‚ฐ๊ฒฐ๊ณผ๋Š” ๊ฐ ์ •์‚ฐ๋‹ด๋‹น์ž์˜ ๊ณ„์•ฝ๋ณ„๋กœ PoC๋‹จ์œ„๋กœ ๊ทธ๋ฃนํ•‘ ๋˜์–ด ์‚ฐ์ถœ๋œ๋‹ค. CP๊ฐ€ ๋ฐœํ–‰ํ•˜๋Š” ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋Š” ์‚ฌ์—…์ž๋ช…, ์‚ฌ์—…์ž๋ฒˆํ˜ธ, ๊ณต๊ธ‰๊ฐ€์•ก, ์„ธ์•ก, ๋ฐœํ–‰์ผ ์ •๋ณด๋งŒ ์žˆ๊ณ , ๋Œ€์ƒ PoC์ •๋ณด๋‚˜ SK๋ธŒ๋กœ๋“œ๋ฐด๋“œ ์ •์‚ฐ๋‹ด๋‹น์ž ์ •๋ณด๋Š” ์ œ๊ณต๋˜์ง€ ์•Š๋Š”๋‹ค. ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋Š” ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณต๋˜๋Š” ๋งค์ฒด ๋‹จ์œ„์ธ PoC ๋ณ„๋กœ ๋ฐœํ–‰๋œ๋‹ค. #NCSS๋‚ด ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์กฐํšŒ ๋ฐ ์ „ํ‘œ๋ฐœํ–‰ ๊ธฐ๋Šฅ ์ •์˜ SK๋ธŒ๋กœ๋“œ๋ฐด๋“œ SAP์— ๋“ฑ๋ก๋œ ์œ„ "๋ฐฐ๊ฒฝ ์ง€์‹"์— ๊ธฐ์ˆ ํ•œ ์กฐ๊ฑด์˜ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋ฅผ ์กฐํšŒํ•ด ์ •์‚ฐ๋‹ด๋‹น์ž๋Š” ๋ณธ์ธ์ด ๊ณ„์•ฝ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  CP๋กœ๋ถ€ํ„ฐ ๋ฐœํ–‰๋œ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ชฉ๋ก๋งŒ ํ•„ํ„ฐ๋งํ•ด ์กฐํšŒํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์กฐํšŒ๋œ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ชฉ๋ก ํ™”๋ฉด์—์„œ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ์„ธ๋ถ€ ํŒ์—…(=์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰ ํ™”๋ฉด) ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์ž์‹ ์ด ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์•ฝ๋ณ„๋กœ PoC๋‹จ์œ„ ๊ทธ๋ฃนํ•‘๋˜์–ด ์‚ฐ์ถœ๋œ ๋ณต์ˆ˜๊ฐœ์˜ ์ •์‚ฐ๊ฒฐ๊ณผ ๊ธˆ์•ก๋“ค๊ณผ ๋Œ€์กฐ, ์„ ํƒํ•ด ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ-์ •์‚ฐ๊ฒฐ๊ณผ ๋งค์นญํ•จ์œผ๋กœ SAP์— ์ž„์‹œ์ „ํ‘œ๋ฅผ ๋ฐœํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋Š” ์‚ฌ์—…์ž๋ช…, ์‚ฌ์—…์ž๋ฒˆํ˜ธ, ๊ณต๊ธ‰๊ฐ€์•ก, ์„ธ์•ก, ๋ฐœํ–‰์ผ ์ •๋ณด๋งŒ ์žˆ์–ด,ย  ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ชฉ๋ก ํ™”๋ฉด ์ œ๊ณต ์ •๋ณด ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฐœํ–‰์ผ์ž, ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฒˆํ˜ธ, ํŒŒํŠธ๋„ˆ์‚ฌ๋ช…, ๋งค์ž…๊ธˆ์•ก(์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ƒ์˜ ์„ธ์•ก์ด ํฌํ•จ๋˜์ง€ ์•Š์€ ๊ณต๊ธ‰๊ฐ€์•ก), ์ „ํ‘œ๋ฐœํ–‰์ƒํƒœ, ๋งค์นญPoC ์ด๋“ค ์ œ๊ณต ํ•ญ๋ชฉ ๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•ด์„œ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋„๋ก ์ œ๊ณต ์ „ํ‘œ๋ฐœํ–‰์ƒํƒœ : ์ด๋ฏธ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ-์ •์‚ฐ๊ฒฐ๊ณผ๋ฅผ ๋งค์นญํ•ด ์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰๋œ ํ•ญ๋ชฉ์€ "๋ฐœํ–‰์™„๋ฃŒ"๋กœ ์ƒํƒœ ํ‘œ์‹œ๋˜๊ณ , ์•„์ง ๋งค์นญ๋˜์ง€ ์•Š์€ ๊ฑด "๋ฏธ๋ฐœํ–‰"์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ƒํƒœ ํ‘œ๊ธฐ ๋งค์นญPoC : ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ-์ •์‚ฐ๊ฒฐ๊ณผ๋ฅผ ๋งค์นญํ•ด ์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰์‹œ ๋งค์นญ๋œ ์ •์‚ฐ๊ฒฐ๊ณผ์˜ PoC ํ‘œ๊ธฐ ์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰ ํ™”๋ฉด ์ œ๊ณต ์ •๋ณด ํŒ์—… ํ™”๋ฉด์œผ๋กœ ์ œ๊ณต ํŒ์—…ํ™”๋ฉด ์ขŒ์ธก์—๋Š” "์„ธ๊ธˆ๊ฒŒ์‚ฐ์„œ ์ •๋ณด" ์ œ๋ชฉ ์ดํ•˜๋กœ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฐœํ–‰์ผ์ž, ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฒˆํ˜ธ, ํŒŒํŠธ๋„ˆ์‚ฌ๋ช…, ๋งค์ž…๊ธˆ์•ก, ์ „ํ‘œ๋ฐœํ–‰์ƒํƒœ, ๋งค์นญPoC ํ‘œ์‹œํ•˜๊ณ  ํŒ์—…ํ™”๋ฉด ์šฐ์ธก์—๋Š” "์ •์‚ฐ ์ •๋ณด ๋งคํ•‘" ์ œ๋ชฉ ์ดํ•˜๋กœ ํ•ด๋‹น CP์˜ PoC๋ณ„ ์ •์‚ฐ๊ธˆ์•ก ๋ชฉ๋ก ์ œ๊ณต, ์ด ๋ชฉ๋ก์ค‘์— ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ์ƒ ๋งค์ž…๊ธˆ์•ก๊ณผ ์ผ์น˜ํ•˜๋Š” ์ •์‚ฐ๊ธˆ์•ก์ด ์žˆ์œผ๋ฉด ์ž๋™์œผ๋กœ ์ฒดํฌ๋ฐ•์Šค์— ๋งค์นญ ํ‘œ์‹œ CP์˜ PoC๋ณ„ ์ •์‚ฐ๊ธˆ์•ก ๋ชฉ๋ก ์šฐ์ธก์˜ "์ƒ์„ธ๋‚ด์—ญ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ๋ชฉ๋ก์˜ ์ •์‚ฐ๊ธˆ์•ก์ด ์–ด๋–ค ๊ณ„์•ฝ๊ณผ PoC๋“ค์—์„œ ๊ฐ๊ฐ ์–ผ๋งˆ์˜ ์ •์‚ฐ๊ธˆ์•ก์ด ๋ฐœ์ƒํ•œ๊ฑด์ง€ ์„ธ๋ถ€ ๋‚ด์—ญ ํ™•์ธ ํ™”๋ฉด ์ œ๊ณต ์ „ํ‘œ๋ฐฃํ–‰์ƒํƒœ๊ฐ€ "๋ฏธ๋ฐœํ–‰"์ƒํƒœ์ผ๋•Œ๋ฌธ ํŒ์—… ํ™”๋ฉด ์šฐ์ธก ํ•˜๋‹จ์— "์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰" ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™”๋จ #๊ฐœ์„  ํฌ์ธํŠธ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๋Š” ์‚ฌ์—…์ž๋ช…, ๋ฒˆํ˜ธ, ๊ธˆ์•ก ์ •๋ณด๋งŒ ์žˆ์ง€ ๋Œ€์ƒ PoC์™€ SKB ์ •์‚ฐ๋‹ด๋‹น์ž ์ •๋ณด๋Š” ์—†์œผ๋ฏ€๋กœ, PoC(B tv, IP-CATV, T Play) ๋ณ„ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ๊ฐ€ ์–ด๋–ค ๊ฒƒ์ธ์ง€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งคํ•‘์ด ๋ถˆ๊ฐ€ํ•˜๋‚˜ ์ผ์ผ์ด ์ •์‚ฐ๋‹ด๋‹น์ž๊ฐ€ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ-์ •์‚ฐ๊ฒฐ๊ณผ์˜ ๊ธˆ์•ก์„ ๋Œ€์กฐํ•˜์—ฌ ์ „ํ‘œ๋ฅผ ๋ฐœํ–‰ํ•˜๋ฉด ์‚ฌ์šฉ์„ฑ์ด ๋–จ์–ด์ง€๋ฏ€๋กœ, ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ด๋‹น์ž์˜ ํ•ด๋‹น CP ๋Œ€์ƒ ๊ณ„์•ฝ(SVOD, TVOD)์„ PoC ๋ณ„๋กœ ํ•ฉ์‚ฐํ•œ ์ •์‚ฐ๊ฒฐ๊ณผ ๊ธˆ์•ก์ด CP์—์„œ ๊ณ„์•ฝ์— ๋Œ€ํ•œ PoC๋ณ„ ๋ฐœํ–‰ ๋‚ด์—ญ๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ NCSS์—์„œ ํŒ๋‹จ์‹œ ์ •์‚ฐ๋‹ด๋‹น์ž๊ฐ€ ์ž์‹ ์˜ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ-์ „ํ‘œ ๋ฐœ์˜ ๋Œ€์ƒ CP๋ฅผ ์กฐํšŒํ•˜๋Š” ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์กฐํšŒ ํ™”๋ฉด์ƒ์—์„œ ๋ฐœํ–‰๋œ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ์ƒ ๊ธˆ์•ก๊ณผ ํ•ด๋‹น CP์˜ ์ •์‚ฐ๊ฒฐ๊ณผ ๊ธˆ์•ก ์ค‘ ์ผ์น˜ ๊ธˆ์•ก์ด ์žˆ์„์‹œ ์ด๋ฅผ ์ž๋™ ๋งค์นญํ•˜์—ฌ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ชฉ๋ก ํ™”๋ฉด์ƒ์— ํ•ด๋‹น ์ •์‚ฐ๋Œ€์ƒ๊ธˆ์•ก๋„ ๊ฐ™์ด ๋…ธ์ถœํ•˜๊ณ  ์ด ๋ฆฌ์ŠคํŠธ์˜ ๋ฐฐ๊ฒฝ์„ ํ•˜์ด๋ผ์ดํŠธ๋˜๊ฒŒ ๋‹ค๋ฅธ์ƒ‰์œผ๋กœ ํ‘œ๊ธฐํ•˜์—ฌ, ๋งจ์•ž์˜ ์ฒดํฌ๋ฐ•์Šค ๋ฉ€ํ‹ฐ๋กœ ์ด๋“ค ๋Œ€์ƒ ์„ ํƒํ•ด ํ™”๋ฉด ํ•˜๋‹จ์˜ "์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์„ ํƒ๋œ ๋Œ€์ƒ์€ ์ผ๊ด„๋กœ SAP ์ž„์‹œ ์ „ํ‘œ๊ฐ€ ๋ฐœํ–‰๋˜๋„๋ก ์‚ฌ์šฉ์„ฑ ๊ฐœ์„  - Initial Deployment
6d53cd9 verified
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NCSS CP ์ •์‚ฐ ์‹œ์Šคํ…œ - ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๊ด€๋ฆฌ</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#3b82f6',
secondary: '#10b981',
highlight: '#fef3c7',
dark: '#1f2937',
}
}
}
}
</script>
<style>
.highlight-row {
background-color: #fef3c7;
}
.receipt-matched {
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.3); }
70% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0); }
100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
.receipt-card {
transition: all 0.3s ease;
}
.receipt-card:hover {
transform: translateY(-2px);
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}
</style>
</head>
<body class="bg-gray-50 min-h-screen">
<div class="container mx-auto px-4 py-8">
<!-- ํ—ค๋” ์˜์—ญ -->
<header class="mb-8">
<div class="flex justify-between items-center">
<div>
<h1 class="text-3xl font-bold text-dark">NCSS CP ์ •์‚ฐ ์‹œ์Šคํ…œ</h1>
<p class="text-gray-600">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์กฐํšŒ ๋ฐ ์ „ํ‘œ๋ฐœํ–‰</p>
</div>
<div class="flex items-center space-x-4">
<div class="relative">
<div class="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
<i class="fas fa-user text-gray-400"></i>
</div>
<span class="pl-8 text-gray-700">๊น€์ •์‚ฐ (์ •์‚ฐ๋‹ด๋‹น์ž)</span>
</div>
<button class="bg-primary text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition">
<i class="fas fa-sign-out-alt mr-2"></i>๋กœ๊ทธ์•„์›ƒ
</button>
</div>
</div>
</header>
<!-- ํ•„ํ„ฐ ์˜์—ญ -->
<div class="bg-white rounded-lg shadow-md p-6 mb-6">
<h2 class="text-xl font-semibold mb-4 text-dark">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์กฐํšŒ ํ•„ํ„ฐ</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">๊ธฐ๊ฐ„</label>
<div class="flex space-x-2">
<input type="date" class="w-full border-gray-300 rounded-md p-2 border focus:ring-primary focus:border-primary">
<span class="flex items-center">~</span>
<input type="date" class="w-full border-gray-300 rounded-md p-2 border focus:ring-primary focus:border-primary">
</div>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">CP์‚ฌ๋ช…</label>
<select class="w-full border-gray-300 rounded-md p-2 border focus:ring-primary focus:border-primary">
<option value="">์ „์ฒด</option>
<option value="1">๋„ทํ”Œ๋ฆญ์Šค</option>
<option value="2">๋””์ฆˆ๋‹ˆ+</option>
<option value="3">์›จ์ด๋ธŒ</option>
<option value="4">ํ‹ฐ๋น™</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">PoC</label>
<select class="w-full border-gray-300 rounded-md p-2 border focus:ring-primary focus:border-primary">
<option value="">์ „์ฒด</option>
<option value="Btv">B tv</option>
<option value="IP-CATV">IP-CATV</option>
<option value="TPlay">T Play</option>
</select>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">์ „ํ‘œ ์ƒํƒœ</label>
<select class="w-full border-gray-300 rounded-md p-2 border focus:ring-primary focus:border-primary">
<option value="">์ „์ฒด</option>
<option value="issued">๋ฐœํ–‰์™„๋ฃŒ</option>
<option value="not_issued">๋ฏธ๋ฐœํ–‰</option>
</select>
</div>
</div>
<div class="mt-4 flex justify-end">
<button id="searchBtn" class="bg-primary text-white px-6 py-2 rounded-lg hover:bg-blue-700 transition">
<i class="fas fa-search mr-2"></i>์กฐํšŒ
</button>
</div>
</div>
<!-- ์•Œ๋ฆผ ์˜์—ญ -->
<div id="autoMatchAlert" class="bg-green-100 border-l-4 border-green-500 text-green-700 p-4 mb-6 rounded hidden">
<div class="flex items-center">
<i class="fas fa-info-circle text-green-500 mr-3 text-xl"></i>
<div>
<p class="font-semibold">์ž๋™ ๋งค์นญ ์™„๋ฃŒ</p>
<p class="text-sm">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๊ธˆ์•ก๊ณผ ์ •์‚ฐ๊ฒฐ๊ณผ ๊ธˆ์•ก์ด ์ผ์น˜ํ•˜๋Š” <span id="matchedCount">3</span>๊ฑด์ด ์ž๋™์œผ๋กœ ๋งค์นญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.</p>
</div>
</div>
</div>
<!-- ๊ฒฐ๊ณผ ์˜์—ญ -->
<div class="bg-white rounded-lg shadow-md overflow-hidden">
<div class="flex justify-between items-center p-4 border-b">
<h2 class="text-xl font-semibold text-dark">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ชฉ๋ก</h2>
<div class="text-sm text-gray-600">
<span class="font-medium">์ด <span id="totalCount">12</span>๊ฑด</span>
<span class="mx-2">|</span>
<span class="text-green-600">์ž๋™๋งค์นญ <span id="autoMatchedCount">3</span>๊ฑด</span>
</div>
</div>
<!-- ํ…Œ์ด๋ธ” ์˜์—ญ -->
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-50">
<tr>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
<input type="checkbox" class="rounded text-primary focus:ring-primary">
</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๋ฐœํ–‰์ผ์ž</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฒˆํ˜ธ</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">ํŒŒํŠธ๋„ˆ์‚ฌ๋ช…</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๋งค์ž…๊ธˆ์•ก</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์ „ํ‘œ์ƒํƒœ</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๋งค์นญPoC</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๋งค์นญ๊ธˆ์•ก</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์•ก์…˜</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<!-- ์ž๋™ ๋งค์นญ๋œ ํ–‰ (ํ•˜์ด๋ผ์ดํŠธ) -->
<tr class="highlight-row receipt-matched">
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" checked class="rounded text-primary focus:ring-primary">
</td>
<td class="px-6 py-4 whitespace-nowrap">2023-10-10</td>
<td class="px-6 py-4 whitespace-nowrap">20231010-001</td>
<td class="px-6 py-4 whitespace-nowrap">๋„ทํ”Œ๋ฆญ์Šค</td>
<td class="px-6 py-4 whitespace-nowrap">12,500,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">๋ฏธ๋ฐœํ–‰</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">B tv</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-green-600">
<i class="fas fa-check-circle text-green-500 mr-1"></i> 12,500,000 ์›
</td>
<td class="px-6 py-4 whitespace-nowrap">
<button class="text-primary hover:text-blue-700" onclick="showReceiptDetail('20231010-001')">
<i class="fas fa-search-plus"></i> ์ƒ์„ธ๋ณด๊ธฐ
</button>
</td>
</tr>
<!-- ์ผ๋ฐ˜ ํ–‰ -->
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-primary focus:ring-primary">
</td>
<td class="px-6 py-4 whitespace-nowrap">2023-10-05</td>
<td class="px-6 py-4 whitespace-nowrap">20231005-001</td>
<td class="px-6 py-4 whitespace-nowrap">๋””์ฆˆ๋‹ˆ+</td>
<td class="px-6 py-4 whitespace-nowrap">8,750,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">๋ฏธ๋ฐœํ–‰</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">-</td>
<td class="px-6 py-4 whitespace-nowrap">-</td>
<td class="px-6 py-4 whitespace-nowrap">
<button class="text-primary hover:text-blue-700" onclick="showReceiptDetail('20231005-001')">
<i class="fas fa-search-plus"></i> ์ƒ์„ธ๋ณด๊ธฐ
</button>
</td>
</tr>
<!-- ๋ฐœํ–‰์™„๋ฃŒ ํ–‰ -->
<tr>
<td class="px-6 py-4 whitespace-nowrap">
<input type="checkbox" disabled class="rounded text-gray-400 focus:ring-gray-400">
</td>
<td class="px-6 py-4 whitespace-nowrap">2023-09-28</td>
<td class="px-6 py-4 whitespace-nowrap">20230928-001</td>
<td class="px-6 py-4 whitespace-nowrap">์›จ์ด๋ธŒ</td>
<td class="px-6 py-4 whitespace-nowrap">15,200,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">๋ฐœํ–‰์™„๋ฃŒ</span>
</td>
<td class="px-6 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-purple-100 text-purple-800">IP-CATV</span>
</td>
<td class="px-6 py-4 whitespace-nowrap text-gray-500">
<i class="fas fa-check-circle text-gray-400 mr-1"></i> 15,200,000 ์›
</td>
<td class="px-6 py-4 whitespace-nowrap">
<button class="text-gray-400 cursor-not-allowed">
<i class="fas fa-search-plus"></i> ์ƒ์„ธ๋ณด๊ธฐ
</button>
</td>
</tr>
<!-- ์ถ”๊ฐ€ ํ–‰๋“ค... -->
</tbody>
</table>
</div>
<!-- ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐ ์•ก์…˜ ๋ฒ„ํŠผ -->
<div class="bg-white px-4 py-3 flex items-center justify-between border-t border-gray-200 sm:px-6">
<div class="flex-1 flex justify-between sm:hidden">
<a href="#" class="relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
์ด์ „
</a>
<a href="#" class="ml-3 relative inline-flex items-center px-4 py-2 border border-gray-300 text-sm font-medium rounded-md text-gray-700 bg-white hover:bg-gray-50">
๋‹ค์Œ
</a>
</div>
<div class="hidden sm:flex-1 sm:flex sm:items-center sm:justify-between">
<div>
<p class="text-sm text-gray-700">
์ด <span class="font-medium">12</span>๊ฑด ์ค‘ <span class="font-medium">1</span>-<span class="font-medium">10</span>๊ฑด ํ‘œ์‹œ
</p>
</div>
<div>
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-l-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">์ด์ „</span>
<i class="fas fa-chevron-left"></i>
</a>
<!-- Current: "z-10 bg-primary-50 border-primary-500 text-primary-600", Default: "bg-white border-gray-300 text-gray-500 hover:bg-gray-50" -->
<a href="#" aria-current="page" class="z-10 bg-primary-50 border-primary-500 text-primary-600 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
1
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
2
</a>
<a href="#" class="bg-white border-gray-300 text-gray-500 hover:bg-gray-50 relative inline-flex items-center px-4 py-2 border text-sm font-medium">
3
</a>
<a href="#" class="relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="sr-only">๋‹ค์Œ</span>
<i class="fas fa-chevron-right"></i>
</a>
</nav>
</div>
</div>
<div class="ml-4">
<button id="issueBtn" class="bg-green-600 text-white px-6 py-2 rounded-lg hover:bg-green-700 transition disabled:bg-gray-300 disabled:cursor-not-allowed">
<i class="fas fa-file-invoice-dollar mr-2"></i>์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰
</button>
</div>
</div>
</div>
</div>
<!-- ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ƒ์„ธ ํŒ์—… (์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰ ํ™”๋ฉด) -->
<div id="receiptModal" class="fixed inset-0 bg-gray-600 bg-opacity-50 overflow-y-auto h-full w-full hidden">
<div class="relative top-20 mx-auto p-5 border w-4/5 shadow-lg rounded-md bg-white" style="max-width: 1200px;">
<div class="flex justify-between items-center border-b pb-3">
<h3 class="text-xl font-semibold text-dark">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ƒ์„ธ ๋ฐ ์ •์‚ฐ ๋งค์นญ</h3>
<button onclick="closeModal()" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-6">
<!-- ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ •๋ณด -->
<div class="bg-gray-50 p-4 rounded-lg">
<h4 class="text-lg font-semibold mb-4 text-dark border-b pb-2">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ์ •๋ณด</h4>
<div class="space-y-4">
<div class="grid grid-cols-2 gap-4">
<div>
<p class="text-sm text-gray-500 mb-1">๋ฐœํ–‰์ผ์ž</p>
<p class="font-medium" id="receiptDate">2023-10-10</p>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฒˆํ˜ธ</p>
<p class="font-medium" id="receiptNo">20231010-001</p>
</div>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">ํŒŒํŠธ๋„ˆ์‚ฌ๋ช…</p>
<p class="font-medium" id="partnerName">๋„ทํ”Œ๋ฆญ์Šค</p>
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<p class="text-sm text-gray-500 mb-1">๋งค์ž…๊ธˆ์•ก</p>
<p class="font-medium" id="receiptAmount">12,500,000 ์›</p>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">์ „ํ‘œ์ƒํƒœ</p>
<p id="receiptStatus">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">๋ฏธ๋ฐœํ–‰</span>
</p>
</div>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">๋งค์นญPoC</p>
<p id="matchedPoc">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">B tv</span>
</p>
</div>
</div>
</div>
<!-- ์ •์‚ฐ ์ •๋ณด ๋งค์นญ -->
<div class="bg-gray-50 p-4 rounded-lg">
<h4 class="text-lg font-semibold mb-4 text-dark border-b pb-2">์ •์‚ฐ ์ •๋ณด ๋งค์นญ</h4>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-100">
<tr>
<th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์„ ํƒ</th>
<th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">PoC</th>
<th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์ •์‚ฐ๊ธˆ์•ก</th>
<th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์ƒํƒœ</th>
<th scope="col" class="px-3 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์•ก์…˜</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<!-- ์ž๋™ ๋งค์นญ๋œ ํ•ญ๋ชฉ -->
<tr class="bg-green-50">
<td class="px-3 py-4 whitespace-nowrap">
<input type="checkbox" checked class="rounded text-green-600 focus:ring-green-600">
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">B tv</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="font-medium">12,500,000 ์›</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">๋งค์นญ ๊ฐ€๋Šฅ</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<button class="text-primary hover:text-blue-700" onclick="showDetail('B tv')">
<i class="fas fa-info-circle"></i> ์ƒ์„ธ๋‚ด์—ญ
</button>
</td>
</tr>
<!-- ๋‹ค๋ฅธ ํ•ญ๋ชฉ -->
<tr>
<td class="px-3 py-4 whitespace-nowrap">
<input type="checkbox" class="rounded text-primary focus:ring-primary">
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-purple-100 text-purple-800">IP-CATV</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="font-medium">8,750,000 ์›</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">๊ธˆ์•ก ๋ถˆ์ผ์น˜</span>
</td>
<td class="px-3 py-4 whitespace-nowrap">
<button class="text-primary hover:text-blue-700" onclick="showDetail('IP-CATV')">
<i class="fas fa-info-circle"></i> ์ƒ์„ธ๋‚ด์—ญ
</button>
</td>
</tr>
<!-- ์ถ”๊ฐ€ ํ•ญ๋ชฉ๋“ค... -->
</tbody>
</table>
</div>
<div class="mt-4 p-3 bg-yellow-50 rounded border border-yellow-200 text-sm">
<i class="fas fa-exclamation-circle text-yellow-500 mr-2"></i>
๋Œ€ํ‘œ ๊ณ„์•ฝ: SVOD - 2023๋…„ ๋„ทํ”Œ๋ฆญ์Šค ๊ณ„์•ฝ (๊ณ„์•ฝ๋ฒˆํ˜ธ: NCT-2023-001)
</div>
<div class="mt-4 text-right">
<button id="issueSingleBtn" class="bg-green-600 text-white px-6 py-2 rounded-lg hover:bg-green-700 transition">
<i class="fas fa-file-invoice-dollar mr-2"></i>์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰
</button>
</div>
</div>
</div>
</div>
</div>
<!-- ์ •์‚ฐ ์ƒ์„ธ ๋‚ด์—ญ ํŒ์—… -->
<div id="detailModal" class="fixed inset-0 bg-gray-600 bg-opacity-50 overflow-y-auto h-full w-full hidden">
<div class="relative top-20 mx-auto p-5 border w-3/4 shadow-lg rounded-md bg-white" style="max-width: 900px;">
<div class="flex justify-between items-center border-b pb-3">
<h3 class="text-xl font-semibold text-dark">์ •์‚ฐ ์ƒ์„ธ ๋‚ด์—ญ - <span id="detailPocTitle">B tv</span></h3>
<button onclick="closeDetailModal()" class="text-gray-500 hover:text-gray-700">
<i class="fas fa-times"></i>
</button>
</div>
<div class="mt-4">
<h4 class="text-md font-semibold mb-2 text-dark">๊ธฐ๋ณธ ์ •๋ณด</h4>
<div class="grid grid-cols-3 gap-4 mb-4">
<div>
<p class="text-sm text-gray-500 mb-1">PoC</p>
<p class="font-medium" id="detailPoc">B tv</p>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">์ •์‚ฐ ๊ธˆ์•ก</p>
<p class="font-medium" id="detailAmount">12,500,000 ์›</p>
</div>
<div>
<p class="text-sm text-gray-500 mb-1">์ •์‚ฐ ๊ธฐ๊ฐ„</p>
<p class="font-medium" id="detailPeriod">2023-10-01 ~ 2023-10-31</p>
</div>
</div>
<h4 class="text-md font-semibold mb-2 mt-6 text-dark">๊ณ„์•ฝ๋ณ„ ์ƒ์„ธ ๋‚ด์—ญ</h4>
<div class="overflow-x-auto">
<table class="min-w-full divide-y divide-gray-200">
<thead class="bg-gray-100">
<tr>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๊ณ„์•ฝ์œ ํ˜•</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๊ณ„์•ฝ๋ฒˆํ˜ธ</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">์ •์‚ฐ๊ธˆ์•ก</th>
<th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">๋‹ด๋‹น์ž</th>
</tr>
</thead>
<tbody class="bg-white divide-y divide-gray-200">
<tr>
<td class="px-6 py-4 whitespace-nowrap">SVOD</td>
<td class="px-6 py-4 whitespace-nowrap">NCT-2023-001</td>
<td class="px-6 py-4 whitespace-nowrap">9,500,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap">๊น€์ •์‚ฐ</td>
</tr>
<tr class="bg-gray-50">
<td class="px-6 py-4 whitespace-nowrap">TVOD</td>
<td class="px-6 py-4 whitespace-nowrap">NCT-2023-002</td>
<td class="px-6 py-4 whitespace-nowrap">3,000,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap">๊น€์ •์‚ฐ</td>
</tr>
<!-- ํ•ฉ๊ณ„ ํ–‰ -->
<tr class="bg-blue-50">
<td class="px-6 py-4 whitespace-nowrap font-semibold" colspan="2">์ดํ•ฉ</td>
<td class="px-6 py-4 whitespace-nowrap font-semibold">12,500,000 ์›</td>
<td class="px-6 py-4 whitespace-nowrap"></td>
</tr>
</tbody>
</table>
</div>
<div class="mt-6 flex justify-end">
<button onclick="closeDetailModal()" class="bg-gray-200 text-gray-700 px-6 py-2 rounded-lg hover:bg-gray-300 transition">
๋‹ซ๊ธฐ
</button>
</div>
</div>
</div>
</div>
<script>
// ๋ชจ๋‹ฌ ์ปจํŠธ๋กค ํ•จ์ˆ˜๋“ค
function showReceiptDetail(receiptNo) {
document.getElementById('receiptModal').classList.remove('hidden');
document.body.style.overflow = 'hidden';
// ๋ชจ๋‹ฌ์— ๋ฐ์ดํ„ฐ ์ฑ„์šฐ๊ธฐ (์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” AJAX๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•จ)
document.getElementById('receiptNo').textContent = receiptNo;
// ๋‹ค๋ฅธ ํ•„๋“œ๋“ค๋„ ์ฑ„์šฐ๊ธฐ...
}
function closeModal() {
document.getElementById('receiptModal').classList.add('hidden');
document.body.style.overflow = 'auto';
}
function showDetail(poc) {
document.getElementById('detailModal').classList.remove('hidden');
document.getElementById('detailPocTitle').textContent = poc;
document.getElementById('detailPoc').textContent = poc;
// ๋‹ค๋ฅธ ํ•„๋“œ๋“ค๋„ ์ฑ„์šฐ๊ธฐ...
}
function closeDetailModal() {
document.getElementById('detailModal').classList.add('hidden');
}
// ํŽ˜์ด์ง€ ๋กœ๋“œ ์‹œ ์ž๋™ ๋งค์นญ ์•Œ๋ฆผ ํ‘œ์‹œ
document.addEventListener('DOMContentLoaded', function() {
const autoMatchAlert = document.getElementById('autoMatchAlert');
setTimeout(() => {
autoMatchAlert.classList.remove('hidden');
// 5์ดˆ ํ›„ ์•Œ๋ฆผ ์ž๋™ ์ˆจ๊ธฐ๊ธฐ
setTimeout(() => {
autoMatchAlert.classList.add('hidden');
}, 5000);
}, 1000);
// ์ฒดํฌ๋ฐ•์Šค ์ƒํƒœ์— ๋”ฐ๋ผ ๋ฐœํ–‰ ๋ฒ„ํŠผ ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™”
const checkboxes = document.querySelectorAll('tbody input[type="checkbox"]');
const issueBtn = document.getElementById('issueBtn');
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', function() {
const checkedBoxes = document.querySelectorAll('tbody input[type="checkbox"]:checked');
issueBtn.disabled = checkedBoxes.length === 0;
});
});
// ์กฐํšŒ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ (์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” AJAX ํ˜ธ์ถœ)
document.getElementById('searchBtn').addEventListener('click', function() {
alert('์กฐํšŒ ๊ธฐ๋Šฅ์ด ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” ํ•„ํ„ฐ ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.');
// ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋กœ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ”ผ๋“œ๋ฐฑ ์ œ๊ณต
this.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i>์กฐํšŒ ์ค‘...';
setTimeout(() => {
this.innerHTML = '<i class="fas fa-search mr-2"></i>์กฐํšŒ';
}, 1500);
});
// ๋ฐœํ–‰ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ
issueBtn.addEventListener('click', function() {
alert('์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰์ด ์š”์ฒญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” ์„ ํƒ๋œ ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ์— ๋Œ€ํ•ด SAP ์—ฐ๋™์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.');
});
// ๋‹จ๊ฑด ๋ฐœํ–‰ ๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ
document.getElementById('issueSingleBtn').addEventListener('click', function() {
alert('๋‹จ๊ฑด ์ž„์‹œ์ „ํ‘œ ๋ฐœํ–‰์ด ์š”์ฒญ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ธ๊ธˆ๊ณ„์‚ฐ์„œ ๋ฒˆํ˜ธ: ' + document.getElementById('receiptNo').textContent);
closeModal();
});
});
</script>
<p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - ๐Ÿงฌ <a href="https://enzostvs-deepsite.hf.space?remix=r2d209/ncss2" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
</html>