개별총정보 - 민원상담 정보 수정.

main
jjh 10 months ago
parent 2cd77efac6
commit e3cb29416e

@ -263,7 +263,7 @@
}); });
if (resp.saved) { if (resp.saved) {
$P.refreshDataInfo(); $P.refreshDataInfo(); // 자료 재조회
} }
} }

@ -326,7 +326,7 @@
}); });
if (resp.saved) { if (resp.saved) {
$P.refreshDataInfo(); $P.refreshDataInfo(); // 자료 재조회
} }
} }

@ -392,7 +392,7 @@
// 자료 재조회 // 자료 재조회
if (resp.saved) { if (resp.saved) {
$P.refreshDataInfo(); $P.refreshDataInfo(); // 자료 재조회
} }
} }
@ -446,7 +446,7 @@
// 자료 재조회 // 자료 재조회
if (resp.saved) { if (resp.saved) {
$P.refreshDataInfo(); $P.refreshDataInfo(); // 자료 재조회
} }
} }

@ -12,13 +12,13 @@
<label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label> <label class="w-px-120 bg-label-danger pe-2 col-form-label text-sm-center">민원상담 이력</label>
<!-- 버튼 우측 정렬 --> <!-- 버튼 우측 정렬 -->
<span class="container-window-btn-right"> <span class="container-window-btn-right">
<button type="button" class="btn btn-primary w-px-120" id="btnCreateCvlcptDscsn--${pageName}" title="민원상담 등록" onclick="fnCreateCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnCreateCvlcptDscsn--${pageName}" title="민원상담 등록">
민원상담 등록 민원상담 등록
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnUpdateCvlcptDscsn--${pageName}" title="민원상담 수정" onclick="fnUpdateCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnUpdateCvlcptDscsn--${pageName}" title="민원상담 수정">
민원상담 수정 민원상담 수정
</button> </button>
<button type="button" class="btn btn-primary w-px-120" id="btnRemoveCvlcptDscsn--${pageName}" title="민원상담 삭제" onclick="fnRemoveCvlcptDscsn${pageName}();"> <button type="button" class="btn btn-primary w-px-120" id="btnRemoveCvlcptDscsn--${pageName}" title="민원상담 삭제">
민원상담 삭제 민원상담 삭제
</button> </button>
</span> <!-- <span class="container-window-btn-right"> --> </span> <!-- <span class="container-window-btn-right"> -->
@ -51,7 +51,7 @@
</thead> </thead>
<tbody id="tbody--${pageName}"> <tbody id="tbody--${pageName}">
</tbody> </tbody>
<template id="${infoPrefix}Row--${pageName}"> <template id="cvlcptDscsnRow--${pageName}">
<tr data-key="{CVLCPT_DSCSN_ID}"> <tr data-key="{CVLCPT_DSCSN_ID}">
<td class="text-center" onclick="{onclick}">{REG_DT}</td> <td class="text-center" onclick="{onclick}">{REG_DT}</td>
<td class="text-center" onclick="{onclick}">{WEEK_NM}</td> <td class="text-center" onclick="{onclick}">{WEEK_NM}</td>
@ -65,7 +65,7 @@
<td class="cmn dummy-td"></td> <td class="cmn dummy-td"></td>
</tr> </tr>
</template> </template>
<template id="${infoPrefix}NotFound--${pageName}"> <template id="cvlcptDscsnNotFound--${pageName}">
<tr class="odd"> <tr class="odd">
<td valign="top" colspan="10" class="dataTables_empty text-center">민원 상담 정보를 찾지 못했습니다.</td> <td valign="top" colspan="10" class="dataTables_empty text-center">민원 상담 정보를 찾지 못했습니다.</td>
</tr> </tr>
@ -90,285 +90,280 @@
/************************************************************************** /**************************************************************************
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
// URL pageObject["${pageName}"] = {};
var ${pageName}PrefixUrl = "/sprt/sprt04";
// FormFields
var ${pageName}Fields = new FimsFormFields("#frmEdit--${pageName}");
/************************************************************************** /**************************************************************************
* DatasetControl * script 진입
**************************************************************************/
var ${pageName}Control = new DatasetControl({
prefix : "cvlcptDscsn"
, prefixName : "민원상담"
, infoSize : "lg"
, keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList
, appendData : true
, formats : {
REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
}
});
/**************************************************************************
* DatasetControl 이벤트
**************************************************************************/ **************************************************************************/
// Dataset 변경 이벤트 $(document).ready(function() {
${pageName}Control.onDatasetChange = obj => { // pageObject
renderList${pageName}(); var $P = pageObject["${pageName}"];
}
// FormFields
// 현재 선택 자료 변경 이벤트 $P.formFields = new FimsFormFields("#frmEdit--${pageName}");
${pageName}Control.onCurrentChange = item => {
if (!item) return; /**************************************************************************
* DatasetControl
let key = item.data.CVLCPT_DSCSN_ID; **************************************************************************/
$P.control = new DatasetControl({
$("#tbody--${pageName}").setCurrentRow(key); prefix : "cvlcptDscsn"
, prefixName : "민원상담"
$("#dscsnCn--${pageName}").val(item.data.DSCSN_CN); // 상담 내용 , infoSize : "lg"
}; , keymapper : info => info ? info.CVLCPT_DSCSN_ID : ""
, dataGetter : obj => obj.cvlcptDscsnList
// 민원 상담 내용 Dialog , appendData : true
${pageName}Control.getInfo = (params) => { , formats : {
let dialogTitle = ""; REG_DT : datetimeFormat
, MDFCN_DT : datetimeFormat
if (params.callPurpose == "create") {
dialogTitle = ${pageName}Control.prefixName + " 등록";
} else if (params.callPurpose == "update") {
dialogTitle = ${pageName}Control.prefixName + " 수정";
} else {
return;
}
ajax.get({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/020/info.do")
, data : params || {}
, success : resp => {
dialog.open({
id : ${pageName}Control.prefixed("Dialog")
, title : dialogTitle
, content : resp
, size : "lg"
, init : () => { }
, onClose : () => { refreshDataInfo${pageName}(); } // callback 자료 재조회
});
} }
}); });
}
// 삭제 callback /**************************************************************************
${pageName}Control.onRemove = (resp) => { * DatasetControl 이벤트
let btnTitle = $("#btnRemove--${pageName}").attr("title"); **************************************************************************/
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle); // Dataset 변경
$P.control.onDatasetChange = obj => {
$P.renderList();
};
dialog.alert(showMessage); // 현재 선택 자료 변경 이벤트
$P.control.onCurrentChange = item => {
if (!item) return;
if (resp.saved) { let key = item.data.CVLCPT_DSCSN_ID;
$("#dscsnCn--${pageName}").val(""); // 상담내용 초기화
refreshDataInfo${pageName}(); // 자료 재조회 $("#tbody--${pageName}").setCurrentRow(key);
}
}
// 삭제
${pageName}Control.remove = (params) => {
ajax.post({
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do")
, data : params || {}
, success : resp => ${pageName}Control.onRemove(resp) // 삭제 callback
});
}
/************************************************************************** $("#dscsnCn--${pageName}").val(item.data.DSCSN_CN); // 상담 내용
* function
**************************************************************************/
// DataTables에 click 이벤트
renderList${pageName} = () => {
let ${infoPrefix}List = ${pageName}Control.dataset;
let empty = ${infoPrefix}List.empty;
let trs = empty ?
[document.getElementById("${infoPrefix}NotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
${infoPrefix}List.inStrings(
document.getElementById("${infoPrefix}Row--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "${pageName}Control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
// 자료 재조회
refreshDataInfo${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "refresh"
, inquiryCondition : "crdnId_vhrno"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, vhrno : $("#vhrno--${pageNameMain}").val()
, delYN : "N"
}; };
ajax.get({ // 민원 상담 내용 Dialog
url : wctx.url(params.taskSeCd + "/sprt/sprt02/080/info.do") $P.control.getInfo = (params) => {
, headers: { Accept: "application/json; charset=utf-8" } // json if (!params) return;
, data : params || {}
, success : resp => { ajax.get({
// Dataset 초기화 url : wctx.url("/" + params.taskSeCd +"/sprt/sprt04/020/info.do")
${pageName}Control.dataset.clear(); , data : params || {}
, success : resp => {
// Dataset 셋팅 dialog.open({
${pageName}Control.setData(resp.cvlcptDscsn); // 민원상담 정보 id : $P.control.prefixed("Dialog")
} , title : params.btnTitle
}); , content : resp
} , size : "lg"
, onClose : () => { $P.refreshDataInfo(); }
// 민원상담 삭제 });
removeCvlcptDscsn${pageName} = (obj) => { }
// 서버에 전송할 data(파라미터) 생성 });
let params = { }
callPurpose : "remove"
, crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 단속 ID
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, cvlcptDscsnId : ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
, delYN : "Y" // 삭제 여부
, delRsn : obj.reason // 삭제 사유
};
ajax.post({ // 삭제 callback
url : wctx.url(params.taskSeCd + ${pageName}PrefixUrl + "/010/remove.do") $P.control.onRemove = (resp) => {
, data : params || {} let btnTitle = $("#btnRemoveCvlcptDscsn--${pageName}").attr("title");
, success : resp => { let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
let btnTitle = $("#btnRemoveCvlcptDscsn--${pageName}").attr("title");
let showMessage = resp.rtnMsg.replace(/[S]|[F]/g, btnTitle);
dialog.alert(showMessage); // 메시지 출력 dialog.alert({
content : showMessage
, onOK : () => { }
});
if (resp.saved) { if (resp.saved) {
$("#dscsnCn--${pageName}").val(""); // 상담내용 초기화 $("#dscsnCn--${pageName}").val(""); // 상담내용 초기화
refreshDataInfo${pageName}(); // 자료 재조회 $P.refreshDataInfo(); // 자료 재조회
}
} }
}); }
}
/************************************************************************** // 삭제
* 버튼 clickEvent $P.control.remove = (params) => {
**************************************************************************/ if (!params) return;
// 민원 상담 내용 등록
fnCreateCvlcptDscsn${pageName} = () => {
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "create"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
};
${pageName}Control.getInfo(params); ajax.post({
} url : wctx.url("/" + params.taskSeCd + "/sprt/sprt04/010/remove.do")
, data : params || {}
, success : resp => $P.control.onRemove(resp)
});
}
// 민원 상담 내용 수정 /**************************************************************************
fnUpdateCvlcptDscsn${pageName} = () => { * DataTables 이벤트
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); **************************************************************************/
// DataTables에 click, dbclick 이벤트
$P.renderList = () => {
let cvlcptDscsnList = $P.control.dataset;
let empty = cvlcptDscsnList.empty;
let trs = empty ?
[document.getElementById("cvlcptDscsnNotFound--${pageName}").innerHTML] : <%-- from template#${infoPrefix}NotFound --%>
cvlcptDscsnList.inStrings(
document.getElementById("cvlcptDscsnRow--${pageName}").innerHTML, <%-- from template#${infoPrefix}Row --%>
(str, dataItem) => str
.replace(/{onclick}/gi, "pageObject['${pageName}'].control.setCurrent('" + dataItem.getValue("CVLCPT_DSCSN_ID") + "');")
);
$("#tbody--${pageName}").html(trs.join());
}
// 민원 상담 ID 가 없다면.. return /**************************************************************************
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return; * 사용자 함수(function)
**************************************************************************/
// 자료 재조회
$P.refreshDataInfo = () => {
// 단속 ID
let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let params = {
callPurpose : "refresh"
, inquiryCondition : "crdnId_vhrno"
, crdnId : crdnId
, sggCd : $("#sggCd--${pageNameMain}").val()
, taskSeCd : $("#taskSeCd--${pageNameMain}").val()
, vhrno : $("#vhrno--${pageNameMain}").val()
, delYN : "N"
};
ajax.get({
url : wctx.url("/" + params.taskSeCd + "/sprt/sprt02/080/info.do")
, headers: { Accept: "application/json; charset=utf-8" } // json
, data : params || {}
, success : resp => {
// 초기화
$("#frmEdit--${pageName}")[0].reset(); // 화면 초기화
$P.control.dataset.clear(); // Dataset 초기화
// Dataset 셋팅
$P.control.setData(resp.cvlcptDscsn); // 민원상담 정보
}
});
}
let params = { // 삭제 callback
callPurpose : "update" $P.callbackRemove = (obj) => {
, crdnId : ${pageName}Control.dataset.getValue("CRDN_ID") // 서버에 전송할 data(파라미터) 생성
, sggCd : ${pageName}Control.dataset.getValue("SGG_CD") let params = {
, taskSeCd : ${pageName}Control.dataset.getValue("TASK_SE_CD") callPurpose : "remove"
, cvlcptDscsnId : cvlcptDscsnId , cvlcptDscsnId : $P.control.dataset.getValue("CVLCPT_DSCSN_ID") // 민원상담 ID
}; , sggCd : $P.control.dataset.getValue("SGG_CD") // 시군구 코드
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD") // 업무 구분 코드
, delRsn : obj.reason // 삭제 사유
};
$P.control.remove(params);
}
${pageName}Control.getInfo(params); /**************************************************************************
} * 버튼 clickEvent
**************************************************************************/
// 민원상담 내용 삭제 // 민원 상담 내용 등록
fnRemoveCvlcptDscsn${pageName} = () => { $P.fnCreateCvlcptDscsn = () => {
// 민원상담 ID // 버튼 title
let cvlcptDscsnId = ${pageName}Control.dataset.getValue("CVLCPT_DSCSN_ID"); let btnTitle = $("#btnCreateCvlcptDscsn--${pageName}").attr("title");
// 민원상담 ID 가 없다면.. return // 단속 ID
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return; let crdnId = $("#crdnId--${pageNameMain}").val();
// 단속 ID 가 없다면.. return
let callbackFuncName = "removeCvlcptDscsn${pageName}"; if (typeof crdnId == "undefined" || crdnId == null || crdnId == "") return;
let popupWidth = 640;
let popupHeight = 360; let params = {
let popupX = (window.screen.width / 2) - (popupWidth / 2); callPurpose : "create"
let popupY= (window.screen.height / 2) - (popupHeight / 2); , btnTitle : btnTitle
, crdnId : crdnId
window.open( , sggCd : $("#sggCd--${pageNameMain}").val()
wctx.url("/resources/html/inputRsnDialog.html" , taskSeCd : $("#taskSeCd--${pageNameMain}").val()
+ "?callbackFuncName=" + callbackFuncName };
+ "&CALL_PURPOSE=" + "remove"
) $P.control.getInfo(params);
, "inputDelRsnDialog" }
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
}
/************************************************************************** // 민원 상담 내용 수정
* 초기 셋팅 $P.fnUpdateCvlcptDscsn = () => {
**************************************************************************/ // 버튼 title
// 이벤트 설정 let btnTitle = $("#btnUpdateCvlcptDscsn--${pageName}").attr("title");
setEvent${pageName} = () => {
// form-date 항목에서 키보드로 입력시 날짜 포맷팅 적용 // 민원 상담 ID
$("#frmEdit--${pageName}").find(".form-date").each(function() { let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
$(this).on("input",function() { // 민원 상담 ID 가 없다면.. return
let value = this.value.replaceAll("-", ""); if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return;
if (value.length > 7) { let params = {
this.value = value.substring(0,4) + "-" + value.substring(4,6) + "-" + value.substring(6); callPurpose : "update"
} else if(value.length > 5) { , btnTitle : btnTitle
this.value = value.substring(0,4) + "-" + value.substring(4); , cvlcptDscsnId : cvlcptDscsnId
, sggCd : $P.control.dataset.getValue("SGG_CD")
, taskSeCd : $P.control.dataset.getValue("TASK_SE_CD")
};
$P.control.getInfo(params);
}
// 민원상담 내용 삭제
$P.fnRemoveCvlcptDscsn = () => {
// 버튼 title
let btnTitle = $("#btnRemoveCvlcptDscsn--${pageName}").attr("title");
// 민원상담 ID
let cvlcptDscsnId = $P.control.dataset.getValue("CVLCPT_DSCSN_ID");
// 민원상담 ID 가 없다면.. return
if (typeof cvlcptDscsnId == "undefined" || cvlcptDscsnId == null || cvlcptDscsnId == "") return;
// 삭제 메세지 확인
dialog.alert({
content : "선택한 " + $P.control.prefixName + " 정보를 삭제하시겠습니까?"
, onOK : () => {
// 사유 입력
let popupWidth = 640;
let popupHeight = 240;
let popupX = (window.screen.width / 2) - (popupWidth / 2);
let popupY = (window.screen.height / 2) - (popupHeight / 2);
window.open(
encodeURI(wctx.url("/resources/html/inputRsnDialog.html"
+ "?openerPageName=${pageName}"
+ "&prefix=" + $P.control.prefix
+ "&usePurpose=" + "remove"
+ "&ttlNm=" + "삭제"
))
, "inputDelRsnDialog"
, 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY
);
} }
}); });
});
}
// 기본 데이터 설정
initData${pageName} = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
if (${pageNameMain}CallPurpose == "view") {
// button 요소들을 disabled = true
$("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", true);
$("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", true);
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true);
} }
}
/************************************************************************** /**************************************************************************
* script 진입 * 초기 셋팅
**************************************************************************/ **************************************************************************/
$(document).ready(function() {
// 이벤트 설정 // 이벤트 설정
setEvent${pageName}(); $P.setEvent = () => {
// 업무 버튼 이벤트
$("#btnCreateCvlcptDscsn--${pageName}").on("click", () => $P.fnCreateCvlcptDscsn()); // 민원상담 등록 버튼 이벤트
$("#btnUpdateCvlcptDscsn--${pageName}").on("click", () => $P.fnUpdateCvlcptDscsn()); // 민원상담 수정 버튼 이벤트
$("#btnRemoveCvlcptDscsn--${pageName}").on("click", () => $P.fnRemoveCvlcptDscsn()); // 민원상담 삭제 버튼 이벤트
}
// 기본 데이터 설정 // 기본 데이터 설정
initData${pageName}(); $P.initData = () => {
// 화면 호출(callPurpose)이 view 라면 버튼 비활성화
// Dataset 설정 if (${pageNameMain}CallPurpose == "view") {
let cvlcptDscsn = ${cvlcptDscsn}; // button 요소들을 disabled = true
if (cvlcptDscsn) { $("#btnCreateCvlcptDscsn--${pageName}").prop("disabled", true);
${pageName}Control.setData(${cvlcptDscsn}); $("#btnUpdateCvlcptDscsn--${pageName}").prop("disabled", true);
$("#btnRemoveCvlcptDscsn--${pageName}").prop("disabled", true);
}
} }
/**************************************************************************
* 최초 실행 함수
**************************************************************************/
// 1. 이벤트 설정
$P.setEvent();
// 2. 기본 데이터 설정
$P.initData();
// 3. Dataset 설정
$P.control.setData(${cvlcptDscsn}); // 민원 상담 정보
}); });
</script> </script>

Loading…
Cancel
Save