ITP_MRTNMNG02010.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  1. require(['config'], function() {
  2. require([
  3. ], function($) {
  4. mobPageObj.init();
  5. });
  6. });
  7. /*API URL*/
  8. const API_MOBILE_GRID_LIST = '/api/rtnmng/detail-grid-list'; // 목록
  9. const API_MOBILE_INFO = '/api/rtnmng/info-rtnReq'; // 상세
  10. const API_MOBILE_SAVE = '/api/rtnmng/save-rtnReq'; // 저장
  11. const API_POP_SEARCH_LIST = '/api/whs/mng/pop-whs-search';
  12. const API_POP_ITEM_LIST = '/api/item/pop-grid-list';
  13. const PCH_REQ_ST_CD_TEMP_SAVE ="PR00";
  14. const PCH_REQ_ST_CD_REQUEST_SAVE ="PR20";
  15. const VIEW_MODE_LIST = "LIST";
  16. const VIEW_MODE_DETAIL = "DETAIL";
  17. const VIEW_MODE_MODIFY = "MODIFY";
  18. let mobPageObj = {
  19. viewMode: VIEW_MODE_LIST,
  20. init: function () {
  21. this.ui.init();
  22. this.event.init();
  23. this.ready();
  24. },
  25. ui: {
  26. init: function () {
  27. this.view();
  28. this.info();
  29. this.action();
  30. },
  31. view: function() {
  32. // 공통코드 표시
  33. $('select').each(function() {
  34. if($(this).data('select-code')) {
  35. fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
  36. }
  37. });
  38. // 조회일자 지정
  39. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH_FROM_DT').val(itp_fn_date_add('M', -1));
  40. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH_TO_DT').val(itp_fn_date_add('M', 0));
  41. },
  42. info: function() {
  43. $('input:hidden[id$="_BRAND_ID"]').val(fn_make_user_info.get('brandId'));
  44. $('input:hidden[id$="_STORE_ID"]').val(fn_make_user_info.get('storeId'));
  45. },
  46. action: function() {
  47. }
  48. },
  49. event: {
  50. init: function() {
  51. this.button();
  52. },
  53. button: function() {
  54. $('button[id^="ITP_BTN_MRTNMNG02010_LIST"]').on('click', function() {
  55. var id = $(this).attr('id');
  56. switch (id) {
  57. case 'ITP_BTN_MRTNMNG02010_LIST_SEARCH_WHS_NM' : mobPopObj.popWhsNm.init(VIEW_MODE_LIST); break;
  58. case 'ITP_BTN_MRTNMNG02010_LIST_DELETE_WHS_NM' : mobPopObj.popWhsNm.delete(VIEW_MODE_LIST); break;
  59. case 'ITP_BTN_MRTNMNG02010_LIST_SEARCH' : mobContentObj.list.search(); break;
  60. }
  61. return false;
  62. });
  63. $('button[id^="ITP_BTN_MRTNMNG02010_DETAIL"]').on('click', function() {
  64. var id = $(this).attr('id');
  65. switch (id) {
  66. case 'ITP_BTN_MRTNMNG02010_DETAIL_CANCEL_LIST' : mobContentObj.detail.cancel(); break;
  67. }
  68. return false;
  69. });
  70. $('button[id^="ITP_BTN_MRTNMNG02010_MODIFY"]').on('click', function() {
  71. var id = $(this).attr('id');
  72. switch (id) {
  73. case 'ITP_BTN_MRTNMNG02010_MODIFY_SEARCH_WHS_NM' : mobPopObj.popWhsNm.init(VIEW_MODE_MODIFY); break;
  74. case 'ITP_BTN_MRTNMNG02010_MODIFY_DELETE_WHS_NM' : mobPopObj.popWhsNm.delete(VIEW_MODE_MODIFY); break;
  75. case 'ITP_BTN_MRTNMNG02010_MODIFY_ADD_ROW' : mobPopObj.popItem.init(); break;
  76. case 'ITP_BTN_MRTNMNG02010_MODIFY_DEL_ROW' : mobContentObj.modify.list.detachRow(); break;
  77. case 'ITP_BTN_MRTNMNG02010_MODIFY_CANCEL' : mobContentObj.modify.cancel(); break;
  78. case 'ITP_BTN_MRTNMNG02010_MODIFY_REQ_ORDER' : mobPopObj.popReqConfirm.init(PCH_REQ_ST_CD_REQUEST_SAVE); break;
  79. case 'ITP_BTN_MRTNMNG02010_MODIFY_TEMP_SAVE' : mobPopObj.popReqConfirm.init(PCH_REQ_ST_CD_TEMP_SAVE); break;
  80. }
  81. return false;
  82. });
  83. $(document).on('click', '#ITP_LIST_MRTNMNG02010_MODIFY_ROWS li button', function() {
  84. if($(this).hasClass('DETAIL_ITEM_PLUS')) {
  85. mobContentObj.modify.list.actPlus($(this));
  86. } else if($(this).hasClass('DETAIL_ITEM_MINUS')) {
  87. mobContentObj.modify.list.actMinus($(this));
  88. }
  89. });
  90. }
  91. },
  92. switchScreen: function(mode) {
  93. $('#ITP_MOBILE_MRTNMNG02010').find('div[id$="_CONTAINER"]').each(function(i) {
  94. $(this).hide();
  95. });
  96. if(mode === VIEW_MODE_LIST) {
  97. $('#ITP_AJAX_MRTNMNG02010_LIST_CONTAINER').show();
  98. this.moreView(true);
  99. } else if(mode === VIEW_MODE_DETAIL) {
  100. $('#ITP_AJAX_MRTNMNG02010_DETAIL_CONTAINER').show();
  101. this.moreView(false);
  102. } else if(mode === VIEW_MODE_MODIFY) {
  103. $('#ITP_AJAX_MRTNMNG02010_MODIFY_CONTAINER').show();
  104. this.moreView(false);
  105. }
  106. this.viewMode = mode;
  107. },
  108. moreView: function(isScroll) {
  109. var _this = this;
  110. if(isScroll) {
  111. $('#ITP_LIST_MRTNMNG02010_LIST_AREA').on('scroll', function () {
  112. if($(this).scrollTop() + $(this).innerHeight() + 1 >= $(this)[0].scrollHeight) {
  113. if(mobContentObj.list.totPage > mobContentObj.list.listPage) {
  114. if(!mobContentObj.list.isSearch) {
  115. mobContentObj.list.load();
  116. }
  117. }
  118. }
  119. });
  120. } else {
  121. $('#ITP_LIST_MRTNMNG02010_LIST_AREA').off('scroll');
  122. }
  123. },
  124. ready: function() {
  125. mobContentObj.list.init();
  126. }
  127. };
  128. let mobContentObj = {
  129. list: {
  130. listSize: 10,
  131. listPage: 0,
  132. totPage: 0,
  133. isSearch: false,
  134. rows: [],
  135. init: function() {
  136. mobPageObj.switchScreen(VIEW_MODE_LIST);
  137. this.search();
  138. this.action();
  139. },
  140. search: function() {
  141. this.listPage = 0;
  142. this.totPage = 0;
  143. this.rows.length = 0;
  144. $('#ITP_LIST_MRTNMNG02010_LIST_ROWS').empty();
  145. this.load();
  146. },
  147. load: function() {
  148. var _this = this;
  149. this.isSearch = true;
  150. var callbackFn = function(result) {
  151. console.log(result);
  152. _this.isSearch = false;
  153. _this.totPage = result.gridTotal;
  154. $.each(result.gridRows, function (i, item) {
  155. $('#ITP_LIST_MRTNMNG02010_LIST_AREA .panel-group').append($('#ITP_LIST_MRTNMNG02010_LIST_ROWCOPY').html());
  156. var $li = $('#ITP_LIST_MRTNMNG02010_LIST_AREA .panel-group > .list-row:last');
  157. $li.find('.fnRtnReqDt').text(item.rtnReqDt);
  158. $li.find('.fnRtnReqMgrNm').text(item.rtnReqMgrNm);
  159. $li.find('.fnRtnReqStNm').text(item.rtnReqStNm);
  160. $li.find('.fnRtnWhsNm').text(item.rtnWhsNm);
  161. $li.find('.fnRtnReqItemQty').text(CommonObj.comma.set(item.rtnReqItemQty));
  162. $li.find('.fnRtnReqAmt').text(CommonObj.comma.set(item.rtnReqAmt));
  163. $li.find('.fnRtnReqRjctNm').text(item.pchReqRjctNm);
  164. _this.rows.push(item);
  165. });
  166. };
  167. var errFn = function() { _this.isSearch = false;};
  168. const param = $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH').serializeObject();
  169. param.gridPage = ++this.listPage;
  170. param.gridSize = this.listSize;
  171. param.fromDt = param.fromDt.replace(/-/g, ".");
  172. param.toDt = param.toDt.replace(/-/g, ".");
  173. fn_ajax_call(API_MOBILE_GRID_LIST, JSON.stringify(param), callbackFn, 'POST', errFn);
  174. },
  175. action: function () {
  176. var _this = this;
  177. $(document).on('click', '#ITP_LIST_MRTNMNG02010_LIST_ROWS li', function() {
  178. var index = $(this).index();
  179. var item = _this.rows[index];
  180. (item.pchReqStCd === PCH_REQ_ST_CD_TEMP_SAVE) ? mobContentObj.modify.init(item) : mobContentObj.detail.init(item);
  181. });
  182. }
  183. },
  184. detail: {
  185. rows: [],
  186. init: function(item) {
  187. mobPageObj.switchScreen(VIEW_MODE_DETAIL);
  188. this.search(item);
  189. },
  190. search: function(item) {
  191. var _this = this;
  192. var callbackFn = function(result) {
  193. console.log(result);
  194. _this.rows = result.pchReqDtlList;
  195. _this.view(result);
  196. };
  197. const param = {'brandId':fn_make_user_info.get('brandId'), 'pchReqUnqNo': item.pchReqUnqNo};
  198. fn_ajax_call(API_MOBILE_INFO, param, callbackFn, 'GET');
  199. },
  200. view: function(result) {
  201. var _this = this;
  202. var id = '#ITP_AJAX_MRTNMNG02010_DETAIL_CONTAINER';
  203. $(id).find('.fnDlvReqDt').text(result.dlvReqDt);
  204. $(id).find('.fnRtnReqTotalAmt').text(CommonObj.currency.add(result.pchReqTotalAmt));
  205. $(id).find('.fnLocationNm').text(result.locationNm);
  206. $(id).find('.fnRtnApprNm').text('(' + result.pchApprNm + ')' + CommonObj.currency.add(result.pchApprAmt));
  207. $.each(result.pchReqDtlList, function (i, item) {
  208. $('#ITP_LIST_MRTNMNG02010_DETAIL_AREA .panel-group').append($('#ITP_LIST_MRTNMNG02010_DETAIL_ROWCOPY').html());
  209. var $li = $('#ITP_LIST_MRTNMNG02010_DETAIL_AREA .panel-group > .list-row:last');
  210. $li.find('.fnItemNm').text(item.itemNm);
  211. $li.find('.fnUnit').text(item.pchReqQty + item.unit);
  212. $li.find('.fnRtnReqAmt').text(CommonObj.comma.set(item.pchReqAmt));
  213. $li.find('.fnRtnReqQty').text(CommonObj.currency.add(item.pchReqQty, ''));
  214. _this.rows.push(item);
  215. });
  216. },
  217. cancel: function () {
  218. this.rows.length = 0;
  219. var id = '#ITP_AJAX_MRTNMNG02010_DETAIL_CONTAINER';
  220. $(id).find('.fnDlvReqDt').text('');
  221. $(id).find('.fnRtnReqTotalAmt').text('');
  222. $(id).find('.fnLocationNm').text('');
  223. $(id).find('.fnRtnApprNm').text('');
  224. $('#ITP_LIST_MRTNMNG02010_DETAIL_AREA .panel-group').empty();
  225. mobPageObj.switchScreen(VIEW_MODE_LIST);
  226. }
  227. },
  228. modify: {
  229. init: function(item) {
  230. mobPageObj.switchScreen(VIEW_MODE_MODIFY);
  231. this.clear();
  232. this.search(item);
  233. },
  234. search: function(item) {
  235. var _this = this;
  236. var callbackFn = function(result) {
  237. console.log(result);
  238. _this.view(result);
  239. };
  240. const param = {'brandId':fn_make_user_info.get('brandId'), 'pchReqUnqNo': item.pchReqUnqNo};
  241. fn_ajax_call(API_MOBILE_INFO, param, callbackFn, 'GET');
  242. },
  243. view: function(result) {
  244. var _this = this;
  245. var id = '#ITP_AJAX_MRTNMNG02010_MODIFY_CONTAINER';
  246. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_DLV_REQ_DT').val(result.dlvReqDt.replace(/\./g, "-"));
  247. $(id).find('.fnRtnReqTotalAmt').text(CommonObj.currency.add(result.pchReqTotalAmt));
  248. $(id).find('.fnOrdUseAmt').text(CommonObj.currency.add(result.ordUseAmt));
  249. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOAN_DVSN').val(result.loanDvsn);
  250. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
  251. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_PCH_REQ_UNQ_NO').val(result.pchReqUnqNo);
  252. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_PCH_REQ_DVSN').val(result.pchReqDvsn);
  253. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_NM').val(result.whsNm);
  254. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_ID').val(result.whsId);
  255. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOCATION').val(result.location);
  256. _this.list.init(result.pchReqDtlList);
  257. },
  258. list: {
  259. rows: [],
  260. init: function(pchReqDtlList) {
  261. var _this = this;
  262. $.each(pchReqDtlList, function (i, item) {
  263. item['viewCd'] = 'U';
  264. _this.attachRow(item);
  265. });
  266. },
  267. attachRow: function (item) {
  268. var _this = this;
  269. var append = function() {
  270. $('#ITP_LIST_MRTNMNG02010_MODIFY_AREA .panel-group').append($('#ITP_LIST_MRTNMNG02010_MODIFY_ROWCOPY').html());
  271. var $li = $('#ITP_LIST_MRTNMNG02010_MODIFY_AREA .panel-group > .list-row:last');
  272. $li.find('.fnBrandUnitUnqNo').val(item.brandUnitUnqNo);
  273. $li.find('.fnItemNm').text(item.itemNm);
  274. $li.find('.fnRtnReqQty').text(item.pchReqQty);
  275. $li.find('.fnUnitAmt').text(CommonObj.currency.add(item.unitAmt));
  276. _this.pchReqAmtTot();
  277. };
  278. var fnChkExist = function() {
  279. var isExist = false;
  280. $.each(_this.rows, function(i, row) {
  281. if(row.brandUnitUnqNo === item.brandUnitUnqNo) {
  282. if(row.viewCd === 'D') {
  283. item.viewCd = _this.rows[i].viewCd;
  284. _this.rows[i] = item;
  285. append();
  286. } else {
  287. alert('이미 존재하는 품목입니다.');
  288. }
  289. isExist = true;
  290. return false;
  291. }
  292. });
  293. if(!isExist) {
  294. _this.rows.push(item);
  295. append();
  296. }
  297. };
  298. fnChkExist();
  299. },
  300. detachRow: function () {
  301. if($('#ITP_LIST_MRTNMNG02010_MODIFY_AREA input:checkbox[name=brandUnitUnqNo]:checked').length > 0) {
  302. var _this = this;
  303. $('#ITP_LIST_MRTNMNG02010_MODIFY_ROWS li').each(function(index, elem) {
  304. var isChecked = $(this).find('input[type="checkbox"]').is(':checked');
  305. if(isChecked) {
  306. $(this).remove();
  307. _this.rows[index].viewCd = 'D';
  308. // _this.rows.splice(index, 1);
  309. }
  310. });
  311. this.pchReqAmtTot();
  312. }
  313. },
  314. actPlus: function(elem) {
  315. var $div = $(elem).siblings('div');
  316. var num = Number($div.text());
  317. $($div).text((num + 1).toString());
  318. this.rows[$div.parents('li').index()]['pchReqQty'] = $($div).text();
  319. this.pchReqAmtTot();
  320. },
  321. actMinus: function(elem) {
  322. var $div = $(elem).siblings('div');
  323. var num = Number($div.text());
  324. if(num <= 1) {
  325. alert('주문수량을 확인하세요.');
  326. } else {
  327. $($div).text((num - 1).toString());
  328. this.rows[$div.parents('li').index()]['pchReqQty'] = $($div).text();
  329. this.pchReqAmtTot();
  330. }
  331. },
  332. pchReqAmtTot: function() {
  333. var reqAmt = 0;
  334. $.each(this.rows, function(index, item) {
  335. var qty = item.pchReqQty;
  336. var amt = item.unitAmt;
  337. reqAmt += Number(qty) * amt;
  338. });
  339. $('#ITP_AJAX_MRTNMNG02010_LIST_CONTAINER').find('.fnRtnReqAmtTot').text(CommonObj.currency.add(reqAmt));
  340. }
  341. },
  342. cancel: function () {
  343. mobPageObj.switchScreen(VIEW_MODE_LIST);
  344. },
  345. clear: function() {
  346. this.list.rows.length = 0;
  347. var id = '#ITP_AJAX_MRTNMNG02010_MODIFY_CONTAINER';
  348. $(id).find('.fnDlvReqDt').val('');
  349. $(id).find('.fnRtnReqTotalAmt').text('');
  350. $(id).find('.fnOrdUseAmt').text('');
  351. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOAN_DVSN').val('');
  352. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOAN_MGNT_UNQ_NO').val('');
  353. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_PCH_REQ_UNQ_NO').val('');
  354. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_PCH_REQ_DVSN').val('');
  355. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_NM').val('');
  356. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_ID').val('');
  357. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOCATION').val('');
  358. $('#ITP_LIST_MRTNMNG02010_MODIFY_AREA .panel-group').empty();
  359. }
  360. }
  361. };
  362. let mobPopObj = {
  363. popItem: {
  364. popId: 'ITP_POP_MRTNMNG02010_ITEM_AREA',
  365. init: function() {
  366. mobPopObj.show(this.popId);
  367. this.search();
  368. },
  369. search: function() {
  370. $('#ITP_LIST_MRTNMNG02010_POP_ITEM_AREA .panel-group').empty();
  371. var callbackFn = function(result) {
  372. console.log(result);
  373. mobPopObj.popItem.rows = result.gridRows;
  374. $.each(mobPopObj.popItem.rows, function (i, item) {
  375. $('#ITP_LIST_MRTNMNG02010_POP_ITEM_AREA .panel-group').append($('#ITP_LIST_MRTNMNG02010_POP_ITEM_ROWCOPY').html());
  376. var $li = $('#ITP_LIST_MRTNMNG02010_POP_ITEM_AREA .panel-group > .row_2:last');
  377. $li.find('#ITP_FORM_MRTNMNG02010_POP_ITEM_CHECKBOX').val(item.itemId);
  378. $li.find('.fnItemNm').text(item.itemNm);
  379. $li.find('.fnUnitAmt').text(CommonObj.currency.add(item.unitAmt));
  380. });
  381. mobPopObj.popItem.addRow.init();
  382. };
  383. let param = $('#ITP_FORM_MRTNMNG02010_POPUP_ITEM').serializeObject();
  384. fn_ajax_call(API_POP_ITEM_LIST, JSON.stringify(param), callbackFn, 'POST');
  385. },
  386. addRow: {
  387. init: function() {
  388. this.button.init();
  389. },
  390. button: {
  391. init: function() {
  392. var _this = this;
  393. $('button[id^="ITP_BTN_MRTNMNG02010_POP_ITEM_"]').off('click').on('click', function() {
  394. var id = $(this).attr('id');
  395. switch (id) {
  396. case 'ITP_BTN_MRTNMNG02010_POP_ITEM_PLUS' : _this.actPlus($(this)); break;
  397. case 'ITP_BTN_MRTNMNG02010_POP_ITEM_MINUS' : _this.actMinus($(this)); break;
  398. case 'ITP_BTN_MRTNMNG02010_POP_ITEM_ADD' : _this.actItemAdd($(this)); break;
  399. case 'ITP_BTN_MRTNMNG02010_POP_ITEM_SEARCH' : mobPopObj.popItem.search(); break;
  400. case 'ITP_BTN_MRTNMNG02010_POP_ITEM_CLOSE' : mobPopObj.hide(id); break;
  401. }
  402. return false;
  403. });
  404. },
  405. actPlus: function(elem) {
  406. var $div = $(elem).siblings('div');
  407. var num = Number($div.text());
  408. $($div).text((num + 1).toString());
  409. },
  410. actMinus: function(elem) {
  411. var $div = $(elem).siblings('div');
  412. var num = Number($div.text());
  413. if(num <= 1) {
  414. alert('주문수량을 확인하세요.');
  415. } else {
  416. $($div).text((num - 1).toString());
  417. }
  418. },
  419. actItemAdd: function(elem) {
  420. var index = $(elem).closest('li').index();
  421. var item = mobPopObj.popItem.rows[index];
  422. item['pchReqQty'] = $(elem).closest('li').find('.fnRtnReqQty').html();
  423. mobContentObj.modify.list.attachRow(item);
  424. }
  425. }
  426. },
  427. delRow: function() {
  428. }
  429. },
  430. popWhsNm: {
  431. popId: 'ITP_POP_MRTNMNG02010_WHS_AREA',
  432. mode: '',
  433. rows: [],
  434. init: function (mode) {
  435. this.mode = mode;
  436. this.rows.length = 0;
  437. mobPopObj.show(this.popId);
  438. this.search();
  439. this.action();
  440. },
  441. search: function () {
  442. var _this = this;
  443. $('#ITP_LIST_MRTNMNG02010_POP_WHS_AREA .panel-group').empty();
  444. var callbackFn = function(result) {
  445. console.log(result);
  446. _this.view(result.gridRows);
  447. };
  448. const param = $('#ITP_FORM_MRTNMNG02010_POP_WHS').serializeObject();
  449. fn_ajax_call(API_POP_SEARCH_LIST, JSON.stringify(param), callbackFn, 'POST');
  450. },
  451. view: function(gridRows) {
  452. this.rows = gridRows;
  453. $.each(gridRows, function (i, item) {
  454. $('#ITP_LIST_MRTNMNG02010_POP_WHS_AREA .panel-group').append($('#ITP_LIST_MRTNMNG02010_POP_WHS_ROWCOPY').html());
  455. var $li = $('#ITP_LIST_MRTNMNG02010_POP_WHS_AREA .panel-group > .row_2:last');
  456. $li.find('.fnWhsNm').text(item.whsNm);
  457. $li.find('.fnLocationNm').text(item.locationNm);
  458. $li.find('.fnWhsId').data('whs-id', item.whsId);
  459. });
  460. },
  461. choice: function(elem) {
  462. var _this = this;
  463. var whsId = $(elem).data('whs-id');
  464. $.each(this.rows, function (i, item) {
  465. if(whsId === item.whsId) {
  466. if(_this.mode === VIEW_MODE_LIST) {
  467. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH #ITP_FORM_MRTNMNG02010_LIST_SEARCH_WHS_ID').val(item.whsId);
  468. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH #ITP_FORM_MRTNMNG02010_LIST_SEARCH_WHS_NM').val(item.whsNm);
  469. } else if(_this.mode === VIEW_MODE_MODIFY) {
  470. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_ID').val(item.whsId);
  471. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_NM').val(item.whsNm);
  472. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOCATION').val(item.location);
  473. }
  474. mobPopObj.hide(_this.popId);
  475. return false;
  476. }
  477. });
  478. },
  479. action: function() {
  480. var _this = this;
  481. $('button[id^="ITP_BTN_MRTNMNG02010_POP"]').off('click').on('click', function() {
  482. var id = $(this).attr('id');
  483. switch (id) {
  484. case 'ITP_BTN_MRTNMNG02010_POP_WHS_SEARCH' : _this.search(); break;
  485. case 'ITP_BTN_MRTNMNG02010_POP_WHS_CHOICE' : _this.choice($(this)); break;
  486. case 'ITP_BTN_MRTNMNG02010_POP_WHS_CLOSE' : mobPopObj.hide(_this.popId); break;
  487. }
  488. return false;
  489. });
  490. },
  491. delete: function(mode) {
  492. if(mode === VIEW_MODE_LIST) {
  493. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH #ITP_FORM_MRTNMNG02010_LIST_SEARCH_WHS_ID').val('');
  494. $('#ITP_FORM_MRTNMNG02010_LIST_SEARCH #ITP_FORM_MRTNMNG02010_LIST_SEARCH_WHS_NM').val('');
  495. } else if(mode === VIEW_MODE_MODIFY) {
  496. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_ID').val('');
  497. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_WHS_NM').val('');
  498. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_LOCATION').val('');
  499. mobPopObj.hide(ID_ITP_POP_MRTNMNG02010_WHS_AREA);
  500. }
  501. }
  502. },
  503. popReqConfirm: {
  504. popId: 'ITP_POP_MRTNMNG02010_REQ_AREA',
  505. pchReqStCd: '',
  506. init: function (pchReqStCd) {
  507. this.pchReqStCd = pchReqStCd;
  508. mobPopObj.show(this.popId);
  509. this.view();
  510. this.action();
  511. },
  512. view: function() {
  513. if(this.pchReqStCd === PCH_REQ_ST_CD_REQUEST_SAVE) {
  514. $('#ITP_POP_MRTNMNG02010_REQ_AREA .msg_save').text('구매요청 하시겠습니까?');
  515. } else {
  516. $('#ITP_POP_MRTNMNG02010_REQ_AREA .msg_save').text('임시저장 하시겠습니까?');
  517. }
  518. $('#ITP_POP_MRTNMNG02010_REQ_AREA .fnPopDlvReqDt').text($('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_DLV_REQ_DT').val());
  519. $('#ITP_POP_MRTNMNG02010_REQ_AREA .fnItemQty').text(CommonObj.currency.add(mobContentObj.modify.list.rows.length, '개'));
  520. $('#ITP_POP_MRTNMNG02010_REQ_AREA .fnOrdAmt').text(CommonObj.currency.add($('#ITP_FORM_MRTNMNG02010_MODIFY .fnRtnReqTotalAmt').text()));
  521. },
  522. action: function() {
  523. var _this = this;
  524. $('#ITP_POP_MRTNMNG02010_REQ_AREA button[id="ITP_BTN_MRTNMNG02010_POP_REQ_CONFIRM"]').off('click').on('click', function() {
  525. $('#ITP_FORM_MRTNMNG02010_MODIFY #ITP_FORM_MRTNMNG02010_MODIFY_PCH_REQ_ST_CD').val(_this.pchReqStCd);
  526. _this.save('#ITP_FORM_MRTNMNG02010_MODIFY');
  527. });
  528. },
  529. save: function(formId) {
  530. var _this = this;
  531. let param = $(formId).serializeObject();
  532. if (param.loanDvsn !== 'LD03' && this.pchReqStCd === PCH_REQ_ST_CD_REQUEST_SAVE ) {
  533. var ordUseAmt = $('#ITP_FORM_MRTNMNG02010_MODIFY .fnOrdUseAmt').text();
  534. var pchReqTotalAmt = $('#ITP_FORM_MRTNMNG02010_DETAIL .fnRtnReqTotalAmt').text();
  535. if (parseInt(CommonObj.onlyNumber(ordUseAmt)) < parseInt(CommonObj.onlyNumber(pchReqTotalAmt))) {
  536. alert(ITP_MSG_LOCALE.message.ajax.lackReqAmt);
  537. return;
  538. }
  539. }
  540. var gridInsertData = [];
  541. var gridUpdateData = [];
  542. var gridDeleteData = [];
  543. $.each(mobContentObj.modify.list.rows, function(index, item) {
  544. item['pchReqUnqNo'] = param.pchReqUnqNo;
  545. if(item.viewCd === 'R' || item.viewCd === 'C' ) {
  546. item['viewCd'] = 'C';
  547. gridInsertData.push(item);
  548. } else if(item.viewCd === 'U') {
  549. gridUpdateData.push(item);
  550. } else if(item.viewCd === 'D') {
  551. gridDeleteData.push(item);
  552. }
  553. });
  554. param['dlvReqDt'] = param.dlvReqDt.replace(/[^0-9]/g, "");
  555. param.gridInsertData = gridInsertData;
  556. param.gridUpdateData = gridUpdateData;
  557. param.gridDeleteData = gridDeleteData;
  558. console.log(JSON.stringify(param));
  559. var saveFn = function (result) {
  560. console.log(result);
  561. mobPopObj.hide(_this.popId);
  562. mobContentObj.list.init();
  563. };
  564. fn_ajax_call(API_MOBILE_SAVE, JSON.stringify(param), saveFn, 'POST');
  565. }
  566. },
  567. show: function(popId) {
  568. $('button[id$="_CLOSE"]').off('click').on('click', function() {
  569. if($(this).hasClass('btn-pop-close')) {
  570. mobPopObj.hide(popId);
  571. }
  572. });
  573. $('#' + popId).show();
  574. },
  575. hide: function(popId) {
  576. $('#' + popId).hide();
  577. // $('#' + popId).closest('.mobile-pop-close').hide();
  578. }
  579. };