require(['config'], function() { require([ ], function($) { mobPageObj.init(); }); }); /*API URL*/ const API_MOBILE_GRID_LIST = '/api/dspt/mng/detail-grid-list'; // 목록 const API_MOBILE_INFO = '/api/dspt/mng/info-dspt'; // 상세 const API_MOBILE_DSPT_REQ = '/api/dspt/mng/request-dspt'; // 신규/승인 const API_MOBILE_DSPT_REJ = '/api/dspt/mng/remove-dspt'; // 삭제/반려 const API_MOBILE_APPROVE = '/api/dspt/mng/approve-dspt'; // 승인 const API_MOBILE_REJECT = '/api/dspt/mng/reject-dspt'; // 반려 const API_POP_SEARCH_LIST = '/api/store/pop-grid-list'; const PAGE_MODE_LIST = "LIST"; const PAGE_MODE_VIEW = "VIEW"; let mobPageObj = { viewMode: PAGE_MODE_LIST, init: function () { this.ui.init(); this.event.init(); this.ready(); }, ui: { init: function () { this.view(); this.info(); }, view: function() { // 공통코드 표시 $('select').each(function() { if($(this).data('select-code')) { fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id')); } }); // 조회일자 지정 $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH_FROM_DT').val(itp_fn_date_add('M', -1)); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH_TO_DT').val(itp_fn_date_add('M', 0)); console.log(fn_make_user_info.get('authTpCd')); if(fn_make_user_info.get('authTpCd') === '50') { $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_NM').val(fn_make_user_info.get('storeNm')); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_NM').attr('readonly', true); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_BTN_MLOANMNG02010_LIST_SEARCH_RTN_PLACE').attr('disabled', true); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_BTN_MLOANMNG02010_LIST_DELETE_RTN_PLACE').attr('disabled', true); } }, info: function() { $('input:hidden[id$="_BRAND_ID"]').val(fn_make_user_info.get('brandId')); $('input:hidden[id$="_STORE_ID"]').val(fn_make_user_info.get('storeId')); } }, event: { init: function() { this.button(); }, button: function() { $('button[id^="ITP_BTN_MLOANMNG02010_LIST"]').on('click', function() { var id = $(this).attr('id'); switch (id) { case 'ITP_BTN_MLOANMNG02010_LIST_SEARCH_RTN_PLACE' : mobPopObj.popStoreNm.init(); break; case 'ITP_BTN_MLOANMNG02010_LIST_DELETE_RTN_PLACE' : mobPopObj.popStoreNm.delete(); break; case 'ITP_BTN_MLOANMNG02010_LIST_ADD' : mobContentObj.list.add(); break; case 'ITP_BTN_MLOANMNG02010_LIST_SEARCH' : mobContentObj.list.search(); break; } return false; }); $('button[id^="ITP_BTN_MLOANMNG02010_VIEW"]').on('click', function() { var id = $(this).attr('id'); switch (id) { case 'ITP_BTN_MLOANMNG02010_VIEW_SEARCH' : mobContentObj.view.history.search(); break; case 'ITP_BTN_MLOANMNG02010_VIEW_CANCEL_LIST' : mobContentObj.view.cancel(); break; } return false; }); $(document).on('click', '#ITP_LIST_MLOANMNG02010_LIST_ITEM_ROWS li', function(e) { var index = $(this).index(); if($(e.target).hasClass('AGR')) { mobContentObj.list.agree(index); } else if($(e.target).hasClass('RJT')) { mobContentObj.list.reject(index); } else { // var item = mobContentObj.list.rows[index]; // mobContentObj.view.init(item); } }); $(document).on('click', '#ITP_LIST_MLOANMNG02010_POP_STORE_ROWS li button', function() { mobPopObj.popWhsNm.choice($(this)); }); } }, switchScreen: function(mode) { $('#ITP_MOBILE_MLOANMNG02010').find('div[id$="_CONTAINER"]').each(function(i) { $(this).hide(); }); if(mode === PAGE_MODE_LIST) { $('#ITP_AJAX_MLOANMNG02010_LIST_CONTAINER').show(); this.moreView(true); } else if(mode === PAGE_MODE_VIEW) { $('#ITP_AJAX_MLOANMNG02010_VIEW_CONTAINER').show(); this.moreView(false); } this.viewMode = mode; }, moreView: function(isScroll) { var _this = this; if(isScroll) { $('#ITP_LIST_MLOANMNG02010_LIST_ITEM_AREA').on('scroll', function () { if($(this).scrollTop() + $(this).innerHeight() + 1 >= $(this)[0].scrollHeight) { if(mobContentObj.list.totPage > mobContentObj.list.listPage) { if(!mobContentObj.list.isSearch) { mobContentObj.list.load(); } } } }); } else { $('#ITP_LIST_MLOANMNG02010_LIST_AREA').off('scroll'); } }, ready: function() { mobContentObj.list.init(); } }; let mobContentObj = { list: { listSize: 10, listPage: 0, totPage: 0, isSearch: false, rows: [], init: function() { mobPageObj.switchScreen(PAGE_MODE_LIST); this.search(); }, search: function() { this.listPage = 0; this.totPage = 0; this.rows.length = 0; $('#ITP_LIST_MLOANMNG02010_LIST_ITEM_ROWS').empty(); this.load(); }, load: function() { var _this = this; this.isSearch = true; var callbackFn = function(result) { console.log(result); _this.isSearch = false; _this.totPage = result.gridTotal; $.each(result.gridRows, function (i, item) { $('#ITP_LIST_MLOANMNG02010_LIST_ITEM_AREA .panel-group').append($('#ITP_LIST_MLOANMNG02010_LIST_ITEM_ROWCOPY').html()); var $li = $('#ITP_LIST_MLOANMNG02010_LIST_ITEM_AREA .panel-group > .list-row:last'); $li.find('.fnStoreNm').text(item.storeNm); $li.find('.fnDpstDt').text(item.dpstDt); $li.find('.fnDpstAmt').text(CommonObj.currency.add(item.dpstAmt)); $li.find('.fnDpstNm').text(item.dpstNm); $li.find('.fnRcvAcctNo').text(item.rcvAcctNo); $li.find('.fnDpstBnkNm').text(item.dpstBnkNm); $li.find('.fnDpstStNm').text(item.dpstStNm); var dpstDt = ''; if(item.dpstStCd === 'DP01') { dpstDt = item.reqDt; if(fn_make_user_info.get('authTpCd') === '40') { $li.find('.btn-dpst').show(); } } else if(item.dpstStCd === 'DP02') { dpstDt = item.dpstDt; } else if(item.dpstStCd === 'DP03') { dpstDt = item.dsptRjctDt; } else if(item.dpstStCd === 'DP04') { dpstDt = item.dpstAuthDt; } $li.find('.fnDpstDt').text(dpstDt); _this.rows.push(item); }); }; var errFn = function() { _this.isSearch = false;}; const param = $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH').serializeObject(); param.gridPage = ++this.listPage; param.gridSize = this.listSize param.fromDt = CommonObj.onlyNumber(param.fromDt); param.toDt = CommonObj.onlyNumber(param.toDt); console.log(JSON.stringify(param)); fn_ajax_call(API_MOBILE_GRID_LIST, JSON.stringify(param), callbackFn, 'POST', errFn); }, add: function() { var storeId = $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_ID').val(); if(storeId.length < 1) { alert('신규입금 처리를 위한 매장을 선택하세요.'); return; } mobPopObj.popDpstReq.init(); }, agree: function(index) { var item = this.rows[index]; console.log(item); if(item.dpstStCd !== 'DP01') { alert('입금요청 건만 승인처리를 할 수 있습니다.'); return; } if(confirm(ITP_MSG_LOCALE.message.form.procData)) { var param = {"dsptMgntNoList": [item.dsptMgntNo]}; fn_ajax_call(API_MOBILE_APPROVE, JSON.stringify(param), function() { mobContentObj.list.search(); }, 'POST'); } }, reject: function(index) { var item = this.rows[index]; console.log(item); if(item.dpstStCd !== 'DP01') { alert('입금요청 건만 반려처리를 할 수 있습니다.'); return; } mobPopObj.popDpstRjct.init(item.dsptMgntNo); } }, view: { init: function(item) { mobPageObj.switchScreen(PAGE_MODE_VIEW); this.search(item); }, search: function(item) { var _this = this; var callbackFn = function(result) { console.log(result); _this.view(result); }; const param = { 'brandId': fn_make_user_info.get('brandId'), 'spplyId': fn_make_user_info.get('spplyId'), 'loanMgntUnqNo': item.loanMgntUnqNo }; fn_ajax_call(API_MOBILE_INFO, param, callbackFn, 'GET'); }, view: function(result) { var _this = this; var id = '#ITP_AJAX_MLOANMNG02010_VIEW_CONTAINER'; $(id).find('.fnStoreNm').text(result.storeNm); $(id).find('.fnLoanDvsnNm').text(result.loanDvsnNm); var limitAmt; if(result.loanDvsn == 'LD01') { // 선불(충전) limitAmt = result.chrgeLimitAmt; } else if(result.loanDvsn == 'LD02') { // 후불(신용) limitAmt = result.credtLimitAmt; } $(id).find('.fnLimitAmt').text(CommonObj.currency.add(limitAmt)); $(id).find('.fnUseYnNm').text(result.useYnNm); $(id).find('.fnPosbLimitAmt').text(CommonObj.currency.add(limitAmt - result.useAmtTotal)); $(id).find('.fnTmpRcvAcctTotal').text(CommonObj.currency.add(result.tmpRcvAcctTotal)); $(id).find('.fnUseAmtTotal').text(CommonObj.currency.add(result.useAmtTotal)); _this.history.init(result.loanMgntUnqNo); }, history: { rows: [], init: function(loanMgntUnqNo) { // 조회일자 지정 $('#ITP_FORM_MLOANMNG02010_VIEW_SEARCH_FROM_DT').val(itp_fn_date_add('M', -1)); $('#ITP_FORM_MLOANMNG02010_VIEW_SEARCH_TO_DT').val(itp_fn_date_add('M', 0)); this.loanMgntUnqNo = loanMgntUnqNo; this.search(); }, search: function() { this.listPage = 0; this.totPage = 0; this.rows.length = 0; $('#ITP_LIST_MLOANMNG02010_LIST_ITEM_ROWS').empty(); this.load(); }, load: function() { var _this = this; this.isSearch = true; var callbackFn = function(result) { console.log(result); _this.isSearch = false; _this.totPage = result.gridTotal; $.each(result.gridRows, function (i, item) { $('#ITP_LIST_MLOANMNG02010_VIEW_ITEM_AREA .panel-group').append($('#ITP_LIST_MLOANMNG02010_VIEW_ITEM_ROWCOPY').html()); var $li = $('#ITP_LIST_MLOANMNG02010_VIEW_ITEM_AREA .panel-group > .list-row:last'); $li.find('.fnLoanRegDt').text(item.loanRegDt); $li.find('.fnDpstPayDvsnNm').text(item.dpstPayDvsnNm); $li.find('.fnDstpAmt').text(item.dstpAmt); $li.find('.fnTrscAfBal').text(item.trscAfBal); $li.find('.fnUse').text(item.use); _this.rows.push(item); }); }; var errFn = function() { _this.isSearch = false;}; const param = $('#ITP_FORM_MLOANMNG02010_VIEW_SEARCH').serializeObject(); param.gridPage = ++this.listPage; param.gridSize = this.listSize; param.sloanMgntUnqNo = _this.loanMgntUnqNo; param.fromDt = CommonObj.onlyNumber(param.fromDt); param.toDt = CommonObj.onlyNumber(param.toDt); console.log(JSON.stringify(param)); fn_ajax_call(API_MOBILE_HISTORY, JSON.stringify(param), callbackFn, 'POST', errFn); } }, cancel: function () { var id = '#ITP_AJAX_MLOANMNG02010_VIEW_CONTAINER'; $(id).find('.fnItemid').text(''); $(id).find('.fnItemNm').text(''); $(id).find('.fnUPodrQty').text(''); $(id).find('.fnUnitAmt').text(''); $(id).find('.fnUnit').text(''); $(id).find('.fnPodrQty').text(''); $(id).find('.fnPodrAmt').text(''); $(id).find('.fnDlvReqDt').text(''); $('#ITP_LIST_MLOANMNG02010_VIEW_ITEM_AREA .panel-group').empty(); mobPageObj.switchScreen(PAGE_MODE_LIST); } } }; let mobPopObj = { popStoreNm: { popId: 'ITP_POP_MLOANMNG02010_STORE_AREA', rows: [], init: function () { this.rows.length = 0; mobPopObj.show(this.popId); this.search(); this.action(); }, search: function () { var _this = this; $('#ITP_LIST_MLOANMNG02010_POP_STORE_AREA .panel-group').empty(); var callbackFn = function(result) { console.log(result); _this.view(result.gridRows); }; const param = $('#ITP_FORM_MLOANMNG02010_POP_STORE').serializeObject(); fn_ajax_call(API_POP_SEARCH_LIST, JSON.stringify(param), callbackFn, 'POST'); }, view: function(gridRows) { this.rows = gridRows; $.each(gridRows, function (i, item) { $('#ITP_LIST_MLOANMNG02010_POP_STORE_AREA .panel-group').append($('#ITP_LIST_MLOANMNG02010_POP_STORE_ROWCOPY').html()); var $li = $('#ITP_LIST_MLOANMNG02010_POP_STORE_AREA .panel-group > .list-row:last'); $li.find('.fnStoreNm').text(item.storeNm); $li.find('.fnStoreStNm').text(item.storeStNm); $li.find('.fnStoreId').data('store-id', item.storeId); }); }, choice: function(elem) { var _this = this; var storeId = $(elem).data('store-id'); $.each(this.rows, function (i, item) { if(storeId === item.storeId) { $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_ID').val(item.storeId); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_NM').val(item.storeNm); _this.close(); return false; } }); }, action: function() { var _this = this; $('button[id^="ITP_BTN_MLOANMNG02010_POP_STORE"]').off('click').on('click', function() { var id = $(this).attr('id'); switch (id) { case 'ITP_BTN_MLOANMNG02010_POP_STORE_SEARCH' : _this.search(); break; case 'ITP_BTN_MLOANMNG02010_POP_STORE_CHOICE' : _this.choice($(this)); break; case 'ITP_BTN_MLOANMNG02010_POP_STORE_CLOSE' : _this.close(); break; } return false; }); }, delete: function() { $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_ID').val(''); $('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_NM').val(''); }, close: function() { this.rows.length = 0; $('#ITP_POP_MLOANMNG02010_LIST_WHS_AREA .panel-group').empty(); $('#ITP_FORM_MLOANMNG02010_POP_STORE #ITP_FORM_MLOANMNG02010_POP_STORE_KEYWORD').val(''); mobPopObj.hide(this.popId); } }, popDpstReq: { popId: 'ITP_POP_MLOANMNG02010_DPST_REQ_AREA', init: function() { this.reset(); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_BRAND_NM').val(fn_make_user_info.get('brandNm')); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_POP_FORM_MLOANMNG02010_DPST_REQ_STORE_ID').val($('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_ID').val()); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_STORE_NM').val($('#ITP_FORM_MLOANMNG02010_LIST_SEARCH #ITP_FORM_MLOANMNG02010_LIST_SEARCH_STORE_NM').val()); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_DT').val(itp_fn_date_add('M', 0)); mobPopObj.show(this.popId); this.action(); }, action: function() { var _this = this; $('button[id="ITP_BTN_MLOANMNG02010_POP_DPST_ADD"]').off('click').on('click', function() { _this.save(); }); $('button[id="ITP_BTN_MLOANMNG02010_POP_DPST_CANCEL"]').off('click').on('click', function() { _this.cancel(); }); }, save: function() { var _this = this; const formId = '#ITP_POP_FORM_MLOANMNG02010_DPST_REQ'; if (itp_fn_form_event.isValid(formId)) { if(confirm(ITP_MSG_LOCALE.message.form.procData)) { var saveFn = function() { _this.cancel(); mobContentObj.list.search(); }; var param = $(formId).serializeObject(); param.dpstDt = param.dpstDt.replace(/-/g, "."); console.log(JSON.stringify(param)); fn_ajax_call(API_MOBILE_DSPT_REQ, JSON.stringify(param), saveFn, 'POST'); } } }, reset: function() { itp_fn_form_clear_validate(null, '#ITP_POP_FORM_MLOANMNG02010_DPST_REQ'); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_STORE_ID').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_BRAND_NM').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_STORE_NM').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_AMT').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_DT').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_NM').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_BNK').val(''); $('#ITP_POP_FORM_MLOANMNG02010_DPST_REQ #ITP_FORM_MLOANMNG02010_POP_DPST_ACCT_NO').val(''); }, cancel: function() { mobPopObj.hide(this.popId); } }, popDpstRjct: { popId: 'ITP_POP_MLOANMNG02010_DPST_RJCT_AREA', init: function(dsptMgntNo) { this.reset(); this.action(); this.dsptMgntNo = dsptMgntNo; mobPopObj.show(this.popId); }, action: function() { var _this = this; $('button[id="ITP_BTN_MLOANMNG02010_POP_DPST_RJCT"]').off('click').on('click', function() { _this.save(); }); }, save: function() { var _this = this; var reason = $('#ITP_POP_FORM_MLOANMNG02010_DPST_RJCT #ITP_POP_FORM_MLOANMNG02010_DPST_RJCT_REASON').val(); if(reason.length < 1) { alert('반려 사유를 입력해 주세요.'); return; } if(confirm(ITP_MSG_LOCALE.message.form.procData)) { var saveFn = function() { _this.cancel(); mobContentObj.list.search(); }; var param = {'dsptMgntNoList': [_this.dsptMgntNo], 'dsptRjctRsn': reason}; fn_ajax_call(API_MOBILE_REJECT, JSON.stringify(param), saveFn, 'POST'); } }, reset: function() { itp_fn_form_clear_validate(null, '#ITP_POP_FORM_MLOANMNG02010_DPST_RJCT'); $('#ITP_POP_FORM_MLOANMNG02010_DPST_RJCT #ITP_POP_FORM_MLOANMNG02010_DPST_RJCT_REASON').val(''); }, cancel: function() { mobPopObj.hide(this.popId); } }, show: function(popId) { $('button[id$="_CLOSE"]').off('click').on('click', function() { console.log($(this).attr('id')); if($(this).hasClass('btn-pop-close')) { mobPopObj.hide(popId); } }); $('#' + popId).show(); }, hide: function(popId) { $('#' + popId).closest('.mobile-pop-close').hide(); } };