- 사용자 ID 검증 로직 추가 (PortalUserService)
eapim-admin CI / build (push) Has been cancelled

- 사업제휴 관리 > 삭제/다중 삭제 기능 추가 및 화면 수정
- 피드백/개선 요청으로 명칭 변경 (사업제휴 관리)
This commit is contained in:
Rinjae-gf63
2026-06-18 16:31:22 +09:00
parent b741a7e563
commit ef3f0e802a
7 changed files with 132 additions and 12 deletions
@@ -26,7 +26,63 @@ function formatFile(cellvalue, options, rowObject) {
return cellvalue + icon;
}
$(document).ready(function() {
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');
if (selectedIds.length === 0) {
alert('항목을 선택하세요.');
return;
}
if (!confirm('선택된 ' + selectedIds.length + '개 항목을 삭제하시겠습니까?')) {
return;
}
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {
cmd: 'DELETE_BULK',
ids: selectedIds.join(',')
},
success: function(data) {
alert('삭제되었습니다.');
$("#grid").jqGrid('clearGridData', true);
$("#grid").trigger("reloadGrid");
},
error: function(e) {
alert('삭제 중 오류가 발생했습니다.');
}
});
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
@@ -35,17 +91,18 @@ $(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 : 'createdDate' , align:'center', width: 100, formatter: timeStampFormat },
{ name : 'act' , align:'center', width: 60, sortable: false, formatter: formatDelete }
],
jsonReader: {
repeatitems:false
},
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
@@ -54,6 +111,8 @@ $(document).ready(function() {
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
multiselect: true,
multiboxonly: true,
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var id = rowData['id'];
@@ -94,10 +153,14 @@ $(document).ready(function() {
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ url:url,postData: postData ,page:1 }).trigger("reloadGrid");
});
$("#btn_delete_selected").click(function(){
deleteSelectedRows();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
@@ -120,8 +183,9 @@ $(document).ready(function() {
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<button type="button" class="cssbtn" id="btn_delete_selected" level="W" style="background-color: #dc3545; border-color: #dc3545; color: white;"><i class="material-icons">delete_forever</i> 선택 삭제</button>
</div>
<div class="title">사업제휴 신청 목록</div>
<div class="title">피드백/개선요청 신청 목록</div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
@@ -136,7 +136,7 @@ $(document).ready(function() {
<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_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
</div>
<div class="title">사업제휴 신청 상세</div>
<div class="title">피드백/개선요청 신청 상세</div>
<table id="grid" ></table>
<div id="pager"></div>