Commit Graph

131 Commits

Author SHA1 Message Date
king 4d05c7fad5 fix(malaysia): 랙보기 상단 제목 영문 미번역 보완
ENG 토글 시 topbar 제목 '창고 랙'(page_title)·'랙 보기'(page_subtitle)가
KO_EN 사전에 없어 '랙' 글자만 한글로 남았다. 두 항목 추가로 전체 번역.
malaysia.js 캐시버스트 v20260615a.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 17:22:48 +09:00
king c91059b415 fix(malaysia): 랙보기를 '최근 저장' 재고조사 기준으로
기존 랙보기는 latest_stocktake(조사 날짜 DESC) 기준이라, 방금 저장한
조사라도 날짜가 더 늦은 다른 조사가 있으면 안 보였다. 랙을 마지막으로
저장한 조사를 보여주도록 latest_rack_stocktake 추가 — daily_stocktake_rack
.created_at MAX 기준(replace_rack 이 매 저장마다 delete+insert 하므로
랙 저장 시각과 일치). 재고현황 index 의 날짜 기준 latest_stocktake 는 유지.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 14:49:30 +09:00
king b970542482 fix(shell): 모바일에서 grid 해제로 본문 풀폭 강제
특이도 조정만으론 부족. 모바일(≤900px)에서 .erp-app grid를 아예
display:block 으로 해제해 데스크탑 collapsed :has 규칙과의 칸 분배
충돌을 원천 제거. 사이드바는 fixed 오버레이(z-index 1000), 본문은
width:100%. body 높이/overflow도 모바일에선 auto로 풀어 콘텐츠 잘림
방지. CSS 캐시버스트 v20260615b.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 14:40:31 +09:00
king 438f309178 fix(shell): 모바일에서 사이드바 칸이 본문을 가리는 문제
데스크탑 접힘 규칙 .erp-app:has([data-collapsed=true])(특이도 높음)가
모바일 미디어 .erp-app{...0 1fr}(특이도 낮음)를 이겨, 폰에서도
사이드바가 64px grid 칸을 차지해 본문이 좁게 짜부러짐. 미디어쿼리는
특이도를 올리지 않음. 모바일 미디어에 :has 셀렉터를 함께 명시해
특이도를 맞추고 사이드바 칸을 0으로 강제. CSS 캐시버스트 갱신.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 14:24:58 +09:00
king eb6ee77f72 style(malaysia): 모바일 화면 최적화 — 다단 그리드·랙·표 반응형
- _i18n.html 공용 모바일 CSS: ≤820px 다단 그리드 1단 적층,
  정보바 줄바꿈, 표 가로 스크롤로 열 정렬 유지, 랙 6→3열
- ≤480px 랙 3→2열, 코드열 폭 자동
- index·movements·stocktakes 고정폭 그리드에 mys-grid 클래스

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 13:06:10 +09:00
king f4133ad61d style(malaysia): 재고현황·최종계산 숫자 천단위 콤마
- 재고현황: 전산재고/조사수량/차이(부호+콤마)/콤보 Qty
- 재고조사 상세 최종계산: direct/from_set/total

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:41:31 +09:00
king 9377cd2f5a style(malaysia): 랙 보기 표기 순서 — 입수량개 × 박스수박스
'20박스 × 150' → '150개 × 20박스 = 3,000' 으로 직관적 표기.
입수량에도 천단위 콤마, i18n '개' 키 추가.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:39:36 +09:00
king 536e5a35f1 fix(malaysia): 확정 시 랙 입력 누락 방지 — 저장+확정 통합
확정 버튼이 랙 폼과 별개라, 입력 후 저장 없이 확정하면 랙/라인 0건으로
빈 확정이 되던 문제 수정.

