From ead136179014031e7795e4d22e7395a16260704a Mon Sep 17 00:00:00 2001 From: king Date: Sat, 29 Aug 2026 03:01:01 +0900 Subject: [PATCH] =?UTF-8?q?fix(cupang):=20=EC=84=BC=ED=84=B0=20=EB=B6=84?= =?UTF-8?q?=EB=B0=B0=20=EB=93=9C=EB=A1=AD=20=EB=8F=99=EC=9E=91=C2=B7?= =?UTF-8?q?=EC=88=98=EB=9F=89=20=EB=8C=80=ED=99=94=EC=83=81=EC=9E=90=C2=B7?= =?UTF-8?q?=EC=84=BC=ED=84=B0=20=EC=84=A0=ED=83=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 드래그가 먹지 않던 원인: 드롭 대상이 점선 상자(.cpg-dist-drop) 안쪽으로 한정돼 센터 카드 여백에 놓으면 dragover 에서 preventDefault 가 걸리지 않았다 → 드롭 대상을 센터 패널 전체로 넓혔다. 카드를 클릭해도 같은 대화상자가 열리는 대체 경로도 추가. - ③ 은 처음에 비어 있고, 셀렉트에서 고른 센터만 패널로 추가된다(✕ 로 제거, 제거하면 담긴 박스는 잔여로 복귀) - 드롭/클릭 시 대화상자에서 박스 수량을 입력한다. "잔여 전부 담기" 버튼으로 남은 수량을 한 번에 담을 수 있고, Enter 로 확정 / Esc 로 취소 - 센터에 담긴 줄과 센터 합계에 박스 수와 상품 수(박스×입수량)를 함께 표시 - 요약 카드에도 잔여 개수(잔여 박스 × 입수량)를 표시 tests/js: jsdom 으로 계산→드래그→대화상자→수량 수정→제거까지 36개 항목을 검증하는 UI 테스트 추가(README 에 실행법). 전체 통과 확인. Co-Authored-By: Claude Opus 5 --- .gitignore | 1 + .../cupang/templates/cupang/box_calc.html | 304 +++++++++++++----- .../cupang/templates/cupang/box_rules.html | 2 +- .../cupang/templates/cupang/centers.html | 2 +- .../cupang/templates/cupang/detail.html | 2 +- app/modules/cupang/templates/cupang/form.html | 2 +- .../cupang/templates/cupang/index.html | 2 +- .../cupang/templates/cupang/products.html | 2 +- app/static/cupang.css | 46 ++- tests/js/README.md | 15 + tests/js/box_calc_ui.test.js | 139 ++++++++ tests/js/render_box_calc.py | 39 +++ 12 files changed, 459 insertions(+), 97 deletions(-) create mode 100644 tests/js/README.md create mode 100644 tests/js/box_calc_ui.test.js create mode 100644 tests/js/render_box_calc.py diff --git a/.gitignore b/.gitignore index 08c0512..6de998a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ __pycache__/ # dispatch 라벨 PDF 샘플(실제 고객 PII — 커밋 금지) docs/samples/ +tests/js/.out/ diff --git a/app/modules/cupang/templates/cupang/box_calc.html b/app/modules/cupang/templates/cupang/box_calc.html index 32e2075..7ff0223 100644 --- a/app/modules/cupang/templates/cupang/box_calc.html +++ b/app/modules/cupang/templates/cupang/box_calc.html @@ -1,6 +1,6 @@ {% extends "erp_base.html" %} -{% block head_extra %}{% endblock %} +{% block head_extra %}{% endblock %} {% block content %}
@@ -59,7 +59,7 @@

② 박스 요약

- 카드를 ③ 센터로 끌어다 놓으면 잔여가 줄어듭니다. + 카드를 ③ 센터로 끌어다 놓거나, 카드를 클릭해 담습니다.
왼쪽에서 제품과 수량을 넣고 계산하세요.
@@ -75,11 +75,11 @@
- +

③ 센터 분배

- 입고센터 관리에 등록한 센터만 표시됩니다. + 담을 센터를 골라 추가하세요.
{% if not centers %} @@ -87,31 +87,47 @@ 등록된 입고센터가 없습니다. 입고센터 관리에서 먼저 센터를 추가하세요.

{% else %} -
- {% for c in centers %} -
-
- {{ c.name }} - 0박스 -
-
- 여기로 박스를 끌어다 놓기 -
    -
    -
    - {% endfor %} +
    + +
    +
    +

    추가한 센터가 여기에 표시됩니다.

    {% endif %}
    + + + +