fit : 제품조회와 일련번호 조회 분리. (유효기간 조회로 해뒀는데 유효기간이 아니라 기준일자로 다른것 같음. 확인필요)

dev
Leeyh1121 4 months ago
parent 8806ee3a71
commit e0c0adeffd

@ -2,84 +2,143 @@
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> <%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
<c:set var="prefixName" scope="request">마약류 제품 조회</c:set> <c:set var="prefixName" scope="request">마약류 제품 조회</c:set>
<!-- 입력 영역 --> <div class="content-wrapper">
<form id="frmSearch--${pageName}" name="frmSearch"> <div class="container flex-grow-1 px-0 row g-1">
<div class="container-search"> <div class="card col-6">
<!-- hidden --> <!-- 입력 영역 -->
<div class="row my-1 mx-4 g-1" style="align-items: baseline"> <form id="frmSearch--${pageName}" name="frmSearch">
<div class="col-md-4"> <div class="container-search">
<label for="ProductNm--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">제품명</label> <!-- hidden -->
<input type="text" class="form-control w-60" id="productNm--${pageName}" name="schProductNm" > <div class="row my-0 mx-1 g-0" style="align-items: baseline">
<div class="col-md-6">
<label for="ProductNm--${pageName}" class="w-px-90 bg-lighter pe-2 col-form-label text-sm-end">제품명</label>
<input type="text" class="form-control w-50" id="productNm--${pageName}" name="schProductNm" >
</div>
<div class="col-md-6">
<label for="ProductCd--${pageName}" class="w-px-80 bg-lighter pe-2 col-form-label text-sm-end">제품코드</label>
<input type="text" class="form-control w-50" id="productCd--${pageName}" name="schProductCd" >
</div>
<div class="d-flex flex-row justify-content-between p-3">
<div>
<div class="input-group" id="DataTables_Table_0_length">
</div>
</div>
<div>
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">검색</button>&nbsp;
<button type="button" class="btn btn-primary w-px-120" id="btnSearch2--${pageName}" title="검색">NIMS 검색</button>
</div>
</div>
</div>
</div> </div>
<div class="col-md-4"> </form>
<label for="ProductCd--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">제품코드</label> <!-- / 업무 버튼 표시 -->
<input type="text" class="form-control w-60" id="productCd--${pageName}" name="schProductCd" > <div class="card-datatable text-nowrap">
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}">
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsiv-0--${pageName}">
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info">
<thead>
<tr>
<th class="sorting" style="width: 146.156px;">제품코드</th>
<th class="sorting" style="width: 300.141px;">제품명</th>
<th class="sorting" style="width: 120.469px;">유통단위</th>
<th class="sorting" style="width: 120.469px;">낱개단위</th>
<th class="sorting" style="width: 130.141px;">마약/향정구분</th>
<th class="sorting" style="width: 130.469px;">중점/일반구분</th>
<th class="sorting" style="width: 130.469px;">취급자번호</th>
</tr>
</thead>
<tbody id="tbody--${pageName}">
</tbody>
<template id="${infoPrefix}Row--${pageName}">
<tr data-key="{keyCnt}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prductCd}</td>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{prductNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdMinDistbQy} {stdPackngStleNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdTotPceQy} {pceCoUnitNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{nrcdSeNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prtmSeNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{bsshCd}</td>
</tr>
</template>
<template id="${infoPrefix}NotFound--${pageName}">
<tr class="odd">
<td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</tr>
</template>
</table>
</div>
</div> </div>
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">검색</button>&nbsp; </div>
<button type="button" class="btn btn-primary w-px-120" id="btnSearch2--${pageName}" title="검색">NIMS 검색</button> <div class="d-flex flex-row p-3 justify-content-between">
<label id="${infoPrefix}Paging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="${infoPrefix}Paging--${pageName}" class="pagination pagination-primary" style="display: none;">
</ul>
</div> </div>
</div> </div>
</form> <div class="card col-6">
<!-- 업무 버튼 표시 --> <form id="frmSearch--${pageName}Detail" name="frmSearchDetail">
<div> <div class="container-search">
<span class="container-page-btn"> <!-- hidden -->
<span class="container-window-btn-right"> <div class="row my-0 mx-1 g-1" style="align-items: baseline">
<!-- 업무 버튼 --> <div class="col-md-9">
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="선택">선택</button> <label for="schPrdValidDe--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">유효기간</label>
</span> <input type="text" class="form-control w-30 form-date" id="schPrdValidDe--${pageName}" name="schPrdValidDe" data-fmt-type="day" data-map="schPrdValidDe" autocomplete="off" title="유효기간" />
</span> <button type="button" class="bx bx-sm bx-calendar bg-white"></button>
</div> </div>
<!-- / 업무 버튼 표시 --> <button type="button" class="btn btn-primary w-px-120" id="btnSearch3--${pageName}" title="검색">NIMS 검색</button>
</div>
<div class="card-datatable text-nowrap"> </div>
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_0_wrapper--${pageName}"> </form>
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive--${pageName}"> <!-- 업무 버튼 표시 -->
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_0--${pageName}" aria-describedby="DataTables_Table_0_info"> <div>
<thead> <span class="container-page-btn" style="min-height: 36px">
<tr> <span class="container-window-btn-right">
<th class="sorting" style="width: 146.156px;">제품코드</th> <!-- 업무 버튼 -->
<th class="sorting" style="width: 300.141px;">제품명</th> <button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="선택">선택</button>
<th class="sorting" style="width: 120.469px;">유효기간</th> </span>
<th class="sorting" style="width: 160.469px;">제조번호</th> </span>
<th class="sorting" style="width: 160.469px;">제조일련번호</th> </div>
<th class="sorting" style="width: 120.469px;">유통단위</th> <div class="card-datatable text-nowrap">
<th class="sorting" style="width: 120.469px;">낱개단위</th> <div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_1_wrapper--${pageName}">
<th class="sorting" style="width: 130.141px;">마약/향정구분</th> <div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive-1--${pageName}">
<th class="sorting" style="width: 130.469px;">중점/일반구분</th> <table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_1--${pageName}" aria-describedby="DataTables_Table_1_info">
<th class="sorting" style="width: 130.469px;">취급자번호</th> <thead>
</tr> <tr>
</thead> <th class="sorting" style="width: 146.156px;">제품코드</th>
<tbody id="tbody--${pageName}"> <th class="sorting" style="width: 300.141px;">제품명</th>
</tbody> <th class="sorting" style="width: 120.469px;">유효기간</th>
<template id="${infoPrefix}Row--${pageName}"> <th class="sorting" style="width: 160.469px;">제조번호</th>
<tr data-key="{keyCnt}"> <th class="sorting" style="width: 160.469px;">제조일련번호</th>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prductCd}</td> </tr>
<td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{prductNm}</td> </thead>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdValidDe}</td> <tbody id="tbody--${pageName}Detail">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfNo}</td> </tbody>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfSeq}</td> <template id="${infoPrefix}Row--${pageName}Detail">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdMinDistbQy} {stdPackngStleNm}</td> <tr data-key="{keyCnt}">
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdTotPceQy} {pceCoUnitNm}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prductCd}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{nrcdSeNm}</td> <td class="cmn text-start" onclick="{onclick}" ondblclick="{ondblclick}">{prductNm}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prtmSeNm}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{prdValidDe}</td>
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{bsshCd}</td> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfNo}</td>
</tr> <td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfSeq}</td>
</template> </tr>
<template id="${infoPrefix}NotFound--${pageName}"> </template>
<tr class="odd"> <template id="${infoPrefix}NotFound--${pageName}Detail">
<td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td> <tr class="odd">
</tr> <td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
</template> </tr>
</table> </template>
</table>
</div>
</div>
</div>
<div class="d-flex flex-row p-3 justify-content-between">
<label id="${infoPrefix}DetailPaging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="${infoPrefix}DetailPaging--${pageName}" class="pagination pagination-primary" style="display: none;">
</ul>
</div> </div>
</div> </div>
</div> </div>
<div class="d-flex flex-row p-3 justify-content-between">
<label id="${infoPrefix}Paging--${pageName}PagingInfo" class="dataTables_info" role="status" aria-live="polite"></label>
<ul id="${infoPrefix}Paging--${pageName}" class="pagination pagination-primary" style="display: none;">
</ul>
</div> </div>
<script> <script>
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
@ -102,18 +161,8 @@
$P.control = new DatasetControl({ $P.control = new DatasetControl({
urls : { urls : {
// FIXME: 2024-07-05 제품검색 완료후 교체 // FIXME: 2024-07-05 제품검색 완료후 교체
load : wctx.url("/adds/nims/getNimsProductInfoKdAndMnfSeqInfo.do"), //load : wctx.url("/adds/nims/getNimsProductInfoKdAndMnfSeqInfo.do"),
//load : wctx.url("/adds/nims/getNimsProductInfoKd.do"), // 제품 검색 load : wctx.url("/adds/nims/getNimsProductInfoKd.do"), // 제품 검색
//load : wctx.url("/adds/nims/getNimsProductSeqInfo.do"), // 시리얼번호 검색
/*
{
fg: "1", // 1-제조번호, 2-시리얼번호
p: "717726", //제품코드
t: "", //제조번호 또는 시리얼번호,
userId: "${currentUser.account}"
}
*/
} }
, prefix: "productMain" , prefix: "productMain"
, prefixName: "마약류 제품 조회" , prefixName: "마약류 제품 조회"
@ -125,9 +174,8 @@
} }
// 제품 목록 // 제품 목록
let keyCnt = 1; // key 설정 : 상품코드로는 불가하여 임시로 생성 let keyCnt = 1; // key 설정 : 상품코드로는 불가하여 임시로 생성
return obj.data?.map(item => { return obj.data?.map(item => ({
// mnfSeqInfos 배열의 데이터 갯수만큼 반복문 실행 // mnfSeqInfos 배열의 데이터 갯수만큼 반복문 실행
return item.mnfSeqInfos.map(info => ({
keyCnt: keyCnt++, keyCnt: keyCnt++,
prductCd: item.prductCd, prductCd: item.prductCd,
prductNm: item.prductNm, prductNm: item.prductNm,
@ -137,18 +185,11 @@
stdPackngStleNm: item.stdPackngStleNm, stdPackngStleNm: item.stdPackngStleNm,
prdTotPceQy: item.prdTotPceQy, prdTotPceQy: item.prdTotPceQy,
pceCoUnitNm: item.pceCoUnitNm, pceCoUnitNm: item.pceCoUnitNm,
bsshCd: item.bsshCd, bsshCd: item.bsshCd
mnfNo: info.mnfNo, }));
mnfSeq: info.mnfSeq,
prdValidDe: info.prdValidDe
}));
}).flat();
} }
, appendData: true , appendData: true
, infoSize: "xl" , infoSize: "xl"
, formats: {
prdValidDe: dateFormat
}
}); });
// $P.control 설정 // $P.control 설정
@ -157,25 +198,63 @@
$P.control.beforeCurrent = null; $P.control.beforeCurrent = null;
$P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부 $P.control.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
$P.detailControl = new DatasetControl({
urls : {
// FIXME: 2024-07-05 제품검색 완료후 교체
load : wctx.url("/adds/nims/getNimsProductSeqInfo.do"), // 시리얼번호 검색
}
, prefix: "productMain"
, prefixName: "마약류 제품 조회"
, keymapper: info => info ? info.keyCnt : ""
, dataGetter : obj => {
if (!obj.success){
dialog.alert(obj.message);
return false;
}
// 제품 목록
let keyCnt = 1; // key 설정 : 상품코드로는 불가하여 임시로 생성
return obj.data?.map(item => ({
// mnfSeqInfos 배열의 데이터 갯수만큼 반복문 실행
keyCnt: keyCnt++,
prductCd: item.prductCd,
prductNm: item.prductNm,
mnfNo: item.mnfNo,
mnfSeq: item.mnfSeq,
prdValidDe: item.prdValidDe
}));
}
, appendData: true
, infoSize: "xl"
, formats: {
prdValidDe: dateFormat
}
});
// $P.control 설정
$P.detailControl.defaultFetchSize = FETCH_XXS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
$P.detailControl.untilPageNum = 0; // 현재 페이지 번호
$P.detailControl.beforeCurrent = null;
$P.detailControl.tableRenderComplete = false; // dataTables 에 자료 추가 완료 여부
/************************************************************************** /**************************************************************************
* DatasetControl 이벤트 * DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 // Dataset 변경 이벤트
$P.control.onDatasetChange = (obj) => { $P.control.onDatasetChange = (obj) => {
$P.renderList(obj.${infoPrefix}Total); $P.renderList(obj.${infoPrefix}Total);
$("#${infoPrefix}Paging--${pageName}").setPagingInfo({
list: $P.control.dataset
, prefix: "${infoPrefix}Paging--${pageName}"
, start: obj.${infoPrefix}Start
, totalSize: $P.control.dataset.length
, fetchSize: obj.${infoPrefix}Fetch
, func: "pageObject['${pageName}'].control.load({index})"
});
$("#${infoPrefix}Paging--${pageName}").setPagingInfo({ $P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
list: $P.control.dataset };
, prefix: "${infoPrefix}Paging--${pageName}"
, start: obj.${infoPrefix}Start
, totalSize: $P.control.dataset.length
, fetchSize: obj.${infoPrefix}Fetch
, func: "pageObject['${pageName}'].control.load({index})"
});
$P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 현재 선택 자료 변경 이벤트 // 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => { $P.control.onCurrentChange = item => {
@ -185,9 +264,33 @@
$("#tbody--${pageName}").setCurrentRow(key); $("#tbody--${pageName}").setCurrentRow(key);
// Dataset 셋팅 // Dataset 셋팅
$P.formFields.set($P.control, item); $P.formFields.set($P.control, item);
$P.fnDetailSearchList();
} }
// 현재 선택 자료 변경 이벤트
$P.detailControl.onCurrentChange = (item) => {
if (!item) return;
let key = item.data.keyCnt;
$("#tbody--${pageName}Detail").setCurrentRow(key);
};
$P.detailControl.onDatasetChange = (obj) => {
$P.renderDetailList(obj.${infoPrefix}Total);
$("#${infoPrefix}DetailPaging--${pageName}").setPagingInfo({
list: $P.detailControl.dataset
, prefix: "${infoPrefix}DetailPaging--${pageName}"
, start: obj.${infoPrefix}Start
, totalSize: $P.control.dataset.length
, fetchSize: obj.${infoPrefix}Fetch
, func: "pageObject['${pageName}'].detailControl.load({index})"
});
$P.control.tableRenderComplete = true; // dataTables 에 자료 추가 완료
};
// 저장 callback // 저장 callback
// 저장 // 저장
@ -212,8 +315,8 @@
// //
let replacer = (str, dataItem) => str let replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("keyCnt") + "');") .replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("keyCnt") + "');");
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()"); // .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()");
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.outerHTML] let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.outerHTML]
: ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
@ -230,6 +333,22 @@
} }
} }
$P.renderDetailList = () => {
let ${infoPrefix}DetailList = $P.detailControl.dataset;
let empty = ${infoPrefix}DetailList.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}Detail").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}DetailList.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}Detail").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].detailControl.setCurrent('" + dataItem.getValue("keyCnt") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()")
);
$("#tbody--${pageName}Detail").html(trs.join());
}
/************************************************************************** /**************************************************************************
* 사용자 함수(function) * 사용자 함수(function)
**************************************************************************/ **************************************************************************/
@ -241,6 +360,7 @@
$P.fnSearchList = (dbSkipYn) => { $P.fnSearchList = (dbSkipYn) => {
$P.control.query = { $P.control.query = {
... $P.formFields.get(), ... $P.formFields.get(),
k: "1d6646562470902a61fc334c83a249cdcc5dc753426942138ee04342e66c8128",
p: $P.formFields.get().schProductCd, p: $P.formFields.get().schProductCd,
pn: $P.formFields.get().schProductNm, pn: $P.formFields.get().schProductNm,
dbSkipYn: dbSkipYn? dbSkipYn : "N", dbSkipYn: dbSkipYn? dbSkipYn : "N",
@ -252,6 +372,21 @@
$P.control.load(1); $P.control.load(1);
} }
$P.fnDetailSearchList = (prdValidDe) => {
$P.detailControl.query = {
fg: "1", // 1-제조번호, 2-시리얼번호
p: $P.control.dataset.getCurrent().prductCd , //제품코드
ymd: prdValidDe,
t: "", //제조번호 또는 시리얼번호
userId: "${currentUser.account}"
};
$P.detailControl.query.fetchSize = FETCH_XXL; // 한번에 조회되는 자료 건수
$P.detailControl.query.delYn = "N"; // 삭제 여부
$P.detailControl.load(1);
}
// 저장 // 저장
$P.fnSave = () => { $P.fnSave = () => {
dialog.alert({ dialog.alert({
@ -260,7 +395,10 @@
, onOK: () => { , onOK: () => {
let openPage = new AddsFormFields("#${openPage}"); let openPage = new AddsFormFields("#${openPage}");
openPage.set (null,$P.control.getCurrent()); // formFields productData = {...$P.control.getCurrent(), ...$P.detailControl.getCurrent()}
openPage.set (null,productData); // formFields
//openPage.set (null,$P.DetailControl.getCurrent()); // formFields
dialog.close("productMainDialog"); dialog.close("productMainDialog");
} }
}); });
@ -271,17 +409,34 @@
**************************************************************************/ **************************************************************************/
// 이벤트 설정 // 이벤트 설정
$P.setEvent = () => { $P.setEvent = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).on("input", function() {
let value = this.value.replaceAll("-", "");
if (value.length > 7) {
this.value = value.substring(0, 4) + "-" + value.substring(4, 6) + "-" + value.substring(6);
} else if (value.length > 5) {
this.value = value.substring(0, 4) + "-" + value.substring(4);
}
});
});
// 버튼 이벤트 // 버튼 이벤트
$("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장 $("#btnSave--${pageName}").on("click", () => $P.fnSave()); // 저장
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); $("#btnSearch--${pageName}").on("click", () => $P.fnSearchList());
$("#btnSearch2--${pageName}").on("click", () => $P.fnSearchList("Y")); $("#btnSearch2--${pageName}").on("click", () => $P.fnSearchList("Y"));
$("#btnSearch3--${pageName}").on("click", () => $P.fnDetailSearchList($("input[name='schPrdValidDe']").val().replaceAll("-", "")));
} }
// DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고) // DataTables width 변경 조정 (업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고)
fnMakeResizableTable($("#table-responsive--${pageName}")[0]); // fnMakeResizableTable($("#table-responsive-0--${pageName}")[0]);
// fnMakeResizableTable($("#table-responsive-1--${pageName}")[0]);
// 초기 화면 설정 // 초기 화면 설정
$P.initForm = () => {} $P.initForm = () => {
$("#schPrdValidDe--${pageName}").datepicker("setDate", new Date());
}
/************************************************************************** /**************************************************************************
* 최초 실행 함수 * 최초 실행 함수

Loading…
Cancel
Save