html jsp 제거

dev_tymeleaf
jangwonseokicom 2 years ago
parent 3d63f2e538
commit 75d1b3b423

Binary file not shown.

@ -39,18 +39,7 @@ public class LoginController {
private final FileService fileService;
private final HttpServletRequest httpServletRequest;
@GetMapping(value = {"/adm/main/egovLoginUsr.do", "/"})
public ModelAndView loginUsrView() {
// loginService.Logout();
log.info("loginpage");
return new ModelAndView("layout/signin");
}
@GetMapping(value = "/adm/main/changePwd")
public String changePwd() {
return "adm/signin/changePwd";
}
@PostMapping(value = "/adm/main/pwd/update")
public ResponseEntity PwdUpdate(@RequestBody PwdUpdateReq dto) throws CustomNotFoundException, CustomBadRequestException {

@ -24,10 +24,7 @@ public class SystemCommoncodeController {
private final SystemCommoncodeService systemOprmngcodeService;
@GetMapping("/oprmngcode/manage.do")
public String OprmngcodeView() {
return "/adm/common/system/commoncode";
}
@PostMapping("/oprmngcode/list")
@ResponseBody

@ -22,16 +22,6 @@ public class SystemCustController {
private final SystemCustService custService;
/**
* @Name JSP
* @Description JSP
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/cust/manage.do")
public String CustListView() {
return "/adm/common/system/cust";
}
/**
* @Name API
@ -47,16 +37,7 @@ public class SystemCustController {
return new DslDataTableRes<SystemIcsCustInfoRes>(result);
}
/**
* @Name API
* @Description API
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/cust/update")
public String custUpdate(@RequestParam(name = "custCode", required = true) String custCode) {
return "/adm/common/system/custUpdate";
}
/**
* @Name
@ -71,17 +52,7 @@ public class SystemCustController {
return custService.custSelect(custCode);
}
/**
* @Name
* @Description
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/cust/insert")
public String CustInsert() {
log.info("CustInsert Controller");
return "/adm/common/system/custInsert";
}
/**
* @Name

@ -26,18 +26,6 @@ public class SystemGroupAuthController {
private final SystemGroupAuthService groupAuthService;
/**
* @Name
* @Description
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/groupAuth/manage.do")
public String GroupAuthView() {
log.info("group Auth View controller");
return "/adm/common/system/groupAuth";
}
/**
* @Name API
* @Description API
@ -52,17 +40,6 @@ public class SystemGroupAuthController {
return new DslDataTableRes<SystemServiceAuthGroupRes>(result);
}
/**
* @Name
* @Description JSP .
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/groupAuth/view")
public String GroupAuthView(@RequestParam(name = "custCode", required = true) String custCode) {
log.info("view Controller - {}", custCode);
return "/adm/common/system/groupAuthView";
}
/**
* @Name
@ -88,17 +65,6 @@ public class SystemGroupAuthController {
groupAuthService.GroupAuthUpdateInsert(dto);
}
/**
* @Name
* @Description JSP
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/groupAuth/update")
public String GroupAuthUpdate() {
log.info("GroupAuthUpdate Controller");
return "/adm/common/system/groupAuthUpdate";
}
/**
* @Name

@ -19,14 +19,7 @@ import java.util.List;
public class SystemPolicyMenuController {
private final SystemPolicyMenuService systemPolicyMenuService;
/**
*
*/
@GetMapping("/policyMenu/manage.do")
public String PolicyMenuView(){
return "/adm/common/system/policyMenu";
}
@PostMapping("/policyMenu/list")
@ResponseBody

@ -21,24 +21,8 @@ import java.util.List;
@RequestMapping("/admin/common/system")
public class SystemServiceGroupController {
private final LoginService loginService;
private final SystemServiceGroupService systemServiceGroupService;
/**
* @Name
* @Description -> , ,
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/serviceGroup/manage.do")
public String ServiceGroupView() {
UserVo uv = loginService.getUserVo();
if (uv.getRoleVal().equals(RoleResource.SYSTEMADMIN.getName())) {
return "/adm/common/system/serviceGroupList";
} else {
return "/adm/common/system/serviceGroupView";
}
}
private final SystemServiceGroupService systemServiceGroupService;
/**
* @Name
@ -53,16 +37,6 @@ public class SystemServiceGroupController {
return new DslDataTableRes<SystemServiceGroupRes>(result);
}
/**
* @Name
* @Description ->
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/serviceGroup/view")
public String ServiceGroupView(@RequestParam(name = "serviceGroup", required = false) String serviceGroup) {
return "/adm/common/system/serviceGroupView";
}
/**
* @Name API

@ -22,16 +22,7 @@ public class SystemUserAdminController {
private final SystemUserAdminService systemUserAdminService;
/**
* @Name
* @Description .
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/userAdmin/manage.do")
public String UserAdminView() {
return "/adm/common/system/userAdmin";
}
@PostMapping("/userAdmin/list")
@ResponseBody

@ -22,16 +22,6 @@ public class SystemUserController {
private final SystemUserService systemUserService;
/**
* @Name
* @Description JSP
* @Author JangWonSeok
* @CreateDate 2023. 03. 09.
*/
@GetMapping("/user/manage.do")
public String UserView() {
return "/adm/common/system/user";
}
/**
* @Name Data SEARCH API

@ -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 {
}

@ -111,13 +111,13 @@ public enum MenuResource {
commonsystem("common", 9000000L, 1L, 2, "시스템관리", "시스템관리", "0"),
commonsystempolicyMenumanage("common", 9000001L, 9000000L, 3, "정책별 메뉴 조회", "정책별 메뉴 조회", "/admin/common/system/policyMenu/manage.do"),
commonsystemcustmanage("common", 9000002L, 9000000L, 3, "고객사 관리", "고객사 관리", "/admin/common/system/cust/manage.do"),
commonsystemserviceGroupmanage("common", 9000003L, 9000000L, 3, "서비스그룹 관리", "서비스그룹 관리", "/admin/common/system/serviceGroup/manage.do"),
commonsystemgroupAuthmanage("common", 9000004L, 9000000L, 3, "그룹별 권한관리", "그룹별 권한관리", "/admin/common/system/groupAuth/manage.do"),
commonsystemuserAdminmanage("common", 9000005L, 9000000L, 3, "운영자 관리(사용안함)", "운영자 관리", "/admin/common/system/userAdmin/manage.do"),
commonsystemusermanage("common", 9000006L, 9000000L, 3, "사용자 관리", "사용자 관리", "/admin/common/system/user/manage.do"),
commonsystemoprmngcodemanage("common", 9000007L, 9000000L, 3, "공통코드 관리", "공통코드 관리", "/admin/common/system/oprmngcode/manage.do");
commonsystempolicyMenumanage("common", 9000001L, 9000000L, 3, "정책별 메뉴 조회", "정책별 메뉴 조회", "/view/admin/common/system/policyMenu/manage.do"),
commonsystemcustmanage("common", 9000002L, 9000000L, 3, "고객사 관리", "고객사 관리", "/view/admin/common/system/cust/manage.do"),
commonsystemserviceGroupmanage("common", 9000003L, 9000000L, 3, "서비스그룹 관리", "서비스그룹 관리", "/view/admin/common/system/serviceGroup/manage.do"),
commonsystemgroupAuthmanage("common", 9000004L, 9000000L, 3, "그룹별 권한관리", "그룹별 권한관리", "/view/admin/common/system/groupAuth/manage.do"),
commonsystemuserAdminmanage("common", 9000005L, 9000000L, 3, "운영자 관리(사용안함)", "운영자 관리", "/view/admin/common/system/userAdmin/manage.do"),
commonsystemusermanage("common", 9000006L, 9000000L, 3, "사용자 관리", "사용자 관리", "/view/admin/common/system/user/manage.do"),
commonsystemoprmngcodemanage("common", 9000007L, 9000000L, 3, "공통코드 관리", "공통코드 관리", "/view/admin/common/system/oprmngcode/manage.do");
private String solVal;

@ -54,6 +54,7 @@ public class LoginFilter extends OncePerRequestFilter {
|| reqUrl.startsWith("/createEnv")
|| reqUrl.startsWith("/error")
|| reqUrl.startsWith("/files")
|| reqUrl.startsWith("/view")
|| reqUrl.equals("/")
) {
log.info("static file check");

@ -1,5 +1,8 @@
<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>
@ -644,7 +647,6 @@
<!-- modal :: 공통 코드 등록 팝업 end -->
<!-- modal :: 공통 코드 수정 팝업 -->
<%--<div class="modal open" id="reg_edit_modal">--%>
<div class="modal" id="reg_edit_modal">
<div class="modal_header">
<h3>공통 코드 수정</h3>
@ -726,4 +728,5 @@
<!-- modal :: 공통 코드 수정 팝업 end -->
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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>
@ -35,14 +38,14 @@
// 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 = 'layout/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'/>";
document.location.href = '/admin/common/system/cust/insert';
}
var PagingDataTable = function () {
@ -51,7 +54,7 @@
$('#listTable').DataTable(
{
ajax: {
url: "<c:url value='/admin/common/system/cust/list'/>",
url: '/admin/common/system/cust/list',
contentType: "application/json; charset=utf-8",
type: "POST",
dataType: "JSON",
@ -175,10 +178,6 @@
</li>
</ul>
</div>
<header id="header">
</header>
<section id="Content" class="system_management">
<div class="location">
<ul>
@ -205,10 +204,6 @@
<colgroup>
<col width="140px">
<col width="85%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup>
<tbody>
<tr>
@ -230,8 +225,6 @@
<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>
@ -242,23 +235,20 @@
<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>
<%-- <th>registId</th>--%>
<%-- <th>updateDate</th>--%>
<%-- <th>updateId</th>--%>
</tr>
</thead>
@ -268,6 +258,8 @@
</form>
</div>
</div>
</div>
</section>
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -135,7 +138,7 @@
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "JSON",
url: "<c:url value='/admin/common/system/cust/save'/>",
url: '/admin/common/system/cust/save',
data: JSON.stringify(json),
})
.complete(function (data) {
@ -146,8 +149,7 @@
listgo();
} else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다.");
}
else {
} else {
$.utils.warning("오류가 발생했습니다.");
}
})
@ -203,7 +205,7 @@
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/doubleCheck'/>",
url: '/admin/common/system/serviceGroup/doubleCheck',
data: JSON.stringify(checkJson),
})
.complete(function (data) {
@ -382,7 +384,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/adm/menu/jstree/policy/parent'/>",
url: '/adm/menu/jstree/policy/parent',
success: function (data) {
return data;
}
@ -397,7 +399,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/policybase'/>",
url: '/admin/common/system/cust/policybase',
success: function (data) {
return data;
}
@ -424,7 +426,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/doubleCheck'/>" + '?custCode=' + custCode,
url: '/admin/common/system/cust/doubleCheck' + '?custCode=' + custCode,
success: function (data) {
if (data === 'Y') {
@ -463,7 +465,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/service/doubleCheck'/>" + '?serviceGroup=' + serviceGroup,
url: '/admin/common/system/cust/service/doubleCheck' + '?serviceGroup=' + serviceGroup,
success: function (data) {
if (data === 'Y') {
// alert("사용할수있는 코드입니다")
@ -481,7 +483,7 @@
};
function listgo() {
document.location.href = "<c:url value='/admin/common/system/cust/manage.do'/>";
document.location.href = '/admin/common/system/cust/manage.do';
}
@ -589,7 +591,8 @@
<th class="tl">서비스그룹명</th>
<td>
<div class="ipt_box">
<input type="text" id="newServiceGroupName" value="" name="" class="title-connect">
<input type="text" id="newServiceGroupName" value="" name=""
class="title-connect">
</div>
</td>
</tr>
@ -605,15 +608,26 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">운영관리코드</th>--%>
<%-- <td>--%>
<%-- <div class="ipt_box" id="newOprDiv">--%>
<%--
<tr>--%>
<%--
<th class="tl">운영관리코드</th>
--%>
<%--
<td>--%>
<%--
<div class="ipt_box" id="newOprDiv">--%>
<%-- <input type="text" id="newOprMngCode" value="" name="" --%>
<%-- class=" title-connect" readonly>--%>
<%-- </div>--%>
<%-- </td>--%>
<%-- </tr>--%>
<%--
</div>
--%>
<%--
</td>
--%>
<%--
</tr>
--%>
<tr>
<th class="tl">서비스그룹 설명</th>
@ -654,5 +668,6 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -89,7 +92,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/select'/>" + "?custCode=" + getQueryString(),
url: '/admin/common/system/cust/select' + "?custCode=" + getQueryString(),
})
.complete(function (data) {
// console.log(data.status);
@ -342,7 +345,7 @@
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "JSON",
url: "<c:url value='/admin/common/system/cust/modify'/>",
url: '/admin/common/system/cust/modify',
data: JSON.stringify(json),
})
.complete(function (data) {
@ -353,8 +356,7 @@
listgo();
} else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다.");
}
else {
} else {
$.utils.warning("오류가 발생했습니다.");
}
})
@ -402,7 +404,7 @@
type: "POST",
contentType: "application/json; charset=utf-8",
datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/doubleCheck'/>",
url: '/admin/common/system/serviceGroup/doubleCheck',
data: JSON.stringify(checkJson),
})
.complete(function (data) {
@ -577,7 +579,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/adm/menu/jstree/policy/parent'/>",
url: '/adm/menu/jstree/policy/parent',
success: function (data) {
return data;
}
@ -592,7 +594,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/policybase'/>",
url: '/admin/common/system/cust/policybase',
success: function (data) {
return data;
}
@ -607,7 +609,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/doubleCheck'/>" + '?custCode=' + custCode,
url: '/admin/common/system/cust/doubleCheck' + '?custCode=' + custCode,
success: function (data) {
return data;
}
@ -625,7 +627,7 @@
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: "<c:url value='/admin/common/system/cust/service/doubleCheck'/>" + '?serviceGroup=' + serviceGroup,
url: '/admin/common/system/cust/service/doubleCheck' + '?serviceGroup=' + serviceGroup,
success: function (data) {
return data;
}
@ -637,7 +639,7 @@
};
function listgo() {
document.location.href = "<c:url value='/admin/common/system/cust/manage.do'/>";
document.location.href = '/admin/common/system/cust/manage.do';
}
@ -745,7 +747,8 @@
<th class="tl">서비스그룹명</th>
<td>
<div class="ipt_box">
<input type="text" id="newServiceGroupName" value="" name="" class="title-connect">
<input type="text" id="newServiceGroupName" value="" name=""
class="title-connect">
</div>
</td>
</tr>
@ -810,5 +813,6 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -42,7 +45,6 @@
);
function getRoleAndOpr() {
var role = '';
$.ajax({
@ -62,7 +64,6 @@
return role;
};
@ -73,8 +74,7 @@
// console.log(role)
if (role === 'SYSTEMADMIN') {
setUrl = "<c:url value='/adm/menu/oprmng'/>";
}
else {
} else {
setUrl = "<c:url value='/adm/menu/oprmng'/>"
// + "?serviceType=S"
;
@ -100,42 +100,6 @@
$('#insertServiceGroup').niceSelect('update');
};
<%--function getOprAdmin() {--%>
<%-- $.ajax({--%>
<%-- type: "GET",--%>
<%-- contentType: "application/json; charset=utf-8",--%>
<%-- datatype: "JSON",--%>
<%-- url: "<c:url value='/adm/menu/oprmng/admin'/>",--%>
<%-- success: function (data) {--%>
<%-- data.forEach(function (e, f) {--%>
<%-- $('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");--%>
<%-- $('#serviceGroup').niceSelect('update');--%>
<%-- //--%>
<%-- // $('#insertServiceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");--%>
<%-- // $('#insertServiceGroup').niceSelect('update');--%>
<%-- });--%>
<%-- }--%>
<%-- })--%>
<%--};--%>
<%--function insertOpr() {--%>
<%-- var html = '';--%>
<%-- $.ajax({--%>
<%-- type: "GET",--%>
<%-- contentType: "application/json; charset=utf-8",--%>
<%-- datatype: "JSON",--%>
<%-- async: false,--%>
<%-- url: "<c:url value='/admin/common/system/groupAuth/insert/opr'/>",--%>
<%-- success: function (data) {--%>
<%-- data.forEach(function (e, f) {--%>
<%-- // console.log("aaaaa"+e.serviceGroup)--%>
<%-- html += '<option value="' + e.serviceGroup + '">' + e.serviceGroupName + '</option>';--%>
<%-- });--%>
<%-- }--%>
<%-- })--%>
<%--};--%>
function viewPage(rowData) {
document.location.href = "<c:url value='/admin/common/system/groupAuth/update'/>" + "?authGroupSeq=" + rowData.authGroupSeq;
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + rowData.authGroupSeq;
@ -203,7 +167,6 @@
}
///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!수정!!!!!!!!!
function newTreeWrap(serviceGroup) {
@ -430,8 +393,6 @@
<col width="5%">
<col width="140px">
<col width="15%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup>
<tbody>
<tr>
@ -461,7 +422,6 @@
<h2 class="mt12">그룹별권한 리스트</h2>
</div>
<div class="btn_wrap fr">
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
<a href="#" rel="createGroupModal" class="btn line modalLoad">등록</a>
</div>
</div>
@ -565,4 +525,5 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -364,21 +367,12 @@
<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>
@ -418,7 +412,6 @@
<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>
@ -429,4 +422,5 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -321,4 +324,5 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -214,8 +217,6 @@
<col width="40%">
<col width="140px">
<col width="40%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup>
<tbody>
@ -301,4 +302,5 @@
</section>
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -254,7 +257,6 @@
<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>
@ -337,7 +339,8 @@
<th class="tl">시나리오 그룹코드</th>
<td>
<div class="ipt_box type-flex">
<input type="text" id="subServiceGroupName" value="UPLUS_RCP_DAISO"
<input type="text" id="subServiceGroupName"
value="UPLUS_RCP_DAISO"
name="" class="">
<a href="#" class="btn grey">중복확인</a>
</div>
@ -401,7 +404,8 @@
</li>
<li data-jstree='{ "opened" : true }'>BOT 공통 관리
<ul>
<li data-jstree='{ "opened" : true }'>서비스별관리
<li data-jstree='{ "opened" : true }'>
서비스별관리
<ul>
<li>요일/시간대별 멘트 관리</li>
<li>휴무일 관리</li>
@ -455,4 +459,5 @@
</section>
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -223,8 +226,6 @@
</ul>
</div>
<header id="header">
</header>
<section id="Content" class="system_management">
<div class="location">
@ -254,8 +255,6 @@
<col width="25%">
<col width="140px">
<col width="40%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup>
<tbody>
<tr>
@ -285,10 +284,6 @@
<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>
@ -325,4 +320,5 @@
</section>
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -185,8 +188,7 @@
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + mainServiceGroup;
} else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다.");
}
else {
} else {
$.utils.warning("오류가 발생했습니다.");
}
})
@ -245,8 +247,7 @@
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + mainServiceGroup;
} else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다.");
}
else {
} else {
$.utils.warning("오류가 발생했습니다.");
}
})
@ -428,8 +429,7 @@
}
};
}
}
else {
} else {
if (subService.subPolicyVal.includes(e.authName)) {
treeData[i] = {
id: setId,
@ -541,10 +541,6 @@
</script>
<header id="header">
</header>
<body>
<h1>ICOMSYS ADMIN</h1>
@ -590,7 +586,6 @@
<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>
@ -666,7 +661,8 @@
<th class="tl">시나리오 그룹명<em class="red">*</em></th>
<td>
<div class="ipt_box">
<input type="text" id="newServiceGroupName" value="" name="" class="title-connect">
<input type="text" id="newServiceGroupName" value="" name=""
class="title-connect">
</div>
</td>
</tr>
@ -687,16 +683,6 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">시나리오 그룹코드</th>--%>
<%-- <td>--%>
<%-- <div class="ipt_box" id="newOprDiv">--%>
<%-- <input type="text" id="newOprMngCode" value="" name=""--%>
<%-- class=" title-connect" readonly>--%>
<%-- </div>--%>
<%-- </td>--%>
<%-- </tr>--%>
<tr>
<th class="tl">시나리오그룹 설명<em class="red">*</em></th>
<td>
@ -746,5 +732,6 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -358,8 +361,6 @@
<tr>
<th>고객사코드</th>
<th>고객사</th>
<%-- <th>서비스그룹코드</th>--%>
<%-- <th>서비스그룹</th>--%>
<th>사용자시퀀스</th>
<th>사용자아이디</th>
<th>사용자이름</th>
@ -380,4 +381,5 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -327,8 +330,6 @@
<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>
@ -354,8 +355,6 @@
<tr>
<th>고객사코드</th>
<th>고객사</th>
<%-- <th>서비스그룹코드</th>--%>
<%-- <th>서비스그룹</th>--%>
<th>운영자시퀀스</th>
<th>운영자아이디</th>
<th>운영자이름</th>
@ -376,4 +375,5 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -641,7 +644,6 @@
<td>
<div class="sel_box">
<select class="wide" id="newUserRoleVal">
<%-- <option value="USER">일반사용자</option>--%>
<option value="USERADMIN">운영자</option>
</select>
</div>
@ -701,13 +703,6 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span>
</tbody>
</table>
@ -729,6 +724,7 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -604,7 +607,9 @@
<td>
<div class="sel_box">
<select class="wide" id="updateRoleVal">
<%-- <option value="USER">일반사용자</option>--%>
<%--
<option value="USER">일반사용자</option>
--%>
<option value="USERADMIN">운영자</option>
</select>
</div>
@ -663,13 +668,6 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span>
</tbody>
</table>
@ -691,6 +689,7 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -740,13 +743,6 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span>
</tbody>
</table>
@ -768,6 +764,7 @@
</body>
</th:block>
</html>

@ -1,5 +1,8 @@
<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">
@ -48,7 +51,7 @@
function listgo() {
// document.location.href = "/BotMain_VM/admin/common/system/user/manage.do";
document.location.href = "<c:url value='/admin/common/system/user/manage.do'/>";
document.location.href = '/admin/common/system/user/manage.do';
}
//서비스그룹 추가 -> 적용버튼
@ -123,7 +126,6 @@
}
function saveBtn() {
var userSeq = $('#updateUserSeq').val();
@ -229,7 +231,6 @@
}
function getQueryString() {
var param = new URLSearchParams(location.search).get("userSeq");
// console.log(param)
@ -690,13 +691,6 @@
</td>
</tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span>
</tbody>
</table>
@ -718,6 +712,7 @@
</body>
</th:block>
</html>

@ -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…
Cancel
Save