개별총정보 수정.

- 단속정보에서 이미지(사진) 부분 수정.
main
jjh 10 months ago
parent 2933f54fc2
commit bac3ad0807

@ -743,9 +743,6 @@
// 업무 구분별 설정 // 업무 구분별 설정
setTask${pageName}(taskSeCd); setTask${pageName}(taskSeCd);
// URL 설정
setURL${pageName}(taskSeCd);
} }
// 업무 구분별 설정 // 업무 구분별 설정
@ -768,6 +765,9 @@
$("#theadTr--${pageName}").html(colsOuterHTML); $("#theadTr--${pageName}").html(colsOuterHTML);
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// URL 설정
setURL${pageName}(taskSeCd);
} }
// URL 설정 // URL 설정

@ -13,14 +13,14 @@
<div> <div>
<!-- 상단 버튼 --> <!-- 상단 버튼 -->
<div class="container-page-btn"> <div class="container-page-btn">
<button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화" onclick="fnResetAndChangeBiz${pageName}();"> <button type="button" class="btn btn-outline-dark w-px-120" id="btnReset--${pageName}" title="초기화">
초기화 초기화
</button> </button>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색" onclick="fnSearchList${pageName}();"> <button type="button" class="btn btn-search w-px-120" id="btnSearch--${pageName}" title="검색">
검색 검색
</button> </button>
<button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀" onclick="fnExcel${pageName}();"> <button type="button" class="btn btn-excel w-px-120" id="btnExcel--${pageName}" title="엑셀">
엑셀 엑셀
</button> </button>
</span> </span>
@ -124,7 +124,7 @@
</select> </select>
<input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" /> <input type="hidden" id="schRgtrCd--${pageName}" name="schRgtrCd" />
<input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" /> <input type="text" class="form-control" id="schRgtrNm--${pageName}" name="schRgtrNm" />
<button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색" onclick="fnFindUser${pageName}();"> <button type="button" class="btn btn-sm btn-outline-dark" id="btnFindUser--${pageName}" title="사용자 검색">
검색 검색
</button> </button>
</div> </div>
@ -145,7 +145,7 @@
</div> </div>
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<!-- 업무 버튼 --> <!-- 업무 버튼 -->
<button type="button" class="btn btn-primary w-px-120" id="btnBfrCrdnTotalInfo--${pageName}" title="이전 단속 정보" onclick="fnBfrCrdnTotalInfo${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnBfrCrdnTotalInfo--${pageName}" title="이전 단속 정보">
이전 단속 정보 이전 단속 정보
</button> </button>
</span> </span>
@ -250,8 +250,6 @@
</div> </div>
<!-- / Content --> <!-- / Content -->
<div class="content-backdrop fade"></div> <div class="content-backdrop fade"></div>
</div> </div>
<!-- / inner page html <div class="content-wrapper"> --> <!-- / inner page html <div class="content-wrapper"> -->
@ -260,370 +258,375 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/excl/excl03";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmSearch--${pageName}");
/**************************************************************************
* DatasetControl
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "crdnReReg"
, prefixName : "단속 재등록"
, infoSize : "lg"
, keymapper : info => info ? info.RE_REG_ID : ""
, dataGetter : obj => obj.crdnReRegList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, FFNLG_CRDN_AMT : numberFormat
, REG_DT : datetimeFormat
}
});
/************************************************************************** $(document).ready(function() {
* DatasetControl 이벤트 // pageObject
**************************************************************************/ var $P = pageObject["${pageName}"];
// Dataset 변경 이벤트
${pageName}Control.onDatasetChange = obj => { // FormFields
renderList${pageName}(obj.${infoPrefix}Total); $P.formFields = new FimsFormFields("#frmSearch--${pageName}");
$("#paging--${pageName}").setPagingInfo({ /**************************************************************************
list : ${pageName}Control.dataset * DatasetControl
, prefix : "paging--${pageName}" **************************************************************************/
, start : obj.${infoPrefix}Start $P.crdnReRegControl = new DatasetControl({
, totalSize : obj.${infoPrefix}Total prefix : "crdnReReg"
, fetchSize : obj.${infoPrefix}Fetch , prefixName : "단속 재등록"
, func : "${pageName}Control.load({index})" , keymapper : info => info ? info.RE_REG_ID : ""
, dataGetter : obj => obj.crdnReRegList
, appendData : true
, untilPageNum : 0 // 현재 페이지 번호
, tableRenderComplete : false // dataTables 에 자료 추가 완료 여부
, formats : {
RE_REG_YMD : dateFormat
, CRDN_YMD_TM : datetimeFormat
, FFNLG_CRDN_AMT : numberFormat
, REG_DT : datetimeFormat
}
}); });
${pageName}Control.tableRenderComplete = true; // dataTables 에 자료 추가 완료 /**************************************************************************
}; * DatasetControl 이벤트
**************************************************************************/
// Dataset 변경 이벤트
$P.crdnReRegControl.onDatasetChange = obj => {
$P.renderList(obj.${infoPrefix}Total);
$("#paging--${pageName}").setPagingInfo({
list : $P.crdnReRegControl.dataset
, prefix : "paging--${pageName}"
, start : obj.${infoPrefix}Start
, totalSize : obj.${infoPrefix}Total
, fetchSize : obj.${infoPrefix}Fetch
, func : "$P.crdnReRegControl.load({index})"
});
// 현재 선택 자료 변경 이벤트 $P.crdnReRegControl.tableRenderComplete = true; // dataTables 에 자료 추가 완료
${pageName}Control.onCurrentChange = item => { };
if (!item) return;
let key = item.data.RE_REG_ID; // 현재 선택 자료 변경 이벤트
$P.crdnReRegControl.onCurrentChange = item => {
if (!item) return;
$("#tbody--${pageName}").setCurrentRow(key); let key = item.data.RE_REG_ID;
};
/************************************************************************** $("#tbody--${pageName}").setCurrentRow(key);
* DataTables 이벤트 };
**************************************************************************/
// DataTables에 click, dbclick 이벤트
renderList${pageName} = (totalSize) => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자
// 업무별 DataTables(그리드) tr, td
let foundContent = document.getElementById("${infoPrefix}Row--${pageName}").content;
let foundTr = $(foundContent).find("tr")[0].cloneNode(false);
let foundTds = $(foundContent).find("." + clsForTask + ",.cmn");
foundTds.each(function() {
foundTr.appendChild(this.cloneNode(true));
});
// /**************************************************************************
let replacer = (str, dataItem) => str * DataTables 이벤트
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("LEVY_EXCL_ID") + "');") **************************************************************************/
.replace(/{ondblclick}/gi, "getTotalInfo${pageName}('" + dataItem.getValue("CRDN_ID") + "');"); // DataTables에 click, dbclick 이벤트
$P.renderList = (totalSize) => {
let ${infoPrefix}List = $P.crdnReRegControl.dataset;
let empty = ${infoPrefix}List.empty;
let clsForTask = $("#frmSearch--${pageName} input[name='taskSeCd']:checked").val().toLowerCase(); // 소문자
let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML] // 업무별 DataTables(그리드) tr, td
: ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer); let foundContent = document.getElementById("${infoPrefix}Row--${pageName}").content;
let foundTr = $(foundContent).find("tr")[0].cloneNode(false);
let foundTds = $(foundContent).find("." + clsForTask + ",.cmn");
let noMore = (totalSize == ${infoPrefix}List.length); foundTds.each(function() {
let initScroll = (${pageName}Control.query.pageNum < 2) && (${pageName}Control.untilPageNum == 0); foundTr.appendChild(this.cloneNode(true));
});
$("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore); //
let replacer = (str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].crdnReRegControl.setCurrent('" + dataItem.getValue("RE_REG_ID") + "');")
.replace(/{ondblclick}/gi, "pageObject['${pageName}'].getTotalInfo('" + dataItem.getValue("CRDN_ID") + "');");
if (${pageName}Control.untilPageNum != 0) { let trs = empty ? [document.getElementById("${infoPrefix}NotFound--${pageName}").content.querySelector("." + clsForTask + ",.cmn").outerHTML]
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; : ${infoPrefix}List.inStrings(foundTr.outerHTML, replacer);
${pageName}Control.query.pageNum = ${pageName}Control.untilPageNum;
${pageName}Control.untilPageNum = 0;
}
// checkbox 체크 해제 let noMore = (totalSize == ${infoPrefix}List.length);
$("th input[type='checkbox']").prop("checked", false); let initScroll = ($P.crdnReRegControl.query.pageNum < 2) && ($P.crdnReRegControl.untilPageNum == 0);
// 보안모드 $("#table-responsive--${pageName}")[0].changeContent(trs.join(), initScroll, noMore);
fn_securityModeToggle($("#securityMode--top").is(":checked"));
}
// DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트 if ($P.crdnReRegControl.untilPageNum != 0) {
scrollDataList${pageName} = () => { $P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize;
${pageName}Control.tableRenderComplete = false; // dataTables 에 자료 추가 false $P.crdnReRegControl.query.pageNum = $P.crdnReRegControl.untilPageNum;
$P.crdnReRegControl.untilPageNum = 0;
}
${pageName}Control.load(${pageName}Control.query.pageNum + 1); // checkbox 체크 해제
} $("th input[type='checkbox']").prop("checked", false);
/************************************************************************** // 보안모드
* 사용자 함수(function) fn_securityModeToggle($("#securityMode--top").is(":checked"));
**************************************************************************/
// callback 사용자 검색
callbackFindUser${pageName} = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
}
// 사용자 검색
getFindUser${pageName} = () => {
let params = {
callbackFuncName : "callbackFindUser${pageName}"
} }
ajax.get({ // DataTables에 스크롤이 맨 밑으로 이동했을 때 이벤트
url : wctx.url("/user/user02/010/main.do") $P.scrollDataList = () => {
, data : params || {} $P.crdnReRegControl.tableRenderComplete = false; // dataTables 에 자료 추가 false
, success : resp => {
dialog.open({
id : "userDialog"
, title : "사용자 검색"
, content : resp
, size : "lg"
});
}
});
}
// 개별총정보 dialog
getTotalInfo${pageName} = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let callControlName = ""; $P.crdnReRegControl.load($P.crdnReRegControl.query.pageNum + 1);
if (typeof callSection == "undefined" || callSection == null || callSection == "") {
callControlName = "${pageName}Control";
} else {
callControlName = callSection;
} }
let params = { /**************************************************************************
callControlName : callControlName * 사용자 함수(function)
, sggCd : $("#sggCd--${pageName}").val() **************************************************************************/
, taskSeCd : $("input[name=taskSeCd]:checked").val() // callback 사용자 검색
, crdnId : crdnId $P.callbackFindUser = (userId, userNm) => {
$("#schRgtrCd--${pageName}").val(userId); // 사용자 ID
$("#schRgtrNm--${pageName}").val(userNm); // 사용자 명
} }
ajax.get({ // 사용자 검색
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do") $P.getFindUser = () => {
, data : params let params = {
, success : resp => { callbackFuncName : "$P.callbackFindUser"
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
});
} }
});
}
// 검색 자료 재조회
refreshList${pageName} = () => {
${pageName}Control.untilPageNum = ${pageName}Control.query.pageNum;
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize * ${pageName}Control.query.pageNum;
${pageName}Control.load(1);
}
/************************************************************************** ajax.get({
* 버튼 clickEvent url : wctx.url("/user/user02/010/main.do")
**************************************************************************/ , data : params || {}
// 업무 구분 변경 , success : resp => {
fnResetAndChangeBiz${pageName} = (taskSeCd) => { dialog.open({
// 업무 구분 코드 id : "userDialog"
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") { , title : "사용자 검색"
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val(); , content : resp
, size : "lg"
});
}
});
} }
// 화면 초기화 // 개별총정보 dialog
$("#frmSearch--${pageName}")[0].reset(); $P.getTotalInfo = (crdnId, callSection) => {
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 초기 기본 설정
initFormData${pageName}(taskSeCd); let callControlName = "";
// 업무 구분별 설정 if (typeof callSection == "undefined" || callSection == null || callSection == "") {
setTask${pageName}(taskSeCd); callControlName = "pageObject['${pageName}'].crdnReRegControl";
// 기본 데이터 설정 } else {
setFormData${pageName}(taskSeCd); callControlName = callSection;
}
// dataset 초기화 let params = {
${pageName}Control.dataset.clear(); callControlName : callControlName
} , sggCd : $("#sggCd--${pageName}").val()
, taskSeCd : $("input[name=taskSeCd]:checked").val()
, crdnId : crdnId
}
// 검색 버튼 이벤트 ajax.get({
fnSearchList${pageName} = () => { url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/010/main.do")
// 검색조건 , data : params
${pageName}Control.query = ${pageName}Fields.get(); , success : resp => {
dialog.open({
id : "totalInfoMainDialog"
, title : "개별총정보"
, content : resp
, size : "xxl"
});
}
});
}
${pageName}Control.query.fetchSize = ${pageName}Control.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30 // 검색 자료 재조회
${pageName}Control.query.delYN = "N"; // 삭제 여부 $P.refreshList = () => {
$P.crdnReRegControl.untilPageNum = $P.crdnReRegControl.query.pageNum;
$P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize * $P.crdnReRegControl.query.pageNum;
${pageName}Control.load(1); $P.crdnReRegControl.load(1);
} }
// 엑셀 버튼 이벤트 /**************************************************************************
fnExcel${pageName} = () => { * 버튼 clickEvent
if (${pageName}Control.dataset.empty) { **************************************************************************/
dialog.alert({ // 업무 구분 변경
content : "검색된 자료가 없습니다." $P.fnResetAndChangeBiz = (taskSeCd) => {
, onOK : () => { } // 업무 구분 코드
}); if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
taskSeCd = $("#layout-navbar input[name='taskSeCd']:checked").val();
}
return; // 초기 기본 설정
} $P.initForm();
// DataTables(그리드) // 기본 데이터 설정
let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)") $P.initData(taskSeCd);
, $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
${pageName}Control.query.cellDefs = cellDefs;
${pageName}Control.download(); // dataset 초기화
} $P.crdnReRegControl.dataset.clear();
}
// 사용자 조회 버튼 이벤트 // 검색 버튼 이벤트
fnFindUser${pageName} = () => { $P.fnSearchList = () => {
getFindUser${pageName}(); // 검색조건
} $P.crdnReRegControl.query = $P.formFields.get();
$P.crdnReRegControl.query.fetchSize = $P.crdnReRegControl.defaultFetchSize; // 한번에 조회되는 자료 건수 FETCH_XS = 30
$P.crdnReRegControl.query.delYN = "N"; // 삭제 여부
// 이전 단속정보 보기 버튼 이벤트 $P.crdnReRegControl.load(1);
fnBfrCrdnTotalInfo${pageName} = () => { }
let bfrCrdnId = ${pageName}Control.dataset.getValue("BFR_CRDN_ID");
// 이전 단속 ID 가 없다면.. return // 엑셀 버튼 이벤트
if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return; $P.fnExcel = () => {
if ($P.crdnReRegControl.dataset.empty) {
dialog.alert({
content : "검색된 자료가 없습니다."
, onOK : () => { }
});
// 개별총정보 dialog return;
getTotalInfo${pageName}(bfrCrdnId, "noControlName"); }
}
/************************************************************************** // DataTables(그리드)
* 초기 설정 let cellDefs = getCellDefs($("#theadTr--${pageName} th").not(".dummy-th").not(":eq(0)")
**************************************************************************/ , $($("#${infoPrefix}Row--${pageName}")[0].content).find("td").not(".dummy-td").not(":eq(0)"));
// 이벤트 $P.crdnReRegControl.query.cellDefs = cellDefs;
setEvent${pageName} = () => {
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 $P.crdnReRegControl.download();
$("#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); $P.fnFindUser = () => {
} else if(value.length > 5) { $P.getFindUser();
this.value = value.substring(0, 4) + "-" + value.substring(4); }
}
});
});
// DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고 // 이전 단속정보 보기 버튼 이벤트
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); $P.fnBfrCrdnTotalInfo = () => {
let bfrCrdnId = $P.crdnReRegControl.dataset.getValue("BFR_CRDN_ID");
// DataTables 스크롤 이벤트 생성 // 이전 단속 ID 가 없다면.. return
fnMakeScrollableTable($("#table-responsive--${pageName}")[0], scrollDataList${pageName}); if (typeof bfrCrdnId == "undefined" || bfrCrdnId == null || bfrCrdnId == "") return;
}
// 화면 초기 설정 // 개별총정보 dialog
initFormData${pageName} = (taskSeCd) => { $P.getTotalInfo(bfrCrdnId, "noControlName");
// 초기 데이터 설정
if (typeof taskSeCd == "undefined" || taskSeCd == null || taskSeCd == "") {
clsForTask = $("#layout-navbar input[name='taskSeCd']:checked").val();
} }
// input, select 초기화 /**************************************************************************
let searchForm = $("#frmSearch--${pageName}"); * 초기 설정
searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false); **************************************************************************/
searchForm.find("input[type='checkbox']").prop("checked", false); // 이벤트
searchForm.find("input[type='text']").val(""); $P.setEvent = () => {
searchForm.find("input[type='hidden']").val(""); // 버튼 이벤트
searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); }); $("#btnReset--${pageName}").on("click", () => $P.fnResetAndChangeBiz()); // 초기화
$("#btnSearch--${pageName}").on("click", () => $P.fnSearchList()); // 검색
$("#btnExcel--${pageName}").on("click", () => $P.fnExcel()); // 엑셀
$("#btnFindUser--${pageName}").on("click", () => $P.fnFindUser()); // 사용자 검색
$("#btnBfrCrdnTotalInfo--${pageName}").on("click", () => $P.fnBfrCrdnTotalInfo()); // 이전단속정보
// 동적검색에서 엔터(Enter) 키를 누르면 검색한다.
$("#term--${pageName}").keypress(function(e) {
if (e.keyCode == 13) {
fnSearchList${pageName}();   
}    
});
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자. // form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) { $("#frmSearch--${pageName}").find(".form-date").each(function() {
$(this).prop("disabled", "true"); $(this).on("input", function() {
}); let value = this.value.replaceAll("-", "");
$("#sggCd--${pageName}").val("${sggCd}"); // 시군구 코드 if (value.length > 7) {
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true); // 업무 구분 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);
}
});
});
// 달력 초기화 // DataTables width 변경 조정 업무별 그리드가 존재 한다면.. crdn06010-main.jsp 참고
initDatepicker("frmSearch--${pageName}"); $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 동적 검색 // DataTables 스크롤 이벤트 생성
$("#byOutput--${pageName}").val("동적 검색"); fnMakeScrollableTable($("#table-responsive--${pageName}")[0], $P.scrollDataList);
}
// 사용자 이름 // 기본 데이터 설정
$("#schRgtrNm--${pageName}").prop("readonly", true); $P.initForm = (taskSeCd) => {
} // 화면 초기화
$("#frmSearch--${pageName}")[0].reset();
// input, select 초기화
let searchForm = $("#frmSearch--${pageName}");
searchForm.find("input[type='radio']").not("[name='taskSeCd']").prop("checked", false);
searchForm.find("input[type='checkbox']").prop("checked", false);
searchForm.find("input[type='text']").val("");
searchForm.find("input[type='hidden']").val("");
searchForm.find("select").each(function() { $(this).find("option:eq(0)").prop("selected", true); });
// 최고 관리자 경우 업무구분을 선택할 수 있도록 하자.
$("#frmSearch--${pageName} input[name='taskSeCd']").each(function(i) {
$(this).prop("disabled", "true");
});
// 달력 초기화
initDatepicker("frmSearch--${pageName}");
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", new Date());
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 동적 검색
$("#byOutput--${pageName}").val("동적 검색");
// 사용자 이름
$("#schRgtrNm--${pageName}").prop("readonly", true);
}
// 업무 구분별 설정 // 기본 데이터 설정
setTask${pageName} = (taskSeCd) => { $P.initData = (taskSeCd) => {
let clsForTask = taskSeCd.toLowerCase(); // $P.crdnReRegControl 설정
$P.crdnReRegControl.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
// 시군구 코드
$("#sggCd--${pageName}").val("${sggCd}");
// 업무 구분 코드
$("#frmSearch--${pageName} input[name='taskSeCd'][value='" + taskSeCd + "']").prop("checked", true);
// 일자
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date);
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date());
// 업무 구분별 설정
$P.setTask(taskSeCd);
}
// 업무별 조회조건 // 업무 구분별 설정
renderForTask("frmSearch--${pageName}", clsForTask); $P.setTask = (taskSeCd) => {
let clsForTask = taskSeCd.toLowerCase();
// 업무별 그리드 th // 업무별 조회조건
$("#DataTables_Table_0--${pageName}").find("th").resizable( "destroy" ); renderForTask("frmSearch--${pageName}", clsForTask);
let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content; // 업무별 그리드 th
let cols = $(colContent).find("." + clsForTask + ",.cmn"); $("#DataTables_Table_0--${pageName}").find("th").resizable( "destroy" );
let colsOuterHTML = "";
cols.each(function() { let colContent = document.getElementById("${infoPrefix}Col--${pageName}").content;
colsOuterHTML += this.outerHTML; let cols = $(colContent).find("." + clsForTask + ",.cmn");
}); let colsOuterHTML = "";
$("#theadTr--${pageName}").html(colsOuterHTML); cols.each(function() {
$("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} ); colsOuterHTML += this.outerHTML;
} });
// 기본 데이터 설정 $("#theadTr--${pageName}").html(colsOuterHTML);
setFormData${pageName} = (taskSeCd) => { $("#DataTables_Table_0--${pageName}").find("th").resizable( {handles : "e"} );
// ${pageName}Control 설정
${pageName}Control.defaultFetchSize = FETCH_XS; // 1 페이지당 조회되는 자료 건수 index.jsp에서 확인 FETCH_XS = 30
// 일자 // URL 설정
$("#schReRegYmdFrom--${pageName}").datepicker("setDate", DateUtil.getDateDay(-7).date); $P.setURL(taskSeCd);
$("#schReRegYmdTo--${pageName}").datepicker("setDate", new Date()); }
// URL 설정 // URL 설정
setURL${pageName}(taskSeCd); $P.setURL = (taskSeCd) => {
} $P.crdnReRegControl.urls.load = wctx.url("/" + taskSeCd + "/excl/excl03/010/list.do"); // 조회
$P.crdnReRegControl.urls.create = wctx.url("/" + taskSeCd + "/excl/excl03/010/create.do"); // 등록
// URL 설정 }
setURL${pageName} = (taskSeCd) => {
${pageName}Control.urls.load = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/list.do"); // 조회
${pageName}Control.urls.create = wctx.url("/" + taskSeCd + ${pageName}PrefixUrl + "/010/create.do"); // 등록
${pageName}Control.urls.getInfo = wctx.url("/" + taskSeCd + "/sprt/sprt02/010/main.do"); // 개별총정보
}
/************************************************************************** /**************************************************************************
* script 진입 * 초기 셋팅
**************************************************************************/ **************************************************************************/
$(document).ready(function() {
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); $P.setEvent();
// 화면 초기 설정 및 업무 구분 변경
$P.fnResetAndChangeBiz($("#layout-navbar input[name='taskSeCd']:checked").val());
// 보안모드 // 보안모드
fn_securityModeToggle($("#securityMode--top").is(":checked")); fn_securityModeToggle($("#securityMode--top").is(":checked"));
// 화면 초기 설정 및 업무 구분 변경
fnResetAndChangeBiz${pageName}($("#layout-navbar input[name='taskSeCd']:checked").val());
}); });
</script> </script>

