이지우 - 관리자 협의회관리 > 참여위원 검색 기능 추가 및 조회 항목 추가

This commit is contained in:
JIWOO 2025-01-07 18:33:05 +09:00
parent 4457b62ea8
commit c6016ded17
6 changed files with 175 additions and 62 deletions

View File

@ -347,7 +347,9 @@
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = MEMBER_POSIT), '-') AS MEMBER_POSIT,
NVL((SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = MEMBER_UNIT), '-') AS MEMBER_UNIT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_FIELD ) AS CASE_FIELD_NAME,
CASE_FIELD
CASE_FIELD,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_GUBUN ) AS CASE_GUBUN_NAME,
CASE_GUBUN
FROM C_TRUBLMFCMM
<where>
USE_CHECK = 'Y'
@ -381,6 +383,21 @@
#{item}
</foreach>
</if>
<if test='searchType eq "memberCompany"'>
AND MEMBER_COMPANY LIKE '%' || #{searchVal} || '%'
</if>
<if test='searchType eq "memberPosit"'>
AND (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = MEMBER_POSIT) = #{searchVal}
</if>
<if test='searchType eq "memberName"'>
AND MEMBER_NAME LIKE '%' || #{searchVal} || '%'
</if>
<if test='searchType eq "caseGubunName"'>
AND (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_GUBUN ) LIKE '%' || #{searchVal} || '%'
</if>
<if test='searchType eq "caseFieldName"'>
AND (SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_FIELD ) LIKE '%' || #{searchVal} || '%'
</if>
</where>
</select>
@ -1041,7 +1058,9 @@
(SELECT CHK FROM C_CFRNCATNDNC CC WHERE CC.CFRNC_NO = #{cfrncNo} AND CC.MEMBER_NO = CT.MEMBER_NO) AS CHK,
(SELECT ATTEND_CHECK FROM C_CFRNCATNDNC DC WHERE DC.CFRNC_NO = #{cfrncNo} AND DC.MEMBER_NO = CT.MEMBER_NO) AS ATTEND_CHECK,
(SELECT AGREE_CHECK FROM C_CFRNCATNDNC_AGREE CCA WHERE CCA.CFRNC_NO = #{cfrncNo} AND CCA.MEMBER_NO = CT.MEMBER_NO) AS AGREE_CHECK,
(SELECT TO_CHAR(REG_DT,'YYYY-MM-DD HH24:MI') FROM C_CFRNCATNDNC_AGREE CDA WHERE CDA.CFRNC_NO = #{cfrncNo} AND CDA.MEMBER_NO = CT.MEMBER_NO) AS AGREE_DT
(SELECT TO_CHAR(REG_DT,'YYYY-MM-DD HH24:MI') FROM C_CFRNCATNDNC_AGREE CDA WHERE CDA.CFRNC_NO = #{cfrncNo} AND CDA.MEMBER_NO = CT.MEMBER_NO) AS AGREE_DT,
(SELECT CODE_NAME FROM C_CODE WHERE CODE_IDXS = CASE_GUBUN ) AS CASE_GUBUN_NAME,
CASE_GUBUN
FROM C_TRUBLMFCMM CT
WHERE MEMBER_NO IN (SELECT MEMBER_NO FROM C_CFRNCATNDNC WHERE CFRNC_NO = #{cfrncNo})
ORDER BY CASE_FIELD, MEMBER_POSIT DESC

View File

@ -277,9 +277,11 @@ function loadChamData(){
$.each(r.data, function(k,v) {
cnt++;
html += '<tr>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
if(v.attendCheck == 'Y') {
@ -303,7 +305,7 @@ function loadChamData(){
$("#arrListcham").val(list);
}else{
html += '<tr>';
html += '<td colspan="7">선택된 참여위원이 없습니다.</td>';
html += '<td colspan="9">선택된 참여위원이 없습니다.</td>';
html += '</tr>';
$("#cham").html(html);
}
@ -2127,12 +2129,14 @@ function nanumCallTest(no, nanumSubject, officeGubun, officeDept){
<table>
<thead>
<tr>
<th colspan="7">참여위원</th>
<th colspan="9">참여위원</th>
</tr>
<tr>
<th>분류</th>
<th>협의회</th>
<th>분야</th>
<th>소속</th>
<th>위원명</th>
<th>직책</th>
<th>위원기수</th>
<th>참석여부</th>
<th>동의여부</th>
@ -2141,12 +2145,12 @@ function nanumCallTest(no, nanumSubject, officeGubun, officeDept){
</thead>
<tbody id="cham">
<tr>
<td colspan="7">선택된 참여위원이 없습니다.</td>
<td colspan="9">선택된 참여위원이 없습니다.</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="7">
<td colspan="9">
<!-- <button type="button" class="btn-default fr" id="chamAdd">추가</button> -->
</td>
</tr>

View File

@ -355,9 +355,11 @@ function loadChamData(){
html += '<option value="7_'+ v.memberNo +'">회의자료7</option><option value="8_'+ v.memberNo +'">회의자료8</option>';
html += '<option value="9_'+ v.memberNo +'">회의자료9</option><option value="10_'+ v.memberNo +'">회의자료10</option>';
html += '</select></td>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
var atTxt = "";
@ -677,9 +679,11 @@ function setData(parentId){
html += '<option value="7_'+ v.memberNo + '">회의자료7</option><option value="8_'+ v.memberNo + '">회의자료8</option>';
html += '<option value="9_'+ v.memberNo + '">회의자료9</option><option value="10_'+ v.memberNo + '">회의자료10</option>';
html += '</select></td>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
html += '<td><input type="checkbox" name="signYnNo" value="' + v.memberNo + '" onchange="fn_checkList()" /></td>';
html += '<td></td>';
@ -3460,17 +3464,21 @@ function nanumApiView(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4,
<col style="width:auto;"/>
<col style="width:80px;"/>
<col style="width:80px;"/>
<col style="width:80px;"/>
<col style="width:80px;"/>
<col style="width:auto;"/>
</colgroup>
<thead>
<tr>
<th colspan="8">참여위원</th>
<th colspan="10">참여위원</th>
</tr>
<tr>
<th>회의자료</th>
<th>협의회</th>
<th>분야</th>
<th>소속</th>
<th>위원명</th>
<th>직책</th>
<th>위원기수</th>
<th>참석여부</th>
<th>동의여부</th>
@ -3479,12 +3487,12 @@ function nanumApiView(jobID, codeNo, nanumSubject, obj1, obj2, obj3, obj4,
</thead>
<tbody id="cham">
<tr>
<td colspan="8">선택된 참여위원이 없습니다.</td>
<td colspan="10">선택된 참여위원이 없습니다.</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="8">
<td colspan="10">
<div class="btn_wrap right mb5 mt5">
<button type="button" class="btn-default btn btn_text btn_30 blue_border" id="chamAdd">추가</button>
</div>

View File

@ -151,9 +151,11 @@ function setData(parentId){
html += '<option value="7_'+ v.memberNo + '">회의자료7</option><option value="8_'+ v.memberNo + '">회의자료8</option>';
html += '<option value="9_'+ v.memberNo + '">회의자료9</option><option value="10_'+ v.memberNo + '">회의자료10</option>';
html += '</select></td>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
html += '<td><input type="checkbox" name="signYnNo" value="' + v.memberNo + '" onchange="fn_checkList()" /></td>';
@ -674,25 +676,27 @@ function fn_checkList() {
<table>
<thead>
<tr>
<th colspan="6">참여위원</th>
<th colspan="8">참여위원</th>
</tr>
<tr>
<th>회의자료</th>
<th>협의회</th>
<th>분야</th>
<th>소속</th>
<th>위원명</th>
<th>직책</th>
<th>위원기수</th>
<th>참석여부</th>
</tr>
</thead>
<tbody id="cham">
<tr>
<td colspan="6">선택된 참여위원이 없습니다.</td>
<td colspan="8">선택된 참여위원이 없습니다.</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="6">
<td colspan="8">
<div class="btn_wrap right mt5 mb5">
<button type="button" class="btn-default btn btn_text btn_30 blue_border" id="chamAdd">추가</button>
</div>

View File

@ -29,6 +29,7 @@
<link rel="stylesheet" href="/kofair_case_seed/adm/style/common.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/style.css">
<link rel="stylesheet" href="/kofair_case_seed/adm/style/popup.css">
<link rel="stylesheet" href="/css/seed.contents.css"/>
<!-- css -->
<!-- js -->
@ -58,23 +59,22 @@
<script type="text/javascript">
$(document).ready(function(){
//var flag = true;
/* $("#checkall").click(function(){
//클릭되었으면
if(flag){
//input태그가 checkbox인 태그들을 찾아서 checked옵션을 true로 정의
//클릭이 안되있으면
$("input:checkbox").prop("checked",true);
flag = false;
}else{
//input태그가 checkbox인 태그들을 찾아서 checked옵션을 false로 정의
$("input:checkbox").prop("checked",false);
flag = true;
}
}); */
listCall();
/* 참석위원 팝업의 경우 히든 테이블 생성
검색 후 기존에 체크한 체크박스 유지하기 위함 */
var parentId = $("#parentId").val()
if(parentId == 'cham'){
listChamHiddenCall()
}
$("#searchVal").keydown(function(event) {
if (event.keyCode === 13) {
event.preventDefault();
listCall();
}
});
});
var flag = true;
@ -113,39 +113,24 @@
XHR(url, param, function(r){
var html = "";
/* html += '<tr>';
if(parentId == 'cham'){
html += '<th scope="row" style="text-align: center;"><input type="checkbox" onclick="checkAll();"></th>'
/* html += '<th scope="row" style="text-align: center;">선택</th>'; */
/* html += '<th scope="row" style="text-align: center;">순번</th>';
html += '<th scope="row" style="text-align: center;">분야</th>';
html += '<th scope="row" style="text-align: center;">소속</th>';
html += '<th scope="row" style="text-align: center;">위원명</th>';
html += '<th scope="row" style="text-align: center;">위원기수</th>';
}else{
html += '<th scope="row" style="text-align: center;"><input type="checkbox" onclick="checkAll();"></th>' */
/* html += '<th scope="row" style="text-align: center;">선택</th>'; */
/*html += '<th scope="row" style="text-align: center;">순번</th>';
html += '<th scope="row" style="text-align: center;">사건번호</th>';
html += '<th scope="row" style="text-align: center;">신청인</th>';
html += '<th scope="row" style="text-align: center;">피신청인</th>';
html += '<th scope="row" style="text-align: center;">조정결과(대분류)</th>';
html += '<th scope="row" style="text-align: center;">조정결과(소분류)</th>';
html += '<th scope="row" style="text-align: center;">담당자</th>';
$("#list").html('');
cnt = 0;
}
html += '</tr>'; */
if(r.data.length != 0){
$.each(r.data, function(k,v) {
cnt++;
html += '<tr>';
if(parentId == 'cham'){
//참여위원
html += '<td><input type="checkbox" id="chk'+ k +'" name="chk" value="'+v.memberNo+'" alt="'+v.caseField+'" /></td>';
/* html += '<td><input type="checkbox" id="chk'+ k +'" name="chk" value="'+v.memberNo+'" alt="'+v.caseField+'" /></td>'; */
html += '<td><input type="checkbox" id="chk'+ k +'" name="chk" value="'+v.memberNo+'" alt="'+v.caseField+'" onclick="chamChk(this)"/></td>';
html += '<td>'+cnt+'</td>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
}else{
//심의안건, 보고안건
@ -160,13 +145,56 @@
}
html += '</tr>';
});
$("#list").html(html);
}else{
html += '<tr>';
html += '<td colspan="7">검색된 결과가 없습니다.</td>';
html += '<td colspan="8">검색된 결과가 없습니다.</td>';
html += '</tr>';
}
$("#list").html(html);
$("#totcnt").text(cnt);
//검색 후 체크상태 유지
if(parentId == 'cham'){
$("input[name='hiddenChk']:checked").each(function() {
var val = $(this).val();
$("input[name='chk'][value='" + val + "']").prop("checked", true);
});
}
});
}
function listChamHiddenCall(){
var url = "";
var parentId = $("#parentId").val();
var gubunCnt = $("#gubunCnt").val();
//참여위원
url = "/gtm/case/trublcfrncmng/ajax/Cham.do";
$("#type").val("L");
var param = jQuery('#frm').serialize();
XHR(url, param, function(r){
var html = "";
if(r.data.length != 0){
$.each(r.data, function(k,v) {
cnt++;
html += '<tr>';
//참여위원
/* html += '<td><input type="checkbox" id="chk'+ k +'" name="chk" value="'+v.memberNo+'" alt="'+v.caseField+'" /></td>'; */
html += '<td><input type="checkbox" id="chk'+ v.memberNo +'" name="hiddenChk" value="'+v.memberNo+'" alt="'+v.caseField+'" onclick="chamChk(this);"/></td>';
html += '<td>'+cnt+'</td>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
html += '</tr>';
});
}else{
html += '<tr>';
html += '<td colspan="8">검색된 결과가 없습니다.</td>';
html += '</tr>';
}
$("#listHidden").html(html);
});
}
@ -186,7 +214,7 @@
var caseGu = $("#caseGubun").val();
if(parentId == "cham"){
var altArr = jQuery("input[name$='chk']:checkbox:checked");
var altArr = jQuery("input[name$='hiddenChk']:checkbox:checked");
//소회의일때는 분야별 위원 1명씩만 선택 가능
if(opener.document.getElementById("conferenceGubun").value == "3602000000"){
for(var i = 0; i < altArr.length; i++){
@ -210,9 +238,12 @@
}
var chk = jQuery("input[name$='chk']:checkbox:checked").map(function () {return this.value;}).get();
//참석위원의 경우 히든테이블의 체크를 사용
if(parentId == "cham"){
var chk = jQuery("input[name$='hiddenChk']:checkbox:checked").map(function () {return this.value;}).get();
}else{
var chk = jQuery("input[name$='chk']:checkbox:checked").map(function () {return this.value;}).get();
}
if(chk.length == 0){
alert("추가할 항목을 체크하십시오.");
return;
@ -235,6 +266,14 @@
return '{' + results.join(', ') + '}';
}
function chamChk(chkbox){
if(chkbox.checked){
$("#chk"+chkbox.value).prop("checked", true);;
}else{
$("#chk"+chkbox.value).prop("checked", false);
}
}
</script>
</head>
@ -247,10 +286,26 @@
<input type="hidden" id="parentId" name="parentId" value="${parentId }"/>
<input type="hidden" id="gubunCnt" name="gubunCnt" value="${gubunCnt }"/>
<input type="hidden" id="caseGubun" name="caseGubun" value="${caseGubun }"/>
<input type="hidden" id="chk"/>
<div class="table_top">
<strong class="table_total_text">전체 : <span class="color_blue fw_bold" id="totcnt">0</span>건</strong>
<c:if test="${parentId eq 'cham'}">
<div class="search_wrap" style="display:flex; justify-content: flex-end;">
<div class="sch-content-wrap clear">
<fieldset>
<select name="searchType" id="searchType" class="sch-select" title="자료유형 선택">
<option value="memberCompany" <c:if test="${searchType == 'memberCompany'}">selected="selected"</c:if>>소속</option>
<option value="memberPosit" <c:if test="${searchType == 'memberPosit'}">selected="selected"</c:if>>직책</option>
<option value="memberName" <c:if test="${searchType == 'memberName'}">selected="selected"</c:if>>이름</option>
<option value="caseGubunName" <c:if test="${searchType == 'caseGubunName'}">selected="selected"</c:if>>협의회</option>
<option value="caseFieldName" <c:if test="${searchType == 'caseFieldName'}">selected="selected"</c:if>>분야</option>
</select>
<input type="text" id="searchVal" name="searchVal" value="${searchVal}" class="sch-text" title="검색">
<button type="button" class="btn blue_border btn-page-sch" title="검색 완료 버튼" onclick="listCall();">검색</button>
</fieldset>
</div>
</div>
</c:if>
</div>
<div class="table_col mt15" style="width:100%; height:420px; overflow:auto">
<table>
@ -268,9 +323,12 @@
</c:if>
<c:if test="${parentId eq 'cham'}">
<col style="width: 10%;" />
<col style="width: 30%;" />
<col style="width: 25%;" />
<col style="width: 25%;" />
<col style="width: 10%;" />
<col style="width: 20%;" />
<col style="width: auto;" />
<col style="width: 10%;" />
<col style="width: 10%;" />
<col style="width: 10%;" />
</c:if>
</colgroup>
<thead>
@ -287,9 +345,11 @@
</c:if>
<c:if test="${parentId eq 'cham'}">
<th scope="row" style="text-align: center;">순번</th>
<th scope="row" style="text-align: center;">협의회</th>
<th scope="row" style="text-align: center;">분야</th>
<th scope="row" style="text-align: center;">소속</th>
<th scope="row" style="text-align: center;">위원명</th>
<th scope="row" style="text-align: center;">직책</th>
<th scope="row" style="text-align: center;">위원기수</th>
</c:if>
</tr>
@ -299,6 +359,7 @@
<td colspan="7">검색된 결과가 없습니다.</td>
</tr>
</tbody>
</table>
</div>
</div>
@ -307,6 +368,17 @@
</div>
</article>
</form:form>
<form:form name="hiddenFrm" id="hiddenFrm" action="" method="post">
<article>
<table>
<tbody id="listHidden" style="display:none;">
<tr>
<td>검색된 결과가 없습니다.</td>
</tr>
</tbody>
</table>
</article>
</form:form>
</body>
</html>

View File

@ -397,9 +397,11 @@ function loadChamData(){
$.each(r.data, function(k,v) {
cnt++;
html += '<tr>';
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
var atTxt = "";
@ -688,9 +690,11 @@ function setData(parentId){
html += '<tr>';
if(parentId == 'cham'){
//참여위원
html += '<td>'+v.caseGubunName+'</td>';
html += '<td>'+v.caseFieldName+'</td>';
html += '<td>'+v.memberCompany+'</td>';
html += '<td>'+v.memberName+'</td>';
html += '<td>'+v.memberPosit+'</td>';
html += '<td>'+v.memberUnit+'</td>';
html += '<td><input type="checkbox" name="signYnNo" value="' + v.memberNo + '" onchange="fn_checkList()" /></td>';
html += '<td></td>';
@ -3780,12 +3784,14 @@ function nanumHisDel(){
<table>
<thead>
<tr>
<th colspan="7">참여위원</th>
<th colspan="9">참여위원</th>
</tr>
<tr>
<th>협의회</th>
<th>분야</th>
<th>소속</th>
<th>위원명</th>
<th>직책</th>
<th>위원기수</th>
<th>참석여부</th>
<th>동의여부</th>
@ -3794,12 +3800,12 @@ function nanumHisDel(){
</thead>
<tbody id="cham">
<tr>
<td colspan="7">선택된 참여위원이 없습니다.</td>
<td colspan="9">선택된 참여위원이 없습니다.</td>
</tr>
</tbody>
<tbody>
<tr>
<td colspan="7">
<td colspan="9">
<button type="button" class="btn-default btn btn_text btn_36 blue_border fr" id="chamAdd">변경</button>
</td>
</tr>