From 9d7d1e8a9441bb29e1e234066f8347371408d81c Mon Sep 17 00:00:00 2001 From: taekyoungc Date: Mon, 15 Jun 2026 21:24:58 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A6=AC=ED=8F=AC=ED=8A=B8=20=EC=B2=AB?= =?UTF-8?q?=20=EC=A7=84=EC=9E=85=20=EC=9E=90=EB=8F=99=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?+=20=EA=B8=80=EC=9E=90=20=ED=99=95=EB=8C=80(=ED=83=AD=C2=B7?= =?UTF-8?q?=EB=8C=80=EB=A9=94=EB=89=B4=20=ED=8F=AC=ED=95=A8,=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EA=B3=A0=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 수급 계획·반품/파기 현황·기간별 봉투 수불 현황: 첫 진입에도 기본 조건 자동 조회 - 글자 확대 시 탭 텍스트·상단 대메뉴(font-size)도 확대, A−/A+ 버튼은 위치·크기 고정 Co-Authored-By: Claude Opus 4.8 --- app/Controllers/Admin/SalesReport.php | 6 ++++-- app/Controllers/Bag.php | 3 ++- app/Views/admin/layout.php | 6 +++++- app/Views/bag/layout/portal.php | 8 ++++++-- app/Views/bag/layout/workspace.php | 7 +++++-- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/Controllers/Admin/SalesReport.php b/app/Controllers/Admin/SalesReport.php index 1f2bd83..8cb6239 100644 --- a/app/Controllers/Admin/SalesReport.php +++ b/app/Controllers/Admin/SalesReport.php @@ -2560,7 +2560,8 @@ class SalesReport extends BaseController return redirect()->to(work_area_home_url())->with('error', '지자체를 선택해 주세요.'); } - $queried = $this->request->getGet('search') === '1'; + // 첫 진입(search 파라미터 없음)에도 기본 조건(이번 달·불출)으로 자동 조회해 바로 표시한다. + $queried = ($this->request->getGet('search') ?? '1') === '1'; $startDate = (string) ($this->request->getGet('start_date') ?? date('Y-m-01')); $endDate = (string) ($this->request->getGet('end_date') ?? date('Y-m-d')); if ($startDate > $endDate) { @@ -3189,7 +3190,8 @@ class SalesReport extends BaseController $salesScope = 'all'; } - $queried = $this->request->getGet('search') === '1'; + // 첫 진입(search 파라미터 없음)에도 기본 조건(오늘·40일·ALL)으로 자동 조회해 바로 표시한다. + $queried = ($this->request->getGet('search') ?? '1') === '1'; $built = (new \App\Libraries\BagSupplyPlanBuilder())->build( $lgIdx, $refDate, diff --git a/app/Controllers/Bag.php b/app/Controllers/Bag.php index 4e712d7..d1f4918 100644 --- a/app/Controllers/Bag.php +++ b/app/Controllers/Bag.php @@ -3302,7 +3302,8 @@ SQL); public function flow(): string { $lgIdx = $this->lgIdx(); - $queried = $this->request->getGet('search') === '1' + // 첫 진입(search 파라미터 없음)에도 기본 조건(이번 달·전체)으로 자동 조회해 바로 표시한다. + $queried = ($this->request->getGet('search') ?? '1') === '1' || $this->request->getGet('start_date') !== null || $this->request->getGet('end_date') !== null; diff --git a/app/Views/admin/layout.php b/app/Views/admin/layout.php index 9ee77b5..e9f5bcb 100644 --- a/app/Views/admin/layout.php +++ b/app/Views/admin/layout.php @@ -170,13 +170,17 @@ tailwind.config = { // 글씨 크기 조절(A−/A+) — 본문 + 상단 대메뉴 + 좌측 사이드바에 zoom 적용. 사이트/워크스페이스와 배율 공유. (function () { var FONT_KEY = 'jrj_font_scale'; - var scaleSelectors = ['.portal-header', '.sidebar', '.work-main']; + // 상단 헤더는 제외 → A−/A+ 버튼이 커지거나 밀리지 않아 연속 클릭이 편하다. + var scaleSelectors = ['.sidebar', '.work-main']; function curScale() { var s = parseInt(localStorage.getItem(FONT_KEY) || '100', 10); return (s >= 70 && s <= 150) ? s : 100; } function applyScale(s) { s = Math.min(150, Math.max(70, s)); try { localStorage.setItem(FONT_KEY, String(s)); } catch (e) {} var z = s / 100; scaleSelectors.forEach(function (sel) { var el = document.querySelector(sel); if (el) el.style.zoom = z; }); + // 상단 대메뉴는 font-size 만 키운다(바 높이 48px 고정 → A−/A+ 버튼이 안 밀림). + var topnav = document.querySelector('.portal-top-nav'); + if (topnav) topnav.style.fontSize = (0.875 * z).toFixed(4) + 'rem'; var pct = document.getElementById('wsFontPct'); if (pct) pct.textContent = s + '%'; } applyScale(curScale()); diff --git a/app/Views/bag/layout/portal.php b/app/Views/bag/layout/portal.php index e49a5b4..cb925ee 100644 --- a/app/Views/bag/layout/portal.php +++ b/app/Views/bag/layout/portal.php @@ -264,15 +264,19 @@ tailwind.config = { document.addEventListener('mousemove', function (e) { if (!dragging) return; var w = window.innerWidth - e.clientX; drawer.style.width = Math.min(window.innerWidth * 0.92, Math.max(300, w)) + 'px'; }); document.addEventListener('mouseup', function () { if (!dragging) return; dragging = false; ov.style.display = 'none'; document.body.style.userSelect = ''; }); - // 글씨 크기 조절 — 본문 + 상단 대메뉴 + 좌측 사이드바(메뉴)에 zoom 적용. + // 글씨 크기 조절 — 본문 + 좌측 사이드바에 zoom 적용. + // 상단 헤더는 제외 → A−/A+ 버튼이 커지거나 밀리지 않아 연속 클릭이 편하다. var FONT_KEY = 'jrj_font_scale'; - var scaleSelectors = ['.portal-header', '.sidebar', '.work-main']; + var scaleSelectors = ['.sidebar', '.work-main']; function curScale() { var s = parseInt(localStorage.getItem(FONT_KEY) || '100', 10); return (s >= 70 && s <= 150) ? s : 100; } function applyScale(s) { s = Math.min(150, Math.max(70, s)); try { localStorage.setItem(FONT_KEY, String(s)); } catch (e) {} var z = s / 100; scaleSelectors.forEach(function (sel) { var el = document.querySelector(sel); if (el) el.style.zoom = z; }); + // 상단 대메뉴는 font-size 만 키운다(바 높이 48px 고정 → A−/A+ 버튼이 안 밀림). + var topnav = document.querySelector('.portal-top-nav'); + if (topnav) topnav.style.fontSize = (0.875 * z).toFixed(4) + 'rem'; var pct = document.getElementById('wsFontPct'); if (pct) pct.textContent = s + '%'; } applyScale(curScale()); diff --git a/app/Views/bag/layout/workspace.php b/app/Views/bag/layout/workspace.php index 531b40d..df507e9 100644 --- a/app/Views/bag/layout/workspace.php +++ b/app/Views/bag/layout/workspace.php @@ -490,10 +490,13 @@ if ($effectiveLgIdx) { var pct = document.getElementById('wsFontPct'); if (pct) pct.textContent = s + '%'; // 탭(iframe) 내용 Object.keys(tabs).forEach(function (k) { try { tabs[k].frame.contentDocument.documentElement.style.zoom = z; } catch (e) {} }); - // 셸 메뉴(상단 대메뉴 + 좌측 사이드바)도 함께 확대 - ['.portal-header', '.sidebar'].forEach(function (sel) { + // 좌측 사이드바 + 탭 바 텍스트도 함께 확대. + ['.sidebar', '#wsTabBar'].forEach(function (sel) { var el = document.querySelector(sel); if (el) el.style.zoom = z; }); + // 상단 대메뉴는 font-size 만 키운다(바 높이 48px 고정 → A−/A+ 버튼이 안 밀림). + var topnav = document.querySelector('.portal-top-nav'); + if (topnav) topnav.style.fontSize = (0.875 * z).toFixed(4) + 'rem'; } (function () { setFontScale(curFontScale()); // 저장된 배율을 셸 메뉴에도 적용(초기 로드)