Explorar el Código

Merge branch 'master' of http://106.246.249.162:13000/orderqueen/oqpo-view

yhl88 hace 2 años
padre
commit
a17c4f2b2d
Se han modificado 42 ficheros con 2289 adiciones y 959 borrados
  1. 1 0
      .gitignore
  2. 471 0
      bin/src/main/webapp/js/app/ordmng/ITP_ORDMNG01010.js
  3. 70 0
      bin/src/main/webapp/mobile/js/app/mpomng/ITP_MPOMNG01010.js
  4. 9 1
      src/main/webapp/app/oper/OPER02010.html
  5. 4 2
      src/main/webapp/app/oper/OPER03010.html
  6. 1 1
      src/main/webapp/app/oper/OPER04010.html
  7. 4 4
      src/main/webapp/app/oper/OPER06010.html
  8. 1 1
      src/main/webapp/app/stinfo/STINFO02010.html
  9. 13 6
      src/main/webapp/js/app/config.js
  10. 31 25
      src/main/webapp/js/app/kakao.map.js
  11. 4 4
      src/main/webapp/js/app/oper/ITP_OPER01010.js
  12. 49 36
      src/main/webapp/js/app/oper/ITP_OPER02010.js
  13. 6 4
      src/main/webapp/js/app/oper/ITP_OPER03010.js
  14. 4 4
      src/main/webapp/js/app/oper/ITP_OPER03011.js
  15. 11 5
      src/main/webapp/js/app/oper/ITP_OPER04010.js
  16. 20 2
      src/main/webapp/js/app/oper/ITP_OPER06010.js
  17. 5 3
      src/main/webapp/js/app/pomng/ITP_POMNG01010.js
  18. 424 0
      src/main/webapp/js/app/pomng/ITP_POMNG01010.js12
  19. 2 2
      src/main/webapp/js/app/stinfo/ITP_STINFO01011.js
  20. 4 3
      src/main/webapp/js/app/stinfo/ITP_STINFO02010.js
  21. 1 1
      src/main/webapp/js/app/stinfo/ITP_STINFO02011.js
  22. 4 2
      src/main/webapp/js/app/stinfo/ITP_STINFO05010.js
  23. 4 0
      src/main/webapp/js/app/stinfo/ITP_STINFO06010.js
  24. 31 91
      src/main/webapp/mobile/app/main.html
  25. 23 22
      src/main/webapp/mobile/app/mloanmng/MLOANMNG03010.html
  26. 130 89
      src/main/webapp/mobile/app/mpomng/MPOMNG01010.html
  27. 36 42
      src/main/webapp/mobile/app/mpomng/MPOMNG02010.html
  28. 40 35
      src/main/webapp/mobile/app/mpomng/MPOMNG03010.html
  29. 31 24
      src/main/webapp/mobile/app/mpomng/MPOMNG04010.html
  30. 31 25
      src/main/webapp/mobile/app/mpomng/MPOMNG05010.html
  31. 31 24
      src/main/webapp/mobile/app/mpomng/MPOMNG06010.html
  32. 10 12
      src/main/webapp/mobile/app/mrtnmng/MRTNMNG01010.html
  33. 19 18
      src/main/webapp/mobile/app/mrtnmng/MRTNMNG02010.html
  34. 35 33
      src/main/webapp/mobile/app/mrtnmng/MRTNMNG03010.html
  35. 27 22
      src/main/webapp/mobile/app/mrtnmng/MRTNMNG04010.html
  36. 27 22
      src/main/webapp/mobile/app/mrtnmng/MRTNMNG05010.html
  37. 22 22
      src/main/webapp/mobile/app/mstockmng/MSTOCKMNG01010.html
  38. 14 14
      src/main/webapp/mobile/app/mstockmng/MSTOCKMNG02010.html
  39. 136 113
      src/main/webapp/mobile/css/style.css
  40. 2 186
      src/main/webapp/mobile/js/app/main.js
  41. 70 0
      src/main/webapp/mobile/js/app/mpomng/ITP_MPOMNG01010.js
  42. 431 59
      src/main/webapp/mobile/js/config.js

+ 1 - 0
.gitignore

@@ -27,6 +27,7 @@ target/
27 27
 /nbdist/
28 28
 /.nb-gradle/
29 29
 build/
30
+bin/*
30 31
 out/
31 32
 !**/src/main/**/build/
32 33
 !**/src/test/**/build/

+ 471 - 0
bin/src/main/webapp/js/app/ordmng/ITP_ORDMNG01010.js

