PlanTemplatePopupForm.html 98 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313
  1. <!DOCTYPE html>
  2. <html lang="ko"
  3. xmlns:th="http://www.thymeleaf.org">
  4. <!--
  5. *******************************************************************************
  6. * @source : PlanCornerCopyForm.html
  7. * @desc : 기획전 템플릿 화면 Page
  8. *============================================================================
  9. * SISUN
  10. * Copyright(C) 2020 TSIT, All rights reserved.
  11. *============================================================================
  12. * VER DATE AUTHOR DESCRIPTION
  13. * === =========== ========== =============================================
  14. * 1.0 2021.02.18 sowon 최초 작성
  15. *******************************************************************************
  16. -->
  17. <div class="modalPopup" data-width="1200" data-height="730" id="popupPlanTemplate">
  18. <div class="panelStyle" style="height: 750px;">
  19. <div class="panelTitle">
  20. <strong>기획전 템플릿</strong>
  21. <button type="button" class="close" onclick="uifnPopupClose('popupPlanTemplate')">
  22. <i class="fa fa-times"></i>
  23. </button>
  24. </div>
  25. <form id="planTemplateForm" name="planTemplateForm" action="#" th:method="post">
  26. <input type="hidden" name="planSq" th:value="*{planSq}"/>
  27. <input type="hidden" name="mode" th:value="*{mode}"/>
  28. <input type="hidden" name="rePlanContSq">
  29. <input type="hidden" name="cuPlanContSq">
  30. <input type="hidden" name="filePlanContSq">
  31. <input type="hidden" name="goodsPlanContSq1">
  32. <input type="hidden" name="goodsPlanContSq2">
  33. <input type="hidden" name="goodsPlanContSq3">
  34. <input type="hidden" name="goodsPlanContSq4">
  35. <input type="hidden" name="goodsPlanContSq5">
  36. <input type="hidden" name="goodsPlanContSq6">
  37. <input type="hidden" name="goodsPlanContSq7">
  38. <input type="hidden" name="goodsPlanContSq8">
  39. <input type="hidden" name="goodsPlanContSq9">
  40. <input type="hidden" name="goodsPlanContSq10">
  41. <div class="cardArea" style="height: 700px; margin: 3px;">
  42. <div class="panelContent">
  43. <div class="panelStyle" style="margin: unset;">
  44. <!-- TITLE -->
  45. <div class="panelTitle">
  46. <h2>리뷰 조회</h2>
  47. <span class="panelControl"> <i
  48. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  49. </span>
  50. </div>
  51. <!-- //TITLE -->
  52. <div class="inner-panelContent">
  53. <div class="panelContent">
  54. <table class="frmStyle">
  55. <colgroup>
  56. <col width="10%" />
  57. <col width="90%" />
  58. </colgroup>
  59. <tr>
  60. <th>리뷰<br/>[전시여부<label class="chkBox"><input type="checkbox" name="reDispYn" onclick="fnAttachYnClick('reDispYn')" value="N"/></label>]</th>
  61. <td>
  62. <table class="frmStyle">
  63. <tr>
  64. <th>리뷰 타이틀</th>
  65. <td><input type="text" name="reTitle" class="w300 aR"/>
  66. </td>
  67. </tr>
  68. <tr>
  69. <th>전시순서</th>
  70. <td><input type="text" name="reDispOrd" class="w100 aR" data-valid-type="numeric"></td>
  71. </tr>
  72. </table>
  73. <div class="padding10">
  74. <span class="buttonSpan">
  75. <button type="button" class="btn btnRight btn-success btn-lg" onclick="cfnOpenGoodsPopup('reviewGoodsList')">상품 조회</button>
  76. <button type="button" class="btn btnRight btn-success btn-lg" id="btnReviewDelete">행 삭제</button>
  77. </span> <br />
  78. <div id="gridListPlanReview" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  79. </div>
  80. </td>
  81. </tr>
  82. </table>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="panelContent">
  88. <div class="panelStyle" style="margin: unset;">
  89. <!-- TITLE -->
  90. <div class="panelTitle">
  91. <h2>쿠폰 조회</h2>
  92. <span class="panelControl"> <i
  93. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  94. </span>
  95. </div>
  96. <!-- //TITLE -->
  97. <div class="inner-panelContent">
  98. <div class="panelContent">
  99. <table class="frmStyle">
  100. <colgroup>
  101. <col width="10%" />
  102. <col width="90%" />
  103. </colgroup>
  104. <tr>
  105. <th>쿠폰<br/>[전시여부<label class="chkBox"><input type="checkbox" name="cuDispYn" id="cuDispYn" value="N"/></label>]</th>
  106. <td>
  107. <table class="frmStyle">
  108. <tr>
  109. <th>쿠폰 타이틀</th>
  110. <td><input type="text" name="cuTitle" class="w300 aR">
  111. </td>
  112. </tr>
  113. <tr>
  114. <th>전시순서</th>
  115. <td><input type="text" name="cuDispOrd" class="w100 aR" data-valid-type="numeric"></td>
  116. </tr>
  117. <tr>
  118. <th>쿠폰유의사항</th>
  119. <td><textarea class="textareaR4 summernote" name="note" id="note" rows="15" cols="40" style="width: 860px;"></textarea></td>
  120. </tr>
  121. </table>
  122. <div class="padding10">
  123. <span class="buttonSpan">
  124. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnAddCoupone()">쿠폰 추가</button>
  125. </span> <br />
  126. <table class="frmStyle" id="couponTable">
  127. <!-- <tr>
  128. <td colspan="3">
  129. <input type="checkbox">
  130. <input type="text" class="w300" name="cuItemVal1" onkeypress="if (window.event.keyCode == 13) { fnOpenCouponRetrievePopup('input[name=cuItemVal1]', 'input[name=cuItemNm1]'); }"/>
  131. <button type="button" class="btn icn" onclick="fnOpenCouponRetrievePopup('input[name=cuItemVal1]', 'input[name=cuItemNm1]');"><i class="fa fa-search cpn" aria-hidden="true"></i></button>
  132. <input name="cuItemVal1" type="text" class="w100" maxlength="20" readonly="readonly"/>
  133. <button type="button" class="btn icn" onclick="$('input[name=cuItemVal1], input[name=cuItemNm1]').val('');"><i class="fa fa-eraser" aria-hidden="true"></i></button>
  134. </td>
  135. </tr> -->
  136. </table>
  137. </div>
  138. </td>
  139. </tr>
  140. </table>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. <div class="panelContent">
  146. <div class="panelStyle" style="margin: unset;">
  147. <!-- TITLE -->
  148. <div class="panelTitle">
  149. <h2>이미지 첨부</h2>
  150. <span class="panelControl"> <i
  151. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  152. </span>
  153. </div>
  154. <!-- //TITLE -->
  155. <div class="inner-panelContent">
  156. <div class="panelContent">
  157. <table class="frmStyle">
  158. <colgroup>
  159. <col width="10%" />
  160. <col width="90%" />
  161. </colgroup>
  162. <tr>
  163. <th>이미지 첨부<br/>[전시여부<label class="chkBox"><input type="checkbox" name="fileDispYn" value="N"/></label>]</th>
  164. <td colspan="5">
  165. <div id="registeredFile"></div>
  166. <div style="display: block">
  167. <select name="fileCnt" id="fileCnt">
  168. <th:block th:each="num: ${#numbers.sequence(1,10)}">
  169. <option th:value="${num}" th:text="${num}"></option>
  170. </th:block>
  171. </select>* 이미지 개수 선택(10개까지 가능)
  172. </div>
  173. <th:block th:each="num: ${#numbers.sequence(1,10)}">
  174. <div>
  175. <div class="uFile w500">
  176. <input type="file" th:id="${'file' + num}" th:name="${'file' + num}" class="uFileInput w500" accept="image/*"/>
  177. <label th:for="${'file' + num}" class="uFileLabel">파일선택</label>
  178. <input type="hidden" name="fileItemVal" th:id="${'fileItemVal' + num}" />
  179. <input type="hidden" name="sysFileNms" th:id="${'sysFileNm' + num}" />
  180. <input type="text" th:name="${'linkUrl' + num}" class="w300 aR">
  181. </div>
  182. <br />
  183. <table>
  184. <tr>
  185. <th>클릭시 페이지창</th>
  186. <td>
  187. <label class="rdoBtn"><input type="radio" th:name="${'fileLinkOpenGb' + num}" value="M" checked/>현재창</label>
  188. <label class="rdoBtn"><input type="radio" th:name="${'fileLinkOpenGb' + num}" value="N" />새창</label>
  189. </td>
  190. </tr>
  191. <tr>
  192. <th>상품 링크</th>
  193. <td><input type="text" th:name="${'fileLinkUrl' + num}" class="w300 aR">
  194. </td>
  195. </tr>
  196. </table>
  197. </div>
  198. </th:block>
  199. </td>
  200. <th>전시순서</th>
  201. <td><input type="text" name="fileDispOrd" class="w100 aR" data-valid-type="numeric"></td>
  202. </tr>
  203. </table>
  204. </div>
  205. </div>
  206. </div>
  207. </div>
  208. <div class="panelContent">
  209. <div class="panelStyle" style="margin: unset;">
  210. <!-- TITLE -->
  211. <div class="panelTitle">
  212. <h2>HTML [상단]</h2>
  213. <span class="panelControl"> <i
  214. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  215. </span>
  216. </div>
  217. <!-- //TITLE -->
  218. <div class="inner-panelContent">
  219. <div class="panelContent">
  220. <table class="frmStyle">
  221. <colgroup>
  222. <col width="10%" />
  223. <col width="90%" />
  224. </colgroup>
  225. <tr>
  226. <th>[전시여부<label class="chkBox"><input type="checkbox" name="topFsrcDispYn" value="N"/></label>]</th>
  227. <!-- <td><input type="text" name ="topFsrcDispOrd" value="" class="w100 aR" data-valid-type="numeric"></td> -->
  228. </tr>
  229. <tr>
  230. <th>웹용소스</th>
  231. <td colspan="5">
  232. <div style="margin-top: 5px;">
  233. <textarea class="textareaR4 summernote" name="fsrcPcTop" id="fsrcPcTop" rows="15" cols="95" style="width: 1280px;"></textarea>
  234. </div>
  235. </td>
  236. </tr>
  237. <tr>
  238. <th>모바일용소스</th>
  239. <td colspan="5">
  240. <div style="margin-top: 5px;">
  241. <textarea class="textareaR4 summernote" name="fsrcMobileTop" id="fsrcMobileTop" rows="15" cols="95" style="width: 1280px;"></textarea>
  242. </div>
  243. </td>
  244. </tr>
  245. </table>
  246. </div>
  247. </div>
  248. </div>
  249. </div>
  250. <div class="panelContent">
  251. <div class="panelStyle" style="margin: unset;">
  252. <!-- TITLE -->
  253. <div class="panelTitle">
  254. <h2>HTML [하단]</h2>
  255. <span class="panelControl"> <i
  256. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  257. </span>
  258. </div>
  259. <!-- //TITLE -->
  260. <div class="inner-panelContent">
  261. <div class="panelContent">
  262. <table class="frmStyle">
  263. <colgroup>
  264. <col width="10%" />
  265. <col width="90%" />
  266. </colgroup>
  267. <tr>
  268. <th>[전시여부<label class="chkBox"><input type="checkbox" name="btmFsrcDispYn" value="N"/></label>]</th>
  269. <!-- <td><input type="text" name ="btmFsrcDispOrd" value="" class="w100 aR" data-valid-type="numeric"></td> -->
  270. </tr>
  271. <tr>
  272. <th>웹용소스</th>
  273. <td colspan="5">
  274. <div style="margin-top: 5px;">
  275. <textarea class="textareaR4 summernote" name="fsrcPcBtm" id="fsrcPcBtm" rows="15" cols="95" style="width: 1280px;"></textarea>
  276. </div>
  277. </td>
  278. </tr>
  279. <tr>
  280. <th>모바일용소스</th>
  281. <td colspan="5">
  282. <div style="margin-top: 5px;">
  283. <textarea class="textareaR4 summernote" name="fsrcMobileBtm" id="fsrcMobileBtm" rows="15" cols="95" style="width: 1280px;"></textarea>
  284. </div>
  285. </td>
  286. </tr>
  287. </table>
  288. </div>
  289. </div>
  290. </div>
  291. </div>
  292. <!-- 팝업창 하단부분 시작 -->
  293. <div class="panelStyle" style="margin: unset;">
  294. <!-- TITLE -->
  295. <div class="panelTitle">
  296. <h2>상품 등록</h2>
  297. <span class="panelControl"> <i
  298. class="fa inner-fa-chevron-up"></i> <!-- 열림/닫힘 화살표 -->
  299. </span>
  300. </div>
  301. <!-- //상품 전시 설정 -->
  302. <div class="inner-panelContent">
  303. <div class="panelContent">
  304. <ul class="panelBar">
  305. <li class="left">
  306. <p>최대 10개 까지 상품을 추가하실 수 있습니다.</p>
  307. </li>
  308. <li class="right">
  309. <button type="button" class="btn btnRight btn-success btn-lg" id="btnAddGrid">구분추가하기</button>
  310. </li>
  311. </ul>
  312. <!-- 구분 1 -->
  313. <div class="inner-panelContent" id="btnAddGridNum1"
  314. style="display: none;">
  315. <input type="hidden" name="btnAddGridNum1UseYn" value="Y">
  316. <input type="hidden" name="mailtcSq">
  317. <div class="panelContent">
  318. <table class="frmStyle">
  319. <colgroup>
  320. <col width="10%" />
  321. <col width="90%" />
  322. </colgroup>
  323. <tr>
  324. <th>상품 구분 1<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn1" value="N" ></label>]<br>
  325. <button type="button" class="btn btn-danger btn-lg" id="" onclick="btnDeleteGridNum1();">구분 삭제</button>
  326. </th>
  327. <td>
  328. <div class="">
  329. <table class="frmStyle">
  330. <tr>
  331. <th>상품 노출 기준</th>
  332. <td>
  333. <label class="rdoBtn"><input type="radio" name="goodsType1" value="G082_50" />1개</label>
  334. <label class="rdoBtn"><input type="radio" name="goodsType1" value="G082_51" />2개</label>
  335. <label class="rdoBtn"><input type="radio" name="goodsType1" value="G082_52" />4개</label>
  336. </td>
  337. </tr>
  338. <tr>
  339. <th>상품 타이틀</th>
  340. <td><input type="text" name="goodsTitle1" class="w300 aR">
  341. </td>
  342. </tr>
  343. <tr>
  344. <th>클릭시 페이지창</th>
  345. <td>
  346. <label class="rdoBtn"><input type="radio" name="linkOpenGb1" value="M" checked="checked"/>현재창</label>
  347. <label class="rdoBtn"><input type="radio" name="linkOpenGb1" value="N" />새창</label>
  348. </td>
  349. </tr>
  350. <tr>
  351. <th>상품 링크</th>
  352. <td><input type="text" name="goodsUrl1" class="w300 aR">
  353. </td>
  354. </tr>
  355. <tr>
  356. <th>전시 순서</th>
  357. <td><input type="text" name="goodsDispOrd1" class="w300 aR" data-valid-type="numeric">
  358. </td>
  359. </tr>
  360. </table>
  361. <ul class="panelBar">
  362. <li class="left">
  363. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p1');">상품 조회</button>
  364. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p1');">행 삭제</button>
  365. </li>
  366. </ul>
  367. <!-- Agrid -->
  368. <div id="gridTempGbList1" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  369. </div>
  370. </td>
  371. </tr>
  372. </table>
  373. </div>
  374. </div>
  375. <!-- 구분 1 -->
  376. <!-- 구분2 -->
  377. <div class="inner-panelContent" id="btnAddGridNum2"
  378. style="display: none;">
  379. <input type="hidden" name="btnAddGridNum2UseYn" value="Y">
  380. <div class="panelContent">
  381. <table class="frmStyle">
  382. <colgroup>
  383. <col width="10%" />
  384. <col width="90%" />
  385. </colgroup>
  386. <tr>
  387. <th>상품 구분 2<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn2" value="N" ></label>]<br>
  388. <br>
  389. <button type="button" class="btn btn-danger btn-lg" id=""
  390. onclick="btnDeleteGridNum2();">구분 삭제</button>
  391. </th>
  392. <td>
  393. <div class="">
  394. <table class="frmStyle">
  395. <tr>
  396. <th>상품 노출 기준</th>
  397. <td>
  398. <label class="rdoBtn"><input type="radio" name="goodsType2" value="G082_50" />1개</label>
  399. <label class="rdoBtn"><input type="radio" name="goodsType2" value="G082_51" />2개</label>
  400. <label class="rdoBtn"><input type="radio" name="goodsType2" value="G082_52" />4개</label>
  401. </td>
  402. </tr>
  403. <tr>
  404. <th>상품 타이틀</th>
  405. <td><input type="text" name="goodsTitle2" class="w300 aR">
  406. </td>
  407. </tr>
  408. <tr>
  409. <th>클릭시 페이지창</th>
  410. <td>
  411. <label class="rdoBtn"><input type="radio" name="linkOpenGb2" value="M" checked="checked"/>현재창</label>
  412. <label class="rdoBtn"><input type="radio" name="linkOpenGb2" value="N" />새창</label>
  413. </td>
  414. </tr>
  415. <tr>
  416. <th>상품 링크</th>
  417. <td><input type="text" name="goodsUrl2" class="w300 aR">
  418. </td>
  419. </tr>
  420. <tr>
  421. <th>전시 순서</th>
  422. <td><input type="text" name="goodsDispOrd2" class="w300 aR" data-valid-type="numeric">
  423. </td>
  424. </tr>
  425. </table>
  426. <ul class="panelBar">
  427. <li class="left">
  428. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p2');">상품 조회</button>
  429. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p2');">행 삭제</button>
  430. </li>
  431. </ul>
  432. <!-- Agrid -->
  433. <div id="gridTempGbList2" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  434. </div>
  435. </td>
  436. </tr>
  437. </table>
  438. </div>
  439. </div>
  440. <!-- 구분2 -->
  441. <!-- 구분3 -->
  442. <div class="inner-panelContent" id="btnAddGridNum3"
  443. style="display: none;">
  444. <input type="hidden" name="btnAddGridNum3UseYn" value="Y">
  445. <div class="panelContent">
  446. <table class="frmStyle">
  447. <colgroup>
  448. <col width="10%" />
  449. <col width="90%" />
  450. </colgroup>
  451. <tr>
  452. <th>상품 구분 3<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn3" value="N" ></label>]<br>
  453. <br>
  454. <button type="button" class="btn btn-danger btn-lg" id=""
  455. onclick="btnDeleteGridNum3('gridOptions_c3');">구분
  456. 삭제</button>
  457. </th>
  458. <td>
  459. <div class="">
  460. <table class="frmStyle">
  461. <tr>
  462. <th>상품 노출 기준</th>
  463. <td>
  464. <label class="rdoBtn"><input type="radio" name="goodsType3" value="G082_50" />1개</label>
  465. <label class="rdoBtn"><input type="radio" name="goodsType3" value="G082_51" />2개</label>
  466. <label class="rdoBtn"><input type="radio" name="goodsType3" value="G082_52" />4개</label>
  467. </td>
  468. </tr>
  469. <tr>
  470. <th>상품 타이틀</th>
  471. <td><input type="text" name="goodsTitle3" class="w300 aR">
  472. </td>
  473. </tr>
  474. <tr>
  475. <th>클릭시 페이지창</th>
  476. <td>
  477. <label class="rdoBtn"><input type="radio" name="linkOpenGb3" value="M" checked="checked"/>현재창</label>
  478. <label class="rdoBtn"><input type="radio" name="linkOpenGb3" value="N" />새창</label>
  479. </td>
  480. </tr>
  481. <tr>
  482. <th>상품 링크</th>
  483. <td><input type="text" name="goodsUrl3" class="w300 aR">
  484. </td>
  485. </tr>
  486. <tr>
  487. <th>전시 순서</th>
  488. <td><input type="text" name="goodsDispOrd3" class="w300 aR" data-valid-type="numeric">
  489. </td>
  490. </tr>
  491. </table>
  492. <ul class="panelBar">
  493. <li class="left">
  494. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p3');">상품 조회</button>
  495. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p3');">행 삭제</button>
  496. </li>
  497. </ul>
  498. <!-- Agrid -->
  499. <div id="gridTempGbList3" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  500. </div>
  501. </td>
  502. </tr>
  503. </table>
  504. </div>
  505. </div>
  506. <!-- 구분3 -->
  507. <!-- 구분4 -->
  508. <div class="inner-panelContent" id="btnAddGridNum4"
  509. style="display: none;">
  510. <input type="hidden" name="btnAddGridNum4UseYn" value="Y">
  511. <div class="panelContent">
  512. <table class="frmStyle">
  513. <colgroup>
  514. <col width="10%" />
  515. <col width="90%" />
  516. </colgroup>
  517. <tr>
  518. <th>상품 구분 4<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn4" value="N" ></label>]<br>
  519. <br>
  520. <button type="button" class="btn btn-danger btn-lg" id=""
  521. onclick="btnDeleteGridNum4('gridOptions_c4');">구분
  522. 삭제</button>
  523. </th>
  524. <td>
  525. <div class="">
  526. <table class="frmStyle">
  527. <tr>
  528. <th>상품 노출 기준</th>
  529. <td>
  530. <label class="rdoBtn"><input type="radio" name="goodsType4" value="G082_50" />1개</label>
  531. <label class="rdoBtn"><input type="radio" name="goodsType4" value="G082_51" />2개</label>
  532. <label class="rdoBtn"><input type="radio" name="goodsType4" value="G082_52" />4개</label>
  533. </td>
  534. </tr>
  535. <tr>
  536. <th>상품 타이틀</th>
  537. <td><input type="text" name="goodsTitle4" class="w300 aR">
  538. </td>
  539. </tr>
  540. <tr>
  541. <th>클릭시 페이지창</th>
  542. <td>
  543. <label class="rdoBtn"><input type="radio" name="linkOpenGb4" value="M" checked="checked"/>현재창</label>
  544. <label class="rdoBtn"><input type="radio" name="linkOpenGb4" value="N" />새창</label>
  545. </td>
  546. </tr>
  547. <tr>
  548. <th>상품 링크</th>
  549. <td><input type="text" name="goodsUrl4" class="w300 aR">
  550. </td>
  551. </tr>
  552. <tr>
  553. <th>전시 순서</th>
  554. <td><input type="text" name="goodsDispOrd4" class="w300 aR" data-valid-type="numeric">
  555. </td>
  556. </tr>
  557. </table>
  558. <ul class="panelBar">
  559. <li class="left">
  560. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p4');">상품 조회</button>
  561. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p4');">행 삭제</button>
  562. </li>
  563. </ul>
  564. <!-- Agrid -->
  565. <div id="gridTempGbList4" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  566. </div>
  567. </td>
  568. </tr>
  569. </table>
  570. </div>
  571. </div>
  572. <!-- 구분4 -->
  573. <!-- 구분5 -->
  574. <div class="inner-panelContent" id="btnAddGridNum5"
  575. style="display: none;">
  576. <input type="hidden" name="btnAddGridNum5UseYn" value="Y">
  577. <div class="panelContent">
  578. <table class="frmStyle">
  579. <colgroup>
  580. <col width="10%" />
  581. <col width="90%" />
  582. </colgroup>
  583. <tr>
  584. <th>상품 구분 5<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn5" value="N" ></label>]<br>
  585. <br>
  586. <button type="button" class="btn btn-danger btn-lg" id=""
  587. onclick="btnDeleteGridNum5('gridOptions_c5');">구분
  588. 삭제</button>
  589. </th>
  590. <td>
  591. <div class="">
  592. <table class="frmStyle">
  593. <tr>
  594. <th>상품 노출 기준</th>
  595. <td>
  596. <label class="rdoBtn"><input type="radio" name="goodsType5" value="G082_50" />1개</label>
  597. <label class="rdoBtn"><input type="radio" name="goodsType5" value="G082_51" />2개</label>
  598. <label class="rdoBtn"><input type="radio" name="goodsType5" value="G082_52" />4개</label>
  599. </td>
  600. </tr>
  601. <tr>
  602. <th>상품 타이틀</th>
  603. <td><input type="text" name="goodsTitle5" class="w300 aR">
  604. </td>
  605. </tr>
  606. <tr>
  607. <th>클릭시 페이지창</th>
  608. <td>
  609. <label class="rdoBtn"><input type="radio" name="linkOpenGb5" value="M" checked="checked"/>현재창</label>
  610. <label class="rdoBtn"><input type="radio" name="linkOpenGb5" value="N" />새창</label>
  611. </td>
  612. </tr>
  613. <tr>
  614. <th>상품 링크</th>
  615. <td><input type="text" name="goodsUrl5" class="w300 aR">
  616. </td>
  617. </tr>
  618. <tr>
  619. <th>전시 순서</th>
  620. <td><input type="text" name="goodsDispOrd5" class="w300 aR" data-valid-type="numeric">
  621. </td>
  622. </tr>
  623. </table>
  624. <ul class="panelBar">
  625. <li class="left">
  626. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p5');">상품 조회</button>
  627. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p5');">행 삭제</button>
  628. </li>
  629. </ul>
  630. <!-- Agrid -->
  631. <div id="gridTempGbList5" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  632. </div>
  633. </td>
  634. </tr>
  635. </table>
  636. </div>
  637. </div>
  638. <!-- 구분5 -->
  639. <!-- 구분6 -->
  640. <div class="inner-panelContent" id="btnAddGridNum6"
  641. style="display: none;">
  642. <input type="hidden" name="btnAddGridNum6UseYn" value="Y">
  643. <div class="panelContent">
  644. <table class="frmStyle">
  645. <colgroup>
  646. <col width="10%" />
  647. <col width="90%" />
  648. </colgroup>
  649. <tr>
  650. <th>상품 구분 6<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn6" value="N" ></label>]<br>
  651. <br>
  652. <button type="button" class="btn btn-danger btn-lg" id=""
  653. onclick="btnDeleteGridNum5('gridOptions_c6');">구분
  654. 삭제</button>
  655. </th>
  656. <td>
  657. <div class="">
  658. <table class="frmStyle">
  659. <tr>
  660. <th>상품 노출 기준</th>
  661. <td>
  662. <label class="rdoBtn"><input type="radio" name="goodsType6" value="G082_50" />1개</label>
  663. <label class="rdoBtn"><input type="radio" name="goodsType6" value="G082_51" />2개</label>
  664. <label class="rdoBtn"><input type="radio" name="goodsType6" value="G082_52" />4개</label>
  665. </td>
  666. </tr>
  667. <tr>
  668. <th>상품 타이틀</th>
  669. <td><input type="text" name="goodsTitle6" class="w300 aR">
  670. </td>
  671. </tr>
  672. <tr>
  673. <th>클릭시 페이지창</th>
  674. <td>
  675. <label class="rdoBtn"><input type="radio" name="linkOpenGb6" value="M" checked="checked"/>현재창</label>
  676. <label class="rdoBtn"><input type="radio" name="linkOpenGb6" value="N" />새창</label>
  677. </td>
  678. </tr>
  679. <tr>
  680. <th>상품 링크</th>
  681. <td><input type="text" name="goodsUrl6" class="w300 aR">
  682. </td>
  683. </tr>
  684. <tr>
  685. <th>전시 순서</th>
  686. <td><input type="text" name="goodsDispOrd6" class="w300 aR" data-valid-type="numeric">
  687. </td>
  688. </tr>
  689. </table>
  690. <ul class="panelBar">
  691. <li class="left">
  692. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p6');">상품 조회</button>
  693. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p6');">행 삭제</button>
  694. </li>
  695. </ul>
  696. <!-- Agrid -->
  697. <div id="gridTempGbList6" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  698. </div>
  699. </td>
  700. </tr>
  701. </table>
  702. </div>
  703. </div>
  704. <!-- 구분6 -->
  705. <!-- 구분7 -->
  706. <div class="inner-panelContent" id="btnAddGridNum7"
  707. style="display: none;">
  708. <input type="hidden" name="btnAddGridNum7UseYn" value="Y">
  709. <div class="panelContent">
  710. <table class="frmStyle">
  711. <colgroup>
  712. <col width="10%" />
  713. <col width="90%" />
  714. </colgroup>
  715. <tr>
  716. <th>상품 구분 7<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn7" value="N" ></label>]<br>
  717. <br>
  718. <button type="button" class="btn btn-danger btn-lg" id=""
  719. onclick="btnDeleteGridNum5('gridOptions_c7');">구분
  720. 삭제</button>
  721. </th>
  722. <td>
  723. <div class="">
  724. <table class="frmStyle">
  725. <tr>
  726. <th>상품 노출 기준</th>
  727. <td>
  728. <label class="rdoBtn"><input type="radio" name="goodsType7" value="G082_50" />1개</label>
  729. <label class="rdoBtn"><input type="radio" name="goodsType7" value="G082_51" />2개</label>
  730. <label class="rdoBtn"><input type="radio" name="goodsType7" value="G082_52" />4개</label>
  731. </td>
  732. </tr>
  733. <tr>
  734. <th>상품 타이틀</th>
  735. <td><input type="text" name="goodsTitle7" class="w300 aR">
  736. </td>
  737. </tr>
  738. <tr>
  739. <th>클릭시 페이지창</th>
  740. <td>
  741. <label class="rdoBtn"><input type="radio" name="linkOpenGb7" value="M" checked="checked"/>현재창</label>
  742. <label class="rdoBtn"><input type="radio" name="linkOpenGb7" value="N" />새창</label>
  743. </td>
  744. </tr>
  745. <tr>
  746. <th>상품 링크</th>
  747. <td><input type="text" name="goodsUrl7" class="w300 aR">
  748. </td>
  749. </tr>
  750. <tr>
  751. <th>전시 순서</th>
  752. <td><input type="text" name="goodsDispOrd7" class="w300 aR" data-valid-type="numeric">
  753. </td>
  754. </tr>
  755. </table>
  756. <ul class="panelBar">
  757. <li class="left">
  758. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p7');">상품 조회</button>
  759. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p7');">행 삭제</button>
  760. </li>
  761. </ul>
  762. <!-- Agrid -->
  763. <div id="gridTempGbList7" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  764. </div>
  765. </td>
  766. </tr>
  767. </table>
  768. </div>
  769. </div>
  770. <!-- 구분7 -->
  771. <!-- 구분8 -->
  772. <div class="inner-panelContent" id="btnAddGridNum8"
  773. style="display: none;">
  774. <input type="hidden" name="btnAddGridNum8UseYn" value="Y">
  775. <div class="panelContent">
  776. <table class="frmStyle">
  777. <colgroup>
  778. <col width="10%" />
  779. <col width="90%" />
  780. </colgroup>
  781. <tr>
  782. <th>상품 구분 8<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn8" value="N" ></label>]<br>
  783. <br>
  784. <button type="button" class="btn btn-danger btn-lg" id=""
  785. onclick="btnDeleteGridNum8('gridOptions_c8');">구분
  786. 삭제</button>
  787. </th>
  788. <td>
  789. <div class="">
  790. <table class="frmStyle">
  791. <tr>
  792. <th>상품 노출 기준</th>
  793. <td>
  794. <label class="rdoBtn"><input type="radio" name="goodsType8" value="G082_50" />1개</label>
  795. <label class="rdoBtn"><input type="radio" name="goodsType8" value="G082_51" />2개</label>
  796. <label class="rdoBtn"><input type="radio" name="goodsType8" value="G082_52" />4개</label>
  797. </td>
  798. </tr>
  799. <tr>
  800. <th>상품 타이틀</th>
  801. <td><input type="text" name="goodsTitle8" class="w300 aR">
  802. </td>
  803. </tr>
  804. <tr>
  805. <th>클릭시 페이지창</th>
  806. <td>
  807. <label class="rdoBtn"><input type="radio" name="linkOpenGb8" value="M" checked="checked"/>현재창</label>
  808. <label class="rdoBtn"><input type="radio" name="linkOpenGb8" value="N" />새창</label>
  809. </td>
  810. </tr>
  811. <tr>
  812. <th>상품 링크</th>
  813. <td><input type="text" name="goodsUrl8" class="w300 aR">
  814. </td>
  815. </tr>
  816. <tr>
  817. <th>전시 순서</th>
  818. <td><input type="text" name="goodsDispOrd8" class="w300 aR" data-valid-type="numeric">
  819. </td>
  820. </tr>
  821. </table>
  822. <ul class="panelBar">
  823. <li class="left">
  824. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p8');">상품 조회</button>
  825. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p8');">행 삭제</button>
  826. </li>
  827. </ul>
  828. <!-- Agrid -->
  829. <div id="gridTempGbList8" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  830. </div>
  831. </td>
  832. </tr>
  833. </table>
  834. </div>
  835. </div>
  836. <!-- 구분8 -->
  837. <!-- 구분9 -->
  838. <div class="inner-panelContent" id="btnAddGridNum9"
  839. style="display: none;">
  840. <input type="hidden" name="btnAddGridNum9UseYn" value="Y">
  841. <div class="panelContent">
  842. <table class="frmStyle">
  843. <colgroup>
  844. <col width="10%" />
  845. <col width="90%" />
  846. </colgroup>
  847. <tr>
  848. <th>상품 구분 9<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn9" value="N" ></label>]<br>
  849. <br>
  850. <button type="button" class="btn btn-danger btn-lg" id=""
  851. onclick="btnDeleteGridNum8('gridOptions_c9');">구분
  852. 삭제</button>
  853. </th>
  854. <td>
  855. <div class="">
  856. <table class="frmStyle">
  857. <tr>
  858. <th>상품 노출 기준</th>
  859. <td>
  860. <label class="rdoBtn"><input type="radio" name="goodsType9" value="G082_50" />1개</label>
  861. <label class="rdoBtn"><input type="radio" name="goodsType9" value="G082_51" />2개</label>
  862. <label class="rdoBtn"><input type="radio" name="goodsType9" value="G082_52" />4개</label>
  863. </td>
  864. </tr>
  865. <tr>
  866. <th>상품 타이틀</th>
  867. <td><input type="text" name="goodsTitle9" class="w300 aR">
  868. </td>
  869. </tr>
  870. <tr>
  871. <th>클릭시 페이지창</th>
  872. <td>
  873. <label class="rdoBtn"><input type="radio" name="linkOpenGb9" value="M" checked="checked"/>현재창</label>
  874. <label class="rdoBtn"><input type="radio" name="linkOpenGb9" value="N" />새창</label>
  875. </td>
  876. </tr>
  877. <tr>
  878. <th>상품 링크</th>
  879. <td><input type="text" name="goodsUrl9" class="w300 aR">
  880. </td>
  881. </tr>
  882. <tr>
  883. <th>전시 순서</th>
  884. <td><input type="text" name="goodsDispOrd9" class="w300 aR" data-valid-type="numeric">
  885. </td>
  886. </tr>
  887. </table>
  888. <ul class="panelBar">
  889. <li class="left">
  890. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p9');">상품 조회</button>
  891. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p9');">행 삭제</button>
  892. </li>
  893. </ul>
  894. <!-- Agrid -->
  895. <div id="gridTempGbList9" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  896. </div>
  897. </td>
  898. </tr>
  899. </table>
  900. </div>
  901. </div>
  902. <!-- 구분9 -->
  903. <!-- 구분10 -->
  904. <div class="inner-panelContent" id="btnAddGridNum10"
  905. style="display: none;">
  906. <input type="hidden" name="btnAddGridNum10UseYn" value="Y">
  907. <div class="panelContent">
  908. <table class="frmStyle">
  909. <colgroup>
  910. <col width="10%" />
  911. <col width="90%" />
  912. </colgroup>
  913. <tr>
  914. <th>상품 구분 10<br/>[전시여부<label class="chkBox" style="padding-left: 0px;"><input type="checkbox" name="goodsDispYn10" value="N" ></label>]<br>
  915. <br>
  916. <button type="button" class="btn btn-danger btn-lg" id=""
  917. onclick="btnDeleteGridNum8('gridOptions_c10');">구분
  918. 삭제</button>
  919. </th>
  920. <td>
  921. <div class="">
  922. <table class="frmStyle">
  923. <tr>
  924. <th>상품 노출 기준</th>
  925. <td>
  926. <label class="rdoBtn"><input type="radio" name="goodsType10" value="G082_50" />1개</label>
  927. <label class="rdoBtn"><input type="radio" name="goodsType10" value="G082_51" />2개</label>
  928. <label class="rdoBtn"><input type="radio" name="goodsType10" value="G082_52" />4개</label>
  929. </td>
  930. </tr>
  931. <tr>
  932. <th>상품 타이틀</th>
  933. <td><input type="text" name="goodsTitle10" class="w300 aR">
  934. </td>
  935. </tr>
  936. <tr>
  937. <th>클릭시 페이지창</th>
  938. <td>
  939. <label class="rdoBtn"><input type="radio" name="linkOpenGb10" value="M" checked="checked"/>현재창</label>
  940. <label class="rdoBtn"><input type="radio" name="linkOpenGb10" value="N" />새창</label>
  941. </td>
  942. </tr>
  943. <tr>
  944. <th>상품 링크</th>
  945. <td><input type="text" name="goodsUrl10" class="w300 aR">
  946. </td>
  947. </tr>
  948. <tr>
  949. <th>전시 순서</th>
  950. <td><input type="text" name="goodsDispOrd10" class="w300 aR" data-valid-type="numeric">
  951. </td>
  952. </tr>
  953. </table>
  954. <ul class="panelBar">
  955. <li class="left">
  956. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnOpenGoodsPopup('gridOptions_p10');">상품 조회</button>
  957. <button type="button" class="btn btnRight btn-success btn-lg" onclick="fnGoodsDeleteRow('gridOptions_p10');">행 삭제</button>
  958. </li>
  959. </ul>
  960. <!-- Agrid -->
  961. <div id="gridTempGbList10" style="width: 100%; height: 200px;" class="ag-theme-balham"></div>
  962. </div>
  963. </td>
  964. </tr>
  965. </table>
  966. </div>
  967. </div>
  968. <!-- 구분10 -->
  969. </div>
  970. <!-- panelContent -->
  971. </div>
  972. <!-- end of inner-panelContent -->
  973. </div>
  974. </div>
  975. <br><br>
  976. <!-- 버튼 배치 영역 -->
  977. <ul class="panelBar">
  978. <li class="right">
  979. <button type="button" class="btn btn-danger btn-lg"
  980. id="btndeleteTemplate">닫기</button>
  981. <button type="button" class="btn btn-info btn-lg"
  982. id="btnSaveTemplate">저장</button>
  983. </li>
  984. </ul>
  985. <!-- //버튼 배치 영역 -->
  986. </form>
  987. </div>
  988. </div>
  989. <script type="text/javascript" src="/ux/plugins/summernote/summernote.js?v=2020103001"></script>
  990. <script type="text/javascript" src="/ux/plugins/gaga/gaga.summernote.js?v=2020103001"></script>
  991. <script th:inline="javascript">
  992. /*<![CDATA[*/
  993. let AddgridRow;
  994. let goodsStatList = gagajf.convertToArray([[${goodsStatList}]]);
  995. let reviewList = [[${reviewList}]];
  996. let couponList = [[${couponList}]];
  997. let fileList = [[${fileList}]];
  998. let fsrcListTop = [[${fsrcListTop}]];
  999. let fsrcListBtm = [[${fsrcListBtm}]];
  1000. let goodsList = [[${goodsList}]];
  1001. let goodsDetailList1 = [[${goodsDetailList1}]];
  1002. let goodsDetailList2 = [[${goodsDetailList2}]];
  1003. let goodsDetailList3 = [[${goodsDetailList3}]];
  1004. let goodsDetailList4 = [[${goodsDetailList4}]];
  1005. let goodsDetailList5 = [[${goodsDetailList5}]];
  1006. let goodsDetailList6 = [[${goodsDetailList6}]];
  1007. let goodsDetailList7 = [[${goodsDetailList7}]];
  1008. let goodsDetailList8 = [[${goodsDetailList8}]];
  1009. let goodsDetailList9 = [[${goodsDetailList9}]];
  1010. let goodsDetailList10 = [[${goodsDetailList10}]];
  1011. let mode = [[${mode}]];
  1012. // 리뷰 리스트 설정
  1013. var columnReviewList = [
  1014. {width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
  1015. {headerName: "상품ID", field: "reItemVal", width: 110, cellClass: 'text-center'},
  1016. {headerName: "상품명", field: "reItemNm", width: 200, cellClass: 'text-center'},
  1017. {headerName: "시작일" , field:'startSearchDate' , width:110, cellClass: 'text-center',
  1018. cellEditor: 'datePicker',
  1019. cellEditorParams: { maxlength: 10, required: true },
  1020. },
  1021. {headerName: "시작시간" , field:'startSearchTime' , width:150, cellClass: 'text-center',
  1022. cellEditor: 'dateTimer',
  1023. cellEditorParams: { maxlength: 8, required: true },
  1024. },
  1025. {headerName: "종료일" , field:'endSearchDate' , width:110, cellClass: 'text-center',
  1026. cellEditor: 'datePicker',
  1027. cellEditorParams: { maxlength: 10, required: true }
  1028. },
  1029. {headerName: "종료시간" , field:'endSearchTime' , width:150, cellClass: 'text-center',
  1030. cellEditor: 'dateTimer',
  1031. cellEditorParams: { maxlength: 8, required: true },
  1032. },
  1033. ];
  1034. //상품 전시 그리드 그리기
  1035. var columnDefs = [
  1036. {width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
  1037. {headerName: "상품 ID", field: "goodsItemVal" , width: 120, cellClass: 'text-center'},
  1038. {headerName: "브랜드명", field: "brandEnm" , width: 200, cellClass: 'text-center'},
  1039. {headerName: "상품명", field: "goodsNm" , width: 200, cellClass: 'text-center'},
  1040. {headerName: "판매상태", field: "goodsStat" , width: 100, cellClass: 'text-center'
  1041. ,cellEditorParams: { values: gagaAgGrid.extractValues(goodsStatList) },
  1042. valueFormatter: function (params) { return gagaAgGrid.lookupValue(goodsStatList, params.value); },
  1043. valueParser: function (params) { return gagaAgGrid.lookupKey(goodsStatList, params.newValue); }
  1044. },
  1045. {headerName: "정상가", field: "listPrice" , width: 120, cellClass: 'text-center'
  1046. , valueFormatter: function(params) { return params.value.addComma(); }
  1047. },
  1048. {headerName: "판매가", field: "currPrice" , width: 120, cellClass: 'text-center'
  1049. , valueFormatter: function(params) { return params.value.addComma(); }
  1050. },
  1051. ]
  1052. // Add on options
  1053. var gridOptions_p1 = gagaAgGrid.getGridOptions(columnDefs);
  1054. var gridOptions_p2 = gagaAgGrid.getGridOptions(columnDefs);
  1055. var gridOptions_p3 = gagaAgGrid.getGridOptions(columnDefs);
  1056. var gridOptions_p4 = gagaAgGrid.getGridOptions(columnDefs);
  1057. var gridOptions_p5 = gagaAgGrid.getGridOptions(columnDefs);
  1058. var gridOptions_p6 = gagaAgGrid.getGridOptions(columnDefs);
  1059. var gridOptions_p7 = gagaAgGrid.getGridOptions(columnDefs);
  1060. var gridOptions_p8 = gagaAgGrid.getGridOptions(columnDefs);
  1061. var gridOptions_p9 = gagaAgGrid.getGridOptions(columnDefs);
  1062. var gridOptions_p10 = gagaAgGrid.getGridOptions(columnDefs);
  1063. // 표시순번 수정가능
  1064. gridOptions_p1.defaultColDef.editable = true;
  1065. gridOptions_p2.defaultColDef.editable = true;
  1066. gridOptions_p3.defaultColDef.editable = true;
  1067. gridOptions_p4.defaultColDef.editable = true;
  1068. gridOptions_p5.defaultColDef.editable = true;
  1069. gridOptions_p6.defaultColDef.editable = true;
  1070. gridOptions_p7.defaultColDef.editable = true;
  1071. gridOptions_p8.defaultColDef.editable = true;
  1072. gridOptions_p9.defaultColDef.editable = true;
  1073. gridOptions_p10.defaultColDef.editable = true;
  1074. gridOptions_p1.suppressRowClickSelection = true;
  1075. gridOptions_p2.suppressRowClickSelection = true;
  1076. gridOptions_p3.suppressRowClickSelection = true;
  1077. gridOptions_p4.suppressRowClickSelection = true;
  1078. gridOptions_p5.suppressRowClickSelection = true;
  1079. gridOptions_p6.suppressRowClickSelection = true;
  1080. gridOptions_p7.suppressRowClickSelection = true;
  1081. gridOptions_p8.suppressRowClickSelection = true;
  1082. gridOptions_p9.suppressRowClickSelection = true;
  1083. gridOptions_p10.suppressRowClickSelection = true;
  1084. // 상품 중복선택
  1085. gridOptions_p2.rowSelection = 'multiple';
  1086. gridOptions_p1.rowSelection = 'multiple';
  1087. gridOptions_p3.rowSelection = 'multiple';
  1088. gridOptions_p4.rowSelection = 'multiple';
  1089. gridOptions_p5.rowSelection = 'multiple';
  1090. gridOptions_p6.rowSelection = 'multiple';
  1091. gridOptions_p7.rowSelection = 'multiple';
  1092. gridOptions_p8.rowSelection = 'multiple';
  1093. gridOptions_p9.rowSelection = 'multiple';
  1094. gridOptions_p10.rowSelection = 'multiple';
  1095. // 리뷰 그리드 설정
  1096. var gridOptionsPlanReviewList = gagaAgGrid.getGridOptions(columnReviewList);
  1097. gridOptionsPlanReviewList.stopEditingWhenGridLosesFocus = true;
  1098. gridOptionsPlanReviewList.defaultColDef.editable = true;
  1099. gridOptionsPlanReviewList.rowSelection = "multiple";
  1100. gridOptionsPlanReviewList.suppressRowClickSelection = true;
  1101. //팝업창 닫기버튼
  1102. $('#btndeleteTemplate').on('click', function() {
  1103. mcxDialog.confirm("창을 닫으시겠습니까?<br>닫은 내용은 복원하실 수 없습니다.", {
  1104. cancelBtnText: "취소",
  1105. sureBtnText: "확인",
  1106. sureBtnClick: function() {
  1107. uifnPopupClose('popupPlanTemplate');
  1108. }
  1109. });
  1110. });
  1111. // 첨부파일 삭제
  1112. var fnDeleteFile = function(obj, noticeSq, seq, sysFileNm) {
  1113. mcxDialog.confirm('정말 삭제하시겠습니까?', {
  1114. cancelBtnText: "취소",
  1115. sureBtnText: "확인",
  1116. sureBtnClick: function(){
  1117. var params = new Object();
  1118. params.noticeSq = noticeSq;
  1119. params.seq = seq;
  1120. params.sysFileNm = sysFileNm;
  1121. var jsonData = JSON.stringify(params);
  1122. gagajf.ajaxJsonSubmit('/board/notice/file/delete', jsonData, function() {
  1123. $(obj).parent().remove();
  1124. });
  1125. }
  1126. });
  1127. }
  1128. // 상품 구분 추가 버튼 추가 버튼 표시는 1~5까지 순서대로 표시
  1129. $('#btnAddGrid').on('click', function(){
  1130. if($('#btnAddGridNum1').css('display') == 'none'){
  1131. $('#btnAddGridNum1').show();
  1132. }else if($('#btnAddGridNum2').css('display') == 'none' && $('#btnAddGridNum1').css('display') != 'none'){
  1133. $('#btnAddGridNum2').show();
  1134. }else if($('#btnAddGridNum3').css('display') == 'none' && $('#btnAddGridNum2').css('display') != 'none'){
  1135. $('#btnAddGridNum3').show();
  1136. }else if($('#btnAddGridNum4').css('display') == 'none' && $('#btnAddGridNum3').css('display') != 'none'){
  1137. $('#btnAddGridNum4').show();
  1138. }else if($('#btnAddGridNum5').css('display') == 'none' && $('#btnAddGridNum4').css('display') != 'none'){
  1139. $('#btnAddGridNum5').show();
  1140. }else if($('#btnAddGridNum6').css('display') == 'none' && $('#btnAddGridNum5').css('display') != 'none'){
  1141. $('#btnAddGridNum6').show();
  1142. }else if($('#btnAddGridNum7').css('display') == 'none' && $('#btnAddGridNum6').css('display') != 'none'){
  1143. $('#btnAddGridNum7').show();
  1144. }else if($('#btnAddGridNum8').css('display') == 'none' && $('#btnAddGridNum7').css('display') != 'none'){
  1145. $('#btnAddGridNum8').show();
  1146. }else if($('#btnAddGridNum9').css('display') == 'none' && $('#btnAddGridNum8').css('display') != 'none'){
  1147. $('#btnAddGridNum9').show();
  1148. }else if($('#btnAddGridNum10').css('display') == 'none' && $('#btnAddGridNum9').css('display') != 'none'){
  1149. $('#btnAddGridNum10').show();
  1150. }else if($('#btnAddGridNum10').css('display') != 'none'){
  1151. mcxDialog.alertC("구분자는 최대 10개까지 등록가능합니다.", {
  1152. sureBtnText: "확인"
  1153. });
  1154. return false;
  1155. }
  1156. });
  1157. // 상품추가
  1158. var fnFetchPlanGoods = function(goodsData) {
  1159. for(let i = 0 ; i < goodsData.length ; i++) {
  1160. let addChk = true, gridListValue = gagaAgGrid.getAllRowData(AddgridRow); // 받아온 모든 데이터
  1161. // 받아온 data for
  1162. for(let j = 0 ; j < gridListValue.length ; j++) {
  1163. // 동일한 data는 추가하지 않음
  1164. if(gridListValue[j].goodsItemVal == goodsData[i].goodsCd) { addChk = false; } // 중복체크
  1165. }
  1166. // 중복되지 않은 데이터 리스트에 추가
  1167. if(addChk) {
  1168. gagaAgGrid.addRowData(AddgridRow, {
  1169. "goodsItemVal":goodsData[i].goodsCd
  1170. ,"brandEnm":goodsData[i].brandEnm
  1171. ,"goodsNm":goodsData[i].goodsNm
  1172. ,"goodsStat":goodsData[i].goodsStat
  1173. ,"listPrice":goodsData[i].listPrice
  1174. ,"currPrice":goodsData[i].currPrice
  1175. });
  1176. }
  1177. }
  1178. uifnPopupClose("popupGoods");
  1179. }
  1180. // 버튼별 상품추가 팝업
  1181. var fnOpenGoodsPopup = function(param) {
  1182. switch (param){
  1183. case 'gridOptions_p1':
  1184. AddgridRow = gridOptions_p1;
  1185. break;
  1186. case 'gridOptions_p2' :
  1187. AddgridRow = gridOptions_p2;
  1188. break;
  1189. case 'gridOptions_p3' :
  1190. AddgridRow = gridOptions_p3;
  1191. break;
  1192. case 'gridOptions_p4' :
  1193. AddgridRow = gridOptions_p4;
  1194. break;
  1195. case 'gridOptions_p5' :
  1196. AddgridRow = gridOptions_p5;
  1197. break;
  1198. case 'gridOptions_p6' :
  1199. AddgridRow = gridOptions_p6;
  1200. break;
  1201. case 'gridOptions_p7' :
  1202. AddgridRow = gridOptions_p7;
  1203. break;
  1204. case 'gridOptions_p8' :
  1205. AddgridRow = gridOptions_p8;
  1206. break;
  1207. case 'gridOptions_p9' :
  1208. AddgridRow = gridOptions_p9;
  1209. break;
  1210. case 'gridOptions_p10' :
  1211. AddgridRow = gridOptions_p10;
  1212. break;
  1213. }
  1214. cfnOpenGoodsPopup('fnFetchPlanGoods');
  1215. }
  1216. // 상품 삭제
  1217. var fnGoodsDeleteRow = function(param) {
  1218. switch (param){
  1219. case 'gridOptions_p1':
  1220. AddgridRow = gridOptions_p1;
  1221. break;
  1222. case 'gridOptions_p2' :
  1223. AddgridRow = gridOptions_p2;
  1224. break;
  1225. case 'gridOptions_p3' :
  1226. AddgridRow = gridOptions_p3;
  1227. break;
  1228. case 'gridOptions_p4' :
  1229. AddgridRow = gridOptions_p4;
  1230. break;
  1231. case 'gridOptions_p5' :
  1232. AddgridRow = gridOptions_p5;
  1233. break;
  1234. case 'gridOptions_p6' :
  1235. AddgridRow = gridOptions_p6;
  1236. break;
  1237. case 'gridOptions_p7' :
  1238. AddgridRow = gridOptions_p7;
  1239. break;
  1240. case 'gridOptions_p8' :
  1241. AddgridRow = gridOptions_p8;
  1242. break;
  1243. case 'gridOptions_p9' :
  1244. AddgridRow = gridOptions_p9;
  1245. break;
  1246. case 'gridOptions_p10' :
  1247. AddgridRow = gridOptions_p10;
  1248. break;
  1249. }
  1250. var selectedData = gagaAgGrid.selectedRowData(AddgridRow);
  1251. if (selectedData.length == 0) {
  1252. mcxDialog.alert('선택된 행이 없습니다.');
  1253. return false;
  1254. }
  1255. //화면에서 삭제
  1256. gagaAgGrid.removeRowData(AddgridRow, false);
  1257. }
  1258. // 상품 구분 삭제 버튼 삭제는 해당 하는 폼이 삭제
  1259. function btnDeleteGridNum1(param){
  1260. if($('#btnAddGridNum1').css('display') !='none'){
  1261. $('#btnAddGridNum1').hide();
  1262. var deleteData = [];
  1263. var data = {};
  1264. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq1]').val();
  1265. deleteData.push(data);
  1266. var jsonData = JSON.stringify(deleteData);
  1267. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1268. $("#planTemplateForm input[name=goodsTitle1]").val('');
  1269. $("#planTemplateForm input[name=goodsUrl1]").val('');
  1270. $("#planTemplateForm input[name=goodsDispOrd1]").val('');
  1271. $('#planTemplateForm input:radio[name=goodsType1]').prop('checked', false);
  1272. $('#planTemplateForm input:radio[name=linkOpenGb1]').prop('checked', false);
  1273. $('#planTemplateForm input:checkbox[name=goodsDispYn1]').prop('checked', false);
  1274. gridOptions_p1.api.updateRowData();
  1275. }
  1276. }
  1277. function btnDeleteGridNum2(param){
  1278. if($('#btnAddGridNum2').css('display') !='none'){
  1279. $('#btnAddGridNum2').hide();
  1280. var deleteData = [];
  1281. var data = {};
  1282. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq2]').val();
  1283. deleteData.push(data);
  1284. var jsonData = JSON.stringify(deleteData);
  1285. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1286. $("#planTemplateForm input[name=goodsTitle2]").val('');
  1287. $("#planTemplateForm input[name=goodsUrl2]").val('');
  1288. $("#planTemplateForm input[name=goodsDispOrd2]").val('');
  1289. $('#planTemplateForm input:radio[name=goodsType2]').prop('checked', false);
  1290. $('#planTemplateForm input:radio[name=linkOpenGb2]').prop('checked', false);
  1291. $('#planTemplateForm input:checkbox[name=goodsDispYn2]').prop('checked', false);
  1292. gridOptions_p2.api.updateRowData();
  1293. }
  1294. }
  1295. function btnDeleteGridNum3(param){
  1296. if ($('#btnAddGridNum3').css('display') !='none'){
  1297. $('#btnAddGridNum3').hide();
  1298. var deleteData = [];
  1299. var data = {};
  1300. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq3]').val();
  1301. deleteData.push(data);
  1302. var jsonData = JSON.stringify(deleteData);
  1303. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1304. $("#planTemplateForm input[name=goodsTitle3]").val('');
  1305. $("#planTemplateForm input[name=goodsUrl3]").val('');
  1306. $("#planTemplateForm input[name=goodsDispOrd3]").val('');
  1307. $('#planTemplateForm input:radio[name=goodsType3]').prop('checked', false);
  1308. $('#planTemplateForm input:radio[name=linkOpenGb3]').prop('checked', false);
  1309. $('#planTemplateForm input:checkbox[name=goodsDispYn3]').prop('checked', false);
  1310. gridOptions_p3.api.updateRowData();
  1311. }
  1312. }
  1313. function btnDeleteGridNum4(param){
  1314. if ($('#btnAddGridNum4').css('display') !='none'){
  1315. $('#btnAddGridNum4').hide();
  1316. var deleteData = [];
  1317. var data = {};
  1318. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq4]').val();
  1319. deleteData.push(data);
  1320. var jsonData = JSON.stringify(deleteData);
  1321. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1322. $("#planTemplateForm input[name=goodsTitle4]").val('');
  1323. $("#planTemplateForm input[name=goodsUrl4]").val('');
  1324. $("#planTemplateForm input[name=goodsDispOrd4]").val('');
  1325. $('#planTemplateForm input:radio[name=goodsType4]').prop('checked', false);
  1326. $('#planTemplateForm input:radio[name=linkOpenGb4]').prop('checked', false);
  1327. $('#planTemplateForm input:checkbox[name=goodsDispYn4]').prop('checked', false);
  1328. gridOptions_p4.api.updateRowData();
  1329. }
  1330. }
  1331. function btnDeleteGridNum5(param){
  1332. if ($('#btnAddGridNum5').css('display') !='none'){
  1333. $('#btnAddGridNum5').hide();
  1334. var deleteData = [];
  1335. var data = {};
  1336. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq5]').val();
  1337. deleteData.push(data);
  1338. var jsonData = JSON.stringify(deleteData);
  1339. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1340. $("#planTemplateForm input[name=goodsTitle5]").val('');
  1341. $("#planTemplateForm input[name=goodsUrl5]").val('');
  1342. $("#planTemplateForm input[name=goodsDispOrd5]").val('');
  1343. $('#planTemplateForm input:radio[name=goodsType5]').prop('checked', false);
  1344. $('#planTemplateForm input:radio[name=linkOpenGb5]').prop('checked', false);
  1345. $('#planTemplateForm input:checkbox[name=goodsDispYn5]').prop('checked', false);
  1346. gridOptions_p5.api.updateRowData();
  1347. }
  1348. }
  1349. function btnDeleteGridNum6(param){
  1350. if ($('#btnAddGridNum6').css('display') !='none'){
  1351. $('#btnAddGridNum6').hide();
  1352. var deleteData = [];
  1353. var data = {};
  1354. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq6]').val();
  1355. deleteData.push(data);
  1356. var jsonData = JSON.stringify(deleteData);
  1357. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1358. $("#planTemplateForm input[name=goodsTitle6]").val('');
  1359. $("#planTemplateForm input[name=goodsUrl6]").val('');
  1360. $("#planTemplateForm input[name=goodsDispOrd6]").val('');
  1361. $('#planTemplateForm input:radio[name=goodsType6]').prop('checked', false);
  1362. $('#planTemplateForm input:radio[name=linkOpenGb6]').prop('checked', false);
  1363. $('#planTemplateForm input:checkbox[name=goodsDispYn6]').prop('checked', false);
  1364. gridOptions_p6.api.updateRowData();
  1365. }
  1366. }
  1367. function btnDeleteGridNum7(param){
  1368. if ($('#btnAddGridNum7').css('display') !='none'){
  1369. $('#btnAddGridNum7').hide();
  1370. var deleteData = [];
  1371. var data = {};
  1372. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq7]').val();
  1373. deleteData.push(data);
  1374. var jsonData = JSON.stringify(deleteData);
  1375. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1376. $("#planTemplateForm input[name=goodsTitle7]").val('');
  1377. $("#planTemplateForm input[name=goodsUrl7]").val('');
  1378. $("#planTemplateForm input[name=goodsDispOrd7]").val('');
  1379. $('#planTemplateForm input:radio[name=goodsType7]').prop('checked', false);
  1380. $('#planTemplateForm input:radio[name=linkOpenGb7]').prop('checked', false);
  1381. $('#planTemplateForm input:checkbox[name=goodsDispYn7]').prop('checked', false);
  1382. gridOptions_p7.api.updateRowData();
  1383. }
  1384. }
  1385. function btnDeleteGridNum8(param){
  1386. if ($('#btnAddGridNum8').css('display') !='none'){
  1387. $('#btnAddGridNum8').hide();
  1388. var deleteData = [];
  1389. var data = {};
  1390. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq8]').val();
  1391. deleteData.push(data);
  1392. var jsonData = JSON.stringify(deleteData);
  1393. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1394. $("#planTemplateForm input[name=goodsTitle8]").val('');
  1395. $("#planTemplateForm input[name=goodsUrl8]").val('');
  1396. $("#planTemplateForm input[name=goodsDispOrd8]").val('');
  1397. $('#planTemplateForm input:radio[name=goodsType8]').prop('checked', false);
  1398. $('#planTemplateForm input:radio[name=linkOpenGb8]').prop('checked', false);
  1399. $('#planTemplateForm input:checkbox[name=goodsDispYn8]').prop('checked', false);
  1400. gridOptions_p8.api.updateRowData();
  1401. }
  1402. }
  1403. function btnDeleteGridNum9(param){
  1404. if ($('#btnAddGridNum9').css('display') !='none'){
  1405. $('#btnAddGridNum9').hide();
  1406. var deleteData = [];
  1407. var data = {};
  1408. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq9]').val();
  1409. deleteData.push(data);
  1410. var jsonData = JSON.stringify(deleteData);
  1411. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1412. $("#planTemplateForm input[name=goodsTitle9]").val('');
  1413. $("#planTemplateForm input[name=goodsUrl9]").val('');
  1414. $("#planTemplateForm input[name=goodsDispOrd9]").val('');
  1415. $('#planTemplateForm input:radio[name=goodsType9]').prop('checked', false);
  1416. $('#planTemplateForm input:radio[name=linkOpenGb9]').prop('checked', false);
  1417. $('#planTemplateForm input:checkbox[name=goodsDispYn9]').prop('checked', false);
  1418. gridOptions_p9.api.updateRowData();
  1419. }
  1420. }
  1421. function btnDeleteGridNum10(param){
  1422. if ($('#btnAddGridNum10').css('display') !='none'){
  1423. $('#btnAddGridNum10').hide();
  1424. var deleteData = [];
  1425. var data = {};
  1426. data.planContSq = $('#planTemplateForm input[name=goodsPlanContSq10]').val();
  1427. deleteData.push(data);
  1428. var jsonData = JSON.stringify(deleteData);
  1429. gagajf.ajaxJsonSubmit('marketing/planning/detail/template/goods/delete', jsonData);
  1430. $("#planTemplateForm input[name=goodsTitle10]").val('');
  1431. $("#planTemplateForm input[name=goodsUrl10]").val('');
  1432. $("#planTemplateForm input[name=goodsDispOrd10]").val('');
  1433. $('#planTemplateForm input:radio[name=goodsType10]').prop('checked', false);
  1434. $('#planTemplateForm input:radio[name=linkOpenGb10]').prop('checked', false);
  1435. $('#planTemplateForm input:checkbox[name=goodsDispYn10]').prop('checked', false);
  1436. gridOptions_p10.api.updateRowData();
  1437. }
  1438. }
  1439. // 첨부파일 개수 선택시
  1440. $("#fileCnt").on("change", function() {
  1441. for (var i = 1; i <= 10; i++) {
  1442. $('#file' + i).parent().parent().show();
  1443. }
  1444. var fileCnt = $(this).val();
  1445. for (var i = 10; i > fileCnt; i--) {
  1446. $('#file' + i).parent().parent().hide();
  1447. }
  1448. });
  1449. // 파일첨부 선택 시
  1450. $('#file1').on('change', function() { fnChooseFile(this, 1); });
  1451. $('#file2').on('change', function() { fnChooseFile(this, 2); });
  1452. $('#file3').on('change', function() { fnChooseFile(this, 3); });
  1453. $('#file4').on('change', function() { fnChooseFile(this, 4); });
  1454. $('#file5').on('change', function() { fnChooseFile(this, 5); });
  1455. $('#file6').on('change', function() { fnChooseFile(this, 6); });
  1456. $('#file7').on('change', function() { fnChooseFile(this, 7); });
  1457. $('#file8').on('change', function() { fnChooseFile(this, 8); });
  1458. $('#file9').on('change', function() { fnChooseFile(this, 9); });
  1459. $('#file10').on('change', function() { fnChooseFile(this, 10); });
  1460. var fnChooseFile = function(obj, fileNo) {
  1461. // multiple 속성이 있으면 files에는 다수의 객체가 할당됨
  1462. var file = obj.files[0];
  1463. // 파일 업로드
  1464. gagajf.ajaxFileUpload('/common/file/upload?subDir=/planning'
  1465. , file
  1466. , function(result) {
  1467. // 업로드한 파일명 설정
  1468. $('#fileItemVal' + fileNo).val(result.oldFileName);
  1469. $('#sysFileNm' + fileNo).val(result.newFileName);
  1470. }
  1471. );
  1472. }
  1473. // 리뷰상품 추가 콜백 함수
  1474. var reviewGoodsList = function (result) {
  1475. // 기존 리스트 데이터 for
  1476. for(let i = 0 ; i < result.length ; i++) {
  1477. let addChk = true, gridListValue = gagaAgGrid.getAllRowData(gridOptionsPlanReviewList); // 받아온 모든 데이터
  1478. // 받아온 data for
  1479. for(let j = 0 ; j < gridListValue.length ; j++) {
  1480. // 동일한 data는 추가하지 않음
  1481. if(gridListValue[j].reItemVal == result[i].goodsCd) { addChk = false; } // 중복체크
  1482. }
  1483. // 중복되지 않은 데이터 리스트에 추가
  1484. if(addChk) {
  1485. gagaAgGrid.addRowData(gridOptionsPlanReviewList, {"reItemVal":result[i].goodsCd , "reItemNm":result[i].goodsNm, "startSearchDate": _today, "startSearchTime": '00:00:00', "endSearchDate":_today, endSearchTime: '23:59:59' });
  1486. }
  1487. }
  1488. uifnPopupClose("popupGoods");
  1489. }
  1490. // 리뷰 선택삭제 버튼 클릭시
  1491. $('#btnReviewDelete').on('click', function() {
  1492. gridOptionsPlanReviewList.api.updateRowData({remove:gagaAgGrid.selectedRowData(gridOptionsPlanReviewList)});
  1493. });
  1494. // 쿠폰조회 팝업
  1495. var fnOpenCouponRetrievePopup = function(strReturnCode, strReturnName) {
  1496. var oParam = new Object();
  1497. oParam.returnCode = strReturnCode;
  1498. oParam.returnName = strReturnName;
  1499. cfnOpenCouponRetrievePopup($(strReturnName).val(), oParam);
  1500. }
  1501. // 쿠폰 추가
  1502. var fnAddCoupone = function() {
  1503. var len = $('#planTemplateForm').find('#couponTable tr').length;
  1504. var html = '<tr>';
  1505. html += '<td colspan="3">';
  1506. html += '<input type="text" class="w300" id="cuItemNm" name="cuItemNm'+(len+1)+'"/>';
  1507. html += '<button type="button" class="btn icn" id="couponPlusBtn'+(len+1)+'"><i class="fa fa-search cpn" aria-hidden="true"></i></button>';
  1508. html += '<input id="cuItemVal" name="cuItemVal'+(len+1)+'" type="text" class="w100" maxlength="20" readonly="readonly"/>';
  1509. html += '<button type="button" class="btn icn" id="deleteCoupon'+(len+1)+'"><i class="fa fa-eraser" aria-hidden="true"></i></button>';
  1510. html += '</td>';
  1511. html += '</tr>';
  1512. $("#couponTable").append(html);
  1513. $('#couponPlusBtn'+(len+1)).attr("onclick","fnOpenCouponRetrievePopup('input[name=cuItemVal"+(len+1)+"]', 'input[name=cuItemNm"+(len+1)+"]');")
  1514. $('#deleteCoupon'+(len+1)).attr("onclick","deleteRowCoupon("+(len+1)+")");
  1515. }
  1516. //삭제 버튼
  1517. var deleteRowCoupon = function(len) {
  1518. var cnt = len;
  1519. var html = $("#deleteCoupon"+len).closest('tr');
  1520. html.remove(); //tr 테그 삭제
  1521. }
  1522. // 팝업창 저장
  1523. $('#btnSaveTemplate').on('click', function() {
  1524. // 리뷰관련 데이터 담기
  1525. let allReviewData = gagaAgGrid.getAllRowData(gridOptionsPlanReviewList);
  1526. var multiPlanReview = [];
  1527. $.each(allReviewData, function(idx, item) {
  1528. multiPlanReview.push(item.reItemVal);
  1529. });
  1530. var multiPlanReviewStartD = [];
  1531. $.each(allReviewData, function(idx, item) {
  1532. multiPlanReviewStartD.push(item.startSearchDate);
  1533. });
  1534. var multiPlanReviewStartT = [];
  1535. $.each(allReviewData, function(idx, item) {
  1536. multiPlanReviewStartT.push(item.startSearchTime);
  1537. });
  1538. var multiPlanReviewEndD = [];
  1539. $.each(allReviewData, function(idx, item) {
  1540. multiPlanReviewEndD.push(item.endSearchDate);
  1541. });
  1542. var multiPlanReviewEndT = [];
  1543. $.each(allReviewData, function(idx, item) {
  1544. multiPlanReviewEndT.push(item.endSearchTime);
  1545. });
  1546. // 쿠폰관련 데이터 담기
  1547. var multiPlanCoupon = [];
  1548. var len = $('#planTemplateForm').find('#couponTable tr').length;
  1549. for (var i = 0; i < len; i++) {
  1550. multiPlanCoupon.push($('#planTemplateForm').find('#couponTable tr').children().eq(i).find("#cuItemVal").val());
  1551. }
  1552. //파일관련 데이터 담기
  1553. var multiPlanFile = [];
  1554. var multiPlanFile2 = [];
  1555. var multiPlanFile3 = [];
  1556. var count = $("#planTemplateForm select[name=fileCnt]").val();
  1557. for (var i = 0; i < count; i++) {
  1558. if($('#fileItemVal'+(i+1)).val() == '' || typeof $('#fileItemVal'+(i+1)).val() == 'undeifined'){
  1559. false;
  1560. }else{
  1561. multiPlanFile.push($('#fileItemVal'+(i+1)).val());
  1562. multiPlanFile2.push($('#planTemplateForm input[name=fileLinkUrl'+(i+1)+']').val());
  1563. multiPlanFile3.push($('#planTemplateForm input:radio[name=linkOpenGb'+(i+1)+']:checked').val());
  1564. }
  1565. }
  1566. // 리뷰 전시 클릭했을 경우
  1567. if($("input:checkbox[name=reDispYn]").prop("checked")){
  1568. $("input:checkbox[name=reDispYn]").val('Y');
  1569. if($("input[name=reTitle]").val()==''){
  1570. mcxDialog.alert('리뷰 타이틀을 입력하세요.');
  1571. return;
  1572. }
  1573. if($("input[name=reDispOrd]").val()==''){
  1574. mcxDialog.alert('리뷰 전시순서를 입력하세요.');
  1575. return;
  1576. }
  1577. if(multiPlanReview.length == 0){
  1578. mcxDialog.alert('리뷰 상품을 선택하세요.');
  1579. return;
  1580. }
  1581. }else{
  1582. $("input:checkbox[name=reDispYn]").val('N');
  1583. }
  1584. // 쿠폰 전시 클랙했을 경우
  1585. if($("input:checkbox[name=cuDispYn]").prop("checked")){
  1586. $("input:checkbox[name=cuDispYn]").val('Y');
  1587. if($("input[name=cuTitle]").val()==''){
  1588. mcxDialog.alert('쿠폰 타이틀을 입력하세요.');
  1589. return;
  1590. }
  1591. if($("input[name=cuDispOrd]").val()==''){
  1592. mcxDialog.alert('쿠폰 전시순서를 입력하세요.');
  1593. return;
  1594. }
  1595. if(multiPlanCoupon.length == 0){
  1596. mcxDialog.alert('쿠폰을 선택하세요.');
  1597. return;
  1598. }
  1599. if($("textarea[name=note]").val()=='' && $("textarea[name=note]").val()==''){
  1600. mcxDialog.alert('쿠폰 유의사항 내용을 입력하세요.');
  1601. return;
  1602. }
  1603. }else{
  1604. $("input:checkbox[name=cuDispYn]").val('N');
  1605. }
  1606. // 이미지 전시 클랙했을 경우
  1607. if($("input:checkbox[name=fileDispYn]").prop("checked")){
  1608. $("input:checkbox[name=fileDispYn]").val('Y');
  1609. if($("input[name=fileDispOrd]").val()==''){
  1610. mcxDialog.alert('이미지 전시순서를 입력하세요.');
  1611. return;
  1612. }
  1613. if(multiPlanFile.length == 0 && $("#dnFile").text() == null){
  1614. mcxDialog.alert('등록할 이미지를 등록하세요.');
  1615. return;
  1616. }
  1617. }else{
  1618. $("input:checkbox[name=fileDispOrd]").val('N');
  1619. }
  1620. // html 상단 전시 클릭했을 경우
  1621. if($("input:checkbox[name=topFsrcDispYn]").prop("checked")){
  1622. $("input:checkbox[name=topFsrcDispYn]").val('Y');
  1623. if($("textarea[name=fsrcMobileTop]").val()=='' && $("textarea[name=fsrcPcTop]").val()==''){
  1624. mcxDialog.alert('HTML[상단] 내용을 입력하세요.');
  1625. return;
  1626. }
  1627. }else{
  1628. $("input:checkbox[name=topFsrcDispYn]").val('N');
  1629. }
  1630. // html 하단 전시 클릭했을 경우
  1631. if($("input:checkbox[name=btmFsrcDispYn]").prop("checked")){
  1632. $("input:checkbox[name=btmFsrcDispYn]").val('Y');
  1633. if($("textarea[name=fsrcMobileBtm]").val()=='' && $("textarea[name=fsrcPcBtm]").val()==''){
  1634. mcxDialog.alert('HTML[하단] 내용을 입력하세요.');
  1635. return;
  1636. }
  1637. }else{
  1638. $("input:checkbox[name=btmFsrcDispYn]").val('N');
  1639. }
  1640. // 상품 등록
  1641. let arrayData1 = gagaAgGrid.getAllRowData(gridOptions_p1)
  1642. let arrayData2 = gagaAgGrid.getAllRowData(gridOptions_p2)
  1643. let arrayData3 = gagaAgGrid.getAllRowData(gridOptions_p3)
  1644. let arrayData4 = gagaAgGrid.getAllRowData(gridOptions_p4)
  1645. let arrayData5 = gagaAgGrid.getAllRowData(gridOptions_p5)
  1646. let arrayData6 = gagaAgGrid.getAllRowData(gridOptions_p6)
  1647. let arrayData7 = gagaAgGrid.getAllRowData(gridOptions_p7)
  1648. let arrayData8 = gagaAgGrid.getAllRowData(gridOptions_p8)
  1649. let arrayData9 = gagaAgGrid.getAllRowData(gridOptions_p9)
  1650. let arrayData10 = gagaAgGrid.getAllRowData(gridOptions_p10)
  1651. //상품 등록 CHECK
  1652. //상품구분 1
  1653. if($("input:checkbox[name=goodsDispYn1]").prop("checked")){
  1654. $("input:checkbox[name=goodsDispYn1]").val('Y');
  1655. if($("input[name=goodsTitle1]").val()==''){
  1656. mcxDialog.alert('상품 구분1의 타이틀을 입력하세요.');
  1657. return;
  1658. }
  1659. if($("input[name=goodsDispOrd1]").val()==''){
  1660. mcxDialog.alert('상품 구분1의 전시순서를 입력하세요.');
  1661. return;
  1662. }
  1663. if(arrayData1.length == 0 && $('#btnAddGridNum1').css('display') != 'none'){
  1664. mcxDialog.alert('상품 구분1 의 상품을 등록해주세요.');
  1665. return false;
  1666. }
  1667. }else{
  1668. $("input:checkbox[name=goodsDispYn1]").val('N');
  1669. }
  1670. //상품구분 2
  1671. if($("input:checkbox[name=goodsDispYn2]").prop("checked")){
  1672. $("input:checkbox[name=goodsDispYn2]").val('Y');
  1673. if($("input[name=goodsTitle2]").val()==''){
  1674. mcxDialog.alert('상품 구분2의 타이틀을 입력하세요.');
  1675. return;
  1676. }
  1677. if($("input[name=goodsDispOrd2]").val()==''){
  1678. mcxDialog.alert('상품 구분2의 전시순서를 입력하세요.');
  1679. return;
  1680. }
  1681. if(arrayData2.length == 0 && $('#btnAddGridNum2').css('display') != 'none'){
  1682. mcxDialog.alert('상품 구분2 의 상품을 등록해주세요.');
  1683. return false;
  1684. }
  1685. }else{
  1686. $("input:checkbox[name=goodsDispYn2]").val('N');
  1687. }
  1688. //상품구분 3
  1689. if($("input:checkbox[name=goodsDispYn3]").prop("checked")){
  1690. $("input:checkbox[name=goodsDispYn3]").val('Y');
  1691. if($("input[name=goodsTitle3]").val()==''){
  1692. mcxDialog.alert('상품 구분3의 타이틀을 입력하세요.');
  1693. return;
  1694. }
  1695. if($("input[name=goodsDispOrd3]").val()==''){
  1696. mcxDialog.alert('상품 구분3의 전시순서를 입력하세요.');
  1697. return;
  1698. }
  1699. if(arrayData3.length == 0 && $('#btnAddGridNum3').css('display') != 'none'){
  1700. mcxDialog.alert('상품 구분3 의 상품을 등록해주세요.');
  1701. return false;
  1702. }
  1703. }else{
  1704. $("input:checkbox[name=goodsDispYn3]").val('N');
  1705. }
  1706. //상품구분 4
  1707. if($("input:checkbox[name=goodsDispYn4]").prop("checked")){
  1708. $("input:checkbox[name=goodsDispYn4]").val('Y');
  1709. if($("input[name=goodsTitle4]").val()==''){
  1710. mcxDialog.alert('상품 구분4의 타이틀을 입력하세요.');
  1711. return;
  1712. }
  1713. if($("input[name=goodsDispOrd4]").val()==''){
  1714. mcxDialog.alert('상품 구분4의 전시순서를 입력하세요.');
  1715. return;
  1716. }
  1717. if(arrayData4.length == 0 && $('#btnAddGridNum4').css('display') != 'none'){
  1718. mcxDialog.alert('상품 구분4 의 상품을 등록해주세요.');
  1719. return false;
  1720. }
  1721. }else{
  1722. $("input:checkbox[name=goodsDispYn4]").val('N');
  1723. }
  1724. //상품구분 5
  1725. if($("input:checkbox[name=goodsDispYn5]").prop("checked")){
  1726. $("input:checkbox[name=goodsDispYn5]").val('Y');
  1727. if($("input[name=goodsTitle5]").val()==''){
  1728. mcxDialog.alert('상품 구분5의 타이틀을 입력하세요.');
  1729. return;
  1730. }
  1731. if($("input[name=goodsDispOrd5]").val()==''){
  1732. mcxDialog.alert('상품 구분5의 전시순서를 입력하세요.');
  1733. return;
  1734. }
  1735. if(arrayData5.length == 0 && $('#btnAddGridNum5').css('display') != 'none'){
  1736. mcxDialog.alert('상품 구분5 의 상품을 등록해주세요.');
  1737. return false;
  1738. }
  1739. }else{
  1740. $("input:checkbox[name=goodsDispYn5]").val('N');
  1741. }
  1742. //상품구분 6
  1743. if($("input:checkbox[name=goodsDispYn6]").prop("checked")){
  1744. $("input:checkbox[name=goodsDispYn6]").val('Y');
  1745. if($("input[name=goodsTitle6]").val()==''){
  1746. mcxDialog.alert('상품 구분6의 타이틀을 입력하세요.');
  1747. return;
  1748. }
  1749. if($("input[name=goodsDispOrd6]").val()==''){
  1750. mcxDialog.alert('상품 구분6의 전시순서를 입력하세요.');
  1751. return;
  1752. }
  1753. if(arrayData6.length == 0 && $('#btnAddGridNum6').css('display') != 'none'){
  1754. mcxDialog.alert('상품 구분6 의 상품을 등록해주세요.');
  1755. return false;
  1756. }
  1757. }else{
  1758. $("input:checkbox[name=goodsDispYn6]").val('N');
  1759. }
  1760. //상품구분 7
  1761. if($("input:checkbox[name=goodsDispYn7]").prop("checked")){
  1762. $("input:checkbox[name=goodsDispYn7]").val('Y');
  1763. if($("input[name=goodsTitle7]").val()==''){
  1764. mcxDialog.alert('상품 구분7의 타이틀을 입력하세요.');
  1765. return;
  1766. }
  1767. if($("input[name=goodsDispOrd7]").val()==''){
  1768. mcxDialog.alert('상품 구분7의 전시순서를 입력하세요.');
  1769. return;
  1770. }
  1771. if(arrayData7.length == 0 && $('#btnAddGridNum7').css('display') != 'none'){
  1772. mcxDialog.alert('상품 구분7 의 상품을 등록해주세요.');
  1773. return false;
  1774. }
  1775. }else{
  1776. $("input:checkbox[name=goodsDispYn7]").val('N');
  1777. }
  1778. //상품구분 8
  1779. if($("input:checkbox[name=goodsDispYn8]").prop("checked")){
  1780. $("input:checkbox[name=goodsDispYn8]").val('Y');
  1781. if($("input[name=goodsTitle8]").val()==''){
  1782. mcxDialog.alert('상품 구분8의 타이틀을 입력하세요.');
  1783. return;
  1784. }
  1785. if($("input[name=goodsDispOrd8]").val()==''){
  1786. mcxDialog.alert('상품 구분8의 전시순서를 입력하세요.');
  1787. return;
  1788. }
  1789. if(arrayData8.length == 0 && $('#btnAddGridNum8').css('display') != 'none'){
  1790. mcxDialog.alert('상품 구분8 의 상품을 등록해주세요.');
  1791. return false;
  1792. }
  1793. }else{
  1794. $("input:checkbox[name=goodsDispYn8]").val('N');
  1795. }
  1796. //상품구분 9
  1797. if($("input:checkbox[name=goodsDispYn9]").prop("checked")){
  1798. $("input:checkbox[name=goodsDispYn9]").val('Y');
  1799. if($("input[name=goodsTitle9]").val()==''){
  1800. mcxDialog.alert('상품 구분9의 타이틀을 입력하세요.');
  1801. return;
  1802. }
  1803. if($("input[name=goodsDispOrd9]").val()==''){
  1804. mcxDialog.alert('상품 구분9의 전시순서를 입력하세요.');
  1805. return;
  1806. }
  1807. if(arrayData9.length == 0 && $('#btnAddGridNum9').css('display') != 'none'){
  1808. mcxDialog.alert('상품 구분9 의 상품을 등록해주세요.');
  1809. return false;
  1810. }
  1811. }else{
  1812. $("input:checkbox[name=goodsDispYn9]").val('N');
  1813. }
  1814. //상품구분 10
  1815. if($("input:checkbox[name=goodsDispYn10]").prop("checked")){
  1816. $("input:checkbox[name=goodsDispYn10]").val('Y');
  1817. if($("input[name=goodsTitle10]").val()==''){
  1818. mcxDialog.alert('상품 구분10의 타이틀을 입력하세요.');
  1819. return;
  1820. }
  1821. if($("input[name=goodsDispOrd10]").val()==''){
  1822. mcxDialog.alert('상품 구분10의 전시순서를 입력하세요.');
  1823. return;
  1824. }
  1825. if(arrayData10.length == 0 && $('#btnAddGridNum10').css('display') != 'none'){
  1826. mcxDialog.alert('상품 구분10의 상품을 등록해주세요.');
  1827. return false;
  1828. }
  1829. }else{
  1830. $("input:checkbox[name=goodsDispYn10]").val('N');
  1831. }
  1832. let goodsTemp1 = {};
  1833. let goodsTemp2 = {};
  1834. let goodsTemp3 = {};
  1835. let goodsTemp4 = {};
  1836. let goodsTemp5 = {};
  1837. let goodsTemp6 = {};
  1838. let goodsTemp7 = {};
  1839. let goodsTemp8 = {};
  1840. let goodsTemp9 = {};
  1841. let goodsTemp10 = {};
  1842. goodsTemp1.goodsTitle = $('#planTemplateForm input[name=goodsTitle1]').val();
  1843. goodsTemp1.goodsUrl = $('#planTemplateForm input[name=goodsUrl1]').val();
  1844. goodsTemp1.goodsType = $('#planTemplateForm input:radio[name=goodsType1]:checked').val();
  1845. goodsTemp1.goodsLinkOpenGb = $('#planTemplateForm input[name=linkOpenGb1]:checked').val();
  1846. goodsTemp1.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd1]').val();
  1847. goodsTemp1.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn1]').val();
  1848. goodsTemp1.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq1]').val();
  1849. goodsTemp2.goodsTitle = $('#planTemplateForm input[name=goodsTitle2]').val();
  1850. goodsTemp2.goodsUrl = $('#planTemplateForm input[name=goodsUrl2]').val();
  1851. goodsTemp2.goodsType = $('#planTemplateForm input:radio[name=goodsType2]:checked').val();
  1852. goodsTemp2.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb2]:checked').val();
  1853. goodsTemp2.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd2]').val();
  1854. goodsTemp2.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn2]').val();
  1855. goodsTemp2.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq2]').val();
  1856. goodsTemp3.goodsTitle = $('#planTemplateForm input[name=goodsTitle3]').val();
  1857. goodsTemp3.goodsUrl = $('#planTemplateForm input[name=goodsUrl3]').val();
  1858. goodsTemp3.goodsType = $('#planTemplateForm input:radio[name=goodsType3]:checked').val();
  1859. goodsTemp3.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb3]:checked').val();
  1860. goodsTemp3.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd3]').val();
  1861. goodsTemp3.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn3]').val();
  1862. goodsTemp3.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq3]').val();
  1863. goodsTemp4.goodsTitle = $('#planTemplateForm input[name=goodsTitle4]').val();
  1864. goodsTemp4.goodsUrl = $('#planTemplateForm input[name=goodsUrl4]').val();
  1865. goodsTemp4.goodsType = $('#planTemplateForm input:radio[name=goodsType4]:checked').val();
  1866. goodsTemp4.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb4]:checked').val();
  1867. goodsTemp4.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd4]').val();
  1868. goodsTemp4.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn4]').val();
  1869. goodsTemp4.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq4]').val();
  1870. goodsTemp5.goodsTitle = $('#planTemplateForm input[name=goodsTitle5]').val();
  1871. goodsTemp5.goodsUrl = $('#planTemplateForm input[name=goodsUrl5]').val();
  1872. goodsTemp5.goodsType = $('#planTemplateForm input:radio[name=goodsType5]:checked').val();
  1873. goodsTemp5.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb5]:checked').val();
  1874. goodsTemp5.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd5]').val();
  1875. goodsTemp5.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn5]').val();
  1876. goodsTemp5.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq5]').val();
  1877. goodsTemp6.goodsTitle = $('#planTemplateForm input[name=goodsTitle6]').val();
  1878. goodsTemp6.goodsUrl = $('#planTemplateForm input[name=goodsUrl6]').val();
  1879. goodsTemp6.goodsType = $('#planTemplateForm input:radio[name=goodsType6]:checked').val();
  1880. goodsTemp6.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb6]:checked').val();
  1881. goodsTemp6.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd6]').val();
  1882. goodsTemp6.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn6]').val();
  1883. goodsTemp6.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq6]').val();
  1884. goodsTemp7.goodsTitle = $('#planTemplateForm input[name=goodsTitle7]').val();
  1885. goodsTemp7.goodsUrl = $('#planTemplateForm input[name=goodsUrl7]').val();
  1886. goodsTemp7.goodsType = $('#planTemplateForm input:radio[name=goodsType7]:checked').val();
  1887. goodsTemp7.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb7]:checked').val();
  1888. goodsTemp7.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd7]').val();
  1889. goodsTemp7.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn7]').val();
  1890. goodsTemp7.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq7]').val();
  1891. goodsTemp8.goodsTitle = $('#planTemplateForm input[name=goodsTitle8]').val();
  1892. goodsTemp8.goodsUrl = $('#planTemplateForm input[name=goodsUrl8]').val();
  1893. goodsTemp8.goodsType = $('#planTemplateForm input:radio[name=goodsType8]:checked').val();
  1894. goodsTemp8.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb8]:checked').val();
  1895. goodsTemp8.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd8]').val();
  1896. goodsTemp8.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn8]').val();
  1897. goodsTemp8.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq8]').val();
  1898. goodsTemp9.goodsTitle = $('#planTemplateForm input[name=goodsTitle9]').val();
  1899. goodsTemp9.goodsUrl = $('#planTemplateForm input[name=goodsUrl9]').val();
  1900. goodsTemp9.goodsType = $('#planTemplateForm input:radio[name=goodsType9]:checked').val();
  1901. goodsTemp9.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb9]:checked').val();
  1902. goodsTemp9.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd9]').val();
  1903. goodsTemp9.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn9]').val();
  1904. goodsTemp9.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq9]').val();
  1905. goodsTemp10.goodsTitle = $('#planTemplateForm input[name=goodsTitle10]').val();
  1906. goodsTemp10.goodsUrl = $('#planTemplateForm input[name=goodsUrl10]').val();
  1907. goodsTemp10.goodsType = $('#planTemplateForm input:radio[name=goodsType10]:checked').val();
  1908. goodsTemp10.goodsLinkOpenGb = $('#planTemplateForm input:radio[name=linkOpenGb10]:checked').val();
  1909. goodsTemp10.goodsDispOrd = $('#planTemplateForm input[name=goodsDispOrd10]').val();
  1910. goodsTemp10.goodsDispYn = $('#planTemplateForm input:checkbox[name=goodsDispYn10]').val();
  1911. goodsTemp10.goodsPlanContSq = $('#planTemplateForm input[name=goodsPlanContSq10]').val();
  1912. mcxDialog.confirm('기획전 템플릿을 등록 하시겠습니까?', {
  1913. cancelBtnText: "취소",
  1914. sureBtnText: "확인",
  1915. sureBtnClick: function() {
  1916. let data = {
  1917. multiPlanReview : multiPlanReview
  1918. ,allReviewData : allReviewData
  1919. ,multiPlanReviewStartD : multiPlanReviewStartD
  1920. ,multiPlanReviewStartT : multiPlanReviewStartT
  1921. ,multiPlanReviewEndD : multiPlanReviewEndD
  1922. ,multiPlanReviewEndT : multiPlanReviewEndT
  1923. ,reTitle : $('#planTemplateForm input[name=reTitle]').val()
  1924. ,reDispOrd : $('#planTemplateForm input[name=reDispOrd]').val()
  1925. ,rePlanContSq : $('#planTemplateForm input[name=rePlanContSq]').val()
  1926. ,reDispYn : $('#planTemplateForm input:checkbox[name=reDispYn]').val()
  1927. ,mode : $('#planTemplateForm input[name=mode]').val()
  1928. ,planSq : $('#planTemplateForm input[name=planSq]').val()
  1929. ,multiPlanCoupon : multiPlanCoupon
  1930. ,cuTitle : $('#planTemplateForm input[name=cuTitle]').val()
  1931. ,cuDispOrd : $('#planTemplateForm input[name=cuDispOrd]').val()
  1932. ,cuPlanContSq : $('#planTemplateForm input[name=cuPlanContSq]').val()
  1933. ,cuDispYn : $('#planTemplateForm input:checkbox[name=cuDispYn]').val()
  1934. ,note : $('#planTemplateForm textarea[name=note]').val()
  1935. ,multiPlanFile : multiPlanFile
  1936. ,multiPlanFile2 : multiPlanFile2
  1937. ,multiPlanFile3 : multiPlanFile3
  1938. ,fileDispYn : $('#planTemplateForm input:checkbox[name=fileDispYn]').val()
  1939. ,fileDispOrd : $('#planTemplateForm input[name=fileDispOrd]').val()
  1940. ,filePlanContSq : $('#planTemplateForm input[name=filePlanContSq]').val()
  1941. ,topFsrcDispYn : $('#planTemplateForm input:checkbox[name=topFsrcDispYn]').val()
  1942. ,btmFsrcDispYn : $('#planTemplateForm input:checkbox[name=btmFsrcDispYn]').val()
  1943. ,topFsrcDispOrd: $('#planTemplateForm input[name=topFsrcDispOrd]').val()
  1944. ,btmFsrcDispOrd : $('#planTemplateForm input[name=btmFsrcDispOrd]').val()
  1945. ,fsrcPcTop : $('#planTemplateForm textarea[name=fsrcPcTop]').val()
  1946. ,fsrcMobileTop: $('#planTemplateForm textarea[name=fsrcMobileTop]').val()
  1947. ,fsrcPcBtm: $('#planTemplateForm textarea[name=fsrcPcBtm]').val()
  1948. ,fsrcMobileBtm : $('#planTemplateForm textarea[name=fsrcMobileBtm]').val()
  1949. ,multiPlanGoodsContent1 : goodsTemp1
  1950. ,multiPlanGoodsContent2 : goodsTemp2
  1951. ,multiPlanGoodsContent3 : goodsTemp3
  1952. ,multiPlanGoodsContent4 : goodsTemp4
  1953. ,multiPlanGoodsContent5 : goodsTemp5
  1954. ,multiPlanGoodsContent6 : goodsTemp6
  1955. ,multiPlanGoodsContent7 : goodsTemp7
  1956. ,multiPlanGoodsContent8 : goodsTemp8
  1957. ,multiPlanGoodsContent9 : goodsTemp9
  1958. ,multiPlanGoodsContent10 : goodsTemp10
  1959. ,multiPlanGoodsContentVal1 : arrayData1
  1960. ,multiPlanGoodsContentVal2 : arrayData2
  1961. ,multiPlanGoodsContentVal3 : arrayData3
  1962. ,multiPlanGoodsContentVal4 : arrayData4
  1963. ,multiPlanGoodsContentVal5 : arrayData5
  1964. ,multiPlanGoodsContentVal6 : arrayData6
  1965. ,multiPlanGoodsContentVal7 : arrayData7
  1966. ,multiPlanGoodsContentVal8 : arrayData8
  1967. ,multiPlanGoodsContentVal9 : arrayData9
  1968. ,multiPlanGoodsContentVal10 : arrayData10
  1969. }
  1970. var jsonData = JSON.stringify(data);
  1971. gagajf.ajaxJsonSubmit('/marketing/planning/detail/template/save', jsonData, fnDetailFormSearch);
  1972. }
  1973. });
  1974. });
  1975. // 템플릿 등록 후 콜백
  1976. var fnDetailFormSearch = function() {
  1977. uifnPopupClose('popupPlanTemplate');
  1978. }
  1979. // 첨부파일 삭제
  1980. var fnDeleteFile = function(obj, planSq, planContItemSq, fileItemVal) {
  1981. mcxDialog.confirm('정말 삭제하시겠습니까?', {
  1982. cancelBtnText: "취소",
  1983. sureBtnText: "확인",
  1984. sureBtnClick: function(){
  1985. var params = new Object();
  1986. params.planSq = planSq;
  1987. params.planContItemSq = planContItemSq;
  1988. params.fileItemVal = fileItemVal;
  1989. var jsonData = JSON.stringify(params);
  1990. gagajf.ajaxJsonSubmit('/marketing/planning/detail/template/file/delete', jsonData, function() {
  1991. $(obj).parent().remove();
  1992. });
  1993. }
  1994. });
  1995. }
  1996. $(document).ready(function() {
  1997. //gagaSn.setContents('#fsrcPcBtm', '');
  1998. //gagaSn.setContents('#fsrcMobileBtm', '');
  1999. //gagaSn.setContents('#fsrcPcTop', '');
  2000. //gagaSn.setContents('#fsrcMobileTop', '');
  2001. //gagaSn.setContents('#note', '');
  2002. var snOptions1 = gagaSn.getToolbarOptions('media');
  2003. var snOptions2 = gagaSn.getToolbarOptions('media');
  2004. var snOptions3 = gagaSn.getToolbarOptions('media');
  2005. var snOptions4 = gagaSn.getToolbarOptions('media');
  2006. // 썸머노트 그리기
  2007. gagaSn.createSummernote(snOptions1, '#fsrcPcTop');
  2008. gagaSn.createSummernote(snOptions2, '#fsrcMobileTop');
  2009. gagaSn.createSummernote(snOptions3, '#fsrcPcBtm');
  2010. gagaSn.createSummernote(snOptions4, '#fsrcMobileBtm');
  2011. // 그리드 그리기
  2012. gagaAgGrid.createGrid("gridListPlanReview", gridOptionsPlanReviewList);
  2013. gagaAgGrid.createGrid("gridTempGbList1", gridOptions_p1);
  2014. gagaAgGrid.createGrid("gridTempGbList2", gridOptions_p2);
  2015. gagaAgGrid.createGrid("gridTempGbList3", gridOptions_p3);
  2016. gagaAgGrid.createGrid("gridTempGbList4", gridOptions_p4);
  2017. gagaAgGrid.createGrid("gridTempGbList5", gridOptions_p5);
  2018. gagaAgGrid.createGrid("gridTempGbList6", gridOptions_p6);
  2019. gagaAgGrid.createGrid("gridTempGbList7", gridOptions_p7);
  2020. gagaAgGrid.createGrid("gridTempGbList8", gridOptions_p8);
  2021. gagaAgGrid.createGrid("gridTempGbList9", gridOptions_p9);
  2022. gagaAgGrid.createGrid("gridTempGbList10", gridOptions_p10);
  2023. if(mode == 'U'){
  2024. if(typeof reviewList[0] != 'undefined'){
  2025. // 리뷰
  2026. $('#planTemplateForm input[name=reTitle]').val(reviewList[0].title);
  2027. $('#planTemplateForm input[name=reDispOrd]').val(reviewList[0].dispOrd);
  2028. $('#planTemplateForm input[name=rePlanContSq]').val(reviewList[0].planContSq);
  2029. if (reviewList[0].dispYn == 'Y') {
  2030. $('#planTemplateForm input:checkbox[name="reDispYn"]').prop('checked', true);
  2031. }
  2032. if(typeof reviewList[0].reItemVal != 'undefined' && reviewList[0].reItemVal != null){
  2033. gridOptionsPlanReviewList.api.setRowData(reviewList);
  2034. }
  2035. }
  2036. if(typeof couponList[0] != 'undefined'){
  2037. //쿠폰
  2038. $('#planTemplateForm input[name=cuTitle]').val(couponList[0].title);
  2039. $('#planTemplateForm input[name=cuDispOrd]').val(couponList[0].dispOrd);
  2040. $('#planTemplateForm input[name=cuPlanContSq]').val(couponList[0].planContSq);
  2041. $('#note').summernote('code', couponList[0].note);
  2042. if (couponList[0].dispYn == 'Y') {
  2043. $('#planTemplateForm input:checkbox[name="cuDispYn"]').prop('checked', true);
  2044. }
  2045. if(couponList.length > 0)
  2046. {
  2047. for (var i = 0; i <couponList.length; i++) {
  2048. var html = '<tr>';
  2049. html += '<td colspan="3">';
  2050. html += '<input type="text" class="w300" id="cuItemNm" name="cuItemNm'+(i+1)+'" value="'+ couponList[i].cuItemNm +'"/>';
  2051. html += '<button type="button" class="btn icn" id="couponPlusBtn'+(i+1)+'"><i class="fa fa-search cpn" aria-hidden="true"></i></button>';
  2052. html += '<input id="cuItemVal" name="cuItemVal'+(i+1)+'" type="text" class="w100" maxlength="20" readonly="readonly" value="'+ couponList[i].cuItemVal +'"/>';
  2053. html += '<button type="button" class="btn icn" id="deleteCoupon'+(i+1)+'"><i class="fa fa-eraser" aria-hidden="true"></i></button>';
  2054. html += '</td>';
  2055. html += '</tr>';
  2056. $("#couponTable").append(html);
  2057. $('#couponPlusBtn'+(i+1)).attr("onclick","fnOpenCouponRetrievePopup('input[name=cuItemVal"+(i+1)+"]', 'input[name=cuItemNm"+(i+1)+"]');")
  2058. $('#deleteCoupon'+(i+1)).attr("onclick","deleteRowCoupon("+(i+1)+")");
  2059. }
  2060. }
  2061. }
  2062. if(typeof fileList[0] != 'undefined'){
  2063. //파일
  2064. $('#planTemplateForm input[name=fileDispOrd]').val(fileList[0].dispOrd);
  2065. $('#planTemplateForm input[name=filePlanContSq]').val(fileList[0].planContSq);
  2066. if (fileList[0].dispYn == 'Y') {
  2067. $('#planTemplateForm input:checkbox[name="fileDispYn"]').prop('checked', true);
  2068. }
  2069. if(fileList.length > 0 && fileList[0].fileItemVal != null)
  2070. {
  2071. for (var i = 0; i <fileList.length; i++) {
  2072. var tag = '';
  2073. tag += '<span class="memAdd">';
  2074. tag += ' <a id="dnFile' + (i + 1) + '">' + fileList[i].fileItemVal + '</a>\n';
  2075. tag += ' <button type="button" onclick="fnDeleteFile(this, ' + fileList[i].planSq + ', ' + fileList[i].planContItemSq + ', \'' + fileList[i].fileItemVal + '\')">삭제</button>\n';
  2076. tag += '</span>';
  2077. $('#registeredFile').prepend(tag);
  2078. }
  2079. }
  2080. }
  2081. //html(하단)
  2082. if(typeof fsrcListBtm[0] != 'undefined'){
  2083. $('#planTemplateForm input[name=btmFsrcDispOrd]').val(fsrcListBtm[0].dispOrd);
  2084. if (fsrcListBtm[0].dispYn == 'Y') {
  2085. $('#planTemplateForm input:checkbox[name="btmFsrcDispYn"]').prop('checked', true);
  2086. }
  2087. $('#fsrcPcBtm').summernote('code', fsrcListBtm[0].fsrcPc);
  2088. $('#fsrcMobileBtm').summernote('code', fsrcListBtm[0].fsrcMob);
  2089. //gagaSn.setContents('#fsrcPcBtm', fsrcListBtm[0].fsrcPc);
  2090. //gagaSn.setContents('#fsrcMobileBtm', fsrcListBtm[0].fsrcMob);
  2091. }
  2092. //html(상단)
  2093. if(typeof fsrcListTop[0] != 'undefined'){
  2094. $('#planTemplateForm input[name=topFsrcDispOrd]').val(fsrcListTop[0].dispOrd);
  2095. if (fsrcListTop[0].dispYn == 'Y') {
  2096. $('#planTemplateForm input:checkbox[name="topFsrcDispYn"]').prop('checked', true);
  2097. }
  2098. $('#fsrcPcTop').summernote('code', fsrcListTop[0].fsrcPc);
  2099. $('#fsrcMobileTop').summernote('code', fsrcListTop[0].fsrcMob);
  2100. //gagaSn.setContents('#fsrcPcTop', fsrcListTop[0].fsrcPc);
  2101. //gagaSn.setContents('#fsrcMobileTop', fsrcListTop[0].fsrcMob);
  2102. }
  2103. //상품
  2104. if(typeof goodsList[0] != 'undefined'){
  2105. for (var i = 0; i < goodsList.length; i++) {
  2106. $('#planTemplateForm input[name=goodsTitle'+(i+1)+']').val(goodsList[i].title);
  2107. $('#planTemplateForm input[name=goodsUrl'+(i+1)+']').val(goodsList[i].linkUrl);
  2108. $('#planTemplateForm input[name=goodsDispOrd'+(i+1)+']').val(goodsList[i].dispOrd);
  2109. $('#planTemplateForm input[name=goodsPlanContSq'+(i+1)+']').val(goodsList[i].planContSq);
  2110. $('#planTemplateForm input[name=goodsPlanContItemSq'+(i+1)+']').val(goodsList[i].planContItemSq);
  2111. if (goodsList[i].dispYn == 'Y') {
  2112. $('#planTemplateForm input:checkbox[name=goodsDispYn'+(i+1)+']').prop('checked', true);
  2113. }
  2114. if(goodsList[i].tmplType == "G082_50"){
  2115. $('#planTemplateForm input:radio[name=goodsType'+(i+1)+']:radio[value="G082_50"]').prop('checked', true);
  2116. }else if(goodsList[i].tmplType == "G082_51"){
  2117. $('#planTemplateForm input:radio[name=goodsType'+(i+1)+']:radio[value="G082_51"]').prop('checked', true);
  2118. }else if(goodsList[i].tmplType == "G082_52"){
  2119. $('#planTemplateForm input:radio[name=goodsType'+(i+1)+']:radio[value="G082_52"]').prop('checked', true);
  2120. }
  2121. if (goodsList[i].linkOpenGb == "M") {
  2122. $('#planTemplateForm input:radio[name=linkOpenGb'+(i+1)+']:radio[value="M"]').prop('checked', true);
  2123. }else if(goodsList[i].linkOpenGb == "N"){
  2124. $('#planTemplateForm input:radio[name=linkOpenGb'+(i+1)+']:radio[value="N"]').prop('checked', true);
  2125. }
  2126. $('#btnAddGridNum' + (i + 1)).show();
  2127. gridOptions_p1.api.setRowData(goodsDetailList1);
  2128. gridOptions_p2.api.setRowData(goodsDetailList2);
  2129. gridOptions_p3.api.setRowData(goodsDetailList3);
  2130. gridOptions_p4.api.setRowData(goodsDetailList4);
  2131. gridOptions_p5.api.setRowData(goodsDetailList5);
  2132. gridOptions_p6.api.setRowData(goodsDetailList6);
  2133. gridOptions_p7.api.setRowData(goodsDetailList7);
  2134. gridOptions_p8.api.setRowData(goodsDetailList8);
  2135. gridOptions_p9.api.setRowData(goodsDetailList9);
  2136. gridOptions_p10.api.setRowData(goodsDetailList10);
  2137. }
  2138. }
  2139. }
  2140. $("#fileCnt").trigger('change');
  2141. });
  2142. /*]]>*/
  2143. </script>
  2144. </html>