瀏覽代碼

공지사항 상세조회 화면수정

isna 2 年之前
父節點
當前提交
bd8cf643aa

+ 54 - 29
src/main/webapp/app/oper/OPER02010.html

@@ -189,55 +189,79 @@
189 189
 						<div class="col-xs-12">
190 190
 							<form id="ITP_FORM_OPER02010_VIEW" class="form-horizontal">
191 191
 								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_VIEW_CD" name="viewCd" value="R">
192
-								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_NTICE_NO" name="nticeNo" value="">
193 192
 								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_FILE_NO" name="fileNo" value="">
194
-								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_USER_ID" name="userId" value="">
195
-								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_ADD_ID" name="addId" value="">
193
+								<input type="hidden" id="ITP_FORM_OPER02010_VIEW_NTICE_NO" name="nticeNo" value="">
196 194
 								<section class="itp_form_sec">
197 195
 									<div class="itp_form_in border-top">
198
-										<div class="form-group colspan">
199
-											<label class="col-xs-2 itp_lb">공지제목</label>
200
-											<div class="col-xs-4 itp_ip fnNticeTitl"></div>
196
+										<div class="form-group">
197
+											<label class="col-xs-2 itp_lb">브랜드그룹</label>
198
+											<div class="col-xs-4 itp_ip">
199
+												<div class="col-xs-5 itp_in" style="width:65%;">
200
+													<div class="input-group">
201
+														<input type="text" name="afflShopNm" id="ITP_FORM_OPER02010_VIEW_AFFL_SHOP_NM" class="form-control itp_input" placeholder="브랜드그룹명" readonly>
202
+													</div>
203
+												</div> 
204
+											</div>
201 205
 											<label class="col-xs-2 itp_lb">브랜드</label>
202
-											<div class="col-xs-4 itp_ip fnBrandId"></div>
206
+											<div class="col-xs-4 itp_ip">
207
+												<div class="col-xs-6 itp_in">
208
+													<select id="ITP_FORM_OPER02010_VIEW_BRAND_ID" class="form-control itp_input" name="brandId">
209
+													</select>
210
+												</div>
211
+											</div>
212
+										</div>
213
+									</div>
214
+									<div class="itp_form_in">
215
+										<div class="form-group colspan">
216
+											<label class="col-xs-2 itp_lb">공지제목 *</label>
217
+											<div class="col-xs-10 itp_ip">
218
+												<div class="col-xs-7 itp_in">
219
+													<input type="text" id="ITP_FORM_OPER02010_VIEW_NTICE_TITL" data-check-required="empty" class="form-control itp_input" name="nticeTitl" value="">
220
+												</div>
221
+											</div>
203 222
 										</div>
204
-									</div>	
223
+									</div>
205 224
 									<div class="itp_form_in">
206 225
 										<div class="form-group">
207
-											<label class="col-xs-2 itp_lb">공지일자</label>
208
-											<div class="col-xs-10 itp_ip fnNotiDay"></div>
209
-											
226
+											<label class="col-xs-2 itp_lb">공지일자 *</label>
227
+											<div class="col-xs-10 itp_ip">
228
+												<div class="col-xs-3 itp_in">
229
+									                <div class="input-group">
230
+														<input type="text" id="ITP_FORM_OPER02010_VIEW_FROM_DT" data-check-required="empty" class="form-control itp_input" name="notiStDay" readonly>
231
+														<span class="input-group-addon itp_date_to">~</span>
232
+														<input type="text" id="ITP_FORM_OPER02010_VIEW_TO_DT" data-check-required="empty" class="form-control itp_input" name="notiEdDay" readonly>
233
+													</div>
234
+												</div>
235
+											</div>
210 236
 										</div>
211 237
 									</div>
212 238
 									<div class="itp_form_in">	
213 239
 										<div class="form-group colspan">
214 240
 											<label class="col-xs-2 itp_lb">공지내용</label>
