This commit is contained in:
Rinjae
2025-09-05 17:16:26 +09:00
commit c54ef1903f
4947 changed files with 817291 additions and 0 deletions
@@ -0,0 +1,364 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ page import="com.eactive.eai.rms.common.datasource.DataSourceContextHolder" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
String curDataSourceName = DataSourceContextHolder.getDataSourceType().getName();
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp" />
<jsp:include page="/jsp/common/include/script.jsp" />
<script type="text/javascript">
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
function init(url, successCallback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_INIT_COMBO'},
success:function(json){
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=eaisevrDstcd]")).setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
var chkRole = roleString.indexOf('admin');
if(chkRole==-1){
$("select[name=eaisevrDstcd] option[value='9']").remove();
}
successCallback();
// 현재 데이터 소스로 eaisevrDstcd 값을 SET
$("[name='eaisevrDstcd']").val('<%=curDataSourceName%>'.substring(0,1)).prop("selected", true);
},
error:function(e){
alert(e.responseText);
}
});
}
function getDoc(frame) {
var doc = null;
// IE8 cascading access check
try {
if (frame.contentWindow) {
doc = frame.contentWindow.document;
}
} catch(err) {
}
if (doc) { // successful getting content
return doc;
}
try { // simply checking may throw in ie8 under ssl or mismatched protocol
doc = frame.contentDocument ? frame.contentDocument : frame.document;
} catch(err) {
// last attempt
doc = frame.document;
}
return doc;
}
function fileupload(e,successcallback,errorcallback){
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(json, textStatus, jqXHR)
{
$("input[name=file]").val("");
var data = json;
if (!data.rows){
alert(data.message);
return ;
}
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0;i<data.rows.length;i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data.rows[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
if(data.rows[i].RESULT=="X"){
$("#"+rowid).find("td").css("background-color","#FFCC99");
}
}
$("#"+$('#grid').jqGrid('getGridParam','selrow')).focus();
if (typeof callback === 'function') {
successcallback(data, textStatus, jqXHR);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
},
beforeSend: function() {
loadingModal.style.display = "flex";
},
complete: function() {
loadingModal.style.display = "none";
}
});
e.preventDefault();
if (e.unbind)
e.unbind();
}
else //for olden browsers
{
formObj.append($("<input type='hidden' name='serviceType' value='"+sessionStorage["serviceType"]+"' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="'+iframeId+'" name="'+iframeId+'" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target',iframeId);
formObj.attr('action','<c:url value="/onl/admin/rule/layoutExcelMan.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e)
{
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
$(document).ready(function() {
var url = '<c:url value="/onl/admin/rule/layoutExcelMan.json" />';
init(url, openApiExcelImport);
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
//mtype: 'POST',
//url: '<c:url value="/common/acl/user/userMan.json" />',
postData : gridPostData,
colNames:[
'<%=localeMessage.getString("layoutExcelMan.sheetName")%>',
'<%=localeMessage.getString("layoutExcelMan.layoutCd")%>',
'<%=localeMessage.getString("layoutExcelMan.LineCnt")%>',
'<%=localeMessage.getString("layoutExcelMan.processStus")%>',
'<%=localeMessage.getString("layoutExcelMan.resultMsg")%>'
],
colModel:[
{ name : 'SHEETNAME' , align:'left' ,sortable:false },
{ name : 'LAYOUTNAME' , align:'left' },
{ name : 'LAYOUTITEM' , align:'left' },
{ name : 'RESULT' , align:'left' },
{ name : 'MESSAGE' , align:'left' }
],
jsonReader: {
repeatitems:false
},
//pager : $('#pager'),
//rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: 300,
autowidth: true,
viewrecords: true,
//rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
},
onSelectRow: function(rowId) {
var data = $(this).getRowData(rowId);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
},loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#multiform").on('submit',fileupload);
$('#btn_upload').click(function(){
$("#grid").jqGrid('clearGridData');
if(window.FormData !== undefined) {
$("input[name=file]").click();
}else{
if ($("input[name=file]").val()==""){
return;
}
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (filename == ""){
return;
}else{
$("#multiform").submit();
}
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
}else{
$("input[name=file]").show();
}
});
//OPENAPI 용 Excel Import
function openApiExcelImport() {
var names = '${ExcelNames}';
if (names == ''|| names.length == 0) {
return;
}
$('#sub4_4_5_2').prop('checked', true); // 중복 시 저장함
$('select[name=eaisevrDstcd]').find('option:last').prop('selected', true);
var params = { 'cmd': 'TRANSACTION_EXCEL_IMPORT', 'names': names };
jQuery.each($('#multiform').serializeArray(), function(i, o) {
if (o.name == 'cmd') {
return true;
}
params[o.name] = o.value;
});
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutExcelMan.json"/>',
data: params,
success: function(json){
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0; i<json.dataList.length; i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : json.dataList[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
}
$("#"+$('#grid').jqGrid('getGridParam','selrow')).focus();
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/onl/admin/rule/layoutExcelMan.file"/>">
<div class="search_wrap">
<div style="display:inline-block;">
<select name="eaisevrDstcd" style="margin-right: 10px; padding: 3px; margin-top: 3px;display:none;"></select>
<input type="radio" name="saveType" value="0" checked="checked" id="sub4_4_5_1">
<label for="sub4_4_5_1" style="vertical-align:middle;"><%=localeMessage.getString("layoutExcelMan.label1")%></label>
<input type="radio" name="saveType" value="1" id="sub4_4_5_2" />
<label for="sub4_4_5_2" style="vertical-align:middle;"><%=localeMessage.getString("layoutExcelMan.label2")%></label>
<input type="file" name="file" style="display:inline-block"/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
</div>
<button type="button" class="cssbtn" id="btn_upload" level="W" ><i class="material-icons">upload</i> <%= localeMessage.getString("button.upload") %></button>
<%-- <img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" /> --%>
</div>
</form>
<div class="title"><%=localeMessage.getString("layoutExcelMan.title")%></div>
<table id="grid" ></table>
<div id="pager"></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutExcelMan.layoutCd")%></th>
<td style="width:80%;"><input type="text" name="LAYOUTNAME"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutExcelMan.processStus")%></th>
<td ><input type="text" name="RESULT" /></td>
</tr>
<tr height="50px">
<th><%=localeMessage.getString("layoutExcelMan.resultMsg")%></th>
<td><textarea name="MESSAGE" style="width:100%; height:100%;"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="loadingModal" class="loadingModal">
<div class="spinner"></div>
</div>
</body>
</html>
+635
View File
@@ -0,0 +1,635 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<!-- FilePond stylesheet -->
<link href="<c:url value="/addon/filepond/filepond.min.css"/>" rel="stylesheet">
<!-- FilePond JavaScript library -->
<script src="<c:url value="/addon/filepond/filepond.min.js"/>"></script>
<!-- FilePond plugin for file validation -->
<script src="<c:url value="/addon/filepond/plugin/filepond-plugin-file-validate-type.min.js"/>"></script>
<link href="<c:url value="/addon/bootstrap-5.3.2/css/bootstrap.min.css"/>" rel="stylesheet" />
<script src="<c:url value="/addon/bootstrap-5.3.2/js/bootstrap.bundle.min.js"/>"></script>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/layoutMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var url_file = '<c:url value="/onl/admin/rule/layoutMan.file"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length < 16) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2)+".";
display=display+cellvalue.substr(14,2);
return display;
}
function init (){
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {cmd : "LIST_INIT_COMBO"},
success:function(json){
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=searchEaiSevrDstcd]")).setNoValueInclude(true)
.setNoValue("", "<%=localeMessage.getString("combo.all")%>").setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchLayoutTypeName]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.typeRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=searchUseYn]")).setNoValueInclude(true).setNoValue("", "전체").setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
svrInst = inoutTypeData;
putSelectFromParam();
/* var chkRole = roleString.indexOf('admin');
if(chkRole==-1){
$("select[name=searchEaiSevrDstcd] option[value='9']").remove();
} */
}
});
}
function formatter (cellvalue, options, rowObject){
for(var i=0; i<svrInst.length; i++){
if(cellvalue==svrInst[i].CODE){
return "["+svrInst[i].CODE+"] "+svrInst[i].NAME;
}
}
}
$(document).ready(function() {
init();
$('#grid').jqGrid({
datatype: "json",
mtype: 'POST',
url: url,
postData: {
cmd: 'LIST'
, searchEaiBzwkDstcd: $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName: $('input[name=searchLoutName]').val()
, searchLoutDesc: $('input[name=searchLoutDesc]').val()
, searchEaiSevrDstcd: "${param.searchEaiSevrDstcd}"
, searchLayoutTypeName: "${param.searchLayoutTypeName}"
, searchUseYn: "${param.searchUseYn}"
},
colNames: ['<%=localeMessage.getString("layoutMan.bzwkdstcd")%>',
'<%=localeMessage.getString("layoutMan.bzwkdstcdName")%>',
'<%=localeMessage.getString("layoutMan.layoutCd")%>',
'<%=localeMessage.getString("layoutMan.layoutDesc")%>',
'<%=localeMessage.getString("layoutMan.sevrDstCd")%>',
'<%=localeMessage.getString("layoutMan.layoutTypeName")%>',
'<%=localeMessage.getString("combo.useYn")%>',
'<%=localeMessage.getString("layoutMan.modifyHMS")%>',
'<%=localeMessage.getString("layoutMan.verInfo")%>',
'flag'
],
colModel: [
{name: 'EAIBZWKDSTCD', align: 'center', sortable: false, width: "50"},
{name: 'BZWKDSTICNAME', align: 'left'},
{name: 'LOUTNAME', align: 'left'},
{name: 'LOUTDESC', align: 'left'},
{name: 'EAISEVRDSTCD', align: 'left', width: "50", formatter: formatter},
{name: 'LOUTPTRNNAME', align: 'left'},
{
name: 'USEYN',
align: 'center',
width: 30,
editoptions: {value: "0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"},
formatter: "select"
},
{name: 'LASTAMNDHMS', align: 'center', formatter: dateFormater, width: "100"},
{name: 'VERINFO', align: 'center', width: "100"},
{name: 'FLAG', hidden: true}
],
jsonReader: {
repeatitems: false
},
pager: $('#pager'),
page: '${param.page}',
rowNum: '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: true,
multiboxonly: false,
rowList: eval('[${rmsDefaultRowList}]'),
gridComplete: function (d) {
var colModel = $(this).getGridParam("colModel");
for (var i = 0; i < colModel.length; i++) {
$(this).setColProp(colModel[i].name, {sortable: false});
}
},
loadComplete: function () {
var ids = $("#grid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var rowObject = $("#grid").getRowData(ids[i]);
if (rowObject.FLAG == "X") {
var cbs = $("tr#" + ids[i] + ".jqgrow>td>input.cbox", $("#grid")[0]);
cbs.attr("disabled", "disabled");
}
}
},
beforeSelectRow: function (rowId, e) {
var cbsdis = $("tr#" + rowId + ".jqgrow>td>input.cbox:disabled", $("#grid")[0]);
if (cbsdis.length === 0) {
return true;
} else {
return false;
}
},
ondblClickRow: function (rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $(this).getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&loutName=' + key;
goNav(url2);
}, loadError: function (jqXHR, textStatus, errorThrown) {
var location = '<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown, location);
}, onSelectAll: function (rowId, status) {
if (status) {
var cbs = $("tr.jqgrow>td>input.cbox:disabled", $("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function () {
return this.id;
}).get();
} else {
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid', 'content_middle', '1000');
$("#btn_search").click(function () {
var postData = getSearchForJqgrid("cmd", "LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({postData: postData, page: "1"}).trigger("reloadGrid");
});
$("#btn_excel").click(function (event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown"; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel, "LIST_GRID_TO_EXCEL", $("#grid"), $("#ajaxForm"), 'layout');
return false;
});
$("#btn_excel_export").click(function () {
const exportArr = new Array();
const ids = $("#grid").jqGrid('getDataIDs');
let chkCnt = 0;
for (var i = 0; i < ids.length; i++) {
if ($("input:checkbox[id='jqg_grid_" + ids[i] + "']").is(":checked")) {
var rowObject = $("#grid").getRowData(ids[i]);
exportArr.push(rowObject['LOUTNAME']);
chkCnt++;
}
}
const url = url_excel + '?cmd=LIST_EXPORT_TO_EXCEL';
downloadFiles(url, JSON.stringify(exportArr))
return false;
});
$("#btn_new").click(function () {
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=' + $("#grid").getGridParam("page");
url2 += '&returnUrl=' + getReturnUrl();
url2 += '&menuId=' + '${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&layoutName=';
goNav(url2);
});
$("#btn_initialize").click(function () {
var id = "grid";
var chkArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for (var i = 0; i < ids.length; i++) {
if ($("input:checkbox[id='jqg_" + id + "_" + ids[i] + "']").is(":checked")) {
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['LOUTNAME']);
chkcnt++;
}
}
if (chkcnt == 0) {
if (confirm("레이아웃이 선택되지 않았습니다. 전체 초기화 하겠습니까?")) {
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'INITIALIZES'},
success: function (json) {
alert(json.message);
},
error: function (e) {
alert(e.responseText);
}
});
}
return false;
} else {
if (confirm("초기화 하시겠습니까?")) {
var postData = [];
postData.push({name: "cmd", value: "LIST_INITIALIZE"});
postData.push({name: "chkItems", value: chkArr});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: postData,
success: function (json) {
alert(json.message);
},
error: function (e) {
alert(e.responseText);
}
});
} else {
return false;
}
}
});
$("input[name^=search]").keydown(function (key) {
if (key.keyCode == 13) {
$("#btn_search").click();
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$('#btn_import').click(onclickExcelImport);
$("#btn_delete").click(function () {
var id = "grid";
var delArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for (var i = 0; i < ids.length; i++) {
if ($("input:checkbox[id='jqg_" + id + "_" + ids[i] + "']").is(":checked")) {
var rowObject = $("#grid").getRowData(ids[i]);
delArr.push(rowObject['LOUTNAME']);
chkcnt++;
}
}
if (chkcnt == 0) {
alert("레이아웃을 선택해 주세요");
return false;
}
if (confirm("<%= localeMessage.getString("common.confirmMsg")%>")) {
var postData = [];
postData.push({name: "cmd", value: "DELETE_LIST"});
postData.push({name: "delItems", value: delArr});
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: postData,
success: function (json) {
alert(json.message);
$("#btn_search").click();
},
error: function (e) {
alert("error" + e.responseText);
}
});
} else {
return false;
}
});
buttonControl();
// setBtnHide(roleString, "admin", "btn_excel");
// setBtnHide(roleString, "admin", "btn_download");
// setBtnHide(roleString, "admin", "btn_initialize");
// setBtnControl(roleString, "admin,dept_developer", "btn_import");
//setBtnControl(roleString, "admin", "btn_cmsave");
// if(!devSvr){
// }
$("#btn_cmsave").hide();
FilePond.registerPlugin(FilePondPluginFileValidateType);
// FilePond 인스턴스 생성
const pond = FilePond.create(document.querySelector('.filepond'), {
instantUpload: false, // 파일을 즉시 업로드하지 않음
allowRevert: false,
acceptedFileTypes: ['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'],
// 서버 설정
server: {
process: {
url: url_file + '?cmd=LIST_IMPORT_FROM_EXCEL&serviceType=' + sessionStorage["serviceType"],
method: 'POST',
// 필요한 경우 headers나 다른 설정 추가
},
// revert, load, restore, fetch 설정 (필요한 경우)
},
// 다른 필요한 옵션 추가
});
// "업로드 시작" 버튼 클릭 이벤트 핸들러
document.getElementById('uploadButton').addEventListener('click', function() {
pond.processFiles(); // 선택된 모든 파일을 업로드
});
// 모달 닫기 이벤트 핸들러
$('#uploadModal').on('hidden.bs.modal', function (e) {
pond.removeFiles(); // 모달이 닫힐 때 파일 목록에서 모든 파일 제거
});
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i
<ids.length
;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if(chkcnt == 0){
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return false;
}
//var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var validEAIBzwkDstCd = 'NONE';
var loutNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var loutName = $('#grid').getCell(sel[i], 'LOUTNAME');
if(loutName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준 레이아웃은 업무 CM 대상이 아닙니다.["+loutName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
loutNames = loutName;
} else {
loutNames += ',' + loutName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = url_view;
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
addCMResource(validEAIBzwkDstCd, args.returnValue, loutNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, loutNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, loutNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['loutNames'] = loutNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
function onclickExcelImport() {
var url2 = url_view;
url2 += '?cmd=EX IMP POPUP';
var args = new Object();
showModal(url2,args,800,400, function(arg) {
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var names = encodeURIComponent(args.returnValue.ExcelNames);
parent.leftFrame.goPage('<c:url value="/onl/admin/rule/layoutExcelMan.do"/>?names='+names, '0707007');
});
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_excel_import" level="R" data-bs-toggle="modal" data-bs-target="#uploadModal"><i class="material-icons">upload</i> <%=localeMessage.getString("button.import")%></button>
<button type="button" class="cssbtn" id="btn_excel_export" level="R" ><i class="material-icons">download</i> <%=localeMessage.getString("button.exportExcel")%></button>
<button type="button" class="cssbtn" id="btn_excel" level="W" ><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" ><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img id="btn_import" src="<c:url value="/img/btn_import.png"/>" level="W" />&nbsp; --%>
<!-- img id="btn_cmsave" src="<c:url value="/img/btn_cmsave.png"/>" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" alt="" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("layoutMan.title2")%><span class="tooltip"><%=localeMessage.getString("layoutMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td width="25%">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.bzwkdstcd")%></th>
<td width="25%">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td width="20%">
<input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%></th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}"/>
</div>
</td>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td>
<div class="select-style">
<select name="searchLayoutTypeName" value="${param.searchLayoutTypeName}"/>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="searchUseYn" value="${param.searchUseYn}"/>
</div>
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
<!-- Modal -->
<div class="modal fade" id="uploadModal" tabindex="-1" aria-labelledby="uploadModalLabel" aria-hidden="true">
<!-- 모달 내용 -->
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title"><i class="material-icons" style="vertical-align: sub; font-size: 25px">publish</i> <%=localeMessage.getString("button.import")%></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<input type="file" class="filepond" name="file" multiple data-allow-reorder="true" data-max-file-size="3MB" data-max-files="10">
</div>
<div class="modal-footer">
<button id="uploadButton" class="btn btn-primary">IMPORT <%=localeMessage.getString("button.execute")%></button>
</div>
</div>
</div>
</div>
<iframe name=excelDown width=0 height=0></iframe>
</html>
@@ -0,0 +1,551 @@
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@ page import="java.io.*" %>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<jsp:include page="/jsp/common/include/layoutScript.jsp"/>
<script language="javascript">
var isPop = "${param.pop}";
var isDetail = false;
var url = '<c:url value="/onl/admin/rule/layoutMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/layoutMan.view" />';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
const columnNames = [];
const iso8583DataTypes = [{id:'NUMERIC',name:'[ISO8583] NUMERIC'}, {id:'ALPHA',name:'[ISO8583] ALPHA'}, {id:'DATE10',name:'[ISO8583] DATE10'}, {id:'DATE4',name:'[ISO8583] DATE4'}
, {id:'DATE_EXP',name:'[ISO8583] DATE_EXP'}, {id:'TIME',name:'[ISO8583] TIME'}, {id:'AMOUNT',name:'[ISO8583] AMOUNT'}, {id:'LLVAR',name:'[ISO8583] LLVAR'}
, {id:'LLLVAR',name:'[ISO8583] LLLVAR'}, {id:'LLLLVAR',name:'[ISO8583] LLLLVAR'}, {id:'BINARY',name:'[ISO8583] BINARY'}, {id:'LLBIN',name:'[ISO8583] LLBIN'}
, {id:'LLLBIN',name:'[ISO8583] LLLBIN'}];
const basicDataTypes = [{id:'BigDecimal',name:'BigDecimal'},{id:'String',name:'String'}];
function gridRenderingInit() {
$('#effectGrid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '<%=localeMessage.getString("layoutMan.layoutMapCd")%>',
'<%=localeMessage.getString("layoutMan.chgMapCdSvrDvCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcCdSvrDvCd")%>',
'<%=localeMessage.getString("layoutMan.ifSvcDesc")%>',
'SRC/TGT'
],
colModel : [ { name : 'CNVSNNAME' , align : 'center' , width:'100'},
{ name : 'TRANSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCNAME' , align : 'center' , width:'100'},
{ name : 'EAISVCSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCDESC' , align : 'left' },
{ name : 'SOURCRSULTDSTCD' , align : 'left' , width:'80'}
],
jsonReader : {
root : "rows2",
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : "80",
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
}
});
resizeJqGridWidth('effectGrid','content_middle','1000');
$('#grid').children().remove();
const itemTypes = ['Field', 'Grid', 'Group', 'Attr'];
columns = [ // for columnData prop
{ title: '<%= localeMessage.getString("layoutMan.itmeEn") %>', name: 'loutItemName', type: 'text', width:280, resize:true, minWidth:120 },
{ title: '<%= localeMessage.getString("layoutMan.itemDesc") %>', name: 'loutItemDesc', type: 'text', width:280, resize:true, minWidth:120 },
{ title: '<%=localeMessage.getString("standardLayout.itemLevel")%>', name: 'loutItemDepth', type: 'text', width:50 },
{ title: '<%= localeMessage.getString("standardLayout.itemType") %>', name: 'loutItemType', type: 'autocomplete', source: itemTypes, width:70 },
{ title: '<%= localeMessage.getString("standardLayout.arraySize") %>', name: 'loutItemOccCnt', type: 'text', width:90 },
{ title: '<%= localeMessage.getString("standardLayout.refField") %>', name: 'loutItemOccRef', type: 'text', width:90 },
{ title: '<%=localeMessage.getString("layoutMan.dataType")%>', name: 'loutItemDataType', type: 'autocomplete', source: basicDataTypes, width:160 },
{ title: '<%=localeMessage.getString("layoutMan.dataLen")%>', name: 'loutItemLength', type: 'numeric', width: 70, align: 'center' },
{ title: '<%=localeMessage.getString("layoutMan.decpLen")%>', name: 'loutItemDecimal', type: 'text', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.defaultVal")%>', name: 'loutItemDefault', type: 'text', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.mask")%>', name: 'loutItemMaskYn', type: 'checkbox', width: 70 },
{ title: '<%=localeMessage.getString("layoutMan.moffset")%>', name: 'loutItemMaskOffset', type: 'text', width: 50 },
{ title: '<%=localeMessage.getString("layoutMan.mLength")%>', name: 'loutItemMaskLength', type: 'text', width: 50 }
];
for (let i = 0; i < columns.length; i++) {
columnNames[i] = columns[i].name;
}
grid = JexcelEactiveCustom(document.getElementById('grid'), {
data: [[]],
columns: columns,
rowResize: false,
rowDrag: true,
columnResize: true,
columnDrag: false,
columnSorting: false,
defaultColAlign : 'center',
autoIncrement: false,
loadingSpin : true,
allowInsertColumn: false,
allowInsertOnTab: true,
allowDeleteColumn : false,
allowRenameColumn : false,
tableOverflow:false,
tableHeight: 2500,
contextMenu: jexelContextMenu,
updateTable: jexcelUpdateTableByOutCommHdr,
onload : jexcelOnload,
// onbeforechange : jexcelOnBeforeChange,
onbeforepaste: jexcelOnBeforePaste,
oneditionend : jexcelOnEditionEnd,
});
grid.eaAutoResize('content_middle');
<%--+ '<img id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle;" src="<c:url value="/images/bt/bt_item_delete.gif"/>" />'--%>
<%--+ '<img id="btn_meta" onClick="getAllMetaData()" style="margin-right:5px; vertical-align:middle;" src="<c:url value="/images/bt/bt_meta.gif"/>" />' --%>
toolbarHtml='<button type="button" class="cssbtn smallBtn" id="btn_item_add" onClick="itemAdd()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">add</i><%= localeMessage.getString("common.itemAdd") %></button>'
+'<button type="button" class="cssbtn smallBtn" id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">delete</i><%= localeMessage.getString("common.itemRemove") %></button>'
+'<br/>';
$('#grid').children().first().before(toolbarHtml);
}
function jexcelUpdateTableByOutCommHdr(instance, cell, col, row, val, label, cellName) {
if (grid == undefined) {
return;
}
var outCommHdrId = grid.getEaCellValue(row, 'OUTCOMMHDRID');
if ($.trim(outCommHdrId) != '') {
cell.classList.add('readonly');
cell.classList.add('ui-state-focus');
}
jexcelUpdateTable(instance, cell, col, row, val, label, cellName);
}
function migCellValue(columnName, dataKey, dataArray, targetArray){
const index = columnNames.indexOf(columnName);
var value = dataArray[dataKey];
if(columnName === 'loutItemMaskYn'){
value = value == 'Y' ? 'true' : 'false';
}
targetArray[index] = value;
}
function setDataToGrid(layoutData){
if(layoutData != null && layoutData.rows && layoutData.rows.length > 1){
const gridData = [];
for (let i = 1; i < layoutData.rows.length; i++) {
const row = layoutData.rows[i];
const values = [];
columnNames.forEach(columnName => {
migCellValue(columnName, columnName, row, values);
})
gridData[i - 1] = values;
}
grid.setData(gridData);
}
}
function setDataTotalLen(){
const itemLenIndex = columnNames.indexOf('loutItemLength');
const dataLengthArray = grid.getColumnData(itemLenIndex);
var totalLen = 0;
dataLengthArray.forEach(function(dataLength){
totalLen += Number.parseInt(dataLength);
});
$('#dataTotalLen').text(totalLen);
}
function detail(key) {
if (!isDetail) {
return
};
$.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'DETAIL', loutName: key},
success: function (json) {
console.log(json);
var data = json.detail;
$("input[name=loutName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
var key = name.toUpperCase();
$(tag+"[name="+name+"]").val(data[key]);
});
var rows2 = json.rows2;
for(var i=0; i<rows2.length; i++){
var tranSevrCd = rows2[i]['TRANSEVRDSTCD'];
var eaiSvcSevrCd = rows2[i]['EAISVCSEVRDSTCD'];
for(var j=0; j<sevrArr.length; j++){
var sevrCd = sevrArr[j]['CODE'];
if(tranSevrCd==sevrCd){
rows2[i]['TRANSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
if(eaiSvcSevrCd==sevrCd){
rows2[i]['EAISVCSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
}
}
$("#effectGrid")[0].addJSONData(json);
setDataToGrid(json);
setDataTotalLen();
$("select[name=loutPtrnName]").change();
},
error: function (e) {
alert(e.responseText);
}
});
}
async function detailCombo(){
try {
let json = await $.ajax({
type: "POST",
url: url,
dataType: "json",
data: {cmd: 'LIST_DETAIL_COMBO'}
});
new makeOptions("CODE", "NAME").setObj($("select[name=eaiBzwkDstcd]")).setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=loutPtrnName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE", "NAME").setObj($("select[name=eaiSevrDstcd]")).setData(json.eaiSevrCdRows).setFormat(codeName3OptionFormat).rendering();
sevrArr = json.eaiSevrCdRows;
} catch (e) {
alert(e.responseText);
}
}
async function init(key) {
if(isPop){
$(".content_top").css('display', 'none');
$(".content_middle").css('margin-top', '0px');
$("#btn_previous").html('<i class="material-icons">close</i> 닫기');
$('#effectGridRow').hide()
$('#dataTotalLenRow').hide()
$('#titleRow').hide()
}
await detailCombo();
gridRenderingInit();
detail(key);
initDialog();
buttonControl(isDetail);
}
$(document).ready(function () {
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.deleteMsg")%>");
if(isPop == "true"){
window.close();
const layout ="${param.loutName}";
const layoutPartName ="${param.layoutPartName}";
window.parent.postMessage({cmd:'DELETE', type: 'layout', layout, layoutPartName});
}else{
goNav(returnUrl);
}
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
if(isPop == "true") {
window.close();
} else {
goNav(returnUrl);//LIST로 이동
}
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',loutName:$("input[name=loutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
postData.forEach((element) => {
if(element.name === 'useYn'){
if (element.value === null || element.value .trim() === "") {
element.value = "1";
}
}
} );
var gridData = new Array();
if (grid) {
var data = grid.getData();
for ( var i = 0; i < data.length; i++) {
const row = data[i];
const inputRow = {checkMetadata: 'Y',
loutItemDefault: '',
loutItemMaskYn: 'false',
loutItemOccCnt: '0',
loutItemOccRef: ''};
for (let j = 0; j < row.length; j++) {
const columnName = columnNames[j];
const value = String(row[j]);
inputRow[columnName] = value;
}
const depth = Number(inputRow['loutItemDepth']);
if(depth == 0){
inputRow['loutItemDepth'] = 1;
}
inputRow['loutItemMaskYn'] = inputRow['loutItemMaskYn'] === 'true' ? 'Y' : 'N';
const index = String(i+1);
inputRow['loutItemSerno'] = index;
gridData.push(inputRow);
}
}
postData.push({
name : "layoutItems",
value : JSON.stringify(gridData)
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
if(isPop == "true"){
window.close();
} else {
goNav(returnUrl);
}
},
error:function(e){
alert(e.responseText);
}
});
});
$("select[name=loutPtrnName]").change(function(){
const index = columnNames.indexOf('loutItemDataType');
if($(this).val() == 'ISO8583'){
grid.options.columns[index].source = iso8583DataTypes;
}else{
grid.options.columns[index].source = basicDataTypes;
}
grid.updateTable();
});
var key = "${param.loutName}";
if (key != "" && key != "null") {
isDetail = true;
}
init(key);
});
function closeAddRowDialog(){
$( '#add_row_dialog' ).dialog("close");
}
function addNewRow(){
var cnt = $("input[name=add_row_count]").val();
if(cnt == "" || cnt == undefined) return;
const ncnt = Number(cnt);
if (grid.getJson().length == 0){
const ncnt = Number(cnt) -1;
grid.setData([{}]);
if (ncnt !=0){
grid.insertRow(ncnt);
}
}else{
const ncnt = Number(cnt);
grid.insertRow(ncnt);
}
$( '#add_row_dialog' ).dialog("close");
closeAddRowDialog();
}
function initDialog(){
$( '#add_row_dialog' ).dialog({
resizable: false,
autoOpen: false,
height: "auto",
width: 400,
modal: true,
buttons: {
"Add": function() {
addNewRow();
},
Cancel: function() {
closeAddRowDialog();
}
}
});
$("input[name=add_row_count]").keydown(function(key){
if (key.keyCode == 13){
addNewRow();
}
});
}
function itemAdd(){
grid.resetSelection();
$("input[name=add_row_count]").val("");
$( '#add_row_dialog' ).dialog("open");
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_initialize" level="R" status="DETAIL"><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
<button type="button" class="cssbtn" id="btn_previous" level="W" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
</div>
<div class="title"><%=localeMessage.getString("layoutMan.titleDetail")%>
</div>
<form id="ajaxForm">
<div id="titleRow" class="table_row_title"><%=localeMessage.getString("layoutMan.titleDetail2")%></div>
<table class="table_row">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.layoutCd")%>
</th>
<td><input type="text" name="loutName"/></td>
<th><%=localeMessage.getString("layoutMan.layoutDesc")%>
</th>
<td><input type="text" name="loutDesc"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%>
</th>
<td>
<div class="select-style"><select name="loutPtrnName"></select></div>
</td>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.bzwkdstcdName")%>
</th>
<td>
<div class="select-style"><select name="eaiBzwkDstcd"></select></div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%>
</th>
<td>
<div class="select-style">
<select name="eaiSevrDstcd"></select>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%>
</th>
<td>
<div class="select-style">
<select name="useYn"></select>
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.verInfo")%></th>
<td colspan="3">
<input type="text" name="verInfo" readonly/>
</td>
</tr>
</table>
</form>
<div id="effectGridRow">
<div class="table_row_title"><%=localeMessage.getString("layoutMan.rowTitle")%> <span style="font-size:12px;">=><%=localeMessage.getString("layoutMan.rowSpan")%> </span></div>
<table id="effectGrid"></table>
</div>
<div style="margin-top:15px;">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%=localeMessage.getString("layoutMan.rowTitle2")%></div>
</div>
<div id = "gridDiv">
<div id="grid"></div>
</div>
<table id="dataTotalLenRow" class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.dataTotLen")%></th>
<td id="dataTotalLen" > </td>
</tr>
</table>
</div><!-- end content_middle -->
<div id="add_row_dialog" title="<%=localeMessage.getString("standardLayout.appendRow")%>">
<%=localeMessage.getString("common.countAppendRow")%> : <input type="text" name="add_row_count" style="width:30px" /><%=localeMessage.getString("layout.count")%>
</div>
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,371 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var isPop = "${param.pop}";
var isDetail = false;
var lastSelIdx;
var lastrow;
var url ='<c:url value="/onl/admin/rule/layoutMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutMan.view" />';
var url_excel = '<c:url value="/onl/admin/rule/layoutMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
function init(key,callback){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_DETAIL_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=eaiBzwkDstcd]")).setData(json.bizList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=loutPtrnName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setData(json.eaiSevrCdRows).setFormat(codeName3OptionFormat).rendering();
sevrArr = json.eaiSevrCdRows;
if(typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', loutName : key},
success:function(json){
var data = json.detail;
$("input[name=loutName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
var rows2 = json.rows2;
for(var i=0; i<rows2.length; i++){
var tranSevrCd = rows2[i]['TRANSEVRDSTCD'];
var eaiSvcSevrCd = rows2[i]['EAISVCSEVRDSTCD'];
for(var j=0; j<sevrArr.length; j++){
var sevrCd = sevrArr[j]['CODE'];
if(tranSevrCd==sevrCd){
rows2[i]['TRANSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
if(eaiSvcSevrCd==sevrCd){
rows2[i]['EAISVCSEVRDSTCD']='['+sevrCd+'] '+sevrArr[j]['NAME'];
}
}
}
$("#grid")[0].addJSONData(json);
$("#tree")[0].addJSONData(json);
var TOTAL = {};
var ids = $("#tree").jqGrid('getDataIDs');
for (var i =0; i< ids.length; i++){
var rowId = ids[i];
//var rowData = $('#tree').jqGrid('getRowData', rowId);
var parent = $('#tree').jqGrid('getCell', ids[i],'parent');
var cnt = parseInt($('#tree').jqGrid('getCell', ids[i],'LOUTITEMLENCNT'));
if(TOTAL[parent] == "undefined" || isNaN(TOTAL[parent]) ) TOTAL[parent] = "0";
TOTAL[parent] = parseInt(TOTAL[parent]) + cnt + "" ;
}
for (var i =0; i< ids.length; i++){
var rowId = ids[i];
//var rowData = $('#tree').jqGrid('getRowData', rowId);
var occurTimes = $('#tree').jqGrid('getCell', rowId,'LOUTITEMMAXOCCURNOITM'); //rowData.LOUTITEMMAXOCCURNOITM;
var refInfo = $('#tree').jqGrid('getCell', rowId,'LOUTITEMREFINFO2'); //rowData.LOUTITEMREFINFO2;
var datatype = $('#tree').jqGrid('getCell', rowId,'LOUTITEMPTRNIDDESC'); //rowData.LOUTITEMPTRNIDDESC;
var id = $('#tree').jqGrid('getCell', rowId,'id'); //rowData.id;
if( datatype == "UNKNOWN" ){
switch(Number(occurTimes)){
case 0 : break;
case 1: break;
case -1:
occurTimes = $('#tree').jqGrid('getCell', ids[i-1],'LOUTITEMMAXOCCURNOITM');
TOTAL[id] = TOTAL[id]+ "*" +refInfo;
break;
default :
occurTimes = occurTimes; //rowData.LOUTITEMMAXOCCURNOITM;
TOTAL[id] = TOTAL[id]+ "*" +occurTimes;
break;
}
}
}
var totalData="";
var totVal1 = 0;
var totVal2 = "";
var strVal = "";
for (var index in TOTAL){
if(TOTAL[index].indexOf("*") == -1 ){
totVal1 = totVal1 + parseInt(TOTAL[index]);
}else{
try{
totVal2 = (totVal2==""?"":(totVal2+"+"))+ eval(TOTAL[index]);
}catch (e){
strVal = (strVal==""?"":(strVal+"+")) + TOTAL[index];
}
}
}
totalData = totVal1+ (totVal2==""?"":(" + "+totVal2));
totalData = totVal1+ (totVal2==""?"":eval(totVal2));
if(strVal != "") totalData = totalData + "+" + strVal;
$('#dataTotalLen').text(totalData);
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var key ="${param.loutName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("select[name=loutPtrnName]").attr("disabled","disabled");
$("select[name=eaiBzwkDstcd]").attr("disabled","disabled");
$("select[name=eaiSevrDstcd]").attr("disabled","disabled");
$("select[name=useYn]").attr("disabled","disabled");
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '전문레이아웃변환매핑코드',
'변환매핑코드 서버구분코드',
'IF서비스코드',
'IF서비스코드 서버구분코드',
'IF서비스설명',
'SRC/TGT'
],
colModel : [
{ name : 'CNVSNNAME' , align : 'center' , width:'100'},
{ name : 'TRANSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCNAME' , align : 'center' , width:'100'},
{ name : 'EAISVCSEVRDSTCD' , align : 'center' , width:'50'},
{ name : 'EAISVCDESC' , align : 'left' },
{ name : 'SOURCRSULTDSTCD' , align : 'left' , width:'50'}
],
jsonReader : {
root : "rows2",
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : "80",
autowidth : true,
viewrecords : true,
ondblClickRow : function(rowId) {
}
});
$('#tree').jqGrid({
datatype:'json',
loadui: "disable",
mtype: 'POST',
//colNames: ["번호","항목명(영문)","항목설명","최대발생건수","참조정보","테이타타입","테이터길이","소수점길이","레이아웃명","ID","PARENT"],
colNames: [
'<%=localeMessage.getString("layoutMan.num")%>',
'<%=localeMessage.getString("layoutMan.itmeEn")%>',
'<%=localeMessage.getString("layoutMan.itemDesc")%>',
'<%=localeMessage.getString("layoutMan.maxOccCnt")%>',
'<%=localeMessage.getString("layoutMan.refInfo")%>',
'<%=localeMessage.getString("layoutMan.dataType")%>',
'<%=localeMessage.getString("layoutMan.dataLen")%>',
'<%=localeMessage.getString("layoutMan.decpLen")%>',
'<%=localeMessage.getString("layoutMan.multilang")%>',
'<%=localeMessage.getString("layoutMan.layoutName")%>',
"ID",
"PARENT"
],
colModel: [
{name: "LOUTITEMSERNO" , width:"30"},
{name: "LOUTITEMNAME" , width:"250"},
{name: "LOUTITEMDESC" },
{name: "LOUTITEMMAXOCCURNOITM" , width:"60"},
{name: "LOUTITEMREFINFO2" , width:"150"},
{name: "LOUTITEMPTRNIDDESC" , width:"60"},
{name: "LOUTITEMLENCNT" , width:"60" ,align : 'right'},
{name: "DECPTLENCNT" , width:"60" ,align : 'right'},
{name: "MULTILANG" , width:"60" , align : 'center'},
{name: "LOUTNAME" ,hidden:true },
{name: "id" ,hidden:true},
{name: "parent" ,hidden:true }
],
treeGrid: true,
treeGridModel: "adjacency",
ExpandColumn: "LOUTITEMNAME",
height:"480",
rowNum: 10000,
autowidth : true,
treeIcons: {leaf:'ui-icon-document-b'},
jsonReader: {
repeatitems: false
},
loadComplete:function (d){
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow : function(rowId) {
/*
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var url = '<c:url value="/onl/admin/rule/layoutMan.view" />';
url = url + '?cmd=DETAIL_ITEM';
url = url + '&page='+$(this).getGridParam("page");
url = url + '&returnUrl='+getReturnUrl();
url = url + '&menuId='+'${param.menuId}';
//검색값
url = url + '&' + getSearchUrl();
//key값
url = url + '&loutName='+key;
url = url + '&loutItemName='+key;
url = url + '&loutItemSerno='+key;
goNav(url);
*/
}
});
$("#btn_close").click(function(){
window.close();
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',loutName:$("input[name=loutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#tree"),$("#ajaxForm"),$("select[name=loutName]").val());
return false;
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
$('body').css('overflow-x','hidden');
});
</script>
<style>
#btn_excel {
cursor:pointer
}
</style>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R" status="DETAIL,NEW"/>
</div>
<div class="title" style="margin-bottom: 5px;">레이아웃 상세</div>
<form id="ajaxForm">
<div class="table_row_title" style="margin-bottom: 5px;"><%=localeMessage.getString("layoutMan.titleDetail2")%></div>
<table class="table_row" cellspacing="0" style="margin-bottom: 5px;">
<tr>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td><input type="text" name="loutName"/> </td>
<th><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td><input type="text" name="loutDesc" readonly/> </td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td><div class="select-style"><select name="loutPtrnName"></select></div></td>
<th style="width:20%;"><%=localeMessage.getString("layoutMan.bzwkdstcdName")%></th>
<td><div class="select-style"><select name="eaiBzwkDstcd"></select></div></td>
</tr>
<tr >
<th>서버구분코드</th>
<td>
<div class = "select-style">
<select name="eaiSevrDstcd"></select>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class = "select-style">
<select name="useYn"></select>
</div>
</td>
</tr>
</table>
<div class="table_row_title" style="margin-bottom: 5px;">전문레이아웃 영향도 <span style="font-size:12px;">=> 현재 전문레이아웃을 사용하고 있는 매핑정보를 표시합니다.</span></div>
<table id="grid"></table>
<div>
<div class="table_row_title" style="display:inline-block;margin-bottom: 5px;">전문레이아웃 항목 정보</div>
<img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL" style="display: inline;width: 70px;top: 6px;position: relative;"/>
</div>
<table id="tree"></table>
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr>
<th style="width:20%;">데이터 총길이</th>
<td id="dataTotalLen" > </td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
<iframe name=excelDown width=0 height=0></iframe>
</body>
</html>
@@ -0,0 +1,213 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<style type="text/css">
.img_pointer { cursor:pointer; }
.ui-common-table { width: 100% !important; }
.ui-jqgrid .ui-jqgrid-hbox { padding-right: 0px !important; }
</style>
<script type="text/javascript">
$(document).ready(function() {
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
colNames : [ '파일명', '자원설명', '버전', '반입일시', 'SRCID'],
colModel : [
{ name: 'FILENM' , align: 'left' },
{ name: 'DESC' , align: 'left' , width: '400' },
{ name: 'VERSION' , align: 'center' , width: '50' },
{ name: 'MODIFYDT' , align: 'center' , width: '80' },
{ name: 'SRCID' , hidden: 'true' }],
jsonReader : {
root : "cmList",
repeatitems : false
},
height : "200",
autowidth: true,
multiselect: true,
multiboxonly: true,
loadComplete: function(data) {
$('#hRepKey').val(data.repKey);
$('#hGroupCoCd').val(data.groupCoCd);
},
loadError: function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {}
}
}
});
// ComboBox 세팅
initSelBzwkDstcd();
$('#btn_operate').click(onclickOperate);
$('#btn_search').click(onclickBtnSearch);
$("#btn_close").click(function(){
window.close();
});
});
function initSelBzwkDstcd() {
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutMan.json"/>',
data: { 'cmd': 'LIST_CODE' },
success:function(json){
if (json.codeList == null || json.codeList.length == 0) {
return;
}
for (var i=0; i<json.codeList.length; i++) {
var item = json.codeList[i];
$('#selBzwkDstcd').append('<option value="'+ jQuery.trim(item.EAIBZWKDSTCD) +'">'+ item.EAIBZWKDSTCD + ' - '+ item.BZWKDSTICNAME +'</option>');
}
},
error:function(xhr){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(xhr.responseText);
}
}
}
});
}
function onclickBtnSearch() {
if ($('#selBzwkDstcd').val() == '') {
alert('업무구분코드를 선택해 주세요.');
return;
}
var params = {};
params['cmd'] = 'LIST_SRC';
params['eaiBzwkDstCd'] = $('#selBzwkDstcd').val();
params['repType'] = $('#selRepType').val();
params['schType'] = $('#selSchType').val();
params['desc'] = $('#txtDesc').val();
$("#grid").setGridParam({
'postData': params,
'url': '<c:url value="/onl/admin/rule/layoutMan.json"/>'
}).trigger("reloadGrid");
}
function onclickOperate() {
if ($('#selBzwkDstcd').val() == '') {
alert('업무구분코드를 선택해 주세요.');
return;
}
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('하나의 자료를 선택 해주세요.');
return;
}
var arrSrcId = [];
var arrVersion = [];
var arrFileName = [];
$(sel).each(function(index, i) {
arrSrcId.push($('#grid').getCell(i, 'SRCID'));
arrVersion.push($('#grid').getCell(i, 'VERSION'));
arrFileName.push($('#grid').getCell(i, 'FILENM'));
});
var params = new Object();
params['cmd'] = 'TRANSACTION_CMDOWN';
params['eaiBzwkDstCd'] = $('#selBzwkDstcd').val();
params['srcIds'] = arrSrcId.join(',');
params['versions'] = arrVersion.join(',');
params['fileNames'] = arrFileName.join(',');
$.ajax({
type: "POST",
dataType:"json",
url: '<c:url value="/onl/admin/rule/layoutMan.json"/>',
data: params,
success:function(json){
if (json.fileList == null || json.fileList.length == 0) {
return;
}
var value = {
'ExcelNames': json.fileList.join(',')
};
window.returnValue = value;
window.close();
},
error:function(xhr){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(xhr.responseText);
}
}
}
});
}
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<img src="<c:url value="/img/btn_operate.png"/>" alt="" id="btn_operate" level="R" status="DETAIL,NEW" />
<img src="<c:url value="/img/btn_close.png"/>" alt="" id="btn_close" level="R" status="DETAIL,NEW"/>
</div>
<div class="title">형상연동 입출력항목(송수신항목)설계서 선택</div>
<form id="ajaxForm">
<input type="hidden" id="hRepKey" name="hRepKey" />
<input type="hidden" id="hGroupCoCd" name="hGroupCoCd" />
<table class="table_row" cellspacing="0">
<tbody>
<tr>
<th style="width:20%;">업무구분코드</th>
<td colspan="3">
<select id="selBzwkDstcd">
<option value="">선택하지 않음</option>
</select>
</td>
</tr>
<tr>
<th>형상저장소</th>
<td>
<select id="selRepType">
<option value="M">유지보수</option>
<option value="D">개발</option>
</select>
</td>
<th>조회조건</th>
<td>
<select id="selSchType">
<option value="N">자료명</option>
<option value="T">태그명</option>
</select>
</td>
</tr>
<tr>
<th>검색명</th>
<td colspan="3">
<div>
<input type="text" id="txtDesc" name="txtDesc" style="width:386px;" />&nbsp;
<img id="btn_search" src="<c:url value="/images/bt/bt_search.gif"/>" alt="검색" class="img_pointer">
</div>
</td>
</tr>
</tbody>
</table>
<table id="grid"></table>
</form>
</div>
</body>
</html>
@@ -0,0 +1,142 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var loutName = window.dialogArguments["loutName"];
var url = '<c:url value="/onl/admin/rule/layoutMan.json"/>';
$(document).ready(function() {
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : { cmd : 'LIST_POP'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%= localeMessage.getString("layManPop.bizClaCd")%>',
'<%= localeMessage.getString("layManPop.bizClaNm")%>',
'<%= localeMessage.getString("layManPop.tlgLayCd")%>',
'<%= localeMessage.getString("layManPop.tlgLayDesc")%>',
'<%= localeMessage.getString("layManPop.tlgLayTpNm")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left', sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'LOUTNAME' , align:'left' },
{ name : 'LOUTDESC' , align:'left' },
{ name : 'LOUTPTRNNAME' , align:'left' }
],
jsonReader : {
repeatitems : false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_POP"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> --%>
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
<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_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%= localeMessage.getString("layManPop.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("layManPop.bizClaCd")%></th>
<td style="width:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;"><%= localeMessage.getString("layManPop.tlgLayCd")%></th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th style="width:20%;"><%= localeMessage.getString("layManPop.tlgLayDesc")%></th>
<td colspan="3"><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,128 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url ='<c:url value="/onl/admin/rule/layoutTypeMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutTypeMan.view" />';
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'},
colNames:['<%= localeMessage.getString("layoutType.type") %>',
'<%= localeMessage.getString("layoutType.desc") %>',
'<%= localeMessage.getString("layoutType.class") %>'
],
colModel:[
{ name : 'LOUTPTRNNAME' , align:'left' , width:'65px', sortable:false },
{ name : 'LOUTPTRNDESC' , align:'left' },
{ name : 'MSGLOUTCRETNCLSNAME' , align:'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTPTRNNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
//key값
url2 += '&loutPtrnName='+key;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ 'postData': postData ,page:"1"}).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
goNav(url2);
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i><%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i><%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i><%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("layoutType.title") %><span class="tooltip"><%= localeMessage.getString("layoutType.tooltip") %></span></div>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,146 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url ='<c:url value="/onl/admin/rule/layoutTypeMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/layoutTypeMan.view" />';
var isDetail = false;
function init(key,callback){
if(typeof callback === 'function') {
callback(key);
}
}
function detail(key){
if (!isDetail)return;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', loutPtrnName : key},
success:function(json){
var data = json;
$("input[name=loutPtrnName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key ="${param.loutPtrnName}";
if (key != "" && key !="null"){
isDetail = true;
}
init(key,detail);
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_delete").click(function(){
if ( confirm( '<%=localeMessage.getString("common.confirmMsg")%>' ) != true ) return;
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
titleControl(isDetail);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></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>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("layoutTypeDetail.title") %><span class="tooltip"><%= localeMessage.getString("layoutTypeDetail.tooltip") %></span></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("layoutTypeDetail.type") %></th><td width="80%"><input type="text" name="loutPtrnName"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("layoutTypeDetail.class") %></th><td><input type="text" name="msgLoutCretnClsName"/></td>
</tr>
<tr height="100px">
<th><%= localeMessage.getString("layoutTypeDetail.typeDesc") %></th><td><textarea name="loutPtrnDesc" style="width:100%;height:100px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,139 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/rollingSuffixMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/rollingSuffixMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function init (){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'FIND_CURRENT_COMMITID'},
success:function(response){
$('#currentCommitId').text(response.commitId);
},
error: function(xhr, status, error) {
console.log("Ajax Error: " + error);
console.log("Status: " + status);
console.log("Response Text: " + xhr.responseText);
}
});
}
function formatDate(jsonDate) {
var date = new Date(
jsonDate[0],
jsonDate[1] - 1,
jsonDate[2],
jsonDate[3],
jsonDate[4],
jsonDate[5],
Math.floor(jsonDate[6] / 1000000) // Convert nanoseconds to milliseconds
);
function pad(number, length) {
return number.toString().padStart(length, '0');
}
var formattedDate = date.getFullYear() + '-' +
pad(date.getMonth() + 1, 2) + '-' +
pad(date.getDate(), 2) + ' ' +
pad(date.getHours(), 2) + ':' +
pad(date.getMinutes(), 2) + ':' +
pad(date.getSeconds(), 2) + ' ' +
pad(date.getMilliseconds(), 3);
return formattedDate;
}
$(document).ready(function() {
init();
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['ID',
'Commit ID',
'등록일시',
'Table Suffix'
],
colModel:[
{ name : 'id', align:'left' ,sortable:false },
{ name : 'commitId', align:'left' },
{ name : 'createdDate', align:'left', formatter: formatDate },
{ name : 'suffix', align: 'left' }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="title">버전관리 이력조회<span class="tooltip">버전관리 이력조회</span></div>
<div style="font-size: 24px">Current CommitId : <span style="font-weight: bold;color:#d43f3a;" id="currentCommitId"></span></div>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,233 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/standardLayoutHistoryMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/standardLayoutHistoryMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function timeFormatter (cellvalue, options, rowObject){
const dateFormat = new Date(cellvalue);
return dateFormat.toLocaleString();
}
function operationTypeFormatter (cellvalue, options, rowObject){
switch(cellvalue){
case 'NEW': return '<%= localeMessage.getString("standardLayoutHistory.operationDescNew") %>';
case 'MODIFY': return '<%= localeMessage.getString("standardLayoutHistory.operationDescModify") %>';
case 'DEPLOY': return '<%= localeMessage.getString("standardLayoutHistory.operationDescDeploy") %>';
case 'DELETE': return '<%= localeMessage.getString("standardLayoutHistory.operationDescDelete") %>';
default: return cellvalue;
}
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:[
'NO',
'<%= localeMessage.getString("standardLayout.layoutName") %>',
'<%= localeMessage.getString("standardLayout.layoutDesc") %>',
'<%= localeMessage.getString("standardLayoutHistory.operationType") %>',
'<%= localeMessage.getString("standardLayoutHistory.operatorName") %>',
'<%= localeMessage.getString("standardLayoutHistory.operationDatetime") %>'
],
colModel:[
{ name: 'operationSeq', align: 'center', width: "15" },
{ name: 'layoutName', align: 'center', sortable: false },
{ name: 'layoutDesc', align: 'left' },
{ name: 'operationType', align: 'center', width: "40", formatter: operationTypeFormatter },
{ name: 'operatorName', align: 'center', width: "40" },
{ name: 'operationDatetime', align: 'center', width: "60", formatter: timeFormatter}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
multiboxonly:false,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var operationSeq = rowData['operationSeq'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&operationSeq='+operationSeq;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<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>
</div>
<div class="title"><%= localeMessage.getString("standardLayoutHistory.title") %><span class="tooltip"><%= localeMessage.getString("standardLayoutHistory.toolbar") %></span></div>
<!--
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutCd")%></th>
<td width="25%">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.bzwkdstcd")%></th>
<td width="25%">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th width="10%"><%=localeMessage.getString("layoutMan.layoutDesc")%></th>
<td width="20%">
<input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("layoutMan.sevrDstCd")%></th>
<td>
<div class="select-style">
<select name="searchEaiSevrDstcd" value="${param.searchEaiSevrDstcd}"/>
</div>
</td>
<th><%=localeMessage.getString("layoutMan.layoutTypeName")%></th>
<td>
<div class="select-style">
<select name="searchLayoutTypeName" value="${param.searchLayoutTypeName}"/>
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="searchUseYn" value="${param.searchUseYn}"/>
</div>
</td>
</tr>
</tbody>
</table>
</form>
-->
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,240 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<style>
.jexcel tbody {
font-size: 13px;
}
</style>
<script language="javascript" >
var isPop = "${param.pop}";
var isDetail = false;
var url ='<c:url value="/onl/admin/rule/standardLayoutHistoryMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/standardLayoutHistoryMan.view" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
let userId = '<%=SessionManager.getUserId(request) %>';
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
let operationType ;
let grid;
function detail(operationSeq){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', operationSeq: operationSeq},
success:function(json){
var data = json.detail;
$("input[name=loutName]").attr('readonly',true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var key = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
// var key = name.toUpperCase();
let value = data[key];
if(key == 'operationDatetime'){
const dateFormat = new Date(value);
value = dateFormat.toLocaleString();
}else if(key == 'operationType'){
operationType = value;
switch(value){
case 'NEW': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescNew") %>'; break;
case 'MODIFY': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescModify") %>'; break;
case 'DEPLOY': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescDeploy") %>'; break;
case 'DELETE': value = '<%= localeMessage.getString("standardLayoutHistory.operationDescDelete") %>'; break;
}
}
$(tag+"[name="+key+"]").val(value);
});
if(operationType != 'DELETE') {
initializeEditGrid(json);
}else{
$('#labelEditGrid').hide();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function initializeEditGrid(layoutData){
const itemTypes = [{id:2, name:'Field'}, {id:3, name:'Group'}, {id:4, name:'Grid'}, {id:5, name:'Field Array'}, {id:9, name:'Biz Data'}];
const fieldTypes = [{id:1, name:'Element'}, {id:2, name:'Attribute'}];
const dataTypes = [{id:1, name:'String'}, {id:2, name:'Number'},{id:11, name:'ZZ String'}, {id:12, name:'LL Number'}];
columns = [ // for columnData prop
{
title: '<%= localeMessage.getString("standardLayout.itemName") %>',
name: 'itemName',
type: 'text',
width: 230,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemDesc") %>',
name: 'itemDesc',
type: 'text',
width: 230,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemLevel") %>',
name: 'itemLevel',
type: 'text',
width: 60,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.itemType") %>',
name: 'itemType',
type: 'dropdown',
source: itemTypes,
width: 80,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.arraySize") %>',
name: 'arraySize',
type: 'text',
width: 60,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.fieldType") %>',
name: 'fieldType',
type: 'dropdown',
source: fieldTypes,
width: 100,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.dataLength") %>',
name: 'dataLength',
type: 'numeric',
width: 70,
align: 'center',
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.dataType") %>',
name: 'dataType',
type: 'dropdown',
source: dataTypes,
width: 100,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.refFieldPath") %>',
name: 'refFieldPath',
type: 'text',
align: 'left',
width: 180,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.refValue") %>',
name: 'refValue',
type: 'text',
align: 'left',
width: 80,
readOnly:true
},
{
title: '<%= localeMessage.getString("standardLayout.defaultValue") %>',
name: 'defaultValue',
type: 'text',
align: 'left',
width: 180,
readOnly:true
}
];
grid = defaultEditGrid($('#editGrid'), columns, null, 'itemLevel', layoutData.rows);
}
$(document).ready(function() {
var operationSeq ="${param.operationSeq}";
if (operationSeq != "" && operationSeq !="null"){
isDetail = true;
}
detail(operationSeq);
$("#btn_previous").click(function(){
if(isPop == "true")
window.close();
else
goNav(returnUrl);//LIST로 이동
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
setBtnHide(roleString, "admin", "btn_modify");
$('body').css("overflow-x","hidden");
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div id="content_middle" class="content_middle">
<div class="search_wrap">
<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"><%= localeMessage.getString("standardLayoutHistory.title") %></div>
<form id="ajaxForm">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%= localeMessage.getString("standardLayout.subTitle1") %></div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutName") %></th>
<td style="width:15%; min-width: 200px;"><input type="text" name="layoutName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutDesc") %></th>
<td colspan="5"><input type="text" name="layoutDesc" readonly="true"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("standardLayoutHistory.operationSeq") %></th>
<td><input type="text" name="operationSeq" readonly="true"/> </td>
<th><%= localeMessage.getString("standardLayoutHistory.operationType") %></th>
<td><input type="text" name="operationType" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayoutHistory.operatorName") %></th>
<td><input type="text" name="operatorName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayoutHistory.operationDatetime") %></th>
<td><input type="text" name="operationDatetime" readonly="true"/> </td>
</tr>
</table>
<div id="labelEditGrid" class="table_row_title" style="display: inline;"><%= localeMessage.getString("standardLayout.subTitle2") %></div>
<div id="editGrid"></div>
</form>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,453 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
request.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/standardLayoutMan.json"/>';
var url_view = '<c:url value="/onl/admin/rule/standardLayoutMan.view"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var svrInst = new Array();
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length < 16) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2)+".";
display=display+cellvalue.substr(14,2);
return display;
}
function init (){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'GET_DEPLOY'},
success:function(json){
if(json == null || Object.keys(json).length === 0 || json.layoutName == null || json.layoutName.length == 0){
$('#deployLayoutName').text('<%= localeMessage.getString("standardLayout.message3") %>');
} else {
$('#deployLayoutName').text(json.layoutName);
$('#deployLayoutDesc').text('(' + json.layoutDesc + ')');
}
},
error:function(e){
console.log(e);
}
});
}
function timeFormatter (cellvalue, options, rowObject){
const dateFormat = new Date(cellvalue);
return dateFormat.toLocaleString();
}
$(document).ready(function() {
init();
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%= localeMessage.getString("standardLayout.layoutName") %>',
'<%= localeMessage.getString("standardLayout.layoutDesc") %>',
'<%= localeMessage.getString("standardLayout.writerName") %>',
'<%= localeMessage.getString("user.createOn") %>',
'<%= localeMessage.getString("user.updateOn") %>'
],
colModel:[
{ name: 'layoutName', align: 'center', sortable: false },
{ name: 'layoutDesc', align: 'left' },
{ name: 'writerName', align: 'left', width: "60" },
{ name: 'createDatetime', align: 'left', width: "60"},
{ name: 'updateDatetime', align: 'left', width: "60"}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
multiselect: false,
multiboxonly:false,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var layoutName = rowData['layoutName'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&layoutName='+layoutName;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=1';
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['layoutName']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("레이아웃이 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("초기화 하시겠습니까?")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$("#btn_delete").click(function(){
// var id = "grid";
// var delArr = new Array();
// var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
// for(var i=0;i<ids.length;i++){
// if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
// var rowObject = $("#grid").getRowData(ids[i]);
// delArr.push(rowObject['LOUTNAME']);
// chkcnt++;
// }
// }
const selRowId = $("#grid").getGridParam( "selrow" );
if(selRowId == null){
alert("<%= localeMessage.getString("standardLayout.message4") %>");
return false;
}
const rowSelectData = $("#grid").getRowData( selRowId );
const targetName = rowSelectData["layoutName"];
if(confirm(targetName + " <%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE"});
postData.push({ name: "layoutName" , value: targetName});
postData.push({ name: "layoutDesc" , value: targetName});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert(targetName + " <%=localeMessage.getString("common.deleteMsg")%>");
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
buttonControl();
setBtnHide(roleString, "admin", "btn_download");
setBtnHide(roleString, "admin", "btn_initialize");
setBtnControl(roleString, "admin,dept_developer", "btn_import");
//setBtnControl(roleString, "admin", "btn_cmsave");
if(!devSvr){
$("#btn_cmsave").hide();
}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if(chkcnt == 0){
alert('<%= localeMessage.getString("standardLayout.message5") %>');
return false;
}
//var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var validEAIBzwkDstCd = 'NONE';
var loutNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var loutName = $('#grid').getCell(sel[i], 'LOUTNAME');
if(loutName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("<%= localeMessage.getString("standardLayout.message6") %>".formatLocale(loutName));
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
loutNames = loutName;
} else {
loutNames += ',' + loutName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('<%= localeMessage.getString("standardLayout.message7") %>');
return;
}
}
}
var url2 = url_view;
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
addCMResource(validEAIBzwkDstCd, args.returnValue, loutNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, loutNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, loutNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['loutNames'] = loutNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<%-- <img id="btn_import" src="<c:url value="/img/btn_import.png"/>" level="W" />&nbsp; --%>
<!-- img id="btn_cmsave" src="<c:url value="/img/btn_cmsave.png"/>" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_initialize" src="<c:url value="/img/btn_initialize.png"/>" alt="" level="W" />--%>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/>--%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" />--%>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" alt="" level="R" />--%>
</div>
<div class="title"><%= localeMessage.getString("standardLayout.title1") %><span class="tooltip"><%= localeMessage.getString("standardLayout.tooltip") %></span></div>
<div style="font-size: 24px"><%= localeMessage.getString("standardLayout.currentStandardLayout") %> : <span style="font-weight: bold;color:#d43f3a;" id="deployLayoutName"></span><span style="color:#8a6d3b" id="deployLayoutDesc"></span></div>
<table id="grid"></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,440 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<style>
.jexcel tbody {
font-size: 13px;
}
</style>
<script language="javascript" >
var isPop = "${param.pop}";
var isDetail = false;
var url ='<c:url value="/onl/admin/rule/standardLayoutMan.json" />';
var url_view ='<c:url value="/onl/admin/rule/standardLayoutMan.view" />';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
let userId = '<%=SessionManager.getUserId(request) %>';
var returnUrl = getReturnUrlForReturn();
var sevrArr = new Array();
let grid;
let columnNames = [];
function detail(layoutName){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'DETAIL', layoutName: layoutName},
success:function(json){
var data = json.detail;
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
// var key = name.toUpperCase();
var key = name;
let value = data[key];
// if(key == 'createDatetime' || key == 'updateDatetime'){
// $(tag+"[name="+name+"]").attr('timestamp', value);
// const dateFormat = new Date(value);
// value = dateFormat.toLocaleString();
// }
$(tag+"[name="+name+"]").val(value);
});
initializeEditGrid(json);
// setDataTotalLen();
},
error:function(e){
alert(e.responseText);
}
});
}
function initializeEditGrid(layoutData){
const itemTypes = [{id:2, name:'Field'}, {id:3, name:'Group'}, {id:4, name:'Grid'}, {id:5, name:'Field Array'}, {id:9, name:'Biz Data'}];
const fieldTypes = [{id:1, name:'Element'}, {id:2, name:'Attribute'}];
const dataTypes = [{id:1, name:'String'}, {id:2, name:'Number'},{id:11, name:'ZZ String'}, {id:12, name:'LL Number'}];
let columns = [ // for columnData prop
{
title: '<%= localeMessage.getString("standardLayout.itemName") %>',
name: 'itemName',
type: 'text',
width: 200,
},
{
title: '<%= localeMessage.getString("standardLayout.itemDesc") %>',
name: 'itemDesc',
type: 'text',
width: 260,
align: 'left'
},
{
title: '<%= localeMessage.getString("standardLayout.itemLevel") %>',
name: 'itemLevel',
type: 'text',
width: 60,
},
{
title: '<%= localeMessage.getString("standardLayout.itemType") %>',
name: 'itemType',
type: 'dropdown',
source: itemTypes,
width: 80,
},
{
title: '<%= localeMessage.getString("standardLayout.arraySize") %>',
name: 'arraySize',
type: 'text',
width: 60,
},
{
title: '<%= localeMessage.getString("standardLayout.fieldType") %>',
name: 'fieldType',
type: 'dropdown',
source: fieldTypes,
width: 100,
},
{
title: '<%= localeMessage.getString("standardLayout.dataLength") %>',
name: 'dataLength',
type: 'numeric',
width: 70,
align: 'center',
},
{
title: '<%= localeMessage.getString("standardLayout.dataType") %>',
name: 'dataType',
type: 'dropdown',
source: dataTypes,
width: 100,
},
{
title: '<%= localeMessage.getString("standardLayout.refFieldPath") %>',
name: 'refFieldPath',
type: 'text',
align: 'left',
width: 180,
},
{
title: '<%= localeMessage.getString("standardLayout.refValue") %>',
name: 'refValue',
type: 'text',
align: 'left',
width: 80,
},
{
title: '<%= localeMessage.getString("standardLayout.defaultValue") %>',
name: 'defaultValue',
type: 'text',
align: 'left',
width: 180,
}
];
const toolbarHtml='<button type="button" class="cssbtn smallBtn" id="btn_item_add" onClick="itemAdd()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">add</i><%= localeMessage.getString("common.itemAdd") %></button>'
+ '<button type="button" class="cssbtn smallBtn" id="btn_item_delete" onClick="itemDel()" style="margin-right:5px; vertical-align:middle; font-weight:bold;"><i class="material-icons">delete</i><%= localeMessage.getString("common.itemRemove") %></button>'
+'<br/>';
for (let i = 0; i < columns.length; i++) {
columnNames[i] = columns[i].name;
}
grid = defaultEditGrid($('#editGrid'), columns, toolbarHtml, 'itemLevel', layoutData.rows);
initDialog();
}
function itemDel(){
const selectionRows = grid.getSelectedRows();
if(selectionRows){
const idx = selectionRows[0].rowIndex - 1;
const len = selectionRows.length;
grid.deleteRow(idx, len);
}
}
function closeAddRowDialog(){
$( '#add_row_dialog' ).dialog("close");
}
function addNewRow(){
var cnt = $("input[name=add_row_count]").val();
if(cnt == "" || cnt == undefined) return;
const ncnt = Number(cnt);
if (grid.getJson().length == 0){
const ncnt = Number(cnt) -1;
grid.setData([{}]);
if (ncnt !=0){
grid.insertRow(ncnt);
}
}else{
const ncnt = Number(cnt);
grid.insertRow(ncnt);
}
$( '#add_row_dialog' ).dialog("close");
closeAddRowDialog();
}
function initDialog(){
$( '#add_row_dialog' ).dialog({
resizable: false,
autoOpen: false,
height: "auto",
width: 400,
modal: true,
buttons: {
"Add": function() {
addNewRow();
},
Cancel: function() {
closeAddRowDialog();
}
}
});
$("input[name=add_row_count]").keydown(function(key){
if (key.keyCode == 13){
addNewRow();
}
});
}
function itemAdd(){
grid.resetSelection();
$("input[name=add_row_count]").val("");
$( '#add_row_dialog' ).dialog("open");
}
$(document).ready(function() {
var layoutName ="${param.layoutName}";
if (layoutName != "" && layoutName !="null"){
isDetail = true;
$("input[name=layoutName]").attr('readonly',true);
}else{
$("#btn_deploy").hide();
}
//신규
if(!layoutName){
$('#writerName').val(userId);
initializeEditGrid({rows:[]});
}else {
detail(layoutName);
}
$("#btn_modify").click(function(){
var postData = $('#ajaxForm').serializeArray();
if (isDetail){
postData.push({ name: "cmd" , value:"UPDATE"});
}else{
postData.push({ name: "cmd" , value:"INSERT"});
}
for ( var i = 0; i < postData.length; i++) {
var field = postData[i];
if(field.name == 'createDatetime' || field.name == 'updateDatetime'){
field.value = $("input[name="+field.name+"]").attr('timestamp');
}
}
var data = grid.getData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
const row = data[i];
const inputRow = {};
for (let j = 0; j < row.length; j++) {
const columnName = columnNames[j];
let value = String(row[j]);
if(value == null || value == ''){
switch (columnName){
case 'itemLevel': value = '1'; break;
case 'itemType': value = '2'; break;
case 'arraySize': value = '1'; break;
case 'fieldType': value = '1'; break;
case 'dataLength': value = '0'; break;
case 'dataType': value = '1'; break;
}
}
if(value == ''){
value = null;
}
inputRow[columnName] = value
}
const index = String(i+1);
inputRow['itemKey'] = { layoutName, itemNo: index};
gridData.push(inputRow);
}
postData.push({
name : "gridData",
value : JSON.stringify(gridData)
});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_deploy").click(function(){
if(confirm("<%= localeMessage.getString("standardLayout.message1") %>".formatLocale($("input[name=layoutName]").val()))){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DEPLOY"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%= localeMessage.getString("standardLayout.message2") %>".formatLocale($("input[name=layoutName]").val()));
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_delete").click(function(){
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = $('#ajaxForm').serializeArray();
postData.push({ name: "cmd" , value:"DELETE"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.deleteMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
});
$("#btn_previous").click(function(){
if(isPop == "true")
window.close();
else
goNav(returnUrl);//LIST로 이동
});
$("#btn_initialize").click(function(){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZE',layoutName:$("input[name=layoutName]").val()},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
gridToExcelSubmit(url_excel,"LIST_GRID_TO_EXCEL",$("#tree"),$("#ajaxForm2"),$("input[name=layoutName]").val());
return false;
});
buttonControl(isDetail);
//titleControl(isDetail);
setBtnHide(roleString, "admin", "btn_initialize");
setBtnHide(roleString, "admin", "btn_modify");
$('body').css("overflow-x","hidden");
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div id="content_middle" class="content_middle">
<div class="search_wrap">
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" status="DETAIL" />--%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/>--%>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="R" status="DETAIL,NEW"/>--%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/>--%>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL" ><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button><!-- 삭제 -->
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL" ><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button><!-- 수정 -->
<button type="button" class="cssbtn" id="btn_deploy" level="W" status="DETAIL" ><i class="material-icons">system_update_alt</i> <%= localeMessage.getString("button.deploy") %></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"><%= localeMessage.getString("standardLayout.title") %></div>
<form id="ajaxForm">
<div class="table_row_title" style="display: inline;margin-bottom: -8px;"><%= localeMessage.getString("standardLayout.subTitle1") %></div>
<table class="table_row" cellspacing="0">
<tr>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutName") %></th>
<td style="width:25%; min-width: 200px;"><input type="text" name="layoutName"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.layoutDesc") %></th>
<td colspan="3"><input type="text" name="layoutDesc"/> </td>
</tr>
<tr>
<th><%= localeMessage.getString("standardLayout.writerName") %></th>
<td><input type="text" id="writerName" name="writerName" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.createDatetime") %></th>
<td><input type="text" name="createDatetime" readonly="true"/> </td>
<th style="width:10%; min-width: 130px;"><%= localeMessage.getString("standardLayout.updateDatetime") %></th>
<td><input type="text" name="updateDatetime" readonly="true"/> </td>
</tr>
</table>
<div class="table_row_title" style="display: inline;"><%= localeMessage.getString("standardLayout.subTitle2") %></div>
<div id="editGrid"></div>
</form>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
<div id="add_row_dialog" title="<%= localeMessage.getString("standardLayout.appendRow") %>">
<%= localeMessage.getString("common.countAppendRow") %> : <input type="text" name="add_row_count" style="width:30px" />
</div>
</body>
</html>
@@ -0,0 +1,552 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%@ page import="com.eactive.eai.rms.common.context.MonitoringContext"%>
<%@ page import="com.eactive.eai.rms.common.util.CommonUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
MonitoringContext monitoringContext = (MonitoringContext)CommonUtil.getBean(request, "monitoringContext");
String deployYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_RMS, "N");
boolean deployYn = "Y".equalsIgnoreCase(deployYnStr);
String adminOnlyYnStr = monitoringContext.getStringProperty(MonitoringContext.IOMAP_DEPLOY_YN_BY_ADMIN_ONLY, "Y");
boolean adminOnly = "Y".equalsIgnoreCase(adminOnlyYnStr);
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script>
var url = '<c:url value="/onl/admin/rule/transform2/transform2Man.json" />';
var url_view = '<c:url value="/onl/admin/rule/transform2/transform2Man.view" />';
var url_excel= '<c:url value="/onl/admin/rule/transform2/transform2Man.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
var stageSvr = <%=SystemUtil.isStagingServer()%>;
var adminOnly = <%=adminOnly%>;
$(document).ready(function() {
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : postData,
colNames:[
'<%=localeMessage.getString("transformMan.eaibzwkdstcd")%>',
'<%=localeMessage.getString("transformMan.telCngMappCd")%>',
'<%=localeMessage.getString("transformMan.telCngMappDesc")%>',
'<%=localeMessage.getString("transformMan.ifSvcCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcDesc")%>',
'<%=localeMessage.getString("transformMan.eaiSvrDiv")%>',
'<%= localeMessage.getString("combo.useYn")%> ',
'<%=localeMessage.getString("transformMan.modifyDate")%>',
'<%=localeMessage.getString("transformMan.verInfo")%>',
'cnvsnType',
'flag'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false , width:"30"},
{ name : 'CNVSNNAME' , align:'left' , width:"100" },
{ name : 'CNVSNDESC' , align:'left' , width:"100" },
{ name : 'EAISVCNAME' , align:'left' , width:"70" },
{ name : 'EAISVCDESC' , align:'left' , width:"100"},
{ name : 'EAISEVRDSTCD' , hidden : true },
{ name : 'USEYN', align:'center', width:30 ,editoptions:{value:"0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"}, formatter:"select"},
{ name : 'LASTAMNDHMS' , align:'center' , width : "60" },
{ name : 'VERINFO' , align:'center' , width : "30" },
{ name : 'CNVSNTYPE' , hidden : true },
{ name : 'FLAG' , hidden : true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
// height : '500',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
//toppager: true,
rowList : eval('[${rmsDefaultRowList}]'),
multiselect: true,
multiboxonly: false,
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var cnvsnName = rowData['CNVSNNAME'];
var eaiSvcName = rowData['EAISVCNAME'];
var eaiSvcDesc = rowData['EAISVCDESC'];
var cnvsnDesc = rowData['CNVSNDESC'];
var eaiSevrDStcd = rowData['EAISEVRDSTCD'];
var useYn = rowData['USEYN'];
var verInfo = rowData['VERINFO'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&cnvsnName='+cnvsnName;
url2 += '&eaiSvcName='+eaiSvcName;
//url2 += '&eaiSvcDesc='+eaiSvcDesc;
url2 += '&eaiSvcDesc='+encodeURIComponent(eaiSvcDesc);
url2 += '&cnvsnDesc='+cnvsnDesc;
url2 += '&eaiSevrDStcd='+eaiSevrDStcd;
url2 += '&useYn='+useYn;
url2 += '&verInfo='+verInfo;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=NEW';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['CNVSNNAME']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("변환매핑코드가 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("<%=localeMessage.getString("eaiMessage.confirm2")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$('#btn_clone').click(onclickBtnClone);
$("#btn_delete").click(function(){
var id = "grid";
var cnvsnNameArr = new Array();
var eaiSvcNameArr = new Array();
var cnvsnTypeArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
cnvsnNameArr.push(rowObject['CNVSNNAME']);
eaiSvcNameArr.push(rowObject['EAISVCNAME']);
cnvsnTypeArr.push(rowObject['CNVSNTYPE']);
chkcnt++;
}
}
if(chkcnt == 0){
alert("<%= localeMessage.getString("standardLayout.message4") %>");
return false;
}
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE_LIST"});
postData.push({ name: "cnvsnNames" , value : cnvsnNameArr});
postData.push({ name: "eaiSvcNames" , value : eaiSvcNameArr});
postData.push({ name: "cnvsnTypes" , value : cnvsnTypeArr});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
alert(json.message);
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'transform');
return false;
});
buttonControl();
setBtnHide(roleString, "admin", "btn_initialize");
if(devSvr || stageSvr){
if (adminOnly) {
setBtnHide(roleString, "admin", "btn_clone");
}
}else{
$("#btn_clone").hide();
}
//setBtnControl(roleString, "admin", "btn_cmsave");
//if(!devSvr){
// $("#btn_cmsave").hide();
//}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if (chkcnt == 0) {
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return;
}
var validEAIBzwkDstCd = 'NONE';
var cnvsnNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var cnvsnName = $('#grid').getCell(sel[i], 'CNVSNNAME');
if(cnvsnName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준오류 변환매핑은 업무 CM 대상이 아닙니다.["+cnvsnName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
cnvsnNames = cnvsnName;
} else {
cnvsnNames += ','+ cnvsnName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
addCMResource(validEAIBzwkDstCd, args.returnValue, cnvsnNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, cnvsnNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, cnvsnNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['cnvsnNames'] = cnvsnNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
function onclickBtnClone() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
if (sel.length == 0) {
alert('<%= localeMessage.getString("eaiMessage.alert17")%>');
return;
}
var selectedTransformNames = [];
$(sel).each(function(index, i) {
var cnvsnName = $('#grid').getCell(i, 'CNVSNNAME');
selectedTransformNames.push(cnvsnName);
});
var url2 = url_view;
url2 += "?cmd=POPUP CALENDAR";
var args = new Object();
args['selectedCnvsnName'] = selectedTransformNames.join(',');
showModal(url2,args,540,270, function(arg){
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
deployTransforms(args.returnValue);
});
}
function deployTransforms(ret) {
var params = ret;
params['cmd'] = 'CLONETOPROD';
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
list($("#grid").getGridParam("page"));
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<% if (SystemUtil.isDevServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyStage") %></button>
<% } else if (SystemUtil.isStagingServer() && deployYn) { %>
<button type="button" class="cssbtn" id="btn_clone" level="W"><i class="material-icons">move_up</i> <%= localeMessage.getString("button.copyProd") %></button>
<% } %>
<button type="button" class="cssbtn" id="btn_excel" level="W" status="DETAIL"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<!-- img src="<c:url value="/img/btn_cmsave.png"/>" id="btn_cmsave" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("transformMan.title")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappCd")%> </th>
<td>
<input type="text" name="searchCnvsnName" value="${param.searchCnvsnName}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.eaibzwkdstcd")%> </th>
<td>
<input type="text" name="searchBizCode" value="${param.searchBizCode}">
</td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappDesc")%> </th>
<td>
<input type="text" name="searchCnvsnDesc" value="${param.searchCnvsnDesc}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.ifSvcCd")%> </th>
<td>
<input type="text" name="searchIfSvcCd" value="${param.searchIfSvcCd}">
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,133 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var cnvsnName = "${param.cnvsnName}";
var tgt_layout = "${param.tgt_layout}"
var src_layout = "${param.src_layout}"
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
function messageFormater(cellvalue, options, rowObject){
var srcFlag = rowObject["SRCEXIST"];
var tgtFlag = rowObject["TGTEXIST"];
var message = "";
if(srcFlag!="O"){
message = "변환명령의 경로와 소스레이아웃의 경로가 다릅니다.";
}
if(tgtFlag!="O"){
message += "변환결과 항목경로와 타겟레이아웃의 경로가 다릅니다.";
}
return message;
}
$(document).ready(function() {
$("input[name=cnvsnName]").val(cnvsnName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : { cmd : 'DETAIL_POP'
, cnvsnName : cnvsnName
, tgt_layout : tgt_layout
, src_layout : src_layout
},
colNames:[
'변환결과 항목경로명',
'변환명령',
'항목 기본값',
'항목 일련번호',
'타겟Flag',
'소스Flag',
'<%=localeMessage.getString("tranManDtPop.errMsg")%>'
],
colModel:[
{ name : 'CNVSNRSULTITEMPATHNAME' , align:'left' },
{ name : 'CNVSNCMDNAME' , align:'left' },
{ name : 'CNVSNITEMBASCVAL' , align:'left' ,width : '30'},
{ name : 'CNVSNITEMSERNO' , align:'right' ,width : '30' },
{ name : 'TGTEXIST' , hidden:true },
{ name : 'SRCEXIST' , hidden:true },
{ name : 'MESSAGE' ,formatter :messageFormater , width : '80'}
],
jsonReader : {
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var tgtVal = $("#grid").getCell(rows[i],'TGTEXIST');
var srcVal = $("#grid").getCell(rows[i],'SRCEXIST');
if(tgtVal !="O" || srcVal !="O"){
$("#"+rows[i]).find("td").css("background-color","#FFCC99");
}
}
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_close").click(function(){
window.close();
});
$("body").css("overflow-x","hidden");
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/>
</div>
<div class="title">변환매핑항목 상세</div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:180px;">변환매핑 코드</th>
<td>
<input type="text" name="cnvsnName" readonly>
</td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,143 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var loutName = window.dialogArguments["loutName"];
var url ='<c:url value="/onl/admin/rule/transform2/transform2Man.json" />';
$(document).ready(function() {
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : '<c:url value="/onl/admin/rule/transform2/transform2Man.json" />',
postData : { cmd : 'LIST_LAYOUT'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%=localeMessage.getString("tran2ManLay.bizClaCd")%>',
'<%=localeMessage.getString("tran2ManLay.bizClaNm")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayCd")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayDesc")%>',
'<%=localeMessage.getString("tran2ManLay.msgLayTpNm")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' , width:'60' , sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' , width:'100' },
{ name : 'LOUTNAME' , align:'left' , width:'160' },
{ name : 'LOUTDESC' , align:'left'},
{ name : 'LOUTPTRNNAME' , align:'center' , width:'70' }
],
jsonReader : {
repeatitems : false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_LAYOUT"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<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_close" level="R" ><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> --%>
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
</div>
<div class="title"><%=localeMessage.getString("tran2ManLay.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;"><%=localeMessage.getString("tran2ManLay.bizClaCd")%></th>
<td style="width:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;"><%=localeMessage.getString("tran2ManLay.msgLayCd")%></th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th><%=localeMessage.getString("tran2ManLay.msgLayDesc")%></th>
<td colspan="3"><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,207 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<%
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var $ = jQuery.noConflict();
var bzwkDstCd = "";
var returnUrl = getReturnUrlForReturn();
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
function init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_EAISVCNAME_COMBO'},
success:function(json){
var cnvsnTypeData = json.cnvsnTypeRows;
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnType]")).setData(cnvsnTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
$("input[name=eaiSvcName]").focus();
var url ='<c:url value="/onl/admin/rule/transform2/transform2Man.json" />';
init(url);
$("#btn_regist").click(function(){
if(!$("input[name='eaiSvcName']").val()){
alert("<%=localeMessage.getString("transformMan.alert1")%>");
return;
}
var postData = $('#ajaxForm').serializeArray();
$("select[name=eaiSevrDstcd]").attr("disabled",false);
var eaiSevrDstcd = $("select[name=eaiSevrDstcd]").val();
// 서버구분코드 없고, role이 admin일때 서버구분코드 9로 셋팅
if((eaiSevrDstcd=='' || eaiSevrDstcd ==null) && roleString=='admin'){
eaiSevrDstcd = '9';
}
postData.push({ name: "cmd" , value:"INSERT"},{name : "eaiSevrDstcd", value : eaiSevrDstcd},{name : "verInfo", value : "00000"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
}
});
});
$("#btn_search").click(function(){
var key = "";
var args = new Object();
args['eaiSvcName'] = $('input[name=eaiSvcName]').val();
var url='<c:url value="/onl/transaction/extnl/interfaceMan.view"/>';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1020,630, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
console.log("ret",ret);
key = ret['key'];
$("input[name=eaiSvcName]").val(key);
$("input[name=eaiSvcDesc]").val(ret['eaiSvcDesc']);
bzwkDstCd = ret['eaiBzwkDstCd'];
$("input[name=eaiSvcName]").change();
//$("select[name=eaiSevrDstcd]").val(ret['eaiSevrDstcd']);
//$("select[name=eaiSevrDstcd]").attr("disabled",true);
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("input[name=eaiSvcName],select[name=cnvsnType]").change(function(){
var eaiSvcName = $("input[name=eaiSvcName]").val();
var idx = eaiSvcName.length;
eaiSvcName = eaiSvcName.substring(0,idx-2);
var str = "TRANSFORM_"+bzwkDstCd.trim()+"_"+eaiSvcName+"_"+$("select[name=cnvsnType]").val();
$("input[name=cnvsnName]").val(str);
var str2 = $("input[name=eaiSvcDesc]").val();
$("textarea[name=cnvsnDesc]").val(str2);
});
$("input[name=eaiSvcName]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_regist" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></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>
<%-- <img src="<c:url value="/img/btn_regist.png"/>" alt="" id="btn_regist" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%=localeMessage.getString("transformMan.titleNew")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltipNew")%></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:14%; min-width:130px;"><%=localeMessage.getString("transformMan.ifSvcCd")%> </th>
<td style="width:31%;">
<input type="text" name="eaiSvcName" style="width:60%;" readonly> <!-- <img id="btn_search" src="<c:url value="/img/btn_pop_search.png" />" level="R" class="btn_img" /> -->
<button type="button" class="cssbtn smallBtn2" id="btn_search" style="vertical-align:middle; font-weight:bold;" level="R"><i class="material-icons">search</i><%= localeMessage.getString("button.search") %></button>
</td>
<th style="width:14%; min-width:130px;"><%=localeMessage.getString("transformMan.ifSvcDesc")%></th>
<td style="width:41%;">
<input type="text" name="eaiSvcDesc" readOnly>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.eaiSvrDiv")%></th>
<td>
<div class="select-style">
<select name="eaiSevrDstcd" />
</div>
</td>
<th style="width:13%; min-width:130px;"><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="useYn" />
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.cnvsnType")%></th>
<td>
<div class="select-style">
<select name="cnvsnType" />
</div>
</td>
<th><%=localeMessage.getString("transformMan.telCngMappCd")%></th>
<td><input type="text" name="cnvsnName" readonly="readonly"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.cnvsnDesc")%></th><td colspan="3"><textarea name="cnvsnDesc" style="width:100%;height:50px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,87 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<style type="text/css">
.img_pointer { cursor:pointer; }
</style>
<script type="text/javascript">
var cnvsnNames = window.dialogArguments['selectedCnvsnName'];
$(document).ready(function() {
$("input[name=cmDate]").inputmask("yyyy-mm-dd",{'autoUnmask':true}).val(getToday());
$("input[name=cmTime]").inputmask("hh:mm:ss",{'autoUnmask':true}).val('10:00:00');
$('#btn_operate').click(operate);
$("#btn_close").click(function(){
window.close();
});
});
function operate() {
if (jQuery.trim($(':text[name=cmTitle]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.name")%>');
return;
}
if (jQuery.trim($(':text[name=cmDate]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmDate")%>');
return;
}
if (jQuery.trim($(':text[name=cmTime]').val()) == '') {
alert('<%=localeMessage.getString("ruleDeploy.alert.cmTime")%>');
return;
}
if (!confirm('<%=localeMessage.getString("ruleDeploy.confirm.mappings")%>')) {
return;
}
var value = {
'CmTitle': $(':text[name=cmTitle]').val(),
'CmDate': $(':text[name=cmDate]').val(),
'CmTime': $(':text[name=cmTime]').val(),
'ListTransformName': cnvsnNames
}
window.returnValue = value;
window.close();
}
</script>
</head>
<body>
<div class="popup_box">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_operate" level="W" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">play_circle</i> <%= localeMessage.getString("button.execute") %></button>
<button type="button" class="cssbtn" id="btn_close" level="R" status="DETAIL,NEW" style="min-width:75px;"><i class="material-icons">close</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%=localeMessage.getString("ruleDeploy.title.mappings")%></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmTitle")%></th>
<td><input type="text" name="cmTitle"/></td>
</tr>
<tr>
<th style="width:32%;"><%=localeMessage.getString("ruleDeploy.cmDate")%></th>
<td><input type="text" name="cmDate"/></td>
</tr>
<tr>
<th><%=localeMessage.getString("ruleDeploy.cmTime")%></th>
<td><input type="text" name="cmTime"/></td>
</tr>
</table>
<small>* <%=localeMessage.getString("ruleDeploy.msg1")%></small><br>
<small>* <%=localeMessage.getString("ruleDeploy.msg3")%></small>
</form>
</div><!-- end.popup_box -->
</body>
</html>
@@ -0,0 +1,172 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/transformFuncMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformFuncMan.view" />';
var select_CNVSNFUNTNRETUNPTRNIDNAME = new Array();
var select_CNVSNFUNTNPTRNIDNAME = new Array();
function init( callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
select_CNVSNFUNTNRETUNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.returnTypeList);
select_CNVSNFUNTNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.typeList);
//debugger;
if (typeof callback === 'function') {
callback();
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail(){
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : gridPostData,
colNames:['<%= localeMessage.getString("transformFunc.func") %>',
'<%= localeMessage.getString("transformFunc.funcRefType") %>',
'<%= localeMessage.getString("transformFunc.funcClass") %>',
'<%= localeMessage.getString("transformFunc.funcType") %>'
],
colModel:[
{ name : 'CNVSNFUNTNNAME' , align:'left' ,width:75 ,sortable:false },
{ name : 'CNVSNFUNTNRETUNPTRNIDNAME' , align:'left' ,width:50 , edittype:'select',editoptions:select_CNVSNFUNTNRETUNPTRNIDNAME, formatter:"select"},
{ name : 'CNVSNFUNTNCLSNAME' , align:'left' },
{ name : 'CNVSNFUNTNPTRNIDNAME' , align:'left' ,width:50 , edittype:'select',editoptions:select_CNVSNFUNTNPTRNIDNAME, formatter:"select"}
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['CNVSNFUNTNNAME'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
//key값
url2 += '&cnvsnFuntnName='+encodeURIComponent(key);
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
}
});
resizeJqGridWidth('grid','content_middle','1000');
}
$(document).ready(function() {
init(detail);
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page=1';
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%= localeMessage.getString("transformFunc.title") %><span class="tooltip"><%= localeMessage.getString("transformFunc.tooltip") %></span></div>
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%= localeMessage.getString("transformFunc.search") %></th>
<td>
<input type="text" name="searchCnvsnFuntnName" value="${param.searchCnvsnFuntnName}">
</td>
</tr>
</tbody>
</table>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,363 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp" />
<jsp:include page="/jsp/common/include/script.jsp" />
<script language="javascript">
var url = '<c:url value="/onl/admin/rule/transformFuncMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformFuncMan.view" />';
var select_CNVSNFUNTNRETUNPTRNIDNAME = new Array();
var isDetail = false;
var lastsel2;
function isValid() {
if ($('input[name=prptyGroupDesc]').val() == "") {
alert("프라퍼티 그룹 설명을 입력하여 주십시요.");
return false;
}
return true;
}
function isValidGrid() {
if ($('input[name=prptyName]').val() == "") {
alert("프러퍼티 키를 입력하여 주십시요.");
return false;
} else if ($('input[name=prpty2Val]').val() == "") {
alert("프러퍼티 값 입력하여 주십시요.");
return false;
}
//중복체크
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
for ( var i = 0; i < data.length; i++) {
if (data[i]['PRPTYNAME'] == $('input[name=prptyName]').val()) {
alert("증복된 프라퍼티키가 존재합니다. 확인하여주십시요.");
return false;
}
}
return true;
}
function unformatterFunction(cellvalue, options, rowObject) {
return "";
}
function formatterFunction(cellvalue, options, rowObject) {
var rowId = options["rowId"];
return "<img id='btn_pop_delete' name='img_"+rowId+"' />";
}
function gridRendering() {
$('#grid').jqGrid({
datatype:"local",
loadonce: true,
rowNum: 10000,
editurl : "clientArray",
colNames : [ 'cnvsnFuntnName'
,'<%= localeMessage.getString("transformFuncDetail.serno") %>'
,'<%= localeMessage.getString("transformFuncDetail.parameter") %>'
,'<%= localeMessage.getString("transformFuncDetail.funcParamType") %>'
,'<%= localeMessage.getString("transformFuncDetail.funcParamDesc") %>' ],
colModel : [
{ name : 'CNVSNFUNTNNAME' , hidden:true },
{ name : 'CNVSNFUNTNPARMSERNO' , align : 'center' ,key:true},
{ name : 'CNVSNFUNTNPARMNAME' , align : 'left', editable : true },
{ name : 'CNVSNFUNTNPARMPTRNIDNAME' , align : 'center',editable:true, edittype:'select',editoptions:select_CNVSNFUNTNRETUNPTRNIDNAME, formatter:"select"/*, unformat : unformatterFunction, formatter : formatterFunction */},
{ name : 'CNVSNFUNTNPARMDESC' , align : 'left', editable : true }],
jsonReader : {
repeatitems : false
},
loadComplete : function() {
},
onSelectRow: function(rowid,status){
if (lastsel2 !=undefined){
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
}
$('#grid').restoreRow(lastsel2);
$('#grid').editRow(rowid,true);
lastsel2=rowid;
},
onSortCol : function(){
return 'stop'; //정렬 방지
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},
height : '500',
autowidth : true,
//autoheight : true,
viewrecords : true
});
resizeJqGridWidth('grid', 'title', '1000');
}
function init( key, callback) {
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_COMBO'},
success:function(json){
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnFuntnRetunPtrnIdName]")).setData(json.returnTypeList).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnFuntnPtrnIdName]")).setData(json.typeList).setFormat(codeName3OptionFormat).rendering();
select_CNVSNFUNTNRETUNPTRNIDNAME['value'] = ": ;"+getGridSelectText("CODE","NAME",json.returnTypeList);
gridRendering();
if (typeof callback === 'function') {
callback(key);
}
},
error:function(e){
alert(e.responseText);
}
});
}
function detail( key) {
if (!isDetail)
return;
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : {
cmd : 'DETAIL',
cnvsnFuntnName : key
},
success : function(json) {
var data = json.parameters;
var detail = json;
$("input[name=cnvsnFuntnName]").attr('readonly', true);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
if(detail != null)
$(tag+"[name="+name+"]").val(detail[name.toUpperCase()]);
});
$("#grid")[0].addJSONData(data);
$("img[name*=img]").click(function() {
var name = $(this).attr("name");
var rowId = name.split("_")[1];
$('#grid').jqGrid('delRowData', rowId);
});
},
error : function(e) {
alert(e.responseText);
}
});
}
$(document).ready(function() {
var returnUrl = getReturnUrlForReturn();
var key = "${param.cnvsnFuntnName}";
if (key != "" && key != "null") {
isDetail = true;
key = decodeURIComponent(key);
}
init( key, detail);
$("#btn_modify").click(function() {
if($("#grid tr#" + lastsel2).attr("editable") == 1){ //editable=1 means row in edit mode
$("#grid").saveRow(lastsel2,false,"clientArray");
}
var data = $("#grid").getRowData();
var gridData = new Array();
for ( var i = 0; i < data.length; i++) {
gridData.push(data[i]);
}
//공통부만 form으로 구성
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "parameters",
value : JSON.stringify(gridData)
});
if (isDetail) {
postData.push({
name : "cmd",
value : "UPDATE"
});
} else {
postData.push({
name : "cmd",
value : "INSERT"
});
}
if ( confirm( '<%=localeMessage.getString("common.checkModify")%>' ) != true ) return;
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("<%= localeMessage.getString("common.saveMsg") %>");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_delete").click(function() {
var postData = $('#ajaxForm').serializeArray();
postData.push({
name : "cmd",
value : "DELETE"
});
$.ajax({
type : "POST",
url : url,
data : postData,
success : function(args) {
alert("삭제 되었습니다.");
goNav(returnUrl);//LIST로 이동
},
error : function(e) {
alert(e.responseText);
}
});
});
$("#btn_previous").click(function() {
goNav(returnUrl);//LIST로 이동
});
$("#btn_new").click(function() {
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
var data = new Object();
var rowid = index + 1;
data['CNVSNFUNTNNAME'] = $("input[name=cnvsnFuntnName]").val();
data['CNVSNFUNTNPARMSERNO'] = rowid;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : data,
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
$("#grid").saveRow(rowid,false,"clientArray");
});
$("#btn_delete2").click(function() {
var rowId = $("#grid").jqGrid('getGridParam', 'selrow');
if (isNull(rowId)){
alert('삭제할 데이터를 선택해 주세요.!');
return ;
}
$("#grid").jqGrid('delRowData',rowId);
var old = new Array();
var ids = $("#grid").getDataIDs();
for(var i=0;i<ids.length;i++ ){ //남은 갯수
old[i] = $("#grid").getRowData(ids[i]);
}
$("#grid").jqGrid('clearGridData'); //전체삭제
for(var i=0;i<old.length;i++ ){ //재정렬할 갯수
old[i].id = i+1;
old[i].CNVSNFUNTNPARMSERNO = i+1;
$("#grid").addRowData(old[i].id,old[i]);
}
$("#grid").jqGrid('resetSelection');
});
buttonControl(key);
titleControl(key);
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="title">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_modify" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></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>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_modify.png"/>" alt="" id="btn_modify" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%= localeMessage.getString("transformFuncDetail.title") %></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:20%;"><%= localeMessage.getString("transformFuncDetail.func") %></th>
<td><input type="text" name="cnvsnFuntnName" />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcRefType") %></th>
<td><div class="select-style"><div class="select-style"><select name="cnvsnFuntnRetunPtrnIdName" /></div></td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcType") %></th>
<td><div class="select-style"><div class="select-style"><select name="cnvsnFuntnPtrnIdName" /></div></td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.funcClass") %></th>
<td><input type="text" name="cnvsnFuntnClsName" />
</td>
</tr>
<tr>
<th><%= localeMessage.getString("transformFuncDetail.typeDesc") %></th>
<td><textarea type="text" name="cnvsnFuntnDesc" ></textarea>
</td>
</tr>
</table>
</form>
<div style="position:relative; margin-bottom:15px;">
<div class="table_row_title"><%= localeMessage.getString("transformFuncDetail.subTitle") %></div>
<div style="position:absolute; right:0; top:0;">
<button type="button" class="cssbtn" id="btn_new" level="W" status="DETAIL,NEW"><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_delete2" level="W" status="DETAIL,NEW"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<%-- <img id="btn_new" src="<c:url value="/img/btn_new.png" />" level="W" status="DETAIL,NEW" class="btn_img" /> --%>
<%-- <img id="btn_delete2" src="<c:url value="/img/btn_delete.png"/>" level="W" status="DETAIL,NEW" class="btn_img" /> --%>
</div>
</div>
<!-- grid -->
<table id="grid"></table>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,485 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%@ page import="com.eactive.eai.common.util.SystemUtil"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var url = '<c:url value="/onl/admin/rule/transformMan.json" />';
var url_view = '<c:url value="/onl/admin/rule/transformMan.view" />';
var url_excel= '<c:url value="/onl/admin/rule/transformMan.excel"/>';
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
var devSvr = <%=SystemUtil.isDevServer()%>;
function dateFormater(cellvalue, options, rowObject){
if (cellvalue==null|| cellvalue==undefined) return "";
if (cellvalue.trim().length < 14) return "";
var display = "";
display=display+cellvalue.substr(0,4)+"-";
display=display+cellvalue.substr(4,2)+"-";
display=display+cellvalue.substr(6,2)+" ";
display=display+cellvalue.substr(8,2)+":";
display=display+cellvalue.substr(10,2)+":";
display=display+cellvalue.substr(12,2);
return display;
}
$(document).ready(function() {
$('#grid').jqGrid({
datatype:"json",
mtype: 'POST',
url: url,
postData : { cmd : 'LIST'
, searchBizCode : $('input[name=searchBizCode]').val()
, searchCnvsnName : $('input[name=searchCnvsnName]').val()
, searchCnvsnDesc : $('input[name=searchCnvsnDesc]').val()
},
colNames:[
'<%=localeMessage.getString("transformMan.eaibzwkdstcd")%>',
'<%=localeMessage.getString("transformMan.telCngMappCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcCd")%>',
'<%=localeMessage.getString("transformMan.ifSvcDesc")%>',
'<%=localeMessage.getString("transformMan.eaiSvrDiv")%>',
'<%= localeMessage.getString("combo.useYn")%> ',
'<%=localeMessage.getString("transformMan.modifyDate")%>',
'<%=localeMessage.getString("transformMan.verInfo")%>',
'타입',
'flag'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'center' ,sortable:false , width : "40"},
{ name : 'CNVSNNAME' , align:'left' },
{ name : 'EAISVCNAME' , align:'left' },
{ name : 'EAISVCDESC' , align:'left' },
{ name : 'EAISEVRDSTCD' , hidden : true },
{ name : 'USEYN', align:'center', width:30,editoptions:{value:"0:<%= localeMessage.getString("combo.usen")%>;1:<%= localeMessage.getString("combo.usey")%>"}, formatter:"select"},
{ name : 'LASTAMNDHMS' , align:'center' , formatter: dateFormater, width : "70" },
{ name : 'VERINFO' , align:'center' , width : "70" },
{ name : 'CNVSNTYPE' , hidden : true },
{ name : 'FLAG' , hidden : true }
],
jsonReader: {
repeatitems:false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
// height : '500',
autoheight: true,
height: $("#container").height(),
autowidth: true,
viewrecords: true,
//toppager: true,
rowList : eval('[${rmsDefaultRowList}]'),
multiselect: true,
multiboxonly: false,
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadComplete:function (){
var ids=$("#grid").jqGrid('getDataIDs');
for(var i=0;i<ids.length;i++){
var rowObject = $("#grid").getRowData(ids[i]);
if(rowObject.FLAG=="X"){
var cbs = $("tr#"+ids[i]+".jqgrow>td>input.cbox",$("#grid")[0]);
cbs.attr("disabled","disabled");
}
}
},
beforeSelectRow:function(rowId,e){
var cbsdis = $("tr#"+rowId+".jqgrow>td>input.cbox:disabled",$("#grid")[0]);
if(cbsdis.length === 0){
return true;
}else{
return false;
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var cnvsnName = rowData['CNVSNNAME'];
var eaiSvcName = rowData['EAISVCNAME'];
var eaiSvcDesc = rowData['EAISVCDESC'];
var cnvsnDesc = rowData['CNVSNDESC'];
var eaiSevrDStcd = rowData['EAISEVRDSTCD'];
var useYn = rowData['USEYN'];
var verInfo = rowData['VERINFO'];
var url2 = url_view;
url2 += '?cmd=DETAIL';
url2 += '&page='+$(this).getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&' + getSearchUrl();
//key값
url2 += '&cnvsnName='+cnvsnName;
url2 += '&eaiSvcName='+eaiSvcName;
url2 += '&eaiSvcDesc='+eaiSvcDesc;
url2 += '&cnvsnDesc='+cnvsnDesc;
url2 += '&eaiSevrDStcd='+eaiSevrDStcd;
url2 += '&useYn='+useYn;
url2 += '&verInfo='+verInfo;
goNav(url2);
},loadError: function (jqXHR, textStatus, errorThrown) {
var location ='<%=request.getContextPath()%>/';
comloadError(jqXHR, textStatus, errorThrown ,location);
},onSelectAll:function(rowId,status){
if(status){
var cbs = $("tr.jqgrow>td>input.cbox:disabled",$("grid")[0]);
cbs.removeAttr("checked");
$("#grid")[0].p.selarrow = $("#grid").find("tr.jqgrow:has(td > input.cbox:checked)").map(function(){
return this.id;
}).get();
}else{
$("#grid")[0].p.selarrow = "";
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_new").click(function(){
var url2 = url_view;
url2 += '?cmd=NEW';
url2 += '&page='+$("#grid").getGridParam("page");
url2 += '&returnUrl='+getReturnUrl();
url2 += '&menuId='+'${param.menuId}';
//검색값
url2 += '&'+getSearchUrl();
goNav(url2);
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
$("#btn_initialize").click(function(){
var id = "grid";
var chkArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
chkArr.push(rowObject['CNVSNNAME']);
chkcnt++;
}
}
if(chkcnt == 0){
if(confirm("변환매핑코드가 선택되지 않았습니다. 전체 초기화 하겠습니까?")){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'INITIALIZES'},
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}
return false;
}else{
if(confirm("초기화 하시겠습니까?")){
var postData = [];
postData.push({ name: "cmd" , value:"LIST_INITIALIZE"});
postData.push({ name: "chkItems" , value : chkArr});
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:postData,
success:function(json){
alert(json.message);
},
error:function(e){
alert(e.responseText);
}
});
}else{
return false;
}
}
});
$('#btn_cmsave').click(onclickBtnCmSave);
$("#btn_delete").click(function(){
var id = "grid";
var cnvsnNameArr = new Array();
var eaiSvcNameArr = new Array();
var cnvsnTypeArr = new Array();
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_"+id+"_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
cnvsnNameArr.push(rowObject['CNVSNNAME']);
eaiSvcNameArr.push(rowObject['EAISVCNAME']);
cnvsnTypeArr.push(rowObject['CNVSNTYPE']);
chkcnt++;
}
}
if(chkcnt == 0){
alert("변환매핑을 선택해 주세요");
return false;
}
if(confirm("<%= localeMessage.getString("common.confirmMsg")%>")){
var postData = [];
postData.push({ name: "cmd" , value:"DELETE_LIST"});
postData.push({ name: "cnvsnNames" , value : cnvsnNameArr});
postData.push({ name: "eaiSvcNames" , value : eaiSvcNameArr});
postData.push({ name: "cnvsnTypes" , value : cnvsnTypeArr});
$.ajax({
type : "POST",
url : url,
dataType : "json",
data : postData,
success : function(json) {
alert(json.message);
$("#btn_search").click();
},
error : function(e) {
alert("error"+e.responseText);
}
});
}else{
return false;
}
});
$("#btn_excel").click(function(event) {
event.stopPropagation(); // Do not propagate the event.
// Create an object that will manage to download the file.
var target = "excelDown" ; // iframe의 name
//(url,cmd,gridObj,formObject,fileName,merge)
gridToExcelSubmit2(url_excel,"LIST_GRID_TO_EXCEL",$("#grid"),$("#ajaxForm"),'transform');
return false;
});
buttonControl();
setBtnHide(roleString, "admin", "btn_initialize");
//setBtnControl(roleString, "admin", "btn_cmsave");
if(!devSvr){
$("#btn_cmsave").hide();
}
});
function setBtnControl(roleString, condiVal, compoId)
{
var strRole = roleString;
var strVal = condiVal;
var arrRoleID = strRole.split(',');
var arrVal = strVal.split(',');
var flag = false;
$(arrRoleID).each(function(i, role) {
$(arrVal).each(function(j, val) {
if (role == val) {
flag = true;
return false;
}
});
});
if(flag)
$("#"+compoId).show();
else
$("#"+compoId).hide();
}
function onclickBtnCmSave() {
var sel = $('#grid').jqGrid('getGridParam', 'selarrrow');
var ids = $("#grid").jqGrid('getDataIDs');
var chkcnt = 0;
for(var i=0;i<ids.length;i++){
if($("input:checkbox[id='jqg_grid_"+ids[i]+"']").is(":checked")){
var rowObject = $("#grid").getRowData(ids[i]);
sel.push(ids[i]);
chkcnt++;
}
}
if (chkcnt == 0) {
alert('먼저 다운로드할 데이터를 체크해 주세요.');
return;
}
var validEAIBzwkDstCd = 'NONE';
var cnvsnNames = '';
for (var i=0; i<sel.length; i++) {
var eaiBzwkDstCd = ($('#grid').getCell(sel[i], 'EAIBZWKDSTCD')).replace(/^\s+|\s+$/g,"");
if (eaiBzwkDstCd == 'XXX' || eaiBzwkDstCd == '') {
continue;
}
var cnvsnName = $('#grid').getCell(sel[i], 'CNVSNNAME');
if(cnvsnName.indexOf("EAI_")!=-1){
if(roleString.indexOf("admin")==-1){
alert("EAI 표준오류 변환매핑은 업무 CM 대상이 아닙니다.["+cnvsnName+"]");
return;
}
}
if (validEAIBzwkDstCd == 'NONE') {
validEAIBzwkDstCd = eaiBzwkDstCd;
cnvsnNames = cnvsnName;
} else {
cnvsnNames += ','+ cnvsnName;
if (validEAIBzwkDstCd != eaiBzwkDstCd) {
alert('하나의 업무코드를 선택해야 합니다. \n\r예외:EAI, 업무구분코드 없음');
return;
}
}
}
var url2 = '<c:url value="/onl/admin/rule/layoutMan.view"/>';
/* if (validEAIBzwkDstCd == 'ESS' || validEAIBzwkDstCd == 'ISS') {
url2 += '?cmd=CM LIST POPUP EX';
} else {
url2 += '?cmd=CM LIST POPUP';
} */
url2 += '?cmd=CM LIST POPUP';
var args = new Object();
args['eaiBzwkDstCd'] = validEAIBzwkDstCd;
showModal(url2,args,540,400, function(arg){
var args = null;
if(arg == null || arg == undefined ) {
//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {
//ie
args = arg;
}
if( !args || !args.returnValue ) return;
addCMResource(validEAIBzwkDstCd, args.returnValue, cnvsnNames);
});
/*
//local test하기 위해서 변경함
var params = new Object();
params['CmId']='TST999999';
addCMResource(validEAIBzwkDstCd, params, cnvsnNames);
*/
}
function addCMResource(eaiBzwkDsdCd, obj, cnvsnNames) {
var params = new Object();
params['cmd'] = 'CHANGE_EXPORT';
params['eaiBzwkDstCd'] = eaiBzwkDsdCd;
params['cmId'] = obj.CmId;
params['cnvsnNames'] = cnvsnNames;
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:params,
success:function(json){
alert(json.message);
},
error:function(xhr,status,error){
if (xhr.responseText != null) {
try {
alert(JSON.parse(xhr.responseText).errorMsg);
} catch (e) {
alert(error);
}
}
}
});
}
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_excel" level="W" status="DETAIL"><i class="material-icons">table_view</i> <%= localeMessage.getString("button.excel") %></button>
<button type="button" class="cssbtn" id="btn_initialize" level="W" ><i class="material-icons">restart_alt</i> <%= localeMessage.getString("button.reset") %></button>
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL,NEW"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
<button type="button" class="cssbtn" id="btn_new" level="W" ><i class="material-icons">add</i> <%= localeMessage.getString("button.new") %></button>
<button type="button" class="cssbtn" id="btn_search" level="R" ><i class="material-icons">search</i> <%= localeMessage.getString("button.search") %></button>
<!-- img src="<c:url value="/img/btn_cmsave.png"/>" id="btn_cmsave" level="R" /-->&nbsp;&nbsp;&nbsp;
<%-- <img id="btn_excel" src="<c:url value="/img/btn_excel.png"/>" level="W" status="DETAIL"/> --%>
<%-- <img src="<c:url value="/img/btn_initialize.png"/>" alt="" id="btn_initialize" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_delete.png"/>" alt="" id="btn_delete" level="W" status="DETAIL,NEW"/> --%>
<%-- <img src="<c:url value="/img/btn_new.png"/>" alt="" id="btn_new" level="W" /> --%>
<%-- <img src="<c:url value="/img/btn_search.png"/>" alt="" id="btn_search" level="R" /> --%>
</div>
<div class="title"><%=localeMessage.getString("transformMan.title")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltip")%></span></div>
<form id="ajaxForm" onsubmit="return false;">
<table class="search_condition" cellspacing=0;>
<tbody>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappCd")%> </th>
<td>
<input type="text" name="searchCnvsnName" value="${param.searchCnvsnName}">
</td>
<th style="width:180px;"><%=localeMessage.getString("transformMan.eaibzwkdstcd")%> </th>
<td>
<input type="text" name="searchBizCode" value="${param.searchBizCode}">
</td>
</tr>
<tr>
<th style="width:180px;"><%=localeMessage.getString("transformMan.telCngMappDesc")%> </th>
<td colspan="3">
<input type="text" name="searchCnvsnDesc" value="${param.searchCnvsnDesc}">
</td>
</tr>
</tbody>
</table>
</form>
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,135 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var cnvsnName = "${param.cnvsnName}";
var tgt_layout = "${param.tgt_layout}"
var src_layout = "${param.src_layout}"
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
function messageFormater(cellvalue, options, rowObject){
var srcFlag = rowObject["SRCEXIST"];
var tgtFlag = rowObject["TGTEXIST"];
var message = "";
if(srcFlag!="O"){
message = "변환명령의 경로와 소스레이아웃의 경로가 다릅니다.";
}
if(tgtFlag!="O"){
message += "변환결과 항목경로와 타겟레이아웃의 경로가 다릅니다.";
}
return message;
}
$(document).ready(function() {
$("input[name=cnvsnName]").val(cnvsnName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : url,
postData : { cmd : 'DETAIL_POP'
, cnvsnName : cnvsnName
, tgt_layout : tgt_layout
, src_layout : src_layout
},
colNames:[
'<%=localeMessage.getString("tranManDtPop.conRsItPtNm")%>',
'<%=localeMessage.getString("tranManDtPop.conOrd")%>',
'<%=localeMessage.getString("tranManDtPop.ItDft")%>',
'<%=localeMessage.getString("tranManDtPop.itSrlNmb")%>',
'타겟Flag',
'소스Flag',
'<%=localeMessage.getString("tranManDtPop.errMsg")%>'
],
colModel:[
{ name : 'CNVSNRSULTITEMPATHNAME' , align:'left' },
{ name : 'CNVSNCMDNAME' , align:'left' },
{ name : 'CNVSNITEMBASCVAL' , align:'left' ,width : '30'},
{ name : 'CNVSNITEMSERNO' , align:'right' ,width : '30' },
{ name : 'TGTEXIST' , hidden:true },
{ name : 'SRCEXIST' , hidden:true },
{ name : 'MESSAGE' ,formatter :messageFormater , width : '80'}
],
jsonReader : {
repeatitems : false
},
rowNum : 10000,
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var rows = $(this).getDataIDs();
for( var i= 0; i < rows.length; i++){
var tgtVal = $("#grid").getCell(rows[i],'TGTEXIST');
var srcVal = $("#grid").getCell(rows[i],'SRCEXIST');
if(tgtVal !="O" || srcVal !="O"){
$("#"+rows[i]).find("td").css("background-color","#FFCC99");
}
}
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_close").click(function(){
debugger;
window.close();
});
$("body").css("overflow-x","hidden");
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
<button type="button" class="cssbtn" id="btn_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%=localeMessage.getString("tranManDtPop.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:180px;"><%=localeMessage.getString("tranManDtPop.conMapCd")%></th>
<td>
<input type="text" name="cnvsnName" readonly>
</td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,143 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var loutName = window.dialogArguments["loutName"];
var url ='<c:url value="/onl/admin/rule/layoutMan.json" />';
$(document).ready(function() {
$('input[name=searchLoutName]').val(loutName);
$('#grid').jqGrid({
datatype : "json",
mtype : 'POST',
url : '<c:url value="/onl/admin/rule/transformMan.json" />',
postData : { cmd : 'LIST_LAYOUT'
, searchEaiBzwkDstcd : $('input[name=searchEaiBzwkDstcd]').val()
, searchLoutName : $('input[name=searchLoutName]').val()
, searchLoutDesc : $('input[name=searchLoutDesc]').val()
},
colNames:['<%=localeMessage.getString("tranManLay.bizClaCd")%>',
'<%=localeMessage.getString("tranManLay.bizClaNm")%>',
'<%=localeMessage.getString("tranManLay.tlgLayCd")%>',
'<%=localeMessage.getString("tranManLay.tlgLayDesc")%>',
'<%=localeMessage.getString("tranManLay.tlgLayTpNm")%>'
],
colModel:[
{ name : 'EAIBZWKDSTCD' , align:'left', sortable:false },
{ name : 'BZWKDSTICNAME' , align:'left' },
{ name : 'LOUTNAME' , align:'left' },
{ name : 'LOUTDESC' , align:'left' },
{ name : 'LOUTPTRNNAME' , align:'left' }
],
jsonReader : {
repeatitems : false
},
pager : $('#pager'),
page : '${param.page}',
rowNum : '${rmsDefaultRowNum}',
autoheight : true,
height : $("#container").height(),
autowidth : true,
viewrecords : true,
rowList : eval('[${rmsDefaultRowList}]'),
loadComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false});
}
},
loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
},
ondblClickRow: function(rowId) {
var rowData = $(this).getRowData(rowId);
var key = rowData['LOUTNAME'];
var loutDesc = rowData['LOUTDESC'];
var retData=new Object() ;
retData['key'] = key;
retData['loutDesc'] = loutDesc;
window.returnValue = retData;
$("#btn_close").trigger("click");
}
});
resizeJqGridWidth('grid','title','1000');
$("#btn_search").click(function(){
var postData = getSearchForJqgrid("cmd","LIST_LAYOUT"); //jqgrid에서는 object 로
$("#grid").setGridParam({ postData: postData ,page : "1" }).trigger("reloadGrid");
});
$("#btn_close").click(function(){
window.close();
});
$("input[name^=search]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
//buttonControl();
});
</script>
</head>
<body>
<div class="popup_box" id="title">
<div class="search_wrap">
<%-- <img id="btn_search" src="<c:url value="/img/btn_search.png"/>" level="R"/> --%>
<%-- <img id="btn_close" src="<c:url value="/img/btn_close.png"/>" level="R"/> --%>
<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_close" level="R"><i class="material-icons">cancel</i> <%= localeMessage.getString("button.close") %></button>
</div>
<div class="title"><%=localeMessage.getString("tranManLay.title")%></div>
<table class="search_condition" cellspacing="0">
<tr>
<th style="width:20%;"><%=localeMessage.getString("tranManLay.bizClaCd")%></th>
<td style="width:30%;">
<input type="text" name="searchEaiBzwkDstcd" value="${param.searchEaiBzwkDstcd}">
</td>
<th style="width:20%;"><%=localeMessage.getString("tranManLay.tlgLayCd")%></th>
<td style="width:30%;">
<input type="text" name="searchLoutName" value="${param.searchLoutName}">
</td>
</tr>
<tr>
<th style="width:20%;"><%=localeMessage.getString("tranManLay.tlgLayDesc")%></th>
<td colspan="3"><input type="text" name="searchLoutDesc" value="${param.searchLoutDesc}"></td>
</tr>
</table>
<!-- grid -->
<table id="grid" ></table>
<div id="pager"></div>
</div><!-- end content_middle -->
</body>
</html>
@@ -0,0 +1,210 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ page import="com.eactive.eai.rms.common.login.SessionManager"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<%
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
var $ = jQuery.noConflict();
var bzwkDstCd = "";
var returnUrl = getReturnUrlForReturn();
var roleString = "<%=SessionManager.getRoleIdString(request)%>";
function init(url){
$.ajax({
type : "POST",
url:url,
dataType:"json",
data:{cmd: 'LIST_EAISVCNAME_COMBO'},
success:function(json){
var cnvsnTypeData = json.cnvsnTypeRows;
var inoutTypeData = json.inoutTypeRows;
new makeOptions("CODE","NAME").setObj($("select[name=cnvsnType]")).setData(cnvsnTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=eaiSevrDstcd]")).setData(inoutTypeData).setFormat(codeName3OptionFormat).rendering();
new makeOptions("CODE","NAME").setObj($("select[name=useYn]")).setData(json.useYnRows).setFormat(codeName3OptionFormat).rendering();
},
error:function(e){
alert(e.responseText);
}
});
}
$(document).ready(function() {
$("input[name=eaiSvcName]").focus();
var url ='<c:url value="/onl/admin/rule/transformMan.json" />';
init(url);
$("#btn_regist").click(function(){
if(!$("input[name='eaiSvcName']").val()){
alert("<%=localeMessage.getString("transformMan.alert1")%>");
return;
}
var postData = $('#ajaxForm').serializeArray();
$("select[name=eaiSevrDstcd]").attr("disabled",false);
var eaiSevrDstcd = $("select[name=eaiSevrDstcd]").val();
// 서버구분코드 없고, role이 admin일때 서버구분코드 9로 셋팅
if((eaiSevrDstcd=='' || eaiSevrDstcd ==null) && roleString=='admin'){
eaiSevrDstcd = '9';
}
postData.push({ name: "cmd" , value:"INSERT"},{name : "eaiSevrDstcd", value : eaiSevrDstcd},{name : "verInfo", value : "00000"});
$.ajax({
type : "POST",
url:url,
data:postData,
success:function(args){
alert("<%=localeMessage.getString("common.saveMsg")%>");
goNav(returnUrl);//LIST로 이동
},
error:function(e){
alert(e.responseJSON.errorMsg);
}
});
});
$("#btn_search").click(function(){
var key = "";
var args = new Object();
args['eaiSvcName'] = $('input[name=eaiSvcName]').val();
var url='<c:url value="/onl/transaction/extnl/interfaceMan.view"/>';
url = url + "?cmd=POPUP";
var ret = showModal(url,args,1020,630, function(arg){
var args = null;
if(arg == null || arg == undefined ) {//chrome
args = this.dialogArguments;
args.returnValue = this.returnValue;
} else {//ie
args = arg;
}
if( !args || !args.returnValue ) return;
var ret = args.returnValue;
console.log("ret",ret);
key = ret['key'];
$("input[name=eaiSvcName]").val(key);
$("input[name=eaiSvcDesc]").val(ret['eaiSvcDesc']);
bzwkDstCd = ret['eaiBzwkDstCd'];
$("input[name=eaiSvcName]").change();
$("select[name=eaiSevrDstcd]").val(ret['eaiSevrDstcd']);
$("select[name=eaiSevrDstcd]").attr("disabled",true);
});
});
$("#btn_previous").click(function(){
goNav(returnUrl);//LIST로 이동
});
$("input[name=eaiSvcName],select[name=cnvsnType]").change(function(){
var eaiSvcName = $("input[name=eaiSvcName]").val();
var idx = eaiSvcName.length;
eaiSvcName = eaiSvcName.substring(0,idx-2);
var str = "TRANSFORM_"+bzwkDstCd.trim()+"_"+eaiSvcName+"_"+$("select[name=cnvsnType]").val();
$("input[name=cnvsnName]").val(str);
var str2 = $("input[name=eaiSvcDesc]").val();
$("textarea[name=cnvsnDesc]").val(str2);
});
$("input[name=eaiSvcName]").keydown(function(key){
if (key.keyCode == 13){
$("#btn_search").click();
}
});
buttonControl();
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<div class="search_wrap">
<button type="button" class="cssbtn" id="btn_regist" level="W" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.register") %></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>
<%-- <img src="<c:url value="/img/btn_regist.png"/>" alt="" id="btn_regist" level="W" status="DETAIL,NEW" /> --%>
<%-- <img src="<c:url value="/img/btn_previous.png"/>" alt="" id="btn_previous" level="R" status="DETAIL,NEW"/> --%>
</div>
<div class="title"><%=localeMessage.getString("transformMan.titleNew")%><span class="tooltip"><%=localeMessage.getString("transformMan.tooltipNew")%></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<!-- detail -->
<form id="ajaxForm">
<table class="table_row" cellspacing="0">
<tr>
<th style="width:25%;"><%=localeMessage.getString("transformMan.ifSvcCd")%> </th>
<td colspan="3">
<input type="text" name="eaiSvcName" style="width:calc(100% - 60px);" readonly> <%-- <img id="btn_search" src="<c:url value="/img/btn_pop_search.png" />" level="R" class="btn_img" /> --%>
<button type="button" class="cssbtn smallBtn2" id="btn_search" style="vertical-align:middle; font-weight:bold;" level="R"><i class="material-icons">search</i><%= localeMessage.getString("button.search") %></button>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.ifSvcDesc")%></th>
<td colspan="3">
<input type="text" name="eaiSvcDesc" readOnly>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.eaiSvrDiv")%></th>
<td colspan="3">
<div class="select-style">
<select name="eaiSevrDstcd" />
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.cnvsnType")%></th>
<td>
<div class="select-style">
<select name="cnvsnType" />
</div>
</td>
<th><%=localeMessage.getString("combo.useYn")%></th>
<td>
<div class="select-style">
<select name="useYn" />
</div>
</td>
</tr>
<tr>
<th><%=localeMessage.getString("transformMan.telCngMappCd")%></th>
<td colspan="3"><input type="text" name="cnvsnName" readonly="readonly"/></td>
</tr>
<tr height="100px">
<th><%=localeMessage.getString("transformMan.cnvsnDesc")%></th><td colspan="3"><textarea name="cnvsnDesc" style="width:100%;height:100px"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,163 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
$(document).ready(function() {
$("input[name=btn_1]").click(function(){
var url='<c:url value="/onl/admin/rule/transformManual.view"/>';
url +="?cmd=POPUP1";
showModal(url,null,400,250);
});
$("input[name=btn_2]").click(function(){
var url='<c:url value="/onl/admin/rule/transformManual.view"/>';
url +="?cmd=POPUP2";
showModal(url,null,400,250);
});
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle">
<!-- <div class="title">전문레이아웃 관리 가이드</div> -->
<div class="transform_title"><%= localeMessage.getString("guide.title") %></div>
<ul class="transform" style="border-bottom:0;">
<li style="width:50%;">
<div class="box_wrap">
<div class="box" style="text-align:right;">
<label style="position:absolute; left:20px; top:5px;"><%= localeMessage.getString("guide.down1") %></label> <!-- <input type="button" name="btn_1" class="btn_img btn_download"> -->
<button type="button" class="cssbtn" id="btn_1"><i class="material-icons">download</i><%=localeMessage.getString("button.download")%></button>
</div>
</div>
</li>
<!-- <li style="width:50%;"> -->
<!-- <div class="box_wrap"> -->
<!-- <div class="box" style="text-align:right;"> -->
<!-- <label style="position:absolute; left:20px; top:5px;">엑셀서식 다운받기</label> <input type="button" name="btn_2" class="btn_img btn_download"> -->
<!-- </div> -->
<!-- </div> -->
<!-- </li> -->
</ul><!-- end.transform -->
<div class="transform_title"><%= localeMessage.getString("guide.title2") %></div>
<ul class="transform">
<li>
<div class="box_wrap">
<div class="box">
<div class="tit">01. <%= localeMessage.getString("guide.step1") %></div>
<div class="con">
<div><%= localeMessage.getString("guide.con1") %></div>
<div>
- <%= localeMessage.getString("guide.file1") %>(<%=localeMessage.getString("guide.mmiForm") %>)<br>
- <%= localeMessage.getString("guide.file2") %>(<%=localeMessage.getString("guide.mmiForm") %>)
</div>
<div>(<%= localeMessage.getString("guide.user1") %>)</div>
</div>
</div>
</div>
</li>
<li>
<div class="box_wrap">
<div class="box">
<div class="tit">02. <%= localeMessage.getString("guide.step2") %></div>
<div class="con">
<div><%= localeMessage.getString("guide.con2") %></div>
<div>
- <%= localeMessage.getString("guide.file3") %>
</div>
<div>(<%= localeMessage.getString("guide.user2") %>)</div>
</div>
</div>
</div>
</li>
<li>
<div class="box_wrap">
<div class="box">
<div class="tit">03. <%= localeMessage.getString("guide.step3") %></div>
<div class="con">
<div><%= localeMessage.getString("guide.con3") %></div>
<div>
- <%= localeMessage.getString("guide.con31") %>(<%= localeMessage.getString("guide.con32") %>)
</div>
<div>(<%= localeMessage.getString("guide.user3") %>)</div>
</div>
</div>
</div>
</li>
<li>
<div class="box_wrap">
<div class="box">
<div class="tit">04. <%= localeMessage.getString("guide.step4") %></div>
<div class="con">
<div><%= localeMessage.getString("guide.con4") %></div>
<div>
- <%= localeMessage.getString("guide.file1") %>(<%= localeMessage.getString("guide.mmiForm") %>)<br>
- <%= localeMessage.getString("guide.file2") %>(<%= localeMessage.getString("guide.mmiForm") %>)
</div>
<div>(<%= localeMessage.getString("guide.user1") %>)</div>
</div>
</div>
</div>
</li>
<!-- <li> -->
<!-- <div class="box_wrap"> -->
<!-- <div class="box"> -->
<!-- <div class="tit">05. I/O 변환매핑</div> -->
<!-- <div class="con"> -->
<!-- <div>EAI/FEP 제공 UI화면을 이용하여 I/O 변환 룰 매핑 작업</div> -->
<!-- <div> -->
<!-- - 작업한 변환내용을 Download, Upload 가능 -->
<!-- </div> -->
<!-- <div>(개발자)</div> -->
<!-- </div> -->
<!-- </div> -->
<!-- </div> -->
<!-- </li> -->
<li>
<div class="box_wrap">
<div class="box">
<div class="tit">05. <%= localeMessage.getString("guide.step5") %></div>
<div class="con">
<div><%= localeMessage.getString("guide.con5") %></div>
<div>(<%= localeMessage.getString("guide.user1") %>)</div>
</div>
</div>
</div>
</li>
</ul><!-- end.transform -->
<!-- <table id="grid" ></table>
<div id="pager"></div> -->
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>
@@ -0,0 +1,74 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
$(document).ready(function() {
$("#btn_close").click(function(key){
window.close();
});
});
</script>
</head>
<body>
<!-- button -->
<table width="98%" height="35px" align="center">
<tr>
<td align="left" height="25px"><p class="title"><img class="title_image" src="<c:url value="/images/title_bullet.gif"/>">가이드 자료 다운받기</p></td>
<td align="right">
<img id="btn_close" src="<c:url value="/images/bt/bt_close.gif"/>" level="R"/>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td></tr>
<tr height="200px">
<td colspan="2" align="center">
<table border="1" cellspacing="0" cellpadding="0" width="95%" height="95%">
<tr>
<td valign="top">
<table border="0" cellspacing="0" cellpadding="0" >
<tr height="40">
<td><font size="2"><a href='<c:url value="/common/download/EAI_guide.zip" />'>1. EAI 개발표준 및 가이드</a></font></td>
</tr>
<!-- <tr height="40"> -->
<%-- <td><font size="2"><a href='<c:url value="/common/download/EAI_FEP_guide_interface.zip" />'>1. EAI/FEP 시스템인터페이스식별및정의 가이드</a></font></td> --%>
<!-- </tr> -->
<!-- <tr height="40"> -->
<%-- <td><font size="2"><a href='<c:url value="/common/download/EAI_FEP_guide_layout.zip" />'>2. EAI/FEP 시스템인터페이스송수신항목설계 가이드</a></font></td> --%>
<!-- </tr> -->
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</html>
@@ -0,0 +1,60 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" >
$(document).ready(function() {
$("#btn_close").click(function(key){
window.close();
});
});
</script>
</head>
<body>
<!-- button -->
<table width="98%" height="35px" align="center">
<tr>
<td align="left" height="25px"><p class="title"><img class="title_image" src="<c:url value="/images/title_bullet.gif"/>">엑셀 서식 다운로드</p></td>
<td align="right">
<img id="btn_close" src="<c:url value="/images/bt/bt_close.gif"/>" level="R"/>
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td></tr>
<tr height="200px">
<td colspan="2" align="center">
<table border="1" cellspacing="0" cellpadding="0" width="95%" height="95%">
<tr width="95%">
<td valign="top">
<table border="0" cellspacing="0" cellpadding="0" >
<tr height="40">
<td><font size="2"><a href='<c:url value="/common/download/EAI_FEP_template_interface.zip" />'>1. EAI/FEP 시스템인터페이스목록 다운로드</a></font></td>
</tr>
<tr height="40">
<td><font size="2"><a href='<c:url value="/common/download/EAI_FEP_template_layout.zip" />'>2. EAI/FEP 시스템인터페이스송수신항목설계서 다운로드</a></font></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</html>
@@ -0,0 +1,280 @@
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ page import="java.io.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ include file="/jsp/common/include/localemessage.jsp" %>
<%
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");
%>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<jsp:include page="/jsp/common/include/css.jsp"/>
<jsp:include page="/jsp/common/include/script.jsp"/>
<script language="javascript" src="<c:url value="/js/jquery.form.min.js"/>"></script>
<script language="javascript" >
function getDoc(frame) {
var doc = null;
// IE8 cascading access check
try {
if (frame.contentWindow) {
doc = frame.contentWindow.document;
}
} catch(err) {
}
if (doc) { // successful getting content
return doc;
}
try { // simply checking may throw in ie8 under ssl or mismatched protocol
doc = frame.contentDocument ? frame.contentDocument : frame.document;
} catch(err) {
// last attempt
doc = frame.document;
}
return doc;
}
function fileupload(e,successcallback,errorcallback){
var formObj = $(this);
var formURL = formObj.attr("action");
if(window.FormData !== undefined) // for HTML5 browsers
{
var formData = new FormData(this);
$.ajax({
url: formURL,
type: 'POST',
data: formData,
encType:"multipart/form-data",
contentType: false,
cache: false,
processData:false,
success: function(json, textStatus, jqXHR)
{
$("input[name=file]").val("");
if (json.rows.length==0){
alert("message : "+json.message);
return ;
}
$("#grid").jqGrid('clearGridData');
var rows = $("#grid")[0].rows;
var index = Number($(rows[rows.length-1]).attr("id"));
if (isNaN(index)) index=0;
for(var i=0;i<json.rows.length;i++){
var rowid = index + 1 + i;
$("#grid").jqGrid('addRow', {
rowID : rowid,
initdata : json.rows[i],
position :"last", //first, last
useDefValues : false,
useFormatter : false,
addRowParams : {extraparam:{}}
});
}
$("#"+$('#grid').jqGrid('getGridParam','selrow')).focus();
if (typeof callback === 'function') {
successcallback(data, textStatus, jqXHR);
}
},
error: function(jqXHR, textStatus, errorThrown)
{
alert("error")
$("input[name=file]").val("");
if (typeof callback === 'function') {
errorcallback(jqXHR, textStatus, errorThrown);
}
}
});
e.preventDefault();
if (e.unbind)
e.unbind();
}
else //for olden browsers
{
formObj.append($("<input type='hidden' name='serviceType' value='"+sessionStorage["serviceType"]+"' />"));
//generate a random id
var iframeId = 'unique' + (new Date().getTime());
//create an empty iframe
var iframe = $('<iframe src="javascript:false;" id="'+iframeId+'" name="'+iframeId+'" />');
//hide it
iframe.hide();
//set form target to iframe
formObj.attr('target',iframeId);
formObj.attr('action','<c:url value="/onl/admin/rule/transformRuleMan2.file" />');
//Add iframe to body
iframe.appendTo('body');
iframe.load(function(e)
{
var doc = getDoc(iframe[0]);
var docRoot = doc.body ? doc.body : doc.documentElement;
var data = docRoot.innerHTML;
var k = JSON.parse(data);
$("#grid")[0].addJSONData(k);
$("input[name=file]").val("");
//data is returned from server.
if (typeof callback === 'function') {
//successcallback(data);
}
});
}
}
$(document).ready(function() {
var gridPostData = getSearchForJqgrid("cmd","LIST"); //jqgrid에서는 object 로
$('#grid').jqGrid({
datatype:"json",
//mtype: 'POST',
//url: '<c:url value="/common/acl/user/userMan.json" />',
postData : gridPostData,
colNames:['<%= localeMessage.getString("transformRuleMan.sheetName")%>',
'<%= localeMessage.getString("transformRuleMan.layoutMappCode")%>',
'<%= localeMessage.getString("transformRuleMan.eaisvcCode")%>',
'<%= localeMessage.getString("transformRuleMan.result")%>',
'<%= localeMessage.getString("transformRuleMan.resultMessage")%>'
],
colModel:[
{ name : 'SHEETNAME' , align:'left' ,width:100, sortable:false },
{ name : 'TRNANAME' , align:'left' ,width:100},
{ name : 'EAISVCCODE' , align:'left' ,width:100},
{ name : 'RESULT' , align:'left' ,width:100},
{ name : 'MESSAGE' , align:'left' }
],
jsonReader: {
repeatitems:false
},
//pager : $('#pager'),
//rowNum : '${rmsDefaultRowNum}',
autoheight: true,
height: 300,
autowidth: true,
viewrecords: true,
//rowList : eval('[${rmsDefaultRowList}]'),
gridComplete:function (d){
var colModel = $(this).getGridParam("colModel");
for(var i = 0 ; i< colModel.length; i++){
$(this).setColProp(colModel[i].name, {sortable : false}); //그리드 헤더 화살표 삭제(정렬X)
}
},
ondblClickRow: function(rowId) {
},
onSelectRow: function(rowId) {
var data = $(this).getRowData(rowId);
$("#ajaxForm input[type!=radio],#ajaxForm select,#ajaxForm textarea").each(function(){
var name = $(this).attr("name");
var tag = $(this).prop("tagName").toLowerCase();
$(tag+"[name="+name+"]").val(data[name.toUpperCase()]);
});
}
,loadError: function (jqXHR, textStatus, errorThrown) {
if(jqXHR.status == 401) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'에러: 세션이 종료되었습니다. ');
parent.location.href='<%=request.getContextPath()%>/';
}
}
});
resizeJqGridWidth('grid','content_middle','1000');
$("#multiform").on('submit',fileupload);
$('#btn_upload').click(function(){
$("#grid").jqGrid('clearGridData');
if(window.FormData !== undefined) {
$("input[name=file]").click();
}else{
if ($("input[name=file]").val()==""){
return;
}
$("#multiform").submit();
}
});
if(window.FormData !== undefined) {
$("input[name=file]").change(function(ev) {
var filename = $(this).val().split('\\').pop();
if (filename == ""){
return;
}else{
$("#multiform").submit();
}
});
}
if(window.FormData !== undefined) {
$("input[name=file]").hide();
}else{
$("input[name=file]").show();
}
});
</script>
</head>
<body>
<div class="right_box">
<div class="content_top">
<ul class="path">
<li><a href="#">${rmsMenuPath}</a></li>
</ul>
</div><!-- end content_top -->
<div class="content_middle" id="content_middle">
<form id="multiform" method="POST" enctype="multipart/form-data" action="<c:url value="/onl/admin/rule/transformRuleMan2.file"/>">
<div class="search_wrap">
<div style="display:inline-block;">
<!-- <input type="radio" name="saveType" value="0" checked="checked" id="sub4_4_5_1"><label for="sub4_4_5_1" style="vertical-align:middle;">중복시 저장하지 않음</label>
<input type="radio" name="saveType" value="1" id="sub4_4_5_2" /><label for="sub4_4_5_2" style="vertical-align:middle;">중복시 저장함</label> -->
<input type="file" name="file" id="file" style="display:inline-block" multiple/>
<input type="text" name="cmd" style="display:none" value="UPLOAD"/>
</div>
<button type="button" class="cssbtn" id="btn_upload" level="W" ><i class="material-icons">upload</i> <%= localeMessage.getString("button.upload") %></button>
<%-- <img src="<c:url value="/img/btn_upload.png"/>" alt="" id="btn_upload" level="W" /> --%>
</div>
</form>
<div class="title"><%= localeMessage.getString("transformRuleMan.title")%><span class="tooltip"><%= localeMessage.getString("transformRuleMan.tooltip")%></span></div>
<table id="grid" ></table>
<div id="pager"></div>
<form id="ajaxForm">
<table class="table_row" cellspacing="0" style="margin-top:15px;">
<tr height="50px">
<th style="width:20%;"><%= localeMessage.getString("transformRuleMan.layoutMappCode")%></th>
<td style="width:80%;"><input type="text" name="TRNANAME"/></td>
</tr>
<tr>
<th><%= localeMessage.getString("transformRuleMan.result")%></th>
<td ><input type="text" name="RESULT" /></td>
</tr>
<tr height="50px">
<th><%= localeMessage.getString("transformRuleMan.resultMessage")%></th>
<td><textarea name="MESSAGE" style="width:100%; height:150px;"></textarea></td>
</tr>
</table>
</form>
</div><!-- end content_middle -->
</div><!-- end right_box -->
</body>
</html>