瀏覽代碼

[최수빈] 상품별카테고리전시 수정

bin2107 5 年之前
父節點
當前提交
97ac523841

+ 16 - 1
src/main/java/com/style24/admin/biz/web/TsaDisplayController.java

@@ -2,6 +2,7 @@ package com.style24.admin.biz.web;
 
 import java.util.Collection;
 
+import com.gagaframework.web.util.GagaDateUtil;
 import com.style24.persistence.domain.Brand;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -219,7 +220,21 @@ public class TsaDisplayController extends TsaBaseController {
 		ModelAndView mav = new ModelAndView();
 
 		// 상품상태
-		mav.addObject("goodsStatList", rendererService.getAvailCommonCodeList("G032"));
+		String[] exceptCds = {"G008_00"};
+		mav.addObject("goodsStatList", rendererService.getCommonCodeList("G008", "Y", exceptCds));
+		// 공급업체
+		mav.addObject("supplyCompList", rendererService.getSupplyCompanyList());
+		// MD
+		mav.addObject("mdIdList", rendererService.getBrandMdList());
+		// 정상이월
+		mav.addObject("formalGbList", rendererService.getAvailCommonCodeList("G009"));
+		// 품목
+		mav.addObject("itemkindList", rendererService.getAllItemkindList());
+		// 년도
+		int toYear = Integer.parseInt(GagaDateUtil.getToday("yyyy")) - 4;
+		mav.addObject("styleYearList", rendererService.getYearList(toYear, 0, 5));
+		// 시즌
+		mav.addObject("seasonList", rendererService.getAvailCommonCodeList("G006"));
 
 		mav.setViewName("display/GoodsCategoryForm");
 

+ 93 - 21
src/main/webapp/WEB-INF/views/display/GoodsCategoryForm.html

@@ -56,7 +56,7 @@
 						<td>
 							<select name="goodsStat">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${goodsStatList}" th:each="oneData, status : ${goodsStatList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 					</tr>
@@ -65,14 +65,14 @@
 						<td>
 							<select name="supplyCompCd">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${supplyCompList}" th:each="oneData, status : ${supplyCompList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 						<th>담당MD</th>
 						<td>
 							<select name="mdId">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${mdIdList}" th:each="oneData, status : ${mdIdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${mdIdList}" th:each="oneData, status : ${mdIdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 						<th>브랜드/품목</th>
@@ -83,7 +83,7 @@
 							</select>
 							<select name="itemkindCd">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${itemkindList}" th:each="oneData, status : ${itemkindList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${itemkindList}" th:each="oneData, status : ${itemkindList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 					</tr>
@@ -92,7 +92,7 @@
 						<td>
 							<select name="formalGb">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${formalList}" th:each="oneData, status : ${formalList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${formalGbList}" th:each="oneData, status : ${formalGbList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 						<th>재고수량</th>
@@ -103,11 +103,11 @@
 						<td>
 							<select name="styleYear">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${styleYearList}" th:each="oneData, status : ${styleYearList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${styleYearList}" th:each="oneData, status : ${styleYearList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 							<select name="seasonCd">
 								<option value=''>[전체]</option>
-								<!--<option th:if="${seasonCdList}" th:each="oneData, status : ${seasonCdList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>-->
+								<option th:if="${seasonList}" th:each="oneData, status : ${seasonList}" th:value="${oneData.cd}" th:text="${'[' + oneData.cd + '] ' + oneData.cdNm}"></option>
 							</select>
 						</td>
 						<th>판매가</th>
@@ -127,14 +127,10 @@
 						</td>
 						<th>반품/교환</th>
 						<td colspan='3'>
-							<label><input type="checkbox" id="changeableYn">반품불가</label>
-							<input type="hidden" name="changeableYn" class="formControl">
-							<label><input type="checkbox" id="returnableYn">교환불가</label>
-							<input type="hidden" name="returnableYn" class="formControl">
-							<label><input type="checkbox" id="returnFeeFreeYn">무료반품</label>
-							<input type="hidden" name="returnFeeFreeYn" class="formControl">
-							<label><input type="checkbox" id="changeFeeFreeYn">무료교환</label>
-							<input type="hidden" name="changeFeeFreeYn" class="formControl">
+							<label class="chkBox"><input type="checkbox" name="changeableYn"/>반품불가</label>
+							<label class="chkBox"><input type="checkbox" name="returnableYn"/>교환불가</label>
+							<label class="chkBox"><input type="checkbox" name="returnFeeFreeYn"/>무료반품</label>
+							<label class="chkBox"><input type="checkbox" name="changeFeeFreeYn"/>무료교환</label>
 						</td>
 						<th>할인율(%)</th>
 						<td>
@@ -144,11 +140,9 @@
 					</tr>
 					<tr>
 						<th>기간</th>
-						<td id="sellTerms" colspan='7'></td>
-					</tr>
-					<tr>
+						<td id="sellTerms" colspan='5'></td>
 						<th>전시여부</th>
-						<td colspan='7'>
+						<td>
 							<select name="useYn">
 								<option value=''>[전체]</option>
 								<option value='Y'>[Y] Yes</option>
@@ -157,13 +151,43 @@
 						</td>
 					</tr>
 				</table>
+				<ul class="panelBar">
+					<li class="center">
+						<button type="button" class="btn btn-base btn-lg" id="btnSearch">조회</button>
+						<button type="button" class="btn btn-gray btn-lg" onclick="$('#goodsCateForm')[0].reset();">초기화</button>
+					</li>
+				</ul>
 			</form>
 		</div>
 		<!-- 검색조건 영역 -->
 
 		<!-- 리스트 영역 -->
 		<div class="panelStyle">
-			<div id="gridList" style="width: 100%; height: 470px" class="ag-theme-balham"></div>
+			<!-- 상단버튼 영역  -->
+			<ul class="panelBar">
+				<li>
+					<button type="button" class="btn btn-default btn-lg" onclick="cfnDownloadSampleFile('SF003');">상품엑셀조회 양식 다운로드</button>
+					<button type="button" class="btn btn-base btn-lg" id="btnGoodsExcelUpLoad">엑셀조회</button>
+				</li>
+				<li class="aR">
+					검색결과 : <strong><span id="gridRowTotalCount">0</span> 건</strong>&nbsp;
+					쪽번호 <span id="pgNo">0</span>/ <strong id="endPgNo">0</strong>&nbsp;&nbsp;
+					<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: 500px;" class="ag-theme-balham lh60"></div>
+			<ul class="panelBar">
+				<li class="center">
+					<div class="tablePaging" id="goodsListPagination"></div>
+				</li>
+			</ul>
 		</div>
 		<!-- //리스트 영역 -->
 		
@@ -198,14 +222,62 @@
 
 <script th:inline="javascript">
 /*<![CDATA[*/
+	var columnDefs = [];
+	columnDefs = [
+		{width: 40, minWidth: 40, cellClass: 'text-right', 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: "sysImgNm", width: 100, height: 60, cellClass: 'text-center'
+			,cellRenderer: function(params) {
+				return '<img width="60" src="'+ _goodsUrl+ "/" + params.value + '" alt=""  onerror="this.src=\'/image/no.gif\';"/>';
+			}
+		},
+		{headerName: "상품코드", field: "goodsCd", width: 140, cellClass: 'text-center'
+			,cellRenderer: function(params) {
+				return '<a href="javascript:void(0);">' + params.value + '</a>';
+			}
+		},
+		{headerName: "상품명", field: "goodsNm", width: 200, cellClass: 'text-left'},
+		{headerName: "품목명", field: "itemkindNm", width: 250, cellClass: 'text-left'},
+		{headerName: "기존품목코드", field: "itemkindCd", width: 150, cellClass: 'text-center' },
+		{headerName: "변경품목코드", field: "itemkindCdNew", width: 150, cellClass: 'text-center', editable : true,
+			cellEditor: 'textCellEditor',
+			cellEditorParams: { maxlength: 5, required: true, onblur: '$(this).val($(this).val().toUpperCase())' }
+		}
+	];
+
+	// Get GridOptions
+	var gridOptions = gagaAgGrid.getGridOptions(columnDefs);
+
+	// 중복 선택 가능
+	gridOptions.rowSelection = 'multiple';
+	gridOptions.suppressRowClickSelection = true;
+	gridOptions.rowHeight = 60; //이미지가 있을경우 높이 지정해야함.
+
+	gridOptions.stopEditingWhenGridLosesFocus = true;
+
+	// 업체변경시
+	$('#goodsCateForm select[name=supplyCompCd]').on('change', function() {
+		var actionUrl = '/renderer/supplyCompany/brand/list/' + $(this).val();
+
+		if(sessRoleCd == "G001_B000"){
+			actionUrl = '/renderer/brand/AuthBrandlist';
+		}
+		$("#goodsCateForm select[name=brandCd] option:gt(0)").remove();
+
+		cfnCreateCombo(actionUrl, $('#goodsCateForm select[name=brandCd]'), "[전체]", "");
+	});
+
 $(document).ready(function() {
 
 	cfnCreateCalendar('#sellTerms', 'searchStdt', 'searchEddt', true, '기간', 'X');
 
 	// Create a agGrid
-	//gagaAgGrid.createGrid('gridList', gridOptions);
+	gagaAgGrid.createGrid('gridList', gridOptions);
 
 });
+
 /*]]>*/
 </script>