File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2023-06-22
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
<%--
Class Name : weekendCsWork.jsp
Description : 발신번호 리스트 조회 페이지
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.03.31 신명섭 최초 생성
Copyright (C) 2009 by ITN All right reserved.
--%>
<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
<%
response.setHeader("Cache-Control","no-store");
response.setHeader("Pragma","no-cache");
response.setDateHeader("Expires",0);
if (request.getProtocol().equals("HTTP/1.1")) response.setHeader("Cache-Control", "no-cache");
%>
<!DOCTYPE html>
<html lang="ko">
<head>
<link rel="stylesheet" href="/pb/css/reset.css">
<link rel="stylesheet" href="/pb/css/common.css">
<link rel="stylesheet" href="/pb/css/content.css?date=202301160001">
<link rel="stylesheet" href="/pb/css/popup.css">
<style>
html {
overflow-x: hidden;
overflow-y: auto;
}
</style>
<script src="/pb/js/jquery-3.5.0.js"></script>
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script src="/js/pdfjs-3.11.174/build/pdf.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function() {
// change 함수
$("#changeWord").change(function() {
// 변경된 값으로 비교 후 alert 표출
if($(this).val() == ""){
$("#rejectReason").val('');
} else {
$("#rejectReason").val($(this).val());
}
});
});
//PdfView
function pdfViewPhonePop(atchFileId,fileSn) {
document.pdfForm.atchFileId.value = atchFileId;
document.pdfForm.fileSn.value = fileSn;
document.pdfForm.action = "<c:url value='/uss/ion/msg/pdfViewPhone.do'/>";
document.pdfForm.submit();
}
//기업회원 신청 승인/반려 처리
function updateAuthYn(phmId, authYn, userId) {
var form = document.authForm;
form.phmId.value = phmId;
form.authYn.value = authYn;
form.userId.value = userId;
var data = new FormData(form);
if (confirm("인증완료 하시겠습니까?")) {
$.ajax({
type: "POST",
url: "/uss/ion/msg/updateAuthYnAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (data) {
if (data.result) {
alert(data.msg);
opener.location.reload();
self.close();
} else {
alert(data.msg);
}
},
error: function (e) {
alert("저장에 실패하였습니다.");
alert("ERROR : " + JSON.stringify(e));
}
});
}
}
//기업회원 신청 승인/반려 처리
function authYnC() {
if( $("#rejectReason").val() == '' ){
alert("반려사유를 입력해주세요.");
return false;
}
if (confirm("반려 하시겠습니까?")) {
var form = document.returnPopForm;
form.authYn.value = "C"
var data = new FormData(form);
url = "/uss/ion/msg/updateAuthYnAjax.do";
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (data) {
if (data.result) {
// 초기화
alert(data.msg);
opener.location.reload();
self.close();
}
else {
alert(data.msg);
}
},
error: function (e) {
alert("저장에 실패하였습니다.");
alert("ERROR : " + JSON.stringify(e));
}
});
}
}
//반려화면 Call
function setRejectAreaCall(sType) {
if (sType == "SHOW") {
if ($("#rejectArea").css("display") == "block") {
//반려 Hide
setRejectAreaHide();
}
else {
// 반려 Show
setRejectAreaShow();
}
}
else {
//반려 Hide
setRejectAreaHide();
}
}
// 반려 Show
function setRejectAreaShow() {
$("#rejectArea").show();
$("#btnReject").text("반려 CLOSE");
$("#btnReject").removeClass("btnType1");
$("#btnReject").addClass("btnType2");
}
//반려 Hide
function setRejectAreaHide() {
$("#rejectArea").hide();
$("#btnReject").text("반려 OPEN");
$("#btnReject").removeClass("btnType2");
$("#btnReject").addClass("btnType1");
}
</script>
</head>
<body>
<div class="pageCont" style="text-align: center; width: 1000px;">
<div class="listTop" style="float: left; margin-top: 0px; padding-top: 0px;">
<p class="tType5">발신번호 신청 정보</p>
</div>
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<col style="width: 12%">
<col style="width: *%">
<col style="width: 11%">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 8%">
<col style="width: 15%">
</colgroup>
<thead>
<tr>
<th>발신번호</th>
<th>대표</th>
<th>담당자</th>
<th>회원</th>
<th>구분</th>
<th>인증방식</th>
<th>인증자</th>
<th>인증여부</th>
<th>다운로드</th>
</tr>
</thead>
<tbody>
<tr>
<td title="${phoneNumber}">${phoneNumber}</td>
<td title="${userName}">${userName}</td>
<td title="${managerNm}">${managerNm}</td>
<td>
<c:choose>
<c:when test="${dept == 'c'}">
기업
</c:when>
<c:otherwise>
개인
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${not empty nameType}">
<c:choose>
<c:when test="${nameType == '1'}">
당사
</c:when>
<c:when test="${nameType == '2'}">
대표
</c:when>
<c:when test="${nameType == '3'}">
직원
</c:when>
<c:when test="${nameType == '4'}">
타사
</c:when>
<c:when test="${nameType == '5'}">
본인
</c:when>
<c:otherwise>
타인
</c:otherwise>
</c:choose>
</c:when>
<c:otherwise>
없음
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${phmAuthTypeTxt eq '휴대폰 인증'}">
휴대폰
</c:when>
<c:when test="${phmAuthTypeTxt eq '서류인증'}">
서류
</c:when>
<c:otherwise>
<c:out value="${phmAuthTypeTxt}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${phmAuthTypeTxt eq '서류인증'}">
</c:when>
<c:otherwise>
<c:out value="${ownerName}"/>
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${phmType eq '03'}">
발신번호 차단
</c:when>
<c:otherwise>
<c:if test="${authYnTxt eq '심사중'}">인증요청</c:if>
<c:if test="${authYnTxt ne '심사중'}"><c:out value="${authYnTxt}"/></c:if>
</c:otherwise>
</c:choose>
</td>
<td>
<c:import url="/cmm/fms/selectMberFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${atchFileId}" />
</c:import>
</td>
</tr>
</tbody>
</table>
</div>
<br /><br />
<!-- 필수서류 체크 -->
<div class="listTop" style="float: left; margin-top: 0px; padding-top: 0px;">
<p class="tType5">승인에 필요한 서류</p>
</div>
<div class="tableWrap">
<table class="tbType1">
<colgroup>
<col style="width: *%">
<col style="width: 25%">
</colgroup>
<thead>
<tr>
<td class="left" style="padding: 10px 0 10px 0; line-height: 1.6em;">${requiredDocuments}</td>
<td style="padding: 10px 0 10px 0; vertical-align: middle;">
<c:if test="${authYn eq 'H'}">
<button class="btnType1" onclick="updateAuthYn('<c:out value='${phmId}'/>', 'Y', '<c:out value='${userId}'/>'); return false;" style="background-color: blue;">인증완료</button>
<button class="btnType1" onclick="setRejectAreaCall('SHOW'); return false;" id="btnReject">반려 OPEN</button>
</c:if>
</td>
</tr>
</thead>
</tbody>
</table>
</div>
<!-- 반려 -->
<div id="rejectArea" class="rejectAreaClass" style="display: none;">
<br /><br />
<div class="listTop" style="float: left; margin-top: 0px; padding-top: 0px;">
<p class="tType5">반려</p>
</div>
<div class="tableWrap">
<form id="returnPopForm" name="returnPopForm" method="post">
<input type="hidden" name="phmId" id="phmId" value="${phmId}"/>
<input type="hidden" name="authYn" id="authYn"/>
<input type="hidden" name="userId" value="${userId}" />
<table class="tbType3">
<colgroup>
<col style="width: 15%">
<col style="width: *%">
</colgroup>
<thead>
<tr>
<th>반려문구</th>
<td class="left">
<c:if test="${authYn eq 'H'}">
<select id="changeWord" name="changeWord" style="width: 89%;">
<option value="">직접입력</option>
<c:choose>
<c:when test="${dept == 'c'}">
<option value='[문자온] 기업의 일반전화 발신번호 등록을 위해서는 "통신서비스이용증명원"이 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>기업(회사 명의 일반전화)</option>
<option value='[문자온] 기업회원의 전화번호 중 직원명의로 가입된 일반전화의 발신번호 등록을 위해서는 "통신서비스이용증명원", "재직증명서류(재직증명서, 4대보험 가입증명서 등)"가 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>기업(직원 명의 일반전화)</option>
<option value='[문자온] 기업 재직 직원명의의 휴대폰 발신번호를 등록하기 위해서는 "통신서비스이용증명원(직원 명의 본인의 휴대폰 인증 대체 가능)", "재직증명서류(재직증명서, 4대보험 가입증명서 등)"가 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>기업(직원 명의 휴대폰)</option>
<option value='[문자온] 기업 자사 명의 외 타사 일반전화 및 타사 명의의 휴대폰 발신번호 등록을 위해서는 "거래관계확인서(계약서, 세금계산서 등)", "발신번호 명의업체의 사업자등록증", "대리인 신분증 사본(문자온에 가입하신 대리인의 신분증, 주민번호 뒷자리 마스킹 처리)", "발신번호 명의업체의 위임장", "통신서비스이용증명원"이 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>기업(타사 일반전화 또는 타사 휴대폰)</option>
<option value='[문자온] 기업 자사 명의 외 타사 일반전화 및 타사 명의의 휴대폰 발신번호 등록을 위해서는 "거래관계확인서(계약서, 세금계산서 등)", "발신번호 명의업체의 사업자등록증", "대리인 신분증 사본(문자온에 가입하신 대리인의 신분증, 주민번호 뒷자리 마스킹 처리)", "발신번호 명의업체의 위임장", "통신서비스이용증명원", "재직증명서류(재직증명서, 4대보험 가입증명서 등)"가 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>기업(타사 직원 일반전화 또는 타사 직원 휴대폰)</option>
</c:when>
<c:otherwise>
<option value='[문자온] 일반전화 발신번호 등록을 위해서는 "통신서비스이용증명원"이 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>개인(본인 일반전화)</option>
<option value='[문자온] 타인의 일반전화 발신번호 등록을 위해서는 "통신서비스이용증명원", "발신번호 명의자의 위임장", "대리인 신분증 사본(문자온에 가입하신 대리인의 신분증, 주민번호 뒷자리 마스킹 처리)"이 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>개인(타인 일반전화)</option>
<option value='[문자온] 타인 명의의 휴대폰 번호를 발신번호로 사용하실 경우 해당번호에 대한 "통신서비스이용증명원(타인 명의 본인의 휴대폰 인증 대체 가능)", "발신번호 명의자의 위임장", "대리인 신분증 사본(문자온에 가입하신 대리인의 신분증, 주민번호 뒷자리 마스킹 처리)"이 반드시 첨부되어야 됩니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>개인(타인 휴대폰)</option>
<option value='[문자온] 개인회원이 회사 명의의 일반전화 또는 회사 명의의 휴대폰 발신번호를 등록하기 위해서는 "통신서비스이용증명원", "사업자등록증", "재직증명서(문자온 회원 가입자가 사업자등록증 상의 대표자가 아닌 경우에 한함)"가 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>개인(회사 일반전화 또는 회사 휴대폰, 재직증명가능)</option>
<option value='[문자온] 개인회원 중 재직증명서 제출이 불가한 자가(가족, 자원봉사자 등) 회사 명의의 일반전화 또는 회사 명의의 휴대폰 발신번호를 등록하기 위해서는 "통신서비스이용증명원", "발신번호 명의업체의 사업자등록증", "발신번호 명의자의 위임장", "대리인 신분증 사본(문자온에 가입하신 대리인의 신분증, 주민번호 뒷자리 마스킹 처리)"이 반드시 첨부되어야 합니다. 해당 서류 첨부(문자온 로그인-마이페이지-발신번호관리 메뉴-서류제출-파일 등록)하여 재신청해 주시면 빠른 승인 도와드리겠습니다.'>개인(회사 일반전화 또는 회사 휴대폰, 재직증명불가)</option>
</c:otherwise>
</c:choose>
</select>
</c:if>
</td>
</tr>
<tr>
<th>반려사유</th>
<td class="left">
<textarea style="width: 87%; height: 160px" name="rejectReason" id="rejectReason" maxlength="1000" <c:if test="${authYn eq 'C'}">readonly</c:if>>${rejectReason}</textarea>
</td>
</tr>
</thead>
</table>
<div class="button_box" style="margin-top: 15px;">
<c:if test="${authYn eq 'H'}">
<button type="button" class="btnType btnType20" onClick="authYnC(); return false;" style="background-color: blue;">반려</button>
</c:if>
<button type="button" class="btnType btnType20" onClick="setRejectAreaCall('HIDE'); return false;">취소</button>
</div>
</form>
</div>
<br /><br />
</div>
<c:if test="${not empty fileList}">
<div style="width: 100%; text-align: center; margin: 30px 0 30px 0;">
<c:set var="plusCnt" value="0"/>
<c:set var="btnClass" value="btnType1"/>
<c:forEach var="result" items="${fileList}" varStatus="status">
<c:choose>
<c:when test="${result.fileSn eq fileSn}">
<c:set var="btnClass" value="btnType2"/>
</c:when>
<c:otherwise>
<c:set var="btnClass" value="btnType1"/>
</c:otherwise>
</c:choose>
<c:set var="plusCnt" value="${plusCnt + 1}"/>
<button class="<c:out value="${btnClass}"/>" onclick="pdfViewPhonePop('${result.atchFileId}','${result.fileSn}'); return false;"> 첨부파일 <c:out value="${plusCnt}"/> </button>
</c:forEach>
</div>
</c:if>
<c:if test="${fileType eq 'etc'}">
<div style="width: 100%; text-align: center; margin: 30px 0 30px 0; color: red;">
PDF 뷰어에서 지원하지 않는 형식의 파일입니다. 첨부파일 다운로드후 확인해주세요.
</div>
</c:if>
<canvas id="the-canvas" name="the-canvas" style="min-width: 600px; max-width: 1000px; margin-top: 25px; margin-bottom: 25px;"></canvas>
<div>
<button class="btnType" id="prev">Previous</button>
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
<button class="btnType" id="next">Next</button>
<div style="float: right; margin-right: 10px;"><button onclick="javascript:opener.location.reload(); self.window.close();" class="btnType">CLOSE</button></div>
</div>
</div>
<br /><br />
<form name="authForm" method="post">
<input type="hidden" name="phmId"/>
<input type="hidden" name="authYn"/>
<input type="hidden" name="userId"/>
</form>
<form name="pdfForm" method="post">
<input type="hidden" name="atchFileId"/>
<input type="hidden" name="fileSn"/>
<input type="hidden" name="phmId" value="${phmId}"/>
<input type="hidden" name="phoneNumber" value="${phoneNumber}"/>
<input type="hidden" name="userId" value="${userId}"/>
<input type="hidden" name="userName" value="${userName}"/>
<input type="hidden" name="managerNm" value="${managerNm}"/>
<input type="hidden" name="dept" value="${dept}"/>
<input type="hidden" name="nameType" value="${nameType}"/>
<input type="hidden" name="phmType" value="${phmType}"/>
<input type="hidden" name="authYn" value="${authYn}"/>
<input type="hidden" name="authYnTxt" value="${authYnTxt}"/>
<input type="hidden" name="phmAuthTypeTxt" value="${phmAuthTypeTxt}"/>
<input type="hidden" name="ownerName" value="${ownerName}"/>
</form>
</body>
</html>
<script type="text/javaScript" language="javascript">
var pdfDoc = null;
var pageNum = 1;
var pageRendering = false;
var pageNumPending = null;
var scale = 1.4;
var canvas = document.getElementById('the-canvas');
var ctx = canvas.getContext('2d');
/* var url = '/cmm/fms/FileDown.do?atchFileId=FILE_000000000019061&fileSn=0'; */
// var url = '/usr/local/tomcat/file/sht/pdf/2ccbb16e-62df-48c0-bbb1-3b6559bd4c36.pdf';
var url = '${pdfPath}';
/**
* Get page info from document, resize canvas accordingly, and render page.
* @param num Page number.
*/
function renderPage(num) {
pageRendering = true;
// Using promise to fetch the page
pdfDoc.getPage(num).then(function(page) {
var viewport = page.getViewport({scale: scale});
canvas.height = viewport.height;
canvas.width = viewport.width;
// Render PDF page into canvas context
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
var renderTask = page.render(renderContext);
// Wait for rendering to finish
renderTask.promise.then(function() {
pageRendering = false;
if (pageNumPending !== null) {
// New page rendering is pending
renderPage(pageNumPending);
pageNumPending = null;
}
});
});
// Update page counters
document.getElementById('page_num').textContent = num;
}
/**
* If another page rendering in progress, waits until the rendering is
* finised. Otherwise, executes rendering immediately.
*/
function queueRenderPage(num) {
if (pageRendering) {
pageNumPending = num;
} else {
renderPage(num);
}
}
/**
* Displays previous page.
*/
function onPrevPage() {
if (pageNum <= 1) {
return;
}
pageNum--;
queueRenderPage(pageNum);
}
document.getElementById('prev').addEventListener('click', onPrevPage);
/**
* Displays next page.
*/
function onNextPage() {
if (pageNum >= pdfDoc.numPages) {
return;
}
pageNum++;
queueRenderPage(pageNum);
}
document.getElementById('next').addEventListener('click', onNextPage);
/**
* Asynchronously downloads PDF.
*/
pdfjsLib.getDocument(
{
url: url,
cMapUrl: '/js/pdfjs-3.11.174/web/cmaps/',
cMapPacked: true
}
).promise.then(function(pdfDoc_) {
pdfDoc = pdfDoc_;
document.getElementById('page_count').textContent = pdfDoc.numPages;
// Initial/first page rendering
renderPage(pageNum);
});
</script>