Просмотр исходного кода

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

whakdo963 лет назад: 2
Родитель
Сommit
4d27447d48
32 измененных файлов с 1140 добавлено и 3286 удалено
  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 63
 											<div class="col-xs-4 itp_ip">
64 64
 												<div class="col-xs-4 itp_in">
65 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 67
 												</div>
67 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 71
 												</div>
70 72
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
71 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 85
 													</div>
84 86
 												</div>
85 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 89
 										</div>
88 90
 									</div>
89 91
 									<div class="itp_form_in">

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

@@ -7,7 +7,6 @@
7 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 8
 				</div>				
9 9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11 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 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 12
 				</div>
@@ -21,8 +20,8 @@
21 20
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22 21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23 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 26
 								<section class="itp_form_sec">
28 27
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -83,7 +82,7 @@
83 82
 											<div class="col-xs-4 itp_ip">
84 83
 												<div class="itp_form_change">
85 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 86
 													</div>
88 87
 												</div>
89 88
 											</div>
@@ -101,14 +100,14 @@
101 100
 											<div class="col-xs-4 itp_ip">
102 101
 												<div class="itp_form_change">
103 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 104
 													</div>
106 105
 												</div>
107 106
 											</div>
108 107
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
109 108
 											<div class="col-xs-4 itp_ip">
110 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 111
 												</div>
113 112
 											</div>
114 113
 										</div>
@@ -121,10 +120,10 @@
121 120
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
122 121
 												</div>
123 122
 											</div>
124
-											<label class="col-xs-2 itp_lb">FAX</label>
123
+											<label class="col-xs-2 itp_lb">핸드폰</label>
125 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 127
 												</div>
129 128
 											</div>
130 129
 										</div>
@@ -137,10 +136,11 @@
137 136
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
138 137
 												</div>
139 138
 											</div>
140
-											<label class="col-xs-2 itp_lb">핸드폰</label>
139
+											<label class="col-xs-2 itp_lb">은행</label>
141 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 144
 												</div>
145 145
 											</div>
146 146
 										</div>
@@ -154,13 +154,8 @@
154 154
 													</select>												
155 155
 												</div>
156 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 159
 										</div>
165 160
 									</div>
166 161
 									<div class="itp_form_in">
@@ -179,6 +174,7 @@
179 174
 											</div>
180 175
 										</div>
181 176
 									</div>
177
+									
182 178
 									<div class="itp_form_in">
183 179
 										<div class="form-group">
184 180
 											<label class="col-xs-2 itp_lb">통장사본</label>
@@ -206,16 +202,16 @@
206 202
 											<label class="col-xs-2 itp_lb">주소 *</label>
207 203
 											<div class="col-xs-10 itp_ip">
208 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 206
 												</div>
211 207
 												<div class="col-xs-2 itp_in" style="width:10%;">
212 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 209
 												</div>
214 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 212
 												</div>
217 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 215
 												</div>
220 216
 											</div>
221 217
 										</div>
@@ -224,13 +220,13 @@
224 220
 										<div class="form-group">
225 221
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
226 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 224
 												<label class="col-xs-1 itp_in">/</label>
229 225
 												<div class="col-xs-5 itp_in fnRegDt"></div>
230 226
 											</div>
231 227
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
232 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 230
 												<label class="col-xs-1 itp_in">/</label>
235 231
 												<div class="col-xs-5 itp_in fnChgDt"></div>
236 232
 											</div>
@@ -248,11 +244,11 @@
248 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 245
 							</div>
250 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 252
 						</div>
257 253
 				    </div>
258 254
 				</div>

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

@@ -7,7 +7,6 @@
7 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 8
 				</div>	
9 9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11 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 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 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 17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18 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 23
 //API URL
21 24
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22 25
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
@@ -48,7 +51,7 @@ const gridColModel = {
48 51
 		},
