Compare commits

...

7 Commits

2
.gitignore vendored

@ -6,6 +6,7 @@ build/
**/.idea **/.idea
**/build **/build
!gradle/wrapper/gradle-wrapper.jar !gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/ !**/src/main/**/build/
!**/src/test/**/build/ !**/src/test/**/build/
@ -14,7 +15,6 @@ build/
.apt_generated .apt_generated
.classpath .classpath
.factorypath .factorypath
.project .project
.settings .settings
.springBeans .springBeans

Binary file not shown.

@ -29,8 +29,6 @@ spring:
dialect: com.icomsys.main_vm.common.util.CustomDialect dialect: com.icomsys.main_vm.common.util.CustomDialect
generate_statistics: true generate_statistics: true
jwt:
secret: f2d7e5002d67c8d118ebf800274b6a5c83ed7b3d3518b2cddcd7226f7484eb34
#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html #https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html

@ -55,7 +55,8 @@ spring:
cache: false cache: false
template-resolver-order: 0 template-resolver-order: 0
check-template-location: true check-template-location: true
jwt:
secret: f2d7e5002d67c8d118ebf800274b6a5c83ed7b3d3518b2cddcd7226f7484eb34
autoconfigure: autoconfigure:
# exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration # exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration

@ -39,17 +39,7 @@ public class LoginController {
private final FileService fileService; private final FileService fileService;
private final HttpServletRequest httpServletRequest; 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") @PostMapping(value = "/adm/main/pwd/update")
public ResponseEntity PwdUpdate(@RequestBody PwdUpdateReq dto) throws CustomNotFoundException, CustomBadRequestException { public ResponseEntity PwdUpdate(@RequestBody PwdUpdateReq dto) throws CustomNotFoundException, CustomBadRequestException {

@ -107,8 +107,8 @@ public class LoginService {
LoginVO userResult = user.toLoginVO(); LoginVO userResult = user.toLoginVO();
// return "forward:/adm/main/actionMain.do"; // return "forward:/adm/main/actionMain.do";
// return "layout/adm/common/dashboard";
return "layout/adm/common/dashboard"; return "layout/main";
} else { } else {
log.info("Fail!"); log.info("Fail!");
} }

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

@ -22,16 +22,6 @@ public class SystemCustController {
private final SystemCustService custService; 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 * @Name API
@ -47,16 +37,7 @@ public class SystemCustController {
return new DslDataTableRes<SystemIcsCustInfoRes>(result); 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 * @Name
@ -71,17 +52,7 @@ public class SystemCustController {
return custService.custSelect(custCode); 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 * @Name

@ -26,18 +26,6 @@ public class SystemGroupAuthController {
private final SystemGroupAuthService groupAuthService; 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 * @Name API
* @Description API * @Description API
@ -52,17 +40,6 @@ public class SystemGroupAuthController {
return new DslDataTableRes<SystemServiceAuthGroupRes>(result); 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 * @Name
@ -88,17 +65,6 @@ public class SystemGroupAuthController {
groupAuthService.GroupAuthUpdateInsert(dto); 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 * @Name

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

@ -21,24 +21,8 @@ import java.util.List;
@RequestMapping("/admin/common/system") @RequestMapping("/admin/common/system")
public class SystemServiceGroupController { public class SystemServiceGroupController {
private final LoginService loginService;
private final SystemServiceGroupService systemServiceGroupService;
/** 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";
}
}
/** /**
* @Name * @Name
@ -53,16 +37,6 @@ public class SystemServiceGroupController {
return new DslDataTableRes<SystemServiceGroupRes>(result); 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 * @Name API

@ -22,16 +22,7 @@ public class SystemUserAdminController {
private final SystemUserAdminService systemUserAdminService; 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") @PostMapping("/userAdmin/list")
@ResponseBody @ResponseBody

@ -22,16 +22,6 @@ public class SystemUserController {
private final SystemUserService systemUserService; 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 * @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 {
}

@ -18,6 +18,7 @@ import com.icomsys.main_vm.biz.common.system.vo.SystemServiceGroupViewVo;
import com.icomsys.main_vm.biz.test.controller.testvo.APINodeVo; import com.icomsys.main_vm.biz.test.controller.testvo.APINodeVo;
import com.icomsys.main_vm.common.code.EnumToMap; import com.icomsys.main_vm.common.code.EnumToMap;
import com.icomsys.main_vm.common.code.enumresource.MenuResource; import com.icomsys.main_vm.common.code.enumresource.MenuResource;
import com.icomsys.main_vm.common.code.enumresource.PolicyResource;
import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting; import com.icomsys.main_vm.db.jpa.entity.conversation.TbProjectSetting;
import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo; import com.icomsys.main_vm.db.jpa.entity.system.TbIcsCustInfo;
import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo; import com.icomsys.main_vm.db.jpa.repo.scenario.TbApiNodeRepo;
@ -36,6 +37,7 @@ import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
@RequestMapping("/rest") @RequestMapping("/rest")
@RestController @RestController
@ -78,7 +80,7 @@ public class TestRestController {
@GetMapping("/test5") @GetMapping("/test5")
public Object test5() { public Object test5() {
log.info("test5 init"); log.info("test5 init");
return testRestService.authToMenuList(testRestService.initData(), 1000001); return testRestService.authToMenuList(PolicyResource.ALL.stream().map(e -> e.getName().toString()).collect(Collectors.toList()), 1000001);
} }
@ -91,7 +93,7 @@ public class TestRestController {
@GetMapping("/test6") @GetMapping("/test6")
public Object test6() { public Object test6() {
log.info("test6 init"); log.info("test6 init");
return testRestService.authToAuthList(testRestService.initData(), 1000001); return testRestService.authToAuthList(PolicyResource.ALL.stream().map(e -> e.getName().toString()).collect(Collectors.toList()), 1000001);
} }
@GetMapping("/test7") @GetMapping("/test7")

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

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

@ -29,8 +29,6 @@ spring:
dialect: com.icomsys.main_vm.common.util.CustomDialect dialect: com.icomsys.main_vm.common.util.CustomDialect
generate_statistics: true generate_statistics: true
jwt:
secret: f2d7e5002d67c8d118ebf800274b6a5c83ed7b3d3518b2cddcd7226f7484eb34
#https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html #https://docs.jboss.org/hibernate/orm/3.5/javadocs/org/hibernate/dialect/package-summary.html

@ -55,7 +55,8 @@ spring:
cache: false cache: false
template-resolver-order: 0 template-resolver-order: 0
check-template-location: true check-template-location: true
jwt:
secret: f2d7e5002d67c8d118ebf800274b6a5c83ed7b3d3518b2cddcd7226f7484eb34
autoconfigure: autoconfigure:
# exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration # exclude: org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration

@ -155,6 +155,7 @@ function lnbEvt(){
$('.lnb > li > ul > li > ul').parent().addClass('has_children'); $('.lnb > li > ul > li > ul').parent().addClass('has_children');
} }
$('.lnb > li.has_children > a').attr('href', '#'); $('.lnb > li.has_children > a').attr('href', '#');
$('.lnb > li > a').on('click', function(e){ $('.lnb > li > a').on('click', function(e){
e.preventDefault(); e.preventDefault();

@ -1,8 +1,4 @@
<!DOCTYPE html> <!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> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>대시보드</title> <title>대시보드</title>
@ -120,5 +116,4 @@
</section> </section>
</body> </body>
</th:block>
</html> </html>

@ -1,5 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>시나리오코드</title> <title>시나리오코드</title>
@ -74,12 +72,12 @@
fncDeleteCommonCode(); fncDeleteCommonCode();
}); });
// $('#listTable').on('page.dt', function(){ // $('#listTable').on('page.dt', function(){
// // var info = table.page.info(); // // var info = table.page.info();
// // console.log( 'Showing page: '+info.page+' of '+info.pages ); // // console.log( 'Showing page: '+info.page+' of '+info.pages );
// // console.log( 'Showing page: ' ); // // console.log( 'Showing page: ' );
// modalUi(); // modalUi();
// }); // });
} }
); );
@ -138,7 +136,7 @@
}); });
} }
function fncDeleteCommonCode(){ function fncDeleteCommonCode() {
var json = {}; var json = {};
var majorCode = $("#setMajorCode").val(); var majorCode = $("#setMajorCode").val();
var custCode = $("#setCustCode").val(); var custCode = $("#setCustCode").val();
@ -179,7 +177,7 @@
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>" url: "<c:url value='/adm/menu/oprmng'/>"
// + "?serviceType=S" // + "?serviceType=S"
, ,
success: function (data) { success: function (data) {
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -337,8 +335,8 @@
// //
// if the second column cell is blank apply special formatting // if the second column cell is blank apply special formatting
// //
console.dir(row); console.dir(row);
$(row).addClass('modalLoad').attr('rel','reg_edit_modal'); $(row).addClass('modalLoad').attr('rel', 'reg_edit_modal');
} }
, ,
columnDefs: [ columnDefs: [
@ -531,7 +529,7 @@
<h2 class="mt12">공통 코드 리스트</h2> <h2 class="mt12">공통 코드 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <div class="btn_wrap fr">
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%> <%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
<a href="#" rel="reg_modal" id="btn_reg_modal" class="btn line modalLoad">등록</a> <a href="#" rel="reg_modal" id="btn_reg_modal" class="btn line modalLoad">등록</a>
</div> </div>
</div> </div>
@ -644,7 +642,6 @@
<!-- modal :: 공통 코드 등록 팝업 end --> <!-- modal :: 공통 코드 등록 팝업 end -->
<!-- modal :: 공통 코드 수정 팝업 --> <!-- modal :: 공통 코드 수정 팝업 -->
<%--<div class="modal open" id="reg_edit_modal">--%>
<div class="modal" id="reg_edit_modal"> <div class="modal" id="reg_edit_modal">
<div class="modal_header"> <div class="modal_header">
<h3>공통 코드 수정</h3> <h3>공통 코드 수정</h3>
@ -665,7 +662,9 @@
</dl> </dl>
<dl> <dl>
<%-- <dt><h4><em class="important">대분류</em></h4></dt>--%> <%--
<dt><h4><em class="important">대분류</em></h4></dt>
--%>
<dt><h4><em class="">대분류</em></h4></dt> <dt><h4><em class="">대분류</em></h4></dt>
<dd> <dd>
<div class="ipt_box"> <div class="ipt_box">
@ -726,4 +725,3 @@
<!-- modal :: 공통 코드 수정 팝업 end --> <!-- modal :: 공통 코드 수정 팝업 end -->
</body> </body>
</html>

@ -1,5 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>고객사관리</title> <title>고객사관리</title>
@ -35,14 +33,14 @@
// console.log(rowData.custCode); // console.log(rowData.custCode);
// alert("cust - " + rowData.custCode) // alert("cust - " + rowData.custCode)
// document.location.href = "/BotMain_VM/admin/common/system/cust/update" + "?custCode=" + 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 = '/view/admin/common/system/cust/update' + "?custCode=" + rowData.custCode;
// document.location.href = '/admin/common/system/cust/view'; // document.location.href = '/admin/common/system/cust/view';
} }
function fnInsertBtn() { function fnInsertBtn() {
// document.location.href = "/BotMain_VM/admin/common/system/cust/insert"; // document.location.href = "/BotMain_VM/admin/common/system/cust/insert";
document.location.href = "<c:url value='/admin/common/system/cust/insert'/>"; document.location.href = '/view/admin/common/system/cust/insert';
} }
var PagingDataTable = function () { var PagingDataTable = function () {
@ -51,7 +49,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/cust/list'/>", url: '/admin/common/system/cust/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -175,10 +173,6 @@
</li> </li>
</ul> </ul>
</div> </div>
<header id="header">
</header>
<section id="Content" class="system_management"> <section id="Content" class="system_management">
<div class="location"> <div class="location">
<ul> <ul>
@ -205,10 +199,6 @@
<colgroup> <colgroup>
<col width="140px"> <col width="140px">
<col width="85%"> <col width="85%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
@ -230,8 +220,6 @@
<h2 class="mt12">고객사 리스트</h2> <h2 class="mt12">고객사 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <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> <a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
</div> </div>
</div> </div>
@ -242,23 +230,20 @@
<table id="listTable" class=""> <table id="listTable" class="">
<colgroup> <colgroup>
<col width="auto"> <col width="auto">
<col width="auto"> <!-- <col width="auto">-->
<col width="auto"> <!-- <col width="auto">-->
<col width="auto"> <col width="auto">
<col width="auto"> <col width="auto">
<col width="auto"> <col width="auto">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th>고객사코드</th> <!-- <th>고객사코드</th>-->
<th>고객사명</th> <th>고객사명</th>
<th>고객사안내멘트</th> <th>고객사안내멘트</th>
<th>대표번호</th> <!-- <th>대표번호</th>-->
<th>사용유무</th> <th>사용유무</th>
<th>생성일</th> <th>생성일</th>
<%-- <th>registId</th>--%>
<%-- <th>updateDate</th>--%>
<%-- <th>updateId</th>--%>
</tr> </tr>
</thead> </thead>
@ -268,6 +253,6 @@
</form> </form>
</div> </div>
</div> </div>
</div>
</section> </section>
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>고객사화면</title> <title>고객사화면</title>
@ -135,7 +132,7 @@
type: "POST", type: "POST",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/cust/save'/>", url: '/admin/common/system/cust/save',
data: JSON.stringify(json), data: JSON.stringify(json),
}) })
.complete(function (data) { .complete(function (data) {
@ -144,10 +141,9 @@
if (data.status == 200) { if (data.status == 200) {
// console.log("저장하였습니다.") // console.log("저장하였습니다.")
listgo(); listgo();
} else if (data.status == 405){ } else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다."); $.utils.warning("NLP연결에 실패했습니다.");
} } else {
else {
$.utils.warning("오류가 발생했습니다."); $.utils.warning("오류가 발생했습니다.");
} }
}) })
@ -203,7 +199,7 @@
type: "POST", type: "POST",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/doubleCheck'/>", url: '/admin/common/system/serviceGroup/doubleCheck',
data: JSON.stringify(checkJson), data: JSON.stringify(checkJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -382,7 +378,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/jstree/policy/parent'/>", url: '/adm/menu/jstree/policy/parent',
success: function (data) { success: function (data) {
return data; return data;
} }
@ -397,7 +393,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/cust/policybase'/>", url: '/admin/common/system/cust/policybase',
success: function (data) { success: function (data) {
return data; return data;
} }
@ -424,7 +420,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/cust/doubleCheck'/>" + '?custCode=' + custCode, url: '/admin/common/system/cust/doubleCheck' + '?custCode=' + custCode,
success: function (data) { success: function (data) {
if (data === 'Y') { if (data === 'Y') {
@ -463,7 +459,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, 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) { success: function (data) {
if (data === 'Y') { if (data === 'Y') {
// alert("사용할수있는 코드입니다") // alert("사용할수있는 코드입니다")
@ -481,7 +477,7 @@
}; };
function listgo() { function listgo() {
document.location.href = "<c:url value='/admin/common/system/cust/manage.do'/>"; document.location.href = '/view/admin/common/system/cust/manage.do';
} }
@ -589,7 +585,8 @@
<th class="tl">서비스그룹명</th> <th class="tl">서비스그룹명</th>
<td> <td>
<div class="ipt_box"> <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> </div>
</td> </td>
</tr> </tr>
@ -605,15 +602,26 @@
</td> </td>
</tr> </tr>
<%-- <tr>--%> <%--
<%-- <th class="tl">운영관리코드</th>--%> <tr>--%>
<%-- <td>--%> <%--
<%-- <div class="ipt_box" id="newOprDiv">--%> <th class="tl">운영관리코드</th>
<%-- <input type="text" id="newOprMngCode" value="" name=""--%> --%>
<%-- class=" title-connect" readonly>--%> <%--
<%-- </div>--%> <td>--%>
<%-- </td>--%> <%--
<%-- </tr>--%> <div class="ipt_box" id="newOprDiv">--%>
<%-- <input type="text" id="newOprMngCode" value="" name="" --%>
<%-- class=" title-connect" readonly>--%>
<%--
</div>
--%>
<%--
</td>
--%>
<%--
</tr>
--%>
<tr> <tr>
<th class="tl">서비스그룹 설명</th> <th class="tl">서비스그룹 설명</th>
@ -654,5 +662,4 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>고객사화면</title> <title>고객사화면</title>
@ -89,7 +86,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/cust/select'/>" + "?custCode=" + getQueryString(), url: '/admin/common/system/cust/select' + "?custCode=" + getQueryString(),
}) })
.complete(function (data) { .complete(function (data) {
// console.log(data.status); // console.log(data.status);
@ -293,22 +290,22 @@
var addServiceAuthList = new Array(); var addServiceAuthList = new Array();
$(".tbl-card").children('li').each(function (i, e) { $(".tbl-card").children('li').each(function (i, e) {
console.log('get-----'+i); console.log('get-----' + i);
var addServiceGroup = $('#'+$(this).find("input:eq(1)").attr("id")).val(); var addServiceGroup = $('#' + $(this).find("input:eq(1)").attr("id")).val();
console.log('addServiceGroup-----'+addServiceGroup); console.log('addServiceGroup-----' + addServiceGroup);
var addServiceAuth = {}; var addServiceAuth = {};
// var addServiceGroupName = $(this).find("input:eq(0)").attr("id").replaceAll("addServiceGroupName", ""); // var addServiceGroupName = $(this).find("input:eq(0)").attr("id").replaceAll("addServiceGroupName", "");
var addOprMngCode = $(this).find("input:eq(2)").attr("id"); var addOprMngCode = $(this).find("input:eq(2)").attr("id");
console.log('addOprMngCode-----'+addOprMngCode); console.log('addOprMngCode-----' + addOprMngCode);
// var addServiceGroupDesc = $(this).find("input:eq(3)").attr("id").replaceAll("addServiceGroupDesc", ""); // var addServiceGroupDesc = $(this).find("input:eq(3)").attr("id").replaceAll("addServiceGroupDesc", "");
var addServiceGroupName = $('#' + $(this).find("input:eq(0)").attr("id")).val(); var addServiceGroupName = $('#' + $(this).find("input:eq(0)").attr("id")).val();
console.log('addServiceGroupName-----'+addServiceGroupName); console.log('addServiceGroupName-----' + addServiceGroupName);
var addServiceGroupDesc = $('#' + $(this).find("input:eq(3)").attr("id")).val(); var addServiceGroupDesc = $('#' + $(this).find("input:eq(3)").attr("id")).val();
console.log('addServiceGroupDesc-----'+addServiceGroupDesc); console.log('addServiceGroupDesc-----' + addServiceGroupDesc);
var addUseYn = $('#addUseYn' + addServiceGroup + ' option:selected').val(); var addUseYn = $('#addUseYn' + addServiceGroup + ' option:selected').val();
console.log('addUseYn-----'+addUseYn); console.log('addUseYn-----' + addUseYn);
var authList = new Array(); var authList = new Array();
// console.log(JSON.stringify(authList)); // console.log(JSON.stringify(authList));
// console.log(JSON.stringify($(this))); // console.log(JSON.stringify($(this)));
@ -342,7 +339,7 @@
type: "POST", type: "POST",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/cust/modify'/>", url: '/admin/common/system/cust/modify',
data: JSON.stringify(json), data: JSON.stringify(json),
}) })
.complete(function (data) { .complete(function (data) {
@ -351,10 +348,9 @@
if (data.status == 200) { if (data.status == 200) {
// console.log("저장하였습니다.") // console.log("저장하였습니다.")
listgo(); listgo();
} else if (data.status == 405){ } else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다."); $.utils.warning("NLP연결에 실패했습니다.");
} } else {
else {
$.utils.warning("오류가 발생했습니다."); $.utils.warning("오류가 발생했습니다.");
} }
}) })
@ -402,7 +398,7 @@
type: "POST", type: "POST",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/doubleCheck'/>", url: '/admin/common/system/serviceGroup/doubleCheck',
data: JSON.stringify(checkJson), data: JSON.stringify(checkJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -577,7 +573,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/jstree/policy/parent'/>", url: '/adm/menu/jstree/policy/parent',
success: function (data) { success: function (data) {
return data; return data;
} }
@ -592,7 +588,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/cust/policybase'/>", url: '/admin/common/system/cust/policybase',
success: function (data) { success: function (data) {
return data; return data;
} }
@ -607,7 +603,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/cust/doubleCheck'/>" + '?custCode=' + custCode, url: '/admin/common/system/cust/doubleCheck' + '?custCode=' + custCode,
success: function (data) { success: function (data) {
return data; return data;
} }
@ -625,7 +621,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, 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) { success: function (data) {
return data; return data;
} }
@ -637,7 +633,7 @@
}; };
function listgo() { function listgo() {
document.location.href = "<c:url value='/admin/common/system/cust/manage.do'/>"; document.location.href = '/view/admin/common/system/cust/manage.do';
} }
@ -680,7 +676,7 @@
<div class="ipt_box type-flex"> <div class="ipt_box type-flex">
<input id="newCustCode" type="text" value="" name="" class="" readonly> <input id="newCustCode" type="text" value="" name="" class="" readonly>
<input id="newCustCodeDoubleCheck" type="hidden" value="N" name="" class=""> <input id="newCustCodeDoubleCheck" type="hidden" value="N" name="" class="">
<%-- <a href="#" id="btnCustCodeDoubleCheck" class="btn basic">중복확인</a>--%> <%-- <a href="#" id="btnCustCodeDoubleCheck" class="btn basic">중복확인</a>--%>
</div> </div>
</td> </td>
</tr> </tr>
@ -745,7 +741,8 @@
<th class="tl">서비스그룹명</th> <th class="tl">서비스그룹명</th>
<td> <td>
<div class="ipt_box"> <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> </div>
</td> </td>
</tr> </tr>
@ -810,5 +807,4 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>그룹별권한</title> <title>그룹별권한</title>
@ -38,11 +35,10 @@
$('#insertServiceGroup').change(function () { $('#insertServiceGroup').change(function () {
getRoleAndOpr($(this).val()); getRoleAndOpr($(this).val());
}); });
} }
); );
function getRoleAndOpr() { function getRoleAndOpr() {
var role = ''; var role = '';
$.ajax({ $.ajax({
@ -50,7 +46,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/role'/>", url: '/adm/menu/role',
success: function (data) { success: function (data) {
role = data; role = data;
} }
@ -62,7 +58,6 @@
return role; return role;
}; };
@ -71,12 +66,11 @@
var setUrl = ''; var setUrl = '';
var role = getRoleAndOpr(); var role = getRoleAndOpr();
// console.log(role) // console.log(role)
if(role ==='SYSTEMADMIN'){ if (role === 'SYSTEMADMIN') {
setUrl = "<c:url value='/adm/menu/oprmng'/>" ; setUrl = '/adm/menu/oprmng';
} } else {
else { setUrl = '/adm/menu/oprmng'
setUrl = "<c:url value='/adm/menu/oprmng'/>" // + "?serviceType=S"
// + "?serviceType=S"
; ;
} }
@ -100,44 +94,8 @@
$('#insertServiceGroup').niceSelect('update'); $('#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) { function viewPage(rowData) {
document.location.href = "<c:url value='/admin/common/system/groupAuth/update'/>" + "?authGroupSeq=" + rowData.authGroupSeq; document.location.href = '/view/admin/common/system/groupAuth/update' + "?authGroupSeq=" + rowData.authGroupSeq;
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + rowData.authGroupSeq; // document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + rowData.authGroupSeq;
} }
@ -186,7 +144,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/groupAuth/insert'/>", url: '/admin/common/system/groupAuth/insert',
data: JSON.stringify(insertJson), data: JSON.stringify(insertJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -194,7 +152,7 @@
// console.log(data.status); // console.log(data.status);
if (data.status == 200) { if (data.status == 200) {
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/manage.do"; // document.location.href = "/BotMain_VM/admin/common/system/groupAuth/manage.do";
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>"; document.location.href = '/view/admin/common/system/groupAuth/manage.do';
} else { } else {
// console.log(JSON.stringify(this)); // console.log(JSON.stringify(this));
} }
@ -203,16 +161,15 @@
} }
///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!수정!!!!!!!!! ///!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!수정!!!!!!!!!
function newTreeWrap(serviceGroup) { function newTreeWrap(serviceGroup) {
if(serviceGroup === 'ALL'){ if (serviceGroup === 'ALL') {
return; return;
} }
var treeData = []; var treeData = [];
setUrl = "<c:url value='/admin/common/system/groupAuth/newTree'/>"+"?serviceGroup="+serviceGroup; setUrl = '/admin/common/system/groupAuth/newTree' + "?serviceGroup=" + serviceGroup;
$.ajax({ $.ajax({
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
@ -266,7 +223,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/groupAuth/list'/>", url: '/admin/common/system/groupAuth/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -430,8 +387,6 @@
<col width="5%"> <col width="5%">
<col width="140px"> <col width="140px">
<col width="15%"> <col width="15%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
@ -461,7 +416,6 @@
<h2 class="mt12">그룹별권한 리스트</h2> <h2 class="mt12">그룹별권한 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <div class="btn_wrap fr">
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
<a href="#" rel="createGroupModal" class="btn line modalLoad">등록</a> <a href="#" rel="createGroupModal" class="btn line modalLoad">등록</a>
</div> </div>
</div> </div>
@ -565,4 +519,3 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>그룹별권한</title> <title>그룹별권한</title>
@ -49,7 +46,7 @@
} }
function listgo() { function listgo() {
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>"; document.location.href = '/view/admin/common/system/groupAuth/manage.do';
} }
function getUserSearch() { function getUserSearch() {
@ -66,7 +63,7 @@
async: false, async: false,
datatype: "JSON", datatype: "JSON",
// url: "/BotMain_VM/admin/common/system/groupAuth/userSearch" + "?authGroupSeq=" + getQueryString(), // url: "/BotMain_VM/admin/common/system/groupAuth/userSearch" + "?authGroupSeq=" + getQueryString(),
url: "<c:url value='/admin/common/system/groupAuth/userSearch'/>" + "?authGroupSeq=" + getQueryString(), url: '/admin/common/system/groupAuth/userSearch' + "?authGroupSeq=" + getQueryString(),
data: JSON.stringify(json), data: JSON.stringify(json),
success: success:
function (data) { function (data) {
@ -122,13 +119,13 @@
datatype: "JSON", datatype: "JSON",
async: false, async: false,
// url: "/BotMain_VM/admin/common/system/groupAuth/modify/update", // url: "/BotMain_VM/admin/common/system/groupAuth/modify/update",
url: "<c:url value='/admin/common/system/groupAuth/modify/update'/>", url: '/admin/common/system/groupAuth/modify/update',
data: JSON.stringify(json), data: JSON.stringify(json),
success: success:
function (data) { function (data) {
// console.log("modfu suc - "); // console.log("modfu suc - ");
// document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + getQueryString(); // document.location.href = "/BotMain_VM/admin/common/system/groupAuth/update" + "?authGroupSeq=" + getQueryString();
document.location.href = "<c:url value='/admin/common/system/groupAuth/manage.do'/>"; document.location.href = '/view/admin/common/system/groupAuth/manage.do';
} }
}) })
@ -148,7 +145,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
async: false, async: false,
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/oprmng'/>", url: '/adm/menu/oprmng',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -168,7 +165,7 @@
async: false, async: false,
datatype: "JSON", datatype: "JSON",
data: authGroupSeq, data: authGroupSeq,
url: "<c:url value='/admin/common/system/groupAuth/update/select'/>", url: '/admin/common/system/groupAuth/update/select',
success: function (data) { success: function (data) {
// console.log(data.authGroupSeq); // console.log(data.authGroupSeq);
// console.log(data.authPolicyVal); // console.log(data.authPolicyVal);
@ -364,21 +361,12 @@
<tr> <tr>
<th class="tl">소속사용자 <em class="red">*</em></th> <th class="tl">소속사용자 <em class="red">*</em></th>
<td> <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"> <div class="ipt_box listen type-flex">
<input type="text" placeholder="유저명을 입력하세요" id="userSelBox" name="typeText"> <input type="text" placeholder="유저명을 입력하세요" id="userSelBox" name="typeText">
<a href="#" id="btnSearchUser" class="btn">조회</a> <a href="#" id="btnSearchUser" class="btn">조회</a>
</div> </div>
<select id="selectorUser" class="wide"> <select id="selectorUser" class="wide">
<%-- <option value="ALL">분류 선택</option>--%>
<%-- <option value="major">대분류</option>--%>
<%-- <option value="minor">중분류</option>--%>
</select> </select>
@ -418,7 +406,6 @@
<div class="cont_box"> <div class="cont_box">
<div class="btn_wrap center"> <div class="btn_wrap center">
<%-- <a href="#" class="btn basic grey">삭제</a>--%>
<a href="#" class="btn basic grey" id="btnDel">취소</a> <a href="#" class="btn basic grey" id="btnDel">취소</a>
<a href="#" class="btn basic" id="btnSave">저장</a> <a href="#" class="btn basic" id="btnSave">저장</a>
</div> </div>
@ -429,4 +416,3 @@
</body> </body>
</html>

@ -1,13 +1,10 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>그룹별권한</title> <title>그룹별권한</title>
</head> </head>
<script> <script>
z
$(document).ready(function () { $(document).ready(function () {
getOpr(); getOpr();
getServiceGroupQueryString(); getServiceGroupQueryString();
@ -32,7 +29,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/oprmng'/>", url: '/adm/menu/oprmng',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -318,7 +315,5 @@
</div> </div>
</section> </section>
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>정책별메뉴</title> <title>정책별메뉴</title>
@ -33,7 +30,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/oprmng'/>", url: '/adm/menu/oprmng',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -50,7 +47,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/policyMenu/list'/>", url: '/admin/common/system/policyMenu/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -214,8 +211,6 @@
<col width="40%"> <col width="40%">
<col width="140px"> <col width="140px">
<col width="40%"> <col width="40%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup> </colgroup>
<tbody> <tbody>
@ -301,4 +296,3 @@
</section> </section>
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>서비스그룹 관리</title> <title>서비스그룹 관리</title>
@ -46,10 +43,10 @@
if (getServiceGroupQueryString() == null) { if (getServiceGroupQueryString() == null) {
//유저어드민 //유저어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>"; setUrl = '/admin/common/system/serviceGroup/view';
} else { } else {
//시스템어드민 //시스템어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + getServiceGroupQueryString(); setUrl = '/admin/common/system/serviceGroup/view' + "?serviceGroup=" + getServiceGroupQueryString();
} }
@ -75,7 +72,7 @@
data.subServiceGroupRes.forEach(function (e, i) { data.subServiceGroupRes.forEach(function (e, i) {
html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">' html += '<li class="tbl-card-li" id="tbl-card-li' + i + '">'
+ '<div class="tbl-card-li-inner">' + '<div class="tbl-card-li-inner">'
+ '<div class="tbl-card-title" id="tbl-card-title' + i + '">' + '<div class="tbl-card-title" id="tbl-card-title' + i + '">'
+ ' <div class="fl title-connected">' + e.subServiceGroup + '</div>' + ' <div class="fl title-connected">' + e.subServiceGroup + '</div>'
+ ' </div>' + ' </div>'
@ -254,7 +251,6 @@
<th class="tl">서비스그룹</th> <th class="tl">서비스그룹</th>
<td> <td>
<div class="ipt_box"> <div class="ipt_box">
<%-- <input type="text" id="mainServiceGroupName" value="mainServiceGroup" name="" class="" readonly>--%>
<input type="text" id="mainServiceGroupName" name="" class="" readonly> <input type="text" id="mainServiceGroupName" name="" class="" readonly>
</div> </div>
</td> </td>
@ -337,7 +333,8 @@
<th class="tl">시나리오 그룹코드</th> <th class="tl">시나리오 그룹코드</th>
<td> <td>
<div class="ipt_box type-flex"> <div class="ipt_box type-flex">
<input type="text" id="subServiceGroupName" value="UPLUS_RCP_DAISO" <input type="text" id="subServiceGroupName"
value="UPLUS_RCP_DAISO"
name="" class=""> name="" class="">
<a href="#" class="btn grey">중복확인</a> <a href="#" class="btn grey">중복확인</a>
</div> </div>
@ -401,7 +398,8 @@
</li> </li>
<li data-jstree='{ "opened" : true }'>BOT 공통 관리 <li data-jstree='{ "opened" : true }'>BOT 공통 관리
<ul> <ul>
<li data-jstree='{ "opened" : true }'>서비스별관리 <li data-jstree='{ "opened" : true }'>
서비스별관리
<ul> <ul>
<li>요일/시간대별 멘트 관리</li> <li>요일/시간대별 멘트 관리</li>
<li>휴무일 관리</li> <li>휴무일 관리</li>
@ -455,4 +453,3 @@
</section> </section>
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>서비스그룹 관리List</title> <title>서비스그룹 관리List</title>
@ -10,34 +7,34 @@
<script> <script>
$(document).ready(function () { $(document).ready(function () {
getMainOprSelectBox(); getMainOprSelectBox();
PagingDataTable(); PagingDataTable();
$('#listTable tbody').on('dblclick', 'tr', function () { $('#listTable tbody').on('dblclick', 'tr', function () {
var data = $('#listTable').DataTable().row(this).data(); var data = $('#listTable').DataTable().row(this).data();
viewPage(data) viewPage(data)
}); });
$('#btnSearchOpr').on('click', function () { $('#btnSearchOpr').on('click', function () {
fnCustSearchBtn();
});
$("#Content").on("keyup", function (key) {
if (key.keyCode == 13) {
fnCustSearchBtn(); fnCustSearchBtn();
} });
});
$('#btnRegModal').on('click', function () { $("#Content").on("keyup", function (key) {
fnServiceGroupInsertBtn(); if (key.keyCode == 13) {
}); fnCustSearchBtn();
}
});
$('#btnRegModal').on('click', function () {
fnServiceGroupInsertBtn();
});
} }
); );
function fnServiceGroupInsertBtn(){ function fnServiceGroupInsertBtn() {
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/insert"; // document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/insert";
document.location.href = "<c:url value='/admin/common/system/serviceGroup/insert'/>"; document.location.href = '/view/admin/common/system/serviceGroup/insert';
}; };
function getOpr() { function getOpr() {
@ -45,7 +42,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/oprmng'/>", url: '/adm/menu/oprmng',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -61,7 +58,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/main/oprmng'/>", url: '/adm/menu/main/oprmng',
success: function (data) { success: function (data) {
data.forEach(function (e, f) { data.forEach(function (e, f) {
$('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>"); $('#serviceGroup').append("<option value=" + e.serviceGroup + ">" + e.serviceGroupName + "</option>");
@ -74,7 +71,7 @@
function viewPage(rowData) { function viewPage(rowData) {
// console.log(rowData.serviceGroup); // console.log(rowData.serviceGroup);
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + rowData.serviceGroup; // document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + rowData.serviceGroup;
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + rowData.serviceGroup; document.location.href = '/view/admin/common/system/serviceGroup/view' + "?serviceGroup=" + rowData.serviceGroup;
} }
var PagingDataTable = function () { var PagingDataTable = function () {
@ -83,7 +80,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/serviceGroup/list'/>", url: '/admin/common/system/serviceGroup/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -223,8 +220,6 @@
</ul> </ul>
</div> </div>
<header id="header">
</header>
<section id="Content" class="system_management"> <section id="Content" class="system_management">
<div class="location"> <div class="location">
@ -254,8 +249,6 @@
<col width="25%"> <col width="25%">
<col width="140px"> <col width="140px">
<col width="40%"> <col width="40%">
<%-- <col width="140px">--%>
<%-- <col width="25%">--%>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
@ -285,10 +278,6 @@
<h2 class="mt12">서비스그룹 리스트</h2> <h2 class="mt12">서비스그룹 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <div class="btn_wrap fr">
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
<%-- <a href="#" class="btn line modalLoad" id="btnRegModal">신규등록</a>--%>
</div> </div>
</div> </div>
@ -325,4 +314,3 @@
</section> </section>
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>서비스그룹 관리</title> <title>서비스그룹 관리</title>
@ -89,7 +86,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/serviceGroup/doubleCheck'/>", url: '/admin/common/system/serviceGroup/doubleCheck',
data: JSON.stringify(checkJson), data: JSON.stringify(checkJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -122,8 +119,8 @@
var sol = "_RCP_"; var sol = "_RCP_";
if (e === 8) { if (e === 8) {
// setTimeout(() => { // setTimeout(() => {
var outText = cust + sol + $('#newServiceGroup').val(); var outText = cust + sol + $('#newServiceGroup').val();
$('#newOprDiv').html('<input type="text" id="newOprMngCode" value="' + outText.toUpperCase() + '" name="" class=" title-connect" readonly>') $('#newOprDiv').html('<input type="text" id="newOprMngCode" value="' + outText.toUpperCase() + '" name="" class=" title-connect" readonly>')
// }, "100") // }, "100")
} else { } else {
var temp = $('#newOprMngCode').val().replace(cust + sol, ""); var temp = $('#newOprMngCode').val().replace(cust + sol, "");
@ -174,7 +171,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
async: false, async: false,
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/insert'/>", url: '/admin/common/system/serviceGroup/insert',
data: JSON.stringify(insertJson), data: JSON.stringify(insertJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -182,11 +179,10 @@
// console.log(data.status); // console.log(data.status);
if (data.status == 200) { if (data.status == 200) {
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + mainServiceGroup; // document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + mainServiceGroup;
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + mainServiceGroup; document.location.href = '/view/admin/common/system/serviceGroup/view' + "?serviceGroup=" + mainServiceGroup;
} else if (data.status == 405){ } else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다."); $.utils.warning("NLP연결에 실패했습니다.");
} } else {
else {
$.utils.warning("오류가 발생했습니다."); $.utils.warning("오류가 발생했습니다.");
} }
}) })
@ -234,7 +230,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
async: false, async: false,
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/serviceGroup/update'/>", url: '/admin/common/system/serviceGroup/update',
data: JSON.stringify(updateJson), data: JSON.stringify(updateJson),
}) })
.complete(function (data) { .complete(function (data) {
@ -242,11 +238,10 @@
// console.log(data.status); // console.log(data.status);
if (data.status == 200) { if (data.status == 200) {
// document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + mainServiceGroup; // document.location.href = "/BotMain_VM/admin/common/system/serviceGroup/view" + "?serviceGroup=" + mainServiceGroup;
document.location.href = "<c:url value='/admin/common/system/serviceGroup/view'/>" + "?serviceGroup=" + mainServiceGroup; document.location.href = '/view/admin/common/system/serviceGroup/view' + "?serviceGroup=" + mainServiceGroup;
} else if (data.status == 405){ } else if (data.status == 405) {
$.utils.warning("NLP연결에 실패했습니다."); $.utils.warning("NLP연결에 실패했습니다.");
} } else {
else {
$.utils.warning("오류가 발생했습니다."); $.utils.warning("오류가 발생했습니다.");
} }
}) })
@ -258,10 +253,10 @@
if (getServiceGroupQueryString() == null) { if (getServiceGroupQueryString() == null) {
//유저어드민 //유저어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/select'/>"; setUrl = '/admin/common/system/serviceGroup/select';
} else { } else {
//시스템어드민 //시스템어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/select'/>" + "?serviceGroup=" + getServiceGroupQueryString(); setUrl = '/admin/common/system/serviceGroup/select' + "?serviceGroup=" + getServiceGroupQueryString();
} }
$.ajax({ $.ajax({
type: "GET", type: "GET",
@ -403,7 +398,7 @@
var setParent = policyParent[e.authName] + idx; var setParent = policyParent[e.authName] + idx;
} }
if($('#mainServiceGroup').val() == subService.subServiceGroup){ if ($('#mainServiceGroup').val() == subService.subServiceGroup) {
if (subService.subPolicyVal.includes(e.authName)) { if (subService.subPolicyVal.includes(e.authName)) {
treeData[i] = { treeData[i] = {
id: setId, id: setId,
@ -411,8 +406,8 @@
text: e.menuName, text: e.menuName,
state: { state: {
opened: true opened: true
,selected: true , selected: true
,disabled: true , disabled: true
} }
}; };
@ -423,13 +418,12 @@
text: e.menuName, text: e.menuName,
state: { state: {
opened: false opened: false
,selected: false , selected: false
,disabled: true , disabled: true
} }
}; };
} }
} } else {
else {
if (subService.subPolicyVal.includes(e.authName)) { if (subService.subPolicyVal.includes(e.authName)) {
treeData[i] = { treeData[i] = {
id: setId, id: setId,
@ -437,7 +431,7 @@
text: e.menuName, text: e.menuName,
state: { state: {
opened: true opened: true
,selected: true , selected: true
} }
}; };
@ -448,7 +442,7 @@
text: e.menuName, text: e.menuName,
state: { state: {
opened: false opened: false
,selected: false , selected: false
} }
}; };
} }
@ -483,10 +477,10 @@
if (getServiceGroupQueryString() == null) { if (getServiceGroupQueryString() == null) {
//유저어드민 //유저어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/select'/>"; setUrl = '/admin/common/system/serviceGroup/select';
} else { } else {
//시스템어드민 //시스템어드민
setUrl = "<c:url value='/admin/common/system/serviceGroup/select'/>" + "?serviceGroup=" + getServiceGroupQueryString(); setUrl = '/admin/common/system/serviceGroup/select' + "?serviceGroup=" + getServiceGroupQueryString();
} }
$.ajax({ $.ajax({
type: "GET", type: "GET",
@ -541,10 +535,6 @@
</script> </script>
<header id="header">
</header>
<body> <body>
<h1>ICOMSYS ADMIN</h1> <h1>ICOMSYS ADMIN</h1>
@ -590,7 +580,6 @@
<th class="tl">서비스그룹명</th> <th class="tl">서비스그룹명</th>
<td> <td>
<div class="ipt_box"> <div class="ipt_box">
<%-- <input type="text" id="mainServiceGroupName" value="mainServiceGroup" name="" class="" readonly>--%>
<input type="text" id="mainServiceGroupName" name="" class="" readonly> <input type="text" id="mainServiceGroupName" name="" class="" readonly>
</div> </div>
</td> </td>
@ -666,7 +655,8 @@
<th class="tl">시나리오 그룹명<em class="red">*</em></th> <th class="tl">시나리오 그룹명<em class="red">*</em></th>
<td> <td>
<div class="ipt_box"> <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> </div>
</td> </td>
</tr> </tr>
@ -687,16 +677,6 @@
</td> </td>
</tr> </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> <tr>
<th class="tl">시나리오그룹 설명<em class="red">*</em></th> <th class="tl">시나리오그룹 설명<em class="red">*</em></th>
<td> <td>
@ -746,5 +726,4 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>사용자관리</title> <title>사용자관리</title>
@ -43,7 +40,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M", url: '/adm/menu/oprmng' + "?serviceType=M",
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -62,7 +59,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/cust/select'/>", url: '/admin/common/system/user/cust/select',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -77,7 +74,7 @@
function viewPage(rowData) { function viewPage(rowData) {
// console.log(rowData.userSeq); // console.log(rowData.userSeq);
// document.location.href = "/BotMain_VM/admin/common/system/user/view" + "?userSeq=" + rowData.userSeq; // document.location.href = "/BotMain_VM/admin/common/system/user/view" + "?userSeq=" + rowData.userSeq;
document.location.href = "<c:url value='/admin/common/system/user/view'/>" + "?userSeq=" + rowData.userSeq; document.location.href = '/view/admin/common/system/user/view' + "?userSeq=" + rowData.userSeq;
} }
var PagingDataTable = function () { var PagingDataTable = function () {
@ -86,7 +83,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/user/list'/>", url: '/admin/common/system/user/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -195,7 +192,7 @@
targets: 6, targets: 6,
orderable: false, orderable: false,
render: function (data) { render: function (data) {
if(data == null) if (data == null)
data = ''; data = '';
return '<a style="display: block;text-align: center;">' + data + '</a>'; return '<a style="display: block;text-align: center;">' + data + '</a>';
} }
@ -239,7 +236,7 @@
function fnInsertBtn() { function fnInsertBtn() {
// document.location.href = "/BotMain_VM/admin/common/system/user/insert"; // document.location.href = "/BotMain_VM/admin/common/system/user/insert";
document.location.href = "<c:url value='/admin/common/system/user/insert'/>"; document.location.href = '/view/admin/common/system/user/insert';
} }
@ -331,8 +328,8 @@
<h2 class="mt12"> 사용자 리스트</h2> <h2 class="mt12"> 사용자 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <div class="btn_wrap fr">
<%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%> <%-- <a href="#" class="btn grey" id="btnDelCust">삭제</a>--%>
<%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%> <%-- <a href="#" rel="reg_modal" class="btn modalLoad" id="btnRegModal">추가</a>--%>
<a href="#" class="btn line modalLoad" id="btnRegModal">등록</a> <a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
</div> </div>
</div> </div>
@ -358,8 +355,6 @@
<tr> <tr>
<th>고객사코드</th> <th>고객사코드</th>
<th>고객사</th> <th>고객사</th>
<%-- <th>서비스그룹코드</th>--%>
<%-- <th>서비스그룹</th>--%>
<th>사용자시퀀스</th> <th>사용자시퀀스</th>
<th>사용자아이디</th> <th>사용자아이디</th>
<th>사용자이름</th> <th>사용자이름</th>
@ -380,4 +375,5 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>운영자관리</title> <title>운영자관리</title>
@ -41,7 +38,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M", url: '/adm/menu/oprmng' + "?serviceType=M",
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -60,7 +57,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/cust/select'/>", url: '/admin/common/system/user/cust/select',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -75,7 +72,7 @@
function viewPage(rowData) { function viewPage(rowData) {
// console.log(rowData.userSeq); // console.log(rowData.userSeq);
document.location.href = "<c:url value='/admin/common/system/userAdmin/view'/>" + "?userSeq=" + rowData.userSeq; document.location.href = '/view/admin/common/system/userAdmin/view' + "?userSeq=" + rowData.userSeq;
// document.location.href = '/admin/common/system/cust/view'; // document.location.href = '/admin/common/system/cust/view';
} }
@ -85,7 +82,7 @@
$('#listTable').DataTable( $('#listTable').DataTable(
{ {
ajax: { ajax: {
url: "<c:url value='/admin/common/system/userAdmin/list'/>", url: '/admin/common/system/userAdmin/list',
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
type: "POST", type: "POST",
dataType: "JSON", dataType: "JSON",
@ -235,7 +232,7 @@
}; };
function fnInsertBtn() { function fnInsertBtn() {
document.location.href = "<c:url value='/admin/common/system/userAdmin/insert'/>"; document.location.href = '/view/admin/common/system/userAdmin/insert';
} }
@ -327,8 +324,6 @@
<h2 class="mt12"> 운영자 리스트</h2> <h2 class="mt12"> 운영자 리스트</h2>
</div> </div>
<div class="btn_wrap fr"> <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> <a href="#" class="btn line modalLoad" id="btnRegModal">등록</a>
</div> </div>
</div> </div>
@ -354,8 +349,6 @@
<tr> <tr>
<th>고객사코드</th> <th>고객사코드</th>
<th>고객사</th> <th>고객사</th>
<%-- <th>서비스그룹코드</th>--%>
<%-- <th>서비스그룹</th>--%>
<th>운영자시퀀스</th> <th>운영자시퀀스</th>
<th>운영자아이디</th> <th>운영자아이디</th>
<th>운영자이름</th> <th>운영자이름</th>
@ -376,4 +369,3 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>사용자관리</title> <title>사용자관리</title>
@ -29,10 +26,10 @@
// }) // })
// }); // });
//선택 이벤트 //선택 이벤트
$('#newCustUser').change(function () { $('#newCustUser').change(function () {
SelectServiceGroupUpdate($(this).val()) SelectServiceGroupUpdate($(this).val())
}); });
//서비스그룹 추가 -> 적용버튼 //서비스그룹 추가 -> 적용버튼
@ -95,7 +92,7 @@
function listgo() { function listgo() {
// document.location.href = "/BotMain_VM/admin/common/system/user/manage.do"; // document.location.href = "/BotMain_VM/admin/common/system/user/manage.do";
document.location.href = "<c:url value='/admin/common/system/userAdmin/manage.do'/>"; document.location.href = '/view/admin/common/system/userAdmin/manage.do';
} }
function delBtn() { function delBtn() {
@ -186,7 +183,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/save'/>", url: '/admin/common/system/user/save',
data: JSON.stringify(json) data: JSON.stringify(json)
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
@ -226,7 +223,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + serviceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + serviceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html3 html3
@ -311,7 +308,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + servoceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + servoceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html1 html1
@ -340,7 +337,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>"+ "?serviceType=M", url: '/adm/menu/oprmng' + "?serviceType=M",
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -361,7 +358,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/cust/select'/>", url: '/admin/common/system/user/cust/select',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
@ -381,14 +378,14 @@
} }
; ;
function SelectServiceGroupUpdate(custCode){ function SelectServiceGroupUpdate(custCode) {
var html1 = ''; var html1 = '';
$.ajax({ $.ajax({
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/userAdmin/service/select'/>" + "?custCode="+custCode, url: '/admin/common/system/userAdmin/service/select' + "?custCode=" + custCode,
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -425,7 +422,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/doubleCheck'/>" + "?userId=" + userId, url: '/admin/common/system/user/doubleCheck' + "?userId=" + userId,
success: function (data) { success: function (data) {
// console.log(data); // console.log(data);
if (data == "Y") { if (data == "Y") {
@ -455,11 +452,10 @@
var reg = /(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$/; var reg = /(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$/;
if(text2.length > 7){ if (text2.length > 7) {
if (text1 === text2) { if (text1 === text2) {
$('#passDoubleCheckUi').html(htmlY) $('#passDoubleCheckUi').html(htmlY)
} } else {
else {
$('#passDoubleCheckUi').html(htmlN) $('#passDoubleCheckUi').html(htmlN)
} }
} }
@ -467,19 +463,15 @@
if (text1.length < 10 || text1.length > 20) { if (text1.length < 10 || text1.length > 20) {
$('#passCheckUi').html(htmlN) $('#passCheckUi').html(htmlN)
return; return;
} } else if (text1.search(/\s/) != -1) {
else if (text1.search(/\s/) != -1) {
$('#passCheckUi').html(htmlN) $('#passCheckUi').html(htmlN)
return false; return false;
} } else if (false === reg.test(text1)) {
else if (false === reg.test(text1)) {
$('#passCheckUi').html(regDesc) $('#passCheckUi').html(regDesc)
return false; return false;
} } else if ($('#newUserPassDoubleChkVal').val() == "Y") {
else if ($('#newUserPassDoubleChkVal').val() == "Y") {
newUserDoublePassCheck() newUserDoublePassCheck()
} } else {
else {
$('#passCheckUi').html(htmlY) $('#passCheckUi').html(htmlY)
return true; return true;
} }
@ -641,7 +633,6 @@
<td> <td>
<div class="sel_box"> <div class="sel_box">
<select class="wide" id="newUserRoleVal"> <select class="wide" id="newUserRoleVal">
<%-- <option value="USER">일반사용자</option>--%>
<option value="USERADMIN">운영자</option> <option value="USERADMIN">운영자</option>
</select> </select>
</div> </div>
@ -701,13 +692,6 @@
</td> </td>
</tr> </tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span> </span>
</tbody> </tbody>
</table> </table>
@ -729,6 +713,5 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>운영자관리</title> <title>운영자관리</title>
@ -70,7 +67,7 @@
datatype: "JSON", datatype: "JSON",
async: false, async: false,
data: data, data: data,
url: "<c:url value='/admin/common/system/user/chk/reset'/>", url: '/admin/common/system/user/chk/reset',
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
var result = data.status; var result = data.status;
@ -179,7 +176,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/update'/>", url: '/admin/common/system/user/update',
data: JSON.stringify(json) data: JSON.stringify(json)
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
@ -203,7 +200,7 @@
function listgo() { function listgo() {
// document.location.href = "/BotMain_VM/admin/common/system/user/manage.do"; // document.location.href = "/BotMain_VM/admin/common/system/user/manage.do";
document.location.href = "<c:url value='/admin/common/system/userAdmin/manage.do'/>"; document.location.href = '/view/admin/common/system/userAdmin/manage.do';
} }
function getQueryString() { function getQueryString() {
@ -218,7 +215,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/viewData'/>" + "?userSeq=" + getQueryString(), url: '/admin/common/system/user/viewData' + "?userSeq=" + getQueryString(),
success: function (data) { success: function (data) {
// console.log("getData---"); // console.log("getData---");
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
@ -248,7 +245,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>" + "?serviceType=M", url: '/adm/menu/oprmng' + "?serviceType=M",
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -281,7 +278,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + serviceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + serviceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html3 html3
@ -463,7 +460,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + servoceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + servoceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html1 html1
@ -604,7 +601,9 @@
<td> <td>
<div class="sel_box"> <div class="sel_box">
<select class="wide" id="updateRoleVal"> <select class="wide" id="updateRoleVal">
<%-- <option value="USER">일반사용자</option>--%> <%--
<option value="USER">일반사용자</option>
--%>
<option value="USERADMIN">운영자</option> <option value="USERADMIN">운영자</option>
</select> </select>
</div> </div>
@ -663,13 +662,6 @@
</td> </td>
</tr> </tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span> </span>
</tbody> </tbody>
</table> </table>
@ -691,6 +683,5 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>사용자관리</title> <title>사용자관리</title>
@ -89,7 +86,7 @@
function listgo() { function listgo() {
// document.location.href = "/BotMain_VM/admin/common/system/user/manage.do"; // 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 = '/view/admin/common/system/user/manage.do';
} }
function delBtn() { function delBtn() {
@ -194,7 +191,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/save'/>", url: '/admin/common/system/user/save',
data: JSON.stringify(json) data: JSON.stringify(json)
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
@ -235,7 +232,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + serviceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + serviceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html3 html3
@ -326,7 +323,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + servoceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + servoceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html1 html1
@ -355,7 +352,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/adm/menu/oprmng'/>" url: '/adm/menu/oprmng'
// + "?serviceType=S" // + "?serviceType=S"
, ,
success: function (data) { success: function (data) {
@ -378,7 +375,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/cust/select'/>", url: '/admin/common/system/user/cust/select',
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
@ -405,7 +402,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/service/select'/>" + "?custCode=" + custCode, url: '/admin/common/system/user/service/select' + "?custCode=" + custCode,
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
data.forEach(function (e, f) { data.forEach(function (e, f) {
@ -439,7 +436,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/doubleCheck'/>" + "?userId=" + userId, url: '/admin/common/system/user/doubleCheck' + "?userId=" + userId,
success: function (data) { success: function (data) {
// console.log(data); // console.log(data);
if (data == "Y") { if (data == "Y") {
@ -740,13 +737,6 @@
</td> </td>
</tr> </tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span> </span>
</tbody> </tbody>
</table> </table>
@ -768,6 +758,5 @@
</body> </body>
</html>

@ -1,6 +1,3 @@
<html xmlns:th="http://www.thymeleaf.org">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8">
<title>사용자관리</title> <title>사용자관리</title>
@ -48,7 +45,7 @@
function listgo() { function listgo() {
// document.location.href = "/BotMain_VM/admin/common/system/user/manage.do"; // 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';
} }
//서비스그룹 추가 -> 적용버튼 //서비스그룹 추가 -> 적용버튼
@ -77,14 +74,14 @@
}); });
function getUv(){ function getUv() {
$.ajax({ $.ajax({
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
data: data, data: data,
url: "<c:url value='/admin/common/system/user/chk/reset'/>", url: '/admin/common/system/user/chk/reset',
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
var result = data.status; var result = data.status;
@ -106,7 +103,7 @@
datatype: "JSON", datatype: "JSON",
async: false, async: false,
data: data, data: data,
url: "<c:url value='/admin/common/system/user/chk/reset'/>", url: '/admin/common/system/user/chk/reset',
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
var result = data.status; var result = data.status;
@ -123,7 +120,6 @@
} }
function saveBtn() { function saveBtn() {
var userSeq = $('#updateUserSeq').val(); var userSeq = $('#updateUserSeq').val();
@ -182,7 +178,7 @@
$.utils.warning("비밀번호가 일치하지 않습니다."); $.utils.warning("비밀번호가 일치하지 않습니다.");
return; return;
} }
if(userPass.length > 0){ if (userPass.length > 0) {
var reg = /(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,15}$/; var reg = /(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,15}$/;
if (false === reg.test(userPass)) { if (false === reg.test(userPass)) {
$.utils.warning("비밀번호를 확인해주세요."); $.utils.warning("비밀번호를 확인해주세요.");
@ -211,7 +207,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/update'/>", url: '/admin/common/system/user/update',
data: JSON.stringify(json) data: JSON.stringify(json)
}).complete(function (data) { }).complete(function (data) {
// console.log(data.status); // console.log(data.status);
@ -220,7 +216,7 @@
// alert("성공하였습니다. 리스트로 돌아갑니다.") // alert("성공하였습니다. 리스트로 돌아갑니다.")
$.utils.success("성공하였습니다. 리스트로 돌아갑니다."); $.utils.success("성공하였습니다. 리스트로 돌아갑니다.");
// $.utils.warning("1글자 이상 입력해주세요."); // $.utils.warning("1글자 이상 입력해주세요.");
document.location.href = "<c:url value='/admin/common/system/user/manage.do'/>"; document.location.href = '/view/admin/common/system/user/manage.do';
} else { } else {
// alert("실패하였습니다.") // alert("실패하였습니다.")
$.utils.warning("실패하였습니다."); $.utils.warning("실패하였습니다.");
@ -229,7 +225,6 @@
} }
function getQueryString() { function getQueryString() {
var param = new URLSearchParams(location.search).get("userSeq"); var param = new URLSearchParams(location.search).get("userSeq");
// console.log(param) // console.log(param)
@ -242,7 +237,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/viewData'/>" + "?userSeq=" + getQueryString(), url: '/admin/common/system/user/viewData' + "?userSeq=" + getQueryString(),
success: function (data) { success: function (data) {
// console.log("getData---"); // console.log("getData---");
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
@ -250,7 +245,7 @@
$('#updateUserId').val(data.userId); $('#updateUserId').val(data.userId);
$('#updateUserName').val(data.userName); $('#updateUserName').val(data.userName);
$('#updateMobile').val(data.mobileNo); $('#updateMobile').val(data.mobileNo);
$('#updateUseYn').val(data.useYn).prop('selected',true); $('#updateUseYn').val(data.useYn).prop('selected', true);
$('#updateLoginCheck').val(data.loginCheck); $('#updateLoginCheck').val(data.loginCheck);
$('#updateEmail').val(data.email); $('#updateEmail').val(data.email);
var role = data.roleVal; var role = data.roleVal;
@ -272,8 +267,8 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/adm/menu/oprmng'/>" url: '/adm/menu/oprmng'
// +"?serviceType=S" // +"?serviceType=S"
, ,
success: function (data) { success: function (data) {
// console.log(JSON.stringify(data)); // console.log(JSON.stringify(data));
@ -309,7 +304,7 @@
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
async: false, async: false,
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + serviceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + serviceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html3 html3
@ -491,7 +486,7 @@
type: "GET", type: "GET",
contentType: "application/json; charset=utf-8", contentType: "application/json; charset=utf-8",
datatype: "JSON", datatype: "JSON",
url: "<c:url value='/admin/common/system/user/authlist'/>" + "?serviceGroup=" + servoceGroup, url: '/admin/common/system/user/authlist' + "?serviceGroup=" + servoceGroup,
success: function (data) { success: function (data) {
data.forEach(function (e, i) { data.forEach(function (e, i) {
html1 html1
@ -690,13 +685,6 @@
</td> </td>
</tr> </tr>
<%-- <tr>--%>
<%-- <th class="tl">권한선택</th>--%>
<%-- <td>--%>
<%-- <ul class="list-user-group-box-ul" id="newAuthChk">--%>
<%-- </ul>--%>
<%-- </td>--%>
<%-- </tr>--%>
</span> </span>
</tbody> </tbody>
</table> </table>
@ -718,6 +706,5 @@
</body> </body>
</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>

@ -3,17 +3,16 @@
<!-- Footer --> <!-- Footer -->
<th:block th:fragment="footerFragment"> <th:block th:fragment="footerFragment">
<div class="footer row gray-bg" style="">
<div class="col-lg-12"> <script>
<div class="p-sm"> $(document).ready(function () {
<div class="pull-right"> lnbEvt();
<!-- 10GB of <strong>250GB</strong> Free. --> currentPage();
</div> modalUi();
<div> fileupload();
</div> tabUi();
</div> })
</div> </script>
</div>
</th:block> </th:block>
</html> </html>

@ -1,16 +1,8 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"> <html lang="ko" xmlns:th="http://www.thymeleaf.org">
<th:block th:fragment="sidebarFragment">
<script type=text/javascript> <th:block th:fragment="sidebarFragment">
</script>
<style>
header + article {
z-index: 0;
}
</style>
<article> <article>
<div class="lnb_menu_btn_area open"> <div class="lnb_menu_btn_area open">
<a href="#" class="lnb_menu_menu"> <a href="#" class="lnb_menu_menu">
@ -22,64 +14,80 @@
</a> </a>
</div> </div>
<nav> <nav>
<ul class="lnb"> <ul class="lnb" id="menuSeq1">
<!-- <c:choose>-->
<!-- <c:when test="${empty list_menulist }">-->
<!-- <li>Refresh</li>-->
<!-- </ul>-->
<!-- </c:when>-->
<!-- <c:otherwise>-->
<!-- <c:forEach var="result" items="${list_menulist}" varStatus="status">-->
<!-- <c:choose>-->
<!-- <c:when test="${result.level eq '2'}">-->
<!-- <li>-->
<!-- <a href="#"><c:out value="${result.menuName}"/></a>-->
<!-- <ul class="depth<c:out value="${result.level}"/>">-->
<!-- </c:when>-->
<!-- <c:when test="${result.level eq '3'}">-->
<!-- <c:choose>-->
<!-- <c:when test="${result.level >= result.nextLevel}">-->
<!-- <li>-->
<!-- <a href="${pageContext.request.contextPath}<c:out value="${result.url}" />"><span><c:out-->
<!-- value="${result.menuName}"/></span></a>-->
<!-- </li>-->
<!-- </c:when>-->
<!-- <c:when test="${result.nextLevel eq '4'}">-->
<!-- <li>-->
<!-- <a href="#"><c:out value="${result.menuName}"/></a>-->
<!-- <ul class="depth<c:out value="${result.level}"/>">-->
<!-- </c:when>-->
<!-- </c:choose>-->
<!-- <c:if test="${result.nextLevel eq '2'}">-->
<!-- </ul>-->
<!-- </li>-->
<!-- </c:if>-->
<!-- </c:when>-->
<!-- <c:when test="${result.level eq '4'}">-->
<!-- <li>-->
<!-- <a href="${pageContext.request.contextPath}<c:out value="${result.url}" />"><span><c:out-->
<!-- value="${result.menuName}"/></span></a>-->
<!-- </li>-->
<!-- <c:if test="${empty result.nextLevel or result.nextLevel eq '2'}">-->
<!-- </ul>-->
<!-- </li>-->
<!-- </ul>-->
<!-- </li>-->
<!-- </c:if>-->
<!-- <c:if test="${result.nextLevel eq '3'}">-->
<!-- </ul>-->
<!-- </li>-->
<!-- </c:if>-->
<!-- </c:when>-->
<!-- </c:choose>-->
<!-- </c:forEach>-->
<!-- </c:otherwise>-->
<!-- </c:choose>-->
</ul> </ul>
</nav> </nav>
</article> </article>
<script type=text/javascript>
$(document).ready(function () {
GetAuth();
PageControll('/admin/common/dashboard/manage.do');
}).off(lnbEvt())
function GetAuth() {
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "JSON",
async: false,
url: '/rest/test5',
success: function (data) {
data.forEach(function (e, i) {
var addMenu = '';
if (!(e.level == '0' || e.level == '1') && !$("#menuSeq" + e.seq).length > 0) {
var menuUrl = "#";
if (e.url != '0') {
menuUrl = e.url;
}
addMenu += '<li>'
//+ '<a href=' + menuUrl + '>'
+ '<a value=' + menuUrl + '>'
// + '<a href="'+'javascript:PageControll('+ menuUrl +')">'
+ '<span>'
+ e.menuName + '</span></a>'
+ '<ul class="depth' + e.level + '" id="menuSeq' + e.seq + '">'
+ '</ul>'
+ '</li>'
$('#menuSeq' + e.seqUpper).append(addMenu);
}
})
$(".lnb").on("click", "a", function() {
PageControll($(this).attr("value"));
});
}
})
};
function PageControll(e) {
if (e == '#') {
return;
}
var redi = '';
if (e == "" || e == null) {
redi = '/admin/common/dashboard/manage.do'
} else {
redi = e;
}
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
datatype: "HTML",
async: false,
url: redi,
success: function (data) {
$('#pageControll').html(data);
}
});
}
</script>
<script th:src="@{/lib/assets/js/scripts.js}"></script>
</th:block> </th:block>
</html> </html>

@ -3,6 +3,6 @@
<th:block th:replace="layout/fragments/head :: headFragment"></th:block> <th:block th:replace="layout/fragments/head :: headFragment"></th:block>
<th:block th:replace="layout/fragments/sidebar :: sidebarFragment"></th:block> <th:block th:replace="layout/fragments/sidebar :: sidebarFragment"></th:block>
<!-- <th:block th:replace="layout/fragments/top :: topbarFragment"></th:block>--> <!-- <th:block th:replace="layout/fragments/top :: topbarFragment"></th:block>-->
<th:block layout:fragment="content"></th:block> <th:block layout:fragment="content"></th:block>
<!-- <th:block th:replace="layout/fragments/footer :: footerFragment"></th:block>--> <!--<th:block th:replace="layout/fragments/footer :: footerFragment"></th:block>-->
</html> </html>

@ -0,0 +1,9 @@
<!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">
<div id="pageControll">
</div>
</th:block>
</html>

@ -140,8 +140,9 @@
}) })
.complete(function (data) { .complete(function (data) {
if (data.status == 200) { if (data.status == 200) {
console.log(data);
document.cookie = 'accessToken=' + data.responseText + '; path=/;'; document.cookie = 'accessToken=' + data.responseText + '; path=/;';
console.log("cookie ="+document.cookie)
document.signinInfoForm.action = '/adm/main/actionSecurityLogin.do'; document.signinInfoForm.action = '/adm/main/actionSecurityLogin.do';
document.signinInfoForm.submit(); document.signinInfoForm.submit();
} else if (data.status == 400) { } else if (data.status == 400) {

Loading…
Cancel
Save