- 확정 버튼을 랙 폼 안으로 이동(formaction=/rack/finalize)
- 신규 POST /stocktakes/{id}/rack/finalize: replace_rack 후 finalize
- _parse_rack_form 헬퍼 추출(저장/확정 공용)
- 입력 저장은 outline, 확정은 primary 로 구분

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:36:11 +09:00
king eacde5b322 style(malaysia): 입수량·박스 한 줄 + 칸 합계 제거
- 입수량/박스 입력을 한 줄로(.rk-line)
- 칸 ∑ 합계 제거 — 서로 다른 상품을 합산해 의미 없음(입력·랙보기 양쪽)
- 상품별 행 소계(합계)는 유지(개별 SKU 기준 유효)
- malaysia_rack.js: 칸 합계 로직 삭제, 행 소계만 갱신

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:10:49 +09:00
king b24a418718 style(malaysia): 랙 합계·∑ 천단위 콤마
- malaysia_rack.js: 행 소계/칸 합계 toLocaleString, 로드 시 기존 행도 recalc
- stocktake_detail/rack_view: 서버 렌더 합계도 {:,} 포맷

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:04:25 +09:00
king f1eac5eda2 style(malaysia): 랙 입력란 세로 배치 + 레이블 노출
좁은 칸에서 placeholder 가 잘려 안 보이던 문제 해결.
- 각 입력행을 세로 스택(상품 select → 입수량 → 박스 → 합계/삭제)
- '입수량'·'박스' 레이블 항상 표시
- 중복 .rk-del CSS 정리, i18n 키 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 17:01:40 +09:00
king 1e0e69fcbe feat(malaysia): 창고 랙 보기 페이지
최근(취소 제외) 재고조사의 랙 입력을 칸별로 한눈에 보는 읽기전용 메뉴.
각 칸에 상품명·박스수×입수량=총개수, 칸 합계(∑) 표시.

- nav: '창고 랙 보기' 탭 추가(active_tab='rack')
- router: GET /malaysia/rack — latest_stocktake → list_rack_entries 칸별 그룹
- 템플릿 rack_view.html — Side A/B 세로 적층, 칸별 아이템 목록
- i18n 키 추가(Rack View 등)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 16:48:07 +09:00
king 4c7eb9467f style(malaysia): 랙 보드 세로 적층 + 상단 정보바 한 줄
- Side A/B 를 세로로 적층(각 면 풀폭) → 칸·입력란 넓게, 한 화면 활용
- 상단 정보(날짜/창고/상태/안내/저장)를 mys-info-bar 로 한 줄 고정
  (erp-card 중앙정렬에 먹혀 세로로 쌓이던 문제 해결)
- 칸 넓어진 만큼 입력란 폭·폰트 확대

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 16:41:41 +09:00
king d92da186f3 style(malaysia): 랙 입력 UI — 정보 상단 이동·풀폭·코드 숨김
- 날짜/창고/상태/안내를 상단 가로 스트립으로 이동(좌측 280px 칸 제거)
- 랙 보드 풀폭 → A/B 두 면 한 화면에 나란히
- 드롭다운에 상품코드 숨기고 이름만 표시(value 는 코드 유지)
- 입력란 폭 축소·min-width:0 으로 칸 넘침 방지

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 16:37:37 +09:00
king 032fb78867 feat(malaysia): 재고조사 랙(rack) 박스 단위 입력
낱개/콤보 평면 수량 그리드를 창고 랙 그림(A/B 36칸) 입력으로 대체.
각 칸에 아이템·박스당 입수량·박스 수를 넣고 + 로 한 칸 여러 아이템 추가.
저장 시 SKU별 qty=SUM(입수량×박스수) 집계로 daily_stocktake_line 재생성.
이후 분해/확정 로직은 라인 기준 그대로 동작.

- DB: daily_stocktake_rack 테이블 + grant (멱등)
- store: rack_cell_codes/rack_layout/aggregate_rack 순수함수
- db: list_rack_entries/replace_rack(1 트랜잭션, draft만)
- router: rack 컨텍스트 + POST /stocktakes/{id}/rack/bulk
- UI: 랙 보드 템플릿 + malaysia_rack.js(행 추가/삭제·실시간 소계)
- 테스트 4건 추가(18 전부 통과)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 16:25:40 +09:00
king 65997adfd3 i18n(malaysia): 콤보 입고 차단 안내 영문 모드 대응
영문 토글 시 콤보 입고 불가 alert도 영어로 표시 (mys_lang 기준 분기)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 12:47:41 +09:00
king 8f882ff4cd feat(malaysia): 슈퍼관리자 재고 데이터 초기화
- 재고 현황 하단 '위험 구역' 카드(슈퍼관리자만 표시)
- POST /malaysia/reset: stock_movement + daily_stocktake(+line) 전체 삭제
  → 전체 창고 현재고/조사값 0. 마스터(창고/아이템) 보존.
