2022-10-12 14:06

This commit is contained in:
myname 2022-10-12 14:06:52 +09:00
parent 7ab0b7e84c
commit a1c3d2d0ce
2 changed files with 144 additions and 12 deletions

View File

@ -67,7 +67,7 @@
"types" : {
"#" : {
/* "max_children" : 4, */
"max_depth" : 40,
"max_depth" : 10,
"valid_children" : ["root"]
},
"root" : {
@ -107,6 +107,16 @@
//alert("select_node1");
if (data.node.parents.length<2){
$("table.tbType02").hide();
$("div.btn_layout01").hide();
}else if (data.node.parents.length==2){
$("table.tbType02").show();
$("div.btn_layout01").show();
}
/* 코드 선택 */
var menuNo = data.node.id;
var upperMenuId = data.node.parent;
@ -167,7 +177,7 @@
});
})
.on('rename_node.jstree', function (e, data) { //코드명 변경
alert("rename");
//alert("rename");
var nodeId = data.node.id;
var oldText = data.old;
var newText = data.text;
@ -183,7 +193,7 @@
if (confirm("코드명을 변경하시겠습니까?" )) {
$.ajax({
type:"POST",
url:"<c:url value='/sym/ccm/ccc/EgovCcmCmmnInfoNmUpdateAjax.do' />",
url:"<c:url value='/uss/rnt/EgovRankDataUpdateNmJtreeAjax.do' />", //url:"<c:url value='/sym/ccm/ccc/EgovCcmCmmnInfoNmUpdateAjax.do' />",
data:{ "menuNo" : nodeId, "upperMenuId" : upperMenuId, "menuNm" : newText , "nodeDepth" : data.node.parents.length },
dataType:'json',
success : function(returnData, status) {
@ -208,8 +218,14 @@
})
.on('delete_node.jstree', function (e, data) {
alert("delete");
//alert("delete");
var upperMenuId = data.node.parent;
modiNodeId = upperMenuId;
fn_delete_menuInfo(data);
/* 코드 삭제 */
/*
var upperMenuId = data.node.parent;
if(data.node.parents.length == 1){
alert("최상위 공통코드는 삭제할수 없습니다.");
@ -245,11 +261,12 @@
}
}
}
*/
})
.on('create_node.jstree', function(e, data) {
//alert(data.node.parents.length);
if (data.node.parents.length >= 40) {
if (data.node.parents.length >= 10) {
alert("더 이상 하위 코드를 생성할수 없습니다.");
data.instance.refresh();
}else{
@ -278,6 +295,8 @@
alert("코드가 추가 되었습니다.");
//fn_select_menuNo(returnData.menuManageVO, returnData.menuManageVO.menuUserType);
newNodeId = returnData.newMenuNo ; //코드추가후 노드선택
modiNodeId = returnData.newMenuNo ; //코드추가후 노드선택
//alert(returnData.newMenuNo);
}else if(returnData.status == "dupl"){
alert("중복된 아이디가 있습니다.\n 중복된 아이디변경/삭제후 다시 추가해 주세요\n"+ "("+returnData.menuManageVO.codeNm+")");
return;
@ -343,7 +362,7 @@
})
.on("refresh.jstree", function (e,data) {
alert("refresh.jstree");
//alert("refresh.jstree");
if(modiNodeId !=""){
$('#'+data.instance.get_node(modiNodeId).a_attr.id).trigger("click");
@ -375,6 +394,123 @@
//alert("select_node7");
}
//코드 정보 삭제
function fn_delete_menuInfo() {
//alert($('#menuNo').val());
var p_menuNo = $('#menuNo').val();
if(p_menuNo == null || "undefined"== p_menuNo){
alert("삭제 하려는 코드를 먼저 선택해주세요.");
return ;
}
var menuForm = document.menuForm;
if(""==menuForm.menuNo.value){
alert("코드는 필수 값입니다"); return false;
}
var instance = $('#kopost_organization').jstree(true);
modiNodeId = $('#upperMenuId').val();
if (confirm("코드를 삭제 하시겠습니까?")){
$.ajax({
type:"POST",
"url" : "<c:url value='/uss/rnt/EgovRankDataDeketeJtreeAjax.do'/>",
data:{ "menuNo" : p_menuNo, "upperMenuId" : $('#upperMenuId').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (returnData.status == "success") {
//코드 목록 갱신
var instance = $('#kopost_organization').jstree(true);
alert("코드 정보가 삭제 되었습니다.");
$("#kopost_organization").jstree("refresh");
jstreeInit();
} else if(returnData.status == "duplPk"){
alert("삭제하려는 코드를 참조하고 있는 코드가 있습니다.\n 참조하는 코드를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
return;
}
else {
alert("코드 삭제가 실패되었습니다.");
return;
}
},
error : function(request , status, error) {
alert("코드 삭제가 실패되었습니다..");
},
complete : function () {
$("#kopost_organization").jstree("refresh");
}
});
}
}
//코드 정보 저장. 등록/수정
function fn_save_menuInfo(menuNo) {
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?.]/gi;
if(special_pattern.test(document.menuForm.menuNo.value) == true){
alert("코드 코드는 특수문자를 쓸수 없습니다.") ;
return;
}
var p_menuNo = $('#menuNo').val();
if(p_menuNo == null || "undefined"== p_menuNo){
alert("저장 하려는 코드를 먼저 코드트리에서 생성해 주세요."); return ;
}
var menuForm = document.menuForm;
if(""==menuForm.menuNo.value){
alert("코드는 필수 값입니다"); return false;
}
if(""==menuForm.menuDc.value){
alert("코드 설명은 필수 값입니다"); return false;
}
var url = "";
url = "<c:url value='/uss/rnt/EgovRankDataUpdateJtreeAjax.do'/>";
var params = $(menuForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
async: false,
success : function(returnData, status) {
if (returnData.status == "success") {
alert("코드 정보가 저장되었습니다.");
//modiNodeId = $('#menuNo').val();
modiNodeId = returnData.newMenuNo;
} else if(returnData.status == "upperDupl"){
alert("상위 코드 번호가 있습니다.");
return;
}else if(returnData.status == "dupl"){
alert("이미 사용하고 있는 코드 번호가 있습니다.");
return;
}else if(returnData.status == "duplProNm"){
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
return;
}else{
alert("코드 정보 저장이 실패되었습니다."); return;
}
},
error : function(request , status, error) {
alert("코드 정보 저장이 실패되었습니다.");
},
complete : function () {
$("#kopost_organization").jstree("refresh");
}
});
}

View File

@ -107,7 +107,6 @@
//alert("select_node1");
//alert(data.node.parents.length);
if (data.node.parents.length<2){
$("table.tbType02").hide();
@ -221,10 +220,8 @@
//alert("delete");
var upperMenuId = data.node.parent;
modiNodeId = upperMenuId;
var upperMenuId = data.node.parent;
modiNodeId = upperMenuId;
fn_delete_menuInfo(data);
/* 코드 삭제 */
@ -518,7 +515,6 @@
// 초기 데이터 만드는 function
function fn_makeList(data){
console.log(' makeList data : ', data);