감사로그 및 삭제 프로세스 개선:

- 감사 사유 입력 기능 추가 및 UI 수정
- 사용/법인 삭제 시 '완전삭제' 여부 확인 및 로직 적용
- 감사로그에 사유(message) 저장 필드 추가
This commit is contained in:
Rinjae
2026-07-06 15:33:32 +09:00
parent 18489e2440
commit e51cdbc42a
16 changed files with 268 additions and 83 deletions
+82
View File
@@ -531,6 +531,88 @@
}
}, 200);
}
/**
* 사유 입력 모달 - 확인 시 입력한 사유 문자열을 onConfirm(reason)으로 전달
* @param {string} message - 안내 메시지
* @param {object} options - (title, confirmText, cancelText, placeholder, required, onConfirm, onCancel)
* required 기본 true (빈 사유 차단)
*/
function showReasonPrompt(message, options) {
options = options || {};
var title = options.title || '사유 입력';
var confirmText = options.confirmText || '확인';
var cancelText = options.cancelText || '취소';
var placeholder = options.placeholder || '사유를 입력하세요.';
var required = options.required !== false;
var onConfirm = options.onConfirm || function(){};
var onCancel = options.onCancel || function(){};
// 기존 모달 제거
$('#commonReasonModal').remove();
var iconHtml = getAlertIcon('warning');
var modalHtml =
'<div id="commonReasonModal" class="common-alert-overlay">' +
'<div class="common-alert-modal alert-warning">' +
'<div class="common-alert-header">' +
'<span class="common-alert-icon">' + iconHtml + '</span>' +
'<span class="common-alert-title">' + title + '</span>' +
'</div>' +
'<div class="common-alert-body">' +
'<p class="common-alert-message">' + message + '</p>' +
'<textarea id="commonReasonInput" maxlength="200" placeholder="' + placeholder + '" style="width:100%;height:80px;margin-top:10px;box-sizing:border-box;font-size:13px;padding:8px;border:1px solid #ddd;border-radius:4px;resize:vertical;"></textarea>' +
'<p id="commonReasonError" style="display:none;color:#f44336;font-size:12px;margin:6px 0 0;">사유를 입력해 주세요.</p>' +
'</div>' +
'<div class="common-alert-footer">' +
'<button type="button" class="common-confirm-cancel-btn" id="commonReasonCancelBtn">' + cancelText + '</button>' +
'<button type="button" class="common-alert-btn" id="commonReasonOkBtn">' + confirmText + '</button>' +
'</div>' +
'</div>' +
'</div>';
$('body').append(modalHtml);
setTimeout(function() {
$('#commonReasonModal').addClass('show');
$('#commonReasonInput').focus();
}, 10);
// 확인 버튼
$('#commonReasonOkBtn').on('click', function() {
var reason = $.trim($('#commonReasonInput').val());
if (required && reason === '') {
$('#commonReasonError').show();
$('#commonReasonInput').focus();
return;
}
closeCommonReason(function() { onConfirm(reason); });
});
// 취소 버튼
$('#commonReasonCancelBtn').on('click', function() {
closeCommonReason(onCancel);
});
// ESC 키로 취소
$(document).on('keydown.commonReason', function(e) {
if (e.keyCode === 27) {
closeCommonReason(onCancel);
}
});
}
function closeCommonReason(callback) {
$('#commonReasonModal').removeClass('show');
setTimeout(function() {
$('#commonReasonModal').remove();
$(document).off('keydown.commonReason');
if (typeof callback === 'function') {
callback();
}
}, 200);
}
</script>
<!-- 공용 Alert 모달 스타일 -->