123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427 |
- require(['config'], function() {
- require([
- ], function($) {
- mobPageObj.init();
- });
- });
- /*API URL*/
- const API_MOBILE_GRID_LIST = '/api/stock/mng/detail-grid-list'; // 목록
- const API_MOBILE_INFO = '/api/stock/mng/info-stock'; // 상세
- const API_MOBILE_SAVE = '/api/stock/mng/proc-stock'; // 저장
- const API_MOBILE_HISTORY = '/api/stock/mng/hist-grid-list'; // 이력
- const API_MOBILE_WHS_GRID_LIST = '/api/whs/mng/detail-grid-list';
- const API_MOBILE_LOCATION_LIST = '/api/whs/mng/location-grid-list';
- 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() {
- },
- 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.action();
- },
- action: function() {
- $('button[id^="ITP_BTN_MSTOCKMNG01010_LIST"]').on('click', function() {
- var id = $(this).attr('id');
- switch (id) {
- case 'ITP_BTN_MSTOCKMNG01010_LIST_SEARCH_WHS_NM' : mobPopObj.popWhsNm.init(); break;
- case 'ITP_BTN_MSTOCKMNG01010_LIST_DETELE_WHS_NM' : mobPopObj.popWhsNm.delete(); break;
- case 'ITP_BTN_MSTOCKMNG01010_LIST_SEARCH' : mobContentObj.list.search(); break;
- case 'ITP_BTN_MSTOCKMNG01010_LIST_ADD_STCK' : mobContentObj.list.procStck(); break;
- }
- return false;
- });
- $('button[id^="ITP_BTN_MSTOCKMNG01010_VIEW"]').on('click', function() {
- var id = $(this).attr('id');
- switch (id) {
- case 'ITP_BTN_MSTOCKMNG01010_VIEW_SEARCH' : mobContentObj.view.history.search(); break;
- case 'ITP_BTN_MSTOCKMNG01010_VIEW_CANCEL_LIST' : mobContentObj.view.cancel(); break;
- }
- return false;
- });
- $('select[id="ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM"]').on('change', function() {
- mobContentObj.list.locationList();
- });
- $(document).on('click', '#ITP_LIST_MSTOCKMNG01010_LIST_ITEM_ROWS li', function() {
- var item = mobContentObj.list.rows[$(this).index()];
- mobContentObj.list.choice(item);
- });
- $(document).on('click', '#ITP_LIST_MSTOCKMNG01010_POP_WHS_ROWS li button', function() {
- mobPopObj.popWhsNm.choice($(this));
- });
- }
- },
- switchScreen: function(mode) {
- $('#ITP_MOBILE_MSTOCKMNG01010').find('div[id$="_CONTAINER"]').each(function(i) {
- $(this).hide();
- });
- if(mode === PAGE_MODE_LIST) {
- $('#ITP_AJAX_MSTOCKMNG01010_LIST_CONTAINER').show();
- this.moreView(true);
- } else if(mode === PAGE_MODE_VIEW) {
- $('#ITP_AJAX_MSTOCKMNG01010_VIEW_CONTAINER').show();
- this.moreView(false);
- }
- this.viewMode = mode;
- },
- moreView: function(isScroll) {
- var _this = this;
- if(isScroll) {
- $('#ITP_LIST_MSTOCKMNG01010_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_MSTOCKMNG01010_LIST_AREA').off('scroll');
- }
- },
- ready: function() {
- mobContentObj.list.init();
- }
- };
- let mobContentObj = {
- list: {
- listSize: 10,
- listPage: 0,
- totPage: 0,
- isSearch: false,
- rows: [],
- item: null,
- init: function() {
- mobPageObj.switchScreen(PAGE_MODE_LIST);
- // this.search();
- this.whsList();
- },
- search: function() {
- this.listPage = 0;
- this.totPage = 0;
- this.rows.length = 0;
- $('#ITP_LIST_MSTOCKMNG01010_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_MSTOCKMNG01010_LIST_ITEM_AREA .panel-group').append($('#ITP_LIST_MSTOCKMNG01010_LIST_ITEM_ROWCOPY').html());
- var $li = $('#ITP_LIST_MSTOCKMNG01010_LIST_ITEM_AREA .panel-group > .list-row:last');
- $li.find('.fnWhsId').text(item.whsId);
- $li.find('.fnWhsNm').text(item.whsNm);
- $li.find('.fnItemId').text(item.itemId);
- $li.find('.fnItemNm').text(item.itemNm);
- $li.find('.fnUnit').text(item.unit);
- $li.find('.fnUnitQty').text(item.unitQty);
- $li.find('.fnStckQty').text(item.stckQty);
- $li.find('.fnPrpStckQty').text(item.prpStckQty);
- $li.find('.fnSftStckRt').text(item.sftStckRt);
- $li.find('.fnLocationNm').text(item.locationNm);
- _this.rows.push(item);
- });
- };
- var errFn = function() { _this.isSearch = false;};
- const param = $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH').serializeObject();
- param.gridPage = ++this.listPage;
- param.gridSize = this.listSize;
- param.pagingYn = true;
- console.log(JSON.stringify(param));
- fn_ajax_call(API_MOBILE_GRID_LIST, JSON.stringify(param), callbackFn, 'POST', errFn);
- },
- whsList: function() {
- const brandIdVal = $('#ITP_FORM_MLOANMNG01010_LIST_SEARCH_BRAND_ID').val();
- const storeIdVal = $('#ITP_FORM_MLOANMNG01010_LIST_SEARCH_STORE_ID').val();
- const param = {sbrandId: brandIdVal, sstoreId: storeIdVal, pagingYn: false};
- fn_ajax_call(API_MOBILE_WHS_GRID_LIST, JSON.stringify(param), function(result) {
- fn_make_select_whs(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM');
- fn_make_select_whs(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_POP_WHS_NM');
- if(result.gridRecords > 0) {
- $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM').trigger('change');
- }
- }, 'POST');
- },
- locationList: function() {
- var _this = this;
- const brandIdVal = $('#ITP_FORM_MLOANMNG01010_LIST_SEARCH_BRAND_ID').val();
- const storeIdVal = $('#ITP_FORM_MLOANMNG01010_LIST_SEARCH_STORE_ID').val();
- const whsIdVal = $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM').val();
- const param = {brandId: brandIdVal, storeId: storeIdVal, whsId: whsIdVal, pagingYn: false};
- fn_ajax_call(API_MOBILE_LOCATION_LIST, JSON.stringify(param), function(result) {
- fn_make_select_location(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_LOCATION');
- // fn_make_select_location(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_POP_LOCATION');
- if(result.gridRecords > 0) {
- _this.search();
- }
- }, 'POST');
- },
- choice: function(item) {
- this.item = item;
- },
- procStck: function() {
- if(!this.item) {
- alert(ITP_MSG_LOCALE.message.ajax.noData);
- return;
- }
- mobPopObj.popProcStck.init(this.item);
- }
- },
- 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_MSTOCKMNG01010_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);
- },
- cancel: function () {
- var id = '#ITP_AJAX_MSTOCKMNG01010_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_MSTOCKMNG01010_VIEW_ITEM_AREA .panel-group').empty();
- mobPageObj.switchScreen(PAGE_MODE_LIST);
- }
- }
- };
- let mobPopObj = {
- popWhsNm: {
- popId: 'ITP_POP_MSTOCKMNG01010_WHS_AREA',
- rows: [],
- init: function () {
- this.rows.length = 0;
- mobPopObj.show(this.popId);
- this.search();
- this.action();
- },
- search: function () {
- var _this = this;
- $('#ITP_LIST_MSTOCKMNG01010_POP_WHS_AREA .panel-group').empty();
- var callbackFn = function(result) {
- console.log(result);
- _this.view(result.gridRows);
- };
- const param = $('#ITP_FORM_MSTOCKMNG01010_POP_WHS').serializeObject();
- console.log(JSON.stringify(param));
- 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_MSTOCKMNG01010_POP_WHS_AREA .panel-group').append($('#ITP_LIST_MSTOCKMNG01010_POP_WHS_ROWCOPY').html());
- var $li = $('#ITP_LIST_MSTOCKMNG01010_POP_WHS_AREA .panel-group > .list-row:last');
- $li.find('.fnWhsNm').text(item.whsNm);
- $li.find('.fnLocationNm').text(item.locationNm);
- $li.find('.fnWhsId').data('whs-id', item.whsId);
- });
- },
- choice: function(elem) {
- var _this = this;
- var whsId = $(elem).data('whs-id');
- $.each(this.rows, function (i, item) {
- if(whsId === item.whsId) {
- $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH #ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_ID').val(item.whsId);
- $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH #ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM').val(item.whsNm);
- _this.close();
- _this.location(item.whsId);
- return false;
- }
- });
- },
- location: function(whsId) {
- var callbackFn = function(result) {
- fn_make_select_location(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_LOCATION');
- };
- var param = {
- 'brandId': fn_make_user_info.get('brandId'),
- 'storeId': fn_make_user_info.get('storeId'),
- 'whsId': whsId
- };
- fn_ajax_call(API_MOBILE_LOCATION, JSON.stringify(param), callbackFn, 'POST');
- },
- action: function() {
- var _this = this;
- $('button[id^="ITP_BTN_MSTOCKMNG01010_POP_WHS"]').off('click').on('click', function() {
- var id = $(this).attr('id');
- switch (id) {
- case 'ITP_BTN_MSTOCKMNG01010_POP_WHS_SEARCH' : _this.search(); break;
- case 'ITP_BTN_MSTOCKMNG01010_POP_WHS_CHOICE' : _this.choice($(this)); break;
- case 'ITP_BTN_MSTOCKMNG01010_POP_WHS_CLOSE' : _this.close(); break;
- }
- return false;
- });
- },
- delete: function() {
- $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH #ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_ID').val('');
- $('#ITP_FORM_MSTOCKMNG01010_LIST_SEARCH #ITP_FORM_MSTOCKMNG01010_LIST_SEARCH_WHS_NM').val('');
- },
- close: function() {
- this.rows.length = 0;
- $('#ITP_POP_MSTOCKMNG01010_LIST_WHS_AREA .panel-group').empty();
- $('#ITP_FORM_MSTOCKMNG01010_POP_WHS #ITP_FORM_MSTOCKMNG01010_POP_WHS_KEYWORD').val('');
- mobPopObj.hide(this.popId);
- }
- },
- popProcStck: {
- item: null,
- popId: 'ITP_POP_MSTOCKMNG01010_ITEM_AREA',
- init: function(item) {
- this.item = item;
- this.reset();
- this.action();
- this.view();
- mobPopObj.show(this.popId);
- },
- view: function() {
- console.log(this.item);
- var id = '#' + this.popId;
- $(id).find('.fnWhsNm').text(this.item.whsNm);
- $(id).find('.fnLocation').text(this.item.locationNm);
- $(id).find('.fnItemNm').text(this.item.itemNm);
- $(id).find('.fnStckQty').text(CommonObj.currency.add(this.item.stckQty, '개'));
- $(id).find('.fnWhsNm').text(this.item.whsNm);
- $(id).find('.fnMgntLevel').text(this.item.mgntLevel);
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_BRAND_ID').val(this.item.brandId);
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_ITEM_ID').val(this.item.itemId);
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_SOURCE_LOCATION').val(this.item.location);
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_SOURCE_WHS_ID').val(this.item.whsId);
- $("#ITP_FORM_MSTOCKMNG01010_POP_WHS_NM option:eq(0)").prop("selected", true);
- $('select[id="ITP_FORM_MSTOCKMNG01010_POP_WHS_NM"]').trigger('change');
- },
- action: function() {
- var _this = this;
- $('button[id^="ITP_BTN_MSTOCKMNG01010_POP_PROC_STCK"]').off('click').on('click', function() {
- var id = $(this).attr('id');
- switch (id) {
- case 'ITP_BTN_MSTOCKMNG01010_POP_PROC_STCK_REQ' : _this.procStck(); break;
- case 'ITP_BTN_MSTOCKMNG01010_POP_PROC_STCK_CANCEL' : _this.cancel(); break;
- }
- return false;
- });
- $('select[id^="ITP_FORM_MSTOCKMNG01010_POP_WHS_NM"]').off('change').on('change', function() {
- _this.locationList();
- });
- itp_fn_form_event.onKeyup('#ITP_FORM_MSTOCKMNG01010_POP');
- },
- locationList: function(mode) {
- const brandIdVal = $('#ITP_FORM_MLOANMNG01010_POP_BRAND_ID').val();
- const storeIdVal = $('#ITP_FORM_MLOANMNG01010_POP_STORE_ID').val();
- const whsIdVal = $('#ITP_FORM_MSTOCKMNG01010_POP_WHS_NM').val();
- const param = {brandId: brandIdVal, storeId: storeIdVal, whsId: whsIdVal, pagingYn: false};
- fn_ajax_call(API_MOBILE_LOCATION_LIST, JSON.stringify(param), function(result) {
- fn_make_select_location(result.gridRows, 'ITP_FORM_MSTOCKMNG01010_POP_LOCATION');
- }, 'POST');
- },
- procStck: function() {
- var _this = this;
- var qty = $('#ITP_POP_MSTOCKMNG01010_ITEM_AREA #ITP_FORM_MSTOCKMNG01010_POP_QTY').val();
- if(qty.length < 1 || qty === '0') {
- alert('이동 수량을 입력하세요.');
- return;
- }
- if(qty > this.item.stckQty) {
- alert('재고 수량을 초과하여 입력할 수 없습니다.');
- return;
- }
- var param = $('#ITP_FORM_MSTOCKMNG01010_POP').serializeObject();
- console.log(JSON.stringify(param));
- fn_ajax_call(API_MOBILE_SAVE, JSON.stringify(param), function() {
- _this.cancel();
- mobContentObj.list.search();
- }, 'POST');
- },
- reset: function() {
- var id = '#' + this.popId;
- $(id).find('.fnWhsNm').text('');
- $(id).find('.fnLocation').text('');
- $(id).find('.fnItemNm').text('');
- $(id).find('.fnStckQty').text('');
- $(id).find('.fnWhsNm').text('');
- $(id).find('.fnMgntLevel').text('');
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_BRAND_ID').val('');
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_ITEM_ID').val('');
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_SOURCE_LOCATION').val('');
- $(id).find('#ITP_FORM_MLOANMNG01010_POP_SOURCE_WHS_ID').val('');
- },
- cancel: function() {
- mobPopObj.hide(this.popId);
- }
- },
- show: function(popId) {
- $('button[id$="_CLOSE"]').off('click').on('click', function() {
- if($(this).hasClass('btn-pop-close')) {
- mobPopObj.hide(popId);
- }
- });
- $('#' + popId).show();
- },
- hide: function(popId) {
- $('#' + popId).closest('.mobile-pop-close').hide();
- }
- };
|