Browse Source

html 수정중

whakdo963 2 years ago
parent
commit
5e7bc58fb9
26 changed files with 3563 additions and 810 deletions
  1. 13 13
      bin/src/main/webapp/app/loanmng/LOANMNG01010.html
  2. 67 39
      bin/src/main/webapp/app/loanmng/LOANMNG02010.html
  3. 16 14
      bin/src/main/webapp/app/loanmng/LOANMNG03010.html
  4. 236 68
      bin/src/main/webapp/app/oper/OPER06010.html
  5. 1 1
      bin/src/main/webapp/app/popup/biz/BIZPOP_ITEM_CLASS_MANAGE.html
  6. 32 0
      bin/src/main/webapp/app/popup/biz/BIZPOP_PO_REJECT_REASON.html
  7. 11 11
      bin/src/main/webapp/app/stinfo/STINFO06010.html
  8. 6 2
      bin/src/main/webapp/bootstrap-fileUpload/dist/bootstrap-FileUpload.css
  9. 2 2
      bin/src/main/webapp/css/style.css
  10. 4 2
      bin/src/main/webapp/js/app/config.js
  11. 68 420
      bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG01010.js
  12. 574 0
      bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG02010.js
  13. 821 0
      bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG03010.js
  14. 1 0
      bin/src/main/webapp/js/app/locales/locale-ko.js
  15. 1 1
      bin/src/main/webapp/js/app/oper/ITP_OPER06010.js
  16. 1 0
      bin/src/main/webapp/js/app/popup/biz/ITP_BIZPOP_ITEM_CLASS_MANAGE.js
  17. 52 0
      bin/src/main/webapp/js/app/popup/biz/ITP_BIZPOP_PO_REJECT_REASON.js
  18. 3 0
      bin/src/main/webapp/js/app/stinfo/ITP_STINFO03010.js
  19. 190 140
      bin/src/main/webapp/js/app/stinfo/ITP_STINFO06010.js
  20. 31 24
      bin/src/main/webapp/js/app/stinfo/ITP_STINFO07010.js
  21. 594 0
      bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO02010.js
  22. 236 68
      src/main/webapp/app/oper/OPER06010.html
  23. 6 2
      src/main/webapp/bootstrap-fileUpload/dist/bootstrap-FileUpload.css
  24. 2 2
      src/main/webapp/css/style.css
  25. 1 1
      src/main/webapp/js/app/oper/ITP_OPER06010.js
  26. 594 0
      src/main/webapp/js/app/vendinfo/ITP_VENDINFO02010.js

+ 13 - 13
bin/src/main/webapp/app/loanmng/LOANMNG01010.html

@@ -118,30 +118,30 @@
118
 							<div class="itp_det_head fix" style="background:#fff; margin-top: 12px;">
118
 							<div class="itp_det_head fix" style="background:#fff; margin-top: 12px;">
119
 								<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>여신이력</strong></h2>
119
 								<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>여신이력</strong></h2>
120
 							</div>
120
 							</div>
121
-							<div id="ITP_AJAX_LOANMNG01010_LIST_CONTAINER">
121
+							<div id="ITP_AJAX_LOANMNG01010_VIEW_LIST_CONTAINER">
122
 								<div class="itp_lg_form itp_type1 fix" style="padding-left: 0px; padding-right: 0px; margin-top: -11px;">
122
 								<div class="itp_lg_form itp_type1 fix" style="padding-left: 0px; padding-right: 0px; margin-top: -11px;">
123
 									<div class="itp_srh_border fix">
123
 									<div class="itp_srh_border fix">
124
 										<div class="col-xs-12">
124
 										<div class="col-xs-12">
125
-											<form id="ITP_FORM_LOANMNG01010_SEARCH" class="form-horizontal">
125
+											<form id="ITP_FORM_LOANMNG01010_VIEW_SEARCH" class="form-horizontal">
126
+												<input type="hidden" id="ITP_FORM_LOANMNG01010_VIEW_SEARCH_LOAN_MGNT_UNQ_NO" name="sloanMgntUnqNo" value="">
127
+											
126
 												<div class="col-xs-1 itp_ip itp_noMar" style="top:2px">
128
 												<div class="col-xs-1 itp_ip itp_noMar" style="top:2px">
127
-													<label class="itp_in">발생일자</label>
129
+													<label class="itp_in">거래일자</label>
128
 												</div>
130
 												</div>
129
-												<div class="col-xs-3 itp_ip itp_noMar">
130
-													<div class="col-xs-12 itp_ip">
131
-														<div class="input-daterange input-group date">
132
-															<input type="text" id="ITP_FORM_LOANMNG01010_SEARCH_" class="form-control itp_input" name="" value="">
133
-															<span class="input-group-addon itp_date_to">~</span>
134
-															<input type="text" id="ITP_FORM_LOANMNG01010_SEARCH_" class="form-control itp_input" name="" value="">
135
-														</div>
131
+												<div class="col-xs-2 itp_ip itp_noMar">
132
+													<div class="input-daterange input-group date">
133
+														<input type="text" id="ITP_FORM_LOANMNG01010_SEARCH_FROM" class="form-control itp_input" name="fromDt" value="">
134
+														<span class="input-group-addon itp_date_to">~</span>
135
+														<input type="text" id="ITP_FORM_LOANMNG01010_SEARCH_TO" class="form-control itp_input" name="toDt" value="">
136
 													</div>
136
 													</div>
137
 												</div>
137
 												</div>
138
-												<div class="col-xs-3 itp_in itp_noMar">
139
-													<select id="ITP_FORM_LOANMNG01010_SEARCH_LOAN_DVSN" class="form-control itp_input" name="loanDvsn">
138
+												<div class="col-xs-2 itp_in itp_noMar">
139
+													<select id="ITP_FORM_LOANMNG01010_SEARCH_DPST_PAY_DVSN" data-select-code="DPST_PAY_DVSN" class="form-control itp_input" name="sdpstPayDvsn">
140
 														<option value="">입금/지급</option>
140
 														<option value="">입금/지급</option>
141
 													</select>
141
 													</select>
142
 												</div>
142
 												</div>
143
 												<div class="col-xs-2 itp_ip itp_noMar">
143
 												<div class="col-xs-2 itp_ip itp_noMar">
144
-													<button type="button" id="ITP_BTN_LOANMNG01010_SEARCH_SRH" class="btn btn-primary btn-sm HIST" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;이력조회&nbsp;&nbsp;</button>
144
+													<button type="button" id="ITP_BTN_LOANMNG01010_VIEW_SEARCH_SRH" class="btn btn-primary btn-sm HIST" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;이력조회&nbsp;&nbsp;</button>
145
 												</div>
145
 												</div>
146
 											</form>
146
 											</form>
147
 										</div>
147
 										</div>

+ 67 - 39
bin/src/main/webapp/app/loanmng/LOANMNG02010.html

@@ -2,14 +2,14 @@
2
 	<div class="itp_cont">
2
 	<div class="itp_cont">
3
 		<article class="itp_detail">
3
 		<article class="itp_detail">
4
 			<div class="itp_det_head fix">
4
 			<div class="itp_det_head fix">
5
-				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>입금 관리</strong></h2>
5
+				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>입금관리</strong></h2>
6
 				<div class="pull-right itp_cicon">
6
 				<div class="pull-right itp_cicon">
7
 					<button type="button" id="ITP_BTN_LOANMNG02010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_LOANMNG02010_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_LOANMNG02010_SRH" class="btn btn-success btn-sm AGR" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;승인&nbsp;&nbsp;</button>
9
-					<button type="button" id="ITP_BTN_LOANMNG02010_SRH" class="btn btn-success btn-sm RJT" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;반려&nbsp;&nbsp;</button>
10
-					<button type="button" id="ITP_BTN_LOANMNG02010_SRH" class="btn btn-success btn-sm REQ" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;요청&nbsp;&nbsp;</button>
8
+					<button type="button" id="ITP_BTN_LOANMNG02010_AGREE" class="btn btn-success btn-sm AGR" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;승인&nbsp;&nbsp;</button>
9
+					<button type="button" id="ITP_BTN_LOANMNG02010_REJECT" class="btn btn-success btn-sm RJT" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;반려&nbsp;&nbsp;</button>
10
+					<button type="button" id="ITP_BTN_LOANMNG02010_REQUEST" class="btn btn-success btn-sm REQ" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;요청&nbsp;&nbsp;</button>
11
 					<button type="button" id="ITP_BTN_LOANMNG02010_NEWREG" class="btn btn-primary btn-sm NDP" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;신규입금&nbsp;&nbsp;</button>
11
 					<button type="button" id="ITP_BTN_LOANMNG02010_NEWREG" class="btn btn-primary btn-sm NDP" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;신규입금&nbsp;&nbsp;</button>
12
-					<button type="button" id="ITP_BTN_LOANMNG02010_SAVE" class="btn btn-success btn-sm DEB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
12
+					<button type="button" id="ITP_BTN_LOANMNG02010_DELETE" class="btn btn-success btn-sm DEB"><i class="glyphicon"></i>&nbsp;&nbsp;삭제&nbsp;&nbsp;</button>
13
 					<button type="button" id="ITP_BTN_LOANMNG02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon"></i>&nbsp;&nbsp;취소/목록&nbsp;&nbsp;</button>
13
 					<button type="button" id="ITP_BTN_LOANMNG02010_CANCELLIST" class="btn btn-warning btn-sm PRB"><i class="glyphicon"></i>&nbsp;&nbsp;취소/목록&nbsp;&nbsp;</button>
14
 				</div>				
14
 				</div>				
15
 			</div>
15
 			</div>
@@ -19,25 +19,32 @@
19
 						<div class="itp_srh_border fix">
19
 						<div class="itp_srh_border fix">
20
 							<div class="col-xs-12">
20
 							<div class="col-xs-12">
21
 								<form id="ITP_FORM_LOANMNG02010_SEARCH" class="form-horizontal">
21
 								<form id="ITP_FORM_LOANMNG02010_SEARCH" class="form-horizontal">
22
+									<input type="hidden" id="ITP_FORM_LOANMNG02010_SEARCH_BRAND_ID" name="sbrandId" value="">
23
+									<input type="hidden" id="ITP_FORM_LOANMNG02010_SEARCH_STORE_ID" name="sstoreId" value="">
24
+								
22
 									<div class="form-group">
25
 									<div class="form-group">
23
-										<div class="col-xs-3 itp_ip">
24
-											<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_STORE_NM" class="form-control itp_input" name="sStoreNm" placeholder="매장명" />
26
+										<div class="col-xs-2 itp_ip itp_noMar">
27
+											<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_STORE_NM" class="form-control itp_input" placeholder="매장선택" readonly="readonly" value="" />
28
+										</div>
29
+										<div class="col-xs-1 itp_ip itp_noMar">
30
+											<button type="button" id="ITP_BTN_LOANMNG02010_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_LOANMNG02010_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
25
 										</div>
32
 										</div>
26
-										<div class="col-xs-5 itp_ip itp_noMar">
27
-											<div class="col-xs-2 itp_ip itp_noMar" style="top:2px">
28
-												<label>한도범위</label>
33
+										<div class="col-xs-3 itp_ip itp_noMar">
34
+											<div class="col-xs-3 itp_ip itp_noMar" style="top:2px">
35
+												<label>입금일자</label>
29
 											</div>
36
 											</div>
30
-											<div class="col-xs-9 itp_ip">
37
+											<div class="col-xs-8 itp_ip itp_noMar">
31
 												<div class="input-daterange input-group date">
38
 												<div class="input-daterange input-group date">
32
-													<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_" class="form-control itp_input" name="" value="">
39
+													<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="">
33
 													<span class="input-group-addon itp_date_to">~</span>
40
 													<span class="input-group-addon itp_date_to">~</span>
34
-													<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_" class="form-control itp_input" name="" value="">
41
+													<input type="text" id="ITP_FORM_LOANMNG02010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="">
35
 												</div>
42
 												</div>
36
 											</div>
43
 											</div>
37
 										</div>
44
 										</div>
38
 										<div class="col-xs-2 itp_ip itp_noMar">
45
 										<div class="col-xs-2 itp_ip itp_noMar">
39
-											<select id="ITP_FORM_LOANMNG02010_SEARCH_LOAN_DVSN" class="form-control itp_input" name="loanDvsn">
40
-												<option value="">정산타입</option>
46
+											<select id="ITP_FORM_LOANMNG02010_SEARCH_DPST_ST_CD" data-select-code="DPST_ST_CD" class="form-control itp_input" name="sdpstStCd">
47
+												<option value="">입금상태</option>
41
 											</select>
48
 											</select>
42
 										</div>
49
 										</div>
43
 									</div>
50
 									</div>
@@ -59,9 +66,11 @@
59
 						<div class="col-xs-12">
66
 						<div class="col-xs-12">
60
 							<form id="ITP_FORM_LOANMNG02010_DETAIL" class="form-horizontal">
67
 							<form id="ITP_FORM_LOANMNG02010_DETAIL" class="form-horizontal">
61
 								<input type="hidden" id="ITP_FORM_LOANMNG02010_DETAIL_VIEW_CD" name="viewCd" value="C">
68
 								<input type="hidden" id="ITP_FORM_LOANMNG02010_DETAIL_VIEW_CD" name="viewCd" value="C">
69
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_DETAIL_BRAND_ID" name="brandId" value="">
70
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_DETAIL_STORE_ID" name="storeId" value="">
62
 					
71
 					
63
 								<section class="itp_form_sec">
72
 								<section class="itp_form_sec">
64
-									<h4 class="itp_form_tit">입금정보-신규</h4>
73
+									<h4 class="itp_form_tit">입금정보</h4>
65
 									<div class="itp_form_in">
74
 									<div class="itp_form_in">
66
 										<div class="form-group">
75
 										<div class="form-group">
67
 											<label class="col-xs-2 itp_lb">브랜드 *</label>
76
 											<label class="col-xs-2 itp_lb">브랜드 *</label>
@@ -78,36 +87,50 @@
78
 										<div class="form-group">
87
 										<div class="form-group">
79
 											<label class="col-xs-2 itp_lb">입금금액</label>
88
 											<label class="col-xs-2 itp_lb">입금금액</label>
80
 											<div class="col-xs-4 itp_ip">
89
 											<div class="col-xs-4 itp_ip">
81
-												<div class="col-xs-10 itp_in">
82
-													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_AMT" class="form-control itp_input" name="dpstAmt"  maxlength="20">
90
+												<div class="col-xs-8 itp_in">
91
+													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_AMT" class="form-control itp_input" name="dpstAmt">
83
 												</div>
92
 												</div>
84
 											</div>
93
 											</div>
85
 											<label class="col-xs-2 itp_lb">입금일자</label>
94
 											<label class="col-xs-2 itp_lb">입금일자</label>
86
 											<div class="col-xs-4 itp_ip">
95
 											<div class="col-xs-4 itp_ip">
87
-												<div class="col-xs-8 itp_in">
88
-													<div class="input-daterange input-group date">
89
-														<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_DT" class="form-control itp_input" name="dpstDt" value="">
90
-													</div>												
96
+												<div class="col-xs-4 itp_in">
97
+													<div class="input-group date">
98
+													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_DT" class="form-control itp_input" name="dpstDt" readonly="readonly">
99
+													<span class="input-group-addon itp_input itp_date_to">
100
+														<i class="glyphicon glyphicon-calendar"></i>
101
+													</span>
102
+													</div>
91
 												</div>
103
 												</div>
92
 											</div>
104
 											</div>
93
 										</div>
105
 										</div>
94
 										<div class="form-group border">
106
 										<div class="form-group border">
95
 											<label class="col-xs-2 itp_lb">입금자명</label>
107
 											<label class="col-xs-2 itp_lb">입금자명</label>
96
 											<div class="col-xs-4 itp_ip">
108
 											<div class="col-xs-4 itp_ip">
97
-												<div class="col-xs-10 itp_in">
109
+												<div class="col-xs-8 itp_in">
98
 													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_NM" class="form-control itp_input" name="dpstNm"  maxlength="20">
110
 													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_DPST_NM" class="form-control itp_input" name="dpstNm"  maxlength="20">
99
 												</div>
111
 												</div>
100
 											</div>
112
 											</div>
101
-											<label class="col-xs-2 itp_lb">입금계좌정보</label>
113
+											<label class="col-xs-2 itp_lb">입금은행</label>
102
 											<div class="col-xs-4 itp_ip">
114
 											<div class="col-xs-4 itp_ip">
103
 												<div class="col-xs-8 itp_in">
115
 												<div class="col-xs-8 itp_in">
104
-													<select id="ITP_FORM_LOANMNG02010_DETAIL_" class="form-control itp_input" name="">
105
-														<option value="">입금상태</option>
116
+													<select id="ITP_FORM_LOANMNG02010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="dpstBnkCd">
117
+														<option value="">입금은행</option>
106
 													</select>												
118
 													</select>												
107
 												</div>
119
 												</div>
108
 											</div>
120
 											</div>
109
 										</div>
121
 										</div>
110
 									</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-4 itp_in">
128
+													<input type="text" id="ITP_FORM_LOANMNG02010_DETAIL_RCV_ACCT_NO" class="form-control itp_input" name="rcvAcctNo">
129
+												</div>
130
+											</div>											
131
+										</div>
132
+									</div>
133
+									
111
 								</section>								
134
 								</section>								
112
 							</form>
135
 							</form>
113
 						</div>
136
 						</div>
@@ -117,9 +140,14 @@
117
 					<div class="itp_form itp_type1 fix">
140
 					<div class="itp_form itp_type1 fix">
118
 						<div class="col-xs-12">
141
 						<div class="col-xs-12">
119
 							<form id="ITP_FORM_LOANMNG02010_VIEW" class="form-horizontal">
142
 							<form id="ITP_FORM_LOANMNG02010_VIEW" class="form-horizontal">
120
-								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_VIEW_CD" name="viewCd" value="C">
143
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_VIEW_CD" name="viewCd" value="R">
144
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_DSPT_MGNT_NO" name="dsptMgntNo" value="">
145
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_BRAND_ID" name="brandId" value="">
146
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_STORE_ID" name="storeId" value="">								
147
+								<input type="hidden" id="ITP_FORM_LOANMNG02010_VIEW_DPST_ST_CD" name="dpstStCd" value="">								
148
+								
121
 								<section class="itp_form_sec">
149
 								<section class="itp_form_sec">
122
-									<h4 class="itp_form_tit">선입금 정보-상세</h4>
150
+									<h4 class="itp_form_tit">입금정보</h4>
123
 									<div class="itp_form_in">
151
 									<div class="itp_form_in">
124
 										<div class="form-group">
152
 										<div class="form-group">
125
 											<label class="col-xs-2 itp_lb">브랜드 *</label>
153
 											<label class="col-xs-2 itp_lb">브랜드 *</label>
@@ -143,15 +171,16 @@
143
 										</div>
171
 										</div>
144
 										<div class="form-group">
172
 										<div class="form-group">
145
 											<label class="col-xs-2 itp_lb">입금자명</label>
173
 											<label class="col-xs-2 itp_lb">입금자명</label>
146
-												<div class="col-xs-8 itp_in "></div>
147
-											<label class="col-xs-2 itp_lb">입금계좌정보</label>
148
-											<div class="col-xs-4 itp_ip">
149
-												<div class="col-xs-3 itp_in fnDpstBnkCd"></div>
150
-												<span class="col-xs-1 itp_in">/</span>
151
-												<div class="col-xs-3 itp_in fnRcvAcctNo"></div>
152
-												<span class="col-xs-1 itp_in">/</span>
153
-												<div class="col-xs-3 itp_in fnBrandNm"></div>
154
-											</div>
174
+											<div class="col-xs-4 itp_ip fnDpstNm"></div>											
175
+											<label class="col-xs-2 itp_lb">입금은행</label>
176
+											<div class="col-xs-4 itp_ip fnDpstBnkNm"></div>
177
+										</div>
178
+										
179
+									</div>
180
+									<div class="itp_form_in">
181
+										<div class="form-group border">
182
+											<label class="col-xs-2 itp_lb">입금계좌번호</label>
183
+											<div class="col-xs-10 itp_ip fnRcvAcctNo"></div>											
155
 										</div>
184
 										</div>
156
 									</div>
185
 									</div>
157
 								</section>								
186
 								</section>								
@@ -159,8 +188,7 @@
159
 							</div>
188
 							</div>
160
 						</div>
189
 						</div>
161
 					</div>
190
 					</div>
162
-				</div>
163
-			</div>
191
+				</div>			
164
 		</article>
192
 		</article>
165
 	</div>
193
 	</div>
166
 	<div id="ITP_TAP_JS"></div>	
194
 	<div id="ITP_TAP_JS"></div>	

+ 16 - 14
bin/src/main/webapp/app/loanmng/LOANMNG03010.html

@@ -2,7 +2,7 @@
2
 	<div class="itp_cont">
2
 	<div class="itp_cont">
3
 		<article class="itp_detail">
3
 		<article class="itp_detail">
4
 			<div class="itp_det_head fix">
4
 			<div class="itp_det_head fix">
5
-				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>미납금 현황</strong></h2>
5
+				<h2 class="pull-left itp_det_tit"><i class="glyphicon glyphicon-chevron-right"></i><strong>미납금관리</strong></h2>
6
 				<div class="pull-right itp_cicon">
6
 				<div class="pull-right itp_cicon">
7
 					<button type="button" id="ITP_BTN_LOANMNG03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
7
 					<button type="button" id="ITP_BTN_LOANMNG03010_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon"></i>&nbsp;&nbsp;조회&nbsp;&nbsp;</button>
8
 				</div>				
8
 				</div>				
@@ -13,27 +13,29 @@
13
 						<div class="itp_srh_border fix">
13
 						<div class="itp_srh_border fix">
14
 							<div class="col-xs-12">
14
 							<div class="col-xs-12">
15
 								<form id="ITP_FORM_LOANMNG03010_SEARCH" class="form-horizontal">
15
 								<form id="ITP_FORM_LOANMNG03010_SEARCH" class="form-horizontal">
16
+									<input type="hidden" id="ITP_FORM_LOANMNG03010_SEARCH_BRAND_ID" name="sbrandId" value="">
17
+									<input type="hidden" id="ITP_FORM_LOANMNG03010_SEARCH_STORE_ID" name="sstoreId" value="">
18
+								
16
 									<div class="form-group">
19
 									<div class="form-group">
17
-										<div class="col-xs-1 itp_ip itp_noMar">
18
-											<select id="ITP_FORM_LOANMNG03010_SERVICE_LOAN_DVSN" class="form-control itp_input" name="servicebrandNm">
19
-												<option value="">브랜드 *</option>
20
-											</select>
20
+										<div class="col-xs-2 itp_ip itp_noMar">
21
+											<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_STORE_NM" class="form-control itp_input" name="sstoreNm" placeholder="매장선택" readonly="readonly" value="" />
21
 										</div>
22
 										</div>
22
-										<div class="col-xs-3 itp_ip">
23
-											<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_STORE_NM" class="form-control itp_input" name="sStoreNm" placeholder="매장명" />
23
+										<div class="col-xs-1 itp_ip itp_noMar">
24
+											<button type="button" id="ITP_BTN_LOANMNG03010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
25
+											<button type="button" id="ITP_BTN_LOANMNG03010_SEARCH_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
24
 										</div>
26
 										</div>
25
-										<div class="col-xs-5 itp_ip itp_noMar">
26
-											<div class="col-xs-2 itp_ip itp_noMar" style="width:22%; top:3px">
27
-												<label>미납금범위</label>
27
+										<div class="col-xs-3 itp_ip itp_noMar">
28
+											<div class="col-xs-3 itp_ip itp_noMar" style="top:2px">
29
+												<label>정산요청일</label>
28
 											</div>
30
 											</div>
29
-											<div class="col-xs-7 itp_ip">
31
+											<div class="col-xs-8 itp_ip itp_noMar">
30
 												<div class="input-daterange input-group date">
32
 												<div class="input-daterange input-group date">
31
-													<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_" class="form-control itp_input" name="" value="">
33
+													<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" value="">
32
 													<span class="input-group-addon itp_date_to">~</span>
34
 													<span class="input-group-addon itp_date_to">~</span>
33
-													<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_" class="form-control itp_input" name="" value="">
35
+													<input type="text" id="ITP_FORM_LOANMNG03010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" value="">
34
 												</div>
36
 												</div>
35
 											</div>
37
 											</div>
36
-										</div>
38
+										</div>										
37
 									</div>
39
 									</div>
38
 								</form>
40
 								</form>
39
 							</div>
41
 							</div>

+ 236 - 68
bin/src/main/webapp/app/oper/OPER06010.html

@@ -58,11 +58,9 @@
58
 									<h4 class="itp_form_tit">브랜드 정보-신규</h4>
58
 									<h4 class="itp_form_tit">브랜드 정보-신규</h4>
59
 									<div class="itp_form_in">
59
 									<div class="itp_form_in">
60
 										<div class="form-group">
60
 										<div class="form-group">
61
-											<label class="col-xs-2 itp_lb">브랜드 코드</label>
61
+											<label class="col-xs-2 itp_lb">브랜드 아이디</label>
62
 											<div class="col-xs-4 itp_ip">
62
 											<div class="col-xs-4 itp_ip">
63
-												<div class="col-xs-8 itp_in">
64
-													<div class="col-xs-9 itp_in fnBrandId"></div>
65
-												</div>
63
+												<div class="col-xs-8 itp_in fnBrandId"></div>
66
 											</div>
64
 											</div>
67
 											<label class="col-xs-2 itp_lb">상태*</label>
65
 											<label class="col-xs-2 itp_lb">상태*</label>
68
 											<div class="col-xs-4 itp_ip">
66
 											<div class="col-xs-4 itp_ip">
@@ -101,33 +99,17 @@
101
 												</div>
99
 												</div>
102
 											</div>
100
 											</div>
103
 										</div>
101
 										</div>
104
-									</div>	
105
-									<div class="itp_form_in itp_modify_dt">
106
-										<div class="form-group">
107
-											<label class="col-xs-2 itp_lb">비밀번호</label>
108
-											<div class="col-xs-10 itp_ip">
109
-												<div class="col-xs-2 itp_in">
110
-													<button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin:0;">비밀번호 초기화</button>
111
-												</div>
112
-												<div class="col-xs-6 itp_in" style="top:5px;">
113
-													<div>(비밀번호 초기화는 사업자번호로 초기화 함 (숫자만))</div>
114
-												</div>
115
-											</div>
116
-										</div>
117
-									</div>
118
-									<div class="itp_form_in">
119
 										<div class="form-group">
102
 										<div class="form-group">
120
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
103
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
121
 											<div class="col-xs-4 itp_ip">
104
 											<div class="col-xs-4 itp_ip">
122
 												<div class="col-xs-7 itp_in">
105
 												<div class="col-xs-7 itp_in">
123
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
106
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
124
 												</div>
107
 												</div>
108
+												<!-- <button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button> -->
125
 											</div>
109
 											</div>
126
-											<label class="col-xs-2 itp_lb">대표자명 *</label>
127
-											<div class="col-xs-4 itp_ip">
128
-												<div class="col-xs-8 itp_in">
129
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
130
-												</div>
110
+											<label class="col-xs-2 itp_lb"></label>
111
+											<div class="col-xs-1 itp_in">
112
+												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
131
 											</div>
113
 											</div>
132
 										</div>
114
 										</div>
133
 										<div class="form-group">
115
 										<div class="form-group">
@@ -137,9 +119,11 @@
137
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
119
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
138
 												</div>
120
 												</div>
139
 											</div>
121
 											</div>
140
-											<label class="col-xs-2 itp_lb"><i style="position:absolute; font-style:initial; top:27px;">로고</i></label>
141
-											<div class="col-xs-4 itp_ip">
142
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:100px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
122
+											<label class="col-xs-2 itp_lb" style="border-top:none;">로고</label>
123
+											<div class="col-xs-4 itp_ip"style="border-top:none;">
124
+												<div class="col-xs-5 itp_in">
125
+													<label class="col-xs-12"></label>
126
+												</div>
143
 											</div>
127
 											</div>
144
 										</div>
128
 										</div>
145
 										<div class="form-group">
129
 										<div class="form-group">
@@ -159,6 +143,42 @@
159
 												</div>
143
 												</div>
160
 											</div>
144
 											</div>
161
 										</div>
145
 										</div>
146
+										<div class="form-group">
147
+											<label class="col-xs-2 itp_lb">입금계좌정보</label>
148
+											<div class="col-xs-4 itp_ip" style="padding:0 0 0 15px;">
149
+												<div class="col-xs-4 itp_in">
150
+													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
151
+													</select>
152
+												</div>
153
+												<div class="col-xs-4 itp_in">
154
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
155
+												</div>
156
+												<div class="col-xs-3 itp_in">
157
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
158
+												</div>
159
+											</div>
160
+											<label class="col-xs-2 itp_lb">PG사</label>
161
+											<div class="col-xs-4 itp_ip">
162
+												<div class="col-xs-8 itp_in">
163
+													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
164
+													</select>
165
+												</div>
166
+											</div>
167
+										</div>
168
+										<div class="form-group">
169
+											<label class="col-xs-2 itp_lb">가맹점 아이디 </label>
170
+											<div class="col-xs-4 itp_ip">
171
+												<div class="col-xs-7 itp_in">
172
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
173
+												</div>
174
+											</div>
175
+											<label class="col-xs-2 itp_lb">가맹점 Key</label>
176
+											<div class="col-xs-4 itp_ip">
177
+												<div class="col-xs-8 itp_in">
178
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
179
+												</div>
180
+											</div>
181
+										</div>
162
 									</div>
182
 									</div>
163
 									<div class="itp_form_in">
183
 									<div class="itp_form_in">
164
 										<div class="form-group border">
184
 										<div class="form-group border">
@@ -188,52 +208,200 @@
188
 											</div>
208
 											</div>
189
 										</div>
209
 										</div>
190
 									</div>
210
 									</div>
191
-									<div class="itp_form_in">
192
-										<div class="form-group border">
193
-											<label class="col-xs-2 itp_lb">입금계좌정보</label>
194
-											<div class="col-xs-12 itp_ip">
195
-												<div class="col-xs-2 itp_in">
196
-													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
197
-													</select>
198
-												</div>
199
-												<div class="col-xs-4 itp_in">
200
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
201
-												</div>
202
-												<div class="col-xs-2 itp_in">
203
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="소유주명">
204
-												</div>
205
-											</div>
206
-										</div>
207
-									</div>
208
-									<div class="itp_form_in">
209
-										<div class="form-group border">
210
-											<label class="col-xs-2 itp_lb">등록자/등록일 </label>
211
-											<div class="col-xs-4 itp_ip">
212
-												<div class="col-xs-2 itp_in">
213
-													<div class="input-group fnRegId" style="padding:5px;"></div>
214
-												</div>
215
-												<label class="col-xs-1" style="top:7px;">/</label>
216
-												<div class="col-xs-6 itp_in">
217
-													<div class="input-group fnRegDt" style="padding:5px;"></div>
218
-												</div>
219
-											</div>
220
-											<label class="col-xs-2 itp_lb">최종  수정자/수정일</label>
221
-											<div class="col-xs-4 itp_ip">
222
-												<div class="col-xs-2 itp_in">
223
-													<div class="input-group fnChgId" style="padding:5px;"></div>
224
-												</div>
225
-												<label class="col-xs-1" style="top:7px;">/</label>
226
-												<div class="col-xs-6 itp_in">
227
-													<div class="input-group fnChgDt" style="padding:5px;"></div>
228
-												</div>
229
-											</div>
230
-										</div>
231
-									</div>	
232
 								</section>								
211
 								</section>								
233
 							</form>
212
 							</form>
234
 						</div>
213
 						</div>
235
 					</div>
214
 					</div>
236
 				</div>
215
 				</div>
