151 lines
5.4 KiB
HTML
151 lines
5.4 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" href="/index/css/reset.css">
|
|
<link rel="stylesheet" href="/index/css/system.css">
|
|
<link rel="stylesheet" href="/index/css/style-index-onpremise.css">
|
|
<title>PM > TDC</title>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
|
|
|
<!-- 헤더부분 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== -->
|
|
<header class="header">
|
|
<div class="header__left">
|
|
<div class="--logo__project-master">
|
|
<h3 class="--logo__project-master_logo">PROJECT MASTER</h3>
|
|
<p class="--logo__project-master_version">ver</p>
|
|
<h6 class="--logo__project-master_number" id="project-version">0.4.000000</h6>
|
|
</div>
|
|
</div>
|
|
<div class="header__right">
|
|
<a href="/admin/" id="adminBtn" class="btn-admin" target="_blank">
|
|
⚙️ 관리자 화면
|
|
</a>
|
|
<a href="/auth/logout" class="btn-logout">
|
|
🔓 로그아웃
|
|
</a>
|
|
</div>
|
|
</header>
|
|
|
|
|
|
|
|
<!-- 메인부분 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== -->
|
|
<main class="main">
|
|
<div class="main__left">
|
|
<img class="main__title" src="/index/img-onpremise/s-icon__sw-full-logo--fff.svg" alt="s-icon__gpd-full-logo--fff">
|
|
<ul class="main__list" id="tdc">
|
|
<!-- <li class="main__list-item">
|
|
<img class="icon" src="/index/img-onpremise/icon__folder--fff.svg" alt="icon__folder--fff">
|
|
<h3 class="main__list-item-label">// DB 리스트</h3>
|
|
</li> -->
|
|
</ul>
|
|
</div>
|
|
<div class="main__right">
|
|
<img class="main__title" src="/index/img-onpremise/s-icon__gpd-full-logo--fff.svg" alt="s-icon__gpd-full-logo--fff">
|
|
<ul class="main__list" id="gpd">
|
|
<!-- <li class="main__list-item">
|
|
<img class="icon" src="/index/img-onpremise/icon__folder--fff.svg" alt="icon__folder--fff">
|
|
<h3 class="main__list-item-label">// DB 리스트</h3>
|
|
</li> -->
|
|
</ul>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
|
|
|
|
<!-- 푸터부분 ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== -->
|
|
<footer class="footer">
|
|
<div class="footer__left"></div>
|
|
<div class="footer__right">
|
|
<p class="footer__copyright">Powered by BARON Consultant Co,.Ltd</p>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
|
|
</html>
|
|
|
|
<script src="https://api.digitalarchive.work/hmCesium/lib/axios/dist/axios.js"></script>
|
|
|
|
<script>
|
|
async function init(){
|
|
let res = await axios.get('/common/getProject');
|
|
let list = res.data.data;
|
|
|
|
let tdcUl = document.getElementById('tdc');
|
|
let gpdUl = document.getElementById('gpd');
|
|
|
|
for(let i = 0; i < list.length; i++){
|
|
if(list[i].category === 'tdc' || list[i].category === 'gpd'){
|
|
let li = document.createElement('li');
|
|
li.id = list[i].project_id;
|
|
li.classList.add('main__list-item');
|
|
li.link_url = `/${list[i].project_id}/archive`;
|
|
|
|
let wrap = document.createElement('div');
|
|
wrap.classList.add('wrap');
|
|
|
|
let img = document.createElement('img');
|
|
img.classList.add('icon');
|
|
img.src = "/index/img-onpremise/icon__folder--fff.svg";
|
|
img.alt = "icon__folder--fff";
|
|
|
|
let h3 = document.createElement('h3');
|
|
h3.innerHTML = list[i].project_nm;
|
|
h3.classList.add('main__list-item-label');
|
|
|
|
wrap.appendChild(img);
|
|
wrap.appendChild(h3);
|
|
|
|
let sign = document.createElement('div');
|
|
sign.classList.add('sign');
|
|
if (!list[i].is_active) sign.classList.add('inactive');
|
|
|
|
let master = document.createElement('div');
|
|
master.classList.add('master');
|
|
master.innerHTML = `${list[i].user_nm} ${list[i].position}`;
|
|
|
|
li.appendChild(wrap);
|
|
li.appendChild(sign);
|
|
li.appendChild(master);
|
|
if(list[i].category === 'tdc') tdcUl.appendChild(li);
|
|
if(list[i].category === 'gpd') gpdUl.appendChild(li);
|
|
}
|
|
}
|
|
document.querySelectorAll('li').forEach(ele=>{
|
|
ele.addEventListener('click',(e)=>{
|
|
let value = e.currentTarget.link_url;
|
|
window.location.href = value;
|
|
// window.open(`${value}`, '', `width=${screen.availWidth}, height=${screen.availHeight}, fullscreen=yes ,location=no`);
|
|
// window.open(`${value}`, '_blank');
|
|
})
|
|
});
|
|
document.querySelector('.header__left').addEventListener('click',()=>{
|
|
window.location.href = '/';
|
|
});
|
|
|
|
let version_res = await axios.get('/common/getVersion');
|
|
if(version_res.data.message == 'getVersion success') document.getElementById('project-version').innerText = version_res.data.version;
|
|
|
|
// 관리자 권한 확인 및 버튼 노출 제어
|
|
try {
|
|
let statusRes = await axios.get('/auth/status');
|
|
if (statusRes.data.loggedIn && statusRes.data.user) {
|
|
const uGroup = statusRes.data.user.group;
|
|
if (uGroup === 'USER_GROUP_super' || uGroup === 'super' || uGroup === 'dev') {
|
|
const adminBtn = document.getElementById('adminBtn');
|
|
if (adminBtn) adminBtn.style.display = 'inline-flex';
|
|
}
|
|
}
|
|
} catch (err) {
|
|
console.error("Check admin status error:", err);
|
|
}
|
|
}
|
|
init();
|
|
</script> |