admin.popup.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831
  1. /*
  2. * Popup Java Script by gagamel
  3. *
  4. * Copyright (c) 2010 gagamel
  5. *
  6. * $Date: 2019-08-06 $
  7. */
  8. //체크박스 전체선택
  9. function uifnAllCheck(id) {
  10. var $thisId = $("#" + id);
  11. if ($thisId.hasClass("checked")) {
  12. $thisId.removeClass("checked");
  13. $("input[name=" + id + "]").parent("label").removeClass("checked");
  14. $("input[name=" + id + "]").prop("checked", false);
  15. } else {
  16. $thisId.addClass("checked");
  17. $("input[name=" + id + "]").parent("label").addClass("checked");
  18. $("input[name=" + id + "]").prop("checked", true);
  19. };
  20. return false;
  21. };
  22. /**
  23. * @type : function
  24. * @access : public
  25. * @desc : 모달팝업 오픈
  26. * <pre>
  27. * cfnOpenModalPopup('/goods/detail?goodsCd=G2019060500022', '');
  28. * </pre>
  29. * @param : actionUrl - 로딩 URL
  30. * @param : oTarget - 로딩 URL을 표시할 target ID
  31. * @since : 2019/06/05
  32. * @author : gagamel
  33. */
  34. var cfnOpenModalPopup = function(actionUrl, oTarget) {
  35. var str = '<div class="popupWrap" id="' + oTarget + '"></div>';
  36. if ($('#'+ oTarget).length == 0) {
  37. $('body').append(str);
  38. }
  39. $("#" + oTarget).load(actionUrl, function() {
  40. uifnPopupOpen(oTarget);
  41. $('.schDate').datepicker({
  42. changeMonth: true,
  43. changeYear: true,
  44. defaultDate: $('.schDate').val()
  45. });
  46. });
  47. }
  48. /**
  49. * @type : function
  50. * @access : public
  51. * @desc : MD 목록 팝업
  52. * <pre>
  53. * cfnOpenMdListPopup();
  54. * or
  55. * cfnOpenMdListPopup('fnResult');
  56. * or
  57. * cfnOpenMdListPopup('fnResult', '홍길동');
  58. * </pre>
  59. * @since : 2020/11/04
  60. * @author : gagamel
  61. */
  62. var cfnOpenMdListPopup = function(callbackfn, userNm) {
  63. var actionUrl = '/business/md/list/form';
  64. if (typeof(callbackfn) != 'undefined') actionUrl += "?callbackFn=" + callbackfn;
  65. if (typeof(userNm) != 'undefined') actionUrl += "&mdNm=" + encodeURIComponent(userNm) + '&searchGb=userNm';
  66. cfnOpenModalPopup(actionUrl, "popupMdList");
  67. }
  68. /**
  69. * @type : function
  70. * @access : public
  71. * @desc : 상품등록/복사 팝업 오픈
  72. * <pre>
  73. * cfnOpenGoodsRegisterPopup('N', 'G2014120100098');
  74. * </pre>
  75. * @param : mode - 모드(상세:U, 복사:C). 필수
  76. * @param : goodsCd - 상품코드. 옵션
  77. * @since : 2019/06/12
  78. * @author : eskim
  79. */
  80. var cfnOpenGoodsDetailPopup = function(mode, goodsCd) {
  81. var actionUrl = "/goods/detail/form?mode=" + mode;
  82. if (typeof(goodsCd) != "undefined") {
  83. actionUrl += "&goodsCd=" + goodsCd;
  84. }
  85. uifnPopupClose('popupGoodsDetail');
  86. cfnOpenModalPopup(actionUrl, 'popupGoodsDetail');
  87. }
  88. //
  89. /**
  90. * @type : function
  91. * @access : public
  92. * @desc : 엑셀업로드 팝업 호출
  93. * <pre>
  94. * cfnExcelUploadPopup('infoRsvtGoodsSave', 'infoRsvtGoodsExcelSave');
  95. * </pre>
  96. * @param : procJob - 업무명
  97. * @param : callBackFun - CallBack 함수
  98. * @since : 2019/07/29
  99. * @author : ESKIM
  100. */
  101. var cfnExcelUploadPopup = function(procJob, callBackFun) {
  102. var params = "?procJob=" + procJob;
  103. if (typeof(callBackFun) != 'undefined' & callBackFun != ""){
  104. params += "&callBackFun=" + callBackFun;
  105. };
  106. var actionUrl = "/common/excel/upload/popup/form" ;
  107. cfnOpenModalPopup(actionUrl+ params,'popupExcelUpload');
  108. };
  109. /**
  110. * @type : function
  111. * @access : public
  112. * @desc : 주문 상세 팝업
  113. * <pre>
  114. * cfnOpenOrderDetailPopup('주문번호');
  115. * </pre>
  116. * @param : orderNo - 주문번호:필수
  117. * @since : 2019/12/10
  118. * @author : yhkim
  119. */
  120. var cfnOpenOrderDetailPopup = function(ordNo) {
  121. var actionUrl = "/order/detail/info";
  122. if (typeof(ordNo) != 'undefined') actionUrl += "?ordNo=" + ordNo;
  123. cfnOpenModalPopup(actionUrl, "popupOrderDetail");
  124. }
  125. /**
  126. * @type : function
  127. * @access : public
  128. * @desc : 이미지 미리보기 팝업 열기
  129. * <pre>
  130. * cfnOpenImagePreViewPopup('custNo');
  131. * </pre>
  132. * @param : Id - object id
  133. * @since : 2019/12/12
  134. * @author : eskim
  135. */
  136. //이미지 미리보기 팝업 열기
  137. var cfnOpenImagePreViewPopup = function(id,imgUrl) {
  138. var str = '<div class="videoPopup" data-width="700" data-height="350" id="'+id+'" style="z-index:30">';
  139. str = str + '<button type="button" class="close" onclick="uifnPopupClose(\''+id+'\')"><i class="fa fa-times"></i></button>';
  140. str = str + '<img id="imagePreView" src="/image/no.gif"/>';
  141. str = str + '</div>';
  142. if ($('#'+ id).length == 0) {
  143. $('body').append(str);
  144. }
  145. var $thisId = $("#"+id + ">.videoPopup");
  146. var popW = parseInt( $thisId.attr("data-width") );
  147. var popH = parseInt( $thisId.attr("data-height") );
  148. $("#imagePreView").attr("src", imgUrl);
  149. //$($thisId).css({display:"block"});
  150. $("#"+id).css({display:"block"});
  151. }
  152. /**
  153. * @type : function
  154. * @access : public
  155. * @desc : 비디오 팝업
  156. * <pre>
  157. * cfnOpenGoodsVideoPopup('goodsVideoView', 'videoUrl','#goodsDetailVideoForm', 'Y' );
  158. * </pre>
  159. * @param : Id - object id
  160. * @since : 2019/12/16
  161. * @author : eskim
  162. */
  163. //비디오 팝업 열기
  164. var cfnOpenGoodsVideoPopup = function(id, objId, formid, type, fullUrl) {
  165. var src = $(formid).find("#"+objId).val();
  166. var str = '';
  167. str += '<div class="videoPopup" style="width:700px; height:350px" id="'+id+'">';
  168. str += '<button type="button" class="close" onclick="uifnPopupClose(\''+id+'\')"><i class="fa fa-times"></i></button>';
  169. if(src.indexOf('http://')!=-1 || src.indexOf('https://')!=-1 && src.indexOf('youtube')==-1){
  170. str += '<video id="video" autoplay></video>';
  171. }else{
  172. str +='<iframe id="video" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>';
  173. }
  174. str += '</div>';
  175. if ($('#'+ id).length == 0) {
  176. $('body').append(str);
  177. }
  178. var $thisId = $("#"+id + ">.videoPopup");
  179. var popW = parseInt( $thisId.attr("data-width") );
  180. var popH = parseInt( $thisId.attr("data-height") );
  181. if(src.indexOf('//')!=-1 || src.indexOf('//')!=-1 && src.indexOf('youtube')==-1){
  182. $("#video").css({height:500, width:500});
  183. $("#video").attr("src", src);
  184. }else{
  185. $("#video").css({width:popW, height:popH});
  186. if (typeof(fullUrl) != 'undefined' && fullUrl != ""){
  187. $("#video").attr("src", src+"?enablejsapi=1&version=3&playerapiid=ytplayer");
  188. }else{
  189. src = 'https://www.youtube.com/embed/' + src + '?showinfo=0&rel=0&vp=hd1080&fs=0&wmode=opaque&enablejsapi=1';
  190. $("#video").attr("src", src+"&version=3&playerapiid=ytplayer");
  191. }
  192. }
  193. $("#"+id).css({display:"block"});
  194. }
  195. /**
  196. * @type : function
  197. * @access : public
  198. * @desc : 상품 이미지 보기
  199. * <pre>
  200. * cfnOpenGoodsImagePopup('G2014120100098','BK','BLACK','U');
  201. * </pre>
  202. * @param : goodsCd - 상품코드. 옵션
  203. * @since : 2020/12/22
  204. * @author : eskim
  205. */
  206. var cfnOpenGoodsImagePopup = function(goodsCd, colorCd, colorNm, mode) {
  207. var actionUrl = "/goods/image/form?goodsCd=" + goodsCd +"&colorCd=" + colorCd +"&colorNm=" + encodeURIComponent(colorNm) +"&mode=" + mode;
  208. uifnPopupClose('popupGoodsImage');
  209. cfnOpenModalPopup(actionUrl, 'popupGoodsImage');
  210. }
  211. /**
  212. * @type : function
  213. * @access : public
  214. * @desc : 상품 이미지 보기
  215. * <pre>
  216. * cfnOpenGoodsImageMassPopup('G2014120100098');
  217. * </pre>
  218. * @param : goodsCd - 상품코드. 옵션
  219. * @since : 2020/11/27
  220. * @author : eskim
  221. */
  222. //var cfnOpenGoodsImageMassPopup = function(goodsCd, colorCd, colorNm, mode) {
  223. // var actionUrl = "/goods/image/mass/form?goodsCd=" + goodsCd +"&colorCd=" + colorCd +"&colorNm=" + encodeURIComponent(colorNm) +"&mode=" + mode;
  224. // uifnPopupClose('popupGoodsImageMass');
  225. // cfnOpenModalPopup(actionUrl, 'popupGoodsImageMass');
  226. //}
  227. /**
  228. * @type : function
  229. * @access : public
  230. * @desc : 카테고리 조회 팝업
  231. * <pre>
  232. * cfnOpenCategoryPopup('callbackfunction');
  233. * </pre>
  234. * @param : callbackfunction -콜백함수
  235. * @since : 2019/12/20
  236. * @author : sasa004
  237. */
  238. var cfnOpenCategoryPopup = function(callbackfun, siteCd) {
  239. var actionUrl = "/display/category/popup/form";
  240. if (typeof(callbackfun) == 'undefined'){
  241. return;
  242. }
  243. actionUrl += "?callBackFun=" + callbackfun;
  244. if (typeof(siteCd) != 'undefined') actionUrl += "&siteCd=" + siteCd;
  245. cfnOpenModalPopup(actionUrl, "popupCategory");
  246. }
  247. /**
  248. * @type : function
  249. * @access : public
  250. * @desc : 상품평 상세팝업
  251. * <pre>
  252. * cfnOpenReviewDetailPopup('reviewSq');
  253. * </pre>
  254. * @param : callbackfunction -콜백함수
  255. * @since : 2020/01/03
  256. * @author : jaewonHo
  257. */
  258. var cfnOpenReviewDetailPopup = function(reviewSq) {
  259. var actionUrl = "/marketing/review/detail/form";
  260. if (typeof(reviewSq) != 'undefined') actionUrl += "?reviewSq=" + reviewSq;
  261. cfnOpenModalPopup(actionUrl, "popupReviewDetail");
  262. }
  263. /**
  264. * @type : function
  265. * @access : public
  266. * @desc : 상품조회 팝업
  267. * <pre>
  268. * cfnOpenGoodsPopup('goosCallbackFun');
  269. * </pre>
  270. * @param : callbackfun - 콜백함수
  271. * @since : 2020/01/17
  272. * @author : eskim
  273. */
  274. var cfnOpenGoodsPopup = function(callbackfun) {
  275. var actionUrl = "/goods/popup/list/form";
  276. if (typeof(callbackfun) != 'undefined') actionUrl += "?callBackFun=" + callbackfun;
  277. cfnOpenModalPopup(actionUrl,'popupGoods');
  278. }
  279. /**
  280. * @type : function
  281. * @access : public
  282. * @desc : 사은품조회 팝업
  283. * <pre>
  284. * cfnOpenFreeGoodsPopup('callbackfn');
  285. * </pre>
  286. * @param : callbackfun - 콜백함수
  287. * @since : 2021/01/12
  288. * @author : xodud1202
  289. */
  290. var cfnOpenFreeGoodsPopup = function(callbackFn) {
  291. var actionUrl = "/goods/freeGoods/popup/list/form";
  292. if (typeof(callbackFn) != 'undefined') actionUrl += "?callbackFn=" + callbackFn;
  293. uifnPopupClose('popupFreeGoodsList');
  294. cfnOpenModalPopup(actionUrl,'popupFreeGoodsList');
  295. }
  296. /**
  297. * @type : function
  298. * @access : public
  299. * @desc : 전시/기획전 상품 순서변경 팝업
  300. * <pre>
  301. * cfnOpenGoodsDispOrdChangePopup('goosCallbackFun');
  302. * </pre>
  303. * @param : callbackfun - 콜백함수
  304. * @since : 2020/01/30
  305. * @author : sasa004
  306. */
  307. var cfnOpenGoodsDispOrdChangePopup = function(callbackfun, params) {
  308. var actionUrl = "/display/goods/dispord/change/popup/form";
  309. if (typeof(callbackfun) != 'undefined') actionUrl += "?callBackFun=" + callbackfun;
  310. if (typeof(params) != 'undefined') actionUrl += "&" + params;
  311. cfnOpenModalPopup(actionUrl,'popupGoodsDispOrdChange');
  312. }
  313. /**
  314. * @type : function
  315. * @access : public
  316. * @desc : 포인트 조회 상세 팝업
  317. * <pre>
  318. * cfnOpenPointDetailPopup('callbackfunction');
  319. * </pre>
  320. * @param : callbackfunction -콜백함수
  321. * @since : 2020/02/07
  322. * @author : jaewonHo
  323. */
  324. var cfnOpenPointDetailPopup = function(callbackfun, siteCd, custNo) {
  325. var actionUrl = "/marketing/point/detail/popup/form";
  326. if (typeof(callbackfun) == 'undefined'){
  327. return;
  328. }
  329. actionUrl += "?callBackFun=" + callbackfun;
  330. if (typeof(siteCd) != 'siteCd') actionUrl += "&siteCd=" + siteCd;
  331. if (typeof(siteCd) != 'custNo') actionUrl += "&custNo=" + custNo;
  332. cfnOpenModalPopup(actionUrl, "popupPointDetail");
  333. }
  334. /**
  335. * @type : function
  336. * @access : public
  337. * @desc : 쿠폰등록(수정) 팝업 cpnId존재시 수정모드
  338. * <pre>
  339. * cfnCouponCreate(cpnId, 'couponCreateCallbackFun');
  340. * </pre>
  341. * @param : callbackfun - 콜백함수
  342. * @since : 2020/02/10
  343. * @author : LMC
  344. */
  345. function cfnCouponCreatePopup(cpnId, callbackfun){
  346. var actionUrl = "/marketing/coupon/popup/form?cpnId=" + cpnId;
  347. if (typeof(callbackfun) != 'undefined') actionUrl += "&callBackFun=" + callbackfun;
  348. cfnOpenModalPopup(actionUrl,'CouponCreatePopup');
  349. }
  350. /**
  351. * @type : function
  352. * @access : public
  353. * @desc : LMS 팝업
  354. * <pre>
  355. * var param = new Object();
  356. * param.elementContent = 'textarea[name=content]';
  357. * param.elementCellPhnno = 'input[name=cellPhnno]';
  358. * param.elementCustNo = 'input[name=custNo]';
  359. * cfnOpenLmsPopup(param);
  360. * </pre>
  361. * @since : 2020/02/13
  362. * @author : jsshin
  363. */
  364. var cfnOpenLmsPopup = function(param, division) {
  365. var actionUrl = '/customer/lms/popup/form?elementContent=' + encodeURIComponent(param.elementContent)
  366. + '&elementCellPhnno=' + encodeURIComponent(param.elementCellPhnno)
  367. + '&elementCustNo=' + encodeURIComponent(param.elementCustNo)
  368. + '&division=' + division;
  369. cfnOpenModalPopup(actionUrl, 'popupLmsForm');
  370. }
  371. /**
  372. * @type : function
  373. * @access : public
  374. * @desc : 메일 팝업
  375. * <pre>
  376. * var param = new Object();
  377. * param.elementRecipEmail = 'input[name=email]';
  378. * param.elementCustNm = 'input[name=cellPhnno]';
  379. * param.elementCustNo = 'input[name=custNo]';
  380. * cfnOpenEmailPopup(param);
  381. * </pre>
  382. * @since : 2020/02/13
  383. * @author : jsshin
  384. */
  385. var cfnOpenEmailPopup = function(param, division) {
  386. var actionUrl = '/customer/email/popup/form?elementRecipEmail=' + encodeURIComponent(param.elementRecipEmail)
  387. + '&elementCustNm=' + encodeURIComponent(param.elementCustNm)
  388. + '&elementCustNo=' + encodeURIComponent(param.elementCustNo);
  389. + '&division=' + division;
  390. cfnOpenModalPopup(actionUrl, 'popupEmailForm');
  391. }
  392. /**
  393. * @type : function
  394. * @access : public
  395. * @desc : 쿠폰발급팝업
  396. * @since : 2020/02/18
  397. * @author : 이명철
  398. */
  399. var cfnCpnPubForCustPopup = function(){
  400. var actionUrl = '/marketing/coupon/cpnPubForCust/popup/form';
  401. cfnOpenModalPopup(actionUrl, 'CpnPubForCustPopup');
  402. }
  403. /**
  404. * @type : function
  405. * @access : public
  406. * @desc : 포인트부여팝업
  407. * @since : 2020/02/18
  408. * @author : 이명철
  409. */
  410. var cfnGrantPointPopup = function(){
  411. var actionUrl = '/customer/point/grantPoint/popup/form';
  412. cfnOpenModalPopup(actionUrl, 'GrantPointPopup');
  413. }
  414. /**
  415. * @type : function
  416. * @access : public
  417. * @desc : 1:1문의 상세 팝업
  418. * @author : gagamel
  419. * @since : 2020/12/24
  420. */
  421. var cfnOpenOneToOneQnaDetailPopup = function(counselSq) {
  422. var actionUrl = '/customer/onetoone/qna/detail/form/' + counselSq;
  423. cfnOpenModalPopup(actionUrl, 'popupOneToOneQnaDetail');
  424. }
  425. /**
  426. * @type : function
  427. * @access : public
  428. * @desc : 상품문의 상세 팝업
  429. * @author : gagamel
  430. * @since : 2020/12/24
  431. */
  432. var cfnOpenGoodsQnaDetailPopup = function(counselSq) {
  433. var actionUrl = '/customer/goods/qna/detail/form/' + counselSq;
  434. cfnOpenModalPopup(actionUrl, 'popupGoodsQnaDetail');
  435. }
  436. /**
  437. * @type : function
  438. * @access : public
  439. * @desc : 메인전시 컨텐츠 수정 팝업 오픈
  440. * <pre>
  441. * cfnOpenMainContentsPopup(cateCd, contentsLoc);
  442. * </pre>
  443. * @param : contentsLoc - 컨텐츠 위치
  444. * @since : 2020/02/25
  445. * @author : sasa004
  446. */
  447. var cfnOpenMainContentsPopup = function(cateCd, contentsLoc) {
  448. var actionUrl = "/display/main/contents/popup/form?cateCd="+cateCd+"&contentsLoc=" + contentsLoc;
  449. uifnPopupClose('popupMainContents');
  450. cfnOpenModalPopup(actionUrl, 'popupMainContents');
  451. }
  452. /**
  453. * @type : function
  454. * @access : public
  455. * @desc : 룩북 배너 팝업 오픈
  456. * <pre>
  457. * cfnOpenLookbookBannerPopup(lookbookSq,lookbookTitle);
  458. * </pre>
  459. * @param : lookbookSq - 룩북 일련번호
  460. * @since : 2020/02/25
  461. * @author : sasa004
  462. */
  463. var cfnOpenLookbookBannerPopup = function(lookbookSq, lookbookTitle) {
  464. var actionUrl = "/display/lookbook/banner/popup/form?lookbookSq=" + lookbookSq;
  465. if (typeof(lookbookTitle) != 'undefined') actionUrl += "&lookbookTitle=" + encodeURIComponent(lookbookTitle);
  466. uifnPopupClose('popupLookbookBanner');
  467. cfnOpenModalPopup(actionUrl, 'popupLookbookBanner');
  468. }
  469. /**
  470. * @type : function
  471. * @access : public
  472. * @desc : 회원상세 팝업
  473. * <pre>
  474. * cfnOpenCustDetailPopup(custNo);
  475. * </pre>
  476. * @since : 2020/03/02
  477. * @author : jsshin
  478. */
  479. var cfnOpenCustDetailPopup = function(custNo) {
  480. var actionUrl = "/customer/detail/form/" + custNo;
  481. cfnOpenModalPopup(actionUrl,'popupCustomerDetail');
  482. }
  483. /**
  484. * @type : function
  485. * @access : public
  486. * @desc : 매장POS 팝업
  487. * <pre>
  488. * cfnOpenCustDetailPopup(delvLocCd);
  489. * </pre>
  490. * @since : 2020/04/02
  491. * @author : jsshin
  492. */
  493. var cfnPopPos =function(delvLocCd){
  494. var actionUrl = "/pos/login?delvLocCd="+delvLocCd;
  495. var popupWidth = 1830;
  496. var popupHeight = 850;
  497. var popupX = (window.screen.width / 2) - (popupWidth / 2);
  498. var popupY= (window.screen.height / 3) - (popupHeight / 3);
  499. if (typeof(delvLocCd) != 'undefined'){
  500. window.open(actionUrl, "_blank", "top="+popupY+", left="+popupX+", width="+popupWidth+", height="+popupHeight+", scrollbars=yes");
  501. }
  502. }
  503. /**
  504. * @type : function
  505. * @access : public
  506. * @desc : 쿠폰조회 팝업
  507. * <pre>
  508. * var oParam = new Object();
  509. * oParam.returnCode = 'input[name=cpnId]'; // 반환할코드
  510. * oParam.returnName = 'input[name=cpnNm]'; // 반환할코드명칭
  511. * oParam.processType = 'DELV'; // 콜백함수처리유형
  512. * cfnOpenCouponRetrievePopup($('input[name=cpnNm]').val(), oParam);
  513. * </pre>
  514. * @param sName - 명칭. 필수
  515. * @param oParam - 파라미터 오브젝트. 필수
  516. * @since : 2020/04/14
  517. * @author : gagamel
  518. */
  519. var cfnOpenCouponRetrievePopup = function(sName, oParam) {
  520. var oEvt = window.event;
  521. if (oEvt.type == 'click') sName = '';
  522. var returnCode = oParam.returnCode;
  523. var returnName = oParam.returnName;
  524. var actionUrl = '/marketing/coupon/retrieve/form?cpnNm=' + encodeURIComponent(sName)
  525. + '&returnCode=' + encodeURIComponent(returnCode)
  526. + '&returnName=' + encodeURIComponent(returnName);
  527. if (typeof(oParam.processType) != 'undefined')
  528. actionUrl += '&processType=' + oParam.processType;
  529. cfnOpenModalPopup(actionUrl, 'popupCoupon');
  530. }
  531. /**
  532. * @type : function
  533. * @access : public
  534. * @desc : 기획전 조회 팝업
  535. * <pre>
  536. * cfnOpenPlanPopup('CallbackFun');
  537. * </pre>
  538. * @param : callbackfun - 콜백함수
  539. * @since : 2020/04/14
  540. * @author : yujung
  541. */
  542. var cfnOpenPlanPopup = function(callbackfun) {
  543. var actionUrl = "/marketing/plan/list/popup";
  544. if (typeof(callbackfun) != 'undefined') actionUrl += "?callBackFun=" + callbackfun;
  545. cfnOpenModalPopup(actionUrl,'popupPlan');
  546. }
  547. /**
  548. * @type : function
  549. * @access : public
  550. * @desc : 세트상품구성 팝업
  551. * <pre>
  552. * cfnOpenGoodsSetPopup();
  553. * </pre>
  554. * @since : 2020/06/11
  555. * @author : eskim
  556. */
  557. var cfnOpenGoodsSetPopup = function() {
  558. var actionUrl = "/goods/set/form";
  559. uifnPopupClose('popupGoodsSet');
  560. cfnOpenModalPopup(actionUrl, 'popupGoodsSet');
  561. }
  562. /**
  563. * @type : function
  564. * @access : public
  565. * @desc : 딜상품구성 팝업
  566. * <pre>
  567. * cfnOpenGoodsDealPopup();
  568. * </pre>
  569. * @since : 2020/06/11
  570. * @author : eskim
  571. */
  572. var cfnOpenGoodsDealPopup = function() {
  573. var actionUrl = "/goods/deal/form";
  574. uifnPopupClose('popupGoodsDeal');
  575. cfnOpenModalPopup(actionUrl, 'popupGoodsDeal');
  576. }
  577. /**
  578. * @type : function
  579. * @access : public
  580. * @desc : 아이콘 팝업
  581. * <pre>
  582. * cfnOpenIconPopup();
  583. * </pre>
  584. * @since : 2020/06/15
  585. * @author : eskim
  586. */
  587. var cfnOpenIconPopup = function() {
  588. var actionUrl = "/goods/icon/form";
  589. uifnPopupClose('popupIcon');
  590. cfnOpenModalPopup(actionUrl, 'popupIcon');
  591. }
  592. /**
  593. * @type : function
  594. * @access : public
  595. * @desc : 기획전 응모이벤트 참여자 조회 팝업
  596. * <pre>
  597. * cfnOpenPlanAnswerPopup('planSeq');
  598. * </pre>
  599. * @param : planSeq - 기획전 코드
  600. * @since : 2020/06/24
  601. * @author : sasa004
  602. */
  603. var cfnOpenPlanAnswerPopup = function(planSq) {
  604. var actionUrl = "/marketing/plan/answer/list/popup?planSq="+planSq;
  605. cfnOpenModalPopup(actionUrl,'popupPlanAnswer');
  606. }
  607. /**
  608. * @type : function
  609. * @access : public
  610. * @desc : 상품상세 미리보기
  611. * <pre>
  612. * cfnOpenFrontGoodsPopup('LCOPJ523_RE', '10');
  613. * </pre>
  614. * @param : goodsCd - 상품코드
  615. * @param : siteCd - 사이트코드
  616. * @since : 2020/08/21
  617. * @author : swkim
  618. */
  619. var cfnOpenFrontGoodsPopup = function(goodsCd, siteCd) {
  620. var actionUrl = _frontDomain +"/goods/detail/form?goodsCd=" + goodsCd + '&adminYn=Y';
  621. window.open(actionUrl);
  622. }
  623. /**
  624. * @type : function
  625. * @access : public
  626. * @desc : 브랜드 목록 팝업
  627. * <pre>
  628. * cfnOpenBrandListPopup('fnResult');
  629. * or
  630. * cfnOpenBrandListPopup('fnResult', 'S');
  631. * or
  632. * cfnOpenBrandListPopup('fnResult', 'S', 'TBJ');
  633. * </pre>
  634. * @since : 2020/12/15
  635. * @author : eskim
  636. */
  637. var cfnOpenBrandListPopup = function(callbackfn, multiGb, searchTxt) {
  638. var actionUrl = '/business/brand/search/form?callbackFn=' + callbackfn;
  639. if (typeof(multiGb) != 'undefined' && multiGb != null && multiGb == "M") actionUrl += "&multiGb=" + multiGb; else actionUrl += "&multiGb=S";
  640. if (typeof(searchTxt) != 'undefined') actionUrl += "&searchTxt=" + encodeURIComponent(searchTxt);
  641. cfnOpenModalPopup(actionUrl, "popupBrandList");
  642. }
  643. /**
  644. * @type : function
  645. * @access : public
  646. * @desc : 프로모션 등록 팝업
  647. * <pre>
  648. * cfnOpenFreeGoodsPromotionSetPopup('C');
  649. * </pre>
  650. * @since : 2020/12/21
  651. * @author : xodud1202
  652. */
  653. var cfnOpenFreeGoodsPromotionSetPopup = function(gbn) {
  654. var actionUrl = "/marketing/freeGoodsRegiPopup/form?gbn=" + gbn;
  655. uifnPopupClose('popupFreeGoodsPromotionRegi');
  656. cfnOpenModalPopup(actionUrl, 'popupFreeGoodsPromotionRegi');
  657. }
  658. /**
  659. * @type : function
  660. * @access : public
  661. * @desc : 공급업체 조회 팝업
  662. * <pre>
  663. * cfnOpenCompanyListPopup('fnResult'); // callBack 함수만 나타내고, 싱글 선택 팝업
  664. * or
  665. * cfnOpenCompanyListPopup('fnResult', 'S'); // 1번 파라미터 : callBack 함수, 2번 파라미터 : S면 싱글 선택 팝업, M이면 멀티 선택 팝업
  666. * or
  667. * cfnOpenCompanyListPopup('fnResult', 'S', 'TBJ'); // 1번 파라미터 : callBack 함수, 2번 파라미터 : 선택구분, 3번 파라미터 : 팝업 default 검색어
  668. * or
  669. * cfnOpenCompanyListPopup('fnResult', 'S', 'TBJ', 'inputId'); // 마지막 문자열은 멀티구분 S이고, 결과가 하나일때 supplyCompCd값을 넣어줄 html tag id, S가 아니고, inputId가 존재하지 않으면 무조건 팝업이 열림.
  670. * </pre>
  671. * @since : 2020/12/23
  672. * @author : xodud1202
  673. */
  674. var cfnOpenCompanyListPopup = function(callbackfn, multiGb, searchTxt, inputId) {
  675. var actionUrl = "/business/comapny/search/form?callbackFn=" + callbackfn;
  676. if (typeof(multiGb) != 'undefined' && multiGb != null && multiGb == "M") actionUrl += "&multiGb=" + multiGb; else actionUrl += "&multiGb=S";
  677. if (typeof(searchTxt) != 'undefined') actionUrl += "&searchTxt=" + encodeURIComponent(searchTxt);
  678. if(multiGb == "S") {
  679. if(searchTxt && searchTxt != "" && inputId && inputId != "") {
  680. var data = { searchTxt : searchTxt, searchGb : "NAME" };
  681. var jsonData = JSON.stringify(data);
  682. gagajf.ajaxJsonSubmit('/business/supply/company/list', jsonData, function(result) {
  683. if(result && result.length == 1) {
  684. $("#" + inputId).val(result[0].supplyCompCd);
  685. } else {
  686. uifnPopupClose('popupCompanyList');
  687. cfnOpenModalPopup(actionUrl, 'popupCompanyList');
  688. }
  689. });
  690. } else {
  691. uifnPopupClose('popupCompanyList');
  692. cfnOpenModalPopup(actionUrl, 'popupCompanyList');
  693. }
  694. } else {
  695. uifnPopupClose('popupCompanyList');
  696. cfnOpenModalPopup(actionUrl, 'popupCompanyList');
  697. }
  698. }
  699. /**
  700. * @type : function
  701. * @access : public
  702. * @desc : 다다익선 등록 팝업
  703. * <pre>
  704. * cfnOpenTmtbSetPopup();
  705. * </pre>
  706. * @param : mode - 모드(N:신규, U:상세/수정, C:복사) 필수
  707. * @since : 2020/12/29
  708. * @author : bin2107
  709. */
  710. var cfnOpenMorebetterSetPopup = function(mode ,tmtbSeq) {
  711. var actionUrl = "/marketing/morebetterPopup/form?mode="+mode;
  712. if (typeof(tmtbSeq) != 'undefined') actionUrl += "&tmtbSeq=" + tmtbSeq;
  713. uifnPopupClose('popupMorebetterReg');
  714. cfnOpenModalPopup(actionUrl, 'popupMorebetterReg');
  715. }
  716. /**
  717. * @type : function
  718. * @access : public
  719. * @desc : 외부몰 조회 팝업
  720. * <pre>
  721. * cfnOpenExtmallListPopup();
  722. * </pre>
  723. * @since : 2020/12/23
  724. * @author : xodud1202
  725. */
  726. var cfnOpenExtmallListPopup = function(callbackfn) {
  727. var actionUrl = "/ocm/extmall/search/form";
  728. if (typeof(callbackfn) != 'undefined') actionUrl += "?callbackFn=" + callbackfn;
  729. uifnPopupClose('popupExtmallList');
  730. cfnOpenModalPopup(actionUrl, 'popupExtmallList');
  731. }
  732. /**
  733. * @type : function
  734. * @access : public
  735. * @desc : 공급벤더 팝업
  736. * <pre>
  737. * var oParam = new Object();
  738. * oParam.returnCode = 'input[name=supplyVendorCd]'; // 반환할코드
  739. * oParam.returnName = 'input[name=supplyVendorNm]'; // 반환할코드명칭
  740. * cfnOpenSupplyVendorPopup($('input[name=supplyVendorNm]').val(), oParam);
  741. * </pre>
  742. * @param sName - 명칭. 필수
  743. * @param oParam - 파라미터 오브젝트. 필수
  744. * @since : 2021/01/18
  745. * @author : gagamel
  746. */
  747. var cfnOpenSupplyVendorPopup = function(sName, oParam) {
  748. var oEvt = window.event;
  749. if (oEvt.type == 'click') sName = '';
  750. var returnCode = oParam.returnCode;
  751. var returnName = oParam.returnName;
  752. var actionUrl = '/business/supply/vendor/popup/form?supplyVendorNm=' + encodeURIComponent(sName)
  753. + '&returnCode=' + encodeURIComponent(returnCode)
  754. + '&returnName=' + encodeURIComponent(returnName);
  755. cfnOpenModalPopup(actionUrl, 'popupSupplyVendor');
  756. }