216
+				<div id="ITP_AJAX_OPER06010_MODIFY_CONTAINER">
217
+				  <div class="itp_form itp_type1 fix">
218
+				    <div class="col-xs-12">
219
+				      <form id="ITP_FORM_OPER06010_DETAIL" class="form-horizontal">
220
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_VIEW_CD" name="viewCd" value="C">
221
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
222
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_BRAND_ID" name="brandId" value="">
223
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_FILE_NO" name="fileNo" value="">
224
+				  
225
+				        <section class="itp_form_sec">
226
+				          <h4 class="itp_form_tit">브랜드 정보-신규</h4>
227
+				          <div class="itp_form_in">
228
+				            <div class="form-group">
229
+				              <label class="col-xs-2 itp_lb">브랜드 코드</label>
230
+				              <div class="col-xs-4 itp_ip">
231
+				                <div class="col-xs-8 itp_in">
232
+				                  <div class="col-xs-9 itp_in fnBrandId"></div>
233
+				                </div>
234
+				              </div>
235
+				              <label class="col-xs-2 itp_lb">상태*</label>
236
+				              <div class="col-xs-4 itp_ip">
237
+				                <div class="col-xs-8 itp_in">
238
+				                  <select id="ITP_FORM_OPER06010_DETAIL_ST_CD" data-select-code="ST_CD" data-check-required="empty" class="form-control itp_input" name="stCd">
239
+				                  </select>
240
+				                </div>
241
+				              </div>
242
+				            </div>
243
+				            <div class="form-group">
244
+				              <label class="col-xs-2 itp_lb">브랜드 명* </label>
245
+				              <div class="col-xs-4 itp_ip">
246
+				                <div class="col-xs-7 itp_in">
247
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_BRAND_NM" data-check-required="empty" class="form-control itp_input" name="brandNm" value="테스트 브랜드" maxlength="20">
248
+				                </div>
249
+				              </div>
250
+				              <label class="col-xs-2 itp_lb">브랜드 타입*</label>
251
+				              <div class="col-xs-4 itp_ip">
252
+				                <div class="col-xs-8 itp_in">
253
+				                  <select id="ITP_FORM_OPER06010_DETAIL_BRAND_TYPE" data-select-code="BRAND_TYPE" data-check-required="empty" class="form-control itp_input" name="brandType">
254
+				                  </select>
255
+				                </div>
256
+				              </div>
257
+				            </div>
258
+				            <div class="form-group">
259
+				              <label class="col-xs-2 itp_lb">사업자번호 *</label>
260
+				              <div class="col-xs-4 itp_ip">
261
+				                <div class="col-xs-7 itp_in">
262
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="" maxlength="20">
263
+				                </div>
264
+				              </div>
265
+				              <label class="col-xs-2 itp_lb">법인번호</label>
266
+				              <div class="col-xs-4 itp_ip">
267
+				                <div class="col-xs-8 itp_in">
268
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="" maxlength="20">
269
+				                </div>
270
+				              </div>
271
+				            </div>
272
+				          </div>	
273
+				          <div class="itp_form_in itp_modify">
274
+				            <div class="form-group">
275
+				              <label class="col-xs-2 itp_lb">비밀번호</label>
276
+				              <div class="col-xs-10 itp_ip">
277
+				                <div class="col-xs-2 itp_in">
278
+				                  <button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin:1px; display:block;">비밀번호 초기화</button>
279
+				                </div>
280
+				                <div class="col-xs-6 itp_in" style="top:5px;">
281
+				                  <div>(비밀번호 초기화는 사업자번호로 초기화 함 (숫자만))</div>
282
+				                </div>
283
+				              </div>
284
+				            </div>
285
+				          </div>
286
+				          <div class="itp_form_in">
287
+				            <div class="form-group">
288
+				              <label class="col-xs-2 itp_lb">전화번호 *</label>
289
+				              <div class="col-xs-4 itp_ip">
290
+				                <div class="col-xs-7 itp_in">
291
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
292
+				                </div>
293
+				              </div>
294
+				              <label class="col-xs-2 itp_lb">대표자명 *</label>
295
+				              <div class="col-xs-4 itp_ip">
296
+				                <div class="col-xs-8 itp_in">
297
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
298
+				                </div>
299
+				              </div>
300
+				            </div>
301
+				            <div class="form-group">
302
+				              <label class="col-xs-2 itp_lb">FAX</label>
303
+				              <div class="col-xs-4 itp_ip">
304
+				                <div class="col-xs-7 itp_in">
305
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
306
+				                </div>
307
+				              </div>
308
+				              <label class="col-xs-2 itp_lb"><i style="position:absolute; font-style:initial; top:27px;">로고</i></label>
309
+				              <div class="col-xs-4 itp_ip">
310
+				                <img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:100px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
311
+				              </div>
312
+				            </div>
313
+				            <div class="form-group">
314
+				              <label class="col-xs-2 itp_lb">이메일</label>
315
+				              <div class="col-xs-4 itp_ip">
316
+				                <div class="col-xs-7 itp_in">
317
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="emalAddr" value="">
318
+				                </div>
319
+				              </div>
320
+				              <label class="col-xs-2 itp_lb"style="border-top:none;"></label>
321
+				              <div class="col-xs-4 itp_ip"style="border-top:none; padding:0 10px;">
322
+				                <div class="col-xs-12 itp_in colspan">
323
+				                  <div class="fileupload-wrapper">
324
+				                    <!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
325
+				                    <div id="ITP_OPER06010_DETAIL_UPLOAD" data-show-yn="Y"></div>
326
+				                  </div>
327
+				                </div>
328
+				              </div>
329
+				            </div>
330
+				          </div>
331
+				          <div class="itp_form_in">
332
+				            <div class="form-group">
333
+				              <label class="col-xs-2 itp_lb">주소</label>
334
+				              <div class="col-xs-10 itp_ip">
335
+				                <div class="col-xs-1 itp_in">
336
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ZIPNO" class="form-control itp_input" name="zipNo" value="" maxlength="6" readonly placeholder="우편번호">
337
+				                </div>
338
+				                <div class="col-xs-1 itp_in">
339
+				                  <button type="button" id="ITP_FORM_OPER06010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm SHOW" style="margin: -1px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
340
+				                </div>
341
+				                <div class="col-xs-4 itp_in" style="margin-right: 5px; margin-left:20px;">
342
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ADRES" class="form-control itp_input" name="addr1" value="" readonly placeholder="기본주소">
343
+				                </div>
344
+				                <div class="col-xs-4 itp_in">
345
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ADRES_DTL" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">
346
+				                </div>
347
+				
348
+				                <!-- 주소 맵 -->
349
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_LOTS_ADDRESS" value="" />
350
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_STREET_ADDRESS" value="" />
351
+				                <input type="hidden" name="latX" id="ITP_FORM_OPER06010_DETAIL_LAT" value="" />
352
+				                <input type="hidden" name="latY" id="ITP_FORM_OPER06010_DETAIL_LNG" value="" />
353
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_HJ_DONG" value="" />
354
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_BJ_DONG" value="" />
355
+				                <div id="ITP_FORM_OPER06010_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>
356
+				              </div>
357
+				            </div>
358
+				          </div>
359
+				          <div class="itp_form_in">
360
+				            <div class="form-group">
361
+				              <label class="col-xs-2 itp_lb">입금계좌정보</label>
362
+				              <div class="col-xs-12 itp_ip">
363
+				                <div class="col-xs-2 itp_in">
364
+				                  <select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
365
+				                  </select>
366
+				                </div>
367
+				                <div class="col-xs-4 itp_in">
368
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
369
+				                </div>
370
+				                <div class="col-xs-2 itp_in">
371
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="소유주명">
372
+				                </div>
373
+				              </div>
374
+				            </div>
375
+				          </div>
376
+				          <div class="itp_form_in">
377
+				            <div class="form-group border">
378
+				              <label class="col-xs-2 itp_lb">등록자/등록일 </label>
379
+				              <div class="col-xs-4 itp_ip">
380
+				                <div class="col-xs-2 itp_in" style="width:auto;">
381
+				                  <div class="input-group fnRegId" style="padding:5px;"></div>
382
+				                </div>
383
+				                <label class="col-xs-1" style="top:7px;">/</label>
384
+				                <div class="col-xs-6 itp_in">
385
+				                  <div class="input-group fnRegDt" style="padding:5px;"></div>
386
+				                </div>
387
+				              </div>
388
+				              <label class="col-xs-2 itp_lb">최종  수정자/수정일</label>
389
+				              <div class="col-xs-4 itp_ip">
390
+				                <div class="col-xs-2 itp_in">
391
+				                  <div class="input-group fnChgId" style="padding:5px;"></div>
392
+				                </div>
393
+				                <label class="col-xs-1" style="top:7px;">/</label>
394
+				                <div class="col-xs-6 itp_in">
395
+				                  <div class="input-group fnChgDt" style="padding:5px;"></div>
396
+				                </div>
397
+				              </div>
398
+				            </div>
399
+				          </div>	
400
+				        </section>								
401
+				      </form>
402
+				    </div>
403
+				  </div>
404
+				</div>
237
 				<div id="ITP_AJAX_OPER06010_VIEW_CONTAINER">
405
 				<div id="ITP_AJAX_OPER06010_VIEW_CONTAINER">
238
 					<div class="itp_form itp_type1 fix">
406
 					<div class="itp_form itp_type1 fix">
239
 						<div class="col-xs-12">
407
 						<div class="col-xs-12">

+ 1 - 1
bin/src/main/webapp/app/popup/biz/BIZPOP_ITEM_CLASS_MANAGE.html

@@ -20,7 +20,7 @@
20
 											<label class="col-xs-3 itp_lb">상위 분류정보</label>
20
 											<label class="col-xs-3 itp_lb">상위 분류정보</label>
21
 											<div class="col-xs-9 itp_ip">
21
 											<div class="col-xs-9 itp_ip">
22
 												<div class="col-xs-3 itp_in">
22
 												<div class="col-xs-3 itp_in">
23
-													<select id="ITP_FORM_STINFO07010_POP_ITEM_CLASS1" data-check-required="empty" class="form-control itp_input" name="itemClass1">
23
+													<select id="ITP_FORM_STINFO07010_POP_ITEM_CLASS1" class="form-control itp_input" name="itemClass1">
24
 														<option value="">품목분류Level1</option>
24
 														<option value="">품목분류Level1</option>
25
 													</select>
25
 													</select>
26
 												</div>
26
 												</div>

+ 32 - 0
bin/src/main/webapp/app/popup/biz/BIZPOP_PO_REJECT_REASON.html

@@ -0,0 +1,32 @@
1
+<div id="ITP_BIZPOP_PO_REJECT_REASON" class="modal itp_modal">
2
+	<div class="modal-dialog">
3
+		<div class="modal-content">
4
+			<div class="modal-header">
5
+				<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
6
+				<h5 class="modal-title">반려사유</h5>
7
+			</div>
8
+			<div class="modal-body">
9
+				<div class="itp_form itp_type1 fix">
10
+					<div class="col-xs-12">
11
+						<div class="form-horizontal">
12
+							<form id="ITP_FORM_PO_REJECT_REASON_POPUP">
13
+								<div class="form-group">
14
+									<label class="col-xs-2 itp_lb">반려사유</label>
15
+									<div class="col-xs-10 itp_ip">
16
+									<input type="text" id="ITP_FORM_PO_REJECT_REASON_POPUP_DSPT_RJCT_RSN" class="form-control itp_input" name="dsptRjctRsn" />
17
+									</div>									
18
+								</div>								
19
+							</form>
20
+						</div>
21
+					</div>
22
+				</div>
23
+			</div>
24
+			<div class="modal-footer">
25
+				<button type="button" id="ITP_BTN_PO_REJECT_REASON_CLOSE_POP" class="btn btn-danger btn-sm CLB">&nbsp;&nbsp;취소&nbsp;&nbsp;</button>
26
+				<button type="button" id="ITP_BTN_PO_REJECT_REASON_CONFIRM_POP" class="btn btn-primary btn-sm SAB" style="display: inline-block;">&nbsp;&nbsp;확인&nbsp;&nbsp;</button>
27
+			</div>
28
+		</div>
29
+	</div>
30
+
31
+	<div id="ITP_POPUP_JS"></div>
32
+</div>

+ 11 - 11
bin/src/main/webapp/app/stinfo/STINFO06010.html

@@ -16,9 +16,10 @@
16
 						<div class="itp_srh_border fix">
16
 						<div class="itp_srh_border fix">
17
 							<div class="col-xs-12">
17
 							<div class="col-xs-12">
18
 								<form id="ITP_FORM_STINFO06010_SEARCH" class="form-horizontal">
18
 								<form id="ITP_FORM_STINFO06010_SEARCH" class="form-horizontal">
19
+									<input type="hidden" id="ITP_FORM_STINFO06010_SEARCH_BRAND_ID" name="brandId" value="">
19
 									<div class="form-group">
20
 									<div class="form-group">
20
 										<div class="col-xs-3 itp_ip itp_noMar">
21
 										<div class="col-xs-3 itp_ip itp_noMar">
21
-											<input type="text" id="ITP_FORM_STINFO06010_SEARCH_STORE_NM" class="form-control itp_input" name="sstoreNm" placeholder="매장" />
22
+											<input type="text" id="ITP_FORM_STINFO06010_SEARCH_STORE_NM" class="form-control itp_input" name="sstoreNm" placeholder="매장" />
22
 										</div>
23
 										</div>
23
 										<div class="col-xs-2 itp_ip itp_noMar" style="width:10%;">
24
 										<div class="col-xs-2 itp_ip itp_noMar" style="width:10%;">
24
 											<button type="button" id="ITP_BTN_STINFO06010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
25
 											<button type="button" id="ITP_BTN_STINFO06010_SEARCH_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
@@ -45,23 +46,22 @@
45
 				          <form id="ITP_FORM_STINFO06010_DETAIL" class="form-horizontal">
46
 				          <form id="ITP_FORM_STINFO06010_DETAIL" class="form-horizontal">
46
 							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
47
 							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
47
 							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_BRAND_ID" name="brandId" value="">
48
 							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_BRAND_ID" name="brandId" value="">
48
-							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_CURR" value="">
49
-							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_UNIT_TARGET_CD" value="">
49
+							  <input type="hidden" id="ITP_FORM_STINFO06010_DETAIL_STORE_ID" name="storeId" value="">
50
 				             <div class="form-group">
50
 				             <div class="form-group">
51
 				                <div class="col-xs-3 itp_ip itp_noMar">
51
 				                <div class="col-xs-3 itp_ip itp_noMar">
52
-				                <input type="text" id="ITP_FORM_STINFO06010_DETAIL_STORE_NM" class="form-control itp_input" name="sstoreNm" placeholder="매장 *" />
52
+				                	<input type="text" id="ITP_FORM_STINFO06010_DETAIL_STORE_NM" class="form-control itp_input" name="sstoreNm" placeholder="매장" />
53
 				                </div>
53
 				                </div>
54
 				                <div class="col-xs-2 itp_ip itp_noMar" style="width:10%;">
54
 				                <div class="col-xs-2 itp_ip itp_noMar" style="width:10%;">
55
-				                <button type="button" id="ITP_BTN_STINFO06010_DETAIL_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
56
-				                <button type="button" id="ITP_BTN_STINFO06010_DETAIL_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
55
+									<button type="button" id="ITP_BTN_STINFO06010_DETAIL_SRH" class="btn btn-success btn-sm SEB" style="display: inline-block;"><i class="glyphicon glyphicon-search"></i></button>
56
+									<button type="button" id="ITP_BTN_STINFO06010_DETAIL_MODIFY" class="btn btn-primary btn-sm UPB" style="display: inline-block;"><i class="glyphicon glyphicon-erase"></i></button>
57
 				                </div>
57
 				                </div>
58
 				                <label class="col-xs-1 itp_ip itp_noMar" style="top:6px;">계약기간</label>
58
 				                <label class="col-xs-1 itp_ip itp_noMar" style="top:6px;">계약기간</label>
59
 				                <div class="col-xs-3 itp_ip itp_noMar">
59
 				                <div class="col-xs-3 itp_ip itp_noMar">
60
-				                <div class="input-daterange input-group date">
61
-				                   <input type="text" id="ITP_FORM_STINFO06010_DETAIL_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
62
-				                   <span class="input-group-addon itp_date_to">~</span>
63
-				                   <input type="text" id="ITP_FORM_STINFO06010_DETAIL_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
64
-				                </div>
60
+									<div class="input-daterange input-group date">
61
+									   <input type="text" id="ITP_FORM_STINFO06010_DETAIL_FROM_DT" class="form-control itp_input" name="fromDt" value="" readonly>
62
+									   <span class="input-group-addon itp_date_to">~</span>
63
+									   <input type="text" id="ITP_FORM_STINFO06010_DETAIL_TO_DT" class="form-control itp_input" name="toDt" value="" readonly>
64
+									</div>
65
 				                </div>
65
 				                </div>
66
 				             </div>
66
 				             </div>
67
 				          </form>
67
 				          </form>

+ 6 - 2
bin/src/main/webapp/bootstrap-fileUpload/dist/bootstrap-FileUpload.css

@@ -109,7 +109,7 @@
109
 }
109
 }
110
 .fileupload-wrapper .fileupload-download {display:table; margin-bottom:0;}
110
 .fileupload-wrapper .fileupload-download {display:table; margin-bottom:0;}
111
 .fileupload-wrapper .fileupload-preview .btn-xs,
111
 .fileupload-wrapper .fileupload-preview .btn-xs,
112
-.fileupload-wrapper .fileupload-download .btn-xs {font-size:11px;}
112
+.fileupload-wrapper .fileupload-download .btn-xs {font-size:11px; padding:6px;}
113
 .fileupload-wrapper .fileupload-preview td,
113
 .fileupload-wrapper .fileupload-preview td,
114
 .fileupload-wrapper .fileupload-download td {word-break:break-all; vertical-align: middle;}
114
 .fileupload-wrapper .fileupload-download td {word-break:break-all; vertical-align: middle;}
