Sfoglia il codice sorgente

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

whakdo963 2 anni fa
parent
commit
4d27447d48
32 ha cambiato i file con 1140 aggiunte e 3286 eliminazioni
  1. 4 2
      bin/src/main/webapp/app/pomng/POMNG01010.html
  2. 25 29
      bin/src/main/webapp/app/vendinfo/VENDINFO01010.html
  3. 0 1
      bin/src/main/webapp/app/vendinfo/VENDINFO03010.html
  4. 45 36
      bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js
  5. 3 14
      bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js
  6. 4 2
      src/main/webapp/app/pomng/POMNG01010.html
  7. 59 44
      src/main/webapp/app/settmng/SETTMNG02010.html
  8. 6 5
      src/main/webapp/app/stinfo/STINFO03010.html
  9. 3 3
      src/main/webapp/app/stinfo/STINFO04010.html
  10. 10 5
      src/main/webapp/app/stinfo/STINFO05010.html
  11. 1 0
      src/main/webapp/app/stinfo/STINFO07010.html
  12. 25 29
      src/main/webapp/app/vendinfo/VENDINFO01010.html
  13. 0 1
      src/main/webapp/app/vendinfo/VENDINFO03010.html
  14. 2 2
      src/main/webapp/js/app/config.js
  15. 9 17
      src/main/webapp/js/app/oper/ITP_OPER02010.js
  16. 1 2
      src/main/webapp/js/app/oper/ITP_OPER03010.js
  17. 2 1
      src/main/webapp/js/app/oper/ITP_OPER06010.js
  18. 554 0
      src/main/webapp/js/app/settmng/ITP_SETTMNG02010.js
  19. 14 249
      src/main/webapp/js/app/stinfo/ITP_STINFO02011.js
  20. 27 9
      src/main/webapp/js/app/stinfo/ITP_STINFO03010.js
  21. 13 9
      src/main/webapp/js/app/stinfo/ITP_STINFO04010.js
  22. 29 23
      src/main/webapp/js/app/stinfo/ITP_STINFO05010.js
  23. 38 21
      src/main/webapp/js/app/stinfo/ITP_STINFO06010.js
  24. 0 1
      src/main/webapp/js/app/system/ITP_SYSTEM03010.js
  25. 45 36
      src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js
  26. 3 14
      src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js
  27. 27 14
      src/main/webapp/mobile/app/login.html
  28. 100 15
      src/main/webapp/mobile/app/main.html
  29. 2 2
      src/main/webapp/mobile/css/style.css
  30. 38 17
      src/main/webapp/mobile/js/app/login.js
  31. 7 0
      src/main/webapp/mobile/js/app/main.js
  32. 44 2683
      src/main/webapp/mobile/js/config.js

+ 4 - 2
bin/src/main/webapp/app/pomng/POMNG01010.html

@@ -63,9 +63,11 @@
63
 											<div class="col-xs-4 itp_ip">
63
 											<div class="col-xs-4 itp_ip">
64
 												<div class="col-xs-4 itp_in">
64
 												<div class="col-xs-4 itp_in">
65
 													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" class="form-control itp_input" name="whsNm" value="" />
65
 													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" class="form-control itp_input" name="whsNm" value="" />
66
+													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_WHS_ID" class="form-control itp_input" name="whsId" value="" />
66
 												</div>
67
 												</div>
67
 												<div class="col-xs-4 itp_in">
68
 												<div class="col-xs-4 itp_in">
68
-													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_DTL_LCN" class="form-control itp_input" name="dtlLcn" value="" />
69
+													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_LOCATION_NM" class="form-control itp_input" name="locationNm" value="" />
70
+													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_LOCATION" class="form-control itp_input" name="location" value="" />
69
 												</div>
71
 												</div>
70
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
72
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
71
 													<button type="button" id="ITP_FORM_POMNG01010_SEARCH_WHS_NM" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
73
 													<button type="button" id="ITP_FORM_POMNG01010_SEARCH_WHS_NM" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
@@ -83,7 +85,7 @@
83
 													</div>
85
 													</div>
84
 												</div>
86
 												</div>
85
 											<label class="col-xs-2 itp_lb">구매가능금액</label>
87
 											<label class="col-xs-2 itp_lb">구매가능금액</label>
86
-											<div class="col-xs-4 itp_ip fnPchActAmt">10,000,000원 </div>
88
+											<div class="col-xs-4 itp_ip fnPchActAmt"></div>
87
 										</div>
89
 										</div>
88
 									</div>
90
 									</div>
89
 									<div class="itp_form_in">
91
 									<div class="itp_form_in">

+ 25 - 29
bin/src/main/webapp/app/vendinfo/VENDINFO01010.html

@@ -7,7 +7,6 @@
7
 					<button type="button" id="ITP_BTN_VENDINFO01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon"></i>&nbsp;&nbsp;저장&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_VENDINFO01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon"></i>&nbsp;&nbsp;저장&nbsp;&nbsp;</button>
8
 				</div>				
8
 				</div>				
9
 				<div style="top:0px; text-align:center; font-size:20px;">
9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11
 					<button type="button" id="ITP_BTN_VENDINFO01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
10
 					<button type="button" id="ITP_BTN_VENDINFO01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
12
 					<button type="button" id="ITP_BTN_VENDINFO01010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
11
 					<button type="button" id="ITP_BTN_VENDINFO01010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
13
 				</div>
12
 				</div>
@@ -21,8 +20,8 @@
21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
20
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
24
-								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
25
-								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
23
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bbookCopyFileNo" value="">
24
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bsnsRegFileNo" value="">
26
 					
25
 					
27
 								<section class="itp_form_sec">
26
 								<section class="itp_form_sec">
28
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
27
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -83,7 +82,7 @@
83
 											<div class="col-xs-4 itp_ip">
82
 											<div class="col-xs-4 itp_ip">
84
 												<div class="itp_form_change">
83
 												<div class="itp_form_change">
85
 													<div class="col-xs-7 itp_in">
84
 													<div class="col-xs-7 itp_in">
86
-									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="">
85
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" data-key-up="regNo" class="form-control itp_input" name="bsnsRegNo" value="">
87
 													</div>
86
 													</div>
88
 												</div>
87
 												</div>
89
 											</div>
88
 											</div>
@@ -101,14 +100,14 @@
101
 											<div class="col-xs-4 itp_ip">
100
 											<div class="col-xs-4 itp_ip">
102
 												<div class="itp_form_change">
101
 												<div class="itp_form_change">
103
 													<div class="col-xs-7 itp_in">
102
 													<div class="col-xs-7 itp_in">
104
-									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="">
103
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" data-key-up="corpNo" name="corpRegNo" value="">
105
 													</div>
104
 													</div>
106
 												</div>
105
 												</div>
107
 											</div>
106
 											</div>
108
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
107
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
109
 											<div class="col-xs-4 itp_ip">
108
 											<div class="col-xs-4 itp_ip">
110
 												<div class="col-xs-8 itp_in">
109
 												<div class="col-xs-8 itp_in">
111
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="mgrTelNo" value="">
110
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" data-key-up="tel" class="form-control itp_input" name="mgrTelNo" value="">
112
 												</div>
111
 												</div>
113
 											</div>
112
 											</div>
114
 										</div>
113
 										</div>
@@ -121,10 +120,10 @@
121
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
120
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
122
 												</div>
121
 												</div>
123
 											</div>
122
 											</div>
124
-											<label class="col-xs-2 itp_lb">FAX</label>
123
+											<label class="col-xs-2 itp_lb">핸드폰</label>
125
 											<div class="col-xs-4 itp_ip">
124
 											<div class="col-xs-4 itp_ip">
126
-												<div class="col-xs-8 itp_in">
127
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
125
+												<div class="col-xs-6 itp_in">
126
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" data-key-up="tel" class="form-control itp_input" name="mgrMblNo" value="">
128
 												</div>
127
 												</div>
129
 											</div>
128
 											</div>
130
 										</div>
129
 										</div>
@@ -137,10 +136,11 @@
137
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
136
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
138
 												</div>
137
 												</div>
139
 											</div>
138
 											</div>
140
-											<label class="col-xs-2 itp_lb">핸드폰</label>
139
+											<label class="col-xs-2 itp_lb">은행</label>
141
 											<div class="col-xs-4 itp_ip">
140
 											<div class="col-xs-4 itp_ip">
142
-												<div class="col-xs-6 itp_in">
143
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mgrMblNo" value="">
141
+												<div class="col-xs-8 itp_in">
142
+				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
143
+												</select>
144
 												</div>
144
 												</div>
145
 											</div>
145
 											</div>
146
 										</div>
146
 										</div>
@@ -154,13 +154,8 @@
154
 													</select>												
154
 													</select>												
155
 												</div>
155
 												</div>
156
 											</div>
156
 											</div>
157
-											<label class="col-xs-2 itp_lb">은행</label>
158
-											<div class="col-xs-4 itp_ip">
159
-												<div class="col-xs-8 itp_in">
160
-				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
161
-												</select>
162
-												</div>
163
-											</div>
157
+											<label class="col-xs-2 itp_lb"></label>
158
+											<div class="col-xs-4 itp_ip"></div>
164
 										</div>
159
 										</div>
165
 									</div>
160
 									</div>
166
 									<div class="itp_form_in">
161
 									<div class="itp_form_in">
@@ -179,6 +174,7 @@
179
 											</div>
174
 											</div>
180
 										</div>
175
 										</div>
181
 									</div>
176
 									</div>
177
+									
182
 									<div class="itp_form_in">
178
 									<div class="itp_form_in">
183
 										<div class="form-group">
179
 										<div class="form-group">
184
 											<label class="col-xs-2 itp_lb">통장사본</label>
180
 											<label class="col-xs-2 itp_lb">통장사본</label>
@@ -206,16 +202,16 @@
206
 											<label class="col-xs-2 itp_lb">주소 *</label>
202
 											<label class="col-xs-2 itp_lb">주소 *</label>
207
 											<div class="col-xs-10 itp_ip">
203
 											<div class="col-xs-10 itp_ip">
208
 												<div class="col-xs-1 itp_in">
204
 												<div class="col-xs-1 itp_in">
209
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
205
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIPNO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
210
 												</div>
206
 												</div>
211
 												<div class="col-xs-2 itp_in" style="width:10%;">
207
 												<div class="col-xs-2 itp_in" style="width:10%;">
212
 													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
208
 													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
213
 												</div>
209
 												</div>
214
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
210
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
215
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
211
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ADRES" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
216
 												</div>
212
 												</div>
217
 												<div class="col-xs-4 itp_in">
213
 												<div class="col-xs-4 itp_in">
218
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
214
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ADRES_DTL" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
219
 												</div>
215
 												</div>
220
 											</div>
216
 											</div>
221
 										</div>
217
 										</div>
@@ -224,13 +220,13 @@
224
 										<div class="form-group">
220
 										<div class="form-group">
225
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
221
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
226
 											<div class="col-xs-4 itp_ip">
222
 											<div class="col-xs-4 itp_ip">
227
-												<div class="col-xs-2 itp_in fnRegId"></div>
223
+												<div class="col-xs-4 itp_in fnRegId"></div>
228
 												<label class="col-xs-1 itp_in">/</label>
224
 												<label class="col-xs-1 itp_in">/</label>
229
 												<div class="col-xs-5 itp_in fnRegDt"></div>
225
 												<div class="col-xs-5 itp_in fnRegDt"></div>
230
 											</div>
226
 											</div>
231
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
227
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
232
 											<div class="4 itp_ip">
228
 											<div class="4 itp_ip">
233
-												<div class="col-xs-2 itp_in fnChgId"></div>
229
+												<div class="col-xs-4 itp_in fnChgId"></div>
234
 												<label class="col-xs-1 itp_in">/</label>
230
 												<label class="col-xs-1 itp_in">/</label>
235
 												<div class="col-xs-5 itp_in fnChgDt"></div>
231
 												<div class="col-xs-5 itp_in fnChgDt"></div>
236
 											</div>
232
 											</div>
@@ -248,11 +244,11 @@
248
 								<button type="button" id="ITP_BTN_VENDINFO01010_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
244
 								<button type="button" id="ITP_BTN_VENDINFO01010_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
249
 							</div>
245
 							</div>
250
 						</div>
246
 						</div>
251
-			 			<div id="ITP_VENDINFO01010_DETAIL_jqGrid_list" class="itp_tb_list">
252
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridView" class="itp_views fix"></div>
253
-						  <table id="ITP_VENDINFO01010_DETAIL_jqGrid"></table>
254
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridPager"></div>
255
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
247
+			 				<div id="ITP_VENDINFO01010_DETAIL_jqGrid_list" class="itp_tb_list">
248
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridView" class="itp_views fix"></div>
249
+							<table id="ITP_VENDINFO01010_DETAIL_jqGrid"></table>
250
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridPager"></div>
251
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
256
 						</div>
252
 						</div>
257
 				    </div>
253
 				    </div>
258
 				</div>
254
 				</div>

+ 0 - 1
bin/src/main/webapp/app/vendinfo/VENDINFO03010.html

@@ -7,7 +7,6 @@
7
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
8
 				</div>	
8
 				</div>	
9
 				<div style="top:0px; text-align:center; font-size:20px;">
9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
10
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
12
 					<button type="button" id="ITP_BTN_VENDINFO03010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
11
 					<button type="button" id="ITP_BTN_VENDINFO03010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
13
 				</div>				
12
 				</div>				

+ 45 - 36
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -17,6 +17,9 @@ const VENDINFO01010_DETAIL_GRID_EMPTY = 'ITP_VENDINFO01010_DETAIL_jqGridEmpty';
17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18
 let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
18
 let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19
 
19
 
20
+let ITP_COMMON_ASSGN_TASK = fn_make_common_cd_list(CODE_LIST, 'ASSGN_TASK', true, '담당업무');
21
+
22
+
20
 //API URL
23
 //API URL
21
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
24
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
25
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
@@ -48,7 +51,7 @@ const gridColModel = {
48
 		},
51
 		},
49
 		{
52
 		{
50
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
53
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
-			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
54
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, 	//담당자명
52
 			width: '20', fixed: false, align: 'center',
55
 			width: '20', fixed: false, align: 'center',
53
 			sortable: false, editable: true, edittype: 'text',
56
 			sortable: false, editable: true, edittype: 'text',
54
 			editrules: {required: true}
57
 			editrules: {required: true}
@@ -69,19 +72,16 @@ const gridColModel = {
69
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
72
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
73
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71
             width: '10', fixed: false, align: 'center',
74
             width: '10', fixed: false, align: 'center',
72
-            sortable: false, hidden: false, editable: true, edittype: 'text'
73
-        },
74
-        {
75
-            index: 'RPRST_MBL_NO', name: 'rprstMblNo',
76
-            label: ITP_MSG_LOCALE.label.rprstMblNo,		// 핸드폰번호
77
-            width: '10', fixed: false, align: 'center',
78
-            sortable: false, hidden: false, editable: true, edittype: 'text'
75
+            sortable: false, hidden: false, editable: true, edittype: 'text',
76
+            editoptions: {'data-key-up': 'tel'}
79
         },
77
         },
80
         {
78
         {
81
-            index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
79
+            index: 'ASSGN_TASK', name: 'assgnTask',
82
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
80
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83
             width: '10', fixed: false, align: 'center',
81
             width: '10', fixed: false, align: 'center',
84
-            sortable: false, hidden: false, editable: true, edittype: 'text'
82
+            sortable: false, editable: true, formatter: 'select', edittype: 'select',
83
+			editoptions: {value: ITP_COMMON_ASSGN_TASK},
84
+			editrules: {required: false}
85
         }
85
         }
86
     ]
86
     ]
87
 };
87
 };
@@ -92,12 +92,12 @@ let pageObj = {
92
 	init: function () {
92
 	init: function () {
93
         this.ui.init();
93
         this.ui.init();
94
 		this.event.init();
94
 		this.event.init();
95
-		this.fileUpload();
96
     },
95
     },
97
     ui: {
96
     ui: {
98
         init: function () {
97
         init: function () {
99
             this.view();
98
             this.view();
100
             this.grid();
99
             this.grid();
100
+            this.form();
101
             this.ready();
101
             this.ready();
102
         },
102
         },
103
         view: function() {
103
         view: function() {
@@ -111,6 +111,9 @@ let pageObj = {
111
                 }
111
                 }
112
             });
112
             });
113
         },
113
         },
114
+        form: function() {
115
+			itp_fn_form_event.onKeyup('#ITP_FORM_VENDINFO01010_DETAIL');
116
+		},
114
         grid: function() {
117
         grid: function() {
115
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
118
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116
             modifyObj.empty.init();
119
             modifyObj.empty.init();
@@ -151,23 +154,33 @@ let pageObj = {
151
         var id = 'VENDINFO01010';
154
         var id = 'VENDINFO01010';
152
         var acctScrId = 'VENDINFO01010_ACCT';
155
         var acctScrId = 'VENDINFO01010_ACCT';
153
         $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
156
         $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
154
-        const fileArgs = {
157
+        $('#ITP_' + id + '_DETAIL_ACCT_FILE_LOGO_FILE').empty();
158
+        var removeFn = (param) => {
159
+			$('#ITP_' + id + '_DETAIL_ACCT_FILE_LOGO_FILE').empty();
160
+		};
161
+        const acctFileArgs = {
155
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
162
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
163
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
164
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158
             'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
165
             'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
159
         };
166
         };
160
-        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'notice', true, false, id, fileArgs);
167
+        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'spply1', true, false, acctScrId, acctFileArgs);
168
+        
169
+        /********************************************************************************/
161
         
170
         
162
-        var corpScrId = 'VENDINFO01010_CORP';
171
+		var corpScrId = 'VENDINFO01010_CORP';
163
 		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
172
 		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
173
+		$('#ITP_' + id + '_DETAIL_CORP_FILE_LOGO_FILE').empty();
174
+		var removeFn2 = (param) => {
175
+			$('#ITP_' + id + '_DETAIL_CORP_FILE_LOGO_FILE').empty();
176
+		};
164
 		const corpFileArgs = {
177
 		const corpFileArgs = {
165
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
178
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
179
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
180
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
181
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
169
 		};
182
 		};
170
-		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'notice', true, false, corpScrId, corpFileArgs);
183
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'spply2', true, false, corpScrId, corpFileArgs);
171
     },
184
     },
