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

View File

@@ -60,6 +60,9 @@ function fn_selectWebTreatmentPetit() {
$("#oldCrmItemId").val(data.oldCrmItemId);
$("#ordNo").val(data.ordNo);
if (data.startDt) $("#eventStartDt").val(data.startDt);
if (data.endDt) $("#eventEndDt").val(data.endDt);
treatmentList = [];
rst.treatmentList.forEach((item, i) => {
treatmentList.push({
@@ -117,8 +120,8 @@ function fn_updateWebTreatmentPetit() {
treatmentProcedureIdList.push(item.muTreatmentProcedureId);
});
//let eventStartDate = $("#eventStartDate").val();
//let eventEndDate = $("#eventEndDate").val();
let eventStartDt = $("#eventStartDt").val();
let eventEndDt = $("#eventEndDt").val();
let file = $("#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("treatmentlist", treatmentIdList);
formData.append("treatmentprocedurelist", treatmentProcedureIdList);
//formData.append("eventStartDate", eventStartDate);
//formData.append("eventEndDate", eventEndDate);
formData.append("eventStartDt", eventStartDt);
formData.append("eventEndDt", eventEndDt);
formData.append("file", file);
formData.append("content_file", content_file);
formData.append("oldCrmItemId", $("#oldCrmItemId").val());
@@ -255,9 +258,25 @@ function fn_selectListWebTreatmentPetitIntro() {
* 페이지 init
****************************************************************************/
function fn_pageInit() {
// 날짜 datepicker
fn_searchDatePicker("#eventStartDate", "#eventEndDate");
// 날짜 datepicker (jQuery UI)
$("#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();
}

View File

@@ -4,6 +4,7 @@
<th:block layout:fragment="layout_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/datepicker-fix.css">
</th:block>
<th:block layout:fragment="layout_top_script">
<!-- Pagination usage removed -->
@@ -73,6 +74,18 @@
</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) -->
<div class="grid-section">
<div class="grid-header">

View File

@@ -1,8 +1,6 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{/web/layout/homeLayout}">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" layout:decorate="~{/web/layout/homeLayout}">
<th:block layout:fragment="layout_css">
<link rel="stylesheet" href="/css/web/webTreatmentPetitSelectList.css">
<link rel="stylesheet" href="/css/web/grid.css?v1.1">
@@ -10,30 +8,30 @@
<th:block layout:fragment="layout_top_script">
<script src="/js/web/jquery.twbsPagination.js" type="text/javascript"></script>
<script>
let menuClass = "[[${param.menuClass}]]"==""?"":"[[${param.menuClass}]]";
let categoryDivCd = "[[${param.categoryDivCd}]]"==""?"":"[[${param.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 menuClass = "[[${param.menuClass}]]" == "" ? "" : "[[${param.menuClass}]]";
let categoryDivCd = "[[${param.categoryDivCd}]]" == "" ? "" : "[[${param.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 webTreatmentPetitSearchKeywordParam0 = "[[${param.webTreatmentPetitSearchKeywordParam0}]]";
let webTreatmentPetitSearchKeywordParam1 = "[[${param.webTreatmentPetitSearchKeywordParam1}]]";
let webTreatmentPetitSearchKeywordParam2 = "[[${param.webTreatmentPetitSearchKeywordParam2}]]";
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 webTreatmentPetitSearchEndDate = "[[${param.webTreatmentPetitSearchEndDate}]]";
let webTreatmentPetitSearchDateType = "[[${param.webTreatmentPetitSearchDateType}]]"==""?"A":"[[${param.webTreatmentPetitSearchDateType}]]";
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 webTreatmentPetitSearchEndDate = "[[${param.webTreatmentPetitSearchEndDate}]]";
let webTreatmentPetitSearchDateType = "[[${param.webTreatmentPetitSearchDateType}]]" == "" ? "A" : "[[${param.webTreatmentPetitSearchDateType}]]";
</script>
</th:block>
<th:block layout:fragment="layout_content">
@@ -42,35 +40,36 @@
<p class="page_title">[[${title}]]</p>
<div class="filter_box">
<div class="form_box">
<div class="form_box">
<!-- 이름input -->
<div class="search_list">
<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="카테고리">
<div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div>
<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="제목">
<div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div>
<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="작성자">
<div class="search_list"></div><!-- 검색내역 나오는곳 -->
</div>
<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="시술">
<div class="search_list"></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 class="right_btn_box">
@@ -99,6 +98,7 @@
</th:block>
<th:block layout:fragment="layout_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>
</html>

View File

@@ -4,6 +4,7 @@
<th:block layout:fragment="layout_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/datepicker-fix.css">
</th:block>
<th:block layout:fragment="layout_top_script">
<!-- Pagination usage removed -->
@@ -76,6 +77,18 @@
</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 -->
<div class="grid-section">
<div class="grid-header">