뷰페이지 구성(2)

2023. 7. 28. 10:42·Project/ERP

팀원들과의 소통 후 결정한 내용은 우리가 진행하는 프로젝트는 백 프로젝트이기 때문에 뷰에 크게 신경쓰지 말고 백을 완벽하게 구성을 한 후에 남은 시간에 뷰를 건드려 보기로 했다.

 

그렇기 때문에 일단은 무료 웹 템플릿을 이용하여 뷰를 구성하기로 했다. 

저번과 마찬가지로 fetch API를 이용하여 메인 index페이지를 구성했는데 

<div class="button-container">
    <div class="button-group" align="center">
    <h2>기획본부</h2>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent1', 'test/managementplanning')" class="button small">경영기획팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent2', 'test/strategicplanning')" class="button small">전략기획팀</a>
    </div>
    <div class="button-group" align="center">
    <h2>관리본부</h2>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent3', 'test/account')" class="button small">회계팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent4', 'test/finance')" class="button small">재무팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent5', 'test/greeting')" class="button small">인사팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent6', 'test/gunradish')" class="button small">총무팀</a>
    </div>
</div> 

<div class="button-container">
	<div class="button-group" align="center">
    <h2>영업본부</h2>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent7', 'test/internationalsales')" class="button small">해외영업팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent8', 'test/domesticsales')" class="button small">국내영업팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent9', 'test/storesales')" class="button small">매장영업팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent10', 'test/businessmanagement')" class="button small">영업관리팀</a>
    </div>
    <div class="button-group" align="center">
    <h2>지원본부</h2>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent11', 'test/production')" class="button small">생산팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent12', 'test/purchase')" class="button small">구매팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent13', 'test/quality')" class="button small">품질관리팀</a>
        <a href="javascript:void(0)" onclick="FetchContent('fetchContent14', 'test/distribution')" class="button small">물류팀</a>
    </div>
</div>

각각의 버튼을 클릭하면 버튼 밑에 있는 div에 각 팀의 기능 버튼(?) 이 나오고 그 버튼을 누르면 페이지 이동을 시키도록 구성을 했다.

 

 

JS

let currentOpenFetchContent = null;

    function FetchContent(fetchContentId, url) {
        var fetchContent = document.getElementById(fetchContentId);

        // 현재 열려있는 FetchContent가 있으면 닫기
        if (currentOpenFetchContent === fetchContent) {
            fetchContent.innerHTML = '';
            currentOpenFetchContent = null;
            return;
        }

        // 모든 FetchContent 닫기
        closeAllFetchContents();

        // FetchContent를 열기
        fetch(url).then(function(response) {
            response.text().then(function(text) {
                fetchContent.innerHTML = text;
                currentOpenFetchContent = fetchContent;
            });
        });
    }

    // 모든 FetchContent를 닫는 함수 정의
    function closeAllFetchContents() {
        var fetchContents = document.getElementsByName("f");
        for (var i = 0; i < fetchContents.length; i++) {
            fetchContents[i].innerHTML = '';
        }
    }

    // Windows.onload에서 fetchcontent1의 내용을 로드하기
    window.onload = function() {
        FetchContent('fetchContent1', 'test/managementplanning');
    };

참고로 window.onload를 이용하면 페이지에 들어왔을 때 자동으로 실행을 시킴으로서 조금 휑해 보일 수 있는 메인페이지를 채워줄 수 있게 된다. 

 

그리고 'test/managementplanning' 은 컨트롤러 매핑 경로로 컨트롤러에서 리턴값을 managementplanning.jsp로 줬기 때문에

 

<h2>경영기획팀</h2>
<br>
	<input type="button" value="회사정보" onclick="#">
	<input type="button" value="사업자정보" onclick="#">
	<input type="button" value="지점관리" onclick="#">
	<input type="button" value="경영자정보" onclick="#">

 

이 내용이 출력되게 된다. 참고로 onclick에 있는 #은 아직 매핑경로를 지정해 주지 않았기 때문에 임의로 둔 것이다. 

 

그래서 실제 뷰페이지 결과는

 

이런 느낌..?

 

경영기획팀 버튼을 한 번 더 누르면 <hr> 밑에 내용이 사라지고 다른 팀 버튼을 누르면 그 팀에 해당되는 버튼들로 잘 교체된다.

저작자표시 (새창열림)

'Project > ERP' 카테고리의 다른 글

뷰페이지 구성 에러 해결(2)  (0) 2023.07.28
뷰페이지 구성 에러 해결(1)  (0) 2023.07.28
뷰페이지 구성  (0) 2023.07.15
DB 세팅  (0) 2023.07.15
구현 범위 선정  (0) 2023.07.10
'Project/ERP' 카테고리의 다른 글
  • 뷰페이지 구성 에러 해결(2)
  • 뷰페이지 구성 에러 해결(1)
  • 뷰페이지 구성
  • DB 세팅
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
      • DevOps
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    js
    git
    정보처리기사
    SQLD
    jsp
    gitbash
    web
    Python
    html
    javascript
    Postman
    AWS
    Java
    코딩테스트
    node
    CORS
    코테
    프로그래머스
    RDBMS
    해시 암호화
    Tomcat
    AdSP
    코딩
    github
    annotation
    spring
    React
    django
    eGov
    Cloud
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
whkim98
뷰페이지 구성(2)
상단으로

티스토리툴바