49 52
 		{
50 53
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
-			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
54
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, 	//담당자명
52 55
 			width: '20', fixed: false, align: 'center',
53 56
 			sortable: false, editable: true, edittype: 'text',
54 57
 			editrules: {required: true}
@@ -69,19 +72,16 @@ const gridColModel = {
69 72
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70 73
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71 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 80
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83 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 92
 	init: function () {
93 93
         this.ui.init();
94 94
 		this.event.init();
95
-		this.fileUpload();
96 95
     },
97 96
     ui: {
98 97
         init: function () {
99 98
             this.view();
100 99
             this.grid();
100
+            this.form();
101 101
             this.ready();
102 102
         },
103 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 117
         grid: function() {
115 118
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116 119
             modifyObj.empty.init();
@@ -151,23 +154,33 @@ let pageObj = {
151 154
         var id = 'VENDINFO01010';
152 155
         var acctScrId = 'VENDINFO01010_ACCT';
153 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 162
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156 163
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157 164
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158 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 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 177
 		const corpFileArgs = {
165 178
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166 179
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167 180
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168 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 185
     switchScreen: function(mode) {
173 186
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
@@ -227,7 +240,7 @@ let pageObj = {
227 240
 		gridList: '',
228 241
 		gridEmpty: '',
229 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 244
 			var _this = this;
232 245
 			var option = {
233 246
 				gridId: _this.gridId,
@@ -238,7 +251,7 @@ let pageObj = {
238 251
 					console.log(data);
239 252
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240 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 257
 			itp_fn_grid_make_local(option);
@@ -257,28 +270,20 @@ let modifyObj = {
257 270
 	},
258 271
 	button: {
259 272
 		address: function() {
260
-			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
273
+			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
261 274
 		},
262 275
 		addRow: function() {
263 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 279
 		delRow: function() {
266 280
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267 281
 		},
268 282
 		save: function() {
269 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 287
 				let gridInsertData = [];
283 288
 				let gridUpdateData = [];
284 289
 				let gridDeleteData = [];
@@ -286,7 +291,7 @@ let modifyObj = {
286 291
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287 292
 				}
288 293
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
-				const keyValue = $(formId + '_USER_ID').val();
294
+				const keyValue = $(formId + '_BRAND_ID').val();
290 295
 				$.each(rowData, function(key, value) {
291 296
 					if (value.viewCd != 'R') {
292 297
 							value.userId = keyValue;
@@ -367,14 +372,13 @@ let modifyObj = {
367 372
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368 373
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369 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 379
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376 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 382
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379 383
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380 384
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
@@ -382,6 +386,11 @@ let modifyObj = {
382 386
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383 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 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 38
 			width: '7', fixed: false, align: 'center',
39 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 42
 			index: 'CURR', name: 'curr',
49 43
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
@@ -54,7 +48,8 @@ const gridColModel = {
54 48
 			index: 'UNIT_AMT', name: 'unitAmt',
55 49
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56 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 55
 			index: 'CONT_STT_DT', name: 'contSttDt',
@@ -74,12 +69,6 @@ const gridColModel = {
74 69
 			width: '7', fixed: false, align: 'center',
75 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 73
 			index: 'UNIT_ST_NM', name: 'unitStNm',
85 74
 			label: ITP_MSG_LOCALE.label.status, 	//상태
@@ -293,7 +282,7 @@ let listObj = {
293 282
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
294 283
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
295 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 288
                 onPaging: function(action) {

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

@@ -63,9 +63,11 @@
63 63
 											<div class="col-xs-4 itp_ip">
64 64
 												<div class="col-xs-4 itp_in">
65 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 67
 												</div>
67 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 71
 												</div>
70 72
 												<div class="col-xs-1 itp_in" style="width:23%; padding:0px;">
71 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 85
 													</div>
84 86
 												</div>
85 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 89
 										</div>
88 90
 									</div>
89 91
 									<div class="itp_form_in">

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

@@ -2,12 +2,11 @@
2 2
 	<div class="itp_cont">
3 3
 		<article class="itp_detail">
4 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 6
 				<div class="pull-right itp_cicon">
7 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 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 11
 				</div>
13 12
 			</div>
@@ -17,36 +16,33 @@
17 16
 						<div class="itp_srh_border fix">
18 17
 							<div class="col-xs-12">
19 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 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 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 27
 										</div>
29 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 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 34
 											<label>정산요청일</label>
35 35
 										</div>
36
-										<div class="col-xs-3 itp_ip itp_noMar">
36
+										<div class="col-xs-2 itp_ip itp_noMar">
37 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 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 41
 											</div>
42 42
 										</div>
43 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 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 46
 									</div>
51 47
 								</form>
52 48
 							</div>
@@ -66,67 +62,86 @@
66 62
 						<div class="col-xs-12">
67 63
 							<form id="ITP_FORM_SETTMNG02010_DETAIL" class="form-horizontal">
68 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 70
 								<section class="itp_form_sec">
71
-									<h4 class="itp_form_tit">정산 상세정보-요청</h4>
71
+									<h4 class="itp_form_tit">정산 상세정보</h4>
72 72
 									<div class="itp_form_in">
73 73
 										<div class="form-group">
74
-											<label class="col-xs-2 itp_lb">브랜드 *</label>
74
+											<label class="col-xs-2 itp_lb">브랜드</label>
75 75
 												<div class="col-xs-4 itp_ip">
76 76
 													<div class="col-xs-9 itp_in fnBrandNm"></div>												
77 77
 												</div>
78
-											<label class="col-xs-2 itp_lb">공급업체*</label>
78
+											<label class="col-xs-2 itp_lb">공급업체</label>
79 79
 											<div class="col-xs-4 itp_ip">
80 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 82
 												</div>
83 83
 											</div>
84 84
 										</div>
85 85
 										<div class="form-group">
86 86
 											<label class="col-xs-2 itp_lb">정산일자</label>
87 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 96
 											</div>
90 97
 											<label class="col-xs-2 itp_lb">정산상태</label>
91 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 100
 											</div>
94 101
 										</div>
95 102
 										<div class="form-group">
96 103
 											<label class="col-xs-2 itp_lb">정산금액</label>
97 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 106
 											</div>
100 107
 											<label class="col-xs-2 itp_lb">잔금</label>
101 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 110
 											</div>
104 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 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 116
 											</div>
110
-											<label class="col-xs-2 itp_lb">요청자</label>
117
+											<label class="col-xs-2 itp_lb">등록자</label>
111 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 128
 											</div>
114 129
 										</div>
115 130
 									</div>
116
-								</section>								
131
+								</section>							
117 132
 							</form>
118 133
 						</div>
119 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 143
 					</div>
129
-				</div>
144
+				</div>				
130 145
 			</div>
131 146
 		</article>
132 147
 	</div>

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

@@ -52,6 +52,7 @@
52 52
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_POP_NO" name="popNo" value="">
53 53
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
54 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 56
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
56 57
 								<input type="hidden" id="ITP_FORM_STINFO03010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
57 58
 					
@@ -78,9 +79,9 @@
78 79
 											<label class="col-xs-2 itp_lb">공급업체번호</label>
79 80
 											<div class="col-xs-4 itp_ip">
80 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 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 85
 											</div>
85 86
 											<label class="col-xs-2 itp_lb">기업형태 *</label>
86 87
 											<div class="col-xs-4 itp_ip">
@@ -327,7 +328,7 @@
327 328
 							<form id="ITP_FORM_STINFO03010_VIEW" class="form-horizontal">
328 329
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_VIEW_CD" name="viewCd" value="C">
329 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 332
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_MENU_NO" name="menuNo" value="">
332 333
 								<input type="hidden" id="ITP_FORM_STINFO03010_VIEW_FILE_NO" name="popFileNo" value="">
333 334
 					
@@ -458,12 +459,12 @@
458 459
 										<div class="form-group">
459 460
 											<label class="col-xs-2 itp_lb">통장사본</label>
460 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 463
 												</div>
463 464
 											</div>
464 465
 											<label class="col-xs-2 itp_lb">사업자등록파일</label>
465 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 468
 												</div>
468 469
 											</div>
469 470
 										</div>

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

@@ -101,7 +101,7 @@
101 101
 											<label class="col-xs-2 itp_lb">상태 *</label>
102 102
 											<div class="col-xs-3 itp_ip">
103 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 105
 												</div>
106 106
 											</div>
107 107
 										</div>
@@ -352,7 +352,7 @@
352 352
 										</div>
353 353
 									</div>
354 354
 									<div class="itp_form_in">
355
-										<div class="form-group colspan">
355
+										<div class="form-group border">
356 356
 											<label class="col-xs-2 itp_lb">품목이미지</label>
357 357
 											<div class="col-xs-10 itp_ip colspan">
358 358
 												<div class="fileupload-wrapper">
@@ -587,7 +587,7 @@
587 587
 										<div class="form-group border">
588 588
 											<label class="col-xs-2 itp_lb">품목이미지</label>
589 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 591
 												</div>
592 592
 											</div>
593 593
 										</div>

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

@@ -85,6 +85,11 @@
85 85
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
86 86
 								<input type="hidden" id="ITP_FORM_STINFO05010_DETAIL_BRAND_ID" name="brandId" value="">
87 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 94
 								<section class="itp_form_sec">
90 95
 									<h4 class="itp_form_tit">단가정보-신규</h4>
@@ -107,10 +112,10 @@
107 112
 												<label class="col-xs-2 itp_lb">품목번호 *</label>
108 113
 												<div class="col-xs-10 itp_ip">
109 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 116
 									                </div>
112 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 119
 									                </div>
115 120
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
116 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 127
 												<label class="col-xs-2 itp_lb">공급업체 *</label>
123 128
 												<div class="col-xs-10 itp_ip">
124 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 131
 									                </div>
127 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 134
 									                </div>
130 135
 													<div class="col-xs-2 itp_in" style="padding-left: 5px;">
131 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 343
 									<div class="itp_form_in">
339 344
 										<div class="form-group border">
340 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 347
 										</div>	
343 348
 									</div>			
344 349
 								</section>								

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

@@ -7,6 +7,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>
8 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 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 11
 				</div>
11 12
 			</div>
12 13
 			<div class="itp_det_in">

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

@@ -7,7 +7,6 @@
7 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 8
 				</div>				
9 9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11 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 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 12
 				</div>
@@ -21,8 +20,8 @@
21 20
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22 21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23 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 26
 								<section class="itp_form_sec">
28 27
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -83,7 +82,7 @@
83 82
 											<div class="col-xs-4 itp_ip">
84 83
 												<div class="itp_form_change">
85 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 86
 													</div>
88 87
 												</div>
89 88
 											</div>
@@ -101,14 +100,14 @@
101 100
 											<div class="col-xs-4 itp_ip">
102 101
 												<div class="itp_form_change">
103 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 104
 													</div>
106 105
 												</div>
107 106
 											</div>
108 107
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
109 108
 											<div class="col-xs-4 itp_ip">
110 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 111
 												</div>
113 112
 											</div>
114 113
 										</div>
@@ -121,10 +120,10 @@
121 120
 													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
122 121
 												</div>
123 122
 											</div>
124
-											<label class="col-xs-2 itp_lb">FAX</label>
123
+											<label class="col-xs-2 itp_lb">핸드폰</label>
125 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 127
 												</div>
129 128
 											</div>
130 129
 										</div>
@@ -137,10 +136,11 @@
137 136
 								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
138 137
 												</div>
139 138
 											</div>
140
-											<label class="col-xs-2 itp_lb">핸드폰</label>
139
+											<label class="col-xs-2 itp_lb">은행</label>
141 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 144
 												</div>
145 145
 											</div>
146 146
 										</div>
@@ -154,13 +154,8 @@
154 154
 													</select>												
155 155
 												</div>
156 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 159
 										</div>
165 160
 									</div>
166 161
 									<div class="itp_form_in">
@@ -179,6 +174,7 @@
179 174
 											</div>
180 175
 										</div>
181 176
 									</div>
177
+									
182 178
 									<div class="itp_form_in">
183 179
 										<div class="form-group">
184 180
 											<label class="col-xs-2 itp_lb">통장사본</label>
@@ -206,16 +202,16 @@
206 202
 											<label class="col-xs-2 itp_lb">주소 *</label>
207 203
 											<div class="col-xs-10 itp_ip">
208 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 206
 												</div>
211 207
 												<div class="col-xs-2 itp_in" style="width:10%;">
212 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 209
 												</div>
214 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 212
 												</div>
217 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 215
 												</div>
220 216
 											</div>
221 217
 										</div>
@@ -224,13 +220,13 @@
224 220
 										<div class="form-group">
225 221
 											<label class="col-xs-2 itp_lb">등록자/등록일</label>
226 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 224
 												<label class="col-xs-1 itp_in">/</label>
229 225
 												<div class="col-xs-5 itp_in fnRegDt"></div>
230 226
 											</div>
231 227
 											<label class="col-xs-2 itp_lb">수정자/수정일</label>
232 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 230
 												<label class="col-xs-1 itp_in">/</label>
235 231
 												<div class="col-xs-5 itp_in fnChgDt"></div>
236 232
 											</div>
@@ -248,11 +244,11 @@
248 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 245
 							</div>
250 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 252
 						</div>
257 253
 				    </div>
258 254
 				</div>

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

@@ -7,7 +7,6 @@
7 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 8
 				</div>	
9 9
 				<div style="top:0px; text-align:center; font-size:20px;">
10
-					<span style="text-decoration:underline; font-weight:600;">테스트공급업체</span>
11 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 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 12
 				</div>				

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

@@ -3029,13 +3029,13 @@ let itp_fn_form_event = {
3029 3029
 let itp_fn_attach_file = {
3030 3030
 	view: (id, fileList, clazz, style) => {
3031 3031
 		$.each(fileList, function(i, item) {
3032
-			var text = 	'<img ' +
3032
+			var img = 	'<img ' +
3033 3033
 						'src="' + item.filePath + '" ' +
3034 3034
 						'alt="' + item.fileNm + '" ' +
3035 3035
 						'id="' + (item.fileNo + '_' + i) + '" ' +
3036 3036
 						'class="' + clazz + '" ' +
3037 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 146
 	init: function () {
147 147
 		this.ui.init();
148 148
 		this.event.init();
149
-		this.fileUpload();
150 149
 	},
151 150
 	pageMode: '',
152 151
 	ui: {
@@ -251,13 +250,17 @@ let pageObj = {
251 250
 		//파일업로드(등록/수정화면)
252 251
 		var id = 'OPER02010';
253 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 257
 		const fileArgs = {
255 258
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
256 259
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
257 260
 			'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
258 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 265
 	switchScreen: function(mode) {
263 266
 		pageObj.pageMode = mode;
@@ -506,13 +509,8 @@ let viewObj = {
506 509
 		$('#ITP_FORM_OPER02010_VIEW .fnTargetNm').text(result.targetNm);
507 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 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 576
 		// createObj.form.init();
@@ -590,6 +581,7 @@ let modifyObj = {
590 581
 /*신규화면 Object*/
591 582
 let createObj = {
592 583
 	init: function () {
584
+		pageObj.fileUpload();
593 585
 		// this.form.init();
594 586
 	},
595 587
 	/*form: {

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

@@ -488,7 +488,6 @@ let viewObj = {
488 488
 		$('#ITP_FORM_OPER03010_VIEW .fnLoadAddr').text(result.addr1);
489 489
 		$('#ITP_FORM_OPER03010_VIEW .fnDtlAddr').text(result.addr2);
490 490
 
491
-		pageObj.fileUpload();
492 491
 		itp_fn_attach_file.view('ITP_OPER03010_VIEW_LOGO_FILE', result.fileLogNoList
493 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 598
 		save: function() {
600 599
 			const formId = '#ITP_FORM_OPER03010_DETAIL';
601
-			itp_fn_form_event.removeChar('#ITP_FORM_OPER03010_DETAIL');
602 600
 			itp_fn_form_clear_validate(null, formId);
603 601
 
604 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 626
 					let param = $(formId).serializeObject();
628 627
 					param.gridInsertData = gridInsertData;
629 628
 					param.gridUpdateData = gridUpdateData;

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

@@ -437,8 +437,9 @@ let modifyObj = {
437 437
         $('#ITP_FORM_OPER06010_DETAIL .fnAddDt').text(result.sysRegDttm);
438 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 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 443
             , 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
443 444
 
444 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 11
  - Object 목록								            -
12 12
  --------------------------------------------------------
13
- * const gridColModel = {}	: 화면 Grid Object			*
14 13
  * let pageObj = {}			: 화면공통 Object			*
15
- * let listObj = {}			: 목록화면 Object			*
16 14
  * let viewObj = {}			: 상세화면 Object			*
17 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 18
 let ITP_FORM_STINFO02011_DETAIL_IS_WRITING = false;
38 19
 
39 20
 /*API URL*/
@@ -42,100 +23,6 @@ let API_DETAIL_INFO 		= '/api/store/info-store';			// 상세
42 23
 let API_DETAIL_SAVE 		= '/api/store/save-store';			// 저장
43 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 26
 /*화면공통 Object*/
140 27
 let pageObj = {
141 28
 	init: function () {
@@ -146,7 +33,6 @@ let pageObj = {
146 33
 		init: function () {
147 34
 			this.view();
148 35
 			this.form();
149
-			this.grid();
150 36
 			this.ready();
151 37
 		},
152 38
 		view: function() {
@@ -168,7 +54,7 @@ let pageObj = {
168 54
 
169 55
 			// form alert message 주입
170 56
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
171
-				if($(this).data('alert-msg') === 'address') {
57
+				if($(this).data('alert-msg') === 'addrses') {
172 58
 					$(this).data('alert-msg', ITP_MSG_LOCALE.message.form.emptyAddr);
173 59
 				}
174 60
 			});
@@ -176,11 +62,6 @@ let pageObj = {
176 62
 		form: function() {
177 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 65
 		ready: function() {
185 66
 			viewObj.init();
186 67
 		}
@@ -206,18 +87,16 @@ let pageObj = {
206 87
 		}
207 88
 	},
208 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 93
 		if(mode == 'LIST') { // 목록
216 94
 			$('#ITP_AJAX_STINFO02011_LIST_CONTAINER').show();
217 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 97
 		} else if(mode == 'ADD') { // 등록
219 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 101
 			$('#ITP_FORM_STINFO02011_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
223 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 109
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
232 110
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
@@ -244,15 +122,17 @@ let pageObj = {
244 122
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
245 123
 				$(this).attr('disabled', false);
246 124
 			});
125
+
247 126
 		} else if(mode == 'MODIFY') { // 수정
248 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 130
 			$('#ITP_FORM_STINFO02011_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
252 131
 			$('#ITP_FORM_STINFO02011_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
253 132
 			$('#ITP_FORM_STINFO02011_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
254 133
 
255 134
 			$('#ITP_FORM_STINFO02011_DETAIL_STORE_ID').attr('readonly', true);
135
+			// $('#ITP_BTN_STINFO02011_RESET_PW').show();
256 136
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').show();
257 137
 			$('#ITP_FORM_STINFO02011_DETAIL .itp_form_info').find('input, select').each(function(i, elem) {
258 138
 				if($(this).data('check-required')) $(this).data('check-required', 'empty');
@@ -263,114 +143,10 @@ let pageObj = {
263 143
 				if($(this).data('check-required')) $(this).data('check-required', '');
264 144
 				$(this).attr('disabled', true);
265 145
 			});
146
+
266 147
 		} else if(mode == 'VIEW') { // 보기
267 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 204
 	init: function () {
429 205
 	},
430 206
 	button: {
431
-		modify: function (param) {
207
+		modify: function () {
432 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 210
 			var param = $.param(key);
436 211
 			modifyObj.load(param);
437 212
 		},
@@ -490,7 +265,7 @@ let modifyObj = {
490 265
 		var cmpyAdres = result.addr1/* + ' ' + result.addr*/;
491 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 269
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_ACCT_NO').val(result.storeAcctNo);
495 270
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_OWAC_NM').val(result.storeOwacNm);
496 271
 		$('#ITP_FORM_STINFO02011_DETAIL #ITP_FORM_STINFO02011_DETAIL_LOAN_DVSN').val(result.loanDvsn);
@@ -502,13 +277,3 @@ let modifyObj = {
502 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 39
 let ITP_FORM_STINFO03010_DETAIL_IS_DUPLICATE = false;
40 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 44
 /*API URL*/
43 45
 let API_DETAIL_GRID_LIST 	= '/api/spply/detail-grid-list';	// 목록
44 46
 let API_DETAIL_INFO 		= '/api/spply/info-spply';			// 상세
@@ -144,12 +146,20 @@ const gridColModel = {
144 146
 			width: '10', fixed: false, align: 'center',
145 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 158
 			index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
149 159
 			label: ITP_MSG_LOCALE.label.assgnTaskNm, //담당업무
150 160
 			width: '10', fixed: false, align: 'center',
151 161
 			sortable: false, editable: true, edittype: 'text'
152
-		}
162
+		}*/
153 163
 	]
154 164
 };
155 165
 
@@ -433,7 +443,7 @@ let viewObj = {
433 443
 	callback: function (result) {
434 444
 		console.log(result);
435 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 447
 		$('#ITP_FORM_STINFO03010_VIEW .fnBrandNm').text(result.brandNm);
438 448
 		$('#ITP_FORM_STINFO03010_VIEW .fnStCd').text(result.stNm);
439 449
 		$('#ITP_FORM_STINFO03010_VIEW .fnSpplyId').text(result.spplyId);
@@ -462,6 +472,12 @@ let viewObj = {
462 472
 		// $('#ITP_FORM_STINFO03010_VIEW .fnRegDt').text(result.openDt);
463 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 482
 		pageObj.grid.init('VIEW', result.spplyMgrList);
467 483
 		// viewObj.grid.load(result.spplyMgrList);
@@ -475,7 +491,7 @@ let modifyObj = {
475 491
 	button: {
476 492
 		modify: function (param) {
477 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 495
 			const key = {brandId:fn_make_user_info.get('brandId'), spplyId: selectVal, viewCd: 'R'};
480 496
 			var param = $.param(key);
481 497
 			modifyObj.load(param);
@@ -493,6 +509,7 @@ let modifyObj = {
493 509
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
494 510
 		$('#ITP_FORM_STINFO03010_DETAIL .fnBrandNm').text(result.brandNm);
495 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 513
 		$('#ITP_FORM_STINFO03010_DETAIL .fnSpplyId').text(result.spplyId);
497 514
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_CORP_TYPE').val(result.corpType);
498 515
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_SPPLY_NM').val(result.spplyNm);
@@ -552,6 +569,7 @@ let createObj = {
552 569
 			const formId = '#ITP_FORM_STINFO03010_DETAIL';
553 570
 			itp_fn_form_clear_validate(null, formId);
554 571
 			if (createObj.isValid(formId)) {
572
+				itp_fn_grid_save_rows(STINFO03010_DETAIL_GRID_ID);
555 573
 				let gridInsertData = [];
556 574
 				let gridUpdateData = [];
557 575
 				let gridDeleteData = [];
@@ -559,19 +577,19 @@ let createObj = {
559 577
 					$(STINFO03010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
560 578
 				}
561 579
 				const rowData = $(STINFO03010_DETAIL_GRID_ID).getRowData();
562
-				const keyValue = $(formId + '_BRAND_ID').val();
563 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 584
 							gridInsertData.push(value);
568
-						} else if (value.viewCd == 'U') {
585
+						} else if (value.viewCd === 'U') {
569 586
 							gridUpdateData.push(value);
570
-						} else if (value.viewCd == 'D') {
587
+						} else if (value.viewCd === 'D') {
571 588
 							gridDeleteData.push(value);
572 589
 						}
573 590
 					}
574 591
 				});
592
+				itp_fn_form_event.removeChar(formId);
575 593
 				let param = $(formId).serializeObject();
576 594
 				param.gridInsertData = gridInsertData;
577 595
 				param.gridUpdateData = gridUpdateData;

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

@@ -154,7 +154,7 @@ let pageObj = {
154 154
     init: function () {
155 155
         this.ui.init();
156 156
         this.event.init();
157
-        this.fileUpload();
157
+        // this.fileUpload();
158 158
     },
159 159
     ui: {
160 160
         init: function () {
@@ -225,7 +225,7 @@ let pageObj = {
225 225
             'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
226 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 230
     switchScreen: function(mode) {
231 231
         $('.itp_det_head').find('button[id^="ITP_BTN_STINFO04010_"]').each(function(i) {
@@ -437,9 +437,9 @@ let viewObj = {
437 437
         $('#ITP_FORM_STINFO04010_VIEW .fnRtnPssblYn').text(result.rtnPssblYn);
438 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 466
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_VIEW_CD').val('U');
467 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 469
         $('#ITP_FORM_STINFO04010_DETAIL .fnItemClassMgntNo').text(result.itemId);
470 470
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_TYPE').val(result.itemType);
471 471
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_ITEM_NM').val(result.itemClassNm);
@@ -489,9 +489,12 @@ let modifyObj = {
489 489
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_EXPRY_PERIOD').val(result.expryPeriod);
490 490
         $('#ITP_FORM_STINFO04010_DETAIL #ITP_FORM_STINFO04010_DETAIL_RTN_PSSBL_YN').val(result.rtnPssblYn);
491 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 499
         itemClassLevel.data.push(result.itemClass1);
497 500
         itemClassLevel.data.push(result.itemClass2);
@@ -505,6 +508,7 @@ let modifyObj = {
505 508
 let createObj = {
506 509
     init: function () {
507 510
         pageObj.switchScreen('ADD');
511
+        pageObj.fileUpload();
508 512
         itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO04010_DETAIL');
509 513
         this.button.init();
510 514
         itemClassLevel.make(1, 'ADD');

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

@@ -140,7 +140,6 @@ let pageObj = {
140 140
 	init: function () {
141 141
 		this.ui.init();
142 142
 		this.event.init();
143
-		this.fileUpload();
144 143
 	},
145 144
 	ui: {
146 145
 		init: function () {
@@ -166,6 +165,13 @@ let pageObj = {
166 165
 			$('#ITP_TAB_STINFO05010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
167 166
 			$('#ITP_FORM_STINFO05010_SEARCH_CONT_STT_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
168 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 176
 		grid: function() {
171 177
 			itp_fn_jqgrid_resize(STINFO05010_GRID_ID, STINFO05010_GRID_LIST, 'sm');
@@ -426,9 +432,8 @@ let viewObj = {
426 432
 		$('#ITP_FORM_STINFO05010_VIEW .fnChgId').text(result.sysChgId);
427 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 465
 		$('#ITP_FORM_STINFO05010_DETAIL .fnItemNm').text(result.itemNm);
461 466
 		$('#ITP_FORM_STINFO05010_DETAIL .fnSpplyId').text(result.spplyId);
462 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 472
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_SPPLY_ITEM_ID').val(result.spplyItemId);
468 473
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_STT_DT').val(result.contSttDt);
469 474
 		$('#ITP_FORM_STINFO05010_DETAIL #ITP_FORM_STINFO05010_DETAIL_CONT_END_DT').val(result.contEndDt);
@@ -478,9 +483,9 @@ let modifyObj = {
478 483
 		$('#ITP_FORM_STINFO05010_DETAIL .fnRegDt').text(result.sysRegDttm);
479 484
 		$('#ITP_FORM_STINFO05010_DETAIL .fnChgId').text(result.sysChgId);
480 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 493
 let createObj = {
489 494
 	init: function () {
490 495
 		pageObj.switchScreen('ADD');
496
+		pageObj.fileUpload();
491 497
 		itp_fn_form_clear_validate(null, '#ITP_FORM_STINFO05010_DETAIL');
492 498
 		$('#ITP_FORM_STINFO05010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
493 499
 		$('#ITP_FORM_STINFO05010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
@@ -499,7 +505,10 @@ let createObj = {
499 505
 		save: function() {
500 506
 			const formId = '#ITP_FORM_STINFO05010_DETAIL';
501 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 512
 				let param = $(formId).serializeObject();
504 513
 				console.log(JSON.stringify(param));
505 514
 				var searhFn = function() {
@@ -509,17 +518,6 @@ let createObj = {
509 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 572
 					if(id.lastIndexOf('ITEM') > -1) {
575 573
 						$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val(rowDataPop.itemId);
576 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 577
 					} else {
578 578
 						$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val(rowDataPop.spplyId);
579 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 594
 			if(id.lastIndexOf('ITEM') > -1) {
593 595
 				$('#ITP_FORM_STINFO05010_DETAIL_ITEM_ID').val('');
594 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 599
 			} else {
596 600
 				$('#ITP_FORM_STINFO05010_DETAIL_SPPLY_ID').val('');
597 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 60
 			index: 'STORE_NM', name: 'storeNm',
61 61
 			label: ITP_MSG_LOCALE.label.storeNm, //매장명
62
-			width: '10', fixed: false, align: 'center',
62
+			width: '15', fixed: false, align: 'center',
63 63
 			sortable: false, hidden: false
64 64
 		},
65 65
 		{
66 66
 			index: 'CONT_STT_DT', name: 'contSttDt',
67 67
 			label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
68
-			width: '15', fixed: false, align: 'center',
68
+			width: '10', fixed: false, align: 'center',
69 69
 			sortable: false, hidden: false
70 70
 		},
71 71
 		{
72 72
 			index: 'CONT_END_DT', name: 'contEndDt',
73 73
 			label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
74
-			width: '6', fixed: false, align: 'center',
74
+			width: '10', fixed: false, align: 'center',
75 75
 			sortable: false, hidden: false
76 76
 		},
77 77
 		{
78 78
 			index: 'SYS_REG_DTTM', name: 'sysRegDttm',
79 79
 			label: ITP_MSG_LOCALE.label.sysRegDt, //계약생성일
80
-			width: '6', fixed: false, align: 'center',
80
+			width: '10', fixed: false, align: 'center',
81 81
 			sortable: false, hidden: false
82 82
 		},
83 83
 		{
@@ -210,8 +210,8 @@ let pageObj = {
210 210
 			// 조회일자 지정
211 211
 			var now = new Date();
212 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 216
 		grid: function() {
217 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 257
 			$('body').on('click', function(e) {
244 258
 				var gridId = STINFO06010_DETAIL_GRID_ID.replace('#', '');
245 259
 				itp_fn_grid_reset_selection(e, STINFO06010_GRID_LAST_ROW_ID, gridId, 'STINFO06010');
@@ -322,7 +336,8 @@ let listObj = {
322 336
 			$(STINFO06010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
323 337
 		},
324 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 343
 	empty: {
@@ -377,8 +392,8 @@ let listObj = {
377 392
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_ID').val(storeId);
378 393
 						$('#ITP_FORM_STINFO06010_DETAIL_STORE_NM').val(storeNm);
379 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 399
 				loadComplete: function(data) {
@@ -488,9 +503,8 @@ let modifyObj = {
488 503
 
489 504
 /*신규화면 Object*/
490 505
 let createObj = {
491
-	init: function () {
506
+	init: function (param) {
492 507
 		pageObj.switchScreen('ADD');
493
-		var param = $.param($('#ITP_FORM_STINFO06010_DETAIL').serializeObject());
494 508
 		this.grid.init(param);
495 509
 		this.button.init();
496 510
 	},
@@ -525,17 +539,20 @@ let createObj = {
525 539
 				var gridUpdateData = [];
526 540
 				var changeRows = createObj.changeRows(rows);
527 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 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 557
 				param['viewCd'] = 'U';
541 558
 				param['brandId'] = fn_make_user_info.get('brandId');
@@ -565,7 +582,7 @@ let createObj = {
565 582
 			var option = {
566 583
 				gridId: STINFO06010_DETAIL_GRID_ID,
567 584
 				colModel: gridColModel.detail,
568
-				mtype: 'GET',
585
+				mtype: 'POST',
569 586
 				param: param,
570 587
 				url: DOMAIN + API_DETAIL_NEW,
571 588
 				loadComplete: function(data) {

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

@@ -70,7 +70,6 @@ require(['config'], function() {
70 70
 				param.gridInsertData = gridInsertData;
71 71
 				param.gridUpdateData = gridUpdateData;
72 72
 				param.gridDeleteData = gridDeleteData;
73
-				console.log(param); return;
74 73
 				var searhFn = function() {
75 74
 					var keyword = {keyword: $('#ITP_KEYWORD_SYSTEM03010_INPUT').val()};
76 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 17
 let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18 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 23
 //API URL
21 24
 let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22 25
 let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
@@ -48,7 +51,7 @@ const gridColModel = {
48 51
 		},
49 52
 		{
50 53
 			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
-			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
54
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, 	//담당자명
52 55
 			width: '20', fixed: false, align: 'center',
53 56
 			sortable: false, editable: true, edittype: 'text',
54 57
 			editrules: {required: true}
@@ -69,19 +72,16 @@ const gridColModel = {
69 72
             index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70 73
             label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71 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 80
             label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83 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 92
 	init: function () {
93 93
         this.ui.init();
94 94
 		this.event.init();
95
-		this.fileUpload();
96 95
     },
97 96
     ui: {
98 97
         init: function () {
99 98
             this.view();
100 99
             this.grid();
100
+            this.form();
101 101
             this.ready();
102 102
         },
103 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 117
         grid: function() {
115 118
             itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116 119
             modifyObj.empty.init();
@@ -151,23 +154,33 @@ let pageObj = {
151 154
         var id = 'VENDINFO01010';
152 155
         var acctScrId = 'VENDINFO01010_ACCT';
153 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 162
             'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156 163
             'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157 164
             'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158 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 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 177
 		const corpFileArgs = {
165 178
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166 179
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167 180
 			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168 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 185
     switchScreen: function(mode) {
173 186
 		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
@@ -227,7 +240,7 @@ let pageObj = {
227 240
 		gridList: '',
228 241
 		gridEmpty: '',
229 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 244
 			var _this = this;
232 245
 			var option = {
233 246
 				gridId: _this.gridId,
@@ -238,7 +251,7 @@ let pageObj = {
238 251
 					console.log(data);
239 252
 					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240 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 257
 			itp_fn_grid_make_local(option);
@@ -257,28 +270,20 @@ let modifyObj = {
257 270
 	},
258 271
 	button: {
259 272
 		address: function() {
260
-			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
273
+			kakaoMap.simpleAddress('ITP_FORM_VENDINFO01010_DETAIL');
261 274
 		},
262 275
 		addRow: function() {
263 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 279
 		delRow: function() {
266 280
 			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267 281
 		},
268 282
 		save: function() {
269 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 287
 				let gridInsertData = [];
283 288
 				let gridUpdateData = [];
284 289
 				let gridDeleteData = [];
@@ -286,7 +291,7 @@ let modifyObj = {
286 291
 					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287 292
 				}
288 293
 				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
-				const keyValue = $(formId + '_USER_ID').val();
294
+				const keyValue = $(formId + '_BRAND_ID').val();
290 295
 				$.each(rowData, function(key, value) {
291 296
 					if (value.viewCd != 'R') {
292 297
 							value.userId = keyValue;
@@ -367,14 +372,13 @@ let modifyObj = {
367 372
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368 373
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369 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 379
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376 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 382
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379 383
 		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380 384
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
@@ -382,6 +386,11 @@ let modifyObj = {
382 386
 		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383 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 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 38
 			width: '7', fixed: false, align: 'center',
39 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 42
 			index: 'CURR', name: 'curr',
49 43
 			label: ITP_MSG_LOCALE.label.curr, 		//통화
@@ -54,7 +48,8 @@ const gridColModel = {
54 48
 			index: 'UNIT_AMT', name: 'unitAmt',
55 49
 			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56 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 55
 			index: 'CONT_STT_DT', name: 'contSttDt',
@@ -74,12 +69,6 @@ const gridColModel = {
74 69
 			width: '7', fixed: false, align: 'center',
75 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 73
 			index: 'UNIT_ST_NM', name: 'unitStNm',
85 74
 			label: ITP_MSG_LOCALE.label.status, 	//상태
@@ -293,7 +282,7 @@ let listObj = {
293 282
                     itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
294 283
                     var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
295 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 288
                 onPaging: function(action) {

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

@@ -5,43 +5,56 @@
5 5
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 6
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 7
     <title>로그인</title>
8
-    <link rel="stylesheet" href="/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 17
   </head>
10 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 23
       <div class="login_popup">
12 24
         <div class="login_info">
13 25
           <h1>서비스<br>VISUAL IMAGE</h1>
14 26
         </div>
15 27
         <div class="num_area">
16 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 32
           </div>
21 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 36
             </select>
26 37
           </div>
27 38
         </div>
28 39
         <div class="login_page">
29 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 43
           </div>
33 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 47
           </div>
37 48
         </div>
38 49
         <div class="error">
39 50
           <label>사업자번호와 관련된 브랜드 정보가 없습니다.</label>
40 51
         </div>
41
-      </div> 
52
+      </div>
42 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 55
       </div>
45
-    </div>   
56
+      </form>
57
+    </div>
58
+  <script src="../js/app/login.js?version=20210826"></script>
46 59
 </html>
47 60
 

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

@@ -5,15 +5,42 @@
5 5
 	<meta http-equiv="X-UA-Compatible" content="IE=edge">
6 6
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
7 7
 	<title>모바일 수발주</title>
8
-	<link rel="stylesheet" href="/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 36
 </head>
10 37
 	<body>
11 38
 		<div id="ITP_WRAPPER">
12 39
 			<header>
13 40
 				<div class="header_wrap">
14 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 44
 					</div>
18 45
 					<div class="logout">
19 46
 						<button id="ITP_BTN_LOGOUT">로그<br>아웃</button>
@@ -31,14 +58,68 @@
31 58
 					</div>
32 59
 				</div>
33 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 115
 			<div id="ITP_MENU" style="display: block;">
35 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 118
 				</div>
38 119
 				<div class="menu_bar">
39 120
 					<div class="menu_header">
40 121
 						<div class="brand_img">
41
-							<img src="/img/naver.png">
122
+							<img src="../img/naver.png">
42 123
 						</div>
43 124
 						<div class="user_info">
44 125
 							<div class="">홍길동</div>
@@ -46,7 +127,7 @@
46 127
 							<div class="id">asdf1234</div>
47 128
 						</div>
48 129
 						<div class="setting">
49
-							<button><img src="/img/gear.png"></button>
130
+							<button><img src="../img/gear.png"></button>
50 131
 						</div>
51 132
 					</div>
52 133
 					<div class="menu_select">
@@ -59,25 +140,25 @@
59 140
 									<ul>
60 141
 										<li>
61 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 144
 												<span class="fnMenuNm">구매요청생성</span>
64 145
 											</div>
65 146
 										</li>
66 147
 										<li>
67 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 150
 												<span class="fnMenuNm">구매요청현황</span>
70 151
 											</div>
71 152
 										</li>
72 153
 										<li>
73 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 156
 												<span class="fnMenuNm">입고처리</span>
76 157
 											</div>
77 158
 										</li>
78 159
 										<li>
79 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 162
 												<span class="fnMenuNm">입고현황</span>
82 163
 											</div>
83 164
 										</li>
@@ -92,31 +173,31 @@
92 173
 									<ul>
93 174
 										<li>
94 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 177
 												<span class="fnMenuNm">반품요청</span>
97 178
 											</div>
98 179
 										</li>
99 180
 										<li>
100 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 183
 												<span class="fnMenuNm">반품요청현황</span>
103 184
 											</div>
104 185
 										</li>
105 186
 										<li>
106 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 189
 												<span class="fnMenuNm">반품발주현황</span>
109 190
 											</div>
110 191
 										</li>
111 192
 										<li>
112 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 195
 												<span class="fnMenuNm">반품처리</span>
115 196
 											</div>
116 197
 										</li>
117 198
 										<li>
118 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 201
 												<span class="fnMenuNm">반품현황</span>
121 202
 											</div>
122 203
 										</li>
@@ -144,6 +225,10 @@
144 225
 					</div>
145 226
 				</div>
146 227
 			</div>
228
+			<div id="ITP_CONTAINER">
229
+
230
+			</div>
231
+			<script src="../js/app/main.js?version=20210826"></script>
147 232
 		</div>
148 233
 	</body>
149 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 2
 * {margin: 0; padding: 0; box-sizing: border-box; text-align: center; font-family: 'NanumBarunGothic', 'serif'; list-style: none;}
3 3
 section {}
4 4
 body{background: #fff; position: relative; width: 100%; height: 500px;}
@@ -101,7 +101,7 @@ body.eee {height: 700px; background: #eee;}
101 101
 #ITP_LOGIN .login_popup .num_area .input_area {margin-bottom: 10px;}
102 102
 #ITP_LOGIN .login_popup .num_area .input_area input {width:52%; font-size: 0.8rem; }
103 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 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 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 10
 		// itp_fn_login_init();
11
-		
11
+
12 12
 		$('#ITP_LOGIN').on('keyup', 'input, textarea', function() {
13 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 21
 		$('#login_btn').click(function() {
18 22
 			if(itp_fn_login_validate()) {
19 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 40
     if (save_id !== null) {
37 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 59
 function itp_fn_login_validate() {
42 60
 	$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').removeClass('has-error');
43 61
 	$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').removeClass('has-error');
44 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 65
 		$('#ITP_FORM_LOGIN_USER_ID').closest('.form-group').addClass('has-error');
48 66
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needId);
49 67
 		return false;
50 68
 	}
51 69
 
52
-	if ($('#ITP_FORM_LOGIN_USER_PW').val() == '') {
70
+	if ($('#ITP_FORM_LOGIN_USER_PW').val() === '') {
53 71
 		$('#ITP_FORM_LOGIN_USER_PW').closest('.form-group').addClass('has-error');
54 72
 		$('#ITP_FORM_LOGIN_ERROR').text(ITP_MSG_LOCALE.message.login.needPw);
55 73
 		return false;
@@ -64,15 +82,17 @@ function itp_fn_login_validate() {
64 82
 	}
65 83
 
66 84
 	return true;
67
-};
85
+}
68 86
 
69 87
 function itp_fn_login_proc() {
70 88
 	var callbackFn = function(result) {
71 89
 		var hashed = fnHashed(result.hashed);
72 90
 		$('#userId').val(CryptoJS.AES.encrypt($('#ITP_FORM_LOGIN_USER_ID').val(), hashed));
73 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 94
 	    var loginFn = function(result) {
75
-			// alert('SIGN-IN RESULT : ' + JSON.stringify(result));		
95
+			alert('SIGN-IN RESULT : ' + JSON.stringify(result));
76 96
 			sessionStorage.setItem('itp_login_info', JSON.stringify({
77 97
 				timestamp: new Date(),
78 98
 		        connKey: result.connKey		// Jwt키를 가져와서 세션 스토리지에 저장
@@ -80,7 +100,8 @@ function itp_fn_login_proc() {
80 100
 	    	$(location).attr('href', MOBILE_CONTEXTPATH + '/app/main.html');
81 101
 		};
82 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 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 26
 	    	// // Barcode
27 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 36
 		}, 100);
30 37
 				
31 38
 	});

Разница между файлами не показана из-за своего большого размера
+ 44 - 2683
src/main/webapp/mobile/js/config.js