휴대폰번호 중복 사용자 조회 기능 추가

- 중복 사용자 필터링 및 목록 조회 기능 구현
- 중복 사용자 알림 배너 및 상세 조회 UI 개선
- 중복 허용 여부 설정 동기화 및 관련 서비스 추가
This commit is contained in:
Rinjae
2026-06-22 17:03:33 +09:00
parent 2ac61636a0
commit ca94f2e70a
5 changed files with 116 additions and 5 deletions
@@ -29,6 +29,16 @@
// 원본 행 데이터를 ID로 조회하기 위한 맵
var gridRowDataMap = {};
// 휴대폰번호 중복 조회 모드 여부
var isDupView = false;
// 현재 검색조건 + 중복 조회 모드 플래그를 합쳐 LIST 요청 파라미터를 생성
function buildListPostData() {
var postData = getSearchForJqgrid("cmd", "LIST");
postData.onlyDuplicateMobile = isDupView;
return postData;
}
/* 선택된 사용자 삭제 - 상태에 따라 Soft/Hard Delete 자동 분기 */
function deleteSelectedUsers() {
var selectedIds = $("#grid").jqGrid('getGridParam', 'selarrrow');
@@ -166,6 +176,13 @@
$('#grid').jqGrid('setColProp', 'approvalStatus', {editoptions: {value: select_approvalStatus}});
$('#grid').jqGrid('setColProp', 'userStatus', {editoptions: {value: select_userStatus}});
// 휴대폰번호 중복 허용안함(기능 ON) + 중복 사용자 존재 시 배너 노출
if (json.mobileDuplicateCheckEnabled && json.mobileDuplicateUserCount > 0) {
$("#dupMobileCount").text(json.mobileDuplicateUserCount);
$("#dupMobileBanner").show();
}
$('#grid').trigger('reloadGrid');
},
@@ -176,7 +193,7 @@
}
$(document).ready(function () {
var gridPostData = getSearchForJqgrid("cmd", "LIST");
var gridPostData = buildListPostData();
$('#grid').jqGrid({
datatype: "json",
@@ -188,7 +205,7 @@
'<%= localeMessage.getString("portalUser.orgName") %>',
'<%= localeMessage.getString("portalUser.name") %>',
'<%= localeMessage.getString("portalUser.userId") %>',
<%--'<%= localeMessage.getString("portalUser.mobile") %>',--%>
'<%= localeMessage.getString("portalUser.mobileNumber") %>',
'<%= localeMessage.getString("portalUser.roleName") %>',
'<%= localeMessage.getString("portalUser.userStatus") %>',
'<%= localeMessage.getString("portalUser.createOn") %>',
@@ -201,7 +218,7 @@
{name: 'portalOrgUIs.orgName', align: 'center', width: "120"},
{name: 'userName', align: 'center', width: "80" },
{name: 'loginId', align: 'center', width: "150" },
// {name: 'mobileNumber', align: 'center', width: "100" },
{name: 'mobileNumber', align: 'center', width: "110", hidden: true},
{name: 'roleCodeDescription', align: 'center', width: "80"},
{name: 'userStatusDescription', align: 'center', width: "50"},
{name: 'createdDate', align: 'center', width: "100", formatter: timeStampFormat},
@@ -274,9 +291,20 @@
init();
$("#btn_search").click(function () {
var postData = getSearchForJqgrid("cmd", "LIST");
$("#grid").setGridParam({url: url, postData: buildListPostData(), page: 1}).trigger("reloadGrid");
});
$("#grid").setGridParam({url: url, postData: postData, page: 1}).trigger("reloadGrid");
// 중복 휴대폰번호 사용자만 보기 / 전체 보기 토글
$("#btn_dup_toggle").click(function () {
isDupView = !isDupView;
if (isDupView) {
$(this).text("전체 보기");
$("#grid").jqGrid('showCol', 'mobileNumber');
} else {
$(this).text("중복만 보기");
$("#grid").jqGrid('hideCol', 'mobileNumber');
}
$("#grid").setGridParam({url: url, postData: buildListPostData(), page: 1}).trigger("reloadGrid");
});
$("#btn_new").click(function () {
@@ -334,6 +362,11 @@
</div>
<% } %>
<div id="dupMobileBanner" style="display:none; background:#f8d7da; border:1px solid #dc3545; padding:8px 15px; margin:5px 0; border-radius:4px; color:#721c24;">
<strong>&#9888; 중복 휴대폰번호 사용자 <span id="dupMobileCount">0</span>건 발견</strong>
<button type="button" class="cssbtn" id="btn_dup_toggle" style="margin-left:10px;">중복만 보기</button>
</div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>