Files
kngil_home/kngil/skin/adm_comp.php
2026-02-04 14:02:51 +09:00

189 lines
5.7 KiB
PHP

<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/kngil/bbs/adm_guard.php';
?>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>관리자 페이지</title>
<!-- CSS -->
<!-- <link rel="stylesheet" href="/css/common.css"> -->
<link rel="stylesheet" href="/kngil/css/adm_style.css">
<!-- <link rel="stylesheet" href="/css/w2ui-custom.css"> -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/vitmalina/w2ui@master/dist/w2ui.min.css">
</head>
<body>
<a href="/" class="btn-home-fixed" title="홈으로">
<svg class="icon-home"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round">
<path d="M3 11L12 3l9 8"/>
<path d="M5 10v10h5v-6h4v6h5V10"/>
</svg>
</a>
<h1 class="adm-title">
관리자 페이지
<div class="adm-title-actions">
<button id="btnUseHistory" class="btn-history">사용이력</button>
<button id="btnPurchaseHistory" class="btn-history">구매이력</button>
</div>
</h1>
<!-- 계약 / 사용량 -->
<div class="card adm-summary">
<!-- 1행 -->
<div class="adm-row">
<div class="adm-item">
<span class="label">계약현황</span>
<span class="value">회원ID</span>
<span class="value bold" id="memberId">-</span>
</div>
<div class="adm-item">
<span class="label">요금제</span>
<span class="value bold" id="planName">-</span>
</div>
<div class="adm-item right">
<span class="label">유효기간</span>
<span class="value" id="dateRange">-</span>
</div>
</div>
<!-- 2행 -->
<div class="adm-row usage">
<div class="adm-item">
<span class="label">사용현황</span>
<span class="value">발급ID</span>
<span class="value bold" id="issuedCnt">-</span>
</div>
<div class="adm-item">
<span class="label">사용ID</span>
<span class="value bold" id="usedCnt">-</span>
</div>
<div class="usage-box">
<div class="usage-text">
<span id="usedArea">-</span>
<span id="totalArea">-</span>
</div>
<div class="usage-bar">
<div class="usage-used" id="usedBar">0%</div>
<div class="usage-remain" id="remainBar"></div>
</div>
</div>
</div>
</div>
<div class="adm-search">
<input type="text" id="schKeyword" placeholder="검색어 입력">
<select id="schType">
<option value="">전체</option>
<option value="id">ID</option>
<option value="name">이름</option>
<option value="dept">부서</option>
</select>
<select id="schUseYn">
<option value="">전체</option>
<option value="Y">사용</option>
<option value="N">미사용</option>
</select>
<button id="btnSearch">검색</button>
<!-- ✅ 회원ID (관리자 전용 컨트롤) -->
<input
type="text"
id="targetMemberId"
class="adm-member-input"
placeholder="회원ID"
>
<button id="btnBulkCreate" class="btn-bulk">
일괄생성
</button>
<button id="btnSave_comp">저장</button>
<button id="btnDelete">삭제</button>
<button id="btnAdd">추가</button>
</div>
<!-- Grid -->
<div class="card">
<div id="userGrid" style="height:730px;"></div>
</div>
<!-- ✅ ES Module 진입점 -->
<script type="module">
import { createUserGrid, loadData } from '/kngil/js/adm_comp.js'
import { openPurchaseHistoryPopup } from '/kngil/js/adm_purch_popup.js'
import { openuseHistoryPopup } from '/kngil/js/adm_use_history.js'
// 거래처 관리자 Grid 생성
await createUserGrid('#userGrid', {
loadSummary: true
})
//상단
loadData()
// 💡 PHP 세션에서 로그인한 회원 ID 가져오기
// 세션 배열 구조에 따라 $_SESSION['login']['member_id']를 참조합니다.
const loginMemberId = "<?php echo $_SESSION['login']['member_id'] ?? ''; ?>";
const isSuperAdmin = <?php echo IS_SUPER_ADMIN ? 'true' : 'false'; ?>; // 관리자 여부
// 회원ID input 초기화
const memberInput = document.getElementById('targetMemberId');
if (memberInput) {
if (isSuperAdmin) {
// 관리자 / 개발자
memberInput.value = loginMemberId || '';
memberInput.disabled = false;
} else {
// 메인 / 서브
memberInput.value = loginMemberId;
memberInput.disabled = true;
memberInput.style.display = 'none';
}
}
// 구매이력 버튼 클릭 이벤트
document.getElementById('btnPurchaseHistory')
.addEventListener('click', () => {
if (!loginMemberId) {
alert('로그인 세션이 만료되었거나 회원 정보를 찾을 수 없습니다.');
return;
}
// 'TEST001' 대신 실제 로그인한 세션 ID를 전달합니다.
openPurchaseHistoryPopup(loginMemberId,isSuperAdmin);
})
// 구매이력 버튼 클릭 이벤트
document.getElementById('btnUseHistory')
.addEventListener('click', () => {
if (!loginMemberId) {
alert('로그인 세션이 만료되었거나 회원 정보를 찾을 수 없습니다.');
return;
}
// 'TEST001' 대신 실제 로그인한 세션 ID를 전달합니다.
openuseHistoryPopup(loginMemberId,isSuperAdmin);
})
</script>
</body>
</html>