Explorar o código

1:1문의 삭제 시 "답변중" -> "답변완료" 상태일 때만 삭제하는 것으로 변경

gagamel %!s(int64=5) %!d(string=hai) anos
pai
achega
2833acde98

+ 2 - 1
src/main/java/com/style24/front/biz/web/TsfCallcenterController.java

@@ -92,7 +92,7 @@ public class TsfCallcenterController extends TsfBaseController {
 		TscPageRequest pageable = new TscPageRequest((faq.getPageNo() > 0 ? faq.getPageNo() - 1 : 0), faq.getPageSize());
 		pageable.setTotalCount(faqService.getFaqTotalCount(faq));
 		faq.setPageable(pageable);
-		log.debug("pageable: {}", pageable);
+		log.info("pageable: {}", pageable);
 
 		result.set("paging", faq);
 		result.set("dataList", faqService.getFaqList(faq));
@@ -247,6 +247,7 @@ public class TsfCallcenterController extends TsfBaseController {
 
 	/**
 	 * 1:1문의 삭제 처리
+	 * 		진행중 상태일 때 삭제하는 것이 아니라 답변완료 상태일 때만 삭제하는 것으로 함 (기획서)
 	 * @param counsel -상담정보
 	 * @return
 	 * @author gagamel

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfCounsel.xml

@@ -136,7 +136,7 @@
 		     , UPD_DT = NOW()
 		WHERE  COUNSEL_SQ = #{counselSq}
 		AND    CUST_NO = #{custNo}
-		AND    ANS_STAT = 'G060_10' /*답변상태:처리중*/
+		AND    ANS_STAT = 'G060_20' /*답변상태:답변완료*/
 	</update>
 
 	<!-- 1:1문의 상세 -->

+ 68 - 68
src/main/webapp/WEB-INF/views/mob/callcenter/OneToOneQnaFormMob.html

@@ -2,7 +2,7 @@
 <html lang="ko"
 	xmlns:th="http://www.thymeleaf.org"
 	xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
-	layout:decorator="web/common/layout/CallcenterLayoutWeb">
+	layout:decorator="mob/common/layout/CallcenterLayoutMob">
 <!--
  *******************************************************************************
  * @source  : OneToOneQnaFormWeb.html
@@ -57,8 +57,8 @@
 						<!-- //list2 -->
 					</div>
 				</div>
-				<div class="ui_foot" id="nextPage">
-					<button class="btn btnM btnIcon_more" onclick="fnGetList();">더보기</button>
+				<div class="ui_foot">
+					<button class="btn btnM btnIcon_more" id="btnQnaMore">더보기</button>
 				</div>
 			</div>
 		</section>
@@ -81,7 +81,7 @@
 						<div class="pop_cont">
 							<!-- Swiper -->
 							<div class="swiper-container cs_pop">
-								<div class="swiper-wrapper">
+								<div class="swiper-wrapper" id="qnaImg">
 									<div class="swiper-slide"><div class="pop_img" style="background-image: url(/images/mo/cs_pop_people.png);"></div></div>
 									<div class="swiper-slide"><div class="pop_img" style="background-image: url(/images/mo/cs_pop_people2.png);"></div></div>
 								</div>
@@ -101,38 +101,43 @@
 		<input type="hidden" name="pageSize" value ="10"/>
 	</form>
 
-<script src="/ux/plugins/gaga/gaga.paging.js"></script>
 <script th:inline="javascript">
 /*<![CDATA[*/
 	// JQUERY를 이용한 버튼 모달 팝업
-	$(".thumb_pic").click(function() {
+	$(document).on('click', '.thumb_pic', function() {
+		let oImg = $(this).parent('.img_group').find('.thumb_pic');
+		$('#qnaImg').html('');
+		for (let i = 0; i < oImg.length; i++) {
+			$('#qnaImg').append('<div class="swiper-slide"><div class="pop_img"><img src="' + oImg.find('img').eq(i).attr("src") + '"/></div></div>');
+		}
 		$("#thumb_pic").modal("show");
-	});
-	
-	// 슬라이더_팝업에 문의이미지슬라이드
-	var swiper = new Swiper('#thumb_pic .swiper-container.cs_pop', {
-		observer: true,
-		observeParents: true,
-		pagination: {
-			el: '#thumb_pic .swiper-pagination',
-		},
+		
+		// 슬라이더_팝업에 이미지슬라이드
+		var swiper = new Swiper('#thumb_pic .swiper-container.cs_pop', {
+			observer: true,
+			observeParents: true,
+			pagination: {
+				el: '#thumb_pic .swiper-pagination',
+			}
+		});
 	});
 	
 	$(document).ready(function() {
+		// 타이틀명
+		$('#htopTitle').text('고객센터');
+		
 		// 고객센터 GNB 설정
 		fnSetCallcenterGnb(2);
 		
-		fnGetList(1);
+		$('#btnQnaMore').trigger('click');
 	});
 	
-	let fnGetList = function(page) {
-		// Initialize a pagination
-		gagaPaging.init('qnaForm', fnGetListCallback, 'pageNav', 10);
-
-		// Load data
-		gagaPaging.load(page);
-	}
+	// 더보기
+	$('#btnQnaMore').on('click', function() {
+		gagajf.ajaxFormSubmit($('#qnaForm').prop('action'), '#qnaForm', fnGetListCallback);
+	});
 	
+	// QNA 콜백함수
 	var fnGetListCallback = function(result) {
 		$('#ulQna').html('');
 
@@ -140,82 +145,77 @@
 		if (result.dataList != null && result.dataList.length > 0) {
 			$.each(result.dataList, function(idx, item) {
 				let tag = '<li>\n';
-				tag += '	<div class="inner wide">\n';
-				tag += '		<div class="ui_row">\n'; //데이터 없을시 클래스 nodata 추가
-				tag += '			<div class="foldGroup case2">\n';
-				tag += '				<ul>\n';
-				tag += '					<li>\n';
-				tag += '						<div class="fold_head">\n';
-				tag += '							<a href="javascript:void(0)">\n';
-				tag += '						<div>\n';
-				tag += '						<div class="fold_tit">\n';
-				tag += '							<div class="lap1">\n';
-				tag += '								<span class="fold_state ' + (item.ansStat == "G060_10" ? "doing" : "done") + '">' + item.ansStatNm + '</span>\n'; //답변완료 : done / 처리중 : doing
-				tag += '								<span class="prod">' + item.counselClsfNm + '</span>\n';
-				tag += '							</div>\n';
-				tag += '							<div class="lap2"><span>' + item.questTitle + '</span></div>\n';
-				tag += '						</div>\n';
-				tag += '						<span class="data">' + item.questDt + '</span>\n';
+				tag += '	<div class="fold_head">\n';
+				tag += '		<a href="javascript:void(0)">\n';
+				tag += '			<div>\n';
+				tag += '				<div class="fold_tit">\n';
+				tag += '					<div class="lap1">\n';
+				tag += '						<span class="fold_state ' + (item.ansStat == "G060_10" ? "doing" : "done") + '">' + item.ansStatNm + '</span>\n'; //답변완료 : done / 처리중 : doing
+				tag += '						<span class="prod">' + item.counselClsfNm + '</span>\n';
 				tag += '					</div>\n';
-				tag += '				</a>\n';
+				tag += '					<div class="lap2"><span>' + item.questTitle + '</span></div>\n';
+				tag += '				</div>\n';
+				tag += '				<span class="data">' + item.questDt + '</span>\n';
 				tag += '			</div>\n';
-				tag += '			<div class="fold_cont">\n';
-				tag += '				<div class="fold_detail">\n';
-				tag += '					<div>' + item.questContent + '</p>\n';
+				tag += '		</a>\n';
+				tag += '	</div>\n';
+				tag += '	<div class="fold_cont">\n';
+				tag += '		<div class="fold_detail">\n';
+				tag += '			<div><p>' + item.questContent + '</p></div>\n';
 				
 				if (!gagajf.isNull(item.sysFileNm1) || !gagajf.isNull(item.sysFileNm2)) {
-					tag += '				<p class="img_group">\n';
+					tag += '		<p class="img_group">\n';
 					
 					if (!gagajf.isNull(item.sysFileNm1)) {
-						tag += '					<span class="thumb_pic">\n';
-						tag += '						<img src="' + _uploadImageUrl + '/counsel/' + item.sysFileNm1 + '" alt="" onerror="this.src=\'/image/bg_profile.png\'">\n';
-						tag += '					</span>\n';
+						tag += '		<span class="thumb_pic">\n';
+						tag += '			<img src="' + _uploadImageUrl + '/counsel/' + item.sysFileNm1 + '" alt="" onerror="this.src=\'/image/bg_profile.png\'">\n';
+						tag += '		</span>\n';
 					}
 					
 					if (!gagajf.isNull(item.sysFileNm2)) {
-						tag += '					<span class="thumb_pic">\n';
-						tag += '						<img src="' + _uploadImageUrl + '/counsel/' + item.sysFileNm2 + '" alt="" onerror="this.src=\'/image/bg_profile.png\'">\n';
-						tag += '					</span>\n';
+						tag += '		<span class="thumb_pic">\n';
+						tag += '			<img src="' + _uploadImageUrl + '/counsel/' + item.sysFileNm2 + '" alt="" onerror="this.src=\'/image/bg_profile.png\'">\n';
+						tag += '		</span>\n';
 					}
 					
-					tag += '				</p>\n';
+					tag += '		</p>\n';
 				}
 				
-				tag += '				</div>\n';
-				tag += '			</div>\n';
+				tag += '		</div>\n';
 				
 				if (item.ansStat == 'G060_20') { // 답변완료 상태일 때
-					tag += '			<div class="fold_answer">\n';
-					tag += '				<div>\n';
-					tag += '					<div class="answer_body">' + item.ansContent + '</div>\n';
-					tag += '					<div class="answer_foot">\n';
-					tag += '						<span class="data">' + item.ansDt + '</span>\n';
+					tag += '	<div class="fold_answer">\n';
+					tag += '		<div>\n';
+					tag += '			<div class="answer_body">' + item.ansContent + '</div>\n';
+					tag += '			<div class="answer_foot">\n';
+					tag += '				<span class="data">' + item.ansDt + '</span>\n';
 					
-					if (item.ansStat == 'G060_10') { // 처리중일때
-// 					tag += '						<button type="button" class="btn_delete" onclick="fnDeleteQna(' + item.counselSq + ');"><span>삭제</span></button>
+					if (item.ansStat == 'G060_20') { // 답변완료일때
+						tag += '				<button type="button" class="btn_delete" onclick="fnDeleteQna(' + item.counselSq + ');"><span>삭제</span></button>\n';
 					}
-					tag += '					</div>\n';
-					tag += '				</div>\n';
+					
 					tag += '			</div>\n';
+					tag += '		</div>\n';
+					tag += '	</div>\n';
 				}
 				
-				tag += '		</div>\n';
 				tag += '	</div>\n';
 				tag += '</li>\n';
 
 				$('#ulQna').append(tag);
 			});
+			$('#divQna').removeClass('nodata');
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulQna').append(tag);
 			$('#divQna').addClass('nodata');
 		}
 
-		// 더보기 버튼 노출/미노출
-		if (result.paging.pageable.totalPage == result.paging.pageable.currPage) {
-			$('#nextPage').hide();
+		if (result.paging.pageable.totalPage > result.paging.pageable.pageNo) {
+			$('#btnQnaMore').parent().show();
+			$('#qnaForm input[name=pageNo]').val(result.paging.pageable.pageNo + 1);
 		} else {
-			$('#nextPage').show();
+			$('#btnQnaMore').parent().hide();
 		}
 	}
 	
@@ -232,7 +232,7 @@
 				gagajf.ajaxJsonSubmit('/callcenter/onetoone/qna/delete'
 						, jsonData
 						, function() {
-							fnGetList();
+							$('#btnQnaMore').trigger('click');
 						});
 			}
 		});

+ 3 - 1
src/main/webapp/WEB-INF/views/web/callcenter/OneToOneQnaFormWeb.html

@@ -214,7 +214,7 @@
 				
 				tag += '			</div>\n';
 				
-				if (item.ansStat == 'G060_10') { // 처리중일
+				if (item.ansStat == 'G060_20') { // 답변완료일 
 					tag += '			<button type="button" class="btn btn_default btn_del" onclick="fnDeleteQna(' + item.counselSq + ');"><span><i class="ico ico_trash"></i>삭제</span></button>\n';
 				}
 				
@@ -233,6 +233,8 @@
 				
 				$('#ulQna').append(tag);
 			});
+			
+			$('#divQna').removeClass('nodata');
 		} else {
 			let tag = '<li>내역이 없습니다.</li>\n';
 			$('#ulQna').append(tag);