/** * 콘크리트시험실 시험관리 공통 JS */ $(function($) { // remark 데이터 var remark = $('#remark'); var remarkVal = $('input[name="remark"]').val(); remark.val(remarkVal); // remark 데이터 //신규 입력 $('#testSploreSearch').on('click', function() { var selectLength = $('input[name="selectLength"]').val(); var sploreSe = $('input[name="sploreSe"]').val(); var param = { selectLength : selectLength, sploreSe : sploreSe } $.testSplorePopup(param); }); // 시험대상시료 삭제 $('#testSploreDelete').on('click', function() { var selectLength = $('input[name="selectLength"]').val(); var param = { selectLength : selectLength } var returnVal = $.testSploreDelete(param); var flag = returnVal.flag; if (flag) { var array = returnVal.splitArray; var params = { sploreId : array[0], sploreNo : array[1], sploreKnd : array[2], } testManageDeleteCallback(params); } }); // 시험대상시료 선택시 정보 조회 $('#sploreTbody').on('change', 'input[type="radio"]', function() { var $radio = $(this).val(); var param = { radio : $radio } $.testSploreInfo(param); }); // 콘크리트 시험실 - 시험관리 - 마스터 저장 $.testManageMastr = function(param) { // 디자인 공통화 되면 table에서 찾기 var $tbody = $('#sploreTbody'); var $tr = $tbody.find('tr'); var array = Array(); // 시료ID, 시료번호 $tr.each(function() { var sploreId = $(this).find('input[name="sploreId"]').val(); var splitArray = sploreId.split('||'); array.push({ sploreId : splitArray[0], sploreNo : splitArray[1], sploreKnd : splitArray[2], testNo : splitArray[3] }); }); // 결재ID var sanctnId = param.sanctnId; // 보고서 종류 var reprtKndId = param.reprtKndId; var testMastrId = $('#testMastrId').val(); var testCl = $('#testCl').val(); var testDe = $('#testDe').val(); var remark = $('#remark').val(); var param = { 'testMastrId' : testMastrId, 'reprtKndId' : reprtKndId, 'testCl' : testCl, 'testDe' : testDe, 'remark' : remark, 'sanctnId' : sanctnId, 'mastrSploreList' : JSON.stringify(array) } var returnVal = ''; $.ajax({ type : "POST", url : "/clas/testManage/mastr/insertJson.do", data : param, dataType : 'json', async : false, success : function(result) { returnVal = result; }, error : function(request, error) { console.log("콘크리트시험실_시험마스터 저장 :" + request.status + "\n" + "error:" + error); } }); return returnVal; } // 콘크리트 시험실 - 시험관리 공통 테이블 생성 $.createTable = function(params) { var $tbody = $('#sploreTbody'); $tbody.empty(); var $tr = $tbody.find('tr'); var $trLength = $('#sploreTbody').find('tr').length; var array = Array(); $tr.each(function() { var sploreId = $(this).find('input[name="sploreId"]').val(); var splitArray = sploreId.split('||'); array.push({ sploreId : splitArray[0], sploreNo : splitArray[1], sploreKnd : splitArray[2] }); }); var dom = ''; var cnt = $trLength; var flagCnt = 0; for (var i = 0; i < params.list.length; i++) { var flag = true; var list = params.list[i]; var checked = ''; for (var j = 0; j < array.length; j++) { var listSploreId = list.sploreId; var listSploreNo = list.sploreNo; if (listSploreId == array[j].sploreId && listSploreNo == array[j].sploreNo) { flag = false; } } if (flag) { cnt = cnt + 1; if (flagCnt == 0) { checked = 'checked=checked'; // 시료구분 $('#sploreSeNm').val(list.sploreSeNm); // 시료 종류 $('#sploreKndNm').val(list.sploreKndNm); // 시료원 $('#sploreArea').val(list.sploreArea); // 시료채취장소 $('#splorePickPlace').val(list.splorePickPlace); // 시료 채취자 $('#splorePickNm').val(list.splorePickNm); // 시료 채취일자 $('#splorePickDe').val(list.splorePickDe); // Lot No. $('#lotNo').val(list.lotNo); // 시료 제작일자 $('#sploreMnfctDe').val(list.sploreMnfctDe); // 실험실 온도 $('#lbrtryTp').val(list.lbrtryTp); // 시료제작시간 $('#sploreMnfctTime').val(list.sploreMnfctTime); // 기타 시료 정보 $('#etcSplore').val(list.etcSplore); flagCnt++; } dom += ''; dom += ''; dom += ''; dom += ''; dom += ''; dom += cnt; dom += ''; dom += ''; dom += list.sploreId; dom += ''; dom += ''; dom += list.sploreNo; dom += ''; dom += ''; dom += list.sploreSeNm; dom += ''; dom += ''; dom += list.sploreKndNm; dom += ''; dom += ''; } } $tbody.append(dom); // 선택가능 개수가 같을 시 버튼 비활성화 // var selectLength = params.selectLength; // $trLength = $('#sploreTbody').find('tr').length; // if (selectLength == $trLength) { // $('#testSploreSearch').off(); // } } $.testSplorePopup = function(param) { var selectLength = param.selectLength; var sploreSe = param.sploreSe; // 배열형태로 생성 후 JSON 문자열로 변환 var $tbody = $('#sploreTbody'); var $tr = $tbody.find('tr'); $trLength = $('#sploreTbody').find('tr').length; if (selectLength == $trLength) { alert(selectLength + "개의 시험대상시료를 선택할 수 있습니다.\n삭제 후 추가해주세요."); return false; } else { var array = Array(); // 시료ID, 시료번호 $tr.each(function() { var sploreId = $(this).find('input[name="sploreId"]').val(); var splitArray = sploreId.split('||'); array.push({ sploreId : splitArray[0], sploreNo : splitArray[1] }); }); /** * ********************************** * parameter * 1. selectLength : 선택 가능 개수 * 2. idArray : 현재 선택되어 있는 시험시료에 대한 배열 * ex) var array = [ {"sploreId" : 'CE-0000001', "sploreNo" : '004'}, {"sploreId" : 'CE-0000001', "sploreNo" : '003'} ]; * ********************************** */ var params = { "selectLength" : selectLength, "sploreSe" : sploreSe, "idArray" : JSON.stringify(array) } fncPopupOpen("/clas/stdr/testSplore/pop/list.do", 1200, 700, params); } } // 시험대상 시료 삭제 $.testSploreDelete = function(param) { var returnVal = {}; var $tbody = $('#sploreTbody'); var $tr = $tbody.find('tr'); var $checkedRadio = $tr.find('input[type="radio"]:checked'); var $checkedRadioLength = $checkedRadio.length; var flag = true; var val = $checkedRadio.val(); var splitArray = ''; if ($checkedRadioLength != 0) { splitArray = val.split('||'); $checkedRadio.closest('tr').remove(); // 시료구분 $('#sploreSeNm').val(''); // 시료 종류 $('#sploreKndNm').val(''); // 시료원 $('#sploreArea').val(''); // 시료채취장소 $('#splorePickPlace').val(''); // 시료 채취자 $('#splorePickNm').val(''); // 시료 채취일자 $('#splorePickDe').val(''); // Lot No. $('#lotNo').val(''); // 시료 제작일자 $('#sploreMnfctDe').val(''); // 실험실 온도 $('#lbrtryTp').val(''); // 시료제작시간 $('#sploreMnfctTime').val(''); // 기타 시료 정보 $('#etcSplore').val(''); $tr = $tbody.find('tr'); $tr.each(function(i) { $(this).find('td:eq(1)').text(parseInt(i) + 1); }); // 선택가능 개수가 같을 시 버튼 활성화 // var selectLength = param.selectLength; // $trLength = $('#sploreTbody').find('tr').length; // if (selectLength != $('#sploreTbody').find('tr').length) { // $('#testSploreSearch').on('click', function() { // var param = { // selectLength : selectLength // } // $.testSplorePopup(param); // }); // } } else { alert("삭제할 시험대상시료가 없습니다."); flag = false; } returnVal = { flag : flag, splitArray : splitArray } return returnVal; } // 시험대상시료 라디오 선택 시 시험대상시료 정보 조회 $.testSploreInfo = function(param) { var sploreId = param.radio; var splitArray = sploreId.split('||'); var params = { sploreId : splitArray[0], sploreNo : splitArray[1] } $.ajax({ type : "POST", url : "/clas/testManage/mastr/sploreInfo/selectJson.do", data : params, dataType : 'json', success : function(result) { // 시료구분 $('#sploreSeNm').val(result.sploreSeNm); // 시료 종류 $('#sploreKndNm').val(result.sploreKndNm); // 시료원 $('#sploreArea').val(result.sploreArea); // 시료채취장소 $('#splorePickPlace').val(result.splorePickPlace); // 시료 채취자 $('#splorePickNm').val(result.splorePickNm); // 시료 채취일자 $('#splorePickDe').val(result.splorePickDe); // Lot No. $('#lotNo').val(result.lotNo); // 시료 제작일자 $('#sploreMnfctDe').val(result.sploreMnfctDe); // 실험실 온도 $('#lbrtryTp').val(result.lbrtryTp); // 시료제작시간 $('#sploreMnfctTime').val(result.sploreMnfctTime); // 기타 시료 정보 $('#etcSplore').val(result.etcSplore); }, error : function(request, error) { console.log("콘크리트시험실_시험대상시료 정보 조회 :" + request.status + "\n" + "error:" + error); } }); } });