189 lines
5.7 KiB
PHP
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="/kngil/skin/index.php" 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>
|