GoodsQnaFormMob.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org"
  4. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  5. layout:decorator="mob/common/layout/CallcenterLayoutMob">
  6. <!--
  7. *******************************************************************************
  8. * @source : GoodsQnaFormWeb.html
  9. * @desc : 상품문의 Page
  10. *============================================================================
  11. * STYLE24
  12. * Copyright(C) 2020 TSIT, All rights reserved.
  13. *============================================================================
  14. * VER DATE AUTHOR DESCRIPTION
  15. * === =========== ========== =============================================
  16. * 1.0 2021.03.09 gagamel 최초 작성
  17. *******************************************************************************
  18. -->
  19. <body>
  20. <th:block layout:fragment="content">
  21. <main role="" id="" class="container cs">
  22. <!-- 고객센터 Gnb -->
  23. <nav class="pnb" id="callcenterGnb">
  24. </nav>
  25. <!-- //고객센터 Gnb -->
  26. <!-- ★ 컨텐츠 시작 -->
  27. <section class="content cs_product_1">
  28. <div class="inner sr-only"><h2 class="title">상품문의</h2></div>
  29. <div class="inner wide">
  30. <!-- 게시판info -->
  31. <ul class="inquiry_box">
  32. <li>
  33. <p th:text="${qnaCountInfo.totCnt}">999</p>
  34. <p>총 문의</p>
  35. </li>
  36. <li>
  37. <p th:text="${qnaCountInfo.ansCnt}">456</p>
  38. <p>답변완료</p>
  39. </li>
  40. <li>
  41. <p th:text="${qnaCountInfo.ingCnt}">690</p>
  42. <p>처리 중</p>
  43. </li>
  44. </ul>
  45. <!-- //게시판info -->
  46. </div>
  47. <div class="inner wide">
  48. <!-- 폴딩리스트2 -->
  49. <div class="ui_row" id="divQna"> <!-- 데이터 없을시 클래스 nodata 추가 -->
  50. <div class="foldGroup case2">
  51. <!-- list2 -->
  52. <ul id="ulQna">
  53. </ul>
  54. <!-- //list2 -->
  55. </div>
  56. </div>
  57. <div class="ui_foot">
  58. <button class="btn btnM btnIcon_more" id="btnQnaMore">더보기</button>
  59. </div>
  60. </div>
  61. </section>
  62. <!-- ★ 컨텐츠 종료 -->
  63. </main>
  64. <form id="qnaForm" name="qnaForm" action="#" th:action="@{'/callcenter/goods/qna/list'}">
  65. <input type="hidden" name="pageNo" value ="1"/>
  66. <input type="hidden" name="pageSize" value ="10"/>
  67. </form>
  68. <script th:inline="javascript">
  69. /*<![CDATA[*/
  70. $(document).ready(function() {
  71. // 타이틀명
  72. $('#htopTitle').text('고객센터');
  73. // 고객센터 GNB 설정
  74. fnSetCallcenterGnb(3);
  75. $('#btnQnaMore').trigger('click');
  76. });
  77. // 더보기
  78. $('#btnQnaMore').on('click', function() {
  79. gagajf.ajaxFormSubmit($('#qnaForm').prop('action'), '#qnaForm', fnGetListCallback);
  80. });
  81. // QNA 콜백함수
  82. var fnGetListCallback = function(result) {
  83. $('#ulQna').html('');
  84. // 목록
  85. if (result.dataList != null && result.dataList.length > 0) {
  86. $.each(result.dataList, function(idx, item) {
  87. let tag = '<li>\n';
  88. tag += ' <div class="fold_head">\n';
  89. tag += ' <a href="javascript:void(0)">\n';
  90. tag += ' <div>\n';
  91. tag += ' <div class="fold_tit">\n';
  92. tag += ' <div class="lap1">\n';
  93. tag += ' <span class="fold_state ' + (item.ansStat == "G060_10" ? "doing" : "done") + '"">' + item.ansStatNm + '</span>\n'; //답변완료 : done / 처리중 : doing
  94. tag += ' <span class="prod">' + item.goodsNm + ' ' + item.relGoodsCd + '</span>\n';
  95. tag += ' </div>\n';
  96. tag += ' <div class="lap2"><span>' + item.questContent + '</span></div>\n';
  97. tag += ' </div>\n';
  98. tag += ' <span class="data">' + item.questDt + '</span>\n';
  99. tag += ' </div>\n';
  100. tag += ' </a>\n';
  101. tag += ' </div>\n';
  102. tag += ' <div class="fold_cont">\n';
  103. tag += ' <div class="fold_detail">\n';
  104. tag += ' <div>\n';
  105. tag += ' <p>' + item.questContent + '</p>\n';
  106. tag += ' </div>\n';
  107. tag += ' </div>\n';
  108. if (item.ansStat == 'G060_20') { // 답변완료일 때
  109. tag += ' <div class="fold_answer">\n';
  110. tag += ' <div>\n';
  111. tag += ' <div class="answer_body">' + item.ansContent + '</div>\n';
  112. tag += ' <div class="answer_foot">\n';
  113. tag += ' <span class="data">' + item.ansDt + '</span>\n';
  114. tag += ' <button type="button" class="btn_delete" onclick="fnDeleteQna(' + item.counselSq + ');"><span>삭제</span></button>\n';
  115. tag += ' </div>\n';
  116. tag += ' </div>\n';
  117. tag += ' </div>\n';
  118. }
  119. tag += ' </div>\n';
  120. tag += '</li>\n';
  121. $('#ulQna').append(tag);
  122. $('#divQna').removeClass('nodata');
  123. });
  124. } else {
  125. let tag = '<li>내역이 없습니다.</li>\n';
  126. $('#ulQna').append(tag);
  127. $('#divQna').addClass('nodata');
  128. }
  129. if (result.paging.pageable.totalPage > result.paging.pageable.pageNo) {
  130. $('#btnQnaMore').parent().show();
  131. $('#qnaForm input[name=pageNo]').val(result.paging.pageable.pageNo + 1);
  132. } else {
  133. $('#btnQnaMore').parent().hide();
  134. }
  135. }
  136. // 삭제
  137. let fnDeleteQna = function(counselSq) {
  138. mcxDialog.confirm("등록된 내용을 삭제하시겠습니까?", {
  139. cancelBtnText: "취소",
  140. sureBtnText: "확인",
  141. sureBtnClick: function() {
  142. let params = new Object();
  143. params.counselSq = counselSq;
  144. var jsonData = JSON.stringify(params);
  145. gagajf.ajaxJsonSubmit('/callcenter/goods/qna/delete'
  146. , jsonData
  147. , function() {
  148. fnGetList();
  149. });
  150. }
  151. });
  152. }
  153. /*]]>*/
  154. </script>
  155. </th:block>
  156. </body>
  157. </html>