html jsp 제거
parent
3d63f2e538
commit
75d1b3b423
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class AddrViewController {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class BotcomViewController {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class BotmoniViewController {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class GudViewController {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class RcpViewController {
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class Rcpv1ViewController {
|
||||||
|
}
|
@ -0,0 +1,168 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
import com.icomsys.main_vm.biz.common.login.res.UserVo;
|
||||||
|
import com.icomsys.main_vm.biz.common.login.service.LoginService;
|
||||||
|
import com.icomsys.main_vm.common.code.enumresource.RoleResource;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@Slf4j
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class SystemViewController {
|
||||||
|
|
||||||
|
private final LoginService loginService;
|
||||||
|
|
||||||
|
@GetMapping(value = {"/view/signin", "/"})
|
||||||
|
public ModelAndView loginUsrView() {
|
||||||
|
return new ModelAndView("layout/signin");
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping(value = "/view/changePwd")
|
||||||
|
public String changePwd() {
|
||||||
|
return "layout/changePwd";
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/view/admin/common/system/oprmngcode/manage.do")
|
||||||
|
public String OprmngcodeView() {
|
||||||
|
return "layout/adm/common/system/commoncode";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 고객사관리 JSP 페이지 랜더링
|
||||||
|
* @Description 고객사관리 JSP 랜더링하는 컨트롤러
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/cust/manage.do")
|
||||||
|
public String CustListView() {
|
||||||
|
return "layout/adm/common/system/cust";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 고객사정보를 업데이트하는 API
|
||||||
|
* @Description 고객사정보를 업데이트하는 API
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/cust/update")
|
||||||
|
public String custUpdate(@RequestParam(name = "custCode", required = true) String custCode) {
|
||||||
|
return "layout/adm/common/system/custUpdate";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 고객사 생성
|
||||||
|
* @Description 고객사를 생성하는 페이지 랜더링
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/cust/insert")
|
||||||
|
public String CustInsert() {
|
||||||
|
log.info("CustInsert Controller");
|
||||||
|
return "layout/adm/common/system/custInsert";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 권한그룹의 페이지랜딩 컨트롤러
|
||||||
|
* @Description 권한그룹의 페이지를 랜딩함
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/groupAuth/manage.do")
|
||||||
|
public String GroupAuthView() {
|
||||||
|
log.info("group Auth View controller");
|
||||||
|
return "layout/adm/common/system/groupAuth";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 권한그룹의 상세내역 조회페이지 랜더링
|
||||||
|
* @Description 권한그룹 상세보기 JSP를 랜더링함.
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/groupAuth/view")
|
||||||
|
public String GroupAuthView(@RequestParam(name = "custCode", required = true) String custCode) {
|
||||||
|
log.info("view Controller - {}", custCode);
|
||||||
|
return "layout/adm/common/system/groupAuthView";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 권한그룹을 업데이트페이지 랜더링
|
||||||
|
* @Description 권한그룹 업데이트 JSP페이지 랜더링
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/groupAuth/update")
|
||||||
|
public String GroupAuthUpdate() {
|
||||||
|
log.info("GroupAuthUpdate Controller");
|
||||||
|
return "layout/adm/common/system/groupAuthUpdate";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 삭제한 메뉴입니다
|
||||||
|
*/
|
||||||
|
|
||||||
|
@GetMapping("/view/admin/common/system/policyMenu/manage.do")
|
||||||
|
public String PolicyMenuView(){
|
||||||
|
return "layout/adm/common/system/policyMenu";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 서비스그룹 랜딩페이지
|
||||||
|
* @Description 시스템운영자는 고객사리스트 -> 상위서비스리스트, 유저어드민은, 현재 사용중인 메인 서비스의 상세페이지 랜더링
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/serviceGroup/manage.do")
|
||||||
|
public String ServiceGroupView() {
|
||||||
|
UserVo uv = loginService.getUserVo();
|
||||||
|
if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) {
|
||||||
|
return "layout/adm/common/system/serviceGroupList";
|
||||||
|
} else {
|
||||||
|
return "layout/adm/common/system/serviceGroupView";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 서비스그룹 리스트
|
||||||
|
* @Description 시스템운영자는 고객사리스트 -> 상위서비스리스트 데이터 조회
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/serviceGroup/view")
|
||||||
|
public String ServiceGroupView(@RequestParam(name = "serviceGroup", required = false) String serviceGroup) {
|
||||||
|
return "layout/adm/common/system/serviceGroupView";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 어드민 시스템관리 운영자 관리
|
||||||
|
* @Description 사용자 관리와 코멘트 같음.
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/userAdmin/manage.do")
|
||||||
|
public String UserAdminView() {
|
||||||
|
return "layout/adm/common/system/userAdmin";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Name 유저리스트페이지
|
||||||
|
* @Description 어드민 시스템관리 유저관리 JSP랜딩페이지
|
||||||
|
* @Author JangWonSeok
|
||||||
|
* @CreateDate 2023. 03. 09.
|
||||||
|
*/
|
||||||
|
@GetMapping("/view/admin/common/system/user/manage.do")
|
||||||
|
public String UserView() {
|
||||||
|
return "layout/adm/common/system/user";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,4 @@
|
|||||||
|
package com.icomsys.main_vm.biz.common.view;
|
||||||
|
|
||||||
|
public class VdoViewController {
|
||||||
|
}
|
@ -1,273 +1,265 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>고객사관리</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>고객사관리</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
PagingDataTable();
|
||||||
|
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||||
|
var data = $('#listTable').DataTable().row(this).data();
|
||||||
|
viewPage(data)
|
||||||
|
});
|
||||||
|
$('#btnSearchOpr').on('click', function () {
|
||||||
|
fnCustSearchBtn();
|
||||||
|
});
|
||||||
|
|
||||||
<script>
|
$("#Content").on("keyup", function (key) {
|
||||||
$(document).ready(function () {
|
if (key.keyCode == 13) {
|
||||||
PagingDataTable();
|
fnCustSearchBtn();
|
||||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
}
|
||||||
var data = $('#listTable').DataTable().row(this).data();
|
});
|
||||||
viewPage(data)
|
|
||||||
});
|
|
||||||
$('#btnSearchOpr').on('click', function () {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#Content").on("keyup", function (key) {
|
$('#btnRegModal').on('click', function () {
|
||||||
if (key.keyCode == 13) {
|
fnInsertBtn();
|
||||||
fnCustSearchBtn();
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnRegModal').on('click', function () {
|
|
||||||
fnInsertBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
function viewPage(rowData) {
|
||||||
|
// console.log(rowData.custCode);
|
||||||
|
// alert("cust - " + rowData.custCode)
|
||||||
|
// document.location.href = "/BotMain_VM/admin/common/system/cust/update" + "?custCode=" + rowData.custCode;
|
||||||
|
document.location.href = 'layout/admin/common/system/cust/update' + "?custCode=" + rowData.custCode;
|
||||||
|
// document.location.href = '/admin/common/system/cust/view';
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
|
||||||
function viewPage(rowData) {
|
|
||||||
// console.log(rowData.custCode);
|
|
||||||
// alert("cust - " + rowData.custCode)
|
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/cust/update" + "?custCode=" + rowData.custCode;
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/cust/update'/>" + "?custCode=" + rowData.custCode;
|
|
||||||
// document.location.href = '/admin/common/system/cust/view';
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function fnInsertBtn() {
|
function fnInsertBtn() {
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/cust/insert";
|
// document.location.href = "/BotMain_VM/admin/common/system/cust/insert";
|
||||||
document.location.href = "<c:url value='/admin/common/system/cust/insert'/>";
|
document.location.href = '/admin/common/system/cust/insert';
|
||||||
}
|
}
|
||||||
|
|
||||||
var PagingDataTable = function () {
|
var PagingDataTable = function () {
|
||||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||||
$('#listTable').DataTable(
|
$('#listTable').DataTable(
|
||||||
{
|
{
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "<c:url value='/admin/common/system/cust/list'/>",
|
url: '/admin/common/system/cust/list',
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
dataType: "JSON",
|
dataType: "JSON",
|
||||||
data: function (data) {
|
data: function (data) {
|
||||||
var json = {};
|
var json = {};
|
||||||
if (data) {
|
if (data) {
|
||||||
json.page = data.start / data.length;
|
json.page = data.start / data.length;
|
||||||
json.size = 10
|
json.size = 10
|
||||||
json.codeText = $('#codeText').val();
|
json.codeText = $('#codeText').val();
|
||||||
} else {
|
} else {
|
||||||
json = JSON.stringify({'page': 0, 'size': 10});
|
json = JSON.stringify({'page': 0, 'size': 10});
|
||||||
|
}
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
return JSON.stringify(json);
|
,
|
||||||
}
|
dataFilter: function (data) {
|
||||||
,
|
var jsons = jQuery.parseJSON(data);
|
||||||
dataFilter: function (data) {
|
// console.log(JSON.stringify(data));
|
||||||
var jsons = jQuery.parseJSON(data);
|
var json = {};
|
||||||
// console.log(JSON.stringify(data));
|
json.recordsTotal = jsons.getTotal;
|
||||||
var json = {};
|
json.recordsFiltered = jsons.getTotal;
|
||||||
json.recordsTotal = jsons.getTotal;
|
json.data = jsons.getList;
|
||||||
json.recordsFiltered = jsons.getTotal;
|
// console.log(json);
|
||||||
json.data = jsons.getList;
|
return JSON.stringify(json);
|
||||||
// console.log(json);
|
|
||||||
return JSON.stringify(json);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
columns: [
|
|
||||||
{data: "custCode"},
|
|
||||||
{data: "custName"},
|
|
||||||
{data: "custServiceMent"},
|
|
||||||
{data: "custTel"},
|
|
||||||
{data: "useYn"},
|
|
||||||
{data: "registDate"}
|
|
||||||
// {data: "registId"},
|
|
||||||
// {data: "updateDate"},
|
|
||||||
// {data: "updateId"},
|
|
||||||
|
|
||||||
],
|
|
||||||
order: [0, "asc"],
|
|
||||||
scrollX: false,
|
|
||||||
scrollY: false,
|
|
||||||
autoWidth: false,
|
|
||||||
searching: false,
|
|
||||||
bProcessing: false,
|
|
||||||
sProcessing: false,
|
|
||||||
bServerSide: true,
|
|
||||||
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
|
||||||
// pagingType: "first_last_numbers"
|
|
||||||
|
|
||||||
columnDefs: [
|
|
||||||
{
|
|
||||||
targets: 0,
|
|
||||||
visible: false,
|
|
||||||
searchable: false,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 1,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
columns: [
|
||||||
targets: 2,
|
{data: "custCode"},
|
||||||
visible: false,
|
{data: "custName"},
|
||||||
searchable: false,
|
{data: "custServiceMent"},
|
||||||
orderable: false,
|
{data: "custTel"},
|
||||||
render: function (data) {
|
{data: "useYn"},
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
{data: "registDate"}
|
||||||
}
|
// {data: "registId"},
|
||||||
},
|
// {data: "updateDate"},
|
||||||
{
|
// {data: "updateId"},
|
||||||
targets: 3,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 4,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 5,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data, type, full, meta) {
|
|
||||||
// var arr = data.slice();
|
|
||||||
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
|
||||||
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
function fnCustSearchBtn() {
|
],
|
||||||
$('#listTable').DataTable().ajax.reload();
|
order: [0, "asc"],
|
||||||
};
|
scrollX: false,
|
||||||
|
scrollY: false,
|
||||||
|
autoWidth: false,
|
||||||
|
searching: false,
|
||||||
|
bProcessing: false,
|
||||||
|
sProcessing: false,
|
||||||
|
bServerSide: true,
|
||||||
|
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
||||||
|
// pagingType: "first_last_numbers"
|
||||||
|
|
||||||
</script>
|
columnDefs: [
|
||||||
|
{
|
||||||
|
targets: 0,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 1,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 4,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 5,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data, type, full, meta) {
|
||||||
|
// var arr = data.slice();
|
||||||
|
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
||||||
|
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
<body>
|
function fnCustSearchBtn() {
|
||||||
|
$('#listTable').DataTable().ajax.reload();
|
||||||
|
};
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
</script>
|
||||||
<h1>대시보드</h1>
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
<body>
|
||||||
</header>
|
|
||||||
|
|
||||||
<section id="Content" class="system_management">
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
<div class="location">
|
<h1>대시보드</h1>
|
||||||
|
<div class="skip_navigation">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">고객사 관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<section id="Content" class="system_management">
|
||||||
|
<div class="location">
|
||||||
|
<ul>
|
||||||
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
|
<li><a href="#">시스템관리</a></li>
|
||||||
|
<li><a href="#">고객사 관리</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="sub_cont menu06_01_03">
|
<div class="sub_cont menu06_01_03">
|
||||||
<div class="cont_box">
|
<div class="cont_box">
|
||||||
<div class="box_title">
|
<div class="box_title">
|
||||||
<div class="fl">
|
<div class="fl">
|
||||||
<h2 class="mt12">고객사 조회</h2>
|
<h2 class="mt12">고객사 조회</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="fr">
|
<div class="fr">
|
||||||
<div class="btn_wrap fl">
|
<div class="btn_wrap fl">
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="tbl">
|
||||||
<div class="tbl">
|
<table class="search block">
|
||||||
<table class="search block">
|
|
||||||
<colgroup>
|
|
||||||
<col width="140px">
|
|
||||||
<col width="85%">
|
|
||||||
<%-- <col width="140px">--%>
|
|
||||||
<%-- <col width="25%">--%>
|
|
||||||
<%-- <col width="140px">--%>
|
|
||||||
<%-- <col width="25%">--%>
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">고객사명</th>
|
|
||||||
<td>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">고객사 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
|
|
||||||
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">신규등록</a>--%>
|
|
||||||
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tbl">
|
|
||||||
<form id="custListForm">
|
|
||||||
<table id="listTable" class="">
|
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="85%">
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>고객사코드</th>
|
<th class="tl">고객사명</th>
|
||||||
<th>고객사명</th>
|
<td>
|
||||||
<th>고객사안내멘트</th>
|
<div class="ipt_box listen">
|
||||||
<th>대표번호</th>
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
||||||
<th>사용유무</th>
|
</div>
|
||||||
<th>생성일</th>
|
</td>
|
||||||
<%-- <th>registId</th>--%>
|
|
||||||
<%-- <th>updateDate</th>--%>
|
|
||||||
<%-- <th>updateId</th>--%>
|
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">고객사 리스트</h2>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap fr">
|
||||||
|
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tbl">
|
||||||
|
<form id="custListForm">
|
||||||
|
<table id="listTable" class="">
|
||||||
|
<colgroup>
|
||||||
|
<col width="auto">
|
||||||
|
<!-- <col width="auto">-->
|
||||||
|
<!-- <col width="auto">-->
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<!-- <th>고객사코드</th>-->
|
||||||
|
<th>고객사명</th>
|
||||||
|
<th>고객사안내멘트</th>
|
||||||
|
<!-- <th>대표번호</th>-->
|
||||||
|
<th>사용유무</th>
|
||||||
|
<th>생성일</th>
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,432 +1,426 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>그룹별권한</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
getOpr();
|
||||||
|
getQueryString();
|
||||||
|
getGroupAuthUpdateData();
|
||||||
|
$("#Content").on("keyup", function (key) {
|
||||||
|
if (key.keyCode == 13) {
|
||||||
|
getUserSearch()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//유저조회
|
||||||
|
$('#btnSearchUser').on('click', function () {
|
||||||
|
getUserSearch()
|
||||||
|
// $('#serviceInfo').reset();
|
||||||
|
});
|
||||||
|
|
||||||
|
//유저 선택 이벤트
|
||||||
|
$('#selectorUser').change(function () {
|
||||||
|
userAdd($(this).val(), $('#selectorUser option:selected').text())
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$('#btnSave').on('click', function () {
|
||||||
|
// console.log("저장클릭")
|
||||||
|
ServiceGroupAuthModifyUpdate();
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#btnDel').on('click', function () {
|
||||||
|
// console.log("취소버튼");
|
||||||
|
delBtn();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>그룹별권한</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
function delBtn() {
|
||||||
|
listgo();
|
||||||
|
}
|
||||||
|
|
||||||
|
function listgo() {
|
||||||
|
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>";
|
||||||
|
}
|
||||||
|
|
||||||
<script>
|
function getUserSearch() {
|
||||||
|
|
||||||
$(document).ready(function () {
|
|
||||||
getOpr();
|
|
||||||
getQueryString();
|
getQueryString();
|
||||||
getGroupAuthUpdateData();
|
var json = {};
|
||||||
$("#Content").on("keyup", function (key) {
|
var searchText = $('#userSelBox').val();
|
||||||
if (key.keyCode == 13) {
|
json.userSearchText = searchText;
|
||||||
getUserSearch()
|
$('#selectorUser').html("");
|
||||||
}
|
$('#selectorUser').niceSelect('update');
|
||||||
});
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
async: false,
|
||||||
|
datatype: "JSON",
|
||||||
|
// url: "/BotMain_VM/admin/common/system/groupAuth/userSearch" + "?authGroupSeq=" + getQueryString(),
|
||||||
|
url: "<c:url value='/admin/common/system/groupAuth/userSearch'/>" + "?authGroupSeq=" + getQueryString(),
|
||||||
|
data: JSON.stringify(json),
|
||||||
|
success:
|
||||||
|
function (data) {
|
||||||
|
// console.log("datasss " + JSON.stringify(data))
|
||||||
|
var html = "";
|
||||||
|
data.forEach(function (e, i) {
|
||||||
|
html += "<option value=" + e.userSeq + ">" + e.userName + ' (' + e.userId + ')' + "</option>";
|
||||||
|
});
|
||||||
|
$('#selectorUser').html(html);
|
||||||
|
$('#selectorUser').niceSelect('update');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
//유저조회
|
function ServiceGroupAuthModifyUpdate() {
|
||||||
$('#btnSearchUser').on('click', function () {
|
|
||||||
getUserSearch()
|
|
||||||
// $('#serviceInfo').reset();
|
|
||||||
});
|
|
||||||
|
|
||||||
//유저 선택 이벤트
|
var selectedElmsIds = [];
|
||||||
$('#selectorUser').change(function () {
|
var selectedElms = $("#tree_wrap").jstree("get_selected", true);
|
||||||
userAdd($(this).val(), $('#selectorUser option:selected').text())
|
$.each(selectedElms, function () {
|
||||||
|
selectedElmsIds.push(this.id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$('#btnSave').on('click', function () {
|
var userList = [];
|
||||||
// console.log("저장클릭")
|
var delList = [];
|
||||||
ServiceGroupAuthModifyUpdate();
|
$("#list-user-group-box-ul-list").children('li').each(function (i, e) {
|
||||||
});
|
var ids = $(this).find("div").find("a").attr("id").replaceAll("userseq", "")
|
||||||
|
userList.push(ids)
|
||||||
|
// console.log("3 = " + ids)
|
||||||
|
})
|
||||||
|
|
||||||
|
$("#list-user-group-box-ul-delete").children('li').each(function (i, e) {
|
||||||
|
var ids = $(this).find("div").find("a").attr("id").replaceAll("userseq", "")
|
||||||
|
delList.push(ids)
|
||||||
|
// console.log("3 = " + ids)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// console.log("lasddlasldqwle = " + JSON.stringify(lasddlasldqwle))
|
||||||
|
var authSeq = $('#authGroupSeq').val();
|
||||||
|
var json = {};
|
||||||
|
json.custCode = $('#custCode').val();
|
||||||
|
json.authGroupSeq = authSeq;
|
||||||
|
json.policyGroupName = $('#updateGroupName').val();
|
||||||
|
json.policyGroupDesc = $('#updateGroupDesc').val();
|
||||||
|
json.theUser = userList;
|
||||||
|
json.delUser = delList;
|
||||||
|
json.thePolicy = selectedElmsIds;
|
||||||
|
// console.log("saveData = " + JSON.stringify(json))
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
datatype: "JSON",
|
||||||
|
async: false,
|
||||||
|
// url: "/BotMain_VM/admin/common/system/groupAuth/modify/update",
|
||||||
|
url: "<c:url value='/admin/common/system/groupAuth/modify/update'/>",
|
||||||
|
data: JSON.stringify(json),
|
||||||
|
success:
|
||||||
|
function (data) {
|
||||||
|
// console.log("modfu suc - ");
|
||||||
|
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + getQueryString();
|
||||||
|
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>";
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
$('#btnDel').on('click', function () {
|
|
||||||
// console.log("취소버튼");
|
|
||||||
delBtn();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
);
|
|
||||||
|
|
||||||
|
function getQueryString() {
|
||||||
function delBtn() {
|
var param = new URLSearchParams(location.search).get("authGroupSeq");
|
||||||
listgo();
|
// console.log(param)
|
||||||
}
|
return param;
|
||||||
|
}
|
||||||
function listgo() {
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>";
|
|
||||||
}
|
function getOpr() {
|
||||||
|
$.ajax({
|
||||||
function getUserSearch() {
|
type: "GET",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
getQueryString();
|
async: false,
|
||||||
var json = {};
|
datatype: "JSON",
|
||||||
var searchText = $('#userSelBox').val();
|
url: "<c:url value='/adm/menu/oprmng'/>",
|
||||||
json.userSearchText = searchText;
|
success: function (data) {
|
||||||
$('#selectorUser').html("");
|
// console.log(JSON.stringify(data));
|
||||||
$('#selectorUser').niceSelect('update');
|
data.forEach(function (e, f) {
|
||||||
$.ajax({
|
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
||||||
type: "POST",
|
$('#serviceGroup').niceSelect('update');
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
async: false,
|
|
||||||
datatype: "JSON",
|
|
||||||
// url: "/BotMain_VM/admin/common/system/groupAuth/userSearch" + "?authGroupSeq=" + getQueryString(),
|
|
||||||
url: "<c:url value='/admin/common/system/groupAuth/userSearch'/>" + "?authGroupSeq=" + getQueryString(),
|
|
||||||
data: JSON.stringify(json),
|
|
||||||
success:
|
|
||||||
function (data) {
|
|
||||||
// console.log("datasss " + JSON.stringify(data))
|
|
||||||
var html = "";
|
|
||||||
data.forEach(function (e, i) {
|
|
||||||
html += "<option value=" + e.userSeq + ">" + e.userName + ' (' + e.userId + ')' + "</option>";
|
|
||||||
});
|
});
|
||||||
$('#selectorUser').html(html);
|
|
||||||
$('#selectorUser').niceSelect('update');
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
};
|
||||||
|
|
||||||
function ServiceGroupAuthModifyUpdate() {
|
|
||||||
|
function getGroupAuthUpdateData() {
|
||||||
var selectedElmsIds = [];
|
var authGroupSeq = "authGroupSeq=" + getQueryString();
|
||||||
var selectedElms = $("#tree_wrap").jstree("get_selected", true);
|
$.ajax({
|
||||||
$.each(selectedElms, function () {
|
type: "GET",
|
||||||
selectedElmsIds.push(this.id);
|
contentType: "application/json; charset=utf-8",
|
||||||
});
|
async: false,
|
||||||
|
datatype: "JSON",
|
||||||
|
data: authGroupSeq,
|
||||||
var userList = [];
|
url: "<c:url value='/admin/common/system/groupAuth/update/select'/>",
|
||||||
var delList = [];
|
success: function (data) {
|
||||||
$("#list-user-group-box-ul-list").children('li').each(function (i, e) {
|
// console.log(data.authGroupSeq);
|
||||||
var ids = $(this).find("div").find("a").attr("id").replaceAll("userseq", "")
|
// console.log(data.authPolicyVal);
|
||||||
userList.push(ids)
|
$('#custCode').val(data.custCode);
|
||||||
// console.log("3 = " + ids)
|
$('#authGroupSeq').val(data.authGroupSeq);
|
||||||
})
|
$('#updateGroupName').val(data.policyGroupName);
|
||||||
|
$('#updateGroupDesc').val(data.policyGroupDesc);
|
||||||
$("#list-user-group-box-ul-delete").children('li').each(function (i, e) {
|
treeWrap(data.authPolicyVal, data.mainMenu, data.policyParent);
|
||||||
var ids = $(this).find("div").find("a").attr("id").replaceAll("userseq", "")
|
$('#list-user-group-box-ul-list').html(userList(data.userList))
|
||||||
delList.push(ids)
|
|
||||||
// console.log("3 = " + ids)
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
// console.log("lasddlasldqwle = " + JSON.stringify(lasddlasldqwle))
|
|
||||||
var authSeq = $('#authGroupSeq').val();
|
|
||||||
var json = {};
|
|
||||||
json.custCode = $('#custCode').val();
|
|
||||||
json.authGroupSeq = authSeq;
|
|
||||||
json.policyGroupName = $('#updateGroupName').val();
|
|
||||||
json.policyGroupDesc = $('#updateGroupDesc').val();
|
|
||||||
json.theUser = userList;
|
|
||||||
json.delUser = delList;
|
|
||||||
json.thePolicy = selectedElmsIds;
|
|
||||||
// console.log("saveData = " + JSON.stringify(json))
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
async: false,
|
|
||||||
// url: "/BotMain_VM/admin/common/system/groupAuth/modify/update",
|
|
||||||
url: "<c:url value='/admin/common/system/groupAuth/modify/update'/>",
|
|
||||||
data: JSON.stringify(json),
|
|
||||||
success:
|
|
||||||
function (data) {
|
|
||||||
// console.log("modfu suc - ");
|
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + getQueryString();
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>";
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
};
|
||||||
}
|
|
||||||
|
function userList(data) {
|
||||||
|
// console.log(JSON.stringify(data));
|
||||||
function getQueryString() {
|
var html = '';
|
||||||
var param = new URLSearchParams(location.search).get("authGroupSeq");
|
data.forEach(function (e, i) {
|
||||||
// console.log(param)
|
var setUserSeq = e.userSeq;
|
||||||
return param;
|
var setUserIdName = e.userName;
|
||||||
}
|
var setUserId = e.userId;
|
||||||
|
html
|
||||||
|
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
||||||
function getOpr() {
|
+ ' <div class="chk_box">'
|
||||||
$.ajax({
|
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
||||||
type: "GET",
|
+ 'href="javascript:ListToDelete(' + setUserSeq + ')" >'
|
||||||
contentType: "application/json; charset=utf-8",
|
+ setUserIdName + ' (' + setUserId + ')' + '</a>'
|
||||||
async: false,
|
+ '</div>'
|
||||||
datatype: "JSON",
|
+ ' </li>'
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>",
|
});
|
||||||
success: function (data) {
|
return html;
|
||||||
// console.log(JSON.stringify(data));
|
}
|
||||||
data.forEach(function (e, f) {
|
|
||||||
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
function userAdd(seq, val) {
|
||||||
$('#serviceGroup').niceSelect('update');
|
var html = '';
|
||||||
});
|
var userlist = $('#list-user-group-box-ul-list').children('li').attr("id");
|
||||||
}
|
|
||||||
})
|
html
|
||||||
};
|
+= ' <li class="select2-selection__choice" id="' + 'userLi' + seq + '">'
|
||||||
|
+ ' <div class="chk_box">'
|
||||||
|
+ ' <a id="' + 'userseq' + seq + '"'
|
||||||
function getGroupAuthUpdateData() {
|
+ 'href="javascript:ListToDelete(' + seq + ')" >'
|
||||||
var authGroupSeq = "authGroupSeq=" + getQueryString();
|
+ val + '</a>'
|
||||||
$.ajax({
|
+ '</div>'
|
||||||
type: "GET",
|
+ ' </li>'
|
||||||
contentType: "application/json; charset=utf-8",
|
$('#userLi' + seq).remove();
|
||||||
async: false,
|
$('#list-user-group-box-ul-list').prepend(html);
|
||||||
datatype: "JSON",
|
// $('#selectorUser').removeAttr(seq);
|
||||||
data: authGroupSeq,
|
$('#selectorUser' + 'option[value=' + seq + ']').remove();
|
||||||
url: "<c:url value='/admin/common/system/groupAuth/update/select'/>",
|
$('#selectorUser').niceSelect('update');
|
||||||
success: function (data) {
|
|
||||||
// console.log(data.authGroupSeq);
|
|
||||||
// console.log(data.authPolicyVal);
|
}
|
||||||
$('#custCode').val(data.custCode);
|
|
||||||
$('#authGroupSeq').val(data.authGroupSeq);
|
|
||||||
$('#updateGroupName').val(data.policyGroupName);
|
function ListToDelete(setUserSeq) {
|
||||||
$('#updateGroupDesc').val(data.policyGroupDesc);
|
var setVal = $('#userseq' + setUserSeq).text();
|
||||||
treeWrap(data.authPolicyVal, data.mainMenu, data.policyParent);
|
var html = '';
|
||||||
$('#list-user-group-box-ul-list').html(userList(data.userList))
|
html
|
||||||
}
|
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
||||||
})
|
+ ' <div class="chk_box">'
|
||||||
};
|
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
||||||
|
+ 'href="javascript:DeleteToList(' + setUserSeq + ')" >'
|
||||||
function userList(data) {
|
+ setVal + '</a>'
|
||||||
// console.log(JSON.stringify(data));
|
+ '</div>'
|
||||||
var html = '';
|
+ ' </li>';
|
||||||
data.forEach(function (e, i) {
|
$('#userLi' + setUserSeq).remove();
|
||||||
var setUserSeq = e.userSeq;
|
$('#list-user-group-box-ul-delete').append(html);
|
||||||
var setUserIdName = e.userName;
|
|
||||||
var setUserId = e.userId;
|
}
|
||||||
|
|
||||||
|
function DeleteToList(setUserSeq) {
|
||||||
|
var setVal = $('#userseq' + setUserSeq).text();
|
||||||
|
var html = '';
|
||||||
html
|
html
|
||||||
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
||||||
+ ' <div class="chk_box">'
|
+ ' <div class="chk_box">'
|
||||||
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
||||||
+ 'href="javascript:ListToDelete(' + setUserSeq + ')" >'
|
+ 'href="javascript:ListToDelete(' + setUserSeq + ')" >'
|
||||||
+ setUserIdName + ' (' + setUserId + ')' + '</a>'
|
+ setVal + '</a>'
|
||||||
+ '</div>'
|
+ '</div>'
|
||||||
+ ' </li>'
|
+ ' </li>';
|
||||||
});
|
$('#userLi' + setUserSeq).remove();
|
||||||
return html;
|
$('#list-user-group-box-ul-list').append(html);
|
||||||
}
|
|
||||||
|
}
|
||||||
function userAdd(seq, val) {
|
|
||||||
var html = '';
|
|
||||||
var userlist = $('#list-user-group-box-ul-list').children('li').attr("id");
|
|
||||||
|
|
||||||
html
|
|
||||||
+= ' <li class="select2-selection__choice" id="' + 'userLi' + seq + '">'
|
|
||||||
+ ' <div class="chk_box">'
|
|
||||||
+ ' <a id="' + 'userseq' + seq + '"'
|
|
||||||
+ 'href="javascript:ListToDelete(' + seq + ')" >'
|
|
||||||
+ val + '</a>'
|
|
||||||
+ '</div>'
|
|
||||||
+ ' </li>'
|
|
||||||
$('#userLi' + seq).remove();
|
|
||||||
$('#list-user-group-box-ul-list').prepend(html);
|
|
||||||
// $('#selectorUser').removeAttr(seq);
|
|
||||||
$('#selectorUser' + 'option[value=' + seq + ']').remove();
|
|
||||||
$('#selectorUser').niceSelect('update');
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function ListToDelete(setUserSeq) {
|
|
||||||
var setVal = $('#userseq' + setUserSeq).text();
|
|
||||||
var html = '';
|
|
||||||
html
|
|
||||||
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
|
||||||
+ ' <div class="chk_box">'
|
|
||||||
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
|
||||||
+ 'href="javascript:DeleteToList(' + setUserSeq + ')" >'
|
|
||||||
+ setVal + '</a>'
|
|
||||||
+ '</div>'
|
|
||||||
+ ' </li>';
|
|
||||||
$('#userLi' + setUserSeq).remove();
|
|
||||||
$('#list-user-group-box-ul-delete').append(html);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function DeleteToList(setUserSeq) {
|
|
||||||
var setVal = $('#userseq' + setUserSeq).text();
|
|
||||||
var html = '';
|
|
||||||
html
|
|
||||||
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
|
||||||
+ ' <div class="chk_box">'
|
|
||||||
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
|
||||||
+ 'href="javascript:ListToDelete(' + setUserSeq + ')" >'
|
|
||||||
+ setVal + '</a>'
|
|
||||||
+ '</div>'
|
|
||||||
+ ' </li>';
|
|
||||||
$('#userLi' + setUserSeq).remove();
|
|
||||||
$('#list-user-group-box-ul-list').append(html);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function treeWrap(authPolicyVal, mainMenu, policyParent) {
|
|
||||||
var treeData = [];
|
|
||||||
mainMenu.forEach(function (e, i) {
|
|
||||||
if (authPolicyVal.includes(e.authName)) {
|
|
||||||
treeData[i] = {
|
|
||||||
id: e.authName,
|
|
||||||
parent: policyParent[e.authName],
|
|
||||||
text: e.menuName,
|
|
||||||
state: {
|
|
||||||
opened: false,
|
|
||||||
selected: true
|
|
||||||
}
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
treeData[i] = {
|
|
||||||
id: e.authName,
|
|
||||||
parent: policyParent[e.authName],
|
|
||||||
text: e.menuName,
|
|
||||||
state: {
|
|
||||||
opened: false,
|
|
||||||
selected: false
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setTimeout(() => {
|
|
||||||
$('#tree_wrap').jstree({
|
|
||||||
'core': {
|
|
||||||
'data': treeData
|
|
||||||
},
|
|
||||||
"checkbox": {
|
|
||||||
"keep_selected_style": false
|
|
||||||
, "three_state": false
|
|
||||||
},
|
|
||||||
"plugins": ["checkbox"]
|
|
||||||
|
|
||||||
|
|
||||||
|
function treeWrap(authPolicyVal, mainMenu, policyParent) {
|
||||||
|
var treeData = [];
|
||||||
|
mainMenu.forEach(function (e, i) {
|
||||||
|
if (authPolicyVal.includes(e.authName)) {
|
||||||
|
treeData[i] = {
|
||||||
|
id: e.authName,
|
||||||
|
parent: policyParent[e.authName],
|
||||||
|
text: e.menuName,
|
||||||
|
state: {
|
||||||
|
opened: false,
|
||||||
|
selected: true
|
||||||
|
}
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
treeData[i] = {
|
||||||
|
id: e.authName,
|
||||||
|
parent: policyParent[e.authName],
|
||||||
|
text: e.menuName,
|
||||||
|
state: {
|
||||||
|
opened: false,
|
||||||
|
selected: false
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}, "1");
|
setTimeout(() => {
|
||||||
}
|
$('#tree_wrap').jstree({
|
||||||
|
'core': {
|
||||||
|
'data': treeData
|
||||||
|
},
|
||||||
|
"checkbox": {
|
||||||
|
"keep_selected_style": false
|
||||||
|
, "three_state": false
|
||||||
|
},
|
||||||
|
"plugins": ["checkbox"]
|
||||||
|
|
||||||
|
});
|
||||||
|
}, "1");
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
<body>
|
||||||
<h1>대시보드</h1>
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
</header>
|
<h1>대시보드</h1>
|
||||||
<section id="Content" class="system_management">
|
<div class="skip_navigation">
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">그룹별권한 관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
<header id="header">
|
||||||
<div class="sub_cont">
|
</header>
|
||||||
<div class="cont_box">
|
<section id="Content" class="system_management">
|
||||||
<div class="box_title">
|
<div class="location">
|
||||||
<div class="fl">
|
<ul>
|
||||||
<h2 class="mt12">권한그룹편집</h2>
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
|
<li><a href="#">시스템관리</a></li>
|
||||||
|
<li><a href="#">그룹별권한 관리</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||||
|
<div class="sub_cont">
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">권한그룹편집</h2>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="tbl">
|
||||||
<div class="tbl">
|
<table class="edit hght">
|
||||||
<table class="edit hght">
|
<colgroup>
|
||||||
<colgroup>
|
<col width="150px">
|
||||||
<col width="150px">
|
<col width="auto">
|
||||||
<col width="auto">
|
</colgroup>
|
||||||
</colgroup>
|
<tbody>
|
||||||
<tbody>
|
<input type="hidden" id="custCode">
|
||||||
<input type="hidden" id="custCode">
|
<input type="hidden" id="authGroupSeq">
|
||||||
<input type="hidden" id="authGroupSeq">
|
<tr>
|
||||||
<tr>
|
<th class="tl">그룹명</th>
|
||||||
<th class="tl">그룹명</th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="ipt_box">
|
<input type="text" id="updateGroupName" value="인텐트 조회권한" name="" class="">
|
||||||
<input type="text" id="updateGroupName" value="인텐트 조회권한" name="" class="">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<th class="tl">그룹설명</th>
|
||||||
<th class="tl">그룹설명</th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="ipt_box">
|
<input type="text" id="updateGroupDesc" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
||||||
<input type="text" id="updateGroupDesc" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th class="tl">소속사용자 <em class="red">*</em></th>
|
|
||||||
<td>
|
|
||||||
<%-- <div class="ipt_box listen">--%>
|
|
||||||
<%-- <input type="text" placeholder="유저명을 입력하세요" id="userSelBox" name="typeText">--%>
|
|
||||||
<%-- <div class="btn_wrap fl">--%>
|
|
||||||
<%-- <a href="#" id="btnSearchUser" class="btn">조회</a>--%>
|
|
||||||
<%-- </div>--%>
|
|
||||||
<%-- </div>--%>
|
|
||||||
<div class="ipt_box listen type-flex">
|
|
||||||
<input type="text" placeholder="유저명을 입력하세요" id="userSelBox" name="typeText">
|
|
||||||
<a href="#" id="btnSearchUser" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<select id="selectorUser" class="wide">
|
|
||||||
<%-- <option value="ALL">분류 선택</option>--%>
|
|
||||||
<%-- <option value="major">대분류</option>--%>
|
|
||||||
<%-- <option value="minor">중분류</option>--%>
|
|
||||||
</select>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="list-user-group-box">
|
|
||||||
<div class="list-user-group-item">
|
|
||||||
<div class="group-item-title">소속사용자</div>
|
|
||||||
<ul class="list-user-group-box-ul" id="list-user-group-box-ul-list">
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<!-- 2단레이아웃 필요시 list-user-group-item부터 추가-->
|
|
||||||
<div class="list-user-group-item">
|
|
||||||
<div class="group-item-title">소속제외</div>
|
|
||||||
<ul class="list-user-group-box-ul" id="list-user-group-box-ul-delete">
|
|
||||||
|
|
||||||
</ul>
|
<tr>
|
||||||
|
<th class="tl">소속사용자 <em class="red">*</em></th>
|
||||||
|
<td>
|
||||||
|
<div class="ipt_box listen type-flex">
|
||||||
|
<input type="text" placeholder="유저명을 입력하세요" id="userSelBox" name="typeText">
|
||||||
|
<a href="#" id="btnSearchUser" class="btn">조회</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</td>
|
<select id="selectorUser" class="wide">
|
||||||
</tr>
|
</select>
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th class="tl">권한</th>
|
<div class="list-user-group-box">
|
||||||
<td class="tl">
|
<div class="list-user-group-item">
|
||||||
<div class="content tree tree-maxHeight type-chk">
|
<div class="group-item-title">소속사용자</div>
|
||||||
<div class="tree_wrap" id="tree_wrap">
|
<ul class="list-user-group-box-ul" id="list-user-group-box-ul-list">
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- 2단레이아웃 필요시 list-user-group-item부터 추가-->
|
||||||
|
<div class="list-user-group-item">
|
||||||
|
<div class="group-item-title">소속제외</div>
|
||||||
|
<ul class="list-user-group-box-ul" id="list-user-group-box-ul-delete">
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th class="tl">권한</th>
|
||||||
|
<td class="tl">
|
||||||
|
<div class="content tree tree-maxHeight type-chk">
|
||||||
|
<div class="tree_wrap" id="tree_wrap">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="cont_box">
|
<div class="cont_box">
|
||||||
<div class="btn_wrap center">
|
<div class="btn_wrap center">
|
||||||
<%-- <a href="#" class="btn basic grey">삭제</a>--%>
|
<a href="#" class="btn basic grey" id="btnDel">취소</a>
|
||||||
<a href="#" class="btn basic grey" id="btnDel">취소</a>
|
<a href="#" class="btn basic" id="btnSave">저장</a>
|
||||||
<a href="#" class="btn basic" id="btnSave">저장</a>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
@ -1,324 +1,328 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>그룹별권한</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
getOpr();
|
||||||
|
getServiceGroupQueryString();
|
||||||
|
$("#Content").on("keyup", function (key) {
|
||||||
|
if (key.keyCode == 13) {
|
||||||
|
fnCustSearchBtn();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
<head>
|
function getServiceGroupQueryString() {
|
||||||
<meta charset="UTF-8">
|
var param = new URLSearchParams(location.search).get("serviceGroup");
|
||||||
<title>그룹별권한</title>
|
return param;
|
||||||
</head>
|
}
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
$(document).ready(function () {
|
function getOpr() {
|
||||||
getOpr();
|
$.ajax({
|
||||||
getServiceGroupQueryString();
|
type: "GET",
|
||||||
$("#Content").on("keyup", function (key) {
|
contentType: "application/json; charset=utf-8",
|
||||||
if (key.keyCode == 13) {
|
datatype: "JSON",
|
||||||
fnCustSearchBtn();
|
url: "<c:url value='/adm/menu/oprmng'/>",
|
||||||
|
success: function (data) {
|
||||||
|
// console.log(JSON.stringify(data));
|
||||||
|
data.forEach(function (e, f) {
|
||||||
|
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
||||||
|
$('#serviceGroup').niceSelect('update');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
}
|
|
||||||
);
|
<body>
|
||||||
|
|
||||||
function getServiceGroupQueryString() {
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
var param = new URLSearchParams(location.search).get("serviceGroup");
|
<h1>대시보드</h1>
|
||||||
return param;
|
<div class="skip_navigation">
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function getOpr() {
|
|
||||||
$.ajax({
|
|
||||||
type: "GET",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
|
||||||
$('#serviceGroup').niceSelect('update');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
<h1>대시보드</h1>
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
</header>
|
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">그룹별권한 관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
<header id="header">
|
||||||
<div class="sub_cont">
|
</header>
|
||||||
<div class="cont_box">
|
<section id="Content" class="system_management">
|
||||||
<div class="box_title">
|
<div class="location">
|
||||||
<div class="fl">
|
<ul>
|
||||||
<h2 class="mt12">권한그룹편집</h2>
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
|
<li><a href="#">시스템관리</a></li>
|
||||||
|
<li><a href="#">그룹별권한 관리</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||||
|
<div class="sub_cont">
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">권한그룹편집</h2>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="tbl">
|
||||||
<div class="tbl">
|
<table class="edit hght">
|
||||||
<table class="edit hght">
|
<colgroup>
|
||||||
<colgroup>
|
<col width="150px">
|
||||||
<col width="150px">
|
<col width="auto">
|
||||||
<col width="auto">
|
</colgroup>
|
||||||
</colgroup>
|
<tbody>
|
||||||
<tbody>
|
<tr>
|
||||||
<tr>
|
<th class="tl">그룹명</th>
|
||||||
<th class="tl">그룹명</th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="ipt_box">
|
<input type="text" value="인텐트 조회권한" name="" class="">
|
||||||
<input type="text" value="인텐트 조회권한" name="" class="">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<th class="tl">그룹설명</th>
|
||||||
<th class="tl">그룹설명</th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="ipt_box">
|
<input type="text" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
||||||
<input type="text" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<th class="tl">소속사용자 <em class="red">*</em></th>
|
||||||
<th class="tl">소속사용자 <em class="red">*</em></th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box type-flex">
|
||||||
<div class="ipt_box type-flex">
|
<div class="select2-lib-ipt">
|
||||||
<div class="select2-lib-ipt">
|
<select class="select-search" multiple="multiple"></select>
|
||||||
<select class="select-search" multiple="multiple"></select>
|
</div>
|
||||||
|
<a href="#" class="btn">사용자 추가</a>
|
||||||
|
<script src="assets/js/lib/select2.js"></script>
|
||||||
|
<script>
|
||||||
|
const data = [
|
||||||
|
{id: 1, text: '홍길동'},
|
||||||
|
{id: 2, text: '남길동'},
|
||||||
|
{id: 3, text: '재길동'},
|
||||||
|
{id: 4, text: '개길동'},
|
||||||
|
{id: 5, text: '김길동'},
|
||||||
|
{id: 6, text: '이길동'},
|
||||||
|
{id: 7, text: '임길동'}
|
||||||
|
];
|
||||||
|
$(".select-search").select2({
|
||||||
|
placeholder: "사용자를 검색",
|
||||||
|
data: data,
|
||||||
|
tags: true
|
||||||
|
// allowClear: true
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</div>
|
</div>
|
||||||
<a href="#" class="btn">사용자 추가</a>
|
<div class="list-user-group-box">
|
||||||
<script src="assets/js/lib/select2.js"></script>
|
<div class="list-user-group-item">
|
||||||
|
<div class="group-item-title">소속타이틀(필요시 사용)</div>
|
||||||
|
<ul class="list-user-group-box-ul">
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk01" checked>
|
||||||
|
<label for="chk01">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk02" checked>
|
||||||
|
<label for="chk02">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- 2단레이아웃 필요시 list-user-group-item부터 추가-->
|
||||||
|
<!-- <div class="list-user-group-item">
|
||||||
|
<div class="group-item-title">소속타이틀(필요시 사용)</div>
|
||||||
|
<ul class="list-user-group-box-ul">
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk03" checked>
|
||||||
|
<label for="chk03">홍길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<div class="chk_box">
|
||||||
|
<input type="checkbox" name="checkbox" id="chk04" checked>
|
||||||
|
<label for="chk04">김길동</label>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<th class="tl">권한</th>
|
||||||
|
<td class="tl">
|
||||||
<script>
|
<script>
|
||||||
const data = [
|
$(document).ready(function () {
|
||||||
{id: 1, text: '홍길동'},
|
$('.tree_wrap').jstree({
|
||||||
{id: 2, text: '남길동'},
|
"checkbox": {
|
||||||
{id: 3, text: '재길동'},
|
"keep_selected_style": false
|
||||||
{id: 4, text: '개길동'},
|
},
|
||||||
{id: 5, text: '김길동'},
|
"plugins": ["checkbox"]
|
||||||
{id: 6, text: '이길동'},
|
});
|
||||||
{id: 7, text: '임길동'}
|
|
||||||
];
|
|
||||||
$(".select-search").select2({
|
|
||||||
placeholder: "사용자를 검색",
|
|
||||||
data: data,
|
|
||||||
tags: true
|
|
||||||
// allowClear: true
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
<div class="content tree tree-maxHeight type-chk">
|
||||||
<div class="list-user-group-box">
|
<div class="tree_wrap">
|
||||||
<div class="list-user-group-item">
|
<ul>
|
||||||
<div class="group-item-title">소속타이틀(필요시 사용)</div>
|
<li data-jstree='{ "opened" : true }'>root
|
||||||
<ul class="list-user-group-box-ul">
|
<ul>
|
||||||
<li>
|
<li data-jstree='{ "opened" : true }'>주소BOT
|
||||||
<div class="chk_box">
|
<ul>
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
<li>지명 유사어 관리</li>
|
||||||
<label for="chk01">홍길동</label>
|
<li>빌딩 유사어 관리</li>
|
||||||
</div>
|
<li>유의어 전처리 관리</li>
|
||||||
</li>
|
<li>주소봇 멘트 관리</li>
|
||||||
|
<li>발화 건물유형 관리</li>
|
||||||
<li>
|
<li>주소 월별 업데이트</li>
|
||||||
<div class="chk_box">
|
<li>주소처리내역(녹취)</li>
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
</ul>
|
||||||
<label for="chk02">김길동</label>
|
</li>
|
||||||
</div>
|
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
|
||||||
</li>
|
<ul>
|
||||||
|
<li data-jstree='{ "opened" : true }'>서비스별관리
|
||||||
<li>
|
<ul>
|
||||||
<div class="chk_box">
|
<li>요일/시간대별 멘트 관리</li>
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
<li>휴무일 관리</li>
|
||||||
<label for="chk01">홍길동</label>
|
<li>자연어 전처리 관리</li>
|
||||||
</div>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li>공통 코드 관리</li>
|
||||||
<li>
|
</ul>
|
||||||
<div class="chk_box">
|
</li>
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
<li data-jstree='{ "opened" : true }'>무인접수BOT
|
||||||
<label for="chk02">김길동</label>
|
<ul>
|
||||||
</div>
|
<li>무인 접수 리스트</li>
|
||||||
</li>
|
<li>제품군 유의어 관리</li>
|
||||||
|
</ul>
|
||||||
<li>
|
</li>
|
||||||
<div class="chk_box">
|
<li data-jstree='{ "opened" : true }'>영상상담
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
<ul>
|
||||||
<label for="chk01">홍길동</label>
|
<li>컨텐츠등록 관리</li>
|
||||||
</div>
|
<li>영상상담</li>
|
||||||
</li>
|
<li>상담이력 조회</li>
|
||||||
|
</ul>
|
||||||
<li>
|
</li>
|
||||||
<div class="chk_box">
|
</ul>
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
</li>
|
||||||
<label for="chk02">김길동</label>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
|
||||||
<label for="chk01">홍길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
|
||||||
<label for="chk02">김길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
|
||||||
<label for="chk01">홍길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
|
||||||
<label for="chk02">김길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk01" checked>
|
|
||||||
<label for="chk01">홍길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk02" checked>
|
|
||||||
<label for="chk02">김길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 2단레이아웃 필요시 list-user-group-item부터 추가-->
|
</td>
|
||||||
<!-- <div class="list-user-group-item">
|
</tr>
|
||||||
<div class="group-item-title">소속타이틀(필요시 사용)</div>
|
|
||||||
<ul class="list-user-group-box-ul">
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk03" checked>
|
|
||||||
<label for="chk03">홍길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk04" checked>
|
|
||||||
<label for="chk04">김길동</label>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div> -->
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<th class="tl">권한</th>
|
|
||||||
<td class="tl">
|
|
||||||
<script>
|
|
||||||
$(document).ready(function () {
|
|
||||||
$('.tree_wrap').jstree({
|
|
||||||
"checkbox": {
|
|
||||||
"keep_selected_style": false
|
|
||||||
},
|
|
||||||
"plugins": ["checkbox"]
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<div class="content tree tree-maxHeight type-chk">
|
|
||||||
<div class="tree_wrap">
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>root
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>주소BOT
|
|
||||||
<ul>
|
|
||||||
<li>지명 유사어 관리</li>
|
|
||||||
<li>빌딩 유사어 관리</li>
|
|
||||||
<li>유의어 전처리 관리</li>
|
|
||||||
<li>주소봇 멘트 관리</li>
|
|
||||||
<li>발화 건물유형 관리</li>
|
|
||||||
<li>주소 월별 업데이트</li>
|
|
||||||
<li>주소처리내역(녹취)</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>서비스별관리
|
|
||||||
<ul>
|
|
||||||
<li>요일/시간대별 멘트 관리</li>
|
|
||||||
<li>휴무일 관리</li>
|
|
||||||
<li>자연어 전처리 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>공통 코드 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>무인접수BOT
|
|
||||||
<ul>
|
|
||||||
<li>무인 접수 리스트</li>
|
|
||||||
<li>제품군 유의어 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>영상상담
|
|
||||||
<ul>
|
|
||||||
<li>컨텐츠등록 관리</li>
|
|
||||||
<li>영상상담</li>
|
|
||||||
<li>상담이력 조회</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="cont_box">
|
<div class="cont_box">
|
||||||
<div class="btn_wrap center">
|
<div class="btn_wrap center">
|
||||||
<a href="#" class="btn basic grey">취소</a>
|
<a href="#" class="btn basic grey">취소</a>
|
||||||
<a href="#" class="btn basic">저장</a>
|
<a href="#" class="btn basic">저장</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
@ -1,304 +1,306 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>정책별메뉴</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>정책별메뉴</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
getOpr();
|
||||||
|
|
||||||
<script>
|
PagingDataTable();
|
||||||
$(document).ready(function () {
|
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||||
getOpr();
|
var data = $('#listTable').DataTable().row(this).data();
|
||||||
|
viewPage(data)
|
||||||
|
});
|
||||||
|
|
||||||
PagingDataTable();
|
$('#btnSearchOpr').on('click', function () {
|
||||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
|
||||||
var data = $('#listTable').DataTable().row(this).data();
|
|
||||||
viewPage(data)
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnSearchOpr').on('click', function () {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#Content").on("keyup", function (key) {
|
|
||||||
if (key.keyCode == 13) {
|
|
||||||
fnCustSearchBtn();
|
fnCustSearchBtn();
|
||||||
}
|
});
|
||||||
|
|
||||||
|
$("#Content").on("keyup", function (key) {
|
||||||
|
if (key.keyCode == 13) {
|
||||||
|
fnCustSearchBtn();
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
function getOpr() {
|
function getOpr() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
datatype: "JSON",
|
datatype: "JSON",
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>",
|
url: "<c:url value='/adm/menu/oprmng'/>",
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
// console.log(JSON.stringify(data));
|
// console.log(JSON.stringify(data));
|
||||||
data.forEach(function (e, f) {
|
data.forEach(function (e, f) {
|
||||||
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
||||||
$('#serviceGroup').niceSelect('update');
|
$('#serviceGroup').niceSelect('update');
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
var PagingDataTable = function () {
|
var PagingDataTable = function () {
|
||||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||||
$('#listTable').DataTable(
|
$('#listTable').DataTable(
|
||||||
{
|
{
|
||||||
ajax: {
|
ajax: {
|
||||||
url: "<c:url value='/admin/common/system/policyMenu/list'/>",
|
url: "<c:url value='/admin/common/system/policyMenu/list'/>",
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
dataType: "JSON",
|
dataType: "JSON",
|
||||||
data: function (data) {
|
data: function (data) {
|
||||||
var json = {};
|
var json = {};
|
||||||
if (data) {
|
if (data) {
|
||||||
json.page = data.start / data.length;
|
json.page = data.start / data.length;
|
||||||
json.size = 10
|
json.size = 10
|
||||||
json.serviceGroup = $("#serviceGroup option:selected").val();
|
json.serviceGroup = $("#serviceGroup option:selected").val();
|
||||||
json.codeText1 = $('#codeText1').val();
|
json.codeText1 = $('#codeText1').val();
|
||||||
json.codeText2 = $('#codeText2').val();
|
json.codeText2 = $('#codeText2').val();
|
||||||
json.codeText3 = $('#codeText3').val();
|
json.codeText3 = $('#codeText3').val();
|
||||||
} else {
|
} else {
|
||||||
json = JSON.stringify({'page': 0, 'size': 10});
|
json = JSON.stringify({'page': 0, 'size': 10});
|
||||||
|
}
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
return JSON.stringify(json);
|
,
|
||||||
}
|
dataFilter: function (data) {
|
||||||
,
|
var jsons = jQuery.parseJSON(data);
|
||||||
dataFilter: function (data) {
|
// console.log(JSON.stringify(data));
|
||||||
var jsons = jQuery.parseJSON(data);
|
var json = {};
|
||||||
// console.log(JSON.stringify(data));
|
json.recordsTotal = jsons.getTotal;
|
||||||
var json = {};
|
json.recordsFiltered = jsons.getTotal;
|
||||||
json.recordsTotal = jsons.getTotal;
|
json.data = jsons.getList;
|
||||||
json.recordsFiltered = jsons.getTotal;
|
// console.log(json);
|
||||||
json.data = jsons.getList;
|
return JSON.stringify(json);
|
||||||
// console.log(json);
|
|
||||||
return JSON.stringify(json);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
columns: [
|
|
||||||
{data: "custCode"},
|
|
||||||
{data: "custName"},
|
|
||||||
{data: "serviceGroup"},
|
|
||||||
{data: "serviceGroupName"},
|
|
||||||
{data: "policyVal"},
|
|
||||||
{data: "policyName"},
|
|
||||||
{data: "menuName"},
|
|
||||||
{data: "menuSeq"}
|
|
||||||
],
|
|
||||||
order: [0, "asc"],
|
|
||||||
scrollX: false,
|
|
||||||
scrollY: false,
|
|
||||||
autoWidth: false,
|
|
||||||
searching: false,
|
|
||||||
bProcessing: false,
|
|
||||||
sProcessing: false,
|
|
||||||
bServerSide: true,
|
|
||||||
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"l><"pull-right"f><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"ip>>>',
|
|
||||||
// pagingType: "first_last_numbers"
|
|
||||||
|
|
||||||
columnDefs: [
|
|
||||||
{
|
|
||||||
targets: 0,
|
|
||||||
visible: false,
|
|
||||||
searchable: false,
|
|
||||||
render: function (data) {
|
|
||||||
// console.log(data)
|
|
||||||
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 1,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
columns: [
|
||||||
targets: 2,
|
{data: "custCode"},
|
||||||
visible: false,
|
{data: "custName"},
|
||||||
searchable: false,
|
{data: "serviceGroup"},
|
||||||
render: function (data) {
|
{data: "serviceGroupName"},
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
{data: "policyVal"},
|
||||||
}
|
{data: "policyName"},
|
||||||
},
|
{data: "menuName"},
|
||||||
{
|
{data: "menuSeq"}
|
||||||
targets: 3,
|
],
|
||||||
render: function (data) {
|
order: [0, "asc"],
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
scrollX: false,
|
||||||
}
|
scrollY: false,
|
||||||
},
|
autoWidth: false,
|
||||||
{
|
searching: false,
|
||||||
targets: 4,
|
bProcessing: false,
|
||||||
render: function (data) {
|
sProcessing: false,
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
bServerSide: true,
|
||||||
}
|
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"l><"pull-right"f><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"ip>>>',
|
||||||
},
|
// pagingType: "first_last_numbers"
|
||||||
{
|
|
||||||
targets: 5,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 6,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 7,
|
|
||||||
visible: false,
|
|
||||||
searchable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
function fnCustSearchBtn() {
|
columnDefs: [
|
||||||
$('#listTable').DataTable().ajax.reload();
|
{
|
||||||
};
|
targets: 0,
|
||||||
|
visible: false,
|
||||||
</script>
|
searchable: false,
|
||||||
|
render: function (data) {
|
||||||
<body>
|
// console.log(data)
|
||||||
|
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 1,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 4,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 5,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 6,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 7,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
<div class="skip_navigation">
|
function fnCustSearchBtn() {
|
||||||
<ul>
|
$('#listTable').DataTable().ajax.reload();
|
||||||
<li>
|
};
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
</script>
|
||||||
</header>
|
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
<section id="Content" class="system_management">
|
<div class="skip_navigation">
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템 관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">정책별 메뉴</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sub_cont menu06_01_03">
|
<header id="header">
|
||||||
<div class="cont_box">
|
</header>
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">정책별 메뉴 조회</h2>
|
<section id="Content" class="system_management">
|
||||||
</div>
|
<div class="location">
|
||||||
<div class="fr">
|
<ul>
|
||||||
<div class="btn_wrap fl">
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
<li><a href="#">시스템 관리</a></li>
|
||||||
|
<li><a href="#">정책별 메뉴</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sub_cont menu06_01_03">
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">정책별 메뉴 조회</h2>
|
||||||
|
</div>
|
||||||
|
<div class="fr">
|
||||||
|
<div class="btn_wrap fl">
|
||||||
|
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tbl">
|
<div class="tbl">
|
||||||
<table class="search block">
|
<table class="search block">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="140px">
|
<col width="140px">
|
||||||
<col width="40%">
|
<col width="40%">
|
||||||
<col width="140px">
|
<col width="140px">
|
||||||
<col width="40%">
|
<col width="40%">
|
||||||
<%-- <col width="140px">--%>
|
</colgroup>
|
||||||
<%-- <col width="25%">--%>
|
<tbody>
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="tl">시나리오그룹</th>
|
<th class="tl">시나리오그룹</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="sel_box">
|
<div class="sel_box">
|
||||||
<select id="serviceGroup" class="wide">
|
<select id="serviceGroup" class="wide">
|
||||||
<option value="ALL">전체</option>
|
<option value="ALL">전체</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<th class="tl">정책코드</th>
|
<th class="tl">정책코드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="ipt_box listen">
|
<div class="ipt_box listen">
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText1" name="typeText1">
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText1" name="typeText1">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="tl">정책명</th>
|
<th class="tl">정책명</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="ipt_box listen">
|
<div class="ipt_box listen">
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText2" name="typeText2">
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText2" name="typeText2">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<th class="tl">메뉴명</th>
|
<th class="tl">메뉴명</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="ipt_box listen">
|
<div class="ipt_box listen">
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText3" name="typeText3">
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText3" name="typeText3">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">정책별 메뉴 리스트</h2>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">정책별 메뉴 리스트</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="tbl">
|
<div class="tbl">
|
||||||
<form id="custListForm">
|
<form id="custListForm">
|
||||||
<table id="listTable" class="">
|
<table id="listTable" class="">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
<col width="auto">
|
<col width="auto">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>고객코드</th>
|
<th>고객코드</th>
|
||||||
<th>고객사</th>
|
<th>고객사</th>
|
||||||
<th>서비스그룹</th>
|
<th>서비스그룹</th>
|
||||||
<th>서비스그룹명</th>
|
<th>서비스그룹명</th>
|
||||||
<th>정책코드</th>
|
<th>정책코드</th>
|
||||||
<th>정책명</th>
|
<th>정책명</th>
|
||||||
<th>메뉴명</th>
|
<th>메뉴명</th>
|
||||||
<th>메뉴번호</th>
|
<th>메뉴번호</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
</section>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,458 +1,463 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
<head>
|
layout:decorate="~{layout/layout}">
|
||||||
<meta charset="UTF-8">
|
<th:block layout:fragment="content">
|
||||||
<title>서비스그룹 관리</title>
|
|
||||||
</head>
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
<script>
|
<title>서비스그룹 관리</title>
|
||||||
$(document).ready(function () {
|
</head>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$('.tbl-card-li').each(function () {
|
||||||
|
$(this).find('.tbl-card-title').on('click', function () {
|
||||||
|
$(this).parents('.tbl-card-li').toggleClass('on');
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.tbl-card').find('.tbl-card-li .title-connect').each(function () {
|
||||||
|
const submitVal = $(this).val();
|
||||||
|
if (submitVal.length > 0) {
|
||||||
|
$(this).parents('.tbl-card-li').find('.title-connected').text(submitVal);
|
||||||
|
}
|
||||||
|
$(this).on('keyup', function () {
|
||||||
|
const thisVal = $(this).val();
|
||||||
|
|
||||||
$('.tbl-card-li').each(function () {
|
if (thisVal.length === 0) {
|
||||||
$(this).find('.tbl-card-title').on('click', function () {
|
$(this).parents('.tbl-card-li').find('.title-connected').text('새로운 시나리오 그룹');
|
||||||
$(this).parents('.tbl-card-li').toggleClass('on');
|
} else {
|
||||||
})
|
$(this).parents('.tbl-card-li').find('.title-connected').text(thisVal);
|
||||||
});
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
$('.tbl-card').find('.tbl-card-li .title-connect').each(function () {
|
getServiceGroupQueryString();
|
||||||
const submitVal = $(this).val();
|
getServiceGroupViewData();
|
||||||
if (submitVal.length > 0) {
|
|
||||||
$(this).parents('.tbl-card-li').find('.title-connected').text(submitVal);
|
|
||||||
}
|
|
||||||
$(this).on('keyup', function () {
|
|
||||||
const thisVal = $(this).val();
|
|
||||||
|
|
||||||
if (thisVal.length === 0) {
|
|
||||||
$(this).parents('.tbl-card-li').find('.title-connected').text('새로운 시나리오 그룹');
|
|
||||||
} else {
|
|
||||||
$(this).parents('.tbl-card-li').find('.title-connected').text(thisVal);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
|
|
||||||
getServiceGroupQueryString();
|
function getServiceGroupQueryString() {
|
||||||
getServiceGroupViewData();
|
var param = new URLSearchParams(location.search).get("serviceGroup");
|
||||||
|
// console.log(param);
|
||||||
});
|
return param;
|
||||||
|
}
|
||||||
function getServiceGroupQueryString() {
|
|
||||||
var param = new URLSearchParams(location.search).get("serviceGroup");
|
|
||||||
// console.log(param);
|
|
||||||
return param;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getServiceGroupViewData() {
|
function getServiceGroupViewData() {
|
||||||
|
|
||||||
if (getServiceGroupQueryString() == null) {
|
if (getServiceGroupQueryString() == null) {
|
||||||
//유저어드민
|
//유저어드민
|
||||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>";
|
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>";
|
||||||
} else {
|
} else {
|
||||||
//시스템어드민
|
//시스템어드민
|
||||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + getServiceGroupQueryString();
|
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + getServiceGroupQueryString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
contentType: "application/json; charset=utf-8",
|
contentType: "application/json; charset=utf-8",
|
||||||
datatype: "JSON",
|
datatype: "JSON",
|
||||||
url: setUrl,
|
url: setUrl,
|
||||||
success: function (data) {
|
success: function (data) {
|
||||||
// console.log(JSON.stringify(data));
|
// console.log(JSON.stringify(data));
|
||||||
|
|
||||||
var html = '';
|
var html = '';
|
||||||
|
|
||||||
// for (var i=0; i < data.subServiceGroupRes.length; i++) {
|
// for (var i=0; i < data.subServiceGroupRes.length; i++) {
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
|
|
||||||
$('#mainServiceGroupName').val(data.mainServiceGroup);
|
$('#mainServiceGroupName').val(data.mainServiceGroup);
|
||||||
$('#mainServiceGroup').val(data.mainServiceGroupName);
|
$('#mainServiceGroup').val(data.mainServiceGroupName);
|
||||||
$('#mainUseYn').val(data.mainUseYn);
|
$('#mainUseYn').val(data.mainUseYn);
|
||||||
$('#mainOprMngCode').val(data.mainOprMngCode);
|
$('#mainOprMngCode').val(data.mainOprMngCode);
|
||||||
|
|
||||||
|
|
||||||
data.subServiceGroupRes.forEach(function (e, i) {
|
data.subServiceGroupRes.forEach(function (e, i) {
|
||||||
html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">'
|
html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">'
|
||||||
+ '<div class="tbl-card-li-inner">'
|
+ '<div class="tbl-card-li-inner">'
|
||||||
+ '<div class="tbl-card-title" id="tbl-card-title' + i + '">'
|
+ '<div class="tbl-card-title" id="tbl-card-title' + i + '">'
|
||||||
+ ' <div class="fl title-connected">' + e.subServiceGroup + '</div>'
|
+ ' <div class="fl title-connected">' + e.subServiceGroup + '</div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' <div class="tbl-card-data">'
|
+ ' <div class="tbl-card-data">'
|
||||||
+ ' <div class="box-title">'
|
+ ' <div class="box-title">'
|
||||||
+ ' <div class="btn_wrap fr">'
|
+ ' <div class="btn_wrap fr">'
|
||||||
+ ' <a href="#" class="btn grey">-삭제</a>'
|
+ ' <a href="#" class="btn grey">-삭제</a>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' <div class="tbl">'
|
+ ' <div class="tbl">'
|
||||||
+ ' <table class="edit hght">'
|
+ ' <table class="edit hght">'
|
||||||
+ ' <colgroup>'
|
+ ' <colgroup>'
|
||||||
+ ' <col width = "150px" >'
|
+ ' <col width = "150px" >'
|
||||||
+ ' <col width = "auto" >'
|
+ ' <col width = "auto" >'
|
||||||
+ ' </colgroup>'
|
+ ' </colgroup>'
|
||||||
+ ' <tbody>'
|
+ ' <tbody>'
|
||||||
+ ' <tr>'
|
+ ' <tr>'
|
||||||
+ ' <th class="tl">시나리오 그룹명</th>'
|
+ ' <th class="tl">시나리오 그룹명</th>'
|
||||||
+ ' <td>'
|
+ ' <td>'
|
||||||
+ ' <div class="ipt_box">'
|
+ ' <div class="ipt_box">'
|
||||||
+ ' <input type="text" id="subServiceGroup' + i + '" value="' + e.subServiceGroup + '" name=""'
|
+ ' <input type="text" id="subServiceGroup' + i + '" value="' + e.subServiceGroup + '" name=""'
|
||||||
+ ' class="title-connect" readonly>'
|
+ ' class="title-connect" readonly>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </td>'
|
+ ' </td>'
|
||||||
+ ' </tr>'
|
+ ' </tr>'
|
||||||
+ ' <tr>'
|
+ ' <tr>'
|
||||||
+ ' <th class="tl">시나리오 그룹코드</th>'
|
+ ' <th class="tl">시나리오 그룹코드</th>'
|
||||||
+ ' <td>'
|
+ ' <td>'
|
||||||
+ ' <div class="ipt_box type-flex">'
|
+ ' <div class="ipt_box type-flex">'
|
||||||
+ ' <input type="text" id="subServiceGroupName' + i + '" value="' + e.subOprMngCode + '" name="" class="" readonly>'
|
+ ' <input type="text" id="subServiceGroupName' + i + '" value="' + e.subOprMngCode + '" name="" class="" readonly>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' <div class="ipt_box ">'
|
+ ' <div class="ipt_box ">'
|
||||||
+ ' <div class="create-code-list">'
|
+ ' <div class="create-code-list">'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </td>'
|
+ ' </td>'
|
||||||
+ ' </tr>'
|
+ ' </tr>'
|
||||||
+ ' <tr>'
|
+ ' <tr>'
|
||||||
+ ' <th class="tl">시나리오그룹 설명</th>'
|
+ ' <th class="tl">시나리오그룹 설명</th>'
|
||||||
+ ' <td>'
|
+ ' <td>'
|
||||||
+ ' <div class="ipt_box">'
|
+ ' <div class="ipt_box">'
|
||||||
+ ' <input type="text" value="' + e.subServiceGroupDesc + '" name="" class="" readonly>'
|
+ ' <input type="text" value="' + e.subServiceGroupDesc + '" name="" class="" readonly>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </td>'
|
+ ' </td>'
|
||||||
+ ' </tr>'
|
+ ' </tr>'
|
||||||
+ ' <tr>'
|
+ ' <tr>'
|
||||||
+ ' <th class="tl">사용여부 <em class="red">*</em></th>'
|
+ ' <th class="tl">사용여부 <em class="red">*</em></th>'
|
||||||
+ ' <td>'
|
+ ' <td>'
|
||||||
+ ' <div class="sel_box">'
|
+ ' <div class="sel_box">'
|
||||||
+ ' <select class="wide">'
|
+ ' <select class="wide">'
|
||||||
+ ' <option value="" selected>' + e.subUseYn + '</option>'
|
+ ' <option value="" selected>' + e.subUseYn + '</option>'
|
||||||
+ ' </select>'
|
+ ' </select>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </td>'
|
+ ' </td>'
|
||||||
+ ' </tr>'
|
+ ' </tr>'
|
||||||
+ ' <tr>'
|
+ ' <tr>'
|
||||||
+ ' <th class="tl">권한부여</th>'
|
+ ' <th class="tl">권한부여</th>'
|
||||||
+ ' <td class="tl">'
|
+ ' <td class="tl">'
|
||||||
+ ' <div class="content tree tree-maxHeight type-chk">'
|
+ ' <div class="content tree tree-maxHeight type-chk">'
|
||||||
+ ' <div class="tree_wrap">'
|
+ ' <div class="tree_wrap">'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">root'
|
+ ' <li data-jstree="{ "opened" : true }">root'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">주소BOT'
|
+ ' <li data-jstree="{ "opened" : true }">주소BOT'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li>지명 유사어 관리</li>'
|
+ ' <li>지명 유사어 관리</li>'
|
||||||
+ ' <li>빌딩 유사어 관리</li>'
|
+ ' <li>빌딩 유사어 관리</li>'
|
||||||
+ ' <li>유의어 전처리 관리</li>'
|
+ ' <li>유의어 전처리 관리</li>'
|
||||||
+ ' <li>주소봇 멘트 관리</li>'
|
+ ' <li>주소봇 멘트 관리</li>'
|
||||||
+ ' <li>발화 건물유형 관리</li>'
|
+ ' <li>발화 건물유형 관리</li>'
|
||||||
+ ' <li>주소 월별 업데이트</li>'
|
+ ' <li>주소 월별 업데이트</li>'
|
||||||
+ ' <li>주소처리내역(녹취)</li>'
|
+ ' <li>주소처리내역(녹취)</li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">BOT 공통 관리'
|
+ ' <li data-jstree="{ "opened" : true }">BOT 공통 관리'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">서비스별관리'
|
+ ' <li data-jstree="{ "opened" : true }">서비스별관리'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li>요일/시간대별 멘트 관리</li>'
|
+ ' <li>요일/시간대별 멘트 관리</li>'
|
||||||
+ ' <li>휴무일 관리</li>'
|
+ ' <li>휴무일 관리</li>'
|
||||||
+ ' <li>자연어 전처리 관리</li>'
|
+ ' <li>자연어 전처리 관리</li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' <li>공통 코드 관리</li>'
|
+ ' <li>공통 코드 관리</li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">무인접수BOT'
|
+ ' <li data-jstree="{ "opened" : true }">무인접수BOT'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li>무인 접수 리스트</li>'
|
+ ' <li>무인 접수 리스트</li>'
|
||||||
+ ' <li>제품군 유의어 관리</li>'
|
+ ' <li>제품군 유의어 관리</li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' <li data-jstree="{ "opened" : true }">영상상담'
|
+ ' <li data-jstree="{ "opened" : true }">영상상담'
|
||||||
+ ' <ul>'
|
+ ' <ul>'
|
||||||
+ ' <li>컨텐츠등록 관리</li>'
|
+ ' <li>컨텐츠등록 관리</li>'
|
||||||
+ ' <li>영상상담</li>'
|
+ ' <li>영상상담</li>'
|
||||||
+ ' <li>상담이력 조회</li>'
|
+ ' <li>상담이력 조회</li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
+ ' </ul>'
|
+ ' </ul>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </td>'
|
+ ' </td>'
|
||||||
+ ' </tr>'
|
+ ' </tr>'
|
||||||
+ ' </tbody>'
|
+ ' </tbody>'
|
||||||
+ ' </table>'
|
+ ' </table>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </div>'
|
+ ' </div>'
|
||||||
+ ' </li>'
|
+ ' </li>'
|
||||||
|
|
||||||
$('#tbl-card').html(html);
|
$('#tbl-card').html(html);
|
||||||
|
|
||||||
$('.tbl-card-li').each(function () {
|
$('.tbl-card-li').each(function () {
|
||||||
$(this).find('.tbl-card-title').on('click', function () {
|
$(this).find('.tbl-card-title').on('click', function () {
|
||||||
$(this).parents('.tbl-card-li').toggleClass('on');
|
$(this).parents('.tbl-card-li').toggleClass('on');
|
||||||
})
|
})
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
// $('#mainServiceGroupName').set(data.mainServiceGroup).val();
|
|
||||||
// $('#mainServiceGroup').set(data.mainServiceGroupName).val();
|
|
||||||
// $('#useYn').set(data.useYn).val();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
// $('#mainServiceGroupName').set(data.mainServiceGroup).val();
|
||||||
|
// $('#mainServiceGroup').set(data.mainServiceGroupName).val();
|
||||||
|
// $('#useYn').set(data.useYn).val();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<body>
|
<header id="header">
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
</header>
|
||||||
|
|
||||||
<div class="skip_navigation">
|
<body>
|
||||||
<ul>
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<section id="Content" class="system_management">
|
<div class="skip_navigation">
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">서비스그룹 관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
<div class="sub_cont">
|
|
||||||
<div class="cont_box">
|
<section id="Content" class="system_management">
|
||||||
<div class="box_title">
|
<div class="location">
|
||||||
<div class="fl">
|
<ul>
|
||||||
<h2 class="mt12">서비스 그룹관리</h2>
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
|
<li><a href="#">시스템관리</a></li>
|
||||||
|
<li><a href="#">서비스그룹 관리</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||||
|
<div class="sub_cont">
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">서비스 그룹관리</h2>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="tbl">
|
||||||
<div class="tbl">
|
<table class="edit hght">
|
||||||
<table class="edit hght">
|
<colgroup>
|
||||||
<colgroup>
|
<col width="150px">
|
||||||
<col width="150px">
|
<col width="auto">
|
||||||
<col width="auto">
|
</colgroup>
|
||||||
</colgroup>
|
<tbody>
|
||||||
<tbody>
|
|
||||||
|
<tr>
|
||||||
<tr>
|
<th class="tl">서비스그룹</th>
|
||||||
<th class="tl">서비스그룹</th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="ipt_box">
|
<input type="text" id="mainServiceGroupName" name="" class="" readonly>
|
||||||
<%-- <input type="text" id="mainServiceGroupName" value="mainServiceGroup" name="" class="" readonly>--%>
|
</div>
|
||||||
<input type="text" id="mainServiceGroupName" name="" class="" readonly>
|
</td>
|
||||||
</div>
|
</tr>
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="tl">서비스코드</th>
|
<th class="tl">서비스코드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="ipt_box type-flex">
|
<div class="ipt_box type-flex">
|
||||||
<input type="text" id="mainServiceGroup" value="codecode" name="" class="" readonly>
|
<input type="text" id="mainServiceGroup" value="codecode" name="" class="" readonly>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="tl">시나리오코드</th>
|
<th class="tl">시나리오코드</th>
|
||||||
<td>
|
<td>
|
||||||
<div class="ipt_box type-flex">
|
<div class="ipt_box type-flex">
|
||||||
<input type="text" id="mainOprMngCode" value="codecode" name="" class="" readonly>
|
<input type="text" id="mainOprMngCode" value="codecode" name="" class="" readonly>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<th class="tl">사용여부</th>
|
<th class="tl">사용여부</th>
|
||||||
<td>
|
<td>
|
||||||
<input type="text" id="mainUseYn" value="Y" name="" class="" readonly>
|
<input type="text" id="mainUseYn" value="Y" name="" class="" readonly>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="cont_box">
|
<div class="cont_box">
|
||||||
|
|
||||||
<div class="box_title">
|
<div class="box_title">
|
||||||
<div class="fl">
|
<div class="fl">
|
||||||
<h2 class="mt12">시나리오 그룹 <em class="red">*</em></h2>
|
<h2 class="mt12">시나리오 그룹 <em class="red">*</em></h2>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap fr">
|
||||||
|
<a href="#" class="btn">추가</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn">추가</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tbl-card-wrap">
|
<div class="tbl-card-wrap">
|
||||||
<ul class="tbl-card" id="tbl-card">
|
<ul class="tbl-card" id="tbl-card">
|
||||||
<li class="tbl-card-li">
|
<li class="tbl-card-li">
|
||||||
<div class="tbl-card-li-inner">
|
<div class="tbl-card-li-inner">
|
||||||
<div class="tbl-card-title">
|
<div class="tbl-card-title">
|
||||||
<div class="fl title-connected">새로운 시나리오 그룹</div>
|
<div class="fl title-connected">새로운 시나리오 그룹</div>
|
||||||
</div>
|
|
||||||
<div class="tbl-card-data">
|
|
||||||
<div class="box-title">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn grey">-삭제</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="tbl">
|
<div class="tbl-card-data">
|
||||||
<table class="edit hght">
|
<div class="box-title">
|
||||||
<colgroup>
|
<div class="btn_wrap fr">
|
||||||
<col width="150px">
|
<a href="#" class="btn grey">-삭제</a>
|
||||||
<col width="auto">
|
</div>
|
||||||
</colgroup>
|
</div>
|
||||||
<tbody>
|
<div class="tbl">
|
||||||
<tr>
|
<table class="edit hght">
|
||||||
<th class="tl">시나리오 그룹명</th>
|
<colgroup>
|
||||||
<td>
|
<col width="150px">
|
||||||
<div class="ipt_box">
|
<col width="auto">
|
||||||
<input type="text" id="subServiceGroup" value="시나리오그룹 1" name=""
|
</colgroup>
|
||||||
class="title-connect">
|
<tbody>
|
||||||
</div>
|
<tr>
|
||||||
</td>
|
<th class="tl">시나리오 그룹명</th>
|
||||||
</tr>
|
<td>
|
||||||
<tr>
|
<div class="ipt_box">
|
||||||
<th class="tl">시나리오 그룹코드</th>
|
<input type="text" id="subServiceGroup" value="시나리오그룹 1" name=""
|
||||||
<td>
|
class="title-connect">
|
||||||
<div class="ipt_box type-flex">
|
</div>
|
||||||
<input type="text" id="subServiceGroupName" value="UPLUS_RCP_DAISO"
|
</td>
|
||||||
name="" class="">
|
</tr>
|
||||||
<a href="#" class="btn grey">중복확인</a>
|
<tr>
|
||||||
</div>
|
<th class="tl">시나리오 그룹코드</th>
|
||||||
<div class="ipt_box ">
|
<td>
|
||||||
<div class="create-code-list">
|
<div class="ipt_box type-flex">
|
||||||
<spna class="create-code">
|
<input type="text" id="subServiceGroupName"
|
||||||
UPLUS_RCP_DAISO
|
value="UPLUS_RCP_DAISO"
|
||||||
|
name="" class="">
|
||||||
</spna>
|
<a href="#" class="btn grey">중복확인</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="ipt_box ">
|
||||||
</td>
|
<div class="create-code-list">
|
||||||
</tr>
|
<spna class="create-code">
|
||||||
<tr>
|
UPLUS_RCP_DAISO
|
||||||
<th class="tl">시나리오그룹 설명</th>
|
|
||||||
<td>
|
</spna>
|
||||||
<div class="ipt_box">
|
</div>
|
||||||
<input type="text" value="입력된 설명입니다..." name="" class="">
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
<tr>
|
||||||
<tr>
|
<th class="tl">시나리오그룹 설명</th>
|
||||||
<th class="tl">사용여부 <em class="red">*</em></th>
|
<td>
|
||||||
<td>
|
<div class="ipt_box">
|
||||||
<div class="sel_box">
|
<input type="text" value="입력된 설명입니다..." name="" class="">
|
||||||
<select class="wide">
|
</div>
|
||||||
<option value="" selected>Y</option>
|
</td>
|
||||||
</select>
|
</tr>
|
||||||
</div>
|
<tr>
|
||||||
</td>
|
<th class="tl">사용여부 <em class="red">*</em></th>
|
||||||
</tr>
|
<td>
|
||||||
<tr>
|
<div class="sel_box">
|
||||||
<th class="tl">권한부여</th>
|
<select class="wide">
|
||||||
<td class="tl">
|
<option value="" selected>Y</option>
|
||||||
<script>
|
</select>
|
||||||
$(document).ready(function () {
|
</div>
|
||||||
$('.tree_wrap').jstree({
|
</td>
|
||||||
"checkbox": {
|
</tr>
|
||||||
"keep_selected_style": false
|
<tr>
|
||||||
, "three_state": false
|
<th class="tl">권한부여</th>
|
||||||
},
|
<td class="tl">
|
||||||
"plugins": ["checkbox"]
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
$('.tree_wrap').jstree({
|
||||||
|
"checkbox": {
|
||||||
|
"keep_selected_style": false
|
||||||
|
, "three_state": false
|
||||||
|
},
|
||||||
|
"plugins": ["checkbox"]
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
</script>
|
||||||
</script>
|
<div class="content tree tree-maxHeight type-chk">
|
||||||
<div class="content tree tree-maxHeight type-chk">
|
<div class="tree_wrap">
|
||||||
<div class="tree_wrap">
|
<ul>
|
||||||
<ul>
|
<li data-jstree='{ "opened" : true }'>root
|
||||||
<li data-jstree='{ "opened" : true }'>root
|
<ul>
|
||||||
<ul>
|
<li data-jstree='{ "opened" : true }'>주소BOT
|
||||||
<li data-jstree='{ "opened" : true }'>주소BOT
|
<ul>
|
||||||
<ul>
|
<li>지명 유사어 관리</li>
|
||||||
<li>지명 유사어 관리</li>
|
<li>빌딩 유사어 관리</li>
|
||||||
<li>빌딩 유사어 관리</li>
|
<li>유의어 전처리 관리</li>
|
||||||
<li>유의어 전처리 관리</li>
|
<li>주소봇 멘트 관리</li>
|
||||||
<li>주소봇 멘트 관리</li>
|
<li>발화 건물유형 관리</li>
|
||||||
<li>발화 건물유형 관리</li>
|
<li>주소 월별 업데이트</li>
|
||||||
<li>주소 월별 업데이트</li>
|
<li>주소처리내역(녹취)</li>
|
||||||
<li>주소처리내역(녹취)</li>
|
</ul>
|
||||||
</ul>
|
</li>
|
||||||
</li>
|
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
|
||||||
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
|
<ul>
|
||||||
<ul>
|
<li data-jstree='{ "opened" : true }'>
|
||||||
<li data-jstree='{ "opened" : true }'>서비스별관리
|
서비스별관리
|
||||||
<ul>
|
<ul>
|
||||||
<li>요일/시간대별 멘트 관리</li>
|
<li>요일/시간대별 멘트 관리</li>
|
||||||
<li>휴무일 관리</li>
|
<li>휴무일 관리</li>
|
||||||
<li>자연어 전처리 관리</li>
|
<li>자연어 전처리 관리</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li>공통 코드 관리</li>
|
<li>공통 코드 관리</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li data-jstree='{ "opened" : true }'>무인접수BOT
|
<li data-jstree='{ "opened" : true }'>무인접수BOT
|
||||||
<ul>
|
<ul>
|
||||||
<li>무인 접수 리스트</li>
|
<li>무인 접수 리스트</li>
|
||||||
<li>제품군 유의어 관리</li>
|
<li>제품군 유의어 관리</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li data-jstree='{ "opened" : true }'>영상상담
|
<li data-jstree='{ "opened" : true }'>영상상담
|
||||||
<ul>
|
<ul>
|
||||||
<li>컨텐츠등록 관리</li>
|
<li>컨텐츠등록 관리</li>
|
||||||
<li>영상상담</li>
|
<li>영상상담</li>
|
||||||
<li>상담이력 조회</li>
|
<li>상담이력 조회</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</td>
|
||||||
</td>
|
</tr>
|
||||||
</tr>
|
</tbody>
|
||||||
</tbody>
|
</table>
|
||||||
</table>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</li>
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="cont_box">
|
<div class="cont_box">
|
||||||
<div class="btn_wrap center">
|
<div class="btn_wrap center">
|
||||||
<a href="#" class="btn basic grey">취소</a>
|
<a href="#" class="btn basic grey">취소</a>
|
||||||
<a href="#" class="btn basic">저장</a>
|
<a href="#" class="btn basic">저장</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
@ -1,328 +1,324 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>서비스그룹 관리List</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>서비스그룹 관리List</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
<script>
|
getMainOprSelectBox();
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
getMainOprSelectBox();
|
PagingDataTable();
|
||||||
|
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||||
PagingDataTable();
|
var data = $('#listTable').DataTable().row(this).data();
|
||||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
viewPage(data)
|
||||||
var data = $('#listTable').DataTable().row(this).data();
|
|
||||||
viewPage(data)
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnSearchOpr').on('click', function () {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
$("#Content").on("keyup", function (key) {
|
|
||||||
if (key.keyCode == 13) {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnRegModal').on('click', function () {
|
|
||||||
fnServiceGroupInsertBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
function fnServiceGroupInsertBtn(){
|
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/insert";
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/serviceGroup/insert'/>";
|
|
||||||
};
|
|
||||||
|
|
||||||
function getOpr() {
|
|
||||||
$.ajax({
|
|
||||||
type: "GET",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
|
||||||
$('#serviceGroup').niceSelect('update');
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
function getMainOprSelectBox() {
|
$('#btnSearchOpr').on('click', function () {
|
||||||
$.ajax({
|
fnCustSearchBtn();
|
||||||
type: "GET",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
url: "<c:url value='/adm/menu/main/oprmng'/>",
|
|
||||||
success: function (data) {
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
|
||||||
$('#serviceGroup').niceSelect('update');
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
})
|
|
||||||
};
|
|
||||||
|
|
||||||
function viewPage(rowData) {
|
|
||||||
// console.log(rowData.serviceGroup);
|
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + rowData.serviceGroup;
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + rowData.serviceGroup;
|
|
||||||
}
|
|
||||||
|
|
||||||
var PagingDataTable = function () {
|
$("#Content").on("keyup", function (key) {
|
||||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
if (key.keyCode == 13) {
|
||||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
fnCustSearchBtn();
|
||||||
$('#listTable').DataTable(
|
|
||||||
{
|
|
||||||
ajax: {
|
|
||||||
url: "<c:url value='/admin/common/system/serviceGroup/list'/>",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "JSON",
|
|
||||||
data: function (data) {
|
|
||||||
var json = {};
|
|
||||||
if (data) {
|
|
||||||
json.page = data.start / data.length;
|
|
||||||
json.size = 10;
|
|
||||||
json.serviceGroup = $("#serviceGroup option:selected").val();
|
|
||||||
json.codeText = $('#codeText').val();
|
|
||||||
} else {
|
|
||||||
json = JSON.stringify({'page': 0, 'size': 10});
|
|
||||||
}
|
|
||||||
return JSON.stringify(json);
|
|
||||||
}
|
|
||||||
,
|
|
||||||
dataFilter: function (data) {
|
|
||||||
var jsons = jQuery.parseJSON(data);
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
var json = {};
|
|
||||||
json.recordsTotal = jsons.getTotal;
|
|
||||||
json.recordsFiltered = jsons.getTotal;
|
|
||||||
json.data = jsons.getList;
|
|
||||||
// console.log(json);
|
|
||||||
return JSON.stringify(json);
|
|
||||||
}
|
}
|
||||||
},
|
});
|
||||||
columns: [
|
|
||||||
{data: "custCode"},
|
|
||||||
{data: "custName"},
|
|
||||||
{data: "serviceGroup"},
|
|
||||||
{data: "serviceGroupName"},
|
|
||||||
{data: "serviceType"},
|
|
||||||
{data: "useYn"},
|
|
||||||
{data: "registDate"}
|
|
||||||
|
|
||||||
],
|
$('#btnRegModal').on('click', function () {
|
||||||
order: [0, "asc"],
|
fnServiceGroupInsertBtn();
|
||||||
scrollX: false,
|
});
|
||||||
scrollY: false,
|
|
||||||
autoWidth: false,
|
|
||||||
searching: false,
|
|
||||||
bProcessing: false,
|
|
||||||
sProcessing: false,
|
|
||||||
bServerSide: true,
|
|
||||||
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
|
||||||
// pagingType: "first_last_numbers"
|
|
||||||
|
|
||||||
columnDefs: [
|
}
|
||||||
{
|
);
|
||||||
targets: 0,
|
|
||||||
visible: false,
|
function fnServiceGroupInsertBtn() {
|
||||||
searchable: false,
|
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/insert";
|
||||||
render: function (data) {
|
document.location.href = "<c:url value='/admin/common/system/serviceGroup/insert'/>";
|
||||||
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
};
|
||||||
},
|
|
||||||
},
|
function getOpr() {
|
||||||
{
|
$.ajax({
|
||||||
targets: 1,
|
type: "GET",
|
||||||
orderable: false,
|
contentType: "application/json; charset=utf-8",
|
||||||
render: function (data) {
|
datatype: "JSON",
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
url: "<c:url value='/adm/menu/oprmng'/>",
|
||||||
}
|
success: function (data) {
|
||||||
},
|
// console.log(JSON.stringify(data));
|
||||||
{
|
data.forEach(function (e, f) {
|
||||||
targets: 2,
|
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
||||||
visible: false,
|
$('#serviceGroup').niceSelect('update');
|
||||||
searchable: false,
|
});
|
||||||
orderable: false,
|
}
|
||||||
render: function (data) {
|
})
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
};
|
||||||
}
|
|
||||||
},
|
function getMainOprSelectBox() {
|
||||||
{
|
$.ajax({
|
||||||
targets: 3,
|
type: "GET",
|
||||||
orderable: false,
|
contentType: "application/json; charset=utf-8",
|
||||||
render: function (data) {
|
datatype: "JSON",
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
url: "<c:url value='/adm/menu/main/oprmng'/>",
|
||||||
}
|
success: function (data) {
|
||||||
},
|
data.forEach(function (e, f) {
|
||||||
{
|
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
|
||||||
targets: 4,
|
$('#serviceGroup').niceSelect('update');
|
||||||
orderable: false,
|
});
|
||||||
render: function (data) {
|
}
|
||||||
// console.log(data)
|
})
|
||||||
if (data == "M") {
|
};
|
||||||
return '<a style="display: block;text-align: center;">' + '메인' + '</a>';
|
|
||||||
} else if (data == "S") {
|
function viewPage(rowData) {
|
||||||
return '<a style="display: block;text-align: center;">' + '서브' + '</a>';
|
// console.log(rowData.serviceGroup);
|
||||||
|
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + rowData.serviceGroup;
|
||||||
|
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + rowData.serviceGroup;
|
||||||
|
}
|
||||||
|
|
||||||
|
var PagingDataTable = function () {
|
||||||
|
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||||
|
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||||
|
$('#listTable').DataTable(
|
||||||
|
{
|
||||||
|
ajax: {
|
||||||
|
url: "<c:url value='/admin/common/system/serviceGroup/list'/>",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
type: "POST",
|
||||||
|
dataType: "JSON",
|
||||||
|
data: function (data) {
|
||||||
|
var json = {};
|
||||||
|
if (data) {
|
||||||
|
json.page = data.start / data.length;
|
||||||
|
json.size = 10;
|
||||||
|
json.serviceGroup = $("#serviceGroup option:selected").val();
|
||||||
|
json.codeText = $('#codeText').val();
|
||||||
} else {
|
} else {
|
||||||
return '<a style="display: block;text-align: center;">' + '에러' + '</a>';
|
json = JSON.stringify({'page': 0, 'size': 10});
|
||||||
}
|
}
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
},
|
,
|
||||||
|
dataFilter: function (data) {
|
||||||
{
|
var jsons = jQuery.parseJSON(data);
|
||||||
targets: 5,
|
// console.log(JSON.stringify(data));
|
||||||
orderable: false,
|
var json = {};
|
||||||
render: function (data) {
|
json.recordsTotal = jsons.getTotal;
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
json.recordsFiltered = jsons.getTotal;
|
||||||
|
json.data = jsons.getList;
|
||||||
|
// console.log(json);
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
columns: [
|
||||||
targets: 6,
|
{data: "custCode"},
|
||||||
orderable: false,
|
{data: "custName"},
|
||||||
render: function (data, type, full, meta) {
|
{data: "serviceGroup"},
|
||||||
// var arr = data.slice();
|
{data: "serviceGroupName"},
|
||||||
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
{data: "serviceType"},
|
||||||
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
{data: "useYn"},
|
||||||
}
|
{data: "registDate"}
|
||||||
}
|
|
||||||
]
|
],
|
||||||
}
|
order: [0, "asc"],
|
||||||
)
|
scrollX: false,
|
||||||
};
|
scrollY: false,
|
||||||
|
autoWidth: false,
|
||||||
function fnCustSearchBtn() {
|
searching: false,
|
||||||
$('#listTable').DataTable().ajax.reload();
|
bProcessing: false,
|
||||||
};
|
sProcessing: false,
|
||||||
|
bServerSide: true,
|
||||||
|
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
||||||
|
// pagingType: "first_last_numbers"
|
||||||
|
|
||||||
|
columnDefs: [
|
||||||
|
{
|
||||||
|
targets: 0,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 1,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 4,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
// console.log(data)
|
||||||
|
if (data == "M") {
|
||||||
|
return '<a style="display: block;text-align: center;">' + '메인' + '</a>';
|
||||||
|
} else if (data == "S") {
|
||||||
|
return '<a style="display: block;text-align: center;">' + '서브' + '</a>';
|
||||||
|
} else {
|
||||||
|
return '<a style="display: block;text-align: center;">' + '에러' + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
targets: 5,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 6,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data, type, full, meta) {
|
||||||
|
// var arr = data.slice();
|
||||||
|
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
||||||
|
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
function fnCustSearchBtn() {
|
||||||
|
$('#listTable').DataTable().ajax.reload();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
<body>
|
</script>
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
<h1>대시보드</h1>
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
<body>
|
||||||
</header>
|
|
||||||
|
|
||||||
<section id="Content" class="system_management">
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
<div class="location">
|
<h1>대시보드</h1>
|
||||||
|
<div class="skip_navigation">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템 관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">서비스그룹 관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sub_cont menu06_01_03">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">서비스그룹 조회</h2>
|
|
||||||
</div>
|
|
||||||
<div class="fr">
|
|
||||||
<div class="btn_wrap fl">
|
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search block">
|
|
||||||
<colgroup>
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="40%">
|
|
||||||
<%-- <col width="140px">--%>
|
|
||||||
<%-- <col width="25%">--%>
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">서비스그룹</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="serviceGroup" class="wide">
|
|
||||||
<option value="ALL">전체</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
<section id="Content" class="system_management">
|
||||||
</table>
|
<div class="location">
|
||||||
</div>
|
<ul>
|
||||||
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
|
<li><a href="#">시스템 관리</a></li>
|
||||||
|
<li><a href="#">서비스그룹 관리</a></li>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">서비스그룹 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
|
|
||||||
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
|
|
||||||
<%-- <a href="#" class="btn line modalLoad" id="btnRegModal">신규등록</a>--%>
|
|
||||||
|
|
||||||
|
<div class="sub_cont menu06_01_03">
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">서비스그룹 조회</h2>
|
||||||
|
</div>
|
||||||
|
<div class="fr">
|
||||||
|
<div class="btn_wrap fl">
|
||||||
|
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="tbl">
|
||||||
|
<table class="search block">
|
||||||
|
|
||||||
<div class="tbl">
|
|
||||||
<form id="custListForm">
|
|
||||||
<table id="listTable" class="">
|
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="15%">
|
<col width="140px">
|
||||||
<col width="15%">
|
<col width="25%">
|
||||||
<col width="15%">
|
<col width="140px">
|
||||||
<col width="15%">
|
<col width="40%">
|
||||||
<col width="15%">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>custCode</th>
|
<th class="tl">서비스그룹</th>
|
||||||
<th>고객사</th>
|
<td>
|
||||||
<th>서비스그룹</th>
|
<div class="sel_box">
|
||||||
<th>서비스그룹이름</th>
|
<select id="serviceGroup" class="wide">
|
||||||
<th>서비스그룹타입</th>
|
<option value="ALL">전체</option>
|
||||||
<th>사용여부</th>
|
</select>
|
||||||
<th>생성일</th>
|
</div>
|
||||||
|
</td>
|
||||||
|
<th class="tl">검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="ipt_box listen">
|
||||||
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">서비스그룹 리스트</h2>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap fr">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tbl">
|
||||||
|
<form id="custListForm">
|
||||||
|
<table id="listTable" class="">
|
||||||
|
<colgroup>
|
||||||
|
<col width="15%">
|
||||||
|
<col width="15%">
|
||||||
|
<col width="15%">
|
||||||
|
<col width="15%">
|
||||||
|
<col width="15%">
|
||||||
|
<col width="auto">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>custCode</th>
|
||||||
|
<th>고객사</th>
|
||||||
|
<th>서비스그룹</th>
|
||||||
|
<th>서비스그룹이름</th>
|
||||||
|
<th>서비스그룹타입</th>
|
||||||
|
<th>사용여부</th>
|
||||||
|
<th>생성일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
</section>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,383 +1,385 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>사용자관리</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>사용자관리</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
<script>
|
// getOprSelect();
|
||||||
$(document).ready(function () {
|
getCust();
|
||||||
|
PagingDataTable();
|
||||||
// getOprSelect();
|
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||||
getCust();
|
var data = $('#listTable').DataTable().row(this).data();
|
||||||
PagingDataTable();
|
viewPage(data)
|
||||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
});
|
||||||
var data = $('#listTable').DataTable().row(this).data();
|
|
||||||
viewPage(data)
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnSearchOpr').on('click', function () {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnRegModal').on('click', function () {
|
|
||||||
fnInsertBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$("#Content").on("keyup", function (key) {
|
$('#btnSearchOpr').on('click', function () {
|
||||||
if (key.keyCode == 13) {
|
|
||||||
fnCustSearchBtn();
|
fnCustSearchBtn();
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
function getOprSelect() {
|
$('#btnRegModal').on('click', function () {
|
||||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
fnInsertBtn();
|
||||||
$.ajax({
|
|
||||||
type: "GET",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
async: false,
|
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
html += '<option value="' + e.serviceGroup + '">' + e.serviceGroupName + '</option>';
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
})
|
|
||||||
$('#serviceGroup').html(html);
|
|
||||||
$('#serviceGroup').niceSelect('update');
|
|
||||||
};
|
|
||||||
|
|
||||||
function getCust() {
|
|
||||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
$("#Content").on("keyup", function (key) {
|
||||||
$.ajax({
|
if (key.keyCode == 13) {
|
||||||
type: "GET",
|
fnCustSearchBtn();
|
||||||
contentType: "application/json; charset=utf-8",
|
}
|
||||||
datatype: "JSON",
|
|
||||||
async: false,
|
|
||||||
url: "<c:url value='/admin/common/system/user/cust/select'/>",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
html += '<option value="' + e.custCode + '">' + e.custName + '</option>';
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
);
|
||||||
$('#selectCust').html(html);
|
|
||||||
$('#selectCust').niceSelect('update');
|
|
||||||
}
|
|
||||||
|
|
||||||
function viewPage(rowData) {
|
|
||||||
// console.log(rowData.userSeq);
|
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/user/view" + "?userSeq=" + rowData.userSeq;
|
|
||||||
document.location.href = "<c:url value='/admin/common/system/user/view'/>" + "?userSeq=" + rowData.userSeq;
|
|
||||||
}
|
|
||||||
|
|
||||||
var PagingDataTable = function () {
|
function getOprSelect() {
|
||||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
$.ajax({
|
||||||
$('#listTable').DataTable(
|
type: "GET",
|
||||||
{
|
contentType: "application/json; charset=utf-8",
|
||||||
ajax: {
|
datatype: "JSON",
|
||||||
url: "<c:url value='/admin/common/system/user/list'/>",
|
async: false,
|
||||||
contentType: "application/json; charset=utf-8",
|
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M",
|
||||||
type: "POST",
|
success: function (data) {
|
||||||
dataType: "JSON",
|
// console.log(JSON.stringify(data));
|
||||||
async: false,
|
data.forEach(function (e, f) {
|
||||||
data: function (data) {
|
html += '<option value="' + e.serviceGroup + '">' + e.serviceGroupName + '</option>';
|
||||||
var json = {};
|
});
|
||||||
if (data) {
|
}
|
||||||
json.page = data.start / data.length;
|
})
|
||||||
json.size = 10
|
$('#serviceGroup').html(html);
|
||||||
json.custCode = $("#selectCust option:selected").val();
|
$('#serviceGroup').niceSelect('update');
|
||||||
json.codeType = $("#codeType option:selected").val();
|
};
|
||||||
json.codeText = $('#codeText').val();
|
|
||||||
|
|
||||||
} else {
|
function getCust() {
|
||||||
json = JSON.stringify({'page': 0, 'size': 10});
|
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||||
}
|
$.ajax({
|
||||||
return JSON.stringify(json);
|
type: "GET",
|
||||||
}
|
contentType: "application/json; charset=utf-8",
|
||||||
,
|
datatype: "JSON",
|
||||||
dataFilter: function (data) {
|
async: false,
|
||||||
var jsons = jQuery.parseJSON(data);
|
url: "<c:url value='/admin/common/system/user/cust/select'/>",
|
||||||
// console.log(JSON.stringify(data));
|
success: function (data) {
|
||||||
var json = {};
|
// console.log(JSON.stringify(data));
|
||||||
json.recordsTotal = jsons.getTotal;
|
data.forEach(function (e, f) {
|
||||||
json.recordsFiltered = jsons.getTotal;
|
html += '<option value="' + e.custCode + '">' + e.custName + '</option>';
|
||||||
json.data = jsons.getList;
|
});
|
||||||
// console.log(json);
|
}
|
||||||
return JSON.stringify(json);
|
})
|
||||||
}
|
$('#selectCust').html(html);
|
||||||
},
|
$('#selectCust').niceSelect('update');
|
||||||
columns: [
|
}
|
||||||
{data: "custCode"},
|
|
||||||
{data: "custName"},
|
|
||||||
// {data: "serviceGroup"},
|
|
||||||
// {data: "serviceGroupName"},
|
|
||||||
{data: "userSeq"},
|
|
||||||
{data: "userId"},
|
|
||||||
{data: "userName"},
|
|
||||||
{data: "eMail"},
|
|
||||||
{data: "mobileNo"},
|
|
||||||
{data: "useYn"},
|
|
||||||
{data: "registDate"}
|
|
||||||
],
|
|
||||||
order: [0, "asc"],
|
|
||||||
scrollX: false,
|
|
||||||
scrollY: false,
|
|
||||||
autoWidth: false,
|
|
||||||
searching: false,
|
|
||||||
bProcessing: false,
|
|
||||||
sProcessing: false,
|
|
||||||
bServerSide: true,
|
|
||||||
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
|
||||||
// pagingType: "first_last_numbers"
|
|
||||||
|
|
||||||
columnDefs: [
|
function viewPage(rowData) {
|
||||||
{
|
// console.log(rowData.userSeq);
|
||||||
targets: 0,
|
// document.location.href = "/BotMain_VM/admin/common/system/user/view" + "?userSeq=" + rowData.userSeq;
|
||||||
visible: false,
|
document.location.href = "<c:url value='/admin/common/system/user/view'/>" + "?userSeq=" + rowData.userSeq;
|
||||||
searchable: false,
|
}
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
var PagingDataTable = function () {
|
||||||
// console.log(data)
|
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||||
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||||
},
|
$('#listTable').DataTable(
|
||||||
},
|
{
|
||||||
{
|
ajax: {
|
||||||
targets: 1,
|
url: "<c:url value='/admin/common/system/user/list'/>",
|
||||||
orderable: false,
|
contentType: "application/json; charset=utf-8",
|
||||||
render: function (data) {
|
type: "POST",
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
dataType: "JSON",
|
||||||
}
|
async: false,
|
||||||
},
|
data: function (data) {
|
||||||
{
|
var json = {};
|
||||||
targets: 2,
|
if (data) {
|
||||||
visible: false,
|
json.page = data.start / data.length;
|
||||||
searchable: false,
|
json.size = 10
|
||||||
orderable: false,
|
json.custCode = $("#selectCust option:selected").val();
|
||||||
render: function (data) {
|
json.codeType = $("#codeType option:selected").val();
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
json.codeText = $('#codeText').val();
|
||||||
}
|
|
||||||
},
|
} else {
|
||||||
{
|
json = JSON.stringify({'page': 0, 'size': 10});
|
||||||
targets: 3,
|
}
|
||||||
orderable: false,
|
return JSON.stringify(json);
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 4,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
visible: false,
|
|
||||||
searchable: false,
|
|
||||||
targets: 5,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
}
|
||||||
},
|
,
|
||||||
{
|
dataFilter: function (data) {
|
||||||
targets: 6,
|
var jsons = jQuery.parseJSON(data);
|
||||||
orderable: false,
|
// console.log(JSON.stringify(data));
|
||||||
render: function (data) {
|
var json = {};
|
||||||
if(data == null)
|
json.recordsTotal = jsons.getTotal;
|
||||||
data = '';
|
json.recordsFiltered = jsons.getTotal;
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
json.data = jsons.getList;
|
||||||
|
// console.log(json);
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
columns: [
|
||||||
targets: 7,
|
{data: "custCode"},
|
||||||
orderable: false,
|
{data: "custName"},
|
||||||
render: function (data) {
|
// {data: "serviceGroup"},
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
// {data: "serviceGroupName"},
|
||||||
}
|
{data: "userSeq"},
|
||||||
},
|
{data: "userId"},
|
||||||
// {
|
{data: "userName"},
|
||||||
// targets: 8,
|
{data: "eMail"},
|
||||||
// render: function (data) {
|
{data: "mobileNo"},
|
||||||
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
{data: "useYn"},
|
||||||
// }
|
{data: "registDate"}
|
||||||
// },
|
],
|
||||||
// {
|
order: [0, "asc"],
|
||||||
// targets: 9,
|
scrollX: false,
|
||||||
// render: function (data) {
|
scrollY: false,
|
||||||
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
autoWidth: false,
|
||||||
// }
|
searching: false,
|
||||||
// },
|
bProcessing: false,
|
||||||
{
|
sProcessing: false,
|
||||||
targets: 8,
|
bServerSide: true,
|
||||||
orderable: false,
|
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
||||||
render: function (data, type, full, meta) {
|
// pagingType: "first_last_numbers"
|
||||||
// var arr = data.slice();
|
|
||||||
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
|
||||||
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
function fnCustSearchBtn() {
|
columnDefs: [
|
||||||
$('#listTable').DataTable().ajax.reload();
|
{
|
||||||
};
|
targets: 0,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
// console.log(data)
|
||||||
|
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 1,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 4,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
targets: 5,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 6,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
if (data == null)
|
||||||
|
data = '';
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 7,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// targets: 8,
|
||||||
|
// render: function (data) {
|
||||||
|
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// targets: 9,
|
||||||
|
// render: function (data) {
|
||||||
|
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
targets: 8,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data, type, full, meta) {
|
||||||
|
// var arr = data.slice();
|
||||||
|
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
||||||
|
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
function fnInsertBtn() {
|
function fnCustSearchBtn() {
|
||||||
// document.location.href = "/BotMain_VM/admin/common/system/user/insert";
|
$('#listTable').DataTable().ajax.reload();
|
||||||
document.location.href = "<c:url value='/admin/common/system/user/insert'/>";
|
};
|
||||||
}
|
|
||||||
|
|
||||||
|
function fnInsertBtn() {
|
||||||
|
// document.location.href = "/BotMain_VM/admin/common/system/user/insert";
|
||||||
|
document.location.href = "<c:url value='/admin/common/system/user/insert'/>";
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
<body>
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
</header>
|
<div class="skip_navigation">
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">사용자관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sub_cont menu06_01_03">
|
<header id="header">
|
||||||
<div class="cont_box">
|
</header>
|
||||||
<div class="box_title">
|
<section id="Content" class="system_management">
|
||||||
<div class="fl">
|
<div class="location">
|
||||||
<h2 class="mt12">사용자 조회</h2>
|
<ul>
|
||||||
</div>
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
<div class="fr">
|
<li><a href="#">시스템관리</a></li>
|
||||||
<div class="btn_wrap fl">
|
<li><a href="#">사용자관리</a></li>
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
</ul>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search block">
|
|
||||||
<colgroup>
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">고객사</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="selectCust" class="wide">
|
|
||||||
<option value="ALL">전체</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">분류</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="codeType" class="wide">
|
|
||||||
<option value="ALL">분류 선택</option>
|
|
||||||
<option value="userId">사용자아이디</option>
|
|
||||||
<option value="userName">사용자이름</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12"> 사용자 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
|
|
||||||
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
|
|
||||||
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tbl">
|
<div class="sub_cont menu06_01_03">
|
||||||
<form id="custListForm">
|
<div class="cont_box">
|
||||||
<table id="listTable" class="">
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">사용자 조회</h2>
|
||||||
|
</div>
|
||||||
|
<div class="fr">
|
||||||
|
<div class="btn_wrap fl">
|
||||||
|
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tbl">
|
||||||
|
<table class="search block">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>고객사코드</th>
|
<th class="tl">고객사</th>
|
||||||
<th>고객사</th>
|
<td>
|
||||||
<%-- <th>서비스그룹코드</th>--%>
|
<div class="sel_box">
|
||||||
<%-- <th>서비스그룹</th>--%>
|
<select id="selectCust" class="wide">
|
||||||
<th>사용자시퀀스</th>
|
<option value="ALL">전체</option>
|
||||||
<th>사용자아이디</th>
|
</select>
|
||||||
<th>사용자이름</th>
|
</div>
|
||||||
<th>eMail</th>
|
</td>
|
||||||
<th>전화번호</th>
|
<th class="tl">분류</th>
|
||||||
<th>사용여부</th>
|
<td>
|
||||||
<th>생성일</th>
|
<div class="sel_box">
|
||||||
|
<select id="codeType" class="wide">
|
||||||
|
<option value="ALL">분류 선택</option>
|
||||||
|
<option value="userId">사용자아이디</option>
|
||||||
|
<option value="userName">사용자이름</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<th class="tl">검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="ipt_box listen">
|
||||||
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12"> 사용자 리스트</h2>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap fr">
|
||||||
|
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
|
||||||
|
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
|
||||||
|
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tbl">
|
||||||
|
<form id="custListForm">
|
||||||
|
<table id="listTable" class="">
|
||||||
|
<colgroup>
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>고객사코드</th>
|
||||||
|
<th>고객사</th>
|
||||||
|
<th>사용자시퀀스</th>
|
||||||
|
<th>사용자아이디</th>
|
||||||
|
<th>사용자이름</th>
|
||||||
|
<th>eMail</th>
|
||||||
|
<th>전화번호</th>
|
||||||
|
<th>사용여부</th>
|
||||||
|
<th>생성일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,379 +1,379 @@
|
|||||||
<html xmlns:th="http://www.thymeleaf.org">
|
<!DOCTYPE html>
|
||||||
|
<html xmlns:th="http://www.thymeleaf.org"
|
||||||
|
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||||
|
layout:decorate="~{layout/layout}">
|
||||||
|
<th:block layout:fragment="content">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>운영자관리</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<title>운영자관리</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
<script>
|
getCust();
|
||||||
$(document).ready(function () {
|
PagingDataTable();
|
||||||
|
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||||
getCust();
|
var data = $('#listTable').DataTable().row(this).data();
|
||||||
PagingDataTable();
|
viewPage(data)
|
||||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
});
|
||||||
var data = $('#listTable').DataTable().row(this).data();
|
|
||||||
viewPage(data)
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnSearchOpr').on('click', function () {
|
|
||||||
fnCustSearchBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#btnRegModal').on('click', function () {
|
|
||||||
fnInsertBtn();
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
$("#Content").on("keyup", function (key) {
|
$('#btnSearchOpr').on('click', function () {
|
||||||
if (key.keyCode == 13) {
|
|
||||||
fnCustSearchBtn();
|
fnCustSearchBtn();
|
||||||
}
|
});
|
||||||
});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
function getOpr() {
|
$('#btnRegModal').on('click', function () {
|
||||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
fnInsertBtn();
|
||||||
$.ajax({
|
|
||||||
type: "GET",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
datatype: "JSON",
|
|
||||||
async: false,
|
|
||||||
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
html += '<option value="' + e.serviceGroup + '">' + e.serviceGroupName + '</option>';
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
})
|
|
||||||
$('#serviceGroup').html(html);
|
|
||||||
$('#serviceGroup').niceSelect('update');
|
|
||||||
};
|
|
||||||
|
|
||||||
function getCust() {
|
|
||||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
$("#Content").on("keyup", function (key) {
|
||||||
$.ajax({
|
if (key.keyCode == 13) {
|
||||||
type: "GET",
|
fnCustSearchBtn();
|
||||||
contentType: "application/json; charset=utf-8",
|
}
|
||||||
datatype: "JSON",
|
|
||||||
async: false,
|
|
||||||
url: "<c:url value='/admin/common/system/user/cust/select'/>",
|
|
||||||
success: function (data) {
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
data.forEach(function (e, f) {
|
|
||||||
html += '<option value="' + e.custCode + '">' + e.custName + '</option>';
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
);
|
||||||
$('#selectCust').html(html);
|
|
||||||
$('#selectCust').niceSelect('update');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
function getOpr() {
|
||||||
|
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||||
|
$.ajax({
|
||||||
|
type: "GET",
|
||||||
|
contentType: "application/json; charset=utf-8",
|
||||||
|
datatype: "JSON",
|
||||||
|
async: false,
|
||||||
|
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M",
|
||||||
|
success: function (data) {
|
||||||
|
// console.log(JSON.stringify(data));
|
||||||
|
data.forEach(function (e, f) {
|
||||||
|
html += '<option value="' + e.serviceGroup + '">' + e.serviceGroupName + '</option>';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$('#serviceGroup').html(html);
|
||||||
|
$('#serviceGroup').niceSelect('update');
|
||||||
|
};
|
||||||
|
|
||||||
function viewPage(rowData) {
|
function getCust() {
|
||||||
// console.log(rowData.userSeq);
|
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/view'/>" + "?userSeq=" + rowData.userSeq;
|
$.ajax({
|
||||||
// document.location.href = '/admin/common/system/cust/view';
|
type: "GET",
|
||||||
}
|
contentType: "application/json; charset=utf-8",
|
||||||
|
datatype: "JSON",
|
||||||
|
async: false,
|
||||||
|
url: "<c:url value='/admin/common/system/user/cust/select'/>",
|
||||||
|
success: function (data) {
|
||||||
|
// console.log(JSON.stringify(data));
|
||||||
|
data.forEach(function (e, f) {
|
||||||
|
html += '<option value="' + e.custCode + '">' + e.custName + '</option>';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
$('#selectCust').html(html);
|
||||||
|
$('#selectCust').niceSelect('update');
|
||||||
|
}
|
||||||
|
|
||||||
var PagingDataTable = function () {
|
|
||||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
|
||||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
|
||||||
$('#listTable').DataTable(
|
|
||||||
{
|
|
||||||
ajax: {
|
|
||||||
url: "<c:url value='/admin/common/system/userAdmin/list'/>",
|
|
||||||
contentType: "application/json; charset=utf-8",
|
|
||||||
type: "POST",
|
|
||||||
dataType: "JSON",
|
|
||||||
async: false,
|
|
||||||
data: function (data) {
|
|
||||||
var json = {};
|
|
||||||
if (data) {
|
|
||||||
json.page = data.start / data.length;
|
|
||||||
json.size = 10
|
|
||||||
json.custCode = $("#selectCust option:selected").val();
|
|
||||||
json.codeType = $("#codeType option:selected").val();
|
|
||||||
json.codeText = $('#codeText').val();
|
|
||||||
|
|
||||||
} else {
|
function viewPage(rowData) {
|
||||||
json = JSON.stringify({'page': 0, 'size': 10});
|
// console.log(rowData.userSeq);
|
||||||
}
|
document.location.href = "<c:url value='/admin/common/system/userAdmin/view'/>" + "?userSeq=" + rowData.userSeq;
|
||||||
return JSON.stringify(json);
|
// document.location.href = '/admin/common/system/cust/view';
|
||||||
}
|
}
|
||||||
,
|
|
||||||
dataFilter: function (data) {
|
|
||||||
var jsons = jQuery.parseJSON(data);
|
|
||||||
// console.log(JSON.stringify(data));
|
|
||||||
var json = {};
|
|
||||||
json.recordsTotal = jsons.getTotal;
|
|
||||||
json.recordsFiltered = jsons.getTotal;
|
|
||||||
json.data = jsons.getList;
|
|
||||||
// console.log(json);
|
|
||||||
return JSON.stringify(json);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
columns: [
|
|
||||||
{data: "custCode"},
|
|
||||||
{data: "custName"},
|
|
||||||
// {data: "serviceGroup"},
|
|
||||||
// {data: "serviceGroupName"},
|
|
||||||
{data: "userSeq"},
|
|
||||||
{data: "userId"},
|
|
||||||
{data: "userName"},
|
|
||||||
{data: "eMail"},
|
|
||||||
{data: "mobileNo"},
|
|
||||||
{data: "useYn"},
|
|
||||||
{data: "registDate"}
|
|
||||||
],
|
|
||||||
order: [0, "asc"],
|
|
||||||
scrollX: false,
|
|
||||||
scrollY: false,
|
|
||||||
autoWidth: false,
|
|
||||||
searching: false,
|
|
||||||
bProcessing: false,
|
|
||||||
sProcessing: false,
|
|
||||||
bServerSide: true,
|
|
||||||
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
|
||||||
// pagingType: "first_last_numbers"
|
|
||||||
|
|
||||||
columnDefs: [
|
var PagingDataTable = function () {
|
||||||
{
|
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||||
targets: 0,
|
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||||
visible: false,
|
$('#listTable').DataTable(
|
||||||
searchable: false,
|
{
|
||||||
orderable: false,
|
ajax: {
|
||||||
render: function (data) {
|
url: "<c:url value='/admin/common/system/userAdmin/list'/>",
|
||||||
// console.log(data)
|
contentType: "application/json; charset=utf-8",
|
||||||
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
type: "POST",
|
||||||
},
|
dataType: "JSON",
|
||||||
},
|
async: false,
|
||||||
{
|
data: function (data) {
|
||||||
targets: 1,
|
var json = {};
|
||||||
orderable: false,
|
if (data) {
|
||||||
render: function (data) {
|
json.page = data.start / data.length;
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
json.size = 10
|
||||||
}
|
json.custCode = $("#selectCust option:selected").val();
|
||||||
},
|
json.codeType = $("#codeType option:selected").val();
|
||||||
{
|
json.codeText = $('#codeText').val();
|
||||||
targets: 2,
|
|
||||||
visible: false,
|
} else {
|
||||||
searchable: false,
|
json = JSON.stringify({'page': 0, 'size': 10});
|
||||||
orderable: false,
|
}
|
||||||
render: function (data) {
|
return JSON.stringify(json);
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 3,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 4,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
visible: false,
|
|
||||||
searchable: false,
|
|
||||||
targets: 5,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
targets: 6,
|
|
||||||
orderable: false,
|
|
||||||
render: function (data) {
|
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
|
||||||
}
|
}
|
||||||
},
|
,
|
||||||
{
|
dataFilter: function (data) {
|
||||||
targets: 7,
|
var jsons = jQuery.parseJSON(data);
|
||||||
orderable: false,
|
// console.log(JSON.stringify(data));
|
||||||
render: function (data) {
|
var json = {};
|
||||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
json.recordsTotal = jsons.getTotal;
|
||||||
|
json.recordsFiltered = jsons.getTotal;
|
||||||
|
json.data = jsons.getList;
|
||||||
|
// console.log(json);
|
||||||
|
return JSON.stringify(json);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// {
|
columns: [
|
||||||
// targets: 8,
|
{data: "custCode"},
|
||||||
// render: function (data) {
|
{data: "custName"},
|
||||||
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
// {data: "serviceGroup"},
|
||||||
// }
|
// {data: "serviceGroupName"},
|
||||||
// },
|
{data: "userSeq"},
|
||||||
// {
|
{data: "userId"},
|
||||||
// targets: 9,
|
{data: "userName"},
|
||||||
// render: function (data) {
|
{data: "eMail"},
|
||||||
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
{data: "mobileNo"},
|
||||||
// }
|
{data: "useYn"},
|
||||||
// },
|
{data: "registDate"}
|
||||||
{
|
],
|
||||||
targets: 8,
|
order: [0, "asc"],
|
||||||
orderable: false,
|
scrollX: false,
|
||||||
render: function (data, type, full, meta) {
|
scrollY: false,
|
||||||
// var arr = data.slice();
|
autoWidth: false,
|
||||||
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
searching: false,
|
||||||
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
bProcessing: false,
|
||||||
}
|
sProcessing: false,
|
||||||
}
|
bServerSide: true,
|
||||||
]
|
sDom: '<"row view-filter"<"col-sm-12"<"pull-left"><"pull-right"><"clearfix">>>t<"row view-pager"<"col-sm-12"<"text-center"pi>>>',
|
||||||
}
|
// pagingType: "first_last_numbers"
|
||||||
)
|
|
||||||
};
|
|
||||||
|
|
||||||
function fnCustSearchBtn() {
|
columnDefs: [
|
||||||
$('#listTable').DataTable().ajax.reload();
|
{
|
||||||
};
|
targets: 0,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
// console.log(data)
|
||||||
|
return '<a style="display: block;text-align: center;" onclick="click()">' + data + '</a>';
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 1,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 2,
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 3,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 4,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
visible: false,
|
||||||
|
searchable: false,
|
||||||
|
targets: 5,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 6,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
targets: 7,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data) {
|
||||||
|
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// targets: 8,
|
||||||
|
// render: function (data) {
|
||||||
|
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// targets: 9,
|
||||||
|
// render: function (data) {
|
||||||
|
// return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
targets: 8,
|
||||||
|
orderable: false,
|
||||||
|
render: function (data, type, full, meta) {
|
||||||
|
// var arr = data.slice();
|
||||||
|
// return '<a style="display: block;text-align: center;">' + arr[0] + "-" + arr[1] + "-" + arr[2] + '</a>';
|
||||||
|
return '<a style="display: block;text-align: center;">' + $.utils.sliceDateTimeFormat(data) + '</a>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
function fnInsertBtn() {
|
function fnCustSearchBtn() {
|
||||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/insert'/>";
|
$('#listTable').DataTable().ajax.reload();
|
||||||
}
|
};
|
||||||
|
|
||||||
|
function fnInsertBtn() {
|
||||||
|
document.location.href = "<c:url value='/admin/common/system/userAdmin/insert'/>";
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
<body>
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
<h1>ICOMSYS ADMIN</h1>
|
||||||
</header>
|
<div class="skip_navigation">
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
<ul>
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
<li>
|
||||||
<li><a href="#">시스템관리</a></li>
|
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||||
<li><a href="#">운영자관리</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#Gnb">메뉴 바로가기</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sub_cont menu06_01_03">
|
<header id="header">
|
||||||
<div class="cont_box">
|
</header>
|
||||||
<div class="box_title">
|
<section id="Content" class="system_management">
|
||||||
<div class="fl">
|
<div class="location">
|
||||||
<h2 class="mt12">운영자 조회</h2>
|
<ul>
|
||||||
</div>
|
<li class="home"><a href="#">HOME</a></li>
|
||||||
<div class="fr">
|
<li><a href="#">시스템관리</a></li>
|
||||||
<div class="btn_wrap fl">
|
<li><a href="#">운영자관리</a></li>
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
</ul>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search block">
|
|
||||||
<colgroup>
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="25%">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">고객사</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="selectCust" class="wide">
|
|
||||||
<option value="ALL">전체</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">분류</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="codeType" class="wide">
|
|
||||||
<option value="ALL">분류 선택</option>
|
|
||||||
<option value="userId">운영자아이디</option>
|
|
||||||
<option value="userName">움영자이름</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">검색어</th>
|
|
||||||
<td>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12"> 운영자 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
|
|
||||||
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
|
|
||||||
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tbl">
|
<div class="sub_cont menu06_01_03">
|
||||||
<form id="custListForm">
|
<div class="cont_box">
|
||||||
<table id="listTable" class="">
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12">운영자 조회</h2>
|
||||||
|
</div>
|
||||||
|
<div class="fr">
|
||||||
|
<div class="btn_wrap fl">
|
||||||
|
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="tbl">
|
||||||
|
<table class="search block">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
<col width="140px">
|
||||||
<col width="auto">
|
<col width="25%">
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>고객사코드</th>
|
<th class="tl">고객사</th>
|
||||||
<th>고객사</th>
|
<td>
|
||||||
<%-- <th>서비스그룹코드</th>--%>
|
<div class="sel_box">
|
||||||
<%-- <th>서비스그룹</th>--%>
|
<select id="selectCust" class="wide">
|
||||||
<th>운영자시퀀스</th>
|
<option value="ALL">전체</option>
|
||||||
<th>운영자아이디</th>
|
</select>
|
||||||
<th>운영자이름</th>
|
</div>
|
||||||
<th>eMail</th>
|
</td>
|
||||||
<th>전화번호</th>
|
<th class="tl">분류</th>
|
||||||
<th>사용여부</th>
|
<td>
|
||||||
<th>생성일</th>
|
<div class="sel_box">
|
||||||
|
<select id="codeType" class="wide">
|
||||||
|
<option value="ALL">분류 선택</option>
|
||||||
|
<option value="userId">운영자아이디</option>
|
||||||
|
<option value="userName">움영자이름</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
<th class="tl">검색어</th>
|
||||||
|
<td>
|
||||||
|
<div class="ipt_box listen">
|
||||||
|
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="cont_box">
|
||||||
|
<div class="box_title">
|
||||||
|
<div class="fl">
|
||||||
|
<h2 class="mt12"> 운영자 리스트</h2>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap fr">
|
||||||
|
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tbl">
|
||||||
|
<form id="custListForm">
|
||||||
|
<table id="listTable" class="">
|
||||||
|
<colgroup>
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
<col width="auto">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>고객사코드</th>
|
||||||
|
<th>고객사</th>
|
||||||
|
<th>운영자시퀀스</th>
|
||||||
|
<th>운영자아이디</th>
|
||||||
|
<th>운영자이름</th>
|
||||||
|
<th>eMail</th>
|
||||||
|
<th>전화번호</th>
|
||||||
|
<th>사용여부</th>
|
||||||
|
<th>생성일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</section>
|
||||||
</section>
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
</th:block>
|
||||||
</html>
|
</html>
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,587 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>{{title}}</title>
|
|
||||||
<meta charset="UTF-8" http-equiv="Content-Type">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=3.0">
|
|
||||||
<meta name="mobile-web-app-capable" content="yes">
|
|
||||||
<meta name="format-detection" content="telephone=no" />
|
|
||||||
|
|
||||||
<!-- TODO: search engine info -->
|
|
||||||
<meta name="robots" content="ICOMSYS" />
|
|
||||||
<meta name="keywords" content="ICOMSYS" />
|
|
||||||
<meta name="title" content="ICOMSYS" />
|
|
||||||
<meta name="description" content="ICOMSYS" />
|
|
||||||
|
|
||||||
<!-- TODO: social url link image -->
|
|
||||||
<meta property="og:url" content="">
|
|
||||||
<meta property="og:title" content="ICOMSYS">
|
|
||||||
<meta property="og:type" content="website">
|
|
||||||
<meta property="og:image" content="">
|
|
||||||
<meta property="og:description" content="ICOMSYS 홈페이지입니다.">
|
|
||||||
|
|
||||||
<!-- TODO: favicon -->
|
|
||||||
<link rel="icon" href="favicon.ico" type="favicon.ico" />
|
|
||||||
|
|
||||||
<!-- TODO: import -->
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/jquery-ui.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/bootstrap.min.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/bootstrap-datetimepicker.min.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/bootstrap-tagsinput.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/datepicker3.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/jstree.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/datatables.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/select.dataTables.css">
|
|
||||||
<link rel="stylesheet" href="assets/css/lib/nice-select.css">
|
|
||||||
|
|
||||||
<!-- TODO: 20230116 아래는 신규 라이브러리 import 입니다 추가해주세요.-->
|
|
||||||
<link href="assets/css/lib/select2.css" rel="stylesheet" />
|
|
||||||
<script src="assets/js/lib/jquery-2.2.1.min.js"></script>
|
|
||||||
<script src="assets/js/lib/moment.js"></script>
|
|
||||||
<script src="assets/js/lib/jquery-ui.js"></script>
|
|
||||||
<script src="assets/js/lib/bootstrap.min.js"></script>
|
|
||||||
<script src="assets/js/lib/bootstrap-datepicker.js"></script>
|
|
||||||
<script src="assets/js/lib/jquery.MultiFile.js"></script>
|
|
||||||
<script src="assets/js/lib/jstree.js"></script>
|
|
||||||
<script src="assets/js/lib/select.dataTables.js"></script>
|
|
||||||
<script src="assets/js/lib/sweetalert.js"></script>
|
|
||||||
<script src="assets/js/lib/bootstrap-datetimepicker.js"></script>
|
|
||||||
<script src="assets/js/lib/datatables.js"></script>
|
|
||||||
<script src="assets/js/lib/bootstrap-tagsinput.js"></script>
|
|
||||||
<script src="assets/js/lib/jquery.nice-select.js"></script>
|
|
||||||
<script src="./assets/js/scripts.js"></script>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- TODO: 20230116 아래는 Diagram 페이지 작성을 위한 신규 라이브러리이니, 개발에 포함시키기 바랍니다. css순서 지켜주세요-->
|
|
||||||
<script src="assets/js/diagram/dx-diagram.min.js"></script>
|
|
||||||
<script src="assets/js/diagram/dx-all.min.js"></script>
|
|
||||||
<link rel='stylesheet' href='assets/css/diagram/dx.custom.css'>
|
|
||||||
<link rel='stylesheet' href='assets/css/diagram/dx-diagram.css'>
|
|
||||||
<!-- <link rel='stylesheet' href='assets/css/diagram/indigo-pink.css'> -->
|
|
||||||
<link rel="stylesheet" href="./assets/css/style.css">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- TODO: 20230116 해당 빌보드 차트는 퍼블 환경 동기화를 위한 것으로 임의로 import 한 것 입니다. -->
|
|
||||||
<script src="assets/js/lib/billboard.pkgd.min.js"></script>
|
|
||||||
<link rel="stylesheet" href="./assets/css/lib/billboard.css">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
<div class="header_wrap">
|
|
||||||
<div class="logo">
|
|
||||||
<a href="main.html">
|
|
||||||
<img src="assets/images/logo.png" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="global-select-ai sel_box">
|
|
||||||
<div class="global-store-logo"><img class="ai-store-logo" src="assets/images/img-bot.png" alt=""></div>
|
|
||||||
<div class="global-store-slt">
|
|
||||||
<select class="wide">
|
|
||||||
<option value="1" data-logo="assets/images/img-bot.png">우리가게 Ai</option>
|
|
||||||
<option value="2" data-logo="assets/images/img-counselor.jpg">너네가게 Ai</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
$(document).ready(function () {
|
|
||||||
$('.global-select-ai select').each(function () {
|
|
||||||
$(this).niceSelect();
|
|
||||||
$(this).on('change', function () {
|
|
||||||
const selected = $(this).find('option:selected');
|
|
||||||
const selectedGlobalStoreImg = selected.data('logo');
|
|
||||||
$('.ai-store-logo').attr('src', selectedGlobalStoreImg);
|
|
||||||
})
|
|
||||||
})
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="login_info">
|
|
||||||
<div class="user_name">
|
|
||||||
<input type="hidden" id="naviseq" value="501">
|
|
||||||
<a class="user_name_btn" href="#">
|
|
||||||
<em class="user_name_btn">유플러스어드민</em> 님 반갑습니다.
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="user_info">
|
|
||||||
<ul class="logininfotitle">
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#" class="user_info_btn" id="pwdChange">비밀번호변경</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#" class="user_info_btn" id="logout">로그아웃</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
|
|
||||||
<a href="/adm/main/pdfdownload?name=Ourstore_Ai_Manager_User_Manual_v1.0.pdf" target="_blank"
|
|
||||||
class="user_info_btn menual" id="pdfdown">매뉴얼다운로드</a>
|
|
||||||
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<article>
|
|
||||||
<div class="lnb_menu_btn_area open">
|
|
||||||
<a href="#" class="lnb_menu_menu">
|
|
||||||
<p>메뉴닫기</p>
|
|
||||||
<span></span>
|
|
||||||
<span></span>
|
|
||||||
<span></span>
|
|
||||||
<span></span>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<nav>
|
|
||||||
<ul class="lnb">
|
|
||||||
<li>
|
|
||||||
<a href="#">시스템관리</a>
|
|
||||||
<ul class="depth2">
|
|
||||||
<li>
|
|
||||||
<a href="A010101.html">
|
|
||||||
<span>고객사 관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
|
|
||||||
<a href="../../../../../../../../../../Users/dlthf/Downloads/A010401.html">
|
|
||||||
<span>서비스그룹 관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="../../../../../../../../../../Users/dlthf/Downloads/A010401.html">
|
|
||||||
<span>권한별메뉴</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="A030101.html">
|
|
||||||
<span>권한별메뉴관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="A030301.html">
|
|
||||||
<span>권한그룹관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="A040101.html">
|
|
||||||
<span>사용자관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="A050101.html">
|
|
||||||
<span>공통코드관리</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#">시나리오 관리</a>
|
|
||||||
<ul class="depth2">
|
|
||||||
<li>
|
|
||||||
<a href="B010101.html">시나리오 관리</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="B020101.html">시나리오 조회</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="B020201.html">시나리오 편집</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="B030101.html">API Node 관리</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="B040101.html">Common Node 관리</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#">작업이력 관리</a>
|
|
||||||
<ul class="depth2">
|
|
||||||
<li>
|
|
||||||
<a href="C010101.html">작업이력 조회</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#">통계 관리</a>
|
|
||||||
<ul class="depth2">
|
|
||||||
<li>
|
|
||||||
<a href="D020101.html">인텐트 통계(날짜별)</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="D020201.html">인텐트 통계(항목별)</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="D030101.html">시나리오 통계(날짜별)</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="D030201.html">시나리오 통계(항목별)</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="D030301.html">시나리오 이탈 통계</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="D040101.html">콜 통계</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="#">대화 관리</a>
|
|
||||||
<ul class="depth2">
|
|
||||||
<li>
|
|
||||||
<a href="E010101.html">대화이력</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="E020101.html">인텐트 관리</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<a href="E030101.html">동의어 관리</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="E040101.html">금칙어 관리</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function () {
|
|
||||||
$("#testTb1").dataTable({
|
|
||||||
"autoWidth": false,
|
|
||||||
"paging": true,
|
|
||||||
"pagingType": "full_numbers",
|
|
||||||
"ordering": true,
|
|
||||||
"info": false,
|
|
||||||
"filter": false,
|
|
||||||
"lengthChange": true,
|
|
||||||
"dom": 'rt<"bottom"fip><"clear">',
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<section id="Content" class="bot_common">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
|
||||||
<li><a href="#">Loacation</a></li>
|
|
||||||
<li><a href="#">Loacation</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
|
||||||
<div class="sub_cont">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">공통코드관리</h2>
|
|
||||||
</div>
|
|
||||||
<div class="fr">
|
|
||||||
<div class="btn_wrap fl">
|
|
||||||
<a href="#" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search block">
|
|
||||||
<colgroup>
|
|
||||||
<col width="140px">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="140px">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">시나리오그룹</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide">
|
|
||||||
<option value="">--선택해주세요--</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">대분류</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide">
|
|
||||||
<option value="">--선택해주세요--</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">중분류</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide">
|
|
||||||
<option value="">--선택해주세요--</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">공통코드 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn grey">삭제</a>
|
|
||||||
<a href="#" rel="createCommonCodeModal" class="btn line modalLoad">신규등록</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table id="testTb1" class="click">
|
|
||||||
<colgroup>
|
|
||||||
<col width="70px">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="all" id="chk00" value="">
|
|
||||||
<label for="chk00"></label>
|
|
||||||
</div>
|
|
||||||
</th>
|
|
||||||
<th>시나리오그룹</th>
|
|
||||||
<th>대분류</th>
|
|
||||||
<th>중분류</th>
|
|
||||||
<th>설명</th>
|
|
||||||
<th>등록자</th>
|
|
||||||
<th>등록일시</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr rel="modifyCommonCodeModal" class="modalLoad">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk01" value="">
|
|
||||||
<label for="chk01"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>{{string}}</td>
|
|
||||||
<td>{{string}}</td>
|
|
||||||
<td>{{string}}</td>
|
|
||||||
<td>{{string}}</td>
|
|
||||||
<td>{{string}}</td>
|
|
||||||
<td>{{YYYY-MM-DD HH:MM:SS}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- modal :: 공통코드 신규등록 -->
|
|
||||||
<div class="modal" id="createCommonCodeModal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>공통코드 신규등록</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">대분류</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="그룹명을 입력해주세요.">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">중분류</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="그룹 설명을 입력해주세요.">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">설명</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<textarea name="" id="" cols="30" rows="10"></textarea>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- modal :: 공통코드 수정 -->
|
|
||||||
<div class="modal" id="modifyCommonCodeModal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>공통코드 수정</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">시나리오그룹명</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="서비스구룹테스트2" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">시나리오그룹코드</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="ICS_RCP_GROUP2" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">코드타입</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide">
|
|
||||||
<option value="">--선택해주세요--</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">대분류</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="대분류" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">중분류</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="중분류" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">속성</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="qwe">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">속성2</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="qwe">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">속성3</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" value="qwe">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt>
|
|
||||||
<h4><em class="">설명</em></h4>
|
|
||||||
</dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<textarea name="" id="" cols="30" rows="10" style="height:100px"></textarea>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
@ -1,526 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>운영관리코드 설정</title>
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp" %>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/header.jsp" %>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<c:import url="/adm/menu/getLnbMenu.do" />
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$(document).ready( function () {
|
|
||||||
|
|
||||||
// 고객사 조회
|
|
||||||
$('#btnSearchOpr').on('click',function() {
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 신규 운영관리 코드
|
|
||||||
$('#btnSaveOpr').on('click',function() {
|
|
||||||
fncCreateOprInfo();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 고객사 수정
|
|
||||||
$('#btnEditOpr').on('click',function() {
|
|
||||||
fncUpdateOprInfo();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 고객사 삭제
|
|
||||||
$('#btnDelOprMngCode').on('click',function() {
|
|
||||||
fncDeleteOprMngCode();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 추가 modal
|
|
||||||
$('#btnRegModal').on('click',function() {
|
|
||||||
// 초기화
|
|
||||||
$('#oprMngCode').val('');
|
|
||||||
$('#dtmf').val('');
|
|
||||||
$('#routeUrl').val('');
|
|
||||||
$('#oprMngName').val('');
|
|
||||||
$('#custCode').val('').prop("selected", true);
|
|
||||||
$('#custCode').niceSelect('update');
|
|
||||||
$('#custCode').empty();
|
|
||||||
$('#serviceCode').val('').prop("selected", true);
|
|
||||||
$('#serviceCode').niceSelect('update');
|
|
||||||
$('#serviceCode').empty();
|
|
||||||
|
|
||||||
// 고객사 코드 목록
|
|
||||||
var custCodeOpt;
|
|
||||||
for(var i=0; i<custList.length; i++) {
|
|
||||||
custCodeOpt+= '<option value='+custList[i].custCode+'>'+custList[i].custCode+'</option>'
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#custCode').append(custCodeOpt);
|
|
||||||
$('#custCode').niceSelect('update');
|
|
||||||
|
|
||||||
// 서비스 코드 목록
|
|
||||||
var serviceCodeOpt;
|
|
||||||
for(var i=0; i<serviceList.length; i++) {
|
|
||||||
serviceCodeOpt+= '<option value='+serviceList[i].serviceCode+'>'+serviceList[i].serviceCode+'</option>'
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#serviceCode').append(serviceCodeOpt);
|
|
||||||
$('#serviceCode').niceSelect('update');
|
|
||||||
});
|
|
||||||
|
|
||||||
// 고객사 리스트 그리기
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
var serviceList;
|
|
||||||
var custList;
|
|
||||||
|
|
||||||
function fncKeyPresshandler(e) {
|
|
||||||
if (event.keyCode == 13) {
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 수정 modal 값 채우기
|
|
||||||
function fncViewInfoTr(tr){
|
|
||||||
var oprMngCode = $(tr).data('oprMngCode');
|
|
||||||
var editCustCode = $(tr).data('custCode');
|
|
||||||
var oprMngName = $(tr).data('dtmf');
|
|
||||||
var editDtmf = $(tr).data('dtmf');
|
|
||||||
var editRouteUrl= $(tr).data('routeUrl');
|
|
||||||
|
|
||||||
$('#editOprMngCode').val(oprMngCode);
|
|
||||||
$('#editCustCode').val(editCustCode);
|
|
||||||
$('#editOprMngName').val(oprMngName);
|
|
||||||
$('#editDtmf').val(editDtmf);
|
|
||||||
$('#editRouteUrl').val(editRouteUrl);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 고객사 리스트 그리기
|
|
||||||
function fncSearchOprMngCode() {
|
|
||||||
$('#listTable tbody').empty();
|
|
||||||
|
|
||||||
var param = "keyword=" + $('#keyword').val();
|
|
||||||
var resultTr = '';
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/searchOprMngCode.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data){
|
|
||||||
serviceList = data.serviceList;
|
|
||||||
custList = data.custList;
|
|
||||||
|
|
||||||
$.each(data.nMap, function(i, val){
|
|
||||||
i += 1;
|
|
||||||
resultTr += '<tr class="modalLoad" rel="reg_edit_modal" data-route-url="' + val.routeUrl + '" data-cust-code="' + val.custCode + '" data-opr-mng-name="' + val.oprMngName + '"data-dtmf="' + val.dtmf +'"data-opr-mng-code="' + val.oprMngCode + '">';
|
|
||||||
resultTr += ' <td>'+ i +'</td>';
|
|
||||||
resultTr += ' <td class="oprMngCodes tl">' + val.oprMngCode + '</td>';
|
|
||||||
resultTr += ' <td>' + val.custCode + '</td>';
|
|
||||||
resultTr += ' <td>' + val.serviceCode + '</td>';
|
|
||||||
resultTr += ' <td>' + val.oprMngName + '</td>';
|
|
||||||
resultTr += ' <td>' + val.dtmf + '</td>';
|
|
||||||
resultTr += ' <td>' + val.routeUrl + '</td>';
|
|
||||||
resultTr += ' <td>' + moment(val.registDate).format('YYYY-MM-DD') + '</td>';
|
|
||||||
resultTr += '</tr>';
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#listTable tbody').append(resultTr);
|
|
||||||
|
|
||||||
// 고객사 수정 modal open event
|
|
||||||
$('#listTable tbody tr').on('dblclick', function() {
|
|
||||||
fncViewInfoTr($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
// scripts.js : 고객사 list modal 연결
|
|
||||||
modalUi();
|
|
||||||
|
|
||||||
// scripts.js : 체크 박스 체크에 따른 '모두 체크' 변경
|
|
||||||
checkAllChecked();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 신규 고객사 저장
|
|
||||||
function fncCreateOprInfo() {
|
|
||||||
|
|
||||||
if($('#custCode').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "고객사 코드는 필수 항목입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
} else if($('#serviceCode').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "서비스 코드는 필수 항목입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
} else if($('#oprMngName').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "운영관리코드 이름은 필수 항목입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
} else if ($('#dtmf').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "dtmf는 필수 항목입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
} else if ($('#routeUrl').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "라우팅url는 필수 항목입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
var isAready;
|
|
||||||
$('.oprMngCodes').each(function(){
|
|
||||||
var existOprMngCode = $(this).text();
|
|
||||||
if (existOprMngCode === $('#oprMngCode').val()){
|
|
||||||
isAready = "Y";
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
if (isAready == 'Y') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "이미 존재하는 운영코드입니다.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
|
|
||||||
var param = "oprMngCode=" + $('#oprMngCode').val();
|
|
||||||
param += "&custCode=" + $('#custCode').val();
|
|
||||||
param += "&serviceCode=" + $('#serviceCode').val();
|
|
||||||
param += "&oprMngName=" + $('#oprMngName').val();
|
|
||||||
param += "&dtmf=" + $('#dtmf').val();
|
|
||||||
param += "&routeUrl=" + $('#routeUrl').val();
|
|
||||||
param += "&useYn=Y";
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/createOprMngCode.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "저장되었습니다.",
|
|
||||||
icon: "success",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_modal a.close').trigger('click');
|
|
||||||
|
|
||||||
// 고객사 리스트 그리기
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 기존 고객사 수정
|
|
||||||
function fncUpdateOprInfo() {
|
|
||||||
|
|
||||||
if($('#editDtmf').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "DTMF 값을 입력해주세요.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else if($('#editRouteUrl').val() == '') {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "라우팅 url을 입력해주세요.",
|
|
||||||
icon: "warning",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
var param = "oprMngCode=" + $('#editOprMngCode').val();
|
|
||||||
param += "&custCode=" + $('#editCustCode').val();
|
|
||||||
param += "&dtmf=" + $('#editDtmf').val();
|
|
||||||
param += "&routeUrl=" + $('#editRouteUrl').val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/updateOprMngCode.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "저장되었습니다.",
|
|
||||||
icon: "success",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_edit_modal a.close').trigger('click');
|
|
||||||
|
|
||||||
// 고객사 리스트 그리기
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 고객사 삭제
|
|
||||||
function fncDeleteOprMngCode() {
|
|
||||||
var param = "oprMngCode=" + $('#editOprMngCode').val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/deleteOprMngCode.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swal({
|
|
||||||
title: "Information",
|
|
||||||
text: "삭제되었습니다.",
|
|
||||||
icon: "success",
|
|
||||||
button: "확인"
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_edit_modal a.close').trigger('click');
|
|
||||||
// 고객사 리스트 그리기
|
|
||||||
fncSearchOprMngCode();
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
|
||||||
<li><a href="#">시스템관리</a></li>
|
|
||||||
<li><a href="#">운영관리코드 설정</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="sub_cont menu06_01_04">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">운영관리코드 조회</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnSearchOpr" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search">
|
|
||||||
<colgroup>
|
|
||||||
<col width="130px">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">키워드</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="키워드를 입력해주세요." id="keyword" name="code" class="" onkeypress="return fncKeyPresshandler(event);">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">운영관리코드 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<form id="custListForm">
|
|
||||||
<table id="listTable" class="">
|
|
||||||
<colgroup>
|
|
||||||
<col width="60px">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="100px">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>NO</th>
|
|
||||||
<th>운영관리 코드</th>
|
|
||||||
<th>고객사 코드</th>
|
|
||||||
<th>서비스 코드</th>
|
|
||||||
<th>운영관리코드 이름</th>
|
|
||||||
<th>DTMF</th>
|
|
||||||
<th>라우팅url</th>
|
|
||||||
<th>등록일</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody></tbody>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- modal :: 고객사 등록 팝업 -->
|
|
||||||
<div class="modal" id="reg_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>운영관리코드 신규등록</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">운영관리코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="oprMngCode" placeholder="운영관리코드 이름을 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">고객사 코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="custCode" name="custCode" class="wide">
|
|
||||||
<option value="">고객사 코드를 선택해주세요.</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">서비스 코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="serviceCode" name="serviceCode" class="wide">
|
|
||||||
<option value="">서비스 코드를 선택해주세요.</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">운영관리코드 이름</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="oprMngName" placeholder="운영관리코드 이름을 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">dtmf</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="dtmf" placeholder="DTMF를 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">라우팅url</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="routeUrl" placeholder="라우팅url을 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn" id="btnSaveOpr" name="btnSaveOpr">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 고객사 등록 팝업 end -->
|
|
||||||
|
|
||||||
<!-- modal :: 고객사 수정 팝업 -->
|
|
||||||
<div class="modal" id="reg_edit_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>운영관리코드 수정</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">운영관리코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="editOprMngCode" name="required" readonly>
|
|
||||||
<input type="hidden" id="editCustCode">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">dtmf</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="editDtmf" placeholder="DTMF를 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">라우팅url</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="editRouteUrl" placeholder="라우팅url을 입력해주세요" name="required">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnEditOpr" class="btn">저장</a>
|
|
||||||
<a href="#" class="btn grey" id="btnDelOprMngCode">삭제</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 고객사 수정 팝업 end -->
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,696 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>사용자관리</title>
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp" %>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/header.jsp" %>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<c:import url="/adm/menu/getLnbMenu.do" />
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function() {
|
|
||||||
$("#selectCustName").on('change', function() {
|
|
||||||
$('#custName').val($("#selectCustName option:selected").val());
|
|
||||||
});
|
|
||||||
|
|
||||||
fncRetrieveUserList();
|
|
||||||
$("#testTb1").DataTable().on( 'select.dt', function ( e, dt, type, indexes ) {
|
|
||||||
var rowData = $("#testTb1").DataTable().row( indexes ).data();
|
|
||||||
$("#mdUserId").val(rowData.userId);
|
|
||||||
$("#mdUserName").val(rowData.userName);
|
|
||||||
$("#mdSelectCustName").val(rowData.custCode);
|
|
||||||
$("#mdSelectAuthName").val(rowData.authCode);
|
|
||||||
$("#mdUseFlag").val(rowData.useFlag);
|
|
||||||
$("#mdEMail").val(rowData.eMail);
|
|
||||||
$("#mdMobileNo").val(rowData.mobileNo);
|
|
||||||
$("#mdSystemUserId").val(rowData.systemUserId);
|
|
||||||
|
|
||||||
$('#mdSelectCustName').niceSelect('update');
|
|
||||||
$('#mdSelectAuthName').niceSelect('update');
|
|
||||||
$('#mdUseFlag').niceSelect('update');
|
|
||||||
});
|
|
||||||
|
|
||||||
$("a.close").on('click', function(){
|
|
||||||
// 수정 Modal
|
|
||||||
$("#mdUserId").val('');
|
|
||||||
$("#mdUserName").val('');
|
|
||||||
$("#mdMobileNo").val('');
|
|
||||||
$("#mdEMail").val('');
|
|
||||||
$("#mdSelectCustName").val('');
|
|
||||||
$("#mdSelectAuthName").val('');
|
|
||||||
$("#mdUseFlag").val('N');
|
|
||||||
$("#mdSystemUserId").val('');
|
|
||||||
|
|
||||||
$('#mdSelectCustName').niceSelect('update');
|
|
||||||
$('#mdSelectAuthName').niceSelect('update');
|
|
||||||
$('#mdUseFlag').niceSelect('update');
|
|
||||||
|
|
||||||
// 등록 Modal
|
|
||||||
$("#mdNewUserId").val('');
|
|
||||||
$("#mdNewUserName").val('');
|
|
||||||
$("#mdNewMobileNo").val('');
|
|
||||||
$("#mdNewEMail").val('');
|
|
||||||
$("#mdNewSelectCustName").val('');
|
|
||||||
$("#mdNewSelectAuthName").val('');
|
|
||||||
$("#mdNewUseFlag").val('N');
|
|
||||||
$("#password").val('');
|
|
||||||
$("#password2").val('');
|
|
||||||
|
|
||||||
$('#mdNewSelectCustName').niceSelect('update');
|
|
||||||
$('#mdNewSelectAuthName').niceSelect('update');
|
|
||||||
$('#mdNewUseFlag').niceSelect('update');
|
|
||||||
})
|
|
||||||
// $(".modal .list").attr("style")
|
|
||||||
});
|
|
||||||
|
|
||||||
function fncUserIdKeyPress(e){
|
|
||||||
if (event.keyCode == 13) {
|
|
||||||
checkAreadyId();
|
|
||||||
} else {
|
|
||||||
$("#checkedId").val('')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function fncKeyPress(e){
|
|
||||||
if (event.keyCode == 13) {
|
|
||||||
fncRetrieveUserList();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function fncRetrieveUserList(){
|
|
||||||
if($('#custName').val()=='' || $('#custName').val() == 'undefined'){
|
|
||||||
swalAlert("info", '고객사명은 필수 항목입니다.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
var param = "siteCode="+$("#custName").val();
|
|
||||||
param += "&searchCondition=" + $("#searchCondition option:selected").val();
|
|
||||||
param += "&searchKeyword=" + $("#searchKeyword").val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/adm/egov/user/retrieveUserList.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
fncDrawUserList(data.nMap);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function fncDrawUserList(data){
|
|
||||||
var cnt = 0;
|
|
||||||
$("#testTb1").dataTable({
|
|
||||||
"autoWidth": false,
|
|
||||||
"paging": true,
|
|
||||||
"pagingType" : "full_numbers",
|
|
||||||
"ordering": true,
|
|
||||||
"info": false,
|
|
||||||
"filter": false,
|
|
||||||
"lengthChange": true,
|
|
||||||
"dom": 'rt<"bottom"fip><"clear">',
|
|
||||||
"pageLength" : '10',
|
|
||||||
"data": data,
|
|
||||||
"destroy": true,
|
|
||||||
"select": true,
|
|
||||||
"columns" : [
|
|
||||||
{data: "systemUserId"},
|
|
||||||
{data: "rownum"},
|
|
||||||
{data: "custName"},
|
|
||||||
{data: "userId"},
|
|
||||||
{data: "userName"},
|
|
||||||
{data: "eMail"},
|
|
||||||
{data: "mobileNo"},
|
|
||||||
{data: "useFlag"},
|
|
||||||
{data: "registDate"},
|
|
||||||
],
|
|
||||||
"columnDefs": [ {
|
|
||||||
orderable: false,
|
|
||||||
targets: 0,
|
|
||||||
render: function ( data, type, row ) {
|
|
||||||
cnt++;
|
|
||||||
apdStr = '<div class="chk_box">';
|
|
||||||
apdStr += ' <input type="checkbox" name="checkbox" value="'+data+'" >';
|
|
||||||
apdStr += ' <label for="chk01"></label>';
|
|
||||||
apdStr += '</div>';
|
|
||||||
return apdStr;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orderable: false,
|
|
||||||
targets: 6,
|
|
||||||
render : function(data) {
|
|
||||||
if(data=='' || data=='undefined'){
|
|
||||||
data = '';
|
|
||||||
}else if(data.length==11){
|
|
||||||
data = data.replace(/(\d{3})(\d{4})(\d{4})/, '$1-$2-$3');
|
|
||||||
}else if(data.length==8){
|
|
||||||
data = data.replace(/(\d{4})(\d{4})/, '$1-$2');
|
|
||||||
}else{
|
|
||||||
if(data.indexOf('02')==0){
|
|
||||||
data = data.replace(/(\d{2})(\d{4})(\d{4})/, '$1-$2-$3');
|
|
||||||
} else {
|
|
||||||
data = data.replace(/(\d{3})(\d{3})(\d{4})/, '$1-$2-$3');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
orderable: false,
|
|
||||||
targets: 8,
|
|
||||||
render : function(data) {
|
|
||||||
return moment(data).format('YYYY-MM-DD HH:mm:ss');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
createdRow: function (row, data, index) {
|
|
||||||
$(row).addClass("modalLoad");
|
|
||||||
$(row).attr("rel", "reg_edit_modal");
|
|
||||||
},
|
|
||||||
drawCallback: function( settings ) {
|
|
||||||
// scripts.js : 조회list modal 연결
|
|
||||||
modalUi();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('.sel_box select').niceSelect();
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkAreadyId(){
|
|
||||||
if($('#mdNewUserId').val() == '' || $('#mdNewUserId').val() == 'undefined'){
|
|
||||||
swalAlert("info", '중복 조회 할 ID를 입력해 주세요.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if( fnCheckNotKorean($('#mdNewUserId').val()) ) {
|
|
||||||
var param = "checkId=" + $('#mdNewUserId').val();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/adm/egov/user/EgovIdDplctCnfirm.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
if(data.usedCnt == "0"){
|
|
||||||
swal('Success', data.checkId + '는 사용할 수 있는 ID 입니다.', {
|
|
||||||
icon: "success",
|
|
||||||
buttons:"확인"
|
|
||||||
});
|
|
||||||
$("#checkedId").val(data.usedCnt);
|
|
||||||
} else {
|
|
||||||
swalAlert("info", data.checkId + '는 사용할 수 없는 ID 입니다.');
|
|
||||||
$("#checkedId").val(data.usedCnt);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error : function(data) {
|
|
||||||
swalAlert('error');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
swalAlert("info", '한글은 사용할 수 없습니다.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function fnCheckNotKorean(koreanStr){
|
|
||||||
for(var i=0;i<koreanStr.length;i++){
|
|
||||||
var koreanChar = koreanStr.charCodeAt(i);
|
|
||||||
if( !( 0xAC00 <= koreanChar && koreanChar <= 0xD7A3 ) && !( 0x3131 <= koreanChar && koreanChar <= 0x318E ) ) {
|
|
||||||
}else{
|
|
||||||
//hangul finding....
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function cudUserInfo(jobCudType){
|
|
||||||
var param = "&jobCudType="+jobCudType;
|
|
||||||
|
|
||||||
if( jobCudType == 'insert'){
|
|
||||||
if($("#checkedId").val()=="0") {
|
|
||||||
if($("#mdNewUserId").val()==""||$("#mdNewUserId").val()=="undefined"
|
|
||||||
|| $("#mdNewUserName").val()==""||$("#mdNewUserName").val()=="undefined"
|
|
||||||
|| $("#mdNewSelectCustName").val()==""||$("#mdNewSelectCustName").val()=="undefined"
|
|
||||||
|| $("#mdNewSelectAuthName").val()==""||$("#mdNewSelectAuthName").val()=="undefined"
|
|
||||||
|| $("#password").val()==""||$("#password").val()=="undefined"
|
|
||||||
|| $("#password2").val()==""||$("#password2").val()=="undefined" ) {
|
|
||||||
|
|
||||||
swalAlert('info', '필수 항목을 확인 후 진행해 주세요.');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
let check = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$/;
|
|
||||||
|
|
||||||
if(!check.test($("#password").val()) && $("#password").val().length < 10) {
|
|
||||||
swalAlert('info', '비밀번호는 10자 이상 또는 영문,숫자,특수기호 포함 8자 이상이어야 합니다.');
|
|
||||||
return false;
|
|
||||||
} else if($("#password").val() != $("#password2").val() ){
|
|
||||||
swalAlert('info', '비밀번호를 확인해 주세요.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
param += "&userId="+$("#mdNewUserId").val();
|
|
||||||
param += "&userName="+$("#mdNewUserName").val();
|
|
||||||
param += "&mobileNo="+$("#mdNewMobileNo").val();
|
|
||||||
param += "&eMail="+$("#mdNewEMail").val();
|
|
||||||
param += "&useFlag="+$("#mdNewUseFlag").val();
|
|
||||||
param += "&siteCode="+$("#mdNewSelectCustName").val();
|
|
||||||
param += "&authCode="+$("#mdNewSelectAuthName").val();
|
|
||||||
param += "&password="+$("#password").val();
|
|
||||||
|
|
||||||
} else if ( $("#checkedId").val()==""||$("#checkedId").val()=="undefined" ){
|
|
||||||
swalAlert('info', '먼저 ID 중복 확인을 실행하십시오');
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
swalAlert('info', '사용할 수 없는 ID 입니다.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if($("#mdUserName").val()==""||$("#mdUserName").val()=="undefined" ) {
|
|
||||||
swalAlert('info', '필수 항목을 확인 후 진행해 주세요.');
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
param += "&userId="+$("#mdUserId").val();
|
|
||||||
param += "&userName="+$("#mdUserName").val();
|
|
||||||
param += "&mobileNo="+$("#mdMobileNo").val();
|
|
||||||
param += "&eMail="+$("#mdEMail").val();
|
|
||||||
param += "&useFlag="+$("#mdUseFlag").val();
|
|
||||||
param += "&siteCode="+$("#mdSelectCustName").val();
|
|
||||||
param += "&authCode="+$("#mdSelectAuthName").val();
|
|
||||||
param += "&systemUserId="+$("#mdSystemUserId").val();
|
|
||||||
}
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/adm/egov/user/EgovUserSelectUpdt.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
if(data.nMap.resultCode == "fail.common.login"){
|
|
||||||
swalAlert("info", '로그인한 후에 진행해 주세요.');
|
|
||||||
} else if(data.nMap.resultCode == "success.common.update" || data.nMap.resultCode == "success.common.insert") {
|
|
||||||
swalAlert('success', '저장');
|
|
||||||
$('a.close').trigger('click');
|
|
||||||
fncRetrieveUserList(data.nMap);
|
|
||||||
} else {
|
|
||||||
swalAlert('error');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error : function(data) {
|
|
||||||
swalAlert('error');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function fncDeleteUser(){
|
|
||||||
var table = $('#testTb1').DataTable();
|
|
||||||
var param = table.$('input').serialize();
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/adm/egov/user/EgovUserDelete.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
if(data.nMap.resultCode == "fail.common.login"){
|
|
||||||
swalAlert("info", '로그인한 후에 진행해 주세요.');
|
|
||||||
} else if(data.nMap.resultCode == "success.common.delete") {
|
|
||||||
swalAlert('success', '삭제');
|
|
||||||
$('a.close').trigger('click');
|
|
||||||
fncRetrieveUserList(data.nMap);
|
|
||||||
} else {
|
|
||||||
swalAlert('error');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
error : function(data) {
|
|
||||||
swalAlert('error');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
|
||||||
<li><a href="#">시스템관리</a></li>
|
|
||||||
<li><a href="#">사용자관리</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="sub_cont menu06_02">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">사용자 조회</h2>
|
|
||||||
</div>
|
|
||||||
<div class="fr">
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${'SYS_ADMIN'==LoginVO.authCode}">
|
|
||||||
<dl class="customer fl">
|
|
||||||
<dt class="fl">
|
|
||||||
고객사 :
|
|
||||||
</dt>
|
|
||||||
<dd class="fl">
|
|
||||||
<div class="sel_box">
|
|
||||||
<input name="custName" id="custName" type="hidden"/>
|
|
||||||
<select class="top" id="selectCustName" name="selectCustName" title="검색조건-고객사" >
|
|
||||||
<option value="">고객사 선택</option>
|
|
||||||
<c:forEach var="siteInfo" items="${siteLists}" varStatus="status">
|
|
||||||
<option value="<c:out value="${siteInfo.custCode}"/>"><c:out value="${siteInfo.custName}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<input name="custName" id="custName" type="hidden" value="${LoginVO.siteCode}"/>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
<div class="btn_wrap fl">
|
|
||||||
<a href="#" class="btn" id="btnSend" onclick="fncRetrieveUserList(); return false;">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search">
|
|
||||||
<colgroup>
|
|
||||||
<col width="130px">
|
|
||||||
<col width="42%">
|
|
||||||
<col width="130px">
|
|
||||||
<col width="42%">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th>조회조건</th>
|
|
||||||
<td>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="searchCondition" class="wide">
|
|
||||||
<!-- <option value="">조회조건 선택</option> -->
|
|
||||||
<option value="0">ID</option>
|
|
||||||
<option value="1">이름</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<th class="tl">조회 명</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="조회명을 입력해주세요." id="searchKeyword" name="code" class="" onkeypress="return fncKeyPress();">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">사용자 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn grey" onclick="fncDeleteUser(); return false;">삭제</a>
|
|
||||||
<a href="#" rel="reg_modal" class="btn line modalLoad">신규등록</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table id="testTb1" class="click">
|
|
||||||
<colgroup>
|
|
||||||
<col width="60px">
|
|
||||||
<col width="70px">
|
|
||||||
<col width="300px">
|
|
||||||
<col width="*">
|
|
||||||
<col width="*">
|
|
||||||
<col width="250px">
|
|
||||||
<col width="250px">
|
|
||||||
<col width="150px">
|
|
||||||
<col width="250px">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="all" id="chk00" value="">
|
|
||||||
<label for="chk00"></label>
|
|
||||||
</div>
|
|
||||||
</th>
|
|
||||||
<th>NO</th>
|
|
||||||
<th>고객사</th>
|
|
||||||
<th>아이디</th>
|
|
||||||
<th>사용자 이름</th>
|
|
||||||
<th>이메일</th>
|
|
||||||
<th>전화번호</th>
|
|
||||||
<th>사용여부</th>
|
|
||||||
<th>등록일시</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<!-- modal :: 사용자 수정 팝업 -->
|
|
||||||
<div class="modal" id="reg_edit_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>사용자 관리 수정</h3>
|
|
||||||
<input type="hidden" id="mdSystemUserId" id="mdSystemUserId">
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">사용자 ID</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" name="required" id="mdUserId" disabled>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">이름</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" name="required" id="mdUserName">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">고객사</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide" id="mdSelectCustName" name="mdSelectCustName" title="검색조건-고객사" >
|
|
||||||
<c:forEach var="siteInfo" items="${siteLists}" varStatus="status">
|
|
||||||
<option value="<c:out value="${siteInfo.custCode}"/>"><c:out value="${siteInfo.custName}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">권한</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide" id="mdSelectAuthName" name="mdSelectAuthName" title="검색조건-권한" >
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${'VIDEO_SITE_ADMIN'==LoginVO.authCode}">
|
|
||||||
<option value="VIDEO_SITE_USER" label="영상상담 Site 사용자"/>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<option value="SYS_ADMIN">시스템관리자</option>
|
|
||||||
<c:forEach var="authInfo" items="${authLists}" varStatus="status">
|
|
||||||
<option value="<c:out value="${authInfo.code}"/>"><c:out value="${authInfo.codeNm}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">사용여부</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="mdUseFlag" class="wide">
|
|
||||||
<option value="N">미사용</option>
|
|
||||||
<option value="Y">사용</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">이메일 주소</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="mdEMail">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">핸드폰 번호</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="mdMobileNo">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn" onclick="cudUserInfo('update'); return false;">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 사용자 서비스 수정 팝업 end -->
|
|
||||||
<!-- modal :: 사용자 등록 팝업 -->
|
|
||||||
<div class="modal" id="reg_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>사용자 관리 등록</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">사용자 ID</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="text" name="required" id="mdNewUserId" onkeypress="return fncUserIdKeyPress(event);" style="width: 326px;">
|
|
||||||
<input type="hidden" id="checkedId">
|
|
||||||
<a href="#" class="btn" onclick="checkAreadyId(); return false;" style="height: 36px;">중복검색</a>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">비밀번호</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="password" name="required" id="password">
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">비밀번호 확인</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box listen">
|
|
||||||
<input type="password" name="required" id="password2">
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">이름</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" name="required" id="mdNewUserName">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">고객사</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide" id="mdNewSelectCustName" name="mdNewSelectCustName" title="검색조건-고객사" >
|
|
||||||
<option value="">고객사 선택</option>
|
|
||||||
<c:forEach var="siteInfo" items="${siteLists}" varStatus="status">
|
|
||||||
<option value="<c:out value="${siteInfo.custCode}"/>"><c:out value="${siteInfo.custName}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">권한</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select class="wide" id="mdNewSelectAuthName" name="mdNewSelectAuthName" title="검색조건-권한" >
|
|
||||||
<option value="">권한 선택</option>
|
|
||||||
<c:choose>
|
|
||||||
<c:when test="${'VIDEO_SITE_ADMIN'==LoginVO.authCode}">
|
|
||||||
<option value="VIDEO_SITE_USER" label="영상상담 Site 사용자"/>
|
|
||||||
</c:when>
|
|
||||||
<c:otherwise>
|
|
||||||
<option value="SYS_ADMIN">시스템관리자</option>
|
|
||||||
<c:forEach var="authInfo" items="${authLists}" varStatus="status">
|
|
||||||
<option value="<c:out value="${authInfo.code}"/>"><c:out value="${authInfo.codeNm}"/></option>
|
|
||||||
</c:forEach>
|
|
||||||
</c:otherwise>
|
|
||||||
</c:choose>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">사용여부</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="sel_box">
|
|
||||||
<select id="mdNewUseFlag" class="wide">
|
|
||||||
<option value="N">미사용</option>
|
|
||||||
<option value="Y">사용</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">이메일 주소</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="mdNewEMail">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">핸드폰 번호</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="mdNewMobileNo">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn" onclick="cudUserInfo('insert'); return false;">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 사용자 서비스 등록 팝업 end -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,533 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>메뉴권한관리</title>
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp" %>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/header.jsp" %>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<c:import url="/adm/menu/getLnbMenu.do" />
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$(document).ready( function () {
|
|
||||||
|
|
||||||
// 권한 조회
|
|
||||||
$('#btnSearchCust').on('click',function() {
|
|
||||||
fncSearchCust();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 신규 권한 저장
|
|
||||||
$('#btnSaveCust').on('click',function() {
|
|
||||||
fncCreateCustInfo();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 권한 수정
|
|
||||||
$('#btnEditCust').on('click',function() {
|
|
||||||
fncUpdateCustInfo();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 권한 삭제
|
|
||||||
$('#btnDelCust').on('click',function() {
|
|
||||||
// scripts.js : swal(alert) 공통 알림
|
|
||||||
swalAlert('warning', "삭제", fncDeleteService);
|
|
||||||
});
|
|
||||||
|
|
||||||
// 추가 modal
|
|
||||||
$('#btnRegModal').on('click',function() {
|
|
||||||
// 초기화
|
|
||||||
$('#serviceInfo').reset();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 권한 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
});
|
|
||||||
|
|
||||||
function fncKeyPresshandler(e) {
|
|
||||||
if (event.keyCode == 13) {
|
|
||||||
fncSearchCust();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 권한 리스트 그리기
|
|
||||||
function fncSearchCust() {
|
|
||||||
|
|
||||||
$('#listTable tbody').empty();
|
|
||||||
|
|
||||||
var param = "searchKeyword=" + $('#keyword').val();
|
|
||||||
var resultTr = '';
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/retrieveAuthList.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data){
|
|
||||||
|
|
||||||
$.each($.parseJSON(data.nMap), function(i, val){
|
|
||||||
i += 1;
|
|
||||||
|
|
||||||
resultTr += '<tr class="modalLoad" rel="reg_edit_modal" data-auth-code="' + val.authCode
|
|
||||||
+ '" data-auth-name="' + val.authName + '" data-auth-desc="' + val.authDesc
|
|
||||||
+ '" data-regist-date="' + val.registDate + '">';
|
|
||||||
resultTr += ' <td>';
|
|
||||||
resultTr += ' <div class="chk_box">';
|
|
||||||
resultTr += ' <input type="checkbox" name="checkbox" id="chk'+ i +'" value="off">';
|
|
||||||
resultTr += ' <label for="chk'+ i +'"></label>';
|
|
||||||
resultTr += ' </div>';
|
|
||||||
resultTr += ' </td>';
|
|
||||||
resultTr += ' <td class="tl">' + val.authCode + '</td>';
|
|
||||||
resultTr += ' <td class="tl">' + val.authName + '</td>';
|
|
||||||
resultTr += ' <td class="tl">' + val.authDesc + '</td>';
|
|
||||||
resultTr += ' <td>' + val.registDate + '</td>';
|
|
||||||
resultTr += '</tr>';
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#listTable tbody').append(resultTr);
|
|
||||||
|
|
||||||
// 권한 수정 modal open event
|
|
||||||
$('#listTable tbody tr').on('dblclick', function() {
|
|
||||||
fncSearchDetail($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
// scripts.js : 권한 list modal 연결
|
|
||||||
modalUi();
|
|
||||||
|
|
||||||
// scripts.js : 체크 박스 체크에 따른 '모두 체크' 변경
|
|
||||||
checkAllChecked();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// 수정 modal
|
|
||||||
function fncSearchDetail(tr){
|
|
||||||
// 값 가져오기
|
|
||||||
var authCode = $(tr).data('authCode');
|
|
||||||
var authName = $(tr).data('authName');
|
|
||||||
var authDesc = $(tr).data('authDesc');
|
|
||||||
|
|
||||||
// 값 채우기
|
|
||||||
$('#authCode').val(authCode);
|
|
||||||
$('#authName').val(authName);
|
|
||||||
$('#authDesc').text(authDesc);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 신규 권한 저장
|
|
||||||
function fncCreateCustInfo() {
|
|
||||||
if($('input[name="authCode"]').val() == '') {
|
|
||||||
swalAlert('info', '권한코드는 필수 항목입니다.');
|
|
||||||
}
|
|
||||||
else if($('input[name="authName"]').val() == '') {
|
|
||||||
swalAlert('info', '권한명은 필수 항목입니다.');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
swalAlert('warning', '저장', insertCustInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 권한 insert
|
|
||||||
function insertCustInfo() {
|
|
||||||
var param = $('#serviceInfo').serialize();
|
|
||||||
param += "&jobCudType=insert";
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/authWrite.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swalAlert('success', '저장');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_modal a.close').trigger('click');
|
|
||||||
|
|
||||||
// 권한 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 기존 권한 수정
|
|
||||||
function fncUpdateCustInfo() {
|
|
||||||
if($('#authCode').val() == '') {
|
|
||||||
swalAlert('info', '권한명은 필수 항목입니다.');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
swalAlert('warning', '수정', updateCustInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//권한 update
|
|
||||||
function updateCustInfo() {
|
|
||||||
var param = $('#editServiceInfo').serialize();
|
|
||||||
param += "&jobCudType=update";
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/authWrite.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swalAlert('success', '수정');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_edit_modal a.close').trigger('click');
|
|
||||||
|
|
||||||
// 권한 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
}
|
|
||||||
|
|
||||||
// 권한 삭제
|
|
||||||
function fncDeleteService() {
|
|
||||||
var checkbox = $("input[name=checkbox]:checked");
|
|
||||||
|
|
||||||
var param = '';
|
|
||||||
$.each(checkbox, function(i, val){
|
|
||||||
if(i == 0) {
|
|
||||||
param += 'authCodes=' + $(val).parents('tr').data('authCode');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
param += ';' + $(val).parents('tr').data('authCode');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/authListDelete.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
if(data.result == 'success') {
|
|
||||||
swalAlert('success', '삭제');
|
|
||||||
|
|
||||||
// 권한 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
swalAlert('info', '삭제하시는 권한의 하위권한를 먼저 삭제해주세요.');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
|
||||||
<li><a href="#">시스템관리</a></li>
|
|
||||||
<li><a href="#">메뉴권한관리</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="sub_cont menu06_01_01">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">권한 조회</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnSearchCust" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search">
|
|
||||||
<colgroup>
|
|
||||||
<col width="130px">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">권한명</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="권한명을 입력해주세요." id="keyword" class="" onkeypress="return fncKeyPresshandler(event);">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">권한 리스트</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn grey" id="btnDelCust">삭제</a>
|
|
||||||
<a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<form id="custListForm">
|
|
||||||
<table id="listTable" class="">
|
|
||||||
<colgroup>
|
|
||||||
<col width="60px">
|
|
||||||
<col width="23%">
|
|
||||||
<col width="23%">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="170px">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="all" id="chk00" value="">
|
|
||||||
<label for="chk00"></label>
|
|
||||||
</div>
|
|
||||||
</th>
|
|
||||||
<th>권한코드</th>
|
|
||||||
<th>권한명</th>
|
|
||||||
<th>설명</th>
|
|
||||||
<th>등록일자</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<%--
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk01" value="">
|
|
||||||
<label for="chk01"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk02" value="">
|
|
||||||
<label for="chk02"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk03" value="">
|
|
||||||
<label for="chk03"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk04" value="">
|
|
||||||
<label for="chk04"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk05" value="">
|
|
||||||
<label for="chk05"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk06" value="">
|
|
||||||
<label for="chk06"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk07" value="">
|
|
||||||
<label for="chk07"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk08" value="">
|
|
||||||
<label for="chk08"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk09" value="">
|
|
||||||
<label for="chk09"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="modalLoad" rel="reg_edit_modal">
|
|
||||||
<td>
|
|
||||||
<div class="chk_box">
|
|
||||||
<input type="checkbox" name="checkbox" id="chk10" value="">
|
|
||||||
<label for="chk10"></label>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td class="tl">IS_AUTHENTICATED_ANONYMOUSLY</td>
|
|
||||||
<td class="tl">[Egov정의]인명사용자</td>
|
|
||||||
<td class="tl">[스프링기본권한]익명사용자(롤부여금지)</td>
|
|
||||||
<td>2019-04-09 21:11:33</td>
|
|
||||||
</tr>
|
|
||||||
<!-- <tr>-->
|
|
||||||
<!-- <td colspan="5">변경된 전처리 리스트가 없습니다.</td>-->
|
|
||||||
<!-- </tr>-->
|
|
||||||
--%>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- modal :: 권한 등록 팝업 -->
|
|
||||||
<div class="modal" id="reg_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>권한 신규등록</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<form id="serviceInfo">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="important">권한코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" name="authCode" placeholder="권한코드를 입력하세요.">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="important">권한명</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" name="authName" placeholder="권한명 입력하세요.">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">권한 설명</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<textarea name="authDesc"></textarea>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" class="btn" id="btnSaveCust">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 권한 등록 팝업 end -->
|
|
||||||
|
|
||||||
<!-- modal :: 권한 수정 팝업 -->
|
|
||||||
<div class="modal" id="reg_edit_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>권한 수정</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<form id="editServiceInfo">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">권한코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="authCode" name="authCode" value="IS_AUTHENTICATED_ANONYMOUSLY" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="important">권한명</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="authName" name="authName" value="[Egov정의]인명사용자">
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="">권한 설명</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<textarea id="authDesc" name="authDesc">[스프링기본권한]익명사용자(롤부여금지)</textarea>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnEditCust" class="btn">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 권한 수정 팝업 end -->
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,499 +0,0 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
||||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="ko">
|
|
||||||
<head>
|
|
||||||
<title>권한별메뉴관리</title>
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/topLinkTag.jsp" %>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<h1>ICOMSYS ADMIN</h1>
|
|
||||||
|
|
||||||
<div class="skip_navigation">
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="#Gnb">메뉴 바로가기</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<header id="header">
|
|
||||||
<%@ include file="/WEB-INF/jsp/adm/include/header.jsp" %>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<c:import url="/adm/menu/getLnbMenu.do" />
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$(document).ready( function () {
|
|
||||||
|
|
||||||
// 권한별메뉴 조회
|
|
||||||
$('#btnSearchCust').on('click',function() {
|
|
||||||
fncSearchCust();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 권한별메뉴 수정
|
|
||||||
$('#btnEditCust').on('click',function() {
|
|
||||||
fncUpdateCustInfo();
|
|
||||||
});
|
|
||||||
|
|
||||||
// 권한별메뉴 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
});
|
|
||||||
|
|
||||||
function fncKeyPresshandler(e) {
|
|
||||||
if (event.keyCode == 13) {
|
|
||||||
fncSearchCust();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 권한별메뉴 리스트 그리기
|
|
||||||
function fncSearchCust() {
|
|
||||||
|
|
||||||
$('#listTable tbody').empty();
|
|
||||||
|
|
||||||
var param = "searchKeyword=" + $('#keyword').val();
|
|
||||||
var resultTr = '';
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/retrieveMenuAuth.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data){
|
|
||||||
|
|
||||||
$.each($.parseJSON(data.nMap), function(i, val) {
|
|
||||||
i += 1;
|
|
||||||
|
|
||||||
resultTr += '<tr class="modalLoad" rel="reg_edit_modal" data-auth-code="' + val.authCode + '">';
|
|
||||||
resultTr += ' <td class="tl">' + val.authCode + '</td>';
|
|
||||||
resultTr += ' <td class="tl">' + val.authName + '</td>';
|
|
||||||
resultTr += ' <td class="tl">' + val.authDesc + '</td>';
|
|
||||||
resultTr += ' <td>' + authHasYn(val.chkYeoBu) + '</td>';
|
|
||||||
resultTr += '</tr>';
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#listTable tbody').append(resultTr);
|
|
||||||
|
|
||||||
// 권한별메뉴 수정 modal open event
|
|
||||||
$('#listTable tbody tr').on('dblclick', function() {
|
|
||||||
fncSearchDetail($(this));
|
|
||||||
});
|
|
||||||
|
|
||||||
// scripts.js : 권한별메뉴 list modal 연결
|
|
||||||
modalUi();
|
|
||||||
|
|
||||||
// scripts.js : 체크 박스 체크에 따른 '모두 체크' 변경
|
|
||||||
checkAllChecked();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function authHasYn(count) {
|
|
||||||
return count > 0 ? 'Y' : 'N';
|
|
||||||
}
|
|
||||||
|
|
||||||
// 수정 modal 값 가져오기
|
|
||||||
function fncSearchDetail(tr){
|
|
||||||
var authCode = $(tr).data('authCode');
|
|
||||||
|
|
||||||
var param = "authCode=" + authCode;
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/menuCreatSelect.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
fncSetDetailInfo(data);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//수정 modal 값 채우기
|
|
||||||
function fncSetDetailInfo(infoData) {
|
|
||||||
// 서비스 코드 양식 그리기
|
|
||||||
var shtml = '';
|
|
||||||
|
|
||||||
var instance = $('#menuTree').jstree(true);
|
|
||||||
|
|
||||||
// console.log('init instance : ' + instance);
|
|
||||||
if(instance) {
|
|
||||||
instance = $('#menuTree').jstree("destroy");
|
|
||||||
// console.log('init?? true' + instance);
|
|
||||||
}
|
|
||||||
|
|
||||||
$('#menuTree').empty();
|
|
||||||
|
|
||||||
// console.log('empty() instance : ' + instance);
|
|
||||||
|
|
||||||
var len = infoData.list_menulist.length;
|
|
||||||
var dataList = infoData.list_menulist;
|
|
||||||
var afterLevel;
|
|
||||||
var nowLevel;
|
|
||||||
var checkedArr = new Array;
|
|
||||||
var upperNode = new Array;
|
|
||||||
|
|
||||||
for(var i=0; len > i; i++) {
|
|
||||||
nowLevel = dataList[i].level;
|
|
||||||
|
|
||||||
if(dataList[i].useFlag != null && dataList[i].useFlag == 'Y') {
|
|
||||||
// 체크 되어 있는 서비스코드 항목
|
|
||||||
var menuNolen = dataList[i].menuNo.toString().length;
|
|
||||||
if(menuNolen >= 7 && dataList[i].menuNo.toString().substr(menuNolen-2, menuNolen) != "00") {
|
|
||||||
checkedArr.push('chk' + dataList[i].menuNo);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
upperNode.push('chk' + dataList[i].menuNo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if(menuNolen < 7 || dataList[i].menuNo.toString().substr(menuNolen-2, menuNolen) == "00") {
|
|
||||||
upperNode.push('chk' + dataList[i].menuNo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(len > i + 1) {
|
|
||||||
afterLevel = dataList[i+1].level;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
afterLevel = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(i == 0) {
|
|
||||||
shtml += '<ul>';
|
|
||||||
}
|
|
||||||
|
|
||||||
if(nowLevel == afterLevel) {
|
|
||||||
// 다음 노드가 동위 노드
|
|
||||||
|
|
||||||
shtml += '<li id="chk' + dataList[i].menuNo + '">' + dataList[i].menuName + '</li>';
|
|
||||||
}
|
|
||||||
else if(nowLevel < afterLevel) {
|
|
||||||
// 다음 노드가 하위 노드
|
|
||||||
|
|
||||||
//shtml += '<li id="chk' + dataList[i].menuNo + '" data-jstree=\'{ "opened" : true }\'>' + dataList[i].menuName;
|
|
||||||
shtml += '<li id="chk' + dataList[i].menuNo + '" data-jstree=\'{ "checkbox_disabled" : true }\'>' + dataList[i].menuName;
|
|
||||||
//shtml += '<li id="chk' + dataList[i].menuNo + '">' + dataList[i].menuName;
|
|
||||||
shtml += '<ul>';
|
|
||||||
}
|
|
||||||
else if(afterLevel == 0) {
|
|
||||||
// 현재가 마지막 노드
|
|
||||||
|
|
||||||
shtml += '<li id="chk' + dataList[i].menuNo + '">' + dataList[i].menuName + '</li>';
|
|
||||||
|
|
||||||
for(var j=0; nowLevel > j; j++) {
|
|
||||||
shtml += '</ul>';
|
|
||||||
shtml += '</li>';
|
|
||||||
}
|
|
||||||
|
|
||||||
shtml += '</ul>';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// nowLevel > afterLevel : 다음 노드가 상위 노드
|
|
||||||
|
|
||||||
shtml += '<li id="chk' + dataList[i].menuNo + '">' + dataList[i].menuName + '</li>';
|
|
||||||
|
|
||||||
for(var j=0; (nowLevel - afterLevel) > j; j++) {
|
|
||||||
shtml += '</ul>';
|
|
||||||
shtml += '</li>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//$('#menuTree').append(shtml);
|
|
||||||
$('#menuTree').html(shtml);
|
|
||||||
|
|
||||||
instance = $('#menuTree').jstree(true);
|
|
||||||
//instance2.deselect_all();
|
|
||||||
//instance2.select_node('1');
|
|
||||||
|
|
||||||
// console.log('innerHtml instance : ' + instance);
|
|
||||||
// instance.deselect_all();
|
|
||||||
// console.log('instance : ' + instance);
|
|
||||||
|
|
||||||
if(instance) {
|
|
||||||
//instance.deselect_all();
|
|
||||||
//instance.select_node('1');
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
$('#menuTree').jstree({
|
|
||||||
|
|
||||||
|
|
||||||
"core" : {
|
|
||||||
"check_callback" : function (operation, node, node_parent, node_position, more) {
|
|
||||||
// operation can be 'create_node', 'rename_node', 'delete_node', 'move_node', 'copy_node' or 'edit'
|
|
||||||
// in case of 'rename_node' node_position is filled with the new node name
|
|
||||||
|
|
||||||
//return operation === 'rename_node' ? true : false;
|
|
||||||
//console.log('check_callback');
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"checkbox" : {
|
|
||||||
//"keep_selected_style" : false
|
|
||||||
//"tie_selection" : false
|
|
||||||
},
|
|
||||||
"plugins" : [
|
|
||||||
"checkbox"
|
|
||||||
]
|
|
||||||
}).on("changed.jstree", function (e, data) {
|
|
||||||
//console.log('changed');
|
|
||||||
//console.log(data.instance.get_selected(true)[0].text);
|
|
||||||
//console.log(data.instance.get_node(data.selected[0]).text);
|
|
||||||
}).on("select_node.jstree", function (e, data) {
|
|
||||||
//console.log('select_node');
|
|
||||||
}).on("deselect_node.jstree", function (e, data) {
|
|
||||||
//console.log('unselect_node');
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// json data 생성 형태
|
|
||||||
//{ "id" : "Test node", "state" : { "checkbox_disabled" : true } }
|
|
||||||
|
|
||||||
|
|
||||||
instance = $('#menuTree').jstree(true);
|
|
||||||
|
|
||||||
var selected1 = instance.get_selected();
|
|
||||||
//instance.select_all();
|
|
||||||
//instance.select_node("j1_1");
|
|
||||||
//instance.select_node("1");
|
|
||||||
//instance.select_node("2");
|
|
||||||
//instance.select_node("j1_3");
|
|
||||||
instance.select_node(checkedArr);
|
|
||||||
//instance.refresh();
|
|
||||||
//instance.set_id("j1_4", "aa");
|
|
||||||
var jsonData = instance.get_json();
|
|
||||||
var textData = instance.get_text();
|
|
||||||
//set_id(obj, id)
|
|
||||||
//get_json([obj, options])
|
|
||||||
//redraw([full])
|
|
||||||
//get_text(obj)
|
|
||||||
//get_undetermined ([full])
|
|
||||||
//class='jstree-undetermined'
|
|
||||||
|
|
||||||
// 안됨
|
|
||||||
//var selected3 = instance.get_undetermined();
|
|
||||||
var selected3 = instance._undetermined();
|
|
||||||
//instance.disable_checkbox(upperNode);
|
|
||||||
//instance.disable_checkbox();
|
|
||||||
instance.disable_node(upperNode);
|
|
||||||
|
|
||||||
var selected2 = instance.get_selected();
|
|
||||||
|
|
||||||
// tree 모두 펼치기
|
|
||||||
instance.open_all();
|
|
||||||
|
|
||||||
//console.log();
|
|
||||||
//instance.hide_checkboxes();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 값 채우기
|
|
||||||
$('#authCode').val(infoData.menuCreatVO.authCode);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// 기존 권한별메뉴 수정
|
|
||||||
function fncUpdateCustInfo() {
|
|
||||||
swalAlert('warning', '수정', updateCustInfo);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 권한별메뉴 update
|
|
||||||
function updateCustInfo() {
|
|
||||||
var param = "authCode=" + $('#authCode').val();
|
|
||||||
param += "&checkedAuthorForInsert=" + $('#authCode').val();
|
|
||||||
param += "&checkedMenuNoForInsert=";
|
|
||||||
|
|
||||||
// var checkbox = $('#serviceCode input[name=checkbox]:checked');
|
|
||||||
var checkbox = $('#menuTree').jstree('get_selected', true);
|
|
||||||
$.each(checkbox, function(i, val) {
|
|
||||||
if(i == 0) {
|
|
||||||
// param += $(val).data('text');
|
|
||||||
param += checkbox[i].id;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
// param += ',' + $(val).data('text');
|
|
||||||
param += ',' + checkbox[i].id;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$("#menuTree").find(".jstree-undetermined").each(function (i, element) {
|
|
||||||
param += ',' + $(element).closest('.jstree-node').attr("id");
|
|
||||||
});
|
|
||||||
|
|
||||||
$.ajax({
|
|
||||||
type : "post",
|
|
||||||
async : false,
|
|
||||||
datatype : "text",
|
|
||||||
url : "<c:url value='/admin/system/menuCreatInsert.do'/>",
|
|
||||||
data : param,
|
|
||||||
success : function(data) {
|
|
||||||
swalAlert('success', '수정');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// edit_modal close
|
|
||||||
$('#reg_edit_modal a.close').trigger('click');
|
|
||||||
|
|
||||||
// 권한별메뉴 리스트 그리기
|
|
||||||
fncSearchCust();
|
|
||||||
}
|
|
||||||
|
|
||||||
</script>
|
|
||||||
<section id="Content" class="system_management">
|
|
||||||
<div class="location">
|
|
||||||
<ul>
|
|
||||||
<li class="home"><a href="#">HOME</a></li>
|
|
||||||
<li><a href="#">시스템관리</a></li>
|
|
||||||
<li><a href="#">권한별메뉴관리</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="sub_cont menu06_03_01">
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">권한별메뉴 조회</h2>
|
|
||||||
</div>
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnSearchCust" class="btn">조회</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<table class="search">
|
|
||||||
<colgroup>
|
|
||||||
<col width="130px">
|
|
||||||
<col width="auto">
|
|
||||||
</colgroup>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<th class="tl">권한코드</th>
|
|
||||||
<td class="tl">
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" placeholder="권한코드를 입력해주세요." id="keyword" class="" onkeypress="return fncKeyPresshandler(event);">
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="cont_box">
|
|
||||||
<div class="box_title">
|
|
||||||
<div class="fl">
|
|
||||||
<h2 class="mt12">권한별메뉴 리스트</h2>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tbl">
|
|
||||||
<form id="custListForm">
|
|
||||||
<table id="listTable" class="">
|
|
||||||
<colgroup>
|
|
||||||
<col width="30%">
|
|
||||||
<col width="25%">
|
|
||||||
<col width="auto">
|
|
||||||
<col width="110px">
|
|
||||||
</colgroup>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>권한코드</th>
|
|
||||||
<th>권한명</th>
|
|
||||||
<th>권한설명</th>
|
|
||||||
<th>메뉴생성여부</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- modal :: 권한별메뉴 수정 팝업 -->
|
|
||||||
<div class="modal" id="reg_edit_modal">
|
|
||||||
<div class="modal_header">
|
|
||||||
<h3>권한별메뉴 수정</h3>
|
|
||||||
</div>
|
|
||||||
<div class="modal_body">
|
|
||||||
<div class="modal_cont">
|
|
||||||
<form id="editServiceInfo">
|
|
||||||
<dl>
|
|
||||||
<dt><h4><em class="">권한코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="ipt_box">
|
|
||||||
<input type="text" id="authCode" name="authCode" value="1" readonly>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
<dl class="">
|
|
||||||
<dt><h4><em class="important">서비스코드</em></h4></dt>
|
|
||||||
<dd>
|
|
||||||
<div class="content tree">
|
|
||||||
<div id="menuTree" class="tree_wrap">
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>root
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>주소BOT
|
|
||||||
<ul>
|
|
||||||
<li>지명 유사어 관리</li>
|
|
||||||
<li>빌딩 유사어 관리</li>
|
|
||||||
<li>유의어 전처리 관리</li>
|
|
||||||
<li>주소봇 멘트 관리</li>
|
|
||||||
<li>발화 건물유형 관리</li>
|
|
||||||
<li>주소 월별 업데이트</li>
|
|
||||||
<li>주소처리내역(녹취)</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
|
|
||||||
<ul>
|
|
||||||
<li data-jstree='{ "opened" : true }'>서비스별관리
|
|
||||||
<ul>
|
|
||||||
<li>요일/시간대별 멘트 관리</li>
|
|
||||||
<li>휴무일 관리</li>
|
|
||||||
<li>자연어 전처리 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>공통 코드 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>무인접수BOT
|
|
||||||
<ul>
|
|
||||||
<li>무인 접수 리스트</li>
|
|
||||||
<li>제품군 유의어 관리</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li data-jstree='{ "opened" : true }'>영상상담
|
|
||||||
<ul>
|
|
||||||
<li>컨텐츠등록 관리</li>
|
|
||||||
<li>영상상담</li>
|
|
||||||
<li>상담이력 조회</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_footer">
|
|
||||||
<div class="btn_wrap fr">
|
|
||||||
<a href="#" id="btnEditCust" class="btn">저장</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal_controller">
|
|
||||||
<a href="#" class="close">close</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- modal :: 권한별메뉴 수정 팝업 end -->
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
Loading…
Reference in New Issue