215
-											<div class="col-xs-10 itp_ip fnNticeDesc"></div>
241
+											<div class="col-xs-10 itp_ip">
242
+												<textarea id="ITP_FORM_OPER02010_VIEW_NTICE_DESC" class="form-control" rows="8" name="nticeDesc" maxlength="200"></textarea>
243
+											</div>
216 244
 										</div>
217 245
 										<div class="form-group colspan">
218 246
 											<label class="col-xs-2 itp_lb">첨부파일</label>
219
-											<div class="col-xs-10 itp_ip">
220
-												<div class="col-xs-6 itp_in">
221
-													<div class="fileupload-wrapper">
222
-														<div id="ITP_OPER02010_VIEW_UPLOAD"></div>
223
-													</div>
247
+											<div class="col-xs-10 itp_ip colspan">
248
+												<div class="fileupload-wrapper">
249
+													<div id="ITP_OPER02010_VIEW_UPLOAD"></div>
224 250
 												</div>
225 251
 											</div>
226 252
 										</div>
227
-										<div class="form-group">
228
-											<label class="col-xs-2 itp_lb">공지대상</label>
229
-											<div class="col-xs-10 itp_ip fnTargetNm"></div>
230
-										</div>
231
-									</div>
232
-									<div class="itp_form_in">
233
-										<div class="form-group border">
234
-											<label class="col-xs-2 itp_lb">등록자 아이디</label>
235
-											<div class="col-xs-4 itp_ip fnAddId"></div>
236
-											<label class="col-xs-2 itp_lb">등록자명</label>
237
-											<div class="col-xs-4 itp_ip fnAddNm"></div>
253
+										<div class="form-group colspan border">
254
+											<label class="col-xs-2 itp_lb">공지대상 *</label>
255
+											<div class="col-xs-4 itp_ip">
256
+												<div class="col-xs-3 itp_in">
257
+													<select id="ITP_FORM_OPER02010_VIEW_TARGET_CD" data-select-code="TARGET_CD" data-check-required="empty" class="form-control itp_input" name="targetCd"></select>
258
+												</div>
259
+												 
260
+											</div>
238 261
 										</div>
239 262
 									</div>
240 263
 								</section>
264
+								
241 265
 							</form>
242 266
 						</div>
243 267
 					</div>
@@ -260,4 +284,5 @@
260 284
 	</div>
261 285
 
262 286
 	<div id="ITP_TAP_JS"></div>
263
-</section>
287
+</section>
288
+ 

+ 4 - 20
src/main/webapp/css/style.css

@@ -771,24 +771,8 @@ _:-ms-fullscreen, :root .itp_logs {max-width: 1287px}
771 771
 #ITP_POPUP_CONTAINER .itp_form_info label {border:1px solid #000; background:#eee; margin:0; width:120px; height:42px; padding:10px 5px 10px 10px;}
772 772
 #ITP_POPUP_CONTAINER .itp_form_it {border:1px solid #000; height:42px; padding-top:12px;}
773 773
 
774
+/* 폼스타일 */
774 775
 
775
-
776
-
777
-
778
-
779
-
780
-
781
-
782
-
783
-
784
-
785
-
786
-
787
-
788
-
789
-
790
-
791
-
792
-
793
-
794
-
776
+.form-readonly {
777
+	background: #fff;
778
+}

+ 54 - 1
src/main/webapp/js/app/config.js

