2026-02-14 홈페이지 컨텐츠 등록/수정/목록 수정

This commit is contained in:
pjs
2026-02-14 10:37:33 +09:00
parent d50f35c676
commit 3899fc47fd
10 changed files with 984 additions and 901 deletions

View File

@@ -40,6 +40,8 @@
,HCB.HASHTAG ,HCB.HASHTAG
,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') as REG_DT ,DATE_FORMAT(HCB.REG_DATE, '%Y-%m-%d') as REG_DT
,MM.NAME as REG_NM ,MM.NAME as REG_NM
,DATE_FORMAT(HCB.EVENT_START_DT, '%Y-%m-%d') as START_DT
,DATE_FORMAT(HCB.EVENT_END_DT, '%Y-%m-%d') as END_DT
FROM HP_CATEGORY HC, FROM HP_CATEGORY HC,
HP_CONTENTS_BBS HCB, HP_CONTENTS_BBS HCB,
(SELECT * FROM MU_MEMBER WHERE USE_YN = 'Y') MM (SELECT * FROM MU_MEMBER WHERE USE_YN = 'Y') MM
@@ -85,7 +87,9 @@
,HAF2.FILE_PATH as THUMBNAIL_IMG_PATH ,HAF2.FILE_PATH as THUMBNAIL_IMG_PATH
,HAF.FILE_PATH as CONTENT_IMG_PATH ,HAF.FILE_PATH as CONTENT_IMG_PATH
,HCB.OLD_CRM_ITEM_ID ,HCB.OLD_CRM_ITEM_ID
,HCB.ORD_NO ,HCB.ORD_NO
,DATE_FORMAT(HCB.EVENT_START_DT, '%Y-%m-%d') as START_DT
,DATE_FORMAT(HCB.EVENT_END_DT, '%Y-%m-%d') as END_DT
FROM HP_CONTENTS_BBS AS HCB FROM HP_CONTENTS_BBS AS HCB
LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID LEFT OUTER JOIN HP_ATTACH_FILE HAF ON HAF.ATTACHFILE_ID = HCB.CONTENTS_ATTACHFILE_ID
LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID LEFT OUTER JOIN HP_ATTACH_FILE HAF2 ON HAF2.ATTACHFILE_ID = HCB.THUMBNAIL_ATTACHFILE_ID
@@ -141,6 +145,8 @@
,MOD_DATE ,MOD_DATE
,OLD_CRM_ITEM_ID ,OLD_CRM_ITEM_ID
,ORD_NO ,ORD_NO
,EVENT_START_DT
,EVENT_END_DT
)VALUES( )VALUES(
#{categoryDivCd} #{categoryDivCd}
,#{categoryNo} ,#{categoryNo}
@@ -160,6 +166,8 @@
,(SELECT MAX(ORD_NO) + 1 ,(SELECT MAX(ORD_NO) + 1
FROM HP_CONTENTS_BBS as TEMP FROM HP_CONTENTS_BBS as TEMP
WHERE CATEGORY_DIV_CD = #{categoryDivCd} AND CATEGORY_NO = #{categoryNo}) WHERE CATEGORY_DIV_CD = #{categoryDivCd} AND CATEGORY_NO = #{categoryNo})
,NULLIF(#{eventStartDt}, '')
,NULLIF(#{eventEndDt}, '')
) )
</insert> </insert>
@@ -264,6 +272,8 @@
,CONTENT = #{content} ,CONTENT = #{content}
,THUMBNAIL_BOTTOM_TXT = #{thumbnailBottomTxt} ,THUMBNAIL_BOTTOM_TXT = #{thumbnailBottomTxt}
,HASHTAG = #{hashtag} ,HASHTAG = #{hashtag}
,EVENT_START_DT = NULLIF(#{eventStartDt}, '')
,EVENT_END_DT = NULLIF(#{eventEndDt}, '')
<if test="@org.springframework.util.StringUtils@hasLength(thumbnailAttachfileId)"> <if test="@org.springframework.util.StringUtils@hasLength(thumbnailAttachfileId)">
,THUMBNAIL_ATTACHFILE_ID = #{thumbnailAttachfileId} ,THUMBNAIL_ATTACHFILE_ID = #{thumbnailAttachfileId}
</if> </if>

View File

@@ -0,0 +1,4 @@
/* Fix datepicker z-index issue */
.ui-datepicker {
z-index: 9999 !important;
}

File diff suppressed because it is too large Load Diff

View File

@@ -57,8 +57,8 @@ function fn_insertWebEvent() {
treatmentProcedureIdList.push(item.muTreatmentProcedureId); treatmentProcedureIdList.push(item.muTreatmentProcedureId);
}); });
//let eventStartDate = $("#eventStartDate").val(); let eventStartDt = $("#eventStartDt").val();
//let eventEndDate = $("#eventEndDate").val(); let eventEndDt = $("#eventEndDt").val();
let file = $("#file")[0].files[0]; let file = $("#file")[0].files[0];
let content_file = $("#content_file")[0].files[0]; let content_file = $("#content_file")[0].files[0];
@@ -92,7 +92,7 @@ function fn_insertWebEvent() {
let fileSize = file[i].size; let fileSize = file[i].size;
if(fileSize > fn_maxFileSize()){ if(fileSize > fn_maxFileSize()){
modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다."); modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다.");
return; return;
} }
} }
@@ -105,7 +105,7 @@ function fn_insertWebEvent() {
let fileSize = content_file[i].size; let fileSize = content_file[i].size;
if(fileSize > fn_maxFileSize()){ if(fileSize > fn_maxFileSize()){
modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다."); modalEvent.warning("", "파일정보 용량이 50MB를 넘습니다. 업로드가 불가능합니다.");
return; return;
} }
} }
@@ -126,6 +126,8 @@ function fn_insertWebEvent() {
formData.append("treatmentprocedurelist", treatmentProcedureIdList); formData.append("treatmentprocedurelist", treatmentProcedureIdList);
formData.append("oldCrmItemId", $("#oldCrmItemId").val()); formData.append("oldCrmItemId", $("#oldCrmItemId").val());
formData.append("ordNo", $("#ordNo").val()); formData.append("ordNo", $("#ordNo").val());
formData.append("eventStartDt", eventStartDt);
formData.append("eventEndDt", eventEndDt);
$.ajax({ $.ajax({
url: encodeURI('/contentsBbs/putContentsBbs.do'), url: encodeURI('/contentsBbs/putContentsBbs.do'),
@@ -225,10 +227,28 @@ function fn_selectListWebTreatmentPetitIntro() {
* 페이지 init * 페이지 init
****************************************************************************/ ****************************************************************************/
function fn_pageInit() { function fn_pageInit() {
// 날짜 datepicker // 날짜 datepicker (jQuery UI)
fn_searchDatePicker("#eventStartDate", "#eventEndDate"); $("#eventStartDt, #eventEndDt").datepicker({
dateFormat: 'yy-mm-dd',
prevText: '이전 달',
nextText: '다음 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
showMonthAfterYear: true,
yearSuffix: '년',
changeMonth: true,
changeYear: true
});
// 시작일 오늘 날짜 세팅
$("#eventStartDt").datepicker("setDate", new Date());
if (categoryDivCd === '02' || categoryDivCd === '04') {
$("#dateSelectionRow").show();
}
} }
/**************************************************************************** /****************************************************************************

View File

@@ -1,6 +1,6 @@
/* 페이징 관련 변수 */ /* 페이징 관련 변수 */
let webTreatmentPetitTotalCount = 0; let webTreatmentPetitTotalCount = 0;
let webTreatmentPetitTotalPages = 0; let webTreatmentPetitTotalPages = 0;
/*aggird*/ /*aggird*/
let webTreatmentPetitAgGridData = []; let webTreatmentPetitAgGridData = [];
@@ -11,178 +11,178 @@ let delList = [];
* 검색 날짜 설정 * 검색 날짜 설정
//(A:오늘, B:3일, C:7일, D:최근30일, E:최근90일, F:이번달, G:올해, H:지난주, I:지난달) //(A:오늘, B:3일, C:7일, D:최근30일, E:최근90일, F:이번달, G:올해, H:지난주, I:지난달)
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitSetDate(param){ function fn_webTreatmentPetitSetDate(param) {
if("A"==param){ if ("A" == param) {
// 오늘 // 오늘
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchStartDate = year+'-'+month+'-'+day; webTreatmentPetitSearchStartDate = year + '-' + month + '-' + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
} }
else if("B"==param){ else if ("B" == param) {
// 3일 // 3일
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
toDate.setDate(toDate.getDate() - 3); toDate.setDate(toDate.getDate() - 3);
year = toDate.getFullYear(); year = toDate.getFullYear();
month = toDate.getMonth() + 1; month = toDate.getMonth() + 1;
day = toDate.getDate(); day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchStartDate = year+'-'+month+'-'+day; webTreatmentPetitSearchStartDate = year + '-' + month + '-' + day;
} }
else if("C"==param){ else if ("C" == param) {
// 이번주 // 이번주
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
toDate.setDate(toDate.getDate() - 7); toDate.setDate(toDate.getDate() - 7);
year = toDate.getFullYear(); year = toDate.getFullYear();
month = toDate.getMonth() + 1; month = toDate.getMonth() + 1;
day = toDate.getDate(); day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchStartDate = year+'-'+month+'-'+day; webTreatmentPetitSearchStartDate = year + '-' + month + '-' + day;
} }
else if("D"==param){ else if ("D" == param) {
// 최근30일 // 최근30일
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
//최근30일 //최근30일
toDate.setDate(toDate.getDate() - 30); toDate.setDate(toDate.getDate() - 30);
startYear = toDate.getFullYear(); startYear = toDate.getFullYear();
startMonth = toDate.getMonth() + 1; startMonth = toDate.getMonth() + 1;
startDay = toDate.getDate(); startDay = toDate.getDate();
if(startMonth < 10) startMonth = "0" + startMonth; if (startMonth < 10) startMonth = "0" + startMonth;
if(startDay < 10) startDay = "0" + startDay; if (startDay < 10) startDay = "0" + startDay;
webTreatmentPetitSearchStartDate = startYear+'-'+startMonth+'-'+startDay; webTreatmentPetitSearchStartDate = startYear + '-' + startMonth + '-' + startDay;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
} }
else if("E"==param){ else if ("E" == param) {
// 최근90일 // 최근90일
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
toDate.setDate(toDate.getDate() - 90); toDate.setDate(toDate.getDate() - 90);
year = toDate.getFullYear(); year = toDate.getFullYear();
month = toDate.getMonth() + 1; month = toDate.getMonth() + 1;
day = toDate.getDate(); day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchStartDate = year+'-'+month+'-'+day; webTreatmentPetitSearchStartDate = year + '-' + month + '-' + day;
} }
else if("F"==param){ else if ("F" == param) {
//F:이번달 //F:이번달
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
webTreatmentPetitSearchStartDate = year+'-'+month+'-01'; webTreatmentPetitSearchStartDate = year + '-' + month + '-01';
} }
else if("G"==param){ else if ("G" == param) {
// G:올해 // G:올해
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
webTreatmentPetitSearchStartDate = year+'-01-01'; webTreatmentPetitSearchStartDate = year + '-01-01';
} }
else if("H"==param){ else if ("H" == param) {
// H:지난주, I:지난달 // H:지난주, I:지난달
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
webTreatmentPetitSearchStartDate = year+'-01-01'; webTreatmentPetitSearchStartDate = year + '-01-01';
} }
else if("I"==param){ else if ("I" == param) {
// I:지난달 // I:지난달
// 검색 종료일자 // 검색 종료일자
let toDate = new Date(); let toDate = new Date();
let year = toDate.getFullYear(); let year = toDate.getFullYear();
let month = toDate.getMonth() + 1; let month = toDate.getMonth() + 1;
let day = toDate.getDate(); let day = toDate.getDate();
if(month < 10) month = "0" + month; if (month < 10) month = "0" + month;
if(day < 10) day = "0" + day; if (day < 10) day = "0" + day;
webTreatmentPetitSearchEndDate = year+'-'+month+'-'+day; webTreatmentPetitSearchEndDate = year + '-' + month + '-' + day;
// 검색 시작일자 // 검색 시작일자
webTreatmentPetitSearchStartDate = year+'-01-01'; webTreatmentPetitSearchStartDate = year + '-01-01';
} }
$("#webTreatmentPetitSearchStartDate").val(webTreatmentPetitSearchStartDate).trigger("change"); $("#webTreatmentPetitSearchStartDate").val(webTreatmentPetitSearchStartDate).trigger("change");
@@ -193,14 +193,14 @@ function fn_webTreatmentPetitSetDate(param){
/**************************************************************************** /****************************************************************************
* 이벤트 정보 리스트 조회 * 이벤트 정보 리스트 조회
****************************************************************************/ ****************************************************************************/
function fn_selectListWebTreatmentPetitJson(){ function fn_selectListWebTreatmentPetitJson() {
let formData = new FormData(); let formData = new FormData();
formData.append("menuClass", menuClass); formData.append("menuClass", menuClass);
formData.append("categoryDivCd", categoryDivCd); formData.append("categoryDivCd", categoryDivCd);
formData.append("webTreatmentPetitSearchKeywordParam0", webTreatmentPetitSearchKeywordParam0); formData.append("webTreatmentPetitSearchKeywordParam0", webTreatmentPetitSearchKeywordParam0);
formData.append("webTreatmentPetitSearchKeywordParam1", webTreatmentPetitSearchKeywordParam1); formData.append("webTreatmentPetitSearchKeywordParam1", webTreatmentPetitSearchKeywordParam1);
formData.append("webTreatmentPetitSearchKeywordParam2", webTreatmentPetitSearchKeywordParam2); formData.append("webTreatmentPetitSearchKeywordParam2", webTreatmentPetitSearchKeywordParam2);
formData.append("webTreatmentPetitSearchKeywordParam3", webTreatmentPetitSearchKeywordParam3); formData.append("webTreatmentPetitSearchKeywordParam3", webTreatmentPetitSearchKeywordParam3);
formData.append("webTreatmentPetitSort", webTreatmentPetitSort); formData.append("webTreatmentPetitSort", webTreatmentPetitSort);
formData.append("webTreatmentPetitDir", webTreatmentPetitDir); formData.append("webTreatmentPetitDir", webTreatmentPetitDir);
formData.append("webTreatmentPetitStart", webTreatmentPetitStart); formData.append("webTreatmentPetitStart", webTreatmentPetitStart);
@@ -217,29 +217,29 @@ function fn_selectListWebTreatmentPetitJson(){
contentType: false, contentType: false,
type: 'POST', type: 'POST',
async: true, async: true,
success: function(data){ success: function (data) {
if('0'==data.msgCode){ if ('0' == data.msgCode) {
// 페이징 처리 // 페이징 처리
webTreatmentPetitTotalCount = data.totalCount; webTreatmentPetitTotalCount = data.totalCount;
//$("#txt_noticeTotalCount").text(noticeTotalCount); //$("#txt_noticeTotalCount").text(noticeTotalCount);
webTreatmentPetitTotalPages = Math.ceil(webTreatmentPetitTotalCount/webTreatmentPetitLimit); webTreatmentPetitTotalPages = Math.ceil(webTreatmentPetitTotalCount / webTreatmentPetitLimit);
// 리스트 조회 // 리스트 조회
webTreatmentPetitAgGridData = data.rows; webTreatmentPetitAgGridData = data.rows;
webTreatmentPetitGridOptions.api.setRowData(webTreatmentPetitAgGridData); webTreatmentPetitGridOptions.api.setRowData(webTreatmentPetitAgGridData);
if(0<data.rows.length){ if (0 < data.rows.length) {
//페이징 처리 //페이징 처리
window.pagObj = $('#webTreatmentPetitPagination').twbsPagination({ window.pagObj = $('#webTreatmentPetitPagination').twbsPagination({
startPage : ((webTreatmentPetitStart/webTreatmentPetitLimit)+1), startPage: ((webTreatmentPetitStart / webTreatmentPetitLimit) + 1),
totalPages : (webTreatmentPetitTotalPages==0)?1:webTreatmentPetitTotalPages, totalPages: (webTreatmentPetitTotalPages == 0) ? 1 : webTreatmentPetitTotalPages,
visiblePages : 10, visiblePages: 10,
initiateStartPageClick: false, initiateStartPageClick: false,
prev : '<img src="/image/web/page_navigation_arrow.svg" alt="prev"/>', prev: '<img src="/image/web/page_navigation_arrow.svg" alt="prev"/>',
next : '<img src="/image/web/page_navigation_arrow.svg" alt="next"/>', next: '<img src="/image/web/page_navigation_arrow.svg" alt="next"/>',
first : '', first: '',
last : '', last: '',
onPageClick: function (treatmentpetit, page) { onPageClick: function (treatmentpetit, page) {
fn_webTreatmentPetitPagination(page); fn_webTreatmentPetitPagination(page);
} }
@@ -247,22 +247,22 @@ function fn_selectListWebTreatmentPetitJson(){
//console.info(page + ' (from treatmentpetit listening)'); //console.info(page + ' (from treatmentpetit listening)');
}); });
} }
else{ else {
} }
} }
else{ else {
modalEvent.danger("조회 오류", data.msgDesc); modalEvent.danger("조회 오류", data.msgDesc);
} }
}, },
error : function(xhr, status, error) { error: function (xhr, status, error) {
modalEvent.danger("조회 오류", "조회 중 오류가 발생하였습니다. 잠시후 다시시도하십시오."); modalEvent.danger("조회 오류", "조회 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
}, },
beforeSend:function(){ beforeSend: function () {
// 로딩열기 // 로딩열기
webTreatmentPetitGridOptions.api.showLoadingOverlay(); webTreatmentPetitGridOptions.api.showLoadingOverlay();
}, },
complete:function(){ complete: function () {
} }
}); });
@@ -271,8 +271,8 @@ function fn_selectListWebTreatmentPetitJson(){
/**************************************************************************** /****************************************************************************
* 검색하기 * 검색하기
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitSearch(param){ function fn_webTreatmentPetitSearch(param) {
if("A"!=param && "Y"!=selectUseYn){ if ("A" != param && "Y" != selectUseYn) {
modalEvent.warning("", "조회 권한이 없습니다."); modalEvent.warning("", "조회 권한이 없습니다.");
return false; return false;
} }
@@ -280,13 +280,13 @@ function fn_webTreatmentPetitSearch(param){
fn_webTreatmentPetitPaginReset(); fn_webTreatmentPetitPaginReset();
webTreatmentPetitSearchKeywordParam0 = $("#webTreatmentPetitSearchKeyword0").val(); webTreatmentPetitSearchKeywordParam0 = $("#webTreatmentPetitSearchKeyword0").val();
webTreatmentPetitSearchKeywordParam1 = $("#webTreatmentPetitSearchKeyword1").val(); webTreatmentPetitSearchKeywordParam1 = $("#webTreatmentPetitSearchKeyword1").val();
webTreatmentPetitSearchKeywordParam2 = $("#webTreatmentPetitSearchKeyword2").val(); webTreatmentPetitSearchKeywordParam2 = $("#webTreatmentPetitSearchKeyword2").val();
webTreatmentPetitSearchKeywordParam3 = $("#webTreatmentPetitSearchKeyword3").val(); webTreatmentPetitSearchKeywordParam3 = $("#webTreatmentPetitSearchKeyword3").val();
webTreatmentPetitSearchDateType = $("#webTreatmentPetitSearchDateType").val(); webTreatmentPetitSearchDateType = $("#webTreatmentPetitSearchDateType").val();
webTreatmentPetitSearchStartDate = $("#webTreatmentPetitSearchStartDate").val(); webTreatmentPetitSearchStartDate = $("#webTreatmentPetitSearchStartDate").val();
webTreatmentPetitSearchEndDate = $("#webTreatmentPetitSearchEndDate").val(); webTreatmentPetitSearchEndDate = $("#webTreatmentPetitSearchEndDate").val();
fn_selectListWebTreatmentPetitJson(); fn_selectListWebTreatmentPetitJson();
} }
@@ -295,14 +295,14 @@ function fn_webTreatmentPetitSearch(param){
/**************************************************************************** /****************************************************************************
* 초기화하기 * 초기화하기
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitReset(){ function fn_webTreatmentPetitReset() {
fn_webTreatmentPetitSetDate('D'); fn_webTreatmentPetitSetDate('D');
$("#webTreatmentPetitSearchDateType option:eq(0)").prop("selected", true); $("#webTreatmentPetitSearchDateType option:eq(0)").prop("selected", true);
$("#webTreatmentPetitSearchKeyword0").val(""); $("#webTreatmentPetitSearchKeyword0").val("");
$("#webTreatmentPetitSearchKeyword1").val(""); $("#webTreatmentPetitSearchKeyword1").val("");
$("#webTreatmentPetitSearchKeyword2").val(""); $("#webTreatmentPetitSearchKeyword2").val("");
$("#webTreatmentPetitSearchKeyword3").val(""); $("#webTreatmentPetitSearchKeyword3").val("");
fn_webTreatmentPetitSearch(); fn_webTreatmentPetitSearch();
} }
@@ -310,8 +310,8 @@ function fn_webTreatmentPetitReset(){
/**************************************************************************** /****************************************************************************
* 페이징 처리 * 페이징 처리
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitPagination(param){ function fn_webTreatmentPetitPagination(param) {
webTreatmentPetitStart = (parseInt(param)-1)*webTreatmentPetitLimit; webTreatmentPetitStart = (parseInt(param) - 1) * webTreatmentPetitLimit;
fn_selectListWebTreatmentPetitJson(); fn_selectListWebTreatmentPetitJson();
} }
@@ -319,19 +319,19 @@ function fn_webTreatmentPetitPagination(param){
/**************************************************************************** /****************************************************************************
* 페이징 리셋 * 페이징 리셋
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitPaginReset(){ function fn_webTreatmentPetitPaginReset() {
webTreatmentPetitSearchKeywordParam0 = ''; webTreatmentPetitSearchKeywordParam0 = '';
webTreatmentPetitSearchKeywordParam1 = ''; webTreatmentPetitSearchKeywordParam1 = '';
webTreatmentPetitSearchKeywordParam2 = ''; webTreatmentPetitSearchKeywordParam2 = '';
webTreatmentPetitSearchKeywordParam3 = ''; webTreatmentPetitSearchKeywordParam3 = '';
webTreatmentPetitStart = 0; webTreatmentPetitStart = 0;
webTreatmentPetitLimit = 100; webTreatmentPetitLimit = 100;
webTreatmentPetitTotalCount = 0; webTreatmentPetitTotalCount = 0;
webTreatmentPetitTotalPages = 0; webTreatmentPetitTotalPages = 0;
//페이징 초기화 //페이징 초기화
if($("#webTreatmentPetitPagination").data("twbs-pagination")){ if ($("#webTreatmentPetitPagination").data("twbs-pagination")) {
$("#webTreatmentPetitPagination").twbsPagination("destroy"); $("#webTreatmentPetitPagination").twbsPagination("destroy");
} }
} }
@@ -339,27 +339,27 @@ function fn_webTreatmentPetitPaginReset(){
/**************************************************************************** /****************************************************************************
* 이벤트 삭제 * 이벤트 삭제
****************************************************************************/ ****************************************************************************/
function fn_deleteWebTreatmentPetit(){ function fn_deleteWebTreatmentPetit() {
if("Y"!=deleteUseYn){ if ("Y" != deleteUseYn) {
modalEvent.warning("", "삭제 권한이 없습니다."); modalEvent.warning("", "삭제 권한이 없습니다.");
return false; return false;
} }
if(!delList){ if (!delList) {
modalEvent.warning("", "삭제할 대상을 선택하세요."); modalEvent.warning("", "삭제할 대상을 선택하세요.");
return false; return false;
} }
modalEvent.info("삭제", "선택한 이벤트 정보를 삭제하시겠습니까?", function(){ modalEvent.info("삭제", "선택한 이벤트 정보를 삭제하시겠습니까?", function () {
/*let formData = new FormData(); /*let formData = new FormData();
formData.append("menuClass", menuClass); formData.append("menuClass", menuClass);
formData.append("delList", delList);*/ formData.append("delList", delList);*/
let data = { let data = {
menuClass: menuClass, menuClass: menuClass,
categoryDivCd: categoryDivCd, categoryDivCd: categoryDivCd,
delList: delList delList: delList
}; };
$.ajax({ $.ajax({
url: encodeURI('/contentsBbs/delContentsBbs.do'), url: encodeURI('/contentsBbs/delContentsBbs.do'),
@@ -368,23 +368,23 @@ function fn_deleteWebTreatmentPetit(){
contentType: 'application/json; charset=utf-8', contentType: 'application/json; charset=utf-8',
type: 'POST', type: 'POST',
async: true, async: true,
success: function(data){ success: function (data) {
if('0'==data.msgCode){ if ('0' == data.msgCode) {
modalEvent.success("삭제 성공", data.msgDesc, function(){ modalEvent.success("삭제 성공", data.msgDesc, function () {
fn_webTreatmentPetitOk(); fn_webTreatmentPetitOk();
}); });
} }
else{ else {
modalEvent.danger("삭제 오류", data.msgDesc); modalEvent.danger("삭제 오류", data.msgDesc);
} }
}, },
error : function(xhr, status, error) { error: function (xhr, status, error) {
modalEvent.danger("삭제 오류", "삭제 중 오류가 발생하였습니다. 잠시후 다시시도하십시오."); modalEvent.danger("삭제 오류", "삭제 중 오류가 발생하였습니다. 잠시후 다시시도하십시오.");
}, },
beforeSend:function(){ beforeSend: function () {
}, },
complete:function(){ complete: function () {
} }
}); });
@@ -394,17 +394,17 @@ function fn_deleteWebTreatmentPetit(){
/**************************************************************************** /****************************************************************************
* 검색 엔터 이벤트 * 검색 엔터 이벤트
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitEnter(e){ function fn_webTreatmentPetitEnter(e) {
if(e.which){ if (e.which) {
// 파이어폭스 // 파이어폭스
if(13 == e.which) { if (13 == e.which) {
//로그인 액션 스크립트 //로그인 액션 스크립트
fn_webTreatmentPetitSearch(); fn_webTreatmentPetitSearch();
} }
} }
else{ else {
// 윈도우, 사파리, 크롬 // 윈도우, 사파리, 크롬
if(13 == treatmentpetit.keyCode) { if (13 == treatmentpetit.keyCode) {
//로그인 액션 스크립트 //로그인 액션 스크립트
fn_webTreatmentPetitSearch(); fn_webTreatmentPetitSearch();
} }
@@ -414,50 +414,50 @@ function fn_webTreatmentPetitEnter(e){
/**************************************************************************** /****************************************************************************
* 정렬 이벤트 * 정렬 이벤트
****************************************************************************/ ****************************************************************************/
function fn_alignTreatmentPetit(param, param2){ function fn_alignTreatmentPetit(param, param2) {
let align = ""; let align = "";
if("A"==param){ if ("A" == param) {
align = "오늘"; align = "오늘";
fn_webTreatmentPetitSetDate('A'); fn_webTreatmentPetitSetDate('A');
} }
else if("B"==param){ else if ("B" == param) {
align = "최근30일"; align = "최근30일";
fn_webTreatmentPetitSetDate('D'); fn_webTreatmentPetitSetDate('D');
} }
else if("C"==param){ else if ("C" == param) {
align = "최근90일"; align = "최근90일";
fn_webTreatmentPetitSetDate('E'); fn_webTreatmentPetitSetDate('E');
} }
else if("D"==param){ else if ("D" == param) {
align = "이번주"; align = "이번주";
fn_webTreatmentPetitSetDate('C'); fn_webTreatmentPetitSetDate('C');
} }
else if("E"==param){ else if ("E" == param) {
align = "이번달"; align = "이번달";
fn_webTreatmentPetitSetDate('F'); fn_webTreatmentPetitSetDate('F');
} }
else if("F"==param){ else if ("F" == param) {
align = "올해"; align = "올해";
fn_webTreatmentPetitSetDate('G'); fn_webTreatmentPetitSetDate('G');
} }
else if("G"==param){ else if ("G" == param) {
align = "지난주"; align = "지난주";
fn_webTreatmentPetitSetDate('H'); fn_webTreatmentPetitSetDate('H');
} }
else if("H"==param){ else if ("H" == param) {
align = "지난달"; align = "지난달";
fn_webTreatmentPetitSetDate('I'); fn_webTreatmentPetitSetDate('I');
} }
else{ else {
align = ""; align = "";
} }
$("#webTreatmentPetitSearchDateType").val(param); $("#webTreatmentPetitSearchDateType").val(param);
@@ -467,19 +467,19 @@ function fn_alignTreatmentPetit(param, param2){
/**************************************************************************** /****************************************************************************
* 완료 * 완료
****************************************************************************/ ****************************************************************************/
function fn_webTreatmentPetitOk(){ function fn_webTreatmentPetitOk() {
fn_webTreatmentPetitReset(); fn_webTreatmentPetitReset();
} }
/**************************************************************************** /****************************************************************************
* 등록 화면으로 이동. * 등록 화면으로 이동.
****************************************************************************/ ****************************************************************************/
function fn_insertWebTreatmentPetitIntro(){ function fn_insertWebTreatmentPetitIntro() {
if("Y"==insertUseYn){ if ("Y" == insertUseYn) {
let pagingParam = "?menuClass="+menuClass; let pagingParam = "?menuClass=" + menuClass;
pagingParam += "&categoryDivCd="+categoryDivCd; pagingParam += "&categoryDivCd=" + categoryDivCd;
fn_leftFormAction("/contentsBbs/moveRegContentsBbs.do"+pagingParam); fn_leftFormAction("/contentsBbs/moveRegContentsBbs.do" + pagingParam);
}else{ } else {
modalEvent.warning("", "등록 권한이 없습니다."); modalEvent.warning("", "등록 권한이 없습니다.");
return false; return false;
} }
@@ -489,14 +489,14 @@ function fn_insertWebTreatmentPetitIntro(){
/**************************************************************************** /****************************************************************************
* 수정 화면으로 이동. * 수정 화면으로 이동.
****************************************************************************/ ****************************************************************************/
function fn_updateWebTreatmentPetitIntro(postNo, categoryNo){ function fn_updateWebTreatmentPetitIntro(postNo, categoryNo) {
if("Y"==updateUseYn){ if ("Y" == updateUseYn) {
let pagingParam = "?menuClass="+menuClass; let pagingParam = "?menuClass=" + menuClass;
pagingParam += "&categoryDivCd="+categoryDivCd; pagingParam += "&categoryDivCd=" + categoryDivCd;
pagingParam += "&postNo="+postNo; pagingParam += "&postNo=" + postNo;
pagingParam += "&categoryNo="+categoryNo; pagingParam += "&categoryNo=" + categoryNo;
fn_leftFormAction("/contentsBbs/moveContentsBbs.do"+pagingParam); fn_leftFormAction("/contentsBbs/moveContentsBbs.do" + pagingParam);
}else{ } else {
modalEvent.warning("", "수정 권한이 없습니다."); modalEvent.warning("", "수정 권한이 없습니다.");
return false; return false;
} }
@@ -504,16 +504,32 @@ function fn_updateWebTreatmentPetitIntro(postNo, categoryNo){
let webTreatmentPetitColumnDefs = [ let webTreatmentPetitColumnDefs = [
{field: "checkbox", headerName:"", minWidth:55, maxWidth:55, headerCheckboxSelection: true, checkboxSelection: true}, { field: "checkbox", headerName: "", minWidth: 55, maxWidth: 55, headerCheckboxSelection: true, checkboxSelection: true },
{field: "rowNum", headerName:"번호", minWidth:60, maxWidth:60,sortable: false, cellStyle:{textAlign: 'center'}}, { field: "rowNum", headerName: "번호", minWidth: 60, maxWidth: 60, sortable: false, cellStyle: { textAlign: 'center' } },
{field: "categoryNm", headerName:"카테고리", minWidth:60}, { field: "categoryNm", headerName: "카테고리", minWidth: 120, maxWidth: 130, cellStyle: { textAlign: 'center' } },
{field: "title", headerName:"제목", minWidth:150, cellStyle:{cursor: 'pointer', color:'#3985EA'}}, { field: "title", headerName: "제목", minWidth: 150, cellStyle: { cursor: 'pointer', color: '#3985EA' } },
{field: "content", headerName:"내용요약", minWidth:150}, { field: "content", headerName: "내용요약", minWidth: 150 },
{field: "hashtag", headerName:"해시태그", minWidth:150}, { field: "hashtag", headerName: "해시태그", minWidth: 150 },
{field: "regDt", headerName:"등록일",minWidth:100, maxWidth:150}, { field: "regDt", headerName: "등록일", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
{field: "regNm", headerName:"작성자",minWidth:100, maxWidth:150}, { field: "regNm", headerName: "작성자", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
]; ];
console.log('Current categoryDivCd:', categoryDivCd);
if (categoryDivCd === '02' || categoryDivCd === '04') {
webTreatmentPetitColumnDefs = [
{ field: "checkbox", headerName: "", minWidth: 55, maxWidth: 55, headerCheckboxSelection: true, checkboxSelection: true },
{ field: "rowNum", headerName: "번호", minWidth: 60, maxWidth: 60, sortable: false, cellStyle: { textAlign: 'center' } },
{ field: "categoryNm", headerName: "카테고리", minWidth: 120, maxWidth: 130, cellStyle: { textAlign: 'center' } },
{ field: "title", headerName: "제목", minWidth: 150, cellStyle: { cursor: 'pointer', color: '#3985EA' } },
{ field: "content", headerName: "내용요약", minWidth: 150 },
{ field: "startDt", headerName: "시작일", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
{ field: "endDt", headerName: "종료일", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
{ field: "hashtag", headerName: "해시태그", minWidth: 150 },
{ field: "regDt", headerName: "등록일", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
{ field: "regNm", headerName: "작성자", minWidth: 100, maxWidth: 120, cellStyle: { textAlign: 'center' } },
];
}
// let the grid know which columns and what data to use // let the grid know which columns and what data to use
let webTreatmentPetitGridOptions = { let webTreatmentPetitGridOptions = {
suppressRowTransform: true, suppressRowTransform: true,
@@ -523,63 +539,63 @@ let webTreatmentPetitGridOptions = {
sortable: true, //정렬 여부 sortable: true, //정렬 여부
resizable: true, //리사이즈 resizable: true, //리사이즈
editable: true, // 그리드에서 데이터 수정 editable: true, // 그리드에서 데이터 수정
cellStyle:{textAlign:'left',fontSize:'14px',padding:'0'}, cellStyle: { textAlign: 'left', fontSize: '14px', padding: '0' },
//suppressSizeToFit:true, //자동 맞춤 //suppressSizeToFit:true, //자동 맞춤
//enableRowGroup: true, // 그룹 묶음 //enableRowGroup: true, // 그룹 묶음
enablePivot: true, enablePivot: true,
enableValue : true enableValue: true
}, },
//suppressMultiSort:true, //단일솔트 true가 단일, false가 다중 shift + sort 시 //suppressMultiSort:true, //단일솔트 true가 단일, false가 다중 shift + sort 시
headerHeight : 41, // header 높이 headerHeight: 41, // header 높이
rowHeight : 41, // row 높이 rowHeight: 41, // row 높이
rowData : webTreatmentPetitAgGridData, rowData: webTreatmentPetitAgGridData,
suppressRowClickSelection : true, // 로우 클릭시 체크박스 선택 true no, false yes suppressRowClickSelection: true, // 로우 클릭시 체크박스 선택 true no, false yes
localeText : { localeText: {
noRowsToShow : '조회 결과가 없습니다.' noRowsToShow: '조회 결과가 없습니다.'
}, //데이터 없을 시 나오는 문구 }, //데이터 없을 시 나오는 문구
rowSelection : 'multiple', // row 다중 선택 rowSelection: 'multiple', // row 다중 선택
debug : false, debug: false,
onCellClicked: function(cell){ //셀 클릭 이벤트\ onCellClicked: function (cell) { //셀 클릭 이벤트\
/* alert(treatmentpetit.column.colId); */ /* alert(treatmentpetit.column.colId); */
if( 'title' == cell.column.colId ){ if ('title' == cell.column.colId) {
fn_updateWebTreatmentPetitIntro(cell.data.postNo, cell.data.categoryNo); fn_updateWebTreatmentPetitIntro(cell.data.postNo, cell.data.categoryNo);
} }
}, },
onSelectionChanged: function(treatmentpetit){ //체크박스 선택 onSelectionChanged: function (treatmentpetit) { //체크박스 선택
delList = treatmentpetit.api.getSelectedRows(); delList = treatmentpetit.api.getSelectedRows();
console.log(delList); console.log(delList);
/*let selectRows = []; /*let selectRows = [];
selectRows = treatmentpetit.api.getSelectedRows(); selectRows = treatmentpetit.api.getSelectedRows();
console.log(selectRows); console.log(selectRows);
webTreatmentPetitSelectId = ''; webTreatmentPetitSelectId = '';
for(let i=0; i<selectRows.length; i++){ for(let i=0; i<selectRows.length; i++){
webTreatmentPetitSelectId += selectRows[i].muWebTreatmentPetitId + ","; webTreatmentPetitSelectId += selectRows[i].muWebTreatmentPetitId + ",";
} }
webTreatmentPetitSelectId = webTreatmentPetitSelectId.substring(0, webTreatmentPetitSelectId.lastIndexOf(','));*/ webTreatmentPetitSelectId = webTreatmentPetitSelectId.substring(0, webTreatmentPetitSelectId.lastIndexOf(','));*/
}, },
onSortChanged: function(treatmentpetit){ onSortChanged: function (treatmentpetit) {
//정렬 //정렬
webTreatmentPetitSort = ''; //기존 정렬 초기화 webTreatmentPetitSort = ''; //기존 정렬 초기화
let columnArr = treatmentpetit.columnApi.getColumnState(); let columnArr = treatmentpetit.columnApi.getColumnState();
if(0<columnArr.length){ if (0 < columnArr.length) {
//sort index 순으로 재정렬 //sort index 순으로 재정렬
columnArr.sort(function(a,b){ columnArr.sort(function (a, b) {
return a.sortIndex - b.sortIndex; return a.sortIndex - b.sortIndex;
}); });
let nullCnt = 0; let nullCnt = 0;
for(let i=0; i<columnArr.length; i++){ for (let i = 0; i < columnArr.length; i++) {
let gridSortModel = columnArr[i].colId; let gridSortModel = columnArr[i].colId;
let gridSort = columnArr[i].sort; let gridSort = columnArr[i].sort;
if(gridSort != null){ if (gridSort != null) {
webTreatmentPetitStart = 0; webTreatmentPetitStart = 0;
webTreatmentPetitSort += gridSortModel+' '+ gridSort + ','; webTreatmentPetitSort += gridSortModel + ' ' + gridSort + ',';
} }
else{ else {
nullCnt++; nullCnt++;
if(nullCnt == columnArr.length){ if (nullCnt == columnArr.length) {
webTreatmentPetitSort = ''; webTreatmentPetitSort = '';
webTreatmentPetitDir = ''; webTreatmentPetitDir = '';
webTreatmentPetitStart = 0; webTreatmentPetitStart = 0;
@@ -587,7 +603,7 @@ let webTreatmentPetitGridOptions = {
} }
} }
} }
webTreatmentPetitSort = webTreatmentPetitSort.substring(0,webTreatmentPetitSort.lastIndexOf( ",")); //맨끝 콤마 지우기 webTreatmentPetitSort = webTreatmentPetitSort.substring(0, webTreatmentPetitSort.lastIndexOf(",")); //맨끝 콤마 지우기
fn_webTreatmentPetitSearch(); fn_webTreatmentPetitSearch();
} }
@@ -606,23 +622,23 @@ new agGrid.Grid(webTreatmentPetitGridDiv, webTreatmentPetitGridOptions);
/**************************************************************************** /****************************************************************************
* 페이지 init * 페이지 init
****************************************************************************/ ****************************************************************************/
function fn_pageInit(){ function fn_pageInit() {
// 날짜 datepicker // 날짜 datepicker
fn_searchDatePicker("#divWebTreatmentPetitSearchStartDate", "#divWebTreatmentPetitSearchEndDate"); fn_searchDatePicker("#divWebTreatmentPetitSearchStartDate", "#divWebTreatmentPetitSearchEndDate");
if(!webTreatmentPetitSearchStartDate&&!webTreatmentPetitSearchEndDate){ if (!webTreatmentPetitSearchStartDate && !webTreatmentPetitSearchEndDate) {
// 검색 오늘날짜 셋팅 // 검색 오늘날짜 셋팅
fn_webTreatmentPetitSetDate('D'); fn_webTreatmentPetitSetDate('D');
}else{ } else {
$("#webTreatmentPetitSearchStartDate").val(webTreatmentPetitSearchStartDate).trigger("change"); $("#webTreatmentPetitSearchStartDate").val(webTreatmentPetitSearchStartDate).trigger("change");
$("#webTreatmentPetitSearchEndDate").val(webTreatmentPetitSearchEndDate).trigger("change"); $("#webTreatmentPetitSearchEndDate").val(webTreatmentPetitSearchEndDate).trigger("change");
} }
// 초기 페이징 처리 // 초기 페이징 처리
$("#webTreatmentPetitSearchKeyword0").val(webTreatmentPetitSearchKeywordParam0); $("#webTreatmentPetitSearchKeyword0").val(webTreatmentPetitSearchKeywordParam0);
$("#webTreatmentPetitSearchKeyword1").val(webTreatmentPetitSearchKeywordParam1); $("#webTreatmentPetitSearchKeyword1").val(webTreatmentPetitSearchKeywordParam1);
$("#webTreatmentPetitSearchKeyword2").val(webTreatmentPetitSearchKeywordParam2); $("#webTreatmentPetitSearchKeyword2").val(webTreatmentPetitSearchKeywordParam2);
$("#webTreatmentPetitSearchKeyword3").val(webTreatmentPetitSearchKeywordParam3); $("#webTreatmentPetitSearchKeyword3").val(webTreatmentPetitSearchKeywordParam3);
fn_webTreatmentPetitSearch("A"); fn_webTreatmentPetitSearch("A");
} }
@@ -630,21 +646,21 @@ function fn_pageInit(){
/**************************************************************************** /****************************************************************************
* 페이지 treatmentpetit * 페이지 treatmentpetit
****************************************************************************/ ****************************************************************************/
function fn_pageTreatmentPetit(){ function fn_pageTreatmentPetit() {
// 검색 input // 검색 input
$(document).on('keypress', '#webTreatmentPetitSearchKeyword0', function(e) { $(document).on('keypress', '#webTreatmentPetitSearchKeyword0', function (e) {
fn_webTreatmentPetitEnter(e); fn_webTreatmentPetitEnter(e);
}); });
// 검색 input // 검색 input
$(document).on('keypress', '#webTreatmentPetitSearchKeyword1', function(e) { $(document).on('keypress', '#webTreatmentPetitSearchKeyword1', function (e) {
fn_webTreatmentPetitEnter(e); fn_webTreatmentPetitEnter(e);
}); });
// 검색 input // 검색 input
$(document).on('keypress', '#webTreatmentPetitSearchKeyword2', function(e) { $(document).on('keypress', '#webTreatmentPetitSearchKeyword2', function (e) {
fn_webTreatmentPetitEnter(e); fn_webTreatmentPetitEnter(e);
}); });
// 검색 input // 검색 input
$(document).on('keypress', '#webTreatmentPetitSearchKeyword3', function(e) { $(document).on('keypress', '#webTreatmentPetitSearchKeyword3', function (e) {
fn_webTreatmentPetitEnter(e); fn_webTreatmentPetitEnter(e);
}); });
@@ -667,8 +683,8 @@ function fn_pageTreatmentPetit(){
const target = $("#webTreatmentPetitSearchDateType").siblings("ul.select_option_list"); const target = $("#webTreatmentPetitSearchDateType").siblings("ul.select_option_list");
target.find("li.option_list_item").click(function () { target.find("li.option_list_item").click(function () {
let selectIdArr = $(this).prop("id").split('_'); let selectIdArr = $(this).prop("id").split('_');
let selectId = selectIdArr[1]; let selectId = selectIdArr[1];
let selectName = $(this).text(); let selectName = $(this).text();
$(this).parent().siblings("button").text(selectName); $(this).parent().siblings("button").text(selectName);
$(this).parent().siblings("input").val(selectId); $(this).parent().siblings("input").val(selectId);
@@ -677,7 +693,7 @@ function fn_pageTreatmentPetit(){
}); });
} }
$(function(){ $(function () {
// 페이지 init // 페이지 init
fn_pageInit(); fn_pageInit();

View File

@@ -60,6 +60,9 @@ function fn_selectWebTreatmentPetit() {
$("#oldCrmItemId").val(data.oldCrmItemId); $("#oldCrmItemId").val(data.oldCrmItemId);
$("#ordNo").val(data.ordNo); $("#ordNo").val(data.ordNo);
if (data.startDt) $("#eventStartDt").val(data.startDt);
if (data.endDt) $("#eventEndDt").val(data.endDt);
treatmentList = []; treatmentList = [];
rst.treatmentList.forEach((item, i) => { rst.treatmentList.forEach((item, i) => {
treatmentList.push({ treatmentList.push({
@@ -117,8 +120,8 @@ function fn_updateWebTreatmentPetit() {
treatmentProcedureIdList.push(item.muTreatmentProcedureId); treatmentProcedureIdList.push(item.muTreatmentProcedureId);
}); });
//let eventStartDate = $("#eventStartDate").val(); let eventStartDt = $("#eventStartDt").val();
//let eventEndDate = $("#eventEndDate").val(); let eventEndDt = $("#eventEndDt").val();
let file = $("#file")[0].files[0]; let file = $("#file")[0].files[0];
let content_file = $("#content_file")[0].files[0]; let content_file = $("#content_file")[0].files[0];
@@ -143,8 +146,8 @@ function fn_updateWebTreatmentPetit() {
formData.append("thumbnailBottomTxt", thumbnailBottomTxt); formData.append("thumbnailBottomTxt", thumbnailBottomTxt);
formData.append("treatmentlist", treatmentIdList); formData.append("treatmentlist", treatmentIdList);
formData.append("treatmentprocedurelist", treatmentProcedureIdList); formData.append("treatmentprocedurelist", treatmentProcedureIdList);
//formData.append("eventStartDate", eventStartDate); formData.append("eventStartDt", eventStartDt);
//formData.append("eventEndDate", eventEndDate); formData.append("eventEndDt", eventEndDt);
formData.append("file", file); formData.append("file", file);
formData.append("content_file", content_file); formData.append("content_file", content_file);
formData.append("oldCrmItemId", $("#oldCrmItemId").val()); formData.append("oldCrmItemId", $("#oldCrmItemId").val());
@@ -255,9 +258,25 @@ function fn_selectListWebTreatmentPetitIntro() {
* 페이지 init * 페이지 init
****************************************************************************/ ****************************************************************************/
function fn_pageInit() { function fn_pageInit() {
// 날짜 datepicker // 날짜 datepicker (jQuery UI)
fn_searchDatePicker("#eventStartDate", "#eventEndDate"); $("#eventStartDt, #eventEndDt").datepicker({
dateFormat: 'yy-mm-dd',
prevText: '이전 달',
nextText: '다음 달',
monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
dayNames: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesShort: ['일', '월', '화', '수', '목', '금', '토'],
dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
showMonthAfterYear: true,
yearSuffix: '년',
changeMonth: true,
changeYear: true
});
if (categoryDivCd === '02' || categoryDivCd === '04') {
$("#dateSelectionRow").show();
}
fn_selectWebTreatmentPetit(); fn_selectWebTreatmentPetit();
} }

View File

@@ -4,6 +4,7 @@
<th:block layout:fragment="layout_css"> <th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/ContentsBbsUpd.css"> <link rel="stylesheet" href="/css/web/ContentsBbsUpd.css">
<link rel="stylesheet" href="/css/web/grid.css?v1.1"> <link rel="stylesheet" href="/css/web/grid.css?v1.1">
<link rel="stylesheet" href="/css/web/datepicker-fix.css">
</th:block> </th:block>
<th:block layout:fragment="layout_top_script"> <th:block layout:fragment="layout_top_script">
<!-- Pagination usage removed --> <!-- Pagination usage removed -->
@@ -73,6 +74,18 @@
</div> </div>
</div> </div>
<!-- Date Selection (Event Only) -->
<div class="form-grid-row" id="dateSelectionRow" style="display:none;">
<div class="form-group">
<label>시작일</label>
<input type="text" id="eventStartDt" placeholder="YYYY-MM-DD" readonly />
</div>
<div class="form-group">
<label>종료일</label>
<input type="text" id="eventEndDt" placeholder="YYYY-MM-DD" readonly />
</div>
</div>
<!-- Row 4: Procedure Selection (Grid) --> <!-- Row 4: Procedure Selection (Grid) -->
<div class="grid-section"> <div class="grid-section">
<div class="grid-header"> <div class="grid-header">

View File

@@ -1,8 +1,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{/web/layout/homeLayout}">
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{/web/layout/homeLayout}">
<th:block layout:fragment="layout_css"> <th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/webTreatmentPetitSelectList.css"> <link rel="stylesheet" href="/css/web/webTreatmentPetitSelectList.css">
<link rel="stylesheet" href="/css/web/grid.css?v1.1"> <link rel="stylesheet" href="/css/web/grid.css?v1.1">
@@ -10,30 +8,30 @@
<th:block layout:fragment="layout_top_script"> <th:block layout:fragment="layout_top_script">
<script src="/js/web/jquery.twbsPagination.js" type="text/javascript"></script> <script src="/js/web/jquery.twbsPagination.js" type="text/javascript"></script>
<script> <script>
let menuClass = "[[${param.menuClass}]]"==""?"":"[[${param.menuClass}]]"; let menuClass = "[[${param.menuClass}]]" == "" ? "" : "[[${param.menuClass}]]";
let categoryDivCd = "[[${param.categoryDivCd}]]"==""?"":"[[${param.categoryDivCd}]]"; let categoryDivCd = "[[${param.categoryDivCd}]]" == "" ? "" : "[[${param.categoryDivCd}]]";
categoryDivCd = "[[${categoryDivCd}]]"==""?"":"[[${categoryDivCd}]]"; categoryDivCd = "[[${categoryDivCd}]]" == "" ? "" : "[[${categoryDivCd}]]";
let selectUseYn = "[[${selectUseYn}]]"==""?"N":"[[${selectUseYn}]]";
let insertUseYn = "[[${insertUseYn}]]"==""?"N":"[[${insertUseYn}]]";
let updateUseYn = "[[${updateUseYn}]]"==""?"N":"[[${updateUseYn}]]";
let deleteUseYn = "[[${deleteUseYn}]]"==""?"N":"[[${deleteUseYn}]]";
let downloadUseYn = "[[${downloadUseYn}]]"==""?"N":"[[${downloadUseYn}]]";
/* 검색 관련 변수 */ let selectUseYn = "[[${selectUseYn}]]" == "" ? "N" : "[[${selectUseYn}]]";
let insertUseYn = "[[${insertUseYn}]]" == "" ? "N" : "[[${insertUseYn}]]";
let updateUseYn = "[[${updateUseYn}]]" == "" ? "N" : "[[${updateUseYn}]]";
let deleteUseYn = "[[${deleteUseYn}]]" == "" ? "N" : "[[${deleteUseYn}]]";
let downloadUseYn = "[[${downloadUseYn}]]" == "" ? "N" : "[[${downloadUseYn}]]";
/* 검색 관련 변수 */
let webTreatmentPetitSearchKeywordParam0 = "[[${param.webTreatmentPetitSearchKeywordParam0}]]"; let webTreatmentPetitSearchKeywordParam0 = "[[${param.webTreatmentPetitSearchKeywordParam0}]]";
let webTreatmentPetitSearchKeywordParam1 = "[[${param.webTreatmentPetitSearchKeywordParam1}]]"; let webTreatmentPetitSearchKeywordParam1 = "[[${param.webTreatmentPetitSearchKeywordParam1}]]";
let webTreatmentPetitSearchKeywordParam2 = "[[${param.webTreatmentPetitSearchKeywordParam2}]]"; let webTreatmentPetitSearchKeywordParam2 = "[[${param.webTreatmentPetitSearchKeywordParam2}]]";
let webTreatmentPetitSearchKeywordParam3 = "[[${param.webTreatmentPetitSearchKeywordParam3}]]"; let webTreatmentPetitSearchKeywordParam3 = "[[${param.webTreatmentPetitSearchKeywordParam3}]]";
let webTreatmentPetitSort = "[[${param.webTreatmentPetitSort}]]";
let webTreatmentPetitDir = "[[${param.webTreatmentPetitDir}]]";
let webTreatmentPetitStart = "[[${param.webTreatmentPetitStart}]]"==""?0:"[[${param.webTreatmentPetitStart}]]";
let webTreatmentPetitLimit = "[[${param.webTreatmentPetitLimit}]]"==""?500:"[[${param.webTreatmentPetitLimit}]]";
let webTreatmentPetitSearchStartDate = "[[${param.webTreatmentPetitSearchStartDate}]]"; let webTreatmentPetitSort = "[[${param.webTreatmentPetitSort}]]";
let webTreatmentPetitSearchEndDate = "[[${param.webTreatmentPetitSearchEndDate}]]"; let webTreatmentPetitDir = "[[${param.webTreatmentPetitDir}]]";
let webTreatmentPetitSearchDateType = "[[${param.webTreatmentPetitSearchDateType}]]"==""?"A":"[[${param.webTreatmentPetitSearchDateType}]]"; let webTreatmentPetitStart = "[[${param.webTreatmentPetitStart}]]" == "" ? 0 : "[[${param.webTreatmentPetitStart}]]";
let webTreatmentPetitLimit = "[[${param.webTreatmentPetitLimit}]]" == "" ? 500 : "[[${param.webTreatmentPetitLimit}]]";
let webTreatmentPetitSearchStartDate = "[[${param.webTreatmentPetitSearchStartDate}]]";
let webTreatmentPetitSearchEndDate = "[[${param.webTreatmentPetitSearchEndDate}]]";
let webTreatmentPetitSearchDateType = "[[${param.webTreatmentPetitSearchDateType}]]" == "" ? "A" : "[[${param.webTreatmentPetitSearchDateType}]]";
</script> </script>
</th:block> </th:block>
<th:block layout:fragment="layout_content"> <th:block layout:fragment="layout_content">
@@ -42,35 +40,36 @@
<p class="page_title">[[${title}]]</p> <p class="page_title">[[${title}]]</p>
<div class="filter_box"> <div class="filter_box">
<div class="form_box"> <div class="form_box">
<!-- 이름input --> <!-- 이름input -->
<div class="search_list"> <div class="search_list">
<div class="search_box"> <div class="search_box">
<img src="/image/web/search_G.svg" alt="search"/> <img src="/image/web/search_G.svg" alt="search" />
<input type="text" id="webTreatmentPetitSearchKeyword0" required placeholder="카테고리"> <input type="text" id="webTreatmentPetitSearchKeyword0" required placeholder="카테고리">
<div class="search_list"></div><!-- 검색내역 나오는곳 --> <div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div> </div>
<div class="search_box"> <div class="search_box">
<img src="/image/web/search_G.svg" alt="search"/> <img src="/image/web/search_G.svg" alt="search" />
<input type="text" id="webTreatmentPetitSearchKeyword1" required placeholder="제목"> <input type="text" id="webTreatmentPetitSearchKeyword1" required placeholder="제목">
<div class="search_list"></div><!-- 검색내역 나오는곳 --> <div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div> </div>
<div class="search_box"> <div class="search_box">
<img src="/image/web/search_G.svg" alt="search"/> <img src="/image/web/search_G.svg" alt="search" />
<input type="text" id="webTreatmentPetitSearchKeyword2" required placeholder="작성자"> <input type="text" id="webTreatmentPetitSearchKeyword2" required placeholder="작성자">
<div class="search_list"></div><!-- 검색내역 나오는곳 --> <div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div> </div>
<div class="search_box"> <div class="search_box">
<img src="/image/web/search_G.svg" alt="search"/> <img src="/image/web/search_G.svg" alt="search" />
<input type="text" id="webTreatmentPetitSearchKeyword3" required placeholder="시술"> <input type="text" id="webTreatmentPetitSearchKeyword3" required placeholder="시술">
<div class="search_list"></div><!-- 검색내역 나오는곳 --> <div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div> </div>
<button id="btnSearchWebTreatmentPetit" class="search_btn" data-toggle="modal" data-target=".work_closed_modal" style="transition: all 0.2s ease-in-out 0s;">조회</button> <button id="btnSearchWebTreatmentPetit" class="search_btn" data-toggle="modal"
data-target=".work_closed_modal" style="transition: all 0.2s ease-in-out 0s;">조회</button>
</div> </div>
<div class="right_btn_box"> <div class="right_btn_box">
@@ -99,6 +98,7 @@
</th:block> </th:block>
<th:block layout:fragment="layout_script"> <th:block layout:fragment="layout_script">
<script src="/js/web/ag-grid-community-29.3.5.min.js"></script> <script src="/js/web/ag-grid-community-29.3.5.min.js"></script>
<script src="/js/web/contentsBbs/ContentsBbsSelectList.js"></script> <script src="/js/web/contentsBbs/ContentsBbsSelectList.js?v=3"></script>
</th:block> </th:block>
</html> </html>

View File

@@ -4,6 +4,7 @@
<th:block layout:fragment="layout_css"> <th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/ContentsBbsUpd.css"> <link rel="stylesheet" href="/css/web/ContentsBbsUpd.css">
<link rel="stylesheet" href="/css/web/grid.css?v1.1"> <link rel="stylesheet" href="/css/web/grid.css?v1.1">
<link rel="stylesheet" href="/css/web/datepicker-fix.css">
</th:block> </th:block>
<th:block layout:fragment="layout_top_script"> <th:block layout:fragment="layout_top_script">
<!-- Pagination usage removed --> <!-- Pagination usage removed -->
@@ -76,6 +77,18 @@
</div> </div>
</div> </div>
<!-- Date Selection (Event Only) -->
<div class="form-grid-row" id="dateSelectionRow" style="display:none;">
<div class="form-group">
<label>시작일</label>
<input type="text" id="eventStartDt" placeholder="YYYY-MM-DD" readonly />
</div>
<div class="form-group">
<label>종료일</label>
<input type="text" id="eventEndDt" placeholder="YYYY-MM-DD" readonly />
</div>
</div>
<!-- Row 4: Treatment Grid --> <!-- Row 4: Treatment Grid -->
<div class="grid-section"> <div class="grid-section">
<div class="grid-header"> <div class="grid-header">