Files
sam-api/public/admin/js/company/company.js
2025-07-17 10:05:47 +09:00

468 lines
15 KiB
JavaScript

$(document).ready(function () {
/* Company 등록/수정 팝업*/
$('.company-reg').on("click",function(){
let com_no = $(this).data('idx');
popCompany(com_no);
})
/* Company 수정*/
$('#btn-register').on("click",function(){
var formData = $("#dailyTaskInput").serialize();
if(!$("#com_name").val()){
alert('업체명을 입력해 주세요.');
$("#com_name").focus();
return;
}
$.ajax({
cache : false,
url : "/html/process.html", // 요기에
type : 'POST',
data : formData,
success : function(data) {
if(data=='Success' || data == 'Auth'){
top.opener.location.reload();
self.close();
}
else alert(data);
}, // success
error : function(xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
})
/* Company 삭제*/
$('.company-del').on("click",function(){
let com_no = $(this).data('idx')
let refpage = '/html/company/company_add.html';
if(!com_no){
alert('회원정보가 아닙니다.');
return;
}
if(!confirm('해당 업체를 삭제 하시겠습니까?')) return;
$.ajax({
cache : false,
url : "/html/process.html",
type : 'POST',
data : {com_no:com_no,mod:'del',refpage:refpage },
success : function(data) {
if(data=='Success') location.reload();
else alert(data);
}, // success
error : function(xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
})
// 리스트내 세부정보 토글
$(".company-list").on("click",function(){
let comDetail = $(this).parent().parent().parent().next();
let status = comDetail.hasClass('hidden');
if(status){
comDetail.removeClass('hidden');
}else{
comDetail.addClass('hidden');
}
});
// 업체 임직원 신규등록 모달
$(".company-member-add").on("click",function(){
let com_no = $(this).data('idx')
$('#com_no').val('');
if(com_no){
$('#com_no').val(com_no);
}else{
$('#company-tr').removeClass('hidden');
}
document.getElementById('myModal-company-user').style.display = 'block';
});
// 업체 임직원 수정 화면
var titleORG='';
$(document).on("click",'.view-company-user-modal',function(e){
let refpage = "/html/company/customer_list.html";
let idx = $(this).data('idx');
$.ajax({
cache : false,
url : "/html/process.html",
type : 'POST',
dataType: 'json',
data : {sidx:idx,mod:'view',refpage:refpage },
success : function(data) {
//console.log(data);
if(data.response=='Success') {
$('#company-tr').removeClass('hidden');
document.getElementById('myModal-company-user').style.display = 'block';
let CU = data.data;
$('#CU_NAME').val(CU.CU_NAME);
$('#COMPANY').val(CU.COM_NO);
$('#CU_ROLE').val(CU.CU_ROLE);
$('#CU_HP').val(CU.CU_HP);
$('#CU_EMAIL').val(CU.CU_EMAIL);
$('#CU_JUMIN').val(CU.CU_JUMIN);
$('#CU_ADDR').val(CU.CU_ADDR);
$('#CU_MEMO').val(CU.CU_MEMO);
if(idx) $('#modal-btn').text('수정');
$('#cu_no').val(idx);
}
else alert(data);
}, // success
error : function(xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
})
// 업체 임직원 정보 등록
$(".submit-com-user").on("click",function(){
var formData = $("#frm-company-user-add").serialize();
let setName = $("#CU_NAME").val();
if(!setName){
alert('이름을 입력해 주세요.');
return;
}
$.ajax({
cache : false,
url : "/html/process.html",
type : 'POST',
data : formData,
dataType: 'json',
success : function(data) {
//console.log(data);
if(data.response == 'Success') {
let val = data.data;
let html = '';
if(val.refpage == "/html/company/company_list.html") {
html += '<tr>';
html += ' <td class="company-user-td"> &nbsp; </td>';
html += ' <td class="company-user-td">' + val.CU_ROLE + ' ' + val.CU_NAME + '</td>';
html += ' <td class="company-user-td">' + val.CU_HP + '</td>';
html += ' <td class="company-user-td">' + val.CU_EMAIL + '</td>';
html += ' <td class="company-user-td">' + val.CU_JUMIN + '</td>';
html += ' <td class="company-user-td">' + val.CU_ADDR + '</td>';
html += ' <td class="company-user-td">' + val.CU_MEMO + '</td>';
html += ' <td class="company-user-td">';
html += ' <button class="btn btn-tiny btn-nomal company-member-del" data-idx="">X</button>';
html += ' </td>';
html += '</tr>';
$("#ComUserTable_" + val.com_no).append(html);
}
else if (val.refpage == "/html/company/company_detail.html"){
html += '<tr>';
html += ' <td>' + val.CU_ROLE + ' ' + val.CU_NAME + '</td>';
html += ' <td>' + val.CU_HP + '</td>';
html += ' <td>' + val.CU_EMAIL + '</td>';
html += ' <td>' + val.CU_JUMIN + '</td>';
html += ' <td>' + val.CU_ADDR + '</td>';
html += ' <td>';
html += ' <button class="btn btn-tiny btn-nomal company-member-del" data-idx="'+ val.com_no +'|'+ val.cu_no + '">X</button>';
html += ' </td>';
html += '</tr>';
$("#appendix-user").append(html);
}
else if (val.refpage == "/html/company/customer_list.html"){
location.reload();
}
} else alert(data);
}, // success
error: function (xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
// 모달 닫기
closeModal();
})
// 업체 임직원 정보 삭제
$(document).on("click", ".company-member-del", function () {
let data = $(this).data('idx').split('|');
//console.log(data);
let com_no = data[0];
let cu_no = data[1];
let type = data[2];
let target = $(this).parent().parent();
if(!confirm('해당 임직원을 삭제 하시겠습니까?\n관련 파일이 있으면 파일도 함께 삭제 됩니다.')) return;
$.ajax({
cache: false,
url: "/html/process.html",
type : 'POST',
data : {com_no:com_no,cu_no:cu_no,mod:'del',refpage:'/html/company/company_list.html' },
success : function(data) {
if(data=='Success') {
if (type == 'customer'){
location.reload();
}else {
target.remove();
}
}
else alert(data);
}, // success
error : function(xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
})
$(".btn-company-search").on("click", function () {
let com_no = $('#keyword').val();
if(com_no) location.href='?com_no='+com_no;
})
/*** 업체관리 상세[S] ***/
// 업체관리 상세 탭 활성
$("[class*='appendix-']").on("click", function(){
// 클릭된 요소의 모든 클래스를 배열로 가져와 "appendix-"로 시작하는 클래스를 찾음
let classList = $(this).attr('class').split(/\s+/);
let appendixClass = classList.find(function(className) {
return className.startsWith('appendix-');
});
$("[id^='appendix-']").addClass("hidden");
$("#"+appendixClass).removeClass("hidden");
})
// 파일관리 - 첨부파일 모달 오픈
$(".company-file-add").on("click",function(){
let com_no = $(this).data('idx');
$('input[name="com_no"]').val('');
if(com_no){
$('input[name="com_no"]').val(com_no);
}
// 테이블 초기화
fno = 0;
$('#fileTable tbody tr').remove();
$(".file-add").trigger('click');
$("#myModal-company-file").show();
$(".file-add").show();
$(".text-file-title").text("등록");
});
// 파일등록 - 항목추가
var fno = 0;
$(".file-add").on("click",function(){
fno++;
let addHtml = '';
addHtml +='<tr class="add-tr">';
addHtml +=' <td>';
addHtml +=' <select class="form-control" name="fileType['+fno+']" style="padding:5px">';
addHtml +=' <option value="00">일반</option>';
addHtml +=' <option value="01">컨설팅</option>';
addHtml +=' <option value="02">보험</option>';
addHtml +=' <option value="03">인증서</option>';
addHtml +=' <option value="04">기타</option>';
addHtml +=' </select>';
addHtml +=' </td>';
addHtml +=' <td>';
addHtml +=' <input class="form-control btn-xs" type="text" name="fileName['+fno+']" list="file_list" placeholder="파일명" autocomplete="off"/>';
addHtml +=' </td>';
addHtml +=' <td>';
addHtml +=' <input class="btn-xs" type="file" name="upload['+fno+']" style="width:100%">';
addHtml +=' </td>';
addHtml +='</tr>';
$('#fileTable').append(addHtml);
});
// 파일등록 - 업로드
$(".submit-com-file").on("click",function(){
// 로딩바
$('#status').fadeIn();
$('#preloader').delay(100).fadeIn();
var formData = new FormData($('#frm-company-file-add')[0]); // FormData 객체 생성
$.ajax({
cache : false,
url : "/html/process.html",
type : 'POST',
data : formData,
contentType: false,
processData: false,
dataType: 'json',
success : function(data) {
//console.log(data);
if(data.response == 'Success') {
$("#fileTable > tbody").empty(); // 파일입력폼 초기화
let fileData = data.data;
$.each(fileData, function(index, value) {
let FD = fileData[index];
let fileHtml = '';
if(index < 1){
$("#ComFileTable_"+FD.T_ID).empty(); // 파일리스트 초기화
}
fileHtml += '<div class="appendix">';
fileHtml += ' <a href="/html/download.html?file='+FD.R_NAME+'" target="_blank">'+FD.F_NAME+'</a>&nbsp;&nbsp;';
fileHtml += ' <i class="fas fa-edit file-modify" aria-hidden="true" data-idx="'+FD.F_NO+'"></i>';
fileHtml += ' <i class="fa fa-minus-square file-delete" aria-hidden="true" data-idx="'+FD.F_NO+'"></i>';
fileHtml += '</div>';
$("#ComFileTable_"+FD.T_ID).append(fileHtml);
});
} else alert(data.response);
}, // success
error: function (xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
$('#status').fadeOut();
$('#preloader').delay(100).fadeOut();
// 모달 닫기
closeModal();
})
/*** 업체관리 상세[E] ***/
//카드에 내용 보기
$(".btn-detail").on("click", function () {
let target = $(this).data('area');
$("#"+target).toggleClass('hidden');
})
// 업체명 검색
$('#com-search').on('input', function() {
var searchText = $(this).val().toLowerCase(); // 입력된 텍스트를 소문자로 변환
$('.com-title').each(function() {
var comTitleText = $(this).data('comtitle').toLowerCase(); // data-comtitle 값을 소문자로 변환
if (comTitleText.includes(searchText)) {
$(this).removeClass('hidden'); // 텍스트가 포함되면 hidden 클래스 제거
} else {
$(this).addClass('hidden'); // 텍스트가 포함되지 않으면 hidden 클래스 추가
}
});
});
// 업체 파일 검색
$('#com-file-search').on('input', function() {
let searchText = $(this).val().toLowerCase(); // 입력된 텍스트를 소문자로 변환
$('.com-title').addClass('hidden');
$('.com-file-title').each(function() {
let comFileTitleText = $(this).data('name').toLowerCase(); // data-comtitle 값을 소문자로 변환
if (comFileTitleText.includes(searchText)) {
$(this).removeClass('hidden'); // 텍스트가 포함되면 hidden 클래스 제거
$(this).parent().parent().removeClass('hidden');
} else {
$(this).addClass('hidden'); // 텍스트가 포함되지 않으면 hidden 클래스 추가
}
});
});
// 파일관리 - 파일 수정 화면
$(document).on("click",'.file-modify',function(e){
let refpage = "/html/company/customer_list.html";
let file_no = $(this).data('idx')
$('#file_no').val(file_no);
// 테이블 초기화
fno = 0;
$('#fileTable tbody tr').remove();
$(".file-add").trigger('click');
$("#myModal-company-file").show();
$(".file-add").hide();
$(".text-file-title").text("수정");
$.ajax({
cache : false,
url : "/html/process.html",
type : 'POST',
dataType: 'json',
data : {sidx:file_no,mod:'file-view',refpage:refpage },
success : function(data) {
//console.log(data);
if(data.response=='Success') {
let SF = data.data;
//console.log(SF);
$('input[name="fileType['+fno+']"]').val(SF.T_ID_TYPE);
$('input[name="fileName['+fno+']"]').val(SF.F_NAME);
}
else alert(data);
}, // success
error : function(xhr, status) {
alert(xhr + " : " + status);
}
}); // $.ajax */
})
});