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>
|
||||
$(document).ready(function () {
|
||||
PagingDataTable();
|
||||
$('#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();
|
||||
}
|
||||
});
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
$('#btnRegModal').on('click', function () {
|
||||
fnInsertBtn();
|
||||
});
|
||||
|
||||
$('#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() {
|
||||
// document.location.href = "/BotMain_VM/admin/common/system/cust/insert";
|
||||
document.location.href = "<c:url value='/admin/common/system/cust/insert'/>";
|
||||
}
|
||||
function fnInsertBtn() {
|
||||
// document.location.href = "/BotMain_VM/admin/common/system/cust/insert";
|
||||
document.location.href = '/admin/common/system/cust/insert';
|
||||
}
|
||||
|
||||
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/cust/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.codeText = $('#codeText').val();
|
||||
} else {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
var PagingDataTable = function () {
|
||||
// console.log("log - " + JSON.stringify({"page": "0", "size": "10"}));
|
||||
var paging = JSON.stringify({'page': 0, 'size': 10})
|
||||
$('#listTable').DataTable(
|
||||
{
|
||||
ajax: {
|
||||
url: '/admin/common/system/cust/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.codeText = $('#codeText').val();
|
||||
} else {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
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: "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>';
|
||||
,
|
||||
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);
|
||||
}
|
||||
},
|
||||
{
|
||||
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>';
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
};
|
||||
columns: [
|
||||
{data: "custCode"},
|
||||
{data: "custName"},
|
||||
{data: "custServiceMent"},
|
||||
{data: "custTel"},
|
||||
{data: "useYn"},
|
||||
{data: "registDate"}
|
||||
// {data: "registId"},
|
||||
// {data: "updateDate"},
|
||||
// {data: "updateId"},
|
||||
|
||||
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>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<header id="header">
|
||||
</header>
|
||||
<body>
|
||||
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">고객사 관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</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="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 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 class="tbl">
|
||||
<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="">
|
||||
<div class="tbl">
|
||||
<table class="search block">
|
||||
<colgroup>
|
||||
<col width="auto">
|
||||
<col width="auto">
|
||||
<col width="auto">
|
||||
<col width="auto">
|
||||
<col width="auto">
|
||||
<col width="auto">
|
||||
<col width="140px">
|
||||
<col width="85%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>고객사코드</th>
|
||||
<th>고객사명</th>
|
||||
<th>고객사안내멘트</th>
|
||||
<th>대표번호</th>
|
||||
<th>사용유무</th>
|
||||
<th>생성일</th>
|
||||
<%-- <th>registId</th>--%>
|
||||
<%-- <th>updateDate</th>--%>
|
||||
<%-- <th>updateId</th>--%>
|
||||
|
||||
<th class="tl">고객사명</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText" name="typeText">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</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>
|
||||
</section>
|
||||
</body>
|
||||
</section>
|
||||
</body>
|
||||
</th:block>
|
||||
</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();
|
||||
getGroupAuthUpdateData();
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
getUserSearch()
|
||||
}
|
||||
});
|
||||
var json = {};
|
||||
var searchText = $('#userSelBox').val();
|
||||
json.userSearchText = searchText;
|
||||
$('#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');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//유저조회
|
||||
$('#btnSearchUser').on('click', function () {
|
||||
getUserSearch()
|
||||
// $('#serviceInfo').reset();
|
||||
});
|
||||
function ServiceGroupAuthModifyUpdate() {
|
||||
|
||||
//유저 선택 이벤트
|
||||
$('#selectorUser').change(function () {
|
||||
userAdd($(this).val(), $('#selectorUser option:selected').text())
|
||||
var selectedElmsIds = [];
|
||||
var selectedElms = $("#tree_wrap").jstree("get_selected", true);
|
||||
$.each(selectedElms, function () {
|
||||
selectedElmsIds.push(this.id);
|
||||
});
|
||||
|
||||
|
||||
$('#btnSave').on('click', function () {
|
||||
// console.log("저장클릭")
|
||||
ServiceGroupAuthModifyUpdate();
|
||||
});
|
||||
var userList = [];
|
||||
var delList = [];
|
||||
$("#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 delBtn() {
|
||||
listgo();
|
||||
}
|
||||
|
||||
function listgo() {
|
||||
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>";
|
||||
}
|
||||
|
||||
function getUserSearch() {
|
||||
|
||||
getQueryString();
|
||||
var json = {};
|
||||
var searchText = $('#userSelBox').val();
|
||||
json.userSearchText = searchText;
|
||||
$('#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>";
|
||||
|
||||
|
||||
function getQueryString() {
|
||||
var param = new URLSearchParams(location.search).get("authGroupSeq");
|
||||
// console.log(param)
|
||||
return param;
|
||||
}
|
||||
|
||||
|
||||
function getOpr() {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
async: false,
|
||||
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');
|
||||
});
|
||||
$('#selectorUser').html(html);
|
||||
$('#selectorUser').niceSelect('update');
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function ServiceGroupAuthModifyUpdate() {
|
||||
|
||||
var selectedElmsIds = [];
|
||||
var selectedElms = $("#tree_wrap").jstree("get_selected", true);
|
||||
$.each(selectedElms, function () {
|
||||
selectedElmsIds.push(this.id);
|
||||
});
|
||||
|
||||
|
||||
var userList = [];
|
||||
var delList = [];
|
||||
$("#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'/>";
|
||||
})
|
||||
};
|
||||
|
||||
|
||||
function getGroupAuthUpdateData() {
|
||||
var authGroupSeq = "authGroupSeq=" + getQueryString();
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
async: false,
|
||||
datatype: "JSON",
|
||||
data: authGroupSeq,
|
||||
url: "<c:url value='/admin/common/system/groupAuth/update/select'/>",
|
||||
success: function (data) {
|
||||
// console.log(data.authGroupSeq);
|
||||
// console.log(data.authPolicyVal);
|
||||
$('#custCode').val(data.custCode);
|
||||
$('#authGroupSeq').val(data.authGroupSeq);
|
||||
$('#updateGroupName').val(data.policyGroupName);
|
||||
$('#updateGroupDesc').val(data.policyGroupDesc);
|
||||
treeWrap(data.authPolicyVal, data.mainMenu, data.policyParent);
|
||||
$('#list-user-group-box-ul-list').html(userList(data.userList))
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
|
||||
function getQueryString() {
|
||||
var param = new URLSearchParams(location.search).get("authGroupSeq");
|
||||
// console.log(param)
|
||||
return param;
|
||||
}
|
||||
|
||||
|
||||
function getOpr() {
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
async: false,
|
||||
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 getGroupAuthUpdateData() {
|
||||
var authGroupSeq = "authGroupSeq=" + getQueryString();
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
async: false,
|
||||
datatype: "JSON",
|
||||
data: authGroupSeq,
|
||||
url: "<c:url value='/admin/common/system/groupAuth/update/select'/>",
|
||||
success: function (data) {
|
||||
// console.log(data.authGroupSeq);
|
||||
// console.log(data.authPolicyVal);
|
||||
$('#custCode').val(data.custCode);
|
||||
$('#authGroupSeq').val(data.authGroupSeq);
|
||||
$('#updateGroupName').val(data.policyGroupName);
|
||||
$('#updateGroupDesc').val(data.policyGroupDesc);
|
||||
treeWrap(data.authPolicyVal, data.mainMenu, data.policyParent);
|
||||
$('#list-user-group-box-ul-list').html(userList(data.userList))
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
function userList(data) {
|
||||
// console.log(JSON.stringify(data));
|
||||
var html = '';
|
||||
data.forEach(function (e, i) {
|
||||
var setUserSeq = e.userSeq;
|
||||
var setUserIdName = e.userName;
|
||||
var setUserId = e.userId;
|
||||
})
|
||||
};
|
||||
|
||||
function userList(data) {
|
||||
// console.log(JSON.stringify(data));
|
||||
var html = '';
|
||||
data.forEach(function (e, i) {
|
||||
var setUserSeq = e.userSeq;
|
||||
var setUserIdName = e.userName;
|
||||
var setUserId = e.userId;
|
||||
html
|
||||
+= ' <li class="select2-selection__choice" id="' + 'userLi' + setUserSeq + '">'
|
||||
+ ' <div class="chk_box">'
|
||||
+ ' <a id="' + 'userseq' + setUserSeq + '"'
|
||||
+ 'href="javascript:ListToDelete(' + setUserSeq + ')" >'
|
||||
+ setUserIdName + ' (' + setUserId + ')' + '</a>'
|
||||
+ '</div>'
|
||||
+ ' </li>'
|
||||
});
|
||||
return 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 + ')" >'
|
||||
+ setUserIdName + ' (' + setUserId + ')' + '</a>'
|
||||
+ setVal + '</a>'
|
||||
+ '</div>'
|
||||
+ ' </li>'
|
||||
});
|
||||
return 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"]
|
||||
+ ' </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
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
}, "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>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<body>
|
||||
|
||||
<header id="header">
|
||||
</header>
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">그룹별권한 관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">권한그룹편집</h2>
|
||||
<header id="header">
|
||||
</header>
|
||||
<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>
|
||||
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">권한그룹편집</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<input type="hidden" id="custCode">
|
||||
<input type="hidden" id="authGroupSeq">
|
||||
<tr>
|
||||
<th class="tl">그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="updateGroupName" value="인텐트 조회권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">그룹설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<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 class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<input type="hidden" id="custCode">
|
||||
<input type="hidden" id="authGroupSeq">
|
||||
<tr>
|
||||
<th class="tl">그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="updateGroupName" value="인텐트 조회권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">그룹설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="updateGroupDesc" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
||||
</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>
|
||||
</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">
|
||||
|
||||
<select id="selectorUser" class="wide">
|
||||
</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>
|
||||
|
||||
<!-- 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>
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cont_box">
|
||||
<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" id="btnSave">저장</a>
|
||||
<div class="cont_box">
|
||||
<div class="btn_wrap center">
|
||||
<a href="#" class="btn basic grey" id="btnDel">취소</a>
|
||||
<a href="#" class="btn basic" id="btnSave">저장</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</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>
|
||||
<meta charset="UTF-8">
|
||||
<title>그룹별권한</title>
|
||||
</head>
|
||||
function getServiceGroupQueryString() {
|
||||
var param = new URLSearchParams(location.search).get("serviceGroup");
|
||||
return param;
|
||||
}
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
getOpr();
|
||||
getServiceGroupQueryString();
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
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>
|
||||
|
||||
}
|
||||
);
|
||||
|
||||
function getServiceGroupQueryString() {
|
||||
var param = new URLSearchParams(location.search).get("serviceGroup");
|
||||
return param;
|
||||
}
|
||||
|
||||
|
||||
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">
|
||||
|
||||
<body>
|
||||
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">그룹별권한 관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">권한그룹편집</h2>
|
||||
<header id="header">
|
||||
</header>
|
||||
<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>
|
||||
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">권한그룹편집</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="tl">그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="인텐트 조회권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">그룹설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">소속사용자 <em class="red">*</em></th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<div class="select2-lib-ipt">
|
||||
<select class="select-search" multiple="multiple"></select>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="tl">그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="인텐트 조회권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">그룹설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="인텐트를 조회만 할 수 있는 권한" name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">소속사용자 <em class="red">*</em></th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<div class="select2-lib-ipt">
|
||||
<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>
|
||||
<a href="#" class="btn">사용자 추가</a>
|
||||
<script src="assets/js/lib/select2.js"></script>
|
||||
<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">
|
||||
<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>
|
||||
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
|
||||
$(document).ready(function () {
|
||||
$('.tree_wrap').jstree({
|
||||
"checkbox": {
|
||||
"keep_selected_style": false
|
||||
},
|
||||
"plugins": ["checkbox"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<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">
|
||||
<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 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>
|
||||
<!-- 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>
|
||||
$(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>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="cont_box">
|
||||
<div class="btn_wrap center">
|
||||
<a href="#" class="btn basic grey">취소</a>
|
||||
<a href="#" class="btn basic">저장</a>
|
||||
<div class="cont_box">
|
||||
<div class="btn_wrap center">
|
||||
<a href="#" class="btn basic grey">취소</a>
|
||||
<a href="#" class="btn basic">저장</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</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>
|
||||
$(document).ready(function () {
|
||||
getOpr();
|
||||
PagingDataTable();
|
||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||
var data = $('#listTable').DataTable().row(this).data();
|
||||
viewPage(data)
|
||||
});
|
||||
|
||||
PagingDataTable();
|
||||
$('#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) {
|
||||
$('#btnSearchOpr').on('click', function () {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
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 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');
|
||||
});
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
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/policyMenu/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.codeText1 = $('#codeText1').val();
|
||||
json.codeText2 = $('#codeText2').val();
|
||||
json.codeText3 = $('#codeText3').val();
|
||||
} else {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
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/policyMenu/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.codeText1 = $('#codeText1').val();
|
||||
json.codeText2 = $('#codeText2').val();
|
||||
json.codeText3 = $('#codeText3').val();
|
||||
} else {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
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: "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>';
|
||||
,
|
||||
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);
|
||||
}
|
||||
},
|
||||
{
|
||||
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>';
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
};
|
||||
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"
|
||||
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
<body>
|
||||
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>';
|
||||
}
|
||||
},
|
||||
{
|
||||
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">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
|
||||
<header id="header">
|
||||
</header>
|
||||
</script>
|
||||
|
||||
<body>
|
||||
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템 관리</a></li>
|
||||
<li><a href="#">정책별 메뉴</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</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>
|
||||
<header id="header">
|
||||
</header>
|
||||
|
||||
|
||||
<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="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 class="tbl">
|
||||
<table class="search block">
|
||||
<colgroup>
|
||||
<col width="140px">
|
||||
<col width="40%">
|
||||
<col width="140px">
|
||||
<col width="40%">
|
||||
<%-- <col width="140px">--%>
|
||||
<%-- <col width="25%">--%>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<div class="tbl">
|
||||
<table class="search block">
|
||||
<colgroup>
|
||||
<col width="140px">
|
||||
<col width="40%">
|
||||
<col width="140px">
|
||||
<col width="40%">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th class="tl">시나리오그룹</th>
|
||||
<td>
|
||||
<div class="sel_box">
|
||||
<select id="serviceGroup" class="wide">
|
||||
<option value="ALL">전체</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
<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="codeText1" name="typeText1">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<th class="tl">정책코드</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText1" name="typeText1">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="tl">정책명</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText2" name="typeText2">
|
||||
</div>
|
||||
</td>
|
||||
<tr>
|
||||
<th class="tl">정책명</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText2" name="typeText2">
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<th class="tl">메뉴명</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText3" name="typeText3">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<th class="tl">메뉴명</th>
|
||||
<td>
|
||||
<div class="ipt_box listen">
|
||||
<input type="text" placeholder="검색어를 입력하세요" id="codeText3" name="typeText3">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">정책별 메뉴 리스트</h2>
|
||||
</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="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>정책명</th>
|
||||
<th>메뉴명</th>
|
||||
<th>메뉴번호</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<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">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>고객코드</th>
|
||||
<th>고객사</th>
|
||||
<th>서비스그룹</th>
|
||||
<th>서비스그룹명</th>
|
||||
<th>정책코드</th>
|
||||
<th>정책명</th>
|
||||
<th>메뉴명</th>
|
||||
<th>메뉴번호</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</html>
|
||||
|
@ -1,458 +1,463 @@
|
||||
<html xmlns:th="http://www.thymeleaf.org">
|
||||
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>서비스그룹 관리</title>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
<!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 () {
|
||||
|
||||
$('.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 () {
|
||||
$(this).find('.tbl-card-title').on('click', function () {
|
||||
$(this).parents('.tbl-card-li').toggleClass('on');
|
||||
})
|
||||
});
|
||||
if (thisVal.length === 0) {
|
||||
$(this).parents('.tbl-card-li').find('.title-connected').text('새로운 시나리오 그룹');
|
||||
} else {
|
||||
$(this).parents('.tbl-card-li').find('.title-connected').text(thisVal);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
$('.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();
|
||||
getServiceGroupQueryString();
|
||||
getServiceGroupViewData();
|
||||
|
||||
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();
|
||||
getServiceGroupViewData();
|
||||
|
||||
});
|
||||
|
||||
function getServiceGroupQueryString() {
|
||||
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) {
|
||||
//유저어드민
|
||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>";
|
||||
} else {
|
||||
//시스템어드민
|
||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + getServiceGroupQueryString();
|
||||
}
|
||||
if (getServiceGroupQueryString() == null) {
|
||||
//유저어드민
|
||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>";
|
||||
} else {
|
||||
//시스템어드민
|
||||
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + getServiceGroupQueryString();
|
||||
}
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
datatype: "JSON",
|
||||
url: setUrl,
|
||||
success: function (data) {
|
||||
// console.log(JSON.stringify(data));
|
||||
|
||||
var html = '';
|
||||
|
||||
// for (var i=0; i < data.subServiceGroupRes.length; i++) {
|
||||
//
|
||||
// }
|
||||
|
||||
$('#mainServiceGroupName').val(data.mainServiceGroup);
|
||||
$('#mainServiceGroup').val(data.mainServiceGroupName);
|
||||
$('#mainUseYn').val(data.mainUseYn);
|
||||
$('#mainOprMngCode').val(data.mainOprMngCode);
|
||||
|
||||
|
||||
data.subServiceGroupRes.forEach(function (e, i) {
|
||||
html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">'
|
||||
+ '<div class="tbl-card-li-inner">'
|
||||
+ '<div class="tbl-card-title" id="tbl-card-title' + i + '">'
|
||||
+ ' <div class="fl title-connected">' + e.subServiceGroup + '</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 class="tbl">'
|
||||
+ ' <table class="edit hght">'
|
||||
+ ' <colgroup>'
|
||||
+ ' <col width = "150px" >'
|
||||
+ ' <col width = "auto" >'
|
||||
+ ' </colgroup>'
|
||||
+ ' <tbody>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오 그룹명</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box">'
|
||||
+ ' <input type="text" id="subServiceGroup' + i + '" value="' + e.subServiceGroup + '" name=""'
|
||||
+ ' class="title-connect" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오 그룹코드</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box type-flex">'
|
||||
+ ' <input type="text" id="subServiceGroupName' + i + '" value="' + e.subOprMngCode + '" name="" class="" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' <div class="ipt_box ">'
|
||||
+ ' <div class="create-code-list">'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오그룹 설명</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box">'
|
||||
+ ' <input type="text" value="' + e.subServiceGroupDesc + '" name="" class="" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">사용여부 <em class="red">*</em></th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="sel_box">'
|
||||
+ ' <select class="wide">'
|
||||
+ ' <option value="" selected>' + e.subUseYn + '</option>'
|
||||
+ ' </select>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">권한부여</th>'
|
||||
+ ' <td class="tl">'
|
||||
+ ' <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>'
|
||||
+ ' </table>'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </li>'
|
||||
|
||||
$('#tbl-card').html(html);
|
||||
|
||||
$('.tbl-card-li').each(function () {
|
||||
$(this).find('.tbl-card-title').on('click', function () {
|
||||
$(this).parents('.tbl-card-li').toggleClass('on');
|
||||
})
|
||||
$.ajax({
|
||||
type: "GET",
|
||||
contentType: "application/json; charset=utf-8",
|
||||
datatype: "JSON",
|
||||
url: setUrl,
|
||||
success: function (data) {
|
||||
// console.log(JSON.stringify(data));
|
||||
|
||||
var html = '';
|
||||
|
||||
// for (var i=0; i < data.subServiceGroupRes.length; i++) {
|
||||
//
|
||||
// }
|
||||
|
||||
$('#mainServiceGroupName').val(data.mainServiceGroup);
|
||||
$('#mainServiceGroup').val(data.mainServiceGroupName);
|
||||
$('#mainUseYn').val(data.mainUseYn);
|
||||
$('#mainOprMngCode').val(data.mainOprMngCode);
|
||||
|
||||
|
||||
data.subServiceGroupRes.forEach(function (e, i) {
|
||||
html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">'
|
||||
+ '<div class="tbl-card-li-inner">'
|
||||
+ '<div class="tbl-card-title" id="tbl-card-title' + i + '">'
|
||||
+ ' <div class="fl title-connected">' + e.subServiceGroup + '</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 class="tbl">'
|
||||
+ ' <table class="edit hght">'
|
||||
+ ' <colgroup>'
|
||||
+ ' <col width = "150px" >'
|
||||
+ ' <col width = "auto" >'
|
||||
+ ' </colgroup>'
|
||||
+ ' <tbody>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오 그룹명</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box">'
|
||||
+ ' <input type="text" id="subServiceGroup' + i + '" value="' + e.subServiceGroup + '" name=""'
|
||||
+ ' class="title-connect" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오 그룹코드</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box type-flex">'
|
||||
+ ' <input type="text" id="subServiceGroupName' + i + '" value="' + e.subOprMngCode + '" name="" class="" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' <div class="ipt_box ">'
|
||||
+ ' <div class="create-code-list">'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">시나리오그룹 설명</th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="ipt_box">'
|
||||
+ ' <input type="text" value="' + e.subServiceGroupDesc + '" name="" class="" readonly>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">사용여부 <em class="red">*</em></th>'
|
||||
+ ' <td>'
|
||||
+ ' <div class="sel_box">'
|
||||
+ ' <select class="wide">'
|
||||
+ ' <option value="" selected>' + e.subUseYn + '</option>'
|
||||
+ ' </select>'
|
||||
+ ' </div>'
|
||||
+ ' </td>'
|
||||
+ ' </tr>'
|
||||
+ ' <tr>'
|
||||
+ ' <th class="tl">권한부여</th>'
|
||||
+ ' <td class="tl">'
|
||||
+ ' <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>'
|
||||
+ ' </table>'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </div>'
|
||||
+ ' </li>'
|
||||
|
||||
$('#tbl-card').html(html);
|
||||
|
||||
$('.tbl-card-li').each(function () {
|
||||
$(this).find('.tbl-card-title').on('click', function () {
|
||||
$(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>
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<header id="header">
|
||||
</header>
|
||||
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<body>
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">서비스그룹 관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">서비스 그룹관리</h2>
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
|
||||
<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>
|
||||
<!-- TODO: 래부터 신규 컨텐츠 마크업 입니다. -->
|
||||
<div class="sub_cont">
|
||||
<div class="cont_box">
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">서비스 그룹관리</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th class="tl">서비스그룹</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<%-- <input type="text" id="mainServiceGroupName" value="mainServiceGroup" name="" class="" readonly>--%>
|
||||
<input type="text" id="mainServiceGroupName" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
|
||||
<tr>
|
||||
<th class="tl">서비스그룹</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="mainServiceGroupName" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<th class="tl">서비스코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="mainServiceGroup" value="codecode" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="tl">시나리오코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="mainOprMngCode" value="codecode" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="tl">사용여부</th>
|
||||
<td>
|
||||
<input type="text" id="mainUseYn" value="Y" name="" class="" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<tr>
|
||||
<th class="tl">서비스코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="mainServiceGroup" value="codecode" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="tl">시나리오코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="mainOprMngCode" value="codecode" name="" class="" readonly>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th class="tl">사용여부</th>
|
||||
<td>
|
||||
<input type="text" id="mainUseYn" value="Y" name="" class="" readonly>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cont_box">
|
||||
<div class="cont_box">
|
||||
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">시나리오 그룹 <em class="red">*</em></h2>
|
||||
<div class="box_title">
|
||||
<div class="fl">
|
||||
<h2 class="mt12">시나리오 그룹 <em class="red">*</em></h2>
|
||||
</div>
|
||||
<div class="btn_wrap fr">
|
||||
<a href="#" class="btn">추가</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_wrap fr">
|
||||
<a href="#" class="btn">추가</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tbl-card-wrap">
|
||||
<ul class="tbl-card" id="tbl-card">
|
||||
<li class="tbl-card-li">
|
||||
<div class="tbl-card-li-inner">
|
||||
<div class="tbl-card-title">
|
||||
<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 class="tbl-card-wrap">
|
||||
<ul class="tbl-card" id="tbl-card">
|
||||
<li class="tbl-card-li">
|
||||
<div class="tbl-card-li-inner">
|
||||
<div class="tbl-card-title">
|
||||
<div class="fl title-connected">새로운 시나리오 그룹</div>
|
||||
</div>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="tl">시나리오 그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="subServiceGroup" value="시나리오그룹 1" name=""
|
||||
class="title-connect">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">시나리오 그룹코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="subServiceGroupName" value="UPLUS_RCP_DAISO"
|
||||
name="" class="">
|
||||
<a href="#" class="btn grey">중복확인</a>
|
||||
</div>
|
||||
<div class="ipt_box ">
|
||||
<div class="create-code-list">
|
||||
<spna class="create-code">
|
||||
UPLUS_RCP_DAISO
|
||||
|
||||
</spna>
|
||||
<div class="tbl-card-data">
|
||||
<div class="box-title">
|
||||
<div class="btn_wrap fr">
|
||||
<a href="#" class="btn grey">-삭제</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbl">
|
||||
<table class="edit hght">
|
||||
<colgroup>
|
||||
<col width="150px">
|
||||
<col width="auto">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="tl">시나리오 그룹명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" id="subServiceGroup" value="시나리오그룹 1" name=""
|
||||
class="title-connect">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">시나리오 그룹코드</th>
|
||||
<td>
|
||||
<div class="ipt_box type-flex">
|
||||
<input type="text" id="subServiceGroupName"
|
||||
value="UPLUS_RCP_DAISO"
|
||||
name="" class="">
|
||||
<a href="#" class="btn grey">중복확인</a>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">시나리오그룹 설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="입력된 설명입니다..." name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">사용여부 <em class="red">*</em></th>
|
||||
<td>
|
||||
<div class="sel_box">
|
||||
<select class="wide">
|
||||
<option value="" selected>Y</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">권한부여</th>
|
||||
<td class="tl">
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.tree_wrap').jstree({
|
||||
"checkbox": {
|
||||
"keep_selected_style": false
|
||||
, "three_state": false
|
||||
},
|
||||
"plugins": ["checkbox"]
|
||||
<div class="ipt_box ">
|
||||
<div class="create-code-list">
|
||||
<spna class="create-code">
|
||||
UPLUS_RCP_DAISO
|
||||
|
||||
</spna>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">시나리오그룹 설명</th>
|
||||
<td>
|
||||
<div class="ipt_box">
|
||||
<input type="text" value="입력된 설명입니다..." name="" class="">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">사용여부 <em class="red">*</em></th>
|
||||
<td>
|
||||
<div class="sel_box">
|
||||
<select class="wide">
|
||||
<option value="" selected>Y</option>
|
||||
</select>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="tl">권한부여</th>
|
||||
<td class="tl">
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('.tree_wrap').jstree({
|
||||
"checkbox": {
|
||||
"keep_selected_style": false
|
||||
, "three_state": 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>
|
||||
</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>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="cont_box">
|
||||
<div class="btn_wrap center">
|
||||
<a href="#" class="btn basic grey">취소</a>
|
||||
<a href="#" class="btn basic">저장</a>
|
||||
<div class="cont_box">
|
||||
<div class="btn_wrap center">
|
||||
<a href="#" class="btn basic grey">취소</a>
|
||||
<a href="#" class="btn basic">저장</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</body>
|
||||
</section>
|
||||
</body>
|
||||
</th:block>
|
||||
</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>
|
||||
$(document).ready(function () {
|
||||
getMainOprSelectBox();
|
||||
|
||||
getMainOprSelectBox();
|
||||
|
||||
PagingDataTable();
|
||||
$('#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();
|
||||
}
|
||||
});
|
||||
|
||||
$('#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');
|
||||
PagingDataTable();
|
||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||
var data = $('#listTable').DataTable().row(this).data();
|
||||
viewPage(data)
|
||||
});
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
function getMainOprSelectBox() {
|
||||
$.ajax({
|
||||
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');
|
||||
$('#btnSearchOpr').on('click', function () {
|
||||
fnCustSearchBtn();
|
||||
});
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
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 () {
|
||||
// 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 {
|
||||
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);
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
},
|
||||
columns: [
|
||||
{data: "custCode"},
|
||||
{data: "custName"},
|
||||
{data: "serviceGroup"},
|
||||
{data: "serviceGroupName"},
|
||||
{data: "serviceType"},
|
||||
{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"
|
||||
$('#btnRegModal').on('click', function () {
|
||||
fnServiceGroupInsertBtn();
|
||||
});
|
||||
|
||||
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>';
|
||||
}
|
||||
);
|
||||
|
||||
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() {
|
||||
$.ajax({
|
||||
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 () {
|
||||
// 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 {
|
||||
return '<a style="display: block;text-align: center;">' + '에러' + '</a>';
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
targets: 5,
|
||||
orderable: false,
|
||||
render: function (data) {
|
||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||
,
|
||||
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);
|
||||
}
|
||||
},
|
||||
{
|
||||
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>';
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
};
|
||||
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
columns: [
|
||||
{data: "custCode"},
|
||||
{data: "custName"},
|
||||
{data: "serviceGroup"},
|
||||
{data: "serviceGroupName"},
|
||||
{data: "serviceType"},
|
||||
{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: [
|
||||
{
|
||||
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">
|
||||
</header>
|
||||
<body>
|
||||
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<h1>대시보드</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템 관리</a></li>
|
||||
<li><a href="#">서비스그룹 관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</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 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>
|
||||
</table>
|
||||
</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="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 class="tbl">
|
||||
<form id="custListForm">
|
||||
<table id="listTable" class="">
|
||||
<div class="tbl">
|
||||
<table class="search block">
|
||||
<colgroup>
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="15%">
|
||||
<col width="auto">
|
||||
<col width="140px">
|
||||
<col width="25%">
|
||||
<col width="140px">
|
||||
<col width="40%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>custCode</th>
|
||||
<th>고객사</th>
|
||||
<th>서비스그룹</th>
|
||||
<th>서비스그룹이름</th>
|
||||
<th>서비스그룹타입</th>
|
||||
<th>사용여부</th>
|
||||
<th>생성일</th>
|
||||
<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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</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>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</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>
|
||||
$(document).ready(function () {
|
||||
|
||||
// getOprSelect();
|
||||
getCust();
|
||||
PagingDataTable();
|
||||
$('#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();
|
||||
});
|
||||
|
||||
// getOprSelect();
|
||||
getCust();
|
||||
PagingDataTable();
|
||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||
var data = $('#listTable').DataTable().row(this).data();
|
||||
viewPage(data)
|
||||
});
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
$('#btnSearchOpr').on('click', function () {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
function getOprSelect() {
|
||||
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>';
|
||||
$('#btnRegModal').on('click', function () {
|
||||
fnInsertBtn();
|
||||
});
|
||||
}
|
||||
})
|
||||
$('#serviceGroup').html(html);
|
||||
$('#serviceGroup').niceSelect('update');
|
||||
};
|
||||
|
||||
function getCust() {
|
||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||
$.ajax({
|
||||
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>';
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
$('#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 () {
|
||||
// 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/user/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();
|
||||
function getOprSelect() {
|
||||
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');
|
||||
};
|
||||
|
||||
} 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: "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"
|
||||
function getCust() {
|
||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||
$.ajax({
|
||||
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');
|
||||
}
|
||||
|
||||
columnDefs: [
|
||||
{
|
||||
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>';
|
||||
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 () {
|
||||
// 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/user/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 {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
},
|
||||
{
|
||||
targets: 6,
|
||||
orderable: false,
|
||||
render: function (data) {
|
||||
if(data == null)
|
||||
data = '';
|
||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||
,
|
||||
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);
|
||||
}
|
||||
},
|
||||
{
|
||||
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>';
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
};
|
||||
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"
|
||||
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
columnDefs: [
|
||||
{
|
||||
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() {
|
||||
// document.location.href = "/BotMain_VM/admin/common/system/user/insert";
|
||||
document.location.href = "<c:url value='/admin/common/system/user/insert'/>";
|
||||
}
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
|
||||
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>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<body>
|
||||
|
||||
<header id="header">
|
||||
</header>
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">사용자관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</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 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>
|
||||
<header id="header">
|
||||
</header>
|
||||
<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="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="">
|
||||
<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="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="140px">
|
||||
<col width="25%">
|
||||
<col width="140px">
|
||||
<col width="25%">
|
||||
<col width="140px">
|
||||
<col width="25%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>고객사코드</th>
|
||||
<th>고객사</th>
|
||||
<%-- <th>서비스그룹코드</th>--%>
|
||||
<%-- <th>서비스그룹</th>--%>
|
||||
<th>사용자시퀀스</th>
|
||||
<th>사용자아이디</th>
|
||||
<th>사용자이름</th>
|
||||
<th>eMail</th>
|
||||
<th>전화번호</th>
|
||||
<th>사용여부</th>
|
||||
<th>생성일</th>
|
||||
<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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</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>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</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>
|
||||
$(document).ready(function () {
|
||||
|
||||
getCust();
|
||||
PagingDataTable();
|
||||
$('#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();
|
||||
});
|
||||
|
||||
getCust();
|
||||
PagingDataTable();
|
||||
$('#listTable tbody').on('dblclick', 'tr', function () {
|
||||
var data = $('#listTable').DataTable().row(this).data();
|
||||
viewPage(data)
|
||||
});
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
$('#btnSearchOpr').on('click', function () {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
});
|
||||
|
||||
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>';
|
||||
$('#btnRegModal').on('click', function () {
|
||||
fnInsertBtn();
|
||||
});
|
||||
}
|
||||
})
|
||||
$('#serviceGroup').html(html);
|
||||
$('#serviceGroup').niceSelect('update');
|
||||
};
|
||||
|
||||
function getCust() {
|
||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||
$.ajax({
|
||||
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>';
|
||||
|
||||
$("#Content").on("keyup", function (key) {
|
||||
if (key.keyCode == 13) {
|
||||
fnCustSearchBtn();
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
$('#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) {
|
||||
// console.log(rowData.userSeq);
|
||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/view'/>" + "?userSeq=" + rowData.userSeq;
|
||||
// document.location.href = '/admin/common/system/cust/view';
|
||||
}
|
||||
function getCust() {
|
||||
var html = '<option value="' + "ALL" + '">' + "전체" + '</option>';
|
||||
$.ajax({
|
||||
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 {
|
||||
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: "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"
|
||||
function viewPage(rowData) {
|
||||
// console.log(rowData.userSeq);
|
||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/view'/>" + "?userSeq=" + rowData.userSeq;
|
||||
// document.location.href = '/admin/common/system/cust/view';
|
||||
}
|
||||
|
||||
columnDefs: [
|
||||
{
|
||||
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>';
|
||||
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 {
|
||||
json = JSON.stringify({'page': 0, 'size': 10});
|
||||
}
|
||||
return JSON.stringify(json);
|
||||
}
|
||||
},
|
||||
{
|
||||
targets: 7,
|
||||
orderable: false,
|
||||
render: function (data) {
|
||||
return '<a style="display: block;text-align: center;">' + data + '</a>';
|
||||
,
|
||||
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);
|
||||
}
|
||||
},
|
||||
// {
|
||||
// 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>';
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
)
|
||||
};
|
||||
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"
|
||||
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
columnDefs: [
|
||||
{
|
||||
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() {
|
||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/insert'/>";
|
||||
}
|
||||
function fnCustSearchBtn() {
|
||||
$('#listTable').DataTable().ajax.reload();
|
||||
};
|
||||
|
||||
function fnInsertBtn() {
|
||||
document.location.href = "<c:url value='/admin/common/system/userAdmin/insert'/>";
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
</script>
|
||||
|
||||
<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>
|
||||
<body>
|
||||
|
||||
<header id="header">
|
||||
</header>
|
||||
<section id="Content" class="system_management">
|
||||
<div class="location">
|
||||
<h1>ICOMSYS ADMIN</h1>
|
||||
<div class="skip_navigation">
|
||||
<ul>
|
||||
<li class="home"><a href="#">HOME</a></li>
|
||||
<li><a href="#">시스템관리</a></li>
|
||||
<li><a href="#">운영자관리</a></li>
|
||||
<li>
|
||||
<a href="#Content" class="go_content">본문 바로가기</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#Gnb">메뉴 바로가기</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 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>
|
||||
<header id="header">
|
||||
</header>
|
||||
<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="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="">
|
||||
<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="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="140px">
|
||||
<col width="25%">
|
||||
<col width="140px">
|
||||
<col width="25%">
|
||||
<col width="140px">
|
||||
<col width="25%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>고객사코드</th>
|
||||
<th>고객사</th>
|
||||
<%-- <th>서비스그룹코드</th>--%>
|
||||
<%-- <th>서비스그룹</th>--%>
|
||||
<th>운영자시퀀스</th>
|
||||
<th>운영자아이디</th>
|
||||
<th>운영자이름</th>
|
||||
<th>eMail</th>
|
||||
<th>전화번호</th>
|
||||
<th>사용여부</th>
|
||||
<th>생성일</th>
|
||||
<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>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</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>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
</body>
|
||||
</body>
|
||||
</th:block>
|
||||
</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