BasicEnvsetForm.html 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : BasicEnvsetForm.html
  7. * @desc : 기본환경설정 Page
  8. *============================================================================
  9. * STYLE24
  10. * Copyright(C) 2020 TSIT, All rights reserved.
  11. *============================================================================
  12. * VER DATE AUTHOR DESCRIPTION
  13. * === =========== ========== =============================================
  14. * 1.0 2020.10.21 gagamel 최초 작성
  15. *******************************************************************************
  16. -->
  17. <div id="main">
  18. <!-- 메인타이틀 영역 -->
  19. <div class="main-title">
  20. </div>
  21. <!-- //메인타이틀 영역 -->
  22. <!-- 메뉴 설명 -->
  23. <div class="infoBox menu-desc">
  24. </div>
  25. <!-- //메뉴 설명 -->
  26. <!-- 검색조건 영역 -->
  27. <div class="panelStyle">
  28. <table class="frmStyle" aria-describedby="검색조건">
  29. <colgroup>
  30. <col style="width:10%;"/>
  31. <col/>
  32. </colgroup>
  33. <tr>
  34. <th>사이트</th>
  35. <td>
  36. <select name="siteCd" class="w150" onchange="fnSearch();">
  37. <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
  38. </select>
  39. </td>
  40. </tr>
  41. </table>
  42. </div>
  43. <!-- 검색조건 영역 -->
  44. <div class="panelStyle">
  45. <h4>[B10] 쇼핑몰Meta정보</h4>
  46. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('B10');">저장</button>
  47. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('B10', '쇼핑몰Meta정보');">이력보기</button>
  48. <table class="frmStyle" aria-describedby="쇼핑몰Meta정보">
  49. <colgroup>
  50. <col style="width: 15%;"/>
  51. <col/>
  52. </colgroup>
  53. <tbody>
  54. <tr>
  55. <th>웹브라우저Title</th>
  56. <td>
  57. <input name="b10StrSetVal1" type="text" class="w500" maxlength="200"/>
  58. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>웹 브라우저 상단에 노출되는 사이트 소개 문구입니다.</span>
  59. </td>
  60. </tr>
  61. <tr>
  62. <th>쇼핑몰Title(og:title)</th>
  63. <td>
  64. <input name="b10StrSetVal2" type="text" class="w500" maxlength="200"/>
  65. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>오픈그래프 Title입니다. 영문/한글/숫자만 입력하세요.</span>
  66. </td>
  67. </tr>
  68. <tr>
  69. <th>쇼핑몰설명(og:description)</th>
  70. <td>
  71. <input name="b10StrSetVal3" type="text" class="w500" maxlength="200"/>
  72. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>오픈그래프 Description입니다. 200자 이내의 영문/한글/숫자만 입력하세요.</span>
  73. </td>
  74. </tr>
  75. <tr>
  76. <th>쇼핑몰이미지(og:image)</th>
  77. <td>
  78. <div class="uFile w500">
  79. <input type="file" id="b10StrSetVal4" name="b10StrSetVal4" class="uFileInput"/>
  80. <label for="b10StrSetVal4" class="uFileLabel">쇼핑몰이미지 선택</label>
  81. <input type="hidden" name="b10StrSetVal4OrgFileNm"/>
  82. <input type="hidden" name="b10StrSetVal4SysFileNm"/>
  83. </div>
  84. <a id="b10StrSetVal4FileDownload" href="#" style="display: none;" onclick="fnDownloadFile('b10StrSetVal4');"></a>
  85. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>오픈그래프 Image입니다</span>
  86. </td>
  87. </tr>
  88. <tr>
  89. <th>키워드(Keywords)</th>
  90. <td>
  91. <input name="b10StrSetVal5" type="text" class="w500" maxlength="70"/>
  92. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>70자 이내로 작성하시고 같은 단어는 3회 이상 반복하시면 안 됩니다.</span>
  93. </td>
  94. </tr>
  95. <tr>
  96. <th>파비콘이미지</th>
  97. <td>
  98. <div class="uFile w500">
  99. <input type="file" id="b10StrSetVal6" name="b10StrSetVal6" class="uFileInput"/>
  100. <label for="b10StrSetVal6" class="uFileLabel">파비콘이미지 선택</label>
  101. <input type="hidden" name="b10StrSetVal6OrgFileNm"/>
  102. <input type="hidden" name="b10StrSetVal6SysFileNm"/>
  103. </div>
  104. <a id="b10StrSetVal6FileDownload" href="#" style="display: none;" onclick="fnDownloadFile('b10StrSetVal6');"></a>
  105. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>16x16 사이즈의 아이콘 이미지(확장자:ico)</span>
  106. </td>
  107. </tr>
  108. </tbody>
  109. </table>
  110. <h4>[C10] 회원기본설정</h4>
  111. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('C10');">저장</button>
  112. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('C10', '회원기본설정');">이력보기</button>
  113. <table class="frmStyle" aria-describedby="회원기본설정">
  114. <colgroup>
  115. <col style="width: 15%;"/>
  116. <col/>
  117. </colgroup>
  118. <tbody>
  119. <tr>
  120. <th>탈퇴후재가입불가기간(일)</th>
  121. <td><input name="c10StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="탈퇴후재가입불가기간"/><span class="cRed">일</span> 동안 탈퇴 후 재가입 불가합니다.</td>
  122. </tr>
  123. <tr>
  124. <th>휴면회선정기간(일)</th>
  125. <td><input name="c10StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="휴면회원선정기간"/><span class="cRed">일</span> 동안 사이트에 로그인 하지 않은 회원을 휴면회원으로 선정합니다.</td>
  126. </tr>
  127. <tr>
  128. <th>휴면회원전환기간(일)</th>
  129. <td><input name="c10StrSetVal3" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="휴면회원전환기간"/><span class="cRed">일</span> 동안 사이트에 로그인 하지 않은 회원을 휴면회원으로 전환합니다.</td>
  130. </tr>
  131. <tr>
  132. <th>회원등급산정기간</th>
  133. <td>전월 기준 최근 <input name="c10StrSetVal4" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="회원등급산정기간"/><span class="cRed">개월</span> 기간 동안의 구매금액(실결제금액)과 구매건수를 기준으로 월초에 산정합니다. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>자세한 사항은 "<span class="cRed">운영관리 > 환경설정 > 회원등급정책관리</span>" 화면을 참조해 주세요.</span></td>
  134. </tr>
  135. </tbody>
  136. </table>
  137. <h4>[G10] 상품노출</h4>
  138. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('G10');">저장</button>
  139. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('G10', '상품노출');">이력보기</button>
  140. <table class="frmStyle" aria-describedby="상품노출">
  141. <colgroup>
  142. <col style="width: 15%;"/>
  143. <col/>
  144. </colgroup>
  145. <tbody>
  146. <tr>
  147. <th>상품평노출여부</th>
  148. <td>
  149. <label class="rdoBtn"><input type="radio" name="g10StrSetVal1" value="Y" checked="checked"/>노출</label>
  150. <label class="rdoBtn"><input type="radio" name="g10StrSetVal1" value="N">미노출</label>
  151. <span class="infoTxt cBlue"><i class="fa fa-info-circle" aria-hidden="true"></i>미노출로 설정 시 상품상세의 상품평 영역이 노출되지 않습니다.</span>
  152. </td>
  153. </tr>
  154. <tr>
  155. <th>품절상품노출여부</th>
  156. <td>
  157. <label class="rdoBtn"><input type="radio" name="g10StrSetVal2" value="Y"/>노출</label>
  158. <label class="rdoBtn"><input type="radio" name="g10StrSetVal2" value="N" checked="checked">미노출</label>
  159. <span class="infoTxt cBlue"><i class="fa fa-info-circle" aria-hidden="true"></i>품절된 상품을 사이트에 노출할지 말지를 설정합니다.</span>
  160. </td>
  161. </tr>
  162. <tr>
  163. <th>베스트상품노출개수</th>
  164. <td>
  165. 카테고리와 아울렛의 베스트 영역에 상품이 <input name="g10StrSetVal3" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger"/> 개 만큼만 노출됩니다.
  166. </td>
  167. </tr>
  168. </tbody>
  169. </table>
  170. <h4>[G11] 상품보관</h4>
  171. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('G11');">저장</button>
  172. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('G11', '상품보관');">이력보기</button>
  173. <table class="frmStyle" aria-describedby="상품보관">
  174. <colgroup>
  175. <col style="width: 15%;"/>
  176. <col/>
  177. </colgroup>
  178. <tbody>
  179. <tr>
  180. <th>장바구니보관기간(일)</th>
  181. <td>
  182. <!-- 2021-06-08 장바구니 보관 기간 30일 고정 > 지하 1층 회의실B 에서 한수인리더 확인.
  183. 장바구니 20일 경과 상품 구매 알림톡 보내기 위해 수정되지 않도록 변경 -xodud1202 -->
  184. 장바구니 보관기간은 <input name="g11StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" readonly disabled data-valid-name="장바구니보관기간"/><span class="cRed">일</span> 입니다. 보관기간 경과 시 자동 삭제됩니다. (보관기간 30일 고정)
  185. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 삭제 처리를 하지 않습니다.</span>
  186. </td>
  187. </tr>
  188. <tr>
  189. <th>장바구니담기최대상품수</th>
  190. <td>
  191. 장바구니에 담을 수 있는 최대 상품 개수는 <input name="g11StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="장바구니보관기간"/><span class="cRed">개</span> 입니다.
  192. </td>
  193. </tr>
  194. <tr>
  195. <th>위시리스트보관기간(일)</th>
  196. <td>
  197. 위시리스트 보관기간은 <input name="g11StrSetVal3" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="위시리스트보관기간"/><span class="cRed">일</span> 입니다. 보관기간 경과 시 자동 삭제됩니다.
  198. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>0으로 설정하면 자동으로 삭제 처리를 하지 않습니다.</span>
  199. </td>
  200. </tr>
  201. </tbody>
  202. </table>
  203. <h4>[G12] 휴면/미접속자 방어쿠폰 자동발송-1</h4>
  204. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('G12');">저장</button>
  205. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('G12', '휴면/미접속자 12');">이력보기</button>
  206. <table class="frmStyle" aria-describedby="휴면/미접속자">
  207. <colgroup>
  208. <col style="width: 15%;"/>
  209. <col/>
  210. </colgroup>
  211. <tbody>
  212. <tr>
  213. <th>미로그인 시작일(일)</th>
  214. <td>
  215. <input name="g12StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 시작일"/><span class="cRed">일</span> 입니다.
  216. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  217. </td>
  218. </tr>
  219. <tr>
  220. <th>미로그인 종료일(일)</th>
  221. <td>
  222. <input name="g12StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 종료일"/><span class="cRed">일</span> 입니다.
  223. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  224. </td>
  225. </tr>
  226. <tr>
  227. <th>혜택쿠폰</th>
  228. <td>
  229. <input type="text" class="w300" name="g12StrSetVal3Nm" onkeypress="if (window.event.keyCode == 13) { fnOpenCouponRetrievePopup('input[name=g12StrSetVal3]', 'input[name=g12StrSetVal3Nm]'); }"/>
  230. <button type="button" class="btn icn" onclick="fnOpenCouponRetrievePopup('input[name=g12StrSetVal3]', 'input[name=g12StrSetVal3Nm]');"><i class="fa fa-search cpn" aria-hidden="true"></i></button>
  231. <input name="g12StrSetVal3" type="text" class="w100" maxlength="20" readonly="readonly"/>
  232. <button type="button" class="btn icn" onclick="$('input[name=g12StrSetVal3], input[name=g12StrSetVal3Nm]').val('');"><i class="fa fa-eraser" aria-hidden="true"></i></button>
  233. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>SMS/이메일 수신동의자</span>
  234. </td>
  235. </tr>
  236. </tbody>
  237. </table>
  238. <h4>[G13] 휴면/미접속자 방어쿠폰 자동발송-2</h4>
  239. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('G13');">저장</button>
  240. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('G13', '휴면/미접속자 13');">이력보기</button>
  241. <table class="frmStyle" aria-describedby="휴면/미접속자">
  242. <colgroup>
  243. <col style="width: 15%;"/>
  244. <col/>
  245. </colgroup>
  246. <tbody>
  247. <tr>
  248. <th>미로그인 시작일(일)</th>
  249. <td>
  250. <input name="g13StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 시작일"/><span class="cRed">일</span> 입니다.
  251. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  252. </td>
  253. </tr>
  254. <tr>
  255. <th>미로그인 종료일(일)</th>
  256. <td>
  257. <input name="g13StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 시작일"/><span class="cRed">일</span> 입니다.
  258. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  259. </td>
  260. </tr>
  261. <tr>
  262. <th>혜택쿠폰</th>
  263. <td>
  264. <input type="text" class="w300" name="g13StrSetVal3Nm" onkeypress="if (window.event.keyCode == 13) { fnOpenCouponRetrievePopup('input[name=g13StrSetVal3]', 'input[name=g13StrSetVal3Nm]'); }"/>
  265. <button type="button" class="btn icn" onclick="fnOpenCouponRetrievePopup('input[name=g13StrSetVal3]', 'input[name=g13StrSetVal3Nm]');"><i class="fa fa-search cpn" aria-hidden="true"></i></button>
  266. <input name="g13StrSetVal3" type="text" class="w100" maxlength="20" readonly="readonly"/>
  267. <button type="button" class="btn icn" onclick="$('input[name=g13StrSetVal3], input[name=g13StrSetVal3Nm]').val('');"><i class="fa fa-eraser" aria-hidden="true"></i></button>
  268. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>SMS/이메일 수신동의자</span>
  269. </td>
  270. </tr>
  271. </tbody>
  272. </table>
  273. <h4>[G14] 휴면/미접속자 방어쿠폰 자동발송-3</h4>
  274. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('G14');">저장</button>
  275. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('G14', '휴면/미접속자 14');">이력보기</button>
  276. <table class="frmStyle" aria-describedby="휴면/미접속자">
  277. <colgroup>
  278. <col style="width: 15%;"/>
  279. <col/>
  280. </colgroup>
  281. <tbody>
  282. <tr>
  283. <th>미로그인 시작일(일)</th>
  284. <td>
  285. <input name="g14StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 시작일"/><span class="cRed">일</span> 입니다.
  286. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  287. </td>
  288. </tr>
  289. <tr>
  290. <th>미로그인 종료일(일)</th>
  291. <td>
  292. <input name="g14StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="미로그인 시작일"/><span class="cRed">일</span> 입니다.
  293. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>0으로 설정하면 자동으로 발송되지 않습니다.</span>
  294. </td>
  295. </tr>
  296. <tr>
  297. <th>혜택쿠폰</th>
  298. <td>
  299. <input type="text" class="w300" name="g14StrSetVal3Nm" onkeypress="if (window.event.keyCode == 13) { fnOpenCouponRetrievePopup('input[name=g14StrSetVal3]', 'input[name=g14StrSetVal3Nm]'); }"/>
  300. <button type="button" class="btn icn" onclick="fnOpenCouponRetrievePopup('input[name=g14StrSetVal3]', 'input[name=g14StrSetVal3Nm]');"><i class="fa fa-search cpn" aria-hidden="true"></i></button>
  301. <input name="g14StrSetVal3" type="text" class="w100" maxlength="20" readonly="readonly"/>
  302. <button type="button" class="btn icn" onclick="$('input[name=g14StrSetVal3], input[name=g14StrSetVal3Nm]').val('');"><i class="fa fa-eraser" aria-hidden="true"></i></button>
  303. <span class="infoTxt cBlue"><i class="fa fa-info-circle marL20" aria-hidden="true"></i>SMS/이메일 수신동의자</span>
  304. </td>
  305. </tr>
  306. </tbody>
  307. </table>
  308. <h4>[O10] 주문/결제</h4>
  309. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('O10');">저장</button>
  310. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('O10', '주문/결제');">이력보기</button>
  311. <table class="frmStyle" aria-describedby="주문/결제">
  312. <colgroup>
  313. <col style="width: 15%;"/>
  314. <col/>
  315. </colgroup>
  316. <tbody>
  317. <tr>
  318. <th>결제단위</th>
  319. <td>
  320. <select name="o10StrSetVal1">
  321. <option value="">[선택]</option>
  322. <option value="1">일원 단위</option>
  323. <option value="10">십원 단위</option>
  324. <option value="100">백원 단위</option>
  325. </select>
  326. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>주문 시의 결제단위 입니다.</span>
  327. </td>
  328. </tr>
  329. <tr>
  330. <th>최소결제금액</th>
  331. <td>
  332. 한 번의 결제 시 상품의 실결제금액이 <input name="o10StrSetVal2" type="text" class="w100 aR" maxlength="7" data-valid-type="pinteger" data-valid-name="최소결제금액"/> <span class="cRed">원</span> 보다 적을 경우 결제가 불가합니다.
  333. </td>
  334. </tr>
  335. <tr>
  336. <th>무료배송비최소주문금액</th>
  337. <td>최소주문금액이 <input name="o10StrSetVal3" type="text" class="w100 aR" maxlength="6" data-valid-type="pinteger" data-valid-name="무료배송비최소주문금액"/> 원 이상이면 배송비가 무료입니다. <span class="infoTxt cBlue marL20"><i class="fa fa-info-circle" aria-hidden="true"></i>이 값은 기본값이며 공급업체별로 다르게 설정할 수도 있습니다.</span></td>
  338. </tr>
  339. <tr>
  340. <th>총알배송주문가능시간</th>
  341. <td>
  342. 오전 <input name="o10StrSetVal4" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="총알배송주문가능시간"/> <span class="cRed">시</span> 까지 주문한 자사상품은 총알배송이 가능합니다.
  343. </td>
  344. </tr>
  345. </tbody>
  346. </table>
  347. <h4>[O11] 품절안내</h4>
  348. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('O11');">저장</button>
  349. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('O11', '품절안내');">이력보기</button>
  350. <table class="frmStyle" aria-describedby="품절안내">
  351. <colgroup>
  352. <col style="width: 15%;"/>
  353. <col/>
  354. </colgroup>
  355. <tbody>
  356. <tr>
  357. <th>품절안내방법</th>
  358. <td>
  359. <label class="rdoBtn"><input type="radio" name="o11StrSetVal1" value="A"/>자동</label>
  360. <label class="rdoBtn"><input type="radio" name="o11StrSetVal1" value="M" checked="checked"/>수동</label>
  361. </td>
  362. </tr>
  363. <tr>
  364. <th>품절안내메시지자동발송기간(일)</th>
  365. <td>
  366. 품절안내방법이 "자동"일 경우 결제완료 후 <input name="o11StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="자동품절안내메시지발송기간(일)"/><span class="cRed">일</span> 동안 출고되지 않으면 품절안내 메시지를 자동으로 발송합니다.
  367. </td>
  368. </tr>
  369. <tr>
  370. <th>품절메시지자동발송기간(일)</th>
  371. <td>
  372. 품절안내방법이 "자동"일 경우 결제완료 후 <input name="o11StrSetVal3" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="자동품절메시지발송기간(일)"/><span class="cRed">일</span> 동안 출고되지 않으면 품절 메시지를 자동으로 발송합니다.
  373. </td>
  374. </tr>
  375. </tbody>
  376. </table>
  377. <h4>[D10] 배송/구매확정/반품</h4>
  378. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('D10');">저장</button>
  379. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('D10', '배송/구매확정/반품');">이력보기</button>
  380. <table class="frmStyle" aria-describedby="배송/구매확정/반품">
  381. <colgroup>
  382. <col style="width: 15%;"/>
  383. <col/>
  384. </colgroup>
  385. <tbody>
  386. <tr>
  387. <th>배송완료자동처리기간(일)</th>
  388. <td>
  389. <span class="cRed">배송중</span> 상태를 기준으로 <input name="d10StrSetVal1" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="배송완료자동처리일수"/><span class="cRed">일</span> 경과 시 자동으로 배송완료로 처리합니다.
  390. </td>
  391. </tr>
  392. <tr>
  393. <th>구매확정자동처리기간(일)</th>
  394. <td>
  395. 배송완료일 기준으로 <input name="d10StrSetVal2" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="구매확정자동처리일수"/><span class="cRed">일</span> 경과 시 자동으로 구매확정 처리합니다.
  396. </td>
  397. </tr>
  398. <tr>
  399. <th>반품가능기간(일)</th>
  400. <td>
  401. 배송완료 후 <input name="d10StrSetVal3" type="text" class="w50 aR" maxlength="3" data-valid-type="pinteger" data-valid-name="반품가능기간"/><span class="cRed">일</span> 내에 반품 신청 및 접수가 가능합니다.
  402. </td>
  403. </tr>
  404. </tbody>
  405. </table>
  406. <h4>[M10] 모바일앱</h4>
  407. <button type="button" class="btn btn-success btn-ssm" onclick="fnSave('M10');">저장</button>
  408. <button type="button" class="btn btn-info btn-ssm" onclick="fnOpenEnvsetPopup('M10', '모바일앱');">이력보기</button>
  409. <table class="frmStyle" aria-describedby="모바일앱">
  410. <colgroup>
  411. <col style="width: 15%;"/>
  412. <col style="width: 35%;"/>
  413. <col style="width: 15%;"/>
  414. <col style="width: 35%;"/>
  415. </colgroup>
  416. <tbody>
  417. <tr>
  418. <th>AOS앱버전</th>
  419. <td>
  420. <input name="m10StrSetVal1" type="text" class="w100" maxlength="20" data-valid-name="AOS앱버전"/>
  421. </td>
  422. <th>AOS업데이트구분</th>
  423. <td>
  424. <label class="rdoBtn"><input type="radio" name="m10StrSetVal3" value="N" checked="checked">일반</label>
  425. <label class="rdoBtn"><input type="radio" name="m10StrSetVal3" value="Y"/>필수</label>
  426. </td>
  427. </tr>
  428. <tr>
  429. <th>IOS앱버전</th>
  430. <td>
  431. <input name="m10StrSetVal2" type="text" class="w100" maxlength="20" data-valid-name="IOS앱버전"/>
  432. </td>
  433. <th>IOS업데이트구분</th>
  434. <td>
  435. <label class="rdoBtn"><input type="radio" name="m10StrSetVal4" value="N" checked="checked">일반</label>
  436. <label class="rdoBtn"><input type="radio" name="m10StrSetVal4" value="Y"/>필수</label>
  437. </td>
  438. </tr>
  439. </tbody>
  440. </table>
  441. </div>
  442. </div>
  443. <script th:inline="javascript">
  444. /*<![CDATA[*/
  445. // 조회
  446. var fnSearch = function() {
  447. var siteCd = $('select[name=siteCd]').val();
  448. var actionUrl = '/envset/' + siteCd;
  449. // 쇼핑몰Meta정보
  450. $.getJSON(actionUrl + '/B10'
  451. , function(result, status) {
  452. if (status === 'success') {
  453. if (!gagajf.isNull(result)) {
  454. $('input[name=b10StrSetVal1]').val(result.strSetVal1);
  455. $('input[name=b10StrSetVal2]').val(result.strSetVal2);
  456. $('input[name=b10StrSetVal3]').val(result.strSetVal3);
  457. if (!gagajf.isNull(result.strSetVal4)) {
  458. $('input[name=b10StrSetVal4SysFileNm]').val(result.strSetVal4);
  459. $('#b10StrSetVal4FileDownload').html(result.strSetVal4);
  460. $('#b10StrSetVal4FileDownload').show();
  461. }
  462. $('input[name=b10StrSetVal5]').val(result.strSetVal5);
  463. if (!gagajf.isNull(result.strSetVal6)) {
  464. $('input[name=b10StrSetVal6SysFileNm]').val(result.strSetVal6);
  465. $('#b10StrSetVal6FileDownload').html(result.strSetVal6);
  466. $('#b10StrSetVal6FileDownload').show();
  467. }
  468. }
  469. }
  470. fnUnEscapeHtml(); //XSS변환
  471. });
  472. // 회원기본설정
  473. $.getJSON(actionUrl + '/C10'
  474. , function(result, status) {
  475. if (status === 'success') {
  476. if (!gagajf.isNull(result)) {
  477. $('input[name=c10StrSetVal1]').val(result.strSetVal1);
  478. $('input[name=c10StrSetVal2]').val(result.strSetVal2);
  479. $('input[name=c10StrSetVal3]').val(result.strSetVal3);
  480. $('input[name=c10StrSetVal4]').val(result.strSetVal4);
  481. }
  482. }
  483. });
  484. // 상품노출
  485. $.getJSON(actionUrl + '/G10'
  486. , function(result, status) {
  487. if (status === 'success') {
  488. if (!gagajf.isNull(result)) {
  489. $("input:radio[name=g10StrSetVal1]").parents('td').find('label').removeClass('checked');
  490. if (result.strSetVal1 == 'Y') {
  491. $("input:radio[name=g10StrSetVal1]").eq(0).prop('checked', true);
  492. } else {
  493. $("input:radio[name=g10StrSetVal1]").eq(1).prop('checked', true);
  494. }
  495. $("input:radio[name=g10StrSetVal2]").parents('td').find('label').removeClass('checked');
  496. if (result.strSetVal2 == 'Y') {
  497. $("input:radio[name=g10StrSetVal2]").eq(0).prop('checked', true);
  498. } else {
  499. $("input:radio[name=g10StrSetVal2]").eq(1).prop('checked', true);
  500. }
  501. $('input[name=g10StrSetVal3]').val(result.strSetVal3);
  502. }
  503. }
  504. });
  505. // 상품보관
  506. $.getJSON(actionUrl + '/G11'
  507. , function(result, status) {
  508. if (status === 'success') {
  509. if (!gagajf.isNull(result)) {
  510. $('input[name=g11StrSetVal1]').val(result.strSetVal1);
  511. $('input[name=g11StrSetVal2]').val(result.strSetVal2);
  512. $('input[name=g11StrSetVal3]').val(result.strSetVal3);
  513. }
  514. }
  515. });
  516. // 주문/결제
  517. $.getJSON(actionUrl + '/O10'
  518. , function(result, status) {
  519. if (status === 'success') {
  520. if (!gagajf.isNull(result)) {
  521. $('select[name=o10StrSetVal1]').val(result.strSetVal1);
  522. $('input[name=o10StrSetVal2]').val(gagajf.isNull(result.strSetVal2) ? result.strSetVal2 : result.strSetVal2.addComma());
  523. $('input[name=o10StrSetVal3]').val(gagajf.isNull(result.strSetVal3) ? result.strSetVal3 : result.strSetVal3.addComma());
  524. $('input[name=o10StrSetVal4]').val(result.strSetVal4);
  525. }
  526. }
  527. });
  528. // 품절안내
  529. $.getJSON(actionUrl + '/O11'
  530. , function(result, status) {
  531. if (status === 'success') {
  532. if (!gagajf.isNull(result)) {
  533. $("input:radio[name=o11StrSetVal1]").parents('td').find('label').removeClass('checked');
  534. if (result.strSetVal1 == 'Y') {
  535. $("input:radio[name=o11StrSetVal1]").eq(0).prop('checked', true);
  536. } else {
  537. $("input:radio[name=o11StrSetVal1]").eq(1).prop('checked', true);
  538. }
  539. $('input[name=o11StrSetVal2]').val(result.strSetVal2);
  540. $('input[name=o11StrSetVal3]').val(result.strSetVal3);
  541. }
  542. }
  543. });
  544. // 배송/구매확정/반품
  545. $.getJSON(actionUrl + '/D10'
  546. , function(result, status) {
  547. if (status === 'success') {
  548. if (!gagajf.isNull(result)) {
  549. $('input[name=d10StrSetVal1]').val(result.strSetVal1);
  550. $('input[name=d10StrSetVal2]').val(result.strSetVal2);
  551. $('input[name=d10StrSetVal3]').val(result.strSetVal3);
  552. }
  553. }
  554. });
  555. // 휴면/미접속자 방어쿠폰 12
  556. $.getJSON(actionUrl + '/G12'
  557. , function(result, status) {
  558. if (status === 'success') {
  559. if (!gagajf.isNull(result)) {
  560. $('input[name=g12StrSetVal1]').val(result.strSetVal1);
  561. $('input[name=g12StrSetVal2]').val(result.strSetVal2);
  562. $('input[name=g12StrSetVal3]').val(result.strSetVal3);
  563. }
  564. }
  565. });
  566. // 휴면/미접속자 방어쿠폰 13
  567. $.getJSON(actionUrl + '/G13'
  568. , function(result, status) {
  569. if (status === 'success') {
  570. if (!gagajf.isNull(result)) {
  571. $('input[name=g13StrSetVal1]').val(result.strSetVal1);
  572. $('input[name=g13StrSetVal2]').val(result.strSetVal2);
  573. $('input[name=g13StrSetVal3]').val(result.strSetVal3);
  574. }
  575. }
  576. });
  577. // 휴면/미접속자 방어쿠폰 11-3
  578. $.getJSON(actionUrl + '/G14'
  579. , function(result, status) {
  580. if (status === 'success') {
  581. if (!gagajf.isNull(result)) {
  582. $('input[name=g14StrSetVal1]').val(result.strSetVal1);
  583. $('input[name=g14StrSetVal2]').val(result.strSetVal2);
  584. $('input[name=g14StrSetVal3]').val(result.strSetVal3);
  585. }
  586. }
  587. });
  588. // 모바일앱
  589. $.getJSON(actionUrl + '/M10'
  590. , function(result, status) {
  591. if (status === 'success') {
  592. if (!gagajf.isNull(result)) {
  593. $('input[name=m10StrSetVal1]').val(result.strSetVal1);
  594. $('input[name=m10StrSetVal2]').val(result.strSetVal2);
  595. $("input:radio[name=m10StrSetVal3]").parents('td').find('label').removeClass('checked');
  596. if (result.strSetVal3 == 'Y') {
  597. $("input:radio[name=m10StrSetVal3]").eq(1).prop('checked', true);
  598. } else {
  599. $("input:radio[name=m10StrSetVal3]").eq(0).prop('checked', true);
  600. }
  601. $("input:radio[name=m10StrSetVal4]").parents('td').find('label').removeClass('checked');
  602. if (result.strSetVal4 == 'Y') {
  603. $("input:radio[name=m10StrSetVal4]").eq(1).prop('checked', true);
  604. } else {
  605. $("input:radio[name=m10StrSetVal4]").eq(0).prop('checked', true);
  606. }
  607. }
  608. }
  609. });
  610. }
  611. // 파일첨부 선택 시
  612. $('#b10StrSetVal4').on('change', function() { fnChooseFile(this); });
  613. $('#b10StrSetVal6').on('change', function() { fnChooseFile(this); });
  614. var fnChooseFile = function(obj) {
  615. // multiple 속성이 있으면 files에는 다수의 객체가 할당됨
  616. var file = obj.files[0];
  617. // 파일 업로드
  618. gagajf.ajaxFileUpload('/common/file/upload?subDir=/envset'
  619. , file
  620. , function(result) {
  621. // 업로드한 파일명 설정
  622. $('input[name=' + obj.name + 'OrgFileNm]').val(result.oldFileName);
  623. $('input[name=' + obj.name + 'SysFileNm]').val(result.newFileName);
  624. }
  625. );
  626. }
  627. // 파일다운로드
  628. var fnDownloadFile = function(id) {
  629. $('#' + id + 'FileDownload').attr({
  630. href : _uploadDefaultUrl + '/envset/' + $('input[name=' + id + 'SysFileNm]').val(),
  631. target: '_blank'
  632. }).get(0).click();
  633. }
  634. // 저장 처리
  635. var fnSave = function(envsetType) {
  636. var params = new Object();
  637. params.siteCd = $('select[name=siteCd]').val();
  638. params.envsetType = envsetType;
  639. if (envsetType == 'B10') { // 쇼핑몰Meta정보
  640. params.envsetNm = '쇼핑몰Meta정보';
  641. params.strSetVal1 = $('input[name=b10StrSetVal1]').val();
  642. params.strSetVal2 = $('input[name=b10StrSetVal2]').val();
  643. params.strSetVal3 = $('input[name=b10StrSetVal3]').val();
  644. params.strSetVal4 = $('input[name=b10StrSetVal4SysFileNm]').val();
  645. params.strSetVal5 = $('input[name=b10StrSetVal5]').val();
  646. params.strSetVal6 = $('input[name=b10StrSetVal6SysFileNm]').val();
  647. } else if (envsetType == 'C10') { // 회원기본설정
  648. params.envsetNm = '회원기본설정';
  649. params.strSetVal1 = $('input[name=c10StrSetVal1]').val();
  650. params.strSetVal2 = $('input[name=c10StrSetVal2]').val();
  651. params.strSetVal3 = $('input[name=c10StrSetVal3]').val();
  652. params.strSetVal4 = $('input[name=c10StrSetVal4]').val();
  653. } else if (envsetType == 'G10') { // 상품노출
  654. params.envsetNm = '상품노출';
  655. params.strSetVal1 = $('input:radio[name=g10StrSetVal1]:checked').val();
  656. params.strSetVal2 = $('input:radio[name=g10StrSetVal2]:checked').val();
  657. params.strSetVal3 = $('input[name=g10StrSetVal3]').val();
  658. } else if (envsetType == 'G11') { // 상품보관
  659. params.envsetNm = '상품보관';
  660. params.strSetVal1 = $('input[name=g11StrSetVal1]').val();
  661. params.strSetVal2 = $('input[name=g11StrSetVal2]').val();
  662. params.strSetVal3 = $('input[name=g11StrSetVal3]').val();
  663. } else if (envsetType == 'O10') { // 주문/결제
  664. params.envsetNm = '주문/결제';
  665. params.strSetVal1 = $('select[name=o10StrSetVal1]').val();
  666. params.strSetVal2 = $('input[name=o10StrSetVal2]').val().removeComma();
  667. params.strSetVal3 = $('input[name=o10StrSetVal3]').val().removeComma();
  668. params.strSetVal4 = $('input[name=o10StrSetVal4]').val();
  669. } else if (envsetType == 'O11') { // 품절안내
  670. params.envsetNm = '품절안내';
  671. params.strSetVal1 = $('input:radio[name=o11StrSetVal1]:checked').val();
  672. params.strSetVal2 = $('input[name=o11StrSetVal2]').val();
  673. params.strSetVal3 = $('input[name=o11StrSetVal3]').val();
  674. } else if (envsetType == 'D10') { // 배송/구매확정/반품
  675. params.envsetNm = '배송/구매확정/반품';
  676. params.strSetVal1 = $('input[name=d10StrSetVal1]').val();
  677. params.strSetVal2 = $('input[name=d10StrSetVal2]').val();
  678. params.strSetVal3 = $('input[name=d10StrSetVal3]').val();
  679. } else if (envsetType == 'G12') { // 휴면/미접속자 방어쿠폰 12
  680. params.envsetNm = '휴면/미접속자 12';
  681. params.strSetVal1 = $('input[name=g12StrSetVal1]').val();
  682. params.strSetVal2 = $('input[name=g12StrSetVal2]').val();
  683. params.strSetVal3 = $('input[name=g12StrSetVal3]').val();
  684. } else if (envsetType == 'G13') { // 휴면/미접속자 방어쿠폰 13
  685. params.envsetNm = '휴면/미접속자 13';
  686. params.strSetVal1 = $('input[name=g13StrSetVal1]').val();
  687. params.strSetVal2 = $('input[name=g13StrSetVal2]').val();
  688. params.strSetVal3 = $('input[name=g13StrSetVal3]').val();
  689. } else if (envsetType == 'G14') { // 휴면/미접속자 방어쿠폰 14
  690. params.envsetNm = '휴면/미접속자 14';
  691. params.strSetVal1 = $('input[name=g14StrSetVal1]').val();
  692. params.strSetVal2 = $('input[name=g14StrSetVal2]').val();
  693. params.strSetVal3 = $('input[name=g14StrSetVal3]').val();
  694. } else if (envsetType == 'M10') { // 모바일앱
  695. params.envsetNm = '모바일앱';
  696. params.strSetVal1 = $('input[name=m10StrSetVal1]').val();
  697. params.strSetVal2 = $('input[name=m10StrSetVal2]').val();
  698. params.strSetVal3 = $('input:radio[name=m10StrSetVal3]:checked').val();
  699. params.strSetVal4 = $('input:radio[name=m10StrSetVal4]:checked').val();
  700. }
  701. var jsonData = JSON.stringify(params);
  702. gagajf.ajaxJsonSubmit('/envset/create', jsonData);
  703. }
  704. // 환경설정 이력보기 팝업
  705. var fnOpenEnvsetPopup = function(envsetType, envsetTypeNm) {
  706. var actionUrl = '/envset/history/form'
  707. + '?siteCd=' + $('select[name=siteCd]').val()
  708. + '&envsetType=' + envsetType
  709. + '&envsetTypeNm=' + encodeURIComponent(envsetTypeNm);
  710. cfnOpenModalPopup(actionUrl, 'popupEnvset');
  711. }
  712. // 쿠폰조회 팝업
  713. var fnOpenCouponRetrievePopup = function(strReturnCode, strReturnName) {
  714. var oParam = new Object();
  715. oParam.returnCode = strReturnCode;
  716. oParam.returnName = strReturnName;
  717. cfnOpenCouponRetrievePopup($(strReturnName).val(), oParam);
  718. }
  719. var fnUnEscapeHtml = function(){ //XSS변환
  720. $('input[name=b10StrSetVal1]').val($('input[name=b10StrSetVal1]').val().replaceXSS());
  721. $('input[name=b10StrSetVal2]').val($('input[name=b10StrSetVal2]').val().replaceXSS());
  722. $('input[name=b10StrSetVal3]').val($('input[name=b10StrSetVal3]').val().replaceXSS());
  723. $('input[name=b10StrSetVal5]').val($('input[name=b10StrSetVal5]').val().replaceXSS());
  724. };
  725. $(document).ready(function() {
  726. $('select[name=siteCd]').trigger('change');
  727. });
  728. /*]]>*/
  729. </script>
  730. </html>