refactor(WEB): /new 페이지를 ?mode=new 방식으로 통합

- 출퇴근 관리: 우림블루나인비즈니스센터 좌표 수정 (37.5572518, 126.864441)
- 입금/출금/매출/카드 등록: /new 폴더 삭제 및 ?mode=new 쿼리 파라미터 방식으로 통합
- 매출 등록 페이지 제목 "등록 등록" 중복 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-01-23 10:20:12 +09:00
parent 1a0b1c4c48
commit e44b3cd6cc
11 changed files with 143 additions and 69 deletions

View File

@@ -557,7 +557,7 @@ export function SalesDetail({ mode, salesId }: SalesDetailProps) {
// ===== 동적 config =====
const dynamicConfig = {
...salesConfig,
title: isNewMode ? '매출 상세_직접 등록' : '매출 상세',
title: isNewMode ? '매출' : '매출 상세',
actions: {
...salesConfig.actions,
submitLabel: isNewMode ? '등록' : '저장',

View File

@@ -131,10 +131,14 @@ export default function GoogleMap({ siteLocation, onDistanceChange }: GoogleMapP
useEffect(() => {
if (!isLoaded || !mapRef.current || !window.google) return;
console.log('[GoogleMap] 지도 초기화 시작');
// 좌표 유효성 검사 - 우림블루나인비즈니스센터 기본값 (강서구 염창동)
const lat = typeof siteLocation.lat === 'number' && !isNaN(siteLocation.lat) ? siteLocation.lat : 37.5458;
const lng = typeof siteLocation.lng === 'number' && !isNaN(siteLocation.lng) ? siteLocation.lng : 126.8718;
console.log('[GoogleMap] 지도 초기화 시작, 좌표:', lat, lng);
const map = new window.google.maps.Map(mapRef.current, {
center: { lat: siteLocation.lat, lng: siteLocation.lng },
center: { lat, lng },
zoom: 17,
disableDefaultUI: true,
zoomControl: true,
@@ -145,11 +149,14 @@ export default function GoogleMap({ siteLocation, onDistanceChange }: GoogleMapP
mapInstanceRef.current = map;
// 100m 반경 원 그리기 (파란색)
// radius 유효성 검사
const radius = typeof siteLocation.radius === 'number' && siteLocation.radius > 0 ? siteLocation.radius : 100;
// 반경 원 그리기 (파란색)
const circle = new window.google.maps.Circle({
map: map,
center: { lat: siteLocation.lat, lng: siteLocation.lng },
radius: siteLocation.radius,
center: { lat, lng },
radius: radius,
strokeColor: '#3B82F6',
strokeOpacity: 0.8,
strokeWeight: 2,
@@ -162,7 +169,7 @@ export default function GoogleMap({ siteLocation, onDistanceChange }: GoogleMapP
// 현장 중심 마커 (파란색)
new window.google.maps.Marker({
map: map,
position: { lat: siteLocation.lat, lng: siteLocation.lng },
position: { lat, lng },
icon: {
path: window.google.maps.SymbolPath.CIRCLE,
scale: 8,