PageSourceSearch

https://image.kebhana.com/pbk/resource/js/common/opb-common-popup-find.js

js kebhana.com collected 2026-09-24 09:13:14 UTC 16,781 bytes, 453 lines download raw bytes

1try {
2    if(null == pbk.common.popup || undefined == pbk.common.popup) {
3         pbk.common.popup = {};
4    }
5} catch (e) {
6    pbk.common.popup = {};
7}
8
9/**
10 * 공통 - 검색 팝업 - 판구매업체검색
11 * 구매카드대출, 매담대/e안심팩토링, 구매자금대출, 미래대/공공구매론 만 사용
12 *
13 * 전자어음, 전자채권 <- 확인필요
14 */
15pbk.common.popup.findEnterprise = function() {
16
17    var popupDetailDiv ="popupDetailDiv";
18
19    /**
20     * 상품 구분값
21     * @see pbk.b2bConst
22     */
23    var prdctDv = null;
24
25    /**
26     * popup urlê³¼ list url
27     */
28    var url = {
29        popup : "",
30        list : ""
31    };
32
33
34    /**
35     * 검색된 업체중 선택 한 업체에 대한 내역을 가지고 있는 adapter Interface object 입니다.
36     */
37    var enprInfo = {
38        //구매카드대출, 매담대/e안심팩토링, 구매자금대출, 미래대/공공구매론
39        custNm : "",    //업체명
40        rsbzRegNo : "", //사업자번호
41        rsbzRegNo2 : "", //변환 된 사업자번호(000-00-00000)
42        cenrEntrCd : "", //중심업체코드
43        cmtmBussBrNo : "", // 영업점번호
44        cmtmBussBrNm : "",  // 약정영업점명
45
46        //구매카드
47        entrNm : "",    //업체명
48        entrCd : "",    //업체코드
49        pchCrdMestNo : ""  //가맹점번호, 카드번호
50    };
51
52    /**
53     * validate 에서 에러가 발생했는지 확인하는 flag
54     */
55    var hasErrors = false;
56    var errMsg = null;
57
58    /**
59     * public
60     */
61    return {
62
63        /**
64         * 초기화 시킵니다.
65         */
66        init : function(){
67            hasErrors = false;
68            errMsg = null;
69
70            url = {};
71
72            enprInfo = {};
73        },
74
75        /**
76         * 상품 구분값 에 따른 업체검색 url set
77         * @param dv
78         */
79        setUrlByPrdctDv : function(dv){
80            switch(dv){
81				/**
82                 * 구매카드 검색 부
83                 */ 
84                //구매카드 중심업체 검색
85                case pbk.b2bConst.pcard_main :
86                    url.popup = "/b2b/popup/pcard_main_company_inquiry_pop.do";
87                    url.list = "/b2b/popup/pcard_main_list.do";
88                    break;
89                //구매카드 협력업체 검색
90                case pbk.b2bConst.pcard_join :
91                    url.popup = "/b2b/popup/pcard_join_company_inquiry_pop.do";
92                    url.list = "/b2b/popup/pcard_join_list.do";
93                    break;
94                //벤더가맹점 검색
95                case pbk.b2bConst.pcard_vender :
96                    url.popup = "/b2b/popup/vender_company_inquiry_pop.do";
97                    url.list = "/b2b/popup/vender_list.do";
98                    break;
99                    
100                /**
101                 * 구매기업 검색 부
102                 */ 
103                //구매카드대출 구매업체 검색
104                case pbk.b2bConst.cardloan_buy :
105                    url.popup = "/b2b/popup/buy_company_inquiry_pop.do";
106                    url.list = "/b2b/popup/cardloan_buy_list.do";
107                    break;
108                //구매자금대출 구매업체 검색
109                case pbk.b2bConst.ploan_buy :               
110                    url.popup = "/b2b/popup/buy_company_inquiry_pop2.do";
111                    url.list = "/b2b/popup/ploan_buy_list.do";
112                    break;
113                //B2B(MP연계) 구매업체 검색
114                case pbk.b2bConst.b2b_buy :               
115                    url.popup = "/b2b/popup/buy_company_inquiry_pop.do";
116                    url.list = "/b2b/popup/b2b_buy_list.do";
117                    break;
118                //매담대 중심 구매업체 검색
119                case pbk.b2bConst.cloan_main :
120                    url.popup = "/b2b/popup/cloan_main_company_inquiry_pop.do";
121                    url.list = "/b2b/popup/cloan_main_list.do";
122                    break;
123                //매담대 구매기업(협력업체) 검색
124                case pbk.b2bConst.cloan_buy :
125                    url.popup = "/b2b/popup/buy_company_inquiry_pop.do";
126                    url.list = "/b2b/popup/cloan_sell_list.do"; //sell 과 list 페이지가 동일해서 sell 을 같이 씀.
127                    break;
128                //미래대 구매기업 검색
129                case pbk.b2bConst.nloan_buy : 
130                    url.popup = "/b2b/popup/buy_company_inquiry_pop.do";
131                    url.list = "/b2b/popup/nloan_sell_list.do"; //sell 과 list 페이지가 동일해서 sell 을 같이 씀.
132                    break;      
133                //전체 상품 구매기업 검색
134                case pbk.b2bConst.all_buy :
135                    url.popup = "/b2b/popup/buy_company_inquiry_pop.do";
136                    url.list = "/b2b/popup/all_buy_list.do";
137                    break;
138                
139                /**
140                 * 판매기업 검색 부
141                 */ 
142                //구매카드대출 판매기업 검색
143                case pbk.b2bConst.cardloan_sell :
144                     url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
145                     url.list = "/b2b/popup/cardloan_sell_list.do";
146                     break;
147                //구매자금대출 판매기업 검색
148                case pbk.b2bConst.ploan_sell :
149                    url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
150                    url.list = "/b2b/popup/ploan_sell_list.do";
151                    break;
152                //B2B(MP연계) 판매기업 검색
153                case pbk.b2bConst.b2b_sell :
154                    url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
155                    url.list = "/b2b/popup/b2b_sell_list.do";
156                    break;
157                //매담대 판매기업(협력업체) 검색
158                case pbk.b2bConst.cloan_sell :
159                    url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
160                    url.list = "/b2b/popup/cloan_sell_list.do";
161                    break;
162                //미래대 판매기업 검색
163                case pbk.b2bConst.nloan_sell : 
164                    url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
165                    url.list = "/b2b/popup/nloan_sell_list.do";
166                    break;
167                //전체 상품 판매기업 검색
168                case pbk.b2bConst.all_sell :
169                    url.popup = "/b2b/popup/sell_company_inquiry_pop.do";
170                    url.list = "/b2b/popup/all_sell_list.do";
171            }
172        },
173
174
175        /**
176         * Return Key일 경우 서브밋을 한다.
177         * @param {Object} event 이벤트
178         * @param {Object} obj 오브젝트
179         * @param {Object} form 폼 오브젝트
180         */
181        actionKeyDown: function(event,form){
182            if (pbk.isReturnKey(event.keyCode)) {
183                this.submitPop(form);
184            }
185        },
186        
187		 /**
188         * 팝업을 열기 전에 validate 합니다.
189         */
190        validate : function(configObj){
191            if(configObj.cenrEntrCd){
192                var cenrEntrCdVal = document.getElementById(configObj.cenrEntrCd).value;
193
194                if( prdctDv == pbk.b2bConst.pcard_join ){
195                    if(!cenrEntrCdVal){
196                        hasErrors = true;
197                        errMsg = "주계약 업체(업체코드)를 선택해 주세요";
198                    }
199                }
200
201                if(configObj.validate){
202                    if(!cenrEntrCdVal){
203                        hasErrors = true;
204                        errMsg = "주계약 업체(업체코드)를 선택해 주세요";
205                    }
206                }
207            }    
208        },
209		
210		/**
211         * 판구매업체 검색창을 연다.
212         * @param {String} popupId
213         * @param {Object} 설정 config
214         */
215        openPop :  function(popupId, configObj) {
216			
217            //값 초기화
218            this.init();
219
220            //팝업 Id 설정
221            prdctDv = popupId;
222
223            //validation
224            this.validate(configObj);
225
226            if( hasErrors ){
227                message.alert("입력오류", errMsg);
228                return;
229            }
230
231            this.setUrlByPrdctDv(prdctDv);
232
233            if(!url.popup && !url.list){
234                message.alert('알림', '기업검색에 등록 안된 상품입니다.');
235                return;
236            }
237
238            //config obj를 enprInfo 에 적용합니다.
239            Ext.apply(enprInfo, configObj);
240
241            //기업검색시 사용 할 중심업체코드 설정
242            if(configObj.cenrEntrCd){
243                enprInfo.formObj = enprInfo.formObj || form.createForm();
244                var cenrEntrCdVal = document.getElementById(configObj.cenrEntrCd).value;
245                form.createHiddenField(enprInfo.formObj, "cenrEntrCd", cenrEntrCdVal);
246            }
247            
248			//팝업 오픈 후 입력란에 focus 설정
249			pbk.extJS.popup.event.show = function(){
250				Form.focusFirstElement('searchEnterpriseForm');
251			};
252			
253            pbk.extJS.popup.open(opb.base.APPLICATION_CONTEXT_ROOT + url.popup, prdctDv, 480, null, enprInfo.formObj);
254        },
255		
256		
257        /**
258         * 판구매업체 결과페이지를 연다
259         */
260        submitPop : function(formObj){
261			
262			 //벤더가맹점 검색 시 기업명 필수임..
263            if( prdctDv == pbk.b2bConst.pcard_vender ){
264                if (!new hana.JText('기업명', $("custNm")).filter().validate()) {
265                    return;
266                }
267            }
268            //구매카드 협력업체 및 중심업체 검색 시 기업명 필수 아님 ( 있어도 되고 없어도 되고 )
269            else if( prdctDv == pbk.b2bConst.pcard_main || prdctDv == pbk.b2bConst.pcard_join ){
270                if (!new hana.JText('기업명', $("custNm")).nullable().filter().validate()) {
271                    return;
272                }
273            }
274            //매담대 중심업체 검색 시 벤더가맹점 검색 시 기업명 필수임..
275            else if( prdctDv == pbk.b2bConst.cloan_main || prdctDv == pbk.b2bConst.pcard_vender ){
276                if (!new hana.JText('기업명', $("custNm")).nullable().filter().validate()) {
277                    return;
278                }
279
280                if (!new hana.JText('사업자번호', $('rsbzRegNo')).nullable().isBizNo().val
280idate()) {
281                    return;
282                }
283
284                var custNm = $F("custNm").trim();
285                var rsbzRegNo = $F("rsbzRegNo").trim();
286
287                if( !custNm && !rsbzRegNo ){
288                    message.alert('입력오류','기업명 또는 사업자번호 둘 중 하나는 필수로 입력 해주셔야 합니다.');
289                    return;
290                }
291            }
292			//그 이외의 협력업체 검색
293			 else{
294                if (!new hana.JText('기업명', $("custNm")).nullable().filter().validate()) {
295                    return;
296                }
297
298                if (!new hana.JText('사업자번호', $('rsbzRegNo')).nullable().isBizNo().validate()) {
299                    return;
300                }
301            }
302
303            var hanaAjax = new hana.JHanaAjax(popupDetailDiv, true, true);
304            hanaAjax.ajaxCommSubmit(opb.base.APPLICATION_CONTEXT_ROOT + url.list, formObj );
305        },
306        
307        /**
308         * 판구매업체 결과페이지를 연다
309         */
310        submitPop2 : function(formObj){
311// 
312                if (!new hana.JText('기업명', $("custNm")).nullable().filter().validate()) {
313                    return;
314                }
315
316                if (!new hana.JText('사업자번호', $('rsbzRegNo')).nullable().isBizNo().validate()) {
317                    return;
318                }
319
320                var custNm = $F("custNm").trim();
321                var rsbzRegNo = $F("rsbzRegNo").trim();
322
323                if( !custNm && !rsbzRegNo ){
324                    message.alert('입력오류','기업명 또는 사업자번호 둘 중 하나는 필수로 입력 해주셔야 합닌다.');
325                    return;
326                }
327               
328            
329            var hanaAjax = new hana.JHanaAjax(popupDetailDiv, true, true);
330            hanaAjax.ajaxCommSubmit(opb.base.APPLICATION_CONTEXT_ROOT + url.list, formObj );
331        },
332        
333        /**
334         * 판구매업체 검색창을 닫는다.
335         */
336        closePop : function(){
337            pbk.extJS.popup.close(prdctDv);
338        },
339
340		
341        /**
342         * 판구매업체 검색 내용을 설정한다.
343         * @param {String} checknm 구매업체명 + 사업자등록번호 + 구매업체코드
344         */
345        setInfo : function(checkObj) {
346            
347            if (checkObj) {
348                // checkStr을 parse 하고 obj 에 지정해줍니다.
349                this.parse(checkObj);
350
351                this.closePop();
352            }else{
353                message.alert("에러","업체를 선택해 주세요");
354            }
355        },
356		
357		/**
358         * 체크된 Object 에서 설정 된 enprInfo에 property 를 가져와서 값을 내려줍니다.
359         */
360        parse : function(checkObj){
361
362                for (var property in enprInfo) {
363                    var objId = enprInfo[property];
364                    if (objId) {
365                        var checkPropery = checkObj.getAttribute(property);
366                        if (checkPropery) {
367                            document.getElementById(objId).value = checkPropery;
368                            enprInfo[property] = checkPropery;
369                        }
370                    }
371                }            
372        	},
373			
374        setContract: function(selObj) {
375            var selOptionVal = selObj.options[selObj.selectedIndex].value;
376            if(selOptionVal){
377                var ar = selOptionVal.split('|');
378
379                $('cenrEntrCd').value = ar[0];
380                
381                var formObj = form.createForm([
382                    {id:'cenrEntrCd',value:ar[0]},
383                    {id:'cmtmPrdKindCd',value:ar[1]},
384                    {id:'selEntrCd',value:selOptionVal}
385                ]);
386
387                var hanaAjax = new hana.JHanaAjax("selEntrCdArea", true, false);
388                hanaAjax.ajaxCommSubmit(opb.base.APPLICATION_CONTEXT_ROOT + "/b2b/buy/credit/cloan/wpb2b495_51t.do", formObj);
389
390            }else{
391                $('cenrEntrCd').value = "";
392                $('cmtmPrdKindCd').value = "";
393                
394                if($('cmtmPrdKindCdShow'))
395                    $('cmtmPrdKindCdShow').value = "";
396            }
397        }
398    };
399}();
400
401
402/**
403 * 지급점지로번호검색 팝업
404 */
405pbk.common.popup.findGiroNum = function(){
406    var popupId = "giroNumPopup";
407
408    var giriNumObj = null;
409
410    return{
411        /**
412         * 지급점지로번호검색 팝업 열기
413         * @param bizNumId 사업자 번호 
414         */
415        openPop : function(bizNumId, giroNumId){
416            var bizNumObj = document.getElementById(bizNumId);
417            giriNumObj = document.getElementById(giroNumId);
418
419            if(!new hana.JNumber("검색 사업자번호", bizNumObj).limitLength(10,10).val
419idate()){
420                return;
421            }
422
423            var formObj = form.createForm([{id:"contEntrBzRegNo1", value:bizNumObj.value},
424                                           {id:"contEntrBzRegNo2", value:bizNumObj.value}
425                                          ]);
426
427            pbk.extJS.popup.open(opb.base.APPLICATION_CONTEXT_ROOT + "/b2b/common/popup/gironum_inquiry_pop.do", popupId, 650, null, formObj);
428        },
429
430        /**
431         * 지급점지로번호검색 검색창을 닫는다.
432         */
433        closePop : function(){
434            pbk.extJS.popup.close(popupId);
435        },
436
437        /**
438         * 지급점지로번호검색 검색 내용을 설정한다.
439         * @param {String} checkStr 지로번호?
440         */
441        setInfo : function(checkStr) {
442            if (null != checkStr && "" != checkStr) {
443
444                giriNumObj.value = checkStr;
445
446                this.closePop();
447            }else{
448                message.alert("에러","지급점을 선택해 주세요");
449            }
450        }
451    };
452}();
453

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.