348 lines
10 KiB
Plaintext
348 lines
10 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%
|
|
String cntx = request.getContextPath();
|
|
%>
|
|
<!doctype html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<%@ include file="/WEB-INF/include/include-header3.jspf" %>
|
|
<!-- Multi Select-->
|
|
<link href="<c:url value='/vendor/bootstrap-multiselect-2.0/dist/css/bootstrap-multiselect.css' />" rel="stylesheet">
|
|
<script src="<c:url value='/vendor/bootstrap-multiselect-2.0/dist/js/bootstrap-multiselect.js' />"></script>
|
|
|
|
<style type="text/css">
|
|
.col-sm-3 {
|
|
position: relative;
|
|
width: 100%;
|
|
padding-right: 15px;
|
|
padding-left: 15px;
|
|
padding-top: 15px;
|
|
padding-bottom: 15px;
|
|
}
|
|
|
|
.valign-wrapper {
|
|
display: -webkit-box;
|
|
display: -webkit-flex;
|
|
display: -ms-flexbox;
|
|
display: flex;
|
|
-webkit-box-align: center;
|
|
-webkit-align-items: center;
|
|
-ms-flex-align: center;
|
|
align-items: center;
|
|
}
|
|
.bd-example {
|
|
position: relative;
|
|
padding: 5px;
|
|
border: solid #dee2e6;
|
|
margin-right: 0;
|
|
margin-left: 0;
|
|
border-width: 1px;
|
|
border-radius: .25rem .25rem .25rem .25rem;
|
|
}
|
|
|
|
.mb-3, .my-3 {
|
|
margin-bottom: 0rem!important;
|
|
}
|
|
|
|
</style>
|
|
<meta name="theme-color" content="#7952b3">
|
|
<title>object info</title>
|
|
</head>
|
|
|
|
<body>
|
|
<form name="frm">
|
|
<input type="hidden" class="form-control" id="use_yn" name="use_yn">
|
|
<input type="hidden" class="form-control" id="p_code" name="p_code">
|
|
<input type="hidden" class="form-control" id="obj_type" name="obj_type">
|
|
<input type="hidden" class="form-control" id="center_id" name="center_id">
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-4">
|
|
<div>
|
|
<i class="far fa-caret-square-right"></i> <label class="form-label" style="font-size: 1.3em; font-weight: 700;">오브젝트목록</label>
|
|
</div>
|
|
<table
|
|
id="table"
|
|
class="table-sm"
|
|
data-virtual-scroll="true"
|
|
data-sort-order="asc"
|
|
data-sortable="true"
|
|
data-pagination="false"
|
|
data-search="false"
|
|
data-single-select="true"
|
|
data-click-to-select="true"
|
|
data-show-toggle="false"
|
|
data-use-row-attr-func="true"
|
|
data-reorderable-rows="false"
|
|
style="text-align: center;">
|
|
<thead style="text-align: center;">
|
|
<tr>
|
|
<th data-field="CENTER_ID" data-visible="false">센터ID</th>
|
|
<th data-field="CENTER_NAME" data-width="20%">센터명</th>
|
|
<th data-field="OBJ_ID" data-width="20%">오브젝트ID</th>
|
|
<th data-field="DBID" data-width="20%">DBID</th>
|
|
<th data-field="OBJ_TYPE_NAME" data-width="20%">센터정보</th>
|
|
<th data-field="OBJ_TYPE" data-visible="false">센터정보</th>
|
|
<th data-field="OBJ_NAME" data-width="20%">오브젝트명</th>
|
|
<th data-field="CUSTOM1" data-visible="false">커스텀1</th>
|
|
<th data-field="CUSTOM2" data-visible="false">커스텀2</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="col-6">
|
|
<div class="col-md">
|
|
<i class="far fa-caret-square-right"></i> <label class="form-label" style="font-size: 1.3em; font-weight: 700;">오브젝트상세</label>
|
|
</div>
|
|
<div class="bd-example">
|
|
<div class="row mb-3">
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="center_name" class="col-sm-3 col-form-label">센터명</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<select id="selCenter" name="selCenter" style="width: 100px"></select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="obj_id" class="col-sm-3 col-form-label">오브젝트ID</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<input type="text" class="form-control" id="obj_id" name="obj_id" autocomplete="new-password">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="obj_name" class="col-sm-3 col-form-label">오브젝트명</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<input type="text" class="form-control" id="obj_name" name="obj_name">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="dbid" class="col-sm-3 col-form-label">DBID</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<input type="text" class="form-control" id="dbid" name="dbid">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="center_order" class="col-sm-3 col-form-label">오브젝트타입</label>
|
|
<div class="col-sm-3 valign-wrapper">
|
|
<select id="selObjType" name="selObjType" style="width: 100px">
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="custom1" class="col-sm-3 col-form-label">커스텀1</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<input type="text" class="form-control" id="custom1" name="custom1">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
<div class="col-11">
|
|
<div class="row mb-3">
|
|
<label for="custom2" class="col-sm-3 col-form-label">커스텀2</label>
|
|
<div class="col-sm-9 valign-wrapper">
|
|
<input type="text" class="form-control" id="custom2" name="custom2">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-1"></div>
|
|
</div>
|
|
</div>
|
|
<br>
|
|
<div class="col-md">
|
|
<button type="button" class="btn btn-sm btn-primary" id="btnSave">저장</button>
|
|
<button type="button" class="btn btn-secondary btn-sm" id="btnCancel">취소</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
<script>
|
|
|
|
$("#btnSave").click(function(e) {
|
|
setData();
|
|
if(updateCheck()){
|
|
updateInfo();
|
|
}else{
|
|
insertInfo();
|
|
}
|
|
});
|
|
|
|
function updateCheck(){
|
|
var updateflag = false;
|
|
var center_id = $("#selCenter > option:selected").val();
|
|
var obj_id = $('#obj_id').val();
|
|
|
|
var dataarray = $('#table').bootstrapTable('getData');
|
|
for (var i=0; i<dataarray.length; i++){
|
|
if(center_id == dataarray[i].CENTER_ID && obj_id == dataarray[i].OBJ_ID){
|
|
updateflag = true;
|
|
}
|
|
}
|
|
return updateflag;
|
|
}
|
|
|
|
function updateInfo(){
|
|
var queryString = $("form[name=frm]").serialize() ;
|
|
$.ajax({
|
|
url:"<c:url value='/updateObjInfo'/>",
|
|
data : queryString,
|
|
type:"post",
|
|
datatype:"json",
|
|
success:function(args){
|
|
$('#table').bootstrapTable('load', args.list);
|
|
alert("저장됐습니다");
|
|
},
|
|
error : function(x,o,e){
|
|
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
|
alert(msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
function insertInfo(){
|
|
var queryString = $("form[name=frm]").serialize() ;
|
|
$.ajax({
|
|
url:"<c:url value='/insertObjInfo'/>",
|
|
data : queryString,
|
|
type:"post",
|
|
datatype:"json",
|
|
success:function(args){
|
|
$('#table').bootstrapTable('load', args.list);
|
|
alert("저장됐습니다");
|
|
},
|
|
error : function(x,o,e){
|
|
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
|
alert(msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
function setData(){
|
|
$('#center_id').val($("#selCenter > option:selected").val());
|
|
$('#obj_type').val($("#selObjType > option:selected").val());
|
|
}
|
|
|
|
function resetElements(){
|
|
|
|
$('#selCenter').val("");
|
|
$('#center_id').val("");
|
|
$('#obj_type').val("");
|
|
$('#obj_id').val("");
|
|
$('#obj_name').val("");
|
|
$('#dbid').val("");
|
|
$('#selObjType').val("");
|
|
$('#custom1').val("");
|
|
$('#custom2').val("");
|
|
}
|
|
|
|
$(function() {
|
|
$('#table').bootstrapTable();
|
|
getObjList();
|
|
getCenterList();
|
|
getData();
|
|
});
|
|
|
|
function getData(){
|
|
var queryString = $("form[name=frm]").serialize() ;
|
|
$.ajax({
|
|
url:"<c:url value='/getObjInfo_Manage'/>",
|
|
data : queryString,
|
|
type:"post",
|
|
datatype:"json",
|
|
success:function(args){
|
|
$('#table').bootstrapTable('load', args.list);
|
|
resetElements();
|
|
},
|
|
error : function(x,o,e){
|
|
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
|
alert(msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
//권한 리스트 조회
|
|
function getObjList(){
|
|
document.getElementById('use_yn').value = "ALL";
|
|
document.getElementById('p_code').value = "A001";
|
|
var queryString = $("form[name=frm]").serialize() ;
|
|
$.ajax({
|
|
url:"<%=cntx%>/getComCode",
|
|
type:"post",
|
|
data : queryString,
|
|
datatype:"json",
|
|
success:function(args){
|
|
var frm1 = document.frm;
|
|
for(var i=0; i<args.list.length; i++){
|
|
op = new Option();
|
|
op.value = args.list[i].CODE;
|
|
op.text = args.list[i].CODE_NAME;
|
|
frm1.selObjType.options.add(op);
|
|
}
|
|
},
|
|
error : function(x,o,e){
|
|
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
|
alert(msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
//권한 리스트 조회
|
|
function getCenterList(){
|
|
document.getElementById('use_yn').value = "ALL";
|
|
var queryString = $("form[name=frm]").serialize() ;
|
|
$.ajax({
|
|
url:"<%=cntx%>/getCenterInfo_Manage",
|
|
type:"post",
|
|
data : queryString,
|
|
datatype:"json",
|
|
success:function(args){
|
|
var frm1 = document.frm;
|
|
for(var i=0; i<args.list.length; i++){
|
|
op = new Option();
|
|
op.value = args.list[i].CENTER_ID;
|
|
op.text = args.list[i].CENTER_NAME;
|
|
frm1.selCenter.options.add(op);
|
|
}
|
|
},
|
|
error : function(x,o,e){
|
|
var msg = "에러발생 \n" + x.status + " : " + o + " : " + e;
|
|
alert(msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
//Table onClick이벤트시 유저 데이터 세팅
|
|
$('#table').bootstrapTable({
|
|
onClickRow: function (row, el, field) {
|
|
$('#selCenter').val(row.CENTER_ID);
|
|
$('#obj_id').val(row.OBJ_ID);
|
|
$('#obj_name').val(row.OBJ_NAME);
|
|
$('#dbid').val(row.DBID);
|
|
$('#selObjType').val(row.OBJ_TYPE);
|
|
$('#custom1').val(row.CUSTOM1);
|
|
$('#custom2').val(row.CUSTOM2);
|
|
}
|
|
});
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|