OrderDelvAddrModifyPopWeb.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. <div class="modal-header">
  2. <h5 class="modal-title" id="adrsModifyLabel">배송지 수정</h5>
  3. </div>
  4. <div class="modal-body">
  5. <div class="pop_cont">
  6. <form class="form_wrap form_full" name="deliveryModifyForm" id="deliveryModifyForm">
  7. <input type="hidden" class="form_control" name="custDelvAddrSq" th:value="${deliveryAddrInfo.custDelvAddrSq}">
  8. <div class="area_adrsinfo">
  9. <h6>배송지 정보</h6>
  10. <div class="default_addrs">
  11. <div class="form_field">
  12. <th:block th:if="${deliveryAddrInfo.defaultYn} == 'Y'">
  13. <input id="chk-default-addrs" type="checkbox" name="defaultYn" checked>
  14. </th:block>
  15. <th:block th:if="${deliveryAddrInfo.defaultYn} == 'N'">
  16. <input id="chk-default-addrs" type="checkbox" name="defaultYn">
  17. </th:block>
  18. <label for="chk-default-addrs"><span>기본 배송지로 등록</span></label>
  19. </div>
  20. </div>
  21. <div class="form_field">
  22. <label class="input_label sr-only">받는 분</label>
  23. <div class="ui_col_12">
  24. <div class="input_wrap">
  25. <input type="text" class="form_control" name="recipNm" placeholder="받는 분" id="" th:value="${deliveryAddrInfo.recipNm}">
  26. </div>
  27. </div>
  28. </div>
  29. <div class="form_field">
  30. <label class="input_label sr-only">휴대폰 번호</label>
  31. <div class="ui_col_12">
  32. <div class="input_wrap">
  33. <input type="text" class="form_control" name="recipPhnno" placeholder="휴대폰 번호" id="" th:value="${deliveryAddrInfo.recipPhnno}">
  34. </div>
  35. </div>
  36. </div>
  37. <div class="form_field">
  38. <label class="input_label sr-only">배송주소</label>
  39. <div class="ui_col_12">
  40. <div class="input_wrap">
  41. <input type="hidden" name="recipZipcode" placeholder="우편번호" th:value="${deliveryAddrInfo.recipZipcode}">
  42. <input type="text" class="form_control" name="recipBaseAddr" placeholder="기본주소" id="" th:value="${deliveryAddrInfo.recipBaseAddr}" disabled>
  43. </div>
  44. <button type="button" class="btn btn_dark btn_sm" onclick="fnOpenDaumAddr();">
  45. <span>우편번호 찾기</span>
  46. </button>
  47. </div>
  48. </div>
  49. <div class="form_field">
  50. <label class="input_label sr-only">상세주소</label>
  51. <div class="ui_col_12">
  52. <div class="input_wrap">
  53. <input type="text" class="form_control" name="recipDtlAddr" placeholder="상세주소" id="" th:value="${deliveryAddrInfo.recipDtlAddr}">
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. <div class="area_request">
  59. <h6>배송요청 사항</h6>
  60. <div class="form_field">
  61. <div>
  62. <input type="radio" name="rdi-request1" id="rdi-request11" value="문앞">
  63. <label for="rdi-request11"><span>문앞</span></label>
  64. </div>
  65. <div>
  66. <input type="radio" name="rdi-request1" id="rdi-request12" value="직접받고 부재시 문 앞">
  67. <label for="rdi-request12"><span>직접받고 부재시 문 앞</span></label>
  68. </div>
  69. <div>
  70. <input type="radio" name="rdi-request1" id="rdi-request13" value="경비실">
  71. <label for="rdi-request13"><span>경비실</span></label>
  72. </div>
  73. <div>
  74. <input type="radio" name="rdi-request1" id="rdi-request14" value="택배함">
  75. <label for="rdi-request14"><span>택배함</span></label>
  76. </div>
  77. <div>
  78. <input type="radio" name="rdi-request1" id="rdi-request15" value="기타사항">
  79. <label for="rdi-request15"><span>기타사항</span></label>
  80. <div class="info_box">
  81. <div class="input_wrap">
  82. <input type="text" name="delvMemoText" class="form_control" maxlength="30" placeholder="보관장소만 입력 (필수)" disabled>
  83. <p>보관 장소 외 다른 내용 입력시 통보없이 삭제 될 수 있습니다.</p>
  84. </div>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. </form>
  90. </div>
  91. </div>
  92. <div class="modal-footer">
  93. <button type="button" class="btn btn_dark" id="btn_delivery_addr_save"><span>배송지 등록</span></button>
  94. </div>
  95. <script th:inline="javascript">
  96. var delvMemo = [[${deliveryAddrInfo.delvMemo}]];
  97. //컨텐츠 호출
  98. $(document).ready( function() {
  99. var delvMemoArr = ["문앞", "직접받고 부재시 문 앞", "경비실", "택배함"];
  100. var tempMemo = true;
  101. // 배송요청사항설정
  102. for (i=0 ; i<delvMemoArr.length ; i++) {
  103. if (delvMemoArr[i] == delvMemo) {
  104. tempMemo = false;
  105. }
  106. }
  107. if (tempMemo) {
  108. $("#deliveryModifyForm input[name=rdi-request1]").eq(4).attr("checked", true);
  109. $("input[name=delvMemoText]").attr("disabled", false);
  110. $("input[name=delvMemoText]").val(delvMemo);
  111. }
  112. $("#deliveryModifyForm input[name=rdi-request1]").each(function(){
  113. var temp = $(this).parent().find('span').text();
  114. if (delvMemo == temp) {
  115. $(this).attr("checked", true);
  116. }
  117. });
  118. // 배송요청사항 버튼기능
  119. $("#deliveryModifyForm input[name=rdi-request1]").each(function(){
  120. // 버튼기능
  121. $(this).on("click", function(){
  122. var temp = $(this).parent().find('span').text();
  123. $("#deliveryModifyForm input[name=delvMemoText]").val("");
  124. if (temp == "기타사항") {
  125. $("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", false);
  126. } else {
  127. $("#deliveryModifyForm input[name=delvMemoText]").attr("disabled", true);
  128. }
  129. });
  130. });
  131. });
  132. // 우편번호 DAUM을 이용한 우편번호 팝업 레이어
  133. var fnOpenDaumAddr = function() {
  134. let daumZip = new daum.Postcode({
  135. oncomplete: function(data) {
  136. $('#deliveryModifyForm input[name=recipZipcode]').val(data.zonecode);
  137. $('#deliveryModifyForm input[name=recipBaseAddr]').val(cfnGetDaumRoadAddr(data));
  138. $('#deliveryModifyForm input[name=recipDtlAddr]').focus();
  139. cfnCloseDaumAddr();
  140. },
  141. width: '100%'
  142. });
  143. cfnOpenDaumAddr(daumZip);
  144. }
  145. // 배송지등록버튼
  146. $("#btn_delivery_addr_save").on("click", function(){
  147. // 기본배송지여부
  148. var defaultYn = "N";
  149. if ($("#deliveryModifyForm input[name=defaultYn]").is(":checked")) {
  150. defaultYn = "Y";
  151. }
  152. // 기타사항일때 텍스트 등록
  153. var delvMemo = $("#deliveryModifyForm input[name=rdi-request1]:checked").parent().find('span').text();
  154. if ("기타사항" == delvMemo) {
  155. delvMemo = $("#deliveryModifyForm input[name=delvMemoText]").val();
  156. }
  157. // 배송지정보설정
  158. var jsonObj = {
  159. "defaultYn" : defaultYn
  160. , "custDelvAddrSq" : parseInt($("#deliveryModifyForm input[name=custDelvAddrSq]").val())
  161. , "recipNm" : $("#deliveryModifyForm input[name=recipNm]").val()
  162. , "recipPhnno" : $("#deliveryModifyForm input[name=recipPhnno]").val()
  163. , "recipZipcode" : $("#deliveryModifyForm input[name=recipZipcode]").val()
  164. , "recipBaseAddr" : $("#deliveryModifyForm input[name=recipBaseAddr]").val()
  165. , "recipDtlAddr" : $("#deliveryModifyForm input[name=recipDtlAddr]").val()
  166. , "delvMemo" : delvMemo
  167. }
  168. var jsonData = JSON.stringify(jsonObj);jsonObj
  169. $.ajax( {
  170. type : "POST",
  171. url : '/order/updateCustDeliveryAddr',
  172. data : jsonData,
  173. dataType : 'html',
  174. beforeSend : function(xhr, settings) {
  175. xhr.setRequestHeader("AJAX" , "true");
  176. xhr.setRequestHeader('Accept' , 'application/json');
  177. xhr.setRequestHeader('Content-Type' , 'application/json');
  178. gagajf.showProgressbar(true);
  179. },
  180. success : function(result) {
  181. // 배송지변경팝업호출
  182. $.ajax( {
  183. type : "POST",
  184. url : '/order/delvAddrChangePop',
  185. data : jsonData,
  186. dataType : 'html',
  187. beforeSend : function(xhr, settings) {
  188. xhr.setRequestHeader("AJAX" , "true");
  189. xhr.setRequestHeader('Accept' , 'application/json');
  190. xhr.setRequestHeader('Content-Type' , 'application/json');
  191. gagajf.showProgressbar(true);
  192. },
  193. success : function(result) {
  194. $("#adrsChangePop .modal-dialog .modal-content").html(result);
  195. $("#adrsChangePop").modal("show");
  196. }
  197. });
  198. }
  199. });
  200. });
  201. </script>