본문 바로가기
프로젝트

세미프로젝트_견적요청(서비스 페이지)

by 유서담 2024. 2. 8.

 

견적요청 페이지 완성

 


 

로그인 전 navbar.jsp의 모습
로그인 후 navbar.jsp의 모습

 

navbar.jsp의 로그인 유무 및 회원타입에 따라 견적요청 버튼 유무를 만드는 코드

 

 

견적요청은 navbar 상단을 통해서 들어갈 수 있는데 로그인 하지 않으면 견적요청 버튼 자체가 안나오게 처리를 했다

(위 코드 사진 )

그래도 url을 통해 들어오는 것을 방지하기 위해 견적요청폼 페이지에도 따로 코드를 넣어놨다 (아래 코드 사진)

 

로그인 하지 않고 url을 통해 들어오는 것을 방지하는 코드 및 결과

 

 


 

 

radio 타입의 input태그를 선택했을 때 표시 및 name과 value

 

코드의 줄 친 곳을보면 name은 다 동일한데 value는 다 다른것을 알 수 있다

예시를 들어 어떤 종류의 이사를 하는지 고르는 영역에서의 name은 다 동일하게 moveType 이지만 value의 값들은 1, 2, 3으로 다 다르다

 

나중에 전달되는 파라미터값이 name=???&value=??? 이 구분되기 때문에 같은 구분의 영역들은 다 같은 이름으로 지정했다


 

견적을 저장하는 UserEstimate VO 객체

 

UserEstimate 객체에서 사용되는 하위 객체들

 


 

 

파라미터값들을 전송하기 위해 저장하는 과정 (estimate.jsp)

 

 

estimateform.jsp 에서 제출버튼을 누르면 estimate.jsp로 각 파라미터 값들을 보낸다

그 보낸 값들을 저장하는 코드가 위 사진첨부한 코드이다

 

 

한 테이블을 사용하는 것이 아닌 여러 테이블을 사용하다보니 기존처럼 insert 할 때 seq.nextval을 사용하면 같은 견적번호에 들어가야 할 견적들이 따로 들어가서 sequence 번호를 따로 증가시키고 그 번호를 기입하는 방식으로 사용하였다

(Ex. 같은 주문에 옵션이 추가된다고 주문번호가 다르게 들어가는 것이 아닌 같은 주문번호로 들어가게끔 하는 방식이라고 생각한다 )

 

 

 

받아온 값들을 다 UserEstimate 객체에 저장하는 과정이다

UserEstimateObject 는 주요 물품을 저장하는 테이블인데 파라미터값들을 배열로 저장해서 for문을 통해

주요물품 항목과 그 양을 하나씩 저장해서 insert 한다

 

objNo와 objAmount는 주요 물품의 종류에 따라 번호로 나누었고 Amount는 주요 물품의 갯수를 나타낸다

폼을 제출했을 때 이런식으로 저장된다

 

 

 

주요물품을 선택하는 파트 및 + -버튼 작동 자바스크립트

 

가장 신경을 많이 썼던 부분인 주요 물품 이다

다른 부분은 단순히 radio 타입으로 해서 여러 개중 하나 선택하기만 하면 됐었는데

다른 타입들과 달리 여러개 있을 수 있는 부분이라 숫자를 가운데 두고 양 옆에 '-'  '+' 버튼을 누르면 숫자가 줄어들게 해놨다

 

 

우편번호 찾기는 다음 주소API를 사용했다

 

 


 

 

 

 

 

 

 

견적을 다 작성해서 제출했을 때와 견적 요청리스트에 성공적으로 나오는 모습

 

 

견적을 다 작성해서 제출버튼을 누르면 alert 알람이 나오면서 견적이 완료됬음을 알 수 있다