- 권한: is_super_admin 아니면 403 (버튼 숨김 + 서버 이중 검사)
- 2단 확인(confirm + RESET 타이핑)
- i18n 추가, malaysia.js 캐시 버전 bump

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 11:32:30 +09:00
king 84d266ea89 style(malaysia): 입출고 엑셀 헤더 서식 + 열너비 자동
- A1~C1 파랑 배경/흰색 굵은글씨/가운데 정렬
- A~C 열너비 내용 길이 자동(한글 폭 2배 보정, 8~50 clamp)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 11:12:31 +09:00
king 56cff672e2 fix(malaysia): 콤보 입고 차단 — 낱개 분리 입고 안내
- 콤보(MY-)는 입고 불가 구조. 입고 선택 + 콤보 수량 입력 시 차단.
- 클라이언트: 제출 전 alert 안내(낱개로 분리 입고)
- 서버: 동일 조건 400 (JS 우회 대비)
- 세트 movement 는 항상 OUT 유지(create_set_out 원복)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 10:59:09 +09:00
king d56365b338 feat(malaysia): 입출고 일자별 낱개 수량 엑셀 다운로드
- '일괄 적용' 버튼명 '입력'으로 변경
- 입력 버튼 우측 '다운로드' 버튼 추가
- GET /malaysia/movements/export: 해당 일자/종류(IN/OUT) 낱개 합계를
  엑셀(A=사방넷코드, B=수량, C=이름)로 스트리밍
- db.daily_movement_totals(): 일자/종류별 낱개 합계 집계
- itemcode.sabangnet_code_map(): item_code → 사방넷 코드 매핑
- i18n 사전 '입력'/'다운로드' 추가, malaysia.js 캐시 버전 bump

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 10:36:10 +09:00
king 03929ff517 feat(malaysia): 메뉴명 '말레이시아 재고관리'로 변경 + 사이드바/헤더 영문 토글
- 메인 메뉴/라벨 '말레이시아 재고' → '말레이시아 재고관리'
- EN 토글 시 사이드바 활성 항목(말레이시아만)·상단 페이지 제목/부제 부분치환 번역
  (다른 메뉴는 그대로)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 18:49:46 +09:00
king b18efcd814 ui(malaysia): 입출고 옵션 type/date/memo 입력폭 통일(100%)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 18:41:31 +09:00
king 3139e213a7 feat(malaysia): 전 화면 한글/영문 실시간 토글
- static/malaysia.js: KO_EN 사전 + 토글(localStorage 기억, 새로고침 없이 즉시)
- _i18n.html 공용 include(ENG/한글 버튼 + 스크립트), 전 화면 상단 삽입
- UI 고정 문구는 사전 치환(제목/헤더/버튼/라벨/배지/옵션/안내)
- 상품/콤보명은 data-en(영문, malaysia_items)·data-ko(itemcode_db 한글) 동시 렌더
- _base_ctx 에 ko_names(itemcode_db name_map) 주입

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 18:14:42 +09:00
king b312884ddc ui(malaysia): 비관리자에게 확정 안내문도 숨김
확정 버튼은 관리자만, 일반 사용자는 안내문 없이 취소만 표시

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 17:16:09 +09:00
king c07d3301e4 feat(malaysia): 재고현황 조사수량·차이 표기, 확정 관리자 제한, 슈퍼관리자 조사삭제
- 재고현황 헤더 "전산 재고 현황", Last Stocktake 옆 조사수량+차이(±) 표기
  (차이 = 마지막 재고조사 낱개 total − 전산재고)
