Browse Source

매장 창고관리 완료

marseyes 2 years ago
parent
commit
9a7ad18ad9

+ 1 - 5
src/main/webapp/app/stockmng/STOCKMNG04011.html

@@ -14,7 +14,7 @@
14 14
 				    <div class="itp_form itp_type1 fix">
15 15
 				        <div class="col-xs-12">
16 16
 				            <form id="ITP_FORM_STOCKMNG04011_DETAIL" class="form-horizontal">
17
-				                <input type="hidden" id="ITP_FORM_STOCKMNG04011_DETAIL_VIEW_CD" name="viewCd" value="C">
17
+				                <input type="hidden" id="ITP_FORM_STOCKMNG04011_DETAIL_VIEW_CD" name="viewCd" value="U">
18 18
 				                <input type="hidden" id="ITP_FORM_STOCKMNG04011_DETAIL_BRAND_ID" name="brandId" value="">
19 19
 				                <input type="hidden" id="ITP_FORM_STOCKMNG04011_DETAIL_STORE_ID" name="storeId" value="">
20 20
 				                <input type="hidden" id="ITP_FORM_STOCKMNG04011_DETAIL_WHS_ID" name="whsId" value="">
@@ -66,10 +66,6 @@
66 66
 				                                <div class="col-xs-5 itp_in">
67 67
 													<input type="text" id="ITP_FORM_STOCKMNG04011_DETAIL_STORE_NM" class="form-control itp_input" name="storeNm" value="" readonly="readonly" />
68 68
 												</div>
69
-												<div class="col-xs-3 itp_in" style="padding:0px; margin-left: 3px;">
70
-													<button type="button" id="ITP_BTN_STOCKMNG04011_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
71
-													<button type="button" id="ITP_BTN_STOCKMNG04011_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
72
-								                </div>
73 69
 				                            </div>
74 70
 				                            <label class="col-xs-2 itp_lb">등록일시</label>
75 71
 				                            <div class="col-xs-4 itp_ip fnRegDtm"></div>				                            

+ 59 - 13
src/main/webapp/js/app/stockmng/ITP_STOCKMNG04011.js

@@ -145,14 +145,17 @@ let pageObj = {
145 145
 			fn_make_select(CODE_LIST, 'WHS_ST_CD', 'ITP_FORM_STOCKMNG04011_DETAIL_WHS_ST_CD', true, '선택');
146 146
 		},
147 147
 		ready: function() {
148
-			const brandIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_BRAND_ID').val();
149
-			const storeIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_STORE_ID').val();
150
-						
151
-			const key = {brandId: brandIdVal, storeId: storeIdVal, whsId: '', viewCd: 'R'};
152
-			var param = $.param(key);
153
-			viewObj.init(param);
148
+			pageObj.changeView();	
154 149
 		}
155 150
 	},
