본문으로 바로가기
주요 메뉴로 바로가기
언어선택
하단으로 바로가기
팝업
0
×
×
송
송정동노인복지관
방문해주셔서 감사합니다
SEARCH
‹
인사말
미션&비전
운영법인소개
중장기운영계획
조직도
기관연혁
찾아오시는 길
시설 안내
›
복지관소개
/
복지관소개
/
조직도
인사말
미션&비전
운영법인소개
중장기운영계획
조직도
기관연혁
찾아오시는 길
시설 안내
송정동노인복지관은
지역과 함께 성장하며, 이웃의 행복을 만들어가는 복지의 공간입니다.
조직도
×
조직도 상단 HTML 수정
조직도 상단에 표시될 HTML을 직접 편집합니다
<!-- OrgMap Viewer (mixed) --> <style>/* 레이어드 이미지 + 페이드 */ .img-stack{position:relative;width:100%;height:auto} .img-stack .base{display:block;width:100%;height:auto;position:relative;z-index:0} .img-stack .layer{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease;z-index:1} .img-stack .layer.show{opacity:1} /* 뷰어 공통 */ .orgmap-view-svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;pointer-events:auto;preserveAspectRatio:none} .orgmap-view-svg .hotspot{ fill:transparent!important; stroke:transparent!important; pointer-events:auto!important; cursor:pointer!important; outline:none; vector-effect:non-scaling-stroke; transition:fill .12s, stroke .12s, opacity .12s; } .orgmap-view-svg .hotspot:hover{ fill:transparent!important; stroke:transparent!important; stroke-width:0!important; } .orgmap-view-svg .hotspot:focus-visible{ stroke:transparent!important; stroke-width:0!important; fill:transparent!important; } .orgmap-view-svg .hotspot.is-active{ stroke:none!important; stroke-width:0px!important; fill:transparent!important; } .visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}</style> <div class="wg_wrap" data-map='{"imgs_pc":["/_img/img/SJD/2025web-org-0.png","/_img/img/SJD/2025web-org-1.png","/_img/img/SJD/2025web-org-2.png","/_img/img/SJD/2025web-org-3.png","/_img/img/SJD/2025web-org-4.png"],"imgs_mo":["/_img/img/SJD/2025mo-org-0.png","/_img/img/SJD/2025mo-org-1.png","/_img/img/SJD/2025mo-org-2.png","/_img/img/SJD/2025mo-org-3.png","/_img/img/SJD/2025mo-org-4.png"],"shapes":[{"id":"S1756638062097","type":"rect","title":"","org_path":"","level":1,"parent_id":null,"css_class":"","css_style":"","action":"board","link_url":"","link_target":"_self","board_key":"송정동노인복지관","board_name":"송정동노인복지관","hover_idx":3,"pc":{"points":[[26.293482352336493,85.56247695382403],[48.139618535658784,97.22458429980261]]},"mo":{"points":[[16.209038418512964,78.58330167169093],[82.98274651400445,87.05367927312606]]}},{"id":"S1756638070765","type":"rect","title":"","org_path":"","level":1,"parent_id":null,"css_class":"","css_style":"","action":"board","link_url":"","link_target":"_self","board_key":"송정스마트헬스케어센터","board_name":"송정스마트헬스케어센터","hover_idx":4,"pc":{"points":[[52.104816478321084,87.11085026736623],[72.55674190934597,96.29644537276835]]},"mo":{"points":[[15.766032782870548,90.6019472252403],[83.76157778335428,99.43601747706813]]}},{"id":"S1756642791340","type":"rect","title":"","org_path":"","level":1,"parent_id":null,"css_class":"","css_style":"","action":"board","link_url":"","link_target":"_self","board_key":"과장","board_name":"과장","hover_idx":2,"pc":{"points":[[39.39656827471943,58.786142447603766],[60.75583065257353,75.4832845406876]]},"mo":{"points":[[15.415118427099458,60.01800347079132],[83.68961109834558,72.79262224561701]]}},{"id":"S1757256478270","type":"rect","title":"","org_path":"","level":1,"parent_id":null,"css_class":"","css_style":"","action":"board","link_url":"","link_target":"_self","board_key":"관장","board_name":"관장","hover_idx":1,"pc":{"points":[[39.51525614357585,27.868867122675706],[60.42635418682275,44.458852191002556]]},"mo":{"points":[[16.112515948505223,15.694655634129251],[83.86411873548761,28.602526369140833]]}}]}'> <div class="img-stack"></div> <svg class="orgmap-view-svg" viewBox="0 0 1000 1000" preserveAspectRatio="none"></svg> <h2 class="visually-hidden" id="orgmapHeading">조직도 영역 링크 목록</h2> </div> <script>(function(){ var root=document.currentScript.previousElementSibling; var cfg=JSON.parse(root.getAttribute('data-map')); var svg=root.querySelector('svg'); var stack=root.querySelector('.img-stack'); function v(){return window.matchMedia('(max-width:768px)').matches?'mo':'pc';} function se(t,a){var e=document.createElementNS('http://www.w3.org/2000/svg',t); for(var k in a)e.setAttribute(k,a[k]); return e;} // ★ 클릭 고정(토글) var stickyIdx = null; function buildImages(){ stack.innerHTML=''; var imgs = (v()==='mo') ? (cfg.imgs_mo||[]) : (cfg.imgs_pc||[]); if(!imgs || !imgs.length) return; var base = document.createElement('img'); base.className='base'; base.alt='조직도'; base.src= imgs[0]||''; stack.appendChild(base); for(var i=1;i<imgs.length;i++){ var im=document.createElement('img'); im.className='layer'; im.dataset.idx=String(i); im.alt='map_img_'+String(i).padStart(2,'0'); im.src=imgs[i]||''; stack.appendChild(im); } stickyIdx = null; } function applyLayerVisibility(targetIdx){ var layers=stack.querySelectorAll('.layer'); for(var i=0;i<layers.length;i++) layers[i].classList.remove('show'); if(typeof targetIdx==='number' && targetIdx>0){ var el=stack.querySelector('.layer[data-idx="'+targetIdx+'"]'); if(el) el.classList.add('show'); } } function showLayer(idx){ // hover용 var eff = (stickyIdx!=null) ? stickyIdx : (typeof idx==='number' ? idx : null); applyLayerVisibility(eff); } function clearSticky(){ stickyIdx=null; applyLayerVisibility(null); } function enhance(el,s){ el.setAttribute('tabindex','0'); el.setAttribute('role','link'); el.style.cursor='pointer'; el.classList.add('hotspot','hotspot--'+(s.id||'shape')); if(s.css_class) el.classList.add(s.css_class); if(s.css_style) el.setAttribute('data-style', s.css_style); var hoverIdx = (typeof s.hover_idx==='number') ? s.hover_idx : null; function on(){ if(hoverIdx!=null) showLayer(hoverIdx); } function off(){ if(stickyIdx==null) showLayer(null); } el.addEventListener('mouseenter', on); el.addEventListener('mouseleave', off); el.addEventListener('focus', on); el.addEventListener('blur', off); el.addEventListener('touchstart', function(){ on(); setTimeout(off, 800); }, {passive:true}); // ★ 클릭 고정(토글) + 원래 액션 el.addEventListener('click', function(){ if(hoverIdx!=null){ stickyIdx = (stickyIdx===hoverIdx) ? null : hoverIdx; applyLayerVisibility(stickyIdx!=null ? stickyIdx : hoverIdx); } if(s.action==='link' && s.link_url){ window.open(s.link_url, s.link_target||'_self'); }else{ this.dataset.key = s.board_key||''; this.dataset.name = s.board_name||s.title||s.board_key||''; try{ if(typeof getAllPersons==='function' && typeof renderTable==='function'){ var people=getAllPersons(this.dataset.key)||[]; renderTable(people, this.dataset.name||this.dataset.key); } else { alert('[board] '+(this.dataset.name||this.dataset.key||'선택됨')); } }catch(e){ console.error(e); } } }); } function add(svg,s,varn){ var pts=s[varn]&&s[varn].points?s[varn].points:null; if(!pts||!pts.length) return; var el=null; if(s.type==='rect'&&pts.length>=2){var x1=Math.min(pts[0][0],pts[1][0]),y1=Math.min(pts[0][1],pts[1][1]),x2=Math.max(pts[0][0],pts[1][0]),y2=Math.max(pts[0][1],pts[1][1]); el=se('rect',{x:x1*10,y:y1*10,width:(x2-x1)*10,height:(y2-y1)*10});} else if(s.type==='poly'){el=se('polygon',{points:pts.map(function(p){return (p[0]*10)+','+(p[1]*10)}).join(' ')});} else if(s.type==='circle'&&pts.length>=2){var cx=pts[0][0],cy=pts[0][1],rx=Math.abs(pts[1][0]-cx),ry=Math.abs(pts[1][1]-cy); el=se('ellipse',{cx:cx*10,cy:cy*10,rx:rx*10,ry:ry*10});} if(!el) return; enhance(el,s); svg.appendChild(el); } function render(){ buildImages(); svg.innerHTML=''; var vv = (v()==='mo') ? 'mo' : 'pc'; (cfg.shapes||[]).forEach(function(s){ add(svg,s,vv); }); } render(); window.addEventListener('resize', render); // 배경 클릭/ESC로 고정 해제 root.addEventListener('click', function(e){ if(!e.target.closest('.hotspot')) clearSticky(); }); document.addEventListener('keydown', function(e){ if(e.key==='Escape') clearSticky(); }); })();</script>
취소
저장
×
테이블 컬럼 설정
드래그로 순서 변경, 체크박스로 출력 여부, 정렬 및 너비 설정
모바일 가로비율
미입력시 기본 600px
초기화
저장
조직도 영역 링크 목록
퀵 메뉴 열기
인스타
카카오채널
유튜브
이전
페이지
/
전체
다음
문의하기
×
개인정보 수집 및 이용에 동의합니다
문의하기