465 lines
20 KiB
Plaintext
465 lines
20 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file="/init_jqGrid.jsp"%><%--Expression Language ::: ${fn:escapeXml(str1)} --%>
|
|
<%
|
|
//부품선택팝업
|
|
boolean isSelectPopup = (CommonUtils.checkNull(request.getParameter("actionType"))).equals("SelectPopup");
|
|
%>
|
|
<c:set var="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
</head>
|
|
|
|
<c:set var="totalCount" value="${empty TOTAL_COUNT?0:TOTAL_COUNT}" />
|
|
<c:set var="maxPage" value="${empty MAX_PAGE_SIZE?1:MAX_PAGE_SIZE}" />
|
|
<c:set var="nPage" value="${empty param.page?1:param.page}" />
|
|
<c:set var="pageIndex" value="${(nPage-1)/10}" />
|
|
<c:set var="nextPage" value="${empty NEXT_PAGE?1:NEXT_PAGE}" />
|
|
<c:set var="prevPage" value="${empty PREV_PAGE?1:PREV_PAGE}" />
|
|
<c:set var="now" value="<%=new java.util.Date() %>"/>
|
|
<c:set var="sysYear"><fmt:formatDate value="${now}" pattern="yyyy" /></c:set>
|
|
|
|
<style type="text/css">
|
|
|
|
.ui-jqgrid .ui-jqgrid-bdiv{ overflow-x: scroll; }
|
|
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
|
|
/*
|
|
$(window).bind('resize', function () {
|
|
|
|
var gridHeight = window.innerHeight - utobj.conf.grid.height;
|
|
var gridWidth = window.innerWidth - utobj.conf.grid.resizeWidth;
|
|
$('#grid1').setGridHeight( gridHeight );
|
|
$("#grid1").setGridWidth( gridWidth);
|
|
$(".ui-jqgrid-htable").css("width",gridWidth);
|
|
$(".ui-jqgrid-btable").css("width",gridWidth);
|
|
|
|
//table-layout : auto
|
|
|
|
}).trigger('resize');
|
|
*/
|
|
|
|
|
|
$(document).ready(function(){
|
|
//fnc_changePaginationAndTotalCountArea();
|
|
$('.select2').select2();
|
|
fnc_datepick();
|
|
|
|
//조회
|
|
$("#btnSearch").click(function(){
|
|
$("#page").val("1");
|
|
fn_search();
|
|
});
|
|
//삭제
|
|
$("#btnDel").click(function(){
|
|
var selectedRowIds = fn_jqGrid_selarrrow(grid1);
|
|
if(selectedRowIds.length==0){
|
|
Swal.fire("삭제할 행을 선택해주십시오.");
|
|
return false;
|
|
}
|
|
|
|
let objIds = selectedRowIds.map(function(o,i){
|
|
return grid1.getRowData(o).OBJID;
|
|
});
|
|
|
|
$.ajax({
|
|
url:"/salesMng/deleteSalesLongDeliveryInfo.do"
|
|
,type:"POST"
|
|
,data: "objIds="+objIds.join(",")
|
|
,dataType:"json"
|
|
,async:false
|
|
,success:function(data){
|
|
Swal.fire(data.message);
|
|
fn_search();
|
|
self.close();
|
|
}
|
|
,error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
});
|
|
//등록
|
|
$("#btnReg").click(function(){
|
|
fn_popupStandard("");
|
|
});
|
|
//자제투입
|
|
$("#btnInput").click(function(){
|
|
var selectedRowIds = fn_jqGrid_selarrrow(grid1);
|
|
if(selectedRowIds.length==0){
|
|
Swal.fire("자제투입할 행을 선택해주십시오.");
|
|
return false;
|
|
}else if(selectedRowIds.length>1){
|
|
Swal.fire("한번에 한개의 행만 가능합니다.");
|
|
return false;
|
|
}else{
|
|
var objid = grid1.getRowData(selectedRowIds[0]).OBJID;
|
|
fn_popupInput(objid);
|
|
}
|
|
});
|
|
//장납기예측수량등록
|
|
$("#btnPredict").click(function(){
|
|
var selectedRowIds = fn_jqGrid_selarrrow(grid1);
|
|
if(selectedRowIds.length==0){
|
|
Swal.fire("장납기예측수량등록할 행을 선택해주십시오.");
|
|
return false;
|
|
}else if(selectedRowIds.length>1){
|
|
Swal.fire("한번에 한개의 행만 가능합니다.");
|
|
return false;
|
|
}else{
|
|
var objid = grid1.getRowData(selectedRowIds[0]).OBJID;
|
|
fn_popupPredict(objid, "");
|
|
}
|
|
});
|
|
//추가 : 장납기부품 선택 팝업으로 사용시
|
|
$("#btnAdd").click(function(){
|
|
var selectedRowIds = fn_jqGrid_selarrrow($("#grid1"));
|
|
if(selectedRowIds.length==0){
|
|
Swal.fire("추가할 행을 선택해주십시오.");
|
|
return false;
|
|
}
|
|
|
|
$.each(selectedRowIds, function(i,o){
|
|
var rowData = new Map();
|
|
rowData.put("LD_PART_OBJID", $("#grid1").getRowData(o).OBJID );
|
|
rowData.put("PART_NAME" , $("#grid1").getRowData(o).LD_PART_NAME );
|
|
rowData.put("SPEC" , $("#grid1").getRowData(o).SPEC );
|
|
rowData.put("FORM_NO" , $("#grid1").getRowData(o).FORM_NO );
|
|
rowData.put("MAKER" , $("#grid1").getRowData(o).MAKER );
|
|
rowData.put("MATERIAL_CODE", $("#grid1").getRowData(o).MATERIAL_CODE);
|
|
rowData.put("SUPPLY_NAME" , $("#grid1").getRowData(o).SUPPLY_NAME );
|
|
|
|
opener.fn_addRow(rowData);
|
|
});
|
|
self.close();
|
|
});
|
|
|
|
grid1 = $("#grid1").jqGrid({
|
|
url: ""
|
|
,datatype: "local"
|
|
,data : $.parseJSON($("#grid1Data").val())
|
|
,colNames: ["OBJID"
|
|
,"품명","사양(규격)","Location","내자/외자","메이커","자재코드","공급업체","재고수량","자재투입이력","단가","보유금액"
|
|
,"계","1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"
|
|
]
|
|
,colModel: [
|
|
{name:"OBJID" , index:"", width: 0, align:"center", hidden: true, sortable:false, editable:false, frozen:true}
|
|
|
|
,{name:"LD_PART_NAME" , index:"", width:190, align:"left", hidden:false, sortable:false, editable:false, frozen:true, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"SPEC" , index:"", width:240, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
,{name:"LOCATION_NAME", index:"", width:80, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
,{name:"FORM_NO" , index:"", width:90, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
,{name:"MAKER" , index:"", width:90, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
,{name:"MATERIAL_CODE", index:"", width:180, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
,{name:"SUPPLY_NAME" , index:"", width:170, align:"left", hidden:false, sortable:false, editable:false, frozen:true}
|
|
|
|
,{name:"INPUT_QTY" , index:"", width:60, align:"right", hidden:false, sortable:false, editable:false, formatter:"integer"}
|
|
,{name:"INPUT_CNT" , index:"", width:77, align:"center", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"PRICE" , index:"", width:80, align:"right", hidden:false, sortable:false, editable:false, formatter:"integer"}
|
|
,{name:"PRICE_SUM" , index:"", width:95, align:"right", hidden:false, sortable:false, editable:false, formatter:"integer"}
|
|
|
|
,{name:"M_TOTAL" , index:"", width:60, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M01" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M02" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M03" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M04" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M05" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M06" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M07" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M08" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M09" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M10" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M11" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
,{name:"M12" , index:"", width:50, align: "right", hidden:false, sortable:false, editable:false, formatter: col_custom_fmt, unformat:col_custom_fmt_un}
|
|
]
|
|
,width : 1660
|
|
,ignoreCase : true //로컬 검색 및 정렬이 대,소문자를 구분하지 않도록 하려면true
|
|
,rownumbers : true //row번호 표시
|
|
,viewrecords : true //pager가 있을경우 표시되는 record number
|
|
,autowidth : true //그리드 너비가 자동으로 부모 요소의 너비로 다시 계산
|
|
,sortable : false //마우스로 열을 끌어다 놓아 열을 재정렬
|
|
,shrinkToFit : false //모든 열은 너비에 비례하여 크기가 조정
|
|
,forceFit : false //컬럼의 width를 변화시킬때 그리드의 width를 고정 여부
|
|
,multiselect : true //선택가능. 체크박스표시
|
|
,height : 540
|
|
//,rowNum : "${countPerPage}"
|
|
,rowNum : 90000
|
|
,jsonReader : {repeatitems: false}
|
|
,mtype :"POST"
|
|
,footerrow : false //바닥합계
|
|
,userDataOnFooter: true //바닥합계
|
|
//,caption :"제목"
|
|
//,pager :"#grid1Pager"
|
|
,loadComplete: function(data){ //모든 서버 요청 직후에 실행
|
|
var gid = $(this).attr("id");
|
|
var grid_wrap_div = $("#gbox_"+gid);
|
|
setTimeout("fn_jqGrid_init($('#"+gid+"'), true);", 50); //윈도우크기 비례 자동조절
|
|
//footer 커스텀..
|
|
|
|
//장납기품 비용 합계
|
|
var priceSumArr = $("#grid1").getRowData().map(function(o,i){
|
|
return Number(fnc_checkNullDefaultValue(o.PRICE_SUM,"0"));
|
|
})
|
|
if(priceSumArr.length > 0){
|
|
$("#TOTAL_PRICE").text(numberWithCommas( priceSumArr.reduce(function(a, b){ return a + b; }) ));
|
|
}
|
|
|
|
|
|
// 서버에서 요청하여 리턴 받은 수량
|
|
var rowCount = $("#grid1").getGridParam("records");
|
|
// 현재 테이블의 카운트의 수량
|
|
//var reccount = $("#grid1").getGridParam("reccount");
|
|
|
|
$("#totalCnt").html('총 '+numberWithCommas(rowCount)+'건'); //총건수 표시
|
|
//Swal.fire(rowCount + ":" + reccount);
|
|
//var patchWidth = $("[aria-labelledby='gbox_"+$(this).prop("id")+"']").css("width");
|
|
//var patchTarget = $(this).parent();
|
|
//$(patchTarget).css("width", patchWidth);
|
|
}
|
|
});
|
|
|
|
//그리드 헤더 그룹처리
|
|
var optJson = {
|
|
useColSpanStyle: true
|
|
,groupHeaders:[
|
|
{startColumnName: 'LD_PART_NAME', numberOfColumns: 7, titleText: '<center>자재정보</center>'}
|
|
,{startColumnName: 'INPUT_QTY' , numberOfColumns: 4, titleText: '<center>재고관리</center>'}
|
|
,{startColumnName: 'M_TOTAL' , numberOfColumns:13, titleText: '<center>소요량예측</center>'}
|
|
]
|
|
};
|
|
|
|
fn_jqGrid_setGroupHeaders(grid1, optJson);
|
|
|
|
//$("#grid1").jqGrid('setFrozenColumns'); 더블헤더에서는 다 깨지고 동작 잘 안함.
|
|
|
|
/* */
|
|
const timeoutId = setTimeout(function () {
|
|
//console.log("aaa");
|
|
$("#grid1").append($(".ui-jqgrid-hbox > table > colgroup").clone());
|
|
}, 100);
|
|
//clearTimeout(timeoutId);
|
|
|
|
|
|
/*
|
|
var $frozenHDiv = grid1.closest(".ui-jqgrid-view")
|
|
.find(".frozen-div.ui-jqgrid-hdiv");
|
|
|
|
$frozenHDiv.find("tr.ui-jqgrid-labels")
|
|
.children("th")
|
|
.removeAttr("rowspan")
|
|
|
|
$frozenHDiv.find("tr.ui-jqgrid-labels").height(45);
|
|
$frozenHDiv.find("tr.ui-search-toolbar").height(22);
|
|
*/
|
|
});
|
|
|
|
function fn_search(){
|
|
document.form1.action = "/salesMng/salesLongDeliveryList.do";
|
|
document.form1.submit();
|
|
}
|
|
|
|
/*
|
|
Custom Formatter Parameters Description
|
|
◆ cellvalue: value to be formatted
|
|
◆ options : { rowId: rid, colModel: {name: , index, width, align, ...}}
|
|
◆ rowObject : row data
|
|
*/
|
|
function col_custom_fmt(cellvalue, options, rowObject) {
|
|
//console.log("rid : "+ options.rowId + " colModel["+JSON.stringify(options.colModel)+"]");
|
|
var return_fmt = "";
|
|
cellvalue = fnc_checkNull(cellvalue);
|
|
|
|
if(options.colModel.name == "LD_PART_NAME" ){ //품명
|
|
//var url = "/salesMng/salesLongDeliveryFormPopup.do";
|
|
return_fmt = '<a href="#" onclick="javascript:fn_popupStandard(\''+rowObject.OBJID+'\');">'+cellvalue+'</a>';
|
|
|
|
}else if(options.colModel.name == "INPUT_CNT" ){ //자재투입이력
|
|
//var url = "/salesMng/salesLongDeliveryFormPopup.do";
|
|
var isNotEmpty = ($.isNumeric(cellvalue) && Number(cellvalue) > 0);
|
|
var empty = isNotEmpty ? "" : "empty_";
|
|
if(isNotEmpty){
|
|
return_fmt = '<a href="#" class="File file_'+empty+'icon" onclick="javascript:fn_popupInput(\''+rowObject.OBJID+'\');"></a>';
|
|
}else{
|
|
}
|
|
|
|
}else if(options.colModel.name == "M_TOTAL"
|
|
|| options.colModel.name == "M01"
|
|
|| options.colModel.name == "M02"
|
|
|| options.colModel.name == "M03"
|
|
|| options.colModel.name == "M04"
|
|
|| options.colModel.name == "M05"
|
|
|| options.colModel.name == "M06"
|
|
|| options.colModel.name == "M07"
|
|
|| options.colModel.name == "M08"
|
|
|| options.colModel.name == "M09"
|
|
|| options.colModel.name == "M10"
|
|
|| options.colModel.name == "M11"
|
|
|| options.colModel.name == "M12"
|
|
){
|
|
//소요량
|
|
return_fmt = '<a href="#" onclick="javascript:fn_popupPredict(\''+rowObject.OBJID+'\', \'\');">'+numberWithCommas(cellvalue)+'</a>';
|
|
}else{
|
|
return_fmt = cellvalue;
|
|
}
|
|
return return_fmt;
|
|
}
|
|
/**
|
|
unFormatter : grid1.getRowData(), getCell(n,colname) 에서 값만 나오게하는 함수
|
|
*/
|
|
function col_custom_fmt_un(cellvalue, options, cell) {
|
|
return cellvalue;
|
|
}
|
|
|
|
function fn_formPopUp(width, heigth, url, target, objId, month, actionType){
|
|
var hiddenForm = document.hiddenForm;
|
|
fn_centerPopup(width, heigth, "", target);
|
|
|
|
hiddenForm.objId.value = objId;
|
|
hiddenForm.actionType.value = actionType;
|
|
hiddenForm.month.value = month;
|
|
hiddenForm.action = url;
|
|
hiddenForm.target = target;
|
|
hiddenForm.submit();
|
|
}
|
|
|
|
function fn_popupStandard(objid){
|
|
fn_formPopUp(600,300, "/salesMng/salesLongDeliveryFormPopup.do", "salesLongDeliveryFormPopup", objid, "", "STANDARD");
|
|
}
|
|
function fn_popupInput(objid){
|
|
fn_formPopUp(600,590, "/salesMng/salesLongDeliveryFormPopup.do", "salesLongDeliveryFormPopup", objid, "", "INPUT");
|
|
}
|
|
function fn_popupPredict(objid, month){
|
|
fn_formPopUp(900,590, "/salesMng/salesLongDeliveryFormPopup.do", "salesLongDeliveryFormPopup", objid, month, "PREDICT");
|
|
}
|
|
|
|
</script>
|
|
<body>
|
|
<form name="hiddenForm" id="hiddenForm" method="post">
|
|
<input type="hidden" name="objId" />
|
|
<input type="hidden" name="actionType" />
|
|
<input type="hidden" name="month" />
|
|
</form>
|
|
<form name="form1" id="form1" action="" method="post">
|
|
<input type="hidden" name="actionType" value="${param.actionType }"/>
|
|
<input type="hidden" name="callbackFnc" value="${param.callbackFnc }"/>
|
|
<input type="hidden" name="callType" value="${param.callType }"/>
|
|
|
|
<div class="content-box">
|
|
<div class="content-box-s">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>장납기 부품리스트</span>
|
|
</h2>
|
|
</div>
|
|
<div id="plmSearchZon">
|
|
<table>
|
|
<tr>
|
|
<td><label for="">품명</label></td>
|
|
<td><input type="text" name="ld_part_name" id="ld_part_name" autocomplete="off" value="${param.ld_part_name}" /></td>
|
|
|
|
<td><label for="">사양</label></td>
|
|
<td><input type="text" name="spec" id="spec" autocomplete="off" value="${param.spec}" /></td>
|
|
|
|
<td><label for="">Location</label></td>
|
|
<td><select name="Location" id="Location" class="select2" autocomplete="off" style=""><option value="">선택</option>${code_map.location}</select></td>
|
|
|
|
<td><label for="">메이커</label></td>
|
|
<td><input type="text" name="maker" id="maker" autocomplete="off" value="${param.maker}" /></td>
|
|
|
|
<td><label for="">자재코드</label></td>
|
|
<td><input type="text" name="material_code" id="material_code" autocomplete="off" value="${param.material_code}" /></td>
|
|
|
|
<td><label for="">공급업체</label></td>
|
|
<td><select name="admin_supply" id="admin_supply" class="select2" autocomplete="off" style="width:280px"><option value="">선택</option>${code_map.admin_supply}</select></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<section class="contents_page_basic_margin">
|
|
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap">
|
|
<% if(isSelectPopup){ %>
|
|
<input type="button" class="plm_btns" value="추가" id="btnAdd">
|
|
<% }else{ %>
|
|
<input type="button" class="plm_btns" value="삭제" id="btnDel">
|
|
<input type="button" class="plm_btns" value="등록" id="btnReg">
|
|
<input type="button" class="plm_btns" value="자재투입" id="btnInput">
|
|
<input type="button" class="plm_btns" value="장납기예측수량등록" id="btnPredict">
|
|
<% } %>
|
|
<input type="button" class="plm_btns" value="조회" id="btnSearch">
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="ascendig_text" style="width:50px;float:left;">
|
|
<font size="2px" id="totalCnt"></font>
|
|
</div>
|
|
<% if(!isSelectPopup){ %>
|
|
<div style="width:50%;float:left; color: RED; ">
|
|
<h5><span>※ 장남기품 비용(원): </span><span id="TOTAL_PRICE"></span></h2>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
|
|
<div class="plm_table_wrap" style="overflow-x: auto;">
|
|
<table id="grid1"></table>
|
|
<!-- <div id="grid1Pager"></div> -->
|
|
<textarea style="width:0px; height:0px; visibility: hidden;" id="grid1Data">${LIST}<c:if test="${empty LIST}">[]</c:if></textarea><!-- [{},{},{}] -->
|
|
</div>
|
|
<%--
|
|
<div class="pdm_page">${PAGE_HTML}</div>
|
|
--%>
|
|
|
|
<div class="pdm_page">
|
|
<input type="hidden" name="page" id="page" value="${nPage}">
|
|
<c:if test="${!empty LIST}">
|
|
<div class="page_pro">
|
|
<table>
|
|
<tr>
|
|
<c:choose>
|
|
<c:when test="${nPage > 1}">
|
|
<td><a href="javascript:fnc_goPrev('${prevPage}');">prev</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td class="no_more_page">prev</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
<c:forEach var="v" begin="${nPage>5?nPage-5:1}" end="${nPage>5?nPage+4:10}" step="1" varStatus="status">
|
|
<c:if test="${status.index -1 < maxPage}">
|
|
<c:choose>
|
|
<c:when test="${status.index eq nPage}">
|
|
<td><a href="#" class="now_page">${nPage}</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td><a href="javascript:fnc_goPage('${status.index}');">${status.index}</a></td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</c:if>
|
|
</c:forEach>
|
|
<c:choose>
|
|
<c:when test="${nPage < maxPage}">
|
|
<td><a href="javascript:fnc_goNext('${nextPage}');">next</a></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<td class="no_more_page">next</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
</table>
|
|
<p id="adminPageCount">총 ${totalCount}건</p>
|
|
</div>
|
|
</c:if>
|
|
</div>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html> |