@@ -433,7 +433,7 @@ var fn_make_user_info = {
433 433
 			var popFn = function(rowDataPop) {
434 434
 				// console.log(rowDataPop);
435 435
 				$.each(rowDataPop, function(key, value) {
436
-					itp_fn_close_other_tab(''); // 다른탭 닫기
436
+					itp_fn_tab_close_all(''); // 다른탭 닫기
437 437
 					_this.set(JSON.stringify(value));
438 438
 				});
439 439
 			};
@@ -3265,3 +3265,56 @@ function itp_fn_set_chg_editable(rowId, lastrowid, gridId) {
3265 3265
 	
3266 3266
 	return lastrowid;
3267 3267
 };
3268
+
3269
+var printContainter=null;
3270
+var printDiv=null;
3271
+function itp_fn_printDiv(div) {
3272
+	const html = document.querySelector('html'); 
3273
+	if(printContainter) {
3274
+		printContainter.style.display = 'block';
3275
+	} else {
3276
+		//ITP_POPUP_CONTAINER
3277
+		printDiv = document.createElement("DIV");
3278
+		printContainter = document.createElement("DIV");
3279
+		printContainter.id='ITP_POPUP_CONTAINER';
3280
+		printDiv.className = "modal-body itp_modal";
3281
+		printContainter.appendChild(printDiv);
3282
+		html.appendChild(printContainter);
3283
+	} 
3284
+	if(printDiv) {
3285
+		printDiv.innerHTML = div.innerHTML;
3286
+	}
3287
+	document.body.style.display = 'none';
3288
+	window.print();
3289
+	document.body.style.display = 'block'; 
3290
+	printContainter.style.display = 'none'; 
3291
+}
3292
+
3293
+function formReadonly(qid) {
3294
+	if(!qid) qid='.form-readonly .form-control';
3295
+	setTimeout(function() {
3296
+		const formInputs=document.querySelectorAll(qid);
3297
+		formInputs.forEach(el=> {
3298
+			if( el.tagName=='SELECT') {
3299
+				$(el).css('pointer-events','none');
3300
+			} else {
3301
+				el.readOnly=true;
3302
+				el.classList.add("form-readonly");
3303
+			}
3304
+		});
3305
+	},100);
3306
+}
3307
+
3308
+
3309
+
3310
+function itp_fn_tab_close_all() {
3311
+	var idx=0;
3312
+	$('#ITP_HEADER .itp_tab_list li').each(function() {
3313
+		var tabId = $(this).find('.itp_tab_close').attr('data-itp-tab-id');
3314
+		if(tabId) {
3315
+			// console.log('### MEMU : ' + tmpId + ', ACTIVE : ' + $(this).hasClass('active'));
3316
+			$(this).find('.itp_tab_close').trigger('click'); 
3317
+		}
3318
+	});
3319
+	$('#ITP_HEADER .itp_tab_list a[href="#ITP_TAB_SUMMARY"]').trigger('click');		
3320
+}

+ 90 - 0
src/main/webapp/js/app/oper/ITP_OPER02010.js

@@ -459,6 +459,7 @@ let viewObj = {
459 459
 		fn_ajax_call(NTICE_INFO_NTICE, param, this.callback, 'GET');
460 460
 	},
461 461
 	callback: function (result) {
462
+		/*
462 463
 		pageObj.switchScreen('VIEW');
463 464
 		$('#ITP_FORM_OPER02010_VIEW #ITP_FORM_OPER02010_VIEW_NTICE_NO').val(result.nticeNo);
464 465
 		$('#ITP_FORM_OPER02010_VIEW #ITP_FORM_OPER02010_VIEW_USER_ID').val(fn_make_user_info.get('userId'));
@@ -484,9 +485,98 @@ let viewObj = {
484 485
 		
485 486
 		// 권한정보 리스트 조회
486 487
 		// pageObj.grid.init('VIEW');
488
+		*/
489
+		pageObj.switchScreen('VIEW');
490
+		$('#ITP_FORM_OPER02010_VIEW_NTICE_NO').val(result.nticeNo);
491
+		$('#ITP_FORM_OPER02010_VIEW_NTICE_TITL').val(result.nticeTitl);
492
+		$('#ITP_FORM_OPER02010_VIEW_FROM_DT').val(result.notiStDay);
493
+		$('#ITP_FORM_OPER02010_VIEW_TO_DT').val(result.notiEdDay);
494
+		$('#ITP_FORM_OPER02010_VIEW_NTICE_DESC').val(result.nticeDesc);
495
+		$('#ITP_FORM_OPER02010_VIEW_TARGET_CD').val(result.targetCd);
496
+		$('#ITP_FORM_OPER02010_VIEW_FILE_NO').val(result.fileNo); //파일번호 셋팅
497
+
498
+		// 브랜드그룹 셋팅
499
+		$('#ITP_FORM_OPER02010_VIEW_AFFL_SHOP_ID').val(result.afflShopId);
500
+		$('#ITP_FORM_OPER02010_VIEW_AFFL_SHOP_NM').val(result.afflShopNm);
501
+
502
+		pageObj.ui.afflInfo.init();
503
+		if(result.brandId && result.brandId !== '') {
504
+			var brandList = [{'brandId':result.brandId, 'brandNm':result.brandNm}];
505
+			fn_make_select_brand(brandList, 'ITP_FORM_OPER02010_VIEW_SEARCH_BRAND_ID');
506
+		}
507
+
508
+		pageObj.event.notiTarget(result.afflShopId === '');
509
+		//파일업로드(수정화면)
510
+		setFileUploadInfo('OPER02010','VIEW');
511
+		
512
+		formReadonly("#ITP_FORM_OPER02010_VIEW .form-control");
513
+		
514
+		// if(result.addId === fn_make_user_info.get('userId')) {
515
+		if(fn_make_user_info.get('authTpCd') === '10' || result.addId === fn_make_user_info.get('userId')) {
516
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_MODIFY', '#ITP_BTN_OPER02010_CANCELLIST']);
517
+		} else {
518
+			fn_show_btn_auth_array(['#ITP_BTN_OPER02010_CANCELLIST']);
519
+		}
520
+
487 521
 	  }
488 522
 };