@ -18,10 +18,10 @@
사진 추가 사진 추가
</button> </button>
<button type="button" id="btnEditPhoto--${pageName}" class="btn btn-primary"> <button type="button" id="btnEditPhoto--${pageName}" class="btn btn-primary">
선택 사진 편집 사진 편집
</button> </button>
<button type="button" id="btnDeleteExistPhoto--${pageName}" class="btn btn-primary"> <button type="button" id="btnDeleteExistPhoto--${pageName}" class="btn btn-primary">
선택 사진 삭제 사진 삭제
</button> </button>
</div> </div>
</div> </div>
@ -37,7 +37,6 @@
<input type="file" id="inputUploadSet--${pageName}" name="inputUploadSet" <input type="file" id="inputUploadSet--${pageName}" name="inputUploadSet"
multiple accept="image/*" hidden /> multiple accept="image/*" hidden />
</form> </form>
</div> </div>
<template id="imgRadioTemplate--${pageName}"> <template id="imgRadioTemplate--${pageName}">
@ -53,6 +52,21 @@
</label> </label>
</li> </li>
</template> </template>
<template id="imgRadioTemplateTotalInfo--${pageName}">
<li style="display:flex">
<label class="mx-1" style="display:flex;flex-direction:row">
<input type="radio" name="{name}" class="form-check-input" value="{value}" checked="" />
<div style="position:relative;">
<img src="{src}" width="240" height="160" style="display:absolute;"
data-crdn-photo-id="{crdnPhotoId}"
data-mosaic="{mosaic}"
onload='fn_photoMask($("#photoMask--top").is(":checked"),this);' />
</div>
</label>
</li>
</template>
<script> <script>
LoadScript("photoMainJspScript","/resources/js/fims/photo-main.js"); LoadScript("photoMainJspScript","/resources/js/fims/photo-main.js");
</script> </script>

