$(document).on('click', '#crackdownStatusAddBtn', function () { getCrackdownStatusEditModal(null); }); $(document).on('click', '#cdsEditBtn', function () { $("#crackdownStatusViewModal").modal('hide'); getCrackdownStatusEditModal(Number($("#crackdownStatusViewBody").find("[name='cdsKey']").val())); }); $(document).on('click', '#saveCrackdownStatusBtn', function (){ saveCrackdownStatus('N') }); $(document).on('click', '#saveTempBtn', function (){ saveCrackdownStatus('Y') }); $(document).on('click', '.tr', function (){ getCrackdownStatusViewModal($(this).data('key')); }); $(document).on('click', '#history-tab', function (){ getCrackdownStatusHistoryViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val()); }); $(document).on('click', '#crackdownStatus-tab', function (){ getCrackdownStatusViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val()); }); $(document).on('click', '.version-tr', function (){ $(this).find('input[name="versionNo"]').prop('checked', true); const versionNo = $(this).find('input[name="versionNo"]').val(); const cdsKey = $('#cdsEditForm').find('input[name="cdsKey"]').val(); getCrackdownStatusHistoryDetail(versionNo, cdsKey); }); $(document).on('change', 'select[name="crackdownPolice"]', function (){ dynamicOption('select[name="crackdownBoat"]', $(this).val()); }); $(document).on('click', '#sailorAddBtn', function (){ $('#sailorDiv').append( '
' + '' + '
' + '' + '
' + '
' + '' + '
' + '' + '
' ) }); $(document).on('click', '#violationAddBtn', function (){ let violation = ''; commonCode.VT.forEach(function (item){ violation += ''; }) $('#violationDiv').append( '
' + '' + '' + '
' ) }); $(document).on('click', '#sailorRemoveBtn', function (){ $(this).parent().remove(); let deleteKey = $(this).parent().children("input[name='sailorKey']").val(); $("#cdsEditForm").append(''); }); $(document).on('click', '#violationRemoveBtn', function (){ $(this).parent().remove(); let deleteKey = $(this).parent().children("input[name='violationKey']").val(); $("#cdsEditForm").append(''); }); $(document).on('change', '.violation', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next('.etcDiv').remove(); } }); $(document).on('change', '#fisheryType', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next().remove(); } }); $(document).on('change', '#crackdownPolice', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next().remove(); } }); $(document).on('change', '#crackdownBoat', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next().remove(); } }); $(document).on('change', '#boatMaterial', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next().remove(); } }); $(document).on('change', '#processStatus', function (){ if ($(this).val() == 'etc') { $(this).after( '
' + '' + '
' ); } else { $(this).next().remove(); } }); $(document).on('click', '#cdsDownExcel', function (){ exportExcel('불법조업 불법어선 단속현황'); }); function getCrackdownStatusHistoryDetail(versionNo, cdsKey){ $.ajax({ url: '/faStatistics/crackdownStatus/crackdownStatusHistoryDetail', data: { versionNo : versionNo, cdsKey : cdsKey }, type: 'GET', dataType:"html", success: function(html){ $("#historyDetailDiv").empty().append(html); }, error:function(){ } }); } function getCrackdownStatusViewModal(cdsKey){ $.ajax({ url: '/faStatistics/crackdownStatus/crackdownStatusViewModal', data: {cdsKey: cdsKey}, type: 'GET', dataType:"html", success: function(html){ $("#cdsEditBody").empty(); $("#crackdownStatusViewBody").empty().append(html) $("#crackdownStatusViewModal").modal('show'); }, error:function(){ } }); } function getCrackdownStatusHistoryViewModal(cdsKey){ $.ajax({ url: '/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal', data: {cdsKey: cdsKey}, type: 'GET', dataType:"html", success: function(html){ $("#crackdownStatusViewBody").empty().append(html) $("#crackdownStatusViewModal").modal('show'); }, error:function(){ } }); } function getCrackdownStatusEditModal(cdsKey){ $.ajax({ url: '/faStatistics/crackdownStatus/crackdownStatusEditModal', data: { cdsKey: cdsKey }, type: 'GET', dataType:"html", success: function(html){ $("#crackdownStatusViewBody").empty(); $("#crackdownStatusEditModalContent").empty().append(html); $("#crackdownStatusEditModal").modal('show'); $("#napoDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); $("#birthdate").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#paymentPaymentDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); $("#consignmentStartDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#consignmentEndDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#evictionDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#returnDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#confiscationDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#boatDisposalDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#directHandoverDt").datepicker({ format: "yyyy-mm-dd", language: "ko" }); $("#fieldIvsgtNapoDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); $("#fieldIvsgtReleaseDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); $("#pressurizedStartDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); $("#pressurizedEndDt").datetimepicker({ format:'Y-m-d H:i', lang:'kr' }); }, error:function(){ } }); } function saveCrackdownStatus(saveYn){ $('input[name="fieldIvsgtTimeTaken"]').val(dateTimeCalc($("#fieldIvsgtNapoDt").val(), $("#fieldIvsgtReleaseDt").val())); $('input[name="warrantReqTakeTime"]').val(dateTimeCalc($("#pressurizedStartDt").val(), $("#pressurizedEndDt").val())); $('input[name="pressurizedTimeTaken"]').val(dateTimeCalc($("#pressurizedStartDt").val(), $("#pressurizedEndDt").val())); if(contentCheck()){ if(confirm("저장하시겠습니까?")){ $("#saveYn").val(saveYn); contentFade("in"); const formData = new FormData($("#cdsEditForm")[0]); let violationList = []; let sailorList = []; sailorList.push( { sailorKey: $("#cdsEditForm").find('input[name="captinSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="captinSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="captinSailorKey"]').val()) : null, position: 'POS001', sailorNameKr: $("#cdsEditForm").find('input[name="sailorNameKr"]').val() != '' ? $("#cdsEditForm").find('input[name="sailorNameKr"]').val() : null, isRestriction: $("#cdsEditForm").find('select[name="captin"]').val() != '' ? $("#cdsEditForm").find('select[name="captin"]').val() : null, birthdate: $("#cdsEditForm").find('input[name="birthdate"]').val() != '' ? $("#cdsEditForm").find('input[name="birthdate"]').val() : null }, { sailorKey: $("#cdsEditForm").find('input[name="mateSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="mateSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="mateSailorKey"]').val()) : null, position: 'POS002', sailorNameKr: null, isRestriction: $("#cdsEditForm").find('select[name="mate"]').val() != '' ? $("#cdsEditForm").find('select[name="mate"]').val() : null }, { sailorKey: $("#cdsEditForm").find('input[name="wardenSailorKey"]').val() != '' && $("#cdsEditForm").find('input[name="wardenSailorKey"]').val() != 'false' ? Number($("#cdsEditForm").find('input[name="wardenSailorKey"]').val()) : null, position: 'POS003', sailorNameKr: null, isRestriction: $("#cdsEditForm").find('select[name="warden"]').val() != '' ? $("#cdsEditForm").find('select[name="warden"]').val() : null } ); $("select[name='sailor']").each(function (){ sailorList.push({ sailorKey: $(this).parent().parent().find('input[name="sailorKey"]').val() != undefined ? Number($(this).parent().parent().find('input[name="sailorKey"]').val()) : null, sailorNameKr: $(this).parent().parent().find('input[name="sailorNameKr"]').val(), position: 'POS006', isRestriction: $(this).val() != undefined ? $(this).val() : null }); }); for (let i=0; i < sailorList.length; i++) { if (sailorList[i].sailorKey != null) { formData.append(`sailorList[${i}].sailorKey`, sailorList[i].sailorKey); } if (sailorList[i].sailorNameKr != null) { formData.append(`sailorList[${i}].sailorNameKr`, sailorList[i].sailorNameKr); } formData.append(`sailorList[${i}].position`, sailorList[i].position); if (sailorList[i].isRestriction != null) { formData.append(`sailorList[${i}].isRestriction`, sailorList[i].isRestriction); } if (sailorList[i].birthdate != null) { formData.append(`sailorList[${i}].birthdate`, sailorList[i].birthdate); } } $(".violation").each(function (){ violationList.push({ violationKey: $(this).parent().find('input[name="violationKey"]').val() != undefined ? Number($(this).parent().find('input[name="violationKey"]').val()) : null, fbKey: $("#cdsEditForm").find('input[name="fbKey"]').val() != undefined ? Number($("#cdsEditForm").find('input[name="fbKey"]').val()) : null, violation: $(this).val() != '' ? $(this).val() : null, violationEtc: $(this).parent().find('input[name="violationEtc"]').val() != undefined ? $(this).parent().find('input[name="violationEtc"]').val() : null }); }); for (let i=0; i < violationList.length; i++) { if (violationList[i].violationKey != null) { formData.append(`violationList[${i}].violationKey`, violationList[i].violationKey); } if (violationList[i].fbKey != null) { formData.append(`violationList[${i}].fbKey`, violationList[i].fbKey); } if (violationList[i].violation != null) { formData.append(`violationList[${i}].violation`, violationList[i].violation); } if (violationList[i].violationEtc != null) { formData.append(`violationList[${i}].violationEtc`, violationList[i].violationEtc); } } $.ajax({ type : 'POST', data : formData, url : "/faStatistics/crackdownStatus/saveCrackdownStatus", processData: false, contentType: false, success : function(result) { alert("저장되었습니다."); contentFade("out"); $("#crackdownStatusEditModal").modal('hide'); }, error : function(xhr, status) { alert("저장에 실패하였습니다.") contentFade("out"); } }) } } } function contentCheck(){ let flag = true; if(!$('input[name="boatNameKr"]').val()) { alert('선명을 입력해주세요.'); $('input[name="boatNameKr"]').focus(); return false; } if(!$('select[name="processStatus"]').val()) { alert('처리현황을 선택해주세요.'); $('select[name="processStatus"]').focus(); return false; } return flag; } function exportExcel(name){ var excelHandler = { getExcelFileName : function(){ return name+getToday()+'.xlsx'; //파일명 }, getSheetName : function(){ return name; }, getExcelData : function(){ return document.getElementById('cdsTable'); //TABLE id }, getWorksheet : function(){ return XLSX.utils.table_to_sheet(this.getExcelData()); } } // step 1. workbook 생성 var wb = XLSX.utils.book_new(); // step 2. 시트 만들기 var newWorksheet = excelHandler.getWorksheet(); // step 3. workbook에 새로만든 워크시트에 이름을 주고 붙인다. XLSX.utils.book_append_sheet(wb, newWorksheet, excelHandler.getSheetName()); // step 4. 엑셀 파일 만들기 var wbout = XLSX.write(wb, {bookType:'xlsx', type: 'binary'}); // step 5. 엑셀 파일 내보내기 saveAs(new Blob([s2ab(wbout)],{type:"application/octet-stream"}), excelHandler.getExcelFileName()); } function s2ab(s) { var buf = new ArrayBuffer(s.length); //convert s to arrayBuffer var view = new Uint8Array(buf); //create uint8array as viewer for (var i=0; i