|
|
|
@ -2,84 +2,143 @@
|
|
|
|
|
<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%>
|
|
|
|
|
|
|
|
|
|
<c:set var="prefixName" scope="request">마약류 제품 조회</c:set>
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
<form id="frmSearch--${pageName}" name="frmSearch">
|
|
|
|
|
<div class="container-search">
|
|
|
|
|
<!-- hidden -->
|
|
|
|
|
<div class="row my-1 mx-4 g-1" style="align-items: baseline">
|
|
|
|
|
<div class="col-md-4">
|
|
|
|
|
<label for="ProductNm--${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="productNm--${pageName}" name="schProductNm" >
|
|
|
|
|
<div class="content-wrapper">
|
|
|
|
|
<div class="container flex-grow-1 px-0 row g-1">
|
|
|
|
|
<div class="card col-6">
|
|
|
|
|
<!-- 입력 영역 -->
|
|
|
|
|
<form id="frmSearch--${pageName}" name="frmSearch">
|
|
|
|
|
<div class="container-search">
|
|
|
|
|
<!-- hidden -->
|
|
|
|
|
<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>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" id="btnSearch2--${pageName}" title="검색">NIMS 검색</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="col-md-4">
|
|
|
|
|
<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" >
|
|
|
|
|
</form>
|
|
|
|
|
<!-- / 업무 버튼 표시 -->
|
|
|
|
|
<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>
|
|
|
|
|
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">검색</button>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" id="btnSearch2--${pageName}" title="검색">NIMS 검색</button>
|
|
|
|
|
</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>
|
|
|
|
|
</form>
|
|
|
|
|
<!-- 업무 버튼 표시 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span class="container-page-btn">
|
|
|
|
|
<span class="container-window-btn-right">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="선택">선택</button>
|
|
|
|
|
</span>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- / 업무 버튼 표시 -->
|
|
|
|
|
|
|
|
|
|
<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-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">
|
|
|
|
|
<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: 160.469px;">제조번호</th>
|
|
|
|
|
<th class="sorting" style="width: 160.469px;">제조일련번호</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}">{prdValidDe}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfNo}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfSeq}</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 class="card col-6">
|
|
|
|
|
<form id="frmSearch--${pageName}Detail" name="frmSearchDetail">
|
|
|
|
|
<div class="container-search">
|
|
|
|
|
<!-- hidden -->
|
|
|
|
|
<div class="row my-0 mx-1 g-1" style="align-items: baseline">
|
|
|
|
|
<div class="col-md-9">
|
|
|
|
|
<label for="schPrdValidDe--${pageName}" class="w-px-130 bg-lighter pe-2 col-form-label text-sm-end">유효기간</label>
|
|
|
|
|
<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="유효기간" />
|
|
|
|
|
<button type="button" class="bx bx-sm bx-calendar bg-white"></button>
|
|
|
|
|
</div>
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-120" id="btnSearch3--${pageName}" title="검색">NIMS 검색</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
<!-- 업무 버튼 표시 -->
|
|
|
|
|
<div>
|
|
|
|
|
<span class="container-page-btn" style="min-height: 36px">
|
|
|
|
|
<span class="container-window-btn-right">
|
|
|
|
|
<!-- 업무 버튼 -->
|
|
|
|
|
<button type="button" class="btn btn-primary w-px-80" id="btnSave--${pageName}" title="선택">선택</button>
|
|
|
|
|
</span>
|
|
|
|
|
</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="card-datatable text-nowrap">
|
|
|
|
|
<div class="dataTables_wrapper dt-bootstrap5 no-footer" id="DataTables_Table_1_wrapper--${pageName}">
|
|
|
|
|
<div class="table-responsive ox-scroll oy-scroll h-px-500" id="table-responsive-1--${pageName}">
|
|
|
|
|
<table class="table-layout-fixed dataTable datatables-ajax table table-bordered no-footer" id="DataTables_Table_1--${pageName}" aria-describedby="DataTables_Table_1_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: 160.469px;">제조번호</th>
|
|
|
|
|
<th class="sorting" style="width: 160.469px;">제조일련번호</th>
|
|
|
|
|
</tr>
|
|
|
|
|
</thead>
|
|
|
|
|
<tbody id="tbody--${pageName}Detail">
|
|
|
|
|
</tbody>
|
|
|
|
|
<template id="${infoPrefix}Row--${pageName}Detail">
|
|
|
|
|
<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}">{prdValidDe}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfNo}</td>
|
|
|
|
|
<td class="cmn text-center" onclick="{onclick}" ondblclick="{ondblclick}">{mnfSeq}</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</template>
|
|
|
|
|
<template id="${infoPrefix}NotFound--${pageName}Detail">
|
|
|
|
|
<tr class="odd">
|
|
|
|
|
<td valign="top" colspan="13" class="dataTables_empty text-center">${prefixName} 정보를 찾지 못했습니다.</td>
|
|
|
|
|
</tr>
|
|
|
|
|
</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 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>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* Global Variable
|
|
|
|
@ -102,18 +161,8 @@
|
|
|
|
|
$P.control = new DatasetControl({
|
|
|
|
|
urls : {
|
|
|
|
|
// FIXME: 2024-07-05 제품검색 완료후 교체
|
|
|
|
|
load : wctx.url("/adds/nims/getNimsProductInfoKdAndMnfSeqInfo.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}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
//load : wctx.url("/adds/nims/getNimsProductInfoKdAndMnfSeqInfo.do"),
|
|
|
|
|
load : wctx.url("/adds/nims/getNimsProductInfoKd.do"), // 제품 검색
|
|
|
|
|
}
|
|
|
|
|
, prefix: "productMain"
|
|
|
|
|
, prefixName: "마약류 제품 조회"
|
|
|
|
@ -125,9 +174,8 @@
|
|
|
|
|
}
|
|
|
|
|
// 제품 목록
|
|
|
|
|
let keyCnt = 1; // key 설정 : 상품코드로는 불가하여 임시로 생성
|
|
|
|
|
return obj.data?.map(item => {
|
|
|
|
|
return obj.data?.map(item => ({
|
|
|
|
|
// mnfSeqInfos 배열의 데이터 갯수만큼 반복문 실행
|
|
|
|
|
return item.mnfSeqInfos.map(info => ({
|
|
|
|
|
keyCnt: keyCnt++,
|
|
|
|
|
prductCd: item.prductCd,
|
|
|
|
|
prductNm: item.prductNm,
|
|
|
|
@ -137,18 +185,11 @@
|
|
|
|
|
stdPackngStleNm: item.stdPackngStleNm,
|
|
|
|
|
prdTotPceQy: item.prdTotPceQy,
|
|
|
|
|
pceCoUnitNm: item.pceCoUnitNm,
|
|
|
|
|
bsshCd: item.bsshCd,
|
|
|
|
|
mnfNo: info.mnfNo,
|
|
|
|
|
mnfSeq: info.mnfSeq,
|
|
|
|
|
prdValidDe: info.prdValidDe
|
|
|
|
|
}));
|
|
|
|
|
}).flat();
|
|
|
|
|
bsshCd: item.bsshCd
|
|
|
|
|
}));
|
|
|
|
|
}
|
|
|
|
|
, appendData: true
|
|
|
|
|
, infoSize: "xl"
|
|
|
|
|
, formats: {
|
|
|
|
|
prdValidDe: dateFormat
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// $P.control 설정
|
|
|
|
@ -157,25 +198,63 @@
|
|
|
|
|
$P.control.beforeCurrent = null;
|
|
|
|
|
$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 이벤트
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// Dataset 변경 이벤트
|
|
|
|
|
|
|
|
|
|
$P.control.onDatasetChange = (obj) => {
|
|
|
|
|
$P.renderList(obj.${infoPrefix}Total);
|
|
|
|
|
// Dataset 변경 이벤트
|
|
|
|
|
|
|
|
|
|
$P.control.onDatasetChange = (obj) => {
|
|
|
|
|
$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({
|
|
|
|
|
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.tableRenderComplete = true; // dataTables 에 자료 추가 완료
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// 현재 선택 자료 변경 이벤트
|
|
|
|
|
$P.control.onCurrentChange = item => {
|
|
|
|
@ -185,9 +264,33 @@
|
|
|
|
|
$("#tbody--${pageName}").setCurrentRow(key);
|
|
|
|
|
// Dataset 셋팅
|
|
|
|
|
$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
|
|
|
|
|
|
|
|
|
|
// 저장
|
|
|
|
@ -212,8 +315,8 @@
|
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
let replacer = (str, dataItem) => str
|
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("keyCnt") + "');")
|
|
|
|
|
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()");
|
|
|
|
|
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("keyCnt") + "');");
|
|
|
|
|
// .replace(/{ondblclick}/gi, "pageObject['${pageName}'].fnSave()");
|
|
|
|
|
|
|
|
|
|
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.outerHTML]
|
|
|
|
|
: ${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)
|
|
|
|
|
**************************************************************************/
|
|
|
|
@ -241,6 +360,7 @@
|
|
|
|
|
$P.fnSearchList = (dbSkipYn) => {
|
|
|
|
|
$P.control.query = {
|
|
|
|
|
... $P.formFields.get(),
|
|
|
|
|
k: "1d6646562470902a61fc334c83a249cdcc5dc753426942138ee04342e66c8128",
|
|
|
|
|
p: $P.formFields.get().schProductCd,
|
|
|
|
|
pn: $P.formFields.get().schProductNm,
|
|
|
|
|
dbSkipYn: dbSkipYn? dbSkipYn : "N",
|
|
|
|
@ -252,6 +372,21 @@
|
|
|
|
|
$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 = () => {
|
|
|
|
|
dialog.alert({
|
|
|
|
@ -260,7 +395,10 @@
|
|
|
|
|
, onOK: () => {
|
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
@ -271,17 +409,34 @@
|
|
|
|
|
**************************************************************************/
|
|
|
|
|
// 이벤트 설정
|
|
|
|
|
$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()); // 저장
|
|
|
|
|
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList());
|
|
|
|
|
$("#btnSearch2--${pageName}").on("click", () => $P.fnSearchList("Y"));
|
|
|
|
|
$("#btnSearch3--${pageName}").on("click", () => $P.fnDetailSearchList($("input[name='schPrdValidDe']").val().replaceAll("-", "")));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 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());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**************************************************************************
|
|
|
|
|
* 최초 실행 함수
|
|
|
|
|