172
     switchScreen: function(mode) {
185
     switchScreen: function(mode) {
173
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
186
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
@@ -227,7 +240,7 @@ let pageObj = {
227
 		gridList: '',
240
 		gridList: '',
228
 		gridEmpty: '',
241
 		gridEmpty: '',
229
 		load: function(mode, gridData) {
242
 		load: function(mode, gridData) {
230
-			let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
243
+			//let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
231
 			var _this = this;
244
 			var _this = this;
232
 			var option = {
245
 			var option = {
233
 				gridId: _this.gridId,
246
 				gridId: _this.gridId,
@@ -238,7 +251,7 @@ let pageObj = {
238
 					console.log(data);
251
 					console.log(data);
239
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
252
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
253
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
241
-					
254
+					(Array.isArray(data.rows) && data.rows.length === 0) ? $(_this.gridEmpty).show() : $(_this.gridEmpty).hide();
242
 				},
255
 				},
243
 			};
256
 			};
244
 			itp_fn_grid_make_local(option);
257
 			itp_fn_grid_make_local(option);
@@ -257,28 +270,20 @@ let modifyObj = {
257
 	},
270
 	},
258
 	button: {
271
 	button: {
259
 		address: function() {
272
 		address: function() {
260
-			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
273
+			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
261
 		},
274
 		},
262
 		addRow: function() {
275
 		addRow: function() {
263
 			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
276
 			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
277
+			itp_fn_form_event.onKeyup(VENDINFO01010_DETAIL_GRID_ID);
264
 		},
278
 		},
265
 		delRow: function() {
279
 		delRow: function() {
266
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
280
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267
 		},
281
 		},
268
 		save: function() {
282
 		save: function() {
269
 			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
283
 			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
270
-			itp_fn_form_clear_validate(null, formId);
271
-			/*
272
-			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
273
-			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
274
-			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
275
-			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
276
-			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
277
-			var vali_userPw = true;
278
-			var vali_userPwConfirm = true;
279
-			*/
280
-			//if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
281
-			if(itp_fn_form_event.isValid(formId)){
284
+			itp_fn_form_clear_validate(null, formId);		
285
+			if(modifyObj.isValid(formId)){
286
+				itp_fn_grid_save_rows(VENDINFO01010_DETAIL_GRID_ID);		// rowData 보조
282
 				let gridInsertData = [];
287
 				let gridInsertData = [];
283
 				let gridUpdateData = [];
288
 				let gridUpdateData = [];
284
 				let gridDeleteData = [];
289
 				let gridDeleteData = [];
@@ -286,7 +291,7 @@ let modifyObj = {
286
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
291
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287
 				}
292
 				}
288
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
293
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
-				const keyValue = $(formId + '_USER_ID').val();
294
+				const keyValue = $(formId + '_BRAND_ID').val();
290
 				$.each(rowData, function(key, value) {
295
 				$.each(rowData, function(key, value) {
291
 					if (value.viewCd != 'R') {
296
 					if (value.viewCd != 'R') {
292
 							value.userId = keyValue;
297
 							value.userId = keyValue;
@@ -367,14 +372,13 @@ let modifyObj = {
367
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
372
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
373
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
374
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
370
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH').val(result.filePath);		// 통장사본
371
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO').val(result.zipNo);			// 우편번호
372
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR').val(result.addr1);			// 기본주소
373
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR').val(result.addr2);			// 상세주소
375
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIPNO').val(result.zipNo);				// 우편번호
376
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ADRES').val(result.addr1);				// 기본주소
377
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ADRES_DTL').val(result.addr2);			// 상세주소
374
 		
378
 		
375
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
379
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
380
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
377
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_ID').val(result.spplyId);									// 공급업체번호
381
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_ID').val(result.spplyId);		// 공급업체번호
378
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
382
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
383
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
384
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
@@ -382,6 +386,11 @@ let modifyObj = {
382
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
386
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
387
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
384
 
388
 
389
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO').val(result.bbookCopyFileNo);	// 통장사본
390
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO').val(result.bsnsRegFileNo);		// 사업자등록파일
391
+
392
+		pageObj.fileUpload();
393
+
385
 		// 권한정보 리스트 조회
394
 		// 권한정보 리스트 조회
386
 		pageObj.grid.init('DETAIL', result.spplyMgrList);
395
 		pageObj.grid.init('DETAIL', result.spplyMgrList);
387
 	},
396
 	},

+ 3 - 14
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js

@@ -38,12 +38,6 @@ const gridColModel = {
38
 			width: '7', fixed: false, align: 'center',
38
 			width: '7', fixed: false, align: 'center',
39
 			sortable: false, hidden: false
39
 			sortable: false, hidden: false
40
 		},
40
 		},
41
-		{
42
-			index: 'STDD_QTY', name: 'stddQty',
43
-			label: ITP_MSG_LOCALE.label.stddQty, 	//기준수량
44
-			width: '7', fixed: false, align: 'center',
45
-			sortable: false, hidden: false
46
-		},
47
 		{
41
 		{
48
 			index: 'CURR', name: 'curr',
42
 			index: 'CURR', name: 'curr',
49
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
43
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
@@ -54,7 +48,8 @@ const gridColModel = {
54
 			index: 'UNIT_AMT', name: 'unitAmt',
48
 			index: 'UNIT_AMT', name: 'unitAmt',
55
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
49
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56
 			width: '7', fixed: false, align: 'center',
50
 			width: '7', fixed: false, align: 'center',
57
-			sortable: false, hidden: false
51
+			sortable: false, hidden: false,
52
+			formatter: 'integer', formatoptions: {thousandsSeparator: ','}
58
 		},
53
 		},
59
 		{
54
 		{
60
 			index: 'CONT_STT_DT', name: 'contSttDt',
55
 			index: 'CONT_STT_DT', name: 'contSttDt',
@@ -74,12 +69,6 @@ const gridColModel = {
74
 			width: '7', fixed: false, align: 'center',
69
 			width: '7', fixed: false, align: 'center',
75
 			sortable: false, hidden: false
70
 			sortable: false, hidden: false
76
 		},
71
 		},
77
-		{
78
-			index: 'REG_DT', name: 'regDt',
79
-			label: ITP_MSG_LOCALE.label.regDt, 		//등록일
80
-			width: '8', fixed: false, align: 'center',
81
-			sortable: false, hidden: false
82
-		},
83
 		{
72
 		{
84
 			index: 'UNIT_ST_NM', name: 'unitStNm',
73
 			index: 'UNIT_ST_NM', name: 'unitStNm',
85
 			label: ITP_MSG_LOCALE.label.status, 	//상태
74
 			label: ITP_MSG_LOCALE.label.status, 	//상태
@@ -293,7 +282,7 @@ let listObj = {
293
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
282
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
294
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
283
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
295
                     $.each(ids, function(idx, rowId) {
284
                     $.each(ids, function(idx, rowId) {
296
-                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
285
+                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'spplyId', '', ITP_GRID_COL_STYLE.link);
297
                     });
286
                     });
298
                 },
287
                 },
299
                 onPaging: function(action) {
288
                 onPaging: function(action) {

+ 4 - 2
src/main/webapp/app/pomng/POMNG01010.html

@@ -63,9 +63,11 @@
63
 											<div class="col-xs-4 itp_ip">
63
 											<div class="col-xs-4 itp_ip">
64
 												<div class="col-xs-4 itp_in">
64
 												<div class="col-xs-4 itp_in">
65
 													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" class="form-control itp_input" name="whsNm" value="" />
65
 													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_WHS_NM" class="form-control itp_input" name="whsNm" value="" />
66
+													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_WHS_ID" class="form-control itp_input" name="whsId" value="" />
66
 												</div>
67
 												</div>
67
 												<div class="col-xs-4 itp_in">
68
 												<div class="col-xs-4 itp_in">
68
-													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_DTL_LCN" class="form-control itp_input" name="dtlLcn" value="" />
69
+													<input type="text" id="ITP_FORM_POMNG01010_DETAIL_LOCATION_NM" class="form-control itp_input" name="locationNm" value="" />
70
+													<input type="hidden" id="ITP_FORM_POMNG01010_DETAIL_LOCATION" class="form-control itp_input" name="location" value="" />
69
 												</div>
71
 												</div>
70
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
72
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
71
 													<button type="button" id="ITP_FORM_POMNG01010_SEARCH_WHS_NM" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
73
 													<button type="button" id="ITP_FORM_POMNG01010_SEARCH_WHS_NM" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
@@ -83,7 +85,7 @@
83
 													</div>
85
 													</div>
84
 												</div>
86
 												</div>
85
 											<label class="col-xs-2 itp_lb">구매가능금액</label>
87
 											<label class="col-xs-2 itp_lb">구매가능금액</label>
86
-											<div class="col-xs-4 itp_ip fnPchActAmt">10,000,000원 </div>
88
+											<div class="col-xs-4 itp_ip fnPchActAmt"></div>
87
 										</div>
89
 										</div>
88
 									</div>
90
 									</div>
89
 									<div class="itp_form_in">
91
 									<div class="itp_form_in">

+ 59 - 44
src/main/webapp/app/settmng/SETTMNG02010.html

@@ -2,12 +2,11 @@
2
 	<div class="itp_cont">
2
 	<div class="itp_cont">
3
 		<article class="itp_detail">
3
 		<article class="itp_detail">
4
 			<div class="itp_det_head fix">
4
 			<div class="itp_det_head fix">
5
-				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>정산 검수 현황-팝업있음</strong></h2>
5
+				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>정산검수현황</strong></h2>
6
 				<div class="pull-right itp_cicon">
6
 				<div class="pull-right itp_cicon">
7
 					<button type="button" id="ITP_BTN_SETTMNG02010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_SETTMNG02010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
8
-					<button type="button" id="ITP_BTN_SETTMNG02010_SRH" class="btn btn-success btn-sm DRT" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;상세정보&nbsp;&nbsp;</button>
9
-					<button type="button" id="ITP_BTN_SETTMNG02010_NEWREG" class="btn btn-primary btn-sm CFM" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;확정&nbsp;&nbsp;</button>
10
-					<button type="button" id="ITP_BTN_SETTMNG02010_NEWREG" class="btn btn-primary btn-sm RJT" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;반려&nbsp;&nbsp;</button>
8
+					<button type="button" id="ITP_BTN_SETTMNG02010_CONFIRM" class="btn btn-primary btn-sm CFM" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;확정&nbsp;&nbsp;</button>
9
+					<button type="button" id="ITP_BTN_SETTMNG02010_REJECT" class="btn btn-primary btn-sm RJT" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;반려&nbsp;&nbsp;</button>
11
 					<button type="button" id="ITP_BTN_SETTMNG02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon"></i>&nbsp;&nbsp;취소/목록&nbsp;&nbsp;</button>
10
 					<button type="button" id="ITP_BTN_SETTMNG02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon"></i>&nbsp;&nbsp;취소/목록&nbsp;&nbsp;</button>
12
 				</div>
11
 				</div>
13
 			</div>
12
 			</div>
@@ -17,36 +16,33 @@
17
 						<div class="itp_srh_border fix">
16
 						<div class="itp_srh_border fix">
18
 							<div class="col-xs-12">
17
 							<div class="col-xs-12">
19
 								<form id="ITP_FORM_SETTMNG02010_SEARCH" class="form-horizontal">
18
 								<form id="ITP_FORM_SETTMNG02010_SEARCH" class="form-horizontal">
19
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_SEARCH_BRAND_ID" name="sbrandId" value="">
20
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_SEARCH_STORE_ID" name="sstoreId" value="">
21
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_SEARCH_SPPLY_ID" name="sspplyId" value="">
22
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_GUBUN" name="sgubun" value="2">
23
+								
20
 									<div class="form-group">
24
 									<div class="form-group">
21
-										<div class="col-xs-1 itp_ip itp_noMar">
22
-											<select id="ITP_FORM_SETTMNG02010_SERVICE_COL_DVSN" class="form-control itp_input" name="servicecolDvsn">
23
-												<option value="A"></option>											
24
-											</select>
25
-										</div>
26
 										<div class="col-xs-2 itp_ip itp_noMar">
25
 										<div class="col-xs-2 itp_ip itp_noMar">
27
-											<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_COL_PLACE" class="form-control itp_input" name="sColPlace" placeholder="매장명" />
26
+											<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_NM" class="form-control itp_input" placeholder="공급사명" readonly="readonly" />
28
 										</div>
27
 										</div>
29
 										<div class="col-xs-1 itp_in" style="width:8%; padding:0px;">
28
 										<div class="col-xs-1 itp_in" style="width:8%; padding:0px;">
30
-											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
31
-											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
29
+											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_SPPLY_POP" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
30
+											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_ERASE" class="btn btn-primary btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
32
 						                </div>
31
 						                </div>
33
-										<div class="col-xs-1 itp_ip itp_noMar" style="width:9%; top:3px;" >
32
+						                
33
+						                <div class="col-xs-1 itp_ip itp_noMar" style="top:3px; margin-right: -15px;" >
34
 											<label>정산요청일</label>
34
 											<label>정산요청일</label>
35
 										</div>
35
 										</div>
36
-										<div class="col-xs-3 itp_ip itp_noMar">
36
+										<div class="col-xs-2 itp_ip itp_noMar">
37
 											<div class="input-daterange input-group date">
37
 											<div class="input-daterange input-group date">
38
-												<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_" class="form-control itp_input" name="" value="">
38
+												<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="">
39
 												<span class="input-group-addon itp_date_to">~</span>
39
 												<span class="input-group-addon itp_date_to">~</span>
40
-												<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_" class="form-control itp_input" name="" value="">
40
+												<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value=""> 
41
 											</div>
41
 											</div>
42
 										</div>
42
 										</div>
43
 										<div class="col-xs-2 itp_ip itp_noMar">
43
 										<div class="col-xs-2 itp_ip itp_noMar">
44
-											<input type="text" id="ITP_FORM_SETTMNG02010_SEARCH_COL_PLACE" class="form-control itp_input" name="sColPlace" placeholder="품목명" />
44
+											<select id="ITP_FORM_SETTMNG02010_SEARCH_STTL_ST_CD" data-select-code="STTL_ST_CD" class="form-control itp_input" name="ssttlStCd"></select>
45
 										</div>
45
 										</div>
46
-										<div class="col-xs-1 itp_in" style="width:8%; padding:0px;">
47
-											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
48
-											<button type="button" id="ITP_BTN_SETTMNG02010_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
49
-						                </div>
50
 									</div>
46
 									</div>
51
 								</form>
47
 								</form>
52
 							</div>
48
 							</div>
@@ -66,67 +62,86 @@
66
 						<div class="col-xs-12">
62
 						<div class="col-xs-12">
67
 							<form id="ITP_FORM_SETTMNG02010_DETAIL" class="form-horizontal">
63
 							<form id="ITP_FORM_SETTMNG02010_DETAIL" class="form-horizontal">
68
 								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_VIEW_CD" name="viewCd" value="C">
64
 								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_VIEW_CD" name="viewCd" value="C">
65
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_BRAND_ID" name="brandId" value="">
66
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_STORE_ID" name="storeId" value="">
67
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_SPPLY_ID" name="spplyId" value="">
68
+								<input type="hidden" id="ITP_FORM_SETTMNG02010_DETAIL_STTL_MGNT_UNQ_NO" name="sttlMgntUnqNo" value="">
69
 					
69
 					
70
 								<section class="itp_form_sec">
70
 								<section class="itp_form_sec">
71
-									<h4 class="itp_form_tit">정산 상세정보-요청</h4>
71
+									<h4 class="itp_form_tit">정산 상세정보</h4>
72
 									<div class="itp_form_in">
72
 									<div class="itp_form_in">
73
 										<div class="form-group">
73
 										<div class="form-group">
74
-											<label class="col-xs-2 itp_lb">브랜드 *</label>
74
+											<label class="col-xs-2 itp_lb">브랜드</label>
75
 												<div class="col-xs-4 itp_ip">
75
 												<div class="col-xs-4 itp_ip">
76
 													<div class="col-xs-9 itp_in fnBrandNm"></div>												
76
 													<div class="col-xs-9 itp_in fnBrandNm"></div>												
77
 												</div>
77
 												</div>
78
-											<label class="col-xs-2 itp_lb">공급업체*</label>
78
+											<label class="col-xs-2 itp_lb">공급업체</label>
79
 											<div class="col-xs-4 itp_ip">
79
 											<div class="col-xs-4 itp_ip">
80
 												<div class="col-xs-10 itp_in">
80
 												<div class="col-xs-10 itp_in">
81
-													<div class="col-xs-6 itp_in fnSpplyNm"></div>
81
+													<div class="col-xs-6 itp_in fnSupplyNm"></div>
82
 												</div>
82
 												</div>
83
 											</div>
83
 											</div>
84
 										</div>
84
 										</div>
85
 										<div class="form-group">
85
 										<div class="form-group">
86
 											<label class="col-xs-2 itp_lb">정산일자</label>
86
 											<label class="col-xs-2 itp_lb">정산일자</label>
87
 											<div class="col-xs-4 itp_ip">
87
 											<div class="col-xs-4 itp_ip">
88
-												<div class="col-xs-5 itp_in fnSttlDt"></div>
88
+												<div class="col-xs-5 itp_in">
89
+													<div class="input-group date">
90
+													<input type="text" id="ITP_FORM_SETTMNG03010_DETAIL_STTL_DT" class="form-control itp_input" name="sttlDt" readonly="readonly">
91
+													<span class="input-group-addon itp_input itp_date_to">
92
+														<i class="glyphicon glyphicon-calendar"></i>
93
+													</span>
94
+													</div>
95
+												</div>
89
 											</div>
96
 											</div>
90
 											<label class="col-xs-2 itp_lb">정산상태</label>
97
 											<label class="col-xs-2 itp_lb">정산상태</label>
91
 											<div class="col-xs-4 itp_ip">
98
 											<div class="col-xs-4 itp_ip">
92
-												<div class="col-xs-8 itp_in "></div>
99
+												<div class="col-xs-8 itp_in fnSttlStNm"></div>
93
 											</div>
100
 											</div>
94
 										</div>
101
 										</div>
95
 										<div class="form-group">
102
 										<div class="form-group">
96
 											<label class="col-xs-2 itp_lb">정산금액</label>
103
 											<label class="col-xs-2 itp_lb">정산금액</label>
97
 											<div class="col-xs-4 itp_ip">
104
 											<div class="col-xs-4 itp_ip">
98
-												<div class="col-xs-10 itp_in "></div>
105
+												<div class="col-xs-10 itp_in fnSttlAmt"></div>
99
 											</div>
106
 											</div>
100
 											<label class="col-xs-2 itp_lb">잔금</label>
107
 											<label class="col-xs-2 itp_lb">잔금</label>
101
 											<div class="col-xs-4 itp_ip">
108
 											<div class="col-xs-4 itp_ip">
102
-												<div class="col-xs-8 itp_in "></div>
109
+												<div class="col-xs-8 itp_in fnAcctBal"></div>
103
 											</div>
110
 											</div>
104
 										</div>
111
 										</div>
105
-										<div class="form-group border">
106
-											<label class="col-xs-2 itp_lb">요청일</label>
112
+										<div class="form-group">
113
+											<label class="col-xs-2 itp_lb">등록일</label>
107
 											<div class="col-xs-4 itp_ip">
114
 											<div class="col-xs-4 itp_ip">
108
-												<div class="col-xs-10 itp_in fnReqDt"></div>
115
+												<div class="col-xs-10 itp_in fnSysRegDttm"></div>
109
 											</div>
116
 											</div>
110
-											<label class="col-xs-2 itp_lb">요청자</label>
117
+											<label class="col-xs-2 itp_lb">등록자</label>
111
 											<div class="col-xs-4 itp_ip">
118
 											<div class="col-xs-4 itp_ip">
112
-												<div class="col-xs-8 itp_in fnDpstReqNm"></div>
119
+												<div class="col-xs-8 itp_in fnSysRegNm"></div>
120
+											</div>
121
+										</div>
122
+									</div>
123
+									<div class="itp_form_in">
124
+										<div class="form-group border">
125
+											<label class="col-xs-2 itp_lb">반려사유</label>
126
+											<div class="col-xs-10 itp_ip">
127
+												<div class="col-xs-10 itp_in"></div>
113
 											</div>
128
 											</div>
114
 										</div>
129
 										</div>
115
 									</div>
130
 									</div>
116
-								</section>								
131
+								</section>							
117
 							</form>
132
 							</form>
118
 						</div>
133
 						</div>
119
 					</div>
134
 					</div>
120
-				</div>
121
-				<div class="itp_table fix">
122
-					<h4 class="itp_form_tit" style="background:#eee; padding:18px 18px; margin:0; border-left:none;"></h4>
123
-					<div id="ITP_SETTMNG02010_DETAIL_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
124
-						<div id="ITP_SETTMNG02010_DETAIL_jqGridView" class="itp_views fix"></div>
125
-						<table id="ITP_SETTMNG02010_DETAIL_jqGrid"></table>
126
-						<div id="ITP_SETTMNG02010_DETAIL_jqGridPager"></div>
127
-						<div id="ITP_SETTMNG02010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
135
+					<div class="itp_table fix">
136
+						<h4 class="itp_form_tit" style="background:#eee; padding:18px 18px; margin:0; border-left:none;"></h4>
137
+						<div id="ITP_SETTMNG02010_DETAIL_jqGrid_list" class="itp_tb_list itp_gType1" data-total-cnt="${totalCnt}">
138
+							<div id="ITP_SETTMNG02010_DETAIL_jqGridView" class="itp_views fix"></div>
139
+							<table id="ITP_SETTMNG02010_DETAIL_jqGrid"></table>
140
+							<div id="ITP_SETTMNG02010_DETAIL_jqGridPager"></div>
141
+							<div id="ITP_SETTMNG02010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
142
+						</div>
128
 					</div>
143
 					</div>
129
-				</div>
144
+				</div>				
130
 			</div>
145
 			</div>
131
 		</article>
146
 		</article>
132
 	</div>
147
 	</div>

+ 6 - 5
src/main/webapp/app/stinfo/STINFO03010.html

@@ -52,6 +52,7 @@
52
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_POP_NO" name="popNo" value="">
52
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_POP_NO" name="popNo" value="">
53
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
53
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
54
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_BRAND_ID" name="brandId" value="">
54
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_BRAND_ID" name="brandId" value="">
55
+								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_SPPLY_ID" name="spplyId" value="">
55
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
56
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
56
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
57
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
57
 					
58
 					
@@ -78,9 +79,9 @@
78
 											<label class="col-xs-2 itp_lb">공급업체번호</label>
79
 											<label class="col-xs-2 itp_lb">공급업체번호</label>
79
 											<div class="col-xs-4 itp_ip">
80
 											<div class="col-xs-4 itp_ip">
80
 												<div class="col-xs-7 itp_in fnSpplyId" style="top:4px;"></div>
81
 												<div class="col-xs-7 itp_in fnSpplyId" style="top:4px;"></div>
81
-												<div class="col-xs-4 itp_in" style="margin-left:5px;">
82
+												<!--<div class="col-xs-4 itp_in" style="margin-left:5px;">
82
 													<button type="button" id="ITP_BTN_STINFO03010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin: -1px 0px 0px 3px; display:block;">비밀번호 초기화</button>
83
 													<button type="button" id="ITP_BTN_STINFO03010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin: -1px 0px 0px 3px; display:block;">비밀번호 초기화</button>
83
-												</div>
84
+												</div>-->
84
 											</div>
85
 											</div>
85
 											<label class="col-xs-2 itp_lb">기업형태 *</label>
86
 											<label class="col-xs-2 itp_lb">기업형태 *</label>
86
 											<div class="col-xs-4 itp_ip">
87
 											<div class="col-xs-4 itp_ip">
@@ -327,7 +328,7 @@
327
 							<form id="ITP_FORM_STINFO03010_VIEW" class="form-horizontal">
328
 							<form id="ITP_FORM_STINFO03010_VIEW" class="form-horizontal">
328
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_VIEW_CD" name="viewCd" value="C">
329
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_VIEW_CD" name="viewCd" value="C">
329
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_POP_NO" name="popNo" value="">
330
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_POP_NO" name="popNo" value="">
330
-								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_SPPLY_ID" name="spplyId" value="">
331
+								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_SPPLY_ID" name="spplyId" value="">
331
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_MENU_NO" name="menuNo" value="">
332
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_MENU_NO" name="menuNo" value="">
332
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_FILE_NO" name="popFileNo" value="">
333
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_FILE_NO" name="popFileNo" value="">
333
 					
334
 					
@@ -458,12 +459,12 @@
458
 										<div class="form-group">
459
 										<div class="form-group">
459
 											<label class="col-xs-2 itp_lb">통장사본</label>
460
 											<label class="col-xs-2 itp_lb">통장사본</label>
460
 											<div class="col-xs-4 itp_ip">
461
 											<div class="col-xs-4 itp_ip">
461
-												<div class="col-xs-6 itp_in fnFilePath">
462
+												<div id="ITP_STINFO03010_VIEW_ACCT_FILE" class="col-xs-6 itp_in fnFilePath">
462
 												</div>
463
 												</div>
463
 											</div>
464
 											</div>
464
 											<label class="col-xs-2 itp_lb">사업자등록파일</label>
465
 											<label class="col-xs-2 itp_lb">사업자등록파일</label>
465
 											<div class="col-xs-4 itp_ip">
466
 											<div class="col-xs-4 itp_ip">
466
-												<div class="col-xs-8 itp_in fnFilePath">
467
+												<div id="ITP_STINFO03010_VIEW_REG_NO_FILE" class="col-xs-8 itp_in fnFilePath">
467
 												</div>
468
 												</div>
468
 											</div>
469
 											</div>
469
 										</div>
470
 										</div>

+ 3 - 3
src/main/webapp/app/stinfo/STINFO04010.html

@@ -101,7 +101,7 @@
101
 											<label class="col-xs-2 itp_lb">상태 *</label>
101
 											<label class="col-xs-2 itp_lb">상태 *</label>
102
 											<div class="col-xs-3 itp_ip">
102
 											<div class="col-xs-3 itp_ip">
103
 												<div class="col-xs-9 itp_in">
103
 												<div class="col-xs-9 itp_in">
104
-								               		<select id="ITP_FORM_STINFO04010_DETAIL_ST_CD" data-select-code="ITEM_ST_CD" data-check-required="empty" class="form-control itp_input default_st_cd" name="itemStCd"></select>
104
+								               		<select id="ITP_FORM_STINFO04010_DETAIL_ITEM_ST_CD" data-select-code="ITEM_ST_CD" data-check-required="empty" class="form-control itp_input default_st_cd" name="itemStCd"></select>
105
 												</div>
105
 												</div>
106
 											</div>
106
 											</div>
107
 										</div>
107
 										</div>
@@ -352,7 +352,7 @@
352
 										</div>
352
 										</div>
353
 									</div>
353
 									</div>
354
 									<div class="itp_form_in">
354
 									<div class="itp_form_in">
355
-										<div class="form-group colspan">
355
+										<div class="form-group border">
356
 											<label class="col-xs-2 itp_lb">품목이미지</label>
356
 											<label class="col-xs-2 itp_lb">품목이미지</label>
357
 											<div class="col-xs-10 itp_ip colspan">
357
 											<div class="col-xs-10 itp_ip colspan">
358
 												<div class="fileupload-wrapper">
358
 												<div class="fileupload-wrapper">
@@ -587,7 +587,7 @@
587
 										<div class="form-group border">
587
 										<div class="form-group border">
588
 											<label class="col-xs-2 itp_lb">품목이미지</label>
588
 											<label class="col-xs-2 itp_lb">품목이미지</label>
589
 											<div class="col-xs-12 itp_ip colspan">
589
 											<div class="col-xs-12 itp_ip colspan">
590
-												<div class="col-xs-1 itp_in fnItemImageFile" style="width:auto;">
590
+												<div id="ITP_FORM_STINFO04010_VIEW_FILE" class="col-xs-1 itp_in fnItemImageFile" style="width:auto;">
591
 												</div>
591
 												</div>
592
 											</div>
592
 											</div>
593
 										</div>
593
 										</div>

+ 10 - 5
src/main/webapp/app/stinfo/STINFO05010.html

@@ -85,6 +85,11 @@
85
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
85
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
86
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_BRAND_ID" name="brandId" value="">
86
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_BRAND_ID" name="brandId" value="">
87
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_BRAND_UNIT_UNQ_NO" name="brandUnitUnqNo" value="">
87
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_BRAND_UNIT_UNQ_NO" name="brandUnitUnqNo" value="">
88
+								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_ITEM_ID" data-check-required="empty" data-alert-required="ONLYCHK" data-alert-msg="empty" name="itemId" value="">
89
+								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_ITEM_NM" data-check-required="empty" data-alert-required="ONLYCHK" data-alert-msg="empty" name="itemNm" value="">
90
+								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_SPPLY_ID" data-check-required="empty" data-alert-required="ONLYCHK" data-alert-msg="empty" name="spplyId" value="">
91
+								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_SPPLY_NM" data-check-required="empty" data-alert-required="ONLYCHK" data-alert-msg="empty" name="spplyNm" value="">
92
+								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_FILE_NO" name="shortContFileNo" value="">
88
 					
93
 					
89
 								<section class="itp_form_sec">
94
 								<section class="itp_form_sec">
90
 									<h4 class="itp_form_tit">단가정보-신규</h4>
95
 									<h4 class="itp_form_tit">단가정보-신규</h4>
@@ -107,10 +112,10 @@
107
 												<label class="col-xs-2 itp_lb">품목번호 *</label>
112
 												<label class="col-xs-2 itp_lb">품목번호 *</label>
108
 												<div class="col-xs-10 itp_ip">
113
 												<div class="col-xs-10 itp_ip">
109
 													<div class="col-xs-3 itp_in">
114
 													<div class="col-xs-3 itp_in">
110
-														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_ITEM_ID" data-check-required="empty" class="form-control itp_input" name="itemId" value="" maxlength="100" readonly>
115
+														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_ID" class="form-control itp_input" value="" maxlength="100" readonly>
111
 									                </div>
116
 									                </div>
112
 													<div class="col-xs-3 itp_in" style="padding-left: 5px;">
117
 													<div class="col-xs-3 itp_in" style="padding-left: 5px;">
113
-														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_ITEM_NM" data-check-required="empty" class="form-control itp_input" name="itemNm" value="" maxlength="100" readonly>
118
+														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_NM" class="form-control itp_input" value="" maxlength="100" readonly>
114
 									                </div>
119
 									                </div>
115
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
120
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
116
 														<button type="button" id="ITP_BTN_STINFO05010_DETAIL_ITEM_SRH_" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
121
 														<button type="button" id="ITP_BTN_STINFO05010_DETAIL_ITEM_SRH_" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
@@ -122,10 +127,10 @@
122
 												<label class="col-xs-2 itp_lb">공급업체 *</label>
127
 												<label class="col-xs-2 itp_lb">공급업체 *</label>
123
 												<div class="col-xs-10 itp_ip">
128
 												<div class="col-xs-10 itp_ip">
124
 													<div class="col-xs-3 itp_in">
129
 													<div class="col-xs-3 itp_in">
125
-														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SPPLY_ID" data-check-required="empty" class="form-control itp_input" name="spplyId" value="공급업체번호" maxlength="100" readonly>
130
+														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_ID" class="form-control itp_input"  value="공급업체번호" maxlength="100" readonly>
126
 									                </div>
131
 									                </div>
127
 													<div class="col-xs-3 itp_in" style="padding-left: 5px;">
132
 													<div class="col-xs-3 itp_in" style="padding-left: 5px;">
128
-														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SPPLY_NM" data-check-required="empty" class="form-control itp_input" name="spplyNm" value="공급업체명" maxlength="100" readonly>
133
+														<input type="text" id="ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_NM" class="form-control itp_input" value="공급업체명" maxlength="100" readonly>
129
 									                </div>
134
 									                </div>
130
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
135
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
131
 														<button type="button" id="ITP_BTN_STINFO05010_DETAIL_SPPLY_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
136
 														<button type="button" id="ITP_BTN_STINFO05010_DETAIL_SPPLY_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
@@ -338,7 +343,7 @@
338
 									<div class="itp_form_in">
343
 									<div class="itp_form_in">
339
 										<div class="form-group border">
344
 										<div class="form-group border">
340
 											<label class="col-xs-2 itp_lb">계약문서</label>
345
 											<label class="col-xs-2 itp_lb">계약문서</label>
341
-											<div class="col-xs-10 itp_ip fnFilePath"></div>
346
+											<div id="ITP_FORM_STINFO05010_VIEW_FILE" class="col-xs-10 itp_ip fnFilePath"></div>
342
 										</div>	
347
 										</div>	
343
 									</div>			
348
 									</div>			
344
 								</section>								
349
 								</section>								

+ 1 - 0
src/main/webapp/app/stinfo/STINFO07010.html

@@ -7,6 +7,7 @@
7
 					<button type="button" id="ITP_BTN_STINFO07010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon "></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_STINFO07010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon "></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
8
 					<button type="button" id="ITP_BTN_STINFO07010_NEWREG" class="btn btn-primary btn-sm ADB" style="display: inline-block;"><i class="glyphicon "></i>&nbsp;&nbsp;추가&nbsp;&nbsp;</button>
8
 					<button type="button" id="ITP_BTN_STINFO07010_NEWREG" class="btn btn-primary btn-sm ADB" style="display: inline-block;"><i class="glyphicon "></i>&nbsp;&nbsp;추가&nbsp;&nbsp;</button>
9
 					<button type="button" id="ITP_BTN_STINFO07010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon "></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
9
 					<button type="button" id="ITP_BTN_STINFO07010_DELETE" class="btn btn-danger btn-sm DEB"><i class="glyphicon "></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
10
+					<button type="button" id="ITP_BTN_STINFO07010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon"></i>&nbsp;&nbsp;취소/목록&nbsp;&nbsp;</button>
10
 				</div>
11
 				</div>
11
 			</div>
12
 			</div>
12
 			<div class="itp_det_in">
13
 			<div class="itp_det_in">

+ 25 - 29
src/main/webapp/app/vendinfo/VENDINFO01010.html

@@ -7,7 +7,6 @@
7
 					<button type="button" id="ITP_BTN_VENDINFO01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon"></i>&nbsp;&nbsp;저장&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_VENDINFO01010_SAVE" class="btn btn-success btn-sm SAB"><i class="glyphicon"></i>&nbsp;&nbsp;저장&nbsp;&nbsp;</button>
8
 				</div>				
8
 				</div>				
9
 				<div style="top:0px; text-align:center; font-size:20px;">
9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11
 					<button type="button" id="ITP_BTN_VENDINFO01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
10
 					<button type="button" id="ITP_BTN_VENDINFO01010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
12
 					<button type="button" id="ITP_BTN_VENDINFO01010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
11
 					<button type="button" id="ITP_BTN_VENDINFO01010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
13
 				</div>
12
 				</div>
@@ -21,8 +20,8 @@
21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
20
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
24
-								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
25
-								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
23
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bbookCopyFileNo" value="">
24
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bsnsRegFileNo" value="">
26
 					
25
 					
27
 								<section class="itp_form_sec">
26
 								<section class="itp_form_sec">
28
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
27
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -83,7 +82,7 @@
83
 											<div class="col-xs-4 itp_ip">
82
 											<div class="col-xs-4 itp_ip">
84
 												<div class="itp_form_change">
83
 												<div class="itp_form_change">
85
 													<div class="col-xs-7 itp_in">
84
 													<div class="col-xs-7 itp_in">
86
-									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="">
85
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" data-key-up="regNo" class="form-control itp_input" name="bsnsRegNo" value="">
87
 													</div>
86
 													</div>
88
 												</div>
87
 												</div>
89
 											</div>
88
 											</div>
@@ -101,14 +100,14 @@
101
 											<div class="col-xs-4 itp_ip">
100
 											<div class="col-xs-4 itp_ip">
102
 												<div class="itp_form_change">
101
 												<div class="itp_form_change">
103
 													<div class="col-xs-7 itp_in">
102
 													<div class="col-xs-7 itp_in">
104
-									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="">
103
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" data-key-up="corpNo" name="corpRegNo" value="">
105
 													</div>
104
 													</div>
106
 												</div>
105
 												</div>
107
 											</div>
106
 											</div>
108
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
107
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
109
 											<div class="col-xs-4 itp_ip">
108
 											<div class="col-xs-4 itp_ip">
110
 												<div class="col-xs-8 itp_in">
109
 												<div class="col-xs-8 itp_in">
111
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="mgrTelNo" value="">
110
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" data-key-up="tel" class="form-control itp_input" name="mgrTelNo" value="">
112
 												</div>
111
 												</div>
113
 											</div>
112
 											</div>
114
 										</div>
113
 										</div>
@@ -121,10 +120,10 @@
121
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
120
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
122
 												</div>
121
 												</div>
123
 											</div>
122
 											</div>
124
-											<label class="col-xs-2 itp_lb">FAX</label>
123
+											<label class="col-xs-2 itp_lb">핸드폰</label>
125
 											<div class="col-xs-4 itp_ip">
124
 											<div class="col-xs-4 itp_ip">
126
-												<div class="col-xs-8 itp_in">
127
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
125
+												<div class="col-xs-6 itp_in">
126
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" data-key-up="tel" class="form-control itp_input" name="mgrMblNo" value="">
128
 												</div>
127
 												</div>
129
 											</div>
128
 											</div>
130
 										</div>
129
 										</div>
@@ -137,10 +136,11 @@
137
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
136
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
138
 												</div>
137
 												</div>
139
 											</div>
138
 											</div>
140
-											<label class="col-xs-2 itp_lb">핸드폰</label>
139
+											<label class="col-xs-2 itp_lb">은행</label>
141
 											<div class="col-xs-4 itp_ip">
140
 											<div class="col-xs-4 itp_ip">
142
-												<div class="col-xs-6 itp_in">
143
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mgrMblNo" value="">
141
+												<div class="col-xs-8 itp_in">
142
+				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
143
+												</select>
144
 												</div>
144
 												</div>
145
 											</div>
145
 											</div>
146
 										</div>
146
 										</div>
@@ -154,13 +154,8 @@
154
 													</select>												
154
 													</select>												
155
 												</div>
155
 												</div>
156
 											</div>
156
 											</div>
157
-											<label class="col-xs-2 itp_lb">은행</label>
158
-											<div class="col-xs-4 itp_ip">
159
-												<div class="col-xs-8 itp_in">
160
-				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
161
-												</select>
162
-												</div>
163
-											</div>
157
+											<label class="col-xs-2 itp_lb"></label>
158
+											<div class="col-xs-4 itp_ip"></div>
164
 										</div>
159
 										</div>
165
 									</div>
160
 									</div>
166
 									<div class="itp_form_in">
161
 									<div class="itp_form_in">
@@ -179,6 +174,7 @@
179
 											</div>
174
 											</div>
180
 										</div>
175
 										</div>
181
 									</div>
176
 									</div>
177
+									
182
 									<div class="itp_form_in">
178
 									<div class="itp_form_in">
183
 										<div class="form-group">
179
 										<div class="form-group">
184
 											<label class="col-xs-2 itp_lb">통장사본</label>
180
 											<label class="col-xs-2 itp_lb">통장사본</label>
@@ -206,16 +202,16 @@
206
 											<label class="col-xs-2 itp_lb">주소 *</label>
202
 											<label class="col-xs-2 itp_lb">주소 *</label>
207
 											<div class="col-xs-10 itp_ip">
203
 											<div class="col-xs-10 itp_ip">
208
 												<div class="col-xs-1 itp_in">
204
 												<div class="col-xs-1 itp_in">
209
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
205
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIPNO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
210
 												</div>
206
 												</div>
211
 												<div class="col-xs-2 itp_in" style="width:10%;">
207
 												<div class="col-xs-2 itp_in" style="width:10%;">
212
 													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
208
 													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
213
 												</div>
209
 												</div>
214
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
210
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
215
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
211
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ADRES" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
216
 												</div>
212
 												</div>
217
 												<div class="col-xs-4 itp_in">
213
 												<div class="col-xs-4 itp_in">
218
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
214
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ADRES_DTL" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
219
 												</div>
215
 												</div>
220
 											</div>
216
 											</div>
221
 										</div>
217
 										</div>
@@ -224,13 +220,13 @@
224
 										<div class="form-group">
220
 										<div class="form-group">
225
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
221
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
226
 											<div class="col-xs-4 itp_ip">
222
 											<div class="col-xs-4 itp_ip">
227
-												<div class="col-xs-2 itp_in fnRegId"></div>
223
+												<div class="col-xs-4 itp_in fnRegId"></div>
228
 												<label class="col-xs-1 itp_in">/</label>
224
 												<label class="col-xs-1 itp_in">/</label>
229
 												<div class="col-xs-5 itp_in fnRegDt"></div>
225
 												<div class="col-xs-5 itp_in fnRegDt"></div>
230
 											</div>
226
 											</div>
231
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
227
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
232
 											<div class="4 itp_ip">
228
 											<div class="4 itp_ip">
233
-												<div class="col-xs-2 itp_in fnChgId"></div>
229
+												<div class="col-xs-4 itp_in fnChgId"></div>
234
 												<label class="col-xs-1 itp_in">/</label>
230
 												<label class="col-xs-1 itp_in">/</label>
235
 												<div class="col-xs-5 itp_in fnChgDt"></div>
231
 												<div class="col-xs-5 itp_in fnChgDt"></div>
236
 											</div>
232
 											</div>
@@ -248,11 +244,11 @@
248
 								<button type="button" id="ITP_BTN_VENDINFO01010_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
244
 								<button type="button" id="ITP_BTN_VENDINFO01010_DELROW" class="btn btn-danger btn-sm DRB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
249
 							</div>
245
 							</div>
250
 						</div>
246
 						</div>
251
-			 			<div id="ITP_VENDINFO01010_DETAIL_jqGrid_list" class="itp_tb_list">
252
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridView" class="itp_views fix"></div>
253
-						  <table id="ITP_VENDINFO01010_DETAIL_jqGrid"></table>
254
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridPager"></div>
255
-						  <div id="ITP_VENDINFO01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
247
+			 				<div id="ITP_VENDINFO01010_DETAIL_jqGrid_list" class="itp_tb_list">
248
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridView" class="itp_views fix"></div>
249
+							<table id="ITP_VENDINFO01010_DETAIL_jqGrid"></table>
250
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridPager"></div>
251
+							<div id="ITP_VENDINFO01010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
256
 						</div>
252
 						</div>
257
 				    </div>
253
 				    </div>
258
 				</div>
254
 				</div>

+ 0 - 1
src/main/webapp/app/vendinfo/VENDINFO03010.html

@@ -7,7 +7,6 @@
7
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
8
 				</div>	
8
 				</div>	
9
 				<div style="top:0px; text-align:center; font-size:20px;">
9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
10
 					<button type="button" id="ITP_BTN_VENDINFO03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
12
 					<button type="button" id="ITP_BTN_VENDINFO03010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
11
 					<button type="button" id="ITP_BTN_VENDINFO03010_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
13
 				</div>				
12
 				</div>				

+ 2 - 2
src/main/webapp/js/app/config.js

@@ -3029,13 +3029,13 @@ let itp_fn_form_event = {
3029
 let itp_fn_attach_file = {
3029
 let itp_fn_attach_file = {
3030
 	view: (id, fileList, clazz, style) => {
3030
 	view: (id, fileList, clazz, style) => {
3031
 		$.each(fileList, function(i, item) {
3031
 		$.each(fileList, function(i, item) {
3032
-			var text = 	'<img ' +
3032
+			var img = 	'<img ' +
3033
 						'src="' + item.filePath + '" ' +
3033
 						'src="' + item.filePath + '" ' +
3034
 						'alt="' + item.fileNm + '" ' +
3034
 						'alt="' + item.fileNm + '" ' +
3035
 						'id="' + (item.fileNo + '_' + i) + '" ' +
3035
 						'id="' + (item.fileNo + '_' + i) + '" ' +
3036
 						'class="' + clazz + '" ' +
3036
 						'class="' + clazz + '" ' +
3037
 						'style="' + style + '" />';
3037
 						'style="' + style + '" />';
3038
-			$('#' + id).append(text);
3038
+			$('#' + id).append(img);
3039
 		});
3039
 		});
3040
 	}
3040
 	}
3041
 };
3041
 };

+ 9 - 17
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -146,7 +146,6 @@ let pageObj = {
146
 	init: function () {
146
 	init: function () {
147
 		this.ui.init();
147
 		this.ui.init();
148
 		this.event.init();
148
 		this.event.init();
149
-		this.fileUpload();
150
 	},
149
 	},
151
 	pageMode: '',
150
 	pageMode: '',
152
 	ui: {
151
 	ui: {
@@ -251,13 +250,17 @@ let pageObj = {
251
 		//파일업로드(등록/수정화면)
250
 		//파일업로드(등록/수정화면)
252
 		var id = 'OPER02010';
251
 		var id = 'OPER02010';
253
 		$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
252
 		$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
253
+		$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
254
+		var removeFn = (param) => {
255
+			$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
256
+		};
254
 		const fileArgs = {
257
 		const fileArgs = {
255
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
258
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
256
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
259
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
257
 			'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
260
 			'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
258
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
261
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
259
 		};
262
 		};
260
-		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
263
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs, removeFn);
261
 	},
264
 	},
262
 	switchScreen: function(mode) {
265
 	switchScreen: function(mode) {
263
 		pageObj.pageMode = mode;
266
 		pageObj.pageMode = mode;
@@ -506,13 +509,8 @@ let viewObj = {
506
 		$('#ITP_FORM_OPER02010_VIEW .fnTargetNm').text(result.targetNm);
509
 		$('#ITP_FORM_OPER02010_VIEW .fnTargetNm').text(result.targetNm);
507
 		$('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(result.fileNo); //파일번호 셋팅
510
 		$('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(result.fileNo); //파일번호 셋팅
508
 
511
 
509
-		//파일업로드(뷰화면)
510
-		$('#ITP_OPER02010_VIEW_UPLOAD').empty();
511
-		const fileArgs = {
512
-			'fileNo': $('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(),
513
-			'viewCd': $('#ITP_FORM_OPER02010_VIEW_VIEW_CD').val()
514
-		};
515
-		itp_fn_set_file_upload('ITP_OPER02010_VIEW_UPLOAD', 'notice', true, false, 'OPER02010', fileArgs);
512
+		itp_fn_attach_file.view('ITP_OPER02010_VIEW_UPLOAD', result.fileNoList
513
+			, 'form-control itp_input', 'border:none; top:0px; left:12px; height:100px; width:125px; position:absolute;');
516
 
514
 
517
 		// 권한정보 리스트 조회
515
 		// 권한정보 리스트 조회
518
 		// pageObj.grid.init('VIEW');
516
 		// pageObj.grid.init('VIEW');
@@ -572,14 +570,7 @@ let modifyObj = {
572
 		}
570
 		}
573
 
571
 
574
 		//파일업로드(수정화면)
572
 		//파일업로드(수정화면)
575
-		$('#ITP_OPER02010_DETAIL_UPLOAD').empty();
576
-		const fileArgs = {
577
-			'fileNo': $('#ITP_FORM_OPER02010_DETAIL_FILE_NO').val(),
578
-			'viewCd': $('#ITP_FORM_OPER02010_DETAIL_VIEW_CD').val(),
579
-			'showYn': $('#ITP_OPER02010_DETAIL_UPLOAD').attr('data-show-yn'),
580
-			'fileId': '#ITP_FORM_OPER02010_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
581
-		};
582
-		itp_fn_set_file_upload('ITP_OPER02010_DETAIL_UPLOAD', 'notice', true, false, 'OPERATION02010', fileArgs);
573
+		pageObj.fileUpload();
583
 
574
 
584
 		// 리스트 조회
575
 		// 리스트 조회
585
 		// createObj.form.init();
576
 		// createObj.form.init();
@@ -590,6 +581,7 @@ let modifyObj = {
590
 /*신규화면 Object*/
581
 /*신규화면 Object*/
591
 let createObj = {
582
 let createObj = {
592
 	init: function () {
583
 	init: function () {
584
+		pageObj.fileUpload();
593
 		// this.form.init();
585
 		// this.form.init();
594
 	},
586
 	},
595
 	/*form: {
587
 	/*form: {

+ 1 - 2
src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -488,7 +488,6 @@ let viewObj = {
488
 		$('#ITP_FORM_OPER03010_VIEW .fnLoadAddr').text(result.addr1);
488
 		$('#ITP_FORM_OPER03010_VIEW .fnLoadAddr').text(result.addr1);
489
 		$('#ITP_FORM_OPER03010_VIEW .fnDtlAddr').text(result.addr2);
489
 		$('#ITP_FORM_OPER03010_VIEW .fnDtlAddr').text(result.addr2);
490
 
490
 
491
-		pageObj.fileUpload();
492
 		itp_fn_attach_file.view('ITP_OPER03010_VIEW_LOGO_FILE', result.fileLogNoList
491
 		itp_fn_attach_file.view('ITP_OPER03010_VIEW_LOGO_FILE', result.fileLogNoList
493
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
492
 			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
494
 
493
 
@@ -598,7 +597,6 @@ let createObj = {
598
 		},
597
 		},
599
 		save: function() {
598
 		save: function() {
600
 			const formId = '#ITP_FORM_OPER03010_DETAIL';
599
 			const formId = '#ITP_FORM_OPER03010_DETAIL';
601
-			itp_fn_form_event.removeChar('#ITP_FORM_OPER03010_DETAIL');
602
 			itp_fn_form_clear_validate(null, formId);
600
 			itp_fn_form_clear_validate(null, formId);
603
 
601
 
604
 			if (itp_fn_form_event.isValid(formId)) {
602
 			if (itp_fn_form_event.isValid(formId)) {
@@ -624,6 +622,7 @@ let createObj = {
624
 						}
622
 						}
625
 					});
623
 					});
626
 
624
 
625
+					itp_fn_form_event.removeChar(formId);
627
 					let param = $(formId).serializeObject();
626
 					let param = $(formId).serializeObject();
628
 					param.gridInsertData = gridInsertData;
627
 					param.gridInsertData = gridInsertData;
629
 					param.gridUpdateData = gridUpdateData;
628
 					param.gridUpdateData = gridUpdateData;

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

@@ -437,8 +437,9 @@ let modifyObj = {
437
         $('#ITP_FORM_OPER06010_DETAIL .fnAddDt').text(result.sysRegDttm);
437
         $('#ITP_FORM_OPER06010_DETAIL .fnAddDt').text(result.sysRegDttm);
438
         $('#ITP_FORM_OPER06010_DETAIL .fnChgDt').text(result.sysChgDttm);
438
         $('#ITP_FORM_OPER06010_DETAIL .fnChgDt').text(result.sysChgDttm);
439
 
439
 
440
+        $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val(result.brandLogoFileNo);
440
         pageObj.fileUpload();
441
         pageObj.fileUpload();
441
-        itp_fn_attach_file.view('ITP_OPER03010_DETAI_LOGO_FILE', result.fileLogNoList
442
+        itp_fn_attach_file.view('ITP_OPER06010_DETAIL_LOGO_FILE', result.fileLogNoList
442
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
443
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
443
 
444
 
444
         let locate = result.addr1 + ' ' + result.addr2;
445
         let locate = result.addr1 + ' ' + result.addr2;

+ 554 - 0
src/main/webapp/js/app/settmng/ITP_SETTMNG02010.js

@@ -0,0 +1,554 @@
1
+/********************************************************
2
+ --------------------------------------------------------
3
+ - Object 목록								            -
4
+ --------------------------------------------------------
5
+ * const gridColModel = {}	: 화면 Grid Object			*
6
+ * let pageObj = {}			: 화면공통 Object			*
7
+ * let listObj = {}			: 목록화면 Object			*
8
+ * let modifyObj = {}			: 상세화면 Object			*
9
+ *******************************************************/
10
+
11
+/*화면 변수*/
12
+const SETTMNG02010_GRID_ID = '#ITP_SETTMNG02010_jqGrid';
13
+const SETTMNG02010_GRID_LIST = '#ITP_SETTMNG02010_jqGrid_list';
14
+const SETTMNG02010_GRID_PAGER = '#ITP_SETTMNG02010_jqGridPager';
15
+const SETTMNG02010_GRID_EMPTY = '#ITP_SETTMNG02010_jqGridEmpty';
16
+
17
+const SETTMNG02010_DETAIL_GRID_ID = '#ITP_SETTMNG02010_DETAIL_jqGrid';
18
+const SETTMNG02010_DETAIL_GRID_LIST = '#ITP_SETTMNG02010_DETAIL_jqGrid_list';
19
+const SETTMNG02010_DETAIL_GRID_PAGER = '#ITP_SETTMNG02010_DETAIL_jqGridPager';
20
+const SETTMNG02010_DETAIL_GRID_EMPTY = '#ITP_SETTMNG02010_DETAIL_jqGridEmpty';
21
+
22
+let ITP_FORM_SETTMNG02010_DETAIL_IS_DUPLICATE = false;
23
+let ITP_FORM_SETTMNG02010_DETAIL_IS_WRITING = false;
24
+let SETTMNG02010_DETAIL_GRID_LAST_ROW_ID;
25
+
26
+/*API URL*/
27
+let STTL_STATE_DETAIL_GRID_LIST = '/api/sttl/state/detail-grid-list';
28
+
29
+let STTL_REQ_REQUEST_STTL = '/api/sttl/req/request-sttl';
30
+let STTL_REQ_REQUEST_STTL_PROC = '/api/sttl/req/request-sttl-proc';
31
+let STTL_REQ_INFO_STTL = '/api/sttl/req/info-sttl';
32
+let STTL_REQ_STL_GRID_LIST = '/api/sttl/req/stl-grid-list';
33
+
34
+let LOGIN_AUTH_TYPE_CD;
35
+
36
+/*화면 Grid ColModel*/
37
+const gridColModel = {
38
+	list: [
39
+		{
40
+			index: 'VIEW_CD', name: 'viewCd',
41
+			label: ITP_MSG_LOCALE.label.viewCd,
42
+			width: '10', fixed: false, align: 'center',
43
+			sortable: false, hidden: true
44
+		},		
45
+		{
46
+			index: 'BRAND_NM', name: 'brandNm',
47
+			label: "브랜드",
48
+			width: '10', fixed: false, align: 'center',
49
+			sortable: false, hidden: true
50
+		},
51
+		{
52
+			index: 'STORE_NM', name: 'storeNm',
53
+			label: "매장명",
54
+			width: '10', fixed: false, align: 'center',
55
+			sortable: false, hidden: true
56
+		},
57
+		{
58
+			index: 'SPPLY_NM', name: 'spplyNm',
59
+			label: "공급사명",
60
+			width: '10', fixed: false, align: 'center',
61
+			sortable: false, hidden: false
62
+		},
63
+		{
64
+			index: 'STTL_MGNT_UNQ_NO', name: 'sttlMgntUnqNo',
65
+			label: "정산번호", 
66
+			width: '10', fixed: false, align: 'center',
67
+			sortable: false, hidden: false
68
+		},
69
+		{
70
+			index: 'STTL_ST_CD', name: 'sttlStCd',
71
+			label: "정산상태코드", 
72
+			width: '8', fixed: false, align: 'center',
73
+			sortable: false, hidden: true
74
+		},
75
+		{
76
+			index: 'STTL_ST_NM', name: 'sttlStNm',
77
+			label: "정산상태", 
78
+			width: '10', fixed: false, align: 'center',
79
+			sortable: false, hidden: false
80
+		},		
81
+		{
82
+			index: 'STTL_REQ_DT', name: 'sttlReqDt',
83
+			label: "정산요청일",
84
+			width: '10', fixed: false, align: 'center',
85
+			sortable: false, editable: false, edittype: 'text'
86
+		},
87
+		{
88
+			index: 'STTL_REQ_AMT', name: 'sttlReqAmt',
89
+			label: "정산요청금액",
90
+			width: '10', fixed: false, align: 'center',
91
+			sortable: false, editable: false, edittype: 'text', 
92
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
93
+		}, 
94
+		{
95
+			index: 'STTL_DT', name: 'sttlDt',
96
+			label: "정산일",
97
+			width: '10', fixed: false, align: 'center',
98
+			sortable: false, editable: false, edittype: 'text'
99
+		},
100
+		{
101
+			index: 'STTL_REQ_AMT', name: 'sttlAmt',
102
+			label: "정산금액",
103
+			width: '10', fixed: false, align: 'center',
104
+			sortable: false, editable: false, edittype: 'text', 
105
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
106
+		},
107
+		{
108
+			index: 'ACCT_BAL', name: 'acctBal',
109
+			label: "잔금",
110
+			width: '10', fixed: false, align: 'center',
111
+			sortable: false, editable: false, edittype: 'text', 
112
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
113
+		}, 
114
+		{
115
+			index: 'STTL_REG_MGR_NM', name: 'sttlRegMgrNm',
116
+			label: "등록자",
117
+			width: '10', fixed: false, align: 'center',
118
+			sortable: false, editable: false, edittype: 'text'
119
+		}
120
+	],
121
+	view: [
122
+		{
123
+			index: 'VIEW_CD', name: 'viewCd',
124
+			label: ITP_MSG_LOCALE.label.viewCd,
125
+			width: '10', fixed: false, align: 'center',
126
+			sortable: false, hidden: true
127
+		},
128
+		{
129
+			index: 'STTL_MGNT_DTL_NO', name: 'sttlMgntDtlNo',
130
+			label: '정산관리상세번호',
131
+			width: '10', fixed: false, align: 'center',
132
+			sortable: false, hidden: true
133
+		},		
134
+		{
135
+			index: 'BRAND_NM', name: 'brandNm',
136
+			label: "브랜드",
137
+			width: '10', fixed: false, align: 'center',
138
+			sortable: false, hidden: true
139
+		},
140
+		{
141
+			index: 'STORE_NM', name: 'storeNm',
142
+			label: "매장명",
143
+			width: '10', fixed: false, align: 'center',
144
+			sortable: false, hidden: true
145
+		},
146
+		{
147
+			index: 'ITEM_ID', name: 'itemId',
148
+			label: "품목코드",
149
+			width: '10', fixed: false, align: 'center',
150
+			sortable: false, editable: false, edittype: 'text'
151
+		},
152
+		{
153
+			index: 'ITEM_NM', name: 'itemNm',
154
+			label: "품목명",
155
+			width: '10', fixed: false, align: 'center',
156
+			sortable: false, editable: false, edittype: 'text'
157
+		},
158
+		{
159
+			index: 'UNIT', name: 'unit',
160
+			label: "단위",
161
+			width: '8', fixed: false, align: 'center',
162
+			sortable: false, editable: false, edittype: 'text'
163
+		},
164
+		{
165
+			index: 'UNIT_AMT', name: 'unitAmt',
166
+			label: "단가",
167
+			width: '8', fixed: false, align: 'center',
168
+			sortable: false, editable: false, edittype: 'text', 
169
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
170
+		},
171
+		{
172
+			index: 'PODR_QTY', name: 'podrQty',
173
+			label: "발주수량",
174
+			width: '8', fixed: false, align: 'center',
175
+			sortable: false, editable: false, edittype: 'text', 
176
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
177
+		},
178
+		{
179
+			index: 'DLV_QTY', name: 'dlvQty',
180
+			label: "납품수량",
181
+			width: '8', fixed: false, align: 'center',
182
+			sortable: false, editable: false, edittype: 'text', 
183
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
184
+		},
185
+		{
186
+			index: 'WHS_COL_QTY', name: 'whsColQty',
187
+			label: "입고/수거수량",
188
+			width: '8', fixed: false, align: 'center',
189
+			sortable: false, editable: false, edittype: 'text', 
190
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
191
+		}, 
192
+		{
193
+			index: 'WHS_COL_DT', name: 'whsColDt',
194
+			label: "입고/수거일자",
195
+			width: '8', fixed: false, align: 'center',
196
+			sortable: false, editable: false, edittype: 'text'
197
+		},
198
+		{
199
+			index: 'WHS_COL_AMT', name: 'whsColAmt',
200
+			label: "입고/수거금액",
201
+			width: '8', fixed: false, align: 'center',
202
+			sortable: false, editable: false, edittype: 'text', 
203
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
204
+		},
205
+		{
206
+			index: 'STTL_DVSN_NM', name: 'sttlDvsnNm',
207
+			label: "정산구분",
208
+			width: '8', fixed: false, align: 'center',
209
+			sortable: false, editable: false, edittype: 'text'
210
+		},
211
+		{
212
+			index: 'PODR_UNQ_NO', name: 'podrUnqNo',
213
+			label: "발주번호",
214
+			width: '8', fixed: false, align: 'center',
215
+			sortable: false, editable: false, edittype: 'text'
216
+		},
217
+		{
218
+			index: 'PODR_DTL_NO', name: 'podrDtlNo',
219
+			label: "발주항번",
220
+			width: '8', fixed: false, align: 'center',
221
+			sortable: false, editable: false, edittype: 'text'
222
+		}
223
+	]
224
+};
225
+
226
+require(['config'], function() {
227
+	require([
228
+		'kakao.map.util'
229
+	], function($) {
230
+		pageObj.init();
231
+	});
232
+});
233
+
234
+/*화면공통 Object*/
235
+let pageObj = {
236
+	init: function () {
237
+		this.ui.init();
238
+		this.event.init();
239
+	},
240
+	ui: {
241
+		init: function () {
242
+			this.view();
243
+			this.grid();
244
+			this.ready();
245
+		},
246
+		view: function() {
247
+			// 버튼 권한설정
248
+			fn_proc_btn_auth('SETTMNG02010');
249
+			
250
+			// 공통코드 표시
251
+			$('select').each(function() {
252
+		        if($(this).data('select-code')) {
253
+		            fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
254
+		        }
255
+		    });
256
+
257
+			// 조회일자 지정
258
+			var now = new Date();
259
+			$('#ITP_TAB_SETTMNG02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);			
260
+			$('#ITP_FORM_SETTMNG02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
261
+			$('#ITP_FORM_SETTMNG02010_SEARCH_TO_DT').datepicker('setDate', new Date());
262
+			
263
+			// 권한에 따라 매장값 설정
264
+			$('#ITP_FORM_SETTMNG02010_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
265
+			LOGIN_AUTH_TYPE_CD = fn_make_user_info.get('authTpCd'); // 권한타입
266
+			if(LOGIN_AUTH_TYPE_CD == '60') {
267
+				$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_ID').val(fn_make_user_info.get('storeId'));
268
+				$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_NM').val(fn_make_user_info.get('storeNm'));	
269
+			}
270
+			
271
+		},
272
+		grid: function() {
273
+			itp_fn_jqgrid_resize(SETTMNG02010_GRID_ID, SETTMNG02010_GRID_LIST, 'lg');
274
+			listObj.empty.init();
275
+			itp_fn_fire_window_resize();
276
+		},
277
+		ready: function() {
278
+			listObj.init();
279
+		}
280
+	},
281
+	event: {
282
+		init: function () {
283
+			this.button();
284
+			this.change();
285
+		},
286
+		button: function () {
287
+			// 버튼 클릭 이벤트
288
+			$('button').each(function() {
289
+				var id = $(this).attr('id');
290
+				$(this).on('click', function() {
291
+					switch (id) {
292
+						case 'ITP_BTN_SETTMNG02010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
293
+						case 'ITP_BTN_SETTMNG02010_CANCELLIST'		: modifyObj.button.cancel(); 	break;	// 취소/목록 버튼
294
+						// case 'ITP_BTN_SETTMNG02010_NEWREG'			: listObj.button.reqSttl();	break;	// 정산요청 버튼
295
+						// case 'ITP_BTN_SETTMNG02010_REQUEST'			: modifyObj.button.request();	break;	// 요청 버튼
296
+					}
297
+				});
298
+			});
299
+
300
+			$('body').on('click', function(e) {
301
+				var gridId = SETTMNG02010_DETAIL_GRID_ID.replace('#', '');
302
+				var rids = $(SETTMNG02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
303
+				var last_row_id = rids[rids.length - 1];
304
+				itp_fn_grid_reset_selection(e, last_row_id, gridId, 'SETTMNG02010_DETAIL');
305
+			});
306
+
307
+		}, 
308
+		change: function() {
309
+			$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_GUBUN').on('change', function() {
310
+				var gubunVal = $('#ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_GUBUN').val();
311
+				if(gubunVal == '1') { // 매장
312
+					$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_NM').attr('placeholder', '매장명');
313
+					
314
+					$(SETTMNG02010_GRID_ID).jqGrid('hideCol', ["spplyNm"]);
315
+					$(SETTMNG02010_GRID_ID).jqGrid('showCol', ["storeNm"]);		
316
+					// $(SETTMNG02010_GRID_ID).setColProp('spplyNm', {hidden: true});
317
+					// $(SETTMNG02010_GRID_ID).setColProp('storeNm', {hidden: false});
318
+								
319
+				} else if(gubunVal == '2') { // 공급업체
320
+					$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_SPPLY_NM').attr('placeholder', '공급사명');
321
+					
322
+					$(SETTMNG02010_GRID_ID).jqGrid('hideCol', ["storeNm"]);
323
+					$(SETTMNG02010_GRID_ID).jqGrid('showCol', ["spplyNm"]);
324
+					// $(SETTMNG02010_GRID_ID).setColProp('storeNm', {hidden: true});
325
+					// $(SETTMNG02010_GRID_ID).setColProp('spplyNm', {hidden: false});
326
+				}	
327
+				listObj.button.search();	
328
+				// itp_fn_jqgrid_resize(SETTMNG02010_GRID_ID, SETTMNG02010_GRID_LIST, 'lg');							
329
+			});			
330
+		}
331
+	},
332
+	switchScreen: function(mode) {
333
+		if(mode == 'LIST') { // 목록
334
+			$('#ITP_BTN_SETTMNG02010_MODIFY').hide();
335
+			$('#ITP_BTN_SETTMNG02010_CANCELLIST').hide();
336
+			$('#ITP_BTN_SETTMNG02010_DELETE').hide();
337
+			$('#ITP_BTN_SETTMNG02010_REQUEST').hide();
338
+			
339
+			if(LOGIN_AUTH_TYPE_CD == '60') { // 공급사
340
+				$('#ITP_BTN_SETTMNG02010_SEARCH_SPPLY_POP').hide();
341
+				$('#ITP_BTN_SETTMNG02010_SEARCH_ERASE').hide();
342
+			} else {
343
+				$('#ITP_BTN_SETTMNG02010_SEARCH_SPPLY_POP').show();
344
+				$('#ITP_BTN_SETTMNG02010_SEARCH_ERASE').show();
345
+			}
346
+			
347
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_SRH');
348
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_NEWREG');
349
+			
350
+			$('#ITP_AJAX_SETTMNG02010_LIST_CONTAINER').show();
351
+			$('#ITP_AJAX_SETTMNG02010_DETAIL_CONTAINER').hide();
352
+			
353
+		} else if(mode == 'DETAIL') { // 보기
354
+			$('#ITP_BTN_SETTMNG02010_SRH').hide();
355
+			$('#ITP_BTN_SETTMNG02010_NEWREG').hide();
356
+			$('#ITP_BTN_SETTMNG02010_DELETE').hide();
357
+			
358
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_REQUEST');
359
+			fn_show_btn_auth('#ITP_BTN_SETTMNG02010_CANCELLIST');
360
+
361
+			$('#ITP_AJAX_SETTMNG02010_LIST_CONTAINER').hide();
362
+			$('#ITP_AJAX_SETTMNG02010_DETAIL_CONTAINER').show();
363
+		}
364
+	}
365
+};
366
+
367
+/*목록화면 Object*/
368
+let listObj = {
369
+	init: function () {
370
+		this.grid.init();
371
+	},
372
+	itp_SETTMNG02010_search: false,
373
+	button: {
374
+		search: function() {
375
+			listObj.itp_SETTMNG02010_search = true;
376
+			let param = $('#ITP_FORM_SETTMNG02010_SEARCH').serializeObject();
377
+			param.gridSize = $.jgrid.defaults.rowNum;
378
+			param.gridPage = $.jgrid.defaults.page;
379
+			$(SETTMNG02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
380
+		}
381
+	},
382
+	empty: {
383
+		init: function() {
384
+			var _this = this;
385
+			this.push();
386
+			$(SETTMNG02010_GRID_EMPTY).on('click', function() {
387
+				_this.back();
388
+				_this.itp_SETTMNG02010_param.gridSize = $.jgrid.defaults.rowNum;
389
+				$(SETTMNG02010_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_SETTMNG02010_param)}).trigger('reloadGrid');
390
+			});
391
+		},
392
+		itp_SETTMNG02010_param: {},
393
+		push: function() {
394
+			let param = $('#ITP_FORM_SETTMNG02010_SEARCH').serializeObject();
395
+			listObj.itp_SETTMNG02010_param = param;
396
+		},
397
+		back: function() {
398
+			$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_ID').val(listObj.itp_SETTMNG02010_param.sstoreId);
399
+			$('#ITP_FORM_SETTMNG02010_SEARCH_STORE_NM').val(listObj.itp_SETTMNG02010_param.sstoreNm);
400
+			$('#ITP_FORM_SETTMNG02010_SEARCH_FROM_DT').val(listObj.itp_SETTMNG02010_param.fromDt);
401
+			$('#ITP_FORM_SETTMNG02010_SEARCH_TO_DT').val(listObj.itp_SETTMNG02010_param.toDt);
402
+			$('#ITP_FORM_SETTMNG02010_SEARCH_ITEM_NM').val(listObj.itp_SETTMNG02010_param.sitemNm);
403
+		}
404
+	},
405
+	grid: {
406
+		init: function () {
407
+			// 데이터 없을때
408
+			listObj.empty.push();
409
+			this.search();
410
+		},
411
+		colModel: gridColModel.list,
412
+		search: function() {
413
+			pageObj.switchScreen('LIST');
414
+			this.unload();
415
+			this.load();
416
+		},
417
+		load: function() {			
418
+			let param = $('#ITP_FORM_SETTMNG02010_SEARCH').serializeObject();
419
+			param.gridSize = $.jgrid.defaults.rowNum;
420
+
421
+			var option = {
422
+				gridId: SETTMNG02010_GRID_ID,
423
+				colModel: gridColModel.list,
424
+				param: param,
425
+				url: DOMAIN + STTL_STATE_DETAIL_GRID_LIST,
426
+				pager: SETTMNG02010_GRID_PAGER,
427
+				onCellSelect: function(rowId, cellIdx, cellValue) {
428
+					var cm = $(this).jqGrid('getGridParam', 'colModel');
429
+					var colNm = cm[cellIdx].name;
430
+					if (colNm == 'sttlMgntUnqNo') {
431
+						const sttlMgntUnqNoVal = $(this).jqGrid('getCell', rowId, 'sttlMgntUnqNo');
432
+						
433
+						const key = {sttlMgntUnqNo: sttlMgntUnqNoVal, viewCd: 'R'};
434
+						var param = $.param(key);
435
+						modifyObj.init(param);
436
+					}
437
+				},
438
+				loadComplete: function(data) {
439
+					console.log(data);
440
+					itp_fn_grid_load_complete(data, SETTMNG02010_GRID_ID, true, 'number', 'SETTMNG02010', listObj.itp_SETTMNG02010_search, listObj.empty, true, data.gridRecords, true);
441
+					var ids = $(SETTMNG02010_GRID_ID).getDataIDs();
442
+					$.each(ids, function(idx, rowId) {
443
+						$(SETTMNG02010_GRID_ID).jqGrid('setCell', rowId, 'sttlMgntUnqNo', '', ITP_GRID_COL_STYLE.link);
444
+					});
445
+				},
446
+				onPaging: function(action) {
447
+					itp_fn_grid_paging(SETTMNG02010_GRID_ID, action, param);
448
+				}
449
+			};
450
+			itp_fn_grid_make_remote(option);
451
+		},
452
+		clearData : function() {
453
+			$(SETTMNG02010_GRID_ID).jqGrid('clearGridData', true);
454
+			$(SETTMNG02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
455
+			$(SETTMNG02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
456
+			$(SETTMNG02010_GRID_EMPTY).show();
457
+		},
458
+		unload : function() {
459
+			$.jgrid.gridUnload(SETTMNG02010_GRID_ID);
460
+		}
461
+	}
462
+};
463
+
464
+/*상세화면 Object*/
465
+let modifyObj = {
466
+	init: function (param) {
467
+		this.load(param);
468
+	},
469
+	button: {
470
+		cancel: function() {
471
+			listObj.grid.search();
472
+		}
473
+	}, 
474
+	load: function(param) {
475
+		fn_ajax_call(STTL_REQ_INFO_STTL, param, this.callback, 'GET');
476
+	},
477
+	callback: function (result) {
478
+		// console.log(result);
479
+		pageObj.switchScreen('DETAIL');
480
+		$('#ITP_FORM_SETTMNG02010_DETAIL_BRAND_ID').val(result.brandId);
481
+		$('#ITP_FORM_SETTMNG02010_DETAIL_STORE_ID').val(result.storeId);
482
+		$('#ITP_FORM_SETTMNG02010_DETAIL_STTL_MGNT_UNQ_NO').val(result.sttlMgntUnqNo);
483
+		
484
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnBrandNm').text(result.brandNm);
485
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnStoreNm').text(result.storeNm);
486
+		$('#ITP_FORM_SETTMNG02010_DETAIL_STTL_DT').val(result.sttlDt);  // 정산일자
487
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlStNm').text(result.sttlStNm);
488
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSttlAmt').text(itp_fn_number_comma(result.sttlAmt));
489
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnAcctBal').text(itp_fn_number_comma(result.acctBal));
490
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSysRegDttm').text(result.sysRegDttm);
491
+		$('#ITP_FORM_SETTMNG02010_DETAIL .fnSysRegNm').text(result.sysRegNm);
492
+
493
+		// 리스트 조회
494
+		modifyObj.grid.init();
495
+	},
496
+	grid: {
497
+		init: function() {
498
+			this.unload();
499
+			this.load();
500
+		},
501
+		load : function() {
502
+			let param = $('#ITP_FORM_SETTMNG02010_DETAIL').serializeObject();
503
+			param.gridSize = $.jgrid.defaults.rowNum;
504
+			param.pagingYn = false; // 페이징안함
505
+
506
+			var option = {
507
+				gridId: SETTMNG02010_DETAIL_GRID_ID,
508
+				colModel: gridColModel.view,
509
+				param: param,
510
+				url: DOMAIN + STTL_REQ_STL_GRID_LIST,
511
+				pager: SETTMNG02010_DETAIL_GRID_PAGER,
512
+				loadComplete: function(data) {
513
+					itp_fn_grid_load_complete(data, SETTMNG02010_DETAIL_GRID_ID, true, undefined, 'SETTMNG02010_DETAIL');
514
+				},
515
+				onPaging: function(action) {
516
+					var pagingFn = {
517
+						callBack: function(args) {
518
+							$(args).trigger('reloadGrid');
519
+						}
520
+					};
521
+					if (itp_fn_check_grid_is_writing(SETTMNG02010_DETAIL_GRID_ID)) {
522
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, SETTMNG02010_DETAIL_GRID_ID);
523
+						return 'stop';
524
+					} else {
525
+						itp_fn_grid_paging(SETTMNG02010_DETAIL_GRID_ID, action, param);
526
+					}
527
+				},
528
+				onSortCol: function(index, columnIndex, sortOrder) {
529
+					var sortingFn = {
530
+						callBack: function(args) {
531
+							$(args).trigger('reloadGrid');
532
+						}
533
+					};
534
+					if (itp_fn_check_grid_is_writing(SETTMNG02010_DETAIL_GRID_ID)) {
535
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, SETTMNG02010_DETAIL_GRID_ID);
536
+						return 'stop';
537
+					} else {
538
+						itp_fn_grid_sorting(SETTMNG02010_DETAIL_GRID_ID, index, sortOrder);
539
+					}
540
+				}
541
+			};
542
+			itp_fn_grid_make_remote(option);
543
+		},
544
+		clearData : function() {
545
+			$(SETTMNG02010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
546
+			$(SETTMNG02010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
547
+			$(SETTMNG02010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
548
+			$(SETTMNG02010_DETAIL_GRID_EMPTY).show();
549
+		},
550
+		unload : function() {
551
+			$.jgrid.gridUnload(SETTMNG02010_DETAIL_GRID_ID);
552
+		}
553
+	}
554
+};

+ 14 - 249
src/main/webapp/js/app/stinfo/ITP_STINFO02011.js

@@ -10,30 +10,11 @@ require(['config'], function() {
10
  --------------------------------------------------------
10
  --------------------------------------------------------
11
  - Object 목록								            -
11
  - Object 목록								            -
12
  --------------------------------------------------------
12
  --------------------------------------------------------
13
- * const gridColModel = {}	: 화면 Grid Object			*
14
  * let pageObj = {}			: 화면공통 Object			*
13
  * let pageObj = {}			: 화면공통 Object			*
15
- * let listObj = {}			: 목록화면 Object			*
16
  * let viewObj = {}			: 상세화면 Object			*
14
  * let viewObj = {}			: 상세화면 Object			*
17
  * let modifyObj = {}		: 수정화면 Object			*
15
  * let modifyObj = {}		: 수정화면 Object			*
18
- * let createObj = {}		: 신규화면 Object			*
19
  *******************************************************/
16
  *******************************************************/
20
 
17
 
21
-/*화면 변수*/
22
-const STINFO02011_GRID_ID = '#ITP_STINFO02011_jqGrid';
23
-const STINFO02011_GRID_LIST = '#ITP_STINFO02011_jqGrid_list';
24
-const STINFO02011_GRID_PAGER = '#ITP_STINFO02011_jqGridPager';
25
-const STINFO02011_GRID_EMPTY = '#ITP_STINFO02011_jqGridEmpty';
26
-
27
-const STINFO02011_VIEW_GRID_ID = '#ITP_STINFO02011_VIEW_jqGrid';
28
-const STINFO02011_VIEW_GRID_LIST = '#ITP_STINFO02011_VIEW_jqGrid_list';
29
-const STINFO02011_VIEW_GRID_PAGER = '#ITP_STINFO02011_VIEW_jqGridPager';
30
-const STINFO02011_VIEW_GRID_EMPTY = '#ITP_STINFO02011_VIEW_jqGridEmpty';
31
-
32
-const STINFO02011_DETAIL_GRID_ID = '#ITP_STINFO02011_DETAIL_jqGrid';
33
-const STINFO02011_DETAIL_GRID_LIST = '#ITP_STINFO02011_DETAIL_jqGrid_list';
34
-const STINFO02011_DETAIL_GRID_PAGER = '#ITP_STINFO02011_DETAIL_jqGridPager';
35
-const STINFO02011_DETAIL_GRID_EMPTY = '#ITP_STINFO02011_DETAIL_jqGridEmpty';
36
-
37
 let ITP_FORM_STINFO02011_DETAIL_IS_WRITING = false;
18
 let ITP_FORM_STINFO02011_DETAIL_IS_WRITING = false;
38
 
19
 
39
 /*API URL*/
20
 /*API URL*/
@@ -42,100 +23,6 @@ let API_DETAIL_INFO 		= '/api/store/info-store';			// 상세
42
 let API_DETAIL_SAVE 		= '/api/store/save-store';			// 저장
23
 let API_DETAIL_SAVE 		= '/api/store/save-store';			// 저장
43
 let API_INTI_PW				= '/api/store/inti-storePw';		// 패스워드 초기화
24
 let API_INTI_PW				= '/api/store/inti-storePw';		// 패스워드 초기화
44
 
25
 
45
-/*화면 Grid ColModel*/
46
-const gridColModel = {
47
-	list: [
48
-		{
49
-			index: 'STORE_ID', name: 'storeId',
50
-			label: ITP_MSG_LOCALE.label.storeId, //매장번호
51
-			width: '10', fixed: false, align: 'center',
52
-			sortable: false, hidden: false
53
-		},
54
-		{
55
-			index: 'STORE_NM', name: 'storeNm',
56
-			label: ITP_MSG_LOCALE.label.storeNm, //매장명
57
-			width: '13', fixed: false, align: 'center',
58
-			sortable: false, hidden: false
59
-		},
60
-		{
61
-			index: 'BRAND_ID', name: 'brandId',
62
-			label: ITP_MSG_LOCALE.label.brandId, //브랜드ID
63
-			width: '10', fixed: false, align: 'center',
64
-			sortable: false, hidden: true
65
-		},
66
-		{
67
-			index: 'BRAND_NM', name: 'brandNm',
68
-			label: ITP_MSG_LOCALE.label.brandNm, //브랜드명
69
-			width: '10', fixed: false, align: 'center',
70
-			sortable: false, hidden: false
71
-		},
72
-		{
73
-			index: 'BSNS_REG_NO', name: 'bsnsRegNo',
74
-			label: ITP_MSG_LOCALE.label.bsnsRegNo, //사업자등록번호
75
-			width: '13', fixed: false, align: 'center',
76
-			sortable: false, hidden: false
77
-		},
78
-		{
79
-			index: 'STORE_DVSN', name: 'storeDvsn',
80
-			label: ITP_MSG_LOCALE.label.storeDvsn, //매장구분
81
-			width: '15', fixed: false, align: 'center',
82
-			sortable: false, hidden: true
83
-		},
84
-		{
85
-			index: 'STORE_DVSN_NM', name: 'storeDvsnNm',
86
-			label: ITP_MSG_LOCALE.label.storeDvsn, //매장구분명
87
-			width: '15', fixed: false, align: 'center',
88
-			sortable: false, hidden: false
89
-		},
90
-		{
91
-			index: 'STORE_ST_NM', name: 'storeStNm',
92
-			label: ITP_MSG_LOCALE.label.stNm, //상태
93
-			width: '6', fixed: false, align: 'center',
94
-			sortable: false, hidden: false
95
-		},
96
-		{
97
-			index: 'SYS_REG_DTTM', name: 'sysRegDttm',
98
-			label: ITP_MSG_LOCALE.label.sysRegDttm, //최초등록일
99
-			width: '10', fixed: false, align: 'center',
100
-			sortable: false, hidden: false
101
-		},
102
-	],
103
-	detail: [
104
-		{
105
-			index: 'VIEW_CD', name: 'viewCd',
106
-			label: ITP_MSG_LOCALE.label.viewCd,
107
-			width: '10', fixed: false, align: 'center',
108
-			sortable: false, hidden: true
109
-		},
110
-		{
111
-			index: 'AUTH_NO', name: 'authNo',
112
-			label: ITP_MSG_LOCALE.label.permitCd,
113
-			width: '20', fixed: false, align: 'center',
114
-			sortable: false, editable: false, edittype: 'text',
115
-			editrules: {required: true}
116
-		},
117
-		{
118
-			index: 'AUTH_NM', name: 'authNm',
119
-			label: ITP_MSG_LOCALE.label.permitName,
120
-			width: '30', fixed: false, align: 'center',
121
-			sortable: true, editable: false, edittype: 'text',
122
-			editrules: {required: true}
123
-		},
124
-		{
125
-			index: 'USE_YN_NM', name: 'useYnNm',
126
-			label: ITP_MSG_LOCALE.label.status,
127
-			width: '10', fixed: false, align: 'center',
128
-			sortable: false, editable: false, edittype: 'text'
129
-		},
130
-		{
131
-			index: 'ADD_DT', name: 'addDt',
132
-			label: ITP_MSG_LOCALE.label.regDt,
133
-			width: '10', fixed: false, align: 'center',
134
-			sortable: false, editable: false, edittype: 'text'
135
-		}
136
-	]
137
-};
138
-
139
 /*화면공통 Object*/
26
 /*화면공통 Object*/
140
 let pageObj = {
27
 let pageObj = {
141
 	init: function () {
28
 	init: function () {
@@ -146,7 +33,6 @@ let pageObj = {
146
 		init: function () {
33
 		init: function () {
147
 			this.view();
34
 			this.view();
148
 			this.form();
35
 			this.form();
149
-			this.grid();
150
 			this.ready();
36
 			this.ready();
151
 		},
37
 		},
152
 		view: function() {
38
 		view: function() {
@@ -168,7 +54,7 @@ let pageObj = {
168
 
54
 
169
 			// form alert message 주입
55
 			// form alert message 주입
170
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
56
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
171
-				if($(this).data('alert-msg') === 'address') {
57
+				if($(this).data('alert-msg') === 'addrses') {
172
 					$(this).data('alert-msg', ITP_MSG_LOCALE.message.form.emptyAddr);
58
 					$(this).data('alert-msg', ITP_MSG_LOCALE.message.form.emptyAddr);
173
 				}
59
 				}
174
 			});
60
 			});
@@ -176,11 +62,6 @@ let pageObj = {
176
 		form: function() {
62
 		form: function() {
177
 			itp_fn_form_event.onKeyup('#ITP_FORM_STINFO02011_DETAIL');
63
 			itp_fn_form_event.onKeyup('#ITP_FORM_STINFO02011_DETAIL');
178
 		},
64
 		},
179
-		grid: function() {
180
-			// itp_fn_jqgrid_resize(STINFO02011_GRID_ID, STINFO02011_GRID_LIST, 'lg');
181
-			// listObj.empty.init();
182
-			// itp_fn_fire_window_resize();
183
-		},
184
 		ready: function() {
65
 		ready: function() {
185
 			viewObj.init();
66
 			viewObj.init();
186
 		}
67
 		}
@@ -206,18 +87,16 @@ let pageObj = {
206
 		}
87
 		}
207
 	},
88
 	},
208
 	switchScreen: function(mode) {
89
 	switchScreen: function(mode) {
209
-		$('.itp_det_head').find('button[id^="ITP_BTN_STINFO02011_"]').each(function(i) {
210
-			$(this).hide();
211
-		});
212
-		$('#ITP_TAB_STINFO02011').find('div[id$="_CONTAINER"]').each(function(i) {
213
-			$(this).hide();
214
-		});
90
+		$('.itp_det_head').find('button[id^="ITP_BTN_STINFO02011_"]').hide();
91
+		$('#ITP_TAB_STINFO02011').find('div[id$="_CONTAINER"]').hide();
92
+
215
 		if(mode == 'LIST') { // 목록
93
 		if(mode == 'LIST') { // 목록
216
 			$('#ITP_AJAX_STINFO02011_LIST_CONTAINER').show();
94
 			$('#ITP_AJAX_STINFO02011_LIST_CONTAINER').show();
217
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_SRH', '#ITP_BTN_STINFO02011_NEWREG']);
95
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_SRH', '#ITP_BTN_STINFO02011_NEWREG']);
96
+			$('#ITP_FORM_STINFO02011_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
218
 		} else if(mode == 'ADD') { // 등록
97
 		} else if(mode == 'ADD') { // 등록
219
 			$('#ITP_AJAX_STINFO02011_DETAIL_CONTAINER').show();
98
 			$('#ITP_AJAX_STINFO02011_DETAIL_CONTAINER').show();
220
-			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_CANCELLIST', '#ITP_BTN_STINFO02011_SAVE']);
99
+			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_SAVE']);
221
 
100
 
222
 			$('#ITP_FORM_STINFO02011_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
101
 			$('#ITP_FORM_STINFO02011_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
223
 				$(this).attr('id') === 'ITP_FORM_STINFO02011_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
102
 				$(this).attr('id') === 'ITP_FORM_STINFO02011_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
@@ -226,7 +105,6 @@ let pageObj = {
226
 				}
105
 				}
227
 			});
106
 			});
228
 
107
 
229
-
230
 			// 가맹점 정보 설정
108
 			// 가맹점 정보 설정
231
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
109
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
232
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
110
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
@@ -244,15 +122,17 @@ let pageObj = {
244
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
122
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
245
 				$(this).attr('disabled', false);
123
 				$(this).attr('disabled', false);
246
 			});
124
 			});
125
+
247
 		} else if(mode == 'MODIFY') { // 수정
126
 		} else if(mode == 'MODIFY') { // 수정
248
 			$('#ITP_AJAX_STINFO02011_DETAIL_CONTAINER').show();
127
 			$('#ITP_AJAX_STINFO02011_DETAIL_CONTAINER').show();
249
-			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_CANCELLIST', '#ITP_BTN_STINFO02011_SAVE', '#ITP_BTN_STINFO02011_RESET_PW']);
128
+			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_CANCELLIST', '#ITP_BTN_STINFO02011_SAVE']);
250
 
129
 
251
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
130
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
252
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
131
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
253
 			$('#ITP_FORM_STINFO02011_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
132
 			$('#ITP_FORM_STINFO02011_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
254
 
133
 
255
 			$('#ITP_FORM_STINFO02011_DETAIL_STORE_ID').attr('readonly', true);
134
 			$('#ITP_FORM_STINFO02011_DETAIL_STORE_ID').attr('readonly', true);
135
+			// $('#ITP_BTN_STINFO02011_RESET_PW').show();
256
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').show();
136
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').show();
257
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').find('input, select').each(function(i, elem) {
137
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').find('input, select').each(function(i, elem) {
258
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
138
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
@@ -263,114 +143,10 @@ let pageObj = {
263
 				if($(this).data('check-required')) $(this).data('check-required', '');
143
 				if($(this).data('check-required')) $(this).data('check-required', '');
264
 				$(this).attr('disabled', true);
144
 				$(this).attr('disabled', true);
265
 			});
145
 			});
146
+
266
 		} else if(mode == 'VIEW') { // 보기
147
 		} else if(mode == 'VIEW') { // 보기
267
 			$('#ITP_AJAX_STINFO02011_VIEW_CONTAINER').show();
148
 			$('#ITP_AJAX_STINFO02011_VIEW_CONTAINER').show();
268
-			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_MODIFY', '#ITP_BTN_STINFO02011_CANCELLIST']);
269
-		}
270
-	}
271
-};
272
-
273
-/*목록화면 Object*/
274
-let listObj = {
275
-	init: function () {
276
-		this.grid.init();
277
-	},
278
-	itp_STINFO02011_search: false,
279
-	button: {
280
-		search: function() {
281
-			listObj.itp_STINFO02011_search = true;
282
-			let param = $('#ITP_FORM_STINFO02011_SEARCH').serializeObject();
283
-			param.gridSize = $.jgrid.defaults.rowNum;
284
-			param.gridPage = $.jgrid.defaults.page;
285
-			$(STINFO02011_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
286
-		},
287
-		create: function() {
288
-			pageObj.switchScreen('ADD');
289
-			itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO02011_DETAIL');
290
-			createObj.init();
291
-		}
292
-	},
293
-	empty: {
294
-		init: function() {
295
-			var _this = this;
296
-			this.push();
297
-			$(STINFO02011_GRID_EMPTY).on('click', function() {
298
-				_this.back();
299
-				_this.itp_STINFO02011_param.gridSize = $.jgrid.defaults.rowNum;
300
-				$(STINFO02011_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_STINFO02011_param)}).trigger('reloadGrid');
301
-			});
302
-		},
303
-		itp_STINFO02011_param: {},
304
-		push: function() {
305
-			let param = $('#ITP_FORM_STINFO02011_SEARCH').serializeObject();
306
-			listObj.itp_STINFO02011_param = param;
307
-		},
308
-		back: function() {
309
-			$('#ITP_FORM_STINFO02011_SERVICE_ST_DT').val(this.itp_STINFO02011_param.searchDateType);
310
-			$('#ITP_FORM_STINFO02011_SEARCH_FROM_DT').val(this.itp_STINFO02011_param.fromDt);
311
-			$('#ITP_FORM_STINFO02011_SEARCH_TO_DT').val(this.itp_STINFO02011_param.toDt);
312
-			$('#ITP_FORM_STINFO02011_SEARCH_STORE_DVSN').val(this.itp_STINFO02011_param.sstoreDvsn);
313
-			$('#ITP_FORM_STINFO02011_SEARCH_STORE_ST_CD').val(this.itp_STINFO02011_param.sstoreStCd);
314
-			$('#ITP_FORM_STINFO02011_SEARCH_LOAN_DVSN').val(this.itp_STINFO02011_param.sloanDvsn);
315
-			$('#ITP_FORM_STINFO02011_SEARCH_STORE_NM').val(this.itp_STINFO02011_param.sstoreMm);
316
-		}
317
-	},
318
-	grid: {
319
-		init: function () {
320
-			// 데이터 없을때
321
-			listObj.empty.push();
322
-			this.search();
323
-		},
324
-		colModel: gridColModel.list,
325
-		search: function() {
326
-			pageObj.switchScreen('LIST');
327
-			this.unload();
328
-			this.load();
329
-		},
330
-		load: function() {
331
-			let param = $('#ITP_FORM_STINFO02011_SEARCH').serializeObject();
332
-			param.gridSize = $.jgrid.defaults.rowNum;
333
-			param.sbrandId = fn_make_user_info.get('brandId');
334
-			// param.sbrandId = sessionStorage.getItem('itp_brand_id') !== null ? sessionStorage.getItem('itp_brand_id') : 'BRD221000001';
335
-
336
-			var option = {
337
-				gridId: STINFO02011_GRID_ID,
338
-				colModel: gridColModel.list,
339
-				param: param,
340
-				url: DOMAIN + API_DETAIL_GRID_LIST,
341
-				pager: STINFO02011_GRID_PAGER,
342
-				onCellSelect: function(rowId, cellIdx, cellValue) {
343
-					var cm = $(this).jqGrid('getGridParam', 'colModel');
344
-					var colNm = cm[cellIdx].name;
345
-					if (colNm == 'storeNm') {
346
-						const selectVal = $(this).jqGrid('getCell', rowId, 'storeId');
347
-						const key = {brandId:fn_make_user_info.get('brandId'), storeId: selectVal, viewCd: 'R'};
348
-						var param = $.param(key);
349
-						viewObj.init(param);
350
-					}
351
-				},
352
-				loadComplete: function(data) {
353
-					console.log(data);
354
-					itp_fn_grid_load_complete(data, STINFO02011_GRID_ID, true, 'number', 'STINFO02011', listObj.itp_STINFO02011_search, listObj.empty, true, data.gridRecords, true);
355
-					var ids = $(STINFO02011_GRID_ID).getDataIDs();
356
-					$.each(ids, function(idx, rowId) {
357
-						$(STINFO02011_GRID_ID).jqGrid('setCell', rowId, 'storeNm', '', ITP_GRID_COL_STYLE.link);
358
-					});
359
-				},
360
-				onPaging: function(action) {
361
-					itp_fn_grid_paging(STINFO02011_GRID_ID, action, param);
362
-				}
363
-			};
364
-			itp_fn_grid_make_remote(option);
365
-		},
366
-		clearData : function() {
367
-			$(STINFO02011_GRID_ID).jqGrid('clearGridData', true);
368
-			$(STINFO02011_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
369
-			$(STINFO02011_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
370
-			$(STINFO02011_GRID_EMPTY).show();
371
-		},
372
-		unload : function() {
373
-			$.jgrid.gridUnload(STINFO02011_GRID_ID);
149
+			fn_show_btn_auth_array(['#ITP_BTN_STINFO02011_MODIFY']);
374
 		}
150
 		}
375
 	}
151
 	}
376
 };
152
 };
@@ -428,10 +204,9 @@ let modifyObj = {
428
 	init: function () {
204
 	init: function () {
429
 	},
205
 	},
430
 	button: {
206
 	button: {
431
-		modify: function (param) {
207
+		modify: function () {
432
 			itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO02011_DETAIL');
208
 			itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO02011_DETAIL');
433
-			const selectVal = $('#ITP_FORM_STINFO02011_VIEW_STORE_ID').val();
434
-			const key = {brandId:fn_make_user_info.get('brandId'), storeId: selectVal, viewCd: 'R'};
209
+			const key = {brandId:fn_make_user_info.get('brandId'), storeId: fn_make_user_info.get('storeId'), viewCd: 'R'};
435
 			var param = $.param(key);
210
 			var param = $.param(key);
436
 			modifyObj.load(param);
211
 			modifyObj.load(param);
437
 		},
212
 		},
@@ -490,7 +265,7 @@ let modifyObj = {
490
 		var cmpyAdres = result.addr1/* + ' ' + result.addr*/;
265
 		var cmpyAdres = result.addr1/* + ' ' + result.addr*/;
491
 		kakaoMap.init('ITP_FORM_STINFO02011_DETAIL', cmpyAdres);
266
 		kakaoMap.init('ITP_FORM_STINFO02011_DETAIL', cmpyAdres);
492
 
267
 
493
-		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_DPST_BNK_CD').val(result.storeBnkCd);
268
+		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_BNK_CD').val(result.storeBnkCd);
494
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_ACCT_NO').val(result.storeAcctNo);
269
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_ACCT_NO').val(result.storeAcctNo);
495
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_OWAC_NM').val(result.storeOwacNm);
270
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_OWAC_NM').val(result.storeOwacNm);
496
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_LOAN_DVSN').val(result.loanDvsn);
271
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_LOAN_DVSN').val(result.loanDvsn);
@@ -502,13 +277,3 @@ let modifyObj = {
502
 		$('#ITP_FORM_STINFO02011_DETAIL .fnSysChgDttm').text(result.sysChgDttm);
277
 		$('#ITP_FORM_STINFO02011_DETAIL .fnSysChgDttm').text(result.sysChgDttm);
503
 	}
278
 	}
504
 };
279
 };
505
-
506
-/*신규화면 Object*/
507
-let createObj = {
508
-	init: function () {
509
-		$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
510
-		kakaoMap.init('ITP_FORM_STINFO02011_DETAIL', '');
511
-	},
512
-	button: {
513
-	}
514
-};

+ 27 - 9
src/main/webapp/js/app/stinfo/ITP_STINFO03010.js

@@ -39,6 +39,8 @@ const STINFO03010_DETAIL_GRID_EMPTY = '#ITP_STINFO03010_DETAIL_jqGridEmpty';
39
 let ITP_FORM_STINFO03010_DETAIL_IS_DUPLICATE = false;
39
 let ITP_FORM_STINFO03010_DETAIL_IS_DUPLICATE = false;
40
 let ITP_FORM_STINFO03010_DETAIL_IS_WRITING = false;
40
 let ITP_FORM_STINFO03010_DETAIL_IS_WRITING = false;
41
 
41
 
42
+let ITP_COMMON_ASSGN_TASK = fn_make_common_cd_list(CODE_LIST, 'ASSGN_TASK', true, '담당업무');
43
+
42
 /*API URL*/
44
 /*API URL*/
43
 let API_DETAIL_GRID_LIST 	= '/api/spply/detail-grid-list';	// 목록
45
 let API_DETAIL_GRID_LIST 	= '/api/spply/detail-grid-list';	// 목록
44
 let API_DETAIL_INFO 		= '/api/spply/info-spply';			// 상세
46
 let API_DETAIL_INFO 		= '/api/spply/info-spply';			// 상세
@@ -144,12 +146,20 @@ const gridColModel = {
144
 			width: '10', fixed: false, align: 'center',
146
 			width: '10', fixed: false, align: 'center',
145
 			sortable: false, editable: true, edittype: 'text'
147
 			sortable: false, editable: true, edittype: 'text'
146
 		},
148
 		},
149
+		{
150
+			index: 'ASSGN_TASK', name: 'assgnTask',
151
+			label: ITP_MSG_LOCALE.label.assgnTaskNm, //담당업무
152
+			width: '10', fixed: false, align: 'center',
153
+			sortable: false, editable: true, formatter: 'select', edittype: 'select',
154
+			editoptions: {value: ITP_COMMON_ASSGN_TASK},
155
+			editrules: {required: false}
156
+		}/*,
147
 		{
157
 		{
148
 			index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
158
 			index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
149
 			label: ITP_MSG_LOCALE.label.assgnTaskNm, //담당업무
159
 			label: ITP_MSG_LOCALE.label.assgnTaskNm, //담당업무
150
 			width: '10', fixed: false, align: 'center',
160
 			width: '10', fixed: false, align: 'center',
151
 			sortable: false, editable: true, edittype: 'text'
161
 			sortable: false, editable: true, edittype: 'text'
152
-		}
162
+		}*/
153
 	]
163
 	]
154
 };
164
 };
155
 
165
 
@@ -433,7 +443,7 @@ let viewObj = {
433
 	callback: function (result) {
443
 	callback: function (result) {
434
 		console.log(result);
444
 		console.log(result);
435
 		pageObj.switchScreen('VIEW');
445
 		pageObj.switchScreen('VIEW');
436
-		$('#ITP_FORM_STINFO03010_VIEW #ITP_FORM_STINFO03010_DETAIL_SPPLY_ID').val(result.spplyId);
446
+		$('#ITP_FORM_STINFO03010_VIEW #ITP_FORM_STINFO03010_VIEW_SPPLY_ID').val(result.spplyId);
437
 		$('#ITP_FORM_STINFO03010_VIEW .fnBrandNm').text(result.brandNm);
447
 		$('#ITP_FORM_STINFO03010_VIEW .fnBrandNm').text(result.brandNm);
438
 		$('#ITP_FORM_STINFO03010_VIEW .fnStCd').text(result.stNm);
448
 		$('#ITP_FORM_STINFO03010_VIEW .fnStCd').text(result.stNm);
439
 		$('#ITP_FORM_STINFO03010_VIEW .fnSpplyId').text(result.spplyId);
449
 		$('#ITP_FORM_STINFO03010_VIEW .fnSpplyId').text(result.spplyId);
@@ -462,6 +472,12 @@ let viewObj = {
462
 		// $('#ITP_FORM_STINFO03010_VIEW .fnRegDt').text(result.openDt);
472
 		// $('#ITP_FORM_STINFO03010_VIEW .fnRegDt').text(result.openDt);
463
 		// $('#ITP_FORM_STINFO03010_VIEW .fnCloseDt').text(result.openDt);
473
 		// $('#ITP_FORM_STINFO03010_VIEW .fnCloseDt').text(result.openDt);
464
 
474
 
475
+		itp_fn_attach_file.view('ITP_STINFO03010_VIEW_ACCT_FILE', result.fileBookCopyNoList
476
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
477
+
478
+		itp_fn_attach_file.view('ITP_STINFO03010_VIEW_REG_NO_FILE', result.fileBsnsRegNoList
479
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
480
+
465
 		// 담당자정보  리스트 조회
481
 		// 담당자정보  리스트 조회
466
 		pageObj.grid.init('VIEW', result.spplyMgrList);
482
 		pageObj.grid.init('VIEW', result.spplyMgrList);
467
 		// viewObj.grid.load(result.spplyMgrList);
483
 		// viewObj.grid.load(result.spplyMgrList);
@@ -475,7 +491,7 @@ let modifyObj = {
475
 	button: {
491
 	button: {
476
 		modify: function (param) {
492
 		modify: function (param) {
477
 			itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO03010_DETAIL');
493
 			itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO03010_DETAIL');
478
-			const selectVal = $('#ITP_FORM_STINFO03010_DETAIL_SPPLY_ID').val();
494
+			const selectVal = $('#ITP_FORM_STINFO03010_VIEW_SPPLY_ID').val();
479
 			const key = {brandId:fn_make_user_info.get('brandId'), spplyId: selectVal, viewCd: 'R'};
495
 			const key = {brandId:fn_make_user_info.get('brandId'), spplyId: selectVal, viewCd: 'R'};
480
 			var param = $.param(key);
496
 			var param = $.param(key);
481
 			modifyObj.load(param);
497
 			modifyObj.load(param);
@@ -493,6 +509,7 @@ let modifyObj = {
493
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
509
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
494
 		$('#ITP_FORM_STINFO03010_DETAIL .fnBrandNm').text(result.brandNm);
510
 		$('#ITP_FORM_STINFO03010_DETAIL .fnBrandNm').text(result.brandNm);
495
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_ST_CD').val(result.stCd);
511
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_ST_CD').val(result.stCd);
512
+		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_SPPLY_ID').val(result.spplyId);
496
 		$('#ITP_FORM_STINFO03010_DETAIL .fnSpplyId').text(result.spplyId);
513
 		$('#ITP_FORM_STINFO03010_DETAIL .fnSpplyId').text(result.spplyId);
497
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_CORP_TYPE').val(result.corpType);
514
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_CORP_TYPE').val(result.corpType);
498
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_SPPLY_NM').val(result.spplyNm);
515
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_SPPLY_NM').val(result.spplyNm);
@@ -552,6 +569,7 @@ let createObj = {
552
 			const formId = '#ITP_FORM_STINFO03010_DETAIL';
569
 			const formId = '#ITP_FORM_STINFO03010_DETAIL';
553
 			itp_fn_form_clear_validate(null, formId);
570
 			itp_fn_form_clear_validate(null, formId);
554
 			if (createObj.isValid(formId)) {
571
 			if (createObj.isValid(formId)) {
572
+				itp_fn_grid_save_rows(STINFO03010_DETAIL_GRID_ID);
555
 				let gridInsertData = [];
573
 				let gridInsertData = [];
556
 				let gridUpdateData = [];
574
 				let gridUpdateData = [];
557
 				let gridDeleteData = [];
575
 				let gridDeleteData = [];
@@ -559,19 +577,19 @@ let createObj = {
559
 					$(STINFO03010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
577
 					$(STINFO03010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
560
 				}
578
 				}
561
 				const rowData = $(STINFO03010_DETAIL_GRID_ID).getRowData();
579
 				const rowData = $(STINFO03010_DETAIL_GRID_ID).getRowData();
562
-				const keyValue = $(formId + '_BRAND_ID').val();
563
 				$.each(rowData, function(key, value) {
580
 				$.each(rowData, function(key, value) {
564
-					if (value.viewCd != 'R') {
565
-						value.userId = keyValue;
566
-						if (value.viewCd == 'C') {
581
+					if (value.viewCd !== 'R') {
582
+						value.spplyId = $(formId + '_SPPLY_ID').val();
583
+						if (value.viewCd === 'C') {
567
 							gridInsertData.push(value);
584
 							gridInsertData.push(value);
568
-						} else if (value.viewCd == 'U') {
585
+						} else if (value.viewCd === 'U') {
569
 							gridUpdateData.push(value);
586
 							gridUpdateData.push(value);
570
-						} else if (value.viewCd == 'D') {
587
+						} else if (value.viewCd === 'D') {
571
 							gridDeleteData.push(value);
588
 							gridDeleteData.push(value);
572
 						}
589
 						}
573
 					}
590
 					}
574
 				});
591
 				});
592
+				itp_fn_form_event.removeChar(formId);
575
 				let param = $(formId).serializeObject();
593
 				let param = $(formId).serializeObject();
576
 				param.gridInsertData = gridInsertData;
594
 				param.gridInsertData = gridInsertData;
577
 				param.gridUpdateData = gridUpdateData;
595
 				param.gridUpdateData = gridUpdateData;

+ 13 - 9
src/main/webapp/js/app/stinfo/ITP_STINFO04010.js

@@ -154,7 +154,7 @@ let pageObj = {
154
     init: function () {
154
     init: function () {
155
         this.ui.init();
155
         this.ui.init();
156
         this.event.init();
156
         this.event.init();
157
-        this.fileUpload();
157
+        // this.fileUpload();
158
     },
158
     },
159
     ui: {
159
     ui: {
160
         init: function () {
160
         init: function () {
@@ -225,7 +225,7 @@ let pageObj = {
225
             'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
225
             'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
226
             'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
226
             'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
227
         };
227
         };
228
-        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
228
+        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'affl', true, false, id, fileArgs);
229
     },
229
     },
230
     switchScreen: function(mode) {
230
     switchScreen: function(mode) {
231
         $('.itp_det_head').find('button[id^="ITP_BTN_STINFO04010_"]').each(function(i) {
231
         $('.itp_det_head').find('button[id^="ITP_BTN_STINFO04010_"]').each(function(i) {
@@ -437,9 +437,9 @@ let viewObj = {
437
         $('#ITP_FORM_STINFO04010_VIEW .fnRtnPssblYn').text(result.rtnPssblYn);
437
         $('#ITP_FORM_STINFO04010_VIEW .fnRtnPssblYn').text(result.rtnPssblYn);
438
         $('#ITP_FORM_STINFO04010_VIEW .fnRtnDvsn').text(result.rtnDvsn);
438
         $('#ITP_FORM_STINFO04010_VIEW .fnRtnDvsn').text(result.rtnDvsn);
439
 
439
 
440
-        $.each(result.imageFileNoList, function(index, item) {
441
-            $('#ITP_FORM_STINFO04010_VIEW .fnItemImageFile').append('<img src="' + item.filePath + '" />');
442
-        });
440
+        itp_fn_attach_file.view('ITP_FORM_STINFO04010_VIEW_FILE', result.imageFileNoList
441
+            , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
442
+
443
     }
443
     }
444
 };
444
 };
445
 
445
 
@@ -465,7 +465,7 @@ let modifyObj = {
465
 
465
 
466
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_VIEW_CD').val('U');
466
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_VIEW_CD').val('U');
467
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_ID').val(result.itemId);
467
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_ID').val(result.itemId);
468
-        $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_STORE_ST_CD').val(result.itemStCd);
468
+        $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_ST_CD').val(result.itemStCd);
469
         $('#ITP_FORM_STINFO04010_DETAIL .fnItemClassMgntNo').text(result.itemId);
469
         $('#ITP_FORM_STINFO04010_DETAIL .fnItemClassMgntNo').text(result.itemId);
470
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_TYPE').val(result.itemType);
470
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_TYPE').val(result.itemType);
471
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_NM').val(result.itemClassNm);
471
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_NM').val(result.itemClassNm);
@@ -489,9 +489,12 @@ let modifyObj = {
489
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_EXPRY_PERIOD').val(result.expryPeriod);
489
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_EXPRY_PERIOD').val(result.expryPeriod);
490
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_RTN_PSSBL_YN').val(result.rtnPssblYn);
490
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_RTN_PSSBL_YN').val(result.rtnPssblYn);
491
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_RTN_DVSN').val(result.rtnDvsn);
491
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_RTN_DVSN').val(result.rtnDvsn);
492
-        $.each(result.imageFileNoList, function(index, item) {
493
-            $('#ITP_FORM_STINFO04010_VIEW .ITEM_IMAGE').append('<img src=" + item.filePath +" />');
494
-        });
492
+        // $.each(result.imageFileNoList, function(index, item) {
493
+        //     $('#ITP_FORM_STINFO04010_VIEW .ITEM_IMAGE').append('<img src=" + item.filePath +" />');
494
+        // });
495
+
496
+        $('#ITP_FORM_OPER04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_FILE_NO').val(result.itemImageFileNo);
497
+        pageObj.fileUpload();
495
 
498
 
496
         itemClassLevel.data.push(result.itemClass1);
499
         itemClassLevel.data.push(result.itemClass1);
497
         itemClassLevel.data.push(result.itemClass2);
500
         itemClassLevel.data.push(result.itemClass2);
@@ -505,6 +508,7 @@ let modifyObj = {
505
 let createObj = {
508
 let createObj = {
506
     init: function () {
509
     init: function () {
507
         pageObj.switchScreen('ADD');
510
         pageObj.switchScreen('ADD');
511
+        pageObj.fileUpload();
508
         itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO04010_DETAIL');
512
         itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO04010_DETAIL');
509
         this.button.init();
513
         this.button.init();
510
         itemClassLevel.make(1, 'ADD');
514
         itemClassLevel.make(1, 'ADD');

+ 29 - 23
src/main/webapp/js/app/stinfo/ITP_STINFO05010.js

@@ -140,7 +140,6 @@ let pageObj = {
140
 	init: function () {
140
 	init: function () {
141
 		this.ui.init();
141
 		this.ui.init();
142
 		this.event.init();
142
 		this.event.init();
143
-		this.fileUpload();
144
 	},
143
 	},
145
 	ui: {
144
 	ui: {
146
 		init: function () {
145
 		init: function () {
@@ -166,6 +165,13 @@ let pageObj = {
166
 			$('#ITP_TAB_STINFO05010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
165
 			$('#ITP_TAB_STINFO05010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
167
 			$('#ITP_FORM_STINFO05010_SEARCH_CONT_STT_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
166
 			$('#ITP_FORM_STINFO05010_SEARCH_CONT_STT_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
168
 			$('#ITP_FORM_STINFO05010_SEARCH_CONT_END_DT').datepicker('setDate', new Date());
167
 			$('#ITP_FORM_STINFO05010_SEARCH_CONT_END_DT').datepicker('setDate', new Date());
168
+
169
+			// form alert message 주입
170
+			$('input[data-alert-required="ONLYCHK"]').each(function() {
171
+				if($(this).data('alert-msg') === 'empty') {
172
+					$(this).data('alert-msg', ITP_MSG_LOCALE.message.form.needAll);
173
+				}
174
+			});
169
 		},
175
 		},
170
 		grid: function() {
176
 		grid: function() {
171
 			itp_fn_jqgrid_resize(STINFO05010_GRID_ID, STINFO05010_GRID_LIST, 'sm');
177
 			itp_fn_jqgrid_resize(STINFO05010_GRID_ID, STINFO05010_GRID_LIST, 'sm');
@@ -426,9 +432,8 @@ let viewObj = {
426
 		$('#ITP_FORM_STINFO05010_VIEW .fnChgId').text(result.sysChgId);
432
 		$('#ITP_FORM_STINFO05010_VIEW .fnChgId').text(result.sysChgId);
427
 		$('#ITP_FORM_STINFO05010_VIEW .fnChgDt').text(result.sysChgDttm);
433
 		$('#ITP_FORM_STINFO05010_VIEW .fnChgDt').text(result.sysChgDttm);
428
 
434
 
429
-		$.each(result.imageFileNoList, function(index, item) {
430
-			$('#ITP_FORM_STINFO05010_VIEW .fnFilePath').append('<img src=" + item.filePath +" />');
431
-		});
435
+		itp_fn_attach_file.view('ITP_FORM_STINFO05010_VIEW_FILE', result.imageFileNoList
436
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
432
 	}
437
 	}
433
 };
438
 };
434
 
439
 
@@ -460,10 +465,10 @@ let modifyObj = {
460
 		$('#ITP_FORM_STINFO05010_DETAIL .fnItemNm').text(result.itemNm);
465
 		$('#ITP_FORM_STINFO05010_DETAIL .fnItemNm').text(result.itemNm);
461
 		$('#ITP_FORM_STINFO05010_DETAIL .fnSpplyId').text(result.spplyId);
466
 		$('#ITP_FORM_STINFO05010_DETAIL .fnSpplyId').text(result.spplyId);
462
 		$('#ITP_FORM_STINFO05010_DETAIL .fnSpplyNm').text(result.spplyNm);
467
 		$('#ITP_FORM_STINFO05010_DETAIL .fnSpplyNm').text(result.spplyNm);
463
-		// $('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val(result.itemId);
464
-		// $('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val(result.itemNm);
465
-		// $('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(result.spplyId);
466
-		// $('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val(result.spplyNm);
468
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val(result.itemId);
469
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val(result.itemNm);
470
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(result.spplyId);
471
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val(result.spplyNm);
467
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ITEM_ID').val(result.spplyItemId);
472
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ITEM_ID').val(result.spplyItemId);
468
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').val(result.contSttDt);
473
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').val(result.contSttDt);
469
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').val(result.contEndDt);
474
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').val(result.contEndDt);
@@ -478,9 +483,9 @@ let modifyObj = {
478
 		$('#ITP_FORM_STINFO05010_DETAIL .fnRegDt').text(result.sysRegDttm);
483
 		$('#ITP_FORM_STINFO05010_DETAIL .fnRegDt').text(result.sysRegDttm);
479
 		$('#ITP_FORM_STINFO05010_DETAIL .fnChgId').text(result.sysChgId);
484
 		$('#ITP_FORM_STINFO05010_DETAIL .fnChgId').text(result.sysChgId);
480
 		$('#ITP_FORM_STINFO05010_DETAIL .fnChgDt').text(result.sysChgDttm);
485
 		$('#ITP_FORM_STINFO05010_DETAIL .fnChgDt').text(result.sysChgDttm);
481
-		$.each(result.imageFileNoList, function(index, item) {
482
-			$('#ITP_FORM_STINFO05010_VIEW .ITEM_IMAGE').append('<img src=" + item.filePath +" />');
483
-		});
486
+
487
+		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_FILE_NO').val(result.shortContFileNo);
488
+		pageObj.fileUpload();
484
 	}
489
 	}
485
 };
490
 };
486
 
491
 
@@ -488,6 +493,7 @@ let modifyObj = {
488
 let createObj = {
493
 let createObj = {
489
 	init: function () {
494
 	init: function () {
490
 		pageObj.switchScreen('ADD');
495
 		pageObj.switchScreen('ADD');
496
+		pageObj.fileUpload();
491
 		itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO05010_DETAIL');
497
 		itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO05010_DETAIL');
492
 		$('#ITP_FORM_STINFO05010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
498
 		$('#ITP_FORM_STINFO05010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
493
 		$('#ITP_FORM_STINFO05010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
499
 		$('#ITP_FORM_STINFO05010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
@@ -499,7 +505,10 @@ let createObj = {
499
 		save: function() {
505
 		save: function() {
500
 			const formId = '#ITP_FORM_STINFO05010_DETAIL';
506
 			const formId = '#ITP_FORM_STINFO05010_DETAIL';
501
 			itp_fn_form_clear_validate(null, formId);
507
 			itp_fn_form_clear_validate(null, formId);
502
-			if (createObj.isValid(formId)) {
508
+
509
+			console.log(itp_fn_form_event.isValid(formId));
510
+			if (itp_fn_form_event.isValid(formId)) {
511
+				itp_fn_form_event.removeChar(formId);
503
 				let param = $(formId).serializeObject();
512
 				let param = $(formId).serializeObject();
504
 				console.log(JSON.stringify(param));
513
 				console.log(JSON.stringify(param));
505
 				var searhFn = function() {
514
 				var searhFn = function() {
@@ -509,17 +518,6 @@ let createObj = {
509
 				fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
518
 				fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
510
 			}
519
 			}
511
 		}
520
 		}
512
-	},
513
-	isValid: function(formId) {
514
-		var isValid = false;
515
-		$(formId).find('input, select, checkbox, textarea').each(function(k) {
516
-			if($(this).data('check-required')) {
517
-				var arry = $(this).data('check-required').split(',');
518
-				isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
519
-				if(!isValid) return false;
520
-			}
521
-		});
522
-		return isValid;
523
 	}
521
 	}
524
 };
522
 };
525
 
523
 
@@ -574,9 +572,13 @@ var popSearch = {
574
 					if(id.lastIndexOf('ITEM') > -1) {
572
 					if(id.lastIndexOf('ITEM') > -1) {
575
 						$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val(rowDataPop.itemId);
573
 						$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val(rowDataPop.itemId);
576
 						$('#ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val(rowDataPop.itemNm);
574
 						$('#ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val(rowDataPop.itemNm);
575
+						$('#ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_ID').val(rowDataPop.itemId);
576
+						$('#ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_NM').val(rowDataPop.itemNm);
577
 					} else {
577
 					} else {
578
 						$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(rowDataPop.spplyId);
578
 						$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(rowDataPop.spplyId);
579
 						$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val(rowDataPop.spplyNm);
579
 						$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val(rowDataPop.spplyNm);
580
+						$('#ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_ID').val(rowDataPop.spplyId);
581
+						$('#ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_NM').val(rowDataPop.spplyNm);
580
 					}
582
 					}
581
 				}
583
 				}
582
 			});
584
 			});
@@ -592,9 +594,13 @@ var popSearch = {
592
 			if(id.lastIndexOf('ITEM') > -1) {
594
 			if(id.lastIndexOf('ITEM') > -1) {
593
 				$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val('');
595
 				$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val('');
594
 				$('#ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val('');
596
 				$('#ITP_FORM_STINFO05010_DETAIL_ITEM_NM').val('');
597
+				$('#ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_ID').val('');
598
+				$('#ITP_FORM_STINFO05010_DETAIL_SCH_ITEM_NM').val('');
595
 			} else {
599
 			} else {
596
 				$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val('');
600
 				$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val('');
597
 				$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val('');
601
 				$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_NM').val('');
602
+				$('#ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_ID').val('');
603
+				$('#ITP_FORM_STINFO05010_DETAIL_SCH_SPPLY_NM').val('');
598
 			}
604
 			}
599
 		}
605
 		}
600
 	}
606
 	}

+ 38 - 21
src/main/webapp/js/app/stinfo/ITP_STINFO06010.js

@@ -59,25 +59,25 @@ const gridColModel = {
59
 		{
59
 		{
60
 			index: 'STORE_NM', name: 'storeNm',
60
 			index: 'STORE_NM', name: 'storeNm',
61
 			label: ITP_MSG_LOCALE.label.storeNm, //매장명
61
 			label: ITP_MSG_LOCALE.label.storeNm, //매장명
62
-			width: '10', fixed: false, align: 'center',
62
+			width: '15', fixed: false, align: 'center',
63
 			sortable: false, hidden: false
63
 			sortable: false, hidden: false
64
 		},
64
 		},
65
 		{
65
 		{
66
 			index: 'CONT_STT_DT', name: 'contSttDt',
66
 			index: 'CONT_STT_DT', name: 'contSttDt',
67
 			label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
67
 			label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
68
-			width: '15', fixed: false, align: 'center',
68
+			width: '10', fixed: false, align: 'center',
69
 			sortable: false, hidden: false
69
 			sortable: false, hidden: false
70
 		},
70
 		},
71
 		{
71
 		{
72
 			index: 'CONT_END_DT', name: 'contEndDt',
72
 			index: 'CONT_END_DT', name: 'contEndDt',
73
 			label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
73
 			label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
74
-			width: '6', fixed: false, align: 'center',
74
+			width: '10', fixed: false, align: 'center',
75
 			sortable: false, hidden: false
75
 			sortable: false, hidden: false
76
 		},
76
 		},
77
 		{
77
 		{
78
 			index: 'SYS_REG_DTTM', name: 'sysRegDttm',
78
 			index: 'SYS_REG_DTTM', name: 'sysRegDttm',
79
 			label: ITP_MSG_LOCALE.label.sysRegDt, //계약생성일
79
 			label: ITP_MSG_LOCALE.label.sysRegDt, //계약생성일
80
-			width: '6', fixed: false, align: 'center',
80
+			width: '10', fixed: false, align: 'center',
81
 			sortable: false, hidden: false
81
 			sortable: false, hidden: false
82
 		},
82
 		},
83
 		{
83
 		{
@@ -210,8 +210,8 @@ let pageObj = {
210
 			// 조회일자 지정
210
 			// 조회일자 지정
211
 			var now = new Date();
211
 			var now = new Date();
212
 			$('#ITP_TAB_STINFO06010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
212
 			$('#ITP_TAB_STINFO06010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
213
-			$('#ITP_FORM_STINFO06010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
214
-			$('#ITP_FORM_STINFO06010_SEARCH_TO_DT').datepicker('setDate', new Date());
213
+			$('#ITP_FORM_STINFO06010_DETAIL_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
214
+			$('#ITP_FORM_STINFO06010_DETAIL_TO_DT').datepicker('setDate', new Date());
215
 		},
215
 		},
216
 		grid: function() {
216
 		grid: function() {
217
 			itp_fn_jqgrid_resize(STINFO06010_GRID_ID, STINFO06010_GRID_LIST, 'lg');
217
 			itp_fn_jqgrid_resize(STINFO06010_GRID_ID, STINFO06010_GRID_LIST, 'lg');
@@ -240,6 +240,20 @@ let pageObj = {
240
 				});
240
 				});
241
 			});
241
 			});
242
 
242
 
243
+			var fnDateChange = function(cellname, data) {
244
+				var cnt = $(STINFO06010_DETAIL_GRID_ID).getGridParam("reccount");
245
+				for (var i=1; i<=cnt; i++) {
246
+					$(STINFO06010_DETAIL_GRID_ID).jqGrid('setCell', i, cellname, data);
247
+				}
248
+			};
249
+			$('#ITP_FORM_STINFO06010_DETAIL_FROM_DT').datepicker().on('changeDate', function () {
250
+				fnDateChange('contSttDt', $(this).val());
251
+			});
252
+
253
+			$('#ITP_FORM_STINFO06010_DETAIL_TO_DT').datepicker().on('changeDate', function () {
254
+				fnDateChange('contEndDt', $(this).val());
255
+			});
256
+
243
 			$('body').on('click', function(e) {
257
 			$('body').on('click', function(e) {
244
 				var gridId = STINFO06010_DETAIL_GRID_ID.replace('#', '');
258
 				var gridId = STINFO06010_DETAIL_GRID_ID.replace('#', '');
245
 				itp_fn_grid_reset_selection(e, STINFO06010_GRID_LAST_ROW_ID, gridId, 'STINFO06010');
259
 				itp_fn_grid_reset_selection(e, STINFO06010_GRID_LAST_ROW_ID, gridId, 'STINFO06010');
@@ -322,7 +336,8 @@ let listObj = {
322
 			$(STINFO06010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
336
 			$(STINFO06010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
323
 		},
337
 		},
324
 		create: function() {
338
 		create: function() {
325
-			createObj.init();
339
+			var param = {'brandId':fn_make_user_info.get('brandId')};
340
+			createObj.init(param);
326
 		}
341
 		}
327
 	},
342
 	},
328
 	empty: {
343
 	empty: {
@@ -377,8 +392,8 @@ let listObj = {
377
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_ID').val(storeId);
392
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_ID').val(storeId);
378
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_NM').val(storeNm);
393
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_NM').val(storeNm);
379
 						const key = {brandId:fn_make_user_info.get('brandId'), storeId: storeId, contSttDt: contSttDt, contEndDt: contEndDt, viewCd: 'R'};
394
 						const key = {brandId:fn_make_user_info.get('brandId'), storeId: storeId, contSttDt: contSttDt, contEndDt: contEndDt, viewCd: 'R'};
380
-						var param = $.param(key);
381
-						modifyObj.init(param);
395
+						// var param = $.param(key);
396
+						modifyObj.init(key);
382
 					}
397
 					}
383
 				},
398
 				},
384
 				loadComplete: function(data) {
399
 				loadComplete: function(data) {
@@ -488,9 +503,8 @@ let modifyObj = {
488
 
503
 
489
 /*신규화면 Object*/
504
 /*신규화면 Object*/
490
 let createObj = {
505
 let createObj = {
491
-	init: function () {
506
+	init: function (param) {
492
 		pageObj.switchScreen('ADD');
507
 		pageObj.switchScreen('ADD');
493
-		var param = $.param($('#ITP_FORM_STINFO06010_DETAIL').serializeObject());
494
 		this.grid.init(param);
508
 		this.grid.init(param);
495
 		this.button.init();
509
 		this.button.init();
496
 	},
510
 	},
@@ -525,17 +539,20 @@ let createObj = {
525
 				var gridUpdateData = [];
539
 				var gridUpdateData = [];
526
 				var changeRows = createObj.changeRows(rows);
540
 				var changeRows = createObj.changeRows(rows);
527
 				$.each(changeRows, function (index, item) {
541
 				$.each(changeRows, function (index, item) {
528
-					if(pageObj.screenMode === 'ADD') {
529
-						item['contSttDt'] = $('#ITP_FORM_STINFO06010_DETAIL_FROM_DT').val();
530
-						item['contEndDt'] = $('#ITP_FORM_STINFO06010_DETAIL_TO_DT').val();
542
+					if(item.viewCd === 'C') {
531
 						gridInsertData.push(item);
543
 						gridInsertData.push(item);
532
-					} else {
533
-						if(item.viewCd === 'C') {
534
-							gridInsertData.push(item);
535
-						} else if(item.viewCd === 'U') {
536
-							gridUpdateData.push(item);
537
-						}
544
+					} else if(item.viewCd === 'U') {
545
+						gridUpdateData.push(item);
538
 					}
546
 					}
547
+					// if(pageObj.screenMode === 'ADD') {
548
+					// 	gridInsertData.push(item);
549
+					// } else {
550
+					// 	if(item.viewCd === 'C') {
551
+					// 		gridInsertData.push(item);
552
+					// 	} else if(item.viewCd === 'U') {
553
+					// 		gridUpdateData.push(item);
554
+					// 	}
555
+					// }
539
 				});
556
 				});
540
 				param['viewCd'] = 'U';
557
 				param['viewCd'] = 'U';
541
 				param['brandId'] = fn_make_user_info.get('brandId');
558
 				param['brandId'] = fn_make_user_info.get('brandId');
@@ -565,7 +582,7 @@ let createObj = {
565
 			var option = {
582
 			var option = {
566
 				gridId: STINFO06010_DETAIL_GRID_ID,
583
 				gridId: STINFO06010_DETAIL_GRID_ID,
567
 				colModel: gridColModel.detail,
584
 				colModel: gridColModel.detail,
568
-				mtype: 'GET',
585
+				mtype: 'POST',
569
 				param: param,
586
 				param: param,
570
 				url: DOMAIN + API_DETAIL_NEW,
587
 				url: DOMAIN + API_DETAIL_NEW,
571
 				loadComplete: function(data) {
588
 				loadComplete: function(data) {

+ 0 - 1
src/main/webapp/js/app/system/ITP_SYSTEM03010.js

@@ -70,7 +70,6 @@ require(['config'], function() {
70
 				param.gridInsertData = gridInsertData;
70
 				param.gridInsertData = gridInsertData;
71
 				param.gridUpdateData = gridUpdateData;
71
 				param.gridUpdateData = gridUpdateData;
72
 				param.gridDeleteData = gridDeleteData;
72
 				param.gridDeleteData = gridDeleteData;
73
-				console.log(param); return;
74
 				var searhFn = function() {
73
 				var searhFn = function() {
75
 					var keyword = {keyword: $('#ITP_KEYWORD_SYSTEM03010_INPUT').val()};
74
 					var keyword = {keyword: $('#ITP_KEYWORD_SYSTEM03010_INPUT').val()};
76
 					var param = $('#ITP_SYSTEM03010_ADV_SRH_FORM').serialize() + '&' + $.param(keyword);
75
 					var param = $('#ITP_SYSTEM03010_ADV_SRH_FORM').serialize() + '&' + $.param(keyword);

+ 45 - 36
src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -17,6 +17,9 @@ const VENDINFO01010_DETAIL_GRID_EMPTY = 'ITP_VENDINFO01010_DETAIL_jqGridEmpty';
17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18
 let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
18
 let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19
 
19
 
20
+let ITP_COMMON_ASSGN_TASK = fn_make_common_cd_list(CODE_LIST, 'ASSGN_TASK', true, '담당업무');
21
+
22
+
20
 //API URL
23
 //API URL
21
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
24
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
25
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
@@ -48,7 +51,7 @@ const gridColModel = {
48
 		},
51
 		},
49
 		{
52
 		{
50
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
53
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
-			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
54
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, 	//담당자명
52
 			width: '20', fixed: false, align: 'center',
55
 			width: '20', fixed: false, align: 'center',
53
 			sortable: false, editable: true, edittype: 'text',
56
 			sortable: false, editable: true, edittype: 'text',
54
 			editrules: {required: true}
57
 			editrules: {required: true}
@@ -69,19 +72,16 @@ const gridColModel = {
69
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
72
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
73
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71
             width: '10', fixed: false, align: 'center',
74
             width: '10', fixed: false, align: 'center',
72
-            sortable: false, hidden: false, editable: true, edittype: 'text'
73
-        },
74
-        {
75
-            index: 'RPRST_MBL_NO', name: 'rprstMblNo',
76
-            label: ITP_MSG_LOCALE.label.rprstMblNo,		// 핸드폰번호
77
-            width: '10', fixed: false, align: 'center',
78
-            sortable: false, hidden: false, editable: true, edittype: 'text'
75
+            sortable: false, hidden: false, editable: true, edittype: 'text',
76
+            editoptions: {'data-key-up': 'tel'}
79
         },
77
         },
80
         {
78
         {
81
-            index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
79
+            index: 'ASSGN_TASK', name: 'assgnTask',
82
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
80
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83
             width: '10', fixed: false, align: 'center',
81
             width: '10', fixed: false, align: 'center',
84
-            sortable: false, hidden: false, editable: true, edittype: 'text'
82
+            sortable: false, editable: true, formatter: 'select', edittype: 'select',
83
+			editoptions: {value: ITP_COMMON_ASSGN_TASK},
84
+			editrules: {required: false}
85
         }
85
         }
86
     ]
86
     ]
87
 };
87
 };
@@ -92,12 +92,12 @@ let pageObj = {
92
 	init: function () {
92
 	init: function () {
93
         this.ui.init();
93
         this.ui.init();
94
 		this.event.init();
94
 		this.event.init();
95
-		this.fileUpload();
96
     },
95
     },
97
     ui: {
96
     ui: {
98
         init: function () {
97
         init: function () {
99
             this.view();
98
             this.view();
100
             this.grid();
99
             this.grid();
100
+            this.form();
101
             this.ready();
101
             this.ready();
102
         },
102
         },
103
         view: function() {
103
         view: function() {
@@ -111,6 +111,9 @@ let pageObj = {
111
                 }
111
                 }
112
             });
112
             });
113
         },
113
         },
114
+        form: function() {
115
+			itp_fn_form_event.onKeyup('#ITP_FORM_VENDINFO01010_DETAIL');
116
+		},
114
         grid: function() {
117
         grid: function() {
115
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
118
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116
             modifyObj.empty.init();
119
             modifyObj.empty.init();
@@ -151,23 +154,33 @@ let pageObj = {
151
         var id = 'VENDINFO01010';
154
         var id = 'VENDINFO01010';
152
         var acctScrId = 'VENDINFO01010_ACCT';
155
         var acctScrId = 'VENDINFO01010_ACCT';
153
         $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
156
         $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
154
-        const fileArgs = {
157
+        $('#ITP_' + id + '_DETAIL_ACCT_FILE_LOGO_FILE').empty();
158
+        var removeFn = (param) => {
159
+			$('#ITP_' + id + '_DETAIL_ACCT_FILE_LOGO_FILE').empty();
160
+		};
161
+        const acctFileArgs = {
155
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
162
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
163
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
164
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158
             'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
165
             'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
159
         };
166
         };
160
-        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'notice', true, false, id, fileArgs);
167
+        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'spply1', true, false, acctScrId, acctFileArgs);
168
+        
169
+        /********************************************************************************/
161
         
170
         
162
-        var corpScrId = 'VENDINFO01010_CORP';
171
+		var corpScrId = 'VENDINFO01010_CORP';
163
 		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
172
 		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
173
+		$('#ITP_' + id + '_DETAIL_CORP_FILE_LOGO_FILE').empty();
174
+		var removeFn2 = (param) => {
175
+			$('#ITP_' + id + '_DETAIL_CORP_FILE_LOGO_FILE').empty();
176
+		};
164
 		const corpFileArgs = {
177
 		const corpFileArgs = {
165
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
178
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
179
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
180
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
181
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
169
 		};
182
 		};
170
-		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'notice', true, false, corpScrId, corpFileArgs);
183
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'spply2', true, false, corpScrId, corpFileArgs);
171
     },
184
     },
172
     switchScreen: function(mode) {
185
     switchScreen: function(mode) {
173
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
186
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
@@ -227,7 +240,7 @@ let pageObj = {
227
 		gridList: '',
240
 		gridList: '',
228
 		gridEmpty: '',
241
 		gridEmpty: '',
229
 		load: function(mode, gridData) {
242
 		load: function(mode, gridData) {
230
-			let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
243
+			//let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
231
 			var _this = this;
244
 			var _this = this;
232
 			var option = {
245
 			var option = {
233
 				gridId: _this.gridId,
246
 				gridId: _this.gridId,
@@ -238,7 +251,7 @@ let pageObj = {
238
 					console.log(data);
251
 					console.log(data);
239
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
252
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
253
 					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
241
-					
254
+					(Array.isArray(data.rows) && data.rows.length === 0) ? $(_this.gridEmpty).show() : $(_this.gridEmpty).hide();
242
 				},
255
 				},
243
 			};
256
 			};
244
 			itp_fn_grid_make_local(option);
257
 			itp_fn_grid_make_local(option);
@@ -257,28 +270,20 @@ let modifyObj = {
257
 	},
270
 	},
258
 	button: {
271
 	button: {
259
 		address: function() {
272
 		address: function() {
260
-			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
273
+			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
261
 		},
274
 		},
262
 		addRow: function() {
275
 		addRow: function() {
263
 			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
276
 			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
277
+			itp_fn_form_event.onKeyup(VENDINFO01010_DETAIL_GRID_ID);
264
 		},
278
 		},
265
 		delRow: function() {
279
 		delRow: function() {
266
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
280
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267
 		},
281
 		},
268
 		save: function() {
282
 		save: function() {
269
 			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
283
 			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
270
-			itp_fn_form_clear_validate(null, formId);
271
-			/*
272
-			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
273
-			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
274
-			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
275
-			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
276
-			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
277
-			var vali_userPw = true;
278
-			var vali_userPwConfirm = true;
279
-			*/
280
-			//if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
281
-			if(itp_fn_form_event.isValid(formId)){
284
+			itp_fn_form_clear_validate(null, formId);		
285
+			if(modifyObj.isValid(formId)){
286
+				itp_fn_grid_save_rows(VENDINFO01010_DETAIL_GRID_ID);		// rowData 보조
282
 				let gridInsertData = [];
287
 				let gridInsertData = [];
283
 				let gridUpdateData = [];
288
 				let gridUpdateData = [];
284
 				let gridDeleteData = [];
289
 				let gridDeleteData = [];
@@ -286,7 +291,7 @@ let modifyObj = {
286
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
291
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287
 				}
292
 				}
288
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
293
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
-				const keyValue = $(formId + '_USER_ID').val();
294
+				const keyValue = $(formId + '_BRAND_ID').val();
290
 				$.each(rowData, function(key, value) {
295
 				$.each(rowData, function(key, value) {
291
 					if (value.viewCd != 'R') {
296
 					if (value.viewCd != 'R') {
292
 							value.userId = keyValue;
297
 							value.userId = keyValue;
@@ -367,14 +372,13 @@ let modifyObj = {
367
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
372
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
373
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
374
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
370
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH').val(result.filePath);		// 통장사본
371
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO').val(result.zipNo);			// 우편번호
372
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR').val(result.addr1);			// 기본주소
373
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR').val(result.addr2);			// 상세주소
375
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIPNO').val(result.zipNo);				// 우편번호
376
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ADRES').val(result.addr1);				// 기본주소
377
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ADRES_DTL').val(result.addr2);			// 상세주소
374
 		
378
 		
375
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
379
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
380
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
377
-		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_ID').val(result.spplyId);									// 공급업체번호
381
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_ID').val(result.spplyId);		// 공급업체번호
378
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
382
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
383
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
384
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
@@ -382,6 +386,11 @@ let modifyObj = {
382
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
386
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
387
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
384
 
388
 
389
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO').val(result.bbookCopyFileNo);	// 통장사본
390
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO').val(result.bsnsRegFileNo);		// 사업자등록파일
391
+
392
+		pageObj.fileUpload();
393
+
385
 		// 권한정보 리스트 조회
394
 		// 권한정보 리스트 조회
386
 		pageObj.grid.init('DETAIL', result.spplyMgrList);
395
 		pageObj.grid.init('DETAIL', result.spplyMgrList);
387
 	},
396
 	},

+ 3 - 14
src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js

@@ -38,12 +38,6 @@ const gridColModel = {
38
 			width: '7', fixed: false, align: 'center',
38
 			width: '7', fixed: false, align: 'center',
39
 			sortable: false, hidden: false
39
 			sortable: false, hidden: false
40
 		},
40
 		},
41
-		{
42
-			index: 'STDD_QTY', name: 'stddQty',
43
-			label: ITP_MSG_LOCALE.label.stddQty, 	//기준수량
44
-			width: '7', fixed: false, align: 'center',
45
-			sortable: false, hidden: false
46
-		},
47
 		{
41
 		{
48
 			index: 'CURR', name: 'curr',
42
 			index: 'CURR', name: 'curr',
49
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
43
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
@@ -54,7 +48,8 @@ const gridColModel = {
54
 			index: 'UNIT_AMT', name: 'unitAmt',
48
 			index: 'UNIT_AMT', name: 'unitAmt',
55
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
49
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56
 			width: '7', fixed: false, align: 'center',
50
 			width: '7', fixed: false, align: 'center',
57
-			sortable: false, hidden: false
51
+			sortable: false, hidden: false,
52
+			formatter: 'integer', formatoptions: {thousandsSeparator: ','}
58
 		},
53
 		},
59
 		{
54
 		{
60
 			index: 'CONT_STT_DT', name: 'contSttDt',
55
 			index: 'CONT_STT_DT', name: 'contSttDt',
@@ -74,12 +69,6 @@ const gridColModel = {
74
 			width: '7', fixed: false, align: 'center',
69
 			width: '7', fixed: false, align: 'center',
75
 			sortable: false, hidden: false
70
 			sortable: false, hidden: false
76
 		},
71
 		},
77
-		{
78
-			index: 'REG_DT', name: 'regDt',
79
-			label: ITP_MSG_LOCALE.label.regDt, 		//등록일
80
-			width: '8', fixed: false, align: 'center',
81
-			sortable: false, hidden: false
82
-		},
83
 		{
72
 		{
84
 			index: 'UNIT_ST_NM', name: 'unitStNm',
73
 			index: 'UNIT_ST_NM', name: 'unitStNm',
85
 			label: ITP_MSG_LOCALE.label.status, 	//상태
74
 			label: ITP_MSG_LOCALE.label.status, 	//상태
@@ -293,7 +282,7 @@ let listObj = {
293
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
282
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
294
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
283
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
295
                     $.each(ids, function(idx, rowId) {
284
                     $.each(ids, function(idx, rowId) {
296
-                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
285
+                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'spplyId', '', ITP_GRID_COL_STYLE.link);
297
                     });
286
                     });
298
                 },
287
                 },
299
                 onPaging: function(action) {
288
                 onPaging: function(action) {

+ 27 - 14
src/main/webapp/mobile/app/login.html

@@ -5,43 +5,56 @@
5
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
5
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
     <title>로그인</title>
7
     <title>로그인</title>
8
-    <link rel="stylesheet" href="/style.css">
8
+    <link rel="stylesheet" href="../css/style.css">
9
+
10
+    <script>
11
+      const VIEW_PAGE = 'LOGIN'; //config.js 에서 로그인 페이지 인지 아닌지 확인하기 위한 변수
12
+      var CONN_KEY; //Jwt 토큰을 담기위한 변수
13
+    </script>
14
+
15
+    <script src="../js/properties.js"></script>
16
+    <script src="../../js/require.min.js" data-main="../js/config.js"></script>
9
   </head>
17
   </head>
10
     <div id="ITP_LOGIN">
18
     <div id="ITP_LOGIN">
19
+      <form id="ITP_FORM_MOBILE_LOGIN" class="form-horizontal" action="" method="post" onsubmit="return false;">
20
+        <input id="userId" name="userId" type="hidden" value="" />
21
+        <input id="password" name="password" type="hidden" value="" />
22
+        <!--<input id="brandId" name="brandId" type="hidden" value="" />-->
11
       <div class="login_popup">
23
       <div class="login_popup">
12
         <div class="login_info">
24
         <div class="login_info">
13
           <h1>서비스<br>VISUAL IMAGE</h1>
25
           <h1>서비스<br>VISUAL IMAGE</h1>
14
         </div>
26
         </div>
15
         <div class="num_area">
27
         <div class="num_area">
16
           <div class="input_area">
28
           <div class="input_area">
17
-            <input type="text" name="id" id="id"  required>
18
-            <label for="id">사업자번호</label>
19
-            <button>연결</button>
29
+            <input type="text" name="bsnsRegNo" id="ITP_FORM_LOGIN_BSNS_REG_NO" required>
30
+            <label for="ITP_FORM_LOGIN_BSNS_REG_NO">사업자번호</label>
31
+            <button type="button" id="ITP_BTN_LOGIN_BSNS_REG_NO">연결</button>
20
           </div>
32
           </div>
21
           <div class="brand_list">
33
           <div class="brand_list">
22
-            <select name="" id="">
23
-              <option>브랜드 리스트</option>
24
-              <option>asdfasdf</option>
34
+            <select name="brandId" id="ITP_FORM_LOGIN_BRAND_ID">
35
+              <option value="">선택</option>
25
             </select>
36
             </select>
26
           </div>
37
           </div>
27
         </div>
38
         </div>
28
         <div class="login_page">
39
         <div class="login_page">
29
           <div class="input_area">
40
           <div class="input_area">
30
-            <input type="text" name="id" id="id"  required>
31
-            <label for="id">아이디</label>
41
+            <input type="text" id="ITP_FORM_LOGIN_USER_ID"  required>
42
+            <label for="ITP_FORM_LOGIN_USER_ID">아이디</label>
32
           </div>
43
           </div>
33
           <div class="input_area">
44
           <div class="input_area">
34
-            <input type="password" name="pw" id="pw"  required>
35
-            <label for="pw">비밀번호</label>
45
+            <input type="password" id="ITP_FORM_LOGIN_USER_PW"  required>
46
+            <label for="ITP_FORM_LOGIN_USER_PW">비밀번호</label>
36
           </div>
47
           </div>
37
         </div>
48
         </div>
38
         <div class="error">
49
         <div class="error">
39
           <label>사업자번호와 관련된 브랜드 정보가 없습니다.</label>
50
           <label>사업자번호와 관련된 브랜드 정보가 없습니다.</label>
40
         </div>
51
         </div>
41
-      </div> 
52
+      </div>
42
       <div class="login_btn">
53
       <div class="login_btn">
43
-        <button>로그인</button>
54
+        <button type="submit" id="login_btn" class="btn btn-primary btn-lg itp_btn">로그인</button>
44
       </div>
55
       </div>
45
-    </div>   
56
+      </form>
57
+    </div>
58
+  <script src="../js/app/login.js?version=20210826"></script>
46
 </html>
59
 </html>
47
 
60
 

+ 100 - 15
src/main/webapp/mobile/app/main.html

@@ -5,15 +5,42 @@
5
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
5
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
6
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
6
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
7
 	<title>모바일 수발주</title>
7
 	<title>모바일 수발주</title>
8
-	<link rel="stylesheet" href="/style.css">
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>
9
 </head>
36
 </head>
10
 	<body>
37
 	<body>
11
 		<div id="ITP_WRAPPER">
38
 		<div id="ITP_WRAPPER">
12
 			<header>
39
 			<header>
13
 				<div class="header_wrap">
40
 				<div class="header_wrap">
14
 					<div class="menu_logo">
41
 					<div class="menu_logo">
15
-						<button id="ITP_BTN_MENU"><img src="/img/menu.png" alt=""></button>
16
-						<button id="ITP_BTN_HOME"><img src="/img/home.png" alt=""></button>
42
+						<button id="ITP_BTN_MENU"><img src="../img/menu.png" alt=""></button>
43
+						<button id="ITP_BTN_HOME"><img src="../img/home.png" alt=""></button>
17
 					</div>
44
 					</div>
18
 					<div class="logout">
45
 					<div class="logout">
19
 						<button id="ITP_BTN_LOGOUT">로그<br>아웃</button>
46
 						<button id="ITP_BTN_LOGOUT">로그<br>아웃</button>
@@ -31,14 +58,68 @@
31
 					</div>
58
 					</div>
32
 				</div>
59
 				</div>
33
 			</header>
60
 			</header>
61
+
62
+			<!--<nav id="ITP_SIDEBAR" class="itp_open_nav">
63
+
64
+				<ul class="panel-group itp_nav"></ul>
65
+
66
+				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL2_ROWCOPY" rows="0" cols="0" style="display:none;">
67
+				<li class="panel panel-default">
68
+					<div class="panel-heading">
69
+						<div class="panel-title">
70
+							<a class="accordion-toggle" data-toggle="collapse" href="">
71
+								<span class="fnMenuNm">메뉴명</span>
72
+								<i class="indicator glyphicon glyphicon-chevron-down pull-right"></i>
73
+							</a>
74
+						</div>
75
+					</div>
76
+					<div class="panel-collapse collapse" id="">
77
+						<div class="panel-body itp_svgs_body">
78
+							<ul class="itp_svgs fnLevelBottomList"></ul>
79
+						</div>
80
+					</div>
81
+				</li>
82
+				</textarea>
83
+				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL3_ROWCOPY" rows="0" cols="0" style="display:none;">
84
+				<li>
85
+					<div class="itp_svg_in">
86
+						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
87
+							<i class="glyphicon glyphicon-chevron-right"></i>
88
+							<span class="itp_tt fnMenuNm">메뉴명</span>
89
+						</a>
90
+					</div>
91
+				</li>
92
+				</textarea>
93
+				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL4_ROWCOPY" rows="0" cols="0" style="display:none;">
94
+				<li>
95
+					<div class="itp_svg_in">
96
+						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
97
+							<i class="itp_icon">└</i>
98
+							<span class="itp_tt fnMenuNm">메뉴명</span>
99
+						</a>
100
+					</div>
101
+				</li>
102
+				</textarea>
103
+				<textarea id="ITP_AJAX_MAIN_SIDE_LEVEL5_ROWCOPY" rows="0" cols="0" style="display:none;">
104
+				<li>
105
+					<div class="itp_svg_in">
106
+						<a href="javascript:void(0)" data-itp-nav-id="" data-conn-url="" id="" class="itp_nav_link fix">
107
+							<i class="itp_icon_5">*</i>
108
+							<span class="itp_tt fnMenuNm">메뉴명</span>
109
+						</a>
110
+					</div>
111
+				</li>
112
+				</textarea>
113
+			</nav>-->
114
+
34
 			<div id="ITP_MENU" style="display: block;">
115
 			<div id="ITP_MENU" style="display: block;">
35
 				<div class="menu_area">
116
 				<div class="menu_area">
36
-					<button class="ITP_BTN_CLOSE"><img src="/img/close2.png"></button>
117
+					<button class="ITP_BTN_CLOSE"><img src="../img/close2.png"></button>
37
 				</div>
118
 				</div>
38
 				<div class="menu_bar">
119
 				<div class="menu_bar">
39
 					<div class="menu_header">
120
 					<div class="menu_header">
40
 						<div class="brand_img">
121
 						<div class="brand_img">
41
-							<img src="/img/naver.png">
122
+							<img src="../img/naver.png">
42
 						</div>
123
 						</div>
43
 						<div class="user_info">
124
 						<div class="user_info">
44
 							<div class="">홍길동</div>
125
 							<div class="">홍길동</div>
@@ -46,7 +127,7 @@
46
 							<div class="id">asdf1234</div>
127
 							<div class="id">asdf1234</div>
47
 						</div>
128
 						</div>
48
 						<div class="setting">
129
 						<div class="setting">
49
-							<button><img src="/img/gear.png"></button>
130
+							<button><img src="../img/gear.png"></button>
50
 						</div>
131
 						</div>
51
 					</div>
132
 					</div>
52
 					<div class="menu_select">
133
 					<div class="menu_select">
@@ -59,25 +140,25 @@
59
 									<ul>
140
 									<ul>
60
 										<li>
141
 										<li>
61
 											<div class="itp_svg_in">
142
 											<div class="itp_svg_in">
62
-												<i><img src="/img/arrow_right.png"></i>
143
+												<i><img src="../img/arrow_right.png"></i>
63
 												<span class="fnMenuNm">구매요청생성</span>
144
 												<span class="fnMenuNm">구매요청생성</span>
64
 											</div>
145
 											</div>
65
 										</li>
146
 										</li>
66
 										<li>
147
 										<li>
67
 											<div class="itp_svg_in">
148
 											<div class="itp_svg_in">
68
-												<i><img src="/img/arrow_right.png"></i>
149
+												<i><img src="../img/arrow_right.png"></i>
69
 												<span class="fnMenuNm">구매요청현황</span>
150
 												<span class="fnMenuNm">구매요청현황</span>
70
 											</div>
151
 											</div>
71
 										</li>
152
 										</li>
72
 										<li>
153
 										<li>
73
 											<div class="itp_svg_in">
154
 											<div class="itp_svg_in">
74
-												<i><img src="/img/arrow_right.png"></i>
155
+												<i><img src="../img/arrow_right.png"></i>
75
 												<span class="fnMenuNm">입고처리</span>
156
 												<span class="fnMenuNm">입고처리</span>
76
 											</div>
157
 											</div>
77
 										</li>
158
 										</li>
78
 										<li>
159
 										<li>
79
 											<div class="itp_svg_in">
160
 											<div class="itp_svg_in">
80
-												<i><img src="/img/arrow_right.png"></i>
161
+												<i><img src="../img/arrow_right.png"></i>
81
 												<span class="fnMenuNm">입고현황</span>
162
 												<span class="fnMenuNm">입고현황</span>
82
 											</div>
163
 											</div>
83
 										</li>
164
 										</li>
@@ -92,31 +173,31 @@
92
 									<ul>
173
 									<ul>
93
 										<li>
174
 										<li>
94
 											<div class="itp_svg_in">
175
 											<div class="itp_svg_in">
95
-												<i><img src="/img/arrow_right.png"></i>
176
+												<i><img src="../img/arrow_right.png"></i>
96
 												<span class="fnMenuNm">반품요청</span>
177
 												<span class="fnMenuNm">반품요청</span>
97
 											</div>
178
 											</div>
98
 										</li>
179
 										</li>
99
 										<li>
180
 										<li>
100
 											<div class="itp_svg_in">
181
 											<div class="itp_svg_in">
101
-												<i><img src="/img/arrow_right.png"></i>
182
+												<i><img src="../img/arrow_right.png"></i>
102
 												<span class="fnMenuNm">반품요청현황</span>
183
 												<span class="fnMenuNm">반품요청현황</span>
103
 											</div>
184
 											</div>
104
 										</li>
185
 										</li>
105
 										<li>
186
 										<li>
106
 											<div class="itp_svg_in">
187
 											<div class="itp_svg_in">
107
-												<i><img src="/img/arrow_right.png"></i>
188
+												<i><img src="../img/arrow_right.png"></i>
108
 												<span class="fnMenuNm">반품발주현황</span>
189
 												<span class="fnMenuNm">반품발주현황</span>
109
 											</div>
190
 											</div>
110
 										</li>
191
 										</li>
111
 										<li>
192
 										<li>
112
 											<div class="itp_svg_in">
193
 											<div class="itp_svg_in">
113
-												<i><img src="/img/arrow_right.png"></i>
194
+												<i><img src="../img/arrow_right.png"></i>
114
 												<span class="fnMenuNm">반품처리</span>
195
 												<span class="fnMenuNm">반품처리</span>
115
 											</div>
196
 											</div>
116
 										</li>
197
 										</li>
117
 										<li>
198
 										<li>
118
 											<div class="itp_svg_in">
199
 											<div class="itp_svg_in">
119
-												<i><img src="/img/arrow_right.png"></i>
200
+												<i><img src="../img/arrow_right.png"></i>
120
 												<span class="fnMenuNm">반품현황</span>
201
 												<span class="fnMenuNm">반품현황</span>
121
 											</div>
202
 											</div>
122
 										</li>
203
 										</li>
@@ -144,6 +225,10 @@
144
 					</div>
225
 					</div>
145
 				</div>
226
 				</div>
146
 			</div>
227
 			</div>
228
+			<div id="ITP_CONTAINER">
229
+
230
+			</div>
231
+			<script src="../js/app/main.js?version=20210826"></script>
147
 		</div>
232
 		</div>
148
 	</body>
233
 	</body>
149
 </html>
234
 </html>

+ 2 - 2
src/main/webapp/mobile/css/style.css

@@ -1,4 +1,4 @@
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');}
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
 * {margin: 0; padding: 0; box-sizing: border-box; text-align: center; font-family: 'NanumBarunGothic', 'serif'; list-style: none;}
2
 * {margin: 0; padding: 0; box-sizing: border-box; text-align: center; font-family: 'NanumBarunGothic', 'serif'; list-style: none;}
3
 section {}
3
 section {}
4
 body{background: #fff; position: relative; width: 100%; height: 500px;}
4
 body{background: #fff; position: relative; width: 100%; height: 500px;}
@@ -101,7 +101,7 @@ body.eee {height: 700px; background: #eee;}
101
 #ITP_LOGIN .login_popup .num_area .input_area {margin-bottom: 10px;}
101
 #ITP_LOGIN .login_popup .num_area .input_area {margin-bottom: 10px;}
102
 #ITP_LOGIN .login_popup .num_area .input_area input {width:52%; font-size: 0.8rem; }
102
 #ITP_LOGIN .login_popup .num_area .input_area input {width:52%; font-size: 0.8rem; }
103
 #ITP_LOGIN .login_popup .num_area .input_area button {font-weight: 700; margin-left: 0.1%; width: 16.5%; height: 40px; background-color: blue; color: #eee; font-size: 1rem; padding: 0;}
103
 #ITP_LOGIN .login_popup .num_area .input_area button {font-weight: 700; margin-left: 0.1%; width: 16.5%; height: 40px; background-color: blue; color: #eee; font-size: 1rem; padding: 0;}
104
-#ITP_LOGIN .login_popup .num_area .brand_list select {padding-left: 10px; width: 70%; height: 40px; font-size: 0.8rem; background: url(/img/down.png)no-repeat 100% 50%/40px auto; -webkit-appearance:none; appearance:none;} 
104
+#ITP_LOGIN .login_popup .num_area .brand_list select {padding-left: 10px; width: 70%; height: 40px; font-size: 0.8rem; background: url(../img/down.png)no-repeat 100% 50%/40px auto; -webkit-appearance:none; appearance:none;}
105
 #ITP_LOGIN .login_popup .num_area .brand_list select option {text-align: left; width: 70%; height: 50px; border: 1px solid #000; font-size: 20px;} 
105
 #ITP_LOGIN .login_popup .num_area .brand_list select option {text-align: left; width: 70%; height: 50px; border: 1px solid #000; font-size: 20px;} 
106
 
106
 
107
 #ITP_LOGIN .login_page {position: relative; width: 100%;  margin-bottom: 30px;}
107
 #ITP_LOGIN .login_page {position: relative; width: 100%;  margin-bottom: 30px;}

+ 38 - 17
src/main/webapp/mobile/js/app/login.js

@@ -8,25 +8,29 @@ require(['config'], function() {
8
 	    }
8
 	    }
9
 
9
 
10
 		// itp_fn_login_init();
10
 		// itp_fn_login_init();
11
-		
11
+
12
 		$('#ITP_LOGIN').on('keyup', 'input, textarea', function() {
12
 		$('#ITP_LOGIN').on('keyup', 'input, textarea', function() {
13
 			var $th = $(this);
13
 			var $th = $(this);
14
-	        $th.val($th.val().replace(/(<([^>]+)>)/ig, function() {return '';}));
14
+			$th.val($th.val().replace(/(<([^>]+)>)/ig, function() {return '';}));
15
+		});
16
+
17
+		$('#ITP_BTN_LOGIN_BSNS_REG_NO').on('click', function() {
18
+			itp_fn_login_reg_no();
15
 		});
19
 		});
16
-		
20
+
17
 		$('#login_btn').click(function() {
21
 		$('#login_btn').click(function() {
18
 			if(itp_fn_login_validate()) {
22
 			if(itp_fn_login_validate()) {
19
 				itp_fn_login_proc();
23
 				itp_fn_login_proc();
20
 			}
24
 			}
21
 		});
25
 		});
22
-		
23
-		var callbackFn = function(result) {
24
-			POP_LIST = result.popList;
25
-			fn_proc_popup_view('L');
26
-		};
27
-		const key = {sViewTargetCd: 'L'};
28
-		var param = $.param(key);
29
-		fn_ajax_call('/api/pop/open-pop', param, callbackFn, 'GET');
26
+
27
+		// var callbackFn = function(result) {
28
+		// 	POP_LIST = result.popList;
29
+		// 	fn_proc_popup_view('L');
30
+		// };
31
+		// const key = {sViewTargetCd: 'L'};
32
+		// var param = $.param(key);
33
+		// fn_ajax_call('/api/pop/open-pop', param, callbackFn, 'GET');
30
 	});
34
 	});
31
 });
35
 });
32
 
36
 
@@ -36,20 +40,34 @@ function itp_fn_login_init() {
36
     if (save_id !== null) {
40
     if (save_id !== null) {
37
     	$('#ITP_FORM_LOGIN_USER_ID').val(save_id);
41
     	$('#ITP_FORM_LOGIN_USER_ID').val(save_id);
38
     }
42
     }
39
-};
43
+}
44
+
45
+function itp_fn_login_reg_no() {
46
+	if ($('#ITP_FORM_LOGIN_BSNS_REG_NO').val() === '') {
47
+		$('#ITP_FORM_LOGIN_ERROR_REG_NO').show();
48
+	} else {
49
+		$('#ITP_FORM_LOGIN_ERROR_REG_NO').hide();
50
+
51
+		var callbackFn = function(result) {
52
+			fn_make_select_brand(result.gridRows, 'ITP_FORM_LOGIN_BRAND_ID');
53
+		};
54
+		var param = {'bsnsRegNo': $('#ITP_FORM_LOGIN_BSNS_REG_NO').val()};
55
+		fn_ajax_call('/api/member/brand-list-app', $.param(param), callbackFn, 'GET');
56
+	}
57
+}
40
 
58
 
41
 function itp_fn_login_validate() {
59
 function itp_fn_login_validate() {
42
 	$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').removeClass('has-error');
60
 	$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').removeClass('has-error');
43
 	$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').removeClass('has-error');
61
 	$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').removeClass('has-error');
44
 	$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.help);
62
 	$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.help);
45
 
63
 
46
-	if ($('#ITP_FORM_LOGIN_USER_ID').val() == '') {
64
+	if ($('#ITP_FORM_LOGIN_USER_ID').val() === '') {
47
 		$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').addClass('has-error');
65
 		$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').addClass('has-error');
48
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needId);
66
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needId);
49
 		return false;
67
 		return false;
50
 	}
68
 	}
51
 
69
 
52
-	if ($('#ITP_FORM_LOGIN_USER_PW').val() == '') {
70
+	if ($('#ITP_FORM_LOGIN_USER_PW').val() === '') {
53
 		$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').addClass('has-error');
71
 		$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').addClass('has-error');
54
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needPw);
72
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needPw);
55
 		return false;
73
 		return false;
@@ -64,15 +82,17 @@ function itp_fn_login_validate() {
64
 	}
82
 	}
65
 
83
 
66
 	return true;
84
 	return true;
67
-};
85
+}
68
 
86
 
69
 function itp_fn_login_proc() {
87
 function itp_fn_login_proc() {
70
 	var callbackFn = function(result) {
88
 	var callbackFn = function(result) {
71
 		var hashed = fnHashed(result.hashed);
89
 		var hashed = fnHashed(result.hashed);
72
 		$('#userId').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_ID').val(), hashed));
90
 		$('#userId').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_ID').val(), hashed));
73
 		$('#password').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_PW').val(), hashed));
91
 		$('#password').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_PW').val(), hashed));
92
+		// $('#brandId').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_BRAND_ID').val(), hashed));
93
+		console.log('USER_ID ===> ' + CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_ID').val(), hashed));
74
 	    var loginFn = function(result) {
94
 	    var loginFn = function(result) {
75
-			// alert('SIGN-IN RESULT : ' + JSON.stringify(result));		
95
+			alert('SIGN-IN RESULT : ' + JSON.stringify(result));
76
 			sessionStorage.setItem('itp_login_info', JSON.stringify({
96
 			sessionStorage.setItem('itp_login_info', JSON.stringify({
77
 				timestamp: new Date(),
97
 				timestamp: new Date(),
78
 		        connKey: result.connKey		// Jwt키를 가져와서 세션 스토리지에 저장
98
 		        connKey: result.connKey		// Jwt키를 가져와서 세션 스토리지에 저장
@@ -80,7 +100,8 @@ function itp_fn_login_proc() {
80
 	    	$(location).attr('href', MOBILE_CONTEXTPATH + '/app/main.html');
100
 	    	$(location).attr('href', MOBILE_CONTEXTPATH + '/app/main.html');
81
 		};
101
 		};
82
 		var params = $('#ITP_FORM_MOBILE_LOGIN').serializeObject();
102
 		var params = $('#ITP_FORM_MOBILE_LOGIN').serializeObject();
83
-		fn_ajax_call('/api/member/sign-in', JSON.stringify(params), loginFn, 'POST'); //암호화 해서 보내는 경우 먼저 해시키를 가져와서 암호화해서 보낸다
103
+		console.log(JSON.stringify(params));
104
+		fn_ajax_call('/api/member/sign-in-app', JSON.stringify(params), loginFn, 'POST'); //암호화 해서 보내는 경우 먼저 해시키를 가져와서 암호화해서 보낸다
84
 	};
105
 	};
85
 	fn_ajax_call('/api/session/hashed', null, callbackFn, 'GET'); //Crypto 암호화를 위한 해쉬키.. 로그인 후에는 Jwt 포함인 /api/session/hashedKey 이걸로 호출해서 사용한다.
106
 	fn_ajax_call('/api/session/hashed', null, callbackFn, 'GET'); //Crypto 암호화를 위한 해쉬키.. 로그인 후에는 Jwt 포함인 /api/session/hashedKey 이걸로 호출해서 사용한다.
86
 	
107
 	

+ 7 - 0
src/main/webapp/mobile/js/app/main.js

@@ -26,6 +26,13 @@ require(['config'], function() {
26
 	    	// // Barcode
26
 	    	// // Barcode
27
 			// itp_fn_barcode.init();
27
 			// itp_fn_barcode.init();
28
 
28
 
29
+			$('#ITP_BTN_MENU').on('click', function() {
30
+				console.log('aaaaaaaaaaaaaa');
31
+				// $('#ITP_MENU').toggle();
32
+				$('#ITP_MENU').toggleClass('itp_open_nav');
33
+				// $('#ITP_CONTAINER').toggleClass('itp_open_conts');
34
+				itp_fn_fire_window_resize();
35
+			});
29
 		}, 100);
36
 		}, 100);
30
 				
37
 				
31
 	});
38
 	});

File diff suppressed because it is too large
+ 44 - 2683
src/main/webapp/mobile/js/config.js