489 523
 
524
+
525
+function formReadonly(qid) {
526
+	if(!qid) qid='.form-readonly .form-control';
527
+	setTimeout(function() {
528
+		const formInputs=document.querySelectorAll(qid);
529
+		formInputs.forEach(el=> {
530
+			if( el.tagName=='SELECT') {
531
+				$(el).css('pointer-events','none');
532
+			} else {
533
+				el.readOnly=true;
534
+				el.classList.add("form-readonly");
535
+			}
536
+		});
537
+	},100);
538
+}
539
+
540
+function setFileUploadInfo(id, type ) {
541
+	//파일업로드(등록/수정화면)
542
+	if(!id) id = 'OPER02010';
543
+	var code=id + '_'+type;
544
+	$('#ITP_' + code+'_UPLOAD').empty();
545
+	$('#ITP_' + code+'_LOGO_FILE').empty();
546
+	var removeFn = (param) => {
547
+		$('#ITP_' + code+'_LOGO_FILE').empty();
548
+	}; 
549
+	$('#ITP_' + code+'_UPLOAD').bootstrapFileUpload({
550
+		url: DOMAIN + '/api/file/upload',
551
+		inputName: 'uploadFile',
552
+		folderName: 'notice',
553
+		fileNumber:  $('#ITP_FORM_' + code+'_FILE_NO').val(),
554
+		fileInput: '#ITP_FORM_' + code+'_FILE_NO',
555
+		fileTypes: ITP_UPLOAD_DEFAULTS.fileTypes,
556
+		viewCode: $('#ITP_FORM_' + code+'_VIEW_CD').val(),
557
+		formMethod: 'post',
558
+		multiFile: true,
559
+		multiUpload: false,
560
+		maxSize: 100,
561
+		maxFiles: 5,
562
+		showThumb: false,
563
+		thumbWidth: 0,
564
+  		thumbHeight: 0,
565
+		debug: true, 
566
+		screen_id: code,
567
+		showYn: false,
568
+		onInit: function() {
569
+			 
570
+		}
571
+	});
572
+
573
+	setTimeout(function() {
574
+		$('#ITP_' + code+'_UPLOAD .fileupload-add').hide();
575
+		$('#ITP_' + code+'_UPLOAD .filedownload-remove').hide();
576
+	},20);
577
+
578
+}
579
+
490 580
 /*수정화면 Object*/
491 581
 let modifyObj = {
492 582
 	init: function (param) {