feat(cupang): 달력 월 표기 확대, 출고 보기 ②를 상자 번호별 내용물 목록으로
- 달력 월 이름/연도 글자 크기 2배·굵게 - 출고 상세 ② 상자 요약 → ② 상자 목록: 전체 상자에 1번부터 번호를 붙이고 상자마다 담긴 제품·수량을 표시. box_plan 스냅샷 우선, 없으면 계산 결과로 대체 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="cpg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="cpg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="cpg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="cpg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<section class="cpg">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{% extends "erp_base.html" %}
|
||||
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260902b" />{% endblock %}
|
||||
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260903a" />{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
{# 출고 묶음 보기 — 상자 계산 화면과 같은 3열 구성. 읽기 전용(수정 없음). #}
|
||||
@@ -44,18 +44,18 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ② 상자 요약 -->
|
||||
<!-- ② 상자 목록 -->
|
||||
<div class="erp-card cpg-form-card cpg-calc-sum">
|
||||
<div class="cpg-card-head">
|
||||
<h2>② 상자 요약</h2>
|
||||
<span class="erp-muted">확정 당시 수량 기준으로 다시 계산한 값</span>
|
||||
<h2>② 상자 목록</h2>
|
||||
<span class="erp-muted">상자마다 담긴 제품과 수량</span>
|
||||
</div>
|
||||
|
||||
<div id="cpg-sum-body">
|
||||
<div class="cpg-sum-kpis">
|
||||
<div class="cpg-kpi">
|
||||
<span class="cpg-kpi-label">총 상자</span>
|
||||
<strong class="cpg-kpi-value">{{ calc.grand_total_boxes }}상자</strong>
|
||||
<strong class="cpg-kpi-value">{{ box_list|length }}상자</strong>
|
||||
<span class="cpg-kpi-hint">제품별 + 혼합</span>
|
||||
</div>
|
||||
<div class="cpg-kpi">
|
||||
@@ -71,53 +71,26 @@
|
||||
</div>
|
||||
|
||||
<div class="cpg-sum-scroll">
|
||||
<h3 class="cpg-sum-h3">제품별 상자</h3>
|
||||
<div class="cpg-sum-prods">
|
||||
{% for r in calc.results if r.configured %}
|
||||
<div class="cpg-sum-prod is-done">
|
||||
<div class="cpg-sum-prod-head">
|
||||
<span class="cpg-sum-prod-name">{{ r.product_name }}</span>
|
||||
<ul class="cpg-boxno-list">
|
||||
{% for b in box_list %}
|
||||
<li class="cpg-boxno{% if b.kind == 'mix' %} is-mix{% endif %}">
|
||||
<div class="cpg-boxno-head">
|
||||
<span class="cpg-boxno-no">{{ b.no }}</span>
|
||||
<span class="cpg-boxno-name">{{ b.box_name or '상자' }}</span>
|
||||
{% if b.kind == 'mix' %}<span class="cpg-boxno-tag">혼합</span>{% endif %}
|
||||
<span class="cpg-boxno-qty">{{ b.quantity }}개</span>
|
||||
</div>
|
||||
<div class="cpg-sum-prod-nums">
|
||||
<strong>{{ r.full_boxes }}상자</strong>
|
||||
<span class="erp-muted">{{ r.quantity }}개 · 입수량 {{ r.units_per_box }}</span>
|
||||
{% if r.remainder_units %}
|
||||
<span class="cpg-sum-left">자투리 {{ r.remainder_units }}개</span>
|
||||
{% else %}
|
||||
<span class="cpg-sum-exact">딱 맞음</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<ul class="cpg-boxno-items">
|
||||
{% for it in b['items'] %}
|
||||
<li><span>{{ it.product_name }}</span><b>{{ it.quantity }}개</b></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% set unconfigured = calc.results | rejectattr('configured') | list %}
|
||||
{% if unconfigured %}
|
||||
<p class="erp-muted">상자 입수량 미설정:
|
||||
{% for r in unconfigured %}{{ r.product_name }}{% if not loop.last %}, {% endif %}{% endfor %}
|
||||
</p>
|
||||
{% if not box_list %}
|
||||
<li class="erp-muted">상자 정보가 없습니다.</li>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<h3 class="cpg-sum-h3">자투리 혼합 상자
|
||||
<span class="erp-muted">{% if not calc.mixes %}— 자투리 없음{% else %}— 1장 = 1상자{% endif %}</span>
|
||||
</h3>
|
||||
<div class="cpg-sum-boxes">
|
||||
{% for m in calc.mixes %}
|
||||
{% for b in m.boxes %}
|
||||
<div class="cpg-box-card is-done">
|
||||
<div class="cpg-box-info">
|
||||
<div class="cpg-box-title">{{ m.box_name }} 혼합 #{{ loop.index }}</div>
|
||||
<ul class="cpg-box-items">
|
||||
{% for it in b['items'] %}
|
||||
<li><span>{{ it.product_name }}</span><b>{{ it.quantity }}개</b></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<div class="cpg-box-bar"><span style="width:{{ b.fill_percent }}%"></span></div>
|
||||
<div class="cpg-box-fillnum">{{ b.fill_percent }}% 채움</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user