소스 검색

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

whakdo963 2 년 전
부모
커밋
b8ef349194
37개의 변경된 파일1660개의 추가작업 그리고 155개의 파일을 삭제
  1. 37 25
      bin/src/main/webapp/app/vendinfo/VENDINFO01010.html
  2. 2 2
      bin/src/main/webapp/app/vendinfo/VENDINFO03010.html
  3. 3 0
      bin/src/main/webapp/js/app/oper/ITP_OPER03010.js
  4. 399 0
      bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js
  5. 311 0
      bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js
  6. 7 7
      src/main/webapp/app/oper/OPER02010.html
  7. 12 17
      src/main/webapp/app/oper/OPER03010.html
  8. 7 9
      src/main/webapp/app/oper/OPER03011.html
  9. 1 1
      src/main/webapp/app/oper/OPER06010.html
  10. 2 2
      src/main/webapp/app/stinfo/STINFO01010.html
  11. 1 1
      src/main/webapp/app/stinfo/STINFO01011.html
  12. 2 2
      src/main/webapp/app/stinfo/STINFO02010.html
  13. 2 2
      src/main/webapp/app/stinfo/STINFO02011.html
  14. 2 2
      src/main/webapp/app/stinfo/STINFO03010.html
  15. 37 25
      src/main/webapp/app/vendinfo/VENDINFO01010.html
  16. 2 2
      src/main/webapp/app/vendinfo/VENDINFO03010.html
  17. 26 5
      src/main/webapp/js/app/config.js
  18. 2 2
      src/main/webapp/js/app/loanmng/ITP_LOANMNG01010.js
  19. 1 1
      src/main/webapp/js/app/loanmng/ITP_LOANMNG02010.js
  20. 2 2
      src/main/webapp/js/app/loanmng/ITP_LOANMNG03010.js
  21. 3 0
      src/main/webapp/js/app/oper/ITP_OPER01010.js
  22. 22 22
      src/main/webapp/js/app/oper/ITP_OPER02010.js
  23. 18 8
      src/main/webapp/js/app/oper/ITP_OPER03010.js
  24. 16 2
      src/main/webapp/js/app/oper/ITP_OPER03011.js
  25. 3 0
      src/main/webapp/js/app/oper/ITP_OPER04010.js
  26. 5 2
      src/main/webapp/js/app/stinfo/ITP_STINFO02010.js
  27. 5 2
      src/main/webapp/js/app/stinfo/ITP_STINFO02011.js
  28. 2 0
      src/main/webapp/js/app/stinfo/ITP_STINFO03010.js
  29. 3 0
      src/main/webapp/js/app/stinfo/ITP_STINFO05010.js
  30. 3 0
      src/main/webapp/js/app/stinfo/ITP_STINFO06010.js
  31. 2 2
      src/main/webapp/js/app/stockmng/ITP_STOCKMNG01010.js
  32. 3 3
      src/main/webapp/js/app/stockmng/ITP_STOCKMNG02010.js
  33. 1 1
      src/main/webapp/js/app/stockmng/ITP_STOCKMNG03010.js
  34. 4 4
      src/main/webapp/js/app/stockmng/ITP_STOCKMNG04010.js
  35. 2 2
      src/main/webapp/js/app/stockmng/ITP_STOCKMNG04011.js
  36. 399 0
      src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js
  37. 311 0
      src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js

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

@@ -21,6 +21,8 @@
21 21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22 22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23 23
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
24
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
25
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
24 26
 					
25 27
 								<section class="itp_form_sec">
26 28
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -34,6 +36,8 @@
34 36
 											<label class="col-xs-2 itp_lb">상태 *</label>
35 37
 											<div class="4 itp_ip">
36 38
 												<div class="col-xs-8 itp_in fnStCd">
39
+													<select id="ITP_FORM_VENDINFO01010_DETAIL_ST_CD" data-check-required="empty" data-select-code="ST_CD" class="form-control itp_input" name="stCd">
40
+													</select>
37 41
 												</div>
38 42
 											</div>
39 43
 										</div>
@@ -47,7 +51,7 @@
47 51
 											<label class="col-xs-2 itp_lb">기업형태 *</label>
48 52
 											<div class="col-xs-4 itp_ip">
49 53
 												<div class="col-xs-8 itp_in">
50
-								                <select id="ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE" class="form-control itp_input" name="corpType">
54
+								                <select id="ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE" data-check-required="empty" data-select-code="CORP_TYPE" class="form-control itp_input" name="corpType">
51 55
 												</select>
52 56
 												</div>
53 57
 											</div>
@@ -58,7 +62,7 @@
58 62
 											<label class="col-xs-2 itp_lb">공급업체명 *</label>
59 63
 											<div class="col-xs-4 itp_ip">
60 64
 												<div class="col-xs-9 itp_in">
61
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM" class="form-control itp_input" name="spplyNm" value="">
65
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM" data-check-required="empty" class="form-control itp_input" name="spplyNm" value="">
62 66
 												</div>
63 67
 											</div>
64 68
 											<label class="col-xs-2 itp_lb">업태</label>
@@ -73,7 +77,11 @@
73 77
 										<div class="form-group">
74 78
 											<label class="col-xs-2 itp_lb">사업자번호 *</label>
75 79
 											<div class="col-xs-4 itp_ip">
76
-												<div class="col-xs-6 itp_in fnBsnsRegNo"></div>
80
+												<div class="itp_form_change">
81
+													<div class="col-xs-7 itp_in">
82
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="">
83
+													</div>
84
+												</div>
77 85
 											</div>
78 86
 											<label class="col-xs-2 itp_lb">업종</label>
79 87
 											<div class="col-xs-4 itp_ip">
@@ -87,12 +95,16 @@
87 95
 										<div class="form-group">
88 96
 											<label class="col-xs-2 itp_lb">법인번호</label>
89 97
 											<div class="col-xs-4 itp_ip">
90
-												<div class="col-xs-6 itp_in fnCorpRegNo"></div>
98
+												<div class="itp_form_change">
99
+													<div class="col-xs-7 itp_in">
100
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="">
101
+													</div>
102
+												</div>
91 103
 											</div>
92 104
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
93 105
 											<div class="col-xs-4 itp_ip">
94 106
 												<div class="col-xs-8 itp_in">
95
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
107
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="mgrTelNo" value="">
96 108
 												</div>
97 109
 											</div>
98 110
 										</div>
@@ -102,7 +114,7 @@
102 114
 											<label class="col-xs-2 itp_lb">대표자명*</label>
103 115
 											<div class="col-xs-4 itp_ip">
104 116
 												<div class="col-xs-6 itp_in">
105
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" class="form-control itp_input" name="ownerNm" value="">
117
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
106 118
 												</div>
107 119
 											</div>
108 120
 											<label class="col-xs-2 itp_lb">FAX</label>
@@ -118,13 +130,13 @@
118 130
 											<label class="col-xs-2 itp_lb">이메일</label>
119 131
 											<div class="col-xs-4 itp_ip">
120 132
 												<div class="col-xs-8 itp_in">
121
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="emalAddr" value="">
133
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
122 134
 												</div>
123 135
 											</div>
124 136
 											<label class="col-xs-2 itp_lb">핸드폰</label>
125 137
 											<div class="col-xs-4 itp_ip">
126 138
 												<div class="col-xs-6 itp_in">
127
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mblNo" value="">
139
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mgrMblNo" value="">
128 140
 												</div>
129 141
 											</div>
130 142
 										</div>
@@ -134,14 +146,14 @@
134 146
 											<label class="col-xs-2 itp_lb">지역 *</label>
135 147
 											<div class="col-xs-4 itp_ip">
136 148
 												<div class="col-xs-6 itp_in">
137
-              										<select id="ITP_FORM_VENDINFO01010_DETAIL_AREA_CD" class="form-control itp_input" name="areaCd">
149
+              										<select id="ITP_FORM_VENDINFO01010_DETAIL_AREA_CD" data-check-required="empty" data-select-code="AREA_CD" class="form-control itp_input" name="areaCd">
138 150
 													</select>												
139 151
 												</div>
140 152
 											</div>
141 153
 											<label class="col-xs-2 itp_lb">은행</label>
142 154
 											<div class="col-xs-4 itp_ip">
143 155
 												<div class="col-xs-8 itp_in">
144
-				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" class="form-control itp_input" name="bnkCd">
156
+				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
145 157
 												</select>
146 158
 												</div>
147 159
 											</div>
@@ -167,39 +179,39 @@
167 179
 										<div class="form-group">
168 180
 											<label class="col-xs-2 itp_lb">통장사본</label>
169 181
 											<div class="col-xs-4 itp_ip">
170
-												<div class="col-xs-6 itp_in">
171
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH" class="form-control itp_input" name="filePath" value="">
172
-												</div>
173
-												<div class="col-xs-6 itp_in" >
174
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FFB" style="margin:0px; float:right;">&nbsp;&nbsp;파일찾기&nbsp;&nbsp;</button>
182
+												<div class="col-xs-12 itp_in colspan">
183
+													<div class="fileupload-wrapper">
184
+														<!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
185
+														<div id="ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD" data-show-yn="Y"></div>
186
+													</div>
175 187
 												</div>
176 188
 											</div>
177 189
 											<label class="col-xs-2 itp_lb">사업자등록파일</label>
178 190
 											<div class="col-xs-4 itp_ip">
179
-												<div class="col-xs-8 itp_in">
180
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH" class="form-control itp_input" name="filePath" value="">
181
-												</div>
182
-												<div class="col-xs-4 itp_in">
183
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FFB" style="margin:0; float:right;">&nbsp;&nbsp;파일찾기&nbsp;&nbsp;</button>
191
+												<div class="col-xs-12 itp_in colspan">
192
+													<div class="fileupload-wrapper">
193
+														<!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
194
+														<div id="ITP_VENDINFO01010_DETAIL_CORP_FILE_UPLOAD" data-show-yn="Y"></div>
195
+													</div>
184 196
 												</div>
185 197
 											</div>
186 198
 										</div>
187 199
 									</div>
188 200
 									<div class="itp_form_in">	
189 201
 										<div class="form-group">
190
-											<label class="col-xs-2 itp_lb">주소</label>
202
+											<label class="col-xs-2 itp_lb">주소 *</label>
191 203
 											<div class="col-xs-10 itp_ip">
192 204
 												<div class="col-xs-1 itp_in">
193
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
205
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
194 206
 												</div>
195 207
 												<div class="col-xs-2 itp_in" style="width:10%;">
196
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
208
+													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
197 209
 												</div>
198 210
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
199
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" class="form-control itp_input" name="loadAddr" value="" placeholder="기본주소">													
211
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
200 212
 												</div>
201 213
 												<div class="col-xs-4 itp_in">
202
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" class="form-control itp_input" name="dtlAddr" value="" placeholder="상세주소">													
214
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
203 215
 												</div>
204 216
 											</div>
205 217
 										</div>

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

@@ -30,12 +30,12 @@
30 30
 											</div>
31 31
 										</div>
32 32
 										<div class="col-xs-2 itp_ip itp_noMar">
33
-											<select id="ITP_FORM_VENDINFO03010_SERVICE_ST_CD" class="form-control itp_input" name="sStCd">
33
+											<select id="ITP_FORM_VENDINFO03010_SERVICE_ST_CD" data-select-code="ST_CD" class="form-control itp_input" name="sStCd">
34 34
 												<option value="N">상태(대기/진행/폐기)</option>
35 35
 											</select>										
36 36
 										</div>
37 37
 										<div class="col-xs-4 itp_ip">
38
-											<input type="text" id="ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM" class="form-control itp_input" name="sItemNm" placeholder="품목번호 or 품목명" />
38
+											<input type="text" id="ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM" class="form-control itp_input" name="sitemNm" placeholder="품목번호 or 품목명" />
39 39
 										</div>							
40 40
 									</div>
41 41
 								</form>

+ 3 - 0
bin/src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -175,7 +175,10 @@ let pageObj = {
175 175
 			});
176 176
 
177 177
 			// 조회일자 지정
