fix(cupang): 박스 계산 표 표기 정리·상자 라벨 고정

- 제품 드롭다운은 제품명만 표시(박스·입수량 병기 제거)
- 표 머리글 가운데 정렬 + 굵게
- 셀 옆에 나타나던 "…"" 제거: input/button 이 든 셀까지 text-overflow:
  ellipsis 가 걸려 빈 말줄임표가 그려졌다. 말줄임은 글자 셀에만 적용
- 혼합 박스 그림의 호수 추출 로직 삭제 → 항상 "쿠팡박스" 표기(글자 수에
  맞춰 라벨 크기 11px)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-29 02:27:01 +09:00
parent 354eebeaac
commit fe344f9fda
8 changed files with 19 additions and 21 deletions
@@ -1,6 +1,6 @@
{% extends "erp_base.html" %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% endblock %}
{% block content %}
<section class="cpg">
@@ -100,10 +100,7 @@
var optionsHtml = '<option value="">— 제품명 선택 —</option>';
rules.forEach(function (r) {
// 드롭다운 폭을 줄이려고 "쿠팡 " 접두어를 떼고 짧게 표기한다. 예: 미라네 1호 세트 (2호·8)
var shortBox = (r.box_name || "-").replace(/^쿠팡\s*/, "");
var label = (r.product_name_snapshot || r.product_code) +
" (" + shortBox + "·" + r.units_per_box + ")";
var label = r.product_name_snapshot || r.product_code;
optionsHtml += '<option value="' + esc(r.product_code) + '">' + esc(label) + "</option>";
});
@@ -204,10 +201,7 @@
"</svg>";
}
// "쿠팡 2호" → "2호" (상자 그림 안에 넣을 짧은 이름)
function shortBoxName(name) {
return String(name || "").replace(/^쿠팡\s*/, "").trim() || "박스";
}
function renderSummary(results, mixes, grandTotal) {
var ok = results.filter(function (r) { return r.configured; });
@@ -254,7 +248,7 @@
return '<li><span>' + esc(it.product_name) + "</span><b>" + it.quantity + "개</b></li>";
}).join("");
bh += '<div class="cpg-box-card" style="animation-delay:' + (n * 70) + 'ms">' +
'<div class="cpg-box-art">' + boxSvg(b.fill_percent, shortBoxName(m.box_name)) + "</div>" +
'<div class="cpg-box-art">' + boxSvg(b.fill_percent, "쿠팡박스") + "</div>" +
'<div class="cpg-box-info">' +
'<div class="cpg-box-title">' + esc(m.box_name) + " 혼합 #" + (i + 1) + "</div>" +
'<ul class="cpg-box-items">' + items + "</ul>" +
@@ -1,6 +1,6 @@
{% extends "erp_base.html" %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% 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=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% 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=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% 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=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% 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=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% 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=20260828z" />{% endblock %}
{% block head_extra %}<link rel="stylesheet" href="/static/cupang.css?v=20260829a" />{% endblock %}
{% block content %}
<section class="cpg">