- 재고조사 확정(전산 반영)은 관리자(is_admin)만 가능, 비관리자 안내
- 슈퍼관리자만 재고조사 완전 삭제(목록/상세 버튼 + /delete 라우트)
- "◀◀ 조사 목록" 버튼 검정 바탕(primary)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 16:38:38 +09:00
king 3d85ccf43e ui(malaysia): Code 컬럼 nowrap+고정폭, Qty 폭 축소(110px)
입출고/재고조사/재고현황 표의 Code(Set Code) 줄바꿈 방지, Qty 입력폭 축소

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 16:23:28 +09:00
king ea03a7aa18 ui(malaysia): Qty 150px·name 한줄, 재고조사 3분할, 재고현황 낱개/콤보 2분할
- Qty 컬럼 150px 고정, 상품명 줄바꿈 방지(nowrap)
- 콤보 Qty(OUT) 헤더 → Qty
- 일일 재고조사 상세 3분할(좌 정보/동작·중 낱개·우 콤보)
- 재고현황: 좌 낱개 분해 전체 + 우 콤보(최근 재고조사 세트 수량)
- db.latest_set_quantities 추가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 16:17:26 +09:00
king 9039d1d80b ui(malaysia): 이동이력 날짜필터+요일, Ref열 제거, 헤딩 변경(낱개/콤보 상품)
- 이동 이력에 날짜 선택 필터(요일 포함 표시), 날짜+종류 조합 유지
- 이력 Ref 컬럼 삭제
- "낱개 아이템"→"낱개 상품", "세트 아이템 — 출고(OUT)"→"콤보 상품"
- 안내 문구 삭제

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 16:05:50 +09:00
king 300f4e23c8 ui(malaysia): 입출고 3분할 레이아웃 — 좌(옵션)·중(낱개)·우(세트)
종류/날짜/메모+적용버튼을 좌측 카드로, 낱개·세트 그리드를 중/우로 배치

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 15:58:53 +09:00
king 4fdb5c181e ui(malaysia): 입출고 화면 정리 — Ref Type/No·안내문 제거, 행 간격 압축
- 불필요 필드(Ref Type, Ref No)와 안내 문구 삭제
- 테이블/입력 행 padding 축소로 낱개+세트 한 화면에 표시

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 15:56:05 +09:00
king 3b3f9739fe feat(malaysia): 입출고 화면 통합 — 낱개(좌)·세트(우) 한 폼, 버튼 하나로 일괄 적용
- /movements/bulk + /movements/set-out-bulk → /movements/apply 단일 엔드포인트
- 낱개는 선택 종류(IN/OUT/ADJUST), 세트는 항상 OUT(BOM 분해)
- 2컬럼 그리드 한 폼, "일괄 적용" 버튼 하나

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 15:50:42 +09:00
king 6b43d9926d feat(malaysia): 세트 BOM을 itemcode_db에서 읽고 입력을 그리드 일괄로 전환
- 세트구성(set_bom) 수동 관리 메뉴/라우트/API/템플릿 제거
- 세트 BOM은 itemcode_db set_components(set_code/single_code/quantity)에서
  읽음 (MalaysiaItemcodeReader, ITEMCODE_DB_URL 재사용)
- db.py: create_set_out/compute_result/finalize_stocktake 에 bom_map 주입식
- 입출고: 낱개 전체 그리드 일괄 등록 + 세트 출고 그리드(BOM 분해)
- 일일 재고조사: 낱개+세트 전체 그리드에 수량만 키인 → 일괄 저장
- malaysia_stock_db.set_bom 테이블은 레거시(미사용)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 15:35:42 +09:00
king f137f2a6a6 feat(malaysia): 말레이시아 창고 재고관리 모듈 추가
- 신규 모듈 app/modules/malaysia (prefix /malaysia, 권한키 malaysia)
- malaysia_stock_db: warehouses/malaysia_items/set_bom/stock_movement/
  daily_stocktake/daily_stocktake_line (멱등 init SQL)
- 낱개(MT/MX/MZ) 입출고·조정 movement, 세트(MY) BOM 관리, 세트 출고 BOM 분해
- 일일 재고조사: 세트→낱개 자동 분해(direct+from_set=total), 확정 시 차이만 STOCKTAKE
- prefix 검증 이중화(DB CHECK + store.py 순수함수), MD- 전면 제외
- 상품명은 itemcode_db 읽기 전용 재사용(중복 마스터 없음)
- 화면 4종 + JSON API, 순수로직 테스트 14건, README/docs 갱신

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 13:34:31 +09:00
king 13ac11cc0a ui(expense): 총 건수/총 금액 카드 제거 + 경비 내역 건수·합계 글씨 확대
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 18:25:10 +09:00
king 069d998c9d feat(expense): 경비 내역 월 선택 필터 + 월 합계, 월별 집계 버튼 제거
- 상단 "월별 집계" 버튼 삭제
- 경비 내역: 월 선택(input month, 변경 시 자동 조회) 기본 이번 달
- 선택 월(사용일 기준)만 표시 + 해당 월 합계금액 표시

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 18:22:58 +09:00
king e782cb4ea7 feat(expense): 영수증 이미지 업로드 시 가로 1000px 초과면 축소 + JPEG q80
- 가로 > 1000px 이미지: 비율 유지 1000px 축소 후 JPEG 품질 80 재인코딩
- EXIF 회전 보정, 알파/팔레트 → RGB 변환, 확장자 .jpg 로 통일
- 1000px 이하/비이미지/처리 실패 시 원본 그대로 저장
- 업로드를 메모리 읽기 후 처리 방식으로 변경(20MB 제한 유지)
- requirements: pillow>=10.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 18:12:09 +09:00
king 5582c72467 feat(expense): 영수증 파일명 규칙 변경 + 등록 폼 필수 검증
- zip 첨부 파일명: 날짜_이름_분류_결제수단_금액_가맹점.확장자 (날짜=사용일)
  - 가맹점 없으면 생략, 금액 쉼표 표기, 금지문자 정리