178
+			var now = new Date();
178 179
 			$('#ITP_TAB_OPER03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
180
+			$('#ITP_FORM_OPER03010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
181
+			$('#ITP_FORM_OPER03010_SEARCH_TO_DT').datepicker('setDate', new Date());
179 182
 
180 183
 			// form alert message 주입
181 184
 			$('input[data-alert-required="ONLYCHK"]').each(function() {

+ 399 - 0
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -0,0 +1,399 @@
1
+require(['config'], function() {
2
+    require([
3
+        'jquery.bootstrap.fileUpload', //파일 업로드가 있는 페이지에서 로딩
4
+        'kakao.map.util'
5
+    ], function($) {
6
+        pageObj.init();
7
+    });
8
+});
9
+
10
+
11
+// 화면변수
12
+const VENDINFO01010_DETAIL_GRID_ID = '#ITP_VENDINFO01010_DETAIL_jqGrid';
13
+const VENDINFO01010_DETAIL_GRID_LIST = '#ITP_VENDINFO01010_DETAIL_jqGrid_list';
14
+const VENDINFO01010_DETAIL_GRID_PAGER = '#ITP_VENDINFO01010_DETAIL_jqGridPager';
15
+const VENDINFO01010_DETAIL_GRID_EMPTY = 'ITP_VENDINFO01010_DETAIL_jqGridEmpty';
16
+
17
+let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18
+let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19
+
20
+//API URL
21
+let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22
+let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
23
+let API_SPPLY_SAVE_SPPLY = '/api/spply/save-spply';
24
+
25
+
26
+//화면 Grid Object
27
+const gridColModel = {
28
+    list: [],
29
+    view: [],
30
+    detail: [
31
+    	{
32
+			index: 'VIEW_CD', name: 'viewCd',
33
+			label: ITP_MSG_LOCALE.label.viewCd,
34
+			width: '10', fixed: false, align: 'center',
35
+			sortable: false, hidden: true
36
+		},
37
+		{
38
+			index: 'SPPLY_ID', name: 'spplyId',
39
+			label: ITP_MSG_LOCALE.label.spplyId,
40
+			width: '10', fixed: false, align: 'center',
41
+			sortable: false, hidden: true
42
+		},
43
+		{
44
+			index: 'SPPLY_MGR_ID', name: 'spplyMgrId',
45
+			label: ITP_MSG_LOCALE.label.spplyMgrId,
46
+			width: '10', fixed: false, align: 'center',
47
+			sortable: false, hidden: true
48
+		},
49
+		{
50
+			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
52
+			width: '20', fixed: false, align: 'center',
53
+			sortable: false, editable: true, edittype: 'text',
54
+			editrules: {required: true}
55
+		},
56
+        {
57
+            index: 'POSITION', name: 'position',
58
+            label: ITP_MSG_LOCALE.label.position,		// 직위
59
+            width: '10', fixed: false, align: 'center',
60
+            sortable: false, hidden: false, editable: true, edittype: 'text'
61
+        },
62
+        {
63
+            index: 'RPRST_EMAL', name: 'rprstEmal',
64
+            label: ITP_MSG_LOCALE.label.rprstEmal,		// 이메일
65
+            width: '10', fixed: false, align: 'center',
66
+            sortable: false, hidden: false, editable: true, edittype: 'text'
67
+        },
68
+        {
69
+            index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70
+            label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71
+            width: '10', fixed: false, align: 'center',
72
+            sortable: false, hidden: false, editable: true, edittype: 'text'
73
+        },
74
+        {
75
+            index: 'RPRST_MBL_NO', name: 'rprstMblNo',
76
+            label: ITP_MSG_LOCALE.label.rprstMblNo,		// 핸드폰번호
77
+            width: '10', fixed: false, align: 'center',
78
+            sortable: false, hidden: false, editable: true, edittype: 'text'
79
+        },
80
+        {
81
+            index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
82
+            label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83
+            width: '10', fixed: false, align: 'center',
84
+            sortable: false, hidden: false, editable: true, edittype: 'text'
85
+        }
86
+    ]
87
+};
88
+
89
+
90
+// 화면공통 오브젝트
91
+let pageObj = {
92
+	init: function () {
93
+        this.ui.init();
94
+		this.event.init();
95
+		this.fileUpload();
96
+    },
97
+    ui: {
98
+        init: function () {
99
+            this.view();
100
+            this.grid();
101
+            this.ready();
102
+        },
103
+        view: function() {
104
+            // 버튼 권한설정
105
+            fn_proc_btn_auth('VENDINFO01010');
106
+
107
+            // 공통코드 표시
108
+            $('select').each(function() {
109
+                if($(this).data('select-code')) {
110
+                    fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
111
+                }
112
+            });
113
+        },
114
+        grid: function() {
115
+            itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116
+            modifyObj.empty.init();
117
+            itp_fn_fire_window_resize();
118
+        },
119
+        ready: function() {
120
+            modifyObj.init();
121
+        }
122
+    },
123
+    event: {
124
+        init: function () {
125
+            this.button();
126
+        },
127
+        button: function () {
128
+            // 버튼 클릭 이벤트
129
+            $('button').each(function() {
130
+                var id = $(this).attr('id');
131
+                $(this).on('click', function() {
132
+                    switch (id) {
133
+                        case 'ITP_BTN_VENDINFO01010_SRH'				: modifyObj.button.search();	break;	// 조회 버튼 클릭
134
+                        case 'ITP_BTN_VENDINFO01010_NEWREG'				: modifyObj.button.create(); 	break;	// 신규등록 버튼
135
+                        case 'ITP_BTN_VENDINFO01010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
136
+                        case 'ITP_BTN_VENDINFO01010_CANCELLIST'			: modifyObj.button.cancel(); 	break;	// 취소/목록 버튼
137
+                        case 'ITP_BTN_VENDINFO01010_DELETE'				: 								break;	// 삭제 버튼
138
+                        case 'ITP_BTN_VENDINFO01010_SAVE'				: modifyObj.button.save(); 		break;	// 저장 버튼
139
+                        case 'ITP_FORM_VENDINFO01010_DETAIL_DUP'		: modifyObj.button.duplicate();	break;	// 중복체크
140
+                        case 'ITP_BTN_VENDINFO01010_RESET_PW'			: modifyObj.button.resetPass();	break;	// 상세:비밀번호 초기화
141
+                        case 'ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH'	: modifyObj.button.address();	break;	// 신규등록 주소 찾기
142
+                        case 'ITP_BTN_VENDINFO01010_ADDROW'				: modifyObj.button.addRow();	break;	// 상세:추가버튼
143
+                        case 'ITP_BTN_VENDINFO01010_DELROW'				: modifyObj.button.delRow();	break;	// 상세:삭제버튼
144
+                    }
145
+                });
146
+            });
147
+        }
148
+    },
149
+    fileUpload: function() {
150
+        //파일업로드(수정화면)
151
+        var id = 'VENDINFO01010';
152
+        var acctScrId = 'VENDINFO01010_ACCT';
153
+        $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
154
+        const fileArgs = {
155
+            'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156
+            'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157
+            'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158
+            'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
159
+        };
160
+        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'notice', true, false, id, fileArgs);
161
+        
162
+        var corpScrId = 'VENDINFO01010_CORP';
163
+		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
164
+		const corpFileArgs = {
165
+			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166
+			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167
+			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168
+			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
169
+		};
170
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'notice', true, false, corpScrId, corpFileArgs);
171
+    },
172
+    switchScreen: function(mode) {
173
+		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
174
+			$(this).hide();
175
+		});
176
+		$('#ITP_TAB_VENDINFO01010').find('div[id$="_CONTAINER"]').each(function(i) {
177
+			$(this).hide();
178
+		});
179
+		if(mode === 'LIST') { // 목록
180
+			$('#ITP_AJAX_VENDINFO01010_LIST_CONTAINER').show();
181
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_SRH', '#ITP_BTN_VENDINFO01010_NEWREG']);
182
+		} else if(mode == 'ADD') { // 등록
183
+			$('#ITP_AJAX_VENDINFO01010_DETAIL_CONTAINER').show();
184
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_CANCELLIST', '#ITP_BTN_VENDINFO01010_SAVE']);
185
+
186
+			$('#ITP_FORM_VENDINFO01010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
187
+				$(this).attr('id') === 'ITP_FORM_VENDINFO01010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
188
+				if(elem.type === 'select') {
189
+					$(this).val('').prop('selected', true);
190
+				}
191
+			});
192
+
193
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_ID').removeAttr('readonly');
194
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DUP').removeAttr('disabled');
195
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_BRAND_ID option').remove();
196
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP').show();
197
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DELETE_AFFL_SHOP').show();
198
+		} else if(mode === 'MODIFY') { // 수정
199
+			$('#ITP_AJAX_VENDINFO01010_DETAIL_CONTAINER').show();
200
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_CANCELLIST', '#ITP_BTN_VENDINFO01010_SAVE', '#ITP_BTN_VENDINFO01010_RESET_PW']);
201
+
202
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_ID').attr('readonly', true);
203
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DUP').attr('disabled', true);
204
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
205
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_NM').attr('readonly', true);
206
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP').hide();
207
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DELETE_AFFL_SHOP').hide();
208
+			$('#ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH').show();
209
+			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
210
+			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
211
+		} else if(mode === 'VIEW') { // 보기
212
+			$('#ITP_AJAX_VENDINFO01010_VIEW_CONTAINER').show();
213
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_MODIFY', '#ITP_BTN_VENDINFO01010_CANCELLIST']);
214
+		}
215
+	},
216
+	grid: {
217
+		init: function(mode, gridData) {
218
+			this.mode = mode;
219
+			this.gridId = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_ID : VENDINFO01010_DETAIL_GRID_ID;
220
+			this.gridList = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_LIST : VENDINFO01010_DETAIL_GRID_LIST;
221
+			this.gridEmpty = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_EMPTY : VENDINFO01010_DETAIL_GRID_EMPTY;
222
+			this.unload();
223
+			this.load(mode, gridData);
224
+		},
225
+		mode: 'DETAIL',
226
+		ridId: '',
227
+		gridList: '',
228
+		gridEmpty: '',
229
+		load: function(mode, gridData) {
230
+			let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
231
+			var _this = this;
232
+			var option = {
233
+				gridId: _this.gridId,
234
+				colModel: gridColModel.detail,
235
+				data: gridData,
236
+				multiselect: (this.mode !== 'VIEW'),
237
+				loadComplete: function(data) {
238
+					console.log(data);
239
+					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240
+					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
241
+					
242
+				},
243
+			};
244
+			itp_fn_grid_make_local(option);
245
+		},
246
+		unload : function() {
247
+			$.jgrid.gridUnload(this.gridId);
248
+		}
249
+	}
250
+}
251
+
252
+/*수정화면 Object*/
253
+let modifyObj = {
254
+	init: function () {
255
+		let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
256
+		this.load(param);
257
+	},
258
+	button: {
259
+		address: function() {
260
+			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
261
+		},
262
+		addRow: function() {
263
+			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
264
+		},
265
+		delRow: function() {
266
+			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267
+		},
268
+		save: function() {
269
+			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
270
+			itp_fn_form_clear_validate(null, formId);
271
+			/*
272
+			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
273
+			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
274
+			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
275
+			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
276
+			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
277
+			var vali_userPw = true;
278
+			var vali_userPwConfirm = true;
279
+			*/
280
+			//if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
281
+			if(modifyObj.isValid(formId)){
282
+				let gridInsertData = [];
283
+				let gridUpdateData = [];
284
+				let gridDeleteData = [];
285
+				for(var i=0; i<$(VENDINFO01010_DETAIL_GRID_ID).getGridParam('reccount'); i++) {
286
+					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287
+				}
288
+				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
+				const keyValue = $(formId + '_USER_ID').val();
290
+				$.each(rowData, function(key, value) {
291
+					if (value.viewCd != 'R') {
292
+							value.userId = keyValue;
293
+						if (value.viewCd == 'C') {
294
+							gridInsertData.push(value);
295
+						} else if (value.viewCd == 'U') {
296
+							gridUpdateData.push(value);
297
+						} else if (value.viewCd == 'D') {
298
+							gridDeleteData.push(value);
299
+						}
300
+					}
301
+				});
302
+				let param = $(formId).serializeObject();
303
+				param.gridInsertData = gridInsertData;
304
+				param.gridUpdateData = gridUpdateData;
305
+				param.gridDeleteData = gridDeleteData;
306
+				param.brandId = LOGIN_USER_INFO.brandId;
307
+				console.log(JSON.stringify(param));
308
+				var searhFn = function() {
309
+					ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
310
+					modifyObj.init();
311
+				};
312
+				fn_ajax_call(API_SPPLY_SAVE_SPPLY, JSON.stringify(param), searhFn, 'POST');
313
+			}
314
+		}
315
+	},
316
+	empty: {
317
+		init: function() {
318
+			var _this = this;
319
+			this.push();
320
+			$(VENDINFO01010_DETAIL_GRID_EMPTY).on('click', function() {
321
+				_this.back();
322
+				_this.itp_VENDINFO01010_param.gridSize = $.jgrid.defaults.rowNum;
323
+				$(VENDINFO01010_DETAIL_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_VENDINFO01010_param)}).trigger('reloadGrid');
324
+			});
325
+		},
326
+		itp_VENDINFO01010_param: {},
327
+		push: function() {
328
+			let param = $('#ITP_FORM_VENDINFO01010_DETAIL').serializeObject();
329
+			modifyObj.itp_VENDINFO01010_param = param;
330
+		}/*,
331
+		back: function() {
332
+			$('#ITP_FORM_VENDINFO01010_DEVI_TP_CD').val(this.itp_VENDINFO01010_param.deviTpCd);
333
+			$('#ITP_FORM_VENDINFO01010_ORDER_YN').val(this.itp_VENDINFO01010_param.orderYn);
334
+			$('#ITP_FORM_VENDINFO01010_ADT_AUTH_CD').val(this.itp_VENDINFO01010_param.adtAuthCd);
335
+			$('#ITP_FORM_VENDINFO01010_EMAIL_RCV_YN').val(this.itp_VENDINFO01010_param.emailRcvYn);
336
+			$('#ITP_FORM_VENDINFO01010_MEMB_EXIT_DT').val(this.itp_VENDINFO01010_param.membExitDt);
337
+			$('#ITP_FORM_VENDINFO01010_FROM_DT').val(this.itp_VENDINFO01010_param.fromDt);
338
+			$('#ITP_FORM_VENDINFO01010_TO_DT').val(this.itp_VENDINFO01010_param.toDt);
339
+			$('#ITP_FORM_VENDINFO01010_KEYWORD').val(this.itp_VENDINFO01010_param.keyword);
340
+		}*/
341
+	},
342
+	load: function(param) {
343
+		fn_ajax_call(API_SPPLY_INFO_SPPLY, param, this.callback, 'GET');
344
+	},
345
+	callback: function (result) {
346
+		pageObj.switchScreen('MODIFY');
347
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_VIEW_CD').val('U');
348
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_POP_NO').val(result.popNo);
349
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_MENU_NO').val(result.menuNo);
350
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_NO').val(result.popFileNo);
351
+		/*var brandId = result.brandId;
352
+		var brandNm = result.brandNm;
353
+		if(brandId !== '' && brandNm !== '') {
354
+			var brandList = [{'brandId':brandId, 'brandNm':brandNm}];
355
+			fn_make_select_brand(brandList, 'ITP_FORM_VENDINFO01010_DETAIL_SEARCH_BRAND_ID');
356
+		}*/
357
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE').val(result.corpType);		// 기업형태
358
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM').val(result.spplyNm);		// 공급업체명
359
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_CNDT').val(result.bsnsCndt);		// 업태
360
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CTGR_BSNS').val(result.ctgrBsns);		// 업종
361
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_TEL_NO').val(result.mgrTelNo);			// 전화번호
362
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM').val(result.ownerNm);		// 대표자명
363
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FAX_NO').val(result.faxNo);			// FAX
364
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR').val(result.mgrEmal);		// 이메일
365
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_MBL_NO').val(result.mgrMblNo);			// 핸드폰
366
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_AREA_CD').val(result.areaCd);			// 지역
367
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
370
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH').val(result.filePath);		// 통장사본
371
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO').val(result.zipNo);			// 우편번호
372
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR').val(result.addr1);			// 기본주소
373
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR').val(result.addr2);			// 상세주소
374
+		
375
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
377
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnSpplyId').text(result.spplyId);									// 공급업체번호
378
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
381
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegDt').text(result.sysRegDttm);									// 등록일
382
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
384
+
385
+		// 권한정보 리스트 조회
386
+		pageObj.grid.init('DETAIL', result.spplyMgrList);
387
+	},
388
+	isValid: function(formId) {
389
+		var isValid = false;
390
+		$(formId).find('input, select, checkbox, textarea').each(function(k) {
391
+			if($(this).data('check-required')) {
392
+				var arry = $(this).data('check-required').split(',');
393
+				isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
394
+				if(!isValid) return false;
395
+			}
396
+		});
397
+		return isValid;
398
+	}
399
+};

+ 311 - 0
bin/src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js

