admin.popup.js 30 KB

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