115
 .fileupload-wrapper .fileupload-download td a {color:#666;}
115
 .fileupload-wrapper .fileupload-download td a {color:#666;}
@@ -121,4 +121,8 @@
121
 .fileupload-wrapper .fileupload-add,
121
 .fileupload-wrapper .fileupload-add,
122
 .fileupload-wrapper .fileupload-start,
122
 .fileupload-wrapper .fileupload-start,
123
 .fileupload-wrapper .fileupload-cancel,
123
 .fileupload-wrapper .fileupload-cancel,
124
-.fileupload-wrapper .fileupload-down {padding:4px 10px;}
124
+.fileupload-wrapper .fileupload-down {padding:4px 10px;}
125
+
126
+ /* 좁은곳에서 파일 업로드 */
127
+ .fileupload-wrapper 
128
+ 

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

@@ -410,14 +410,14 @@ html:lang(en) #ITP_CONTAINER .itp_detail .itp_form .itp_thumb_inline .itp_thumb_
410
 #ITP_CONTAINER .itp_form.itp_type1 .itp_form_in {margin:0; padding:0; display:table; width:100%;}
410
 #ITP_CONTAINER .itp_form.itp_type1 .itp_form_in {margin:0; padding:0; display:table; width:100%;}
411
 #ITP_CONTAINER .itp_form.itp_type1 .form-group {margin:0; padding:0; display:table-row;}
411
 #ITP_CONTAINER .itp_form.itp_type1 .form-group {margin:0; padding:0; display:table-row;}
412
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb,
412
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb,
413
-#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_ip {display:table-cell; padding:6px 18px; border-top:1px solid #F2F2F2; float:none; vertical-align:middle; height:42px; }
413
+#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_ip {display:table-cell; padding:6px 15px; border-top:1px solid #F2F2F2; float:none; vertical-align:middle; height:42px; }
414
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_lb,
414
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_lb,
415
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_ip {border-bottom:1px solid #ddd;}
415
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_ip {border-bottom:1px solid #ddd;}
416
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_lb,
416
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_lb,
417
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_ip {border-top:0; padding-top:0; height:auto;}
417
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_ip {border-top:0; padding-top:0; height:auto;}
418
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb {border-right:1px solid #ddd; border-left:1px solid #ddd;background:#d6ecf5;}
418
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb {border-right:1px solid #ddd; border-left:1px solid #ddd;background:#d6ecf5;}
419
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb.bor {border-left:1px solid #ddd;}
419
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb.bor {border-left:1px solid #ddd;}
420
-#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in {padding:0;}
420
+#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in {padding:0; margin-right:5px;}
421
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.pad {padding-right:15px;}
421
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.pad {padding-right:15px;}
422
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padT {padding-top:4px;}
422
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padT {padding-top:4px;}
423
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padTt {padding-top:1px;}
423
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padTt {padding-top:1px;}

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

@@ -836,7 +836,7 @@ function fn_make_input_common_cd(options, code, input_id, all_show_yn) { //HIDDE
836
 	});
836
 	});
837
 };
837
 };
838
 
838
 
839
-function fn_make_common_cd_list(options, code, all_show_yn) { // 공통코드 리스트 만들기
839
+function fn_make_common_cd_list(options, code, all_show_yn, all_show_text) { // 공통코드 리스트 만들기
840
 	// $input_id = $('#' + input_id);
840
 	// $input_id = $('#' + input_id);
841
 	// $input_id.val('');
841
 	// $input_id.val('');
842
 	var return_val;
842
 	var return_val;
@@ -845,7 +845,7 @@ function fn_make_common_cd_list(options, code, all_show_yn) { // 공통코드 
845
 			//예제) :;BN:읽기버튼;BNW:쓰기버튼;LK:링크;MU:메뉴
845
 			//예제) :;BN:읽기버튼;BNW:쓰기버튼;LK:링크;MU:메뉴
846
 			let code_list = '';
846
 			let code_list = '';
847
 			if(all_show_yn == true) {
847
 			if(all_show_yn == true) {
848
-				code_list = code_list + ':';
848
+				code_list = code_list + ':' + all_show_text;
849
 			}
849
 			}
850
 			$.each(value.codeDtlList, function(k, val) {
850
 			$.each(value.codeDtlList, function(k, val) {
851
 				if(k > 0) {
851
 				if(k > 0) {
@@ -1642,6 +1642,7 @@ function itp_fn_grid_make_remote(option) {
1642
 		mtype: 'POST',
1642
 		mtype: 'POST',
1643
 		multiselect: false,
1643
 		multiselect: false,
1644
 		rownumbers: true,
1644
 		rownumbers: true,
1645
+		ondblClickRow: null,
1645
 		loadBeforeSend: function(jqXHR) {
1646
 		loadBeforeSend: function(jqXHR) {
1646
 			jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
1647
 			jqXHR.setRequestHeader('X-AUTH-TOKEN', CONN_KEY);
1647
 		},
1648
 		},
@@ -1660,6 +1661,7 @@ function itp_fn_grid_make_remote(option) {
1660
 		rownumbers: options.rownumbers,
1661
 		rownumbers: options.rownumbers,
1661
 		loadBeforeSend: options.loadBeforeSend,
1662
 		loadBeforeSend: options.loadBeforeSend,
1662
 		onCellSelect: options.onCellSelect,
1663
 		onCellSelect: options.onCellSelect,
1664
+		ondblClickRow: options.ondblClickRow,
1663
 		loadComplete: options.loadComplete,
1665
 		loadComplete: options.loadComplete,
1664
 		loadError: options.loadError,
1666
 		loadError: options.loadError,
1665
 		onPaging: function(action) {
1667
 		onPaging: function(action) {

+ 68 - 420
bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG01010.js

@@ -7,7 +7,6 @@
7
  * let listObj = {}			: 목록화면 Object			*
7
  * let listObj = {}			: 목록화면 Object			*
8
  * let viewObj = {}			: 상세화면 Object			*
8
  * let viewObj = {}			: 상세화면 Object			*
9
  * let modifyObj = {}		: 수정화면 Object			*
9
  * let modifyObj = {}		: 수정화면 Object			*
10
- * let createObj = {}		: 신규화면 Object			*
11
  * let locInfoObj = {}		: 로케이션정보 Object				*
10
  * let locInfoObj = {}		: 로케이션정보 Object				*
12
  *******************************************************/
11
  *******************************************************/
13
 
12
 
@@ -22,11 +21,6 @@ const LOANMNG01010_VIEW_GRID_LIST = '#ITP_LOANMNG01010_VIEW_jqGrid_list';
22
 const LOANMNG01010_VIEW_GRID_PAGER = '#ITP_LOANMNG01010_VIEW_jqGridPager';
21
 const LOANMNG01010_VIEW_GRID_PAGER = '#ITP_LOANMNG01010_VIEW_jqGridPager';
23
 const LOANMNG01010_VIEW_GRID_EMPTY = '#ITP_LOANMNG01010_VIEW_jqGridEmpty';
22
 const LOANMNG01010_VIEW_GRID_EMPTY = '#ITP_LOANMNG01010_VIEW_jqGridEmpty';
24
 
23
 
25
-const LOANMNG01010_DETAIL_GRID_ID = '#ITP_LOANMNG01010_DETAIL_jqGrid';
26
-const LOANMNG01010_DETAIL_GRID_LIST = '#ITP_LOANMNG01010_DETAIL_jqGrid_list';
27
-const LOANMNG01010_DETAIL_GRID_PAGER = '#ITP_LOANMNG01010_DETAIL_jqGridPager';
28
-const LOANMNG01010_DETAIL_GRID_EMPTY = '#ITP_LOANMNG01010_DETAIL_jqGridEmpty';
29
-
30
 let ITP_FORM_LOANMNG01010_DETAIL_IS_DUPLICATE = false;
24
 let ITP_FORM_LOANMNG01010_DETAIL_IS_DUPLICATE = false;
31
 let ITP_FORM_LOANMNG01010_DETAIL_IS_WRITING = false;
25
 let ITP_FORM_LOANMNG01010_DETAIL_IS_WRITING = false;
32
 let LOANMNG01010_DETAIL_GRID_LAST_ROW_ID;
26
 let LOANMNG01010_DETAIL_GRID_LAST_ROW_ID;
@@ -34,11 +28,7 @@ let LOANMNG01010_DETAIL_GRID_LAST_ROW_ID;
34
 /*API URL*/
28
 /*API URL*/
35
 let LOAN_STATE_DETAIL_GRID_LIST = '/api/loan/state/detail-grid-list';
29
 let LOAN_STATE_DETAIL_GRID_LIST = '/api/loan/state/detail-grid-list';
36
 let LOAN_STATE_INFO_LOAN_MNG = '/api/loan/state/info-loan-mng';
30
 let LOAN_STATE_INFO_LOAN_MNG = '/api/loan/state/info-loan-mng';
37
-
38
-let WHS_MNG_LOCATION_GRID_LIST = '/api/whs/mng/location-grid-list';
39
-let WHS_MNG_ADD_WHS = '/api/whs/mng/add-whs';
40
-let WHS_MNG_MIDIFY_WHS = '/api/whs/mng/modify-whs';
41
-let WHS_MNG_REMOVE_WHS = '/api/whs/mng/remove-whs'; 
31
+let LOAN_STATE_HIST_GRID_LIST = '/api/loan/state/hist-grid-list';
42
 
32
 
43
 /*화면 Grid ColModel*/
33
 /*화면 Grid ColModel*/
44
 const gridColModel = {
34
 const gridColModel = {
@@ -80,15 +70,15 @@ const gridColModel = {
80
 			sortable: false, hidden: false
70
 			sortable: false, hidden: false
81
 		},
71
 		},
82
 		{
72
 		{
83
-			index: 'CREDT_LIMIT_AMT', name: 'credtLimitAmt',
84
-			label: "신용한도금액", 
73
+			index: 'LIMIT_AMT', name: 'limitAmt',
74
+			label: "한도금액", 
85
 			width: '10', fixed: false, align: 'center',
75
 			width: '10', fixed: false, align: 'center',
86
 			sortable: false, hidden: false, 
76
 			sortable: false, hidden: false, 
87
 			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
77
 			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
88
 		},
78
 		},
89
 		{
79
 		{
90
-			index: 'CHRGE_LIMIT_AMT', name: 'chrgeLimitAmt',
91
-			label: "충전한도금액", 
80
+			index: 'POSB_LIMIT_AMT', name: 'posbLimitAmt',
81
+			label: "가용한도금액", 
92
 			width: '10', fixed: false, align: 'center',
82
 			width: '10', fixed: false, align: 'center',
93
 			sortable: false, hidden: false, 
83
 			sortable: false, hidden: false, 
94
 			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
84
 			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
@@ -128,59 +118,61 @@ const gridColModel = {
128
 			sortable: false, hidden: true
118
 			sortable: false, hidden: true
129
 		},		
119
 		},		
130
 		{
120
 		{
131
-			index: 'LOCATION', name: 'location',
132
-			label: "로케이션",
121
+			index: 'LOAN_REG_DT', name: 'loanRegDt',
122
+			label: "발생일자",
133
 			width: '10', fixed: false, align: 'center',
123
 			width: '10', fixed: false, align: 'center',
134
-			sortable: false, editable: false, edittype: 'text',
135
-			editrules: {required: true}
124
+			sortable: false, editable: false, edittype: 'text'
136
 		},
125
 		},
137
 		{
126
 		{
138
-			index: 'LOCATION_NM', name: 'locationNm',
139
-			label: "로케이션명",
140
-			width: '12', fixed: false, align: 'center',
141
-			sortable: true, editable: false, edittype: 'text',
142
-			editrules: {required: true}
127
+			index: 'DPST_PAY_DVSN_NM', name: 'dpstPayDvsnNm',
128
+			label: "입지구분",
129
+			width: '10', fixed: false, align: 'center',
130
+			sortable: false, editable: false, edittype: 'text'
143
 		},
131
 		},
144
 		{
132
 		{
145
-			index: 'STCK_DVSN_NM', name: 'stckDvsnNm',
146
-			label: "관리등록",
133
+			index: 'MEDIA_DVSN_NM', name: 'mediaDvsnNm',
134
+			label: "매체구분",
147
 			width: '10', fixed: false, align: 'center',
135
 			width: '10', fixed: false, align: 'center',
148
 			sortable: false, editable: false, edittype: 'text'
136
 			sortable: false, editable: false, edittype: 'text'
149
 		},
137
 		},
150
 		{
138
 		{
151
-			index: 'LOC_ST_NM', name: 'locStNm',
152
-			label: "상태",
139
+			index: 'DPST_AMT', name: 'dpstAmt',
140
+			label: "입금",
153
 			width: '10', fixed: false, align: 'center',
141
 			width: '10', fixed: false, align: 'center',
154
-			sortable: false, editable: false, edittype: 'text'
155
-		}
156
-	],
157
-	detail: [
142
+			sortable: false, editable: false, edittype: 'text', 
143
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
144
+		},
158
 		{
145
 		{
159
-			index: 'VIEW_CD', name: 'viewCd',
160
-			label: ITP_MSG_LOCALE.label.viewCd,
146
+			index: 'PAYM_AMT', name: 'paymAmt',
147
+			label: "지급",
161
 			width: '10', fixed: false, align: 'center',
148
 			width: '10', fixed: false, align: 'center',
162
-			sortable: false, hidden: true
149
+			sortable: false, editable: false, edittype: 'text', 
150
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
163
 		},
151
 		},
164
 		{
152
 		{
165
-			index: 'LOCATION', name: 'location',
166
-			label: "로케이션",
153
+			index: 'TRSC_AF_BAL', name: 'trscAfBal',
154
+			label: "잔액",
167
 			width: '10', fixed: false, align: 'center',
155
 			width: '10', fixed: false, align: 'center',
168
-			sortable: false, editable: true, edittype: 'text',
169
-			editrules: {required: false}
156
+			sortable: false, editable: false, edittype: 'text', 
157
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
158
+		},
159
+		{
160
+			index: 'USER', name: 'user',
161
+			label: "사용자",
162
+			width: '10', fixed: false, align: 'center',
163
+			sortable: false, editable: false, edittype: 'text'
170
 		},
164
 		},
171
 		{
165
 		{
172
-			index: 'LOCATION_NM', name: 'locationNm',
173
-			label: "로케이션명",
174
-			width: '12', fixed: false, align: 'center',
175
-			sortable: false, editable: true, edittype: 'text',
176
-			editrules: {required: true}
166
+			index: 'NO', name: 'no',
167
+			label: "관련번호",
168
+			width: '10', fixed: false, align: 'center',
169
+			sortable: false, editable: false, edittype: 'text'
177
 		}
170
 		}
178
 	]
171
 	]
179
 };
172
 };
180
 
173
 
181
 require(['config'], function() {
174
 require(['config'], function() {
182
 	require([
175
 	require([
183
-		'kakao.map.util'
184
 	], function($) {
176
 	], function($) {
185
 		pageObj.init();
177
 		pageObj.init();
186
 	});
178
 	});
@@ -191,7 +183,6 @@ let pageObj = {
191
 	init: function () {
183
 	init: function () {
192
 		this.ui.init();
184
 		this.ui.init();
193
 		this.event.init();
185
 		this.event.init();
194
-		locInfoObj.init();
195
 	},
186
 	},
196
 	ui: {
187
 	ui: {
197
 		init: function () {
188
 		init: function () {
@@ -211,7 +202,10 @@ let pageObj = {
211
 		    });
202
 		    });
212
 
203
 
213
 			// 조회일자 지정
204
 			// 조회일자 지정
205
+			var now = new Date();
214
 			$('#ITP_TAB_LOANMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);			
206
 			$('#ITP_TAB_LOANMNG01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);			
207
+			$('#ITP_FORM_LOANMNG01010_SEARCH_FROM').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
208
+			$('#ITP_FORM_LOANMNG01010_SEARCH_TO').datepicker('setDate', new Date());
215
 		},
209
 		},
216
 		grid: function() {
210
 		grid: function() {
217
 			itp_fn_jqgrid_resize(LOANMNG01010_GRID_ID, LOANMNG01010_GRID_LIST, 'lg');
211
 			itp_fn_jqgrid_resize(LOANMNG01010_GRID_ID, LOANMNG01010_GRID_LIST, 'lg');
@@ -232,15 +226,9 @@ let pageObj = {
232
 				var id = $(this).attr('id');
226
 				var id = $(this).attr('id');
233
 				$(this).on('click', function() {
227
 				$(this).on('click', function() {
234
 					switch (id) {
228
 					switch (id) {
235
-						case 'ITP_BTN_LOANMNG01010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
236
-						case 'ITP_BTN_LOANMNG01010_NEWREG'				: listObj.button.create(); 		break;	// 신규등록 버튼
237
-						case 'ITP_BTN_LOANMNG01010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
238
-						case 'ITP_BTN_LOANMNG01010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
239
-						case 'ITP_BTN_LOANMNG01010_DELETE'				: 								break;	// 삭제 버튼
240
-						case 'ITP_BTN_LOANMNG01010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
241
-						case 'ITP_BTN_LOANMNG01010_DETAIL_ADDROW'		: locInfoObj.button.addRow();	break;	// 상세:추가버튼
242
-						case 'ITP_BTN_LOANMNG01010_DETAIL_DELROW'		: locInfoObj.button.delRow();	break;	// 상세:삭제버튼
243
-						case 'ITP_BTN_LOANMNG01010_DETAIL_ADDRESS_SEARCH'		: createObj.button.address();	break;	// 신규등록 주소 찾기
229
+						case 'ITP_BTN_LOANMNG01010_SRH'					: listObj.button.search();		break;	// 조회 버튼 클릭
230
+						case 'ITP_BTN_LOANMNG01010_CANCELLIST'			: viewObj.button.cancel(); 	break;	// 취소/목록 버튼
231
+						case 'ITP_BTN_LOANMNG01010_VIEW_SEARCH_SRH'		: viewObj.button.history();		break;	// 이력조회
244
 						case 'ITP_BTN_LOANMNG01010_SEARCH_SRH'			: listObj.button.popupStore();	break;	// 매장선택 팝업
232
 						case 'ITP_BTN_LOANMNG01010_SEARCH_SRH'			: listObj.button.popupStore();	break;	// 매장선택 팝업
245
 						case 'ITP_BTN_LOANMNG01010_SEARCH_MODIFY'		: listObj.button.eraseStore();	break;	// 매장선택 삭제
233
 						case 'ITP_BTN_LOANMNG01010_SEARCH_MODIFY'		: listObj.button.eraseStore();	break;	// 매장선택 삭제
246
 					}
234
 					}
@@ -248,10 +236,6 @@ let pageObj = {
248
 			});
236
 			});
249
 
237
 
250
 			$('body').on('click', function(e) {
238
 			$('body').on('click', function(e) {
251
-				var gridId = LOANMNG01010_DETAIL_GRID_ID.replace('#', '');
252
-				var rids = $(LOANMNG01010_DETAIL_GRID_ID).jqGrid('getDataIDs');
253
-				var last_row_id = rids[rids.length - 1];
254
-				itp_fn_grid_reset_selection(e, last_row_id, gridId, 'LOANMNG01010_DETAIL');
255
 			});
239
 			});
256
 
240
 
257
 		}
241
 		}
@@ -269,55 +253,6 @@ let pageObj = {
269
 			$('#ITP_AJAX_LOANMNG01010_LIST_CONTAINER').show();
253
 			$('#ITP_AJAX_LOANMNG01010_LIST_CONTAINER').show();
270
 			$('#ITP_AJAX_LOANMNG01010_DETAIL_CONTAINER').hide();
254
 			$('#ITP_AJAX_LOANMNG01010_DETAIL_CONTAINER').hide();
271
 			$('#ITP_AJAX_LOANMNG01010_VIEW_CONTAINER').hide();
255
 			$('#ITP_AJAX_LOANMNG01010_VIEW_CONTAINER').hide();
272
-		} else if(mode == 'ADD') { // 등록
273
-			ITP_FORM_LOANMNG01010_DETAIL_IS_DUPLICATE = true;
274
-
275
-			$('#ITP_BTN_LOANMNG01010_SRH').hide();
276
-			$('#ITP_BTN_LOANMNG01010_MODIFY').hide();
277
-			$('#ITP_BTN_LOANMNG01010_NEWREG').hide();
278
-			$('#ITP_BTN_LOANMNG01010_DELETE').hide();
279
-			
280
-			fn_show_btn_auth('#ITP_BTN_LOANMNG01010_CANCELLIST');
281
-			fn_show_btn_auth('#ITP_BTN_LOANMNG01010_SAVE');
282
-
283
-			$('#ITP_AJAX_LOANMNG01010_LIST_CONTAINER').hide();
284
-			$('#ITP_AJAX_LOANMNG01010_DETAIL_CONTAINER').show();
285
-			$('#ITP_AJAX_LOANMNG01010_VIEW_CONTAINER').hide();
286
-
287
-			$('#ITP_FORM_LOANMNG01010_DETAIL_VIEW_CD').val('C');
288
-			$('#ITP_FORM_LOANMNG01010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
289
-			$('#ITP_FORM_LOANMNG01010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
290
-			$('#ITP_FORM_LOANMNG01010_DETAIL .fnWhsId').text('');
291
-			$('#ITP_FORM_LOANMNG01010_DETAIL .fnRegDtm').text('');
292
-			$('#ITP_FORM_LOANMNG01010_DETAIL_STORE_ID').val('');
293
-			$('#ITP_FORM_LOANMNG01010_DETAIL_WHS_ID').val('');
294
-			$('#ITP_FORM_LOANMNG01010_DETAIL_WHS_ST_CD').val('');
295
-			$('#ITP_FORM_LOANMNG01010_DETAIL_WHS_NM').val('');
296
-			$('#ITP_FORM_LOANMNG01010_DETAIL_MGR_TEL_NO').val('');
297
-			$('#ITP_FORM_LOANMNG01010_DETAIL_MGR_NM').val('');
298
-			$('#ITP_FORM_LOANMNG01010_DETAIL_STORE_NM').val('');
299
-			$('#ITP_FORM_LOANMNG01010_DETAIL_ZIPNO').val('');
300
-			$('#ITP_FORM_LOANMNG01010_DETAIL_ADRES').val('');
301
-			$('#ITP_FORM_LOANMNG01010_DETAIL_ADRES_DTL').val('');
302
-			
303
-		} else if(mode == 'MODIFY') { // 수정
304
-			$('#ITP_BTN_LOANMNG01010_SRH').hide();
305
-			$('#ITP_BTN_LOANMNG01010_MODIFY').hide();
306
-			$('#ITP_BTN_LOANMNG01010_NEWREG').hide();
307
-			$('#ITP_BTN_LOANMNG01010_DELETE').hide();
308
-			fn_show_btn_auth('#ITP_BTN_LOANMNG01010_CANCELLIST');
309
-			fn_show_btn_auth('#ITP_BTN_LOANMNG01010_SAVE');
310
-			fn_show_btn_auth('#ITP_BTN_LOANMNG01010_RESET_PW');
311
-
312
-			$('#ITP_AJAX_LOANMNG01010_LIST_CONTAINER').hide();
313
-			$('#ITP_AJAX_LOANMNG01010_DETAIL_CONTAINER').show();
314
-			$('#ITP_AJAX_LOANMNG01010_VIEW_CONTAINER').hide();
315
-			// $('#ITP_FORM_LOANMNG01010_DETAIL_USER_ID').attr('readonly', true);
316
-			// $('#ITP_FORM_LOANMNG01010_DETAIL_DUP').attr('disabled', true);
317
-			$('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
318
-
319
-			$('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP').hide();
320
-			$('#ITP_FORM_LOANMNG01010_DETAIL_DELETE_AFFL_SHOP').hide();
321
 		} else if(mode == 'VIEW') { // 보기
256
 		} else if(mode == 'VIEW') { // 보기
322
 			$('#ITP_BTN_LOANMNG01010_SRH').hide();
257
 			$('#ITP_BTN_LOANMNG01010_SRH').hide();
323
 			$('#ITP_BTN_LOANMNG01010_NEWREG').hide();
258
 			$('#ITP_BTN_LOANMNG01010_NEWREG').hide();
@@ -348,12 +283,6 @@ let listObj = {
348
 			param.gridPage = $.jgrid.defaults.page;
283
 			param.gridPage = $.jgrid.defaults.page;
349
 			$(LOANMNG01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
284
 			$(LOANMNG01010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
350
 		},
285
 		},
351
-		create: function() {
352
-			pageObj.switchScreen('ADD');			
353
-			itp_fn_form_clear_validate(null, '#ITP_FORM_LOANMNG01010_DETAIL');						
354
-			// 로케이션 리스트 조회
355
-			createObj.init();
356
-		}, 
357
 		popupStore: function() { // 매장선택 팝업
286
 		popupStore: function() { // 매장선택 팝업
358
 			
287
 			
359
 		}, 
288
 		}, 
@@ -449,31 +378,46 @@ let viewObj = {
449
 	init: function (param) {
378
 	init: function (param) {
450
 		this.load(param);
379
 		this.load(param);
451
 	},
380
 	},
381
+	button: {
382
+		cancel: function() {
383
+			listObj.grid.search();
384
+		},
385
+		history: function() {
386
+			let param = $('#ITP_FORM_LOANMNG01010_VIEW_SEARCH').serializeObject();
387
+			param.gridSize = $.jgrid.defaults.rowNum;
388
+			param.gridPage = $.jgrid.defaults.page;
389
+			$(LOANMNG01010_VIEW_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
390
+		},
391
+	},
452
 	load: function(param) {
392
 	load: function(param) {
453
 		fn_ajax_call(LOAN_STATE_INFO_LOAN_MNG, param, this.callback, 'GET');
393
 		fn_ajax_call(LOAN_STATE_INFO_LOAN_MNG, param, this.callback, 'GET');
454
 	},
394
 	},
455
 	callback: function (result) {
395
 	callback: function (result) {
456
 		// console.log(result);
396
 		// console.log(result);
457
 		pageObj.switchScreen('VIEW');
397
 		pageObj.switchScreen('VIEW');
458
-		$('#ITP_FORM_LOANMNG01010_VIEW #ITP_FORM_LOANMNG01010_VIEW_BRAND_ID').val(result.brandId);
459
-		$('#ITP_FORM_LOANMNG01010_VIEW #ITP_FORM_LOANMNG01010_VIEW_STORE_ID').val(result.storeId);
460
-		$('#ITP_FORM_LOANMNG01010_VIEW #ITP_FORM_LOANMNG01010_VIEW_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
398
+		$('#ITP_FORM_LOANMNG01010_VIEW_BRAND_ID').val(result.brandId);
399
+		$('#ITP_FORM_LOANMNG01010_VIEW_STORE_ID').val(result.storeId);
400
+		$('#ITP_FORM_LOANMNG01010_VIEW_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
401
+		$('#ITP_FORM_LOANMNG01010_VIEW_SEARCH_LOAN_MGNT_UNQ_NO').val(result.loanMgntUnqNo);
461
 		
402
 		
462
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnBrandNm').text(result.brandNm);
403
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnBrandNm').text(result.brandNm);
463
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnStoreNm').text(result.storeNm);
404
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnStoreNm').text(result.storeNm);
464
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnLoanDvsn').text(result.loanDvsnNm);
405
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnLoanDvsn').text(result.loanDvsnNm);
406
+		var limitAmt;
465
 		if(result.loanDvsn == 'LD01') { // 선불(충전)
407
 		if(result.loanDvsn == 'LD01') { // 선불(충전)
466
-			$('#ITP_FORM_LOANMNG01010_VIEW .fnCredtLimitAmt').text(itp_fn_number_comma(result.chrgeLimitAmt));	
408
+			limitAmt = result.chrgeLimitAmt;
467
 		} else if(result.loanDvsn == 'LD02') { // 후불(신용)
409
 		} else if(result.loanDvsn == 'LD02') { // 후불(신용)
468
-			$('#ITP_FORM_LOANMNG01010_VIEW .fnCredtLimitAmt').text(itp_fn_number_comma(result.credtLimitAmt));	
410
+			limitAmt = result.credtLimitAmt;				
469
 		}
411
 		}
412
+		$('#ITP_FORM_LOANMNG01010_VIEW .fnCredtLimitAmt').text(itp_fn_number_comma(limitAmt));
470
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnContDt').text(''); // TODO 계약기간
413
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnContDt').text(''); // TODO 계약기간
471
-		$('#ITP_FORM_LOANMNG01010_VIEW .fnUseYn').text(result.useYnNm);
472
-		$('#ITP_FORM_LOANMNG01010_VIEW .fnPosbLimitAmt').text(''); // TODO 가용한도금액
414
+		$('#ITP_FORM_LOANMNG01010_VIEW .fnUseYn').text(result.useYnNm);		
415
+		$('#ITP_FORM_LOANMNG01010_VIEW .fnPosbLimitAmt').text(itp_fn_number_comma(limitAmt - result.useAmtTotal)); // TODO 가용한도금액
473
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnTmpRcvAcctTotal').text(itp_fn_number_comma(result.tmpRcvAcctTotal));
416
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnTmpRcvAcctTotal').text(itp_fn_number_comma(result.tmpRcvAcctTotal));
474
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnUseAmtTotal').text(itp_fn_number_comma(result.useAmtTotal));
417
 		$('#ITP_FORM_LOANMNG01010_VIEW .fnUseAmtTotal').text(itp_fn_number_comma(result.useAmtTotal));
418
+		$('#ITP_FORM_LOANMNG01010_VIEW .fnLastModify').text(result.sysChgNm + ' / ' + result.sysChgDttm);
475
 
419
 
476
-		// 권한정보 리스트 조회
420
+		// 여신이력 리스트 조회
477
 		viewObj.grid.init();
421
 		viewObj.grid.init();
478
 	},
422
 	},
479
 	grid: {
423
 	grid: {
@@ -482,7 +426,7 @@ let viewObj = {
482
 			this.load();
426
 			this.load();
483
 		},
427
 		},
484
 		load : function() {
428
 		load : function() {
485
-			let param = $('#ITP_FORM_LOANMNG01010_VIEW').serializeObject();
429
+			let param = $('#ITP_FORM_LOANMNG01010_VIEW_SEARCH').serializeObject();
486
 			param.gridSize = $.jgrid.defaults.rowNum;
430
 			param.gridSize = $.jgrid.defaults.rowNum;
487
 			param.pagingYn = false; // 페이징안함
431
 			param.pagingYn = false; // 페이징안함
488
 
432
 
@@ -490,7 +434,7 @@ let viewObj = {
490
 				gridId: LOANMNG01010_VIEW_GRID_ID,
434
 				gridId: LOANMNG01010_VIEW_GRID_ID,
491
 				colModel: gridColModel.view,
435
 				colModel: gridColModel.view,
492
 				param: JSON.stringify(param),
436
 				param: JSON.stringify(param),
493
-				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
437
+				url: DOMAIN + LOAN_STATE_HIST_GRID_LIST,
494
 				pager: LOANMNG01010_VIEW_GRID_PAGER,
438
 				pager: LOANMNG01010_VIEW_GRID_PAGER,
495
 				loadComplete: function(data) {
439
 				loadComplete: function(data) {
496
 					itp_fn_grid_load_complete(data, LOANMNG01010_VIEW_GRID_ID, true, undefined, 'LOANMNG01010_VIEW');
440
 					itp_fn_grid_load_complete(data, LOANMNG01010_VIEW_GRID_ID, true, undefined, 'LOANMNG01010_VIEW');
@@ -535,299 +479,3 @@ let viewObj = {
535
 		}
479
 		}
536
 	}
480
 	}
537
 };
481
 };
538
-
539
-/*수정화면 Object*/
540
-let modifyObj = {
541
-	init: function () {
542
-	},
543
-	button: {
544
-		modify: function (param) {
545
-			itp_fn_form_clear_validate(null, '#ITP_FORM_LOANMNG01010_DETAIL');
546
-			const brandIdVal = $('#ITP_FORM_LOANMNG01010_VIEW_BRAND_ID').val();
547
-			const whsIdVal = $('#ITP_FORM_LOANMNG01010_VIEW_WHS_ID').val();
548
-			const key = {brandId: brandIdVal, whsId: whsIdVal, storeId: '', viewCd: 'R'};
549
-			var param = $.param(key);
550
-			modifyObj.load(param);
551
-		}
552
-	},
553
-	load: function(param) {
554
-		fn_ajax_call(LOAN_STATE_INFO_LOAN_MNG, param, this.callback, 'GET');
555
-	},
556
-	callback: function (result) {
557
-		// console.log(result);
558
-		pageObj.switchScreen('MODIFY');
559
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_VIEW_CD').val('U');
560
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_BRAND_ID').val(result.brandId);
561
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_STORE_ID').val(result.storeId);
562
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_WHS_ID').val(result.whsId);
563
-				
564
-		$('#ITP_FORM_LOANMNG01010_DETAIL .fnBrandNm').text(result.brandNm);
565
-		$('#ITP_FORM_LOANMNG01010_DETAIL .fnWhsId').text(result.whsId);
566
-		$('#ITP_FORM_LOANMNG01010_DETAIL .fnRegDtm').text(result.sysRegDttm);
567
-		
568
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_WHS_ST_CD').val(result.whsStCd);
569
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_WHS_NM').val(result.whsNm);
570
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_WHS_NM').val(result.whsNm);
571
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_MGR_TEL_NO').val(result.mgrTelNo);
572
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_MGR_NM').val(result.mgrNm);
573
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_STORE_NM').val(result.storeNm);
574
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_ZIPNO').val(result.zipNo);
575
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_ADRES').val(result.addr1);
576
-		$('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_ADRES_DTL').val(result.addr2);
577
-		
578
-		kakaoMap.init('ITP_FORM_LOANMNG01010_DETAIL', $('#ITP_FORM_LOANMNG01010_DETAIL #ITP_FORM_LOANMNG01010_DETAIL_ADRES').val());
579
-		
580
-		// 권한정보 리스트 조회
581
-		modifyObj.grid.init();
582
-	},
583
-	grid: {
584
-		init: function() {
585
-			this.unload();
586
-			this.load();
587
-		},
588
-		load : function() {
589
-			let param = $('#ITP_FORM_LOANMNG01010_DETAIL').serializeObject();
590
-			param.gridSize = $.jgrid.defaults.rowNum;
591
-			param.pagingYn = false; // 페이지안함
592
-
593
-			var option = {
594
-				gridId: LOANMNG01010_DETAIL_GRID_ID,
595
-				colModel: gridColModel.detail,
596
-				param: JSON.stringify(param),
597
-				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
598
-				pager: LOANMNG01010_DETAIL_GRID_PAGER,
599
-				multiselect: true,
600
-				onCellSelect: function(rowId, cellIdx, cellValue) {
601
-					LOANMNG01010_DETAIL_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowId, cellIdx, LOANMNG01010_DETAIL_GRID_LAST_ROW_ID, LOANMNG01010_DETAIL_GRID_ID, ['location']);
602
-		   		},
603
-				loadComplete: function(data) {
604
-					itp_fn_grid_load_complete(data, LOANMNG01010_DETAIL_GRID_ID, true, undefined, 'LOANMNG01010_DETAIL'); 
605
-				},
606
-				onPaging: function(action) {
607
-					var pagingFn = {
608
-						callBack: function(args) {
609
-							$(args).trigger('reloadGrid');
610
-						}
611
-					};
612
-					if (itp_fn_check_grid_is_writing(LOANMNG01010_DETAIL_GRID_ID)) {
613
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, LOANMNG01010_DETAIL_GRID_ID);
614
-						return 'stop';
615
-					} else {
616
-						itp_fn_grid_paging(LOANMNG01010_DETAIL_GRID_ID, action, param);
617
-					}
618
-				},
619
-				onSortCol: function(index, columnIndex, sortOrder) {
620
-					var sortingFn = {
621
-						callBack: function(args) {
622
-							$(args).trigger('reloadGrid');
623
-						}
624
-					};
625
-					if (itp_fn_check_grid_is_writing(LOANMNG01010_DETAIL_GRID_ID)) {
626
-						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, LOANMNG01010_DETAIL_GRID_ID);
627
-						return 'stop';
628
-					} else {
629
-						itp_fn_grid_sorting(LOANMNG01010_DETAIL_GRID_ID, index, sortOrder);
630
-					}
631
-				}
632
-			};
633
-			itp_fn_grid_make_remote(option);
634
-		},
635
-		clearData : function() {
636
-			$(LOANMNG01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
637
-			$(LOANMNG01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
638
-			$(LOANMNG01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
639
-			$(LOANMNG01010_DETAIL_GRID_EMPTY).show();
640
-		},
641
-		unload : function() {
642
-			$.jgrid.gridUnload(LOANMNG01010_DETAIL_GRID_ID);
643
-		}
644
-	}
645
-};
646
-
647
-/*신규화면 Object*/
648
-let createObj = {
649
-	init: function () {
650
-		kakaoMap.init('ITP_FORM_LOANMNG01010_DETAIL', '');
651
-		this.unload();
652
-		this.load();
653
-	},
654
-	button: {
655
-		cancel: function() {
656
-			listObj.grid.search();
657
-		},
658
-		save: function() {
659
-			var detailViewCd = $('#ITP_FORM_LOANMNG01010_DETAIL_VIEW_CD').val();
660
-			const formId = '#ITP_FORM_LOANMNG01010_DETAIL';
661
-			itp_fn_form_clear_validate(null, formId);
662
-			
663
-			var vali_whsStatCd = itp_fn_form_validate(formId, formId + '_WHS_ST_CD', ['empty'], undefined); // 상태
664
-			var vali_whsNm = itp_fn_form_validate(formId, formId + '_WHS_NM', ['empty'], undefined);
665
-			
666
-			if (vali_whsStatCd && vali_whsNm) {
667
-				let gridInsertData = [];
668
-				let gridUpdateData = [];
669
-				let gridDeleteData = [];
670
-				const rowData = $(LOANMNG01010_DETAIL_GRID_ID).getRowData();
671
-				// const keyValue = $(formId + '_WHS_ID').val();
672
-				$.each(rowData, function(key, value) {
673
-					if (value.viewCd != 'R') {
674
-						// value.whsId = keyValue;
675
-						if (value.viewCd == 'C') {
676
-							gridInsertData.push(value);
677
-						} else if (value.viewCd == 'U') {
678
-							gridUpdateData.push(value);
679
-						} else if (value.viewCd == 'D') {
680
-							gridDeleteData.push(value);
681
-						}
682
-					}
683
-				});
684
-				let param = $(formId).serializeObject();
685
-				param.gridInsertData = gridInsertData;
686
-				param.gridUpdateData = gridUpdateData;
687
-				param.gridDeleteData = gridDeleteData;
688
-				//console.log(JSON.stringify(param));
689
-				var searhFn = function() {
690
-					ITP_FORM_LOANMNG01010_DETAIL_IS_WRITING = false;
691
-					listObj.grid.search();
692
-				};
693
-				fn_ajax_call(detailViewCd == 'C' ? WHS_MNG_ADD_WHS : WHS_MNG_MIDIFY_WHS, JSON.stringify(param), searhFn, 'POST');
694
-			}
695
-		}, 
696
-		address: function() {
697
-			kakaoMap.address('ITP_FORM_LOANMNG01010_DETAIL');
698
-		}		
699
-	},
700
-	load: function () {
701
-		let param = $('#ITP_FORM_LOANMNG01010_DETAIL').serializeObject();
702
-		param.gridSize = $.jgrid.defaults.rowNum;
703
-		param.pagingYn = false; // 페이지안함
704
-
705
-		var option = {
706
-			gridId: LOANMNG01010_DETAIL_GRID_ID,
707
-			colModel: gridColModel.detail,
708
-			param: JSON.stringify(param),
709
-			url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
710
-			pager: LOANMNG01010_DETAIL_GRID_PAGER,
711
-			multiselect: true,
712
-			loadComplete: function(data) {
713
-				itp_fn_grid_load_complete(data, LOANMNG01010_DETAIL_GRID_ID, true, undefined, 'LOANMNG01010_DETAIL');
714
-			},
715
-			onPaging: function(action) {
716
-				var pagingFn = {
717
-					callBack: function(args) {
718
-						$(args).trigger('reloadGrid');
719
-					}
720
-				};
721
-				if (itp_fn_check_grid_is_writing(LOANMNG01010_DETAIL_GRID_ID)) {
722
-					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, LOANMNG01010_DETAIL_GRID_ID);
723
-					return 'stop';
724
-				} else {
725
-					itp_fn_grid_paging(LOANMNG01010_DETAIL_GRID_ID, action, param);
726
-				}
727
-			},
728
-			onSortCol: function(index, columnIndex, sortOrder) {
729
-				var sortingFn = {
730
-					callBack: function(args) {
731
-						$(args).trigger('reloadGrid');
732
-					}
733
-				};
734
-				if (itp_fn_check_grid_is_writing(LOANMNG01010_DETAIL_GRID_ID)) {
735
-					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, LOANMNG01010_DETAIL_GRID_ID);
736
-					return 'stop';
737
-				} else {
738
-					itp_fn_grid_sorting(LOANMNG01010_DETAIL_GRID_ID, index, sortOrder);
739
-				}
740
-			}
741
-		};
742
-		itp_fn_grid_make_remote(option);
743
-	},
744
-	clearData : function() {
745
-		$(LOANMNG01010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
746
-		$(LOANMNG01010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
747
-		$(LOANMNG01010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
748
-		$(LOANMNG01010_DETAIL_GRID_EMPTY).show();
749
-	},
750
-	unload : function() {
751
-		$.jgrid.gridUnload(LOANMNG01010_DETAIL_GRID_ID);
752
-	}
753
-};
754
-
755
-/*로케이션정보 Object*/
756
-let locInfoObj = {
757
-	init: function () {
758
-		// if(AUTH_TYPE_CD === '10' || AUTH_TYPE_CD === '20') {
759
-		this.action();
760
-		// } else {
761
-		// this.make();
762
-		// }
763
-	},
764
-	button: {
765
-		addRow: function() {
766
-			// $(LOANMNG01010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
767
-			// $(LOANMNG01010_DETAIL_GRID_EMPTY).hide();
768
-			LOANMNG01010_DETAIL_GRID_LAST_ROW_ID = itp_fn_add_grid_row(LOANMNG01010_DETAIL_GRID_ID, undefined, ['location'],'LOANMNG01010_DETAIL');
769
-		},
770
-		delRow: function() {
771
-			itp_fn_grid_del_row(LOANMNG01010_DETAIL_GRID_ID);
772
-		}
773
-	},
774
-	make: function() {
775
-		$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP').hide();
776
-		$('#ITP_FORM_LOANMNG01010_DELETE_AFFL_SHOP').hide();
777
-		if(AFFL_SHOP_LIST) {
778
-			$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP_ID').val(AFFL_SHOP_LIST[0].afflShopId);
779
-			$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP_NM').val(AFFL_SHOP_LIST[0].afflShopNm);
780
-		}
781
-		if(AFFL_BRAND_LIST) {
782
-			fn_make_select_brand(AFFL_BRAND_LIST, 'ITP_FORM_LOANMNG01010_SEARCH_BRAND_ID');
783
-		}
784
-	},
785
-	action: function () {
786
-		var _this = this;
787
-		// 로케이션정보 조회 버튼 클릭
788
-		$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP').on('click', function() {
789
-			_this.popup('L');
790
-		});
791
-		// 로케이션정보 텍스트 삭제 버튼 클릭
792
-		$('#ITP_FORM_LOANMNG01010_DELETE_AFFL_SHOP').on('click', function() {
793
-			$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP_NM').val('');
794
-			$('select#ITP_FORM_LOANMNG01010_SEARCH_BRAND_ID option').remove();
795
-		});
796
-		// 신규등록 로케이션정보 조회 버튼 클릭
797
-		$('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP').on('click', function() {
798
-			_this.popup('C');
799
-		});
800
-		// 신규등록 로케이션정보 텍스트 삭제 버튼 클릭
801
-		$('#ITP_FORM_LOANMNG01010_DETAIL_DELETE_AFFL_SHOP').on('click', function() {
802
-			$('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP_NM').val('');
803
-			$('select#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_BRAND_ID option').remove();
804
-		});
805
-	},
806
-	popup: function (view) {
807
-		// 팝업
808
-		var popFn = (view === 'C') ? this.callback.create : this.callback.list;
809
-		fn_call_popup('biz', 'BIZPOP_AFFL_SHOP', '#ITP_ASIDE', popFn, null, 'S');
810
-	},
811
-	callback: {
812
-		list: function(rowDataPop) {
813
-			// console.log(rowDataPop);
814
-			if(rowDataPop.AFFL_SHOP) {
815
-				$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP_ID').val(rowDataPop.AFFL_SHOP.afflShopId);
816
-				$('#ITP_FORM_LOANMNG01010_SEARCH_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
817
-			}
818
-			if(rowDataPop.AFFL_BRAND) {
819
-				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_LOANMNG01010_SEARCH_BRAND_ID', true, '선택');
820
-			}
821
-		},
822
-		create: function(rowDataPop) {
823
-			// console.log(rowDataPop);
824
-			if(rowDataPop.AFFL_SHOP) {
825
-				// $('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP_ID').val(rowDataPop.AFFL_SHOP.afflShopId);
826
-				// $('#ITP_FORM_LOANMNG01010_DETAIL_SEARCH_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
827
-			}
828
-			if(rowDataPop.AFFL_BRAND) {
829
-				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_LOANMNG01010_DETAIL_SEARCH_BRAND_ID', true, '선택');
830
-			}
831
-		}
832
-	}
833
-};

+ 574 - 0
bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG02010.js

@@ -0,0 +1,574 @@
1
+/********************************************************
2
+ --------------------------------------------------------
3
+ - Object 목록								            -
4
+ --------------------------------------------------------
5
+ * const gridColModel = {}	: 화면 Grid Object			*
6
+ * let pageObj = {}			: 화면공통 Object			*
7
+ * let listObj = {}			: 목록화면 Object			*
8
+ * let viewObj = {}			: 상세화면 Object			*
9
+ * let createObj = {}		: 신규화면 Object			*
10
+ *******************************************************/
11
+
12
+/*화면 변수*/
13
+const LOANMNG02010_GRID_ID = '#ITP_LOANMNG02010_jqGrid';
14
+const LOANMNG02010_GRID_LIST = '#ITP_LOANMNG02010_jqGrid_list';
15
+const LOANMNG02010_GRID_PAGER = '#ITP_LOANMNG02010_jqGridPager';
16
+const LOANMNG02010_GRID_EMPTY = '#ITP_LOANMNG02010_jqGridEmpty';
17
+
18
+let ITP_FORM_LOANMNG02010_DETAIL_IS_DUPLICATE = false;
19
+let ITP_FORM_LOANMNG02010_DETAIL_IS_WRITING = false;
20
+let LOANMNG02010_DETAIL_GRID_LAST_ROW_ID;
21
+
22
+/*API URL*/
23
+let DSPT_MNG_DETAIL_GRID_LIST = '/api/dspt/mng/detail-grid-list';
24
+let DSPT_MNG_INFO_DSPT = '/api/dspt/mng/info-dspt';
25
+let DSPT_MNG_REQUEST_DSPT = '/api/dspt/mng/request-dspt';
26
+let DSPT_MNG_REMOVE_DSPT = '/api/dspt/mng/remove-dspt';
27
+let DSPT_MNG_APPROVE_DSPT = '/api/dspt/mng/approve-dspt';
28
+let DSPT_MNG_REJECT_DSPT = '/api/dspt/mng/reject-dspt';
29
+
30
+let SCREEN_MODE = 'LIST';
31
+
32
+/*화면 Grid ColModel*/
33
+const gridColModel = {
34
+	list: [
35
+		{
36
+			index: 'VIEW_CD', name: 'viewCd',
37
+			label: ITP_MSG_LOCALE.label.viewCd,
38
+			width: '10', fixed: false, align: 'center',
39
+			sortable: false, hidden: true
40
+		},
41
+		{
42
+			index: 'DSPT_MGNT_NO', name: 'dsptMgntNo',
43
+			label: "입금관리번호", 
44
+			width: '0', fixed: false, align: 'center',
45
+			sortable: false, hidden: true
46
+		},
47
+		{
48
+			index: 'BRAND_ID', name: 'brandId',
49
+			label: "브랜드ID", 
50
+			width: '0', fixed: false, align: 'center',
51
+			sortable: false, hidden: true
52
+		},
53
+		{
54
+			index: 'STORE_ID', name: 'storeId',
55
+			label: "매장ID", 
56
+			width: '0', fixed: false, align: 'center',
57
+			sortable: false, hidden: true
58
+		},
59
+		{
60
+			index: 'BRAND_NM', name: 'brandNm',
61
+			label: ITP_MSG_LOCALE.label.brandNm, //브랜드
62
+			width: '12', fixed: false, align: 'center',
63
+			sortable: false, hidden: false
64
+		},
65
+		{
66
+			index: 'STORE_NM', name: 'storeNm',
67
+			label: "매장명", 
68
+			width: '12', fixed: false, align: 'center',
69
+			sortable: false, hidden: false
70
+		},
71
+		{
72
+			index: 'DPST_DT', name: 'dpstDt',
73
+			label: "입금일자", 
74
+			width: '10', fixed: false, align: 'center',
75
+			sortable: false, hidden: false
76
+		},
77
+		{
78
+			index: 'DPST_AMT', name: 'dpstAmt',
79
+			label: "입금금액", 
80
+			width: '10', fixed: false, align: 'center',
81
+			sortable: false, hidden: false, 
82
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
83
+		},
84
+		{
85
+			index: 'DPST_NM', name: 'dpstNm',
86
+			label: "입금자", 
87
+			width: '8', fixed: false, align: 'center',
88
+			sortable: false, hidden: false
89
+		},
90
+		{
91
+			index: 'DPST_ST_CD', name: 'dpstStCd',
92
+			label: "입금상태", 
93
+			width: '0', fixed: false, align: 'center',
94
+			sortable: false, hidden: true
95
+		},
96
+		{
97
+			index: 'DPST_ST_NM', name: 'dpstStNm',
98
+			label: "입금상태", 
99
+			width: '6', fixed: false, align: 'center',
100
+			sortable: false, hidden: false
101
+		},
102
+		{
103
+			index: 'DPST_BNK_NM', name: 'dpstBnkNm',
104
+			label: "입금은행", 
105
+			width: '10', fixed: false, align: 'center',
106
+			sortable: false, hidden: false
107
+		},
108
+		{
109
+			index: 'RCV_ACCT_NO', name: 'rcvAcctNo',
110
+			label: "입금계좌번호", 
111
+			width: '10', fixed: false, align: 'center',
112
+			sortable: false, hidden: false
113
+		},
114
+		{
115
+			index: 'REQ_DT', name: 'reqDt',
116
+			label: "요청일", 
117
+			width: '8', fixed: false, align: 'center',
118
+			sortable: false, hidden: false
119
+		},
120
+		{
121
+			index: 'DPST_AUTH_DT', name: 'dpstAuthDt',
122
+			label: "승인일", 
123
+			width: '8', fixed: false, align: 'center',
124
+			sortable: false, hidden: false
125
+		},
126
+		{
127
+			index: 'DSPT_RJCT_DT', name: 'dsptRjctDt',
128
+			label: "반려일", 
129
+			width: '8', fixed: false, align: 'center',
130
+			sortable: false, hidden: false
131
+		},
132
+		{
133
+			index: 'DSPT_RJCT_RSN', name: 'dsptRjctRsn',
134
+			label: "반려사유", 
135
+			width: '12', fixed: false, align: 'center',
136
+			sortable: false, hidden: false
137
+		}
138
+	]
139
+};
140
+
141
+require(['config'], function() {
142
+	require([
143
+	], function($) {
144
+		pageObj.init();
145
+	});
146
+});
147
+
148
+/*화면공통 Object*/
149
+let pageObj = {
150
+	init: function () {
151
+		this.ui.init();
152
+		this.event.init();
153
+	},
154
+	ui: {
155
+		init: function () {
156
+			this.view();
157
+			this.grid();
158
+			this.ready();
159
+		},
160
+		view: function() {
161
+			// 버튼 권한설정
162
+			fn_proc_btn_auth('LOANMNG02010');
163
+			
164
+			// 공통코드 표시
165
+			$('select').each(function() {
166
+		        if($(this).data('select-code')) {
167
+		            fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
168
+		        }
169
+		    });
170
+
171
+			// 조회일자 지정
172
+			var now = new Date();
173
+			$('#ITP_TAB_LOANMNG02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);			
174
+			$('#ITP_FORM_LOANMNG02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
175
+			$('#ITP_FORM_LOANMNG02010_SEARCH_TO_DT').datepicker('setDate', new Date());
176
+			
177
+		},
178
+		grid: function() {
179
+			itp_fn_jqgrid_resize(LOANMNG02010_GRID_ID, LOANMNG02010_GRID_LIST, 'lg');
180
+			listObj.empty.init();
181
+			itp_fn_fire_window_resize();
182
+		},
183
+		ready: function() {
184
+			listObj.init();
185
+		}
186
+	},
187
+	event: {
188
+		init: function () {
189
+			this.button();
190
+		},
191
+		button: function () {
192
+			// 버튼 클릭 이벤트
193
+			$('button').each(function() {
194
+				var id = $(this).attr('id');
195
+				$(this).on('click', function() {
196
+					switch (id) {
197
+						case 'ITP_BTN_LOANMNG02010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
198
+						case 'ITP_BTN_LOANMNG02010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
199
+						case 'ITP_BTN_LOANMNG02010_CANCELLIST'		: createObj.button.cancel(); 	break;	// 취소/목록 버튼
200
+						case 'ITP_BTN_LOANMNG02010_DELETE'			: viewObj.button.remove(); 		break;	// 삭제 버튼
201
+						case 'ITP_BTN_LOANMNG02010_REQUEST'			: createObj.button.request(); 		break;	// 요청 버튼
202
+						case 'ITP_BTN_LOANMNG02010_SEARCH_SRH'		: createObj.button.popupStore();	break;	// 매장선택 팝업
203
+						case 'ITP_BTN_LOANMNG02010_SEARCH_MODIFY'	: createObj.button.eraseStore();	break;	// 매장선택 삭제
204
+						case 'ITP_BTN_LOANMNG02010_AGREE'			: listObj.button.agree();		break;	// 승인
205
+						case 'ITP_BTN_LOANMNG02010_REJECT'			: listObj.button.reject();		break;	// 반려
206
+					}
207
+				});
208
+			});
209
+
210
+			$('body').on('click', function(e) {
211
+
212
+			});
213
+		}
214
+	},
215
+	switchScreen: function(mode) {		
216
+		SCREEN_MODE = mode;		
217
+		if(mode == 'LIST') { // 목록
218
+			$('#ITP_BTN_LOANMNG02010_MODIFY').hide();
219
+			$('#ITP_BTN_LOANMNG02010_CANCELLIST').hide();
220
+			$('#ITP_BTN_LOANMNG02010_DELETE').hide();
221
+			$('#ITP_BTN_LOANMNG02010_SAVE').hide();
222
+			$('#ITP_BTN_LOANMNG02010_REQUEST').hide();
223
+			
224
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_SRH');
225
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_NEWREG');
226
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_AGREE');			
227
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_REJECT');
228
+
229
+			$('#ITP_AJAX_LOANMNG02010_LIST_CONTAINER').show();
230
+			$('#ITP_AJAX_LOANMNG02010_DETAIL_CONTAINER').hide();
231
+			$('#ITP_AJAX_LOANMNG02010_VIEW_CONTAINER').hide();
232
+		} else if(mode == 'ADD') { // 등록
233
+			ITP_FORM_LOANMNG02010_DETAIL_IS_DUPLICATE = true;
234
+
235
+			$('#ITP_BTN_LOANMNG02010_SRH').hide();
236
+			$('#ITP_BTN_LOANMNG02010_MODIFY').hide();
237
+			$('#ITP_BTN_LOANMNG02010_NEWREG').hide();
238
+			$('#ITP_BTN_LOANMNG02010_DELETE').hide();
239
+			$('#ITP_BTN_LOANMNG02010_AGREE').hide();
240
+			$('#ITP_BTN_LOANMNG02010_REJECT').hide();
241
+			
242
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_CANCELLIST');
243
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_REQUEST');
244
+
245
+			$('#ITP_AJAX_LOANMNG02010_LIST_CONTAINER').hide();
246
+			$('#ITP_AJAX_LOANMNG02010_DETAIL_CONTAINER').show();
247
+			$('#ITP_AJAX_LOANMNG02010_VIEW_CONTAINER').hide();
248
+
249
+			$('#ITP_FORM_LOANMNG02010_DETAIL_VIEW_CD').val('C');			
250
+			$('#ITP_FORM_LOANMNG02010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
251
+			$('#ITP_FORM_LOANMNG02010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
252
+			$('#ITP_FORM_LOANMNG02010_DETAIL_STORE_ID').val($('#ITP_FORM_LOANMNG02010_SEARCH_STORE_ID').val());
253
+			$('#ITP_FORM_LOANMNG02010_DETAIL .fnStoreNm').text($('#ITP_FORM_LOANMNG02010_SEARCH_STORE_NM').val());
254
+			
255
+			$('#ITP_FORM_LOANMNG02010_DETAIL_DPST_AMT').val('');			
256
+			$('#ITP_FORM_LOANMNG02010_DETAIL_DPST_DT').val('');			
257
+			$('#ITP_FORM_LOANMNG02010_DETAIL_DPST_NM').val('');			
258
+			$('#ITP_FORM_LOANMNG02010_DETAIL_DPST_BNK_CD').val('');			
259
+			$('#ITP_FORM_LOANMNG02010_DETAIL_RCV_ACCT_NO').val('');			
260
+
261
+		} else if(mode == 'VIEW') { // 보기
262
+			$('#ITP_BTN_LOANMNG02010_SRH').hide();
263
+			$('#ITP_BTN_LOANMNG02010_NEWREG').hide();
264
+			$('#ITP_BTN_LOANMNG02010_SAVE').hide();
265
+			
266
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_MODIFY');
267
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_CANCELLIST');
268
+			fn_show_btn_auth('#ITP_BTN_LOANMNG02010_DELETE');
269
+
270
+			$('#ITP_AJAX_LOANMNG02010_LIST_CONTAINER').hide();
271
+			$('#ITP_AJAX_LOANMNG02010_DETAIL_CONTAINER').hide();
272
+			$('#ITP_AJAX_LOANMNG02010_VIEW_CONTAINER').show();
273
+		}
274
+	}
275
+};
276
+
277
+/*목록화면 Object*/
278
+let listObj = {
279
+	init: function () {
280
+		this.grid.init();
281
+	},
282
+	itp_LOANMNG02010_search: false,
283
+	button: {
284
+		search: function() {			
285
+			listObj.itp_LOANMNG02010_search = true;
286
+			let param = $('#ITP_FORM_LOANMNG02010_SEARCH').serializeObject();
287
+			param.gridSize = $.jgrid.defaults.rowNum;
288
+			param.gridPage = $.jgrid.defaults.page;
289
+			$(LOANMNG02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
290
+		},
291
+		create: function() {
292
+			// 매장선택 체크
293
+			if($('#ITP_FORM_LOANMNG02010_SEARCH_STORE_ID').val() == '') {
294
+				itp_fn_modal_alert_ajax('신규입금 처리를 위한 매장을 선택하세요.');
295
+				return;
296
+			}			
297
+			pageObj.switchScreen('ADD');			
298
+			itp_fn_form_clear_validate(null, '#ITP_FORM_LOANMNG02010_DETAIL');						
299
+			createObj.init();
300
+		}, 
301
+		agree: function() {
302
+			if(SCREEN_MODE == 'LIST') {
303
+				// 그리드에서 최소1개는 선택해야 함
304
+				const rowKey = $(LOANMNG02010_GRID_ID).getGridParam('selrow');
305
+			    if (!rowKey) {
306
+					itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.noData);
307
+			    	return;
308
+			    }
309
+				var selectedIds = $(LOANMNG02010_GRID_ID).getGridParam('selarrrow');
310
+				let dsptMgntNoList = [];
311
+				var check = true;
312
+				$.each(selectedIds, function(key, value) {				
313
+					var dsptMgntNo = $(LOANMNG02010_GRID_ID).jqGrid('getRowData', value).dsptMgntNo;				
314
+					var dpstStCd = $(LOANMNG02010_GRID_ID).jqGrid('getRowData', value).dpstStCd;
315
+									
316
+					if('DP01' != dpstStCd) { // 요청 체크
317
+						check = false;	
318
+					}							
319
+					dsptMgntNoList.push(dsptMgntNo);
320
+				});
321
+				if(!check) {
322
+					itp_fn_modal_alert_ajax('입금요청 건만 승인처리를 할 수 있습니다.');
323
+					return;
324
+				}			
325
+				// itp_fn_modal_confirm('승인 하시겠습니까?', function() {					
326
+				// }, null);
327
+				
328
+				let param = {};
329
+				param.dsptMgntNoList = dsptMgntNoList;
330
+				fn_ajax_call(DSPT_MNG_APPROVE_DSPT, JSON.stringify(param), function() {
331
+					listObj.button.search();
332
+				}, 'POST');	
333
+			} else if(SCREEN_MODE == 'VIEW') {
334
+				
335
+				// itp_fn_modal_confirm(ITP_MSG_LOCALE.message.form.procData, function() {											
336
+				// }, null);
337
+				
338
+				let dsptMgntNoList = [];
339
+				dsptMgntNoList.push($('#ITP_FORM_LOANMNG02010_VIEW_DSPT_MGNT_NO').val());
340
+				let param = {};
341
+				param.dsptMgntNoList = dsptMgntNoList;
342
+				fn_ajax_call(DSPT_MNG_APPROVE_DSPT, JSON.stringify(param), function() {					
343
+					pageObj.switchScreen('LIST');
344
+					listObj.button.search();					
345
+				}, 'POST');
346
+								
347
+			}
348
+		}, 
349
+		reject: function() {
350
+			if(SCREEN_MODE == 'LIST') {
351
+				// 그리드에서 최소1개는 선택해야 함
352
+				const rowKey = $(LOANMNG02010_GRID_ID).getGridParam('selrow');
353
+			    if (!rowKey) {
354
+					itp_fn_modal_alert_ajax(ITP_MSG_LOCALE.message.ajax.noData);
355
+			    	return;
356
+			    }
357
+				var selectedIds = $(LOANMNG02010_GRID_ID).getGridParam('selarrrow');
358
+				let dsptMgntNoList = [];
359
+				var check = true;
360
+				$.each(selectedIds, function(key, value) {				
361
+					var dsptMgntNo = $(LOANMNG02010_GRID_ID).jqGrid('getRowData', value).dsptMgntNo;				
362
+					var dpstStCd = $(LOANMNG02010_GRID_ID).jqGrid('getRowData', value).dpstStCd;
363
+									
364
+					if('DP01' != dpstStCd) { // 요청 체크
365
+						check = false;	
366
+					}							
367
+					dsptMgntNoList.push(dsptMgntNo);
368
+				});
369
+				if(!check) {
370
+					itp_fn_modal_alert_ajax('입금요청 건만 반려처리를 할 수 있습니다.');
371
+					return;
372
+				}		
373
+				
374
+				fn_call_popup('biz', 'BIZPOP_PO_REJECT_REASON', '#ITP_ASIDE', function(result) {
375
+					// API 호출
376
+					let param = {};
377
+					param.dsptMgntNoList = dsptMgntNoList;
378
+					param.dsptRjctRsn = result;
379
+					fn_ajax_call(DSPT_MNG_REJECT_DSPT, JSON.stringify(param), function() {
380
+						listObj.button.search();						
381
+					}, 'POST');				
382
+				}, null, 'S');					
383
+			} else if(SCREEN_MODE == 'VIEW') {
384
+				
385
+				let dsptMgntNoList = [];
386
+				dsptMgntNoList.push($('#ITP_FORM_LOANMNG02010_VIEW_DSPT_MGNT_NO').val());
387
+				
388
+				fn_call_popup('biz', 'BIZPOP_PO_REJECT_REASON', '#ITP_ASIDE', function(result) {
389
+					// API 호출
390
+					let param = {};
391
+					param.dsptMgntNoList = dsptMgntNoList;
392
+					param.dsptRjctRsn = result;
393
+					fn_ajax_call(DSPT_MNG_REJECT_DSPT, JSON.stringify(param), function() {						 
394
+						listObj.grid.search();					
395
+					}, 'POST');				
396
+				}, null, 'S');				
397
+			}
398
+		}
399
+	},
400
+	empty: {
401
+		init: function() {
402
+			var _this = this;
403
+			this.push();
404
+			$(LOANMNG02010_GRID_EMPTY).on('click', function() {
405
+				_this.back();
406
+				_this.itp_LOANMNG02010_param.gridSize = $.jgrid.defaults.rowNum;
407
+				$(LOANMNG02010_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_LOANMNG02010_param)}).trigger('reloadGrid');
408
+			});
409
+		},
410
+		itp_LOANMNG02010_param: {},
411
+		push: function() {
412
+			let param = $('#ITP_FORM_LOANMNG02010_SEARCH').serializeObject();
413
+			listObj.itp_LOANMNG02010_param = param;
414
+		},
415
+		back: function() {
416
+			$('#ITP_FORM_LOANMNG02010_SEARCH_STORE_ID').val(listObj.itp_LOANMNG02010_param.sstoreId);
417
+			$('#ITP_FORM_LOANMNG02010_SEARCH_FROM_DT').val(listObj.itp_LOANMNG02010_param.fromDt);
418
+			$('#ITP_FORM_LOANMNG02010_SEARCH_TO_DT').val(listObj.itp_LOANMNG02010_param.toDt);
419
+			$('#ITP_FORM_LOANMNG02010_SEARCH_DPST_ST_CD').val(listObj.itp_LOANMNG02010_param.sdpstStCd);
420
+		}
421
+	},
422
+	grid: {
423
+		init: function () {
424
+			// 데이터 없을때
425
+			listObj.empty.push();
426
+			this.search();
427
+		},
428
+		colModel: gridColModel.list,
429
+		search: function() {
430
+			pageObj.switchScreen('LIST');
431
+			this.unload();
432
+			this.load();
433
+		},
434
+		load: function() {
435
+			$('#ITP_FORM_LOANMNG02010_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
436
+			
437
+			let param = $('#ITP_FORM_LOANMNG02010_SEARCH').serializeObject();
438
+			param.gridSize = $.jgrid.defaults.rowNum;
439
+			
440
+			var option = {
441
+				gridId: LOANMNG02010_GRID_ID,
442
+				colModel: gridColModel.list,
443
+				param: JSON.stringify(param),
444
+				url: DOMAIN + DSPT_MNG_DETAIL_GRID_LIST,
445
+				pager: LOANMNG02010_GRID_PAGER,
446
+				multiselect: true, 
447
+				onCellSelect: function(rowId, cellIdx, cellValue) {
448
+					var cm = $(this).jqGrid('getGridParam', 'colModel');
449
+					var colNm = cm[cellIdx].name;
450
+					if (colNm == 'storeNm') {
451
+						const dsptMgntNoVal = $(this).jqGrid('getCell', rowId, 'dsptMgntNo');
452
+						
453
+						const key = {dsptMgntNo : dsptMgntNoVal, viewCd: 'R'};
454
+						var param = $.param(key);
455
+						viewObj.init(param);
456
+					}
457
+				},
458
+				loadComplete: function(data) {
459
+					// console.log(data);
460
+					itp_fn_grid_load_complete(data, LOANMNG02010_GRID_ID, true, 'number', 'LOANMNG02010', listObj.itp_LOANMNG02010_search, listObj.empty, true, data.gridRecords, true);
461
+					var ids = $(LOANMNG02010_GRID_ID).getDataIDs();
462
+					$.each(ids, function(idx, rowId) {
463
+						$(LOANMNG02010_GRID_ID).jqGrid('setCell', rowId, 'storeNm', '', ITP_GRID_COL_STYLE.link);
464
+					});
465
+				},
466
+				onPaging: function(action) {
467
+					itp_fn_grid_paging(LOANMNG02010_GRID_ID, action, param);
468
+				}
469
+			};
470
+			itp_fn_grid_make_remote(option);
471
+		},
472
+		clearData : function() {
473
+			$(LOANMNG02010_GRID_ID).jqGrid('clearGridData', true);
474
+			$(LOANMNG02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
475
+			$(LOANMNG02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
476
+			$(LOANMNG02010_GRID_EMPTY).show();
477
+		},
478
+		unload : function() {
479
+			$.jgrid.gridUnload(LOANMNG02010_GRID_ID);
480
+		}
481
+	}
482
+};
483
+
484
+/*상세화면 Object*/
485
+let viewObj = {
486
+	init: function (param) {
487
+		this.load(param);
488
+	},
489
+	button: {
490
+		remove: function() {
491
+			const formId = '#ITP_FORM_LOANMNG02010_VIEW';
492
+			itp_fn_form_clear_validate(null, formId);
493
+			
494
+			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.form.deleteData, function() {
495
+				let param = $(formId).serializeObject();
496
+				//console.log(JSON.stringify(param));
497
+				var searhFn = function() {
498
+					ITP_FORM_LOANMNG02010_DETAIL_IS_WRITING = false;
499
+					listObj.grid.search();
500
+				};
501
+				
502
+				fn_ajax_call(DSPT_MNG_REMOVE_DSPT, JSON.stringify(param), searhFn, 'POST');	
503
+			}, null);
504
+		}
505
+	}, 
506
+	load: function(param) {
507
+		fn_ajax_call(DSPT_MNG_INFO_DSPT, param, this.callback, 'GET');
508
+	},
509
+	callback: function (result) {
510
+		// console.log(result);
511
+		pageObj.switchScreen('VIEW');
512
+		$('#ITP_FORM_LOANMNG02010_VIEW_BRAND_ID').val(result.brandId);
513
+		$('#ITP_FORM_LOANMNG02010_VIEW_STORE_ID').val(result.storeId);
514
+		$('#ITP_FORM_LOANMNG02010_VIEW_DSPT_MGNT_NO').val(result.dsptMgntNo);
515
+		$('#ITP_FORM_LOANMNG02010_VIEW_DPST_ST_CD').val(result.dpstStCd);
516
+		
517
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnBrandNm').text(result.brandNm);
518
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnStoreNm').text(result.storeNm);
519
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnDpstDt').text(result.dpstDt);
520
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnDpstNm').text(result.dpstNm);
521
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnDpstBnkNm').text(result.dpstBnkNm);
522
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnRcvAcctNo').text(result.rcvAcctNo);
523
+		$('#ITP_FORM_LOANMNG02010_VIEW .fnDpstAmt').text(itp_fn_number_comma(result.dpstAmt));		
524
+		
525
+		// 입금정보 상태에 따라 버튼 처리
526
+		if(result.dpstStCd == 'DP01') {
527
+			$('#ITP_BTN_LOANMNG02010_AGREE').show();
528
+			$('#ITP_BTN_LOANMNG02010_REJECT').show();
529
+			$('#ITP_BTN_LOANMNG02010_DELETE').show();
530
+		} else {
531
+			$('#ITP_BTN_LOANMNG02010_AGREE').hide();
532
+			$('#ITP_BTN_LOANMNG02010_REJECT').hide();
533
+			$('#ITP_BTN_LOANMNG02010_DELETE').hide();
534
+		}
535
+	}
536
+};
537
+
538
+/*신규화면 Object*/
539
+let createObj = {
540
+	init: function () {
541
+	},
542
+	button: {
543
+		cancel: function() {
544
+			listObj.grid.search();
545
+		},
546
+		request: function() {
547
+			const formId = '#ITP_FORM_LOANMNG02010_DETAIL';
548
+			itp_fn_form_clear_validate(null, formId);
549
+			
550
+			var vali_dpstAmt = itp_fn_form_validate(formId, formId + '_DPST_AMT', ['empty','number'], undefined); // 입금금액
551
+			var vali_dpstDt = itp_fn_form_validate(formId, formId + '_DPST_DT', ['empty'], undefined); // 입금일자
552
+			var vali_dpstNm = itp_fn_form_validate(formId, formId + '_DPST_NM', ['empty'], undefined); // 입금자명
553
+			var vali_dpstBnkCd = itp_fn_form_validate(formId, formId + '_DPST_BNK_CD', ['empty'], undefined); // 입금은행
554
+			var vali_rcvAcctNo = itp_fn_form_validate(formId, formId + '_RCV_ACCT_NO', ['empty'], undefined); // 입금계좌번호
555
+			
556
+			if (vali_dpstAmt && vali_dpstDt && vali_dpstNm && vali_dpstBnkCd && vali_rcvAcctNo) {				
557
+				let param = $(formId).serializeObject();
558
+				//console.log(JSON.stringify(param));
559
+				var searhFn = function() {
560
+					ITP_FORM_LOANMNG02010_DETAIL_IS_WRITING = false;
561
+					listObj.grid.search();
562
+				};
563
+				fn_ajax_call(DSPT_MNG_REQUEST_DSPT, JSON.stringify(param), searhFn, 'POST');
564
+			}
565
+		}, 
566
+		popupStore: function() { // 매장선택 팝업
567
+			
568
+		}, 
569
+		eraseStore: function() { // 매장선택 삭제
570
+			$('#ITP_FORM_LOANMNG02010_DETAIL_STORE_ID').val('');
571
+			$('#ITP_FORM_LOANMNG02010_DETAIL_STORE_NM').val('');
572
+		}
573
+	}
574
+};

+ 821 - 0
bin/src/main/webapp/js/app/loanmng/ITP_LOANMNG03010.js

@@ -0,0 +1,821 @@
1
+/********************************************************
2
+ --------------------------------------------------------
3
+ - Object 목록								            -
4
+ --------------------------------------------------------
5
+ * const gridColModel = {}	: 화면 Grid Object			*
6
+ * let pageObj = {}			: 화면공통 Object			*
7
+ * let listObj = {}			: 목록화면 Object			*
8
+ * let viewObj = {}			: 상세화면 Object			*
9
+ * let modifyObj = {}		: 수정화면 Object			*
10
+ * let createObj = {}		: 신규화면 Object			*
11
+ * let locInfoObj = {}		: 로케이션정보 Object				*
12
+ *******************************************************/
13
+
14
+/*화면 변수*/
15
+const LOANMNG03010_GRID_ID = '#ITP_LOANMNG03010_jqGrid';
16
+const LOANMNG03010_GRID_LIST = '#ITP_LOANMNG03010_jqGrid_list';
17
+const LOANMNG03010_GRID_PAGER = '#ITP_LOANMNG03010_jqGridPager';
18
+const LOANMNG03010_GRID_EMPTY = '#ITP_LOANMNG03010_jqGridEmpty';
19
+
20
+const LOANMNG03010_VIEW_GRID_ID = '#ITP_LOANMNG03010_VIEW_jqGrid';
21
+const LOANMNG03010_VIEW_GRID_LIST = '#ITP_LOANMNG03010_VIEW_jqGrid_list';
22
+const LOANMNG03010_VIEW_GRID_PAGER = '#ITP_LOANMNG03010_VIEW_jqGridPager';
23
+const LOANMNG03010_VIEW_GRID_EMPTY = '#ITP_LOANMNG03010_VIEW_jqGridEmpty';
24
+
25
+const LOANMNG03010_DETAIL_GRID_ID = '#ITP_LOANMNG03010_DETAIL_jqGrid';
26
+const LOANMNG03010_DETAIL_GRID_LIST = '#ITP_LOANMNG03010_DETAIL_jqGrid_list';
27
+const LOANMNG03010_DETAIL_GRID_PAGER = '#ITP_LOANMNG03010_DETAIL_jqGridPager';
28
+const LOANMNG03010_DETAIL_GRID_EMPTY = '#ITP_LOANMNG03010_DETAIL_jqGridEmpty';
29
+
30
+let ITP_FORM_LOANMNG03010_DETAIL_IS_DUPLICATE = false;
31
+let ITP_FORM_LOANMNG03010_DETAIL_IS_WRITING = false;
32
+let LOANMNG03010_DETAIL_GRID_LAST_ROW_ID;
33
+
34
+/*API URL*/
35
+let UNPAID_MNG_DETAIL_GRID_LIST = '/api/unpaid/mng/detail-grid-list';
36
+let UNPAID_MNG_STL_GRID_LIST = '/api/unpaid/mng/stl-grid-list';
37
+let UNPAID_MNG_INFO_UNPAID = '/api/unpaid/mng/info-unpaid';
38
+
39
+let WHS_MNG_ADD_WHS = '/api/whs/mng/add-whs';
40
+let WHS_MNG_MIDIFY_WHS = '/api/whs/mng/modify-whs';
41
+let WHS_MNG_REMOVE_WHS = '/api/whs/mng/remove-whs'; 
42
+
43
+/*화면 Grid ColModel*/
44
+const gridColModel = {
45
+	list: [
46
+		{
47
+			index: 'STTL_MGNT_UNQ_NO', name: 'sttlMgntUnqNo',
48
+			label: "정산관리고유번호", 
49
+			width: '0', fixed: false, align: 'center',
50
+			sortable: false, hidden: true
51
+		},
52
+		{
53
+			index: 'BRAND_ID', name: 'brandId',
54
+			label: "브랜드ID", 
55
+			width: '0', fixed: false, align: 'center',
56
+			sortable: false, hidden: true
57
+		},
58
+		{
59
+			index: 'STORE_ID', name: 'storeId',
60
+			label: "매장ID", 
61
+			width: '0', fixed: false, align: 'center',
62
+			sortable: false, hidden: true
63
+		},
64
+		{
65
+			index: 'BRAND_NM', name: 'brandNm',
66
+			label: ITP_MSG_LOCALE.label.brandNm, //브랜드
67
+			width: '13', fixed: false, align: 'center',
68
+			sortable: false, hidden: false
69
+		},
70
+		{
71
+			index: 'STORE_NM', name: 'storeNm',
72
+			label: "매장명", 
73
+			width: '13', fixed: false, align: 'center',
74
+			sortable: false, hidden: false
75
+		},
76
+		{
77
+			index: 'STTL_ST_NM', name: 'sttlStNm',
78
+			label: "상태", 
79
+			width: '8', fixed: false, align: 'center',
80
+			sortable: false, hidden: false
81
+		},
82
+		{
83
+			index: 'STTL_REQ_DT', name: 'sttlReqDt',
84
+			label: "정산요청일", 
85
+			width: '10', fixed: false, align: 'center',
86
+			sortable: false, hidden: false
87
+		},
88
+		{
89
+			index: 'STTL_DT', name: 'sttlDt',
90
+			label: "정산일", 
91
+			width: '10', fixed: false, align: 'center',
92
+			sortable: false, hidden: false
93
+		},		
94
+		{
95
+			index: 'STTL_REQ_AMT', name: 'sttlReqAmt',
96
+			label: '정산요청금액', 
97
+			width: '10', fixed: false, align: 'center',
98
+			sortable: false, hidden: false, 
99
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
100
+		},
101
+		{
102
+			index: 'STTL_AMT', name: 'sttlAmt',
103
+			label: '정산금액', 
104
+			width: '10', fixed: false, align: 'center',
105
+			sortable: false, hidden: false, 
106
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
107
+		},
108
+		{
109
+			index: 'ACCT_BAL', name: 'acctBal',
110
+			label: '잔액', 
111
+			width: '10', fixed: false, align: 'center',
112
+			sortable: false, hidden: false, 
113
+			formatter:'integer',formatoptions: { defaultValue: '', thousandsSeparator: ',' }
114
+		}		
115
+	],
116
+	view: [
117
+		{
118
+			index: 'VIEW_CD', name: 'viewCd',
119
+			label: ITP_MSG_LOCALE.label.viewCd,
120
+			width: '10', fixed: false, align: 'center',
121
+			sortable: false, hidden: true
122
+		},		
123
+		{
124
+			index: 'LOCATION', name: 'location',
125
+			label: "로케이션",
126
+			width: '10', fixed: false, align: 'center',
127
+			sortable: false, editable: false, edittype: 'text',
128
+			editrules: {required: true}
129
+		},
130
+		{
131
+			index: 'LOCATION_NM', name: 'locationNm',
132
+			label: "로케이션명",
133
+			width: '12', fixed: false, align: 'center',
134
+			sortable: true, editable: false, edittype: 'text',
135
+			editrules: {required: true}
136
+		},
137
+		{
138
+			index: 'STCK_DVSN_NM', name: 'stckDvsnNm',
139
+			label: "관리등록",
140
+			width: '10', fixed: false, align: 'center',
141
+			sortable: false, editable: false, edittype: 'text'
142
+		},
143
+		{
144
+			index: 'LOC_ST_NM', name: 'locStNm',
145
+			label: "상태",
146
+			width: '10', fixed: false, align: 'center',
147
+			sortable: false, editable: false, edittype: 'text'
148
+		}
149
+	],
150
+	detail: [
151
+		{
152
+			index: 'VIEW_CD', name: 'viewCd',
153
+			label: ITP_MSG_LOCALE.label.viewCd,
154
+			width: '10', fixed: false, align: 'center',
155
+			sortable: false, hidden: true
156
+		},
157
+		{
158
+			index: 'LOCATION', name: 'location',
159
+			label: "로케이션",
160
+			width: '10', fixed: false, align: 'center',
161
+			sortable: false, editable: true, edittype: 'text',
162
+			editrules: {required: false}
163
+		},
164
+		{
165
+			index: 'LOCATION_NM', name: 'locationNm',
166
+			label: "로케이션명",
167
+			width: '12', fixed: false, align: 'center',
168
+			sortable: false, editable: true, edittype: 'text',
169
+			editrules: {required: true}
170
+		}
171
+	]
172
+};
173
+
174
+require(['config'], function() {
175
+	require([
176
+		'kakao.map.util'
177
+	], function($) {
178
+		pageObj.init();
179
+	});
180
+});
181
+
182
+/*화면공통 Object*/
183
+let pageObj = {
184
+	init: function () {
185
+		this.ui.init();
186
+		this.event.init();
187
+		locInfoObj.init();
188
+	},
189
+	ui: {
190
+		init: function () {
191
+			this.view();
192
+			this.grid();
193
+			this.ready();
194
+		},
195
+		view: function() {
196
+			// 버튼 권한설정
197
+			fn_proc_btn_auth('LOANMNG03010');
198
+			
199
+			// 공통코드 표시
200
+			$('select').each(function() {
201
+		        if($(this).data('select-code')) {
202
+		            fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
203
+		        }
204
+		    });
205
+
206
+			// 조회일자 지정
207
+			var now = new Date();
208
+			$('#ITP_TAB_LOANMNG03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);			
209
+			$('#ITP_FORM_LOANMNG03010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
210
+			$('#ITP_FORM_LOANMNG03010_SEARCH_TO_DT').datepicker('setDate', new Date());
211
+			
212
+		},
213
+		grid: function() {
214
+			itp_fn_jqgrid_resize(LOANMNG03010_GRID_ID, LOANMNG03010_GRID_LIST, 'lg');
215
+			listObj.empty.init();
216
+			itp_fn_fire_window_resize();
217
+		},
218
+		ready: function() {
219
+			listObj.init();
220
+		}
221
+	},
222
+	event: {
223
+		init: function () {
224
+			this.button();
225
+		},
226
+		button: function () {
227
+			// 버튼 클릭 이벤트
228
+			$('button').each(function() {
229
+				var id = $(this).attr('id');
230
+				$(this).on('click', function() {
231
+					switch (id) {
232
+						case 'ITP_BTN_LOANMNG03010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
233
+						case 'ITP_BTN_LOANMNG03010_NEWREG'				: listObj.button.create(); 		break;	// 신규등록 버튼
234
+						case 'ITP_BTN_LOANMNG03010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
235
+						case 'ITP_BTN_LOANMNG03010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
236
+						case 'ITP_BTN_LOANMNG03010_DELETE'				: 								break;	// 삭제 버튼
237
+						case 'ITP_BTN_LOANMNG03010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
238
+						case 'ITP_BTN_LOANMNG03010_DETAIL_ADDROW'		: locInfoObj.button.addRow();	break;	// 상세:추가버튼
239
+						case 'ITP_BTN_LOANMNG03010_DETAIL_DELROW'		: locInfoObj.button.delRow();	break;	// 상세:삭제버튼
240
+						case 'ITP_BTN_LOANMNG03010_DETAIL_ADDRESS_SEARCH'		: createObj.button.address();	break;	// 신규등록 주소 찾기
241
+						case 'ITP_BTN_LOANMNG03010_SEARCH_SRH'			: createObj.button.popupStore();	break;	// 매장선택 팝업
242
+						case 'ITP_BTN_LOANMNG03010_SEARCH_MODIFY'		: createObj.button.eraseStore();	break;	// 매장선택 삭제
243
+					}
244
+				});
245
+			});
246
+
247
+			$('body').on('click', function(e) {
248
+				var gridId = LOANMNG03010_DETAIL_GRID_ID.replace('#', '');
249
+				var rids = $(LOANMNG03010_DETAIL_GRID_ID).jqGrid('getDataIDs');
250
+				var last_row_id = rids[rids.length - 1];
251
+				itp_fn_grid_reset_selection(e, last_row_id, gridId, 'LOANMNG03010_DETAIL');
252
+			});
253
+
254
+		}
255
+	},
256
+	switchScreen: function(mode) {
257
+		if(mode == 'LIST') { // 목록
258
+			$('#ITP_BTN_LOANMNG03010_MODIFY').hide();
259
+			$('#ITP_BTN_LOANMNG03010_CANCELLIST').hide();
260
+			$('#ITP_BTN_LOANMNG03010_DELETE').hide();
261
+			$('#ITP_BTN_LOANMNG03010_SAVE').hide();
262
+			
263
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_SRH');
264
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_NEWREG');
265
+
266
+			$('#ITP_AJAX_LOANMNG03010_LIST_CONTAINER').show();
267
+			$('#ITP_AJAX_LOANMNG03010_DETAIL_CONTAINER').hide();
268
+			$('#ITP_AJAX_LOANMNG03010_VIEW_CONTAINER').hide();
269
+		} else if(mode == 'ADD') { // 등록
270
+			ITP_FORM_LOANMNG03010_DETAIL_IS_DUPLICATE = true;
271
+
272
+			$('#ITP_BTN_LOANMNG03010_SRH').hide();
273
+			$('#ITP_BTN_LOANMNG03010_MODIFY').hide();
274
+			$('#ITP_BTN_LOANMNG03010_NEWREG').hide();
275
+			$('#ITP_BTN_LOANMNG03010_DELETE').hide();
276
+			
277
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_CANCELLIST');
278
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_SAVE');
279
+
280
+			$('#ITP_AJAX_LOANMNG03010_LIST_CONTAINER').hide();
281
+			$('#ITP_AJAX_LOANMNG03010_DETAIL_CONTAINER').show();
282
+			$('#ITP_AJAX_LOANMNG03010_VIEW_CONTAINER').hide();
283
+
284
+			$('#ITP_FORM_LOANMNG03010_DETAIL_VIEW_CD').val('C');
285
+			$('#ITP_FORM_LOANMNG03010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
286
+			$('#ITP_FORM_LOANMNG03010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
287
+			$('#ITP_FORM_LOANMNG03010_DETAIL .fnWhsId').text('');
288
+			$('#ITP_FORM_LOANMNG03010_DETAIL .fnRegDtm').text('');
289
+			$('#ITP_FORM_LOANMNG03010_DETAIL_STORE_ID').val('');
290
+			$('#ITP_FORM_LOANMNG03010_DETAIL_WHS_ID').val('');
291
+			$('#ITP_FORM_LOANMNG03010_DETAIL_WHS_ST_CD').val('');
292
+			$('#ITP_FORM_LOANMNG03010_DETAIL_WHS_NM').val('');
293
+			$('#ITP_FORM_LOANMNG03010_DETAIL_MGR_TEL_NO').val('');
294
+			$('#ITP_FORM_LOANMNG03010_DETAIL_MGR_NM').val('');
295
+			$('#ITP_FORM_LOANMNG03010_DETAIL_STORE_NM').val('');
296
+			$('#ITP_FORM_LOANMNG03010_DETAIL_ZIPNO').val('');
297
+			$('#ITP_FORM_LOANMNG03010_DETAIL_ADRES').val('');
298
+			$('#ITP_FORM_LOANMNG03010_DETAIL_ADRES_DTL').val('');
299
+			
300
+		} else if(mode == 'MODIFY') { // 수정
301
+			$('#ITP_BTN_LOANMNG03010_SRH').hide();
302
+			$('#ITP_BTN_LOANMNG03010_MODIFY').hide();
303
+			$('#ITP_BTN_LOANMNG03010_NEWREG').hide();
304
+			$('#ITP_BTN_LOANMNG03010_DELETE').hide();
305
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_CANCELLIST');
306
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_SAVE');
307
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_RESET_PW');
308
+
309
+			$('#ITP_AJAX_LOANMNG03010_LIST_CONTAINER').hide();
310
+			$('#ITP_AJAX_LOANMNG03010_DETAIL_CONTAINER').show();
311
+			$('#ITP_AJAX_LOANMNG03010_VIEW_CONTAINER').hide();
312
+			// $('#ITP_FORM_LOANMNG03010_DETAIL_USER_ID').attr('readonly', true);
313
+			// $('#ITP_FORM_LOANMNG03010_DETAIL_DUP').attr('disabled', true);
314
+			$('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
315
+
316
+			$('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP').hide();
317
+			$('#ITP_FORM_LOANMNG03010_DETAIL_DELETE_AFFL_SHOP').hide();
318
+		} else if(mode == 'VIEW') { // 보기
319
+			$('#ITP_BTN_LOANMNG03010_SRH').hide();
320
+			$('#ITP_BTN_LOANMNG03010_NEWREG').hide();
321
+			$('#ITP_BTN_LOANMNG03010_DELETE').hide();
322
+			$('#ITP_BTN_LOANMNG03010_SAVE').hide();
323
+			
324
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_MODIFY');
325
+			fn_show_btn_auth('#ITP_BTN_LOANMNG03010_CANCELLIST');
326
+
327
+			$('#ITP_AJAX_LOANMNG03010_LIST_CONTAINER').hide();
328
+			$('#ITP_AJAX_LOANMNG03010_DETAIL_CONTAINER').hide();
329
+			$('#ITP_AJAX_LOANMNG03010_VIEW_CONTAINER').show();
330
+		}
331
+	}
332
+};
333
+
334
+/*목록화면 Object*/
335
+let listObj = {
336
+	init: function () {
337
+		this.grid.init();
338
+	},
339
+	itp_LOANMNG03010_search: false,
340
+	button: {
341
+		search: function() {
342
+			listObj.itp_LOANMNG03010_search = true;
343
+			let param = $('#ITP_FORM_LOANMNG03010_SEARCH').serializeObject();
344
+			param.gridSize = $.jgrid.defaults.rowNum;
345
+			param.gridPage = $.jgrid.defaults.page;
346
+			$(LOANMNG03010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
347
+		},
348
+		create: function() {
349
+			pageObj.switchScreen('ADD');			
350
+			itp_fn_form_clear_validate(null, '#ITP_FORM_LOANMNG03010_DETAIL');						
351
+			// 로케이션 리스트 조회
352
+			createObj.init();
353
+		}
354
+	},
355
+	empty: {
356
+		init: function() {
357
+			var _this = this;
358
+			this.push();
359
+			$(LOANMNG03010_GRID_EMPTY).on('click', function() {
360
+				_this.back();
361
+				_this.itp_LOANMNG03010_param.gridSize = $.jgrid.defaults.rowNum;
362
+				$(LOANMNG03010_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_LOANMNG03010_param)}).trigger('reloadGrid');
363
+			});
364
+		},
365
+		itp_LOANMNG03010_param: {},
366
+		push: function() {
367
+			let param = $('#ITP_FORM_LOANMNG03010_SEARCH').serializeObject();
368
+			listObj.itp_LOANMNG03010_param = param;
369
+		},
370
+		back: function() {
371
+			$('#ITP_FORM_LOANMNG03010_SEARCH_STORE_ID').val(listObj.itp_LOANMNG03010_param.sstoreId);
372
+			$('#ITP_FORM_LOANMNG03010_SEARCH_STORE_NM').val(listObj.itp_LOANMNG03010_param.sstoreNm);
373
+			$('#ITP_FORM_LOANMNG03010_SEARCH_FROM_DT').val(listObj.itp_LOANMNG03010_param.fromDt);
374
+			$('#ITP_FORM_LOANMNG03010_SEARCH_TO_DT').val(listObj.itp_LOANMNG03010_param.toDt);
375
+		}
376
+	},
377
+	grid: {
378
+		init: function () {
379
+			// 데이터 없을때
380
+			listObj.empty.push();
381
+			this.search();
382
+		},
383
+		colModel: gridColModel.list,
384
+		search: function() {
385
+			pageObj.switchScreen('LIST');
386
+			this.unload();
387
+			this.load();
388
+		},
389
+		load: function() {
390
+			$('#ITP_FORM_LOANMNG03010_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
391
+			
392
+			let param = $('#ITP_FORM_LOANMNG03010_SEARCH').serializeObject();
393
+			param.gridSize = $.jgrid.defaults.rowNum;
394
+
395
+			var option = {
396
+				gridId: LOANMNG03010_GRID_ID,
397
+				colModel: gridColModel.list,
398
+				param: JSON.stringify(param),
399
+				url: DOMAIN + UNPAID_MNG_DETAIL_GRID_LIST,
400
+				pager: LOANMNG03010_GRID_PAGER,
401
+				onCellSelect: function(rowId, cellIdx, cellValue) {
402
+					var cm = $(this).jqGrid('getGridParam', 'colModel');
403
+					var colNm = cm[cellIdx].name;
404
+					if (colNm == 'storeNm') {
405
+						const sttlMgntUnqNoVal = $(this).jqGrid('getCell', rowId, 'sttlMgntUnqNo');
406
+						
407
+						const key = {sttlMgntUnqNo: sttlMgntUnqNoVal, viewCd: 'R'};
408
+						var param = $.param(key);
409
+						viewObj.init(param);
410
+					}
411
+				},
412
+				loadComplete: function(data) {
413
+					console.log(data);
414
+					itp_fn_grid_load_complete(data, LOANMNG03010_GRID_ID, true, 'number', 'LOANMNG03010', listObj.itp_LOANMNG03010_search, listObj.empty, true, data.gridRecords, true);
415
+					var ids = $(LOANMNG03010_GRID_ID).getDataIDs();
416
+					$.each(ids, function(idx, rowId) {
417
+						$(LOANMNG03010_GRID_ID).jqGrid('setCell', rowId, 'storeNm', '', ITP_GRID_COL_STYLE.link);
418
+					});
419
+				},
420
+				onPaging: function(action) {
421
+					itp_fn_grid_paging(LOANMNG03010_GRID_ID, action, param);
422
+				}
423
+			};
424
+			itp_fn_grid_make_remote(option);
425
+		},
426
+		clearData : function() {
427
+			$(LOANMNG03010_GRID_ID).jqGrid('clearGridData', true);
428
+			$(LOANMNG03010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
429
+			$(LOANMNG03010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
430
+			$(LOANMNG03010_GRID_EMPTY).show();
431
+		},
432
+		unload : function() {
433
+			$.jgrid.gridUnload(LOANMNG03010_GRID_ID);
434
+		}
435
+	}
436
+};
437
+
438
+/*상세화면 Object*/
439
+let viewObj = {
440
+	init: function (param) {
441
+		this.load(param);
442
+	},
443
+	load: function(param) {
444
+		fn_ajax_call(UNPAID_MNG_INFO_UNPAID, param, this.callback, 'GET');
445
+	},
446
+	callback: function (result) {
447
+		// console.log(result);
448
+		pageObj.switchScreen('VIEW');
449
+		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_BRAND_ID').val(result.brandId);
450
+		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_STORE_ID').val(result.storeId);
451
+		$('#ITP_FORM_LOANMNG03010_VIEW #ITP_FORM_LOANMNG03010_VIEW_WHS_ID').val(result.whsId);
452
+		
453
+		$('#ITP_FORM_LOANMNG03010_VIEW .fnBrandNm').text(result.brandNm);
454
+		$('#ITP_FORM_LOANMNG03010_VIEW .fnStCd').text(result.whsStNm);
455
+		$('#ITP_FORM_LOANMNG03010_VIEW .fnWhsId').text(result.whsId);
456
+
457
+		// 리스트 조회
458
+		// viewObj.grid.init();
459
+	},
460
+	grid: {
461
+		init: function() {
462
+			this.unload();
463
+			this.load();
464
+		},
465
+		load : function() {
466
+			let param = $('#ITP_FORM_LOANMNG03010_VIEW').serializeObject();
467
+			param.gridSize = $.jgrid.defaults.rowNum;
468
+			param.pagingYn = false; // 페이징안함
469
+
470
+			var option = {
471
+				gridId: LOANMNG03010_VIEW_GRID_ID,
472
+				colModel: gridColModel.view,
473
+				param: JSON.stringify(param),
474
+				url: DOMAIN + UNPAID_MNG_STL_GRID_LIST,
475
+				pager: LOANMNG03010_VIEW_GRID_PAGER,
476
+				loadComplete: function(data) {
477
+					itp_fn_grid_load_complete(data, LOANMNG03010_VIEW_GRID_ID, true, undefined, 'LOANMNG03010_VIEW');
478
+				},
479
+				onPaging: function(action) {
480
+					var pagingFn = {
481
+						callBack: function(args) {
482
+							$(args).trigger('reloadGrid');
483
+						}
484
+					};
485
+					if (itp_fn_check_grid_is_writing(LOANMNG03010_VIEW_GRID_ID)) {
486
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, LOANMNG03010_VIEW_GRID_ID);
487
+						return 'stop';
488
+					} else {
489
+						itp_fn_grid_paging(LOANMNG03010_VIEW_GRID_ID, action, param);
490
+					}
491
+				},
492
+				onSortCol: function(index, columnIndex, sortOrder) {
493
+					var sortingFn = {
494
+						callBack: function(args) {
495
+							$(args).trigger('reloadGrid');
496
+						}
497
+					};
498
+					if (itp_fn_check_grid_is_writing(LOANMNG03010_VIEW_GRID_ID)) {
499
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, LOANMNG03010_VIEW_GRID_ID);
500
+						return 'stop';
501
+					} else {
502
+						itp_fn_grid_sorting(LOANMNG03010_VIEW_GRID_ID, index, sortOrder);
503
+					}
504
+				}
505
+			};
506
+			itp_fn_grid_make_remote(option);
507
+		},
508
+		clearData : function() {
509
+			$(LOANMNG03010_VIEW_GRID_ID).jqGrid('clearGridData', true);
510
+			$(LOANMNG03010_VIEW_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
511
+			$(LOANMNG03010_VIEW_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
512
+			$(LOANMNG03010_VIEW_GRID_EMPTY).show();
513
+		},
514
+		unload : function() {
515
+			$.jgrid.gridUnload(LOANMNG03010_VIEW_GRID_ID);
516
+		}
517
+	}
518
+};
519
+
520
+/*수정화면 Object*/
521
+let modifyObj = {
522
+	init: function () {
523
+	},
524
+	button: {
525
+		modify: function (param) {
526
+			itp_fn_form_clear_validate(null, '#ITP_FORM_LOANMNG03010_DETAIL');
527
+			const brandIdVal = $('#ITP_FORM_LOANMNG03010_VIEW_BRAND_ID').val();
528
+			const whsIdVal = $('#ITP_FORM_LOANMNG03010_VIEW_WHS_ID').val();
529
+			const key = {brandId: brandIdVal, whsId: whsIdVal, storeId: '', viewCd: 'R'};
530
+			var param = $.param(key);
531
+			modifyObj.load(param);
532
+		}
533
+	},
534
+	load: function(param) {
535
+		fn_ajax_call(UNPAID_MNG_INFO_UNPAID, param, this.callback, 'GET');
536
+	},
537
+	callback: function (result) {
538
+		// console.log(result);
539
+		pageObj.switchScreen('MODIFY');
540
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_VIEW_CD').val('U');
541
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_BRAND_ID').val(result.brandId);
542
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_STORE_ID').val(result.storeId);
543
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_WHS_ID').val(result.whsId);
544
+				
545
+		$('#ITP_FORM_LOANMNG03010_DETAIL .fnBrandNm').text(result.brandNm);
546
+		$('#ITP_FORM_LOANMNG03010_DETAIL .fnWhsId').text(result.whsId);
547
+		$('#ITP_FORM_LOANMNG03010_DETAIL .fnRegDtm').text(result.sysRegDttm);
548
+		
549
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_WHS_ST_CD').val(result.whsStCd);
550
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_WHS_NM').val(result.whsNm);
551
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_WHS_NM').val(result.whsNm);
552
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_MGR_TEL_NO').val(result.mgrTelNo);
553
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_MGR_NM').val(result.mgrNm);
554
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_STORE_NM').val(result.storeNm);
555
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_ZIPNO').val(result.zipNo);
556
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_ADRES').val(result.addr1);
557
+		$('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_ADRES_DTL').val(result.addr2);
558
+		
559
+		kakaoMap.init('ITP_FORM_LOANMNG03010_DETAIL', $('#ITP_FORM_LOANMNG03010_DETAIL #ITP_FORM_LOANMNG03010_DETAIL_ADRES').val());
560
+		
561
+		// 권한정보 리스트 조회
562
+		modifyObj.grid.init();
563
+	},
564
+	grid: {
565
+		init: function() {
566
+			this.unload();
567
+			this.load();
568
+		},
569
+		load : function() {
570
+			let param = $('#ITP_FORM_LOANMNG03010_DETAIL').serializeObject();
571
+			param.gridSize = $.jgrid.defaults.rowNum;
572
+			param.pagingYn = false; // 페이지안함
573
+
574
+			var option = {
575
+				gridId: LOANMNG03010_DETAIL_GRID_ID,
576
+				colModel: gridColModel.detail,
577
+				param: JSON.stringify(param),
578
+				url: DOMAIN + UNPAID_MNG_STL_GRID_LIST,
579
+				pager: LOANMNG03010_DETAIL_GRID_PAGER,
580
+				multiselect: true,
581
+				onCellSelect: function(rowId, cellIdx, cellValue) {
582
+					LOANMNG03010_DETAIL_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowId, cellIdx, LOANMNG03010_DETAIL_GRID_LAST_ROW_ID, LOANMNG03010_DETAIL_GRID_ID, ['location']);
583
+		   		},
584
+				loadComplete: function(data) {
585
+					itp_fn_grid_load_complete(data, LOANMNG03010_DETAIL_GRID_ID, true, undefined, 'LOANMNG03010_DETAIL');
586
+				},
587
+				onPaging: function(action) {
588
+					var pagingFn = {
589
+						callBack: function(args) {
590
+							$(args).trigger('reloadGrid');
591
+						}
592
+					};
593
+					if (itp_fn_check_grid_is_writing(LOANMNG03010_DETAIL_GRID_ID)) {
594
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, LOANMNG03010_DETAIL_GRID_ID);
595
+						return 'stop';
596
+					} else {
597
+						itp_fn_grid_paging(LOANMNG03010_DETAIL_GRID_ID, action, param);
598
+					}
599
+				},
600
+				onSortCol: function(index, columnIndex, sortOrder) {
601
+					var sortingFn = {
602
+						callBack: function(args) {
603
+							$(args).trigger('reloadGrid');
604
+						}
605
+					};
606
+					if (itp_fn_check_grid_is_writing(LOANMNG03010_DETAIL_GRID_ID)) {
607
+						itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, LOANMNG03010_DETAIL_GRID_ID);
608
+						return 'stop';
609
+					} else {
610
+						itp_fn_grid_sorting(LOANMNG03010_DETAIL_GRID_ID, index, sortOrder);
611
+					}
612
+				}
613
+			};
614
+			itp_fn_grid_make_remote(option);
615
+		},
616
+		clearData : function() {
617
+			$(LOANMNG03010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
618
+			$(LOANMNG03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
619
+			$(LOANMNG03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
620
+			$(LOANMNG03010_DETAIL_GRID_EMPTY).show();
621
+		},
622
+		unload : function() {
623
+			$.jgrid.gridUnload(LOANMNG03010_DETAIL_GRID_ID);
624
+		}
625
+	}
626
+};
627
+
628
+/*신규화면 Object*/
629
+let createObj = {
630
+	init: function () {
631
+		kakaoMap.init('ITP_FORM_LOANMNG03010_DETAIL', '');
632
+		this.unload();
633
+		this.load();
634
+	},
635
+	button: {
636
+		cancel: function() {
637
+			listObj.grid.search();
638
+		},
639
+		save: function() {
640
+			var detailViewCd = $('#ITP_FORM_LOANMNG03010_DETAIL_VIEW_CD').val();
641
+			const formId = '#ITP_FORM_LOANMNG03010_DETAIL';
642
+			itp_fn_form_clear_validate(null, formId);
643
+			
644
+			var vali_whsStatCd = itp_fn_form_validate(formId, formId + '_WHS_ST_CD', ['empty'], undefined); // 상태
645
+			var vali_whsNm = itp_fn_form_validate(formId, formId + '_WHS_NM', ['empty'], undefined);
646
+			
647
+			if (vali_whsStatCd && vali_whsNm) {
648
+				let gridInsertData = [];
649
+				let gridUpdateData = [];
650
+				let gridDeleteData = [];
651
+				const rowData = $(LOANMNG03010_DETAIL_GRID_ID).getRowData();
652
+				// const keyValue = $(formId + '_WHS_ID').val();
653
+				$.each(rowData, function(key, value) {
654
+					if (value.viewCd != 'R') {
655
+						// value.whsId = keyValue;
656
+						if (value.viewCd == 'C') {
657
+							gridInsertData.push(value);
658
+						} else if (value.viewCd == 'U') {
659
+							gridUpdateData.push(value);
660
+						} else if (value.viewCd == 'D') {
661
+							gridDeleteData.push(value);
662
+						}
663
+					}
664
+				});
665
+				let param = $(formId).serializeObject();
666
+				param.gridInsertData = gridInsertData;
667
+				param.gridUpdateData = gridUpdateData;
668
+				param.gridDeleteData = gridDeleteData;
669
+				//console.log(JSON.stringify(param));
670
+				var searhFn = function() {
671
+					ITP_FORM_LOANMNG03010_DETAIL_IS_WRITING = false;
672
+					listObj.grid.search();
673
+				};
674
+				fn_ajax_call(detailViewCd == 'C' ? WHS_MNG_ADD_WHS : WHS_MNG_MIDIFY_WHS, JSON.stringify(param), searhFn, 'POST');
675
+			}
676
+		}, 
677
+		address: function() {
678
+			kakaoMap.address('ITP_FORM_LOANMNG03010_DETAIL');
679
+		},
680
+		popupStore: function() { // 매장선택 팝업
681
+			
682
+		}, 
683
+		eraseStore: function() { // 매장선택 삭제
684
+			$('#ITP_FORM_LOANMNG03010_DETAIL_STORE_ID').val('');
685
+			$('#ITP_FORM_LOANMNG03010_DETAIL_STORE_NM').val('');
686
+		}
687
+	},
688
+	load: function () {
689
+		let param = $('#ITP_FORM_LOANMNG03010_DETAIL').serializeObject();
690
+		param.gridSize = $.jgrid.defaults.rowNum;
691
+		param.pagingYn = false; // 페이지안함
692
+
693
+		var option = {
694
+			gridId: LOANMNG03010_DETAIL_GRID_ID,
695
+			colModel: gridColModel.detail,
696
+			param: JSON.stringify(param),
697
+			url: DOMAIN + UNPAID_MNG_STL_GRID_LIST,
698
+			pager: LOANMNG03010_DETAIL_GRID_PAGER,
699
+			multiselect: true,
700
+			loadComplete: function(data) {
701
+				itp_fn_grid_load_complete(data, LOANMNG03010_DETAIL_GRID_ID, true, undefined, 'LOANMNG03010_DETAIL');
702
+			},
703
+			onPaging: function(action) {
704
+				var pagingFn = {
705
+					callBack: function(args) {
706
+						$(args).trigger('reloadGrid');
707
+					}
708
+				};
709
+				if (itp_fn_check_grid_is_writing(LOANMNG03010_DETAIL_GRID_ID)) {
710
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, pagingFn, LOANMNG03010_DETAIL_GRID_ID);
711
+					return 'stop';
712
+				} else {
713
+					itp_fn_grid_paging(LOANMNG03010_DETAIL_GRID_ID, action, param);
714
+				}
715
+			},
716
+			onSortCol: function(index, columnIndex, sortOrder) {
717
+				var sortingFn = {
718
+					callBack: function(args) {
719
+						$(args).trigger('reloadGrid');
720
+					}
721
+				};
722
+				if (itp_fn_check_grid_is_writing(LOANMNG03010_DETAIL_GRID_ID)) {
723
+					itp_fn_modal_confirm(ITP_MSG_LOCALE.message.ajax.cancelData, sortingFn, LOANMNG03010_DETAIL_GRID_ID);
724
+					return 'stop';
725
+				} else {
726
+					itp_fn_grid_sorting(LOANMNG03010_DETAIL_GRID_ID, index, sortOrder);
727
+				}
728
+			}
729
+		};
730
+		itp_fn_grid_make_remote(option);
731
+	},
732
+	clearData : function() {
733
+		$(LOANMNG03010_DETAIL_GRID_ID).jqGrid('clearGridData', true);
734
+		$(LOANMNG03010_DETAIL_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
735
+		$(LOANMNG03010_DETAIL_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
736
+		$(LOANMNG03010_DETAIL_GRID_EMPTY).show();
737
+	},
738
+	unload : function() {
739
+		$.jgrid.gridUnload(LOANMNG03010_DETAIL_GRID_ID);
740
+	}
741
+};
742
+
743
+/*로케이션정보 Object*/
744
+let locInfoObj = {
745
+	init: function () {
746
+		// if(AUTH_TYPE_CD === '10' || AUTH_TYPE_CD === '20') {
747
+		this.action();
748
+		// } else {
749
+		// this.make();
750
+		// }
751
+	},
752
+	button: {
753
+		addRow: function() {
754
+			// $(LOANMNG03010_DETAIL_GRID_ID).jqGrid('addRow', {position: 'last'});
755
+			// $(LOANMNG03010_DETAIL_GRID_EMPTY).hide();
756
+			LOANMNG03010_DETAIL_GRID_LAST_ROW_ID = itp_fn_add_grid_row(LOANMNG03010_DETAIL_GRID_ID, undefined, ['location'],'LOANMNG03010_DETAIL');
757
+		},
758
+		delRow: function() {
759
+			itp_fn_grid_del_row(LOANMNG03010_DETAIL_GRID_ID);
760
+		}
761
+	},
762
+	make: function() {
763
+		$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP').hide();
764
+		$('#ITP_FORM_LOANMNG03010_DELETE_AFFL_SHOP').hide();
765
+		if(AFFL_SHOP_LIST) {
766
+			$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP_ID').val(AFFL_SHOP_LIST[0].afflShopId);
767
+			$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP_NM').val(AFFL_SHOP_LIST[0].afflShopNm);
768
+		}
769
+		if(AFFL_BRAND_LIST) {
770
+			fn_make_select_brand(AFFL_BRAND_LIST, 'ITP_FORM_LOANMNG03010_SEARCH_BRAND_ID');
771
+		}
772
+	},
773
+	action: function () {
774
+		var _this = this;
775
+		// 로케이션정보 조회 버튼 클릭
776
+		$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP').on('click', function() {
777
+			_this.popup('L');
778
+		});
779
+		// 로케이션정보 텍스트 삭제 버튼 클릭
780
+		$('#ITP_FORM_LOANMNG03010_DELETE_AFFL_SHOP').on('click', function() {
781
+			$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP_NM').val('');
782
+			$('select#ITP_FORM_LOANMNG03010_SEARCH_BRAND_ID option').remove();
783
+		});
784
+		// 신규등록 로케이션정보 조회 버튼 클릭
785
+		$('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP').on('click', function() {
786
+			_this.popup('C');
787
+		});
788
+		// 신규등록 로케이션정보 텍스트 삭제 버튼 클릭
789
+		$('#ITP_FORM_LOANMNG03010_DETAIL_DELETE_AFFL_SHOP').on('click', function() {
790
+			$('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP_NM').val('');
791
+			$('select#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_BRAND_ID option').remove();
792
+		});
793
+	},
794
+	popup: function (view) {
795
+		// 팝업
796
+		var popFn = (view === 'C') ? this.callback.create : this.callback.list;
797
+		fn_call_popup('biz', 'BIZPOP_AFFL_SHOP', '#ITP_ASIDE', popFn, null, 'S');
798
+	},
799
+	callback: {
800
+		list: function(rowDataPop) {
801
+			// console.log(rowDataPop);
802
+			if(rowDataPop.AFFL_SHOP) {
803
+				$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP_ID').val(rowDataPop.AFFL_SHOP.afflShopId);
804
+				$('#ITP_FORM_LOANMNG03010_SEARCH_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
805
+			}
806
+			if(rowDataPop.AFFL_BRAND) {
807
+				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_LOANMNG03010_SEARCH_BRAND_ID', true, '선택');
808
+			}
809
+		},
810
+		create: function(rowDataPop) {
811
+			// console.log(rowDataPop);
812
+			if(rowDataPop.AFFL_SHOP) {
813
+				// $('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP_ID').val(rowDataPop.AFFL_SHOP.afflShopId);
814
+				// $('#ITP_FORM_LOANMNG03010_DETAIL_SEARCH_AFFL_SHOP_NM').val(rowDataPop.AFFL_SHOP.afflShopNm);
815
+			}
816
+			if(rowDataPop.AFFL_BRAND) {
817
+				fn_make_select_brand(rowDataPop.AFFL_BRAND, 'ITP_FORM_LOANMNG03010_DETAIL_SEARCH_BRAND_ID', true, '선택');
818
+			}
819
+		}
820
+	}
821
+};

+ 1 - 0
bin/src/main/webapp/js/app/locales/locale-ko.js

@@ -266,6 +266,7 @@ const ITP_MSG_LOCALE = (function() {
266
 				"wrongpassword": "영문, 숫자, 특수문자의 조합으로 8~16자리를 사용해야 합니다.",
266
 				"wrongpassword": "영문, 숫자, 특수문자의 조합으로 8~16자리를 사용해야 합니다.",
267
 				"duplicate": "{0} 중복체크를 해주세요.",
267
 				"duplicate": "{0} 중복체크를 해주세요.",
268
 				"deleteData": "삭제 하시겠습니까?",
268
 				"deleteData": "삭제 하시겠습니까?",
269
+				"procData": "처리 하시겠습니까?",
269
 				"wrongPwd": "비밀번호가 일치하지 않습니다.",
270
 				"wrongPwd": "비밀번호가 일치하지 않습니다.",
270
 				"selectDt": "날짜를 선택하세요.",
271
 				"selectDt": "날짜를 선택하세요.",
271
 				"onlyImage": "jpg, jpeg 파일만 선택해 주세요.",
272
 				"onlyImage": "jpg, jpeg 파일만 선택해 주세요.",

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

@@ -188,7 +188,6 @@ let pageObj = {
188
                     $(this).val('').prop('selected', true);
188
                     $(this).val('').prop('selected', true);
189
                 }
189
                 }
190
             });
190
             });
191
-
192
             $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val('');
191
             $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val('');
193
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_ID').removeAttr('readonly');
192
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_ID').removeAttr('readonly');
194
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_NM').removeAttr('readonly');
193
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_NM').removeAttr('readonly');
@@ -376,6 +375,7 @@ let modifyObj = {
376
         pageObj.switchScreen('MODIFY');
375
         pageObj.switchScreen('MODIFY');
377
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_VIEW_CD').val('U');
376
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_VIEW_CD').val('U');
378
 
377
 
378
+        $('#ITP_FORM_OPER06010_DETAIL .fnAfflShopId').text(result.fnAfflShopId);
379
         $('#ITP_FORM_OPER06010_DETAIL .fnBrandId').text(result.brandId);
379
         $('#ITP_FORM_OPER06010_DETAIL .fnBrandId').text(result.brandId);
380
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
380
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
381
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);
381
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);

+ 1 - 0
bin/src/main/webapp/js/app/popup/biz/ITP_BIZPOP_ITEM_CLASS_MANAGE.js

@@ -41,6 +41,7 @@ var popPageObj = {
41
 				let param = $(formId).serializeObject();
41
 				let param = $(formId).serializeObject();
42
 				console.log(JSON.stringify(param));
42
 				console.log(JSON.stringify(param));
43
 				var saveFn = function(result) {
43
 				var saveFn = function(result) {
44
+					popPageObj.parentPopFn(result);
44
 					$('#ITP_BIZPOP_ITEM_CLASS_MANAGE').modal('hide'); // 팝업닫기
45
 					$('#ITP_BIZPOP_ITEM_CLASS_MANAGE').modal('hide'); // 팝업닫기
45
 				};
46
 				};
46
 				fn_ajax_call(API_ITEM_CLASS_SAVE_POP, JSON.stringify(param), saveFn, 'POST');
47
 				fn_ajax_call(API_ITEM_CLASS_SAVE_POP, JSON.stringify(param), saveFn, 'POST');

+ 52 - 0
bin/src/main/webapp/js/app/popup/biz/ITP_BIZPOP_PO_REJECT_REASON.js

@@ -0,0 +1,52 @@
1
+require(['config'], function() {
2
+	require([
3
+		'jquery'
4
+	], function($) {
5
+
6
+	});
7
+});
8
+
9
+var popPageObj = {
10
+	init: function () {
11
+		this.button();
12
+		this.change();
13
+	},
14
+	parentPopFn: null,
15
+	args: null,
16
+	returnType: null,
17
+	button: function() {
18
+		$('#ITP_BTN_PO_REJECT_REASON_CLOSE_POP').on('click', function () {
19
+			$('#ITP_BIZPOP_PO_REJECT_REASON').modal('hide'); // 팝업닫기
20
+		});
21
+		$('#ITP_BTN_PO_REJECT_REASON_CONFIRM_POP').on('click', function () {
22
+			popPageObj.fnRjctRsnConfirm();
23
+		});
24
+	}, 
25
+	change: function() {
26
+	}, 	
27
+	fnRjctRsnConfirm: function() {
28
+		const formId = '#ITP_FORM_PO_REJECT_REASON_POPUP';
29
+		itp_fn_form_clear_validate(null, formId);
30
+		
31
+		var vali_dsptRjctRsn = itp_fn_form_validate(formId, formId + '_DSPT_RJCT_RSN', ['empty'], undefined);
32
+		
33
+		if (vali_dsptRjctRsn) {		
34
+			var dsptRjctRsn = $('#ITP_FORM_PO_REJECT_REASON_POPUP_DSPT_RJCT_RSN').val();	
35
+			popPageObj.parentPopFn(dsptRjctRsn);
36
+			$('#ITP_BIZPOP_PO_REJECT_REASON').modal('hide'); // 팝업닫기
37
+		}
38
+	} 
39
+};
40
+
41
+function itp_fn_BIZPOP_PO_REJECT_REASON(parentPopFn, args, returnType) {
42
+	$('#ITP_BIZPOP_PO_REJECT_REASON').one('shown.bs.modal', function(e) {
43
+		itp_fn_fire_window_resize();
44
+	}).one('hidden.bs.modal', function(e) {
45
+		$('#ITP_BIZPOP_PO_REJECT_REASON').remove();
46
+	}).modal('show');
47
+
48
+	popPageObj.parentPopFn = parentPopFn;
49
+	popPageObj.args = args;
50
+	popPageObj.returnType = returnType;
51
+	popPageObj.init();
52
+}

+ 3 - 0
bin/src/main/webapp/js/app/stinfo/ITP_STINFO03010.js

@@ -536,6 +536,9 @@ let createObj = {
536
 				let gridInsertData = [];
536
 				let gridInsertData = [];
537
 				let gridUpdateData = [];
537
 				let gridUpdateData = [];
538
 				let gridDeleteData = [];
538
 				let gridDeleteData = [];
539
+				for(var i=0; i<$(STINFO03010_DETAIL_GRID_ID).getGridParam('reccount'); i++) {
540
+					$(STINFO03010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
541
+				}
539
 				const rowData = $(STINFO03010_DETAIL_GRID_ID).getRowData();
542
 				const rowData = $(STINFO03010_DETAIL_GRID_ID).getRowData();
540
 				const keyValue = $(formId + '_BRAND_ID').val();
543
 				const keyValue = $(formId + '_BRAND_ID').val();
541
 				$.each(rowData, function(key, value) {
544
 				$.each(rowData, function(key, value) {

+ 190 - 140
bin/src/main/webapp/js/app/stinfo/ITP_STINFO06010.js

@@ -1,6 +1,5 @@
1
 require(['config'], function() {
1
 require(['config'], function() {
2
 	require([
2
 	require([
3
-		'jquery.bootstrap.fileUpload' //파일 업로드가 있는 페이지에서 로딩
4
 	], function($) {
3
 	], function($) {
5
 		pageObj.init();
4
 		pageObj.init();
6
 	});
5
 	});
@@ -31,11 +30,152 @@ const STINFO06010_DETAIL_GRID_EMPTY = '#ITP_STINFO06010_DETAIL_jqGridEmpty';
31
 
30
 
32
 let STINFO06010_GRID_LAST_ROW_ID;
31
 let STINFO06010_GRID_LAST_ROW_ID;
33
 
32
 
33
+/* 공통코드 리스트 */
34
+let ITP_COMMON_CD_DSTRBT_COST_UNIT = fn_make_common_cd_list(CODE_LIST, 'DSTRBT_COST_UNIT', true, '기본단위');
35
+let ITP_COMMON_CD_CURR = fn_make_common_cd_list(CODE_LIST, 'CURR', true, '통화');
36
+let ITP_COMMON_CD_UNIT_TARGET_CD = fn_make_common_cd_list(CODE_LIST, 'UNIT_TARGET_CD', true, '대상여부');
37
+
34
 /*API URL*/
38
 /*API URL*/
35
-let API_DETAIL_GRID_LIST 	= '/api/itemunit/store-unit-grid-list';	// 목록
39
+let API_DETAIL_GRID_LIST 	= '/api/itemunit/store-unit-grid-list';		// 목록
36
 let API_DETAIL_INFO 		= '/api/itemunit/info-storeitemunit';		// 상세
40
 let API_DETAIL_INFO 		= '/api/itemunit/info-storeitemunit';		// 상세
37
 let API_DETAIL_SAVE 		= '/api/itemunit/save-store-itemunit';		// 저장
41
 let API_DETAIL_SAVE 		= '/api/itemunit/save-store-itemunit';		// 저장
38
 
42
 
43
+/*화면 Grid ColModel*/
44
+const gridColModel = {
45
+	list: [
46
+		{
47
+			index: 'BRAND_ID', name: 'brandId',
48
+			label: ITP_MSG_LOCALE.label.brandId, //브랜드ID
49
+			width: '10', fixed: false, align: 'center',
50
+			sortable: false, hidden: true
51
+		},
52
+		{
53
+			index: 'BRAND_NM', name: 'brandNm',
54
+			label: ITP_MSG_LOCALE.label.brandNm, //브랜드명
55
+			width: '13', fixed: false, align: 'center',
56
+			sortable: false, hidden: false
57
+		},
58
+		{
59
+			index: 'STORE_ID', name: 'storeId',
60
+			label: ITP_MSG_LOCALE.label.storeId, //매장ID
61
+			width: '10', fixed: false, align: 'center',
62
+			sortable: false, hidden: true
63
+		},
64
+		{
65
+			index: 'STORE_NM', name: 'storeNm',
66
+			label: ITP_MSG_LOCALE.label.storeNm, //매장명
67
+			width: '10', fixed: false, align: 'center',
68
+			sortable: false, hidden: true
69
+		},
70
+		{
71
+			index: 'CONT_STT_DT', name: 'contSttDt',
72
+			label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
73
+			width: '15', fixed: false, align: 'center',
74
+			sortable: false, hidden: false
75
+		},
76
+		{
77
+			index: 'CONT_END_DT', name: 'contEndDt',
78
+			label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
79
+			width: '6', fixed: false, align: 'center',
80
+			sortable: false, hidden: false
81
+		},
82
+		{
83
+			index: 'SYS_REG_DTTM', name: 'sysRegDttm',
84
+			label: ITP_MSG_LOCALE.label.sysRegDt, //계약생성일
85
+			width: '6', fixed: false, align: 'center',
86
+			sortable: false, hidden: false
87
+		},
88
+		{
89
+			index: 'ITEM_CNT', name: 'itemCnt',
90
+			label: ITP_MSG_LOCALE.label.itemCnt, //계약품목수
91
+			width: '10', fixed: false, align: 'center',
92
+			sortable: false, hidden: false
93
+		}
94
+	],
95
+	detail: [
96
+		{
97
+			index: 'BRAND_ID', name: 'brandId',
98
+			label: ITP_MSG_LOCALE.label.brandId, //브랜드ID
99
+			width: '10', fixed: false, align: 'center',
100
+			sortable: false, hidden: true
101
+		},
102
+		{
103
+			index: 'ITEM_ID', name: 'itemId',
104
+			label: ITP_MSG_LOCALE.label.itemId, //품목번호
105
+			width: '10', fixed: false, align: 'center',
106
+			sortable: false, hidden: false
107
+		},
108
+		{
109
+			index: 'ITEM_NM', name: 'itemNm',
110
+			label: ITP_MSG_LOCALE.label.itemNm, //품목명
111
+			width: '13', fixed: false, align: 'center',
112
+			sortable: false, hidden: false
113
+		},
114
+		{
115
+			index: 'CONT_STT_DT', name: 'contSttDt',
116
+			label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
117
+			width: '10', fixed: false, align: 'center',
118
+			sortable: false, hidden: false
119
+		},
120
+		{
121
+			index: 'CONT_END_DT', name: 'contEndDt',
122
+			label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
123
+			width: '10', fixed: false, align: 'center',
124
+			sortable: false, hidden: false
125
+		},
126
+		{
127
+			index: 'UNIT', name: 'unit',
128
+			label: ITP_MSG_LOCALE.label.unit, //기본단위
129
+			width: '9', fixed: false, align: 'center',
130
+			sortable: false, editable: true, formatter: 'select', edittype: 'select',
131
+			editoptions: {value: ITP_COMMON_CD_DSTRBT_COST_UNIT},
132
+			editrules: {required: true}
133
+		},
134
+		{
135
+			index: 'STDD_QYT', name: 'stddQty',
136
+			label: ITP_MSG_LOCALE.label.stddQty, //기준수량
137
+			width: '6', fixed: false, align: 'center',
138
+			sortable: true, editable: true, edittype: 'text',
139
+			editrules: {required: true}
140
+		},
141
+		{
142
+			index: 'CURR', name: 'curr',
143
+			label: ITP_MSG_LOCALE.label.curr, //통화
144
+			width: '9', fixed: false, align: 'center',
145
+			sortable: false, editable: true, formatter: 'select', edittype: 'select',
146
+			editoptions: {value: ITP_COMMON_CD_CURR},
147
+			editrules: {required: true}
148
+		},
149
+		{
150
+			index: 'UNIT_AMT', name: 'unitAmt',
151
+			label: ITP_MSG_LOCALE.label.unitAmt, //단가
152
+			width: '10', fixed: false, align: 'center',
153
+			sortable: true, editable: true, edittype: 'text',
154
+			editrules: {required: true}
155
+		},
156
+		{
157
+			index: 'UNIT_TARGET_CD', name: 'unitTargetCd',
158
+			label: ITP_MSG_LOCALE.label.unitTargetCd, //대상여부
159
+			width: '10', fixed: false, align: 'center',
160
+			sortable: false, editable: true, formatter: 'select', edittype: 'select',
161
+			editoptions: {value: ITP_COMMON_CD_UNIT_TARGET_CD},
162
+			editrules: {required: true}
163
+		},
164
+		{
165
+			index: 'SPPLY_UNIT_AMT', name: 'spplyUnitAmt',
166
+			label: ITP_MSG_LOCALE.label.spplyUnitAmt, //공급단가
167
+			width: '6', fixed: false, align: 'center',
168
+			sortable: false, hidden: false
169
+		},
170
+		{
171
+			index: 'EDIT_STATUS', name: 'editStatus',
172
+			label: ITP_MSG_LOCALE.label.spplyUnitAmt, //공급단가
173
+			width: '6', fixed: false, align: 'center',
174
+			sortable: false, hidden: true
175
+		}
176
+	]
177
+};
178
+
39
 /*화면공통 Object*/
179
 /*화면공통 Object*/
40
 let pageObj = {
180
 let pageObj = {
41
 	init: function () {
181
 	init: function () {
@@ -53,8 +193,12 @@ let pageObj = {
53
 			// 버튼 권한설정
193
 			// 버튼 권한설정
54
 			fn_proc_btn_auth('STINFO06010');
194
 			fn_proc_btn_auth('STINFO06010');
55
 
195
 
56
-			fn_make_input_common_cd(CODE_LIST, 'CURR', 'ITP_FORM_STINFO05010_DETAIL_CURR', false);
57
-			fn_make_input_common_cd(CODE_LIST, 'UNIT_TARGET_CD', 'ITP_FORM_STINFO05010_DETAIL_UNIT_TARGET_CD', false);
196
+			// 공통코드 표시
197
+			$('select').each(function() {
198
+				if($(this).data('select-code')) {
199
+					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
200
+				}
201
+			});
58
 
202
 
59
 			// 조회일자 지정
203
 			// 조회일자 지정
60
 			$('#ITP_TAB_STINFO06010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
204
 			$('#ITP_TAB_STINFO06010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
@@ -80,9 +224,7 @@ let pageObj = {
80
 					switch (id) {
224
 					switch (id) {
81
 						case 'ITP_BTN_STINFO06010_SRH'				: (this.screenMode === 'List') ? listObj.button.search() : modifyObj.search();		break;	// 조회 버튼 클릭
225
 						case 'ITP_BTN_STINFO06010_SRH'				: (this.screenMode === 'List') ? listObj.button.search() : modifyObj.search();		break;	// 조회 버튼 클릭
82
 						case 'ITP_BTN_STINFO06010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
226
 						case 'ITP_BTN_STINFO06010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
83
-						case 'ITP_BTN_STINFO06010_MODIFY'			: modifyObj.button.modify();	break;	// 수정 버튼
84
 						case 'ITP_BTN_STINFO06010_CANCELLIST'		: listObj.grid.search(); 		break;	// 취소/목록 버튼
227
 						case 'ITP_BTN_STINFO06010_CANCELLIST'		: listObj.grid.search(); 		break;	// 취소/목록 버튼
85
-						case 'ITP_BTN_STINFO06010_DELETE'			: 								break;	// 삭제 버튼
86
 						case 'ITP_BTN_STINFO06010_SAVE'				: modifyObj.button.save(); 		break;	// 저장 버튼
228
 						case 'ITP_BTN_STINFO06010_SAVE'				: modifyObj.button.save(); 		break;	// 저장 버튼
87
 					}
229
 					}
88
 				});
230
 				});
@@ -131,58 +273,6 @@ let pageObj = {
131
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO06010_MODIFY', '#ITP_BTN_STINFO06010_CANCELLIST']);
273
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO06010_MODIFY', '#ITP_BTN_STINFO06010_CANCELLIST']);
132
 		}
274
 		}
133
 		this.screenMode = mode;
275
 		this.screenMode = mode;
134
-	},
135
-	gridColModel : {
136
-		list: [
137
-			{
138
-				index: 'BRAND_ID', name: 'brandId',
139
-				label: ITP_MSG_LOCALE.label.brandId, //브랜드ID
140
-				width: '10', fixed: false, align: 'center',
141
-				sortable: false, hidden: true
142
-			},
143
-			{
144
-				index: 'BRAND_NM', name: 'brandNm',
145
-				label: ITP_MSG_LOCALE.label.brandNm, //브랜드명
146
-				width: '13', fixed: false, align: 'center',
147
-				sortable: false, hidden: false
148
-			},
149
-			{
150
-				index: 'STORE_ID', name: 'storeId',
151
-				label: ITP_MSG_LOCALE.label.storeId, //매장ID
152
-				width: '10', fixed: false, align: 'center',
153
-				sortable: false, hidden: true
154
-			},
155
-			{
156
-				index: 'STORE_NM', name: 'storeNm',
157
-				label: ITP_MSG_LOCALE.label.storeNm, //매장명
158
-				width: '10', fixed: false, align: 'center',
159
-				sortable: false, hidden: true
160
-			},
161
-			{
162
-				index: 'CONT_STT_DT', name: 'contSttDt',
163
-				label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
164
-				width: '15', fixed: false, align: 'center',
165
-				sortable: false, hidden: false
166
-			},
167
-			{
168
-				index: 'CONT_END_DT', name: 'contEndDt',
169
-				label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
170
-				width: '6', fixed: false, align: 'center',
171
-				sortable: false, hidden: false
172
-			},
173
-			{
174
-				index: 'SYS_REG_DTTM', name: 'sysRegDttm',
175
-				label: ITP_MSG_LOCALE.label.sysRegDt, //계약생성일
176
-				width: '6', fixed: false, align: 'center',
177
-				sortable: false, hidden: false
178
-			},
179
-			{
180
-				index: 'ITEM_CNT', name: 'itemCnt',
181
-				label: ITP_MSG_LOCALE.label.itemCnt, //계약품목수
182
-				width: '10', fixed: false, align: 'center',
183
-				sortable: false, hidden: false
184
-			}
185
-		]
186
 	}
276
 	}
187
 };
277
 };
188
 
278
 
@@ -202,7 +292,8 @@ let listObj = {
202
 		},
292
 		},
203
 		create: function() {
293
 		create: function() {
204
 			if(!fn_make_user_info.isEmpty()) {
294
 			if(!fn_make_user_info.isEmpty()) {
205
-				createObj.init();
295
+				let param = $('#ITP_FORM_STINFO06010_DETAIL').serializeObject();
296
+				modifyObj.init($.param(param));
206
 			}
297
 			}
207
 		}
298
 		}
208
 	},
299
 	},
@@ -222,7 +313,7 @@ let listObj = {
222
 			listObj.itp_STINFO06010_param = param;
313
 			listObj.itp_STINFO06010_param = param;
223
 		},
314
 		},
224
 		back: function() {
315
 		back: function() {
225
-			$('#ITP_FORM_STINFO06010_SERVICE_ST_CD').val(this.itp_STINFO06010_param.sstorehNm);
316
+			$('#ITP_FORM_STINFO06010_SERVICE_ST_CD').val(this.itp_STINFO06010_param.sstoreNm);
226
 		}
317
 		}
227
 	},
318
 	},
228
 	grid: {
319
 	grid: {
@@ -243,7 +334,7 @@ let listObj = {
243
 
334
 
244
 			var option = {
335
 			var option = {
245
 				gridId: STINFO06010_GRID_ID,
336
 				gridId: STINFO06010_GRID_ID,
246
-				colModel: pageObj.gridColModel.list,
337
+				colModel: gridColModel.list,
247
 				param: JSON.stringify(param),
338
 				param: JSON.stringify(param),
248
 				url: DOMAIN + API_DETAIL_GRID_LIST,
339
 				url: DOMAIN + API_DETAIL_GRID_LIST,
249
 				pager: STINFO06010_GRID_PAGER,
340
 				pager: STINFO06010_GRID_PAGER,
@@ -299,6 +390,29 @@ let modifyObj = {
299
 		param.gridPage = $.jgrid.defaults.page;
390
 		param.gridPage = $.jgrid.defaults.page;
300
 		$(STINFO06010_DETAIL_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
391
 		$(STINFO06010_DETAIL_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
301
 	},
392
 	},
393
+	button: {
394
+		save: function() {
395
+			itp_fn_grid_save_rows(STINFO06010_DETAIL_GRID_ID);
396
+
397
+			var rows = $(STINFO06010_DETAIL_GRID_ID).getRowData();
398
+			let param = {};
399
+			var gridUpdateData = [];
400
+			$.each(rows, function (key, value) {
401
+				if(value.editStatus === 'U') {
402
+					gridUpdateData.push(value);
403
+				}
404
+			});
405
+			param['viewCd'] = 'U';
406
+			param['brandId'] = fn_make_user_info.get('brandId');
407
+			param['storeId'] = fn_make_user_info.get('userId');
408
+			param['gridUpdateData'] = gridUpdateData;
409
+			console.log(JSON.stringify(param));
410
+			var searhFn = function() {
411
+				listObj.grid.search();
412
+			};
413
+			fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
414
+		}
415
+	},
302
 	empty: {
416
 	empty: {
303
 		init: function() {
417
 		init: function() {
304
 			var _this = this;
418
 			var _this = this;
@@ -306,7 +420,7 @@ let modifyObj = {
306
 			$(STINFO06010_DETAIL_GRID_EMPTY).on('click', function() {
420
 			$(STINFO06010_DETAIL_GRID_EMPTY).on('click', function() {
307
 				_this.back();
421
 				_this.back();
308
 				_this.itp_STINFO06010_param.gridSize = $.jgrid.defaults.rowNum;
422
 				_this.itp_STINFO06010_param.gridSize = $.jgrid.defaults.rowNum;
309
-				$(STINFO06010_DETAIL_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_STINFO06010_param)}).trigger('reloadGrid');
423
+				$(STINFO06010_DETAIL_GRID_ID).setGridParam($.param(_this.itp_STINFO06010_param)).trigger('reloadGrid');
310
 			});
424
 			});
311
 		},
425
 		},
312
 		itp_STINFO06010_param: {},
426
 		itp_STINFO06010_param: {},
@@ -327,82 +441,7 @@ let modifyObj = {
327
 		load: function(param) {
441
 		load: function(param) {
328
 			var option = {
442
 			var option = {
329
 				gridId: STINFO06010_DETAIL_GRID_ID,
443
 				gridId: STINFO06010_DETAIL_GRID_ID,
330
-				// colModel: pageObj.gridColModel.detail,
331
-				colModel: [
332
-					{
333
-						index: 'BRAND_ID', name: 'brandId',
334
-						label: ITP_MSG_LOCALE.label.brandId, //브랜드ID
335
-						width: '10', fixed: false, align: 'center',
336
-						sortable: false, hidden: true
337
-					},
338
-					{
339
-						index: 'ITEM_ID', name: 'itemId',
340
-						label: ITP_MSG_LOCALE.label.itemId, //품목번호
341
-						width: '10', fixed: false, align: 'center',
342
-						sortable: false, hidden: false
343
-					},
344
-					{
345
-						index: 'ITEM_NM', name: 'itemNm',
346
-						label: ITP_MSG_LOCALE.label.itemNm, //품목명
347
-						width: '13', fixed: false, align: 'center',
348
-						sortable: false, hidden: false
349
-					},
350
-					{
351
-						index: 'CONT_STT_DT', name: 'contSttDt',
352
-						label: ITP_MSG_LOCALE.label.contSttDt, //계약시작일
353
-						width: '15', fixed: false, align: 'center',
354
-						sortable: false, hidden: false
355
-					},
356
-					{
357
-						index: 'CONT_END_DT', name: 'contEndDt',
358
-						label: ITP_MSG_LOCALE.label.contEndDt, //계약종료일
359
-						width: '6', fixed: false, align: 'center',
360
-						sortable: false, hidden: false
361
-					},
362
-					{
363
-						index: 'UNIT', name: 'unit',
364
-						label: ITP_MSG_LOCALE.label.unit, //기본단위
365
-						width: '6', fixed: false, align: 'center',
366
-						sortable: true, editable: true, edittype: 'text',
367
-						editrules: {required: true}
368
-					},
369
-					{
370
-						index: 'STDD_QYT', name: 'stddQty',
371
-						label: ITP_MSG_LOCALE.label.stddQty, //기준수량
372
-						width: '6', fixed: false, align: 'center',
373
-						sortable: true, editable: true, edittype: 'text',
374
-						editrules: {required: true}
375
-					},
376
-					{
377
-						index: 'CURR', name: 'curr',
378
-						label: ITP_MSG_LOCALE.label.curr, //통화
379
-						width: '10', fixed: false, align: 'center',
380
-						sortable: false, editable: true, formatter: 'select', edittype: 'select',
381
-						editoptions: {value: $('#ITP_FORM_STINFO05010_DETAIL_CURR').val()},
382
-						editrules: {required: true}
383
-					},
384
-					{
385
-						index: 'UNIT_AMT', name: 'unitAmt',
386
-						label: ITP_MSG_LOCALE.label.unitAmt, //단가
387
-						width: '10', fixed: false, align: 'center',
388
-						sortable: true, editable: true, edittype: 'text',
389
-						editrules: {required: true}
390
-					},
391
-					{
392
-						index: 'UNIT_TARGET_CD', name: 'unitTargetCd',
393
-						label: ITP_MSG_LOCALE.label.unitTargetCd, //대상여부
394
-						width: '6', fixed: false, align: 'center',
395
-						sortable: false, editable: true, formatter: 'select', edittype: 'select',
396
-						editoptions: {value: $('#ITP_FORM_STINFO05010_DETAIL_UNIT_TARGET_CD').val()},
397
-						editrules: {required: true}
398
-					},
399
-					{
400
-						index: 'SPPLY_UNIT_AMT', name: 'spplyUnitAmt',
401
-						label: ITP_MSG_LOCALE.label.spplyUnitAmt, //공급단가
402
-						width: '6', fixed: false, align: 'center',
403
-						sortable: false, hidden: false
404
-					}
405
-				],
444
+				colModel: gridColModel.detail,
406
 				mtype: 'GET',
445
 				mtype: 'GET',
407
 				param: param,
446
 				param: param,
408
 				url: DOMAIN + API_DETAIL_INFO,
447
 				url: DOMAIN + API_DETAIL_INFO,
@@ -410,8 +449,19 @@ let modifyObj = {
410
 					console.log(data);
449
 					console.log(data);
411
 					itp_fn_grid_load_complete(data, STINFO06010_DETAIL_GRID_ID, false, 'number', 'STINFO06010', modifyObj.itp_STINFO06010_search, modifyObj.empty, true, data.gridRecords, true);
450
 					itp_fn_grid_load_complete(data, STINFO06010_DETAIL_GRID_ID, false, 'number', 'STINFO06010', modifyObj.itp_STINFO06010_search, modifyObj.empty, true, data.gridRecords, true);
412
 				},
451
 				},
413
-				onCellSelect: function(rowId, cellIdx, cellValue) {
414
-					STINFO06010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowId, cellIdx, STINFO06010_GRID_LAST_ROW_ID, STINFO06010_DETAIL_GRID_ID, ['itemId']);
452
+				// onCelSelect: function(rowId, cellIdx, cellValue) {
453
+				// 	STINFO06010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowId, cellIdx, STINFO06010_GRID_LAST_ROW_ID, STINFO06010_DETAIL_GRID_ID, ['itemId']);
454
+				// },
455
+				ondblClickRow : function (rowid, iRow, iCol) {
456
+					console.log('rowId ===> ' + rowid);
457
+					STINFO06010_GRID_LAST_ROW_ID = itp_fn_set_data_editable(rowid, iRow, STINFO06010_GRID_LAST_ROW_ID, STINFO06010_DETAIL_GRID_ID, ['itemId']);
458
+					$('#' + rowid + "_stddQty").blur(function(){
459
+						console.log('_stddQty ===> ' + '#' + rowid + "_stddQty");
460
+						$(STINFO06010_DETAIL_GRID_ID).jqGrid('saveRow', rowid, true, 'clientArray');
461
+						if($(STINFO06010_DETAIL_GRID_ID).jqGrid('getRowData', rowid, 'editStatus') !== 'U') {
462
+							$(STINFO06010_DETAIL_GRID_ID).jqGrid('setRowData', rowid, {editStatus: 'U'});
463
+						}
464
+					});
415
 				},
465
 				},
416
 				onPaging: function(action) {
466
 				onPaging: function(action) {
417
 					itp_fn_grid_paging(STINFO06010_GRID_ID, action, param);
467
 					itp_fn_grid_paging(STINFO06010_GRID_ID, action, param);

+ 31 - 24
bin/src/main/webapp/js/app/stinfo/ITP_STINFO07010.js

@@ -140,15 +140,15 @@ let pageObj = {
140
 		}
140
 		}
141
 	},
141
 	},
142
 	switchScreen: function(mode) {
142
 	switchScreen: function(mode) {
143
-		// $('.itp_det_head').find('button[id^="ITP_BTN_STINFO07010_"]').each(function(i) {
144
-		// 	$(this).hide();
145
-		// });
143
+		$('.itp_det_head').find('button[id^="ITP_BTN_STINFO07010_"]').each(function(i) {
144
+			$(this).hide();
145
+		});
146
 		$('#ITP_TAB_STINFO07010').find('div[id$="_CONTAINER"]').each(function(i) {
146
 		$('#ITP_TAB_STINFO07010').find('div[id$="_CONTAINER"]').each(function(i) {
147
 			$(this).hide();
147
 			$(this).hide();
148
 		});
148
 		});
149
 		if(mode == 'LIST') { // 목록
149
 		if(mode == 'LIST') { // 목록
150
 			$('#ITP_AJAX_STINFO07010_LIST_CONTAINER').show();
150
 			$('#ITP_AJAX_STINFO07010_LIST_CONTAINER').show();
151
-			fn_show_btn_auth_array(['#ITP_BTN_STINFO07010_SRH', '#ITP_BTN_STINFO07010_NEWREG']);
151
+			fn_show_btn_auth_array(['#ITP_BTN_STINFO07010_SRH', '#ITP_BTN_STINFO07010_NEWREG', '#ITP_BTN_STINFO07010_DELETE']);
152
 		} else if(mode == 'ADD') { // 등록
152
 		} else if(mode == 'ADD') { // 등록
153
 			$('#ITP_AJAX_STINFO07010_DETAIL_CONTAINER').show();
153
 			$('#ITP_AJAX_STINFO07010_DETAIL_CONTAINER').show();
154
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO07010_CANCELLIST', '#ITP_BTN_STINFO07010_SAVE']);
154
 			fn_show_btn_auth_array(['#ITP_BTN_STINFO07010_CANCELLIST', '#ITP_BTN_STINFO07010_SAVE']);
@@ -202,7 +202,10 @@ let listObj = {
202
 			let param = $('#ITP_FORM_STINFO07010_SEARCH').serializeObject();
202
 			let param = $('#ITP_FORM_STINFO07010_SEARCH').serializeObject();
203
 			param.gridSize = $.jgrid.defaults.rowNum;
203
 			param.gridSize = $.jgrid.defaults.rowNum;
204
 			param.gridPage = $.jgrid.defaults.page;
204
 			param.gridPage = $.jgrid.defaults.page;
205
-			$(STINFO07010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
205
+			$(STINFO07010_GRID_ID).setGridParam($.param(param)).trigger('reloadGrid');
206
+			// $(STINFO07010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
207
+
208
+			listObj.grid.search();
206
 		},
209
 		},
207
 		create: function() {
210
 		create: function() {
208
 			if(!fn_make_user_info.isEmpty()) {
211
 			if(!fn_make_user_info.isEmpty()) {
@@ -211,22 +214,22 @@ let listObj = {
211
 		},
214
 		},
212
 		delete: function() {
215
 		delete: function() {
213
 			var selectedIds = $(STINFO07010_GRID_ID).getGridParam('selarrrow');
216
 			var selectedIds = $(STINFO07010_GRID_ID).getGridParam('selarrrow');
214
-			if(selectedIds.length > 1) { // 1개만 선택
217
+			if(selectedIds.length < 1) { // 1개만 선택
215
 				return;
218
 				return;
216
 			}
219
 			}
217
 
220
 
218
 			var deleteFn = {
221
 			var deleteFn = {
219
 				callBack: function(args) {
222
 				callBack: function(args) {
220
-					let param = $('#ITP_FORM_STINFO07010_SEARCH').serialize();
221
-					var list = [];
222
-					for (var i=selectedIds.length-1; i>=0; i--) {
223
-						list.push($(STINFO07010_GRID_ID).jqGrid('getRowData', selectedIds[i]));
223
+					var itemClassMgntNos = '';
224
+					for (var i=0; i<selectedIds.length; i++) {
225
+						itemClassMgntNos += $(STINFO07010_GRID_ID).jqGrid('getRowData', selectedIds[i]).itemClassMgntNo;
226
+						if(i < selectedIds.length-1)  itemClassMgntNos += ',';
224
 					}
227
 					}
225
-					console.log(list);
226
-					var searhFn = function() {
227
-						// itp_fn_SYSTEM02010_search();
228
+					var searchFn = function() {
229
+						listObj.grid.search();
228
 					};
230
 					};
229
-					// fn_ajax_call(API_DETAIL_DELETE, param, searhFn, 'GET');
231
+					var param = $.param({itemClassMgntNo:itemClassMgntNos});
232
+					fn_ajax_call(API_DETAIL_DELETE,  param, searchFn, 'GET');
230
 				}
233
 				}
231
 			};
234
 			};
232
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.form.deleteData, deleteFn, null);
235
 			itp_fn_modal_confirm(ITP_MSG_LOCALE.message.form.deleteData, deleteFn, null);
@@ -292,7 +295,7 @@ let listObj = {
292
 				onCellSelect: function(rowId, cellIdx, cellValue) {
295
 				onCellSelect: function(rowId, cellIdx, cellValue) {
293
 					var cm = $(this).jqGrid('getGridParam', 'colModel');
296
 					var cm = $(this).jqGrid('getGridParam', 'colModel');
294
 					var colNm = cm[cellIdx].name;
297
 					var colNm = cm[cellIdx].name;
295
-					if (colNm == 'itemClassNm') {
298
+					if (colNm === 'itemClassNm') {
296
 						const selectVal = $(this).jqGrid('getCell', rowId, 'itemClassMgntNo');
299
 						const selectVal = $(this).jqGrid('getCell', rowId, 'itemClassMgntNo');
297
 						const key = {brandId:fn_make_user_info.get('brandId'), itemClassMgntNo: selectVal, viewCd: 'R'};
300
 						const key = {brandId:fn_make_user_info.get('brandId'), itemClassMgntNo: selectVal, viewCd: 'R'};
298
 						var param = $.param(key);
301
 						var param = $.param(key);
@@ -399,14 +402,7 @@ let createObj = {
399
 		save: function() {
402
 		save: function() {
400
 			const formId = '#ITP_FORM_STINFO07010_DETAIL';
403
 			const formId = '#ITP_FORM_STINFO07010_DETAIL';
401
 			itp_fn_form_clear_validate(null, formId);
404
 			itp_fn_form_clear_validate(null, formId);
402
-			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
403
-			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
404
-			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
405
-			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
406
-			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
407
-			var vali_userPw = true;
408
-			var vali_userPwConfirm = true;
409
-			if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
405
+			if (createObj.isValid(formId)) {
410
 				if (ITP_FORM_STINFO07010_DETAIL_IS_DUPLICATE) {
406
 				if (ITP_FORM_STINFO07010_DETAIL_IS_DUPLICATE) {
411
 					itp_fn_modal_duplicate(ITP_MSG_LOCALE.label.userId, formId + '_USER_ID');
407
 					itp_fn_modal_duplicate(ITP_MSG_LOCALE.label.userId, formId + '_USER_ID');
412
 				} else {
408
 				} else {
@@ -414,12 +410,23 @@ let createObj = {
414
 					//console.log(JSON.stringify(param));
410
 					//console.log(JSON.stringify(param));
415
 					var searhFn = function() {
411
 					var searhFn = function() {
416
 						ITP_FORM_STINFO07010_DETAIL_IS_WRITING = false;
412
 						ITP_FORM_STINFO07010_DETAIL_IS_WRITING = false;
417
-						listObj.grid.search();
413
+						listObj.button.search();
418
 					};
414
 					};
419
 					fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
415
 					fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
420
 				}
416
 				}
421
 			}
417
 			}
422
 		}
418
 		}
419
+	},
420
+	isValid: function(formId) {
421
+		var isValid = false;
422
+		$(formId).find('input, select, checkbox, textarea').each(function(k) {
423
+			if($(this).data('check-required')) {
424
+				var arry = $(this).data('check-required').split(',');
425
+				isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
426
+				if(!isValid) return false;
427
+			}
428
+		});
429
+		return isValid;
423
 	}
430
 	}
424
 };
431
 };
425
 
432
 

+ 594 - 0
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO02010.js

@@ -0,0 +1,594 @@
1
+require(['config'], function() {
2
+	require([
3
+			'jquery.bootstrap.fileUpload' //파일 업로드가 있는 페이지에서 로딩
4
+	], function($) {
5
+			pageObj.init();
6
+	});
7
+});
8
+
9
+/********************************************************
10
+--------------------------------------------------------
11
+- Object 목록								            -
12
+--------------------------------------------------------
13
+* const gridColModel = {}	: 화면 Grid Object			*
14
+* let pageObj = {}			: 화면공통 Object			*
15
+* let listObj = {}			: 목록화면 Object			*
16
+* let viewObj = {}			: 상세화면 Object			*
17
+* let modifyObj = {}		: 수정화면 Object			*
18
+* let createObj = {}		: 신규화면 Object			*
19
+*******************************************************/
20
+
21
+/*화면 변수*/
22
+const VENDINFO02010_GRID_ID = '#ITP_VENDINFO02010_jqGrid';
23
+const VENDINFO02010_GRID_LIST = '#ITP_VENDINFO02010_jqGrid_list';
24
+const VENDINFO02010_GRID_PAGER = '#ITP_VENDINFO02010_jqGridPager';
25
+const VENDINFO02010_GRID_EMPTY = '#ITP_VENDINFO02010_jqGridEmpty';
26
+
27
+const VENDINFO02010_VIEW_GRID_ID = '#ITP_VENDINFO02010_VIEW_jqGrid';
28
+const VENDINFO02010_VIEW_GRID_LIST = '#ITP_VENDINFO02010_VIEW_jqGrid_list';
29
+const VENDINFO02010_VIEW_GRID_PAGER = '#ITP_VENDINFO02010_VIEW_jqGridPager';
30
+const VENDINFO02010_VIEW_GRID_EMPTY = '#ITP_VENDINFO02010_VIEW_jqGridEmpty';
31
+
32
+const VENDINFO02010_DETAIL_GRID_ID = '#ITP_VENDINFO02010_DETAIL_jqGrid';
33
+const VENDINFO02010_DETAIL_GRID_LIST = '#ITP_VENDINFO02010_DETAIL_jqGrid_list';
34
+const VENDINFO02010_DETAIL_GRID_PAGER = '#ITP_VENDINFO02010_DETAIL_jqGridPager';
35
+const VENDINFO02010_DETAIL_GRID_EMPTY = '#ITP_VENDINFO02010_DETAIL_jqGridEmpty';
36
+
37
+let ITP_FORM_VENDINFO02010_DETAIL_IS_DUPLICATE = false;
38
+let ITP_FORM_VENDINFO02010_DETAIL_IS_WRITING = false;
39
+
40
+/*API URL*/
41
+let API_DETAIL_GRID_LIST 	= '/api/item/detail-grid-list';	    // 목록
42
+let API_DETAIL_INFO 		= '/api/item/info-item';			// 상세
43
+let API_DETAIL_SAVE 		= '/api/item/save-item';			// 저장
44
+let API_ITEM_CLASS_LEVEL	= '/api/item/class-level-list';		//품목분류 level 검색
45
+
46
+/*화면 Grid ColModel*/
47
+const gridColModel = {
48
+	list: [
49
+	
50
+			{
51
+					index: 'ITEM_ID', name: 'itemId',
52
+					label: ITP_MSG_LOCALE.label.itemId, //품목번호
53
+					width: '12', fixed: false, align: 'center',
54
+					sortable: false, hidden: false
55
+			},
56
+			{
57
+					index: 'ITEM_NM', name: 'itemNm',
58
+					label: ITP_MSG_LOCALE.label.itemNm, //품목명
59
+					width: '13', fixed: false, align: 'center',
60
+					sortable: false, hidden: false
61
+			},
62
+			{
63
+					index: 'ITEM_TYPE_NM', name: 'itemTypeNm',
64
+					label: ITP_MSG_LOCALE.label.itemTypeNm, //품목유형
65
+					width: '10', fixed: false, align: 'center',
66
+					sortable: false, hidden: false
67
+			},
68
+			{
69
+					index: 'ITEM_CLASS_NM', name: 'itemClassNm',
70
+					label: ITP_MSG_LOCALE.label.itemClassNm, //품목분류
71
+					width: '15', fixed: false, align: 'center',
72
+					sortable: false, hidden: false
73
+			},
74
+			{
75
+					index: 'ST_CD', name: 'stCd',
76
+					label: ITP_MSG_LOCALE.label.stNm, //상태
77
+					width: '6', fixed: false, align: 'center',
78
+					sortable: false, hidden: false
79
+			},
80
+			{
81
+					index: 'PODR_PSSBLDVSN_NM', name: 'podrPssblDvsnNm',
82
+					label: ITP_MSG_LOCALE.label.podrPssblDvsnNm, //발주여부
83
+					width: '6', fixed: false, align: 'center',
84
+					sortable: false, hidden: false
85
+			},
86
+			{
87
+					index: 'UNIT', name: 'unit',
88
+					label: ITP_MSG_LOCALE.label.unit, //기본단위
89
+					width: '6', fixed: false, align: 'center',
90
+					sortable: false, hidden: false
91
+			},
92
+			{
93
+					index: 'PCH_ITEM_YN', name: 'pchItemYn',
94
+					label: ITP_MSG_LOCALE.label.pchItemYn, //구매품목여부
95
+					width: '6', fixed: false, align: 'center',
96
+					sortable: false, hidden: false
97
+			},
98
+			{
99
+					index: 'SALE_ITEM_YN', name: 'saleItemYn',
100
+					label: ITP_MSG_LOCALE.label.saleItemYn, //판매품목여부
101
+					width: '10', fixed: false, align: 'center',
102
+					sortable: false, hidden: false
103
+			},
104
+	],
105
+	detail: [
106
+			{
107
+					index: 'VIEW_CD', name: 'viewCd',
108
+					label: ITP_MSG_LOCALE.label.viewCd,
109
+					width: '10', fixed: false, align: 'center',
110
+					sortable: false, hidden: true
111
+			},
112
+			{
113
+					index: 'AUTH_NO', name: 'authNo',
114
+					label: ITP_MSG_LOCALE.label.permitCd,
115
+					width: '20', fixed: false, align: 'center',
116
+					sortable: false, editable: false, edittype: 'text',
117
+					editrules: {required: true}
118
+			},
119
+			{
120
+					index: 'AUTH_NM', name: 'authNm',
121
+					label: ITP_MSG_LOCALE.label.permitName,
122
+					width: '30', fixed: false, align: 'center',
123
+					sortable: true, editable: false, edittype: 'text',
124
+					editrules: {required: true}
125
+			},
126
+			{
127
+					index: 'USE_YN_NM', name: 'useYnNm',
128
+					label: ITP_MSG_LOCALE.label.status,
129
+					width: '10', fixed: false, align: 'center',
130
+					sortable: false, editable: false, edittype: 'text'
131
+			},
132
+			{
133
+					index: 'ADD_DT', name: 'addDt',
134
+					label: ITP_MSG_LOCALE.label.regDt,
135
+					width: '10', fixed: false, align: 'center',
136
+					sortable: false, editable: false, edittype: 'text'
137
+			}
138
+	]
139
+};
140
+
141
+/*화면공통 Object*/
142
+let pageObj = {
143
+	init: function () {
144
+			this.ui.init();
145
+			this.event.init();
146
+			this.fileUpload();
147
+	},
148
+	ui: {
149
+			init: function () {
150
+					this.view();
151
+					this.grid();
152
+					this.ready();
153
+			},
154
+			view: function() {
155
+					// 버튼 권한설정
156
+					fn_proc_btn_auth('VENDINFO02010');
157
+
158
+					// 공통코드 표시
159
+					$('select').each(function() {
160
+							if($(this).data('select-code')) {
161
+									fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
162
+							}
163
+					});
164
+
165
+					itemClassLevel.make(1, 'LIST');
166
+			},
167
+			grid: function() {
168
+					itp_fn_jqgrid_resize(VENDINFO02010_GRID_ID, VENDINFO02010_GRID_LIST, 'lg');
169
+					listObj.empty.init();
170
+					itp_fn_fire_window_resize();
171
+			},
172
+			ready: function() {
173
+					listObj.init();
174
+			}
175
+	},
176
+	event: {
177
+			init: function () {
178
+					this.button();
179
+			},
180
+			button: function () {
181
+					// 버튼 클릭 이벤트
182
+					$('button').each(function() {
183
+							var id = $(this).attr('id');
184
+							$(this).on('click', function() {
185
+									switch (id) {
186
+											case 'ITP_BTN_VENDINFO02010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
187
+											case 'ITP_BTN_VENDINFO02010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
188
+											case 'ITP_BTN_VENDINFO02010_MODIFY'			: modifyObj.button.modify();	break;	// 수정 버튼
189
+											case 'ITP_BTN_VENDINFO02010_CANCELLIST'		: createObj.button.cancel(); 	break;	// 취소/목록 버튼
190
+											case 'ITP_BTN_VENDINFO02010_DELETE'			: 								break;	// 삭제 버튼
191
+											case 'ITP_BTN_VENDINFO02010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
192
+											case 'ITP_FORM_VENDINFO02010_DETAIL_DUP'		: createObj.button.duplicate();	break;	// 중복체크
193
+											case 'ITP_BTN_VENDINFO02010_RESET_PW'			: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
194
+									}
195
+							});
196
+					});
197
+
198
+					$('body').on('click', function(e) {
199
+							var gridId = VENDINFO02010_DETAIL_GRID_ID.replace('#', '');
200
+							var rids = $(VENDINFO02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
201
+							var last_row_id = rids[rids.length - 1];
202
+							itp_fn_grid_reset_selection(e, last_row_id, gridId, 'VENDINFO02010_DETAIL');
203
+					});
204
+
205
+			}
206
+	},
207
+	fileUpload: function() {
208
+			//파일업로드(등록/수정화면)
209
+			var id = 'VENDINFO02010';
210
+			$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
211
+			const fileArgs = {
212
+					'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
213
+					'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
214
+					'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
215
+					'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
216
+			};
217
+			itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
218
+	},
219
+	switchScreen: function(mode) {
220
+			$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO02010_"]').each(function(i) {
221
+					$(this).hide();
222
+			});
223
+			$('#ITP_TAB_VENDINFO02010').find('div[id$="_CONTAINER"]').each(function(i) {
224
+					$(this).hide();
225
+			});
226
+			if(mode == 'LIST') { // 목록
227
+					$('#ITP_AJAX_VENDINFO02010_LIST_CONTAINER').show();
228
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_SRH', '#ITP_BTN_VENDINFO02010_NEWREG']);
229
+			} else if(mode == 'ADD') { // 등록
230
+					$('#ITP_AJAX_VENDINFO02010_DETAIL_CONTAINER').show();
231
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_CANCELLIST', '#ITP_BTN_VENDINFO02010_SAVE']);
232
+
233
+					$('#ITP_FORM_VENDINFO02010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
234
+							$(this).attr('id') === 'ITP_FORM_VENDINFO02010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
235
+							if(elem.type === 'select') {
236
+									$(this).val('').prop('selected', true);
237
+							}
238
+					});
239
+
240
+					$('#ITP_FORM_VENDINFO02010_DETAIL_STORE_ID').removeAttr('readonly');
241
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DUP').removeAttr('disabled');
242
+
243
+					// 가맹점 정보 설정
244
+					$('#ITP_FORM_VENDINFO02010_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
245
+					$('#ITP_FORM_VENDINFO02010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
246
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
247
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnItemClassMgntNo').text('(자동부여)');
248
+			} else if(mode == 'MODIFY') { // 수정
249
+					$('#ITP_AJAX_VENDINFO02010_DETAIL_CONTAINER').show();
250
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_CANCELLIST', '#ITP_BTN_VENDINFO02010_SAVE', '#ITP_BTN_VENDINFO02010_RESET_PW']);
251
+
252
+					$('#ITP_FORM_VENDINFO02010_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
253
+					$('#ITP_FORM_VENDINFO02010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
254
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
255
+					$('#ITP_FORM_VENDINFO02010_DETAIL_STORE_ID').attr('readonly', true);
256
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DUP').attr('disabled', true);
257
+					$('#ITP_FORM_VENDINFO02010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
258
+
259
+					$('#ITP_FORM_VENDINFO02010_DETAIL_SEARCH_AFFL_SHOP').hide();
260
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DELETE_AFFL_SHOP').hide();
261
+			} else if(mode == 'VIEW') { // 보기
262
+					$('#ITP_AJAX_VENDINFO02010_VIEW_CONTAINER').show();
263
+					$('#ITP_FORM_VENDINFO02010_VIEW .fnBrandNm').text(fn_make_user_info.get('brandNm'));
264
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_MODIFY', '#ITP_BTN_VENDINFO02010_CANCELLIST']);
265
+			}
266
+	}
267
+};
268
+
269
+/*목록화면 Object*/
270
+let listObj = {
271
+	init: function () {
272
+			this.form();
273
+			this.grid.init();
274
+	},
275
+	itp_VENDINFO02010_search: false,
276
+	button: {
277
+			search: function() {
278
+					listObj.itp_VENDINFO02010_search = true;
279
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
280
+					param.gridSize = $.jgrid.defaults.rowNum;
281
+					param.gridPage = $.jgrid.defaults.page;
282
+					$(VENDINFO02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
283
+			},
284
+			create: function() {
285
+					if(!fn_make_user_info.isEmpty()) {
286
+							createObj.init();
287
+					}
288
+			}
289
+	},
290
+	form: function() {
291
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS1').on('change', function() {
292
+					($(this).val() === '') ? itemClassLevel.clear(2): itemClassLevel.change(2);
293
+			});
294
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS2').on('change', function() {
295
+					($(this).val() === '') ? itemClassLevel.clear(3): itemClassLevel.change(3);
296
+			});
297
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS3').on('change', function() {
298
+					($(this).val() === '') ? itemClassLevel.clear(4): itemClassLevel.change(4);
299
+			});
300
+	},
301
+	empty: {
302
+			init: function() {
303
+					var _this = this;
304
+					this.push();
305
+					$(VENDINFO02010_GRID_EMPTY).on('click', function() {
306
+							_this.back();
307
+							_this.itp_VENDINFO02010_param.gridSize = $.jgrid.defaults.rowNum;
308
+							$(VENDINFO02010_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_VENDINFO02010_param)}).trigger('reloadGrid');
309
+					});
310
+			},
311
+			itp_VENDINFO02010_param: {},
312
+			push: function() {
313
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
314
+					listObj.itp_VENDINFO02010_param = param;
315
+			},
316
+			back: function() {
317
+					$('#ITP_FORM_VENDINFO02010_SERVICE_ST_CD').val(this.itp_VENDINFO02010_param.sitemStCd);
318
+					$('#ITP_FORM_VENDINFO02010_SEARCH_PODR_PSSBL_DVSN').val(this.itp_VENDINFO02010_param.spodrPssblDvsn);
319
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_KIND').val(this.itp_VENDINFO02010_param.sitemKind);
320
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_TYPE').val(this.itp_VENDINFO02010_param.sitemType);
321
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS1').val(this.itp_VENDINFO02010_param.sitemClass1);
322
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS2').val(this.itp_VENDINFO02010_param.sitemClass2);
323
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS3').val(this.itp_VENDINFO02010_param.sitemClass3);
324
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS4').val(this.itp_VENDINFO02010_param.sitemClass4);
325
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_NM').val(this.itp_VENDINFO02010_param.sitemNm);
326
+			}
327
+	},
328
+	grid: {
329
+			init: function () {
330
+					// 데이터 없을때
331
+					listObj.empty.push();
332
+					this.search();
333
+			},
334
+			colModel: gridColModel.list,
335
+			search: function() {
336
+					pageObj.switchScreen('LIST');
337
+					this.unload();
338
+					this.load();
339
+			},
340
+			load: function() {
341
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
342
+					param.gridSize = $.jgrid.defaults.rowNum;
343
+					param.sbrandId = fn_make_user_info.get('brandId');
344
+					// param.sbrandId = sessionStorage.getItem('itp_brand_id') !== null ? sessionStorage.getItem('itp_brand_id') : 'BRD221000001';
345
+
346
+					var option = {
347
+							gridId: VENDINFO02010_GRID_ID,
348
+							colModel: gridColModel.list,
349
+							param: JSON.stringify(param),
350
+							url: DOMAIN + API_DETAIL_GRID_LIST,
351
+							pager: VENDINFO02010_GRID_PAGER,
352
+							onCellSelect: function(rowId, cellIdx, cellValue) {
353
+									var cm = $(this).jqGrid('getGridParam', 'colModel');
354
+									var colNm = cm[cellIdx].name;
355
+									if (colNm == 'itemId') {
356
+											const selectVal = $(this).jqGrid('getCell', rowId, 'itemId');
357
+											const key = {brandId:fn_make_user_info.get('brandId'), itemId: selectVal, viewCd: 'R'};
358
+											var param = $.param(key);
359
+											viewObj.init(param);
360
+									}
361
+							},
362
+							loadComplete: function(data) {
363
+									console.log(data);
364
+									itp_fn_grid_load_complete(data, VENDINFO02010_GRID_ID, true, 'number', 'VENDINFO02010', listObj.itp_VENDINFO02010_search, listObj.empty, true, data.gridRecords, true);
365
+									var ids = $(VENDINFO02010_GRID_ID).getDataIDs();
366
+									$.each(ids, function(idx, rowId) {
367
+											$(VENDINFO02010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
368
+									});
369
+							},
370
+							onPaging: function(action) {
371
+									itp_fn_grid_paging(VENDINFO02010_GRID_ID, action, param);
372
+							}
373
+					};
374
+					itp_fn_grid_make_remote(option);
375
+			},
376
+			clearData : function() {
377
+					$(VENDINFO02010_GRID_ID).jqGrid('clearGridData', true);
378
+					$(VENDINFO02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
379
+					$(VENDINFO02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
380
+					$(VENDINFO02010_GRID_EMPTY).show();
381
+			},
382
+			unload : function() {
383
+					$.jgrid.gridUnload(VENDINFO02010_GRID_ID);
384
+			}
385
+	}
386
+};
387
+
388
+/*상세화면 Object*/
389
+let viewObj = {
390
+	init: function (param) {
391
+			this.load(param);
392
+	},
393
+	load: function(param) {
394
+			fn_ajax_call(API_DETAIL_INFO, param, this.callback, 'GET');
395
+	},
396
+	callback: function (result) {
397
+			console.log(result);
398
+			pageObj.switchScreen('VIEW');
399
+			$('#ITP_FORM_VENDINFO02010_VIEW #ITP_FORM_VENDINFO02010_VIEW_ITEM_ID').val(result.itemId);
400
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnStCd').text(result.itemStNm);
401
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass1').text(result.itemClass1);
402
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass2').text(result.itemClass2);
403
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass3').text(result.itemClass3);
404
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass4').text(result.itemClass4);
405
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClassMgntNo').text(result.itemClassMgntNo);
406
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemType').text(result.itemType);
407
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemNm').text(result.itemClassNm);
408
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnImpDvsn').text(result.impDvsnNm);
409
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnPodrPssblDvsn').text(result.podrPssblDvsn);
410
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnUnit').text(result.unit);
411
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnPchItemYn').text(result.pchItemYn);
412
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnViewPchUnit').text(result.pchUnit);
413
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnSaleItemYn').text(result.saleItemYn);
414
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnSaleUnit').text(result.saleUnit);
415
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnAssetInfo').text(result.assetInfo);
416
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnStckUnit').text(result.stckUnit);
417
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnWeight').text(result.weight);
418
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnVolume').text(result.volume);
419
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnWidth').text(result.width);
420
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnHeight').text(result.height);
421
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnHigh').text(result.high);
422
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnOneBoxQty').text(result.oneBoxQty);
423
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnExpryYn').text(result.expryYn);
424
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnExpryPeriod').text(result.expryPeriod);
425
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnRtnPssblYn').text(result.rtnPssblYn);
426
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnRtnDvsn').text(result.rtnDvsn);
427
+			// $('#ITP_FORM_VENDINFO02010_VIEW .fnItemImage').text(result.imageFileNoList);
428
+			$.each(result.imageFileNoList, function(index, item) {
429
+					$('#ITP_FORM_VENDINFO02010_VIEW .fnItemImage').append('<img src=" + item.filePath +" />');
430
+			});
431
+	}
432
+};
433
+
434
+/*수정화면 Object*/
435
+let modifyObj = {
436
+	init: function () {
437
+	},
438
+	button: {
439
+			modify: function (param) {
440
+					itp_fn_form_clear_validate(null, '#ITP_FORM_VENDINFO02010_DETAIL');
441
+					const selectVal = $('#ITP_FORM_VENDINFO02010_VIEW_ITEM_ID').val();
442
+					const key = {brandId:fn_make_user_info.get('brandId'), itemId: selectVal, viewCd: 'R'};
443
+					var param = $.param(key);
444
+					modifyObj.load(param);
445
+			}
446
+	},
447
+	load: function(param) {
448
+			fn_ajax_call(API_DETAIL_INFO, param, this.callback, 'GET');
449
+	},
450
+	callback: function (result) {
451
+			console.log(result);
452
+			pageObj.switchScreen('MODIFY');
453
+
454
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_VIEW_CD').val('U');
455
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_ID').val(result.itemId);
456
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_STORE_ST_CD').val(result.itemStCd);
457
+			$('#ITP_FORM_VENDINFO02010_DETAIL .fnItemClassMgntNo').text(result.itemId);
458
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_TYPE').val(result.itemType);
459
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_NM').val(result.itemClassNm);
460
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_IMP_DVSN').val(result.impDvsn);
461
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PODR_PSSBL_DVSN').val(result.podrPssblDvsn);
462
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_UNIT').val(result.unit);
463
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PCH_ITEM_YN').val(result.pchItemYn);
464
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PCH_UNIT').val(result.pchUnit);
465
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_SALE_ITEM_YN').val(result.saleItemYn);
466
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_SALE_UNIT').val(result.saleUnit);
467
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ASSET_INFO').val(result.assetInfo);
468
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_STCK_UNIT').val(result.stckUnit);
469
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_WEIGHT').val(result.weight);
470
+			$('#ITP_FORM_VENDINFO02010_DETAIL .item_unit').text(result.unit);
471
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_VOLUME').val(result.volume);
472
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_WIDTH').val(result.width);
473
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_HEIGHT').val(result.height);
474
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_HIGH').val(result.high);
475
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ONE_BOX_QTY').val(result.oneBoxQty);
476
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_EXPRY_YN').val(result.expryYn);
477
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_EXPRY_PERIOD').val(result.expryPeriod);
478
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_RTN_PSSBL_YN').val(result.rtnPssblYn);
479
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_RTN_DVSN').val(result.rtnDvsn);
480
+			$.each(result.imageFileNoList, function(index, item) {
481
+					$('#ITP_FORM_VENDINFO02010_VIEW .ITEM_IMAGE').append('<img src=" + item.filePath +" />');
482
+			});
483
+
484
+			itemClassLevel.data.push(result.itemClass1);
485
+			itemClassLevel.data.push(result.itemClass2);
486
+			itemClassLevel.data.push(result.itemClass3);
487
+			itemClassLevel.data.push(result.itemClass4);
488
+			itemClassLevel.make(1, 'MODIFY');
489
+	}
490
+};
491
+
492
+/*신규화면 Object*/
493
+let createObj = {
494
+	init: function () {
495
+			pageObj.switchScreen('ADD');
496
+			itp_fn_form_clear_validate(null, '#ITP_FORM_VENDINFO02010_DETAIL');
497
+			this.button.init();
498
+			itemClassLevel.make(1, 'ADD');
499
+	},
500
+	button: {
501
+			init: function() {
502
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS1').off('change').on('change', function() {
503
+							($(this).val() === '') ? itemClassLevel.clear(2): itemClassLevel.change(2);
504
+					});
505
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS2').off('change').on('change', function() {
506
+							($(this).val() === '') ? itemClassLevel.clear(3): itemClassLevel.change(3);
507
+					});
508
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS3').off('change').on('change', function() {
509
+							($(this).val() === '') ? itemClassLevel.clear(4): itemClassLevel.change(4);
510
+					});
511
+			},
512
+			cancel: function() {
513
+					listObj.grid.search();
514
+			},
515
+			save: function() {
516
+					const formId = '#ITP_FORM_VENDINFO02010_DETAIL';
517
+					itp_fn_form_clear_validate(null, formId);
518
+					if (createObj.isValid(formId)) {
519
+							let param = $(formId).serializeObject();
520
+							console.log(JSON.stringify(param));
521
+							var searhFn = function() {
522
+									ITP_FORM_VENDINFO02010_DETAIL_IS_WRITING = false;
523
+									listObj.grid.search();
524
+							};
525
+							fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
526
+					}
527
+			}
528
+	},
529
+	isValid: function(formId) {
530
+			var isValid = false;
531
+			$(formId).find('input, select, checkbox, textarea').each(function(k) {
532
+					if($(this).data('check-required')) {
533
+							var arry = $(this).data('check-required').split(',');
534
+							isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
535
+							if(!isValid) return false;
536
+					}
537
+			});
538
+			return isValid;
539
+	}
540
+};
541
+
542
+var itemClassLevel = {
543
+	level: 1,
544
+	levelID: '',
545
+	data: [],
546
+	keys: function() {
547
+			var keys = {sBrandId:fn_make_user_info.get('brandId'), sItemLevel: this.level};
548
+			for(var i=1; i<=this.level; i++) {
549
+					var key = 'sItemClass' + i;
550
+					var id = '#' + this.levelID + i;
551
+					keys[key] = $(id + ' option:selected').val();
552
+			}
553
+			return keys;
554
+	},
555
+	make: function(level, mode) {
556
+			this.level = level;
557
+			this.levelID = (mode === 'LIST' ? 'ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS' : 'ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS');
558
+			if(mode !== 'MODIFY') {
559
+					this.data.length = 0;
560
+					this.clear(1);
561
+			}
562
+			this.call($.param(this.keys()), mode === 'MODIFY');
563
+	},
564
+	change: function(level) {
565
+			this.level = level;
566
+			this.clear(level);
567
+			this.call($.param(this.keys()), false);
568
+	},
569
+	call: function(param, isModify) {
570
+			var _this = this;
571
+			var callbackFn = function(result) {
572
+					var id = _this.levelID + _this.level;
573
+					fn_make_select_item_class(result.searchList, id, true, _this.emptyText());
574
+					if(isModify) {
575
+							$('#' + id).val(_this.data[ _this.level - 1]);
576
+							if(_this.level < _this.data.length) {
577
+									if(_this.data[_this.level] !== '') {
578
+											_this.level++;
579
+											_this.call( $.param(_this.keys()), isModify);
580
+									}
581
+							}
582
+					}
583
+			};
584
+			fn_ajax_call(API_ITEM_CLASS_LEVEL, param, callbackFn, 'GET');
585
+	},
586
+	emptyText: function() {
587
+			return '품목분류Level' + this.level;
588
+	},
589
+	clear: function(level) {
590
+			for(var i=level; i<5; i++) {
591
+					$('#' + (this.levelID + i)).find('option:not(:first)').remove();
592
+			}
593
+	}
594
+};

+ 236 - 68
src/main/webapp/app/oper/OPER06010.html

@@ -58,11 +58,9 @@
58
 									<h4 class="itp_form_tit">브랜드 정보-신규</h4>
58
 									<h4 class="itp_form_tit">브랜드 정보-신규</h4>
59
 									<div class="itp_form_in">
59
 									<div class="itp_form_in">
60
 										<div class="form-group">
60
 										<div class="form-group">
61
-											<label class="col-xs-2 itp_lb">브랜드 코드</label>
61
+											<label class="col-xs-2 itp_lb">브랜드 아이디</label>
62
 											<div class="col-xs-4 itp_ip">
62
 											<div class="col-xs-4 itp_ip">
63
-												<div class="col-xs-8 itp_in">
64
-													<div class="col-xs-9 itp_in fnBrandId"></div>
65
-												</div>
63
+												<div class="col-xs-8 itp_in fnBrandId"></div>
66
 											</div>
64
 											</div>
67
 											<label class="col-xs-2 itp_lb">상태*</label>
65
 											<label class="col-xs-2 itp_lb">상태*</label>
68
 											<div class="col-xs-4 itp_ip">
66
 											<div class="col-xs-4 itp_ip">
@@ -101,33 +99,17 @@
101
 												</div>
99
 												</div>
102
 											</div>
100
 											</div>
103
 										</div>
101
 										</div>
104
-									</div>	
105
-									<div class="itp_form_in itp_modify_dt">
106
-										<div class="form-group">
107
-											<label class="col-xs-2 itp_lb">비밀번호</label>
108
-											<div class="col-xs-10 itp_ip">
109
-												<div class="col-xs-2 itp_in">
110
-													<button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin:0;">비밀번호 초기화</button>
111
-												</div>
112
-												<div class="col-xs-6 itp_in" style="top:5px;">
113
-													<div>(비밀번호 초기화는 사업자번호로 초기화 함 (숫자만))</div>
114
-												</div>
115
-											</div>
116
-										</div>
117
-									</div>
118
-									<div class="itp_form_in">
119
 										<div class="form-group">
102
 										<div class="form-group">
120
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
103
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
121
 											<div class="col-xs-4 itp_ip">
104
 											<div class="col-xs-4 itp_ip">
122
 												<div class="col-xs-7 itp_in">
105
 												<div class="col-xs-7 itp_in">
123
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
106
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
124
 												</div>
107
 												</div>
108
+												<!-- <button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button> -->
125
 											</div>
109
 											</div>
126
-											<label class="col-xs-2 itp_lb">대표자명 *</label>
127
-											<div class="col-xs-4 itp_ip">
128
-												<div class="col-xs-8 itp_in">
129
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
130
-												</div>
110
+											<label class="col-xs-2 itp_lb"></label>
111
+											<div class="col-xs-1 itp_in">
112
+												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
131
 											</div>
113
 											</div>
132
 										</div>
114
 										</div>
133
 										<div class="form-group">
115
 										<div class="form-group">
@@ -137,9 +119,11 @@
137
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
119
 													<input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
138
 												</div>
120
 												</div>
139
 											</div>
121
 											</div>
140
-											<label class="col-xs-2 itp_lb"><i style="position:absolute; font-style:initial; top:27px;">로고</i></label>
141
-											<div class="col-xs-4 itp_ip">
142
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:100px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
122
+											<label class="col-xs-2 itp_lb" style="border-top:none;">로고</label>
123
+											<div class="col-xs-4 itp_ip"style="border-top:none;">
124
+												<div class="col-xs-5 itp_in">
125
+													<label class="col-xs-12"></label>
126
+												</div>
143
 											</div>
127
 											</div>
144
 										</div>
128
 										</div>
145
 										<div class="form-group">
129
 										<div class="form-group">
@@ -159,6 +143,42 @@
159
 												</div>
143
 												</div>
160
 											</div>
144
 											</div>
161
 										</div>
145
 										</div>
146
+										<div class="form-group">
147
+											<label class="col-xs-2 itp_lb">입금계좌정보</label>
148
+											<div class="col-xs-4 itp_ip" style="padding:0 0 0 15px;">
149
+												<div class="col-xs-4 itp_in">
150
+													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
151
+													</select>
152
+												</div>
153
+												<div class="col-xs-4 itp_in">
154
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
155
+												</div>
156
+												<div class="col-xs-3 itp_in">
157
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
158
+												</div>
159
+											</div>
160
+											<label class="col-xs-2 itp_lb">PG사</label>
161
+											<div class="col-xs-4 itp_ip">
162
+												<div class="col-xs-8 itp_in">
163
+													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
164
+													</select>
165
+												</div>
166
+											</div>
167
+										</div>
168
+										<div class="form-group">
169
+											<label class="col-xs-2 itp_lb">가맹점 아이디 </label>
170
+											<div class="col-xs-4 itp_ip">
171
+												<div class="col-xs-7 itp_in">
172
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
173
+												</div>
174
+											</div>
175
+											<label class="col-xs-2 itp_lb">가맹점 Key</label>
176
+											<div class="col-xs-4 itp_ip">
177
+												<div class="col-xs-8 itp_in">
178
+													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="예금주명">
179
+												</div>
180
+											</div>
181
+										</div>
162
 									</div>
182
 									</div>
163
 									<div class="itp_form_in">
183
 									<div class="itp_form_in">
164
 										<div class="form-group border">
184
 										<div class="form-group border">
@@ -188,52 +208,200 @@
188
 											</div>
208
 											</div>
189
 										</div>
209
 										</div>
190
 									</div>
210
 									</div>
191
-									<div class="itp_form_in">
192
-										<div class="form-group border">
193
-											<label class="col-xs-2 itp_lb">입금계좌정보</label>
194
-											<div class="col-xs-12 itp_ip">
195
-												<div class="col-xs-2 itp_in">
196
-													<select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
197
-													</select>
198
-												</div>
199
-												<div class="col-xs-4 itp_in">
200
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
201
-												</div>
202
-												<div class="col-xs-2 itp_in">
203
-													<input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="소유주명">
204
-												</div>
205
-											</div>
206
-										</div>
207
-									</div>
208
-									<div class="itp_form_in">
209
-										<div class="form-group border">
210
-											<label class="col-xs-2 itp_lb">등록자/등록일 </label>
211
-											<div class="col-xs-4 itp_ip">
212
-												<div class="col-xs-2 itp_in">
213
-													<div class="input-group fnRegId" style="padding:5px;"></div>
214
-												</div>
215
-												<label class="col-xs-1" style="top:7px;">/</label>
216
-												<div class="col-xs-6 itp_in">
217
-													<div class="input-group fnRegDt" style="padding:5px;"></div>
218
-												</div>
219
-											</div>
220
-											<label class="col-xs-2 itp_lb">최종  수정자/수정일</label>
221
-											<div class="col-xs-4 itp_ip">
222
-												<div class="col-xs-2 itp_in">
223
-													<div class="input-group fnChgId" style="padding:5px;"></div>
224
-												</div>
225
-												<label class="col-xs-1" style="top:7px;">/</label>
226
-												<div class="col-xs-6 itp_in">
227
-													<div class="input-group fnChgDt" style="padding:5px;"></div>
228
-												</div>
229
-											</div>
230
-										</div>
231
-									</div>	
232
 								</section>								
211
 								</section>								
233
 							</form>
212
 							</form>
234
 						</div>
213
 						</div>
235
 					</div>
214
 					</div>
236
 				</div>
215
 				</div>
216
+				<div id="ITP_AJAX_OPER06010_MODIFY_CONTAINER">
217
+				  <div class="itp_form itp_type1 fix">
218
+				    <div class="col-xs-12">
219
+				      <form id="ITP_FORM_OPER06010_DETAIL" class="form-horizontal">
220
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_VIEW_CD" name="viewCd" value="C">
221
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID" name="afflShopId" value="">
222
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_BRAND_ID" name="brandId" value="">
223
+				        <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_FILE_NO" name="fileNo" value="">
224
+				  
225
+				        <section class="itp_form_sec">
226
+				          <h4 class="itp_form_tit">브랜드 정보-신규</h4>
227
+				          <div class="itp_form_in">
228
+				            <div class="form-group">
229
+				              <label class="col-xs-2 itp_lb">브랜드 코드</label>
230
+				              <div class="col-xs-4 itp_ip">
231
+				                <div class="col-xs-8 itp_in">
232
+				                  <div class="col-xs-9 itp_in fnBrandId"></div>
233
+				                </div>
234
+				              </div>
235
+				              <label class="col-xs-2 itp_lb">상태*</label>
236
+				              <div class="col-xs-4 itp_ip">
237
+				                <div class="col-xs-8 itp_in">
238
+				                  <select id="ITP_FORM_OPER06010_DETAIL_ST_CD" data-select-code="ST_CD" data-check-required="empty" class="form-control itp_input" name="stCd">
239
+				                  </select>
240
+				                </div>
241
+				              </div>
242
+				            </div>
243
+				            <div class="form-group">
244
+				              <label class="col-xs-2 itp_lb">브랜드 명* </label>
245
+				              <div class="col-xs-4 itp_ip">
246
+				                <div class="col-xs-7 itp_in">
247
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_BRAND_NM" data-check-required="empty" class="form-control itp_input" name="brandNm" value="테스트 브랜드" maxlength="20">
248
+				                </div>
249
+				              </div>
250
+				              <label class="col-xs-2 itp_lb">브랜드 타입*</label>
251
+				              <div class="col-xs-4 itp_ip">
252
+				                <div class="col-xs-8 itp_in">
253
+				                  <select id="ITP_FORM_OPER06010_DETAIL_BRAND_TYPE" data-select-code="BRAND_TYPE" data-check-required="empty" class="form-control itp_input" name="brandType">
254
+				                  </select>
255
+				                </div>
256
+				              </div>
257
+				            </div>
258
+				            <div class="form-group">
259
+				              <label class="col-xs-2 itp_lb">사업자번호 *</label>
260
+				              <div class="col-xs-4 itp_ip">
261
+				                <div class="col-xs-7 itp_in">
262
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="" maxlength="20">
263
+				                </div>
264
+				              </div>
265
+				              <label class="col-xs-2 itp_lb">법인번호</label>
266
+				              <div class="col-xs-4 itp_ip">
267
+				                <div class="col-xs-8 itp_in">
268
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="" maxlength="20">
269
+				                </div>
270
+				              </div>
271
+				            </div>
272
+				          </div>	
273
+				          <div class="itp_form_in itp_modify">
274
+				            <div class="form-group">
275
+				              <label class="col-xs-2 itp_lb">비밀번호</label>
276
+				              <div class="col-xs-10 itp_ip">
277
+				                <div class="col-xs-2 itp_in">
278
+				                  <button type="button" id="ITP_BTN_OPER06010_RESET_PW" class="btn btn-danger btn-sm PWC" style="margin:1px; display:block;">비밀번호 초기화</button>
279
+				                </div>
280
+				                <div class="col-xs-6 itp_in" style="top:5px;">
281
+				                  <div>(비밀번호 초기화는 사업자번호로 초기화 함 (숫자만))</div>
282
+				                </div>
283
+				              </div>
284
+				            </div>
285
+				          </div>
286
+				          <div class="itp_form_in">
287
+				            <div class="form-group">
288
+				              <label class="col-xs-2 itp_lb">전화번호 *</label>
289
+				              <div class="col-xs-4 itp_ip">
290
+				                <div class="col-xs-7 itp_in">
291
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="telNo" value="">
292
+				                </div>
293
+				              </div>
294
+				              <label class="col-xs-2 itp_lb">대표자명 *</label>
295
+				              <div class="col-xs-4 itp_ip">
296
+				                <div class="col-xs-8 itp_in">
297
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
298
+				                </div>
299
+				              </div>
300
+				            </div>
301
+				            <div class="form-group">
302
+				              <label class="col-xs-2 itp_lb">FAX</label>
303
+				              <div class="col-xs-4 itp_ip">
304
+				                <div class="col-xs-7 itp_in">
305
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_FAX_NO" class="form-control itp_input" name="faxNo" value="">
306
+				                </div>
307
+				              </div>
308
+				              <label class="col-xs-2 itp_lb"><i style="position:absolute; font-style:initial; top:27px;">로고</i></label>
309
+				              <div class="col-xs-4 itp_ip">
310
+				                <img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER06010_DETAIL_BRAND_LOGO "style="border:none; top:12px; left:100px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="brandLogo" >
311
+				              </div>
312
+				            </div>
313
+				            <div class="form-group">
314
+				              <label class="col-xs-2 itp_lb">이메일</label>
315
+				              <div class="col-xs-4 itp_ip">
316
+				                <div class="col-xs-7 itp_in">
317
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="emalAddr" value="">
318
+				                </div>
319
+				              </div>
320
+				              <label class="col-xs-2 itp_lb"style="border-top:none;"></label>
321
+				              <div class="col-xs-4 itp_ip"style="border-top:none; padding:0 10px;">
322
+				                <div class="col-xs-12 itp_in colspan">
323
+				                  <div class="fileupload-wrapper">
324
+				                    <!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
325
+				                    <div id="ITP_OPER06010_DETAIL_UPLOAD" data-show-yn="Y"></div>
326
+				                  </div>
327
+				                </div>
328
+				              </div>
329
+				            </div>
330
+				          </div>
331
+				          <div class="itp_form_in">
332
+				            <div class="form-group">
333
+				              <label class="col-xs-2 itp_lb">주소</label>
334
+				              <div class="col-xs-10 itp_ip">
335
+				                <div class="col-xs-1 itp_in">
336
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ZIPNO" class="form-control itp_input" name="zipNo" value="" maxlength="6" readonly placeholder="우편번호">
337
+				                </div>
338
+				                <div class="col-xs-1 itp_in">
339
+				                  <button type="button" id="ITP_FORM_OPER06010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm SHOW" style="margin: -1px 0px 0px 3px;">&nbsp;&nbsp;주소검색&nbsp;&nbsp;</button>
340
+				                </div>
341
+				                <div class="col-xs-4 itp_in" style="margin-right: 5px; margin-left:20px;">
342
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ADRES" class="form-control itp_input" name="addr1" value="" readonly placeholder="기본주소">
343
+				                </div>
344
+				                <div class="col-xs-4 itp_in">
345
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_ADRES_DTL" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">
346
+				                </div>
347
+				
348
+				                <!-- 주소 맵 -->
349
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_LOTS_ADDRESS" value="" />
350
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_STREET_ADDRESS" value="" />
351
+				                <input type="hidden" name="latX" id="ITP_FORM_OPER06010_DETAIL_LAT" value="" />
352
+				                <input type="hidden" name="latY" id="ITP_FORM_OPER06010_DETAIL_LNG" value="" />
353
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_HJ_DONG" value="" />
354
+				                <input type="hidden" id="ITP_FORM_OPER06010_DETAIL_BJ_DONG" value="" />
355
+				                <div id="ITP_FORM_OPER06010_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>
356
+				              </div>
357
+				            </div>
358
+				          </div>
359
+				          <div class="itp_form_in">
360
+				            <div class="form-group">
361
+				              <label class="col-xs-2 itp_lb">입금계좌정보</label>
362
+				              <div class="col-xs-12 itp_ip">
363
+				                <div class="col-xs-2 itp_in">
364
+				                  <select id="ITP_FORM_OPER06010_DETAIL_DPST_BNK_CD" data-select-code="BNK_CD" data-check-required="empty" class="form-control itp_input" name="bnkCd">
365
+				                  </select>
366
+				                </div>
367
+				                <div class="col-xs-4 itp_in">
368
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_RCV_ACCT_NO" data-check-required="empty" class="form-control itp_input" name="acctNo" value="" placeholder="계좌번호">
369
+				                </div>
370
+				                <div class="col-xs-2 itp_in">
371
+				                  <input type="text" id="ITP_FORM_OPER06010_DETAIL_OWAC_NM" data-check-required="empty" class="form-control itp_input" name="owacNm" value="" placeholder="소유주명">
372
+				                </div>
373
+				              </div>
374
+				            </div>
375
+				          </div>
376
+				          <div class="itp_form_in">
377
+				            <div class="form-group border">
378
+				              <label class="col-xs-2 itp_lb">등록자/등록일 </label>
379
+				              <div class="col-xs-4 itp_ip">
380
+				                <div class="col-xs-2 itp_in" style="width:auto;">
381
+				                  <div class="input-group fnRegId" style="padding:5px;"></div>
382
+				                </div>
383
+				                <label class="col-xs-1" style="top:7px;">/</label>
384
+				                <div class="col-xs-6 itp_in">
385
+				                  <div class="input-group fnRegDt" style="padding:5px;"></div>
386
+				                </div>
387
+				              </div>
388
+				              <label class="col-xs-2 itp_lb">최종  수정자/수정일</label>
389
+				              <div class="col-xs-4 itp_ip">
390
+				                <div class="col-xs-2 itp_in">
391
+				                  <div class="input-group fnChgId" style="padding:5px;"></div>
392
+				                </div>
393
+				                <label class="col-xs-1" style="top:7px;">/</label>
394
+				                <div class="col-xs-6 itp_in">
395
+				                  <div class="input-group fnChgDt" style="padding:5px;"></div>
396
+				                </div>
397
+				              </div>
398
+				            </div>
399
+				          </div>	
400
+				        </section>								
401
+				      </form>
402
+				    </div>
403
+				  </div>
404
+				</div>
237
 				<div id="ITP_AJAX_OPER06010_VIEW_CONTAINER">
405
 				<div id="ITP_AJAX_OPER06010_VIEW_CONTAINER">
238
 					<div class="itp_form itp_type1 fix">
406
 					<div class="itp_form itp_type1 fix">
239
 						<div class="col-xs-12">
407
 						<div class="col-xs-12">

+ 6 - 2
src/main/webapp/bootstrap-fileUpload/dist/bootstrap-FileUpload.css

@@ -109,7 +109,7 @@
109
 }
109
 }
110
 .fileupload-wrapper .fileupload-download {display:table; margin-bottom:0;}
110
 .fileupload-wrapper .fileupload-download {display:table; margin-bottom:0;}
111
 .fileupload-wrapper .fileupload-preview .btn-xs,
111
 .fileupload-wrapper .fileupload-preview .btn-xs,
112
-.fileupload-wrapper .fileupload-download .btn-xs {font-size:11px;}
112
+.fileupload-wrapper .fileupload-download .btn-xs {font-size:11px; padding:6px;}
113
 .fileupload-wrapper .fileupload-preview td,
113
 .fileupload-wrapper .fileupload-preview td,
114
 .fileupload-wrapper .fileupload-download td {word-break:break-all; vertical-align: middle;}
114
 .fileupload-wrapper .fileupload-download td {word-break:break-all; vertical-align: middle;}
115
 .fileupload-wrapper .fileupload-download td a {color:#666;}
115
 .fileupload-wrapper .fileupload-download td a {color:#666;}
@@ -121,4 +121,8 @@
121
 .fileupload-wrapper .fileupload-add,
121
 .fileupload-wrapper .fileupload-add,
122
 .fileupload-wrapper .fileupload-start,
122
 .fileupload-wrapper .fileupload-start,
123
 .fileupload-wrapper .fileupload-cancel,
123
 .fileupload-wrapper .fileupload-cancel,
124
-.fileupload-wrapper .fileupload-down {padding:4px 10px;}
124
+.fileupload-wrapper .fileupload-down {padding:4px 10px;}
125
+
126
+ /* 좁은곳에서 파일 업로드 */
127
+ .fileupload-wrapper 
128
+ 

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

@@ -410,14 +410,14 @@ html:lang(en) #ITP_CONTAINER .itp_detail .itp_form .itp_thumb_inline .itp_thumb_
410
 #ITP_CONTAINER .itp_form.itp_type1 .itp_form_in {margin:0; padding:0; display:table; width:100%;}
410
 #ITP_CONTAINER .itp_form.itp_type1 .itp_form_in {margin:0; padding:0; display:table; width:100%;}
411
 #ITP_CONTAINER .itp_form.itp_type1 .form-group {margin:0; padding:0; display:table-row;}
411
 #ITP_CONTAINER .itp_form.itp_type1 .form-group {margin:0; padding:0; display:table-row;}
412
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb,
412
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb,
413
-#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_ip {display:table-cell; padding:6px 18px; border-top:1px solid #F2F2F2; float:none; vertical-align:middle; height:42px; }
413
+#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_ip {display:table-cell; padding:6px 15px; border-top:1px solid #F2F2F2; float:none; vertical-align:middle; height:42px; }
414
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_lb,
414
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_lb,
415
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_ip {border-bottom:1px solid #ddd;}
415
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.border .itp_ip {border-bottom:1px solid #ddd;}
416
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_lb,
416
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_lb,
417
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_ip {border-top:0; padding-top:0; height:auto;}
417
 #ITP_CONTAINER .itp_form.itp_type1 .form-group.noBor .itp_ip {border-top:0; padding-top:0; height:auto;}
418
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb {border-right:1px solid #ddd; border-left:1px solid #ddd;background:#d6ecf5;}
418
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb {border-right:1px solid #ddd; border-left:1px solid #ddd;background:#d6ecf5;}
419
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb.bor {border-left:1px solid #ddd;}
419
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_lb.bor {border-left:1px solid #ddd;}
420
-#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in {padding:0;}
420
+#ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in {padding:0; margin-right:5px;}
421
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.pad {padding-right:15px;}
421
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.pad {padding-right:15px;}
422
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padT {padding-top:4px;}
422
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padT {padding-top:4px;}
423
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padTt {padding-top:1px;}
423
 #ITP_CONTAINER .itp_form.itp_type1 .form-group .itp_in.padTt {padding-top:1px;}

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

@@ -188,7 +188,6 @@ let pageObj = {
188
                     $(this).val('').prop('selected', true);
188
                     $(this).val('').prop('selected', true);
189
                 }
189
                 }
190
             });
190
             });
191
-
192
             $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val('');
191
             $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_FILE_NO').val('');
193
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_ID').removeAttr('readonly');
192
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_ID').removeAttr('readonly');
194
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_NM').removeAttr('readonly');
193
             $('#ITP_FORM_OPER06010_DETAIL_BRAND_NM').removeAttr('readonly');
@@ -376,6 +375,7 @@ let modifyObj = {
376
         pageObj.switchScreen('MODIFY');
375
         pageObj.switchScreen('MODIFY');
377
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_VIEW_CD').val('U');
376
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_VIEW_CD').val('U');
378
 
377
 
378
+        $('#ITP_FORM_OPER06010_DETAIL .fnAfflShopId').text(result.fnAfflShopId);
379
         $('#ITP_FORM_OPER06010_DETAIL .fnBrandId').text(result.brandId);
379
         $('#ITP_FORM_OPER06010_DETAIL .fnBrandId').text(result.brandId);
380
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
380
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_ID').val(result.afflShopId);
381
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);
381
         $('#ITP_FORM_OPER06010_DETAIL #ITP_FORM_OPER06010_DETAIL_AFFL_SHOP_NM').val(result.afflShopNm);

+ 594 - 0
src/main/webapp/js/app/vendinfo/ITP_VENDINFO02010.js

@@ -0,0 +1,594 @@
1
+require(['config'], function() {
2
+	require([
3
+			'jquery.bootstrap.fileUpload' //파일 업로드가 있는 페이지에서 로딩
4
+	], function($) {
5
+			pageObj.init();
6
+	});
7
+});
8
+
9
+/********************************************************
10
+--------------------------------------------------------
11
+- Object 목록								            -
12
+--------------------------------------------------------
13
+* const gridColModel = {}	: 화면 Grid Object			*
14
+* let pageObj = {}			: 화면공통 Object			*
15
+* let listObj = {}			: 목록화면 Object			*
16
+* let viewObj = {}			: 상세화면 Object			*
17
+* let modifyObj = {}		: 수정화면 Object			*
18
+* let createObj = {}		: 신규화면 Object			*
19
+*******************************************************/
20
+
21
+/*화면 변수*/
22
+const VENDINFO02010_GRID_ID = '#ITP_VENDINFO02010_jqGrid';
23
+const VENDINFO02010_GRID_LIST = '#ITP_VENDINFO02010_jqGrid_list';
24
+const VENDINFO02010_GRID_PAGER = '#ITP_VENDINFO02010_jqGridPager';
25
+const VENDINFO02010_GRID_EMPTY = '#ITP_VENDINFO02010_jqGridEmpty';
26
+
27
+const VENDINFO02010_VIEW_GRID_ID = '#ITP_VENDINFO02010_VIEW_jqGrid';
28
+const VENDINFO02010_VIEW_GRID_LIST = '#ITP_VENDINFO02010_VIEW_jqGrid_list';
29
+const VENDINFO02010_VIEW_GRID_PAGER = '#ITP_VENDINFO02010_VIEW_jqGridPager';
30
+const VENDINFO02010_VIEW_GRID_EMPTY = '#ITP_VENDINFO02010_VIEW_jqGridEmpty';
31
+
32
+const VENDINFO02010_DETAIL_GRID_ID = '#ITP_VENDINFO02010_DETAIL_jqGrid';
33
+const VENDINFO02010_DETAIL_GRID_LIST = '#ITP_VENDINFO02010_DETAIL_jqGrid_list';
34
+const VENDINFO02010_DETAIL_GRID_PAGER = '#ITP_VENDINFO02010_DETAIL_jqGridPager';
35
+const VENDINFO02010_DETAIL_GRID_EMPTY = '#ITP_VENDINFO02010_DETAIL_jqGridEmpty';
36
+
37
+let ITP_FORM_VENDINFO02010_DETAIL_IS_DUPLICATE = false;
38
+let ITP_FORM_VENDINFO02010_DETAIL_IS_WRITING = false;
39
+
40
+/*API URL*/
41
+let API_DETAIL_GRID_LIST 	= '/api/item/detail-grid-list';	    // 목록
42
+let API_DETAIL_INFO 		= '/api/item/info-item';			// 상세
43
+let API_DETAIL_SAVE 		= '/api/item/save-item';			// 저장
44
+let API_ITEM_CLASS_LEVEL	= '/api/item/class-level-list';		//품목분류 level 검색
45
+
46
+/*화면 Grid ColModel*/
47
+const gridColModel = {
48
+	list: [
49
+	
50
+			{
51
+					index: 'ITEM_ID', name: 'itemId',
52
+					label: ITP_MSG_LOCALE.label.itemId, //품목번호
53
+					width: '12', fixed: false, align: 'center',
54
+					sortable: false, hidden: false
55
+			},
56
+			{
57
+					index: 'ITEM_NM', name: 'itemNm',
58
+					label: ITP_MSG_LOCALE.label.itemNm, //품목명
59
+					width: '13', fixed: false, align: 'center',
60
+					sortable: false, hidden: false
61
+			},
62
+			{
63
+					index: 'ITEM_TYPE_NM', name: 'itemTypeNm',
64
+					label: ITP_MSG_LOCALE.label.itemTypeNm, //품목유형
65
+					width: '10', fixed: false, align: 'center',
66
+					sortable: false, hidden: false
67
+			},
68
+			{
69
+					index: 'ITEM_CLASS_NM', name: 'itemClassNm',
70
+					label: ITP_MSG_LOCALE.label.itemClassNm, //품목분류
71
+					width: '15', fixed: false, align: 'center',
72
+					sortable: false, hidden: false
73
+			},
74
+			{
75
+					index: 'ST_CD', name: 'stCd',
76
+					label: ITP_MSG_LOCALE.label.stNm, //상태
77
+					width: '6', fixed: false, align: 'center',
78
+					sortable: false, hidden: false
79
+			},
80
+			{
81
+					index: 'PODR_PSSBLDVSN_NM', name: 'podrPssblDvsnNm',
82
+					label: ITP_MSG_LOCALE.label.podrPssblDvsnNm, //발주여부
83
+					width: '6', fixed: false, align: 'center',
84
+					sortable: false, hidden: false
85
+			},
86
+			{
87
+					index: 'UNIT', name: 'unit',
88
+					label: ITP_MSG_LOCALE.label.unit, //기본단위
89
+					width: '6', fixed: false, align: 'center',
90
+					sortable: false, hidden: false
91
+			},
92
+			{
93
+					index: 'PCH_ITEM_YN', name: 'pchItemYn',
94
+					label: ITP_MSG_LOCALE.label.pchItemYn, //구매품목여부
95
+					width: '6', fixed: false, align: 'center',
96
+					sortable: false, hidden: false
97
+			},
98
+			{
99
+					index: 'SALE_ITEM_YN', name: 'saleItemYn',
100
+					label: ITP_MSG_LOCALE.label.saleItemYn, //판매품목여부
101
+					width: '10', fixed: false, align: 'center',
102
+					sortable: false, hidden: false
103
+			},
104
+	],
105
+	detail: [
106
+			{
107
+					index: 'VIEW_CD', name: 'viewCd',
108
+					label: ITP_MSG_LOCALE.label.viewCd,
109
+					width: '10', fixed: false, align: 'center',
110
+					sortable: false, hidden: true
111
+			},
112
+			{
113
+					index: 'AUTH_NO', name: 'authNo',
114
+					label: ITP_MSG_LOCALE.label.permitCd,
115
+					width: '20', fixed: false, align: 'center',
116
+					sortable: false, editable: false, edittype: 'text',
117
+					editrules: {required: true}
118
+			},
119
+			{
120
+					index: 'AUTH_NM', name: 'authNm',
121
+					label: ITP_MSG_LOCALE.label.permitName,
122
+					width: '30', fixed: false, align: 'center',
123
+					sortable: true, editable: false, edittype: 'text',
124
+					editrules: {required: true}
125
+			},
126
+			{
127
+					index: 'USE_YN_NM', name: 'useYnNm',
128
+					label: ITP_MSG_LOCALE.label.status,
129
+					width: '10', fixed: false, align: 'center',
130
+					sortable: false, editable: false, edittype: 'text'
131
+			},
132
+			{
133
+					index: 'ADD_DT', name: 'addDt',
134
+					label: ITP_MSG_LOCALE.label.regDt,
135
+					width: '10', fixed: false, align: 'center',
136
+					sortable: false, editable: false, edittype: 'text'
137
+			}
138
+	]
139
+};
140
+
141
+/*화면공통 Object*/
142
+let pageObj = {
143
+	init: function () {
144
+			this.ui.init();
145
+			this.event.init();
146
+			this.fileUpload();
147
+	},
148
+	ui: {
149
+			init: function () {
150
+					this.view();
151
+					this.grid();
152
+					this.ready();
153
+			},
154
+			view: function() {
155
+					// 버튼 권한설정
156
+					fn_proc_btn_auth('VENDINFO02010');
157
+
158
+					// 공통코드 표시
159
+					$('select').each(function() {
160
+							if($(this).data('select-code')) {
161
+									fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
162
+							}
163
+					});
164
+
165
+					itemClassLevel.make(1, 'LIST');
166
+			},
167
+			grid: function() {
168
+					itp_fn_jqgrid_resize(VENDINFO02010_GRID_ID, VENDINFO02010_GRID_LIST, 'lg');
169
+					listObj.empty.init();
170
+					itp_fn_fire_window_resize();
171
+			},
172
+			ready: function() {
173
+					listObj.init();
174
+			}
175
+	},
176
+	event: {
177
+			init: function () {
178
+					this.button();
179
+			},
180
+			button: function () {
181
+					// 버튼 클릭 이벤트
182
+					$('button').each(function() {
183
+							var id = $(this).attr('id');
184
+							$(this).on('click', function() {
185
+									switch (id) {
186
+											case 'ITP_BTN_VENDINFO02010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
187
+											case 'ITP_BTN_VENDINFO02010_NEWREG'			: listObj.button.create(); 		break;	// 신규등록 버튼
188
+											case 'ITP_BTN_VENDINFO02010_MODIFY'			: modifyObj.button.modify();	break;	// 수정 버튼
189
+											case 'ITP_BTN_VENDINFO02010_CANCELLIST'		: createObj.button.cancel(); 	break;	// 취소/목록 버튼
190
+											case 'ITP_BTN_VENDINFO02010_DELETE'			: 								break;	// 삭제 버튼
191
+											case 'ITP_BTN_VENDINFO02010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
192
+											case 'ITP_FORM_VENDINFO02010_DETAIL_DUP'		: createObj.button.duplicate();	break;	// 중복체크
193
+											case 'ITP_BTN_VENDINFO02010_RESET_PW'			: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
194
+									}
195
+							});
196
+					});
197
+
198
+					$('body').on('click', function(e) {
199
+							var gridId = VENDINFO02010_DETAIL_GRID_ID.replace('#', '');
200
+							var rids = $(VENDINFO02010_DETAIL_GRID_ID).jqGrid('getDataIDs');
201
+							var last_row_id = rids[rids.length - 1];
202
+							itp_fn_grid_reset_selection(e, last_row_id, gridId, 'VENDINFO02010_DETAIL');
203
+					});
204
+
205
+			}
206
+	},
207
+	fileUpload: function() {
208
+			//파일업로드(등록/수정화면)
209
+			var id = 'VENDINFO02010';
210
+			$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
211
+			const fileArgs = {
212
+					'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
213
+					'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
214
+					'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
215
+					'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
216
+			};
217
+			itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
218
+	},
219
+	switchScreen: function(mode) {
220
+			$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO02010_"]').each(function(i) {
221
+					$(this).hide();
222
+			});
223
+			$('#ITP_TAB_VENDINFO02010').find('div[id$="_CONTAINER"]').each(function(i) {
224
+					$(this).hide();
225
+			});
226
+			if(mode == 'LIST') { // 목록
227
+					$('#ITP_AJAX_VENDINFO02010_LIST_CONTAINER').show();
228
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_SRH', '#ITP_BTN_VENDINFO02010_NEWREG']);
229
+			} else if(mode == 'ADD') { // 등록
230
+					$('#ITP_AJAX_VENDINFO02010_DETAIL_CONTAINER').show();
231
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_CANCELLIST', '#ITP_BTN_VENDINFO02010_SAVE']);
232
+
233
+					$('#ITP_FORM_VENDINFO02010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
234
+							$(this).attr('id') === 'ITP_FORM_VENDINFO02010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
235
+							if(elem.type === 'select') {
236
+									$(this).val('').prop('selected', true);
237
+							}
238
+					});
239
+
240
+					$('#ITP_FORM_VENDINFO02010_DETAIL_STORE_ID').removeAttr('readonly');
241
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DUP').removeAttr('disabled');
242
+
243
+					// 가맹점 정보 설정
244
+					$('#ITP_FORM_VENDINFO02010_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
245
+					$('#ITP_FORM_VENDINFO02010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
246
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
247
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnItemClassMgntNo').text('(자동부여)');
248
+			} else if(mode == 'MODIFY') { // 수정
249
+					$('#ITP_AJAX_VENDINFO02010_DETAIL_CONTAINER').show();
250
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_CANCELLIST', '#ITP_BTN_VENDINFO02010_SAVE', '#ITP_BTN_VENDINFO02010_RESET_PW']);
251
+
252
+					$('#ITP_FORM_VENDINFO02010_DETAIL_AFFL_SHOP_ID').val(fn_make_user_info.get('afflShopId'));
253
+					$('#ITP_FORM_VENDINFO02010_DETAIL_BRAND_ID').val(fn_make_user_info.get('brandId'));
254
+					$('#ITP_FORM_VENDINFO02010_DETAIL .fnBrandNm').text(fn_make_user_info.get('brandNm'));
255
+					$('#ITP_FORM_VENDINFO02010_DETAIL_STORE_ID').attr('readonly', true);
256
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DUP').attr('disabled', true);
257
+					$('#ITP_FORM_VENDINFO02010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
258
+
259
+					$('#ITP_FORM_VENDINFO02010_DETAIL_SEARCH_AFFL_SHOP').hide();
260
+					$('#ITP_FORM_VENDINFO02010_DETAIL_DELETE_AFFL_SHOP').hide();
261
+			} else if(mode == 'VIEW') { // 보기
262
+					$('#ITP_AJAX_VENDINFO02010_VIEW_CONTAINER').show();
263
+					$('#ITP_FORM_VENDINFO02010_VIEW .fnBrandNm').text(fn_make_user_info.get('brandNm'));
264
+					fn_show_btn_auth_array(['#ITP_BTN_VENDINFO02010_MODIFY', '#ITP_BTN_VENDINFO02010_CANCELLIST']);
265
+			}
266
+	}
267
+};
268
+
269
+/*목록화면 Object*/
270
+let listObj = {
271
+	init: function () {
272
+			this.form();
273
+			this.grid.init();
274
+	},
275
+	itp_VENDINFO02010_search: false,
276
+	button: {
277
+			search: function() {
278
+					listObj.itp_VENDINFO02010_search = true;
279
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
280
+					param.gridSize = $.jgrid.defaults.rowNum;
281
+					param.gridPage = $.jgrid.defaults.page;
282
+					$(VENDINFO02010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
283
+			},
284
+			create: function() {
285
+					if(!fn_make_user_info.isEmpty()) {
286
+							createObj.init();
287
+					}
288
+			}
289
+	},
290
+	form: function() {
291
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS1').on('change', function() {
292
+					($(this).val() === '') ? itemClassLevel.clear(2): itemClassLevel.change(2);
293
+			});
294
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS2').on('change', function() {
295
+					($(this).val() === '') ? itemClassLevel.clear(3): itemClassLevel.change(3);
296
+			});
297
+			$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS3').on('change', function() {
298
+					($(this).val() === '') ? itemClassLevel.clear(4): itemClassLevel.change(4);
299
+			});
300
+	},
301
+	empty: {
302
+			init: function() {
303
+					var _this = this;
304
+					this.push();
305
+					$(VENDINFO02010_GRID_EMPTY).on('click', function() {
306
+							_this.back();
307
+							_this.itp_VENDINFO02010_param.gridSize = $.jgrid.defaults.rowNum;
308
+							$(VENDINFO02010_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_VENDINFO02010_param)}).trigger('reloadGrid');
309
+					});
310
+			},
311
+			itp_VENDINFO02010_param: {},
312
+			push: function() {
313
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
314
+					listObj.itp_VENDINFO02010_param = param;
315
+			},
316
+			back: function() {
317
+					$('#ITP_FORM_VENDINFO02010_SERVICE_ST_CD').val(this.itp_VENDINFO02010_param.sitemStCd);
318
+					$('#ITP_FORM_VENDINFO02010_SEARCH_PODR_PSSBL_DVSN').val(this.itp_VENDINFO02010_param.spodrPssblDvsn);
319
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_KIND').val(this.itp_VENDINFO02010_param.sitemKind);
320
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_TYPE').val(this.itp_VENDINFO02010_param.sitemType);
321
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS1').val(this.itp_VENDINFO02010_param.sitemClass1);
322
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS2').val(this.itp_VENDINFO02010_param.sitemClass2);
323
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS3').val(this.itp_VENDINFO02010_param.sitemClass3);
324
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS4').val(this.itp_VENDINFO02010_param.sitemClass4);
325
+					$('#ITP_FORM_VENDINFO02010_SEARCH_ITEM_NM').val(this.itp_VENDINFO02010_param.sitemNm);
326
+			}
327
+	},
328
+	grid: {
329
+			init: function () {
330
+					// 데이터 없을때
331
+					listObj.empty.push();
332
+					this.search();
333
+			},
334
+			colModel: gridColModel.list,
335
+			search: function() {
336
+					pageObj.switchScreen('LIST');
337
+					this.unload();
338
+					this.load();
339
+			},
340
+			load: function() {
341
+					let param = $('#ITP_FORM_VENDINFO02010_SEARCH').serializeObject();
342
+					param.gridSize = $.jgrid.defaults.rowNum;
343
+					param.sbrandId = fn_make_user_info.get('brandId');
344
+					// param.sbrandId = sessionStorage.getItem('itp_brand_id') !== null ? sessionStorage.getItem('itp_brand_id') : 'BRD221000001';
345
+
346
+					var option = {
347
+							gridId: VENDINFO02010_GRID_ID,
348
+							colModel: gridColModel.list,
349
+							param: JSON.stringify(param),
350
+							url: DOMAIN + API_DETAIL_GRID_LIST,
351
+							pager: VENDINFO02010_GRID_PAGER,
352
+							onCellSelect: function(rowId, cellIdx, cellValue) {
353
+									var cm = $(this).jqGrid('getGridParam', 'colModel');
354
+									var colNm = cm[cellIdx].name;
355
+									if (colNm == 'itemId') {
356
+											const selectVal = $(this).jqGrid('getCell', rowId, 'itemId');
357
+											const key = {brandId:fn_make_user_info.get('brandId'), itemId: selectVal, viewCd: 'R'};
358
+											var param = $.param(key);
359
+											viewObj.init(param);
360
+									}
361
+							},
362
+							loadComplete: function(data) {
363
+									console.log(data);
364
+									itp_fn_grid_load_complete(data, VENDINFO02010_GRID_ID, true, 'number', 'VENDINFO02010', listObj.itp_VENDINFO02010_search, listObj.empty, true, data.gridRecords, true);
365
+									var ids = $(VENDINFO02010_GRID_ID).getDataIDs();
366
+									$.each(ids, function(idx, rowId) {
367
+											$(VENDINFO02010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
368
+									});
369
+							},
370
+							onPaging: function(action) {
371
+									itp_fn_grid_paging(VENDINFO02010_GRID_ID, action, param);
372
+							}
373
+					};
374
+					itp_fn_grid_make_remote(option);
375
+			},
376
+			clearData : function() {
377
+					$(VENDINFO02010_GRID_ID).jqGrid('clearGridData', true);
378
+					$(VENDINFO02010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
379
+					$(VENDINFO02010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
380
+					$(VENDINFO02010_GRID_EMPTY).show();
381
+			},
382
+			unload : function() {
383
+					$.jgrid.gridUnload(VENDINFO02010_GRID_ID);
384
+			}
385
+	}
386
+};
387
+
388
+/*상세화면 Object*/
389
+let viewObj = {
390
+	init: function (param) {
391
+			this.load(param);
392
+	},
393
+	load: function(param) {
394
+			fn_ajax_call(API_DETAIL_INFO, param, this.callback, 'GET');
395
+	},
396
+	callback: function (result) {
397
+			console.log(result);
398
+			pageObj.switchScreen('VIEW');
399
+			$('#ITP_FORM_VENDINFO02010_VIEW #ITP_FORM_VENDINFO02010_VIEW_ITEM_ID').val(result.itemId);
400
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnStCd').text(result.itemStNm);
401
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass1').text(result.itemClass1);
402
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass2').text(result.itemClass2);
403
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass3').text(result.itemClass3);
404
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClass4').text(result.itemClass4);
405
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemClassMgntNo').text(result.itemClassMgntNo);
406
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemType').text(result.itemType);
407
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnItemNm').text(result.itemClassNm);
408
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnImpDvsn').text(result.impDvsnNm);
409
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnPodrPssblDvsn').text(result.podrPssblDvsn);
410
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnUnit').text(result.unit);
411
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnPchItemYn').text(result.pchItemYn);
412
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnViewPchUnit').text(result.pchUnit);
413
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnSaleItemYn').text(result.saleItemYn);
414
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnSaleUnit').text(result.saleUnit);
415
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnAssetInfo').text(result.assetInfo);
416
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnStckUnit').text(result.stckUnit);
417
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnWeight').text(result.weight);
418
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnVolume').text(result.volume);
419
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnWidth').text(result.width);
420
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnHeight').text(result.height);
421
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnHigh').text(result.high);
422
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnOneBoxQty').text(result.oneBoxQty);
423
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnExpryYn').text(result.expryYn);
424
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnExpryPeriod').text(result.expryPeriod);
425
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnRtnPssblYn').text(result.rtnPssblYn);
426
+			$('#ITP_FORM_VENDINFO02010_VIEW .fnRtnDvsn').text(result.rtnDvsn);
427
+			// $('#ITP_FORM_VENDINFO02010_VIEW .fnItemImage').text(result.imageFileNoList);
428
+			$.each(result.imageFileNoList, function(index, item) {
429
+					$('#ITP_FORM_VENDINFO02010_VIEW .fnItemImage').append('<img src=" + item.filePath +" />');
430
+			});
431
+	}
432
+};
433
+
434
+/*수정화면 Object*/
435
+let modifyObj = {
436
+	init: function () {
437
+	},
438
+	button: {
439
+			modify: function (param) {
440
+					itp_fn_form_clear_validate(null, '#ITP_FORM_VENDINFO02010_DETAIL');
441
+					const selectVal = $('#ITP_FORM_VENDINFO02010_VIEW_ITEM_ID').val();
442
+					const key = {brandId:fn_make_user_info.get('brandId'), itemId: selectVal, viewCd: 'R'};
443
+					var param = $.param(key);
444
+					modifyObj.load(param);
445
+			}
446
+	},
447
+	load: function(param) {
448
+			fn_ajax_call(API_DETAIL_INFO, param, this.callback, 'GET');
449
+	},
450
+	callback: function (result) {
451
+			console.log(result);
452
+			pageObj.switchScreen('MODIFY');
453
+
454
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_VIEW_CD').val('U');
455
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_ID').val(result.itemId);
456
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_STORE_ST_CD').val(result.itemStCd);
457
+			$('#ITP_FORM_VENDINFO02010_DETAIL .fnItemClassMgntNo').text(result.itemId);
458
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_TYPE').val(result.itemType);
459
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ITEM_NM').val(result.itemClassNm);
460
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_IMP_DVSN').val(result.impDvsn);
461
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PODR_PSSBL_DVSN').val(result.podrPssblDvsn);
462
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_UNIT').val(result.unit);
463
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PCH_ITEM_YN').val(result.pchItemYn);
464
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_PCH_UNIT').val(result.pchUnit);
465
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_SALE_ITEM_YN').val(result.saleItemYn);
466
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_SALE_UNIT').val(result.saleUnit);
467
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ASSET_INFO').val(result.assetInfo);
468
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_STCK_UNIT').val(result.stckUnit);
469
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_WEIGHT').val(result.weight);
470
+			$('#ITP_FORM_VENDINFO02010_DETAIL .item_unit').text(result.unit);
471
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_VOLUME').val(result.volume);
472
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_WIDTH').val(result.width);
473
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_HEIGHT').val(result.height);
474
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_HIGH').val(result.high);
475
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_ONE_BOX_QTY').val(result.oneBoxQty);
476
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_EXPRY_YN').val(result.expryYn);
477
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_EXPRY_PERIOD').val(result.expryPeriod);
478
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_RTN_PSSBL_YN').val(result.rtnPssblYn);
479
+			$('#ITP_FORM_VENDINFO02010_DETAIL #ITP_FORM_VENDINFO02010_DETAIL_RTN_DVSN').val(result.rtnDvsn);
480
+			$.each(result.imageFileNoList, function(index, item) {
481
+					$('#ITP_FORM_VENDINFO02010_VIEW .ITEM_IMAGE').append('<img src=" + item.filePath +" />');
482
+			});
483
+
484
+			itemClassLevel.data.push(result.itemClass1);
485
+			itemClassLevel.data.push(result.itemClass2);
486
+			itemClassLevel.data.push(result.itemClass3);
487
+			itemClassLevel.data.push(result.itemClass4);
488
+			itemClassLevel.make(1, 'MODIFY');
489
+	}
490
+};
491
+
492
+/*신규화면 Object*/
493
+let createObj = {
494
+	init: function () {
495
+			pageObj.switchScreen('ADD');
496
+			itp_fn_form_clear_validate(null, '#ITP_FORM_VENDINFO02010_DETAIL');
497
+			this.button.init();
498
+			itemClassLevel.make(1, 'ADD');
499
+	},
500
+	button: {
501
+			init: function() {
502
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS1').off('change').on('change', function() {
503
+							($(this).val() === '') ? itemClassLevel.clear(2): itemClassLevel.change(2);
504
+					});
505
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS2').off('change').on('change', function() {
506
+							($(this).val() === '') ? itemClassLevel.clear(3): itemClassLevel.change(3);
507
+					});
508
+					$('#ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS3').off('change').on('change', function() {
509
+							($(this).val() === '') ? itemClassLevel.clear(4): itemClassLevel.change(4);
510
+					});
511
+			},
512
+			cancel: function() {
513
+					listObj.grid.search();
514
+			},
515
+			save: function() {
516
+					const formId = '#ITP_FORM_VENDINFO02010_DETAIL';
517
+					itp_fn_form_clear_validate(null, formId);
518
+					if (createObj.isValid(formId)) {
519
+							let param = $(formId).serializeObject();
520
+							console.log(JSON.stringify(param));
521
+							var searhFn = function() {
522
+									ITP_FORM_VENDINFO02010_DETAIL_IS_WRITING = false;
523
+									listObj.grid.search();
524
+							};
525
+							fn_ajax_call(API_DETAIL_SAVE, JSON.stringify(param), searhFn, 'POST');
526
+					}
527
+			}
528
+	},
529
+	isValid: function(formId) {
530
+			var isValid = false;
531
+			$(formId).find('input, select, checkbox, textarea').each(function(k) {
532
+					if($(this).data('check-required')) {
533
+							var arry = $(this).data('check-required').split(',');
534
+							isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
535
+							if(!isValid) return false;
536
+					}
537
+			});
538
+			return isValid;
539
+	}
540
+};
541
+
542
+var itemClassLevel = {
543
+	level: 1,
544
+	levelID: '',
545
+	data: [],
546
+	keys: function() {
547
+			var keys = {sBrandId:fn_make_user_info.get('brandId'), sItemLevel: this.level};
548
+			for(var i=1; i<=this.level; i++) {
549
+					var key = 'sItemClass' + i;
550
+					var id = '#' + this.levelID + i;
551
+					keys[key] = $(id + ' option:selected').val();
552
+			}
553
+			return keys;
554
+	},
555
+	make: function(level, mode) {
556
+			this.level = level;
557
+			this.levelID = (mode === 'LIST' ? 'ITP_FORM_VENDINFO02010_SEARCH_ITEM_CLASS' : 'ITP_FORM_VENDINFO02010_DETAIL_ITEM_CLASS');
558
+			if(mode !== 'MODIFY') {
559
+					this.data.length = 0;
560
+					this.clear(1);
561
+			}
562
+			this.call($.param(this.keys()), mode === 'MODIFY');
563
+	},
564
+	change: function(level) {
565
+			this.level = level;
566
+			this.clear(level);
567
+			this.call($.param(this.keys()), false);
568
+	},
569
+	call: function(param, isModify) {
570
+			var _this = this;
571
+			var callbackFn = function(result) {
572
+					var id = _this.levelID + _this.level;
573
+					fn_make_select_item_class(result.searchList, id, true, _this.emptyText());
574
+					if(isModify) {
575
+							$('#' + id).val(_this.data[ _this.level - 1]);
576
+							if(_this.level < _this.data.length) {
577
+									if(_this.data[_this.level] !== '') {
578
+											_this.level++;
579
+											_this.call( $.param(_this.keys()), isModify);
580
+									}
581
+							}
582
+					}
583
+			};
584
+			fn_ajax_call(API_ITEM_CLASS_LEVEL, param, callbackFn, 'GET');
585
+	},
586
+	emptyText: function() {
587
+			return '품목분류Level' + this.level;
588
+	},
589
+	clear: function(level) {
590
+			for(var i=level; i<5; i++) {
591
+					$('#' + (this.levelID + i)).find('option:not(:first)').remove();
592
+			}
593
+	}
594
+};