@@ -0,0 +1,311 @@
1
+require(['config'], function() {
2
+    require([
3
+    ], function($) {
4
+        pageObj.init();
5
+    });
6
+});
7
+
8
+
9
+// 화면변수
10
+const VENDINFO03010_GRID_ID = '#ITP_VENDINFO03010_jqGrid';
11
+const VENDINFO03010_GRID_LIST = '#ITP_VENDINFO03010_jqGrid_list';
12
+const VENDINFO03010_GRID_PAGER = '#ITP_VENDINFO03010_jqGridPager';
13
+const VENDINFO03010_GRID_EMPTY = '#ITP_VENDINFO03010_jqGridEmpty';
14
+
15
+
16
+// API URL
17
+let API_ITEMUNIT_SPPLY_GRID_LIST = '/api/itemunit/spply-grid-list';
18
+
19
+
20
+// 화면 grid ColModel
21
+const gridColModel = {
22
+	list:[
23
+		{
24
+			index: 'ITEM_ID', name: 'itemId',
25
+			label: ITP_MSG_LOCALE.label.itemId, 	//품목번호
26
+			width: '10', fixed: false, align: 'center',
27
+			sortable: false, hidden: false
28
+		},
29
+		{
30
+			index: 'ITEM_NM', name: 'itemNm',
31
+			label: ITP_MSG_LOCALE.label.itemNm, 	//품목명
32
+			width: '8', fixed: false, align: 'center',
33
+			sortable: false, hidden: false
34
+		},
35
+		{
36
+			index: 'UNIT', name: 'unit',
37
+			label: ITP_MSG_LOCALE.label.unit, 		//기본단위
38
+			width: '7', fixed: false, align: 'center',
39
+			sortable: false, hidden: false
40
+		},
41
+		{
42
+			index: 'STDD_QTY', name: 'stddQty',
43
+			label: ITP_MSG_LOCALE.label.stddQty, 	//기준수량
44
+			width: '7', fixed: false, align: 'center',
45
+			sortable: false, hidden: false
46
+		},
47
+		{
48
+			index: 'CURR', name: 'curr',
49
+			label: ITP_MSG_LOCALE.label.curr, 		//통화
50
+			width: '7', fixed: false, align: 'center',
51
+			sortable: false, hidden: false
52
+		},
53
+		{
54
+			index: 'UNIT_AMT', name: 'unitAmt',
55
+			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56
+			width: '7', fixed: false, align: 'center',
57
+			sortable: false, hidden: false
58
+		},
59
+		{
60
+			index: 'CONT_STT_DT', name: 'contSttDt',
61
+			label: ITP_MSG_LOCALE.label.contSttDt, 	//시작일
62
+			width: '8', fixed: false, align: 'center',
63
+			sortable: false, hidden: false
64
+		},
65
+		{
66
+			index: 'CONT_END_DT', name: 'contEndDt',
67
+			label: ITP_MSG_LOCALE.label.contEndDt, 	//종료일
68
+			width: '8', fixed: false, align: 'center',
69
+			sortable: false, hidden: false
70
+		},
71
+		{
72
+			index: 'LEAD_TIME', name: 'leadTime',
73
+			label: ITP_MSG_LOCALE.label.leadTime, 	//리드타임 (Day)
74
+			width: '7', fixed: false, align: 'center',
75
+			sortable: false, hidden: false
76
+		},
77
+		{
78
+			index: 'REG_DT', name: 'regDt',
79
+			label: ITP_MSG_LOCALE.label.regDt, 		//등록일
80
+			width: '8', fixed: false, align: 'center',
81
+			sortable: false, hidden: false
82
+		},
83
+		{
84
+			index: 'STATUS', name: 'status',
85
+			label: ITP_MSG_LOCALE.label.status, 	//상태
86
+			width: '7', fixed: false, align: 'center',
87
+			sortable: false, hidden: false
88
+		},
89
+		{
90
+			index: 'SPPLY_ITME_ID', name: 'spplyItemId',
91
+			label: ITP_MSG_LOCALE.label.spplyItemId, //공급사품번
92
+			width: '8', fixed: false, align: 'center',
93
+			sortable: false, hidden: false
94
+		}
95
+	],
96
+	datail:[]
97
+}
98
+
99
+
100
+/*화면공통 Object*/
101
+let pageObj = {
102
+	init: function () {
103
+		this.ui.init();
104
+		this.event.init();
105
+	},
106
+	ui: {
107
+		init: function () {
108
+			this.view();
109
+			this.grid();
110
+			this.ready();
111
+		},
112
+		view: function() {
113
+			// 버튼 권한설정
114
+			fn_proc_btn_auth('VENDINFO03010');
115
+				// 공통코드 표시
116
+			$('select').each(function() {
117
+				if($(this).data('select-code')) {
118
+					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
119
+				}
120
+			});
121
+				// 조회일자 지정
122
+			$('#ITP_TAB_VENDINFO03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
123
+		},
124
+		grid: function() {
125
+			itp_fn_jqgrid_resize(VENDINFO03010_GRID_ID, VENDINFO03010_GRID_LIST, 'lg');
126
+			listObj.empty.init();
127
+			itp_fn_fire_window_resize();
128
+		},
129
+		ready: function() {
130
+			listObj.init();
131
+		}
132
+	},
133
+	event: {
134
+		init: function () {
135
+			this.button();
136
+		},
137
+		button: function () {
138
+			// 버튼 클릭 이벤트
139
+			$('button').each(function() {
140
+				var id = $(this).attr('id');
141
+				$(this).on('click', function() {
142
+					switch (id) {
143
+						case 'ITP_BTN_VENDINFO03010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
144
+						case 'ITP_BTN_VENDINFO03010_NEWREG'				: listObj.button.create(); 		break;	// 신규등록 버튼
145
+						case 'ITP_BTN_VENDINFO03010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
146
+						case 'ITP_BTN_VENDINFO03010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
147
+						case 'ITP_BTN_VENDINFO03010_DELETE'				: 								break;	// 삭제 버튼
148
+						case 'ITP_BTN_VENDINFO03010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
149
+						case 'ITP_FORM_VENDINFO03010_DETAIL_DUP'		: createObj.button.duplicate();	break;	// 중복체크
150
+						case 'ITP_BTN_VENDINFO03010_RESET_PW'			: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
151
+						case 'ITP_BTN_VENDINFO03010_DETAIL_ADDROW'		: pageObj.grid.button.addRow();	break;	// 상세:추가버튼
152
+						case 'ITP_BTN_VENDINFO03010_DETAIL_DELROW'		: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
153
+					}
154
+				});
155
+			});
156
+		}
157
+	},
158
+	switchScreen: function(mode) {
159
+		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO03010_"]').each(function(i) {
160
+			$(this).hide();
161
+		});
162
+		$('#ITP_TAB_VENDINFO03010').find('div[id$="_CONTAINER"]').each(function(i) {
163
+			$(this).hide();
164
+		});
165
+		if(mode === 'LIST') { // 목록
166
+			$('#ITP_AJAX_VENDINFO03010_LIST_CONTAINER').show();
167
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_SRH', '#ITP_BTN_VENDINFO03010_NEWREG']);
168
+		}/* else if(mode == 'ADD') { // 등록
169
+			$('#ITP_AJAX_VENDINFO03010_DETAIL_CONTAINER').show();
170
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_CANCELLIST', '#ITP_BTN_VENDINFO03010_SAVE']);
171
+
172
+			$('#ITP_FORM_VENDINFO03010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
173
+				$(this).attr('id') === 'ITP_FORM_VENDINFO03010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
174
+				if(elem.type === 'select') {
175
+					$(this).val('').prop('selected', true);
176
+				}
177
+			});
178
+
179
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_ID').removeAttr('readonly');
180
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DUP').removeAttr('disabled');
181
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_BRAND_ID option').remove();
182
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP').show();
183
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DELETE_AFFL_SHOP').show();
184
+		} else if(mode === 'MODIFY') { // 수정
185
+			$('#ITP_AJAX_VENDINFO03010_DETAIL_CONTAINER').show();
186
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_CANCELLIST', '#ITP_BTN_VENDINFO03010_SAVE', '#ITP_BTN_VENDINFO03010_RESET_PW']);
187
+
188
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_ID').attr('readonly', true);
189
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DUP').attr('disabled', true);
190
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
191
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_NM').attr('readonly', true);
192
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP').hide();
193
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DELETE_AFFL_SHOP').hide();
194
+		} else if(mode === 'VIEW') { // 보기
195
+			$('#ITP_AJAX_VENDINFO03010_VIEW_CONTAINER').show();
196
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_MODIFY', '#ITP_BTN_VENDINFO03010_CANCELLIST']);
197
+		}*/
198
+	}
199
+}
200
+
201
+
202
+/*목록화면 Object*/
203
+let listObj = {
204
+    init: function () {
205
+        this.grid.init();
206
+    },
207
+    itp_VENDINFO03010_param: {},
208
+    itp_VENDINFO03010_search: false,
209
+    button: {
210
+        search: function() {
211
+            listObj.itp_VENDINFO03010_search = true;
212
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
213
+            param.gridSize = $.jgrid.defaults.rowNum;
214
+            param.gridPage = $.jgrid.defaults.page;
215
+            param.sbrandId = LOGIN_USER_INFO.brandId;
216
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
217
+            $(VENDINFO03010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
218
+        }/*,
219
+        create: function() {
220
+            pageObj.switchScreen('ADD');
221
+            itp_fn_form_clear_validate(null, '#ITP_FORM_OPER06010_DETAIL');
222
+            // 권한정보 리스트 조회
223
+            createObj.init();
224
+        }*/
225
+    },
226
+    empty: {
227
+        init: function() {
228
+            var _this = this;
229
+            this.push();
230
+            $(VENDINFO03010_GRID_EMPTY).on('click', function() {
231
+                _this.back();
232
+                listObj.itp_VENDINFO03010_param.gridSize = $.jgrid.defaults.rowNum;
233
+                $(VENDINFO03010_GRID_ID).setGridParam({'postData': JSON.stringify(listObj.itp_VENDINFO03010_param)}).trigger('reloadGrid');
234
+            });
235
+        },
236
+        push: function() {
237
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
238
+            param.sbrandId = LOGIN_USER_INFO.brandId;
239
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
240
+            listObj.itp_VENDINFO03010_param = param;
241
+
242
+        },
243
+        back: function() {
244
+            $('#ITP_FORM_VENDINFO03010_SEARCH_CONT_STT_DT').val(listObj.itp_VENDINFO03010_param.contSttDt);
245
+            $('#ITP_FORM_VENDINFO03010_SEARCH_CONT_END_DT').val(listObj.itp_VENDINFO03010_param.contEndDt);
246
+            $('#ITP_FORM_VENDINFO03010_SERVICE_ST_CD').val(listObj.itp_VENDINFO03010_param.stCd);
247
+            $('#ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM').val(listObj.itp_VENDINFO03010_param.itemNm);
248
+        }
249
+    },
250
+    grid: {
251
+        init: function () {
252
+            // 데이터 없을때
253
+            listObj.empty.push();
254
+            this.search();
255
+
256
+        },
257
+        colModel: gridColModel.list,
258
+        search: function() {
259
+            pageObj.switchScreen('LIST');
260
+            this.unload();
261
+            this.load();
262
+
263
+        },
264
+        load: function() {
265
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
266
+            param.gridSize = $.jgrid.defaults.rowNum;            
267
+            param.sbrandId = LOGIN_USER_INFO.brandId;
268
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
269
+            console.log(param);
270
+            var option = {
271
+                gridId: VENDINFO03010_GRID_ID,
272
+                colModel: gridColModel.list,
273
+                param: param,
274
+                url: DOMAIN + API_ITEMUNIT_SPPLY_GRID_LIST,
275
+                pager: VENDINFO03010_GRID_PAGER,
276
+                rownumbers: false,
277
+                /*onCellSelect: function(rowId, cellIdx, cellValue) {
278
+                    var cm = $(this).jqGrid('getGridParam', 'colModel');
279
+                    var colNm = cm[cellIdx].name;
280
+                    if (colNm === 'brandId') {
281
+                        const brandIdVal = $(this).jqGrid('getCell', rowId, 'brandId');
282
+                        const key = {brandId: brandIdVal, viewCd: 'R'};
283
+                        var param = $.param(key);
284
+                        viewObj.init(param);
285
+                    }
286
+                },*/
287
+                loadComplete: function(data) {
288
+                    console.log(data);
289
+                    itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
290
+                    var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
291
+                    $.each(ids, function(idx, rowId) {
292
+                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
293
+                    });
294
+                },
295
+                onPaging: function(action) {
296
+                    itp_fn_grid_paging(VENDINFO03010_GRID_ID, action, param);
297
+                }
298
+            };
299
+            itp_fn_grid_make_remote(option);
300
+        },
301
+        clearData : function() {
302
+            $(VENDINFO03010_GRID_ID).jqGrid('clearGridData', true);
303
+            $(VENDINFO03010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
304
+            $(VENDINFO03010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
305
+            $(VENDINFO03010_GRID_EMPTY).show();
306
+        },
307
+        unload : function() {
308
+            $.jgrid.gridUnload(VENDINFO03010_GRID_ID);
309
+        }
310
+    }
311
+};

+ 7 - 7
src/main/webapp/app/oper/OPER02010.html

@@ -145,13 +145,13 @@
145 145
 												</div>
146 146
 											</div>
147 147
 										</div>
148
-										<div class="form-group colspan">
148
+										<div class="form-group colspan border">
149 149
 											<label class="col-xs-2 itp_lb">공지대상 *</label>
150 150
 											<div class="col-xs-4 itp_ip">
151 151
 												<div class="col-xs-2 itp_in">
152 152
 													<select id="ITP_FORM_OPER02010_DETAIL_TARGET_CD" data-select-code="TARGET_CD" data-check-required="empty" class="form-control itp_input" name="targetCd"></select>
153 153
 												</div>
154
-												<div class="col-xs-7 itp_in" id="ITP_FORM_OPER02010_TARGET">
154
+												<!--<div class="col-xs-7 itp_in" id="ITP_FORM_OPER02010_TARGET">
155 155
 													<label style="margin-left:5px;">포함 대상</label>
156 156
 													<input id="ITP_FORM_OPER02010_DETAIL_BRAND" type="checkbox" class="itp_check"> 브랜드 대상
157 157
 													<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_BRAND_CHK" name="brandChk" value="">
@@ -159,7 +159,7 @@
159 159
 													<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_STORE_CHK" name="storeChk" value="">
160 160
 													<input id="ITP_FORM_OPER02010_DETAIL_SPPLY" type="checkbox" class="itp_check"> 공급사 대상
161 161
 													<input type="hidden" id="ITP_FORM_OPER02010_DETAIL_SPPLY_CHK" name="spplyChk" value="">
162
-												</div>
162
+												</div>-->
163 163
 											</div>
164 164
 										</div>
165 165
 									</div>
@@ -167,7 +167,7 @@
167 167
 							</form>
168 168
 						</div>
169 169
 					</div>
170
-					<div class="itp_table fix">
170
+					<!--<div class="itp_table fix">
171 171
 						<div class="itp_table_head fix" style="background:#f5f5f5;">
172 172
 							<h4 class="itp_table_tit">권한 정보 (* 공지대상이 특정 대상일 경우 추가 버튼 을 통해 사용자 등록 함)</h4>
173 173
 							<div class="pull-right itp_cicon">
@@ -181,7 +181,7 @@
181 181
 							<div id="ITP_OPER02010_DETAIL_jqGridPager"></div>
182 182
 							<div id="ITP_OPER02010_DETAIL_jqGridEmpty" class="itp_no_data"></div>
183 183
 						</div>
184
-					</div>
184
+					</div>-->
185 185
 				</div>
186 186
 				<div id="ITP_AJAX_OPER02010_VIEW_CONTAINER">
187 187
 					<div class="itp_form itp_type1 fix">
@@ -233,7 +233,7 @@
233 233
 						</div>
234 234
 					</div>
235 235
 
236
-					<div class="itp_table fix">
236
+					<!--<div class="itp_table fix">
237 237
 						<div class="itp_table_head fix">
238 238
 							<h4 class="itp_table_tit">* 공지대상이 특정 대상일 경구 추가 버큰을 통해 사용자  등록 함</h4>
239 239
 						</div>
@@ -244,7 +244,7 @@
244 244
 							<div id="ITP_OPER02010_VIEW_jqGridPager"></div>
245 245
 							<div id="ITP_OPER02010_VIEW_jqGridEmpty" class="itp_no_data"></div>
246 246
 						</div>
247
-					</div>
247
+					</div>-->
248 248
 				</div>
249 249
 			</div>
250 250
 		</article>

+ 12 - 17
src/main/webapp/app/oper/OPER03010.html

@@ -58,7 +58,7 @@
58 58
 								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_VIEW_CD" name="viewCd" value="C">
59 59
 								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_AFFL_SHOP_ID" class="form-control itp_input" name="afflShopId">
60 60
 								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_CMPY_LOCATION" name="cmpyLocation" value="">
61
-								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_FILE_NO" name="fileNo" value="">
61
+								<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_FILE_NO" name="cmpnyLogoFileNo" value="">
62 62
 					
63 63
 								<section class="itp_form_sec">
64 64
 									<h4 class="itp_form_tit">가맹점정보</h4>
@@ -95,7 +95,7 @@
95 95
 											</div>
96 96
 										</div>
97 97
 									</div>
98
-									<div class="itp_form_info">	
98
+									<!--<div class="itp_form_info">
99 99
 										<div class="itp_form_in">	
100 100
 											<div class="form-group">
101 101
 												<label class="col-xs-2 itp_lb">비번 초기화</label>
@@ -112,7 +112,7 @@
112 112
 												</div>
113 113
 											</div>
114 114
 										</div>
115
-									</div>	
115
+									</div>-->
116 116
 									<div class="itp_form_in">	
117 117
 										<div class="form-group">
118 118
 											<label class="col-xs-2 itp_lb">사업자번호 *</label>
@@ -124,7 +124,7 @@
124 124
 											<label class="col-xs-2 itp_lb">법인번호</label>
125 125
 											<div class="col-xs-4 itp_ip">
126 126
 												<div class="col-xs-6 itp_in">
127
-													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CORP_REG_NO" data-key-up="regNo" class="form-control itp_input" name="corpRegNo" value="">
127
+													<input type="text" id="ITP_FORM_OPER03010_DETAIL_CORP_REG_NO" data-key-up="corpNo" class="form-control itp_input" name="corpRegNo" value="" maxlength="13">
128 128
 												</div>
129 129
 												<div class="col-xs-3 itp_in">
130 130
 
@@ -140,9 +140,7 @@
140 140
 												<!-- <button type="button" id="ITP_BTN_STINFO01010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button> -->
141 141
 											</div>
142 142
 											<label class="col-xs-2 itp_lb"></label>
143
-											<div class="col-xs-4 itp_in">
144
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER03010_DETAIL_ "style="border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="" >
145
-											</div>
143
+											<div id="ITP_OPER03010_DETAIL_LOGO_FILE" class="col-xs-4 itp_in"></div>
146 144
 										</div>
147 145
 										<div class="form-group">
148 146
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
@@ -152,9 +150,10 @@
152 150
 												</div>
153 151
 											</div>
154 152
 											<label class="col-xs-2 itp_lb" style="border-top:none;">가맹점 로고</label>
155
-											<div class="col-xs-4 itp_ip"style="border-top:none;">
156
-												<div class="col-xs-5 itp_in">
157
-												</div>
153
+											<div class="col-xs-4 itp_in" style="border-top:none;">
154
+												<!--<div class="col-xs-5 itp_in">
155
+													<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER03010_DETAIL_ "style="border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="" >
156
+												</div>-->
158 157
 											</div>
159 158
 										</div>
160 159
 										<div class="form-group">
@@ -242,7 +241,7 @@
242 241
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_LOTS_ADDRESS" value="" />
243 242
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_STREET_ADDRESS" value="" />
244 243
 												<input type="hidden" name="latX" id="ITP_FORM_OPER03010_DETAIL_LAT" value="" />
245
-												<input type="hidden" name="latY" id="ITP_FORM_OPER03010_DETAIL_LNG" value="" />
244
+												<input type="hidden" name="longY" id="ITP_FORM_OPER03010_DETAIL_LNG" value="" />
246 245
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_HJ_DONG" value="" />
247 246
 												<input type="hidden" id="ITP_FORM_OPER03010_DETAIL_BJ_DONG" value="" />
248 247
 												<div id="ITP_FORM_OPER03010_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>
@@ -315,9 +314,7 @@
315 314
 												<div class="col-xs-7 itp_in fnCorpTypeNm"></div>
316 315
 											</div>
317 316
 											<label class="col-xs-2 itp_lb"></label>
318
-											<div class="col-xs-4 itp_in">
319
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_STINFO01010_DETAIL_LOGO "style="border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;" class="form-control itp_input" name="" >
320
-											</div>
317
+											<div id="ITP_OPER03010_VIEW_LOGO_FILE" class="col-xs-4 itp_in"></div>
321 318
 										</div>
322 319
 										<div class="form-group">
323 320
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
@@ -325,9 +322,7 @@
325 322
 												<div class="col-xs-7 itp_in fnTelNo"></div>
326 323
 											</div>
327 324
 											<label class="col-xs-2 itp_lb" style="border-top:none;">가맹점 로고</label>
328
-											<div class="col-xs-4 itp_ip"style="border-top:none;">
329
-												<div class="col-xs-5 itp_in">
330
-												</div>
325
+											<div class="col-xs-4 itp_in" style="border-top:none;">
331 326
 											</div>
332 327
 										</div>
333 328
 										<div class="form-group">

+ 7 - 9
src/main/webapp/app/oper/OPER03011.html

@@ -55,7 +55,7 @@
55 55
 								<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_VIEW_CD" name="viewCd" value="C">
56 56
 								<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_AFFL_SHOP_ID" class="form-control itp_input" name="afflShopId">
57 57
 								<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_CMPY_LOCATION" name="cmpyLocation" value="">
58
-								<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_FILE_NO" name="fileNo" value="">
58
+								<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_FILE_NO" name="cmpnyLogoFileNo" value="">
59 59
 
60 60
 								<section class="itp_form_sec">
61 61
 									<h4 class="itp_form_tit">가맹점정보</h4>
@@ -92,7 +92,7 @@
92 92
 											</div>
93 93
 										</div>
94 94
 									</div>
95
-									<div class="itp_form_in">
95
+									<!--<div class="itp_form_in">
96 96
 										<div class="form-group">
97 97
 											<label class="col-xs-2 itp_lb">비번 초기화</label>
98 98
 											<div class="col-xs-10 itp_ip">
@@ -107,7 +107,7 @@
107 107
 												</div>
108 108
 											</div>
109 109
 										</div>
110
-									</div>
110
+									</div>-->
111 111
 									<div class="itp_form_in">
112 112
 										<div class="form-group">
113 113
 											<label class="col-xs-2 itp_lb">사업자번호 *</label>
@@ -135,8 +135,7 @@
135 135
 												<!-- <button type="button" id="ITP_BTN_STINFO01010_RESET_PW" class="btn btn-danger btn-xs PWC" style="margin: 3px 0px 0px 3px;">비밀번호 초기화</button> -->
136 136
 											</div>
137 137
 											<label class="col-xs-2 itp_lb"></label>
138
-											<div class="col-xs-4 itp_in">
139
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_OPER03011_DETAIL_ "style="border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;" class="form-control itp_input" name="" >
138
+											<div id="ITP_FORM_OPER03011_DETAIL_LOGO_FILE" class="col-xs-4 itp_in">
140 139
 											</div>
141 140
 										</div>
142 141
 										<div class="form-group">
@@ -147,7 +146,7 @@
147 146
 												</div>
148 147
 											</div>
149 148
 											<label class="col-xs-2 itp_lb" style="border-top:none;">가맹점 로고</label>
150
-											<div class="col-xs-4 itp_ip"style="border-top:none;">
149
+											<div class="col-xs-4 itp_ip" style="border-top:none;">
151 150
 												<div class="col-xs-5 itp_in">
152 151
 												</div>
153 152
 											</div>
@@ -237,7 +236,7 @@
237 236
 												<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_LOTS_ADDRESS" value="" />
238 237
 												<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_STREET_ADDRESS" value="" />
239 238
 												<input type="hidden" name="latX" id="ITP_FORM_OPER03011_DETAIL_LAT" value="" />
240
-												<input type="hidden" name="latY" id="ITP_FORM_OPER03011_DETAIL_LNG" value="" />
239
+												<input type="hidden" name="longY" id="ITP_FORM_OPER03011_DETAIL_LNG" value="" />
241 240
 												<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_HJ_DONG" value="" />
242 241
 												<input type="hidden" id="ITP_FORM_OPER03011_DETAIL_BJ_DONG" value="" />
243 242
 												<div id="ITP_FORM_OPER03011_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>
@@ -310,8 +309,7 @@
310 309
 												<div class="col-xs-7 itp_in fnCorpTypeNm"></div>
311 310
 											</div>
312 311
 											<label class="col-xs-2 itp_lb"></label>
313
-											<div class="col-xs-4 itp_in">
314
-												<img src="/oqpo-view/images/naver.png" alt="로고 샘플" id="ITP_FORM_STINFO01010_DETAIL_LOGO "style="border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;" class="form-control itp_input" name="" >
312
+											<div id="ITP_OPER03011_VIEW_LOGO_FILE" class="col-xs-4 itp_in">
315 313
 											</div>
316 314
 										</div>
317 315
 										<div class="form-group">

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

@@ -218,7 +218,7 @@
218 218
 												<input type="hidden" id="ITP_FORM_OPER06010_DETAIL_LOTS_ADDRESS" value="" />
219 219
 												<input type="hidden" id="ITP_FORM_OPER06010_DETAIL_STREET_ADDRESS" value="" />
220 220
 												<input type="hidden" name="latX" id="ITP_FORM_OPER06010_DETAIL_LAT" value="" />
221
-												<input type="hidden" name="latY" id="ITP_FORM_OPER06010_DETAIL_LNG" value="" />
221
+												<input type="hidden" name="longY" id="ITP_FORM_OPER06010_DETAIL_LNG" value="" />
222 222
 												<input type="hidden" id="ITP_FORM_OPER06010_DETAIL_HJ_DONG" value="" />
223 223
 												<input type="hidden" id="ITP_FORM_OPER06010_DETAIL_BJ_DONG" value="" />
224 224
 												<div id="ITP_FORM_OPER06010_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>

+ 2 - 2
src/main/webapp/app/stinfo/STINFO01010.html

@@ -186,8 +186,8 @@
186 186
 													<!-- 주소 맵 -->
187 187
 													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_LOTS_ADDRESS" value="" />
188 188
 													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_STREET_ADDRESS" value="" />
189
-													<input type="hidden" name="cmpyLat" id="ITP_FORM_STINFO01010_DETAIL_LAT" value="" />
190
-													<input type="hidden" name="cmpyLng" id="ITP_FORM_STINFO01010_DETAIL_LNG" value="" />
189
+													<input type="hidden" name="latX" id="ITP_FORM_STINFO01010_DETAIL_LAT" value="" />
190
+													<input type="hidden" name="longY" id="ITP_FORM_STINFO01010_DETAIL_LNG" value="" />
191 191
 													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_HJ_DONG" value="" />
192 192
 													<input type="hidden" id="ITP_FORM_STINFO01010_DETAIL_BJ_DONG" value="" />
193 193
 													<div id="ITP_FORM_STINFO01010_DETAIL_MAP" style="width:700px; height:400px;"></div>

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

@@ -218,7 +218,7 @@
218 218
 				                                <input type="hidden" id="ITP_FORM_STINFO01011_DETAIL_LOTS_ADDRESS" value="" />
219 219
 				                                <input type="hidden" id="ITP_FORM_STINFO01011_DETAIL_STREET_ADDRESS" value="" />
220 220
 				                                <input type="hidden" name="latX" id="ITP_FORM_STINFO01011_DETAIL_LAT" value="" />
221
-				                                <input type="hidden" name="latY" id="ITP_FORM_STINFO01011_DETAIL_LNG" value="" />
221
+				                                <input type="hidden" name="longY" id="ITP_FORM_STINFO01011_DETAIL_LNG" value="" />
222 222
 				                                <input type="hidden" id="ITP_FORM_STINFO01011_DETAIL_HJ_DONG" value="" />
223 223
 				                                <input type="hidden" id="ITP_FORM_STINFO01011_DETAIL_BJ_DONG" value="" />
224 224
 				                                <div id="ITP_FORM_STINFO01011_DETAIL_MAP" style="margin-top:30px; width:700px; height:400px;"></div>

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

@@ -28,9 +28,9 @@
28 28
 										<div class="col-xs-10 itp_ip itp_noMar">
29 29
 											<div class="col-xs-4 itp_ip">
30 30
 												<div class="input-daterange input-group date">
31
-													<input type="text" id="ITP_FORM_STINFO02010_SEARCH_REG_DT" class="form-control itp_input" name="fromDt" readonly>
31
+													<input type="text" id="ITP_FORM_STINFO02010_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" readonly>
32 32
 													<span class="input-group-addon itp_date_to">~</span>
33
-													<input type="text" id="ITP_FORM_STINFO02010_SEARCH_OPEN_DT" class="form-control itp_input" name="toDt" readonly>
33
+													<input type="text" id="ITP_FORM_STINFO02010_SEARCH_TO_DT" class="form-control itp_input" name="toDt" readonly>
34 34
 												</div>
35 35
 											</div>
36 36
 										</div>

+ 2 - 2
src/main/webapp/app/stinfo/STINFO02011.html

@@ -28,9 +28,9 @@
28 28
 										<div class="col-xs-10 itp_ip itp_noMar">
29 29
 											<div class="col-xs-4 itp_ip">
30 30
 												<div class="input-daterange input-group date">
31
-													<input type="text" id="ITP_FORM_STINFO02011_SEARCH_REG_DT" class="form-control itp_input" name="fromDt" readonly>
31
+													<input type="text" id="ITP_FORM_STINFO02011_SEARCH_FROM_DT" class="form-control itp_input" name="fromDt" readonly>
32 32
 													<span class="input-group-addon itp_date_to">~</span>
33
-													<input type="text" id="ITP_FORM_STINFO02011_SEARCH_OPEN_DT" class="form-control itp_input" name="toDt" readonly>
33
+													<input type="text" id="ITP_FORM_STINFO02011_SEARCH_TO_DT" class="form-control itp_input" name="toDt" readonly>
34 34
 												</div>
35 35
 											</div>
36 36
 										</div>

+ 2 - 2
src/main/webapp/app/stinfo/STINFO03010.html

@@ -112,7 +112,7 @@
112 112
 											<div class="col-xs-4 itp_ip">
113 113
 												<div class="itp_form_change">
114 114
 													<div class="col-xs-7 itp_in">
115
-									                	<input type="text" id="ITP_FORM_STINFO03010_DETAIL_BSNS_REG_NO" class="form-control itp_input" name="bsnsCndt" value="">
115
+									                	<input type="text" id="ITP_FORM_STINFO03010_DETAIL_BSNS_REG_NO" class="form-control itp_input" name="bsnsRegNo" value="">
116 116
 													</div>
117 117
 												</div>
118 118
 												<div class="itp_form_info">
@@ -133,7 +133,7 @@
133 133
 											<div class="col-xs-4 itp_ip">
134 134
 												<div class="itp_form_change">
135 135
 													<div class="col-xs-7 itp_in">
136
-									                	<input type="text" id="ITP_FORM_STINFO03010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="bsnsCndt" value="">
136
+									                	<input type="text" id="ITP_FORM_STINFO03010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="">
137 137
 													</div>
138 138
 												</div>
139 139
 												<div class="itp_form_info">

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

@@ -21,6 +21,8 @@
21 21
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_POP_NO" name="popNo" value="">
22 22
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_MENU_NO" name="menuNo" value="">
23 23
 								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_NO" name="popFileNo" value="">
24
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_ACCT_FILE_NO" name="bsnsRegFileNo" value="">
25
+								<input type="hidden" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_FILE_NO" name="bbookCopyFileNo" value="">
24 26
 					
25 27
 								<section class="itp_form_sec">
26 28
 									<h4 class="itp_form_tit">공급업체정보-신규</h4>
@@ -34,6 +36,8 @@
34 36
 											<label class="col-xs-2 itp_lb">상태 *</label>
35 37
 											<div class="4 itp_ip">
36 38
 												<div class="col-xs-8 itp_in fnStCd">
39
+													<select id="ITP_FORM_VENDINFO01010_DETAIL_ST_CD" data-check-required="empty" data-select-code="ST_CD" class="form-control itp_input" name="stCd">
40
+													</select>
37 41
 												</div>
38 42
 											</div>
39 43
 										</div>
@@ -47,7 +51,7 @@
47 51
 											<label class="col-xs-2 itp_lb">기업형태 *</label>
48 52
 											<div class="col-xs-4 itp_ip">
49 53
 												<div class="col-xs-8 itp_in">
50
-								                <select id="ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE" class="form-control itp_input" name="corpType">
54
+								                <select id="ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE" data-check-required="empty" data-select-code="CORP_TYPE" class="form-control itp_input" name="corpType">
51 55
 												</select>
52 56
 												</div>
53 57
 											</div>
@@ -58,7 +62,7 @@
58 62
 											<label class="col-xs-2 itp_lb">공급업체명 *</label>
59 63
 											<div class="col-xs-4 itp_ip">
60 64
 												<div class="col-xs-9 itp_in">
61
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM" class="form-control itp_input" name="spplyNm" value="">
65
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM" data-check-required="empty" class="form-control itp_input" name="spplyNm" value="">
62 66
 												</div>
63 67
 											</div>
64 68
 											<label class="col-xs-2 itp_lb">업태</label>
@@ -73,7 +77,11 @@
73 77
 										<div class="form-group">
74 78
 											<label class="col-xs-2 itp_lb">사업자번호 *</label>
75 79
 											<div class="col-xs-4 itp_ip">
76
-												<div class="col-xs-6 itp_in fnBsnsRegNo"></div>
80
+												<div class="itp_form_change">
81
+													<div class="col-xs-7 itp_in">
82
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO" data-check-required="empty" class="form-control itp_input" name="bsnsRegNo" value="">
83
+													</div>
84
+												</div>
77 85
 											</div>
78 86
 											<label class="col-xs-2 itp_lb">업종</label>
79 87
 											<div class="col-xs-4 itp_ip">
@@ -87,12 +95,16 @@
87 95
 										<div class="form-group">
88 96
 											<label class="col-xs-2 itp_lb">법인번호</label>
89 97
 											<div class="col-xs-4 itp_ip">
90
-												<div class="col-xs-6 itp_in fnCorpRegNo"></div>
98
+												<div class="itp_form_change">
99
+													<div class="col-xs-7 itp_in">
100
+									                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO" class="form-control itp_input" name="corpRegNo" value="">
101
+													</div>
102
+												</div>
91 103
 											</div>
92 104
 											<label class="col-xs-2 itp_lb">전화번호 *</label>
93 105
 											<div class="col-xs-4 itp_ip">
94 106
 												<div class="col-xs-8 itp_in">
95
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" class="form-control itp_input" name="telNo" value="">
107
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_TEL_NO" data-check-required="empty" class="form-control itp_input" name="mgrTelNo" value="">
96 108
 												</div>
97 109
 											</div>
98 110
 										</div>
@@ -102,7 +114,7 @@
102 114
 											<label class="col-xs-2 itp_lb">대표자명*</label>
103 115
 											<div class="col-xs-4 itp_ip">
104 116
 												<div class="col-xs-6 itp_in">
105
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" class="form-control itp_input" name="ownerNm" value="">
117
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM" data-check-required="empty" class="form-control itp_input" name="ownerNm" value="">
106 118
 												</div>
107 119
 											</div>
108 120
 											<label class="col-xs-2 itp_lb">FAX</label>
@@ -118,13 +130,13 @@
118 130
 											<label class="col-xs-2 itp_lb">이메일</label>
119 131
 											<div class="col-xs-4 itp_ip">
120 132
 												<div class="col-xs-8 itp_in">
121
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="emalAddr" value="">
133
+								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR" class="form-control itp_input" name="mgrEmal" value="">
122 134
 												</div>
123 135
 											</div>
124 136
 											<label class="col-xs-2 itp_lb">핸드폰</label>
125 137
 											<div class="col-xs-4 itp_ip">
126 138
 												<div class="col-xs-6 itp_in">
127
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mblNo" value="">
139
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_MBL_NO" class="form-control itp_input" name="mgrMblNo" value="">
128 140
 												</div>
129 141
 											</div>
130 142
 										</div>
@@ -134,14 +146,14 @@
134 146
 											<label class="col-xs-2 itp_lb">지역 *</label>
135 147
 											<div class="col-xs-4 itp_ip">
136 148
 												<div class="col-xs-6 itp_in">
137
-              										<select id="ITP_FORM_VENDINFO01010_DETAIL_AREA_CD" class="form-control itp_input" name="areaCd">
149
+              										<select id="ITP_FORM_VENDINFO01010_DETAIL_AREA_CD" data-check-required="empty" data-select-code="AREA_CD" class="form-control itp_input" name="areaCd">
138 150
 													</select>												
139 151
 												</div>
140 152
 											</div>
141 153
 											<label class="col-xs-2 itp_lb">은행</label>
142 154
 											<div class="col-xs-4 itp_ip">
143 155
 												<div class="col-xs-8 itp_in">
144
-				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" class="form-control itp_input" name="bnkCd">
156
+				                             	<select id="ITP_FORM_VENDINFO01010_DETAIL_BNK_CD" data-select-code="BNK_CD" class="form-control itp_input" name="bnkCd">
145 157
 												</select>
146 158
 												</div>
147 159
 											</div>
@@ -167,39 +179,39 @@
167 179
 										<div class="form-group">
168 180
 											<label class="col-xs-2 itp_lb">통장사본</label>
169 181
 											<div class="col-xs-4 itp_ip">
170
-												<div class="col-xs-6 itp_in">
171
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH" class="form-control itp_input" name="filePath" value="">
172
-												</div>
173
-												<div class="col-xs-6 itp_in" >
174
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FFB" style="margin:0px; float:right;">&nbsp;&nbsp;파일찾기&nbsp;&nbsp;</button>
182
+												<div class="col-xs-12 itp_in colspan">
183
+													<div class="fileupload-wrapper">
184
+														<!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
185
+														<div id="ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD" data-show-yn="Y"></div>
186
+													</div>
175 187
 												</div>
176 188
 											</div>
177 189
 											<label class="col-xs-2 itp_lb">사업자등록파일</label>
178 190
 											<div class="col-xs-4 itp_ip">
179
-												<div class="col-xs-8 itp_in">
180
-								                	<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH" class="form-control itp_input" name="filePath" value="">
181
-												</div>
182
-												<div class="col-xs-4 itp_in">
183
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FFB" style="margin:0; float:right;">&nbsp;&nbsp;파일찾기&nbsp;&nbsp;</button>
191
+												<div class="col-xs-12 itp_in colspan">
192
+													<div class="fileupload-wrapper">
193
+														<!-- data-show-yn: 파일업로드를 할 수 있는 권한이 있는지 없는지.. -->
194
+														<div id="ITP_VENDINFO01010_DETAIL_CORP_FILE_UPLOAD" data-show-yn="Y"></div>
195
+													</div>
184 196
 												</div>
185 197
 											</div>
186 198
 										</div>
187 199
 									</div>
188 200
 									<div class="itp_form_in">	
189 201
 										<div class="form-group">
190
-											<label class="col-xs-2 itp_lb">주소</label>
202
+											<label class="col-xs-2 itp_lb">주소 *</label>
191 203
 											<div class="col-xs-10 itp_ip">
192 204
 												<div class="col-xs-1 itp_in">
193
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
205
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO" data-check-required="empty" class="form-control itp_input" name="zipNo" value="" maxlength="6" placeholder="우편번호">													
194 206
 												</div>
195 207
 												<div class="col-xs-2 itp_in" style="width:10%;">
196
-													<button type="button" id="ITP_FORM_VENDINFO01010_DETAIL_FILE_SEARCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
208
+													<button type="button" id="ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH" class="btn btn-primary btn-sm FILE_SEARCH" style="margin:0 3px;">&nbsp;&nbsp;주소찾기&nbsp;&nbsp;</button>
197 209
 												</div>
198 210
 												<div class="col-xs-4 itp_in" style="margin:0 5px;">
199
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" class="form-control itp_input" name="loadAddr" value="" placeholder="기본주소">													
211
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR" data-check-required="empty" class="form-control itp_input" name="addr1" value="" placeholder="기본주소">													
200 212
 												</div>
201 213
 												<div class="col-xs-4 itp_in">
202
-													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" class="form-control itp_input" name="dtlAddr" value="" placeholder="상세주소">													
214
+													<input type="text" id="ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR" data-check-required="empty" class="form-control itp_input" name="addr2" value="" placeholder="상세주소">													
203 215
 												</div>
204 216
 											</div>
205 217
 										</div>

+ 2 - 2
src/main/webapp/app/vendinfo/VENDINFO03010.html

@@ -30,12 +30,12 @@
30 30
 											</div>
31 31
 										</div>
32 32
 										<div class="col-xs-2 itp_ip itp_noMar">
33
-											<select id="ITP_FORM_VENDINFO03010_SERVICE_ST_CD" class="form-control itp_input" name="sStCd">
33
+											<select id="ITP_FORM_VENDINFO03010_SERVICE_ST_CD" data-select-code="ST_CD" class="form-control itp_input" name="sStCd">
34 34
 												<option value="N">상태(대기/진행/폐기)</option>
35 35
 											</select>										
36 36
 										</div>
37 37
 										<div class="col-xs-4 itp_ip">
38
-											<input type="text" id="ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM" class="form-control itp_input" name="sItemNm" placeholder="품목번호 or 품목명" />
38
+											<input type="text" id="ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM" class="form-control itp_input" name="sitemNm" placeholder="품목번호 or 품목명" />
39 39
 										</div>							
40 40
 									</div>
41 41
 								</form>

+ 26 - 5
src/main/webapp/js/app/config.js

@@ -1297,7 +1297,7 @@ function itp_fn_open_tab_self(param, fn) {
1297 1297
 };
1298 1298
 
1299 1299
 
1300
-function itp_fn_set_file_upload(wrap, folder, multi, thumb, screen, arg) {
1300
+function itp_fn_set_file_upload(wrap, folder, multi, thumb, screen, arg, fn) {
1301 1301
 	if (thumb) {
1302 1302
 		multi = false;
1303 1303
 		ITP_UPLOAD_DEFAULTS = {
@@ -1351,6 +1351,9 @@ function itp_fn_set_file_upload(wrap, folder, multi, thumb, screen, arg) {
1351 1351
 			        success: function(result) {
1352 1352
 			        	trRow.hide();
1353 1353
 		        		trRow.remove();
1354
+		        		if(fn && $.isFunction(fn)) {
1355
+							fn(param);
1356
+						}
1354 1357
 			        },
1355 1358
 			        error: function(xhr, status, error) {
1356 1359
 						if (xhr.responseJSON !== undefined) { //실패시 서버에서 내려주는 메세지 얼럿
@@ -2968,9 +2971,6 @@ var itp_fn_set_timeout = {
2968 2971
 	}
2969 2972
 };
2970 2973
 
2971
-var itp_fn_is_valid = (formId) => {
2972
-};
2973
-
2974 2974
 // 2022-11-02 수발주 추가
2975 2975
 let itp_fn_form_event = {
2976 2976
 	onKeyup: function(formId) {
@@ -2981,12 +2981,19 @@ let itp_fn_form_event = {
2981 2981
 				value = $(this).val().replace(/[^0-9]/g, "");
2982 2982
 			}
2983 2983
 			if ($.inArray('comma', arry) > -1) {
2984
-				value = $(this).val().replace(/[^0-9]/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
2984
+				value = $(this).val().replace(/[^0-9]/g, "")
2985
+					.replace(/\B(?=(\d{3})+(?!\d))/g, ",");
2985 2986
 			}
2986 2987
 			if ($.inArray('regNo', arry) > -1) {
2987 2988
 				value = $(this).val().replace(/[^0-9]/g, "")
2988 2989
 					.replace(/(^[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{5})$/,"$1-$2-$3")
2989 2990
 			}
2991
+			if ($.inArray('corpNo', arry) > -1) {
2992
+				if($(this).val().length > 13) return;
2993
+				value = $(this).val().replace(/[^0-9]/g, "")
2994
+					.replace(/(^[0-9]{6})([0-9]+)?([0-9]{7})$/,"######-#######")
2995
+					// .replace(/(\d{6})(\d{7})/, '######-#######')
2996
+			}
2990 2997
 			if ($.inArray('tel', arry) > -1) {
2991 2998
 				value = ($(this).val().startsWith('0')) ? $(this).val().replace(/[^0-9]/g, "")
2992 2999
 					.replace(/(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/,"$1-$2-$3")
@@ -3017,4 +3024,18 @@ let itp_fn_form_event = {
3017 3024
 		});
3018 3025
 		return isValid;
3019 3026
 	}
3027
+};
3028
+
3029
+let itp_fn_attach_file = {
3030
+	view: (id, fileList, clazz, style) => {
3031
+		$.each(fileList, function(i, item) {
3032
+			var text = 	'<img ' +
3033
+						'src="' + item.filePath + '" ' +
3034
+						'alt="' + item.fileNm + '" ' +
3035
+						'id="' + (item.fileNo + '_' + i) + '" ' +
3036
+						'class="' + clazz + '" ' +
3037
+						'style="' + style + '" />';
3038
+			$('#' + id).append(text);
3039
+		});
3040
+	}
3020 3041
 };

+ 2 - 2
src/main/webapp/js/app/loanmng/ITP_LOANMNG01010.js

@@ -348,7 +348,7 @@ let listObj = {
348 348
 			var option = {
349 349
 				gridId: LOANMNG01010_GRID_ID,
350 350
 				colModel: gridColModel.list,
351
-				param: JSON.stringify(param),
351
+				param: param,
352 352
 				url: DOMAIN + LOAN_STATE_DETAIL_GRID_LIST,
353 353
 				pager: LOANMNG01010_GRID_PAGER,
354 354
 				onCellSelect: function(rowId, cellIdx, cellValue) {
@@ -448,7 +448,7 @@ let viewObj = {
448 448
 			var option = {
449 449
 				gridId: LOANMNG01010_VIEW_GRID_ID,
450 450
 				colModel: gridColModel.view,
451
-				param: JSON.stringify(param),
451
+				param: param,
452 452
 				url: DOMAIN + LOAN_STATE_HIST_GRID_LIST,
453 453
 				pager: LOANMNG01010_VIEW_GRID_PAGER,
454 454
 				loadComplete: function(data) {

+ 1 - 1
src/main/webapp/js/app/loanmng/ITP_LOANMNG02010.js

@@ -468,7 +468,7 @@ let listObj = {
468 468
 			var option = {
469 469
 				gridId: LOANMNG02010_GRID_ID,
470 470
 				colModel: gridColModel.list,
471
-				param: JSON.stringify(param),
471
+				param: param,
472 472
 				url: DOMAIN + DSPT_MNG_DETAIL_GRID_LIST,
473 473
 				pager: LOANMNG02010_GRID_PAGER,
474 474
 				multiselect: true, 

+ 2 - 2
src/main/webapp/js/app/loanmng/ITP_LOANMNG03010.js

@@ -412,7 +412,7 @@ let listObj = {
412 412
 			var option = {
413 413
 				gridId: LOANMNG03010_GRID_ID,
414 414
 				colModel: gridColModel.list,
415
-				param: JSON.stringify(param),
415
+				param: param,
416 416
 				url: DOMAIN + UNPAID_MNG_DETAIL_GRID_LIST,
417 417
 				pager: LOANMNG03010_GRID_PAGER,
418 418
 				onCellSelect: function(rowId, cellIdx, cellValue) {
@@ -505,7 +505,7 @@ let viewObj = {
505 505
 			var option = {
506 506
 				gridId: LOANMNG03010_VIEW_GRID_ID,
507 507
 				colModel: gridColModel.view,
508
-				param: JSON.stringify(param),
508
+				param: param,
509 509
 				url: DOMAIN + UNPAID_MNG_STL_GRID_LIST,
510 510
 				pager: LOANMNG03010_VIEW_GRID_PAGER,
511 511
 				loadComplete: function(data) {

+ 3 - 0
src/main/webapp/js/app/oper/ITP_OPER01010.js

@@ -172,7 +172,10 @@ let pageObj = {
172 172
 			});
173 173
 
174 174
 			// 조회일자 지정
175
+			var now = new Date();
175 176
 			$('#ITP_TAB_OPER01010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
177
+			$('#ITP_FORM_OPER01010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
178
+			$('#ITP_FORM_OPER01010_SEARCH_TO_DT').datepicker('setDate', new Date());
176 179
 		},
177 180
 		afflInfo: {
178 181
 			init: function() {

+ 22 - 22
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -11,15 +11,15 @@ const OPER02010_GRID_LIST = '#ITP_OPER02010_jqGrid_list';
11 11
 const OPER02010_GRID_PAGER = '#ITP_OPER02010_jqGridPager';
12 12
 const OPER02010_GRID_EMPTY = '#ITP_OPER02010_jqGridEmpty';
13 13
 
14
-const OPER02010_VIEW_GRID_ID = '#ITP_OPER02010_VIEW_jqGrid';
15
-const OPER02010_VIEW_GRID_LIST = '#ITP_OPER02010_VIEW_jqGrid_list';
16
-const OPER02010_VIEW_GRID_PAGER = '#ITP_OPER02010_VIEW_jqGridPager';
17
-const OPER02010_VIEW_GRID_EMPTY = '#ITP_OPER02010_VIEW_jqGridEmpty';
18
-
19
-const OPER02010_DETAIL_GRID_ID = '#ITP_OPER02010_DETAIL_jqGrid';
20
-const OPER02010_DETAIL_GRID_LIST = '#ITP_OPER02010_DETAIL_jqGrid_list';
21
-const OPER02010_DETAIL_GRID_PAGER = '#ITP_OPER02010_DETAIL_jqGridPager';
22
-const OPER02010_DETAIL_GRID_EMPTY = '#ITP_OPER02010_DETAIL_jqGridEmpty';
14
+// const OPER02010_VIEW_GRID_ID = '#ITP_OPER02010_VIEW_jqGrid';
15
+// const OPER02010_VIEW_GRID_LIST = '#ITP_OPER02010_VIEW_jqGrid_list';
16
+// const OPER02010_VIEW_GRID_PAGER = '#ITP_OPER02010_VIEW_jqGridPager';
17
+// const OPER02010_VIEW_GRID_EMPTY = '#ITP_OPER02010_VIEW_jqGridEmpty';
18
+//
19
+// const OPER02010_DETAIL_GRID_ID = '#ITP_OPER02010_DETAIL_jqGrid';
20
+// const OPER02010_DETAIL_GRID_LIST = '#ITP_OPER02010_DETAIL_jqGrid_list';
21
+// const OPER02010_DETAIL_GRID_PAGER = '#ITP_OPER02010_DETAIL_jqGridPager';
22
+// const OPER02010_DETAIL_GRID_EMPTY = '#ITP_OPER02010_DETAIL_jqGridEmpty';
23 23
 
24 24
 let ITP_FORM_OPER02010_DETAIL_IS_WRITING = false;
25 25
 
@@ -81,7 +81,7 @@ const gridColModel = {
81 81
 			width: '10', fixed: false, align: 'center',
82 82
 			sortable: false, hidden: false
83 83
 		}
84
-	],
84
+	]/*,
85 85
 	detail: [
86 86
 		{
87 87
 			index: 'VIEW_CD', name: 'viewCd',
@@ -127,7 +127,7 @@ const gridColModel = {
127 127
 			width: '30', fixed: false, align: 'center',
128 128
 			sortable: false, editable: false, edittype: 'text'
129 129
 		}
130
-	]
130
+	]*/
131 131
 };
132 132
 
133 133
 /********************************************************
@@ -239,8 +239,8 @@ let pageObj = {
239 239
 						case 'ITP_BTN_OPER02010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
240 240
 						case 'ITP_BTN_OPER00210_DELETE'				: 								break;	// 삭제 버튼
241 241
 						case 'ITP_BTN_OPER02010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
242
-						case 'ITP_BTN_OPER02010_DETAIL_ADDROW'		: pageObj.grid.button.addRow();	break;	// 상세:추가버튼
243
-						case 'ITP_BTN_OPER02010_DETAIL_DELROW'		: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
242
+						// case 'ITP_BTN_OPER02010_DETAIL_ADDROW'		: pageObj.grid.button.addRow();	break;	// 상세:추가버튼
243
+						// case 'ITP_BTN_OPER02010_DETAIL_DELROW'		: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
244 244
 					}
245 245
 				});
246 246
 			});
@@ -299,7 +299,7 @@ let pageObj = {
299 299
 			$('#ITP_AJAX_OPER02010_VIEW_CONTAINER').show();
300 300
 			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_MODIFY', '#ITP_BTN_OPER02010_CANCELLIST']);
301 301
 		}
302
-	},
302
+	}/*,
303 303
 	grid: {
304 304
 		init: function(mode) {
305 305
 			this.mode = mode;
@@ -372,7 +372,7 @@ let pageObj = {
372 372
 		unload : function() {
373 373
 			$.jgrid.gridUnload(this.gridId);
374 374
 		}
375
-	}
375
+	}*/
376 376
 };
377 377
 
378 378
 /*목록화면 Object*/
@@ -515,7 +515,7 @@ let viewObj = {
515 515
 		itp_fn_set_file_upload('ITP_OPER02010_VIEW_UPLOAD', 'notice', true, false, 'OPER02010', fileArgs);
516 516
 
517 517
 		// 권한정보 리스트 조회
518
-		pageObj.grid.init('VIEW');
518
+		// pageObj.grid.init('VIEW');
519 519
 	}
520 520
 };
521 521
 
@@ -582,17 +582,17 @@ let modifyObj = {
582 582
 		itp_fn_set_file_upload('ITP_OPER02010_DETAIL_UPLOAD', 'notice', true, false, 'OPERATION02010', fileArgs);
583 583
 
584 584
 		// 리스트 조회
585
-		createObj.form.init();
586
-		pageObj.grid.init('DETAIL');
585
+		// createObj.form.init();
586
+		// pageObj.grid.init('DETAIL');
587 587
 	}
588 588
 };
589 589
 
590 590
 /*신규화면 Object*/
591 591
 let createObj = {
592 592
 	init: function () {
593
-		this.form.init();
593
+		// this.form.init();
594 594
 	},
595
-	form: {
595
+	/*form: {
596 596
 		init: function () {
597 597
 			this.selectbox();
598 598
 			this.checkbox();
@@ -625,7 +625,7 @@ let createObj = {
625 625
 				$(this).next().val($(this).is(':checked') ? 'Y' : '');
626 626
 			});
627 627
 		}
628
-	},
628
+	},*/
629 629
 	button: {
630 630
 		save: function() {
631 631
 			const formId = '#ITP_FORM_OPER02010_DETAIL';
@@ -700,7 +700,7 @@ let afflShopObj = {
700 700
 			$('#ITP_FORM_OPER02010_DETAIL_AFFL_SHOP_NM').val('');
701 701
 			$('select#ITP_FORM_OPER02010_DETAIL_BRAND_ID option').remove();
702 702
 			$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD option:eq(0)').prop('selected', true);
703
-			$('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').trigger('change');
703
+			// $('#ITP_FORM_OPER02010_DETAIL_TARGET_CD').trigger('change');
704 704
 		});
705 705
 	},
706 706
 	make: function() {

+ 18 - 8
src/main/webapp/js/app/oper/ITP_OPER03010.js

@@ -152,7 +152,6 @@ let pageObj = {
152 152
 	init: function () {
153 153
 		this.ui.init();
154 154
 		this.event.init();
155
-		this.fileUpload();
156 155
 	},
157 156
 	itp_OPER03010_param: {},
158 157
 	itp_OPER03010_search: false,
@@ -175,7 +174,10 @@ let pageObj = {
175 174
 			});
176 175
 
177 176
 			// 조회일자 지정
177
+			var now = new Date();
178 178
 			$('#ITP_TAB_OPER03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
179
+			$('#ITP_FORM_OPER03010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
180
+			$('#ITP_FORM_OPER03010_SEARCH_TO_DT').datepicker('setDate', new Date());
179 181
 
180 182
 			// form alert message 주입
181 183
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
@@ -231,13 +233,17 @@ let pageObj = {
231 233
 		//파일업로드(수정화면)
232 234
 		var id = 'OPER03010';
233 235
 		$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
236
+		$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
237
+		var removeFn = (param) => {
238
+			$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
239
+		};
234 240
 		const fileArgs = {
235 241
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
236 242
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
237 243
 			'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
238 244
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
239 245
 		};
240
-		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
246
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'affl', true, false, id, fileArgs, removeFn);
241 247
 	},
242 248
 	switchScreen: function(mode) {
243 249
 		$('.itp_det_head').find('button[id^="ITP_BTN_OPER03010_"]').each(function(i) {
@@ -324,12 +330,7 @@ let pageObj = {
324 330
 				multiselect: (this.mode !== 'VIEW'),
325 331
 				loadComplete: function(data) {
326 332
 					$(_this.mode === 'VIEW' ? OPER03010_VIEW_GRID_LIST : OPER03010_DETAIL_GRID_LIST).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
327
-					if(data.records === 0) {
328
-						_this.clearData();
329
-						var gridEmpty = (this.mode === 'VIEW') ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY;
330
-						$(gridEmpty).html(ITP_MSG_LOCALE.message.grid.noData);
331
-						$(gridEmpty).show();
332
-					}
333
+					data.records === 0 ? _this.clearData() : $(this.mode === 'VIEW' ? OPER03010_VIEW_GRID_EMPTY : OPER03010_DETAIL_GRID_EMPTY).hide();
333 334
 				}
334 335
 			};
335 336
 			itp_fn_grid_make_local(option);
@@ -487,6 +488,9 @@ let viewObj = {
487 488
 		$('#ITP_FORM_OPER03010_VIEW .fnLoadAddr').text(result.addr1);
488 489
 		$('#ITP_FORM_OPER03010_VIEW .fnDtlAddr').text(result.addr2);
489 490
 
491
+		itp_fn_attach_file.view('ITP_OPER03010_VIEW_LOGO_FILE', result.fileLogNoList
492
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
493
+
490 494
 		let locate = result.addr1 + ' ' + result.addr2;
491 495
 		kakaoMap.init('ITP_FORM_OPER03010_VIEW', locate);
492 496
 
@@ -539,6 +543,11 @@ let modifyObj = {
539 543
 		$('#ITP_FORM_OPER03010_DETAIL .fnAddDt').text(result.regDt);
540 544
 		$('#ITP_FORM_OPER03010_DETAIL .fnChgDt').text(result.chgDt);
541 545
 
546
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_FILE_NO').val(result.cmpnyLogoFileNo);
547
+		pageObj.fileUpload();
548
+		itp_fn_attach_file.view('ITP_OPER03010_DETAIL_LOGO_FILE', result.fileLogNoList
549
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;');
550
+
542 551
 		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', $('#ITP_FORM_OPER03010_DETAIL_ADRES').val());
543 552
 
544 553
 		// 권한정보 리스트 조회
@@ -549,6 +558,7 @@ let modifyObj = {
549 558
 /*신규화면 Object*/
550 559
 let createObj = {
551 560
 	init: function () {
561
+		pageObj.fileUpload();
552 562
 		kakaoMap.init('ITP_FORM_OPER03010_DETAIL', '');
553 563
 		pageObj.grid.init('DETAIL', []);
554 564
 	},

+ 16 - 2
src/main/webapp/js/app/oper/ITP_OPER03011.js

@@ -107,7 +107,6 @@ let pageObj = {
107 107
 	init: function () {
108 108
 		this.ui.init();
109 109
 		this.event.init();
110
-		this.fileUpload();
111 110
 	},
112 111
 	itp_OPER03011_param: {},
113 112
 	itp_OPER03011_search: false,
@@ -129,7 +128,10 @@ let pageObj = {
129 128
 			});
130 129
 
131 130
 			// 조회일자 지정
131
+			var now = new Date();
132 132
 			$('#ITP_TAB_OPER03011 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
133
+			$('#ITP_FORM_OPER03011_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
134
+			$('#ITP_FORM_OPER03011_SEARCH_TO_DT').datepicker('setDate', new Date());
133 135
 
134 136
 			// form alert message 주입
135 137
 			$('input[data-alert-required="ONLYCHK"]').each(function() {
@@ -176,13 +178,17 @@ let pageObj = {
176 178
 		//파일업로드(수정화면)
177 179
 		var id = 'OPER03011';
178 180
 		$('#ITP_' + id + '_DETAIL_UPLOAD').empty();
181
+		$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
182
+		var removeFn = (param) => {
183
+			$('#ITP_' + id + '_DETAIL_LOGO_FILE').empty();
184
+		};
179 185
 		const fileArgs = {
180 186
 			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_FILE_NO').val(),
181 187
 			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
182 188
 			'showYn': $('#ITP_' + id + '_DETAIL_UPLOAD').attr('data-show-yn'),
183 189
 			'fileId': '#ITP_FORM_' + id + '_DETAIL_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
184 190
 		};
185
-		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs);
191
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_UPLOAD', 'notice', true, false, id, fileArgs, removeFn);
186 192
 	},
187 193
 	switchScreen: function(mode) {
188 194
 		$('.itp_det_head').find('button[id^="ITP_BTN_OPER03011_"]').each(function(i) {
@@ -304,6 +310,11 @@ let viewObj = {
304 310
 		$('#ITP_FORM_OPER03011_VIEW .fnLoadAddr').text(result.addr1);
305 311
 		$('#ITP_FORM_OPER03011_VIEW .fnDtlAddr').text(result.addr2);
306 312
 
313
+		$('#ITP_FORM_OPER03010_DETAIL #ITP_FORM_OPER03010_DETAIL_FILE_NO').val(result.cmpnyLogoFileNo);
314
+		pageObj.fileUpload();
315
+		itp_fn_attach_file.view('ITP_OPER03011_VIEW_LOGO_FILE', result.fileLogNoList
316
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:100px; width:125px; position:absolute;');
317
+
307 318
 		let locate = result.addr1 + ' ' + result.addr2;
308 319
 		kakaoMap.init('ITP_FORM_OPER03011_VIEW', locate);
309 320
 
@@ -432,6 +443,9 @@ let modifyObj = {
432 443
 		$('#ITP_FORM_OPER03011_DETAIL .fnAddDt').text(result.regDt);
433 444
 		$('#ITP_FORM_OPER03011_DETAIL .fnChgDt').text(result.chgDt);
434 445
 
446
+		itp_fn_attach_file.view('ITP_FORM_OPER03011_DETAIL_LOGO_FILE', result.fileLogNoList
447
+			, 'form-control itp_input', 'border:none; top:12px; left:12px; height:70px; width:85px; position:absolute;');
448
+
435 449
 		kakaoMap.init('ITP_FORM_OPER03011_DETAIL', $('#ITP_FORM_OPER03011_DETAIL_ADRES').val());
436 450
 
437 451
 		// 권한정보 리스트 조회

+ 3 - 0
src/main/webapp/js/app/oper/ITP_OPER04010.js

@@ -95,7 +95,10 @@ let pageObj = {
95 95
             });
96 96
 
97 97
             // 조회일자 지정
98
+            var now = new Date();
98 99
             $('#ITP_TAB_OPER04010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
100
+            $('#ITP_FORM_OPER04010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
101
+            $('#ITP_FORM_OPER04010_SEARCH_TO_DT').datepicker('setDate', new Date());
99 102
         },
100 103
         grid: function() {
101 104
             itp_fn_jqgrid_resize(OPER04010_GRID_ID, OPER04010_GRID_LIST, 'lg');

+ 5 - 2
src/main/webapp/js/app/stinfo/ITP_STINFO02010.js

@@ -160,7 +160,10 @@ let pageObj = {
160 160
 			});
161 161
 
162 162
 			// 조회일자 지정
163
+			var now = new Date();
163 164
 			$('#ITP_TAB_STINFO02010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
165
+			$('#ITP_FORM_STINFO02010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
166
+			$('#ITP_FORM_STINFO02010_SEARCH_TO_DT').datepicker('setDate', new Date());
164 167
 		},
165 168
 		grid: function() {
166 169
 			itp_fn_jqgrid_resize(STINFO02010_GRID_ID, STINFO02010_GRID_LIST, 'lg');
@@ -284,8 +287,8 @@ let listObj = {
284 287
 		},
285 288
 		back: function() {
286 289
 			$('#ITP_FORM_STINFO02010_SERVICE_ST_DT').val(this.itp_STINFO02010_param.searchDateType);
287
-			$('#ITP_FORM_STINFO02010_SEARCH_REG_DT').val(this.itp_STINFO02010_param.fromDt);
288
-			$('#ITP_FORM_STINFO02010_SEARCH_OPEN_DT').val(this.itp_STINFO02010_param.toDt);
290
+			$('#ITP_FORM_STINFO02010_SEARCH_FROM_DT').val(this.itp_STINFO02010_param.fromDt);
291
+			$('#ITP_FORM_STINFO02010_SEARCH_TO_DT').val(this.itp_STINFO02010_param.toDt);
289 292
 			$('#ITP_FORM_STINFO02010_SEARCH_STORE_DVSN').val(this.itp_STINFO02010_param.sstoreDvsn);
290 293
 			$('#ITP_FORM_STINFO02010_SEARCH_STORE_ST_CD').val(this.itp_STINFO02010_param.sstoreStCd);
291 294
 			$('#ITP_FORM_STINFO02010_SEARCH_LOAN_DVSN').val(this.itp_STINFO02010_param.sloanDvsn);

+ 5 - 2
src/main/webapp/js/app/stinfo/ITP_STINFO02011.js

@@ -160,7 +160,10 @@ let pageObj = {
160 160
 			});
161 161
 
162 162
 			// 조회일자 지정
163
+			var now = new Date();
163 164
 			$('#ITP_TAB_STINFO02011 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
165
+			$('#ITP_FORM_STINFO02011_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
166
+			$('#ITP_FORM_STINFO02011_SEARCH_TO_DT').datepicker('setDate', new Date());
164 167
 		},
165 168
 		grid: function() {
166 169
 			// itp_fn_jqgrid_resize(STINFO02011_GRID_ID, STINFO02011_GRID_LIST, 'lg');
@@ -275,8 +278,8 @@ let listObj = {
275 278
 		},
276 279
 		back: function() {
277 280
 			$('#ITP_FORM_STINFO02011_SERVICE_ST_DT').val(this.itp_STINFO02011_param.searchDateType);
278
-			$('#ITP_FORM_STINFO02011_SEARCH_REG_DT').val(this.itp_STINFO02011_param.fromDt);
279
-			$('#ITP_FORM_STINFO02011_SEARCH_OPEN_DT').val(this.itp_STINFO02011_param.toDt);
281
+			$('#ITP_FORM_STINFO02011_SEARCH_FROM_DT').val(this.itp_STINFO02011_param.fromDt);
282
+			$('#ITP_FORM_STINFO02011_SEARCH_TO_DT').val(this.itp_STINFO02011_param.toDt);
280 283
 			$('#ITP_FORM_STINFO02011_SEARCH_STORE_DVSN').val(this.itp_STINFO02011_param.sstoreDvsn);
281 284
 			$('#ITP_FORM_STINFO02011_SEARCH_STORE_ST_CD').val(this.itp_STINFO02011_param.sstoreStCd);
282 285
 			$('#ITP_FORM_STINFO02011_SEARCH_LOAN_DVSN').val(this.itp_STINFO02011_param.sloanDvsn);

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

@@ -494,8 +494,10 @@ let modifyObj = {
494 494
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_SPPLY_NM').val(result.spplyNm);
495 495
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_BSNS_CNDT').val(result.bsnsCndt);
496 496
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);
497
+		$('#ITP_FORM_STINFO03010_DETAIL .fnBsnsRegNo').val(result.bsnsRegNo);
497 498
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_CTGR_BSNS').val(result.ctgrBsns);
498 499
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_CORP_REG_NO').val(result.corpRegNo);
500
+		$('#ITP_FORM_STINFO03010_DETAIL .fnCorpRegNo').val(result.corpRegNo);
499 501
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_TEL_NO').val(result.mgrTelNo);
500 502
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_OWNER_NM').val(result.ownerNm);
501 503
 		$('#ITP_FORM_STINFO03010_DETAIL #ITP_FORM_STINFO03010_DETAIL_FAX_NO').val(result.faxNo);

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

@@ -162,7 +162,10 @@ let pageObj = {
162 162
 			itemClassLevel.list(1);
163 163
 
164 164
 			// 조회일자 지정
165
+			var now = new Date();
165 166
 			$('#ITP_TAB_STINFO05010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
167
+			$('#ITP_FORM_STINFO05010_SEARCH_CONT_STT_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
168
+			$('#ITP_FORM_STINFO05010_SEARCH_CONT_END_DT').datepicker('setDate', new Date());
166 169
 		},
167 170
 		grid: function() {
168 171
 			itp_fn_jqgrid_resize(STINFO05010_GRID_ID, STINFO05010_GRID_LIST, 'sm');

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

@@ -208,7 +208,10 @@ let pageObj = {
208 208
 			});
209 209
 
210 210
 			// 조회일자 지정
211
+			var now = new Date();
211 212
 			$('#ITP_TAB_STINFO06010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
213
+			$('#ITP_FORM_STINFO06010_SEARCH_FROM_DT').datepicker('setDate', new Date(now.setMonth(now.getMonth() - 1)));
214
+			$('#ITP_FORM_STINFO06010_SEARCH_TO_DT').datepicker('setDate', new Date());
212 215
 		},
213 216
 		grid: function() {
214 217
 			itp_fn_jqgrid_resize(STINFO06010_GRID_ID, STINFO06010_GRID_LIST, 'lg');

+ 2 - 2
src/main/webapp/js/app/stockmng/ITP_STOCKMNG01010.js

@@ -343,13 +343,13 @@ let listObj = {
343 343
 		load: function() {
344 344
 			$('#ITP_FORM_STOCKMNG01010_SEARCH_BRAND_ID').val(fn_make_user_info.get('brandId'));
345 345
 			
346
-			let param = $('#ITP_FORM_STOCKMNG01010_SEARCH').serializeObject();
346
+			let param = $('#ITP_FORM_STOCKMNG01010_SEARCH').serializeObject(); 
347 347
 			param.gridSize = $.jgrid.defaults.rowNum;
348 348
 
349 349
 			var option = {
350 350
 				gridId: STOCKMNG01010_GRID_ID,
351 351
 				colModel: gridColModel.list,
352
-				param: JSON.stringify(param),
352
+				param: param,
353 353
 				url: DOMAIN + STOCK_MNG_DETAIL_GRID_LIST,
354 354
 				pager: STOCKMNG01010_GRID_PAGER,
355 355
 				multiselect: true,

+ 3 - 3
src/main/webapp/js/app/stockmng/ITP_STOCKMNG02010.js

@@ -525,7 +525,7 @@ let listObj = {
525 525
 			var option = {
526 526
 				gridId: STOCKMNG02010_GRID_ID,
527 527
 				colModel: gridColModel.list,
528
-				param: JSON.stringify(param),
528
+				param: param,
529 529
 				url: DOMAIN + STOCK_CDD_DETAIL_GRID_LIST,
530 530
 				pager: STOCKMNG02010_GRID_PAGER,
531 531
 				onCellSelect: function(rowId, cellIdx, cellValue) {
@@ -602,7 +602,7 @@ let viewObj = {
602 602
 			var option = {
603 603
 				gridId: STOCKMNG02010_VIEW_GRID_ID,
604 604
 				colModel: gridColModel.view,
605
-				param: JSON.stringify(param),
605
+				param: param,
606 606
 				url: DOMAIN + STOCK_CDD_CDD_DETAIL_GRID_LIST,
607 607
 				pager: STOCKMNG02010_VIEW_GRID_PAGER,
608 608
 				loadComplete: function(data) {
@@ -875,7 +875,7 @@ let stockCddObj = {
875 875
 		var option = {
876 876
 			gridId: STOCKMNG02010_DETAIL_GRID_ID,
877 877
 			colModel: gridColModel.detail,
878
-			param: JSON.stringify(param),
878
+			param: param,
879 879
 			url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
880 880
 			pager: STOCKMNG02010_DETAIL_GRID_PAGER,
881 881
 			// multiselect: true,

+ 1 - 1
src/main/webapp/js/app/stockmng/ITP_STOCKMNG03010.js

@@ -336,7 +336,7 @@ let listObj = {
336 336
 			var option = {
337 337
 				gridId: STOCKMNG03010_GRID_ID,
338 338
 				colModel: gridColModel.list,
339
-				param: JSON.stringify(param),
339
+				param: param,
340 340
 				url: DOMAIN + STOCK_BASE_MNG_DETAIL_GRID_LIST,
341 341
 				pager: STOCKMNG03010_GRID_PAGER,
342 342
 				onCellSelect: function(rowId, cellIdx, cellValue) {

+ 4 - 4
src/main/webapp/js/app/stockmng/ITP_STOCKMNG04010.js

@@ -391,7 +391,7 @@ let listObj = {
391 391
 			var option = {
392 392
 				gridId: STOCKMNG04010_GRID_ID,
393 393
 				colModel: gridColModel.list,
394
-				param: JSON.stringify(param),
394
+				param: param,
395 395
 				url: DOMAIN + WHS_MNG_DETAIL_GRID_LIST,
396 396
 				pager: STOCKMNG04010_GRID_PAGER,
397 397
 				onCellSelect: function(rowId, cellIdx, cellValue) {
@@ -475,7 +475,7 @@ let viewObj = {
475 475
 			var option = {
476 476
 				gridId: STOCKMNG04010_VIEW_GRID_ID,
477 477
 				colModel: gridColModel.view,
478
-				param: JSON.stringify(param),
478
+				param: param,
479 479
 				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
480 480
 				pager: STOCKMNG04010_VIEW_GRID_PAGER,
481 481
 				loadComplete: function(data) {
@@ -579,7 +579,7 @@ let modifyObj = {
579 579
 			var option = {
580 580
 				gridId: STOCKMNG04010_DETAIL_GRID_ID,
581 581
 				colModel: gridColModel.detail,
582
-				param: JSON.stringify(param),
582
+				param: param,
583 583
 				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
584 584
 				pager: STOCKMNG04010_DETAIL_GRID_PAGER,
585 585
 				multiselect: true,
@@ -698,7 +698,7 @@ let createObj = {
698 698
 		var option = {
699 699
 			gridId: STOCKMNG04010_DETAIL_GRID_ID,
700 700
 			colModel: gridColModel.detail,
701
-			param: JSON.stringify(param),
701
+			param: param,
702 702
 			url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
703 703
 			pager: STOCKMNG04010_DETAIL_GRID_PAGER,
704 704
 			multiselect: true,

+ 2 - 2
src/main/webapp/js/app/stockmng/ITP_STOCKMNG04011.js

@@ -263,7 +263,7 @@ let viewObj = {
263 263
 			var option = {
264 264
 				gridId: STOCKMNG04011_VIEW_GRID_ID,
265 265
 				colModel: gridColModel.view,
266
-				param: JSON.stringify(param),
266
+				param: param,
267 267
 				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
268 268
 				pager: STOCKMNG04011_VIEW_GRID_PAGER,
269 269
 				loadComplete: function(data) {
@@ -412,7 +412,7 @@ let modifyObj = {
412 412
 			var option = {
413 413
 				gridId: STOCKMNG04011_DETAIL_GRID_ID,
414 414
 				colModel: gridColModel.detail,
415
-				param: JSON.stringify(param),
415
+				param: param,
416 416
 				url: DOMAIN + WHS_MNG_LOCATION_GRID_LIST,
417 417
 				pager: STOCKMNG04011_DETAIL_GRID_PAGER,
418 418
 				multiselect: true,

+ 399 - 0
src/main/webapp/js/app/vendinfo/ITP_VENDINFO01010.js

@@ -0,0 +1,399 @@
1
+require(['config'], function() {
2
+    require([
3
+        'jquery.bootstrap.fileUpload', //파일 업로드가 있는 페이지에서 로딩
4
+        'kakao.map.util'
5
+    ], function($) {
6
+        pageObj.init();
7
+    });
8
+});
9
+
10
+
11
+// 화면변수
12
+const VENDINFO01010_DETAIL_GRID_ID = '#ITP_VENDINFO01010_DETAIL_jqGrid';
13
+const VENDINFO01010_DETAIL_GRID_LIST = '#ITP_VENDINFO01010_DETAIL_jqGrid_list';
14
+const VENDINFO01010_DETAIL_GRID_PAGER = '#ITP_VENDINFO01010_DETAIL_jqGridPager';
15
+const VENDINFO01010_DETAIL_GRID_EMPTY = 'ITP_VENDINFO01010_DETAIL_jqGridEmpty';
16
+
17
+let ITP_FORM_VENDINFO01010_DETAIL_IS_DUPLICATE = false;
18
+let ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
19
+
20
+//API URL
21
+let API_SPPLY_DETAIL_GRID_LIST = '/api/spply/detail-grid-list';
22
+let API_SPPLY_INFO_SPPLY = '/api/spply/info-spply';
23
+let API_SPPLY_SAVE_SPPLY = '/api/spply/save-spply';
24
+
25
+
26
+//화면 Grid Object
27
+const gridColModel = {
28
+    list: [],
29
+    view: [],
30
+    detail: [
31
+    	{
32
+			index: 'VIEW_CD', name: 'viewCd',
33
+			label: ITP_MSG_LOCALE.label.viewCd,
34
+			width: '10', fixed: false, align: 'center',
35
+			sortable: false, hidden: true
36
+		},
37
+		{
38
+			index: 'SPPLY_ID', name: 'spplyId',
39
+			label: ITP_MSG_LOCALE.label.spplyId,
40
+			width: '10', fixed: false, align: 'center',
41
+			sortable: false, hidden: true
42
+		},
43
+		{
44
+			index: 'SPPLY_MGR_ID', name: 'spplyMgrId',
45
+			label: ITP_MSG_LOCALE.label.spplyMgrId,
46
+			width: '10', fixed: false, align: 'center',
47
+			sortable: false, hidden: true
48
+		},
49
+		{
50
+			index: 'ASSGN_TASK_NM', name: 'spplyMgrNm',
51
+			label: ITP_MSG_LOCALE.label.spplyMgrNm, //담당자명
52
+			width: '20', fixed: false, align: 'center',
53
+			sortable: false, editable: true, edittype: 'text',
54
+			editrules: {required: true}
55
+		},
56
+        {
57
+            index: 'POSITION', name: 'position',
58
+            label: ITP_MSG_LOCALE.label.position,		// 직위
59
+            width: '10', fixed: false, align: 'center',
60
+            sortable: false, hidden: false, editable: true, edittype: 'text'
61
+        },
62
+        {
63
+            index: 'RPRST_EMAL', name: 'rprstEmal',
64
+            label: ITP_MSG_LOCALE.label.rprstEmal,		// 이메일
65
+            width: '10', fixed: false, align: 'center',
66
+            sortable: false, hidden: false, editable: true, edittype: 'text'
67
+        },
68
+        {
69
+            index: 'RPRST_TEL_NO', name: 'rprstTelNo',
70
+            label: ITP_MSG_LOCALE.label.rprstTelNo,		// 전화번호
71
+            width: '10', fixed: false, align: 'center',
72
+            sortable: false, hidden: false, editable: true, edittype: 'text'
73
+        },
74
+        {
75
+            index: 'RPRST_MBL_NO', name: 'rprstMblNo',
76
+            label: ITP_MSG_LOCALE.label.rprstMblNo,		// 핸드폰번호
77
+            width: '10', fixed: false, align: 'center',
78
+            sortable: false, hidden: false, editable: true, edittype: 'text'
79
+        },
80
+        {
81
+            index: 'ASSGN_TASK_NM', name: 'assgnTaskNm',
82
+            label: ITP_MSG_LOCALE.label.assgnTaskNm,	// 담당업무
83
+            width: '10', fixed: false, align: 'center',
84
+            sortable: false, hidden: false, editable: true, edittype: 'text'
85
+        }
86
+    ]
87
+};
88
+
89
+
90
+// 화면공통 오브젝트
91
+let pageObj = {
92
+	init: function () {
93
+        this.ui.init();
94
+		this.event.init();
95
+		this.fileUpload();
96
+    },
97
+    ui: {
98
+        init: function () {
99
+            this.view();
100
+            this.grid();
101
+            this.ready();
102
+        },
103
+        view: function() {
104
+            // 버튼 권한설정
105
+            fn_proc_btn_auth('VENDINFO01010');
106
+
107
+            // 공통코드 표시
108
+            $('select').each(function() {
109
+                if($(this).data('select-code')) {
110
+                    fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
111
+                }
112
+            });
113
+        },
114
+        grid: function() {
115
+            itp_fn_jqgrid_resize(VENDINFO01010_DETAIL_GRID_ID, VENDINFO01010_DETAIL_GRID_LIST, 'lg');
116
+            modifyObj.empty.init();
117
+            itp_fn_fire_window_resize();
118
+        },
119
+        ready: function() {
120
+            modifyObj.init();
121
+        }
122
+    },
123
+    event: {
124
+        init: function () {
125
+            this.button();
126
+        },
127
+        button: function () {
128
+            // 버튼 클릭 이벤트
129
+            $('button').each(function() {
130
+                var id = $(this).attr('id');
131
+                $(this).on('click', function() {
132
+                    switch (id) {
133
+                        case 'ITP_BTN_VENDINFO01010_SRH'				: modifyObj.button.search();	break;	// 조회 버튼 클릭
134
+                        case 'ITP_BTN_VENDINFO01010_NEWREG'				: modifyObj.button.create(); 	break;	// 신규등록 버튼
135
+                        case 'ITP_BTN_VENDINFO01010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
136
+                        case 'ITP_BTN_VENDINFO01010_CANCELLIST'			: modifyObj.button.cancel(); 	break;	// 취소/목록 버튼
137
+                        case 'ITP_BTN_VENDINFO01010_DELETE'				: 								break;	// 삭제 버튼
138
+                        case 'ITP_BTN_VENDINFO01010_SAVE'				: modifyObj.button.save(); 		break;	// 저장 버튼
139
+                        case 'ITP_FORM_VENDINFO01010_DETAIL_DUP'		: modifyObj.button.duplicate();	break;	// 중복체크
140
+                        case 'ITP_BTN_VENDINFO01010_RESET_PW'			: modifyObj.button.resetPass();	break;	// 상세:비밀번호 초기화
141
+                        case 'ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH'	: modifyObj.button.address();	break;	// 신규등록 주소 찾기
142
+                        case 'ITP_BTN_VENDINFO01010_ADDROW'				: modifyObj.button.addRow();	break;	// 상세:추가버튼
143
+                        case 'ITP_BTN_VENDINFO01010_DELROW'				: modifyObj.button.delRow();	break;	// 상세:삭제버튼
144
+                    }
145
+                });
146
+            });
147
+        }
148
+    },
149
+    fileUpload: function() {
150
+        //파일업로드(수정화면)
151
+        var id = 'VENDINFO01010';
152
+        var acctScrId = 'VENDINFO01010_ACCT';
153
+        $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').empty();
154
+        const fileArgs = {
155
+            'fileNo': $('#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO').val(),
156
+            'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
157
+            'showYn': $('#ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD').attr('data-show-yn'),
158
+            'fileId': '#ITP_FORM_' + id + '_DETAIL_ACCT_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
159
+        };
160
+        itp_fn_set_file_upload('ITP_' + id + '_DETAIL_ACCT_FILE_UPLOAD', 'notice', true, false, id, fileArgs);
161
+        
162
+        var corpScrId = 'VENDINFO01010_CORP';
163
+		$('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').empty();
164
+		const corpFileArgs = {
165
+			'fileNo': $('#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO').val(),
166
+			'viewCd': $('#ITP_FORM_' + id + '_DETAIL_VIEW_CD').val(),
167
+			'showYn': $('#ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD').attr('data-show-yn'),
168
+			'fileId': '#ITP_FORM_' + id + '_DETAIL_CORP_FILE_NO' //파일번호를 서버에서 받아서 넣을 파일번호 인풋박스 아이디
169
+		};
170
+		itp_fn_set_file_upload('ITP_' + id + '_DETAIL_CORP_FILE_UPLOAD', 'notice', true, false, corpScrId, corpFileArgs);
171
+    },
172
+    switchScreen: function(mode) {
173
+		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO01010_"]').each(function(i) {
174
+			$(this).hide();
175
+		});
176
+		$('#ITP_TAB_VENDINFO01010').find('div[id$="_CONTAINER"]').each(function(i) {
177
+			$(this).hide();
178
+		});
179
+		if(mode === 'LIST') { // 목록
180
+			$('#ITP_AJAX_VENDINFO01010_LIST_CONTAINER').show();
181
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_SRH', '#ITP_BTN_VENDINFO01010_NEWREG']);
182
+		} else if(mode == 'ADD') { // 등록
183
+			$('#ITP_AJAX_VENDINFO01010_DETAIL_CONTAINER').show();
184
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_CANCELLIST', '#ITP_BTN_VENDINFO01010_SAVE']);
185
+
186
+			$('#ITP_FORM_VENDINFO01010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
187
+				$(this).attr('id') === 'ITP_FORM_VENDINFO01010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
188
+				if(elem.type === 'select') {
189
+					$(this).val('').prop('selected', true);
190
+				}
191
+			});
192
+
193
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_ID').removeAttr('readonly');
194
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DUP').removeAttr('disabled');
195
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_BRAND_ID option').remove();
196
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP').show();
197
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DELETE_AFFL_SHOP').show();
198
+		} else if(mode === 'MODIFY') { // 수정
199
+			$('#ITP_AJAX_VENDINFO01010_DETAIL_CONTAINER').show();
200
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_CANCELLIST', '#ITP_BTN_VENDINFO01010_SAVE', '#ITP_BTN_VENDINFO01010_RESET_PW']);
201
+
202
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_ID').attr('readonly', true);
203
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DUP').attr('disabled', true);
204
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
205
+			$('#ITP_FORM_VENDINFO01010_DETAIL_USER_NM').attr('readonly', true);
206
+			$('#ITP_FORM_VENDINFO01010_DETAIL_SEARCH_AFFL_SHOP').hide();
207
+			$('#ITP_FORM_VENDINFO01010_DETAIL_DELETE_AFFL_SHOP').hide();
208
+			$('#ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH').show();
209
+			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
210
+			$('#ITP_VENDINFO01010_DETAIL_ACCT_FILE_UPLOAD').show();
211
+		} else if(mode === 'VIEW') { // 보기
212
+			$('#ITP_AJAX_VENDINFO01010_VIEW_CONTAINER').show();
213
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO01010_MODIFY', '#ITP_BTN_VENDINFO01010_CANCELLIST']);
214
+		}
215
+	},
216
+	grid: {
217
+		init: function(mode, gridData) {
218
+			this.mode = mode;
219
+			this.gridId = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_ID : VENDINFO01010_DETAIL_GRID_ID;
220
+			this.gridList = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_LIST : VENDINFO01010_DETAIL_GRID_LIST;
221
+			this.gridEmpty = (mode === 'VIEW') ? VENDINFO01010_VIEW_GRID_EMPTY : VENDINFO01010_DETAIL_GRID_EMPTY;
222
+			this.unload();
223
+			this.load(mode, gridData);
224
+		},
225
+		mode: 'DETAIL',
226
+		ridId: '',
227
+		gridList: '',
228
+		gridEmpty: '',
229
+		load: function(mode, gridData) {
230
+			let string = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
231
+			var _this = this;
232
+			var option = {
233
+				gridId: _this.gridId,
234
+				colModel: gridColModel.detail,
235
+				data: gridData,
236
+				multiselect: (this.mode !== 'VIEW'),
237
+				loadComplete: function(data) {
238
+					console.log(data);
239
+					let gridList = VENDINFO01010_DETAIL_GRID_LIST;
240
+					$(gridList).find('.ui-jqgrid .ui-jqgrid-bdiv').css('overflow-x', 'hidden');
241
+					
242
+				},
243
+			};
244
+			itp_fn_grid_make_local(option);
245
+		},
246
+		unload : function() {
247
+			$.jgrid.gridUnload(this.gridId);
248
+		}
249
+	}
250
+}
251
+
252
+/*수정화면 Object*/
253
+let modifyObj = {
254
+	init: function () {
255
+		let param = 'brandId=' + LOGIN_USER_INFO.brandId + "&spplyId=" + LOGIN_USER_INFO.spplyId;
256
+		this.load(param);
257
+	},
258
+	button: {
259
+		address: function() {
260
+			kakaoMap.simpleAddress('ITP_BTN_VENDINFO01010_DETAIL_ADRES_SCH');
261
+		},
262
+		addRow: function() {
263
+			itp_fn_grid_add_row(VENDINFO01010_DETAIL_GRID_ID, undefined, ['spplyId'], 'VENDINFO01010_DETAIL');
264
+		},
265
+		delRow: function() {
266
+			itp_fn_grid_del_row(VENDINFO01010_DETAIL_GRID_ID);
267
+		},
268
+		save: function() {
269
+			const formId = '#ITP_FORM_VENDINFO01010_DETAIL';
270
+			itp_fn_form_clear_validate(null, formId);
271
+			/*
272
+			var vali_userId = itp_fn_form_validate(formId, formId + '_USER_ID', ['empty'], undefined);
273
+			var vali_userStatCd = itp_fn_form_validate(formId, formId + '_USER_STAT_CD', ['empty'], undefined);
274
+			var vali_userNm = itp_fn_form_validate(formId, formId + '_USER_NM', ['empty'], undefined);
275
+			var vali_telNo = itp_fn_form_validate(formId, formId + '_TEL_NO', ['empty'], undefined);
276
+			var vali_email = itp_fn_form_validate(formId, formId + '_EMAIL', ['empty'], undefined);
277
+			var vali_userPw = true;
278
+			var vali_userPwConfirm = true;
279
+			*/
280
+			//if (vali_userId && vali_userStatCd && vali_userNm && vali_userPw && vali_userPwConfirm && vali_telNo && vali_email) {
281
+			if(modifyObj.isValid(formId)){
282
+				let gridInsertData = [];
283
+				let gridUpdateData = [];
284
+				let gridDeleteData = [];
285
+				for(var i=0; i<$(VENDINFO01010_DETAIL_GRID_ID).getGridParam('reccount'); i++) {
286
+					$(VENDINFO01010_DETAIL_GRID_ID).jqGrid('saveCell', i+1, 2)
287
+				}
288
+				const rowData = $(VENDINFO01010_DETAIL_GRID_ID).getRowData();
289
+				const keyValue = $(formId + '_USER_ID').val();
290
+				$.each(rowData, function(key, value) {
291
+					if (value.viewCd != 'R') {
292
+							value.userId = keyValue;
293
+						if (value.viewCd == 'C') {
294
+							gridInsertData.push(value);
295
+						} else if (value.viewCd == 'U') {
296
+							gridUpdateData.push(value);
297
+						} else if (value.viewCd == 'D') {
298
+							gridDeleteData.push(value);
299
+						}
300
+					}
301
+				});
302
+				let param = $(formId).serializeObject();
303
+				param.gridInsertData = gridInsertData;
304
+				param.gridUpdateData = gridUpdateData;
305
+				param.gridDeleteData = gridDeleteData;
306
+				param.brandId = LOGIN_USER_INFO.brandId;
307
+				console.log(JSON.stringify(param));
308
+				var searhFn = function() {
309
+					ITP_FORM_VENDINFO01010_DETAIL_IS_WRITING = false;
310
+					modifyObj.init();
311
+				};
312
+				fn_ajax_call(API_SPPLY_SAVE_SPPLY, JSON.stringify(param), searhFn, 'POST');
313
+			}
314
+		}
315
+	},
316
+	empty: {
317
+		init: function() {
318
+			var _this = this;
319
+			this.push();
320
+			$(VENDINFO01010_DETAIL_GRID_EMPTY).on('click', function() {
321
+				_this.back();
322
+				_this.itp_VENDINFO01010_param.gridSize = $.jgrid.defaults.rowNum;
323
+				$(VENDINFO01010_DETAIL_GRID_ID).setGridParam({'postData': JSON.stringify(_this.itp_VENDINFO01010_param)}).trigger('reloadGrid');
324
+			});
325
+		},
326
+		itp_VENDINFO01010_param: {},
327
+		push: function() {
328
+			let param = $('#ITP_FORM_VENDINFO01010_DETAIL').serializeObject();
329
+			modifyObj.itp_VENDINFO01010_param = param;
330
+		}/*,
331
+		back: function() {
332
+			$('#ITP_FORM_VENDINFO01010_DEVI_TP_CD').val(this.itp_VENDINFO01010_param.deviTpCd);
333
+			$('#ITP_FORM_VENDINFO01010_ORDER_YN').val(this.itp_VENDINFO01010_param.orderYn);
334
+			$('#ITP_FORM_VENDINFO01010_ADT_AUTH_CD').val(this.itp_VENDINFO01010_param.adtAuthCd);
335
+			$('#ITP_FORM_VENDINFO01010_EMAIL_RCV_YN').val(this.itp_VENDINFO01010_param.emailRcvYn);
336
+			$('#ITP_FORM_VENDINFO01010_MEMB_EXIT_DT').val(this.itp_VENDINFO01010_param.membExitDt);
337
+			$('#ITP_FORM_VENDINFO01010_FROM_DT').val(this.itp_VENDINFO01010_param.fromDt);
338
+			$('#ITP_FORM_VENDINFO01010_TO_DT').val(this.itp_VENDINFO01010_param.toDt);
339
+			$('#ITP_FORM_VENDINFO01010_KEYWORD').val(this.itp_VENDINFO01010_param.keyword);
340
+		}*/
341
+	},
342
+	load: function(param) {
343
+		fn_ajax_call(API_SPPLY_INFO_SPPLY, param, this.callback, 'GET');
344
+	},
345
+	callback: function (result) {
346
+		pageObj.switchScreen('MODIFY');
347
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_VIEW_CD').val('U');
348
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_POP_NO').val(result.popNo);
349
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_MENU_NO').val(result.menuNo);
350
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_NO').val(result.popFileNo);
351
+		/*var brandId = result.brandId;
352
+		var brandNm = result.brandNm;
353
+		if(brandId !== '' && brandNm !== '') {
354
+			var brandList = [{'brandId':brandId, 'brandNm':brandNm}];
355
+			fn_make_select_brand(brandList, 'ITP_FORM_VENDINFO01010_DETAIL_SEARCH_BRAND_ID');
356
+		}*/
357
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_TYPE').val(result.corpType);		// 기업형태
358
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_SPPLY_NM').val(result.spplyNm);		// 공급업체명
359
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_CNDT').val(result.bsnsCndt);		// 업태
360
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CTGR_BSNS').val(result.ctgrBsns);		// 업종
361
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_TEL_NO').val(result.mgrTelNo);			// 전화번호
362
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWNER_NM').val(result.ownerNm);		// 대표자명
363
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FAX_NO').val(result.faxNo);			// FAX
364
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_EMAL_ADDR').val(result.mgrEmal);		// 이메일
365
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_MBL_NO').val(result.mgrMblNo);			// 핸드폰
366
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_AREA_CD').val(result.areaCd);			// 지역
367
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BNK_CD').val(result.bnkCd);			// 은행
368
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ACCT_NO').val(result.acctNo);			// 계좌번호
369
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_OWAC_NM').val(result.owacNm);			// 예금주
370
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_FILE_PATH').val(result.filePath);		// 통장사본
371
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ZIP_NO').val(result.zipNo);			// 우편번호
372
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_LOAD_ADDR').val(result.addr1);			// 기본주소
373
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_DTL_ADDR').val(result.addr2);			// 상세주소
374
+		
375
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnBrandNm').text(result.brandNm);									// 브랜드
376
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_ST_CD').val(result.stCd);				// 상태
377
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnSpplyId').text(result.spplyId);									// 공급업체번호
378
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_BSNS_REG_NO').val(result.bsnsRegNo);	// 사업자번호
379
+		$('#ITP_FORM_VENDINFO01010_DETAIL #ITP_FORM_VENDINFO01010_DETAIL_CORP_REG_NO').val(result.corpRegNo);	// 법인번호
380
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegId').text(result.sysRegId);										// 등록자
381
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnRegDt').text(result.sysRegDttm);									// 등록일
382
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgId').text(result.sysChgId);										// 수정자
383
+		$('#ITP_FORM_VENDINFO01010_DETAIL .fnChgDt').text(result.sysChgDttm);									// 수정일
384
+
385
+		// 권한정보 리스트 조회
386
+		pageObj.grid.init('DETAIL', result.spplyMgrList);
387
+	},
388
+	isValid: function(formId) {
389
+		var isValid = false;
390
+		$(formId).find('input, select, checkbox, textarea').each(function(k) {
391
+			if($(this).data('check-required')) {
392
+				var arry = $(this).data('check-required').split(',');
393
+				isValid = itp_fn_form_validate(formId, '#' + $(this).attr('id'), arry, undefined);
394
+				if(!isValid) return false;
395
+			}
396
+		});
397
+		return isValid;
398
+	}
399
+};

+ 311 - 0
src/main/webapp/js/app/vendinfo/ITP_VENDINFO03010.js

@@ -0,0 +1,311 @@
1
+require(['config'], function() {
2
+    require([
3
+    ], function($) {
4
+        pageObj.init();
5
+    });
6
+});
7
+
8
+
9
+// 화면변수
10
+const VENDINFO03010_GRID_ID = '#ITP_VENDINFO03010_jqGrid';
11
+const VENDINFO03010_GRID_LIST = '#ITP_VENDINFO03010_jqGrid_list';
12
+const VENDINFO03010_GRID_PAGER = '#ITP_VENDINFO03010_jqGridPager';
13
+const VENDINFO03010_GRID_EMPTY = '#ITP_VENDINFO03010_jqGridEmpty';
14
+
15
+
16
+// API URL
17
+let API_ITEMUNIT_SPPLY_GRID_LIST = '/api/itemunit/spply-grid-list';
18
+
19
+
20
+// 화면 grid ColModel
21
+const gridColModel = {
22
+	list:[
23
+		{
24
+			index: 'ITEM_ID', name: 'itemId',
25
+			label: ITP_MSG_LOCALE.label.itemId, 	//품목번호
26
+			width: '10', fixed: false, align: 'center',
27
+			sortable: false, hidden: false
28
+		},
29
+		{
30
+			index: 'ITEM_NM', name: 'itemNm',
31
+			label: ITP_MSG_LOCALE.label.itemNm, 	//품목명
32
+			width: '8', fixed: false, align: 'center',
33
+			sortable: false, hidden: false
34
+		},
35
+		{
36
+			index: 'UNIT', name: 'unit',
37
+			label: ITP_MSG_LOCALE.label.unit, 		//기본단위
38
+			width: '7', fixed: false, align: 'center',
39
+			sortable: false, hidden: false
40
+		},
41
+		{
42
+			index: 'STDD_QTY', name: 'stddQty',
43
+			label: ITP_MSG_LOCALE.label.stddQty, 	//기준수량
44
+			width: '7', fixed: false, align: 'center',
45
+			sortable: false, hidden: false
46
+		},
47
+		{
48
+			index: 'CURR', name: 'curr',
49
+			label: ITP_MSG_LOCALE.label.curr, 		//통화
50
+			width: '7', fixed: false, align: 'center',
51
+			sortable: false, hidden: false
52
+		},
53
+		{
54
+			index: 'UNIT_AMT', name: 'unitAmt',
55
+			label: ITP_MSG_LOCALE.label.unitAmt, 	//단가
56
+			width: '7', fixed: false, align: 'center',
57
+			sortable: false, hidden: false
58
+		},
59
+		{
60
+			index: 'CONT_STT_DT', name: 'contSttDt',
61
+			label: ITP_MSG_LOCALE.label.contSttDt, 	//시작일
62
+			width: '8', fixed: false, align: 'center',
63
+			sortable: false, hidden: false
64
+		},
65
+		{
66
+			index: 'CONT_END_DT', name: 'contEndDt',
67
+			label: ITP_MSG_LOCALE.label.contEndDt, 	//종료일
68
+			width: '8', fixed: false, align: 'center',
69
+			sortable: false, hidden: false
70
+		},
71
+		{
72
+			index: 'LEAD_TIME', name: 'leadTime',
73
+			label: ITP_MSG_LOCALE.label.leadTime, 	//리드타임 (Day)
74
+			width: '7', fixed: false, align: 'center',
75
+			sortable: false, hidden: false
76
+		},
77
+		{
78
+			index: 'REG_DT', name: 'regDt',
79
+			label: ITP_MSG_LOCALE.label.regDt, 		//등록일
80
+			width: '8', fixed: false, align: 'center',
81
+			sortable: false, hidden: false
82
+		},
83
+		{
84
+			index: 'STATUS', name: 'status',
85
+			label: ITP_MSG_LOCALE.label.status, 	//상태
86
+			width: '7', fixed: false, align: 'center',
87
+			sortable: false, hidden: false
88
+		},
89
+		{
90
+			index: 'SPPLY_ITME_ID', name: 'spplyItemId',
91
+			label: ITP_MSG_LOCALE.label.spplyItemId, //공급사품번
92
+			width: '8', fixed: false, align: 'center',
93
+			sortable: false, hidden: false
94
+		}
95
+	],
96
+	datail:[]
97
+}
98
+
99
+
100
+/*화면공통 Object*/
101
+let pageObj = {
102
+	init: function () {
103
+		this.ui.init();
104
+		this.event.init();
105
+	},
106
+	ui: {
107
+		init: function () {
108
+			this.view();
109
+			this.grid();
110
+			this.ready();
111
+		},
112
+		view: function() {
113
+			// 버튼 권한설정
114
+			fn_proc_btn_auth('VENDINFO03010');
115
+				// 공통코드 표시
116
+			$('select').each(function() {
117
+				if($(this).data('select-code')) {
118
+					fn_make_select(CODE_LIST, $(this).data('select-code'), $(this).attr('id'));
119
+				}
120
+			});
121
+				// 조회일자 지정
122
+			$('#ITP_TAB_VENDINFO03010 .input-group.date').datepicker(ITP_DATE_LANGUAGE);
123
+		},
124
+		grid: function() {
125
+			itp_fn_jqgrid_resize(VENDINFO03010_GRID_ID, VENDINFO03010_GRID_LIST, 'lg');
126
+			listObj.empty.init();
127
+			itp_fn_fire_window_resize();
128
+		},
129
+		ready: function() {
130
+			listObj.init();
131
+		}
132
+	},
133
+	event: {
134
+		init: function () {
135
+			this.button();
136
+		},
137
+		button: function () {
138
+			// 버튼 클릭 이벤트
139
+			$('button').each(function() {
140
+				var id = $(this).attr('id');
141
+				$(this).on('click', function() {
142
+					switch (id) {
143
+						case 'ITP_BTN_VENDINFO03010_SRH'				: listObj.button.search();		break;	// 조회 버튼 클릭
144
+						case 'ITP_BTN_VENDINFO03010_NEWREG'				: listObj.button.create(); 		break;	// 신규등록 버튼
145
+						case 'ITP_BTN_VENDINFO03010_MODIFY'				: modifyObj.button.modify();	break;	// 수정 버튼
146
+						case 'ITP_BTN_VENDINFO03010_CANCELLIST'			: createObj.button.cancel(); 	break;	// 취소/목록 버튼
147
+						case 'ITP_BTN_VENDINFO03010_DELETE'				: 								break;	// 삭제 버튼
148
+						case 'ITP_BTN_VENDINFO03010_SAVE'				: createObj.button.save(); 		break;	// 저장 버튼
149
+						case 'ITP_FORM_VENDINFO03010_DETAIL_DUP'		: createObj.button.duplicate();	break;	// 중복체크
150
+						case 'ITP_BTN_VENDINFO03010_RESET_PW'			: createObj.button.resetPass();	break;	// 상세:비밀번호 초기화
151
+						case 'ITP_BTN_VENDINFO03010_DETAIL_ADDROW'		: pageObj.grid.button.addRow();	break;	// 상세:추가버튼
152
+						case 'ITP_BTN_VENDINFO03010_DETAIL_DELROW'		: pageObj.grid.button.delRow();	break;	// 상세:삭제버튼
153
+					}
154
+				});
155
+			});
156
+		}
157
+	},
158
+	switchScreen: function(mode) {
159
+		$('.itp_det_head').find('button[id^="ITP_BTN_VENDINFO03010_"]').each(function(i) {
160
+			$(this).hide();
161
+		});
162
+		$('#ITP_TAB_VENDINFO03010').find('div[id$="_CONTAINER"]').each(function(i) {
163
+			$(this).hide();
164
+		});
165
+		if(mode === 'LIST') { // 목록
166
+			$('#ITP_AJAX_VENDINFO03010_LIST_CONTAINER').show();
167
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_SRH', '#ITP_BTN_VENDINFO03010_NEWREG']);
168
+		}/* else if(mode == 'ADD') { // 등록
169
+			$('#ITP_AJAX_VENDINFO03010_DETAIL_CONTAINER').show();
170
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_CANCELLIST', '#ITP_BTN_VENDINFO03010_SAVE']);
171
+
172
+			$('#ITP_FORM_VENDINFO03010_DETAIL').find('input, textarea, select, checkbox').each(function(i, elem) {
173
+				$(this).attr('id') === 'ITP_FORM_VENDINFO03010_DETAIL_VIEW_CD' ? $(this).val('C') : $(this).val('');
174
+				if(elem.type === 'select') {
175
+					$(this).val('').prop('selected', true);
176
+				}
177
+			});
178
+
179
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_ID').removeAttr('readonly');
180
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DUP').removeAttr('disabled');
181
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_BRAND_ID option').remove();
182
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP').show();
183
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DELETE_AFFL_SHOP').show();
184
+		} else if(mode === 'MODIFY') { // 수정
185
+			$('#ITP_AJAX_VENDINFO03010_DETAIL_CONTAINER').show();
186
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_CANCELLIST', '#ITP_BTN_VENDINFO03010_SAVE', '#ITP_BTN_VENDINFO03010_RESET_PW']);
187
+
188
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_ID').attr('readonly', true);
189
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DUP').attr('disabled', true);
190
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP_NM').attr('readonly', true);
191
+			$('#ITP_FORM_VENDINFO03010_DETAIL_USER_NM').attr('readonly', true);
192
+			$('#ITP_FORM_VENDINFO03010_DETAIL_SEARCH_AFFL_SHOP').hide();
193
+			$('#ITP_FORM_VENDINFO03010_DETAIL_DELETE_AFFL_SHOP').hide();
194
+		} else if(mode === 'VIEW') { // 보기
195
+			$('#ITP_AJAX_VENDINFO03010_VIEW_CONTAINER').show();
196
+			fn_show_btn_auth_array(['#ITP_BTN_VENDINFO03010_MODIFY', '#ITP_BTN_VENDINFO03010_CANCELLIST']);
197
+		}*/
198
+	}
199
+}
200
+
201
+
202
+/*목록화면 Object*/
203
+let listObj = {
204
+    init: function () {
205
+        this.grid.init();
206
+    },
207
+    itp_VENDINFO03010_param: {},
208
+    itp_VENDINFO03010_search: false,
209
+    button: {
210
+        search: function() {
211
+            listObj.itp_VENDINFO03010_search = true;
212
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
213
+            param.gridSize = $.jgrid.defaults.rowNum;
214
+            param.gridPage = $.jgrid.defaults.page;
215
+            param.sbrandId = LOGIN_USER_INFO.brandId;
216
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
217
+            $(VENDINFO03010_GRID_ID).setGridParam({'postData': JSON.stringify(param)}).trigger('reloadGrid');
218
+        }/*,
219
+        create: function() {
220
+            pageObj.switchScreen('ADD');
221
+            itp_fn_form_clear_validate(null, '#ITP_FORM_OPER06010_DETAIL');
222
+            // 권한정보 리스트 조회
223
+            createObj.init();
224
+        }*/
225
+    },
226
+    empty: {
227
+        init: function() {
228
+            var _this = this;
229
+            this.push();
230
+            $(VENDINFO03010_GRID_EMPTY).on('click', function() {
231
+                _this.back();
232
+                listObj.itp_VENDINFO03010_param.gridSize = $.jgrid.defaults.rowNum;
233
+                $(VENDINFO03010_GRID_ID).setGridParam({'postData': JSON.stringify(listObj.itp_VENDINFO03010_param)}).trigger('reloadGrid');
234
+            });
235
+        },
236
+        push: function() {
237
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
238
+            param.sbrandId = LOGIN_USER_INFO.brandId;
239
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
240
+            listObj.itp_VENDINFO03010_param = param;
241
+
242
+        },
243
+        back: function() {
244
+            $('#ITP_FORM_VENDINFO03010_SEARCH_CONT_STT_DT').val(listObj.itp_VENDINFO03010_param.contSttDt);
245
+            $('#ITP_FORM_VENDINFO03010_SEARCH_CONT_END_DT').val(listObj.itp_VENDINFO03010_param.contEndDt);
246
+            $('#ITP_FORM_VENDINFO03010_SERVICE_ST_CD').val(listObj.itp_VENDINFO03010_param.stCd);
247
+            $('#ITP_FORM_VENDINFO03010_SEARCH_ITEM_NM').val(listObj.itp_VENDINFO03010_param.itemNm);
248
+        }
249
+    },
250
+    grid: {
251
+        init: function () {
252
+            // 데이터 없을때
253
+            listObj.empty.push();
254
+            this.search();
255
+
256
+        },
257
+        colModel: gridColModel.list,
258
+        search: function() {
259
+            pageObj.switchScreen('LIST');
260
+            this.unload();
261
+            this.load();
262
+
263
+        },
264
+        load: function() {
265
+            let param = $('#ITP_FORM_VENDINFO03010_SEARCH').serializeObject();
266
+            param.gridSize = $.jgrid.defaults.rowNum;            
267
+            param.sbrandId = LOGIN_USER_INFO.brandId;
268
+            param.sspplyId = LOGIN_USER_INFO.spplyId;
269
+            console.log(param);
270
+            var option = {
271
+                gridId: VENDINFO03010_GRID_ID,
272
+                colModel: gridColModel.list,
273
+                param: param,
274
+                url: DOMAIN + API_ITEMUNIT_SPPLY_GRID_LIST,
275
+                pager: VENDINFO03010_GRID_PAGER,
276
+                rownumbers: false,
277
+                /*onCellSelect: function(rowId, cellIdx, cellValue) {
278
+                    var cm = $(this).jqGrid('getGridParam', 'colModel');
279
+                    var colNm = cm[cellIdx].name;
280
+                    if (colNm === 'brandId') {
281
+                        const brandIdVal = $(this).jqGrid('getCell', rowId, 'brandId');
282
+                        const key = {brandId: brandIdVal, viewCd: 'R'};
283
+                        var param = $.param(key);
284
+                        viewObj.init(param);
285
+                    }
286
+                },*/
287
+                loadComplete: function(data) {
288
+                    console.log(data);
289
+                    itp_fn_grid_load_complete(data, VENDINFO03010_GRID_ID, true, 'number', 'VENDINFO03010', listObj.itp_VENDINFO03010_search, listObj.empty, true, data.gridRecords, true);
290
+                    var ids = $(VENDINFO03010_GRID_ID).getDataIDs();
291
+                    $.each(ids, function(idx, rowId) {
292
+                        $(VENDINFO03010_GRID_ID).jqGrid('setCell', rowId, 'itemId', '', ITP_GRID_COL_STYLE.link);
293
+                    });
294
+                },
295
+                onPaging: function(action) {
296
+                    itp_fn_grid_paging(VENDINFO03010_GRID_ID, action, param);
297
+                }
298
+            };
299
+            itp_fn_grid_make_remote(option);
300
+        },
301
+        clearData : function() {
302
+            $(VENDINFO03010_GRID_ID).jqGrid('clearGridData', true);
303
+            $(VENDINFO03010_GRID_LIST).find('.ui-jqgrid-bdiv').css('min-height', '100px');
304
+            $(VENDINFO03010_GRID_EMPTY).html(ITP_MSG_LOCALE.message.grid.noData);
305
+            $(VENDINFO03010_GRID_EMPTY).show();
306
+        },
307
+        unload : function() {
308
+            $.jgrid.gridUnload(VENDINFO03010_GRID_ID);
309
+        }
310
+    }
311
+};