피드백/개선요청 삭제 로직 수정
eapim-admin CI / build (push) Has been cancelled

- 삭제 버튼 UI 개선 및 상세 페이지 삭제 기능 추가
- audit log에 DELETE 이벤트 추가
This commit is contained in:
Rinjae
2026-06-18 16:45:28 +09:00
parent ef3f0e802a
commit e34829437d
3 changed files with 25 additions and 29 deletions
+1 -1
View File
@@ -12,6 +12,6 @@ PortalTermsManController_약관관리_APIGW_INSERT,UPDATE,DELETE
ProdClientManController_운영Client (키정보)관리_APIGW_INSERT,UPDATE,DELETE
ApiSpecController_API스펙관리_APIGW_INSERT,DELETE
MessageTemplateManController_메세지템플릿관리_APIGW_INSERT,UPDATE,DELETE
PortalPartnershipManController_피드백/개선요청관리_APIGW_UNMASK
PortalPartnershipManController_피드백/개선요청관리_APIGW_UNMASK,DELETE
PortalPropertyController_포탈 프로퍼티 관리_APIGW_UPDATE
PortalUserTermsManController_약관동의 이력_APIGW_UNMASK
@@ -26,31 +26,6 @@ function formatFile(cellvalue, options, rowObject) {
return cellvalue + icon;
}
function formatDelete(cellvalue, options, rowObject) {
return '<button type="button" class="cssbtn" level="W" onclick="deleteRow(\'' + rowObject.id + '\');" '
+ 'style="background-color:#dc3545;border-color:#dc3545;color:white;padding:2px 8px;">삭제</button>';
}
function deleteRow(id) {
if (!confirm('선택한 항목을 삭제하시겠습니까?')) {
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DELETE', id: id },
success: function(data) {
alert('삭제되었습니다.');
$("#grid").trigger("reloadGrid");
},
error: function(e) {
alert('삭제 중 오류가 발생했습니다.');
}
});
}
function deleteSelectedRows() {
var selectedIds = $("#grid").jqGrid('getGridParam', 'selarrrow');
@@ -91,14 +66,13 @@ $(document).ready(function() {
searchBizSubject: $('input[name=searchBizSubject]').val() ,
searchBizDetail: $('input[name=searchBizDetail]').val()
},
colNames:['No.', 'ID', '제목', '작성자', '작성일시', '관리'],
colNames:['No.', 'ID', '제목', '작성자', '작성일시'],
colModel:[
{ name : 'rowNum' , align:'center', width: 40, sortable: false },
{ name : 'id' , align:'center', key: true, hidden: true},
{ name : 'bizSubject' , align:'center', width: 150, formatter: formatFile },
{ name : 'createdByName' , align:'center' ,width: 80},
{ name : 'createdDate' , align:'center', width: 100, formatter: timeStampFormat },
{ name : 'act' , align:'center', width: 60, sortable: false, formatter: formatDelete }
{ name : 'createdDate' , align:'center', width: 100, formatter: timeStampFormat }
],
jsonReader: {
repeatitems:false
@@ -92,6 +92,27 @@ $(document).ready(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_delete").click(function(){
if (!confirm('선택한 항목을 삭제하시겠습니까?')) {
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: { cmd: 'DELETE', id: key },
success: function(data) {
alert('삭제되었습니다.');
var returnUrl = getReturnUrlForReturn();
goNav(returnUrl);//LIST로 이동
},
error: function(e) {
alert('삭제 중 오류가 발생했습니다.');
}
});
});
$("#btn_unmask").click(function () {
const reason = prompt("마스킹 해제 사유를 입력하세요:");
@@ -134,6 +155,7 @@ $(document).ready(function() {
<div class="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_unmask" level="W" status="DETAIL"><i class="material-icons">lock_open</i> 마스킹해제</button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL" style="background-color: #dc3545; border-color: #dc3545; color: white;"><i class="material-icons">delete_forever</i> 삭제</button>
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
</div>
<div class="title">피드백/개선요청 신청 상세</div>