이호영 이호영 2024-12-06
오류버튼 삭제 및 문구수정
@a8c8f46f0ea505b3d09c1c25f31f8afd40737b42
src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp
--- src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp
+++ src/main/webapp/WEB-INF/jsp/web/fax/addr/FaxAddrList.jsp
@@ -1200,10 +1200,10 @@
 						<%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforExcel.jsp" %>
 					</div>
 					<div id="tab2" class="tab_c tableClip" style="display: none;">
-						<%-- <%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforClipboard.jsp" %> --%>
+						<%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforClipboard.jsp" %>
 					</div>
 					<div id="tab3" class="tab_c tableSelf" style="display: none;">
-						<%-- <%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforSelf.jsp" %> --%>
+						<%@include file="/WEB-INF/jsp/web/fax/addr/include/FaxAddrListforSelf.jsp" %>
 					</div>
 				</div>
 				<div class="popup_btn_wrap2" style="margin: 0 auto 30px auto;">
src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
@@ -1054,7 +1054,11 @@
 		// 중복 번호 개수를 #rowDupCnt 요소에 표시
 		$("#rowDupCnt").text(duplicateCount);
 
-		updateTotCnt(tableL.getRows().length);
+		var totRows = tableL.getRows().length; 
+		updateTotCnt(totRows);
+	    totalPriceSum(totRows);
+		
+		
 		
 		// 유효하지 않은 번호가 있으면 alert로 표시
 		console.log('invalidNumbers : ', invalidNumbers);
@@ -4067,8 +4071,15 @@
 											<button type="button" class="btnType btnType6 btn_add_number addCallToF">번호추가<i class="qmMark"></i></button>
 											<span style="display:block;margin:10px 0 0 0;"><span class="vMiddle">*</span> 중복번호는 한번만 추가됩니다.</span>
 											<div class="error_hover_cont send_hover_cont">
-												<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p>
-												<span>(예시) 010-1234-0001(O) / 010-12345-0001(X)</span>
+<!-- 												<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p> -->
+												<p>줄바꿈 기준으로 핸드폰 번호 입력이 가능합니다.</p>
+												<span>
+													(예시)<br/>
+													010-1234-0001<br/>
+													010-1235-0002<br/>
+													01012350003<br/>
+													01012350004<br/>
+												</span>
 											</div>
 										</div>
 									</div>
@@ -4108,13 +4119,13 @@
 											<div class="btn_popup_wrap">
 												<button type="button" data-tooltip="popup05" class="btnType btnType7 tab2" onclick="getMjMsgSentListAll('1');">재전송</button>
 											</div>
-											<div class="btn_popup_wrap check_validity_wrap">
+											<!-- <div class="btn_popup_wrap check_validity_wrap">
 												<button type="button" class="btnType btnType7 check_validity">오류 검사 <i class="qmMark"></i></button>
 												<div class="error_hover_cont send_hover_cont">
 													<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p>
 													<span>(예시) 010-1234-0001(O) / 010-12345-0001(X)</span>
 												</div>
-											</div>
+											</div> -->
 										</div>
 									</div>
 									<div class="list_bottom clearfix">
src/main/webapp/js/user/fax/addr/faxTabulator.js
--- src/main/webapp/js/user/fax/addr/faxTabulator.js
+++ src/main/webapp/js/user/fax/addr/faxTabulator.js
@@ -50,6 +50,43 @@
 	    },
 	});
 	
+
+
+	$tableClip = new Tabulator("#tabulator_clip", {
+		height:"255px",
+		width:"100%",
+		layout:"fitColumns",
+		editor:true,
+		headerHozAlign:"center",
+		validationMode:"highlight",
+	    placeholder:"복사(Ctrl+C)한 내용을 여기에 붙여넣기(Ctrl+V) 해주세요.", //fit columns to width of table (optional)
+//		clipboard:true, // 클립보드 기능 활성화
+	    clipboardPasteAction:"update", // insert, update, replace
+	    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", hozAlign:"center", headerHozAlign:"center", width:40},
+		 	{title:"A", field:"A", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"B", field:"B", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"C", field:"C", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"D", field:"D", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"E", field:"E", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"F", field:"F", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]},
+			{title:"G", field:"G", hozAlign:"center", headerHozAlign: "center", width:125, validator:["maxLength:100", "string"]}
+		],
+		validationFailed: function(cell, value, parameters) {
+		    var valid = cell.isValid();
+		    if (!valid) {
+		        alert("양식에 맞지 않는 정보가 입력되었습니다.");
+		        cell.setValue(""); // 해당 셀 데이터 삭제
+		    }
+		    return false; // 유효하지 않은 경우 false 반환
+		},
+	});
+
+
+
 	//Tabulator AJAX Data Loading
 	$tableError = new Tabulator("#tabulator_error", {
 		height:"255px",
@@ -89,5 +126,84 @@
 	$(".tableExcel .adr_excel").on("scroll",function(){
 		$(".tableExcel .tabulator-tableholder").scrollLeft($(this).scrollLeft());
 	});
+
+
+
+	$tableClip.on("columnWidth",function(column){
+		var titleIndex = titleArray.indexOf(column._column.definition.title);
+		titleIndex += 1;
+		if(titleIndex != 0){
+			$('.tableClip .select_adr_hd>div').eq(titleIndex).css('width', column._column.width);
+		}else{
+			$('.tableClip .select_adr_hd>div').eq(0).css('width', column._column.width + 40);
+		}
+	});
+
+	$tableClip.on("scrollHorizontal",function(left){
+	      $(".tableClip .adr_excel").scrollLeft(left);
+	})
+
+	$(".tableClip .adr_excel").on("scroll",function(){
+		$(".tableClip .tabulator-tableholder").scrollLeft($(this).scrollLeft());
+	});
+	
+
 }); 
 
+
+
+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 // 키보드 탐색 활성화
+	});
+}
+
+
+
src/main/webapp/js/web/addr/init.js
--- src/main/webapp/js/web/addr/init.js
+++ src/main/webapp/js/web/addr/init.js
@@ -200,9 +200,6 @@
 }); 
 
 
-function fn_ClipMakeTable(){
-}
-
 
 function fn_selfmakeTable(){
 	
Add a comment
List