|
|
@@ -26,8 +26,9 @@
|
|
|
<!-- //메뉴 설명 -->
|
|
|
|
|
|
<!-- 검색조건 영역 -->
|
|
|
- <div class="panelStyle">
|
|
|
- <form id="searchForm" name="searchForm" action="#" th:action="@{'/display/category/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
|
|
|
+ <form id="searchForm" name="searchForm" action="#" th:action="@{'/display/category/goods/list'}" onsubmit="$('#btnSearch').trigger('click'); return false;">
|
|
|
+ <div class="panelStyle">
|
|
|
+ <input type="hidden" id="searchGb" name="searchGb" />
|
|
|
<table class="frmStyle" aria-describedby="검색조건">
|
|
|
<colgroup>
|
|
|
<col width="10%"/>
|
|
|
@@ -60,35 +61,71 @@
|
|
|
</td>
|
|
|
</tr>
|
|
|
</table>
|
|
|
- </form>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
<!-- 검색조건 영역 -->
|
|
|
|
|
|
- <!-- 리스트 영역 -->
|
|
|
+ <!-- 패널 영역1 -->
|
|
|
<div class="panelStyle">
|
|
|
- <div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
|
|
|
+ <!-- 상단버튼 영역 -->
|
|
|
+ <ul class="panelBar">
|
|
|
+ <li>
|
|
|
+ <span id="goodsSearch" class="btnLeft" style="display:none">
|
|
|
+ <span style="padding:5.5px 15px; background:#d8eafc !important; border-top:1px solid #ddd; border-bottom:0.5px solid #dae0fd; font-weight: bold;">상품코드</span>
|
|
|
+ <input type="text" class="w100" name="goodsCd" id="goodsCd" />
|
|
|
+ <button type="button" class="btn btn-base btn-lg" id="btnSearch">조회</button>
|
|
|
+ <button type="button" class="btn btn-default btn-lg" onclick="cfnDownloadSampleFile('SF003');">엑셀조회 양식 다운로드</button>
|
|
|
+ <button type="button" class="btn btn-base btn-lg" id="btnExcelSearch">엑셀조회</button>
|
|
|
+ </span>
|
|
|
+ </li>
|
|
|
+ <li class="right">
|
|
|
+ 검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>
|
|
|
+ 쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>
|
|
|
+ <select id="pageSize" name="pageSize">
|
|
|
+ <option value="50" selected="selected">50개씩 보기</option>
|
|
|
+ <option value="100">100개씩 보기</option>
|
|
|
+ <option value="500">500개씩 보기</option>
|
|
|
+ <option value="1000">1000개씩 보기</option>
|
|
|
+ </select>
|
|
|
+ <input type="hidden" name="pageNo" id="pageNo" value ="1"/>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <!-- 검색결과 영역 -->
|
|
|
+ <!--<div id="gridList" style="width: 100%; height: 700px;" class="ag-theme-balham lh60"></div>-->
|
|
|
+ <div id="gridList" style="width: 100%; height: 570px" class="ag-theme-balham"></div>
|
|
|
+ <ul class="panelBar">
|
|
|
+ <li class="center">
|
|
|
+ <div class="tablePaging" id="categoryGoodsListPagination"></div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <ul class="panelBar">
|
|
|
+ <li class="aR" id="btnGoodsEdit" style="display:none">
|
|
|
+ <button type="button" class="btn btn-primary btn-lg leafCateBtn" id="btnAddGoods">상품추가</button>
|
|
|
+ <!-- <button type="button" class="btn btn-primary btn-lg" id="btnDispChange">순서변경</button>
|
|
|
+ <button type="button" class="btn btn-primary btn-lg" id="btnSelectTop">선택최상위로</button> -->
|
|
|
+ <button type="button" class="btn btn-danger btn-lg" id="btnSelectDel">선택삭제</button>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
</div>
|
|
|
- <!-- //리스트 영역 -->
|
|
|
|
|
|
- <!-- 등록/수정 -->
|
|
|
- <div class="panelStyle">
|
|
|
- <form id="detailForm" name="detailForm" action="#" th:action="@{'/display/category/save'}">
|
|
|
+ <!-- 상품이동/복사 -->
|
|
|
+ <div class="panelStyle" id="addCategory" style="display:none">
|
|
|
+ <form id="saveForm" name="saveForm" action="#" th:action="@{'/display/goods/category/save'}">
|
|
|
|
|
|
</form>
|
|
|
|
|
|
<!-- 버튼 배치 영역 -->
|
|
|
<ul class="panelBar">
|
|
|
<li class="right">
|
|
|
- <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-base btn-lg" id="btnRefresh4Srch" th:if="${sessionInfo.roleCd == 'G001_0000'}">4SRCH 갱신</button>-->
|
|
|
+ <button type="button" class="btn btn-primary btn-lg leafCateBtn" id="btnMoveGoods">상품이동</button>
|
|
|
+ <button type="button" class="btn btn-primary btn-lg leafCateBtn" id="btnCopyGoods">상품복사</button>
|
|
|
</li>
|
|
|
</ul>
|
|
|
<!-- //버튼 배치 영역 -->
|
|
|
</div>
|
|
|
- <!-- 등록/수정 -->
|
|
|
+ <!-- 상품이동/복사 -->
|
|
|
+ </form>
|
|
|
</div>
|
|
|
-
|
|
|
+<script type="text/javascript" src="/ux/plugins/gaga/gaga.paging.js?v=2019072202"></script>
|
|
|
<script th:inline="javascript">
|
|
|
/*<![CDATA[*/
|
|
|
let siteList = gagajf.convertToArray([[${siteList}]]);
|
|
|
@@ -97,80 +134,32 @@
|
|
|
let formalGbList = gagajf.convertToArray([[${formalGbList}]]);
|
|
|
let conentsLocList = gagajf.convertToArray([[${conentsLocList}]]);
|
|
|
|
|
|
- let columnDefs = [
|
|
|
- {
|
|
|
- headerName: "사이트", field: "siteCd", width: 150, cellClass: 'text-center',
|
|
|
- valueFormatter: function (params) { return gagaAgGrid.lookupValue(siteList, params.value); }
|
|
|
- },
|
|
|
- {
|
|
|
- headerName: "카테고리구분", field: "cateGb", width: 150, cellClass: 'text-center',
|
|
|
- cellRenderer: function (params) { return gagaAgGrid.lookupValue(cateGbList, params.value); }
|
|
|
- },
|
|
|
- {headerName: "카테고리번호", field: "cateNo", width: 150, cellClass: 'text-center'},
|
|
|
- {
|
|
|
- headerName: "카테고리명", field: "cateNm", width: 150, cellClass: 'text-center',
|
|
|
- cellRenderer: function(params) {
|
|
|
- return '<a href="javascript:void(0);">' + params.value + '</a>';
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
- headerName: "카테고리유형", field: "cateType", width: 150, cellClass: 'text-center',
|
|
|
- cellRenderer: function (params) { return gagaAgGrid.lookupValue(cateTypeList, params.value); }
|
|
|
- },
|
|
|
- {headerName: "말단여부", field: "leafYn", width: 80, cellClass: 'text-center'},
|
|
|
- {headerName: "노출순서", field: "dispOrd", width: 100, 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: "useYn", width: 80, cellClass: 'text-center'}
|
|
|
+ let columnDefs1 = [
|
|
|
+ {width: 40, minWidth: 40, cellClass: 'text-center', headerCheckboxSelection: true, checkboxSelection: true, filter: false},
|
|
|
+ /*{headerName: 'No', width: 60, cellClass: 'text-center',
|
|
|
+ valueGetter: function(params) { return cfnGridNumner('searchForm',params.node.rowIndex, 'A');}
|
|
|
+ },*/
|
|
|
+ {headerName: "상품코드", field: "goodsCd", width: 150, cellClass: 'text-center'},
|
|
|
+ {headerName: "상품타이틀명", field: "goodsTnm", width: 150, cellClass: 'text-center'},
|
|
|
+ {headerName: "상품명", field: "goodsNm", width: 200, cellClass: 'text-center'},
|
|
|
+ {headerName: "카테고리번호", field: "cateNo", width: 120, cellClass: 'text-center'},
|
|
|
+ {headerName: "표시순서", field: "dispOrd", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "상품타입", field: "goodsType", width: 100, cellClass: 'text-center'},
|
|
|
+ {headerName: "TAG가", field: "tagPrice", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "정상가", field: "listPrice", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "현재판매가", field: "currPrice", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "할인율", field: "dcRate", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "상품상태", field: "goodsStat", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "브랜드코드", field: "brandCd", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "공급업체상품코드", field: "supplyGoodsCd", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "스타일구분", field: "styleYear", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "정상/이월", field: "formalGb", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "등록자", field: "regNo", width: 80, cellClass: 'text-center'},
|
|
|
+ {headerName: "등록일시", field: "regDt", width: 80, cellClass: 'text-center'}
|
|
|
];
|
|
|
|
|
|
- let gridOptions = gagaAgGrid.getGridOptions(columnDefs);
|
|
|
-
|
|
|
- // Cell click
|
|
|
- gridOptions.onCellClicked = function(event) {
|
|
|
- if (event.colDef.field != 'cateNm')
|
|
|
- return;
|
|
|
-
|
|
|
- $("#btnNew").click();
|
|
|
- $('#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();
|
|
|
- }
|
|
|
- }
|
|
|
- $('#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();
|
|
|
- }
|
|
|
+ let gridOptions = gagaAgGrid.getGridOptions(columnDefs1);
|
|
|
+ gridOptions.rowSelection = "multiple";
|
|
|
|
|
|
/**
|
|
|
* 검색폼의 카테고리 선택 시
|
|
|
@@ -179,11 +168,14 @@
|
|
|
if (gagajf.isNull(val)) {
|
|
|
if (selLvl > 1) {
|
|
|
selLvl = selLvl - 1;
|
|
|
+ $("#goodsSearch").show();
|
|
|
+ $("#btnGoodsEdit").show();
|
|
|
} else {
|
|
|
selLvl = 1;
|
|
|
}
|
|
|
}
|
|
|
$('#searchForm input[name=selLvl]').val(selLvl);
|
|
|
+ $("#searchForm input[name=searchGb]").val("BASIC");
|
|
|
|
|
|
var data = { siteCd : 'G000_10'
|
|
|
, selLvl : selLvl
|
|
|
@@ -192,6 +184,7 @@
|
|
|
, cate2No : $('#searchForm select[name=cate2No]').val()
|
|
|
, cate3No : $('#searchForm select[name=cate3No]').val()
|
|
|
, cate4No : $('#searchForm select[name=cate4No]').val()
|
|
|
+ , searchGb : $("#searchForm input[name=searchGb]").val()
|
|
|
};
|
|
|
|
|
|
var jsonData = JSON.stringify(data);
|
|
|
@@ -215,27 +208,26 @@
|
|
|
}
|
|
|
|
|
|
$("#selCate" + selLvl).append(tag);
|
|
|
- //$("#btnNew").click();
|
|
|
|
|
|
// 대카테고리 이상이면 상품 조회해서 그리드
|
|
|
- if(selLvl > 1){
|
|
|
- var data = { siteCd : 'G000_10'
|
|
|
- , selLvl : selLvl
|
|
|
- , cateGb : $('#searchForm select[name=cateGb]').val()
|
|
|
- , cate1No : $('#searchForm select[name=cate1No]').val()
|
|
|
- , cate2No : $('#searchForm select[name=cate2No]').val()
|
|
|
- , cate3No : $('#searchForm select[name=cate3No]').val()
|
|
|
- , cate4No : $('#searchForm select[name=cate4No]').val()
|
|
|
- };
|
|
|
-
|
|
|
- var jsonData = JSON.stringify(data);
|
|
|
- gagajf.ajaxJsonSubmit('/display/category/goods/list', jsonData, fnCategoryGoodsListCallBack);
|
|
|
+ if(selLvl > 2){
|
|
|
+ $('#searchForm input[name=selLvl]').val(selLvl);
|
|
|
+ fnCategoryGoodsListSearch();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 카테고리별 상품 조회하고 데이터 그리드
|
|
|
- var fnCategoryGoodsListCallBack = function (data){
|
|
|
+ var fnCategoryGoodsListSearch = function(){
|
|
|
+ gagaPaging.init('searchForm', fnSearchCallBack, 'categoryGoodsListPagination', $('#searchForm').find('#pageSize').val());
|
|
|
+ gagaPaging.load(1);
|
|
|
+ }
|
|
|
|
|
|
+ var fnSearchCallBack = function(result){
|
|
|
+ $('#searchForm').find('#gridRowTotalCount').html(result.pageing.pageable.totalCount.addComma());
|
|
|
+ $('#searchForm').find('#pageNo').val(result.pageing.pageable.pageNo.addComma());
|
|
|
+ $('#searchForm').find('#pgNo').html(result.pageing.pageable.pageNo.addComma());
|
|
|
+ $('#searchForm').find('#endPgNo').html(result.pageing.pageable.totalPage.addComma());
|
|
|
+ gridOptions.api.setRowData(result.categoryGoodsList);
|
|
|
+ gagaPaging.createPagination(result.pageing.pageable);
|
|
|
}
|
|
|
|
|
|
// 신규
|