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

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

Loading…
Cancel
Save