|
@@ -31,46 +31,31 @@
|
|
|
<table class="frmStyle" aria-describedby="검색조건">
|
|
<table class="frmStyle" aria-describedby="검색조건">
|
|
|
<colgroup>
|
|
<colgroup>
|
|
|
<col width="10%"/>
|
|
<col width="10%"/>
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
- <col width="10%"/>
|
|
|
|
|
|
|
+ <col/>
|
|
|
</colgroup>
|
|
</colgroup>
|
|
|
<tr>
|
|
<tr>
|
|
|
- <th>사이트</th>
|
|
|
|
|
|
|
+ <th>카테고리</th>
|
|
|
<td>
|
|
<td>
|
|
|
|
|
+ <input type="hidden" name="selLvl"/>
|
|
|
<select name="siteCd">
|
|
<select name="siteCd">
|
|
|
- <option value="">[전체]</option>
|
|
|
|
|
|
|
+<!-- <option value="">[사이트]</option> -->
|
|
|
<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
<option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
- </td>
|
|
|
|
|
- <th>카테고리구분</th>
|
|
|
|
|
- <td>
|
|
|
|
|
- <select name="cateGb" id="selCate1" onchange="fnChangeSelect($(this).val(), 2);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cateGb" id="selCate1" onchange="fnChangeSearchCondition($(this).val(), 1);">
|
|
|
|
|
+ <option value="">[카테고리구분]</option>
|
|
|
|
|
+ <option th:if="${cateGbList}" th:each="oneData, status : ${cateGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
- </td>
|
|
|
|
|
- <th>대카테고리</th>
|
|
|
|
|
- <td>
|
|
|
|
|
- <select name="tcateNo" id="selCate2" onchange="fnChangeSelect($(this).val(), 3);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate1No" id="selCate2" onchange="fnChangeSearchCondition($(this).val(), 2);">
|
|
|
|
|
+ <option value="">[카테고리1]</option>
|
|
|
</select>
|
|
</select>
|
|
|
- </td>
|
|
|
|
|
- <th>중카테고리</th>
|
|
|
|
|
- <td>
|
|
|
|
|
- <select name="mcateNo" id="selCate3" onchange="fnChangeSelect($(this).val(), 4);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate2No" id="selCate3" onchange="fnChangeSearchCondition($(this).val(), 3);">
|
|
|
|
|
+ <option value="">[카테고리2]</option>
|
|
|
</select>
|
|
</select>
|
|
|
- </td>
|
|
|
|
|
- <th>소카테고리</th>
|
|
|
|
|
- <td>
|
|
|
|
|
- <select name="scateNo" id="selCate4" onchange="fnChangeSelect($(this).val(), 5);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate3No" id="selCate4" onchange="fnChangeSearchCondition($(this).val(), 4);">
|
|
|
|
|
+ <option value="">[카테고리3]</option>
|
|
|
|
|
+ </select>
|
|
|
|
|
+ <select name="cate4No" id="selCate5" onchange="fnChangeSearchCondition($(this).val(), 5);">
|
|
|
|
|
+ <option value="">[카테고리4]</option>
|
|
|
</select>
|
|
</select>
|
|
|
</td>
|
|
</td>
|
|
|
</tr>
|
|
</tr>
|
|
@@ -98,9 +83,9 @@
|
|
|
<col/>
|
|
<col/>
|
|
|
</colgroup>
|
|
</colgroup>
|
|
|
<tr>
|
|
<tr>
|
|
|
- <th>카테고리번호<i class="required" title="필수"></i></th>
|
|
|
|
|
|
|
+ <th>카테고리번호</th>
|
|
|
<td>
|
|
<td>
|
|
|
- <input type="text" class="w200" name="cateNo" placeholder="자동생성" disabled="disabled" required="required" data-valid-name="카테고리번호"/>
|
|
|
|
|
|
|
+ <input type="text" class="w200" name="cateNo" placeholder="자동생성" readonly="readonly"/>
|
|
|
</td>
|
|
</td>
|
|
|
<th>카테고리명<i class="required" title="필수"></i></th>
|
|
<th>카테고리명<i class="required" title="필수"></i></th>
|
|
|
<td class="infoTxt">
|
|
<td class="infoTxt">
|
|
@@ -108,47 +93,52 @@
|
|
|
</td>
|
|
</td>
|
|
|
<th>카테고리유형<i class="required" title="필수"></i></th>
|
|
<th>카테고리유형<i class="required" title="필수"></i></th>
|
|
|
<td>
|
|
<td>
|
|
|
- <select name="cateType" id="cateType" data-valid-name="카테고리유형">
|
|
|
|
|
|
|
+ <select name="cateType" data-valid-name="카테고리유형">
|
|
|
<option th:if="${cateTypeList}" th:each="oneData, status : ${cateTypeList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
<option th:if="${cateTypeList}" th:each="oneData, status : ${cateTypeList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
</td>
|
|
</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr>
|
|
<tr>
|
|
|
- <th>상위카테고리<i class="star"></i></th>
|
|
|
|
|
|
|
+ <th>상위카테고리<i class="required" title="필수"></i></th>
|
|
|
<td colspan="5">
|
|
<td colspan="5">
|
|
|
- <input name="selLvl" type="hidden"/>
|
|
|
|
|
- <select name="siteCd" id="cateLvl" data-valid-name="사이트" onchange="fnChangeSelectCateLvl($(this).val(), 1);">
|
|
|
|
|
- <option value="null">[선택]</option>
|
|
|
|
|
- <option th:if="${siteCdList}" th:each="oneData, status : ${siteCdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
|
|
|
|
+ <input type="hidden" name="selLvl"/>
|
|
|
|
|
+ <select name="siteCd" data-valid-name="사이트">
|
|
|
|
|
+<!-- <option value="">[사이트]</option> -->
|
|
|
|
|
+ <option th:if="${siteList}" th:each="oneData, status : ${siteList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
- <select name="cateGb" id="cateLvl1" data-valid-name="카테고리구분" onchange="fnChangeSelectCateLvl($(this).val(), 2);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cateGb" id="cateLvl1" data-valid-name="카테고리구분" onchange="fnChangeUpperCategory($(this).val(), 1);">
|
|
|
|
|
+ <option value="">[카테고리구분]</option>
|
|
|
|
|
+ <option th:if="${cateGbList}" th:each="oneData, status : ${cateGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
- <select name="tcateCd" id="cateLvl2" data-valid-name="대카테고리" onchange="fnChangeSelectCateLvl($(this).val(), 3);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate1No" id="cateLvl2" data-valid-name="카테고리1" onchange="fnChangeUpperCategory($(this).val(), 2);">
|
|
|
|
|
+ <option value="">[카테고리1]</option>
|
|
|
</select>
|
|
</select>
|
|
|
- <select name="mcateCd" id="cateLvl3" data-valid-name="중카테고리" onchange="fnChangeSelectCateLvl($(this).val(), 4);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate2No" id="cateLvl3" data-valid-name="카테고리2" onchange="fnChangeUpperCategory($(this).val(), 3);">
|
|
|
|
|
+ <option value="">[카테고리2]</option>
|
|
|
</select>
|
|
</select>
|
|
|
- <select name="scateCd" id="cateLvl4" data-valid-name="소카테고리" onchange="fnChangeSelectCateLvl($(this).val(), 5);">
|
|
|
|
|
- <option value="">[선택]</option>
|
|
|
|
|
|
|
+ <select name="cate3No" id="cateLvl4" data-valid-name="카테고리3" onchange="fnChangeUpperCategory($(this).val(), 4);">
|
|
|
|
|
+ <option value="">[카테고리3]</option>
|
|
|
|
|
+ </select>
|
|
|
|
|
+ <select name="cate4No" id="cateLvl5" data-valid-name="카테고리4" onchange="fnChangeUpperCategory($(this).val(), 5);">
|
|
|
|
|
+ <option value="">[카테고리4]</option>
|
|
|
</select>
|
|
</select>
|
|
|
</td>
|
|
</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr>
|
|
<tr>
|
|
|
<th>노출순서<i class="required" title="필수"></i></th>
|
|
<th>노출순서<i class="required" title="필수"></i></th>
|
|
|
<td>
|
|
<td>
|
|
|
- <input type="text" class="w100" name="dispOrd" maxlength="5" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
|
|
|
|
|
|
|
+ <input type="text" class="aR w100" name="dispOrd" maxlength="5" required="required" data-valid-type="integer" data-valid-name="노출순서"/>
|
|
|
</td>
|
|
</td>
|
|
|
<th>정상이월구분</th>
|
|
<th>정상이월구분</th>
|
|
|
<td>
|
|
<td>
|
|
|
<select name="formalGb">
|
|
<select name="formalGb">
|
|
|
- <option th:if="${formalList}" th:each="oneData, status : ${formalList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
|
|
|
|
+ <option value="">[선택]</option>
|
|
|
|
|
+ <option th:if="${formalGbList}" th:each="oneData, status : ${formalGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
|
</td>
|
|
</td>
|
|
|
<th>컨텐츠위치</th>
|
|
<th>컨텐츠위치</th>
|
|
|
<td>
|
|
<td>
|
|
|
- <select name="contentsLoc" disabled="disabled" required="required" data-valid-name="컨텐츠위치">
|
|
|
|
|
|
|
+ <select name="contentsLoc">
|
|
|
<option value="">[선택]</option>
|
|
<option value="">[선택]</option>
|
|
|
<option th:if="${contentsLocList}" th:each="oneData, status : ${contentsLocList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
<option th:if="${contentsLocList}" th:each="oneData, status : ${contentsLocList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
|
|
|
</select>
|
|
</select>
|
|
@@ -176,7 +166,7 @@
|
|
|
<li class="right">
|
|
<li class="right">
|
|
|
<button type="button" class="btn btn-info btn-lg" id="btnNew">신규</button>
|
|
<button type="button" class="btn btn-info btn-lg" id="btnNew">신규</button>
|
|
|
<button type="button" class="btn btn-success btn-lg" id="btnSave">저장</button>
|
|
<button type="button" class="btn btn-success btn-lg" id="btnSave">저장</button>
|
|
|
- <button type="button" class="btn btn-base btn-lg" id="btnRef4Srch" th:if="${sessionInfo.roleCd == '0000'}">4SRCH 갱신</button>
|
|
|
|
|
|
|
+ <button type="button" class="btn btn-base btn-lg" id="btnRefresh4Srch" th:if="${sessionInfo.roleCd == 'G001_0000'}">4SRCH 갱신</button>
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
<!-- //버튼 배치 영역 -->
|
|
<!-- //버튼 배치 영역 -->
|
|
@@ -189,6 +179,8 @@
|
|
|
let siteList = gagajf.convertToArray([[${siteList}]]);
|
|
let siteList = gagajf.convertToArray([[${siteList}]]);
|
|
|
let cateGbList = gagajf.convertToArray([[${cateGbList}]]);
|
|
let cateGbList = gagajf.convertToArray([[${cateGbList}]]);
|
|
|
let cateTypeList = gagajf.convertToArray([[${cateTypeList}]]);
|
|
let cateTypeList = gagajf.convertToArray([[${cateTypeList}]]);
|
|
|
|
|
+ let formalGbList = gagajf.convertToArray([[${formalGbList}]]);
|
|
|
|
|
+ let conentsLocList = gagajf.convertToArray([[${conentsLocList}]]);
|
|
|
|
|
|
|
|
let columnDefs = [
|
|
let columnDefs = [
|
|
|
{
|
|
{
|
|
@@ -197,7 +189,7 @@
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
headerName: "카테고리구분", field: "cateGb", width: 150, cellClass: 'text-center',
|
|
headerName: "카테고리구분", field: "cateGb", width: 150, cellClass: 'text-center',
|
|
|
- valueFormatter: function (params) { return gagaAgGrid.lookupValue(cateGbList, params.value); }
|
|
|
|
|
|
|
+ cellRenderer: function (params) { return gagaAgGrid.lookupValue(cateGbList, params.value); }
|
|
|
},
|
|
},
|
|
|
{headerName: "카테고리번호", field: "cateNo", width: 150, cellClass: 'text-center'},
|
|
{headerName: "카테고리번호", field: "cateNo", width: 150, cellClass: 'text-center'},
|
|
|
{
|
|
{
|
|
@@ -208,12 +200,18 @@
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
headerName: "카테고리유형", field: "cateType", width: 150, cellClass: 'text-center',
|
|
headerName: "카테고리유형", field: "cateType", width: 150, cellClass: 'text-center',
|
|
|
- valueFormatter: function (params) { gagaAgGrid.lookupValue(cateTypeList, params.value); }
|
|
|
|
|
|
|
+ cellRenderer: function (params) { gagaAgGrid.lookupValue(cateTypeList, params.value); }
|
|
|
},
|
|
},
|
|
|
{headerName: "말단여부", field: "leafYn", width: 80, cellClass: 'text-center'},
|
|
{headerName: "말단여부", field: "leafYn", width: 80, cellClass: 'text-center'},
|
|
|
{headerName: "노출순서", field: "dispOrd", width: 100, cellClass: 'text-center'},
|
|
{headerName: "노출순서", field: "dispOrd", width: 100, cellClass: 'text-center'},
|
|
|
- {headerName: "정상이월구분", field: "formalGb", width: 150, cellClass: 'text-center'},
|
|
|
|
|
- {headerName: "컨텐츠위치", field: "contentsLoc", width: 150, cellClass: 'text-center'},
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ headerName: "정상이월구분", field: "formalGb", width: 150, cellClass: 'text-center',
|
|
|
|
|
+ cellRenderer: function (params) { return gagaAgGrid.lookupValue(formalGbList, params.value); }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ headerName: "컨텐츠위치", field: "contentsLoc", width: 200, cellClass: 'text-center',
|
|
|
|
|
+ cellRenderer: function (params) { return gagaAgGrid.lookupValue(conentsLocList, params.value); }
|
|
|
|
|
+ },
|
|
|
{headerName: "노출여부", field: "dispYn", width: 80, cellClass: 'text-center'},
|
|
{headerName: "노출여부", field: "dispYn", width: 80, cellClass: 'text-center'},
|
|
|
{headerName: "사용여부", field: "useYn", width: 80, cellClass: 'text-center'}
|
|
{headerName: "사용여부", field: "useYn", width: 80, cellClass: 'text-center'}
|
|
|
];
|
|
];
|
|
@@ -226,164 +224,174 @@
|
|
|
return;
|
|
return;
|
|
|
|
|
|
|
|
$("#btnNew").click();
|
|
$("#btnNew").click();
|
|
|
- var formId = '#detailForm';
|
|
|
|
|
- $(formId + " input[name=cateNo]").val(event.data.cateNo);
|
|
|
|
|
- $(formId + " input[name=cateNm]").val(event.data.cateNm);
|
|
|
|
|
- $(formId + " select[name=cateType]").val(event.data.cateType);
|
|
|
|
|
- $(formId + " input[name=dispOrd]").val(event.data.dispOrd);
|
|
|
|
|
- $(formId + " select[name=formalGb]").val(event.data.formalGb);
|
|
|
|
|
- $(formId + " select[name=contentsLoc]").val(event.data.contentsLoc);
|
|
|
|
|
- $(formId + " input:radio[name=dispYn]:input[value="+event.data.dispYn+"]").click();
|
|
|
|
|
- $(formId + " input:radio[name=useYn]:input[value="+event.data.useYn+"]").click();
|
|
|
|
|
- var selLvl = $("#selLvl").val();
|
|
|
|
|
- $("#cateLvl").html($("#selCate").html());
|
|
|
|
|
- $("#cateLvl").val($("#selCate").val());
|
|
|
|
|
- for(var i=1; i<5; i++){
|
|
|
|
|
- $("#cateLvl"+i).html($("#selCate"+i).html());
|
|
|
|
|
- $("#cateLvl"+i).val($("#selCate"+i).val());
|
|
|
|
|
- if(i>=selLvl){
|
|
|
|
|
- $("#cateLvl"+i).hide();
|
|
|
|
|
- }else{
|
|
|
|
|
- $("#cateLvl"+i).show();
|
|
|
|
|
|
|
+ $('#detailForm input[name=siteCd]').val(event.data.siteCd);
|
|
|
|
|
+ $('#detailForm input[name=cateNo]').val(event.data.cateNo);
|
|
|
|
|
+ $('#detailForm input[name=cateNm]').val(event.data.cateNm);
|
|
|
|
|
+ $('#detailForm select[name=cateType]').val(event.data.cateType);
|
|
|
|
|
+
|
|
|
|
|
+ // 상위카테고리
|
|
|
|
|
+ var selLvl = $("#searchForm input[name=selLvl]").val();
|
|
|
|
|
+ for (let i = 1; i <= 5; i++) {
|
|
|
|
|
+ $("#cateLvl" + i).html($("#selCate" + i).html());
|
|
|
|
|
+ $("#cateLvl" + i).val($("#selCate" + i).val());
|
|
|
|
|
+ if (i >= selLvl) {
|
|
|
|
|
+ $("#cateLvl" + i).hide();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ $("#cateLvl" + i).show();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- $(formId + " input[name=selLvl]").val(selLvl);
|
|
|
|
|
- if(event.data.cateType=="20"){
|
|
|
|
|
- $(formId + " select[name=contentsLoc]").val(event.data.contentsLoc);
|
|
|
|
|
- $(formId + " select[name=contentsLoc]").prop('disabled', false);
|
|
|
|
|
- $(formId + " select[name=contentsLoc]").removeClass('formControl');
|
|
|
|
|
|
|
+ $('#detailForm input[name=selLvl]').val(selLvl);
|
|
|
|
|
+
|
|
|
|
|
+ $('#detailForm input[name=dispOrd]').val(event.data.dispOrd);
|
|
|
|
|
+ $('#detailForm select[name=formalGb]').val(event.data.formalGb);
|
|
|
|
|
+ $('#detailForm select[name=contentsLoc]').val(event.data.contentsLoc);
|
|
|
|
|
+
|
|
|
|
|
+ // 카테고리유형에 따른 컨텐츠위치 설정 변경
|
|
|
|
|
+ if (event.data.cateType == 'G031_10') {
|
|
|
|
|
+ $('#detailForm select[name=contentsLoc]').prop('disabled', true);
|
|
|
|
|
+ } else if (event.data.cateType == 'G031_20') {
|
|
|
|
|
+ $('#detailForm select[name=contentsLoc]').prop('disabled', false);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ $('#detailForm input:radio[name=dispYn]:input[value=' + event.data.dispYn + ']').click();
|
|
|
|
|
+ $('#detailForm input:radio[name=useYn]:input[value=' + event.data.useYn + ']').click();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- var fnChangeSelect = function(val, selLvl){
|
|
|
|
|
- if (val == '') {
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 검색폼의 카테고리 선택 시
|
|
|
|
|
+ */
|
|
|
|
|
+ var fnChangeSearchCondition = function(val, selLvl) {
|
|
|
|
|
+ if (gagajf.isNull(val)) {
|
|
|
if (selLvl > 1) {
|
|
if (selLvl > 1) {
|
|
|
selLvl = selLvl - 1;
|
|
selLvl = selLvl - 1;
|
|
|
} else {
|
|
} else {
|
|
|
selLvl = 1;
|
|
selLvl = 1;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- $("#selLvl").val(selLvl);
|
|
|
|
|
|
|
+ $('#searchForm input[name=selLvl]').val(selLvl);
|
|
|
|
|
|
|
|
// Fetch data
|
|
// Fetch data
|
|
|
- gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm', fnChangeCategory);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- var fnChangeCategory = function(data){
|
|
|
|
|
- var selLvl = $("#selLvl").val();
|
|
|
|
|
- var cd = '';
|
|
|
|
|
- var nm = '';
|
|
|
|
|
- var html = '<option value="">[선택]</option>';
|
|
|
|
|
- for (var i = 1; i < 5; i++) {
|
|
|
|
|
- if (i > selLvl) {
|
|
|
|
|
- $("#selCate"+i).html(html);
|
|
|
|
|
|
|
+ gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm', function(data) {
|
|
|
|
|
+ let selLvl = Number($('#searchForm input[name=selLvl]').val()) + 1;
|
|
|
|
|
+
|
|
|
|
|
+ for (let i = 2; i <= 5; i++) {
|
|
|
|
|
+ if (i >= selLvl) {
|
|
|
|
|
+ $('#selCate' + i).html('<option value="">[카테고리' + (i - 1) + ']</option>');
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- for (var i = 0; i < data.length; i++) {
|
|
|
|
|
- if (data[i].useYn == 'Y') {
|
|
|
|
|
- if (selLvl == '1') {
|
|
|
|
|
- cd = data[i].cateGb;
|
|
|
|
|
- nm = gagaAgGrid.lookupValue(cateGbList, cd);
|
|
|
|
|
- } else {
|
|
|
|
|
- cd = data[i].cateCd;
|
|
|
|
|
- nm = data[i].cateNm;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ let tag = '';
|
|
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
|
|
+ if (data[i].useYn == 'Y') {
|
|
|
|
|
+ tag += '<option value="' + data[i].cateNo + '">[' + data[i].cateNo + '] ' + data[i].cateNm + '</option>';
|
|
|
}
|
|
}
|
|
|
- html += '<option value="'+cd+'">['+cd+'] '+nm+'</option>';
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- $("#selCate" + selLvl).html(html);
|
|
|
|
|
- $("#btnNew").click();
|
|
|
|
|
|
|
+
|
|
|
|
|
+ $("#selCate" + selLvl).append(tag);
|
|
|
|
|
+ $("#btnNew").click();
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- var fnChangeSelectCateLvl = function(val, selLvl){
|
|
|
|
|
- if(val==''){
|
|
|
|
|
- if(selLvl>1){
|
|
|
|
|
- selLvl = selLvl - 1;
|
|
|
|
|
- }else{
|
|
|
|
|
- selLvl = '';
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 카테고리유형 변경 시
|
|
|
|
|
+ $('#detailForm select[name=cateType]').on('change', function() {
|
|
|
|
|
+ if ($(this).val() == 'G031_10') { // 상품분류카테고리
|
|
|
|
|
+ $("#detailForm select[name=contentsLoc]").prop('disabled', true);
|
|
|
|
|
+ } else if ($(this).val() == 'G031_20') { // 컨텐츠카테고리
|
|
|
|
|
+ $("#detailForm select[name=contentsLoc]").prop('disabled', false);
|
|
|
}
|
|
}
|
|
|
- $("#detailForm input[name=selLvl]").val(selLvl);
|
|
|
|
|
- gagajf.ajaxFormSubmit($('#searchForm').prop('action'), "#detailForm", fnChangeCateLvl);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
|
|
|
|
|
- var fnChangeCateLvl = function(data){
|
|
|
|
|
- var selLvl = $("#detailForm input[name=selLvl]").val();
|
|
|
|
|
- var cd = '';
|
|
|
|
|
- var nm = '';
|
|
|
|
|
- var html = '<option value="">[선택]</option>';
|
|
|
|
|
- for(var i=1; i<5; i++){
|
|
|
|
|
- if(i>selLvl){
|
|
|
|
|
- $("#cateLvl"+i).html(html);
|
|
|
|
|
|
|
+ // 등록/수정폼의 상위카테고리 선택 시
|
|
|
|
|
+ var fnChangeUpperCategory = function(val, selLvl) {
|
|
|
|
|
+ if (gagajf.isNull(val)) {
|
|
|
|
|
+ if (selLvl > 1) {
|
|
|
|
|
+ selLvl = selLvl - 1;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ selLvl = 1;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- for(var i=0; i<data.length; i++){
|
|
|
|
|
- if(data[i].useYn=='Y'){
|
|
|
|
|
- if(selLvl=='1'){
|
|
|
|
|
- cd = data[i].cateGb;
|
|
|
|
|
- nm = gagaAgGrid.lookupValue(cateGbList, cd);
|
|
|
|
|
- }else{
|
|
|
|
|
- cd = data[i].cateCd;
|
|
|
|
|
- nm = data[i].cateNm;
|
|
|
|
|
|
|
+ $('#detailForm input[name=selLvl]').val(selLvl);
|
|
|
|
|
+
|
|
|
|
|
+ gagajf.ajaxFormSubmit($('#searchForm').prop('action'), "#detailForm", function(data) {
|
|
|
|
|
+ let selLvl = Number($('#detailForm input[name=selLvl]').val()) + 1;
|
|
|
|
|
+
|
|
|
|
|
+ for (let i = 2; i <= 5; i++) {
|
|
|
|
|
+ if (i >= selLvl) {
|
|
|
|
|
+ $('#cateLvl' + i).html('<option value="">[카테고리' + (i - 1) + ']</option>');
|
|
|
}
|
|
}
|
|
|
- html += '<option value="'+cd+'">['+cd+'] '+nm+'</option>';
|
|
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- $("#cateLvl"+selLvl).html(html);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ let tag = '';
|
|
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
|
|
+ if (data[i].useYn == 'Y') {
|
|
|
|
|
+ tag += '<option value="' + data[i].cateNo + '">[' + data[i].cateNo + '] ' + data[i].cateNm + '</option>';
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $("#cateLvl" + selLvl).append(tag);
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- // 카테고리 저장/수정
|
|
|
|
|
|
|
+ // 신규
|
|
|
|
|
+ $('#btnNew').on('click', function(){
|
|
|
|
|
+ $("#detailForm")[0].reset();
|
|
|
|
|
+// $("#detailForm input[name=selLvl]").val('');
|
|
|
|
|
+ for (let i = 2; i <= 5; i++) {
|
|
|
|
|
+ $("#cateLvl" + i).show();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ // 저장
|
|
|
$('#btnSave').on('click', function() {
|
|
$('#btnSave').on('click', function() {
|
|
|
- var formId = '#detailForm';
|
|
|
|
|
- var cateCd = $(formId + " input[name=cateCd]").val();
|
|
|
|
|
- var cateNm = $(formId + " input[name=cateNm]").val();
|
|
|
|
|
|
|
+ // 입력 값 체크
|
|
|
|
|
+ if (!gagajf.validation('#detailForm'))
|
|
|
|
|
+ return false;
|
|
|
|
|
|
|
|
- var cateType = $(formId + " select[name=cateType]").val();
|
|
|
|
|
- var dispOrd = $(formId + " input[name=dispOrd]").val();
|
|
|
|
|
- var formalGb = $(formId + " select[name=formalGb]").val();
|
|
|
|
|
- var contentsLoc = $(formId + " select[name=contentsLoc]").val();
|
|
|
|
|
- var dispYn = $(formId + " input:radio[name=dispYn]:checked").val();
|
|
|
|
|
- var useYn = $(formId + " input:radio[name=useYn]:checked").val();
|
|
|
|
|
- var siteCd = $(formId + " select[name=siteCd]").val();
|
|
|
|
|
- var cateGb = $(formId + " select[name=cateGb]").val();
|
|
|
|
|
- var tcateCd = $(formId + " select[name=tcateCd]").val();
|
|
|
|
|
- var mcateCd = $(formId + " select[name=mcateCd]").val();
|
|
|
|
|
- var scateCd = $(formId + " select[name=scateCd]").val();
|
|
|
|
|
- var dcateCd = $(formId + " select[name=dcateCd]").val();
|
|
|
|
|
- var selLvl = Number($(formId + " input[name=selLvl]").val());
|
|
|
|
|
- if(cateNm==''){
|
|
|
|
|
- gagajf.alertMessage(formId + " input[name=cateNm]", 'input');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if(cateType==''){
|
|
|
|
|
- gagajf.alertMessage(formId + " select[name=cateType]", 'select');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if(dispOrd==''){
|
|
|
|
|
- gagajf.alertMessage(formId + " input[name=dispOrd]", 'input');
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if(siteCd==''){
|
|
|
|
|
- gagajf.alertMessage(formId + " select[name=siteCd]", 'select');
|
|
|
|
|
- return;
|
|
|
|
|
|
|
+ let selLvl = Number($('#detailForm input[name=selLvl]').val());
|
|
|
|
|
+ if (gagajf.isNull($('#detailForm select[name=cate1No]').val())) {
|
|
|
|
|
+ if (selLvl > 2) {
|
|
|
|
|
+ mcxDialog.alertC('카테고리1을 선택해 주세요.', {
|
|
|
|
|
+ sureBtnText: "확인",
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ $('#detailForm select[name=cate1No]').focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- var testSelLvl = $("#selLvl").val();
|
|
|
|
|
- if(tcateCd==''){
|
|
|
|
|
- if(testSelLvl>2){
|
|
|
|
|
- gagajf.alertMessage(formId + " select[name=tcateCd]", 'select');
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (gagajf.isNull($('#detailForm select[name=cate2No]').val())) {
|
|
|
|
|
+ if (selLvl > 3) {
|
|
|
|
|
+ mcxDialog.alertC('카테고리2를 선택해 주세요.', {
|
|
|
|
|
+ sureBtnText: "확인",
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ $('#detailForm select[name=cate2No]').focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- if(mcateCd==''){
|
|
|
|
|
- if(testSelLvl>3){
|
|
|
|
|
- gagajf.alertMessage(formId + " select[name=mcateCd]", 'select');
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (gagajf.isNull($('#detailForm select[name=cate3No]').val())) {
|
|
|
|
|
+ if (selLvl > 4) {
|
|
|
|
|
+ mcxDialog.alertC('카테고리3을 선택해 주세요.', {
|
|
|
|
|
+ sureBtnText: "확인",
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ $('#detailForm select[name=cate3No]').focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- if(scateCd==''){
|
|
|
|
|
- if(testSelLvl>4){
|
|
|
|
|
- gagajf.alertMessage(formId + " select[name=scateCd]", 'select');
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if (gagajf.isNull($('#detailForm select[name=cate4No]').val())) {
|
|
|
|
|
+ if (selLvl > 5) {
|
|
|
|
|
+ mcxDialog.alertC('카테고리4를 선택해 주세요.', {
|
|
|
|
|
+ sureBtnText: "확인",
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ $('#detailForm select[name=cate4No]').focus();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -391,69 +399,33 @@
|
|
|
mcxDialog.confirm('저장하시겠습니까?', {
|
|
mcxDialog.confirm('저장하시겠습니까?', {
|
|
|
cancelBtnText: "취소",
|
|
cancelBtnText: "취소",
|
|
|
sureBtnText: "확인",
|
|
sureBtnText: "확인",
|
|
|
- sureBtnClick: function(){
|
|
|
|
|
- var data = {
|
|
|
|
|
- formId : formId,
|
|
|
|
|
- cateCd : cateCd,
|
|
|
|
|
- cateNm : cateNm,
|
|
|
|
|
- cateType : cateType,
|
|
|
|
|
- dispOrd : dispOrd,
|
|
|
|
|
- formalGb : formalGb,
|
|
|
|
|
- contentsLoc : contentsLoc,
|
|
|
|
|
- dispYn : dispYn,
|
|
|
|
|
- useYn : useYn,
|
|
|
|
|
- siteCd : siteCd,
|
|
|
|
|
- cateGb : cateGb,
|
|
|
|
|
- tcateCd : tcateCd,
|
|
|
|
|
- mcateCd : mcateCd,
|
|
|
|
|
- scateCd : scateCd,
|
|
|
|
|
- dcateCd : dcateCd,
|
|
|
|
|
- selLvl : selLvl
|
|
|
|
|
- };
|
|
|
|
|
- var jsonData = JSON.stringify(data);
|
|
|
|
|
- gagajf.ajaxJsonSubmit($(formId).prop('action'), jsonData, fnSaveCallback);
|
|
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ $("#detailForm select[name=contentsLoc]").prop('disabled', false);
|
|
|
|
|
+
|
|
|
|
|
+ var jsonData = JSON.stringify($('#detailForm').serializeObject());
|
|
|
|
|
+ gagajf.ajaxFormSubmit($('#detailForm').prop('action'), '#detailForm', function() {
|
|
|
|
|
+ $('#btnNew').trigger('click');
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- $("#btnRef4Srch").on("click", function(){
|
|
|
|
|
- var data = [];
|
|
|
|
|
- var jsonData = JSON.stringify(data);
|
|
|
|
|
- gagajf.ajaxJsonSubmit('/display/category/refresh4srch', jsonData, fnSaveCallback);
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // 신규 버튼 클릭
|
|
|
|
|
- $("#btnNew").on("click", function(){
|
|
|
|
|
- $("#detailForm")[0].reset();
|
|
|
|
|
- $("#detailForm input[name=selLvl]").val('');
|
|
|
|
|
- for(var i=1; i<5; i++){
|
|
|
|
|
- $("#cateLvl"+i).show();
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- $("#cateType").on("change", function(){
|
|
|
|
|
- if($(this).val()=='20'){
|
|
|
|
|
- $("#detailForm select[name=contentsLoc]").prop('disabled', false);
|
|
|
|
|
- $("#detailForm select[name=contentsLoc]").removeClass('formControl');
|
|
|
|
|
- }else{
|
|
|
|
|
- $("#detailForm select[name=contentsLoc]").prop('disabled', true);
|
|
|
|
|
- $("#detailForm select[name=contentsLoc]").addClass('formControl');
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // 카테고리 갱신
|
|
|
|
|
+ $("#btnRefresh4Srch").on("click", function() {
|
|
|
|
|
+ mcxDialog.confirm('갱신하시겠습니까?', {
|
|
|
|
|
+ cancelBtnText: "취소",
|
|
|
|
|
+ sureBtnText: "확인",
|
|
|
|
|
+ sureBtnClick: function() {
|
|
|
|
|
+ gagajf.ajaxJsonSubmit('/display/category/refresh', null);
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
- var fnSaveCallback = function() {
|
|
|
|
|
- // Fetch data
|
|
|
|
|
- gagaAgGrid.fetch($('#searchForm').prop('action'), gridOptions, '#searchForm', fnChangeCategory);
|
|
|
|
|
- $("#btnNew").click();
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
$(document).ready(function() {
|
|
$(document).ready(function() {
|
|
|
// Create a agGrid
|
|
// Create a agGrid
|
|
|
gagaAgGrid.createGrid('gridList', gridOptions);
|
|
gagaAgGrid.createGrid('gridList', gridOptions);
|
|
|
|
|
|
|
|
$("#detailForm select[name=contentsLoc]").prop('disabled', false);
|
|
$("#detailForm select[name=contentsLoc]").prop('disabled', false);
|
|
|
- gagajf.setDate('schStDate', 'schEdDate', 't');
|
|
|
|
|
- fnChangeSelect($("#selCate").val(), 1);
|
|
|
|
|
});
|
|
});
|
|
|
/*]]>*/
|
|
/*]]>*/
|
|
|
</script>
|
|
</script>
|