주소록 수정중
This commit is contained in:
parent
9328e68d6f
commit
813ce808b9
@ -206,7 +206,7 @@ public class FaxAddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
List<FaxAddrVO> addrList = faxAddrService.selectFaxAddrList(addrVO);
|
||||
@ -263,7 +263,7 @@ public class FaxAddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
List<FaxAddrVO> addrDupliList = faxAddrService.selectFaxAddrDupliListByAll(addrVO);
|
||||
@ -856,7 +856,7 @@ public class FaxAddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
|
||||
@ -394,7 +394,7 @@ public class FaxAdmController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -115,7 +115,7 @@ public class AddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
// 기간검색 설정
|
||||
@ -384,7 +384,7 @@ public class AddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
List<AddrVO> addrList = addrService.selectAddrList(addrVO);
|
||||
@ -449,7 +449,7 @@ public class AddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
List<AddrVO> addrDupliList = addrService.selectAddrDupliListByAll(addrVO);
|
||||
@ -1055,7 +1055,7 @@ public class AddrController {
|
||||
|
||||
if("".equals(addrVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
addrVO.setSearchSortCnd("addrId");
|
||||
addrVO.setSearchSortOrd("desc");
|
||||
addrVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
|
||||
@ -360,6 +360,11 @@ public class AddrGroupController {
|
||||
public ModelAndView getAddrGroupDuplCheckAjax(HttpServletRequest request, ModelMap model,
|
||||
AddrGroupVO addrGroupVO
|
||||
) throws Exception {
|
||||
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
|
||||
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
|
||||
System.out.println(" :: /web/addr/getAddrGroupDuplCheckAjax.do :: ");
|
||||
System.out.println(" :: addrGrpNm :: "+ addrGroupVO.getAddrGrpNm());
|
||||
|
||||
ModelAndView mv = new ModelAndView();
|
||||
mv.setViewName("jsonView");
|
||||
|
||||
|
||||
@ -233,7 +233,7 @@ function setAddrMassClose() {
|
||||
listAddrGrp();
|
||||
addrGroupLoadAjax();
|
||||
addrLoadAjax();
|
||||
errorPopClean(); // 에러 팝업 초기화
|
||||
fn_errorPopClean(); // 에러 팝업 초기화
|
||||
}
|
||||
|
||||
// 주소록 탭마다 돌면서 총, 중복, 오류 건수 초기화
|
||||
@ -262,13 +262,13 @@ function fn_rowDataClear(){
|
||||
|
||||
|
||||
// 주소록 그룹 중복체크
|
||||
function getAddrGroupDuplCheckAjax() {
|
||||
function getAddrGroupDuplCheckAjax(addrGrpNm) {
|
||||
var isReturn = true;
|
||||
|
||||
$.ajax({
|
||||
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
|
||||
type : 'POST',
|
||||
data : {"addrGrpNm" : $(tabluC+" #addrGrpNm").val()},
|
||||
data : {"addrGrpNm" : addrGrpNm},
|
||||
dataType:'json',
|
||||
async: false, // 동기
|
||||
success : function(data, status){
|
||||
@ -286,6 +286,7 @@ function getAddrGroupDuplCheckAjax() {
|
||||
//alert("주소록 중복체크에 실패했습니다.");
|
||||
}
|
||||
});
|
||||
console.log('isReturn : ', isReturn);
|
||||
|
||||
return isReturn;
|
||||
}
|
||||
@ -293,18 +294,34 @@ function getAddrGroupDuplCheckAjax() {
|
||||
|
||||
//저장
|
||||
function SetAddrMassSave(){
|
||||
// gArrRestartIndex = 0; //배열 재시작카운드
|
||||
// gNameList = []; //치환문자 이름
|
||||
// gPhoneList = []; //받는사람
|
||||
// gInfo1List = []; //치환문자1
|
||||
// gInfo2List = []; //치환문자2
|
||||
// gInfo3List = []; //치환문자3
|
||||
// gInfo4List = []; //치환문자4
|
||||
// gMemoList = []; //메모
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var $objTabul = fn_utils_getTabulator();
|
||||
var tabulNm = fn_utils_getTabulatorNm();
|
||||
var tabluC = '.'+tabulNm
|
||||
|
||||
/* console.log('$objTabul : ', $objTabul.getData());
|
||||
if(tabulNm == 'tableSelf'){
|
||||
console.log('????');
|
||||
|
||||
var allRows = $objTabul.getData(); // 테이블의 모든 데이터를 가져옴
|
||||
|
||||
// addrPhoneNo 값이 있는 행만 필터링
|
||||
var rowsWithPhoneNumbers = allRows.filter(function(row) {
|
||||
return row.addrPhoneNo && row.addrPhoneNo.trim() !== ''; // 값이 존재하고 공백이 아닌 경우
|
||||
});
|
||||
$objTabul = rowsWithPhoneNumbers;
|
||||
console.log('rowsWithPhoneNumbers : ', rowsWithPhoneNumbers);
|
||||
console.log('$objTabul : ', $objTabul.getData());
|
||||
return false;
|
||||
} */
|
||||
|
||||
if($objTabul.getData().length < 1){
|
||||
alert("한 개 이상의 연락처를 입력하세요");
|
||||
@ -350,8 +367,10 @@ function SetAddrMassSave(){
|
||||
if ($(tabluC+" #addrGrpIdInfo option:selected").val() == "NEW"
|
||||
&& $(tabluC+" #addrGrpNm").val() != "")
|
||||
{
|
||||
var addrGrpNm = $(tabluC+" #addrGrpNm").val();
|
||||
console.log('addrGrpNm : ', addrGrpNm);
|
||||
//주소록 중복체크
|
||||
if (getAddrGroupDuplCheckAjax() == false) {
|
||||
if (getAddrGroupDuplCheckAjax(addrGrpNm) == false) {
|
||||
alert("중복된 그룹명입니다. 새 그룹명을 입력해주세요.");
|
||||
return false;
|
||||
}
|
||||
@ -433,6 +452,7 @@ function setSenderList_advc(){
|
||||
|
||||
var $objTabul = fn_utils_getTabulator();
|
||||
var dataToSend = $objTabul.getData();
|
||||
console.log('dataToSend : ', dataToSend);
|
||||
var addrGrpIdInfo = $(tabluC+" #addrGrpIdInfo option:selected").val();
|
||||
var addrGrpNmInfo = $(tabluC+" #addrGrpNm").val();
|
||||
|
||||
@ -524,11 +544,29 @@ function SetClear($objTabul) {
|
||||
$(tabluC+" #addrGrpNm").val(""); // 새그룹명 Clear;
|
||||
// 주소록 그룹정보 불러오기
|
||||
getAddrGroupList();
|
||||
|
||||
|
||||
|
||||
if (tabulNm === 'tableSelf') {
|
||||
var tableData = [];
|
||||
for (var i = 0; i < 1000; i++) {
|
||||
tableData.push({addrNm: "", addrPhoneNo: "", addrInfo1: "", addrInfo2: "", addrInfo3: "", addrInfo4: "", addrComment: ""});
|
||||
}
|
||||
console.log(tableData); // 데이터 출력 확인
|
||||
fn_selfmakeTable()
|
||||
}else{
|
||||
$objTabul.clearData(); // clearData는 동기 방식이므로 바로 실행
|
||||
|
||||
}
|
||||
// console.log('tabulNm : ', tabulNm);
|
||||
// console.log('tabulNm : ', tabulNm.trim());
|
||||
|
||||
|
||||
$objTabul.clearData();
|
||||
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
|
||||
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
|
||||
// dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
|
||||
|
||||
// popup 영역
|
||||
fn_errorPopClean();
|
||||
}
|
||||
|
||||
// 주소 대량등록 버튼 클릭
|
||||
|
||||
@ -289,6 +289,11 @@ $(document).ready(function(){
|
||||
//받는 사람 리스트 영역에 클립보드 데이터 가져와보기
|
||||
// 붙여넣기 기능
|
||||
$('#tabulator_clip').off('paste').on('paste', function (e) {
|
||||
// fn_ClipMakeTable();
|
||||
fn_errorPopClean();
|
||||
fn_rowCntInit();
|
||||
resetTableFieldsToDefault();
|
||||
|
||||
var element = e.originalEvent.clipboardData.getData('text');
|
||||
var elmSplit = element.split("\n");
|
||||
var realPhone = [];
|
||||
@ -318,6 +323,9 @@ $(document).ready(function(){
|
||||
console.log('Parsed data:', realPhone);
|
||||
console.log('Tabulator data before getData:', $tableClip.getData());
|
||||
// $tableClip.clearData();
|
||||
$tableClip.setData([{
|
||||
A: "", B: "", C: "", D: "", E: "", F: "", G: ""
|
||||
}]); // 초기 데이터로 복원
|
||||
$tableClip.setData(realPhone);
|
||||
var totRows = $tableClip.getDataCount();
|
||||
updateTotCnt(totRows);
|
||||
|
||||
@ -314,7 +314,8 @@ $(document).on('drop', function (e){
|
||||
//파일 드래그앤드롭 종료
|
||||
|
||||
function excelFileChange(file) {
|
||||
errorPopClean(); // 에러 popup 초기화
|
||||
console.log(' :: excelFileChange :: ');
|
||||
fn_errorPopClean(); // 에러 popup 초기화
|
||||
if (file) {
|
||||
fn_loadAddActive();
|
||||
var reader = new FileReader();
|
||||
|
||||
@ -39,25 +39,50 @@ $(document).on("click", "#duplicationChkAll", function(e) {
|
||||
});
|
||||
|
||||
|
||||
function fn_selfUpdataCount(){
|
||||
function fn_selfUpdataCount(value){
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////
|
||||
|
||||
console.log('fn_selfUpdataCount(value) : ', value);
|
||||
let errorCount = 0; // 중복 오류
|
||||
|
||||
const number = value;
|
||||
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
|
||||
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
|
||||
|
||||
// '휴대폰' 필드의 셀들 가져오기
|
||||
var cells = $tableSelf.getColumn("addrPhoneNo").getCells();
|
||||
var existingNumbers = []; // 중복 번호를 저장할 배열
|
||||
|
||||
// 값이 있는 셀만 필터링하여 개수 카운트
|
||||
var count = cells.filter(function(cell) {
|
||||
var value = cell.getValue();
|
||||
console.log('cell value: ', value);
|
||||
return value !== "" && value !== undefined; // 빈 문자열과 undefined가 아닌 경우
|
||||
}).length;
|
||||
// 모든 행의 'addrPhoneNo' 값을 배열에 추가
|
||||
var allRows = $tableSelf.getData(); // 테이블의 모든 데이터를 가져옴
|
||||
allRows.forEach(function(row) {
|
||||
if (row.addrPhoneNo) {
|
||||
const cleanedExistingNumber = row.addrPhoneNo.replace(/[^0-9]/g, ''); // 숫자만 남김
|
||||
existingNumbers.push(cleanedExistingNumber); // 기존 번호를 배열에 추가
|
||||
}
|
||||
});
|
||||
|
||||
console.log("휴대폰 번호가 있는 행 수: " + count);
|
||||
|
||||
// 중복제거한 데이터 구하기
|
||||
var dataList = new Set(existingNumbers);
|
||||
var tabulNm = fn_utils_getTabulatorNm();
|
||||
var tabluC = '.'+tabulNm
|
||||
$(tabluC+" #rowTotCnt").text(dataList.size);
|
||||
|
||||
$(tabluC+" #rowTotCnt").text(count);
|
||||
return ;
|
||||
|
||||
// 중복체크
|
||||
var hasDuplicates = existingNumbers.length !== dataList.size;
|
||||
if (hasDuplicates) {
|
||||
alert('중복된 값입니다 다시 입력해주세요.');
|
||||
console.log('중복');
|
||||
return '';
|
||||
}
|
||||
|
||||
if (!isValidPhoneNumber(formattedNumber)) { // 유효성 검사
|
||||
alert('휴대폰 형식에 맞지 않는 데이터입니다.\nex) 발송불가 특수문자, 자릿수 오류 등');
|
||||
console.log('유효성 실패');
|
||||
return '';
|
||||
}
|
||||
return formattedNumber;
|
||||
}
|
||||
|
||||
|
||||
@ -67,9 +92,10 @@ function fn_selfUpdataCount(){
|
||||
<!-- 붙여넣기 -->
|
||||
<div class="popCont pop_more_cont" id="popCont_3">
|
||||
<div class="titBox">
|
||||
<p>- 엑셀(EXCEL), 텍스트(TXT) 파일로 작성된 주소록 내용을 복사하여 등록 가능합니다.</p>
|
||||
<p>- 많은 양의 데이터를 입력하시려면 ‘주소록 복사(Ctrl+C) + 붙여넣기(Ctrl+V)’를 이용해주세요.</p>
|
||||
<p>- 입력 내용은 (Tab) 또는 (,) 기호로 구분하여 입력하여야 합니다.</p>
|
||||
<!-- <p>- 엑셀(EXCEL), 텍스트(TXT) 파일로 작성된 주소록 내용을 복사하여 등록 가능합니다.</p> -->
|
||||
<!-- <p>- 많은 양의 데이터를 입력하시려면 ‘주소록 복사(Ctrl+C) + 붙여넣기(Ctrl+V)’를 이용해주세요.</p> -->
|
||||
<p>- 셀간 이동은 Tab으로 가능합니다.</p>
|
||||
<p>- 핸드폰 번호를 입력하지 않은 행은 저장되지 않습니다.</p>
|
||||
<p>- 이름 200byte, [*1*]~[*4*] 200byte, 메모 250byte까지 입력 가능합니다.</p>
|
||||
<p>- 주소록 등록이 어려우신 경우에는 <a href="<c:url value='/web/mjon/addragency/selectAddrAgencyList.do'/>" style="font-weight: bold; color: blue;">주소록 입력대행</a> 메뉴를 이용하실 수 있습니다. </p>
|
||||
<!-- <button type="button" class="txt_btn" onclick="location.href='/download/addr/주소록_대량등록.zip'"><i></i>TXT샘플 다운로드</button> -->
|
||||
|
||||
@ -60,13 +60,15 @@ function getAddrGroupListShow(jsonList) {
|
||||
}
|
||||
|
||||
//주소록 그룹 중복체크
|
||||
function getAddrGroupDuplCheckAjax() {
|
||||
function getAddrGroupDuplCheckAjax(addrGrpNm) {
|
||||
console.log('addrGrpNm : ', addrGrpNm)
|
||||
console.log('getAddrGroupDuplCheckAjax()')
|
||||
var isReturn = true;
|
||||
|
||||
$.ajax({
|
||||
url : "<c:url value='/web/addr/getAddrGroupDuplCheckAjax.do' />",
|
||||
type : 'POST',
|
||||
data : {"addrGrpNm" : $("#addrGrpNm").val()},
|
||||
data : {"addrGrpNm" : addrGrpNm},
|
||||
dataType:'json',
|
||||
async: false, // 동기
|
||||
success : function(data, status){
|
||||
|
||||
@ -75,47 +75,39 @@ $(document).ready(function(){
|
||||
const newData = []; // 유효한 데이터만 저장할 새로운 배열
|
||||
|
||||
data.forEach((row, index) => {
|
||||
if (index % 10000 === 0) {
|
||||
console.log('i : ', index);
|
||||
}
|
||||
// if (index % 10000 === 0) {
|
||||
// console.log('i : ', index);
|
||||
// }
|
||||
|
||||
const number = row.addrPhoneNo;
|
||||
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
|
||||
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
|
||||
|
||||
if (!existingNumbers.has(cleanedNumber)) { // 중복 번호 체크
|
||||
if (isValidPhoneNumber(formattedNumber)) { // 유효성 검사
|
||||
row.addrPhoneNo = formattedNumber;
|
||||
existingNumbers.add(cleanedNumber); // 추가된 번호를 기존 목록에 추가
|
||||
newData.push(row); // 유효한 데이터만 새로운 배열에 추가
|
||||
} else {
|
||||
// 오류: 유효성 통과 못함
|
||||
errorCount++;
|
||||
// $tableError.addRow({
|
||||
// name: row.addrNm, // 이름
|
||||
// phone: row.addrPhoneNo, // 폰번호
|
||||
// result: "오류" // 결과 메시지 추가
|
||||
// });
|
||||
errors.push({
|
||||
name: row.addrNm, // 이름
|
||||
phone: row.addrPhoneNo, // 폰번호
|
||||
result: "오류" // 결과 메시지 추가
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 중복
|
||||
duplicateCount++; // 중복 번호가 발견될 때마다 카운트를 증가
|
||||
// $tableError.addRow({
|
||||
// name: row.addrNm, // 이름
|
||||
// phone: row.addrPhoneNo, // 폰번호
|
||||
// result: "중복" // 결과 메시지 추가
|
||||
// });
|
||||
duplicates.push({
|
||||
name: row.addrNm, // 이름
|
||||
phone: row.addrPhoneNo, // 폰번호
|
||||
result: "중복" // 결과 메시지 추가
|
||||
});
|
||||
}
|
||||
const number = row.addrPhoneNo;
|
||||
const formattedNumber = formatPhoneNumber(number); // 번호 표준화
|
||||
const cleanedNumber = formattedNumber.replace(/[^0-9]/g, ''); // 숫자만 남김
|
||||
|
||||
if (!existingNumbers.has(cleanedNumber)) { // 중복 번호 체크
|
||||
if (isValidPhoneNumber(formattedNumber)) { // 유효성 검사
|
||||
row.addrPhoneNo = formattedNumber;
|
||||
existingNumbers.add(cleanedNumber); // 추가된 번호를 기존 목록에 추가
|
||||
newData.push(row); // 유효한 데이터만 새로운 배열에 추가
|
||||
} else {
|
||||
// 오류: 유효성 통과 못함
|
||||
errorCount++;
|
||||
|
||||
errors.push({
|
||||
name: row.addrNm, // 이름
|
||||
phone: row.addrPhoneNo, // 폰번호
|
||||
result: "오류" // 결과 메시지 추가
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// 중복
|
||||
duplicateCount++;
|
||||
|
||||
errors.push({
|
||||
name: row.addrNm, // 이름
|
||||
phone: row.addrPhoneNo, // 폰번호
|
||||
result: "중복" // 결과 메시지 추가
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// data 배열을 newData 배열로 대체
|
||||
@ -132,7 +124,7 @@ $(document).ready(function(){
|
||||
// 에러 카운트
|
||||
$("#errorPopErrorCnt").text(errorCount);
|
||||
//
|
||||
$("#errorPopTotCnt").text(duplicateCount+errorCount);
|
||||
// $("#errorPopTotCnt").text(duplicateCount+errorCount);
|
||||
|
||||
// 수정된 데이터로 테이블 업데이트
|
||||
$objTabul.setData(data);
|
||||
@ -141,6 +133,7 @@ $(document).ready(function(){
|
||||
$("#rowDupCnt").text(duplicateCount);
|
||||
|
||||
$(tabluC+" #rowTotCnt").text($objTabul.getDataCount());
|
||||
$("#errorPopTotCnt").text($objTabul.getDataCount());
|
||||
|
||||
var errorData = errors.concat(duplicates);
|
||||
// 오류 및 중복 데이터를 한 번에 추가
|
||||
@ -213,9 +206,11 @@ $(document).ready(function(){
|
||||
|
||||
var data = $objTabul.getRows();
|
||||
$objTabul.clearData();
|
||||
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
|
||||
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
|
||||
dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
|
||||
fn_rowCntInit();
|
||||
// dupliPhoneDataRealList.length = 0; // 중복 휴대폰번호 초기화
|
||||
|
||||
// select box 초기화
|
||||
$('.field-selector').each(function() { $(this).val(''); });
|
||||
});
|
||||
|
||||
// 받는사람 선택삭제 버튼 처리해주기
|
||||
@ -321,7 +316,10 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
// 주소록 에러결과 초기화
|
||||
function errorPopClean(){
|
||||
function fn_errorPopClean(){
|
||||
|
||||
var tabulNm = fn_utils_getTabulatorNm();
|
||||
var tabluC = '.'+tabulNm
|
||||
|
||||
// popup 영역
|
||||
$tableError.clearData();
|
||||
@ -333,10 +331,61 @@ function errorPopClean(){
|
||||
$("#errorPopErrorCnt").text(0);
|
||||
//
|
||||
$("#errorPopTotCnt").text(0);
|
||||
|
||||
// select box 초기화
|
||||
$(tabluC+' .field-selector').each(function() { $(this).val(''); });
|
||||
|
||||
}
|
||||
|
||||
function fn_rowCntInit(){
|
||||
|
||||
var tabulNm = fn_utils_getTabulatorNm();
|
||||
var tabluC = '.'+tabulNm
|
||||
|
||||
$(tabluC+" #rowTotCnt").text(0); //총건수 수정
|
||||
$(tabluC+" #rowDupCnt").text(0); //중복건수 수정
|
||||
$(tabluC+" #rowErrorCnt").text(0); //중복건수 수정
|
||||
}
|
||||
|
||||
|
||||
|
||||
//1. 필드 초기화 함수
|
||||
function resetTableFieldsToDefault() {
|
||||
|
||||
// 타불 객체 가져오기
|
||||
var $objTabul = fn_utils_getTabulator();
|
||||
|
||||
// 필드를 A, B, C, D로 초기화
|
||||
var defaultFields = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
|
||||
|
||||
// 테이블의 기존 데이터를 가져옵니다.
|
||||
var currentData = $objTabul.getData();
|
||||
|
||||
// 초기 필드(A, B, C, D 등)를 위한 열 설정
|
||||
var columns = [
|
||||
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
|
||||
cell.getRow().toggleSelect();
|
||||
}},
|
||||
{formatter:"rownum", align:"center", title:"No", hozAlign:"center", headerHozAlign:"center", width:40}
|
||||
];
|
||||
|
||||
// 기본 필드로 열 구성
|
||||
defaultFields.forEach(field => {
|
||||
columns.push({
|
||||
title: field,
|
||||
field: field,
|
||||
hozAlign: "center",
|
||||
headerHozAlign: "center",
|
||||
editor: false, // 편집 비활성화
|
||||
width: 125,
|
||||
validator: ["maxLength:100", "string"]
|
||||
});
|
||||
});
|
||||
|
||||
// 테이블을 기본 필드로 업데이트
|
||||
$objTabul.setColumns(columns);
|
||||
// $objTabul.setData(updatedData);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -62,6 +62,7 @@ $(document).ready(function(){
|
||||
|
||||
|
||||
|
||||
// fn_ClipMakeTable();
|
||||
|
||||
|
||||
$tableClip = new Tabulator("#tabulator_clip", {
|
||||
@ -98,51 +99,7 @@ $(document).ready(function(){
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
var tableData = [];
|
||||
for (var i = 0; i < 1000; i++) {
|
||||
tableData.push({A: "", B: "", C: "", D: "", E: "", F: "", G: ""});
|
||||
}
|
||||
|
||||
// 테이블 초기화
|
||||
$tableSelf = new Tabulator("#tabulator_self", {
|
||||
height: "255px",
|
||||
width: "100%",
|
||||
layout: "fitColumns",
|
||||
clipboardPasteAction: "update",
|
||||
keybindings: {
|
||||
"navRight": "tab", // Tab 키를 누르면 오른쪽 셀로 이동
|
||||
"navLeft": "shift+tab",
|
||||
"editNext": false // Tab 키를 누를 때 편집 모드를 종료하지 않도록 설정
|
||||
},
|
||||
data: tableData,
|
||||
columns: [
|
||||
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
|
||||
cell.getRow().toggleSelect();
|
||||
}},
|
||||
{formatter:"rownum", hozAlign:"center" ,title:"No", headerHozAlign:"center", width:40},
|
||||
{title:"이름", field:"addrNm", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"휴대폰", field:"addrPhoneNo", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"
|
||||
, formatter:function(cell, formatterParams){
|
||||
var value = cell.getValue();
|
||||
|
||||
fn_selfUpdataCount();
|
||||
// if(value.indexOf("o") > 0){
|
||||
// return "<span style='color:#3FB449; font-weight:bold;'>" + value + "</span>";
|
||||
// }else{
|
||||
// return value;
|
||||
// }
|
||||
return value;
|
||||
}},
|
||||
{title:"[*1*]", field:"addrInfo1", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*2*]", field:"addrInfo2", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*3*]", field:"addrInfo3", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*4*]", field:"addrInfo4", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"메모", field:"addrComment", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}
|
||||
],
|
||||
navigation: true // 키보드 탐색 활성화
|
||||
});
|
||||
// 사용자 정의 필터 설정: addrPhoneNo가 빈 값이나 undefined가 아닌 경우
|
||||
// $tableSelf.setFilter(function(data, filterParams) {
|
||||
// var value = data.addrPhoneNo;
|
||||
@ -192,8 +149,67 @@ $(document).ready(function(){
|
||||
]
|
||||
});
|
||||
|
||||
// 직접입력 타블레이터
|
||||
fn_selfmakeTable()
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
function fn_ClipMakeTable(){
|
||||
}
|
||||
|
||||
|
||||
function fn_selfmakeTable(){
|
||||
|
||||
});
|
||||
var tableData = [];
|
||||
for (var i = 0; i < 1000; i++) {
|
||||
tableData.push({addrNm: "", addrPhoneNo: "", addrInfo1: "", addrInfo2: "", addrInfo3: "", addrInfo4: "", addrComment: ""});
|
||||
}
|
||||
|
||||
// 테이블 초기화
|
||||
$tableSelf = new Tabulator("#tabulator_self", {
|
||||
height: "255px",
|
||||
width: "100%",
|
||||
layout: "fitColumns",
|
||||
clipboardPasteAction: "update",
|
||||
keybindings: {
|
||||
"navRight": "tab", // Tab 키를 누르면 오른쪽 셀로 이동
|
||||
"navLeft": "shift+tab",
|
||||
"editNext": false // Tab 키를 누를 때 편집 모드를 종료하지 않도록 설정
|
||||
},
|
||||
data: tableData,
|
||||
columns: [
|
||||
{formatter: "rowSelection", titleFormatter: "rowSelection", clipboard: false, hozAlign: "center", headerHozAlign: "center", headerSort: false, cellClick: function(e, cell) {
|
||||
cell.getRow().toggleSelect();
|
||||
}},
|
||||
{formatter:"rownum", hozAlign:"center" ,title:"No", headerHozAlign:"center", width:40},
|
||||
{title:"이름", field:"addrNm", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"휴대폰", field:"addrPhoneNo", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"
|
||||
, cellEdited:function(cell){
|
||||
var currentValue = cell.getValue();
|
||||
console.log('cell.getValue() : ', currentValue);
|
||||
|
||||
// 현재 값이 null 또는 undefined가 아니고, 값이 변경된 경우에만 처리
|
||||
if (currentValue !== null
|
||||
&& currentValue !== ''
|
||||
) {
|
||||
var newValue = fn_selfUpdataCount(currentValue);
|
||||
|
||||
// 값이 실제로 변경된 경우에만 setValue 호출
|
||||
if (currentValue !== newValue) {
|
||||
cell.setValue(newValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{title:"[*1*]", field:"addrInfo1", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*2*]", field:"addrInfo2", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*3*]", field:"addrInfo3", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"[*4*]", field:"addrInfo4", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"},
|
||||
{title:"메모", field:"addrComment", hozAlign:"center", headerHozAlign: "center", width:119, validator:["maxLength:100"], editor:"input"}
|
||||
],
|
||||
navigation: true // 키보드 탐색 활성화
|
||||
});
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user