@ -34,8 +34,8 @@
<!-- 자료 이동 버튼 --> <!-- 자료 이동 버튼 -->
<div class="col-md-2 text-end"> <div class="col-md-2 text-end">
<input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly /> <input type="text" id="countStauts--${pageName}" class="form-control w-px-120 text-center fw-bold" readonly />
<button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp" onClick="fnPrev${pageName}();">◀</button> <button type="button" id="btnPrev--${pageName}" class="w-px-50 btn-PageUp">◀</button>
<button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown" onClick="fnNext${pageName}();">▶</button> <button type="button" id="btnNext--${pageName}" class="w-px-50 btn-PageDown">▶</button>
</div> </div>
</div> <!-- <div class="row g-1"> --> </div> <!-- <div class="row g-1"> -->
</form> <!-- /입력 영역 --> </form> <!-- /입력 영역 -->
@ -44,44 +44,44 @@
<div class="nav-align-top"> <div class="nav-align-top">
<ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist"> <ul class="nav nav-tabs" id="tabs--${pageName}" role="tablist">
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75 active" role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" <button type="button" class="nav-link w-px-160 h-75 active" id="btnCrdnPayer--${pageName}" name="btnCrdnPayer"
aria-controls="crdnPayerInfo" aria-selected="true" onClick="fnCrdnPayerInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#crdnPayerInfo" aria-controls="crdnPayerInfo" aria-selected="true">
단속 정보 단속 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnOpnnSbmsn--${pageName}" name="btnOpnnSbmsn"
aria-controls="opnnSbmsnInfo" aria-selected="false" onClick="fnOpnnSbmsnInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#opnnSbmsnInfo" aria-controls="opnnSbmsnInfo" aria-selected="false">
의견제출 정보 의견제출 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnSndng--${pageName}" name="btnSndng"
aria-controls="sndngInfo" aria-selected="false" onClick="fnSndngInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#sndngInfo" aria-controls="sndngInfo" aria-selected="false">
발송반송 정보 발송반송 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#prcsDtlInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnPrcs--${pageName}" name="btnPrcs"
aria-controls="prcsDtlInfo" aria-selected="false" onClick="fnPrcsDtlInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#prcsInfo" aria-controls="prcsInfo" aria-selected="false">
처리상세 정보 처리상세 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#levyNpmntInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnLevy--${pageName}" name="btnLevy"
aria-controls="levyNpmntInfo" aria-selected="false" onClick="fnLevyNpmntInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#levyInfo" aria-controls="levyInfo" aria-selected="false">
부과체납 정보 부과체납 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnRcvmt--${pageName}" name="btnRcvmt"
aria-controls="rcvmtInfo" aria-selected="false" onClick="fnRcvmtInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#rcvmtInfo" aria-controls="rcvmtInfo" aria-selected="false">
수납 정보 수납 정보
</button> </button>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<button type="button" class="nav-link w-px-160 h-75" role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" <button type="button" class="nav-link w-px-160 h-75" id="btnCvlcptDscsn--${pageName}" name="btnCvlcptDscsn"
aria-controls="cvlcptDscsnCnInfo" aria-selected="false" onClick="fnCvlcptDscsnInfo${pageName}();"> role="tab" data-bs-toggle="tab" data-bs-target="#cvlcptDscsnInfo" aria-controls="cvlcptDscsnInfo" aria-selected="false">
민원상담 정보 민원상담 정보
</button> </button>
</li> </li>
@ -91,8 +91,8 @@
<div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div> <div class="tab-pane fade show active" id="crdnPayerInfo" role="tabpanel">단속 정보</div>
<div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div> <div class="tab-pane fade" id="opnnSbmsnInfo" role="tabpanel">의견제출 정보</div>
<div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div> <div class="tab-pane fade" id="sndngInfo" role="tabpanel">발송반송 정보</div>
<div class="tab-pane fade" id="prcsDtlInfo" role="tabpanel">처리상세 정보</div> <div class="tab-pane fade" id="prcsInfo" role="tabpanel">처리상세 정보</div>
<div class="tab-pane fade" id="levyNpmntInfo" role="tabpanel">부과체납 정보</div> <div class="tab-pane fade" id="levyInfo" role="tabpanel">부과체납 정보</div>
<div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div> <div class="tab-pane fade" id="rcvmtInfo" role="tabpanel">수납 정보</div>
<div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div> <div class="tab-pane fade" id="cvlcptDscsnInfo" role="tabpanel">민원상담 정보</div>
</div> </div>
@ -104,471 +104,488 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/sprt/sprt02";
// infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정) // infoDialog 호출 용도(view 조회(편집불가), create 등록, update 수정)
var ${pageName}CallPurpose = "${callPurpose}"; var ${pageName}CallPurpose = "${callPurpose}";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
// 자료 이동을 위한 자료의 Index. 0부터 시작.
var curDataIndex${pageName};
// 현재 탭의 위치
var activeTabIndex${pageName} = 0;
/************************************************************************** $(document).ready(function() {
* DatasetControl // pageObject
**************************************************************************/ var $P = pageObject["${pageName}"];
var ${pageName}Control = new DatasetControl({
prefix : "totalInfoMain" // 자료 이동을 위한 자료의 Index. 0부터 시작.
, prefixName : "개별총정보" $P.curDataIndex;
, keymapper : info => info ? info.CRDN_ID : "" // 현재 탭의 위치
, dataGetter : obj => obj.totalInfo $P.activeTabIndex = 0;
, formats : { // FormFields
CRDN_YMD_TM : datetimeFormat $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
, CRDN_STTS_CHG_DT : datetimeFormat
} /**************************************************************************
}); * DatasetControl
**************************************************************************/
$P.mainControl = new DatasetControl({
prefix : "totalInfoMain"
, prefixName : "개별총정보"
, keymapper : info => info ? info.CRDN_ID : ""
, dataGetter : obj => obj.totalInfo
, formats : {
CRDN_YMD_TM : datetimeFormat
, CRDN_STTS_CHG_DT : datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/
$P.mainControl.onCurrentChange = item => {
if (!item) return;
${pageName}Control.onCurrentChange = item => { // Dataset 셋팅
if (!item) return; $P.formFields.set(item);
// Dataset 셋팅 // 건수 표기
${pageName}Fields.set(item); let controlName = "${callControlName}";
if (controlName != "noControlName") {
$P.fnChangeCountStauts();
}
// 자료 수정
$P.useDataEdit(item);
}
/**************************************************************************
* 네이게이션 Event
**************************************************************************/
// 건수 표기 // 건수 표기
let controlName = "${callControlName}"; $P.fnChangeCountStauts = () => {
if (controlName != "noControlName") { // $P.curDataIndex 에 값이 없다면..
fnChangeCountStauts${pageName}(); if ($P.curDataIndex == null) {
let mainDataItems = ${callControlName}.dataset._items;
let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID");
for (iLoop = 0; iLoop < mainDataItems.length; iLoop++) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
$P.curDataIndex = iLoop;
break;
}
}
}
let viewNumber = $P.curDataIndex + 1;
$("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length);
} }
// 자료 수정 // 이전 자료 조회
useDataEdit${pageName}(item); $P.fnPrev = () => {
} let mainDataItems = ${callControlName}.dataset._items;
let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID");
/************************************************************************** // 초기 값은 callControl dataset 의 총 건수 - 1
* 네이게이션 Event if ($P.curDataIndex == null) {
**************************************************************************/ $P.curDataIndex = mainDataItems.length - 1;
// 건수 표기 }
fnChangeCountStauts${pageName} = () => {
// curDataIndex${pageName} 에 값이 없다면.. for (iLoop = $P.curDataIndex; iLoop >= 0; iLoop--) {
if (curDataIndex${pageName} == null) { if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
if (iLoop - 1 < 0) { return; } // 종료
$P.curDataIndex = iLoop - 1;
break;
}
}
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
let params = {
callPurpose : "view"
, callControlName : "${callControlName}"
, crdnId : crdnId
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, delYN : "N"
};
$P.refreshList(params);
}
// 다음 자료 조회
$P.fnNext = () => {
let mainDataItems = ${callControlName}.dataset._items; let mainDataItems = ${callControlName}.dataset._items;
let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID"); let curCrdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 초기 값은 0
if ($P.curDataIndex == null) {
$P.curDataIndex = 0;
}
for (iLoop = 0; iLoop < mainDataItems.length; iLoop++) { for (iLoop = $P.curDataIndex; iLoop < mainDataItems.length; iLoop++) {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) {
curDataIndex${pageName} = iLoop; if (iLoop + 1 >= mainDataItems.length) return; // 종료
$P.curDataIndex = iLoop + 1;
break; break;
} }
} }
let crdnId = mainDataItems[$P.curDataIndex].data.CRDN_ID;
// 단속 ID 가 없다면.. return
if (crdnId == null || crdnId == "") {
return;
}
let params = {
callPurpose : "view"
, callControlName : "${callControlName}"
, crdnId : crdnId
, sggCd : mainDataItems[$P.curDataIndex].data.SGG_CD
, taskSeCd : mainDataItems[$P.curDataIndex].data.TASK_SE_CD
, delYN : "N"
};
$P.refreshList(params);
}
/**************************************************************************
* 사용자 함수(function)
**************************************************************************/
// 자료 삭제 가능 여부
$P.useDataEdit = (item) => {
// 삭제 자료일 경우 빨간색으로 변경
let elem = document.getElementById("crdnSttsNm--${pageName}");
if (item.data.CRDN_STTS_CD == "99") {
elem.classList.remove("text-primary");
elem.classList.add("text-danger");
} else {
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
}
}
//
$P.fnClose = (isDataReLoad) => {
dialog.close($P.mainControl.prefix + "Dialog");
let controlName = "${callControlName}";
if (isDataReLoad && controlName != "noControlName") {
${callControlName}._load();
}
}
// 자료 재조회
$P.refreshList = (params) => {
if (!params) return;
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
$P.mainControl.setData([resp.totalInfo]);
if ($P.activeTabIndex == 0) {
$P.fnCrdnPayerInfo(); // 단속 납부자 Data 셋팅
} else if ($P.activeTabIndex == 1) {
$P.fnOpnnSbmsnInfo(); // 의견제출 정보
} else if ($P.activeTabIndex == 2) {
$P.fnSndngInfo(); // 발송 반송 정보
} else if ($P.activeTabIndex == 3) {
$P.fnPrcsInfo(); // 처리 상세 정보
} else if ($P.activeTabIndex == 4) {
$P.fnLevyInfo(); // 부과체납 정보
} else if ($P.activeTabIndex == 5) {
$P.fnRcvmtInfo(); // 수납 정보
} else if ($P.activeTabIndex == 6) {
$P.fnCvlcptDscsnInfo(); // 민원상담 정보
}
}
}
});
}
$P.getCrdnPayerInfo = (params) => {
if (!params) return;
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/020/info.do")
, data : params || {}
, success : resp => {
$("#crdnPayerInfo").html(resp);
}
});
} }
let viewNumber = curDataIndex${pageName} + 1; $P.getOpnnSbmsnInfo = (params) => {
if (!params) return;
$("#countStauts--${pageName}").val(viewNumber + " of " + ${callControlName}.dataset._items.length); ajax.get({
} url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/030/info.do")
, data : params || {}
, success : resp => {
$("#opnnSbmsnInfo").html(resp);
}
});
}
// 이전 자료 조회 $P.getSndngInfo = (params) => {
fnPrev${pageName} = () => { if (!params) return;
let mainDataItems = ${callControlName}.dataset._items;
let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 초기 값은 callControl dataset 의 총 건수 - 1 ajax.get({
if (curDataIndex${pageName} == null) { url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/040/info.do")
curDataIndex${pageName} = mainDataItems.length - 1; , data : params || {}
, success : resp => {
$("#sndngInfo").html(resp);
}
});
} }
for (iLoop = curDataIndex${pageName}; iLoop >= 0; iLoop--) { $P.getPrcsInfo = (params) => {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { if (!params) return;
if (iLoop - 1 < 0) { return; } // 종료
curDataIndex${pageName} = iLoop - 1; ajax.get({
break; url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/050/info.do")
} , data : params || {}
, success : resp => {
$("#prcsInfo").html(resp);
}
});
} }
let crdnId = mainDataItems[curDataIndex${pageName}].data.CRDN_ID; $P.getLevyInfo = (params) => {
if (!params) return;
// 단속 ID 가 없다면.. return ajax.get({
if (crdnId == null || crdnId == "") { url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/060/info.do")
return; , data : params || {}
, success : resp => {
$("#levyInfo").html(resp);
}
});
} }
let params = { $P.getRcvmtInfo = (params) => {
callPurpose : "view" if (!params) return;
, callControlName : "${callControlName}"
, crdnId : crdnId ajax.get({
, sggCd : mainDataItems[curDataIndex${pageName}].data.SGG_CD url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/070/info.do")
, taskSeCd : mainDataItems[curDataIndex${pageName}].data.TASK_SE_CD , data : params || {}
, delYN : "N" , success : resp => {
}; $("#rcvmtInfo").html(resp);
}
refreshList${pageName}(params); });
}
// 다음 자료 조회
fnNext${pageName} = () => {
let mainDataItems = ${callControlName}.dataset._items;
let curCrdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 초기 값은 0
if (curDataIndex${pageName} == null) {
curDataIndex${pageName} = 0;
} }
for (iLoop = curDataIndex${pageName}; iLoop < mainDataItems.length; iLoop++) { $P.getCvlcptDscsnInfo = (params) => {
if (mainDataItems[iLoop].data.CRDN_ID == curCrdnId) { if (!params) return;
if (iLoop + 1 >= mainDataItems.length) { return; } // 종료
curDataIndex${pageName} = iLoop + 1; ajax.get({
break; url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
} , data : params || {}
, success : resp => {
$("#cvlcptDscsnInfo").html(resp);
}
});
} }
let crdnId = mainDataItems[curDataIndex${pageName}].data.CRDN_ID; /**************************************************************************
* 탭 clickEvent
**************************************************************************/
// 단속 정보
$P.fnCrdnPayerInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 단속 ID 가 없다면.. return // 탭 Index
if (crdnId == null || crdnId == "") { $P.activeTabIndex = 0;
return;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
$P.getCrdnPayerInfo(params);
} }
let params = { // 의견제출 정보
callPurpose : "view" $P.fnOpnnSbmsnInfo = () => {
, callControlName : "${callControlName}" let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
, crdnId : crdnId
, sggCd : mainDataItems[curDataIndex${pageName}].data.SGG_CD
, taskSeCd : mainDataItems[curDataIndex${pageName}].data.TASK_SE_CD
, delYN : "N"
};
refreshList${pageName}(params); // 단속 ID 가 없다면.. return
} if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
/************************************************************************** // 탭 Index
* 사용자 함수(function) $P.activeTabIndex = 1;
**************************************************************************/
// 자료 삭제 가능 여부 let params = {
useDataEdit${pageName} = (item) => { callPurpose : "view"
// 삭제 자료일 경우 빨간색으로 변경 , crdnId : crdnId
let elem = document.getElementById("crdnSttsNm--${pageName}"); , sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
if (item.data.CRDN_STTS_CD == "99") { , delYN : "N"
elem.classList.remove("text-primary"); };
elem.classList.add("text-danger");
} else { $P.getOpnnSbmsnInfo(params);
elem.classList.remove("text-danger");
elem.classList.add("text-primary");
} }
}
// // 발송 반송 정보
fnClose${pageName} = (isDataReLoad) => { $P.fnSndngInfo = () => {
dialog.close(${pageName}Control.prefix + "Dialog"); let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let controlName = "${callControlName}"; // 탭 Index
if (isDataReLoad && controlName != "noControlName") { $P.activeTabIndex = 2;
${callControlName}._load();
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
$P.getSndngInfo(params);
} }
}
// 자료 재조회
refreshList${pageName} = (params) => {
if (!params) return;
ajax.get({
url : wctx.url(params.taskSeCd + "/sprt/sprt02/010/main.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
if (resp.totalInfo) {
// 최상단 단속 Data 셋팅
${pageName}Control.setData([resp.totalInfo]);
if (activeTabIndex${pageName} == 0) {
fnCrdnPayerInfo${pageName}(); // 단속 납부자 Data 셋팅
} else if (activeTabIndex${pageName} == 1) {
fnOpnnSbmsnInfo${pageName}(); // 의견제출 정보
} else if (activeTabIndex${pageName} == 2) {
fnSndngInfo${pageName}(); // 발송 반송 정보
} else if (activeTabIndex${pageName} == 3) {
fnPrcsDtlInfo${pageName}(); // 처리 상세 정보
} else if (activeTabIndex${pageName} == 4) {
fnLevyNpmntInfo${pageName}(); // 부과체납 정보
} else if (activeTabIndex${pageName} == 5) {
fnRcvmtInfo${pageName}(); // 수납 정보
} else if (activeTabIndex${pageName} == 6) {
fnCvlcptDscsnInfo${pageName}(); // 민원상담 정보
}
}
}
});
}
getCrdnPayerInfo${pageName} = (params) => { // 처리 정보
if (!params) return; $P.fnPrcsInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
ajax.get({ // 단속 ID 가 없다면.. return
url : wctx.url(params.taskSeCd + "/sprt/sprt02/020/info.do") if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
, data : params || {}
, success : resp => {
$("#crdnPayerInfo").html(resp);
}
});
}
getOpnnSbmsnInfo${pageName} = (params) => { // 탭 Index
if (!params) return; $P.activeTabIndex = 3;
ajax.get({ let params = {
url : wctx.url(params.taskSeCd + "/sprt/sprt02/030/info.do") callPurpose : "view"
, data : params || {} , crdnId : crdnId
, success : resp => { , sggCd : $P.mainControl.dataset.getValue("SGG_CD")
$("#opnnSbmsnInfo").html(resp); , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
} , rtpyrId : $P.mainControl.dataset.getValue("RTPYR_ID")
}); , delYN : "N"
} };
getSndngInfo${pageName} = (params) => { $P.getPrcsInfo(params);
if (!params) return; }
ajax.get({ // 부과체납 정보
url : wctx.url(params.taskSeCd + "/sprt/sprt02/040/info.do") $P.fnLevyInfo = () => {
, data : params || {} let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
, success : resp => {
$("#sndngInfo").html(resp);
}
});
}
getPrcsDtlInfo${pageName} = (params) => { // 단속 ID 가 없다면.. return
if (!params) return; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
ajax.get({ // 탭 Index
url : wctx.url(params.taskSeCd + "/sprt/sprt02/050/info.do") $P.activeTabIndex = 4;
, data : params || {}
, success : resp => {
$("#prcsDtlInfo").html(resp);
}
});
}
getLevyNpmntInfo${pageName} = (params) => { let params = {
if (!params) return; callPurpose : "view"
, crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
ajax.get({ $P.getLevyInfo(params);
url : wctx.url(params.taskSeCd + "/sprt/sprt02/060/info.do") }
, data : params || {}
, success : resp => {
$("#levyNpmntInfo").html(resp);
}
});
}
getRcvmtInfo${pageName} = (params) => { // 수납 정보
if (!params) return; $P.fnRcvmtInfo = () => {
let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
ajax.get({ // 단속 ID 가 없다면.. return
url : wctx.url(params.taskSeCd + "/sprt/sprt02/070/info.do") if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
, data : params || {}
, success : resp => {
$("#rcvmtInfo").html(resp);
}
});
}
getCvlcptDscsnInfo${pageName} = (params) => { // 탭 Index
if (!params) return; $P.activeTabIndex = 5;
ajax.get({ let params = {
url : wctx.url(params.taskSeCd + "/sprt/sprt02/080/info.do") callPurpose : "view"
, data : params || {} , crdnId : crdnId
, success : resp => { , sggCd : $P.mainControl.dataset.getValue("SGG_CD")
$("#cvlcptDscsnInfo").html(resp); , taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
} , delYN : "N"
}); };
}
/************************************************************************** $P.getRcvmtInfo(params);
* 탭 clickEvent }
**************************************************************************/
// 단속 정보
fnCrdnPayerInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 0;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
getCrdnPayerInfo${pageName}(params);
}
// 의견제출 정보
fnOpnnSbmsnInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 1;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
getOpnnSbmsnInfo${pageName}(params);
}
// 발송 반송 정보
fnSndngInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 2;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
getSndngInfo${pageName}(params);
}
// 처리 상세 정보
fnPrcsDtlInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 3;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, rtpyrId : ${pageName}Control.dataset.getValue("RTPYR_ID")
, delYN : "N"
};
getPrcsDtlInfo${pageName}(params);
}
// 부과체납 정보
fnLevyNpmntInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 4;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
getLevyNpmntInfo${pageName}(params);
}
// 수납 정보
fnRcvmtInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 5;
let params = {
callPurpose : "view"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, delYN : "N"
};
getRcvmtInfo${pageName}(params);
}
// 민원상담 정보
fnCvlcptDscsnInfo${pageName} = () => {
let crdnId = ${pageName}Control.dataset.getValue("CRDN_ID");
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 탭 Index
activeTabIndex${pageName} = 6;
let params = {
callPurpose : "view"
, inquiryCondition : "crdnId_vhrno"
, crdnId : crdnId
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD")
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD")
, vhrno : ${pageName}Control.dataset.getValue("VHRNO")
, delYN : "N"
};
getCvlcptDscsnInfo${pageName}(params);
}
/************************************************************************** // 민원상담 정보
* 초기 셋팅 $P.fnCvlcptDscsnInfo = () => {
**************************************************************************/ let crdnId = $P.mainControl.dataset.getValue("CRDN_ID");
// 이벤트 설정
setEvent${pageName} = () => {
} // 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
// 기본 데이터 설정 // 탭 Index
initData${pageName} = () => { $P.activeTabIndex = 6;
curDataIndex${pageName} = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다.
}
/************************************************************************** let params = {
* script 진입 callPurpose : "view"
**************************************************************************/ , inquiryCondition : "crdnId_vhrno"
$(document).ready(function() { , crdnId : crdnId
, sggCd : $P.mainControl.dataset.getValue("SGG_CD")
, taskSeCd : $P.mainControl.dataset.getValue("TASK_SE_CD")
, vhrno : $P.mainControl.dataset.getValue("VHRNO")
, delYN : "N"
};
$P.getCvlcptDscsnInfo(params);
}
/**************************************************************************
* 초기 셋팅
**************************************************************************/
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); $P.setEvent = () => {
// 버튼 이벤트
$("#btnPrev--${pageName}").on("click", () => $P.fnPrev()); // 이전
$("#btnNext--${pageName}").on("click", () => $P.fnNext()); // 다음
$("#btnCrdnPayer--${pageName}").on("click", () => $P.fnCrdnPayerInfo()); // 단속 정보
$("#btnOpnnSbmsn--${pageName}").on("click", () => $P.fnOpnnSbmsnInfo()); // 의견제출 정보
$("#btnSndng--${pageName}").on("click", () => $P.fnSndngInfo()); // 발송반송 정보
$("#btnPrcs--${pageName}").on("click", () => $P.fnPrcsInfo()); // 처리상세 정보
$("#btnLevy--${pageName}").on("click", () => $P.fnLevyInfo()); // 부과체납 정보
$("#btnRcvmt--${pageName}").on("click", () => $P.fnRcvmtInfo()); // 수납 정보
$("#btnCvlcptDscsn--${pageName}").on("click", () => $P.fnCvlcptDscsnInfo()); // 민원상담 정보
}
// 기본 데이터 설정 // 기본 데이터 설정
initData${pageName}(); $P.initData = () => {
$P.curDataIndex = null; // 화면이 열릴때 초기 값으로 null로 설정해야 건수가 정상 표시 된다.
}
/**************************************************************************
* script 진입시 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 기본 데이터 설정
$P.initData();
// Dataset 설정 // 3. Dataset 설정
${pageName}Control.setData([${totalInfo}]); $P.mainControl.setData([${totalInfo}]);
// 단속, 납부자 정보 // 4. 단속, 납부자 정보 조회
fnCrdnPayerInfo${pageName}(); $P.fnCrdnPayerInfo();
}); });
</script> </script>

File diff suppressed because it is too large Load Diff

@ -98,7 +98,14 @@ function settingPhotoMain(pageName, crdnIdElementId, carInfoFunc, carLinkFunc){
continue; continue;
} }
var template = document.getElementById("imgRadioTemplate--" + pageName).innerHTML; // pageName에 따라 template이 다르다.
var template;
if (pageName == "sprt02020") {
template = document.getElementById("imgRadioTemplateTotalInfo--" + pageName).innerHTML;
} else {
template = document.getElementById("imgRadioTemplate--" + pageName).innerHTML;
}
template = template.replace(/{name}/gi, "existPhoto"); template = template.replace(/{name}/gi, "existPhoto");
template = template.replace(/{value}/gi, item.FILE_ID); template = template.replace(/{value}/gi, item.FILE_ID);
template = template.replace(/{src}/gi, item.URL); template = template.replace(/{src}/gi, item.URL);

Loading…
Cancel
Save