3257 lines
92 KiB
JavaScript
3257 lines
92 KiB
JavaScript
/**
|
|
* 쓰세염 java.util.map 동일해욤
|
|
|
|
*/
|
|
|
|
jQuery.fn.serializeObject = function() {
|
|
|
|
var obj = null;
|
|
|
|
try {
|
|
|
|
// this[0].tagName이 form tag일 경우
|
|
|
|
if(this[0].tagName && this[0].tagName.toUpperCase() == "FORM" ) {
|
|
|
|
var arr = this.serializeArray();
|
|
|
|
if(arr){
|
|
|
|
obj = {};
|
|
|
|
jQuery.each(arr, function() {
|
|
|
|
// obj의 key값은 arr의 name, obj의 value는 value값
|
|
|
|
obj[this.name] = this.value;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}catch(e) {
|
|
|
|
Swal.fire(e.message);
|
|
|
|
}finally {}
|
|
|
|
return obj;
|
|
|
|
};
|
|
|
|
Map = function(){
|
|
this.map = new Object();
|
|
};
|
|
Map.prototype = {
|
|
put : function(key, value){
|
|
this.map[key] = value;
|
|
},
|
|
get : function(key){
|
|
return this.map[key];
|
|
},
|
|
containsKey : function(key){
|
|
return key in this.map;
|
|
},
|
|
containsValue : function(value){
|
|
for(var prop in this.map){
|
|
if(this.map[prop] == value) return true;
|
|
}
|
|
return false;
|
|
},
|
|
isEmpty : function(key){
|
|
return (this.size() == 0);
|
|
},
|
|
clear : function(){
|
|
for(var prop in this.map){
|
|
delete this.map[prop];
|
|
}
|
|
},
|
|
remove : function(key){
|
|
delete this.map[key];
|
|
},
|
|
keys : function(){
|
|
var keys = new Array();
|
|
for(var prop in this.map){
|
|
keys.push(prop);
|
|
}
|
|
return keys;
|
|
},
|
|
values : function(){
|
|
var values = new Array();
|
|
for(var prop in this.map){
|
|
values.push(this.map[prop]);
|
|
}
|
|
return values;
|
|
},
|
|
size : function(){
|
|
var count = 0;
|
|
for (var prop in this.map) {
|
|
count++;
|
|
}
|
|
return count;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* 입력부의 유효성을 검사한다.
|
|
* 1. 유효성 검사 필요한 부분은 required를 추가한다.
|
|
* 2. 입력부에 type이 없는 경우 (ex. select box의 경우 type="select"를 추가하여준다.)
|
|
* 3. 입력 필요한 부분은 title을 추가하여 alert 출력 시 사용 할 수 있도록한다.
|
|
*/
|
|
function fnc_valitate(targetName){
|
|
if(0 < $("#"+targetName).length){
|
|
var targetSize = $("#"+targetName).find("[required]").size();
|
|
|
|
if(0 < targetSize){
|
|
for(var i=0;i<targetSize;i++){
|
|
var inputType = $("[required]:eq("+i+")").attr("type");
|
|
var validateReqTitle = $("[required]:eq("+i+")").attr("reqTitle");
|
|
var validateTitle = $("[required]:eq("+i+")").attr("title");
|
|
|
|
var alertTitle = "";
|
|
|
|
if("" == validateReqTitle || null == validateReqTitle){
|
|
alertTitle = "내용";
|
|
}else{
|
|
alertTitle = validateReqTitle;
|
|
}
|
|
if("내용" == alertTitle){
|
|
if("" == validateTitle || null == validateTitle){
|
|
alertTitle = "내용";
|
|
}else{
|
|
alertTitle = validateTitle;
|
|
}
|
|
}
|
|
|
|
if(inputType == "text" || inputType == "select" || inputType == "number" || inputType == "textarea"){
|
|
if(fnc_isEmpty($.trim($("[required]:eq("+i+")").val()))){
|
|
if("text" == inputType || "textarea" == inputType){
|
|
Swal.fire("입력된 "+alertTitle+"이/가 없습니다.");
|
|
}else if("number" == inputType){
|
|
Swal.fire("입력된 "+alertTitle+"이/가 없습니다.");
|
|
}else if("select" == inputType){
|
|
Swal.fire("선택된 "+alertTitle+"이/가 없습니다.");
|
|
}
|
|
$("[required]:eq("+i+")").focus();
|
|
return false;
|
|
}
|
|
}else if(inputType == "radio"){
|
|
if(!$("input:radio[name="+$("[required]:eq("+i+")").attr("name")+"]").is(':checked')){
|
|
Swal.fire("선택된 "+alertTitle+"이/가 없습니다.");
|
|
return false;
|
|
}
|
|
|
|
|
|
}else if(inputType == "checkbox"){
|
|
if(!$("input:checkbox[name="+$("[required]:eq("+i+")").attr("name")+"]").is(':checked')){
|
|
Swal.fire("선택된 "+alertTitle+"이/가 없습니다.");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function fnc_validate2(targetName){
|
|
if(0 < $("#"+targetName).length){
|
|
var targetSize = $("#"+targetName).find("[required]").size();
|
|
|
|
if(0 < targetSize){
|
|
for(var i=0;i<targetSize;i++){
|
|
var inputType = $("[required]:eq("+i+")").attr("type");
|
|
var validateReqTitle = $("[required]:eq("+i+")").attr("reqTitle");
|
|
var validateTitle = $("[required]:eq("+i+")").attr("title");
|
|
|
|
var alertTitle = "";
|
|
|
|
if("" == validateReqTitle || null == validateReqTitle){
|
|
alertTitle = "내용";
|
|
}else{
|
|
alertTitle = validateReqTitle;
|
|
}
|
|
if("내용" == alertTitle){
|
|
if("" == validateTitle || null == validateTitle){
|
|
alertTitle = "내용";
|
|
}else{
|
|
alertTitle = validateTitle;
|
|
}
|
|
}
|
|
|
|
if(inputType == "text" || inputType == "select" || inputType == "number" || inputType == "textarea"){
|
|
if("" == $("[required]:eq("+i+")").val()){
|
|
if("text" == inputType || "textarea" == inputType){
|
|
alert("입력된 "+alertTitle+"이/가 없습니다.");
|
|
}else if("number" == inputType){
|
|
alert("입력된 "+alertTitle+"이/가 없습니다.");
|
|
}else if("select" == inputType){
|
|
alert("선택된 "+alertTitle+"이/가 없습니다.");
|
|
}
|
|
$("[required]:eq("+i+")").focus();
|
|
return false;
|
|
}
|
|
}else if(inputType == "radio"){
|
|
if(!$("input:radio[name="+$("[required]:eq("+i+")").attr("name")+"]").is(':checked')){
|
|
alert("선택된 "+alertTitle+"이/가 없습니다.");
|
|
return false;
|
|
}
|
|
|
|
|
|
}else if(inputType == "checkbox"){
|
|
if(!$("input:checkbox[name="+$("[required]:eq("+i+")").attr("name")+"]").is(':checked')){
|
|
alert("선택된 "+alertTitle+"이/가 없습니다.");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
|
|
function fnc_validate(targetName){
|
|
return fnc_valitate(targetName);
|
|
}
|
|
|
|
function fnc_datepick(){
|
|
var $dateinput = $("input");
|
|
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
var id = $dateinput.eq(i).attr("id");
|
|
|
|
if(id != null){
|
|
if(id.indexOf("Date")>-1 || id.indexOf("date")>-1 || id.indexOf("DATE")>-1){
|
|
$dateinput.eq(i).attr("size","10");
|
|
$dateinput.eq(i).datepicker({
|
|
changeMonth:true,
|
|
changeYear:true
|
|
});
|
|
}else{
|
|
$dateinput.eq(i).attr("size","10");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//name 대상
|
|
function fnc_datepick2(){
|
|
$("input").each(function(){
|
|
var name = $(this).attr("name");
|
|
if(name != null){
|
|
if(name.indexOf("Date")>-1 || name.indexOf("date")>-1 || name.indexOf("DATE")>-1 || name.indexOf("_DT")>-1 || name.indexOf("_dt")>-1){
|
|
$(this).attr("size","10");
|
|
$(this).datepicker({
|
|
changeMonth:true,
|
|
changeYear:true
|
|
});
|
|
}else{
|
|
$(this).attr("size","10");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
/*function fnc_datepick(startDateId,endDateId){
|
|
$("#"+endDateId).datepicker({
|
|
numberOfMonths:1,
|
|
onSelect:function(selectDate){
|
|
var dt = new Date(selectDate);
|
|
dt.setDate(dt.getDate()-1);
|
|
$("#"+startDateId).datepicker("option","maxDate",dt);
|
|
}
|
|
});
|
|
|
|
$("#"+startDateId).datepicker({
|
|
numberOfMonths:1,
|
|
onSelect:function(selectDate){
|
|
var dt = new Date(selectDate);
|
|
dt.setDate(dt.getDate()+1);
|
|
$("#"+endDateId).datepicker("option","minDate",dt);
|
|
}
|
|
});
|
|
}*/
|
|
|
|
function fnc_monthpick(){
|
|
var $dateinput = $("input");
|
|
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
var id = $dateinput.eq(i).attr("id");
|
|
|
|
if(id != null){
|
|
if(id.indexOf("Month")>-1){
|
|
$dateinput.eq(i).attr("size","7");
|
|
$dateinput.eq(i).monthpicker({
|
|
pattern:'yyyy-mm',
|
|
selectedYear:2018,
|
|
finalYear:2020,
|
|
monthNames:['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월',]
|
|
});
|
|
}else{
|
|
$dateinput.eq(i).attr("size","7");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function fnc_monthpick2(){
|
|
var $dateinput = $("input");
|
|
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
var id = $dateinput.eq(i).attr("id");
|
|
|
|
if(id != null){
|
|
if(id.indexOf("Month")>-1 || id.indexOf("month")>-1){
|
|
$dateinput.eq(i).attr("size","7");
|
|
$dateinput.eq(i).monthpicker({
|
|
pattern:'mm',
|
|
monthNames:['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월',]
|
|
});
|
|
}else{
|
|
$dateinput.eq(i).attr("size","7");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//datepicker() 적용 기준을 name으로 조회한다.
|
|
function fnc_datepickForName(){
|
|
var $dateinput = $("input");
|
|
|
|
for(var i=0; i<$dateinput.length; i++){
|
|
var name = $dateinput.eq(i).attr("name");
|
|
|
|
if(name != null){
|
|
if(name.indexOf("Date")>-1 || name.indexOf("date")>-1 || name.indexOf("DATE")>-1){
|
|
$dateinput.eq(i).attr("size","10");
|
|
$dateinput.eq(i).datepicker({
|
|
changeMonth:true,
|
|
changeYear:true
|
|
});
|
|
}else{
|
|
$dateinput.eq(i).attr("size","10");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*페이지 이동 script start*/
|
|
function fnc_goPrev(prevPage) {
|
|
if(document.form1.page) document.form1.page.value = prevPage;
|
|
if(document.form1.PAGE_T) document.form1.PAGE_T.value = prevPage; //tabulator용
|
|
if(document.form1.actionType) document.form1.actionType.value = "";
|
|
fn_search();
|
|
}
|
|
|
|
function fnc_goNext(nextPage) {
|
|
if(document.form1.page) document.form1.page.value = nextPage;
|
|
if(document.form1.PAGE_T) document.form1.PAGE_T.value = nextPage; //tabulator용
|
|
if(document.form1.actionType) document.form1.actionType.value = "";
|
|
fn_search();
|
|
}
|
|
|
|
function fnc_goStart() {
|
|
if(document.form1.page) document.form1.page.value = "1";
|
|
if(document.form1.PAGE_T) document.form1.PAGE_T.value = "1"; //tabulator용
|
|
if(document.form1.actionType) document.form1.actionType.value = "";
|
|
fn_search();
|
|
}
|
|
|
|
function fnc_goEnd(maxPage) {
|
|
if(document.form1.page) document.form1.page.value = maxPage;
|
|
if(document.form1.PAGE_T) document.form1.PAGE_T.value = maxPage; //tabulator용
|
|
if(document.form1.actionType) document.form1.actionType.value = "";
|
|
fn_search();
|
|
}
|
|
function fnc_goPage(i) {
|
|
if(document.form1.page) document.form1.page.value = i;
|
|
if(document.form1.PAGE_T) document.form1.PAGE_T.value = i; //tabulator용
|
|
if(document.form1.actionType) document.form1.actionType.value = "";
|
|
fn_search();
|
|
}
|
|
/*페이지 이동 script end*/
|
|
|
|
function getMonthDiff(startDate, endDate) {
|
|
var date1 = new Date(startDate);
|
|
var date2 = new Date(endDate);
|
|
var months;
|
|
months = (date2.getFullYear() - date1.getFullYear()) * 12;
|
|
months -= date1.getMonth();
|
|
months += date2.getMonth();
|
|
return months <= 0 ? 0 : months;
|
|
}
|
|
function fnc_getDate(delimiter){
|
|
var today = new Date();
|
|
|
|
// 년, 월, 일 추출
|
|
var year = today.getFullYear(); // 년도
|
|
var month = today.getMonth() + 1; // 월 (0부터 시작하므로 1을 더함)
|
|
var day = today.getDate(); // 일
|
|
|
|
// 월과 일이 한 자리 숫자인 경우 앞에 0 추가
|
|
month = (month < 10 ? '0' : '') + month;
|
|
day = (day < 10 ? '0' : '') + day;
|
|
|
|
if(fnc_isEmpty(delimiter)){
|
|
//delimiter = '-';
|
|
delimiter = '';
|
|
}
|
|
|
|
// 오늘 날짜 문자열 생성 (형식: yyyy-mm-dd)
|
|
var todayStr = year + delimiter + month + delimiter + day;
|
|
|
|
//console.log(todayStr); // 오늘 날짜 출력
|
|
return todayStr;
|
|
}
|
|
|
|
|
|
//날짜 입력형태 점검
|
|
function fnc_dateFormChk(fromDate,toDate){
|
|
|
|
var fromDate = fromDate.replace('-');
|
|
var toDate = toDate.replace('-');
|
|
|
|
if(fromDate != '' && toDate != ''){
|
|
if(fromDate > toDate){
|
|
Swal.fire("날짜 입력이 올바르지 않습니다.");
|
|
return false;
|
|
}else{
|
|
return true;
|
|
}
|
|
}else{
|
|
return true;
|
|
}
|
|
}
|
|
|
|
//날짜 입력폼 초기화
|
|
function fnc_date_empty(){
|
|
$('#search_fromDate').val('');
|
|
$('#search_toDate').val('');
|
|
}
|
|
|
|
//fromDate와 toDate간 날짜체크 (false : 종료일이 시작이보다 앞섬, true : 통과)
|
|
function fnc_dateCheck(fromDate, toDate){
|
|
fromDate = fnc_checkNull(fromDate);
|
|
toDate = fnc_checkNull(toDate);
|
|
|
|
if(fromDate != "" && toDate != ""){
|
|
var startDateArr = fromDate.split('-');
|
|
var endDateArr = toDate.split('-');
|
|
|
|
var startDateCompare = new Date(startDateArr[0], parseInt(startDateArr[1])-1, startDateArr[2]);
|
|
var endDateCompare = new Date(endDateArr[0], parseInt(endDateArr[1])-1, endDateArr[2]);
|
|
|
|
if(startDateCompare.getTime() > endDateCompare.getTime()) {
|
|
return false;
|
|
}else{
|
|
return true;
|
|
}
|
|
}else{
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
function fnc_isEmpty(targetValue){
|
|
|
|
if(targetValue == null || targetValue == "null" || targetValue == "undefined" || targetValue == undefined || targetValue == ''){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
function fnc_isNotEmpty(targetValue){
|
|
return !fnc_isEmpty(targetValue);
|
|
}
|
|
|
|
//targetValue가 Null 또는 undefined일때 ""를 return 한다.
|
|
function fnc_checkNull(targetValue){
|
|
var returnVal = "";
|
|
|
|
if(targetValue == null || targetValue == "null" || targetValue == "undefined" || targetValue == undefined || targetValue == "NaN"){
|
|
returnVal = "";
|
|
}else{
|
|
returnVal = targetValue;
|
|
}
|
|
return returnVal;
|
|
}
|
|
|
|
//targetValue가 Null 또는 undefined일때 returnDefaultValue를 return 한다.
|
|
function fnc_checkNullDefaultValue(targetValue,returnDefaultValue){
|
|
var returnVal = "";
|
|
if("" == fnc_checkNull(targetValue)){
|
|
returnVal = returnDefaultValue;
|
|
}else{
|
|
returnVal = targetValue;
|
|
}
|
|
return returnVal;
|
|
}
|
|
|
|
function fnc_checkZeroDefaultValue(targetValue, returnDefaultValue){
|
|
var returnVal = "";
|
|
if(fnc_checkNull(targetValue) == 0){
|
|
returnVal = returnDefaultValue;
|
|
}else{
|
|
returnVal = targetValue;
|
|
}
|
|
return returnVal;
|
|
}
|
|
|
|
|
|
//targetValue가 Null 또는 undefined일때 returnDefaultValue를 return 한다.
|
|
function fnc_checkcommmanumberDefaultValue(targetValue,returnDefaultValue){
|
|
var returnVal = "";
|
|
if("" == fnc_checkNull(targetValue)){
|
|
returnVal = returnDefaultValue;
|
|
}else{
|
|
returnVal = targetValue.replace(/[^0-9]/g,'');
|
|
}
|
|
return returnVal;
|
|
}
|
|
|
|
function fnc_fileRegist(objId, docType, docTypeName, parentTargetObjId, searchAllInParent, columnField, callbackFnc){
|
|
var popup_width = 800;
|
|
var popup_height = 335;
|
|
|
|
var objId = objId;
|
|
var docType = docType;
|
|
var docTypeName = docTypeName;
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName+"&parentTargetObjId="+parentTargetObjId+"&searchAllInParent="+searchAllInParent+"&columnField="+columnField+"&callbackFnc="+callbackFnc;
|
|
var url = "/common/FileRegistPopup.do"+params;
|
|
fn_centerPopup(popup_width, popup_height, url);
|
|
}
|
|
function fnc_fileDetailPopup(objId, docType, docTypeName, parentTargetObjId, searchAllInParent, columnField, callbackFnc){
|
|
var popup_width = 800;
|
|
var popup_height = 335;
|
|
|
|
var objId = objId;
|
|
var docType = docType;
|
|
var docTypeName = docTypeName;
|
|
var params = "?targetObjId="+objId+"&docType="+docType+"&docTypeName="+docTypeName+"&parentTargetObjId="+parentTargetObjId+"&searchAllInParent="+searchAllInParent+"&columnField="+columnField+"&callbackFnc="+callbackFnc;
|
|
var url = "/common/FileDetailPopup.do"+params;
|
|
fn_centerPopup(popup_width, popup_height, url);
|
|
}
|
|
|
|
/*File Drop Zone 설정
|
|
* divId : Drop Zone의 DIV ID를 String 형태로 입력.
|
|
* uploadUrl : upload할 Url
|
|
* callbackFnc : 업로드 후 실행할 함수명을 String 형태로 입력.
|
|
* onlyOne : 1개만 업로드 허용할것이면 true, 여러개를 허용할것이면 false.
|
|
*/
|
|
function fnc_setFileDropZone(divId, targetObjId, docType, docTypeName, callbackFnc, onlyOne, preProcessor, url, okExt, parentTargetObjId){
|
|
var obj = $("#"+divId);
|
|
|
|
obj.on('dragenter', function (e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
$(this).css('border', '2px solid #5272A0');
|
|
});
|
|
|
|
obj.on('dragleave', function (e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
$(this).css('border', '2px dotted #8296C2');
|
|
});
|
|
|
|
obj.on('dragover', function (e) {
|
|
e.stopPropagation();
|
|
e.preventDefault();
|
|
});
|
|
|
|
obj.on('drop', function (e) {
|
|
e.preventDefault();
|
|
$(this).css('border', '2px dotted #8296C2');
|
|
|
|
var files = e.originalEvent.dataTransfer.files;
|
|
if(files.length < 1){
|
|
return;
|
|
}
|
|
|
|
if(onlyOne){
|
|
if(files.length > 1){
|
|
Swal.fire("1개의 파일만 등록 가능합니다.");
|
|
return;
|
|
}
|
|
}
|
|
|
|
if (files && files[0]) {
|
|
var maxSize = 1000 * 1024 * 1024;
|
|
for(var i=0; i<files.length; i++){
|
|
if(files[i]){
|
|
var fileSize = files[i].size;
|
|
if(fileSize > maxSize){
|
|
//240510 막음
|
|
//alert("첨부파일 사이즈는 1GB(1000MB) 이내로 등록 가능합니다.");
|
|
//$(this).val('');
|
|
//return false;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if(preProcessor != null) eval(fnc_checkNull(preProcessor)+"();");
|
|
if(url == null) url = "/common/fileUploadProc.do";
|
|
|
|
fnc_fileMultiUpload(files, obj, targetObjId, docType, docTypeName, url, callbackFnc, okExt, parentTargetObjId);
|
|
//eval(uploadFnc+"(files, obj, uploadUrl, callbackFnc);");
|
|
});
|
|
}
|
|
|
|
//파일 멀티 업로드
|
|
/**
|
|
*
|
|
* okExt(업로드 가능 확장자 ex."jpg,png")
|
|
*/
|
|
function fnc_fileMultiUpload(files, obj, targetObjId, docType, docTypeName, uploadUrl, callbackFnc, okExt, parentTargetObjId) {
|
|
if(okExt != null){
|
|
for(var i = 0 ; i < files.length ; i++){
|
|
var _fileName = files[i].name;
|
|
var _ext = _fileName.substring(_fileName.lastIndexOf(".")+1).toUpperCase()+",";
|
|
|
|
if((okExt.toUpperCase()+",").indexOf(_ext)<0){
|
|
Swal.fire("허용되지 않은 확장자입니다.\n업로드 가능 확장자 : "+okExt);
|
|
return;
|
|
}
|
|
}
|
|
}else{
|
|
var _okExt = "JSP,BAT,EXE,PHP,JS,SQL";
|
|
for(var i = 0 ; i < files.length ; i++){
|
|
var _fileName = files[i].name;
|
|
var _ext = _fileName.substring(_fileName.lastIndexOf(".")+1).toUpperCase();
|
|
if(_okExt.toUpperCase().indexOf(_ext)>0){
|
|
Swal.fire("허용되지 않은 확장자입니다."+_ext);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
|
|
for(var i = 0 ; i < files.length ; i++){
|
|
var _fileName = files[i].name;
|
|
var pattern = /[#%&*+[]]/;
|
|
|
|
if(pattern.test(_fileName)){
|
|
Swal.fire("파일에 허용되지 않은 특수문자를 포함하고 있습니다(#,%,&,*,+,[,]).");
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
if(confirm(files.length + "개의 파일을 업로드 하시겠습니까?") ) {
|
|
|
|
uploadUrl = fnc_checkNull(uploadUrl);
|
|
if(uploadUrl == "") uploadUrl = "/common/fileUploadProc.do";
|
|
|
|
var data = new FormData();
|
|
for (var i = 0; i < files.length; i++) {
|
|
data.append('file', files[i]);
|
|
}
|
|
|
|
//기본정보 세팅
|
|
data.append("targetObjId", targetObjId);
|
|
data.append("docType", docType);
|
|
data.append("docTypeName", docTypeName);
|
|
data.append("parentTargetObjId", parentTargetObjId); //targetObjId의 부모키 240625 추가
|
|
|
|
|
|
//var url = "/common/fileUploadProc.do";
|
|
$.ajax({
|
|
url: uploadUrl,
|
|
method: 'post',
|
|
data: data,
|
|
dataType: 'text',
|
|
processData: false,
|
|
contentType: false,
|
|
beforeSend:function(){
|
|
_startLoading("업로드 중입니다. 용량에 따라 시간이 걸릴 수 있습니다.");
|
|
},
|
|
success: function(res) {
|
|
//alert('11');
|
|
if(fnc_checkNull(callbackFnc) != ""){
|
|
eval(callbackFnc+"();");
|
|
}else{
|
|
fnc_fileMultiUpload_Callback(res.files);
|
|
}
|
|
},
|
|
complete:function(){
|
|
//alert('22');
|
|
_endLoading();
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
//alert('33');
|
|
alert(jqxhr.statusText + ", " + status + ", " + error);
|
|
alert(jqxhr.status);
|
|
alert(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
// 파일 멀티 업로드 Callback
|
|
function fnc_fileMultiUpload_Callback(files) {
|
|
for(var i=0; i < files.length; i++)
|
|
console.log(files[i].file_nm + " - " + files[i].file_size);
|
|
}
|
|
|
|
//파일 삭제(Confirm 있음)
|
|
function fnc_deleteFile(fileObjId, callbackFnc){
|
|
if(confirm("파일을 삭제하시겠습니까?")){
|
|
$.ajax({
|
|
url:"/common/deleteFileInfo.do",
|
|
type:"POST",
|
|
data:{"objId":fileObjId},
|
|
dataType:"json",
|
|
async:true,
|
|
success:function(data){
|
|
Swal.fire(data.msg);
|
|
eval(callbackFnc+"();");
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
Swal.fire(jqxhr.statusText + ", " + status + ", " + error);
|
|
Swal.fire(jqxhr.status);
|
|
Swal.fire(jqxhr.responseText);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//파일 다운로드
|
|
function fnc_downloadFile(fileObjId){
|
|
location.href = "/common/downloadFile.do?objId="+fileObjId;
|
|
}
|
|
|
|
//dataType에 따라서 해당 유형에 해당하는 값인지 확인한다.
|
|
function fnc_checkDataType(dataType,targetValue){
|
|
|
|
// Swal.fire("dataType:"+dataType);
|
|
// Swal.fire("targetValue:"+targetValue);
|
|
|
|
var pattren = "";
|
|
|
|
if("number" == dataType){
|
|
pattren = /^[0-9]*$/;
|
|
|
|
if(!pattren.test(targetValue) || "" == fnc_checkNull(targetValue)){
|
|
Swal.fire("입력된 값이 없거나 유효하지 않은 데이터 유형입니다.");
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
|
|
//text return 값이 true인지를 반환
|
|
function fnc_checkTrue(val){
|
|
if(val == "true" || val == true || val || val == "TRUE"){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
//setStep2
|
|
function fnc_setStep2(val, step2){
|
|
var append = "<option value=''>선택</option>";
|
|
if(val == "design"){
|
|
append += "<option value='L1'>L1</option>";
|
|
append += "<option value='L2'>L2</option>";
|
|
append += "<option value='L3'>L3</option>";
|
|
append += "<option value='L4'>L4</option>";
|
|
append += "<option value='INSTL'>INSTL</option>";
|
|
}else if(val == "develop"){
|
|
append += "<option value='초도'>초도</option>";
|
|
append += "<option value='S/B'>S/B</option>";
|
|
append += "<option value='P1'>P1</option>";
|
|
append += "<option value='P2'>P2</option>";
|
|
append += "<option value='M'>M</option>";
|
|
}else if(val == "production"){
|
|
append += "<option value='양산'>양산</option>";
|
|
}
|
|
|
|
$("#step2").children().remove();
|
|
$("#step2").append(append);
|
|
|
|
var dbVal = fnc_checkNull(step2);
|
|
|
|
if(dbVal != ""){
|
|
$("#step2").val(dbVal).attr("selected", "true");
|
|
}
|
|
}
|
|
|
|
//setType2
|
|
function fnc_setType2(val, type2){
|
|
var append = "<option value=''>선택</option>";
|
|
if(val == "design"){
|
|
append += "<option value='구조'>구조</option>";
|
|
append += "<option value='수밀'>수밀</option>";
|
|
append += "<option value='NVH'>NVH</option>";
|
|
append += "<option value='DATA'>DATA</option>";
|
|
append += "<option value='생산성'>생산성</option>";
|
|
append += "<option value='조립성'>조립성</option>";
|
|
append += "<option value='성형성'>성형성</option>";
|
|
append += "<option value='작업성'>작업성</option>";
|
|
append += "<option value='원가절감'>원가절감</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}else if(val == "mold"){
|
|
append += "<option value='크랙, 네크'>크랙, 네크</option>";
|
|
append += "<option value='주름'>주름</option>";
|
|
append += "<option value='버(BURR)'>버(BURR)</option>";
|
|
append += "<option value='스크래치'>스크래치</option>";
|
|
append += "<option value='이종재질'>이종재질</option>";
|
|
append += "<option value='두께불량'>두께불량</option>";
|
|
append += "<option value='녹(RUST)'>녹(RUST)</option>";
|
|
append += "<option value='홀(HOLE)'>홀(HOLE)</option>";
|
|
append += "<option value='형상변형'>형상변형</option>";
|
|
append += "<option value='미성형'>미성형</option>";
|
|
append += "<option value='평탄도'>평탄도</option>";
|
|
append += "<option value='이물질'>이물질</option>";
|
|
append += "<option value='공정누락'>공정누락</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}
|
|
/*
|
|
else if(val == "quality"){
|
|
append += "<option value='정도'>정도</option>";
|
|
append += "<option value='외관'>외관</option>";
|
|
append += "<option value='EO'>EO</option>";
|
|
append += "<option value='설계'>설계</option>";
|
|
append += "<option value='용접'>용접</option>";
|
|
append += "<option value='Tool'>Tool</option>";
|
|
append += "<option value='작업자'>작업자</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}
|
|
*/
|
|
else if(val == "facilities"){
|
|
append += "<option value='HW조립'>HW조립</option>";
|
|
append += "<option value='SPOT용접'>SPOT용접</option>";
|
|
append += "<option value='CO2용접'>CO2용접</option>";
|
|
append += "<option value='오조립'>오조립</option>";
|
|
append += "<option value='구조용접착제'>구조용접착제</option>";
|
|
append += "<option value='TAPE실러'>TAPE실러</option>";
|
|
append += "<option value='산포'>산포</option>";
|
|
append += "<option value='지그'>지그</option>";
|
|
append += "<option value='PAD'>PAD</option>";
|
|
append += "<option value='TOOL'>TOOL</option>";
|
|
append += "<option value='풀프루프'>풀프루프</option>";
|
|
append += "<option value='작업성'>작업성</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}else if(val == "etc"){
|
|
append += "<option value='PAD'>PAD</option>";
|
|
append += "<option value='HW'>HW</option>";
|
|
append += "<option value='PLT'>PLT</option>";
|
|
append += "<option value='구조용접착제'>구조용접착제</option>";
|
|
append += "<option value='TAPE실러'>TAPE실러</option>";
|
|
append += "<option value='작업자'>작업자</option>";
|
|
append += "<option value='안전성'>안전성</option>";
|
|
append += "<option value='TOOL'>TOOL</option>";
|
|
append += "<option value='기타'>기타</option>";
|
|
}
|
|
|
|
$("#type2").children().remove();
|
|
$("#type2").append(append);
|
|
|
|
var dbVal = fnc_checkNull(type2);
|
|
if(dbVal != ""){
|
|
$("#type2 > option[value='"+dbVal+"']").attr("selected", "true");
|
|
}
|
|
}
|
|
|
|
//pdm의 part를 조회한다.(시작 PartX)
|
|
function fnc_openPartDetailPopup(userId, partNo){
|
|
//Swal.fire("userId : "+userId+", partNo : "+partNo);
|
|
var url = "/part/pmsPartDetailViewPopup.do?partNo="+partNo;
|
|
//Swal.fire("url : "+url+params);
|
|
window.open(url, "partDetailPopup","width=750, height=930, location=no");
|
|
}
|
|
|
|
//pdm의 시작 part를 조회한다.
|
|
function fnc_openStartPartDetailPopup(userId, partNo){
|
|
//Swal.fire("userId : "+userId+", partNo : "+partNo);
|
|
var url = "http://pdm.iljitech.co.kr/main.do";
|
|
//url = "http://localhost:8081/main.do";
|
|
var params = "?userId="+userId+"&externalAccess=PMS&forwardPage=/part/openStartDevPartDetailPopUp.do?partNo="+partNo;
|
|
//Swal.fire("url : "+url+params);
|
|
window.open(url+params, "partDetailPopup","width=750, height=930, location=no");
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
function warning(){
|
|
$(".warning").animate({backgroundColor:"#FF5A5A"}, 600);
|
|
$(".warning").animate({backgroundColor:"#ffffff"}, 600);
|
|
}
|
|
|
|
setInterval(function() {
|
|
warning();
|
|
},1200);
|
|
});
|
|
|
|
|
|
$(document).ready(function(){
|
|
function gate_blink(){
|
|
$(".gate_blink").animate({opacity:"0.5"},400)
|
|
$(".gate_blink").animate({opacity:"1"},400)
|
|
|
|
|
|
}
|
|
setInterval(gate_blink,1000)
|
|
|
|
});
|
|
|
|
//문제점 목록 팝업(단위문제점) 차종정보
|
|
function fn_openProblemList_byCar(obj){
|
|
var category = obj.category;
|
|
var seriesName = obj.series.name;
|
|
var oemObjId = obj.series.userOptions.oemObjId[obj.index];
|
|
var carObjId = obj.series.userOptions.carObjId[obj.index];
|
|
|
|
var status = "";
|
|
|
|
if(seriesName == "완료") status = "complete";
|
|
else if(seriesName == "조치") status = "complete";
|
|
else if(seriesName == "미결") status = "create";
|
|
|
|
//console.log(obj.series);
|
|
|
|
//Swal.fire("차종 : "+category+", 선택값 : "+obj.series.name+", oemObjId : "+oemObjId+", carObjId : "+carObjId);
|
|
|
|
var params = "?search_oemObjId="+oemObjId+"&search_carObjId="+carObjId+"&search_status="+status;
|
|
|
|
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
|
|
}
|
|
|
|
//문제점 목록 팝업(단위문제점) 제품정보
|
|
function fn_openProblemList_byProduct(obj){
|
|
var prodGroupObjId = obj.options.prodGroupObjId;
|
|
var prodObjId = obj.options.prodObjId;
|
|
|
|
var params = "?search_prodGroupObjId="+prodGroupObjId+"&search_prodObjId="+prodObjId;
|
|
|
|
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
|
|
}
|
|
|
|
function fn_openProblemList(oemObjId, carObjId, prodGroupObjId, prodObjId, step1, step2, type1, type2, partNo, status, reqFromDate, reqToDate, resPlanFromDate, resPlanToDate){
|
|
var params = "?";
|
|
if(oemObjId != null) params += "&search_oemObjId="+oemObjId;
|
|
if(carObjId != null) params += "&search_carObjId="+carObjId;
|
|
if(prodGroupObjId != null) params += "&search_prodGroupObjId="+prodGroupObjId;
|
|
if(prodObjId != null) params += "&search_prodObjId="+prodObjId;
|
|
if(step1 != null) params += "&step1="+step1;
|
|
if(step2 != null) params += "&step2="+step2;
|
|
if(type1 != null) params += "&type1="+type1;
|
|
if(type2 != null) params += "&type2="+type2;
|
|
if(partNo != null) params += "&search_partNo="+partNo;
|
|
if(status != null) params += "&search_status="+status;
|
|
if(reqFromDate != null) params += "&search_reqFromDate="+reqFromDate;
|
|
if(reqToDate != null) params += "&search_reqToDate="+reqToDate;
|
|
if(resPlanFromDate != null) params += "&search_resPlanFromDate="+resPlanFromDate;
|
|
if(resPlanToDate != null) params += "&search_resPlanToDate="+resPlanToDate;
|
|
|
|
window.open("/dashboard/problemListPopUp.do"+params, "", "width=1700, height=585");
|
|
}
|
|
|
|
function _startLoading(loadingMsg){
|
|
$(".loading-container-wrap").show();
|
|
$("#_loadingMessage").text(loadingMsg);
|
|
}
|
|
|
|
function _endLoading(){
|
|
$(".loading-container-wrap").hide();
|
|
}
|
|
|
|
/**숫자 천단위 콤마변환
|
|
* 1000000 --> 1,000,000
|
|
*/
|
|
function numberWithCommas(x) {
|
|
if(fnc_isEmpty(x)) return x;
|
|
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
//codeId를 부모로 사용하는 코드의 정보목록을 가져온다.
|
|
function fnc_getCodeList(codeId){
|
|
var resultList = null;
|
|
if(fnc_checkNull(codeId)!=""){
|
|
$.ajax({
|
|
url:"/common/getCodeList.do",
|
|
type:"POST",
|
|
data:{"codeId":codeId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
return resultList;
|
|
}
|
|
|
|
//JQGrid 사용시 select box option 구성용으로 사용
|
|
function fnc_getCodeJsonStr(codeId){
|
|
var resultStr = {};
|
|
$.ajax({
|
|
url:"/common/getCodeList.do",
|
|
type:"POST",
|
|
data:{"codeId":codeId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var defaultOptions = [{"CODE_ID":'',"CODE_NAME":"선택"}];
|
|
|
|
var resultList = data
|
|
|
|
var concatList = defaultOptions.concat(resultList);
|
|
|
|
for(var i=0;i<concatList.length;i++){
|
|
var commonCodeId = concatList[i].CODE_ID;
|
|
var commonCodeName = concatList[i].CODE_NAME;
|
|
|
|
resultStr[i] = (commonCodeId,commonCodeName);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return resultStr;
|
|
}
|
|
|
|
//JQGrid 사용시 공급업체 정보목록을 select box option 구성용으로 사용
|
|
function fnc_getSupplyCodeListJsonStr(){
|
|
var resultStr = {};
|
|
$.ajax({
|
|
url:"/common/getSupplyCodeList.do",
|
|
type:"POST",
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
var resultList = data
|
|
|
|
resultStr[""] = "선택";
|
|
|
|
for(var i=0;i<resultList.length;i++){
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
|
|
resultStr[commonCodeId] = commonCodeName;
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
return resultStr;
|
|
}
|
|
|
|
function fnc_getSupplyCodeList(){
|
|
var resultList = null;
|
|
|
|
$.ajax({
|
|
url:"/common/getSupplyCodeList.do",
|
|
type:"POST",
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return resultList;
|
|
}
|
|
|
|
|
|
//codeId를 부모로 사용하는 코드의 정보목록을 가져온다.
|
|
function fnc_getCodeListAppend(codeId,selectboxId,selectedVal){
|
|
var resultList = fnc_getCodeList(codeId);
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(resultList != null && 0 < resultList.length){
|
|
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
}
|
|
|
|
//codeId에 애당하는 codeName을 가져온다.
|
|
function fnc_getCodeId(codeId,targetCodeName){
|
|
var resultList = fnc_getCodeList(codeId);
|
|
var resultCodeId = "";
|
|
|
|
// console.log("resultList:"+resultList);
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
|
|
if(targetCodeName == commonCodeName){
|
|
resultCodeId = commonCodeId;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return resultCodeId;
|
|
}
|
|
|
|
//공급업체 정보목록을 가져온다.
|
|
function fnc_getSupplyCodeListAppend(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getSupplyCodeList.do",
|
|
type:"POST",
|
|
data:{},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//공급업체 정보목록을 가져온다.
|
|
function fnc_getSupplyCodeListAppend2(supplyCode,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getSupCdList.do",
|
|
type:"POST",
|
|
data:{"codeId":supplyCode},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//공급업체 정보목록을 가져온다.
|
|
function fnc_getAdminSupCdListAppend(supplyCode,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getAdminSupCdList.do",
|
|
type:"POST",
|
|
data:{"codeId":supplyCode},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//targetCode에 해당하는 대상구분명을 반환한다.
|
|
function fnc_getApprovalTargetName(targetCode){
|
|
var targetTypeTitle = "";
|
|
var targetTypeArr = [];
|
|
targetTypeArr.push({"code":"CUSTOMER_MNG","name":"고객관리"});
|
|
targetTypeArr.push({"code":"EXPENSE_APPLY","name":"경비신청서"});
|
|
targetTypeArr.push({"code":"MATERIAL_SORTAPPLY","name":"발주서"});
|
|
targetTypeArr.push({"code":"MATERIAL_APPLY","name":"발주등록"});
|
|
targetTypeArr.push({"code":"USED_MNG","name":"고객지원"});
|
|
|
|
for(var i=0;i<targetTypeArr.length;i++){
|
|
var tempMap = targetTypeArr[i];
|
|
|
|
// console.log("tempMap:"+tempMap);
|
|
|
|
if(tempMap.code == targetCode){
|
|
targetTypeTitle = tempMap.name;
|
|
break;
|
|
}
|
|
}
|
|
|
|
// console.log("targetTypeTitle:"+targetTypeTitle);
|
|
|
|
return targetTypeTitle;
|
|
}
|
|
|
|
function fnc_getProjectNoList(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getProjectNoList.do",
|
|
type:"POST",
|
|
data:{},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var codeId = resultList[i].CODE_ID;
|
|
var codeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+codeId+"'>"+codeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
//selectboxId 지정 시 해당영역에 select box를 그려준다.
|
|
function fnc_getDeptListAppend(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getDeptList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].CODE;
|
|
var name = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+code+"'>"+name+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//selectboxId 지정 시 해당영역에 select box를 그려준다.
|
|
function fnc_getDeptList(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getDeptList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].CODE;
|
|
var name = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+code+"'>"+name+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getDeptList(resultSearch,selectedVal){
|
|
var resultTxt = "";
|
|
|
|
$.ajax({
|
|
url:"/common/getDeptList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
if(resultSearch){
|
|
resultTxt = "<select class='select2'>";
|
|
}else{
|
|
resultTxt = "<select>";
|
|
}
|
|
|
|
resultTxt += "<option value=''>선택</option>";
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].CODE;
|
|
var name = resultList[i].NAME;
|
|
|
|
resultTxt += "<option value='"+code+"'>"+name+"</option>";
|
|
}
|
|
}
|
|
resultTxt += "</select>";
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return resultTxt;
|
|
}
|
|
|
|
function fnc_getUserList2(selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
// console.log("resultList:"+resultList);
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].CODE;
|
|
var name = resultList[i].NAME;
|
|
var deptName = resultList[i].DEPT_NAME;
|
|
var email = fnc_checkNull(resultList[i].EMAIL);
|
|
var tel = fnc_checkNull(resultList[i].TEL);
|
|
var hp = fnc_checkNull(resultList[i].CELL_PHONE);
|
|
|
|
$("#"+selectboxId).append("<option value='"+code+"' data-EMAIL='"+email+"' data-TEL='"+tel+"' data-HP='"+hp+"'>"+deptName+" "+name+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getUserList3(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].USER_ID;
|
|
var name = resultList[i].USER_NAME;
|
|
var deptName = resultList[i].DEPT_NAME;
|
|
$("#"+selectboxId).append("<option value='"+code+"'>"+deptName+" "+name+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getUserDataList(){
|
|
var resultList;
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data;
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
return resultList;
|
|
}
|
|
|
|
function fnc_getUserList(resultSearch,selectedVal){
|
|
var resultTxt = "";
|
|
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
if(resultSearch){
|
|
resultTxt = "<select class='select2'>";
|
|
}else{
|
|
resultTxt = "<select>";
|
|
}
|
|
|
|
resultTxt += "<option value=''>선택</option>";
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var code = resultList[i].CODE;
|
|
var name = resultList[i].NAME;
|
|
var deptName = resultList[i].DEPT_NAME;
|
|
|
|
resultTxt += "<option value='"+code+"'>"+deptName+" "+name+"</option>";
|
|
}
|
|
}
|
|
resultTxt += "</select>";
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return resultTxt;
|
|
}
|
|
|
|
function fnc_addComma(value){
|
|
//value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
//return value;
|
|
var parts = value.split('.');
|
|
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
return parts.join('.');
|
|
}
|
|
|
|
//차종정보 조회 select box용
|
|
/**
|
|
* selectboxId option이 들어갈 영역,
|
|
* selectedVal 선택될 option 값
|
|
*/
|
|
function fnc_getCarList(oemCode,oemObjId,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getCarTypeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"search_oemCode":oemCode,"search_oemObjId":oemObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var objId = resultList[i].OBJID;
|
|
var code = resultList[i].CAR_CODE;
|
|
$("#"+selectboxId).append("<option value='"+objId+"'>"+code+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
//고객사 조회 select box용
|
|
/**
|
|
* selectboxId option이 들어갈 영역,
|
|
* selectedVal 선택될 option 값
|
|
*/
|
|
function fnc_getOEMList(selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getOEMList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var objId = resultList[i].OBJID;
|
|
var code = resultList[i].OEM_CODE+"("+resultList[i].OEM_NAME+")";
|
|
$("#"+selectboxId).append("<option value='"+objId+"'>"+code+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 이미지 미리보기 클릭 시 실제 이미지 화면 팝업
|
|
*/
|
|
function fnc_openImagePopUp(url){
|
|
var img=new Image();
|
|
img.src=url;
|
|
var img_width=img.width;
|
|
var img_height=img.height;
|
|
var win_width=img.width+25;
|
|
var height=img.height+30;
|
|
|
|
window.open(url,"problemImgPopUp","width="+img_width+",height="+height+", menubars=no, scrollbars=yes'");
|
|
}
|
|
|
|
/**
|
|
* selectboxId option이 들어갈 영역,
|
|
* selectedVal 선택될 option 값
|
|
*/
|
|
function fnc_getPartMngList(existPartNo,notExistPart,isLast,status,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getPartMngList.do",
|
|
type:"POST",
|
|
data:{
|
|
"isJson":true,
|
|
"search_exist_part_no":existPartNo,
|
|
"search_not_exist_part_no":notExistPart,
|
|
"IS_LAST":isLast,
|
|
"STATUS":status
|
|
},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var objId = resultList[i].OBJID;
|
|
var code = resultList[i].PART_NO;
|
|
var codeRev = resultList[i].REVISION;
|
|
$("#"+selectboxId).append("<option value='"+objId+"'>"+code+"(rev:"+codeRev+")</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getMilestoneList(oemObjId,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getMilestoneList.do",
|
|
type:"POST",
|
|
data:{
|
|
"isJson":true,
|
|
"search_oemObjId":oemObjId
|
|
},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var objId = resultList[i].OBJID;
|
|
var code = resultList[i].MILESTONE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+objId+"'>"+code+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getSpecNoList(specNoType,selectboxId,selectedVal){
|
|
$.ajax({
|
|
url:"/common/getSPECList.do",
|
|
type:"POST",
|
|
data:{
|
|
"isJson":true,
|
|
"search_categoryName":specNoType
|
|
},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var objId = resultList[i].OBJID;
|
|
var specNo = resultList[i].SPEC_NO;
|
|
var docName = resultList[i].DOC_NAME;
|
|
$("#"+selectboxId).append("<option value='"+objId+"'>"+specNo+"("+docName+")</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_pageAuthController(menuObjId){
|
|
|
|
if("" != menuObjId){
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/common/getPageAuthInfo.do",
|
|
data: {"menuObjId":menuObjId},
|
|
dataType:"json",
|
|
success:function(data){
|
|
if(data != null){
|
|
if(Number(data.CREATE_AUTH_CNT) == 0){
|
|
$(".create").hide();
|
|
}
|
|
if(Number(data.READ_AUTH_CNT) == 0){
|
|
$(".read").hide();
|
|
}
|
|
if(Number(data.update_AUTH_CNT) == 0){
|
|
$(".update").hide();
|
|
}
|
|
if(Number(data.DELETE_AUTH_CNT) == 0){
|
|
$(".delete").hide();
|
|
}
|
|
};
|
|
}
|
|
,error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_createObjId(){
|
|
var resultObjId = "";
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/common/createObjectId.do",
|
|
data: {},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultObjId = data.OBJID;
|
|
}
|
|
,error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
return resultObjId;
|
|
}
|
|
|
|
//양산제품 정보 select box 구성
|
|
function fnc_getProductMgmtList(selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
$.ajax({
|
|
url:"/common/getProductMgmtList.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_productUPGList(productMgmtObjId,upgMasterObjId,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != productMgmtObjId || "" != upgMasterObjId){
|
|
$.ajax({
|
|
url:"/common/getProductUPGList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"PRODUCT_MGMT_OBJID":productMgmtObjId,"UPG_MASTER_OBJID":upgMasterObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].UPG_NO;
|
|
var commonCodeName = resultList[i].UPG_NO;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function fnc_productUPGNEWList(productMgmtObjId,upgMasterObjId,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != productMgmtObjId || "" != upgMasterObjId){
|
|
$.ajax({
|
|
url:"/common/getProductUPGNewList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"PRODUCT_MGMT_OBJID":productMgmtObjId,"UPG_MASTER_OBJID":upgMasterObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeId+"("+commonCodeName+")</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function fnc_getProductUPGPARTList(productUpgObjId,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != productUpgObjId){
|
|
$.ajax({
|
|
url:"/common/getProductUPGPARTList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"UPG_OBJID":productUpgObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].OBJID;
|
|
var commonCodeName = resultList[i].PART_NO;
|
|
var partName = resultList[i].PART_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"' id='"+partName+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
function fnc_AsproductList(year,custCd,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != custCd){
|
|
$.ajax({
|
|
url:"/common/getAsProductList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"YEAR":year,"CUSTCD":custCd},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
var GOODSCD = resultList[i].ID;
|
|
var PSHELLNO = resultList[i].PSHELLNO;
|
|
var GOODSGUARANTEE = resultList[i].GOODSGUARANTEE;
|
|
var INOUTDATE = resultList[i].INOUTDATE;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"' id='"+GOODSCD+"' data-pshellno='"+PSHELLNO+"' data-goodsguarantee='"+GOODSGUARANTEE+"' data-inoutdate='"+INOUTDATE+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_ContractcodeList(OBJID,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID){
|
|
$.ajax({
|
|
url:"/common/getContractcodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_ContractproductList(OBJID,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID){
|
|
$.ajax({
|
|
url:"/common/getContractProductList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_OptionChildlist(OBJID,category,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID){
|
|
$.ajax({
|
|
url:"/common/getOptionMidList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID,"CATEGORY":category},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_getOptionHighselect(OBJID,category,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID){
|
|
$.ajax({
|
|
url:"/common/getOptionHighselect.do",
|
|
type:"POST",
|
|
data:{"isJson":true},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fnc_productModelList(productMgmtObjId,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != productMgmtObjId){
|
|
$.ajax({
|
|
url:"/common/getProductModelList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"PRODUCT_MGMT_OBJID":productMgmtObjId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeId+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
//구조등록 Rev 리스트 조회
|
|
function fnc_getProductRevtList(selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value='' >신규생성</option>");
|
|
|
|
$.ajax({
|
|
url:"/common/getProductRevList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"PRODUCT_MGMT_OBJID":selectedVal},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
var commId = resultList[i].ID;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"' ids='"+commId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val();
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
function fnc_AsContractYearList(custCd,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != custCd){
|
|
$.ajax({
|
|
url:"/common/getAsContractYearList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"CUSTCD":custCd},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].YY_DATE;
|
|
var commonCodeName = resultList[i].YY_DATE;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 이미지 미리보기 클릭 시 실제 이미지 화면 팝업
|
|
*/
|
|
function fnc_openAttachFilePopUp(objId,docType){
|
|
var params = "?targetObjId="+objId;
|
|
params += "&docType="+docType;
|
|
params += "&docTypeName=";
|
|
window.open("/common/FileDetailPopup.do"+params, "", "width=800, height=335");
|
|
}
|
|
|
|
//codeId를 부모로 사용하는 코드의 정보목록을 가져온다.
|
|
function fnc_getSpecNameListAppend(codeId,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
var resultList = null;
|
|
|
|
$.ajax({
|
|
url:"/common/getSpecNameList.do",
|
|
type:"POST",
|
|
data:{"codeId":codeId},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList = data
|
|
|
|
if(resultList != null && 0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_getAjaxProductMgmtList(selectboxId,productCategory,productType,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
$.ajax({
|
|
url:"/common/getAjaxProductMgmtList.do",
|
|
type:"POST",
|
|
data:{"PRODUCT_GROUP":productCategory,"PRODUCT_TYPE":productType},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function fnc_address2List(CODE,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != CODE){
|
|
$.ajax({
|
|
url:"/common/getAddress2List.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"CODE":CODE},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
function fnc_getproductcode(OBJID,product_codeId){
|
|
|
|
$("#"+product_codeId).empty();
|
|
|
|
if("" != OBJID){
|
|
$.ajax({
|
|
url:"/common/getproductcode.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
var product_code = resultList[0].CODE;
|
|
|
|
$("#"+product_codeId).val(product_code);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
//팝업창 가운데 정렬
|
|
function fn_centerPopup(popup_width, popup_height, url, target){
|
|
|
|
const popupX = Math.round(window.screenX + (window.outerWidth / 2) - (popup_width / 2));
|
|
const popupY = Math.round(window.screenY + (window.outerHeight /2) - (popup_height / 2));
|
|
|
|
window.open(url, target, "width="+popup_width+" height="+popup_height+" left="+popupX+" top="+popupY+" menubar=no status=no");
|
|
}
|
|
|
|
|
|
function fn_projectNameList(customer_objid,selectboxId,selectedVal,contract_objid){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != customer_objid || "" != contract_objid){
|
|
$.ajax({
|
|
url:"/common/getprojectNameList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"customer_objid":customer_objid, "contract_objid":contract_objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function fn_UnitCodeList(project_objid,selectboxId,selectedVal, customer_objid){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != project_objid){
|
|
$.ajax({
|
|
url:"/common/getUnitCodeList.do",
|
|
//url:"/common/getProjectUnitCodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"project_objid":project_objid,"customer_objid":customer_objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
function getProjectUnitCodeList(project_objid,selectboxId,selectedVal, customer_objid){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != project_objid){
|
|
$.ajax({
|
|
//url:"/common/getUnitCodeList.do",
|
|
url:"/common/getProjectUnitCodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"project_objid":project_objid}, //,"customer_objid":customer_objid
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fn_UnitCodeListJson(customer_objid,objectId,emptyOptText){
|
|
|
|
$("#"+objectId).empty();
|
|
|
|
var str = '';
|
|
str += '"":"'+emptyOptText+'",'
|
|
|
|
if("" != customer_objid){
|
|
$.ajax({
|
|
url:"/common/getUnitCodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"customer_objid":customer_objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
return resultList;
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
//sbJson.append("\""+String.valueOf(data.get(id_colName))+"\":\""+(String)data.get(name_colName)+"\"");
|
|
str += '"'+commonCodeId+'":"'+commonCodeName+'",'
|
|
|
|
if(i<resultList.length-1){
|
|
str += ',';
|
|
}
|
|
}
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
$("#"+objectId).text(str);
|
|
return "{"+str+"}";
|
|
}
|
|
function fn_BomUnitCodeList(objid,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != objid){
|
|
$.ajax({
|
|
url:"/common/getBomUnitCodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
function fn_BomPartLastList(OBJID,UNIT_CODE,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID && "" != UNIT_CODE){
|
|
$.ajax({
|
|
url:"/common/getBomPartLastList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID,"UNIT_CODE":UNIT_CODE},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
//alert(resultList.length);
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
//var PART_NAME = encodeURIComponent(resultList[i].PART_NAME);
|
|
var PART_NAME = resultList[i].PART_NAME;
|
|
var SPEC = resultList[i].SPEC;
|
|
var MAKER = resultList[i].MAKER;
|
|
|
|
$("#"+selectboxId).append("<option data-part_name='"+PART_NAME+"' data-spec='"+SPEC+"' data-maker='"+MAKER+"' value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function fn_BomPartList(OBJID,UNIT_CODE,selectboxId,selectedVal){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != OBJID && "" != UNIT_CODE){
|
|
$.ajax({
|
|
url:"/common/getBomPartList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":OBJID,"UNIT_CODE":UNIT_CODE},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
var PART_NAME = resultList[i].PART_NAME;
|
|
var SPEC = resultList[i].SPEC;
|
|
var MAKER = resultList[i].MAKER;
|
|
var MATERIAL = resultList[i].MATERIAL;
|
|
var PART_TYPE = resultList[i].PART_TYPE;
|
|
|
|
$("#"+selectboxId).append("<option data-part_name='"+PART_NAME+"' data-spec='"+SPEC+"' data-maker='"+MAKER+"' data-material='"+MATERIAL+"' data-part_type='"+PART_TYPE+"' value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
※고정컬럼 : CODE_ID, CODE_NAME, PARENT_CODE_ID
|
|
※select box 기본값 속성추가 : <select def-value=""></select>
|
|
|
|
@param JsonLevel3Data, step1SelBox(element), step2SelBox, step3SelBox
|
|
{ LEV1 : [{"CODE_ID":"xxx", "CODE_NAME":"xxx", "PARENT_CODE_ID":"xxx", ...},{...},...]
|
|
,LEV2 : [{"CODE_ID":"xxx", "CODE_NAME":"xxx", "PARENT_CODE_ID":"xxx", ...},{...},...]
|
|
,LEV3 : [{"CODE_ID":"xxx", "CODE_NAME":"xxx", "PARENT_CODE_ID":"xxx", ...},{...},...]
|
|
,ETC : [{"CODE_ID":"xxx", "CODE_NAME":"xxx", "PARENT_CODE_ID":"xxx", ...},{...},...]
|
|
}
|
|
@param step1SelBox(element)
|
|
@param step2SelBox, step3SelBox
|
|
@param step3SelBox
|
|
밧밧이 악당
|
|
*/
|
|
function fnc_setCodeStepSelectByJsonLevel3(JsonLevel3Data, step1SelBox, step2SelBox, step3SelBox){
|
|
var arrLEV1 = JsonLevel3Data.LEV1;
|
|
var arrLEV2 = JsonLevel3Data.LEV2;
|
|
var arrLEV3 = JsonLevel3Data.LEV3;
|
|
if(fnc_checkNull(arrLEV1)=="" || fnc_checkNull(arrLEV2)=="" || fnc_checkNull(arrLEV3)==""){
|
|
Swal.fire("fnc_setCodeStepSelectByJsonLevel3 :: code data가 없습니다.");
|
|
return;
|
|
}
|
|
if(fnc_checkNull(arrLEV1[0].CODE_ID)=="" || fnc_checkNull(arrLEV1[0].CODE_NAME)=="" || fnc_checkNull(arrLEV1[0].PARENT_CODE_ID)==""){
|
|
Swal.fire("fnc_setCodeStepSelectByJsonLevel3 :: 고정컬럼이 업습니다. (CODE_ID, CODE_NAME, PARENT_CODE_ID)");
|
|
return;
|
|
}
|
|
var maxStep = 3;
|
|
for(var l=1; l<=maxStep; l++){
|
|
var arr, te;
|
|
arr = eval("arrLEV"+l);
|
|
te = eval("$(step"+l+"SelBox)");
|
|
if(fnc_checkNull(arr)=="" || fnc_checkNull(te)==""){ break; }
|
|
|
|
te.empty();
|
|
te.append("<option value=\"\">선택</option>");
|
|
|
|
var pv = "";
|
|
if(l>1){
|
|
pv = eval("$(step"+(l-1)+"SelBox).attr('def-value')");
|
|
}
|
|
for(var i in arr){
|
|
var row = arr[i];
|
|
var attr = "";
|
|
if(l>1 && (pv == "" || row["PARENT_CODE_ID"]!=pv)){
|
|
continue;
|
|
}
|
|
for(var k in arr[i]){
|
|
attr += " data-"+k+"=\""+row[k]+"\"";
|
|
}
|
|
te.append("<option value=\""+row["CODE_ID"]+"\" "+attr+">"+row["CODE_NAME"]+"</option>");
|
|
}
|
|
te.val( te.attr("def-value") );
|
|
|
|
if(l<maxStep){
|
|
var narr= eval("arrLEV"+(l+1));
|
|
var nte = eval("$(step"+(l+1)+"SelBox)");
|
|
te.change({narr:narr, nte:nte}, function(e){
|
|
var _nte = e.data.nte;
|
|
var _narr= e.data.narr;
|
|
|
|
_nte.empty();
|
|
_nte.append("<option value=\"\">선택</option>");
|
|
for(var i in _narr){
|
|
var row = _narr[i];
|
|
if(row["PARENT_CODE_ID"] != $(this).val()){ continue; }
|
|
var attr = "";
|
|
for(var k in _narr[i]){
|
|
attr += " data-"+k+"=\""+row[k]+"\"";
|
|
}
|
|
_nte.append("<option value=\""+row["CODE_ID"]+"\" "+attr+">"+row["CODE_NAME"]+"</option>");
|
|
}
|
|
_nte.val("").trigger("change");
|
|
});
|
|
}
|
|
|
|
}
|
|
}
|
|
/**
|
|
* DB내용 다가져온다 ㅇㅇ pch부자
|
|
* @param jsonParam { "sqlId":"", "":"".... }
|
|
* @return resultList_json
|
|
* ex) fnc_getJsonAllDataListBySqlId({"sqlId":"contractMgmt.getContractMgmtInfo", "objId":"-267018167"});
|
|
*/
|
|
function fnc_getJsonAllDataListBySqlId(jsonParam){
|
|
var resultList_json = {};
|
|
|
|
$.ajax({
|
|
url:"/common/getJsonAllDataListBySqlId.do",
|
|
type:"POST",
|
|
data: jsonParam,
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
resultList_json = data
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
|
|
return resultList_json;
|
|
}
|
|
//fnc_getJsonAllDataListBySqlIdForSelectBox({"sqlId":"common.getProgressProjectNoList", "objId":"-267018167"}));
|
|
function fnc_getJsonAllDataListBySqlIdForSelectBox(selectboxId, jsonParam, showEmpty, selectedVal){
|
|
|
|
data = fnc_getJsonAllDataListBySqlId(jsonParam);
|
|
var resultList = data;
|
|
$("#"+selectboxId).empty();
|
|
if(showEmpty) $("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var codeId = resultList[i].CODE_ID;
|
|
var codeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+codeId+"'>"+codeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
}
|
|
|
|
//발주 정보목록을 가져온다.
|
|
function fnc_getPurchaseOrderCdListAppend(selectboxId,selectedVal,partObjid,partnerObjid){
|
|
$.ajax({
|
|
url:"/common/getPurchaseOrderCdList.do",
|
|
type:"POST",
|
|
data:{"part_objid":partObjid,"partnerObjid":partnerObjid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
var resultList = data;
|
|
|
|
$("#"+selectboxId).empty();
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if(0 < resultList.length){
|
|
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE_ID;
|
|
var commonCodeName = resultList[i].CODE_NAME;
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
$("#"+selectboxId).val(selectedVal);
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
function fnc_numToKr(strNum, prefix, suffix) {
|
|
if(!$.isNumeric(fnc_checkNullDefaultValue( strNum ))){
|
|
Swal.fire("숫자오류"); return;
|
|
}
|
|
|
|
var sign = ""; //부호
|
|
if(Number(strNum) < 0){
|
|
sign = "-";
|
|
strNum = strNum.replace("-","");
|
|
}
|
|
|
|
var hanA = new Array("","일","이","삼","사","오","육","칠","팔","구","십");
|
|
var danA = new Array("","십","백","천","","십","백","천","","십","백","천","","십","백","천");
|
|
var result = "";
|
|
for(i=0; i<strNum.length; i++) {
|
|
str = "";
|
|
han = hanA[strNum.charAt(strNum.length-(i+1))];
|
|
if(han != "") str += han+danA[i];
|
|
if(i == 4) str += "만";
|
|
if(i == 8) str += "억";
|
|
if(i == 12) str += "조";
|
|
result = str + result;
|
|
}
|
|
if(strNum != 0){
|
|
result = prefix + sign+result + suffix;
|
|
}
|
|
return result ;
|
|
}
|
|
|
|
function fn_addComma(data){
|
|
return data.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
function fn_addCommaAndFloat(data){
|
|
|
|
var dataArr = data.split(".");
|
|
|
|
var resultData = "";
|
|
|
|
console.log(dataArr.length);
|
|
|
|
if(1 == dataArr.length){
|
|
|
|
resultData = ((dataArr[0]).replace(/[^0-9]/g,"")).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}else if(1 < dataArr.length){
|
|
resultData = ((dataArr[0]).replace(/[^0-9]/g,"")).replace(/\B(?=(\d{3})+(?!\d))/g, ",") + "." +dataArr[1].replace(/[^0-9]/g,"");
|
|
}
|
|
|
|
return resultData;
|
|
}
|
|
|
|
|
|
function fn_UnitTitleList(objid,selectboxId){
|
|
|
|
$("#"+selectboxId).empty();
|
|
|
|
$("#"+selectboxId).append("<option value=''>선택</option>");
|
|
|
|
if("" != objid){
|
|
$.ajax({
|
|
url:"/common/getUnitTitleCodeList.do",
|
|
type:"POST",
|
|
data:{"isJson":true,"OBJID":objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
|
|
resultList = data
|
|
|
|
if(0 < resultList.length){
|
|
for (var i = 0; i < resultList.length; i++) {
|
|
var commonCodeId = resultList[i].CODE;
|
|
var commonCodeName = resultList[i].NAME;
|
|
|
|
$("#"+selectboxId).append("<option value='"+commonCodeId+"'>"+commonCodeName+"</option>");
|
|
}
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
function fnc_maxLengthCheck(object){
|
|
if (object.value.length > object.maxLength){
|
|
object.value = object.value.slice(0, object.maxLength);
|
|
}
|
|
}
|
|
|
|
|
|
//230330 페이지네이션 없애고 총건수 그리드위에 표시
|
|
function fnc_changePaginationAndTotalCountArea(){
|
|
/*
|
|
if(fnc_isNotEmpty($(".page_pro"))) {
|
|
//$(".pdm_page").hide(); //페이징 영역 숨김
|
|
$(".page_pro").find("table").hide();
|
|
$(".btn_wrap").append($(".pdm_page"));
|
|
}
|
|
|
|
//$(".in_table_scroll_wrap ._table2").css("height", "650px");
|
|
//$(".in_table_scroll_wrap ._table2").height("650px");
|
|
if(fnc_isNotEmpty($("._table2"))) {
|
|
$(".contents_page_basic_margin > ._table2").height("643px");
|
|
}
|
|
*/
|
|
}
|
|
|
|
function fnc_calculateContentHeight(gridDivId, etcHeight) {
|
|
var windowHeight = $(window).height();
|
|
var headerHeight = 0;//fnc_checkNullDefaultValue($('.header').outerHeight(), 80); //80
|
|
var menuTitleHeight = fnc_checkNullDefaultValue($('.plm_menu_name_gdnsi h2').outerHeight(), 35); //35
|
|
var searchZonHeight = $('#plmSearchZon').outerHeight(); //25/50
|
|
var totalCntAreaHeight = $('.totalCntArea').outerHeight(); //totalCntArea total_count_text //25
|
|
//var pagingAreaHeight = $('.pdm_page').outerHeight(); //paging 230615추가
|
|
var pagingAreaHeight = $('.table_paging_wrap').outerHeight(); //paging 230615추가
|
|
if(!etcHeight) etcHeight = 0;
|
|
var contentHeight = windowHeight - headerHeight - menuTitleHeight - searchZonHeight - totalCntAreaHeight - 0 - pagingAreaHeight - (pagingAreaHeight > 0 ? 25 : 0) - etcHeight;
|
|
//Swal.fire(contentHeight + " : " + headerHeight + " : " + menuTitleHeight + " : " + searchZonHeight + " : " + totalCntAreaHeight + " : " );
|
|
$('#'+gridDivId).css('height', contentHeight);
|
|
//calc(100% - 56px); max-height: calc(100% - 56px);
|
|
//$('.content').css('max-height', contentHeight);
|
|
//$(".total_count_text").empty();
|
|
}
|
|
|
|
function fnc_reCalculateContentHeight(gridDivId, width){
|
|
fnc_calculateContentHeight(gridDivId, width);
|
|
$('#'+gridDivId).off("fnc_calculateContentHeight");
|
|
$(window).resize(function() {
|
|
fnc_calculateContentHeight(gridDivId, width);
|
|
});
|
|
}
|
|
|
|
|
|
function fnc_approvalDetail(approvalObjId, routeObjId){
|
|
var params = "?approvalObjId="+approvalObjId;
|
|
params += "&routeObjId="+routeObjId;
|
|
window.open("/approval/approvalDetail.do"+params,"approvalDetailPopup","width=650 height=400 menubar=no status=no");
|
|
}
|
|
|
|
function fnc_convertTypePOToPart(poType){
|
|
/*
|
|
0001788 구매품표준
|
|
0001540 용접품
|
|
0001398 사내제작품
|
|
0001397 가공품
|
|
0001396 레이저품
|
|
0000085 표준품
|
|
0000065 사급품
|
|
0000064 제작품
|
|
0000063 구매품
|
|
*/
|
|
if(poType == '0001069'){ //일반부품
|
|
//return '0000085'; //표준품
|
|
return '';
|
|
}else if(poType == '0001070'){ //장납기품
|
|
return '0000063';
|
|
}else if(poType == '0001787'){ //구매품표준
|
|
return '0001788'; //구매품표준
|
|
}else if(poType == '0001654'){ //사급품
|
|
return '0000065';
|
|
}else if(poType == '0001538'){ //잡자재
|
|
return '';
|
|
}else if(poType == 'aa'){
|
|
return '';
|
|
}else if(poType == 'aa'){
|
|
return '';
|
|
}
|
|
}
|
|
|
|
|
|
//tabulator용 Function 시작
|
|
//tabulator 그리드 사용 시 컬럼에 A Tag와 같은 디자인 적용 시 사용
|
|
function fnc_createGridAnchorTag(cell, formatterParams, onRendered){
|
|
var appendText = "";
|
|
var fieldValue = fnc_checkNull(cell.getValue());
|
|
|
|
appendText += "<a href='#' href='#none' style='color:#0000EE'>"+fieldValue+"</a>";
|
|
|
|
return appendText;
|
|
}
|
|
function fnc_createGridApprovalAnchorTag(cell, formatterParams, onRendered){
|
|
var appendText = "";
|
|
var targetStatusTitle = fnc_checkNull(cell.getValue());
|
|
var targetStatus = fnc_checkNull(cell.getData().APPR_STATUS).toUpperCase();
|
|
var approvalObjId = fnc_checkNull(cell.getData().APPROVAL_OBJID);
|
|
var routeObjId = fnc_checkNull(cell.getData().ROUTE_OBJID);
|
|
|
|
if("CREATE" == targetStatus || "REJECT" == targetStatus){
|
|
appendText += targetStatusTitle;
|
|
}else{
|
|
appendText += "<a href='#' href='#none' style='color:#0000EE'>"+targetStatusTitle+"</a>";
|
|
}
|
|
|
|
return appendText;
|
|
}
|
|
function fnc_createGridAnchorTagAndComma(cell, formatterParams, onRendered){
|
|
var appendText = "";
|
|
var fieldValue = numberWithCommas(fnc_checkNull(cell.getValue()));
|
|
|
|
appendText += "<a href='#' href='#none' style='color:#0000EE'>"+fieldValue+"</a>";
|
|
|
|
return appendText;
|
|
}
|
|
|
|
//하위 정보 존재여부를 보여주는 영역 처리 시 사용.
|
|
function fnc_subInfoCntFormatter(cell){
|
|
var targetCnt = fnc_checkNullDefaultValue(cell.getValue(),0);
|
|
var imgTag = "";
|
|
|
|
if(0 < targetCnt){
|
|
imgTag = fnc_getFolderIcon();
|
|
}else{
|
|
imgTag = fnc_getFolderEmptyIcon();
|
|
}
|
|
|
|
return imgTag;
|
|
}
|
|
|
|
//하위 정보 존재여부를 보여주는 영역 처리 시 사용.
|
|
function fnc_subInfoCntFormatter2(targetCnt){
|
|
var imgTag = "";
|
|
|
|
if(0 < targetCnt){
|
|
imgTag = fnc_getFolderIcon();
|
|
}else{
|
|
imgTag = fnc_getFolderEmptyIcon();
|
|
}
|
|
|
|
return imgTag;
|
|
}
|
|
|
|
function fnc_subInfoValueFormatter(cell){
|
|
var targetCnt = fnc_checkNullDefaultValue(cell.getValue(),0);
|
|
var imgTag = "";
|
|
|
|
if(fnc_isEmpty(targetCnt)){
|
|
imgTag = fnc_getFolderEmptyIcon();
|
|
}else{
|
|
imgTag = fnc_getFolderIcon();
|
|
}
|
|
|
|
return imgTag;
|
|
}
|
|
|
|
function fnc_getFolderIcon(){
|
|
return "<img src='/images/folder_blue.png' height='25px' width='25px' />";
|
|
}
|
|
function fnc_getFolderEmptyIcon(){
|
|
return "<img src='/images/file_empty.png' height='25px' width='25px' />";
|
|
}
|
|
|
|
function fnc_subInfoCntFileFormatter(cell){
|
|
var targetCnt = fnc_checkNullDefaultValue(cell.getValue(),0);
|
|
var imgTag = "";
|
|
if(0 < targetCnt){
|
|
imgTag = fnc_getClipIcon();
|
|
}else{
|
|
imgTag = fnc_getHyphenIcon();
|
|
//imgTag = "-";
|
|
}
|
|
return imgTag;
|
|
}
|
|
|
|
function fnc_subDownCntFileFormatter(cell){
|
|
var targetCnt = fnc_checkNullDefaultValue(cell.getValue(),0);
|
|
var imgTag = "";
|
|
if(0 < targetCnt){
|
|
imgTag = fnc_getDownIcon();
|
|
}else{
|
|
imgTag = fnc_getDownEmptyIcon();
|
|
//imgTag = "-";
|
|
}
|
|
return imgTag;
|
|
}
|
|
|
|
function fnc_getDownIcon(){
|
|
return "<img src='/images/downlord.icn-03.png' height='25px' width='25px' />";
|
|
}
|
|
function fnc_getDownEmptyIcon(){
|
|
return "<img src='/images/downlord.icn-02.png' height='25px' width='25px' />";
|
|
}
|
|
|
|
function fnc_subInfoCntFileFormatter2(targetCnt){
|
|
var imgTag = "";
|
|
if(0 < targetCnt){
|
|
imgTag = fnc_getClipIcon();
|
|
}else{
|
|
imgTag = fnc_getHyphenIcon();
|
|
//imgTag = "-";
|
|
}
|
|
return imgTag;
|
|
}
|
|
|
|
function fnc_getClipIcon(){
|
|
return "<img src='/images/clip-01.png' height='25px' width='25px' />";
|
|
}
|
|
function fnc_getHyphenIcon(){
|
|
return "<img src='/images/hyphen.png' height='25px' width='25px' />";;
|
|
}
|
|
|
|
function selectSetVal(selValName, doTrigger){
|
|
$('select').each(function(index){
|
|
var selVal = $(this).attr(selValName);
|
|
var classVal = $(this).attr("class");
|
|
$(this).val(selVal);
|
|
//console.log('classVal:'+classVal);
|
|
if(doTrigger || classVal && classVal.indexOf("select2") > -1){
|
|
$(this).trigger("change");
|
|
}
|
|
});
|
|
}
|
|
$(document).ready(function() {
|
|
// 초기화 버튼 추가
|
|
$('.btnArea').append("<input type='button' class='plm_btns resetBtn' value='초기화'>");
|
|
|
|
function initializeButtons() {
|
|
var gridToUse = typeof _tabulGrid !== 'undefined' ? _tabulGrid :
|
|
typeof grid !== 'undefined' ? grid : null;
|
|
|
|
if (gridToUse && gridToUse.getRows().length > 0) {
|
|
var pageTitle = $('.plm_menu_name_gdnsi h2 span').text().trim();
|
|
$('.btnArea').append("<input type='button' class='plm_btns excelBtn' value='Excel Download'>");
|
|
|
|
$(document).on('click', '.excelBtn', async function() {
|
|
console.log("Excel 다운로드 버튼 클릭됨");
|
|
var data = gridToUse.getData();
|
|
var columns = gridToUse.getColumnDefinitions();
|
|
|
|
console.log("Original columns:", columns);
|
|
|
|
const workbook = new ExcelJS.Workbook();
|
|
const worksheet = workbook.addWorksheet(pageTitle || "ExcelData");
|
|
|
|
// 제목 추가
|
|
worksheet.mergeCells('A1:E1');
|
|
const titleCell = worksheet.getCell('A1');
|
|
titleCell.value = pageTitle;
|
|
titleCell.font = {
|
|
size: 16,
|
|
bold: true
|
|
};
|
|
titleCell.alignment = {
|
|
vertical: 'middle',
|
|
horizontal: 'center'
|
|
};
|
|
worksheet.getRow(1).height = 30;
|
|
|
|
// 빈 행 추가
|
|
worksheet.addRow([]);
|
|
|
|
// HTML 태그 제거 함수 (DOM 파서 사용)
|
|
function stripTags(input) {
|
|
if (typeof input !== 'string') return input;
|
|
var tmp = document.createElement("DIV");
|
|
tmp.innerHTML = input;
|
|
return tmp.textContent || tmp.innerText || "";
|
|
}
|
|
|
|
// 컬럼 처리 함수
|
|
function processColumns(columns, depth = 0) {
|
|
let processedColumns = [];
|
|
columns.forEach((col) => {
|
|
if (col.visible === false || col.title === undefined) return;
|
|
|
|
let column = {
|
|
title: stripTags(col.title), // 컬럼 제목에서도 태그 제거
|
|
field: col.field,
|
|
depth: depth,
|
|
colspan: 1,
|
|
rowspan: 1,
|
|
children: [],
|
|
headerHozAlign: col.headerHozAlign,
|
|
hozAlign: col.hozAlign,
|
|
width: col.width,
|
|
formatter: col.formatter,
|
|
formatterParams: col.formatterParams
|
|
};
|
|
|
|
if (col.columns) {
|
|
column.children = processColumns(col.columns, depth + 1);
|
|
if (column.children.length > 0) {
|
|
column.colspan = column.children.reduce((sum, child) => sum + child.colspan, 0);
|
|
}
|
|
}
|
|
|
|
processedColumns.push(column);
|
|
});
|
|
return processedColumns;
|
|
}
|
|
|
|
// 스팬 계산 함수
|
|
function calculateSpans(columns, maxDepth) {
|
|
columns.forEach(col => {
|
|
if (col.children.length === 0) {
|
|
col.rowspan = maxDepth - col.depth;
|
|
} else {
|
|
calculateSpans(col.children, maxDepth);
|
|
col.rowspan = 1;
|
|
}
|
|
});
|
|
}
|
|
|
|
// 최대 깊이 계산 함수
|
|
function getMaxDepth(column) {
|
|
if (column.children.length === 0) return column.depth;
|
|
return Math.max(...column.children.map(child => getMaxDepth(child)));
|
|
}
|
|
|
|
// 헤더 셀 추가 함수
|
|
function addHeaderCells(worksheet, columns, startRow, startCol, maxDepth) {
|
|
columns.forEach(col => {
|
|
const cell = worksheet.getCell(startRow, startCol);
|
|
cell.value = col.title;
|
|
|
|
let endRow = startRow + (col.children.length === 0 ? maxDepth - col.depth : 0);
|
|
let endCol = startCol + col.colspan - 1;
|
|
|
|
if (endRow > startRow || endCol > startCol) {
|
|
worksheet.mergeCells(startRow, startCol, endRow, endCol);
|
|
}
|
|
|
|
// 스타일 적용
|
|
cell.fill = {
|
|
type: 'pattern',
|
|
pattern: 'solid',
|
|
fgColor: { argb: 'FF4472C4' }
|
|
};
|
|
cell.font = {
|
|
color: { argb: 'FFFFFFFF' },
|
|
bold: true
|
|
};
|
|
cell.alignment = {
|
|
vertical: 'middle',
|
|
horizontal: col.headerHozAlign || 'center',
|
|
wrapText: true
|
|
};
|
|
cell.border = {
|
|
top: { style: 'thin' },
|
|
left: { style: 'thin' },
|
|
bottom: { style: 'thin' },
|
|
right: { style: 'thin' }
|
|
};
|
|
|
|
// 열 너비 설정
|
|
if (col.width) {
|
|
worksheet.getColumn(startCol).width = parseFloat(col.width) / 7; // 대략적인 변환
|
|
}
|
|
|
|
if (col.children.length > 0) {
|
|
addHeaderCells(worksheet, col.children, startRow + 1, startCol, maxDepth);
|
|
}
|
|
|
|
startCol += col.colspan;
|
|
});
|
|
}
|
|
|
|
let processedColumns = processColumns(columns);
|
|
const maxDepth = Math.max(...processedColumns.map(col => getMaxDepth(col)));
|
|
|
|
calculateSpans(processedColumns, maxDepth);
|
|
|
|
// 헤더 추가 (제목 행과 빈 행 다음부터)
|
|
const headerStartRow = 3;
|
|
for (let i = 0; i < maxDepth; i++) {
|
|
worksheet.addRow([]);
|
|
}
|
|
addHeaderCells(worksheet, processedColumns, headerStartRow, 1, maxDepth);
|
|
|
|
// 리프 컬럼 가져오기
|
|
function getLeafColumns(columns) {
|
|
let leafColumns = [];
|
|
columns.forEach(col => {
|
|
if (col.children.length > 0) {
|
|
leafColumns = leafColumns.concat(getLeafColumns(col.children));
|
|
} else {
|
|
leafColumns.push(col);
|
|
}
|
|
});
|
|
return leafColumns;
|
|
}
|
|
|
|
let leafColumns = getLeafColumns(processedColumns);
|
|
console.log("Leaf columns:", leafColumns);
|
|
|
|
// 데이터 추가 (헤더 다음 행부터)
|
|
const dataStartRow = headerStartRow + maxDepth;
|
|
data.forEach((row, rowIndex) => {
|
|
let rowData = leafColumns.map(col => {
|
|
let value = row[col.field];
|
|
|
|
// HTML 태그 제거
|
|
if (typeof value === 'string') {
|
|
value = stripTags(value);
|
|
console.log(`Row ${rowIndex + 1}, Column ${col.field} after stripTags:`, value);
|
|
}
|
|
|
|
if (col.formatter === "money" && col.formatterParams) {
|
|
// 금액 포맷팅 적용
|
|
let precision = col.formatterParams.precision === false ? 0 : (col.formatterParams.precision || 0);
|
|
value = new Intl.NumberFormat('ko-KR', {
|
|
style: 'decimal',
|
|
minimumFractionDigits: precision,
|
|
maximumFractionDigits: precision
|
|
}).format(value);
|
|
} else if (typeof col.formatter === 'function') {
|
|
try {
|
|
value = col.formatter({ value, data: row });
|
|
} catch (error) {
|
|
console.warn(`Error applying formatter for column ${col.field}:`, error);
|
|
}
|
|
}
|
|
return (value === null || value === 'null') ? '' : value;
|
|
});
|
|
|
|
// 데이터 셀에 스타일 적용
|
|
let excelRow = worksheet.addRow(rowData);
|
|
excelRow.eachCell((cell, colNumber) => {
|
|
let column = leafColumns[colNumber - 1];
|
|
if (column) {
|
|
cell.alignment = {
|
|
vertical: 'middle',
|
|
horizontal: column.hozAlign || 'left'
|
|
};
|
|
if (column.formatter === "money") {
|
|
// 금액 셀에 대한 추가 스타일링
|
|
cell.numFmt = '#,##0'; // 숫자 형식 적용
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
// 열 너비 설정
|
|
worksheet.columns.forEach((column, index) => {
|
|
let maxLength = 0;
|
|
column.eachCell({ includeEmpty: true }, function(cell) {
|
|
let columnLength = cell.value ? cell.value.toString().length : 10;
|
|
if (columnLength > maxLength) {
|
|
maxLength = columnLength;
|
|
}
|
|
});
|
|
column.width = Math.max(maxLength, 15);
|
|
});
|
|
|
|
// 파일명 생성 및 다운로드 (시간 포함)
|
|
var date = new Date();
|
|
var currentDate = date.getFullYear() +
|
|
("0" + (date.getMonth() + 1)).slice(-2) +
|
|
("0" + date.getDate()).slice(-2) +
|
|
"_" +
|
|
("0" + date.getHours()).slice(-2) +
|
|
("0" + date.getMinutes()).slice(-2);
|
|
var fileName = (pageTitle || "ExcelData") + "_" + currentDate + ".xlsx";
|
|
|
|
const buffer = await workbook.xlsx.writeBuffer();
|
|
saveAs(new Blob([buffer]), fileName);
|
|
|
|
console.log("Excelww 다운로드 프로세스 완료");
|
|
});
|
|
} else {
|
|
setTimeout(initializeButtons, 1);
|
|
}
|
|
}
|
|
|
|
// 초기화 버튼 클릭 시 동작
|
|
$(document).on('click', '.resetBtn', function() {
|
|
$("input[type='text']").val("");
|
|
$("input[type='checkbox']").prop('checked', false);
|
|
$('select.select2').val(null).trigger('change');
|
|
});
|
|
|
|
initializeButtons();
|
|
});
|
|
|
|
function fnc_hideResetButton(Btnclass){
|
|
$(".resetBtn").hide();
|
|
}
|
|
|
|
function fn_createResetButton(Btnclass){
|
|
$('.'+Btnclass).append("<input type='button' class='plm_btns resetBtn' value='초기화'>");
|
|
}
|
|
|
|
|
|
function fnc_tabulCallbackFnc(objid, docType, columnField, fileCnt){
|
|
var sameRows = _tabulGrid.searchRows("OBJID", "=", objid);
|
|
sameRows.forEach(function (sameRow) {
|
|
var sameRowData = sameRow.getData();
|
|
sameRowData.FILE_CNT = fileCnt;
|
|
sameRow.update(sameRowData);
|
|
//sameRow.update(sameRow.getData());
|
|
});
|
|
}
|
|
|
|
//tabulator용 Function 종료
|