- db.approved_attachments 에 category/method/amount/merchant 추가
- 등록 폼: 사용일/분류/결제수단/금액/가맹점 필수 — 누락 시 경고창 + 포커스
  (가맹점 input required, 금액 1원 이상)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 18:08:56 +09:00
king b678d7c37f ui(expense): 승인완료 엑셀 다운 버튼 제거 + zip 버튼 검정(primary)
- 엑셀은 zip에 동봉되므로 별도 버튼 삭제
- 전부 다운로드(zip) 버튼 erp-btn-primary(검정 배경/흰 글씨)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 18:01:54 +09:00
king 5b0fe2f1a1 style(expense): 승인 목록 엑셀 서식 — 제목행 파랑/금액 쉼표/열너비 자동
- 제목행: 파랑(4472C4) 배경 + 흰 굵은 글씨 + 가운데 정렬
- 금액/합계금액: #,##0 쉼표 표시형식
- A~K 열너비 내용 기준 자동(한글/전각 2칸 계산)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:57:21 +09:00
king 6ae0d90b97 feat(expense): 전부 다운로드 zip에 승인 목록 엑셀 동봉
- _build_approved_xlsx 헬퍼로 엑셀 생성 로직 추출(export/zip 공용)
- zip 최상단에 승인목록_{month}.xlsx 포함 + 첨부 파일들

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:53:40 +09:00
king 09e2f06a14 fix(expense): zip 버튼 라벨 변경 + 경로 폴백/진단 헤더
- "첨부 일괄(zip)" → "전부 다운로드(zip)"
- stored_path 깨진 경우 업로드루트/item_id/파일명 으로 폴백 탐색
- X-Attachment-Stats 헤더(total/added/missing)로 빈 zip 원인 진단

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:50:49 +09:00
king a107b06826 feat(expense): 승인완료 메뉴 — 전 직원 월별 + 엑셀/첨부 zip
- /expense/approved: 승인자/관리자 전용, 월 선택 + 전 직원 승인완료 항목
- 직원별 승인 금액 합계표 + 총합
- 엑셀 다운(리스트 + 직원별합계 시트)
- 첨부 일괄 zip: 파일명 yy년 mm월 dd일(요일)_이름.확장자 (업로드일 기준)
- store: APPROVED_STATUSES(승인,정산완료) / db: list_approved, approved_attachments

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:46:41 +09:00
king 506db5ff07 feat(expense): 분류 설정 메뉴를 승인자에게도 노출
- /expense/settings 및 분류 CRUD 가드 관리자 → 승인자(expense_approver|admin)
- index 설정 버튼 is_approver 조건으로 노출
- 미사용 _require_admin 헬퍼 제거

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:28:26 +09:00
king 0b04a05b26 feat(expense): 관리자 분류 설정 메뉴 추가 (동적 분류)
- CategoryStore: 분류 항목 JSON 저장소(DATA_DIR/expense_categories.json)
- 관리자 설정 페이지(/expense/settings) + 분류 CRUD API
- _normalize 분류 고정목록 검증 제거 — 추가 분류 즉시 등록 폼/집계 반영
- index/reports 분류를 동적 목록으로 교체

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 17:22:01 +09:00
king ec8c9edcc9 fix(expense): 라운드 제거 대상은 .erp-table-wrap + 클립 아이콘 22px 강제
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 02:14:21 +09:00
king 7ff3500844 ui(expense): 내역 표 첫 행 모서리 라운드 제거 + 첨부 아이콘 확대
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 02:11:44 +09:00
king 84624baf8e ui(expense): 경비 내역 표 가운데 정렬 + 동작 헤더 제거 + 한 줄(너비 자동)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 02:08:22 +09:00
king d728c55e2a fix(expense): 요약카드 70px 강제(!important) + 요약줄·등록폼 간격 추가
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 21:40:22 +09:00
king 55c98b6b95 fix(expense): 요약카드 70px — grid-auto-rows 로 행 높이 고정(stretch 무력화)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 21:37:16 +09:00
king ca53042eb4 ui(expense): 상단 요약카드 70px + 경비등록(좌)/경비내역(우) 2단 배치
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 21:31:32 +09:00