151
+	changeView: function() {
152
+		const brandIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_BRAND_ID').val();
153
+		const storeIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_STORE_ID').val();
154
+					
155
+		const key = {brandId: brandIdVal, storeId: storeIdVal, whsId: '', viewCd: 'R'};
156
+		var param = $.param(key);
157
+		viewObj.init(param);
158
+	}, 
156 159
 	event: {
157 160
 		init: function () {
158 161
 			this.button();
@@ -164,13 +167,11 @@ let pageObj = {
164 167
 				$(this).on('click', function() {
165 168
 					switch (id) {
166 169
 						case 'ITP_BTN_STOCKMNG04011_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
167
-						case 'ITP_BTN_STOCKMNG04011_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
168
-						case 'ITP_BTN_STOCKMNG04011_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
170
+						case 'ITP_BTN_STOCKMNG04011_CANCELLIST'			: modifyObj.button.cancel(); 	break;	// 취소/목록 버튼
171
+						case 'ITP_BTN_STOCKMNG04011_SAVE'				: modifyObj.button.save(); 		break;	// 저장 버튼
169 172
 						case 'ITP_BTN_STOCKMNG04011_DETAIL_ADDROW'		: locInfoObj.button.addRow();	break;	// 상세:추가버튼
170 173
 						case 'ITP_BTN_STOCKMNG04011_DETAIL_DELROW'		: locInfoObj.button.delRow();	break;	// 상세:삭제버튼
171
-						case 'ITP_BTN_STOCKMNG04011_DETAIL_ADDRESS_SEARCH'		: createObj.button.address();	break;	// 신규등록 주소 찾기
172
-						case 'ITP_BTN_STOCKMNG04011_SEARCH_SRH'			: createObj.button.popupStore();	break;	// 매장선택 팝업
173
-						case 'ITP_BTN_STOCKMNG04011_SEARCH_MODIFY'		: createObj.button.eraseStore();	break;	// 매장선택 삭제
174
+						case 'ITP_BTN_STOCKMNG04011_DETAIL_ADDRESS_SEARCH'		: modifyObj.button.address();	break;	// 신규등록 주소 찾기
174 175
 					}
175 176
 				});
176 177
 			});
@@ -208,9 +209,9 @@ let pageObj = {
208 209
 			$('#ITP_BTN_STOCKMNG04011_NEWREG').hide();
209 210
 			$('#ITP_BTN_STOCKMNG04011_DELETE').hide();
210 211
 			$('#ITP_BTN_STOCKMNG04011_SAVE').hide();
212
+			$('#ITP_BTN_STOCKMNG04011_CANCELLIST').hide();
211 213
 			
212 214
 			fn_show_btn_auth('#ITP_BTN_STOCKMNG04011_MODIFY');
213
-			fn_show_btn_auth('#ITP_BTN_STOCKMNG04011_CANCELLIST');
214 215
 
215 216
 			$('#ITP_AJAX_STOCKMNG04011_LIST_CONTAINER').hide();
216 217
 			$('#ITP_AJAX_STOCKMNG04011_DETAIL_CONTAINER').hide();
@@ -317,10 +318,55 @@ let modifyObj = {
317 318
 		modify: function (param) {
318 319
 			itp_fn_form_clear_validate(null, '#ITP_FORM_STOCKMNG04011_DETAIL');
319 320
 			const brandIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_BRAND_ID').val();
321
+			const storeIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_STORE_ID').val();
320 322
 			const whsIdVal = $('#ITP_FORM_STOCKMNG04011_VIEW_WHS_ID').val();
321
-			const key = {brandId: brandIdVal, whsId: whsIdVal, viewCd: 'R'};
323
+			const key = {brandId: brandIdVal, storeId: storeIdVal, whsId: whsIdVal, viewCd: 'R'};
322 324
 			var param = $.param(key);
323 325
 			modifyObj.load(param);
326
+		}, 
327
+		cancel: function() {
328
+			pageObj.changeView();
329
+		}, 
330
+		save: function() {
331
+			var detailViewCd = $('#ITP_FORM_STOCKMNG04011_DETAIL_VIEW_CD').val();
332
+			const formId = '#ITP_FORM_STOCKMNG04011_DETAIL';
333
+			itp_fn_form_clear_validate(null, formId);
334
+			
335
+			var vali_whsStatCd = itp_fn_form_validate(formId, formId + '_WHS_ST_CD', ['empty'], undefined); // 상태
336
+			var vali_whsNm = itp_fn_form_validate(formId, formId + '_WHS_NM', ['empty'], undefined);
337
+			
338
+			if (vali_whsStatCd && vali_whsNm) {
339
+				let gridInsertData = [];
340
+				let gridUpdateData = [];
341
+				let gridDeleteData = [];
342
+				const rowData = $(STOCKMNG04011_DETAIL_GRID_ID).getRowData();
343
+				// const keyValue = $(formId + '_WHS_ID').val();
344
+				$.each(rowData, function(key, value) {
345
+					if (value.viewCd != 'R') {
346
+						// value.whsId = keyValue;
347
+						if (value.viewCd == 'C') {
348
+							gridInsertData.push(value);
349
+						} else if (value.viewCd == 'U') {
350
+							gridUpdateData.push(value);
351
+						} else if (value.viewCd == 'D') {
352
+							gridDeleteData.push(value);
353
+						}
354
+					}
355
+				});
356
+				let param = $(formId).serializeObject();
357
+				param.gridInsertData = gridInsertData;
358
+				param.gridUpdateData = gridUpdateData;
359
+				param.gridDeleteData = gridDeleteData;
360
+				//console.log(JSON.stringify(param));
361
+				var searhFn = function() {
362
+					ITP_FORM_STOCKMNG04011_DETAIL_IS_WRITING = false;
363
+					pageObj.changeView();					
364
+				};
365
+				fn_ajax_call(detailViewCd == 'C' ? WHS_MNG_ADD_WHS : WHS_MNG_MIDIFY_WHS, JSON.stringify(param), searhFn, 'POST');
366
+			}
367
+		}, 
368
+		address: function() {
369
+			kakaoMap.address('ITP_FORM_STOCKMNG04011_DETAIL');
324 370
 		}
325 371
 	},
326 372
 	load: function(param) {