@@ -0,0 +1,471 @@
1
+require(['config'], function() {
2
+    require([
3
+    ], function($) {
4
+        pageObj.init();
5
+    });
6
+});
7
+
8
+
9
+// 화면변수
10
+const ORDMNG01010_GRID_ID = '#ITP_ORDMNG01010_jqGrid';
11
+const ORDMNG01010_GRID_LIST = '#ITP_ORDMNG01010_jqGrid_list';
12
+const ORDMNG01010_GRID_PAGER = '#ITP_ORDMNG01010_jqGridPager';
13
+const ORDMNG01010_GRID_EMPTY = '#ITP_ORDMNG01010_jqGridEmpty';
14
+
15
+const ORDMNG01010_VIEW_GRID_ID = '#ITP_ORDMNG01010_VIEW_jqGrid';
16
+const ORDMNG01010_VIEW_GRID_LIST = '#ITP_ORDMNG01010_VIEW_jqGrid_list';
17
+const ORDMNG01010_VIEW_GRID_PAGER = '#ITP_ORDMNG01010_VIEW_jqGridPager';
18
+const ORDMNG01010_VIEW_GRID_EMPTY = '#ITP_ORDMNG01010_VIEW_jqGridEmpty';
19
+
20
+let ITP_COMMON_PCH_ODR_ST_CD = fn_make_common_cd_list(CODE_LIST, 'PCH_ODR_ST_CD', true, '발주상태코드');
21
+
22
+//API URL
23
+let API_POMNG_PO_SPPLY_PO_GRID_LIST = '/api/pomng/po/spply-po-grid-list';
24
+let API_POMNG_PO_INFO_SPPLY_PCHORD = '/api/pomng/po/info-spply-pchOdr';
25
+
26
+
27
+//화면 grid ColModel
28
+const gridColModel = {
29
+	list:[
30
+		{
31
+			index: 'VIEW_CD', name: 'viewCd',
32
+			label: ITP_MSG_LOCALE.label.viewCd,
33
+			width: '10', fixed: false, align: 'center',
34
+			sortable: false, hidden: true
35
+		},
36
+		{
37
+			index: 'BRAND_ID', name: 'brandId',
38
+			label: ITP_MSG_LOCALE.label.brandId,
39
+			width: '10', fixed: false, align: 'center',
40
+			sortable: false, hidden: true
41
+		},
42
+		{
43
+			index: 'PODR_MGR_NM', name: 'podrMgrNm',
44
+			label: ITP_MSG_LOCALE.label.podrMgrNm,
45
+			width: '10', fixed: false, align: 'center',
46
+			sortable: false, hidden: true
47
+		},
48
+		{
49
+			index: 'BRAND_NM', name: 'brandNm',
50
+			label: ITP_MSG_LOCALE.label.brandNm, 		// 브랜드명
51
+			width: '7', fixed: false, align: 'center',
52
+			sortable: false, hidden: false
53
+		},
54
+		{
55
+			index: 'PCH_PODR_UNQ_NO', name: 'pchPodrUnqNo',
56
+			label: ITP_MSG_LOCALE.label.pchPodrUnqNo, 	// 발주번호
57
+			width: '7', fixed: false, align: 'center',
58
+			sortable: false, hidden: false
59
+		},
60
+		{
61
+			index: 'PCH_ORD_ST_CD', name: 'pchOdrStCd',
62
+			label: ITP_MSG_LOCALE.label.pchOdrStNm, 	// 발주상태
63
+			width: '7', fixed: false, align: 'center',
64
+			sortable: false, formatter: 'select',
65
+			editoptions: {value: ITP_COMMON_PCH_ODR_ST_CD}
66
+		},
67
+		{
68
+			index: 'PODR_DT', name: 'podrDt',
69
+			label: ITP_MSG_LOCALE.label.podrDt, 		// 발주일자
70
+			width: '8', fixed: false, align: 'center',
71
+			sortable: false, hidden: false
72
+		},
73
+		{
74
+			index: 'DIV_REQ_DT', name: 'dlvReqDt',
75
+			label: ITP_MSG_LOCALE.label.dlvReqDt, 		// 납품요청일
76
+			width: '8', fixed: false, align: 'center',
77
+			sortable: false, hidden: false
78
+		},
79
+		{
80
+			index: 'WHS_NM', name: 'whsNm',
81
+			label: ITP_MSG_LOCALE.label.whsNm, 			// 납품장소
82
+			width: '7', fixed: false, align: 'center',
83
+			sortable: false, hidden: false
84
+		},
85
+		{
86
+			index: 'PODR_TOTAL_AMT', name: 'podrTotalAmt',
87
+			label: ITP_MSG_LOCALE.label.podrTotalAmt, 	// 총 발주금액
88
+			width: '7', fixed: false, align: 'center',
89
+			sortable: false, hidden: false,
90
+			formatter: 'integer', formatoptions: {thousandsSeparator: ','}
91
+		},
92
+		{
93
+			index: 'SPPLY_ITME_ID', name: 'podrItemQty',
94
+			label: ITP_MSG_LOCALE.label.podrItemQty, 	// 발주품목수
95
+			width: '8', fixed: false, align: 'center',
96
+			sortable: false, hidden: false
97
+		},
98
+		{
99
+			index: 'PODR_MGR_NM', name: 'podrMgrNm',
100
+			label: ITP_MSG_LOCALE.label.podrMgrNm, 		// 발주 담당자
101
+			width: '8', fixed: false, align: 'center',
102
+			sortable: false, hidden: false
103
+		}
104
+	],
105
+	view: [
106
+		{
107
+			index: 'PCH_PODR_DTL_NO', name: 'pchPodrDtlNo',
108
+			label: ITP_MSG_LOCALE.label.pchPodrDtlNo, 	// 항번
109
+			width: '10', fixed: false, align: 'center',
110
+			sortable: false, hidden: false
111
+		},
112
+		{
113
+			index: 'ITEM_ID', name: 'itemId',
114
+			label: ITP_MSG_LOCALE.label.itemId, 		// 품목번호
115
+			width: '10', fixed: false, align: 'center',
116
+			sortable: false, hidden: false
117
+		},
118
+		{
119
+			index: 'ITEM_NM', name: 'itemNm',
120
+			label: ITP_MSG_LOCALE.label.itemNm, 		// 품목명
121
+			width: '8', fixed: false, align: 'center',
122
+			sortable: false, hidden: false
123
+		},
124
+		{
125
+			index: 'UNIT_AMT', name: 'unitAmt',
126
+			label: ITP_MSG_LOCALE.label.unitAmt, 		// 단가
127
+			width: '8', fixed: false, align: 'center',
128
+			sortable: false, hidden: false,
129
+			formatter: 'integer', formatoptions: {thousandsSeparator: ','}
130
+		},
131
+		{
132
+			index: 'UNIT', name: 'unit',
133
+			label: ITP_MSG_LOCALE.label.unit, 			// 기본단위
134
+			width: '8', fixed: false, align: 'center',
135
+			sortable: false, hidden: false
136
+		},
137
+		{
138
+			index: 'PODR_QTY', name: 'podrQty',
139
+			label: ITP_MSG_LOCALE.label.podrQty, 		// 발주수량
140
+			width: '8', fixed: false, align: 'center',
141
+			sortable: false, hidden: false
142
+		},
143
+		{
144
+			index: 'PODR_AMT', name: 'podrAmt',
145
+			label: ITP_MSG_LOCALE.label.podrAmt, 		// 발주금액
146
+			width: '8', fixed: false, align: 'center',
147
+			sortable: false, hidden: false,
148
+			formatter: 'integer', formatoptions: {thousandsSeparator: ','}
149
+		}
150
+	],
151
+	detail: []
152
+};
153
+
154
+
155
+/*화면공통 Object*/
156
+let pageObj = {
157
+	init: function() {
158
+		this.ui.init();
159
+		this.event.init();
160
+	},
161
+	ui: {
162
+		init: function() {
163
+			this.view();
164
+			this.grid();
165
+			this.ready();
166
+		},
167
+		view: function() {
168
+			// 버튼 권한설정
169
+			fn_proc_btn_auth('ORDMNG01010');
170
+			// 공통코드 표시
171
+			$('select').each(function() {
172
+				if($(this).data('select-code')) {
173
+					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
174
+				}
175
+			});
176
+			// 조회일자 지정	
177
+			var now = new Date();
178
+			$('#ITP_TAB_ORDMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
179
+		
180
+			$('#ITP_FORM_ORDMNG01010_SEARCH_FROM_DT').datepicker('setDate', '2022.10.01');
181
+			$('#ITP_FORM_ORDMNG01010_SEARCH_TO_DT').datepicker('setDate', '2024.10.01');
182
+		},
183
+		grid: function() {
184
+			itp_fn_jqgrid_resize(ORDMNG01010_GRID_ID, ORDMNG01010_GRID_LIST, 'lg');
185
+			listObj.empty.init();
186
+			itp_fn_fire_window_resize();
187
+		},
188
+		ready: function() {
189
+			listObj.init();
190
+		}
191
+	},
192
+	event: {
193
+		init: function() {
194
+			this.button();
195
+		},
196
+		button: function() {
197
+			// 버튼 클릭 이벤트
198
+			$('button').each(function() {
199
+				var id = $(this).attr('id');
200
+				$(this).on('click', function() {
201
+					switch (id) {
202
+						case 'ITP_BTN_ORDMNG01010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
203
+						case 'ITP_BTN_ORDMNG01010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
204
+						case 'ITP_BTN_ORDMNG01010_MODIFY'			: modifyObj.button.modify();	break;	// 수정 버튼
205
+						case 'ITP_BTN_ORDMNG01010_CANCELLIST'		: viewObj.button.cancel(); 		break;	// 취소/목록 버튼
206
+						case 'ITP_BTN_ORDMNG01010_DELETE'			: 								break;	// 삭제 버튼
207
+						case 'ITP_BTN_ORDMNG01010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
208
+						case 'ITP_FORM_ORDMNG01010_VIEW_DUP'		: createObj.button.duplicate();	break;	// 중복체크
209
+						case 'ITP_BTN_ORDMNG01010_RESET_PW'			: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
210
+						case 'ITP_BTN_ORDMNG01010_VIEW_ADDROW'		: pageObj.grid.button.addRow();	break;	// 상세:추가버튼
211
+						case 'ITP_BTN_ORDMNG01010_VIEW_DELROW'		: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
212
+					}
213
+				});
214
+			});
215
+		}
216
+	},
217
+	switchScreen: function(mode) {
218
+        $('.itp_det_head').find('button[id^="ITP_BTN_ORDMNG01010_"]').each(function(i) {
219
+            $(this).hide();
220
+        });
221
+        $('#ITP_TAB_ORDMNG01010').find('div[id$="_CONTAINER"]').each(function(i) {
222
+            $(this).hide();
223
+        });
224
+        if(mode == 'LIST') { // 목록
225
+            fn_show_btn_auth_array(['#ITP_BTN_ORDMNG01010_SRH', '#ITP_BTN_ORDMNG01010_NEWREG']);
226
+            $('#ITP_AJAX_ORDMNG01010_LIST_CONTAINER').show();
227
+            $('#ITP_FORM_ORDMNG01010_SEARCH #ITP_FORM_ORDMNG01010_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
228
+        } else if(mode == 'ADD') { // 등록
229
+            $('#ITP_AJAX_ORDMNG01010_DETAIL_CONTAINER').show();
230
+            fn_show_btn_auth_array(['#ITP_BTN_ORDMNG01010_CANCELLIST', '#ITP_BTN_ORDMNG01010_SAVE']);
231
+
232
+            $('#ITP_FORM_ORDMNG01010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
233
+                $(this).attr('id') === 'ITP_FORM_ORDMNG01010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
234
+                if(elem.type === 'select') {
235
+                    $(this).val('').prop('selected', true);
236
+                }
237
+            });
238
+            $('#ITP_FORM_ORDMNG01010_DETAIL #ITP_FORM_ORDMNG01010_DETAIL_FILE_NO').val('');
239
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BRAND_ID').removeAttr('readonly');
240
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BRAND_NM').removeAttr('readonly');
241
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BSNS_REG_NO').removeAttr('readonly');
242
+            $('#ITP_FORM_ORDMNG01010_DETAIL_CORP_REG_NO').removeAttr('readonly');
243
+            // $('#ITP_FORM_ORDMNG01010_DETAIL_SEARCH_AFFL_SHOP').removeAttr('disabled');
244
+            // $('#ITP_FORM_ORDMNG01010_DETAIL_DELETE_AFFL_SHOP').removeAttr('disabled');
245
+            $('#ITP_FORM_ORDMNG01010_DETAIL_SEARCH_AFFL_SHOP').show();
246
+            $('#ITP_FORM_ORDMNG01010_DETAIL_DELETE_AFFL_SHOP').show();
247
+			$('#ITP_FORM_ORDMNG01010_DETAIL .itp_form_info').hide();
248
+			$('#ITP_FORM_ORDMNG01010_DETAIL .itp_form_change').show();
249
+
250
+            $('#ITP_FORM_ORDMNG01010_DETAIL #ITP_FORM_ORDMNG01010_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
251
+            $('#ITP_FORM_ORDMNG01010_DETAIL #ITP_FORM_ORDMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
252
+
253
+            $('.fnBrandId').text('(자동부여)');
254
+        } else if(mode == 'MODIFY') { // 수정
255
+            $('#ITP_AJAX_ORDMNG01010_DETAIL_CONTAINER').show();
256
+            fn_show_btn_auth_array(['#ITP_BTN_ORDMNG01010_CANCELLIST', '#ITP_BTN_ORDMNG01010_SAVE']);
257
+
258
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BRAND_ID').attr('readonly', true);
259
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BRAND_NM').attr('readonly', true);
260
+            $('#ITP_FORM_ORDMNG01010_DETAIL_BSNS_REG_NO').attr('readonly', true);
261
+            $('#ITP_FORM_ORDMNG01010_DETAIL_CORP_REG_NO').attr('readonly', true);
262
+            // $('#ITP_FORM_ORDMNG01010_DETAIL_SEARCH_AFFL_SHOP').attr('disabled', true);
263
+            // $('#ITP_FORM_ORDMNG01010_DETAIL_DELETE_AFFL_SHOP').attr('disabled', true);
264
+            $('#ITP_FORM_ORDMNG01010_DETAIL_SEARCH_AFFL_SHOP').hide();
265
+            $('#ITP_FORM_ORDMNG01010_DETAIL_DELETE_AFFL_SHOP').hide();
266
+			$('#ITP_FORM_ORDMNG01010_DETAIL .itp_form_info').show();
267
+			$('#ITP_FORM_ORDMNG01010_DETAIL .itp_form_change').hide();
268
+
269
+            $('#ITP_FORM_ORDMNG01010_DETAIL #ITP_FORM_ORDMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
270
+        } else if(mode == 'VIEW') { // 보기
271
+            $('#ITP_AJAX_ORDMNG01010_VIEW_CONTAINER').show();
272
+            fn_show_btn_auth_array(['#ITP_BTN_ORDMNG01010_MODIFY', '#ITP_BTN_ORDMNG01010_CANCELLIST']);
273
+        }
274
+    }
275
+};
276
+
277
+
278
+/*목록화면 Object*/
279
+let listObj = {
280
+	init: function() {
281
+		this.grid.init();
282
+	},
283
+	itp_ORDMNG01010_param: {},
284
+	itp_ORDMNG01010_search: false,
285
+	button: {
286
+		search: function() {
287
+			listObj.itp_ORDMNG01010_search = true;
288
+			let param = $('#ITP_FORM_ORDMNG01010_SEARCH').serializeObject();
289
+			param.gridSize = $.jgrid.defaults.rowNum;
290
+            param.gridPage = $.jgrid.defaults.page;
291
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
292
+            param.sidx = '0';
293
+            console.log(JSON.stringify(param));
294
+            $(ORDMNG01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
295
+        }
296
+	},
297
+	empty: {
298
+		init: function() {
299
+            var _this = this;
300
+            this.push();
301
+            $(ORDMNG01010_GRID_EMPTY).on('click', function() {
302
+                _this.back();
303
+                listObj.itp_ORDMNG01010_param.gridSize = $.jgrid.defaults.rowNum;
304
+                $(ORDMNG01010_GRID_ID).setGridParam({'postData': JSON.stringify(listObj.itp_ORDMNG01010_param)}).trigger('reloadGrid');
305
+            });
306
+        },
307
+        push: function() {
308
+            let param = $('#ITP_FORM_ORDMNG01010_SEARCH').serializeObject();
309
+            listObj.itp_ORDMNG01010_param = param;
310
+        },
311
+        back: function() {
312
+            $('#ITP_FORM_ORDMNG01010_SERVICE_BRAND_TYPE').val(listObj.itp_ORDMNG01010_param.brandType);
313
+            $('#ITP_FORM_ORDMNG01010_SERVICE_ST_CD').val(listObj.itp_ORDMNG01010_param.stCd);
314
+            $('#ITP_FORM_ORDMNG01010_SEARCH_BRAND_NM').val(listObj.itp_ORDMNG01010_param.brandNm);
315
+        	console.log('here');
316
+        	console.log(listObj.itp_ORDMNG01010_param);            
317
+        }
318
+	},
319
+	grid: {
320
+		init: function() {
321
+			// 데이터 없을때
322
+            listObj.empty.push();
323
+            this.search();
324
+		},
325
+		colModel: gridColModel.list,
326
+		search: function() {
327
+			pageObj.switchScreen('LIST');
328
+			this.unload();
329
+			this.load();
330
+		},
331
+		load: function() {
332
+            let param = $('#ITP_FORM_ORDMNG01010_SEARCH').serializeObject();
333
+            param.gridSize = $.jgrid.defaults.rowNum;
334
+            //param.sbrandId = LOGIN_USER_INFO.brandId;
335
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
336
+            param.sidx = '0';
337
+            console.log(JSON.stringify(param));
338
+            var option = {
339
+            	gridId: ORDMNG01010_GRID_ID,
340
+            	colModel: gridColModel.list,
341
+            	param: param,
342
+            	url: DOMAIN + API_POMNG_PO_SPPLY_PO_GRID_LIST,
343
+            	pager: ORDMNG01010_GRID_PAGER,
344
+            	onCellSelect: function(rowId, cellIdx, cellValue) {
345
+                    var cm = $(this).jqGrid('getGridParam', 'colModel');
346
+                    var colNm = cm[cellIdx].name;
347
+                    if (colNm === 'pchPodrUnqNo') {
348
+                        const pchPodrUnqNoVal = $(this).jqGrid('getCell', rowId, 'pchPodrUnqNo');
349
+                        const brandIdVal = $(this).jqGrid('getCell', rowId, 'brandId');
350
+                        const spplyIdVal = LOGIN_USER_INFO.spplyId;
351
+                        const key = {pchPodrUnqNo: pchPodrUnqNoVal, brandId: brandIdVal, spplyId: spplyIdVal};
352
+                        var param = $.param(key);
353
+                        viewObj.init(param);
354
+                    }
355
+				},
356
+				loadComplete: function(data) {
357
+					console.log(data);
358
+                    itp_fn_grid_load_complete(data, ORDMNG01010_GRID_ID, true, 'number', 'ORDMNG01010', listObj.itp_ORDMNG01010_search, listObj.empty, true, data.gridRecords, true);
359
+                    var ids = $(ORDMNG01010_GRID_ID).getDataIDs();
360
+                    $.each(ids, function(idx, rowId) {
361
+                        $(ORDMNG01010_GRID_ID).jqGrid('setCell', rowId, 'pchPodrUnqNo', '', ITP_GRID_COL_STYLE.link);
362
+                    });
363
+				},
364
+				onPaging: function(action) {
365
+                    itp_fn_grid_paging(ORDMNG01010_GRID_ID, action, param);
366
+                }
367
+            };
368
+            itp_fn_grid_make_remote(option);
369
+		},
370
+		clearData: function() {
371
+			$(ORDMNG01010_GRID_ID).jqGrid('clearGridData', true);
372
+            $(ORDMNG01010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
373
+            $(ORDMNG01010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
374
+            $(ORDMNG01010_GRID_EMPTY).show();
375
+		},
376
+		unload: function() {
377
+			$.jgrid.gridUnload(ORDMNG01010_GRID_ID);
378
+		}
379
+	}
380
+};
381
+
382
+/*상세화면 Object*/
383
+let viewObj = {
384
+	init: function(param) {
385
+		console.log(param);
386
+		this.load(param);
387
+	},
388
+	itp_ORDMNG01010_param: {},
389
+	itp_ORDMNG01010_search: false,
390
+	button: {
391
+		cancel: function() {
392
+			listObj.grid.search();
393
+		}
394
+	},
395
+	empty: {
396
+		init: function() {
397
+            var _this = this;
398
+            this.push();
399
+            $(ORDMNG01010_VIEW_GRID_EMPTY).on('click', function() {
400
+                _this.back();
401
+                viewObj.itp_ORDMNG01010_param.gridSize = $.jgrid.defaults.rowNum;
402
+                $(ORDMNG01010_GRID_ID).setGridParam({'postData': JSON.stringify(viewObj.itp_ORDMNG01010_param)}).trigger('reloadGrid');
403
+            });
404
+        },
405
+        push: function() {
406
+            let param = $('#ITP_FORM_ORDMNG01010_VIEW').serializeObject();
407
+            viewObj.itp_ORDMNG01010_param = param;
408
+        },
409
+        back: function() {
410
+            $('#ITP_FORM_ORDMNG01010_SERVICE_BRAND_TYPE').val(viewObj.itp_ORDMNG01010_param.brandType);
411
+            $('#ITP_FORM_ORDMNG01010_SERVICE_ST_CD').val(viewObj.itp_ORDMNG01010_param.stCd);
412
+            $('#ITP_FORM_ORDMNG01010_SEARCH_BRAND_NM').val(viewObj.itp_ORDMNG01010_param.brandNm);
413
+        }
414
+	},
415
+	load: function(param) {
416
+		fn_ajax_call(API_POMNG_PO_INFO_SPPLY_PCHORD, param, this.callback, 'GET');
417
+	},
418
+	callback: function(result) {
419
+		console.log(result);
420
+		
421
+		function convertTel(value){
422
+			answer = (value.startsWith('0')) ? value.replace(/[^0-9]/g, "")
423
+					.replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3")
424
+					.replace("--", "-") : '';
425
+			return answer;
426
+		}
427
+		let telNo = convertTel(result.podrMgrTelNo);
428
+		
429
+		pageObj.switchScreen('VIEW');
430
+		$('#ITP_FORM_ORDMNG01010_VIEW #ITP_FORM_ORDMNG01010_VIEW_AFFL_SHOP_ID').val(result.afflShopId);
431
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnBrandNm').text(result.brandNm);				// 브랜드명
432
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnPchPodrUnqNo').text(result.pchPodrUnqNo);
433
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnPodrDt').text(result.podrDt);
434
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnPchOdrStCd').text(result.pchOdrStNm);
435
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnPodrTotalAmt').text(result.podrTotalAmt.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ','));
436
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnPodrMgrNm').text(result.podrMgrNm + ' (' + telNo + ')');
437
+		$('#ITP_FORM_ORDMNG01010_VIEW .fnDlvReqDt').text(result.dlvReqDt);
438
+		
439
+		viewObj.grid.init('VIEW', result.pchOdrDtlList)
440
+	},
441
+	grid: {
442
+		init: function(mode, gridData) {
443
+			this.mode = mode;
444
+			this.gridId = (mode === 'VIEW') ? ORDMNG01010_VIEW_GRID_ID : ORDMNG01010_DETAIL_GRID_ID;
445
+			this.gridList = (mode === 'VIEW') ? ORDMNG01010_VIEW_GRID_LIST : ORDMNG01010_DETAIL_GRID_LIST;
446
+			this.gridEmpty = (mode === 'VIEW') ? ORDMNG01010_VIEW_GRID_EMPTY : ORDMNG01010_DETAIL_GRID_EMPTY;
447
+			this.unload();
448
+			this.load(mode, gridData);
449
+		},
450
+		mode: '',
451
+		colModel: gridColModel.view,
452
+		load: function(mode, gridData) {
453
+			var _this = this;
454
+			var option = {
455
+				gridId: _this.gridId,
456
+				colModel: gridColModel.view,
457
+				data: gridData,
458
+				multiselect: true,
459
+				loadComplete: function(data) {
460
+					console.log(data);
461
+					itp_fn_grid_load_complete(data, ORDMNG01010_VIEW_GRID_ID, true, 'number', 'ORDMNG01010', viewObj.itp_ORDMNG01010_search, viewObj.empty, true, data.gridRecords, true);
462
+				}
463
+			};
464
+			itp_fn_grid_make_local(option);
465
+		},
466
+		unload: function() {
467
+			$.jgrid.gridUnload(this.gridId);
468
+		}
469
+	}
470
+	
471
+};

+ 70 - 0
bin/src/main/webapp/mobile/js/app/mpomng/ITP_MPOMNG01010.js

@@ -0,0 +1,70 @@
1
+require(['config'], function() {
2
+	require([
3
+	], function($) {
4
+		contentPageObj.init();
5
+	});
6
+});
7
+
8
+/*API URL*/
9
+const API_MOBILE_INIT_INFO	= '/api/pomng/init-pchReq';
10
+const API_MOBILE_SAVE		= '/api/pomng/save-pchReq';
11
+const API_POP_SEARCH_LIST	= '/api/whs/mng/pop-whs-search';
12
+
13
+let contentPageObj = {
14
+	init: function () {
15
+		this.ui.init();
16
+		this.event.init();
17
+	},
18
+	ui: {
19
+		init: function () {
20
+
21
+		}
22
+	},
23
+	event: {
24
+		init: function() {
25
+			this.button();
26
+		},
27
+		button: function() {
28
+			$('button[id^="ITP_BTN_MPOMNG01010_DETAIL"]').on('click', function() {
29
+				if($(this).is('[data-call-popup]')) {
30
+					contentPopObj.show($(this).data('call-popup'));
31
+				} else {
32
+					var id = $(this).attr('id');
33
+					switch (id) {
34
+						case 'ITP_BTN_MPOMNG01010_DETAIL_TEMP_SAVE': break;
35
+						case 'ITP_BTN_MPOMNG01010_DETAIL_CANCEL':break;
36
+					}
37
+				}
38
+				return false;
39
+			});
40
+		}
41
+	}
42
+};
43
+
44
+let contentPopObj = {
45
+	show: function(id, args, fn) {
46
+		this.button();
47
+		console.log(id);
48
+		$('#' + id).show();
49
+	},
50
+	button: function() {
51
+		var _this = this;
52
+		$('button[id^="ITP_BTN_MPOMNG01010_POP"]').off('click').on('click', function() {
53
+			var id = $(this).attr('id');
54
+			if(id.indexOf('POP_CLOSE') > -1) {
55
+				_this.hide(id);
56
+				return;
57
+			}
58
+			switch (id) {
59
+				case 'ITP_BTN_MPOMNG01010_POP_CANCEL': _this.hide(id); break;
60
+				case 'ITP_BTN_MPOMNG01010_POP_CONFIRM': break;
61
+				case 'ITP_BTN_MPOMNG01010_POP_SEARCH':
62
+					break;
63
+			}
64
+			return false;
65
+		});
66
+	},
67
+	hide: function(id) {
68
+		$('#' + id).closest('.mobile-pop-close').hide();
69
+	}
70
+};

+ 9 - 1
src/main/webapp/app/oper/OPER02010.html

@@ -223,11 +223,19 @@
223 223
 												</div>
224 224
 											</div>
225 225
 										</div>
226
-										<div class="form-group border">
226
+										<div class="form-group">
227 227
 											<label class="col-xs-2 itp_lb">공지대상</label>
228 228
 											<div class="col-xs-10 itp_ip fnTargetNm"></div>
229 229
 										</div>
230 230
 									</div>
231
+									<div class="itp_form_in">
232
+										<div class="form-group border">
233
+											<label class="col-xs-2 itp_lb">등록자 아이디</label>
234
+											<div class="col-xs-4 itp_ip fnAddId"></div>
235
+											<label class="col-xs-2 itp_lb">등록자명</label>
236
+											<div class="col-xs-4 itp_ip fnAddNm"></div>
237
+										</div>
238
+									</div>
231 239
 								</section>
232 240
 							</form>
233 241
 						</div>

+ 4 - 2
src/main/webapp/app/oper/OPER03010.html

@@ -84,12 +84,14 @@
84 84
 											</div>
85 85
 											<label class="col-xs-2 itp_lb">가맹점 KEY *<br>사용자 계정 추가-3자리</label>
86 86
 											<div class="col-xs-4 itp_ip">
87
-												<div class="col-xs-4 itp_in">
87
+												<div class="col-xs-12 itp_in">
88 88
 													<div class="input-group">
89 89
 														<input type="text" id="ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_KEY" data-check-required="empty" class="form-control itp_input" name="afflAbbr" value="" maxlength="3" readonly>
90 90
 														<span class="input-group-btn">
91 91
 															<button id="ITP_BTN_OPER03010_DETAIL_AFFL_SHOP_KEY" class="btn btn-default btn-sm itp_btn SHOW" type="button" disabled><i class="glyphicon glyphicon-ok"></i></button>
92 92
 														</span>
93
+														<label class="col-xs-8 itp_in">(가맹점코드 중복체크를 해주세요)</label>
94
+
93 95
 													</div>
94 96
 												</div>
95 97
 											</div>
@@ -124,7 +126,7 @@
124 126
 											<label class="col-xs-2 itp_lb">법인번호</label>
125 127
 											<div class="col-xs-4 itp_ip">
126 128
 												<div class="col-xs-6 itp_in">
127
-													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CORP_REG_NO" data-key-up="corpNo" class="form-control itp_input" name="corpRegNo" value="" maxlength="13">
129
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CORP_REG_NO" data-key-up="corpNo" class="form-control itp_input" name="corpRegNo" value="" maxlength="14">
128 130
 												</div>
129 131
 												<div class="col-xs-3 itp_in">
130 132
 

+ 1 - 1
src/main/webapp/app/oper/OPER04010.html

@@ -136,7 +136,7 @@
136 136
 												<label class="col-xs-2 itp_lb">비밀번호(*)</label>
137 137
 												<div class="col-xs-4 itp_ip">
138 138
 													<div class="col-xs-7 itp_in">
139
-														<input type="password" id="ITP_FORM_OPER04010_DETAIL_PW" data-check-required="empty" class="form-control itp_input" name="pswd" value="">
139
+														<input type="password" id="ITP_FORM_OPER04010_DETAIL_USER_PW" data-check-required="empty" class="form-control itp_input" name="pswd" value="">
140 140
 													</div>
141 141
 												</div>
142 142
 												<label class="col-xs-2 itp_lb">이메일(*)</label>

+ 4 - 4
src/main/webapp/app/oper/OPER06010.html

@@ -102,13 +102,13 @@
102 102
 											<label class="col-xs-2 itp_lb">사업자번호 *</label>
103 103
 											<div class="col-xs-4 itp_ip">
104 104
 												<div class="col-xs-7 itp_in">
105
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="" maxlength="20">
105
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_BSNS_REG_NO" data-check-required="empty" data-key-up="regNo" class="form-control itp_input" name="bsnsRegNo" value="" maxlength="20">
106 106
 												</div>
107 107
 											</div>
108 108
 											<label class="col-xs-2 itp_lb">법인번호</label>
109 109
 											<div class="col-xs-4 itp_ip">
110 110
 												<div class="col-xs-8 itp_in">
111
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="" maxlength="20">
111
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_CORP_REG_NO" data-key-up="corpNo" class="form-control itp_input" name="corpRegNo" value="" maxlength="20">
112 112
 												</div>
113 113
 											</div>
114 114
 										</div>
@@ -147,7 +147,7 @@
147 147
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
148 148
 											<div class="col-xs-4 itp_ip">
149 149
 												<div class="col-xs-7 itp_in">
150
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
150
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" data-key-up="tel" class="form-control itp_input" name="telNo" value="">
151 151
 												</div>
152 152
 												<!-- <button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button> -->
153 153
 											</div>
@@ -159,7 +159,7 @@
159 159
 											<label class="col-xs-2 itp_lb">FAX</label>
160 160
 											<div class="col-xs-4 itp_ip">
161 161
 												<div class="col-xs-7 itp_in">
162
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
162
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" data-key-up="tel" class="form-control itp_input" name="faxNo" value="">
163 163
 												</div>
164 164
 											</div>
165 165
 											<label class="col-xs-2 itp_lb" style="border-top:none;">로고</label>

+ 1 - 1
src/main/webapp/app/stinfo/STINFO02010.html

@@ -203,7 +203,7 @@
203 203
 											<div class="col-xs-5 itp_ip">
204 204
 												<div class="col-xs-7 itp_in">
205 205
 													<div class="input-daterange input-group date itp_in">
206
-														<input type="text" id="ITP_FORM_STINFO02010_DETAIL_FROM_DT" class="form-control itp_input" name="openDt" value="2022.08.10">
206
+														<input type="text" id="ITP_FORM_STINFO02010_DETAIL_FROM_DT" class="form-control itp_input" name="openDt" value="">
207 207
 													</div>
208 208
 												</div>
209 209
 											</div>

+ 13 - 6
src/main/webapp/js/app/config.js

@@ -2886,11 +2886,21 @@ function itp_fn_date_format(date, type) {
2886 2886
 		return date.getFullYear() + '.' + month + '.' + day;	
2887 2887
 	} else if(type && type == 3) {
2888 2888
 		return date.getFullYear() + '' + month + '' + day;
2889
+	} else if(type && type == 4) {
2890
+		return date.getFullYear() + '-' + month + '-' + day;
2889 2891
 	} else {
2890 2892
 		return date.getFullYear() + month + day + hour + minute + second;
2891 2893
 	}
2892 2894
 }
2893 2895
 
2896
+function itp_fn_date_add(type, iAdd) {
2897
+	var date = new Date();
2898
+	if(type === 'Y') date.setFullYear(date.getFullYear() + iAdd);
2899
+	else if(type === 'M') date.setMonth(iAdd);
2900
+	else if(type === 'D') date.setDate(iAdd);
2901
+	return itp_fn_date_format(date, 2);
2902
+}
2903
+
2894 2904
 // 쿠키 가져오기
2895 2905
 var itp_fn_get_cookie = function (cname) {
2896 2906
     var name = cname + "=";
@@ -2996,18 +3006,15 @@ let itp_fn_form_event = {
2996 3006
 			}
2997 3007
 			if ($.inArray('regNo', arry) > -1) {
2998 3008
 				value = $(this).val().replace(/[^0-9]/g, "")
2999
-					.replace(/(^[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{5})$/,"$1-$2-$3")
3009
+					.replace(/(^[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{5})$/,"$1-$2-$3");
3000 3010
 			}
3001 3011
 			if ($.inArray('corpNo', arry) > -1) {
3002
-				if($(this).val().length > 13) return;
3003 3012
 				value = $(this).val().replace(/[^0-9]/g, "")
3004
-					.replace(/(^[0-9]{6})([0-9]+)?([0-9]{7})$/,"######-#######")
3005
-					// .replace(/(\d{6})(\d{7})/, '######-#######')
3013
+					.replace(/(^[0-9]{6})?([0-9]{7})$/,"$1-$2");
3006 3014
 			}
3007 3015
 			if ($.inArray('tel', arry) > -1) {
3008 3016
 				value = ($(this).val().startsWith('0')) ? $(this).val().replace(/[^0-9]/g, "")
3009
-					.replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3")
3010
-					.replace("--", "-") : '';
3017
+					.replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3") : '';
3011 3018
 			}
3012 3019
 			$(this).val(value);
3013 3020
 		});

+ 31 - 25
src/main/webapp/js/app/kakao.map.js

@@ -1,7 +1,7 @@
1 1
 let kakaoMap = {
2
-    init: function(id, locate) {
2
+    init: function(id, locate, latX, longY) {
3 3
         this.formId = id;
4
-        this.load(locate);
4
+        this.load(locate, latX, longY);
5 5
     },
6 6
     geocoder: null,
7 7
     schDetailAddrFromCoords: function(coords, callback) {
@@ -39,36 +39,42 @@ let kakaoMap = {
39 39
             map: map // 마커를 표시할 지도 객체
40 40
         });
41 41
     },
42
-    load: function(locate) {
42
+    load: function(locate, latX, longY) {
43 43
         var _this = this;
44 44
         kakao.maps.load(function() {
45 45
             var map = _this.getMap(_this.formId + '_MAP');
46 46
             // 주소-좌표 변환 객체를 생성합니다
47 47
             _this.geocoder = new kakao.maps.services.Geocoder();
48
-            if( !locate || locate.length == 0 ) {
49
-                // 지도에 마커를 생성하고 표시한다
50
-                _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
51
-            } else {
52
-                // 주소로 좌표를 검색합니다
53
-                _this.geocoder.addressSearch(locate, function(result, status) {
54
-                    // 정상적으로 검색이 완료됐으면
55
-                    if (status === kakao.maps.services.Status.OK) {
48
+            var mapMoveFn = function(result) {
49
+                var coords = new kakao.maps.LatLng(result.y, result.x);
50
+                if(_this.formId.lastIndexOf('DETAIL') > -1) {
51
+                    document.getElementById(_this.formId + '_LAT').value = result.y;
52
+                    document.getElementById(_this.formId + '_LNG').value = result.x;
53
+                }
56 54
 
57
-                        var coords = new kakao.maps.LatLng(result[0].y, result[0].x);
58
-                        if(_this.formId.lastIndexOf('DETAIL') > -1) {
59
-                            document.getElementById(_this.formId + '_LAT').value = result[0].y;
60
-                            document.getElementById(_this.formId + '_LNG').value = result[0].x;
61
-                        }
55
+                // 결과값으로 받은 위치를 마커로 표시합니다
56
+                _this.marker(map, coords);
62 57
 
63
-                        // 결과값으로 받은 위치를 마커로 표시합니다
64
-                        _this.marker(map, coords);
65
-
66
-                        // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
67
-                        map.setCenter(coords);
68
-                    } else {
69
-                        _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
70
-                    }
71
-                });
58
+                // 지도의 중심을 결과값으로 받은 위치로 이동시킵니다
59
+                map.setCenter(coords);
60
+            };
61
+            if((latX && longY) && (latX !== '' && longY !== '')) {
62
+                mapMoveFn({'x':longY, 'y':latX});
63
+            } else {
64
+                if(!locate || locate.length == 0 ) {
65
+                    // 지도에 마커를 생성하고 표시한다
66
+                    _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
67
+                } else {
68
+                    // 주소로 좌표를 검색합니다
69
+                    _this.geocoder.addressSearch(locate, function(result, status) {
70
+                        // 정상적으로 검색이 완료됐으면
71
+                        if (status === kakao.maps.services.Status.OK) {
72
+                            mapMoveFn(result[0]);
73
+                        } else {
74
+                            _this.marker(map, new kakao.maps.LatLng(37.56684, 126.97865));
75
+                        }
76
+                    });
77
+                }
72 78
             }
73 79
 
74 80
             if(_this.formId.lastIndexOf('DETAIL') > -1) {

+ 4 - 4
src/main/webapp/js/app/oper/ITP_OPER01010.js

@@ -82,7 +82,7 @@ const gridColModel = {
82 82
 		},
83 83
 		{
84 84
 			index: 'TEL_NO', name: 'telNo',
85
-			label: ITP_MSG_LOCALE.label.telNo, //휴대폰 번호
85
+			label: ITP_MSG_LOCALE.label.telephone, //휴대폰 번호
86 86
 			width: '10', fixed: false, align: 'center',
87 87
 			sortable: false, hidden: false
88 88
 		},
@@ -548,8 +548,8 @@ let createObj = {
548 548
 	button: {
549 549
 		duplicate: function() {
550 550
 			const formId = '#ITP_FORM_OPER01010_DETAIL';
551
-			itp_fn_form_clear_validate(null, formId + '_DETAIL');
552
-			var vali_userId = itp_fn_form_validate(formId + '_DETAIL', formId + '_USER_ID', ['empty'], undefined);
551
+			itp_fn_form_clear_validate(null, formId);
552
+			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
553 553
 			if (vali_userId) {
554 554
 				var dupFn = function(result) {
555 555
 					if (result.code == 'N') {
@@ -734,7 +734,7 @@ let afflShopObj = {
734 734
 				$('#ITP_FORM_OPER01010_DETAIL_SEARCH_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
735 735
 			}
736 736
 			if(rowDataPop.AFFL_BRAND) {
737
-				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_OPER01010_DETAIL_BRAND_NM', true, '선택');
737
+				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_OPER01010_DETAIL_BRAND_ID', true, '선택');
738 738
 			}
739 739
 		}
740 740
 	}

+ 49 - 36
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -60,7 +60,7 @@ const gridColModel = {
60 60
 		{
61 61
 			index: 'TARGET_NM', name: 'targetNm',
62 62
 			label: ITP_MSG_LOCALE.label.targetNm, //공지대상
63
-			width: '10', fixed: false, align: 'center',
63
+			width: '8', fixed: false, align: 'center',
64 64
 			sortable: false, hidden: false
65 65
 		},
66 66
 		{
@@ -72,7 +72,7 @@ const gridColModel = {
72 72
 		{
73 73
 			index: 'NOTI_ST_DAY', name: 'notiStDay',
74 74
 			label: ITP_MSG_LOCALE.label.viewDt, //노출일
75
-			width: '10', fixed: false, align: 'center',
75
+			width: '12', fixed: false, align: 'center',
76 76
 			sortable: false, hidden: false
77 77
 		},
78 78
 		{
@@ -150,10 +150,11 @@ let pageObj = {
150 150
 	pageMode: '',
151 151
 	ui: {
152 152
 		init: function () {
153
-			this.button();
153
+			this.view();
154
+			this.view();
154 155
 			this.ready();
155 156
 		},
156
-		button: function () {
157
+		view: function () {
157 158
 			// 버튼 권한설정
158 159
 			fn_proc_btn_auth('OPER02010');
159 160
 
@@ -173,7 +174,7 @@ let pageObj = {
173 174
 		afflInfo: {
174 175
 			init: function() {
175 176
 				this.authTpCd 		= fn_make_user_info.get('authTpCd');
176
-				if(this.authTpCd === '30' || this.authTpCd === '40') {
177
+				if(this.authTpCd === '30' || this.authTpCd === '40' || this.authTpCd === '50') {
177 178
 					this.afflShopId 	= fn_make_user_info.get('afflShopId');
178 179
 					this.afflShopNm 	= fn_make_user_info.get('afflShopNm');
179 180
 					this.brandId 		= fn_make_user_info.get('brandId');
@@ -183,8 +184,10 @@ let pageObj = {
183 184
 			},
184 185
 			setAffl: function() {
185 186
 				var _this = this;
186
-				var afflShopId = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'ADD' ? 'DETAIL' : 'SEARCH') + '_AFFL_SHOP_ID';
187
-				var afflShopNm = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'ADD' ? 'DETAIL' : 'SEARCH') + '_AFFL_SHOP_NM';
187
+				var afflShopId = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'LIST' ? 'SEARCH' : 'DETAIL') + '_AFFL_SHOP_ID';
188
+				var afflShopNm = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'LIST' ? 'SEARCH' : 'DETAIL') + '_AFFL_SHOP_NM';
189
+				// var afflShopId = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'ADD' ? 'DETAIL' : 'SEARCH') + '_AFFL_SHOP_ID';
190
+				// var afflShopNm = '#ITP_FORM_OPER02010_' + (pageObj.pageMode === 'ADD' ? 'DETAIL' : 'SEARCH') + '_AFFL_SHOP_NM';
188 191
 				$(afflShopId).val(_this.afflShopId);
189 192
 				$(afflShopNm).val(_this.afflShopNm);
190 193
 				$(afflShopNm).attr('readonly', true);
@@ -207,9 +210,8 @@ let pageObj = {
207 210
 			},
208 211
 			setBrand: function(AFFL_BRAND) {
209 212
 				var _this = this;
210
-				console.log(AFFL_BRAND);
211 213
 				if(AFFL_BRAND.length > 0) {
212
-					var brandId = 'ITP_FORM_OPER02010_' + (pageObj.pageMode === 'ADD' ? 'DETAIL' : 'SEARCH') + '_BRAND_ID';
214
+					var brandId = 'ITP_FORM_OPER02010_' + (pageObj.pageMode === 'LIST' ? 'SEARCH' : 'DETAIL') + '_BRAND_ID';
213 215
 					console.log(brandId);
214 216
 					(_this.authTpCd === '30') ?  fn_make_select_brand(AFFL_BRAND, brandId, true, '선택') : fn_make_select_brand(AFFL_BRAND, brandId, false);
215 217
 				} else {
@@ -244,6 +246,9 @@ let pageObj = {
244 246
 				});
245 247
 			});
246 248
 
249
+		},
250
+		notiTarget: function(isDisabled) {
251
+			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_TARGET_CD').attr('disabled', isDisabled);
247 252
 		}
248 253
 	},
249 254
 	fileUpload: function() {
@@ -294,13 +299,16 @@ let pageObj = {
294 299
 			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_FILE_NO').val('');
295 300
 
296 301
 			pageObj.ui.afflInfo.init();
302
+			pageObj.event.notiTarget(fn_make_user_info.get('authTpCd') === '10');
297 303
 		} else if(mode === 'MODIFY') { // 수정
298 304
 			$('#ITP_AJAX_OPER02010_DETAIL_CONTAINER').show();
299 305
 			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_CANCELLIST', '#ITP_BTN_OPER02010_SAVE', '#ITP_BTN_OPER02010_RESET_PW']);
300 306
 			$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_NM').prop('readonly', true);
307
+			if(fn_make_user_info.get('authTpCd') === '30') {
308
+				pageObj.ui.afflInfo.init();
309
+			}
301 310
 		} else if(mode === 'VIEW') { // 보기
302 311
 			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').show();
303
-			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_MODIFY', '#ITP_BTN_OPER02010_CANCELLIST']);
304 312
 		}
305 313
 	}/*,
306 314
 	grid: {
@@ -508,10 +516,19 @@ let viewObj = {
508 516
 		$('#ITP_FORM_OPER02010_VIEW .fnNticeDesc').html(result.nticeDesc.replace(/(\n|\r\n)/g, '<br>'));
509 517
 		$('#ITP_FORM_OPER02010_VIEW .fnTargetNm').text(result.targetNm);
510 518
 		$('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(result.fileNo); //파일번호 셋팅
519
+		$('#ITP_FORM_OPER02010_VIEW .fnAddId').text(result.addId);
520
+		$('#ITP_FORM_OPER02010_VIEW .fnAddNm').text(result.addNm);
511 521
 
512 522
 		itp_fn_attach_file.view('ITP_OPER02010_VIEW_UPLOAD', result.fileNoList
513 523
 			, 'form-control itp_input', 'border:none; top:0px; left:12px; height:100px; width:125px; position:absolute;');
514 524
 
525
+		// if(result.addId === fn_make_user_info.get('userId')) {
526
+		if(fn_make_user_info.get('authTpCd') === '10' || result.addId === fn_make_user_info.get('userId')) {
527
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_MODIFY', '#ITP_BTN_OPER02010_CANCELLIST']);
528
+		} else {
529
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_CANCELLIST']);
530
+		}
531
+
515 532
 		// 권한정보 리스트 조회
516 533
 		// pageObj.grid.init('VIEW');
517 534
 	}
@@ -544,30 +561,33 @@ let modifyObj = {
544 561
 		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DEL_YN').val(result.delYn);
545 562
 		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_NTICE_DESC').val(result.nticeDesc);
546 563
 		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_TARGET_CD').val(result.targetCd);
547
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_BRAND').prop('checked', result.brandChk === 'Y');
548
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_STORE').prop('checked', result.shopChk === 'Y');
549
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SPPLY').prop('checked', result.supplyChk === 'Y');
550
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_BRAND_CHK').val(result.brandChk);
551
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_STORE_CHK').val(result.shopChk);
552
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SPPLY_CHK').val(result.supplyChk);
564
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_BRAND').prop('checked', result.brandChk === 'Y');
565
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_STORE').prop('checked', result.shopChk === 'Y');
566
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SPPLY').prop('checked', result.supplyChk === 'Y');
567
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_BRAND_CHK').val(result.brandChk);
568
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_STORE_CHK').val(result.shopChk);
569
+		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SPPLY_CHK').val(result.supplyChk);
553 570
 		$('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val(result.fileNo); //파일번호 셋팅
554 571
 
555 572
 		// 가맹점 셋팅
556
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_ID').val(result.afflShopId);
557
-		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_NM').val(result.afflShopNm);
573
+		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
574
+		$('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);
558 575
 		// $('#ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP').attr('disabled', true);
559 576
 		// $('#ITP_FORM_OPER02010_DETAIL_DELETE_AFFL_SHOP').attr('disabled', true);
560 577
 		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
561 578
 		// $('#ITP_FORM_OPER02010_DETAIL #ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID').attr('readonly', true);
562
-		if(result.brandId && result.brandId != '') {
579
+
580
+		pageObj.ui.afflInfo.init();
581
+		if(result.brandId && result.brandId !== '') {
563 582
 			var brandList = [{'brandId':result.brandId, 'brandNm':result.brandNm}];
564 583
 			fn_make_select_brand(brandList, 'ITP_FORM_OPER02010_DETAIL_SEARCH_BRAND_ID');
565 584
 		}
566 585
 
567
-		if(result.targetCd && result.targetCd != '') {
568
-			$('#ITP_BTN_OPER02010_DETAIL_ADDROW').attr('disabled', false);
569
-			$('#ITP_BTN_OPER02010_DETAIL_DELROW').attr('disabled', false);
570
-		}
586
+		pageObj.event.notiTarget(result.afflShopId === '');
587
+		// if(result.targetCd && result.targetCd != '') {
588
+		// 	$('#ITP_BTN_OPER02010_DETAIL_ADDROW').attr('disabled', false);
589
+		// 	$('#ITP_BTN_OPER02010_DETAIL_DELROW').attr('disabled', false);
590
+		// }
571 591
 
572 592
 		//파일업로드(수정화면)
573 593
 		pageObj.fileUpload();
@@ -623,6 +643,10 @@ let createObj = {
623 643
 			const formId = '#ITP_FORM_OPER02010_DETAIL';
624 644
 			itp_fn_form_clear_validate(null, formId);
625 645
 
646
+			$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').attr('disabled', false);
647
+			if(fn_make_user_info.get('authTpCd') === '30') {
648
+				$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').val('A');
649
+			}
626 650
 			if (itp_fn_form_event.isValid(formId)) {
627 651
 				// let gridInsertData = [];
628 652
 				// let gridUpdateData = [];
@@ -641,7 +665,6 @@ let createObj = {
641 665
 				// 		}
642 666
 				// 	}
643 667
 				// });
644
-				$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').attr('disabled', false);
645 668
 				let param = $(formId).serializeObject();
646 669
 				// param.gridInsertData = gridInsertData;
647 670
 				// param.gridUpdateData = gridUpdateData;
@@ -664,7 +687,6 @@ let createObj = {
664 687
 /*가맹점 조회 Object*/
665 688
 let afflShopObj = {
666 689
 	init: function() {
667
-		// (LOGIN_USER_INFO.authTpCd === '10' || (LOGIN_USER_INFO.authTpCd === '20') ? this.action() : this.make();
668 690
 		this.action();
669 691
 	},
670 692
 	button: function() {
@@ -690,19 +712,9 @@ let afflShopObj = {
690 712
 			$('select#ITP_FORM_OPER02010_DETAIL_BRAND_ID option').remove();
691 713
 			$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD option:eq(0)').prop('selected', true);
692 714
 			// $('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').trigger('change');
715
+			pageObj.event.notiTarget(true);
693 716
 		});
694 717
 	},
695
-	make: function() {
696
-		$('#ITP_FORM_OPER02010_SEARCH_AFFL_SHOP').hide();
697
-		$('#ITP_FORM_OPER02010_DELETE_AFFL_SHOP').hide();
698
-		if(AFFL_SHOP_LIST) {
699
-			$('#ITP_FORM_OPER02010_SEARCH_AFFL_SHOP_ID').val(AFFL_SHOP_LIST[0].afflShopId);
700
-			$('#ITP_FORM_OPER02010_SEARCH_AFFL_SHOP_NM').val(AFFL_SHOP_LIST[0].afflShopNm);
701
-		}
702
-		if(AFFL_BRAND_LIST) {
703
-			fn_make_select_brand(AFFL_BRAND_LIST, 'ITP_FORM_OPER02010_SEARCH_BRAND_ID');
704
-		}
705
-	},
706 718
 	action: function() {
707 719
 		this.button();
708 720
 	},
@@ -715,6 +727,7 @@ let afflShopObj = {
715 727
 			if(rowDataPop.AFFL_SHOP) {
716 728
 				$('#'+ id + '_AFFL_SHOP_ID').val(rowDataPop.AFFL_SHOP.afflShopId);
717 729
 				$('#'+ id + '_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
730
+				if(view === 'C') pageObj.event.notiTarget(false);
718 731
 			}
719 732
 			if(rowDataPop.AFFL_BRAND) {
720 733
 				fn_make_select_brand(rowDataPop.AFFL_BRAND, id + '_BRAND_ID', true, '선택');

+ 6 - 4
src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -272,6 +272,8 @@ let pageObj = {
272 272
 			$('.fnAfflShopId').text('(자동부여)');
273 273
 			$('#ITP_FORM_OPER03010_DETAIL .itp_form_info').hide();
274 274
 
275
+			$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_STT_DT').datepicker('setDate', new Date());
276
+			$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_END_DT').datepicker('setDate', itp_fn_date_add('Y', 1));
275 277
 		} else if(mode === 'MODIFY') { // 수정
276 278
 			$('#ITP_AJAX_OPER03010_DETAIL_CONTAINER').show();
277 279
 			fn_show_btn_auth_array(['#ITP_BTN_OPER03010_CANCELLIST', '#ITP_BTN_OPER03010_SAVE', '#ITP_BTN_OPER03010_RESET_PW']);
@@ -492,7 +494,7 @@ let viewObj = {
492 494
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
493 495
 
494 496
 		let locate = result.addr1 + ' ' + result.addr2;
495
-		kakaoMap.init('ITP_FORM_OPER03010_VIEW', locate);
497
+		kakaoMap.init('ITP_FORM_OPER03010_VIEW', locate, result.latX, result.longY);
496 498
 
497 499
 		// 영업담당자정보  리스트 조회
498 500
 		pageObj.grid.init('VIEW', result.saleList);
@@ -534,8 +536,8 @@ let modifyObj = {
534 536
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_OWNER_NM').val(result.ownerNm);
535 537
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_CTGR_BSNS').val(result.ctgrBsns);
536 538
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_OWNER_TEL_NO').val(result.ownerTelNo);
537
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_STT_DT').val(result.joinSttDt);
538
-		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_END_DT').val(result.joinEndDt);
539
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_STT_DT').val(result.joinSttDt === '' ? today : result.joinSttDt);
540
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_SEARCH_JOIN_END_DT').val(result.joinEndDt === '' ? today : result.joinEndDt);
539 541
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ZIPNO').val(result.zipNo);
540 542
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ADRES').val(result.addr1);
541 543
 		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_ADRES_DTL').val(result.addr2);
@@ -548,7 +550,7 @@ let modifyObj = {
548 550
 		itp_fn_attach_file.view('ITP_OPER03010_DETAIL_LOGO_FILE', result.fileLogNoList
549 551
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;');
550 552
 
551
-		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', $('#ITP_FORM_OPER03010_DETAIL_ADRES').val());
553
+		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', $('#ITP_FORM_OPER03010_DETAIL_ADRES').val(), result.latX, result.longY);
552 554
 
553 555
 		// 권한정보 리스트 조회
554 556
 		pageObj.grid.init('MODIFY', result.saleList);

+ 4 - 4
src/main/webapp/js/app/oper/ITP_OPER03011.js

@@ -316,7 +316,7 @@ let viewObj = {
316 316
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
317 317
 
318 318
 		let locate = result.addr1 + ' ' + result.addr2;
319
-		kakaoMap.init('ITP_FORM_OPER03011_VIEW', locate);
319
+		kakaoMap.init('ITP_FORM_OPER03011_VIEW', locate, result.latX, result.longY);
320 320
 
321 321
 		// 영업담당자정보  리스트 조회
322 322
 		pageObj.grid.init('VIEW', result.saleList);
@@ -434,8 +434,8 @@ let modifyObj = {
434 434
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_OWNER_NM').val(result.ownerNm);
435 435
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_CTGR_BSNS').val(result.ctgrBsns);
436 436
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_OWNER_TEL_NO').val(result.ownerTelNo);
437
-		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_SEARCH_JOIN_STT_DT').val(result.joinSttDt);
438
-		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_SEARCH_JOIN_END_DT').val(result.joinEndDt);
437
+		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_SEARCH_JOIN_STT_DT').val(result.joinSttDt === '' ? today : result.joinSttDt);
438
+		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_SEARCH_JOIN_END_DT').val(result.joinEndDt === '' ? today : result.joinEndDt);
439 439
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_ZIPNO').val(result.zipNo);
440 440
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_ADRES').val(result.addr1);
441 441
 		$('#ITP_FORM_OPER03011_DETAIL #ITP_FORM_OPER03011_DETAIL_ADRES_DTL').val(result.addr2);
@@ -446,7 +446,7 @@ let modifyObj = {
446 446
 		itp_fn_attach_file.view('ITP_FORM_OPER03011_DETAIL_LOGO_FILE', result.fileLogNoList
447 447
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;');
448 448
 
449
-		kakaoMap.init('ITP_FORM_OPER03011_DETAIL', $('#ITP_FORM_OPER03011_DETAIL_ADRES').val());
449
+		kakaoMap.init('ITP_FORM_OPER03011_DETAIL', $('#ITP_FORM_OPER03011_DETAIL_ADRES').val(), result.latX, result.longY);
450 450
 
451 451
 		// 권한정보 리스트 조회
452 452
 		pageObj.grid.init('MODIFY', result.saleList);

+ 11 - 5
src/main/webapp/js/app/oper/ITP_OPER04010.js

@@ -171,7 +171,7 @@ let pageObj = {
171 171
                 }
172 172
             });
173 173
 
174
-            $('#ITP_FORM_OPER04010_DETAIL_PW').data('check-required', 'empty');
174
+            $('#ITP_FORM_OPER04010_DETAIL_USER_PW').data('check-required', 'empty');
175 175
             $('#ITP_FORM_OPER04010_DETAIL_USER_PW_CONFIRM').data('check-required', 'empty');
176 176
             $('#ITP_FORM_OPER04010_DETAIL_EMAL_ADDR').data('check-required', 'empty');
177 177
         } else if(mode == 'MODIFY') { // 수정
@@ -185,7 +185,7 @@ let pageObj = {
185 185
             $('#ITP_FORM_OPER04010_DETAIL_SALE_MGR_ID').attr('readonly', true);
186 186
             $('#ITP_FORM_OPER04010_DETAIL_DUP').attr('disabled', true);
187 187
 
188
-            $('#ITP_FORM_OPER04010_DETAIL_PW').data('check-required', '');
188
+            $('#ITP_FORM_OPER04010_DETAIL_USER_PW').data('check-required', '');
189 189
             $('#ITP_FORM_OPER04010_DETAIL_USER_PW_CONFIRM').data('check-required', '');
190 190
             $('#ITP_FORM_OPER04010_DETAIL_EMAL_ADDR').data('check-required', '');
191 191
         } else if(mode == 'VIEW') { // 보기
@@ -379,8 +379,8 @@ let createObj = {
379 379
     button: {
380 380
         duplicate: function() {
381 381
             const formId = '#ITP_FORM_OPER04010_DETAIL';
382
-            itp_fn_form_clear_validate(null, formId + '_DETAIL');
383
-            var vali_salesUserId = itp_fn_form_validate(formId + '_DETAIL', formId + '_TMP_SALE_MGR_ID', ['empty'], undefined);
382
+            itp_fn_form_clear_validate(null, formId);
383
+            var vali_salesUserId = itp_fn_form_validate(formId, formId + '_TMP_SALE_MGR_ID', ['empty'], undefined);
384 384
             if (vali_salesUserId) {
385 385
                 var dupFn = function(result) {
386 386
                     if (result.code == 'N') {
@@ -428,7 +428,13 @@ let createObj = {
428 428
             itp_fn_form_clear_validate(null, formId);
429 429
 
430 430
             if (itp_fn_form_event.isValid(formId)) {
431
-
431
+                if($(formId + ' #ITP_FORM_OPER04010_DETAIL_USER_PW').val() !== $(formId + ' #ITP_FORM_OPER04010_DETAIL_USER_PW_CONFIRM').val()) {
432
+                    var element = '#ITP_FORM_OPER04010_DETAIL_USER_PW';
433
+                    $(element).closest('.itp_ip').addClass('has-error');
434
+                    var error_msg = $('<span class="help-block">' + ITP_MSG_LOCALE.message.form.wrongPwd + '</span>');
435
+                    error_msg.insertAfter($(element));
436
+                    return;
437
+                }
432 438
                 if (ITP_FORM_OPER04010_DETAIL_IS_DUPLICATE) {
433 439
                     itp_fn_modal_duplicate('영업담당자 ID 중복체크를 해주세요.', formId + '_SALES_USER_ID');
434 440
                 } else {

+ 20 - 2
src/main/webapp/js/app/oper/ITP_OPER06010.js

@@ -129,6 +129,16 @@ let pageObj = {
129 129
                     $(this).data('alert-msg', ITP_MSG_LOCALE.message.form.emptyAddr);
130 130
                 }
131 131
             });
132
+
133
+            itp_fn_form_event.onKeyup('#ITP_FORM_OPER03010_DETAIL');
134
+            //pg사아이디 선택시 보이게함
135
+            $('#ITP_FORM_OPER06010_DETAIL_PG_ID').on('change', function() {
136
+                if($(this).val() === '') {
137
+                    $('#ITP_FORM_OPER06010_DETAIL .itp_form_pg').hide();
138
+                } else {
139
+                    $('#ITP_FORM_OPER06010_DETAIL .itp_form_pg').show();
140
+                }
141
+            });
132 142
         },
133 143
         grid: function() {
134 144
             itp_fn_jqgrid_resize(OPER06010_GRID_ID, OPER06010_GRID_LIST, 'lg');
@@ -191,10 +201,14 @@ let pageObj = {
191 201
         if(mode == 'LIST') { // 목록
192 202
             fn_show_btn_auth_array(['#ITP_BTN_OPER06010_SRH', '#ITP_BTN_OPER06010_NEWREG']);
193 203
             $('#ITP_AJAX_OPER06010_LIST_CONTAINER').show();
204
+            
194 205
         } else if(mode == 'ADD') { // 등록
195 206
             $('#ITP_AJAX_OPER06010_DETAIL_CONTAINER').show();
207
+            
208
+			
196 209
             fn_show_btn_auth_array(['#ITP_BTN_OPER06010_CANCELLIST', '#ITP_BTN_OPER06010_SAVE']);
197 210
 
211
+            
198 212
             $('#ITP_FORM_OPER06010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
199 213
                 $(this).attr('id') === 'ITP_FORM_OPER06010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
200 214
                 if(elem.type === 'select') {
@@ -217,6 +231,8 @@ let pageObj = {
217 231
             $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
218 232
 
219 233
             $('.fnBrandId').text('(자동부여)');
234
+
235
+            $('#ITP_FORM_OPER06010_DETAIL_PG_ID').trigger('change');
220 236
         } else if(mode == 'MODIFY') { // 수정
221 237
             $('#ITP_AJAX_OPER06010_DETAIL_CONTAINER').show();
222 238
             fn_show_btn_auth_array(['#ITP_BTN_OPER06010_CANCELLIST', '#ITP_BTN_OPER06010_SAVE']);
@@ -390,7 +406,7 @@ let viewObj = {
390 406
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
391 407
 
392 408
         let locate = result.addr1 + ' ' + result.addr2;
393
-        kakaoMap.init('ITP_FORM_OPER06010_VIEW', locate);
409
+        kakaoMap.init('ITP_FORM_OPER06010_VIEW', locate, result.latX, result.longY);
394 410
 
395 411
     }
396 412
 };
@@ -442,13 +458,15 @@ let modifyObj = {
442 458
         $('#ITP_FORM_OPER06010_DETAIL .fnAddDt').text(result.sysRegDttm);
443 459
         $('#ITP_FORM_OPER06010_DETAIL .fnChgDt').text(result.sysChgDttm);
444 460
 
461
+        $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_PG_ID').trigger('change');
462
+
445 463
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val(result.brandLogoFileNo);
446 464
         pageObj.fileUpload();
447 465
         itp_fn_attach_file.view('ITP_OPER06010_DETAIL_LOGO_FILE', result.fileLogNoList
448 466
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
449 467
 
450 468
         let locate = result.addr1 + ' ' + result.addr2;
451
-        kakaoMap.init('ITP_FORM_OPER06010_DETAIL', locate);
469
+        kakaoMap.init('ITP_FORM_OPER06010_DETAIL', locate, result.latX, result.longY);
452 470
 
453 471
     }
454 472
 };

+ 5 - 3
src/main/webapp/js/app/pomng/ITP_POMNG01010.js

@@ -244,13 +244,15 @@ let pageObj = {
244 244
 					var exists = '';
245 245
 					const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
246 246
 					$.each(rowData, function(key, value) {
247
-						exists = exists + value.itemId + ';';
247
+						//exists = exists + value.itemId + ';';
248
+						exists = exists + value.brandUnitUnqNo + ';';
248 249
 					});
249 250
 
250 251
 					$.each(rowDataPop, function(key, value) {
251
-						if (exists.indexOf(value.itemId) < 0 && value.podrPssblDvsn == 'PO01') {
252
+						// if (exists.indexOf(value.itemId) < 0 && value.podrPssblDvsn == 'PO01') {
253
+						if (exists.indexOf(value.brandUnitUnqNo) < 0 && value.podrPssblDvsn == 'PO01') {
252 254
 							value['viewCd'] = "C";
253
-							$(POMNG01010_DETAIL_GRID_ID).jqGrid('addRowData', value.itemId, value, 'last');
255
+							$(POMNG01010_DETAIL_GRID_ID).jqGrid('addRowData', value.brandUnitUnqNo, value, 'last');
254 256
 						}
255 257
 					});
256 258
 					$(POMNG01010_DETAIL_GRID_EMPTY).hide();

+ 424 - 0
src/main/webapp/js/app/pomng/ITP_POMNG01010.js12

@@ -0,0 +1,424 @@
1
+require(['config'], function() {
2
+	require([
3
+	], function($) {
4
+		pageObj.init();
5
+	});
6
+});
7
+
8
+/********************************************************
9
+ --------------------------------------------------------
10
+ - Object 목록								            -
11
+ --------------------------------------------------------
12
+ * const gridColModel = {}	: 화면 Grid Object			*
13
+ * let pageObj = {}			: 화면공통 Object			*
14
+ * let listObj = {}			: 목록화면 Object			*
15
+ * let viewObj = {}			: 상세화면 Object			*
16
+ * let modifyObj = {}		: 수정화면 Object			*
17
+ * let createObj = {}		: 신규화면 Object			*
18
+ *******************************************************/
19
+
20
+/*화면 변수*/
21
+/*
22
+const POMNG01010_GRID_ID = '#ITP_POMNG01010_jqGrid';
23
+const POMNG01010_GRID_LIST = '#ITP_POMNG01010_jqGrid_list';
24
+const POMNG01010_GRID_PAGER = '#ITP_POMNG01010_jqGridPager';
25
+const POMNG01010_GRID_EMPTY = '#ITP_POMNG01010_jqGridEmpty';
26
+
27
+const POMNG01010_VIEW_GRID_ID = '#ITP_POMNG01010_VIEW_jqGrid';
28
+const POMNG01010_VIEW_GRID_LIST = '#ITP_POMNG01010_VIEW_jqGrid_list';
29
+const POMNG01010_VIEW_GRID_PAGER = '#ITP_POMNG01010_VIEW_jqGridPager';
30
+const POMNG01010_VIEW_GRID_EMPTY = '#ITP_POMNG01010_VIEW_jqGridEmpty';
31
+*/
32
+const POMNG01010_DETAIL_GRID_ID = '#ITP_POMNG01010_DETAIL_jqGrid';
33
+const POMNG01010_DETAIL_GRID_LIST = '#ITP_POMNG01010_DETAIL_jqGrid_list';
34
+const POMNG01010_DETAIL_GRID_PAGER = '#ITP_POMNG01010_DETAIL_jqGridPager';
35
+const POMNG01010_DETAIL_GRID_EMPTY = '#ITP_POMNG01010_DETAIL_jqGridEmpty';  // ==>dwkim html확인필요
36
+
37
+/*
38
+let ITP_FORM_POMNG01010_DETAIL_IS_DUPLICATE = false;
39
+let ITP_FORM_POMNG01010_DETAIL_IS_WRITING = false;
40
+*/
41
+
42
+/*API URL*/
43
+let API_DETAIL_INIT_INFO = '/api/pomng/init-pchReq'
44
+//let API_DETAIL_GRID_LIST = '/api/affl/detail-grid-list';
45
+//let API_DETAIL_INFO = '/api/affl/info-affl';
46
+//let COMPANY_INFO_COMPANY = '/api/affl/info-affl';
47
+let API_DETAIL_SAVE = '/api/pomng/save-pchReq';
48
+//let API_CHECK_DUPLICATE = '/api/affl/check-duplicate';
49
+//let API_INTI_USERPW = '/api/user/inti-userpw';
50
+
51
+/*화면 Grid ColModel   ==>선택박스 항목 추가 부분  */
52
+const gridColModel = {
53
+	detail: [
54
+		{
55
+			index: 'VIEW_CD', name: 'viewCd',
56
+			label: ITP_MSG_LOCALE.label.viewCd,
57
+			width: '10', fixed: false, align: 'center',
58
+			sortable: false, hidden: true
59
+		},
60
+		{
61
+			index: 'ITEM_ID', name: 'itemId',
62
+			label: ITP_MSG_LOCALE.label.itemId,
63
+			width: '20', fixed: false, align: 'center',
64
+			sortable: false, editable: false, edittype: 'text',
65
+			editrules: { required: true }
66
+		},
67
+		{
68
+			index: 'ITEM_NM', name: 'itemNm',
69
+			label: ITP_MSG_LOCALE.label.itemNm,
70
+			width: '30', fixed: false, align: 'center',
71
+			sortable: true, editable: false, edittype: 'text',
72
+			editrules: { required: true }
73
+		},
74
+		{
75
+			index: 'UNIT', name: 'unit',
76
+			label: ITP_MSG_LOCALE.label.unit,
77
+			width: '10', fixed: false, align: 'center',
78
+			sortable: false, editable: false, edittype: 'text'
79
+		},
80
+		{
81
+			index: 'UNIT_AMT', name: 'unitAmt',
82
+			label: ITP_MSG_LOCALE.label.unitAmt,
83
+			width: '10', fixed: false, align: 'center',
84
+			sortable: false, editable: false, edittype: 'text', hidden: false
85
+		},
86
+		{
87
+			index: 'PCH_REQ_QTY', name: 'pchReqQty',
88
+			label: ITP_MSG_LOCALE.label.pchReqQty, //단가
89
+			width: '10', fixed: false, align: 'right',
90
+			sortable: true, editable: true, edittype: 'text',
91
+			editrules: { number:true}
92
+		},
93
+		{
94
+			index: 'PCH_REQ_AMT', name: 'pchReqAmt',
95
+			label: ITP_MSG_LOCALE.label.pchReqAmt,
96
+			width: '10', fixed: false, align: 'right',
97
+			sortable: false, editable: false, edittype: 'text', hidden: false
98
+		},
99
+
100
+		{
101
+			index: 'BRAND_UNIT_UNQ_NO', name: 'brandUnitUnqNo',
102
+			label: ITP_MSG_LOCALE.label.brandUnitUnqNo,
103
+			width: '10', fixed: false, align: 'center',
104
+			sortable: false, editable: false, edittype: 'text', hidden: true
105
+		},
106
+		{
107
+			index: 'STORE_UNIT_UNQ_NO', name: 'storeUnitUnqNo',
108
+			label: ITP_MSG_LOCALE.label.storeUnitUnqNo,
109
+			width: '10', fixed: false, align: 'center',
110
+			sortable: false, editable: false, edittype: 'text', hidden: true
111
+		},
112
+		{
113
+			index: 'UNIT_GUBUN', name: 'unitGubun',
114
+			label: ITP_MSG_LOCALE.label.unitGubun,
115
+			width: '10', fixed: false, align: 'center',
116
+			sortable: false, editable: false, edittype: 'text', hidden: true
117
+		}
118
+	]
119
+};
120
+
121
+/*화면공통 Object*/
122
+let pageObj = {
123
+	init: function() {
124
+		this.ui.init();
125
+		this.event.init();
126
+		this.action();
127
+	},
128
+	action: function () {
129
+		var _this = this;
130
+		// 납품장소 조회 버튼 클릭
131
+		$('#ITP_FORM_POMNG01010_SEARCH_WHS_NM').on('click', function() {
132
+			_this.popup();
133
+		});
134
+		// 납품장소 텍스트 삭제 버튼 클릭
135
+		$('#ITP_FORM_POMNG01010_DELETE_WHS_NM').on('click', function() {
136
+			$('#ITP_FORM_POMNG01010_DETAIL_WHS_NM').val('');
137
+			$('#ITP_FORM_POMNG01010_DETAIL_WHS_ID').val('');
138
+			$('#ITP_FORM_POMNG01010_DETAIL_LOCATION_NM').val('');
139
+			$('#ITP_FORM_POMNG01010_DETAIL_LOCATION').val('');
140
+			
141
+		});
142
+	},
143
+	popup: function () {
144
+		// 팝업
145
+		var popFn = this.callback.create;
146
+		const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
147
+		fn_call_popup('biz', 'BIZPOP_WHS_LOCATION', '#ITP_ASIDE', popFn, key, 'S');
148
+		
149
+	},
150
+	callback: {
151
+		create: function(rowDataPop) {
152
+			console.log(rowDataPop);
153
+			if(rowDataPop) {
154
+				$('#ITP_FORM_POMNG01010_DETAIL_WHS_NM').val(rowDataPop.whsNm);
155
+				$('#ITP_FORM_POMNG01010_DETAIL_WHS_ID').val(rowDataPop.whsId);
156
+				$('#ITP_FORM_POMNG01010_DETAIL_LOCATION_NM').val(rowDataPop.locationNm);
157
+				$('#ITP_FORM_POMNG01010_DETAIL_LOCATION').val(rowDataPop.location);
158
+			}
159
+			
160
+		}
161
+	},
162
+	itp_POMNG01010_param: {},  // ==>dwkim 
163
+	itp_POMNG01010_search: false,  // ==>dwkim 
164
+	ui: {
165
+		init: function() {
166
+			this.view();
167
+			this.grid();
168
+			this.ready();
169
+		},
170
+		view: function() {
171
+			// 버튼 권한설정
172
+			fn_proc_btn_auth('POMNG01010');
173
+			
174
+			// 공통코드 표시
175
+			$('select').each(function() {
176
+				if ($(this).data('select-code')) {
177
+					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
178
+				}
179
+			});
180
+
181
+			// 조회일자 지정
182
+			//var now = new Date(date.getDate() + 5);
183
+			var now = new Date();
184
+			$('#ITP_TAB_POMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
185
+			$('#ITP_FORM_POMNG01010_DETAIL_DLV_REQ_DT').datepicker('setDate', new Date(now.setDate(now.getDate() + 5)));
186
+			
187
+			
188
+			
189
+			//납품장소 필드 readonly
190
+			$('#ITP_FORM_POMNG01010_DETAIL_WHS_NM').attr('readonly', true);
191
+			$('#ITP_FORM_POMNG01010_DETAIL_LOCATION_NM').attr('readonly', true);
192
+			
193
+		},
194
+		grid: function() {
195
+			itp_fn_jqgrid_resize(POMNG01010_DETAIL_GRID_ID, POMNG01010_DETAIL_GRID_LIST, 'lg');
196
+			//listObj.empty.init();
197
+			itp_fn_fire_window_resize();
198
+		},
199
+		ready: function() {
200
+			createObj.init();
201
+		}
202
+	},
203
+	event: {
204
+		init: function() {
205
+			this.button();
206
+		},
207
+		button: function() {
208
+			// 버튼 클릭 이벤트
209
+			$('button').each(function() {
210
+				var id = $(this).attr('id');
211
+				$(this).on('click', function() {
212
+					switch (id) {
213
+						case 'ITP_BTN_POMNG01010_SRH': createObj.button.save("PR20"); break;	// 구매요청
214
+						case 'ITP_BTN_POMNG01010_NEWREG': createObj.button.save("PR00"); break;	// 임시저장
215
+						case 'ITP_BTN_POMNG01010_DETAIL_ADDROW': pageObj.grid.button.addRow(); break;	// 품목추가
216
+						case 'ITP_BTN_POMNG01010_DETAIL_DELROW': pageObj.grid.button.delRow(); break;	// 품목삭제
217
+					}
218
+				});
219
+			});
220
+
221
+			$('body').on('click', function(e) {
222
+				// afflUserObj.grid.resetGrid(e);
223
+			});
224
+
225
+		}
226
+	},
227
+	grid: {
228
+		init: function(mode, gridData) {
229
+			this.mode = mode;
230
+			this.gridId = POMNG01010_DETAIL_GRID_ID;
231
+			this.unload();  // ==>dwkim 
232
+			this.load(gridData);
233
+		},
234
+		mode: 'DETAIL',
235
+		gridId: '',
236
+		button: {
237
+			addRow: function() {
238
+				// 팝업
239
+				var popFn = function(rowDataPop) {
240
+					console.log(rowDataPop);
241
+					// 기존등록 데이터
242
+					var exists = '';
243
+					const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
244
+					$.each(rowData, function(key, value) {
245
+						exists = exists + value.brandUnitUnqNo + ';';
246
+					});
247
+
248
+					$.each(rowDataPop, function(key, value) {
249
+						if (exists.indexOf(value.brandUnitUnqNo) < 0 && value.podrPssblDvsn == 'PO01') {
250
+							value['viewCd'] = "C";
251
+							$(POMNG01010_DETAIL_GRID_ID).jqGrid('addRowData', value.brandUnitUnqNo, value, 'last');
252
+						}
253
+					});
254
+					$(POMNG01010_DETAIL_GRID_EMPTY).hide();
255
+				};
256
+				const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
257
+				fn_call_popup('biz', 'BIZPOP_ITEM', '#ITP_ASIDE', popFn, key, 'S');  // ==>dwkim 추후 작업 진행  파라메타 설명필요
258
+			},
259
+			delRow: function() {
260
+				itp_fn_grid_del_row(POMNG01010_DETAIL_GRID_ID);
261
+				// 그리드 포문으로 금액 재계산후 구매요청금액에 넣어줌
262
+				pageObj.grid.recal();  //==>dwkim 왜 호출이 안될까요
263
+			}
264
+		},
265
+		load: function(gridData) {  // ==>dwkim  오픈시 데이타 가져오는 부분 넣으면 되는건지 여부 gird가 아님
266
+			var _this = this;
267
+			var option = {
268
+				gridId: this.gridId,
269
+				colModel: gridColModel.detail,
270
+				data: gridData,
271
+				multiselect: true,
272
+				cellEdit: true,
273
+				loadComplete: function(data) {
274
+					_this.clearData();
275
+				},
276
+				afterSaveCell: function(rowid,name,val,iRow,iCol) {
277
+					// 구매요청금액 계산 (기존금액과 )
278
+					var unitAmt = jQuery(POMNG01010_DETAIL_GRID_ID).jqGrid('getCell',rowid,iCol-1);
279
+					jQuery(POMNG01010_DETAIL_GRID_ID).jqGrid('setRowData',rowid,{pchReqAmt: parseInt(val)*parseInt(unitAmt)});
280
+					// 그리드 포문으로 금액 재계산후 구매요청금액에 넣어줌
281
+					_this.recal();
282
+				}
283
+			};
284
+			itp_fn_grid_make_local(option);
285
+		},
286
+		clearData: function() {
287
+			console.log(this.gridId);
288
+			$(POMNG01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
289
+			$(POMNG01010_DETAIL_GRID_LIST).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
290
+			$(POMNG01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
291
+			$(POMNG01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
292
+			$(POMNG01010_DETAIL_GRID_EMPTY).show();
293
+		},
294
+		recal: function() {
295
+			//PCH_REQ_AMT
296
+			const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
297
+			var pchReqAmt = 0 ;
298
+			$.each(rowData, function(key, value) {
299
+				if (value.pchReqAmt != null && value.pchReqAmt != "") {
300
+					pchReqAmt = pchReqAmt + parseInt(value.pchReqAmt) ;
301
+				}
302
+				
303
+			});
304
+			$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqAmt').text(pchReqAmt);
305
+		},
306
+		unload: function() {
307
+			$.jgrid.gridUnload(this.gridId);
308
+		}
309
+	}
310
+};
311
+
312
+/*신규화면 Object*/
313
+let createObj = {
314
+	init: function() {
315
+		$('#ITP_FORM_POMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
316
+		$('#ITP_FORM_POMNG01010_DETAIL_STORE_ID').val(fn_make_user_info.get('storeId'));
317
+		//let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
318
+		this.load();
319
+	},
320
+	newinit: function() {
321
+		$('#ITP_FORM_POMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
322
+		$('#ITP_FORM_POMNG01010_DETAIL_STORE_ID').val(fn_make_user_info.get('storeId'));
323
+		$('#ITP_FORM_POMNG01010_DETAIL_PCH_REQ_NM').val('');
324
+		$('#ITP_FORM_POMNG01010_DETAIL_NOTE').val('');
325
+		var now = new Date();
326
+		$('#ITP_TAB_POMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
327
+		$('#ITP_FORM_POMNG01010_DETAIL_DLV_REQ_DT').datepicker('setDate', new Date(now.setDate(now.getDate() + 5)));
328
+		
329
+		
330
+		this.load();  //==>dwkim 초기화 하여 다시 초기 데이타 가져와 뿌려줌
331
+		const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
332
+		fn_ajax_call(API_DETAIL_INIT_INFO, key, this.callback, 'GET');
333
+	},
334
+	button: {
335
+		save: function(arg) {
336
+			const formId = '#ITP_FORM_POMNG01010_DETAIL';
337
+			itp_fn_form_clear_validate(null, formId);
338
+			$('#ITP_FORM_POMNG01010_DETAIL_PCH_REQ_ST_CD').val(arg);
339
+			
340
+			//정산 타입이 무정산이면 스킵
341
+			var loanDvsn = $('#ITP_FORM_POMNG01010_DETAIL_LOAN_DVSN').val();
342
+			
343
+			if (loanDvsn != 'LD03' && arg == 'PR20' ) {
344
+				var pchActAtm = $('#ITP_FORM_POMNG01010_DETAIL .fnPchActAmt').text();
345
+				var pchReqAtm = $('#ITP_FORM_POMNG01010_DETAIL .fnPchReqAmt').text();
346
+				
347
+				if (parseInt(pchActAtm) < parseInt(pchReqAtm)) {
348
+					alert(ITP_MSG_LOCALE.message.ajax.lackReqAmt);
349
+					return;
350
+				}
351
+			}            
352
+
353
+			if (itp_fn_form_event.isValid(formId)) {
354
+				var saveReq = {
355
+				callBack: function(args) {
356
+						$(formId).val(arg);
357
+						let gridInsertData = [];
358
+						let gridUpdateData = [];
359
+						let gridDeleteData = [];
360
+						const rowData = $(POMNG01010_DETAIL_GRID_ID).getRowData();
361
+						
362
+						$.each(rowData, function(key, value) {
363
+							if (value.viewCd !== 'R') {
364
+								if (value.viewCd === 'C') {
365
+									gridInsertData.push(value);
366
+								} else if (value.viewCd === 'U') {
367
+									gridUpdateData.push(value);
368
+								} else if (value.viewCd === 'D') {
369
+									gridDeleteData.push(value);
370
+								}
371
+							}
372
+						});
373
+		
374
+						let param = $(formId).serializeObject();
375
+						param.gridInsertData = gridInsertData;
376
+						param.gridUpdateData = gridUpdateData;
377
+						param.gridDeleteData = gridDeleteData;
378
+						console.log(JSON.stringify(param));
379
+						var searhFn = function() {
380
+							createObj.newinit();
381
+						};
382
+						fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');				
383
+					}
384
+				};
385
+				if (arg == 'PR20') {
386
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.reqSave, saveReq, null);
387
+				} else {
388
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.tmpSave, saveReq, null);
389
+				}
390
+				
391
+				
392
+				
393
+			}
394
+		}
395
+	},
396
+	load: function() {
397
+		const key = {brandId:fn_make_user_info.get('brandId'),storeId:fn_make_user_info.get('storeId')};
398
+		fn_ajax_call(API_DETAIL_INIT_INFO, key, this.callback, 'GET');
399
+	},
400
+	callback: function(result) {
401
+		console.log(result);
402
+
403
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_VIEW_CD').val('C');
404
+
405
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_BRAND_ID').val(result.brandId);
406
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_STORE_ID').val(result.storeId);
407
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOAN_DVSN').val(result.loanDvsn);
408
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
409
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_PCH_REQ_DVSN').val(result.pchReqDvsn);
410
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_WHS_ID').val(result.whsId);
411
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_WHS_NM').val(result.whsNm);
412
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOCATION').val(result.location);
413
+		$('#ITP_FORM_POMNG01010_DETAIL #ITP_FORM_POMNG01010_DETAIL_LOCATION_NM').val(result.locationNm);
414
+		$('#ITP_FORM_POMNG01010_DETAIL .fnBrandNm').text(result.brandNm);
415
+		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqDept').text(result.reqDept);
416
+		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqMgrNm').text(result.userNm);
417
+		$('#ITP_FORM_POMNG01010_DETAIL .fnPchReqAmt').text("0");
418
+		$('#ITP_FORM_POMNG01010_DETAIL .fnLoanDvsnNm').text(result.loanDvsnNm);
419
+		$('#ITP_FORM_POMNG01010_DETAIL .fnPchActAmt').text(result.ordUseAmt);
420
+		
421
+
422
+		pageObj.grid.init();
423
+	}
424
+};

+ 2 - 2
src/main/webapp/js/app/stinfo/ITP_STINFO01011.js

@@ -301,7 +301,7 @@ let viewObj = {
301 301
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
302 302
 
303 303
         let locate = result.addr1 + ' ' + result.addr2;
304
-        kakaoMap.init('ITP_FORM_STINFO01011_VIEW', locate);
304
+        kakaoMap.init('ITP_FORM_STINFO01011_VIEW', locate, result.latX, result.longY);
305 305
 
306 306
     }
307 307
 };
@@ -360,7 +360,7 @@ let modifyObj = {
360 360
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
361 361
 
362 362
         let locate = result.addr1 + ' ' + result.addr2;
363
-        kakaoMap.init('ITP_FORM_STINFO01011_DETAIL', locate);
363
+        kakaoMap.init('ITP_FORM_STINFO01011_DETAIL', locate, result.latX, result.longY);
364 364
 
365 365
     }
366 366
 };

+ 4 - 3
src/main/webapp/js/app/stinfo/ITP_STINFO02010.js

@@ -165,6 +165,7 @@ let pageObj = {
165 165
 			$('#ITP_TAB_STINFO02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
166 166
 			$('#ITP_FORM_STINFO02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
167 167
 			$('#ITP_FORM_STINFO02010_SEARCH_TO_DT').datepicker('setDate', new Date());
168
+			// $('#ITP_FORM_STINFO02010_DETAIL_FROM_DT').datepicker('setDate', new Date());
168 169
 
169 170
 			// form alert message 주입
170 171
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
@@ -248,8 +249,8 @@ let pageObj = {
248 249
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
249 250
 				$(this).attr('disabled', false);
250 251
 			});
251
-			// $('#ITP_BTN_STINFO02010_RESET_PW').hide();
252
-
252
+			$('#ITP_FORM_STINFO02010_DETAIL_FROM_DT').datepicker('setDate', new Date());
253
+			// $('#ITP_FORM_STINFO02010_DETAIL_FROM_DT').val(itp_fn_date_format(new Date(), 4));
253 254
 		} else if(mode == 'MODIFY') { // 수정
254 255
 			$('#ITP_AJAX_STINFO02010_DETAIL_CONTAINER').show();
255 256
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO02010_CANCELLIST', '#ITP_BTN_STINFO02010_SAVE', '#ITP_BTN_STINFO02010_RESET_PW']);
@@ -460,7 +461,7 @@ let modifyObj = {
460 461
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_BSNS_CNDT').val(result.bsnsCndt);
461 462
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);
462 463
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_CTGR_BSNS').val(result.ctgrBsns);
463
-		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_CORP_REG_NO').val(result.bsnsRegNo);
464
+		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_CORP_REG_NO').val(result.corpRegNo);
464 465
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_TEL_NO').val(result.telNo);
465 466
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_OWNER_NM').val(result.ownerNm);
466 467
 		$('#ITP_FORM_STINFO02010_DETAIL #ITP_FORM_STINFO02010_DETAIL_FAX_NO').val(result.faxNo);

+ 1 - 1
src/main/webapp/js/app/stinfo/ITP_STINFO02011.js

@@ -250,7 +250,7 @@ let modifyObj = {
250 250
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_BSNS_CNDT').val(result.bsnsCndt);
251 251
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);
252 252
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_CTGR_BSNS').val(result.ctgrBsns);
253
-		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_CORP_REG_NO').val(result.bsnsRegNo);
253
+		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_CORP_REG_NO').val(result.corpRegNo);
254 254
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_TEL_NO').val(result.telNo);
255 255
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_OWNER_NM').val(result.ownerNm);
256 256
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_FAX_NO').val(result.faxNo);

+ 4 - 2
src/main/webapp/js/app/stinfo/ITP_STINFO05010.js

@@ -258,6 +258,8 @@ let pageObj = {
258 258
 			$('#ITP_FORM_STINFO05010_DETAIL .itp_form_change').show();
259 259
 			
260 260
 			$('#ITP_FORM_STINFO05010_DETAIL .fnStoreNm').text('(자동부여)');
261
+			$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').datepicker('setDate', new Date());
262
+			$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').datepicker('setDate', itp_fn_date_add('Y', 1));
261 263
 		} else if(mode == 'MODIFY') { // 수정
262 264
 			$('#ITP_AJAX_STINFO05010_DETAIL_CONTAINER').show();
263 265
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO05010_CANCELLIST', '#ITP_BTN_STINFO05010_SAVE', '#ITP_BTN_STINFO05010_RESET_PW']);
@@ -470,8 +472,8 @@ let modifyObj = {
470 472
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(result.spplyId);
471 473
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val(result.spplyNm);
472 474
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ITEM_ID').val(result.spplyItemId);
473
-		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').val(result.contSttDt);
474
-		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').val(result.contEndDt);
475
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').val(result.contSttDt === '' ? today : result.contSttDt);
476
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').val(result.contEndDt === '' ? today : result.contEndDt);
475 477
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_LEAD_TIME').val(result.leadTime);
476 478
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_UNIT').val(result.unit);
477 479
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_STDD_QYT').val(result.stddQty);

+ 4 - 0
src/main/webapp/js/app/stinfo/ITP_STINFO06010.js

@@ -301,6 +301,8 @@ let pageObj = {
301 301
 			$('#ITP_BTN_STINFO06010_DETAIL_DELETE_STORE').removeAttr('disabled');
302 302
 			// 가맹점 정보 설정
303 303
 			$('#ITP_FORM_STINFO06010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
304
+			$('#ITP_FORM_STINFO06010_DETAIL #ITP_FORM_STINFO06010_DETAIL_FROM_DT').datepicker('setDate', new Date());
305
+			$('#ITP_FORM_STINFO06010_DETAIL #ITP_FORM_STINFO06010_DETAIL_TO_DT').datepicker('setDate', itp_fn_date_add('Y', 1));
304 306
 		} else if(mode == 'MODIFY') { // 수정
305 307
 			$('#ITP_AJAX_STINFO06010_DETAIL_CONTAINER').show();
306 308
 			if(fn_make_user_info.get('authTpCd') === '50') {
@@ -589,6 +591,8 @@ let createObj = {
589 591
 					console.log(data);
590 592
 					createObj.rows = data.gridRows;
591 593
 					itp_fn_grid_load_complete(data, STINFO06010_DETAIL_GRID_ID, false, 'number', 'STINFO06010', modifyObj.itp_STINFO06010_search, modifyObj.empty, true, data.gridRecords, true);
594
+					$('#ITP_FORM_STINFO06010_DETAIL_FROM_DT').datepicker().trigger('changeDate');
595
+					$('#ITP_FORM_STINFO06010_DETAIL_TO_DT').datepicker().trigger('changeDate');
592 596
 				},
593 597
 				onCellSelect: function(rowid, cellIdx, cellValue) {
594 598
 					STINFO06010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowid, cellIdx, STINFO06010_GRID_LAST_ROW_ID, STINFO06010_DETAIL_GRID_ID, ['actionId']);

+ 31 - 91
src/main/webapp/mobile/app/main.html

@@ -5,34 +5,7 @@
5 5
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
6 6
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
7 7
 	<title>모바일 수발주</title>
8
-	<link rel="stylesheet" href="../css/style.css">
9
-	<style>
10
-
11
-		/* ITP_SIDEBAR */
12
-		#ITP_SIDEBAR {width:0px; float:left; margin-left:-2px; height:calc(100vh - 68px); background:#ddd; transition:all .25s ease; border-style:solid; border-color:#ddd; border-width:0 1px 1px 1px;}
13
-		#ITP_SIDEBAR.itp_open_nav {width:360px;}
14
-		#ITP_SIDEBAR .itp_nav {list-style:none; margin:0; padding:0; height:100%; overflow-y:scroll; overflow-x:hidden; visibility:hidden;}
15
-		#ITP_SIDEBAR.itp_open_nav .itp_nav {visibility:visible;}
16
-		#ITP_SIDEBAR .itp_nav.panel-group .panel+.panel {margin-top:0;}
17
-		#ITP_SIDEBAR .itp_nav .panel-heading {padding:0;}
18
-		#ITP_SIDEBAR .itp_nav .panel-title {line-height:1.1; border-bottom:1px solid #ddd;}
19
-		#ITP_SIDEBAR .itp_nav .panel-title a {font-size:14px; display:block; padding:13px 15px; color:#333;}
20
-		#ITP_SIDEBAR .itp_nav .panel-title a .glyphicon {font-size:12px;}
21
-		#ITP_SIDEBAR .itp_nav .panel-default {margin-bottom:0; border:none;}
22
-		#ITP_SIDEBAR .itp_nav * {border-radius:0; border-width:1px 0 1px 0;}
23
-		#ITP_SIDEBAR .itp_nav .itp_svgs_body {padding:0; border-top:0; border-bottom:1px solid #ddd;}
24
-		#ITP_SIDEBAR .itp_nav .itp_svgs {list-style:none; margin:0; padding:0;}
25
-		#ITP_SIDEBAR .itp_nav .itp_svgs .itp_svg_in {position:relative;}
26
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a {display:block; width:100%; color:#333; padding:5px 10px 5px 17px;}
27
-		#ITP_SIDEBAR .itp_nav .itp_svgs li:first-child a {padding-top:10px;}
28
-		#ITP_SIDEBAR .itp_nav .itp_svgs li:last-child a {padding-bottom:10px;}
29
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a:hover, #ITP_SIDEBAR .itp_nav .itp_svgs li a:active {color:#000; font-weight:bold;}
30
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a .glyphicon {font-size:9px; float:left; margin:4px 6px 0 0;}
31
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a .itp_icon {font-size:9px; float:left; margin:4px 6px 0 15px;}
32
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a .itp_icon_5 {font-size:9px; float:left; margin:4px 6px 0 25px;}
33
-		#ITP_SIDEBAR .itp_nav .itp_svgs li a .itp_tt {float:left;}
34
-
35
-	</style>
8
+	<link rel="stylesheet" href="../css/style.css?2011221">
36 9
 
37 10
 	<script>
38 11
 		const ITP_SYSTEM_ADMIN_YN = 'Y';
@@ -62,70 +35,17 @@
62 35
 						<label>
63 36
 							<div class="fnBrnadNm">브랜드명</div>
64 37
 						</label>
65
-						<label>
38
+						<label class="fnLblDash">
66 39
 							<div>-</div>
67 40
 						</label>
68
-						<label>
41
+						<label class="fnLblStoreNm">
69 42
 							<div class="fnStoreNm">매장명</div>
70 43
 						</label>
71 44
 					</div>
72 45
 				</div>
73 46
 			</header>
74 47
 
75
-			<!--<nav id="ITP_SIDEBAR" class="itp_open_nav">
76
-
77
-				<ul class="panel-group itp_nav"></ul>
78
-
79
-				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL2_ROWCOPY" rows="0" cols="0" style="display:none;">
80
-				<li class="panel panel-default">
81
-					<div class="panel-heading">
82
-						<div class="panel-title">
83
-							<a class="accordion-toggle" data-toggle="collapse" href="">
84
-								<span class="fnMenuNm">메뉴명</span>
85
-								<i class="indicator glyphicon glyphicon-chevron-down pull-right"></i>
86
-							</a>
87
-						</div>
88
-					</div>
89
-					<div class="panel-collapse collapse" id="">
90
-						<div class="panel-body itp_svgs_body">
91
-							<ul class="itp_svgs fnLevelBottomList"></ul>
92
-						</div>
93
-					</div>
94
-				</li>
95
-				</textarea>
96
-				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL3_ROWCOPY" rows="0" cols="0" style="display:none;">
97
-				<li>
98
-					<div class="itp_svg_in">
99
-						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
100
-							<i class="glyphicon glyphicon-chevron-right"></i>
101
-							<span class="itp_tt fnMenuNm">메뉴명</span>
102
-						</a>
103
-					</div>
104
-				</li>
105
-				</textarea>
106
-				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL4_ROWCOPY" rows="0" cols="0" style="display:none;">
107
-				<li>
108
-					<div class="itp_svg_in">
109
-						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
110
-							<i class="itp_icon">└</i>
111
-							<span class="itp_tt fnMenuNm">메뉴명</span>
112
-						</a>
113
-					</div>
114
-				</li>
115
-				</textarea>
116
-				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL5_ROWCOPY" rows="0" cols="0" style="display:none;">
117
-				<li>
118
-					<div class="itp_svg_in">
119
-						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
120
-							<i class="itp_icon_5">*</i>
121
-							<span class="itp_tt fnMenuNm">메뉴명</span>
122
-						</a>
123
-					</div>
124
-				</li>
125
-				</textarea>
126
-			</nav>-->
127
-
128
-			<div id="ITP_MENU" style="display: block;">
48
+			<div id="ITP_MENU" style="display: none;">
129 49
 				<div class="menu_area">
130 50
 					<button class="ITP_BTN_CLOSE"><img src="../img/close2.png"></button>
131 51
 				</div>
@@ -135,17 +55,36 @@
135 55
 							<img src="../img/naver.png">
136 56
 						</div>
137 57
 						<div class="user_info">
138
-							<div class="">홍길동</div>
58
+							<div id="ITP_LOGIN_USER_NM" class=""></div>
139 59
 							<label>사장님</label>
140
-							<div class="id">asdf1234</div>
60
+							<div id="ITP_LOGIN_USER_ID" class="id">asdf1234</div>
141 61
 						</div>
142 62
 						<div class="setting">
143 63
 							<button id="ITP_MOBILE_BTN_SETTING"><img src="../img/gear.png"></button>
144 64
 						</div>
145 65
 					</div>
146
-					<div class="menu_select">
66
+					<div id="ITP_SIDEBAR" class="menu_select" style="overflow:auto;">
67
+						<ul class="panel-group itp_nav"></ul>
147 68
 						<ul>
148
-							<li class="panel_list">
69
+							<textarea id="ITP_AJAX_MAIN_SLIDE_LEVEL2_ROWCOPY" rows="0" cols="0" style="display:none;">
70
+								<li class="panel_list">
71
+									<div class="panel_heading accordion-toggle">
72
+										<span data-toggle="collapse" href="" class="fnMenuNm"></span>
73
+									</div>
74
+									<div class="panel_body">
75
+										<ul class="fnLevelBottomList"></ul>
76
+									</div>
77
+								</li>
78
+							</textarea>
79
+							<textarea id="ITP_AJAX_MAIN_SLIDE_LEVEL3_ROWCOPY" rows="0" cols="0" style="display:none;">
80
+								<li>
81
+									<div data-itp-nav-id="" data-conn-url="" id="" class="itp_svg_in itp_nav_link fix">
82
+										<i><img src="../img/arrow_right.png"></i>
83
+										<span class="fnMenuNm"></span>
84
+									</div>
85
+								</li>
86
+							</textarea>
87
+							<!--<li class="panel_list">
149 88
 								<div class="panel_heading">
150 89
 									<span class="fnMenuNm">발주관리</span>
151 90
 								</div>
@@ -226,7 +165,7 @@
226 165
 								<div class="panel_heading">
227 166
 									<span class="fnMenuNm">재고관리</span>
228 167
 								</div>
229
-							</li>
168
+							</li>-->
230 169
 							<li class="panel_list">
231 170
 								<div class="panel_heading">
232 171
 									<span class="fnMenuNm">버전</span>
@@ -238,10 +177,11 @@
238 177
 					</div>
239 178
 				</div>
240 179
 			</div>
241
-			<div id="ITP_CONTAINER">
180
+			<div id="ITP_CONTAINER" class="fix">
181
+				<div class="itp_mobile_contents">
242 182
 
183
+				</div>
243 184
 			</div>
244
-			<script src="../js/app/main.js?version=20210826"></script>
245 185
 		</div>
246 186
 	</body>
247 187
 </html>

+ 23 - 22
src/main/webapp/mobile/app/mloanmng/MLOANMNG03010.html

@@ -1,20 +1,21 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3
-  <div id="ITP_AJAX_MLOANMNG03010_VIEW" style="display: none;">
2
+  <div id="ITP_AJAX_MLOANMNG03010_VIEW" style="display: block;">
4 3
     <div class="content">
5 4
       <div class="line">
6 5
         <label>매장선택</label>
7
-        <div class="float_left">
8
-          <input id="ITP_FORM_MLOANMNG03010_VIEW" type="text" placeholder="A매장명">
9
-        </div>
10
-        <div class="float_left_btn">
11
-          <button id="ITP_BTN_MLOANMNG03010"><img src="/img/search.png" alt=""></button>
12
-          <button id="ITP_BTN_MLOANMNG03010"><img src="/img/delete.png" alt=""></button>
6
+        <div class="search_wrap">
7
+	        <div class="float_left">
8
+	          <input id="ITP_FORM_MLOANMNG03010_VIEW" type="text" placeholder="A매장명">
9
+	        </div>
10
+	        <div class="float_left_btn">
11
+	          <button id="ITP_BTN_MLOANMNG03010"><img src="../img/search.png" alt=""></button>
12
+	          <button id="ITP_BTN_MLOANMNG03010"><img src="../img/delete.png" alt=""></button>
13
+	        </div>
13 14
         </div>
14 15
       </div>
15 16
       <div class="line">
16 17
         <label>정산상태</label>
17
-        <div class="float_left">
18
+        <div class="line_right">
18 19
           <select name="" id="ITP_FORM_MLOANMNG03010_VIEW">
19 20
             <option value=""></option>
20 21
           </select>
@@ -28,7 +29,7 @@
28 29
           <input id="ITP_FORM_MLOANMNG03010_VIEW" class="year" type="date">
29 30
         </div>
30 31
       </div>
31
-      <div class="line">
32
+      <div class="line" style="height:45px;"">
32 33
         <div class="search">
33 34
           <button id="ITP_BTN_MLOANMNG03010" class="btn-primary btn-sm ADB">검색</button>
34 35
         </div>
@@ -78,42 +79,42 @@
78 79
       </li>
79 80
     </div>
80 81
   </div>
81
-  <div id="ITP_AJAX_MLOANMNG03010_DETAIL" style="display: block;">
82
+  <div id="ITP_AJAX_MLOANMNG03010_DETAIL" style="display: none;">
82 83
     <div class="content">
83 84
       <div class="line">
84 85
         <label>매장명</label>
85
-        <div class="line_right">
86
+        <div class="search_wrap">
86 87
           <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="text" placeholder="A매장명">
87 88
         </div>      
88 89
       </div>
89 90
       <div class="line">
90 91
         <label class="col_6">정산일자</label>
91
-        <div class="line_right">
92
+        <div class="search_wrap">
92 93
           <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="text" >
93 94
         </div>
94 95
       </div>
95 96
       <div class="line">
96 97
         <label>정산상태</label>
97
-        <div class="line_right">
98
+        <div class="search_wrap">
98 99
           <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="text" >
99 100
         </div>
100 101
       </div>
101 102
       <div class="line">
102 103
         <label>정산금액</label>
103
-        <div class="line_right">
104
+        <div class="search_wrap">
104 105
           <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="text" >
105 106
         </div>
106 107
       </div>
107 108
       <div class="line">
108 109
         <label>잔액</label>
109
-        <div class="line_right">
110
+        <div class="search_wrap">
110 111
           <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="text" >
111 112
         </div>
112 113
       </div>
113 114
       <div class="line">
114 115
         <label>정산등록일자</label>
115
-        <div class="line_right">
116
-          <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="date" style="width:443px;">
116
+        <div class="search_wrap">
117
+          <input id="ITP_FORM_MLOANMNG03010_DETAIL" type="date" style="width:178px;">
117 118
         </div>
118 119
       </div>
119 120
       <div class="table_header">
@@ -150,8 +151,8 @@
150 151
           <div class="left">
151 152
             <div class="nomal">
152 153
               <label class="col_0">발주(납품)수량 &nbsp;:</label>
153
-              <div style="min-width: 70px;">
154
-                <div class="fn" style="min-width: 70px;">10</div>
154
+              <div style="min-width:0px;">
155
+                <div class="fn" style="min-width:0px;">100</div>
155 156
               </div>
156 157
               <label class="col_0">입고(수거)일자&nbsp;:</label>
157 158
               <div>
@@ -162,8 +163,8 @@
162 163
           <div class="left">
163 164
             <div class="nomal">
164 165
               <label class="col_0">입고(수거)수량 &nbsp;:</label>
165
-              <div style="min-width: 70px;">
166
-                <div class="fn"style="min-width: 70px;" >10</div>
166
+              <div style="min-width:0px;">
167
+                <div class="fn"style="min-width:0px;" >100</div>
167 168
               </div>
168 169
               <label class="col_0">입고(수거)금액&nbsp;:</label>
169 170
               <div class="fn">

+ 130 - 89
src/main/webapp/mobile/app/mpomng/MPOMNG01010.html

@@ -1,140 +1,181 @@
1
-<link rel="stylesheet" href="/style.css">
2
-
3
-<section id="MPOMNG01010">
4
-  <div class="popup" style="display: none;">
1
+<section id="ITP_MOBILE_MPOMNG01010">
2
+  <div id="ITP_POP_MPOMNG01010_REQ_CONFIRM" class="popup mobile-popup-div" style="display: none;">
5 3
     <div class="pop">
6 4
       <div class="pop_line">
7 5
         <label>납품요청일 &nbsp;&nbsp;:</label>
8
-        <div class="fn">2022.09.30</div>
6
+        <div class="fnPopDlvReqDt">2022.09.30</div>
9 7
       </div>
10 8
       <div class="pop_line">
11 9
         <label>품목수&nbsp;&nbsp; :</label>
12
-        <div class="fn">2개</div>
10
+        <div class="fnPop">2개</div>
13 11
       </div>
14 12
       <div class="pop_line">
15 13
         <label>구매금액 &nbsp;&nbsp;:</label>
16
-        <div class="fn">2022.09.30원</div>
14
+        <div class="fnPop">2022.09.30원</div>
17 15
       </div>
18 16
       <label class="pop_label">구매요청 하시겠습니까?</label>
19 17
       <div class="popup_btn">
20
-        <button id="ITP_BTN_MPOMNG01010" class="cancel btn-gray CLB">취소</button>
21
-        <button id="ITP_BTN_MPOMNG01010" class="ok btn-primary COK">확인</button>
18
+        <button id="ITP_BTN_MPOMNG01010_POP_CANCEL" class="cancel btn-gray CLB">취소</button>
19
+        <button id="ITP_BTN_MPOMNG01010_POP_CONFIRM" class="ok btn-primary COK">확인</button>
22 20
       </div>
23 21
     </div>
24 22
   </div>
25
-  <div class="popup2" style="display: none;">
23
+  <div id="ITP_POP_MPOMNG01010_WHS_NM" class="popup2 mobile-popup-div" style="display: none;">
26 24
     <div class="pop">
27 25
       <div class="header">
28 26
         <div class="header_left">
29 27
           <label>> 납품장소</label>
30 28
         </div>
31 29
         <div class="header_right">
32
-          <button id="ITP_BTN_MPOMNG01010"><img src="/img/close.png"></button>
30
+          <button type="button" id="ITP_BTN_MPOMNG01010_POP_CLOSE"><img src="../img/close.png"></button>
33 31
         </div>
34 32
       </div>
35 33
       <div class="search_bar">
36
-        <input id="ITP_FORM_MPOMNG01010" type="text" placeholder="납품장소명">
37
-        <button id="ITP_BTN_MPOMNG01010"><img src="/img/search.png"></button>
34
+        <form id="ITP_FORM_MPOMNG01010_POPUP" class="form-horizontal" onsubmit="return false;">
35
+          <input id="ITP_FORM_MPOMNG01010_POP_KEYWORD" type="text" placeholder="납품장소명">
36
+          <button id="ITP_BTN_MPOMNG01010_POP_SEARCH"><img src="../img/search.png"></button>
37
+        </form>
38 38
       </div>
39 39
       <div class="search_bar">
40
-        <button id="ITP_BTN_MPOMNG01010" class="btn_blue">납품장소▼</button>
40
+        <button id="ITP_BTN_MPOMNG01010_POP_WHS_NM" class="btn_blue">납품장소▼</button>
41 41
       </div>
42 42
       <div class="popup_scroll">
43
-        <li>
44
-          <div class="scroll_left">
45
-            <div class="fn">브랜드 창고 명A</div>
46
-            <div class="fn">(상세위치내용)</div>
47
-          </div>
48
-          <div class="scroll_right">
49
-            <button id="ITP_BTN_MPOMNG01010">선택</button>
50
-          </div>
51
-        </li>
52
-        <li>
43
+        <ul id="ITP_LIST_MPOMNG01010_POP_ROWS" class="panel-group itp_nav"></ul>
44
+        <div id="ITP_LIST_MPOMNG01010_POP_ROWCOPY" style="display:none;">
45
+          <li>
46
+            <div class="scroll_left">
47
+              <div class="fn">브랜드 창고 명A</div>
48
+              <div class="fn">(상세위치내용)</div>
49
+            </div>
50
+            <div class="scroll_right">
51
+              <button id="ITP_BTN_MPOMNG01010_POP_CHOICE">선택</button>
52
+            </div>
53
+          </li>
54
+        </div>
55
+        <!--<li>
53 56
           <div class="scroll_left">
54 57
             <div class="fn">브랜드 창고 명A</div>
55 58
             <div class="fn">(상세위치내용)</div>
56 59
           </div>
57 60
           <div class="scroll_right">
58
-            <button id="ITP_BTN_MPOMNG01010">선택</button>
61
+            <button id="ITP_BTN_MPOMNG01010_POP_CHOICE">선택</button>
59 62
           </div>
60
-        </li>
63
+        </li>-->
61 64
       </div>
62 65
     </div>
63 66
   </div>
64
-	
65
-  <div id="ITP_AJAX_MPOMNG01010_VIEW_CONTAINER">
66
-    <div class="content">
67
-      <div class="line">
68
-        <label>납기요청일</label>
69
-        <input id="ITP_FORM_MPOMNG01010" class="date" type="date" placeholder="">
70
-      </div>
71
-      <div class="line">
72
-        <label>구매요청금액</label>
73
-        <div class="line_right">
74
-          <div class="fn">424,000원</div>
67
+  <div id="ITP_POP_MPOMNG01010_ITEM_NM" class="popup2 mobile-pop-close" style="display: none;">
68
+    <div class="pop">
69
+      <div class="header">
70
+        <div class="header_left">
71
+          <label>> 품목 검색</label>
72
+        </div>
73
+        <div class="header_right">
74
+          <button id="ITP_BTN_MSTOCKMNG01010"><img src="../img/close.png"></button>
75 75
         </div>
76 76
       </div>
77
-      <div class="line">
78
-        <label>납품장소</label>
79
-        <div class="search_nm">
80
-          <div class="float_left">
81
-            <input id="ITP_FORM_MPOMNG01010" class="" type="text" placeholder="A매장명">
77
+      <div class="search_bar">
78
+        <form id="ITP_FORM_MPOMNG01010_POPUP" class="form-horizontal" onsubmit="return false;">
79
+          <input id="ITP_FORM_MPOMNG01010_POP_KEYWORD" type="text" placeholder="품목명/품목번호">
80
+          <button id="ITP_BTN_MPOMNG01010_POP_SEARCH"><img src="../img/search.png"></button>
81
+        </form>
82
+      </div>
83
+       <div class="search_bar">
84
+        <button id="ITP_BTN_MPOMNG01010_POP_ITEM_NM" class="btn_blue">품목명▼</button>
85
+      </div>
86
+      <div class="popup_scroll">
87
+        <li class="row_2">
88
+          <div class="left" style="width:190px;">
89
+            <div class="thick">
90
+              <div class="fn">품목명</div>
91
+              <div>-</div>
92
+              <div class="fn">2EA</div>
93
+            </div>
94
+            <div class="nomal">
95
+              <div class="space">구매가 :</div>
96
+              <div class="fn">1,120,000</div>
97
+            </div>
82 98
           </div>
83
-          <div class="float_left_btn">
84
-            <button id="ITP_BTN_MPOMNG01010"><img src="/img/search.png" alt=""></button>
85
-            <button id="ITP_BTN_MPOMNG01010"><img src="/img/delete.png" alt=""></button>
99
+          <div class="right">
100
+            <button id="ITP_BTN_MSTOCKMNG01010"><</button>
101
+            <div class="num">2</div>
102
+            <button id="ITP_BTN_MSTOCKMNG01010">></button>
86 103
           </div>
87
-        </div>
104
+          <div class="add">
105
+            <button id="ITP_BTN_MSTOCKMNG01010">추가</button>
106
+          </div>
107
+        </li>
88 108
       </div>
89
-      <div class="line">
90
-        <div class="table_header">
91
-          <h1>>구매 품목</h1>
92
-          <button id="ITP_BTN_MPOMNG01010" class="btn-primary btn-sm ADB">품목추가</button>
93
-        </div>
94
-      </div>  
95 109
     </div>
96
-    <div class="scroll_area row-1">
97
-      <li>
98
-        <div class="left">
99
-          <div class="thick">
100
-            <div class="fn">품목명</div>
101
-            <div>-</div>
102
-            <div class="fn">2EA</div>
103
-          </div>
104
-          <div class="nomal">
105
-            <label class="space0">구매가 :</label>
106
-            <div class="fn">1,120,000</div>
107
-          </div>
110
+  </div>	
111
+  <div id="ITP_AJAX_MPOMNG01010_VIEW_CONTAINER">
112
+    <form id="ITP_FORM_MPOMNG01010_DETAIL" class="form-horizontal" onsubmit="return false;">
113
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_VIEW_CD" name="viewCd" value="C">
114
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_BRAND_ID" name="brandId" value="">
115
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_STORE_ID" name="storeId" value="">
116
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_LOAN_DVSN" name="loanDvsn" value="">
117
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_LOAN_MGNT_UNQ_NO" name="loanMgntUnqNo" value="">
118
+      <input type="hidden" id="ITP_FORM_MPOMNG01010_DETAIL_PCH_REQ_DVSN" name="pchReqDvsn" value="">
119
+      <div class="content">
120
+        <div class="line">
121
+          <label>납기요청일</label>
122
+          <input id="ITP_FORM_MPOMNG01010_DETAIL_DLV_REQ_DT" name="dlvReqDt" class="date" type="date" placeholder="">
108 123
         </div>
109
-        <div class="right">
110
-          <button id="ITP_BTN_MPOMNG01010"><</button>
111
-          <div class="fn num">2</div>
112
-          <button id="ITP_BTN_MPOMNG01010">></button>
124
+        <div class="line">
125
+          <label>구매요청금액</label>
126
+          <div class="line_right">
127
+            <div class="fn">424,000원</div>
128
+          </div>
113 129
         </div>
114
-      </li>
115
-      <li>
116
-        <div class="left">
117
-          <div class="thick">
118
-            <div class="fn">품목명</div>
119
-            <div>-</div>
120
-            <div class="fn">2EA</div>
130
+        <div class="line">
131
+          <label>납품장소</label>
132
+          <div class="search_nm">
133
+            <div class="float_left">
134
+              <input type="text" id="ITP_FORM_MPOMNG01010_DETAIL_WHS_NM" class="" name="whsNm" placeholder="매장명" />
135
+            </div>
136
+            <div class="float_left_btn">
137
+              <button id="ITP_BTN_MPOMNG01010_DETAIL_SEARCH_WHS_NM" data-call-popup="ITP_POP_MPOMNG01010_WHS_NM"><img src="../img/search.png" alt=""></button>
138
+              <button id="ITP_BTN_MPOMNG01010_DETAIL_DELETE_WHS_NM"><img src="../img/delete.png" alt=""></button>
139
+            </div>
121 140
           </div>
122
-          <div class="nomal">
123
-            <label class="space0">구매가 :</label>
124
-            <div class="fn">1,120,000</div>
141
+        </div>
142
+        <div class="line">
143
+          <div class="table_header">
144
+            <h1>>구매 품목</h1>
145
+            <button type="button" id="ITP_BTN_MPOMNG01010_DETAIL_DELROW" class="btn-primary btn-sm ADB">품목삭제</button>
146
+            <button type="button" id="ITP_BTN_MPOMNG01010_DETAIL_ADDROW" class="btn-primary btn-sm ADB">품목추가</button>
125 147
           </div>
126 148
         </div>
127
-        <div class="right">
128
-          <button id="ITP_BTN_MPOMNG01010"><</button>
129
-          <div class="fn num">2</div>
130
-          <button id="ITP_BTN_MPOMNG01010">></button>
149
+      </div>
150
+      <div class="scroll_area row-1">
151
+        <ul id="ITP_LIST_MPOMNG01010_DETAIL_ROWS"></ul>
152
+        <div id="ITP_LIST_MPOMNG01010_DETAIL_ROWCOPY" style="display:none;">
153
+          <li>
154
+            <div class="left_info">
155
+              <div class="thick">
156
+                <div class="fnItemNm">품목명</div>
157
+                <div>-</div>
158
+                <div class="fnUnit">2EA</div>
159
+              </div>
160
+              <div class="thick">
161
+                <label class="space0">구매가 :</label>
162
+                <div class="fnPchActAmt">1,120,000</div>
163
+              </div>
164
+            </div>
165
+            <div class="right">
166
+              <button id="ITP_BTN_MPOMNG01010_DETAIL_MINUS">-</button>
167
+              <div class="num fnNum">2</div>
168
+              <button id="ITP_BTN_MPOMNG01010_DETAIL_PLUS">+</button>
169
+            </div>
170
+          </li>
131 171
         </div>
132
-      </li>
133
-    </div>
134
-    <div class="button_bar">
135
-      <button id="ITP_BTN_MPOMNG01010" class="col_3 btn-primary REQ">구매요청</button>
136
-      <button id="ITP_BTN_MPOMNG01010" class="col_3 btn-gray TSA">임시저장</button>
137
-      <button id="ITP_BTN_MPOMNG01010" class="col_3 btn-gray CLB">취소</button>
138
-    </div>
172
+      </div>
173
+      <div class="button_bar">
174
+        <button id="ITP_BTN_MPOMNG01010_DETAIL_REQ_ORDER" data-call-popup="ITP_POP_MPOMNG01010_REQ_CONFIRM" class="col_3 btn-primary REQ">구매요청</button>
175
+        <button id="ITP_BTN_MPOMNG01010_DETAIL_TEMP_SAVE" class="col_3 btn-gray TSA">임시저장</button>
176
+        <button id="ITP_BTN_MPOMNG01010_DETAIL_CANCEL" class="col_3 btn-gray CLB">취소</button>
177
+      </div>
178
+    </form>
139 179
   </div>
180
+  <div id="ITP_MOBILE_JS"></div>
140 181
 </section>

+ 36 - 42
src/main/webapp/mobile/app/mpomng/MPOMNG02010.html

@@ -1,4 +1,3 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3 2
   <div id="ITP_AJAX_MPOMNG02010_VIEW_CONTAINER" style="display: none;">
4 3
     <div class="content">
@@ -12,7 +11,7 @@
12 11
       </div>
13 12
       <div class="line">
14 13
         <label>구매요청상태</label>
15
-        <div class="float_left">
14
+        <div class="line_right">
16 15
           <select id="ITP_FORM_MPOMNG02010_VIEW" class="stcd" name="">
17 16
             <option value="">상태</option>
18 17
           </select>
@@ -20,15 +19,17 @@
20 19
       </div>
21 20
       <div class="line">
22 21
         <label>납품장소</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MPOMNG02010_VIEW" class="" type="text" placeholder="A매장명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MPOMNG02010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MPOMNG02010"><img src="/img/delete.png" alt=""></button>
22
+        <div class="search_wrap">
23
+	        <div class="float_left">
24
+	          <input id="ITP_FORM_MPOMNG02010_VIEW" class="" type="text" placeholder="A매장명">
25
+	        </div>
26
+	        <div class="float_left_btn">
27
+	          <button id="ITP_BTN_MPOMNG02010"><img src="../img/search.png" alt=""></button>
28
+	          <button id="ITP_BTN_MPOMNG02010"><img src="../img/delete.png" alt=""></button>
29
+	        </div>
29 30
         </div>
30 31
       </div>
31
-      <div class="line">
32
+      <div class="line" style="height:50px;">
32 33
         <div class="search">
33 34
           <button id="ITP_BTN_MPOMNG02010" class="btn-primary btn-sm ADB">검색</button>
34 35
         </div>
@@ -37,32 +38,40 @@
37 38
         <h1>>구매 요청 내역</h1>
38 39
       </div>
39 40
     </div>
40
-    <div class="scroll_area row-2">
41
+    <div class="scroll_area row-1-1">
41 42
       <li class="history_list">
42 43
         <div class="left">
43 44
           <div class="nomal">
44
-            <label>구매요청일 :</label>
45
+            <label>구매요청일 </label>
46
+            <span>:</span>
45 47
             <div class="history">
46
-              <div class="fn">2022.10.01</div> 
47
-              (<div class="fn">홍길동 점주</div>)
48
+              <div class="fndate">2022.10.01</div> 
49
+              (<div class="fnOwnerNm">홍길동 점주</div>)
48 50
             </div>
49 51
           </div>
50 52
         </div>
51 53
         <div class="left">
52 54
           <div class="nomal">
53
-            <label>구매상태 :</label>
54
-            <div class="history">
55
-              <div class="fn">대기</div>
55
+          	<div class="half">
56
+	            <label>구매상태</label>
57
+     		            <span>:</span>
58
+	            <div class="history">
59
+	              <div class="fn">대기</div>
60
+	            </div>
56 61
             </div>
57
-            <label>납품장소명 :</label>
58
-            <div class="history">
59
-              <div class="fn">A매장내</div>
62
+          	<div class="half">
63
+	            <label>납품장소명 </label>
64
+	            <span>:</span>
65
+	            <div class="history">
66
+	              <div class="fn">A매장내</div>
67
+	            </div>
60 68
             </div>
61 69
           </div>
62 70
         </div>
63 71
         <div class="left">
64 72
           <div class="nomal">
65
-            <label style="width: 300px;">구매요청 정보 :</label>
73
+            <label style="width: 127px;">구매요청 정보</label>
74
+            <span>:</span>
66 75
             <div class="history">
67 76
               <div class="fn">품목수(3)</div> 
68 77
               <i>- </i>
@@ -72,7 +81,8 @@
72 81
         </div>
73 82
         <div class="left">
74 83
           <div class="nomal">
75
-            <label>결재정보 :</label>
84
+            <label>결재정보 </label>
85
+            <span>:</span>
76 86
             <div class="history">
77 87
               <div class="fn">미납</div> 
78 88
             </div>
@@ -113,35 +123,19 @@
113 123
     </div>
114 124
     <div class="scroll_area row-2">
115 125
       <li>
116
-        <div class="left">
126
+        <div class="left_info">
117 127
           <div class="thick">
118
-            <div class="fn">품목명</div>
128
+            <div class="fnItemNm">품목명</div>
119 129
             <div>-</div>
120
-            <div class="fn">2EA</div>
121
-          </div>
122
-          <div class="nomal">
123
-            <label class="space0">구매가 :</label>
124
-            <div>1,120,000</div>
130
+            <div class="fnUnit">2EA</div>
125 131
           </div>
126
-        </div>
127
-        <div class="right">
128
-          <div class="fn num">2</div>
129
-        </div>
130
-      </li>
131
-      <li>
132
-        <div class="left">
133 132
           <div class="thick">
134
-            <div class="fn">품목명</div>
135
-            <div>-</div>
136
-            <div class="fn">2EA</div>
137
-          </div>
138
-          <div class="nomal">
139 133
             <label class="space0">구매가 :</label>
140
-            <div class="fn">1,120,000</div>
134
+            <div class="fnPchActAmt">1,120,000</div>
141 135
           </div>
142 136
         </div>
143 137
         <div class="right">
144
-          <div class="fn num">2</div>
138
+          <div class="fnNum">2</div>
145 139
         </div>
146 140
       </li>
147 141
     </div>

+ 40 - 35
src/main/webapp/mobile/app/mpomng/MPOMNG03010.html

@@ -1,6 +1,5 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3
-  <div id="ITP_AJAX_MPOMNG03010_VIEW_CONTAINER" style="display: block;">
2
+  <div id="ITP_AJAX_MPOMNG03010_VIEW_CONTAINER" style="display: none;">
4 3
     <div class="content">
5 4
       <div class="line">
6 5
         <label>발주일자</label>
@@ -12,33 +11,39 @@
12 11
       </div>
13 12
       <div class="line">
14 13
         <label>발주상태</label>
15
-        <div class="float_left">
16
-          <select name="" id="ITP_FORM_MPOMNG03010_VIEW">
17
-            <option value=""></option>
18
-          </select>
19
-        </div>
14
+        <div class="search_wrap">
15
+	        <div class="line_right">
16
+	          <select name="" id="ITP_FORM_MPOMNG03010_VIEW">
17
+	            <option value=""></option>
18
+	          </select>
19
+	        </div>
20
+      	</div>   
20 21
       </div>
21 22
       <div class="line">
22 23
         <label>공급업체</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MPOMNG03010_VIEW" type="text" placeholder="A공급업체명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MPOMNG03010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MPOMNG03010"><img src="/img/delete.png" alt=""></button>
29
-        </div>
24
+        <div class="search_wrap">
25
+	        <div class="float_left">
26
+	          <input id="ITP_FORM_MPOMNG03010_VIEW" type="text" placeholder="A공급업체명">
27
+	        </div>
28
+	        <div class="float_left_btn">
29
+	          <button id="ITP_BTN_MPOMNG03010"><img src="../img/search.png" alt=""></button>
30
+	          <button id="ITP_BTN_MPOMNG03010"><img src="../img/delete.png" alt=""></button>
31
+	        </div>
32
+	       </div> 
30 33
       </div>
31 34
       <div class="line">
32 35
         <label>납품장소</label>
33
-        <div class="float_left">
34
-          <input id="ITP_FORM_MPOMNG03010_VIEW" type="text" placeholder="A매장명">
35
-        </div>
36
-        <div class="float_left_btn">
37
-          <button id="ITP_BTN_MPOMNG03010"><img src="/img/search.png" alt=""></button>
38
-          <button id="ITP_BTN_MPOMNG03010"><img src="/img/delete.png" alt=""></button>
39
-        </div>
36
+         	<div class="search_wrap">
37
+	        <div class="float_left">
38
+	          <input id="ITP_FORM_MPOMNG03010_VIEW" type="text" placeholder="A매장명">
39
+	        </div>
40
+	        <div class="float_left_btn">
41
+	          <button id="ITP_BTN_MPOMNG03010"><img src="../img/search.png" alt=""></button>
42
+	          <button id="ITP_BTN_MPOMNG03010"><img src="../img/delete.png" alt=""></button>
43
+	        </div>
44
+	     </div>   
40 45
       </div>
41
-      <div class="line">
46
+      <div class="line" style="height:50px;">
42 47
         <div class="search">
43 48
           <button id="ITP_BTN_MPOMNG03010" class="btn-primary btn-sm ADB">검색</button>
44 49
         </div>
@@ -91,7 +96,7 @@
91 96
       </li>
92 97
     </div>
93 98
   </div>
94
-  <div id="ITP_AJAX_MPOMNG03010_DETAIL_CONTAINER" style="display: none;">
99
+  <div id="ITP_AJAX_MPOMNG03010_DETAIL_CONTAINER" style="display: block;">
95 100
     <div class="content">
96 101
       <div class="line">
97 102
         <label>발주일자</label>
@@ -124,29 +129,29 @@
124 129
     <div class="scroll_area row-2">
125 130
       <li>
126 131
         <div>
127
-          <div class="detail_left">
128
-            <div class="detail_info">
129
-              <div class="fn">품목명</div>
132
+          <div class="left_info col-4">
133
+            <div class="thick">
134
+              <div class="fnItemNm">품목명</div>
130 135
               <i>-</i>
131
-              <div class="fn">2EA</div>
136
+              <div class="fnUnit">2EA</div>
132 137
             </div>
133 138
           </div>
134
-          <div class="detail_right">
135
-            <div class="detail_info">
139
+          <div class="left_info col-6">
140
+            <div class="thick">
136 141
               <label>수량/금액</label>
137 142
               <div class="fn">2</div>
138 143
               <i>/</i>
139 144
               <div class="fn">24,000</div>
140 145
             </div>
141 146
           </div>
142
-          <div class="detail_left">
143
-            <div class="detail_info">
144
-              <label>구매가 &nbsp;:&nbsp;</label>
145
-              <div class="fn">12,000</div>
147
+          <div class="left_info col-4">
148
+            <div class="thick">
149
+              <label style="margin:0;">구매가 :</label>
150
+              <div class="fnPchActAmt">12,000</div>
146 151
             </div>
147 152
           </div>
148
-          <div class="detail_right">
149
-            <div class="detail_info">
153
+          <div class="left_info col-6">
154
+            <div class="thick">
150 155
               <label>납기요청일&nbsp;:&nbsp;</label>
151 156
               <div class="fn">2022.10.01</div>
152 157
             </div>

+ 31 - 24
src/main/webapp/mobile/app/mpomng/MPOMNG04010.html

@@ -1,5 +1,4 @@
1
-<link rel="stylesheet" href="/style.css">
2
-<section>
1
+		<section>
3 2
   <div id="ITP_AJAX_MPOMNG04010_VIEW_CONTAINER" >
4 3
     <div class="content">
5 4
       <div class="line">
@@ -14,39 +13,47 @@
14 13
       </div>
15 14
       <div class="line">
16 15
         <label>납품상태</label>
17
-        <div class="float_left">
18
-          <select name="" id="ITP_FORM_MPOMNG04010_VIEW">
19
-            <option value=""></option>
20
-          </select>
16
+        <div class="search_wrap">
17
+	        <div class="line_right">
18
+	          <select name="" id="ITP_FORM_MPOMNG04010_VIEW">
19
+	            <option value=""></option>
20
+	          </select>
21
+	        </div>
21 22
         </div>
22 23
       </div>
23 24
       <div class="line">
24 25
         <label>공급업체</label>
25
-        <div class="float_left">
26
-          <input id="ITP_FORM_MPOMNG04010_VIEW" type="text" placeholder="A공급업체명">
27
-        </div>
28
-        <div class="float_left_btn">
29
-          <button id="ITP_BTN_MPOMNG04010"><img src="/img/search.png" alt=""></button>
30
-          <button id="ITP_BTN_MPOMNG04010"><img src="/img/delete.png" alt=""></button>
31
-        </div>
26
+        <div class="search_wrap">
27
+	        <div class="float_left">
28
+	          <input id="ITP_FORM_MPOMNG04010_VIEW" type="text" placeholder="A공급업체명">
29
+	        </div>
30
+	        <div class="float_left_btn">
31
+	          <button id="ITP_BTN_MPOMNG04010"><img src="../img/search.png" alt=""></button>
32
+	          <button id="ITP_BTN_MPOMNG04010"><img src="../img/delete.png" alt=""></button>
33
+	        </div>
34
+	       </div> 
32 35
       </div>
33 36
       <div class="line">
34 37
         <label>납품장소</label>
35
-        <div class="float_left">
36
-          <input id="ITP_FORM_MPOMNG04010_VIEW" type="text" placeholder="A매장명">
37
-        </div>
38
-        <div class="float_left_btn">
39
-          <button id="ITP_BTN_MPOMNG04010"><img src="/img/search.png" alt=""></button>
40
-          <button id="ITP_BTN_MPOMNG04010"><img src="/img/delete.png" alt=""></button>
41
-        </div>
38
+  		<div class="search_wrap">
39
+	        <div class="float_left">
40
+	          <input id="ITP_FORM_MPOMNG04010_VIEW" type="text" placeholder="A매장명">
41
+	        </div>
42
+	        <div class="float_left_btn">
43
+	          <button id="ITP_BTN_MPOMNG04010"><img src="../img/search.png" alt=""></button>
44
+	          <button id="ITP_BTN_MPOMNG04010"><img src="../img/delete.png" alt=""></button>
45
+	        </div>
46
+	     </div>   
42 47
       </div>
43 48
       <div class="line">
44 49
         <label>품목명</label>
45
-        <div class="float_left">
46
-          <input id="ITP_FORM_MPOMNG04010_VIEW" style="width: 600px;" type="text" placeholder="A매장명">
50
+       	<div class="search_wrap">
51
+	        <div class="float_left">
52
+	          <input id="ITP_FORM_MPOMNG04010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
53
+	        </div>
47 54
         </div>
48 55
       </div>
49
-      <div class="line">
56
+      <div class="line" style="height:50px;">
50 57
         <div class="search">
51 58
           <button id="ITP_BTN_MPOMNG04010" class="btn-primary btn-sm ADB">검색</button>
52 59
         </div>
@@ -59,7 +66,7 @@
59 66
       <li class="history_list2">
60 67
         <div class="left">
61 68
           <div class="nomal">
62
-            <label>납품번호 </label>
69
+            <label class="">납품번호 </label>
63 70
             <div class="history">
64 71
               <div class="fn">202210010000001-0100</div> 
65 72
             </div>

+ 31 - 25
src/main/webapp/mobile/app/mpomng/MPOMNG05010.html

@@ -1,48 +1,54 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3 2
   <div id="ITP_AJAX_MPOMNG05010_VIEW_CONTAINER">
4 3
     <div class="content">
5 4
       <div class="line">
6 5
         <label>납품예정일</label>
7
-        <div class="float_left">
6
+        <div class="line_right">
8 7
           <input id="ITP_FORM_MPOMNG05010_VIEW" class=" date2" type="date" placeholder="">
9 8
         </div>
10 9
       </div>
11 10
       <div class="line">
12 11
         <label>납품서번호</label>
13
-        <div class="float_left">
14
-          <select name="" id="ITP_FORM_MPOMNG05010_VIEW">
15
-            <option value=""></option>
16
-          </select>
12
+		<div class="search_wrap">
13
+	        <div class="line_right">
14
+	          <select name="" id="ITP_FORM_MPOMNG05010_VIEW">
15
+	          </select>
16
+	        </div>
17 17
         </div>
18 18
       </div>
19 19
       <div class="line">
20 20
         <label>공급업체</label>
21
-        <div class="float_left">
22
-          <input id="ITP_FORM_MPOMNG05010_VIEW" type="text" placeholder="A공급업체명">
23
-        </div>
24
-        <div class="float_left_btn">
25
-          <button id="ITP_BTN_MPOMNG05010"><img src="/img/search.png" alt=""></button>
26
-          <button id="ITP_BTN_MPOMNG05010"><img src="/img/delete.png" alt=""></button>
27
-        </div>
21
+        <div class="search_wrap">
22
+	        <div class="float_left">
23
+	          <input id="ITP_FORM_MPOMNG05010_VIEW" type="text" placeholder="A공급업체명">
24
+	        </div>
25
+	        <div class="float_left_btn">
26
+	          <button id="ITP_BTN_MPOMNG05010"><img src="../img/search.png" alt=""></button>
27
+	          <button id="ITP_BTN_MPOMNG05010"><img src="../img/delete.png" alt=""></button>
28
+	        </div>
29
+	       </div> 
28 30
       </div>
29 31
       <div class="line">
30 32
         <label>납품장소</label>
31
-        <div class="float_left">
32
-          <input id="ITP_FORM_MPOMNG05010__VIEW" type="text" placeholder="A매장명">
33
-        </div>
34
-        <div class="float_left_btn">
35
-          <button id="ITP_BTN_MPOMNG05010"><img src="/img/search.png" alt=""></button>
36
-          <button id="ITP_BTN_MPOMNG05010"><img src="/img/delete.png" alt=""></button>
37
-        </div>
33
+  		<div class="search_wrap">
34
+	        <div class="float_left">
35
+	          <input id="ITP_FORM_MPOMNG05010_VIEW" type="text" placeholder="A매장명">
36
+	        </div>
37
+	        <div class="float_left_btn">
38
+	          <button id="ITP_BTN_MPOMNG05010"><img src="../img/search.png" alt=""></button>
39
+	          <button id="ITP_BTN_MPOMNG05010"><img src="../img/delete.png" alt=""></button>
40
+	        </div>
41
+	     </div>   
38 42
       </div>
39 43
       <div class="line">
40 44
         <label>품목명</label>
41
-        <div class="float_left">
42
-          <input id="ITP_FORM_MPOMNG05010__VIEW" style="width: 600px;" type="text" placeholder="A매장명">
45
+       	<div class="search_wrap">
46
+	        <div class="float_left">
47
+	          <input id="ITP_FORM_MPOMNG05010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
48
+	        </div>
43 49
         </div>
44 50
       </div>
45
-      <div class="line">
51
+      <div class="line" style="height:50px;">
46 52
         <div class="search">
47 53
           <button id="ITP_BTN_MPOMNG05010" class="btn-primary btn-sm ADB">검색</button>
48 54
         </div>
@@ -91,11 +97,11 @@
91 97
         </div>
92 98
         <div class="left">
93 99
           <div class="nomal">
94
-            <label>발주수량</label>
100
+            <label>납품수량</label>
95 101
             <div class="history">
96 102
               <div class="fn history_info">10</div>
97 103
             </div>
98
-            <label class="sub_info">납품수량</label>
104
+            <label class="sub_info">입고수량</label>
99 105
             <div class="history">
100 106
               <input id="ITP_FORM_MPOMNG05010__VIEW" type="text" placeholder="10">
101 107
             </div>

+ 31 - 24
src/main/webapp/mobile/app/mpomng/MPOMNG06010.html

@@ -1,5 +1,4 @@
1
-<link rel="stylesheet" href="/style.css">
2
-<section>
1
+s<section>
3 2
   <div id="ITP_AJAX_MPOMNG06010_VIEW_CONTAINER">
4 3
     <div class="content">
5 4
       <div class="line">
@@ -14,37 +13,45 @@
14 13
       </div>
15 14
       <div class="line">
16 15
         <label>발주번호</label>
17
-        <div class="float_left">
18
-          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text">
19
-        </div>
16
+        <div class="search_wrap">
17
+	        <div class="line_right">
18
+	          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text">
19
+	        </div>
20
+	    </div>    
20 21
       </div>
21 22
       <div class="line">
22 23
         <label>공급업체</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text" placeholder="A공급업체명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MPOMNG06010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MPOMNG06010"><img src="/img/delete.png" alt=""></button>
29
-        </div>
24
+        <div class="search_wrap">
25
+	        <div class="float_left">
26
+	          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text" placeholder="A공급업체명">
27
+	        </div>
28
+	        <div class="float_left_btn">
29
+	          <button id="ITP_BTN_MPOMNG06010"><img src="../img/search.png" alt=""></button>
30
+	          <button id="ITP_BTN_MPOMNG06010"><img src="../img/delete.png" alt=""></button>
31
+	        </div>
32
+	       </div> 
30 33
       </div>
31 34
       <div class="line">
32 35
         <label>납품장소</label>
33
-        <div class="float_left">
34
-          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text" placeholder="A매장명">
35
-        </div>
36
-        <div class="float_left_btn">
37
-          <button id="ITP_BTN_MPOMNG06010"><img src="/img/search.png" alt=""></button>
38
-          <button id="ITP_BTN_MPOMNG06010"><img src="/img/delete.png" alt=""></button>
39
-        </div>
36
+  		<div class="search_wrap">
37
+	        <div class="float_left">
38
+	          <input id="ITP_FORM_MPOMNG06010_VIEW" type="text" placeholder="A매장명">
39
+	        </div>
40
+	        <div class="float_left_btn">
41
+	          <button id="ITP_BTN_MPOMNG06010"><img src="../img/search.png" alt=""></button>
42
+	          <button id="ITP_BTN_MPOMNG06010"><img src="../img/delete.png" alt=""></button>
43
+	        </div>
44
+	     </div>   
40 45
       </div>
41 46
       <div class="line">
42 47
         <label>품목명</label>
43
-        <div class="float_left">
44
-          <input id="ITP_FORM_MPOMNG06010_VIEW" style="width: 600px;" type="text" placeholder="A매장명">
45
-        </div>
48
+        <div class="search_wrap">
49
+	        <div class="float_left">
50
+	          <input id="ITP_FORM_MPOMNG06010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
51
+	        </div>
52
+	    </div>    
46 53
       </div>
47
-      <div class="line">
54
+      <div class="line" style="height:50px;">
48 55
         <div class="search">
49 56
           <button id="ITP_BTN_MPOMNG06010" class="btn-primary btn-sm ADB">검색</button>
50 57
         </div>
@@ -97,7 +104,7 @@
97 104
             <div class="history">
98 105
               <div class="fn history_info">10</div>
99 106
             </div>
100
-            <label class="sub_info">납품수량</label>
107
+            <label class="sub_info">입고수량</label>
101 108
             <div class="history">
102 109
               <div class="fn">10</div>
103 110
             </div>

+ 10 - 12
src/main/webapp/mobile/app/mrtnmng/MRTNMNG01010.html

@@ -1,5 +1,3 @@
1
-<link rel="stylesheet" href="/style.css">
2
-
3 1
 <section id="MPOMNG01010">
4 2
   <div class="popup" style="display: none;">
5 3
     <div class="pop">
@@ -22,19 +20,19 @@
22 20
       </div>
23 21
     </div>
24 22
   </div>
25
-  <div class="popup2" style="display: none;">
23
+  <div class="popup2" style="display: block;">
26 24
     <div class="pop">
27 25
       <div class="header">
28 26
         <div class="header_left">
29 27
           <label>> 반품장소</label>
30 28
         </div>
31 29
         <div class="header_right">
32
-          <button id="ITP_BTN_MRTNMNG01010"><img src="/img/close.png"></button>
30
+          <button id="ITP_BTN_MRTNMNG01010"><img src="../img/close.png"></button>
33 31
         </div>
34 32
       </div>
35 33
       <div class="search_bar">
36 34
         <input id="ITP_FORM_MRTNMNG01010" type="text" placeholder="반품장소명">
37
-        <button id="ITP_BTN_MRTNMNG01010"><img src="/img/search.png"></button>
35
+        <button id="ITP_BTN_MRTNMNG01010"><img src="../img/search.png"></button>
38 36
       </div>
39 37
       <div class="search_bar">
40 38
         <button id="ITP_BTN_MRTNMNG01010" class="btn_blue">납품장소▼</button>
@@ -71,8 +69,8 @@
71 69
             <input id="ITP_FORM_MRTNMNG01010_VIEW" class="fn" type="text" placeholder="A매장명">
72 70
           </div>
73 71
           <div class="float_left_btn">
74
-            <button id="ITP_BTN_MRTNMNG01010"><img src="/img/search.png" alt=""></button>
75
-            <button id="ITP_BTN_MRTNMNG01010"><img src="/img/delete.png" alt=""></button>
72
+            <button id="ITP_BTN_MRTNMNG01010"><img src="../img/search.png" alt=""></button>
73
+            <button id="ITP_BTN_MRTNMNG01010"><img src="../img/delete.png" alt=""></button>
76 74
           </div>
77 75
         </div>
78 76
       </div>
@@ -83,15 +81,15 @@
83 81
     </div>
84 82
     <div class="scroll_area row-1">
85 83
       <li>
86
-        <div class="left">
84
+        <div class="left_info">
87 85
           <div class="thick">
88
-            <div class="fn">품목명</div>
86
+            <div class="fnItemNm">품목명</div>
89 87
             <div>-</div>
90
-            <div class="fn">2EA</div>
88
+            <div class="fnUnit">2EA</div>
91 89
           </div>
92
-          <div class="nomal">
90
+          <div class="thick">
93 91
             <label class="space0">구매가 :</label>
94
-            <div class="fn">1,120,000</div>
92
+            <div class="fnPchActAmt">1,120,000</div>
95 93
           </div>
96 94
         </div>
97 95
         <div class="right">

+ 19 - 18
src/main/webapp/mobile/app/mrtnmng/MRTNMNG02010.html

@@ -1,6 +1,5 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3
-  <div id="ITP_AJAX_MRTNMNG02010_VIEW_CONTAINER" style="display:block;">
2
+  <div id="ITP_AJAX_MRTNMNG02010_VIEW_CONTAINER" style="display: none;">
4 3
     <div class="content">
5 4
         <div class="line">
6 5
           <label>반품요청일</label>
@@ -12,7 +11,7 @@
12 11
       </div>
13 12
       <div class="line">
14 13
         <label>반품요청상태</label>
15
-        <div class="float_left">
14
+        <div class="line_right">
16 15
           <select class="stcd" name="" id="ITP_FORM_MRTNMNG02010_VIEW">
17 16
             <option value="">상태</option>
18 17
           </select>
@@ -20,15 +19,17 @@
20 19
       </div>
21 20
       <div class="line">
22 21
         <label>반품장소</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MRTNMNG02010_VIEW" class="fn" type="text" placeholder="A매장명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MRTNMNG02010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MRTNMNG02010"><img src="/img/delete.png" alt=""></button>
29
-        </div>
22
+        <div class="search_nm">
23
+	        <div class="float_left">
24
+	          <input id="ITP_FORM_MRTNMNG02010_VIEW" class="fn" type="text" placeholder="A매장명">
25
+	        </div>
26
+	        <div class="float_left_btn">
27
+	          <button id="ITP_BTN_MRTNMNG02010"><img src="../img/search.png" alt=""></button>
28
+	          <button id="ITP_BTN_MRTNMNG02010"><img src="../img/delete.png" alt=""></button>
29
+	        </div>
30
+      	</div>   
30 31
       </div>
31
-      <div class="line">
32
+      <div class="line" style="height:45px;">
32 33
         <div class="search">
33 34
           <button id="ITP_BTN_MRTNMNG02010" class="btn-primary btn-sm ADB">검색</button>
34 35
         </div>
@@ -73,7 +74,7 @@
73 74
       </li>
74 75
     </div>
75 76
   </div>
76
-  <div id="ITP_AJAX_MRTNMNG02010_DETAIL_CONTAINER" style="display: none;">
77
+  <div id="ITP_AJAX_MRTNMNG02010_DETAIL_CONTAINER" style="display: block;">
77 78
     <div class="content">
78 79
       <div class="line">
79 80
         <label>반품요청일</label>
@@ -99,19 +100,19 @@
99 100
     </div>
100 101
     <div class="scroll_area row-1" >
101 102
       <li>
102
-        <div class="left">
103
+        <div class="left_info">
103 104
           <div class="thick">
104
-            <div class="fn">품목명</div>
105
+            <div class="fnItemNm">품목명</div>
105 106
             <div>-</div>
106
-            <div class="fn">2EA</div>
107
+            <div class="fnUnit">2EA</div>
107 108
           </div>
108
-          <div class="nomal">
109
+          <div class="thick">
109 110
             <label class="space0">반품가 :</label>
110
-            <div class="fn">1,120,000</div>
111
+            <div class="fnPchActAmt">1,120,000</div>
111 112
           </div>
112 113
         </div>
113 114
         <div class="right">
114
-          <div class="fn num">2</div>
115
+          <div class="num fnNum">2</div>
115 116
         </div>
116 117
       </li>
117 118
     </div>

+ 35 - 33
src/main/webapp/mobile/app/mrtnmng/MRTNMNG03010.html

@@ -1,6 +1,5 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3
-  <div id="ITP_AJAX_MRTNMNG03010_VIEW_CONTAINER" style="display: block;">
2
+  <div id="ITP_AJAX_MRTNMNG03010_VIEW_CONTAINER" style="display: none;">
4 3
     <div class="content">
5 4
       <div class="line">
6 5
         <label>반품발주일자</label>
@@ -12,7 +11,7 @@
12 11
       </div>
13 12
       <div class="line">
14 13
         <label>반품발주상태</label>
15
-        <div class="float_left">
14
+        <div class="line_right">
16 15
           <select name="" id="ITP_FORM_MRTNMNG03010_VIEW">
17 16
             <option value=""></option>
18 17
           </select>
@@ -20,25 +19,29 @@
20 19
       </div>
21 20
       <div class="line">
22 21
         <label>반품장소</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MRTNMNG03010_VIEW" type="text" placeholder="A매장명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MRTNMNG03010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MRTNMNG03010"><img src="/img/delete.png" alt=""></button>
22
+        <div class="search_nm">
23
+	        <div class="float_left">
24
+	          <input id="ITP_FORM_MRTNMNG03010_VIEW" type="text" placeholder="A매장명">
25
+	        </div>
26
+	        <div class="float_left_btn">
27
+	          <button id="ITP_BTN_MRTNMNG03010"><img src="../img/search.png" alt=""></button>
28
+	          <button id="ITP_BTN_MRTNMNG03010"><img src="../img/delete.png" alt=""></button>
29
+	        </div>
29 30
         </div>
30 31
       </div>
31 32
       <div class="line">
32 33
         <label>반품입고장소</label>
33
-        <div class="float_left">
34
-          <input id="ITP_FORM_MRTNMNG03010_VIEW" type="text" placeholder="A공급업체명">
35
-        </div>
36
-        <div class="float_left_btn">
37
-          <button id="ITP_BTN_MRTNMNG03010"><img src="/img/search.png" alt=""></button>
38
-          <button id="ITP_BTN_MRTNMNG03010"><img src="/img/delete.png" alt=""></button>
39
-        </div>
34
+        <div class="search_nm">
35
+	        <div class="float_left">
36
+	          <input id="ITP_FORM_MRTNMNG03010_VIEW" type="text" placeholder="A공급업체명">
37
+	        </div>
38
+	        <div class="float_left_btn">
39
+	          <button id="ITP_BTN_MRTNMNG03010"><img src="../img/search.png" alt=""></button>
40
+	          <button id="ITP_BTN_MRTNMNG03010"><img src="../img/delete.png" alt=""></button>
41
+        	</div>
42
+        </div>	
40 43
       </div>
41
-      <div class="line">
44
+      <div class="line" style="height:50px;">
42 45
         <div class="search">
43 46
           <button id="ITP_BTN_MRTNMNG03010" class="btn-primary btn-sm ADB">검색</button>
44 47
         </div>
@@ -61,8 +64,8 @@
61 64
         <div class="left">
62 65
           <div class="nomal">
63 66
             <label class="col_2">반품발주상태&nbsp;:</label>
64
-            <div>
65
-              <div class="fn">대기</div>
67
+            <div class="col_5">
68
+              <div class="col_5 fn">대기</div>
66 69
             </div>
67 70
             <label>납품장소명&nbsp;:</label>
68 71
             <div>
@@ -91,7 +94,7 @@
91 94
       </li>
92 95
     </div>
93 96
   </div>
94
-  <div id="ITP_AJAX_MRTNMNG03010_DETAIL_CONTAINER" style="display: none;">
97
+  <div id="ITP_AJAX_MRTNMNG03010_DETAIL_CONTAINER" style="display: block;">
95 98
     <div class="content">
96 99
       <div class="line">
97 100
         <label>반품발주일자</label>
@@ -124,30 +127,29 @@
124 127
     <div class="scroll_area row-2">
125 128
       <li>
126 129
         <div>
127
-          <div class="detail_left">
128
-            <div class="detail_info">
129
-              <div class="fn">품목명</div>
130
+          <div class="left_info col-4">
131
+            <div class="thick">
132
+              <div class="fnItemNm">품목명</div>
130 133
               <i>-</i>
131
-              <div class="fn">2EA</div>
134
+              <div class="fnUnit">2EA</div>
132 135
             </div>
133 136
           </div>
134
-          <div class="detail_right">
135
-            <div class="detail_info">
137
+          <div class="left_info col-6">
138
+            <div class="thick">
136 139
               <label>수량/금액</label>
137 140
               <div class="fn">2</div>
138 141
               <i>/</i>
139 142
               <div class="fn">24,000</div>
140 143
             </div>
141 144
           </div>
142
-
143
-          <div class="detail_left">
144
-            <div class="detail_info">
145
-              <label class="space0">구매가 &nbsp;:&nbsp;</label>
146
-              <div class="fn">12,000</div>
145
+          <div class="left_info col-4">
146
+            <div class="thick">
147
+              <label style="margin:0;">구매가 :</label>
148
+              <div class="fnPchActAmt">12,000</div>
147 149
             </div>
148 150
           </div>
149
-          <div class="detail_right">
150
-            <div class="detail_info">
151
+          <div class="left_info col-6">
152
+            <div class="thick">
151 153
               <label>납기요청일&nbsp;:&nbsp;</label>
152 154
               <div class="fn">2022.10.01</div>
153 155
             </div>

+ 27 - 22
src/main/webapp/mobile/app/mrtnmng/MRTNMNG04010.html

@@ -1,16 +1,15 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3 2
   <div id="ITP_AJAX_MRTNMNG04010_VIEW_CONTAINER" style="display: block;">
4 3
     <div class="content">
5 4
       <div class="line">
6 5
         <label>반품예정일</label>
7
-        <div class="float_left">
6
+        <div class="line_right">
8 7
           <input id="ITP_FORM_MRTNMNG04010_VIEW" class="date2" type="date" placeholder="">
9 8
         </div>
10 9
       </div>
11 10
       <div class="line">
12 11
         <label>반품서번호</label>
13
-        <div class="float_left">
12
+        <div class="line_right">
14 13
           <select name="" id="ITP_FORM_MRTNMNG04010_VIEW">
15 14
             <option value=""></option>
16 15
           </select>
@@ -18,31 +17,37 @@
18 17
       </div>
19 18
       <div class="line">
20 19
         <label>반품입고장소</label>
21
-        <div class="float_left">
22
-          <input id="ITP_FORM_MRTNMNG04010_VIEW" type="text" placeholder="A공급업체명">
23
-        </div>
24
-        <div class="float_left_btn">
25
-          <button id="ITP_BTN_MRTNMNG04010"><img src="/img/search.png" alt=""></button>
26
-          <button><img src="/img/delete.png" alt=""></button>
20
+        <div class="search_wrap">
21
+	        <div class="float_left">
22
+	          <input id="ITP_FORM_MRTNMNG04010_VIEW" type="text" placeholder="A공급업체명">
23
+	        </div>
24
+	        <div class="float_left_btn">
25
+	          <button id="ITP_BTN_MRTNMNG04010"><img src="../img/search.png" alt=""></button>
26
+	          <button id="ITP_BTN_MRTNMNG04010"><img src="../img/delete.png" alt=""></button>
27
+	        </div>
27 28
         </div>
28 29
       </div>
29 30
       <div class="line">
30 31
         <label>반품장소</label>
31
-        <div class="float_left">
32
-          <input id="ITP_FORM_MRTNMNG04010_VIEW" type="text" placeholder="A매장명">
33
-        </div>
34
-        <div class="float_left_btn">
35
-          <button id="ITP_BTN_MRTNMNG04010"><img src="/img/search.png" alt=""></button>
36
-          <button id="ITP_BTN_MRTNMNG04010"><img src="/img/delete.png" alt=""></button>
37
-        </div>
32
+        <div class="search_wrap">
33
+	        <div class="float_left">
34
+	          <input id="ITP_FORM_MRTNMNG04010_VIEW" type="text" placeholder="A매장명">
35
+	        </div>
36
+	        <div class="float_left_btn">
37
+	          <button id="ITP_BTN_MRTNMNG04010"><img src="../img/search.png" alt=""></button>
38
+	          <button id="ITP_BTN_MRTNMNG04010"><img src="../img/delete.png" alt=""></button>
39
+	        </div>
40
+      	</div>  
38 41
       </div>
39 42
       <div class="line">
40 43
         <label>반품품목명</label>
41
-        <div class="float_left">
42
-          <input id="ITP_FORM_MRTNMNG04010_VIEW" style="width: 600px;" type="text" placeholder="A매장명">
43
-        </div>
44
+       	<div class="search_wrap">
45
+	        <div class="float_left">
46
+	          <input id="ITP_FORM_MRTNMNG04010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
47
+	        </div>
48
+  	  	</div>   
44 49
       </div>
45
-      <div class="line">
50
+      <div class="line" style="height:50px;">
46 51
         <div class="search">
47 52
           <button id="ITP_BTN_MRTNMNG04010" class="btn-primary btn-sm ADB">검색</button>
48 53
         </div>
@@ -92,8 +97,8 @@
92 97
         <div class="left">
93 98
           <div class="nomal">
94 99
             <label class="col_2">반품요청수량</label>
95
-            <div class="history">
96
-              <div class="fn">10</div>
100
+            <div class="col_5 history">
101
+              <div class="col_5 fn">10</div>
97 102
             </div>
98 103
             <label class="col_0">반품발주수량</label>
99 104
             <div class="history">

+ 27 - 22
src/main/webapp/mobile/app/mrtnmng/MRTNMNG05010.html

@@ -1,4 +1,3 @@
1
-<link rel="stylesheet" href="/style.css">
2 1
 <section>
3 2
   <div id="ITP_AJAX_MRTNMNG05010_VIEW_CONTAINER">
4 3
     <div class="content">
@@ -14,37 +13,43 @@
14 13
       </div>
15 14
       <div class="line">
16 15
         <label>반품발주번호</label>
17
-        <div class="float_left">
16
+        <div class="line_right">
18 17
           <input id="ITP_FORM_MRTNMNG05010_VIEW" type="text">
19 18
         </div>
20 19
       </div>
21 20
       <div class="line">
22 21
         <label>반품입고장소</label>
23
-        <div class="float_left">
24
-          <input id="ITP_FORM_MRTNMNG05010_VIEW" type="text" placeholder="A공급업체명">
25
-        </div>
26
-        <div class="float_left_btn">
27
-          <button id="ITP_BTN_MRTNMNG05010"><img src="/img/search.png" alt=""></button>
28
-          <button id="ITP_BTN_MRTNMNG05010"><img src="/img/delete.png" alt=""></button>
22
+        <div class="search_wrap">
23
+	        <div class="float_left">
24
+	          <input id="ITP_FORM_MRTNMNG05010_VIEW" type="text" placeholder="A공급업체명">
25
+	        </div>
26
+	        <div class="float_left_btn">
27
+	          <button id="ITP_BTN_MRTNMNG05010"><img src="../img/search.png" alt=""></button>
28
+	          <button id="ITP_BTN_MRTNMNG05010"><img src="../img/delete.png" alt=""></button>
29
+	        </div>
29 30
         </div>
30 31
       </div>
31 32
       <div class="line">
32 33
         <label>반품장소</label>
33
-        <div class="float_left">
34
-          <input id="ITP_FORM_MRTNMNG05010_VIEW" type="text" placeholder="A매장명">
35
-        </div>
36
-        <div class="float_left_btn">
37
-          <button id="ITP_BTN_MRTNMNG05010"><img src="/img/search.png" alt=""></button>
38
-          <button id="ITP_BTN_MRTNMNG05010"><img src="/img/delete.png" alt=""></button>
34
+        <div class="search_wrap">
35
+	        <div class="float_left">
36
+	          <input id="ITP_FORM_MRTNMNG05010_VIEW" type="text" placeholder="A매장명">
37
+	        </div>
38
+	        <div class="float_left_btn">
39
+	          <button id="ITP_BTN_MRTNMNG05010"><img src="../img/search.png" alt=""></button>
40
+	          <button id="ITP_BTN_MRTNMNG05010"><img src="../img/delete.png" alt=""></button>
41
+	        </div>
39 42
         </div>
40 43
       </div>
41 44
       <div class="line">
42 45
         <label>품목명</label>
43
-        <div class="float_left">
44
-          <input id="ITP_FORM_MRTNMNG05010_VIEW" style="width: 600px;" type="text" placeholder="A매장명">
46
+        <div class="search_wrap">
47
+	        <div class="float_left">
48
+	          <input id="ITP_FORM_MRTNMNG05010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
49
+	        </div>
45 50
         </div>
46 51
       </div>
47
-      <div class="line">
52
+      <div class="line" style="height:50px;">
48 53
         <div class="search">
49 54
           <button id="ITP_BTN_MRTNMNG05010"class="btn-primary btn-sm ADB">검색</button>
50 55
         </div>
@@ -57,7 +62,7 @@
57 62
       <li class="history_list2">
58 63
         <div class="left">
59 64
           <div class="nomal">
60
-            <label class="col_6">반품발주번호 </label>
65
+            <label>반품발주번호 </label>
61 66
             <div>
62 67
               <div class="fn">202210010000001-0100</div> 
63 68
             </div>
@@ -93,11 +98,11 @@
93 98
         </div>
94 99
         <div class="left">
95 100
           <div class="nomal">
96
-            <label class="col_2">반품발주수량</label>
97
-            <div>
98
-              <div class="fn">10</div>
101
+            <label>반품발주수량</label>
102
+            <div class="col_5">
103
+              <div class="col_5 fn">10</div>
99 104
             </div>
100
-            <label class="col_6">반품입고수량</label>
105
+            <label>반품입고수량</label>
101 106
             <div>
102 107
               <div class="fn">10</div>
103 108
             </div>

+ 22 - 22
src/main/webapp/mobile/app/mstockmng/MSTOCKMNG01010.html

@@ -1,5 +1,3 @@
1
-<link rel="stylesheet" href="/style.css">
2
-
3 1
 <section id="MSTOCK01010">
4 2
   <div class="popup2" style="display: none;">
5 3
     <div class="pop">
@@ -8,18 +6,18 @@
8 6
           <label>> 품목 검색</label>
9 7
         </div>
10 8
         <div class="header_right">
11
-          <button id="ITP_BTN_MSTOCKMNG01010"><img src="/img/close.png"></button>
9
+          <button id="ITP_BTN_MSTOCKMNG01010"><img src="../img/close.png"></button>
12 10
         </div>
13 11
       </div>
14 12
       <div class="search_bar">
15 13
         <input id="ITP_FORM_MSTOCKMNG01010" style="width:100%" type="text" placeholder="품목명/품목번호">
16 14
       </div>
17
-      <div class="search_bar">
15
+      <div class="search_bar" style="padding:0;">
18 16
         <button id="ITP_BTN_MSTOCKMNG01010" class="search btn-primary">검색</button>
19 17
       </div>
20 18
       <div class="popup_scroll">
21 19
         <li class="row_2">
22
-          <div class="left">
20
+          <div class="left" style="width:190px;">
23 21
             <div class="thick">
24 22
               <div class="fn">품목명</div>
25 23
               <div>-</div>
@@ -46,17 +44,19 @@
46 44
     <div class="content">
47 45
       <div class="line">
48 46
         <label>창고선택</label>
49
-        <div class="float_left">
50
-          <input id="ITP_FORM_MSTOCKMNG01010_VIEW" type="text" placeholder="A매장명">
51
-        </div>
52
-        <div class="float_left_btn">
53
-          <button id="ITP_BTN_MSTOCKMNG01010"><img src="/img/search.png" alt=""></button>
54
-          <button id="ITP_BTN_MSTOCKMNG01010"><img src="/img/delete.png" alt=""></button>
47
+        <div class="search_wrap">
48
+	        <div class="float_left">
49
+	          <input id="ITP_FORM_MSTOCKMNG01010_VIEW" type="text" placeholder="A매장명">
50
+	        </div>
51
+	        <div class="float_left_btn">
52
+	          <button id="ITP_BTN_MSTOCKMNG01010"><img src="../img/search.png" alt=""></button>
53
+	          <button id="ITP_BTN_MSTOCKMNG01010"><img src="../img/delete.png" alt=""></button>
54
+	        </div>
55 55
         </div>
56 56
       </div>
57 57
       <div class="line">
58 58
         <label>Location</label>
59
-        <div class="float_left">
59
+        <div class="line_right">
60 60
           <select name="" id="ITP_FORM_MSTOCKMNG01010_VIEW">
61 61
             <option value=""></option>
62 62
           </select>
@@ -64,11 +64,11 @@
64 64
       </div>
65 65
       <div class="line">
66 66
         <label>품목명</label>
67
-        <div class="float_left">
68
-          <input id="ITP_FORM_MSTOCKMNG01010_VIEW" style="width: 600px;" type="text" placeholder="A매장명">
67
+        <div class="search_wrap">
68
+          <input id="ITP_FORM_MSTOCKMNG01010_VIEW" style="width: 262px;" type="text" placeholder="A매장명">
69 69
         </div>
70 70
       </div>
71
-      <div class="line">
71
+      <div class="line" style="height:45px;">
72 72
         <div class="search">
73 73
           <button id="ITP_BTN_MSTOCKMNG01010" class="btn-primary btn-sm ADB">검색</button>
74 74
         </div>
@@ -107,11 +107,11 @@
107 107
           </div>
108 108
           <div class="left">
109 109
             <div class="nomal">
110
-              <label class="col_6">현재고수량 &nbsp;:</label>
111
-              <div class="fn">
112
-                <div class="fn">100Kg</div>
110
+              <label>현재고수량 &nbsp;:</label>
111
+              <div class="col_5 fn">
112
+                <div class="col_5 fn">100Kg</div>
113 113
               </div>
114
-              <label class="col_7">적정재고수량&nbsp;:</label>
114
+              <label>적정재고수량&nbsp;:</label>
115 115
               <div class="fn">
116 116
                 <div class="fn">50Kg</div>
117 117
               </div>
@@ -119,9 +119,9 @@
119 119
           </div>
120 120
           <div class="left">
121 121
             <div class="nomal">
122
-              <label class="col_7">안전재고비율 &nbsp;:</label>
123
-              <div class="fn">
124
-                <div class="fn">40%</div>
122
+              <label>안전재고비율 &nbsp;:</label>
123
+              <div class="col_5 fn">
124
+                <div class="col_5 fn">40%</div>
125 125
               </div>
126 126
               <label class="col_0">Location&nbsp;:</label>
127 127
               <div class="fn">

+ 14 - 14
src/main/webapp/mobile/app/mstockmng/MSTOCKMNG02010.html

@@ -1,7 +1,5 @@
1
-<link rel="stylesheet" href="/style.css">
2
-
3 1
 <section id="MSTOCK02010">
4
-  <div class="popup2" style="display: none;">
2
+  <div class="popup2" style="display: block;">
5 3
     <div class="barcode">
6 4
       <h1>바코드를 스캔 하시면 재고  실사 목록에 스캔한<br>바코드의품목이 추가 되고 실사 수량을 입력<br>하시기 바랍니다.</h1>
7 5
     </div>
@@ -16,29 +14,31 @@
16 14
     <div class="content">
17 15
       <div class="line">
18 16
         <label>재고실사일자</label>
19
-        <div class="float_left">
20
-          <input id="ITP_FORM_MSTOCK02010_VIEW" style="width: 400px;" type="date">
17
+        <div class="line_right">
18
+          <input id="ITP_FORM_MSTOCK02010_VIEW" class="date" type="date">
21 19
         </div>
22 20
       </div>
23 21
       <div class="line">
24 22
         <label>재고실사일자</label>
25
-        <div class="float_left">
26
-          <input id="ITP_FORM_MSTOCK02010_VIEW" type="text" placeholder="A매장명">
27
-        </div>
28
-        <div class="float_left_btn">
29
-          <button id="ITP_BTN_MSTOCK02010"><img src="/img/search.png" alt=""></button>
30
-          <button id="ITP_BTN_MSTOCK02010"><img src="/img/delete.png" alt=""></button>
23
+        <div class="search_wrap">
24
+	        <div class="float_left">
25
+	          <input id="ITP_FORM_MSTOCK02010_VIEW" type="text" placeholder="A매장명">
26
+	        </div>
27
+	        <div class="float_left_btn">
28
+	          <button id="ITP_BTN_MSTOCK02010"><img src="../img/search.png" alt=""></button>
29
+	          <button id="ITP_BTN_MSTOCK02010"><img src="../img/delete.png" alt=""></button>
30
+	        </div>
31 31
         </div>
32 32
       </div>
33 33
       <div class="line">
34 34
         <label>Location</label>
35
-        <div class="float_left">
35
+        <div class="line_right">
36 36
           <select name="" id="ITP_FORM_MSTOCK02010_VIEW">
37 37
             <option value=""></option>
38 38
           </select>
39 39
         </div>
40 40
       </div>
41
-      <div class="line">
41
+      <div class="line" style="height:45px;">
42 42
         <div class="search">
43 43
           <button id="ITP_BTN_MSTOCK02010" class="btn-primary btn-sm ADB">대상 검색</button>
44 44
         </div>
@@ -49,7 +49,7 @@
49 49
       </div>
50 50
     </div>
51 51
     <div class="scroll_area row-2">
52
-      <li class="history_list1">
52
+      <li class="history_list">
53 53
         <div>
54 54
           <div class="left">
55 55
             <div class="nomal">

+ 136 - 113
src/main/webapp/mobile/css/style.css

@@ -1,70 +1,75 @@
1 1
 @font-face { font-family: 'NanumBarunGothic';src: url('../fonts/NanumBarunGothic.eot');src: url('../fonts/NanumBarunGothic.eot') format('embedded-opentype'),url('../fonts/NanumBarunGothic.woff') format('woff');}
2 2
 * {margin: 0; padding: 0; box-sizing: border-box; text-align: center; font-family: 'NanumBarunGothic', 'serif'; list-style: none;}
3 3
 section {}
4
-body{background: #fff; position: relative; width: 100%; height: 500px;}
4
+body{background: #fff; position: relative; width: 100%; height: auto;}
5
+.color-gray {color:#aaa;}
5 6
 /* 팝업 */
6 7
 section .popup { position: fixed; width: 100%; height: 100%; background: transparent; z-index: 11;}
7
-section .popup .pop { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 70%; height: 550px; padding-top: 80px; background: #fff; border: 2px solid #000; border-top-left-radius: 20px; border-top-right-radius: 20px;}
8
-section .popup .pop label.pop_label {margin-top: 50px;font-size: 2.2rem;}
9
-section .popup .pop .pop_line { width: 100%; height: 75px;}
10
-section .popup .pop .pop_line label { font-size: 2.6rem; margin-left: 70px; float: left; width: 272px; text-align: left; margin-top: -15px;}
11
-section .popup .pop .pop_line div { margin-top: -15px; text-align: right; float: right; font-size: 2.6rem; margin-right: 80px; width: 250px;}
12
-section .popup .pop .popup_btn { position: absolute; background-color: #ccc; bottom: 0; width: 100%; height: 100px; border-top: 2px solid #000;}
13
-section .popup .pop .popup_btn button { position: relative; float: left; width: 100%; height: 100px; font-size: 2rem; font-weight: 700; border-radius: 0px; border: none;}
8
+section .popup .pop { position: absolute; top: 45%; left: 50%; transform: translate(-50%,-50%); width: 70%; height: 250px; padding-top: 30px; background: #fff; border: 2px solid #000; border-top-left-radius: 10px; border-top-right-radius: 10px;}
9
+section .popup .pop label.pop_label {position:relative; top:10px; font-size: 1.2rem;}
10
+section .popup .pop .pop_line { width: 100%; height: 30px;}
11
+section .popup .pop .pop_line label { font-size: 1.2rem; margin-left: 20px; float: left; width: auto; text-align: left;}
12
+section .popup .pop .pop_line div {text-align: right; float: right; font-size: 1.2rem; margin-right: 20px; width: auto;}
13
+section .popup .pop .popup_btn { position: absolute; background-color: #ccc; bottom: 0; width: 100%; height: 51px; border-top: 2px solid #000;}
14
+section .popup .pop .popup_btn button { position: relative; float: left; width: 100%; height: 50px; font-size: 1rem; font-weight: 700; border-radius: 0px; border: none;}
14 15
 section .popup .pop .popup_btn button.ok { width: 64%; border-left: 2px solid #000;}
15 16
 section .popup .pop .popup_btn button.cancel {width: 36%;}
16 17
 
17 18
 
18 19
 section .popup2 {position: fixed; width: 100%; height: 100%; background: rgba(200, 200,200, 0.8); z-index: 11;}
19
-section .popup2 .content {padding-top: 5%; top: 100px; position: fixed; z-index: 10; width:100%; background: #fff;}
20
+section .popup2 .content {position: fixed; z-index: 10; width:100%; background: #fff;}
20 21
 section .popup2 .barcode {width: 100%;}
21
-section .popup2 .barcode_area {width: 70%; height: 35%; margin: auto; background: #fff; border: 1px solid #000; margin-top: 5%;}
22
-section .popup2 .barcode h1{text-align: left; width: 85%; font-size: 2.6rem; margin:auto; margin-top: 30%;}
22
+section .popup2 .barcode_area {width: 300px; height: 300px; margin: auto; background: #fff; border: 1px solid #000; margin-top: 5%;}
23
+section .popup2 .barcode h1{text-align: left; width: 85%; font-size: 1.6rem; margin:auto; margin-top: 5%;}
23 24
 section .popup2 .btn_barcode {margin-top: 20%;}
24
-section .popup2 .btn_barcode button {width: 35%; height: 100px; font-size: 2.2rem;}
25
-section .popup2 .pop { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 90%; height: 85%; background: #fff; border: 2px solid #000;}
26
-section .popup2 .pop .header {position: relative; height: 100px; background: rgb(204, 225, 240); border-bottom: 1px solid #000;}
27
-section .popup2 .pop .header .header_left {float: left; padding-top: 20px; padding-left: 20px;}
28
-section .popup2 .pop .header .header_left label {font-size: 2.4rem;} 
25
+section .popup2 .btn_barcode button {width: 35%; height: 50px; font-size: 1rem;}
26
+section .popup2 .pop { position: absolute; top: 45%; left: 50%; transform: translate(-50%,-50%); width: 95%; height: 85%; background: #fff; border: 2px solid #000;}
27
+section .popup2 .pop .header {position: relative; height: 50px; background: rgb(204, 225, 240); border-bottom: 1px solid #000;}
28
+section .popup2 .pop .header .header_left {float: left; padding-top: 5px; padding-left: 15px;}
29
+section .popup2 .pop .header .header_left label {font-size: 1.4rem;} 
29 30
 section .popup2 .pop .header .header_right {float: right; padding-right: 10px;}
30 31
 section .popup2 .pop .header .header_right button {border: none; background: transparent;}
31
-section .popup2 .pop .search_bar {width: 100%; height: 90px; padding: 10px;}
32
-section .popup2 .pop .search_bar input {width: 88%; height: 80px; float: left;}
33
-section .popup2 .pop .search_bar button {width: 80px; height: 80px; float: right; border: none; padding-right: 30px;}
34
-section .popup2 .pop .search_bar button img {width: 50px; height: 50px;}
35
-section .popup2 .pop .search_bar button.search {float: none; width: 50%; height: 70px; background:rgb(46, 46, 248); color: #fff; font-size: 2rem; padding: 0; border: 1px solid #000; margin: 0 auto;}
36
-section .popup2 .pop .search_bar button.btn_blue {float: right; width: 200px; height: 70px; background:rgb(46, 46, 248); color: #fff; font-size: 2rem; padding: 0; border: 1px solid #000;}
32
+section .popup2 .pop .header .header_right button img {width:30px; height:30px;}
33
+section .popup2 .pop .search_bar {width: 100%; height: 50px; padding: 10px;}
34
+section .popup2 .pop .search_bar input {width: 80%; height: 40px; float: left;}
35
+section .popup2 .pop .search_bar button {float: right; border: none; padding-top:3px;}
36
+section .popup2 .pop .search_bar button img {width: 30px; height: 30px;}
37
+section .popup2 .pop .search_bar button.search {float: none; width: 50%; height: 35px; background:rgb(46, 46, 248); color: #fff; font-size: 1rem; padding: 0; border: 1px solid #000; margin: 0 auto;}
38
+section .popup2 .pop .search_bar button.btn_blue {float: right; width: 100px; height: 35px; background:rgb(46, 46, 248); color: #fff; font-size: 1rem; padding: 0; border: 1px solid #000;}
37 39
 
38 40
 section .popup2 .pop .popup_scroll {position: relative; width: 100%;height: 720px; overflow: auto;}
39
-section .popup2 .pop .popup_scroll li {list-style: none; width: 99%; height: 80px; border: 1px solid #000; margin: 0 auto;}
40
-section .popup2 .pop .popup_scroll li.row_2 {height: 140px;}
41
+section .popup2 .pop .popup_scroll li {list-style: none; width: 99%; height: 50px; border: 1px solid #000; margin: 0 auto;}
42
+section .popup2 .pop .popup_scroll li.row_2 {height: 80px;}
41 43
 section .popup2 .pop .popup_scroll li .left {position: relative; float: left;}
42 44
 section .popup2 .pop .popup_scroll li .left div {display: inline-block;}
43 45
 section .popup2 .pop .popup_scroll li .left label{font-size: 2.5rem;}
44
-section .popup2 .pop .popup_scroll li .left .thick {float: left; margin: 10px 20px; font-size: 2rem; text-align: left; width: 50%; font-weight: 600;}
45
-section .popup2 .pop .popup_scroll li .left .nomal {float: left; margin: 10px 20px 10px 40px; font-size: 1.8rem; text-align: left; width: 50%;}
46
+section .popup2 .pop .popup_scroll li .left .thick {float: left; margin: 10px 0 0 10px; font-size: 1rem; text-align: left; width: 100%; font-weight: 600;}
47
+section .popup2 .pop .popup_scroll li .left .nomal {float: left; margin: 15px 0px 0px 15px; font-size: 1.2rem; text-align: left; width: 100%;}
46 48
 section .popup2 .pop .popup_scroll li .left .history {font-weight: 700; font-size: 2.4rem; margin-left: 20px;}
47 49
 section .popup2 .pop .popup_scroll li .left .history input{width: 150px;}
48 50
 section .popup2 .pop .popup_scroll li .scroll_left {float: left;}
49
-section .popup2 .pop .popup_scroll li .scroll_left div {float: left; font-size: 2rem; font-weight: 700; width: auto; margin: 15px 10px;}
51
+section .popup2 .pop .popup_scroll li .scroll_left div {float: left; font-size: 0.8rem; font-weight: 700; width: auto; margin: 15px 10px;}
50 52
 section .popup2 .pop .popup_scroll li .scroll_right {float: right;}
51
-section .popup2 .pop .popup_scroll li .scroll_right button {width: 100px; height: 60px; padding: 0; background: rgb(198, 170, 250); border-radius: 15px; font-size: 1.5rem; margin:10px 10px;}
52
-section .popup2 .pop .popup_scroll li .right {margin: 40px 0; position: relative; display: flex; font-size: 2rem; font-weight: 700; float: left;}
53
-section .popup2 .pop .popup_scroll li .right .num {margin: 0 40px; width: auto;}
54
-section .popup2 .pop .popup_scroll li .right button {margin: -12px; padding: 20px; font-size: 1.5rem; border-radius: 0px;}
55
-section .popup2 .pop .popup_scroll li .add button{float: right; width: 120px; height: 120px; margin: 10px 20px; border-radius: 30px; font-size: 2rem; background: rgb(198, 170, 250);}
56
-section .popup2 .pop .content .line button {width: 40%; height: 80px;font-size: 2.4rem; padding: 0; margin: 0 20px;}
53
+section .popup2 .pop .popup_scroll li .scroll_right button {width: 60px; height: 40px; padding: 0; background: rgb(198, 170, 250); border-radius: 10px; font-size: 0.8rem; margin:4px 10px;}
54
+section .popup2 .pop .popup_scroll li .right {position: relative; display: flex; font-size: 1.6rem; font-weight: 700; float: left; top:20px;}
55
+section .popup2 .pop .popup_scroll li .right .num {margin: 0 20px; width: auto;}
56
+section .popup2 .pop .popup_scroll li .right button {padding: 5px; font-size: 1rem; border-radius: 0px;}
57
+section .popup2 .pop .popup_scroll li .add button{float: right; width: 60px; height: 55px; margin: 10px 10px; border-radius: 10px; font-size: 1rem; background: rgb(198, 170, 250);}
58
+section .popup2 .pop .content .line button {width: 40%; height: 35px;font-size: 1rem; padding: 0; margin: 0 10px;}
57 59
 
58 60
 section .popup3 { position: fixed; width: 100%; height: 100%; background: transparent; z-index: 11;}
59
-section .popup3 .content {padding-top: 5%; top: 100px; position: fixed; z-index: 10; width:100%; background: #fff;}
60
-section .popup3 .pop { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 90%; height: 85%; background: #fff; border: 2px solid #000;}
61
-section .popup3 .pop .header {position: relative; height: 100px; background: rgb(204, 225, 240); border-bottom: 1px solid #000;}
62
-section .popup3 .pop .header .header_left {float: left; padding-top: 20px; padding-left: 20px;}
63
-section .popup3 .pop .header .header_left label {font-size: 2.4rem;} 
61
+section .popup3 .content {position: fixed; z-index: 10; width:100%; height:596px; background: #fff;}
62
+section .popup3 .content label{width:120px; margin-top:7px;}
63
+section .popup3 .content div{font-weight:100;}
64
+section .popup3 .pop { position: absolute; top: 37%; left: 50%; transform: translate(-50%,-40%); width: 90%; height: 85%; background: #fff; border: 2px solid #000;}
65
+section .popup3 .pop .header {position: relative; height: 50px; background: rgb(204, 225, 240); border-bottom: 1px solid #000;}
66
+section .popup3 .pop .header .header_left {float: left; padding-top: 5px; padding-left: 20px;}
67
+section .popup3 .pop .header .header_left label {font-size: 1.4rem;} 
64 68
 section .popup3 .pop .header .header_right {float: right; padding-right: 10px;}
65 69
 section .popup3 .pop .header .header_right button {border: none; background: transparent;}
70
+section .popup3 .pop .header .header_right button img {width:30px; height:30px;}
66 71
 /* 버튼 */
67
-button {background-color: #fff; padding: 15px;}
72
+button {background-color: #fff; padding: 10px;}
68 73
 button.btn-primary  {color: #fff; background-color: #337ab7; border: 1px solid #000;font-weight: 700;}
69 74
 button.btn-yellow   {color: #fff; background-color: rgb(255, 183, 0); border: 1px solid #000;font-weight: 700;}
70 75
 button.btn-gray     {color: #fff; background-color: gray; border: 1px solid #000;font-weight: 700;}
@@ -140,14 +145,14 @@ body.eee {height: 700px; background: #eee;}
140 145
 .main .wicon .icon_left {float: left;}
141 146
 
142 147
 
143
-input {margin-top: 3px; border: 1px solid #000; margin-top: -2px; height: 60px; font-size: 2rem; text-align: left; padding:0 15px;}
144
-select {margin-top: 3px; border: 1px solid #000; margin-top: -2px; height: 60px; font-size: 2rem; text-align: left; padding:0 15px;}
148
+input {margin-top: 3px; border: 1px solid #000; margin-top: -2px; height: 36px; font-size: 0.8rem; text-align: left; padding:0 15px;}
149
+select {border: 1px solid #000; height: 35px; font-size: 1rem; text-align: left; padding:0 15px;}
145 150
 input .day {margin: 18%; width: 45%; height: 80px; float: right;}
146 151
 
147 152
 /* 공통화면 */
148 153
 
149
-#ITP_WRAPPER header {position: fixed;top: 0;width: 100%;height: 55px;background-color:#92c7f6;align-items: center;margin-bottom: 50px;border-bottom: 1px solid #000;z-index: 10;}
150
-#ITP_WRAPPER header .header_wrap {width: 100%; height: 45px; margin: 0 auto;}
154
+#ITP_WRAPPER header {position: fixed;top: 0;width: 100%;height: 55px;background-color:#92c7f6;align-items: center;border-bottom: 1px solid #000;z-index: 11;}
155
+#ITP_WRAPPER header .header_wrap {width: 100%; height: 55px; margin: 0 auto;}
151 156
 #ITP_WRAPPER header .header_wrap .menu_logo button {width: 40px; height: 40px; float: left; padding: 0; background: transparent; border: none; margin-top: 7px; margin-left: 7px;}
152 157
 #ITP_WRAPPER header .header_wrap .menu_logo button img {width: 35px; height: 35px; margin: 0; border-radius: 0; border: none;}
153 158
 #ITP_WRAPPER header .header_wrap img.brand {float: right; height: 45px; margin: 5px; border-radius: 50%; border: 1px solid #666;}
@@ -189,37 +194,42 @@ input .day {margin: 18%; width: 45%; height: 80px; float: right;}
189 194
   padding-top: 50px;
190 195
   font-size: 2rem;
191 196
 }
192
-.content {padding-top: 5%; top: 0px; position: fixed; z-index: 10; width:100%; background: #fff;}
193
-.content .line {position: relative; display: inline-block; width: 100%; height: 50px; margin-bottom: 50px;}
197
+.content {top: 55px; position: fixed; z-index: 10; width:100%; background: #fff;}
198
+.content .line {position: relative; display: inline-block; width: 100%; height: 35px; margin-bottom: 0px;}
194 199
 .content .line div {font-weight: 700;}
195
-.content .line label {font-size: 3rem; margin-left: 20px; float: left; width: 320px; text-align: left; margin-top: -15px;}
196
-.content .line label.col_6{width: 404px;}
197
-.content .line select.label {border: 1px solid #000; font-size: 2.5rem;margin: 0 10px; float: left; width: 300px; height: 60px; text-align: left; margin-top: -8px;}
200
+.content .line label {font-size: 1.2rem; margin-left: 10px; float: left; text-align: left; margin-top: 12px;}
201
+.content .line select.label {border: 1px solid #000; font-size: 0.9rem;margin:9px 0 0 5px; float: left; width: 120px; height: 30px; text-align: left;}
198 202
 .content .line .search_nm {float: right; margin-right: 2%;}
203
+.content .line .search_wrap {float:right; margin-right:10px;}
199 204
 .content .line .float_left {float: left;}
200 205
 .content .line .float_left.note {width: 100%; padding: 10px;}
201
-.content .line .float_left.note textarea {width: 100%; height: 300px; border: 1px solid #000; text-align: left;}
202
-.content .line .float_left div {font-size: 2.4rem; margin-top: -8px;}
203
-.content .line .float_left_btn {float: left; margin-top: -1px; margin-left: 5px;}
204
-.content .line .float_left select {float: left; width: 440px; height: 60px; margin-top: -3px; border: 1px solid #000; font-size: 2rem;}
206
+.content .line .float_left.note textarea {width: 100%; height: 100px; border: 1px solid #000; text-align: left;}
207
+.content .line .float_left div {font-size: 1rem; margin-top: 8px;}
208
+.content .line .float_left_btn {float: left; margin-top: 5px; margin-left: 5px;}
209
+.content .line .float_left_btn button {padding:0; width:36px; height:36px; border-radius:5px;}
210
+.content .line .float_left_btn button img {width:20px; height:20px;}
211
+.content .line .float_left select {float: left; width: 150px; height: 30px; margin-top: 7px; border: 1px solid #000; font-size: 1rem;}
205 212
 .content .line .line_right {font-size: 2rem; float: right; margin-right: 0%;}
206
-.content .line .line_right div {float: right; font-size: 2.4rem; margin-top: -10px; margin-right: 30px;}
207
-.content .line .line_right input {position: relative; text-align: right; margin-right: 30px;}
213
+.content .line .line_right div {float: right; font-size: 1.2rem; margin-top: 12px; margin-right: 30px;}
214
+.content .line .line_right input {position: relative; text-align: right; margin-right: 84px;}
208 215
 .content .line .line_right input.left {text-align: left;}
209
-.content .line input.date {width: 40%; margin: -10px; height: 80px; float: right; margin-right: 3%;}
210
-.content .line input.date2 {width: 350px; height: 60px;}
211
-.content .line div.date_to {float: left;}
212
-.content .line div.date_to input.year {width: 300px; margin-top: -10px; height: 60px;}
213
-.content .line div.date_to div.at {width: 3%;  font-size: 2rem; float: right; display: contents;}
214
-.content .line .search {width: 100%; height: 150px;}
215
-.content .line .search button {width: 50%; height: 75px; font-size: 2.4rem; padding: 0;}
216
-.content .line .search button.col_3 {width: 35%; margin: 0 20px; float: left;}
217
-.content .line .search button.col_5 {width: 55%; margin: 0 20px; float: right;}
218
-.content .table_header {margin: 0 auto; width: 100%; height: 100px; background-color: #92c7f6; position: fixed; z-index: 10; border-bottom: 1px solid #000; border-top: 1px solid #000;}
219
-.content .table_header h1 {margin-top: 20px; margin-left: 15px; font-size: 2.2rem; float: left; color: #fff; font-weight: 100;}
220
-.content .table_header button {float: right; width: 200px; font-size: 2rem; padding: 5px 20px; margin: 20px;}
221
-
222
-.detail_content {padding-top: 5%; top: 0px; position: fixed; z-index: 10; width:100%; background: #fff;}
216
+.content .line .line_right input.mg0 {margin-right:10px;}
217
+.content .line .line_right input.date{width:140px; margin-right:132px; height:35px;} 
218
+.content .line .line_right select {float: right; width: 180px; height: 30px; margin-top: 7px; border: 1px solid #000; font-size: 1rem; margin-right:93px;}
219
+.content .line input.date {width: 40%; margin: 10px; height: 40px; float: right; margin-right: 3%;}
220
+.content .line input.date2 {width: 140px; height: 30px; margin-right:133px;}
221
+.content .line div.date_to {float: right; margin-right:10px;}
222
+.content .line div.date_to input.year {width: 120px; height: 30px;}
223
+.content .line div.date_to div.at {width: 3%;  font-size: 1rem; float: right; display: contents;}
224
+.content .line .search {width: 100%; height: 50px;}
225
+.content .line .search button {width: 50%; height: 35px; font-size: 1rem; padding: 0;}
226
+.content .line .search button.col_3 {width: 35%; margin-left:12px; float: left;}
227
+.content .line .search button.col_5 {width: 55%; margin-right: 10px; float: right;}
228
+.content .table_header {margin: 0 auto; width: 100%; height: 50px; background-color: #92c7f6; position: fixed; z-index: 10; border-bottom: 1px solid #000; border-top: 1px solid #000;}
229
+.content .table_header h1 {margin-top: 12px; margin-left: 10px; font-size: 1.2rem; float: left; color: #fff; font-weight: 100;}
230
+.content .table_header button {float: right; width: 111px; font-size: 1rem; padding: 5px 20px; margin: 8px;}
231
+
232
+.detail_content {top: 0px; position: fixed; z-index: 10; width:100%; background: #fff;}
223 233
 .detail_content .detail_header {width: 100%; height: 80px;}
224 234
 .detail_content .detail_header .detail_logo {float: left;}
225 235
 .detail_content .detail_header .detail_logo img {width: 150px; margin-left: 50px;}
@@ -248,79 +258,92 @@ input .day {margin: 18%; width: 45%; height: 80px; float: right;}
248 258
   font-size: 1.8rem;
249 259
 } */
250 260
 
251
-.button_bar {width: 100%; height: 120px; background: #ccc; position: fixed; bottom: 0px; border-top: 1px solid #000; border-bottom: 1px solid #000; z-index: 10;}
252
-.button_bar button.col_3{float: left; height: 120; font-size: 3rem; margin: 0; width: 33.3%; font-weight: 700; border: 1px solid #000; border-radius: 0;}
261
+.button_bar {width: 100%; height: 60px; background: #ccc; position: fixed; bottom: 0px; border-top: 1px solid #000; border-bottom: 1px solid #000; z-index: 10;}
262
+.button_bar button.col_3{float: left; height: 60px; font-size: 1.4rem; margin: 0; width: 33.3%; font-weight: 700; border: 1px solid #000; border-radius: 0;}
253 263
 .button_bar button.btn-gray {border-radius: 0px; background-color: #666; color: #eee;}
254 264
 .button_bar button.btn {height: 120px;}
255 265
 .button_bar button.btn_col_3 {width: 35%;}
256 266
 .button_bar button.btn_col_6 {width: 65%;}
257 267
 .button_bar button.btn_col_3,
258
-.button_bar button.btn_col_6 {border: 1px solid #000; float: left; height: 120px; font-size: 2.4rem; font-weight: 700; border-radius: 0px;}
259
-.button_bar button.col_12 {width: 100%; height: 120px; font-size: 2.2rem;}
268
+.button_bar button.btn_col_6 {border: 1px solid #000; float: left; height: 60px; font-size: 1.4rem; font-weight: 700; border-radius: 0px;}
269
+.button_bar button.col_12 {width: 100%; height: 60px; font-size: 1.2rem;}
260 270
 
261 271
 /* scroll_area 조정 */
262 272
 .scroll_area {position: absolute; width: 100%; height: 1090px; bottom: 30px; overflow: auto; background: #fff;}
263
-.row-1{top: 450px;}
264
-.row-2{top: 550px;}
265
-.row-3{top: 650px;}
266
-.row-4{top: 750px;}
273
+.row-1{top: 240px;}
274
+.row-1-1{top:288px;}
275
+.row-2{top: 282px;}
276
+
277
+.row-3{top: 333px;}
278
+.row-4{top: 377px;}
267 279
 .row-5{top: 850px;}
268
-.row-6{top: 950px;}
280
+.row-6{top: 468px;}
269 281
 .row-7{top: 1030px;}
270 282
 
283
+.col-4{width:40% !important;}
284
+.col-6{width:60% !important;}
271 285
 
272 286
 
273
-.scroll_area li {margin: 5px; list-style: none; width: 99%; height: 140px; border: 1px solid #000; background-color: #fff;}
274
-.scroll_area li.history_list {height: 300px; }
287
+.scroll_area li {margin: 5px 3px; list-style: none; width: 99%; height: 85px; border: 1px solid #000; background-color: #fff;}
288
+.scroll_area li .left_info {width:50%; float:left; font-size:1rem;}
289
+.scroll_area li .left_info div {display: inline-block;}
290
+.scroll_area li .left_info label{font-size: 1.1rem; font-weight:100; margin-left:10px;}
291
+.scroll_area li .left_info .thick {float:left;  margin: 8px 0 0 10px; font-size: 1rem; text-align: left; width: 90%; font-weight: 600;}
292
+.scroll_area li .left_info .history {font-weight: 700; font-size: 1.1rem; margin-top:-2px;}
293
+.scroll_area li .left_info .history input{width: 150px;}
294
+.scroll_area li.history_list {height: 140px; padding-top:8px;}
275 295
 .scroll_area li.history_list .button_right {float: right; display: grid;}
276
-.scroll_area li.history_list .button_right button {width: 124px; height: 149px; font-size: 2rem; margin: 0; border-radius: 0;}
277
-.scroll_area li.history_list1 {height: 230px; }
278
-.scroll_area li.history_list2 {height: 380px;}
296
+.scroll_area li.history_list .button_right button {width: 65px; height: 70px; font-size: 1rem; margin: 0; border-radius: 0;}
297
+.scroll_area li.history_list1 {height: 230px;}
298
+.scroll_area li.history_list2 {height: 160px; padding-top:5px;}
299
+.scroll_area li.history_list2 label{min-width:95px; display:inline-flex;}
279 300
 .scroll_area li.history_list3 {height: 330px;}
280
-.scroll_area li .history_info {width: 240px;}
281
-.scroll_area li .left {position: relative; float: left;}
301
+.scroll_area li.history_list4 {height: 150px;}
302
+.scroll_area li .history_info {width: auto;}
303
+.scroll_area li .left {width:100%; height:30px; margin-top:0px;}
304
+.scroll_area li .btn {width:calc(100% - 65px); padding-top:12px;}
282 305
 .scroll_area li .left div {display: inline-block;}
283
-.scroll_area li .left label{font-size: 2.5rem;}
284
-.scroll_area li .left .thick {margin: 10px 20px; font-size: 2.2rem; text-align: left; width: 100%; font-weight: 600;}
285
-.scroll_area li .left .history {font-weight: 700; font-size: 2.4rem; margin-left: 20px;}
306
+.scroll_area li .left label{font-size: 1.1rem;}
307
+.scroll_area li .left .thick {float:left;  margin: 8px 20px; font-size: 1rem; text-align: left; width: 50%; font-weight: 600;}
308
+.scroll_area li .left .history {font-weight: 700; font-size: 1.1rem; margin-top:-2px;}
286 309
 .scroll_area li .left .history input{width: 150px;}
287 310
 
288
-.scroll_area li div {padding: 1px;}
289
-.scroll_area li .detail_line {width: 100%; display: inline-block;}
311
+.scroll_area li .detail_line {width: 100%; height:25px; display: inline-block;}
290 312
 .scroll_area li .detail_left {float: left;}
291
-.scroll_area li .detail_left div {display: inline-block;}
292 313
 .scroll_area li .detail_left .detail_info {margin: 5px 10px;}
293
-.scroll_area li .detail_left .detail_info div {width: auto; font-size: 2.2rem; font-weight: 700;}
294
-.scroll_area li .detail_left .detail_info i {width: auto; font-size: 2.2rem; margin: 0 20px;}
295
-.scroll_area li .detail_left .detail_info label {width: auto;  font-size: 2rem;}
314
+.scroll_area li .detail_left .detail_info div {width: auto; font-size: 1rem; font-weight: 700;}
315
+.scroll_area li .detail_left .detail_info i {width: auto; font-size: 1rem; margin: 0 20px;}
316
+.scroll_area li .detail_left .detail_info label {position:absolute; width: auto;  font-size: 1rem;}
296 317
 .scroll_area li .detail_right {float: right;}
297
-.scroll_area li .detail_right div {display: inline-block;}
298 318
 .scroll_area li .detail_right .detail_info {margin: 5px 25px;}
299 319
 .scroll_area li .detail_right .detail_info label {margin: 5px 30px; font-size: 2rem;}
300
-.scroll_area li .detail_right .detail_info div {width: auto; font-size: 2.2rem; font-weight: 700;}
301
-.scroll_area li .detail_right .detail_info i {width: auto; font-size: 2.2rem; margin: 0 20px;}
302
-.scroll_area li .left .nomal  {width: 100%; text-align: left; font-size: 2.2rem;}
303
-.scroll_area li .left .nomal  input{width: 200px;}
320
+.scroll_area li .detail_right .detail_info div {width: auto; font-size: 1rem; font-weight: 700;}
321
+.scroll_area li .detail_right .detail_info i {width: auto; font-size: 1rem; margin: 0 20px;}
322
+.scroll_area li .left .nomal  {width: 100%; float:left; text-align: left; font-size: 1.2rem;}
323
+.scroll_area li .left .nomal .half {width:50%; float:left;}
324
+.scroll_area li .left .nomal .half label {font-weight:100;}
325
+.scroll_area li .left .nomal  input{width: 85px; height:30px;}
304 326
 .scroll_area li .left .nomal .scroll_btn {margin-bottom: 10px; min-width: 0;}
305 327
 .scroll_area li .left .nomal .scroll_btn button{position: absolute; top: -10px; width: 100px; height: 70px; font-size: 1.8rem; padding: 0; border-radius: 15px; background: rgb(198, 170, 250);}
306 328
 
329
+.scroll_area li .left .nomal span {margin:0 10px;}
330
+
307 331
 .scroll_area li .left .nomal .btn_bar{position: relative; width: auto; font-size: 2.2rem;}
308
-.scroll_area li .left .nomal .btn_bar button{width: 50px; height: 70px; font-size: 2rem; padding: 0;}
309
-.scroll_area li .left .nomal .btn_bar .col_0{min-width: auto; margin: 0 50px;}
332
+.scroll_area li .left .nomal .btn_bar button{width: 25px; height: 30px; font-size: 1rem; padding: 0;}
333
+.scroll_area li .left .nomal .btn_bar .col_0{min-width: auto; margin: 5px 20px;}
310 334
 
311
-.scroll_area li .left .nomal .space{ margin-left: 40px; min-width: 100px;}
312
-.scroll_area li .left .nomal .space0{ margin-left: 40px; width: auto;}
335
+.scroll_area li .left .nomal .space{ margin-left: 30px; min-width: 100px;}
336
+.scroll_area li .left .nomal .space0{ margin-left: 30px; width: auto;}
313 337
 .scroll_area li .left .nomal .space1{ margin-left: 0px; width: 200px;}
314
-.scroll_area li .left .nomal .space2 {width: 120px; display: inline-flex; font-size: 2.4rem; margin-right: 30px; font-weight: 700;}
315
-.scroll_area li .left .nomal label{margin-left: 10px; width: 230px; display: inline-flex;}
316
-.scroll_area li .left .nomal label.sub_info{width: 168px; display: inline-flex;}
338
+.scroll_area li .left .nomal .space2 {display: inline-flex; font-size: 1.4rem; font-weight: 700;}
339
+.scroll_area li .left .nomal label{position:relative; margin-left: 10px;}
340
+.scroll_area li .left .nomal label.sub_info{min-width: 70px; display: inline-flex;}
317 341
 .scroll_area li .left .nomal label.col_0{width: auto;}
318
-.scroll_area li .left .nomal label.col_1{width: 180px;}
319
-.scroll_area li .left .nomal label.col_2{width: 273px;}
320
-.scroll_area li .left .nomal label.col_6{width: 250px;}
321
-.scroll_area li .left .nomal label.col_7{width: 280px;}
342
+.scroll_area li .left .nomal label.col_2{width: 95px;}
322 343
 .scroll_area li .left .nomal i{width: 50px; text-align: center;}
323
-.scroll_area li .left .nomal div{min-width: 168px; display: inline-flex; font-weight: 700; font-size: 2.4rem;}
324
-.scroll_area li .right {margin: 40px; position: relative; display: flex; font-size: 2rem; font-weight: 700; float: right;}
325
-.scroll_area li .right .num {margin: 0 40px; width: auto;}
326
-.scroll_area li .right button {margin: -12px; padding: 20px; font-size: 1.5rem; border-radius: 0px;}
344
+.scroll_area li .left .nomal div{min-width:90px; display: inline-flex; font-weight: 700; font-size: 1.1rem;}
345
+.scroll_area li .left .nomal .col_5{min-width:50px;}
346
+
347
+.scroll_area li .right {margin: 30px 20px 0 0; position: relative; display: flex; font-size: 1.4rem; font-weight: 700; float: right;}
348
+.scroll_area li .right .num {margin: 0 25px; width: auto;}
349
+.scroll_area li .right button {margin: -6px; padding:0px 7px; font-size: 1.5rem; border-radius: 0px;}

+ 2 - 186
src/main/webapp/mobile/js/app/main.js

@@ -1,198 +1,14 @@
1
-
2
-const MAIN_NOTICE_GRID_ID = '#ITP_MAIN_NOTICE_jqGrid';
3
-const MAIN_NOTICE_GRID_LIST = '#ITP_MAIN_NOTICE_jqGrid_list';
4
-const MAIN_NOTICE_GRID_PAGER = '#ITP_MAIN_NOTICE_jqGridPager';
5
-const MAIN_NOTICE_GRID_EMPTY = '#ITP_MAIN_NOTICE_jqGridEmpty';
6
-
7
-let NTICE_DETAIL_GRID_LIST = '/api/ntice/detail-grid-list';
8
-
9 1
 require(['config'], function() {
10 2
 	require([
11 3
 		'jquery'
12 4
 	], function($) {
13
-		
14
-		setTimeout(function() {
15
-			// // 시간지정
16
-			// $('#ITP_FORM_MAIN_NOTICE_SEARCH_SCH_DT').val(itp_fn_date_format(new Date(), 2));
17
-			// $('#ITP_FORM_MAIN_NOTICE_SEARCH_USER_ID').val(USER_ID);
18
-			//
19
-	    	// // Barcode
20
-			// itp_fn_barcode.init();
21 5
 
6
+		setTimeout(function() {
22 7
 		}, 100);
23
-				
8
+
24 9
 	});
25 10
 });
26 11
 
27
-var itp_fn_mobile_MAIN_MENU = {
28
-	init: function() {
29
-		this.topMenuMake();
30
-		this.button();
31
-	},
32
-	button: function() {
33
-		var _this = this;
34
-		$(document).on('click', '.manage_btn_bar button', function() {
35
-			$('#ITP_CONTAINER').empty();
36
-			_this.subMenuMake($(this).data('top-menu'));
37
-		});
38
-		$(document).on('click', '#ITP_CONTAINER button', function() {
39
-			console.log('===> ' + $(this).data('sub-menu'));
40
-		});
41
-	},
42
-	topMenuMake: function() {
43
-		var _this = this;
44
-		var topMenuCnt = 0;
45
-		$.each(AUTH_MENU_LIST, function(key, value) {
46
-			if(value.topMenuNo === 200) {
47
-				topMenuCnt++;
48
-			}
49
-		});
50
-		console.log(topMenuCnt);
51
-		$.each(AUTH_MENU_LIST, function(key, value) {
52
-			if(value.topMenuNo === 200) {
53
-				var menuDIV = 	'<div class="manage col_' + topMenuCnt + '">' +
54
-								'	<button data-top-menu="' + value.menuNo + '">' + value.menuNm + '</button>' +
55
-								'</div>';
56
-				$('.manage_btn_bar').append(menuDIV);
57
-				if(key === 0) {
58
-					_this.subMenuMake(value.menuNo);
59
-				}
60
-			}
61
-		});
62
-	},
63
-	subMenuMake: function(topMenuNo) {
64
-		var seq = 0;
65
-		var pos = 'icon_left';
66
-		var menuDIV = '<div class="wicon">\n';
67
-		$.each(AUTH_MENU_LIST, function(key, value) {
68
-			if(value.topMenuNo === topMenuNo) {
69
-				if(seq > 0 && seq % 2 === 0) {
70
-					menuDIV += '</div>\n';
71
-					menuDIV += '<div class="wicon">\n';
72
-					pos = 'icon_left';
73
-				}
74
-				menuDIV += 	'	<div class="' + pos + '">\n' +
75
-							'		<button data-sub-menu="' + value.menuNo + '">\n' +
76
-							'			<label>ICON<br>' + value.menuNm + '</label>\n' +
77
-							'		</button>\n' +
78
-							'	</div>\n';
79
-				seq++;
80
-				pos = 'icon_right';
81
-			}
82
-		});
83
-		menuDIV += '</div>';
84
-		$('#ITP_CONTAINER').append(menuDIV);
85
-	}
86
-};
87
-
88
-var itp_fn_MAIN_NOTICE_grid = {
89
-	init: function() {
90
-		// 데이터 없을때
91
-		itp_fn_MAIN_NOTICE_empty.push();
92
-		$(MAIN_NOTICE_GRID_EMPTY).on('click', function() {
93
-			itp_fn_MAIN_NOTICE_empty.back();
94
-			itp_MAIN_NOTICE_param.gridSize = $.jgrid.defaults.rowNum;
95
-			$(MAIN_NOTICE_GRID_ID).setGridParam({'postData': JSON.stringify(itp_MAIN_NOTICE_param)}).trigger('reloadGrid');
96
-		});
97
-	},
98
-	callBack: function() {
99
-		let param = $('#ITP_FORM_MAIN_NOTICE_SEARCH').serializeObject();
100
-		param.gridSize = $.jgrid.defaults.rowNum;
101
-		$(MAIN_NOTICE_GRID_ID).jqGrid({
102
-			colModel: [
103
-				{
104
-					index: 'NTICE_NO', name: 'nticeNo',
105
-					label: ITP_MSG_LOCALE.label.notiNo, //공지번호
106
-					width: '10', fixed: false, align: 'center',
107
-					sortable: false, hidden: false
108
-				},
109
-				{
110
-					index: 'NTICE_TITL', name: 'nticeTitl',
111
-					label: '공지사항', //공지제목
112
-					width: '15', fixed: false, align: 'center',
113
-					sortable: false, hidden: false
114
-				},
115
-				{
116
-					index: 'ADD_DT', name: 'addDt',
117
-					label: ITP_MSG_LOCALE.label.regDt, //등록일
118
-					width: '10', fixed: false, align: 'center',
119
-					sortable: false, hidden: false
120
-				}
121
-			],
122
-			loadBeforeSend: function(jqXHR) {
123
-			    jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
124
-			},
125
-			postData: JSON.stringify(param),
126
-			url: DOMAIN + NTICE_DETAIL_GRID_LIST,
127
-			pager: MAIN_NOTICE_GRID_PAGER,
128
-			multiselect: false,
129
-			rownumbers: true,
130
-			onCellSelect: function(rowId, cellIdx, cellValue) {
131
-				var cm = $(this).jqGrid('getGridParam', 'colModel');
132
-				var colNm = cm[cellIdx].name;
133
-				if (colNm == 'nticeTitl') {
134
-					const nticeNoVal = $(this).jqGrid('getCell', rowId, 'nticeNo');
135
-					const key = {nticeNo: nticeNoVal, viewCd: 'R'};
136
-					var param = $.param(key);
137
-					// itp_fn_MAIN_NOTICE_view(param);
138
-					
139
-					fn_call_popup('comm', 'NOTICE_INFO_POPUP', '#ITP_ASIDE', function() {
140
-												
141
-					}, param, 'S');
142
-					$('#ITP_NOTICE_INFO_POPUP > div.modal-dialog').width('500px');
143
-				}
144
-		   	},
145
-			loadComplete: function(data) {
146
-				//console.log(JSON.stringify(data));
147
-				itp_fn_grid_load_complete(data, MAIN_NOTICE_GRID_ID, true, 'number', 'MAIN_NOTICE', itp_MAIN_NOTICE_search, itp_fn_MAIN_NOTICE_empty, false, data.gridRecords, false);
148
-				var ids = $(MAIN_NOTICE_GRID_ID).getDataIDs();
149
-				$.each(ids, function(idx, rowId) {
150
-					$(MAIN_NOTICE_GRID_ID).jqGrid('setCell', rowId, 'nticeTitl', '', ITP_GRID_COL_STYLE.link);
151
-				});
152
-
153
-				if ($('#ITP_CONTAINER').data('openYn') == 'Y') {
154
-					$('#ITP_CONTAINER').data('openYn', 'N');
155
-					const keyNew = {nticeNo: $('#ITP_CONTAINER').data('nticeNo'), viewCd: 'R'};
156
-					var paramNew = $.param(keyNew);
157
-					itp_fn_MAIN_NOTICE_view(paramNew);
158
-				}
159
-		    },
160
-		    loadError: function(jqXHR, textStatus, errorThrown) {
161
-		    	itp_fn_grid_load_error(jqXHR, textStatus, errorThrown);
162
-		    },
163
-		    onPaging: function(action) {
164
-		    	itp_fn_grid_paging(MAIN_NOTICE_GRID_ID, action, param);
165
-		    }
166
-		}).navGrid(MAIN_NOTICE_GRID_PAGER, ITP_GRID_NAV_DEFAULTS.navGrid);
167
-	},
168
-	clearData : function() {
169
-		$(MAIN_NOTICE_GRID_ID).jqGrid('clearGridData', true);
170
-		$(MAIN_NOTICE_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
171
-		$(MAIN_NOTICE_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
172
-		$(MAIN_NOTICE_GRID_EMPTY).show();
173
-	},
174
-	unload : function() {
175
-		$.jgrid.gridUnload(MAIN_NOTICE_GRID_ID);
176
-	}
177
-};
178
-
179
-var itp_fn_MAIN_NOTICE_search = function() {
180
-	itp_fn_MAIN_NOTICE_grid.unload();
181
-	itp_fn_MAIN_NOTICE_grid.callBack();
182
-};
183
-
184
-let itp_MAIN_NOTICE_param = {};
185
-let itp_MAIN_NOTICE_search = false;
186
-var itp_fn_MAIN_NOTICE_empty = {
187
-	push: function() {		
188
-		let param = $('#ITP_FORM_MAIN_NOTICE_SEARCH').serializeObject();
189
-		itp_MAIN_NOTICE_param = param;
190
-	},
191
-	back: function() {
192
-		
193
-	}
194
-};
195
-
196 12
 var itp_fn_barcode = {
197 13
 	init: function () {
198 14
 		this.event();

+ 70 - 0
src/main/webapp/mobile/js/app/mpomng/ITP_MPOMNG01010.js

@@ -0,0 +1,70 @@
1
+require(['config'], function() {
2
+	require([
3
+	], function($) {
4
+		contentPageObj.init();
5
+	});
6
+});
7
+
8
+/*API URL*/
9
+const API_MOBILE_INIT_INFO	= '/api/pomng/init-pchReq';
10
+const API_MOBILE_SAVE		= '/api/pomng/save-pchReq';
11
+const API_POP_SEARCH_LIST	= '/api/whs/mng/pop-whs-search';
12
+
13
+let contentPageObj = {
14
+	init: function () {
15
+		this.ui.init();
16
+		this.event.init();
17
+	},
18
+	ui: {
19
+		init: function () {
20
+
21
+		}
22
+	},
23
+	event: {
24
+		init: function() {
25
+			this.button();
26
+		},
27
+		button: function() {
28
+			$('button[id^="ITP_BTN_MPOMNG01010_DETAIL"]').on('click', function() {
29
+				if($(this).is('[data-call-popup]')) {
30
+					contentPopObj.show($(this).data('call-popup'));
31
+				} else {
32
+					var id = $(this).attr('id');
33
+					switch (id) {
34
+						case 'ITP_BTN_MPOMNG01010_DETAIL_TEMP_SAVE': break;
35
+						case 'ITP_BTN_MPOMNG01010_DETAIL_CANCEL':break;
36
+					}
37
+				}
38
+				return false;
39
+			});
40
+		}
41
+	}
42
+};
43
+
44
+let contentPopObj = {
45
+	show: function(id, args, fn) {
46
+		this.button();
47
+		console.log(id);
48
+		$('#' + id).show();
49
+	},
50
+	button: function() {
51
+		var _this = this;
52
+		$('button[id^="ITP_BTN_MPOMNG01010_POP"]').off('click').on('click', function() {
53
+			var id = $(this).attr('id');
54
+			if(id.indexOf('POP_CLOSE') > -1) {
55
+				_this.hide(id);
56
+				return;
57
+			}
58
+			switch (id) {
59
+				case 'ITP_BTN_MPOMNG01010_POP_CANCEL': _this.hide(id); break;
60
+				case 'ITP_BTN_MPOMNG01010_POP_CONFIRM': break;
61
+				case 'ITP_BTN_MPOMNG01010_POP_SEARCH':
62
+					break;
63
+			}
64
+			return false;
65
+		});
66
+	},
67
+	hide: function(id) {
68
+		$('#' + id).closest('.mobile-pop-close').hide();
69
+	}
70
+};

+ 431 - 59
src/main/webapp/mobile/js/config.js

@@ -41,63 +41,7 @@ require([
41 41
 ], function($) {
42 42
 	history.pushState(null, null, location.href);
43 43
 
44
-	$.fn.serializeObject = function() {
45
-		var result = {};
46
-		var extend = function(i, element) {
47
-			var node = result[element.name];
48
-			if ('undefined' !== typeof node && node !== null) {
49
-				if ($.isArray(node)) {
50
-					node.push($.trim(element.value));
51
-				} else {
52
-					result[element.name] = [node, $.trim(element.value)];
53
-				}
54
-			} else {
55
-				result[element.name] = $.trim(element.value);
56
-			}
57
-		}
58
-		$.each(this.serializeArray(), extend);
59
-		return result;
60
-	};
61
-
62
-	$.fn.extend({
63
-		treed: function(o) {
64
-			var openedClass = 'glyphicon-minus text-primary';
65
-			var closedClass = 'glyphicon-plus text-primary';
66
-
67
-			if (typeof o != 'undefined') {
68
-				if (typeof o.openedClass != 'undefined') {
69
-					openedClass = o.openedClass;
70
-				}
71
-				if (typeof o.closedClass != 'undefined') {
72
-					closedClass = o.closedClass;
73
-				}
74
-			};
75
-
76
-			var tree = $(this);
77
-			tree.addClass('tree');
78
-			tree.find('li').has('ul').each(function() {
79
-				var branch = $(this);
80
-				branch.find('.list-group-item').first().prepend('<i class="indicator glyphicon ' + closedClass + '"></i>');
81
-				branch.addClass('branch');
82
-				branch.on('click', function(e) {
83
-					if (this == e.target) {
84
-						var icon = $(this).find('.list-group-item').first().children('i:first');
85
-						icon.toggleClass(openedClass + ' ' + closedClass);
86
-						$(this).children('ul').children().toggle();
87
-					}
88
-				});
89
-				branch.children('ul').children().toggle();
90
-				//branch.children('ul').children().show();
91
-			});
92
-
93
-			tree.find('.branch .indicator').each(function() {
94
-				$(this).on('click', function() {
95
-					$(this).closest('li').click();
96
-					return false;
97
-				});
98
-			});
99
-		}
100
-	});
44
+	CommonObj.init();
101 45
 
102 46
 	$('#ITP_BTN_HOME').on('click', function() {
103 47
 		location.replace(MOBILE_CONTEXTPATH + '/app/main.html');
@@ -106,7 +50,6 @@ require([
106 50
 	$('#ITP_MOBILE_BTN_MENU').on('click', function() {
107 51
 		$('#ITP_MENU').toggle();
108 52
 		$('#ITP_MENU').toggleClass('itp_open_nav');
109
-		itp_fn_fire_window_resize();
110 53
 	});
111 54
 
112 55
 	$('#ITP_BTN_USER').on('click', function() {
@@ -123,11 +66,174 @@ require([
123 66
 	});
124 67
 
125 68
 	if(VIEW_PAGE !== 'LOGIN') {
126
-
69
+		var data = JSON.parse(sessionStorage.getItem('itp_login_info'));
70
+		CONN_KEY = data.connKey; //로그인 했을때 넣었던 키를 가져옴
71
+
72
+		var callbackFn = function(result) {
73
+			CODE_LIST = result.codeList;
74
+			AUTH_MENU_LIST = result.authMenuList;
75
+			ACT_LIST = result.actList;
76
+			LOGIN_USER_INFO = result.userInfo;
77
+
78
+			// 사용자 정보 만들기
79
+			fn_make_user_info.init();
80
+
81
+			// 왼쪽 메뉴 만들기
82
+			fn_make_slide_menu.init();
83
+		};
84
+		fn_ajax_call('/api/session/data-app', null, callbackFn, 'GET');
127 85
 	}
128 86
 
129 87
 });
130 88
 
89
+var itp_fn_logined_check = function(user_nm_update, fn) {
90
+	var now, expiration, data = false;
91
+	data = sessionStorage.getItem('itp_login_info');
92
+	if(data) {
93
+		data = JSON.parse(data);
94
+		now = new Date();
95
+		expiration = new Date(data.timestamp);
96
+		expiration.setMinutes(expiration.getMinutes() + 60);
97
+
98
+		if (now.getTime() > expiration.getTime()) {
99
+			data = false;
100
+			fnSessionOut();
101
+		} else {
102
+			sessionStorage.setItem('itp_login_info', JSON.stringify({
103
+				timestamp: new Date(),
104
+				connKey: data.connKey		//Jwt키를 가져와서 세션 스토리지에 저장
105
+			}));
106
+			if(user_nm_update && user_nm_update == true) {
107
+				if (fn !== undefined || typeof fn !== 'undefined') {
108
+					fn();
109
+				}
110
+			}
111
+		}
112
+	} else {
113
+		// 로그인 페이지로 이동
114
+		$(location).attr('href', MOBILE_CONTEXTPATH + '/app/login.html');
115
+	}
116
+};
117
+
118
+var fn_make_user_info = {
119
+	init : function() {
120
+		this.set();
121
+	},
122
+	view: function() {
123
+		$('#ITP_LOGIN_USER_NM').text(this.get('userNm'));
124
+		$('#ITP_LOGIN_USER_ID').text(this.get('userId'));
125
+		$('.name_info .fnBrnadNm').text(this.get('brandNm'));
126
+		if(this.get('storeNm') !== '') {
127
+			$('.name_info .fnStoreNm').text(this.get('storeNm'));
128
+		} else {
129
+			$('.name_info .fnLblDash').hide();
130
+			$('.name_info .fnLblStoreNm').hide();
131
+		}
132
+	},
133
+	isEmpty: function() {
134
+		return sessionStorage.getItem('itp_manage_user_info') === null;
135
+	},
136
+	set: function() {
137
+		if(this.isEmpty()) {
138
+			sessionStorage.setItem('itp_manage_user_info', JSON.stringify(LOGIN_USER_INFO));
139
+		} else {
140
+			if(typeof(LOGIN_USER_INFO) == "string") {
141
+				var sessionUserInfo = this.get();
142
+				$.each(JSON.parse(LOGIN_USER_INFO), function(key, value) {
143
+					sessionUserInfo[key] = value;
144
+				});
145
+				sessionStorage.setItem('itp_manage_user_info', JSON.stringify(sessionUserInfo));
146
+			}
147
+		}
148
+		this.view();
149
+	},
150
+	get: function(key) {
151
+		var sessionUserInfo = JSON.parse(sessionStorage.getItem('itp_manage_user_info'));
152
+		return (key === undefined || key === null) ? sessionUserInfo : sessionUserInfo[key];
153
+	}
154
+};
155
+
156
+var fn_make_slide_menu = {
157
+	init: function() {
158
+		$('.menu_select .panel-group').empty();
159
+		this.make();
160
+	},
161
+	make: function() {
162
+		var selector = '.menu_select .panel-group > .panel_list:last';
163
+		$.each(AUTH_MENU_LIST, function(key, value) {
164
+			if(value.level === 2) { // LEVEL2
165
+				$('.menu_select .panel-group').append($('#ITP_AJAX_MAIN_SLIDE_LEVEL2_ROWCOPY').val());
166
+				$(selector).find('.fnMenuNm').text(value.menuNm);
167
+				$(selector).find('.accordion-toggle').attr('href', '#ITP_NAV_'+value.menuNo);
168
+				$(selector).find('.panel-collapse').attr('id', 'ITP_NAV_'+value.menuNo);
169
+				$(selector).find('.fnLevelBottomList').empty();
170
+			} else if(value.level === 3) { // LEVEL3
171
+				$(selector).find('.fnLevelBottomList').append($('#ITP_AJAX_MAIN_SLIDE_LEVEL3_ROWCOPY').val());
172
+				$(selector + ' .fnLevelBottomList .itp_svg_in:last').find('.fnMenuNm').text(value.menuNm);
173
+				$(selector + ' .fnLevelBottomList .itp_svg_in:last').attr('data-itp-nav-id', value.menuId);
174
+				$(selector + ' .fnLevelBottomList .itp_svg_in:last').attr('data-conn-url', value.connUrl);
175
+				$(selector + ' .fnLevelBottomList .itp_svg_in:last').attr('data-open-cd', value.openCd);
176
+				$(selector + ' .fnLevelBottomList .itp_svg_in:last').attr('id', value.menuId + '_PAGE_NO');
177
+				// $(selector + ' .fnLevelBottomList .itp_svg_in:last').find('.itp_nav_link').attr('data-itp-nav-id', value.menuId);
178
+				// $(selector + ' .fnLevelBottomList .itp_svg_in:last').find('.itp_nav_link').attr('data-conn-url', value.connUrl);
179
+				// $(selector + ' .fnLevelBottomList .itp_svg_in:last').find('.itp_nav_link').attr('data-open-cd', value.openCd);
180
+				// $(selector + ' .fnLevelBottomList .itp_svg_in:last').find('.itp_nav_link').attr('id', value.menuId + '_PAGE_NO');
181
+			}
182
+		});
183
+		this.action();
184
+	},
185
+	action: function() {
186
+		var _this = this;
187
+		$('#ITP_SIDEBAR .accordion-toggle').off('click').on('click', function() {
188
+			console.log('accordion-toggle');
189
+		});
190
+		$('#ITP_SIDEBAR .itp_nav_link').off('click').on('click', function() {
191
+			const id = $(this).attr('data-itp-nav-id');
192
+			const connUrl = $(this).attr('data-conn-url');
193
+			const openCd = $(this).attr('data-open-cd');
194
+			console.log('connUrl ===> ' + connUrl + '\nopenCd ===> ' + openCd);
195
+
196
+			if(openCd === 'C') {
197
+				const href = MOBILE_CONTEXTPATH + connUrl;
198
+				_this.loadPage(id, href);
199
+			}
200
+		});
201
+	},
202
+	loadPage: function(id, href, param) {
203
+		//로그인체크
204
+		itp_fn_logined_check();
205
+
206
+		$.ajax({
207
+			contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
208
+			url: href,
209
+			data: param,
210
+			type: 'POST',
211
+			dataType: 'html',
212
+			async: false,
213
+			timeout: 10000,
214
+			beforeSend: function() {
215
+			},
216
+			complete: function() {
217
+			},
218
+			success: function(html) {
219
+				$('#ITP_CONTAINER div.itp_mobile_contents').empty().append(html);
220
+				//JS파일적용
221
+				const js = "<script src=\"../js/app/"+id.substring(0, id.length - 5).toLowerCase()+"/ITP_"+id+".js?version="+js_version+"\"></script>";
222
+				console.log(js);
223
+				$('#ITP_CONTAINER #ITP_MOBILE_'+id+' #ITP_MOBILE_JS').append(js);
224
+				$('#ITP_MENU').toggle();
225
+			},
226
+			error: function(xhr, status, error) {
227
+				if (xhr.status == 401) location.href = MOBILE_CONTEXTPATH + '/app/';
228
+				itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.failPage);
229
+			},
230
+			fail: function() {
231
+				itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.failPage);
232
+			}
233
+		});
234
+	}
235
+};
236
+
131 237
 function fn_make_select(options, code, select_id, all_show_yn, all_name) { //셀렉트 박스 만들기
132 238
 	$select_id = $('#' + select_id);
133 239
 	$select_id.empty();
@@ -231,6 +337,54 @@ function fnSessionOut() { //1시간 동안 아무것도 안할때 또는 강제
231 337
 	fn_ajax_call('/api/session/expire', null, callbackFn, 'PATCH');
232 338
 }
233 339
 
340
+// 2021.07.07 송호성 추가
341
+function fn_call_popup(type, popnm, container,  popFn, args, returnType) {
342
+	console.log('[ITP_CALL_POPUP] type = ' + type + ', popnm = ' + popnm);
343
+	$.ajax({
344
+		contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
345
+		url: MOBILE_CONTEXTPATH + '/app/popup/'+type+'/'+popnm+'.html',
346
+		type: 'POST',
347
+		dataType: 'html',
348
+		async: false,
349
+		timeout: 10000,
350
+		beforeSend: function() {
351
+			//$('#ITP_OVERLAY').show();
352
+		},
353
+		complete: function() {
354
+			//$('#ITP_OVERLAY').hide();
355
+		},
356
+		success: function(html) {
357
+			var append = function() {
358
+				var deferred = $.Deferred();
359
+				try {
360
+					$(container).empty();
361
+					$(container).append(html);
362
+					deferred.resolve();
363
+				} catch(err) {
364
+					deferred.reject(err);
365
+				}
366
+				return deferred.promise();
367
+			};
368
+			append().done(function() {
369
+				const js = '<script src="'+MOBILE_CONTEXTPATH+'/js/app/popup/'+type+'/ITP_'+popnm+'.js?version='+js_version+'"></script>';
370
+				$('#ITP_ASIDE #ITP_'+popnm+' #ITP_POPUP_JS').empty();
371
+				$('#ITP_ASIDE #ITP_'+popnm+' #ITP_POPUP_JS').append(js);
372
+
373
+				eval('itp_fn_' + popnm)(popFn, args, returnType);
374
+				$('.modal.itp_modal .modal-content').draggable();
375
+			});
376
+		},
377
+		error: function(xhr, status, error) {
378
+			if (xhr.status == 401) location.href = MOBILE_CONTEXTPATH + '/';
379
+			itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.failData);
380
+		},
381
+		fail: function() {
382
+			itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.failData);
383
+		}
384
+	});
385
+
386
+};
387
+
234 388
 //AJAX 양식 (이렇게 사용하시면 됩니다.)
235 389
 function fn_ajax_call(href, param, fn, type) {
236 390
 	$.ajax({
@@ -344,3 +498,221 @@ function itp_fn_date_format(date, type) {
344 498
 		return date.getFullYear() + month + day + hour + minute + second;
345 499
 	}
346 500
 }
501
+
502
+let itp_fn_form_validate = function(form, element, arry, msg, type) {
503
+	var error = function(txt) {
504
+		if (type != 'ONLYCHK') {
505
+			if (msg == undefined || typeof msg == 'undefined') {
506
+				msg = txt;
507
+			}
508
+
509
+			$(element).closest('.itp_ip').addClass('has-error');
510
+			var error_msg = $('<span class="help-block">' + msg + '</span>');
511
+			if($(element).parent('.input-group').length) {
512
+				error_msg.insertAfter($(element).parent());
513
+			} else {
514
+				error_msg.insertAfter($(element));
515
+			}
516
+		}
517
+	};
518
+
519
+	if ($.inArray('empty', arry) > -1) {
520
+		if ($(element).val() == '' || $(element).val() < 1) {
521
+			error(ITP_MSG_LOCALE.message.form.mandatory);
522
+			return false;
523
+		}
524
+	}
525
+
526
+	if ($.inArray('emptyNum', arry) > -1) {
527
+		if ($(element).val() == '' || $(element).val() < 0) {
528
+			error(ITP_MSG_LOCALE.message.form.mandatory);
529
+			return false;
530
+		}
531
+	}
532
+
533
+	if ($.inArray('number', arry) > -1) {
534
+		const regExp = /^[0-9]+$/;
535
+		if (!regExp.test($(element).val())) {
536
+			error(ITP_MSG_LOCALE.message.form.onlynumber);
537
+			return false;
538
+		}
539
+	}
540
+
541
+	if ($.inArray('float', arry) > -1) {
542
+		if($(element).val() == '') return true;
543
+		const regExp = /^\d+.?\d?\d?\d?$/;
544
+		if (!regExp.test($(element).val())) {
545
+			error(ITP_MSG_LOCALE.message.form.onlynumber);
546
+			return false;
547
+		}
548
+	}
549
+
550
+	if ($.inArray('tel', arry) > -1) {
551
+		const regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
552
+		if (!regExp.test($(element).val())) {
553
+			error(ITP_MSG_LOCALE.message.form.wrongtelnumber);
554
+			return false;
555
+		}
556
+	}
557
+
558
+	if ($.inArray('email', arry) > -1) {
559
+		const regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
560
+		if (!regExp.test($(element).val())) {
561
+			error(ITP_MSG_LOCALE.message.form.wrongemail);
562
+			return false;
563
+		}
564
+	}
565
+
566
+	if ($.inArray('id', arry) > -1) {
567
+		const regExp = /^[a-z]+[a-z0-9]{4,11}$/g;
568
+		if (!regExp.test($(element).val())) {
569
+			error(ITP_MSG_LOCALE.message.form.wronguserid);
570
+			return false;
571
+		}
572
+	}
573
+
574
+	if ($.inArray('id2', arry) > -1) {
575
+		const regExp = /^[A-Za-z0-9+]*$/;
576
+		if (!regExp.test($(element).val())) {
577
+			error(ITP_MSG_LOCALE.message.form.wronguserid2);
578
+			return false;
579
+		}
580
+	}
581
+
582
+	if ($.inArray('password', arry) > -1) {
583
+		const regExp = /^(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9])(?=.*[0-9]).{8,16}$/;
584
+		if (!regExp.test($(element).val())) {
585
+			error(ITP_MSG_LOCALE.message.form.wrongpassword);
586
+			return false;
587
+		}
588
+	}
589
+
590
+	if ($.inArray('url', arry) > -1) {
591
+		const regExp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
592
+		if (!regExp.test($(element).val())) {
593
+			error(ITP_MSG_LOCALE.message.form.wronglink);
594
+			return false;
595
+		}
596
+	}
597
+
598
+	return true;
599
+};
600
+
601
+let itp_fn_form_event = {
602
+	onKeyup: function(formId) {
603
+		$(formId).find('input[data-key-up]').on('keyup', function() {
604
+			let value = '';
605
+			let arry = $(this).data('key-up').split(',');
606
+			if ($.inArray('number', arry) > -1) {
607
+				value = $(this).val().replace(/[^0-9]/g, "");
608
+			}
609
+			if ($.inArray('comma', arry) > -1) {
610
+				value = $(this).val().replace(/[^0-9]/g, "")
611
+					.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
612
+			}
613
+			if ($.inArray('regNo', arry) > -1) {
614
+				value = $(this).val().replace(/[^0-9]/g, "")
615
+					.replace(/(^[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{5})$/,"$1-$2-$3")
616
+			}
617
+			if ($.inArray('corpNo', arry) > -1) {
618
+				if($(this).val().length > 13) return;
619
+				value = $(this).val().replace(/[^0-9]/g, "")
620
+					.replace(/(^[0-9]{6})([0-9]+)?([0-9]{7})$/,"######-#######")
621
+				// .replace(/(\d{6})(\d{7})/, '######-#######')
622
+			}
623
+			if ($.inArray('tel', arry) > -1) {
624
+				value = ($(this).val().startsWith('0')) ? $(this).val().replace(/[^0-9]/g, "")
625
+					.replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3")
626
+					.replace("--", "-") : '';
627
+			}
628
+			$(this).val(value);
629
+		});
630
+	},
631
+	removeChar: function(formId) {
632
+		$(formId).find('input[data-key-up]').each(function() {
633
+			$(this).val($(this).val().replace(/[^0-9]/g, ""));
634
+		});
635
+	},
636
+	isValid: function(formId, type) {
637
+		var isValid = false;
638
+		$(formId).find('input, select, checkbox, textarea').each(function(k) {
639
+			if($(this).data('check-required')) {
640
+				var arry = $(this).data('check-required').split(',');
641
+				var alertMsg = $(this).data('alert-required');
642
+				console.log(alertMsg);
643
+				isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined, alertMsg);
644
+				if(!isValid) {
645
+					if(alertMsg && alertMsg.length > 0) {
646
+						// itp_fn_modal_alert($(this).data('alert-msg'));
647
+						alert($(this).data('alert-msg'));
648
+					}
649
+					return false;
650
+				}
651
+			}
652
+		});
653
+		return isValid;
654
+	}
655
+};
656
+
657
+let CommonObj = {
658
+	init: function() {
659
+		$.fn.serializeObject = function() {
660
+			var result = {};
661
+			var extend = function(i, element) {
662
+				var node = result[element.name];
663
+				if ('undefined' !== typeof node && node !== null) {
664
+					if ($.isArray(node)) {
665
+						node.push($.trim(element.value));
666
+					} else {
667
+						result[element.name] = [node, $.trim(element.value)];
668
+					}
669
+				} else {
670
+					result[element.name] = $.trim(element.value);
671
+				}
672
+			}
673
+			$.each(this.serializeArray(), extend);
674
+			return result;
675
+		};
676
+
677
+		$.fn.extend({
678
+			treed: function(o) {
679
+				var openedClass = 'glyphicon-minus text-primary';
680
+				var closedClass = 'glyphicon-plus text-primary';
681
+
682
+				if (typeof o != 'undefined') {
683
+					if (typeof o.openedClass != 'undefined') {
684
+						openedClass = o.openedClass;
685
+					}
686
+					if (typeof o.closedClass != 'undefined') {
687
+						closedClass = o.closedClass;
688
+					}
689
+				};
690
+
691
+				var tree = $(this);
692
+				tree.addClass('tree');
693
+				tree.find('li').has('ul').each(function() {
694
+					var branch = $(this);
695
+					branch.find('.list-group-item').first().prepend('<i class="indicator glyphicon ' + closedClass + '"></i>');
696
+					branch.addClass('branch');
697
+					branch.on('click', function(e) {
698
+						if (this == e.target) {
699
+							var icon = $(this).find('.list-group-item').first().children('i:first');
700
+							icon.toggleClass(openedClass + ' ' + closedClass);
701
+							$(this).children('ul').children().toggle();
702
+						}
703
+					});
704
+					branch.children('ul').children().toggle();
705
+					//branch.children('ul').children().show();
706
+				});
707
+
708
+				tree.find('.branch .indicator').each(function() {
709
+					$(this).on('click', function() {
710
+						$(this).closest('li').click();
711
+						return false;
712
+					});
713
+				});
714
+			}
715
+		});
716
+
717
+	}
718
+};