feat(malaysia): 확정된 날짜에 재고조사 생성 시 안내창 차단

같은 날짜+창고에 finalized 조사가 있으면 생성 버튼 클릭 시 alert 로
'{날짜} 은 재고조사가 확정되어 다시 재고조사를 생성할 수 없습니다.' 안내
후 제출 차단. 확정 날짜는 이미 받아온 stocktakes 목록에서 추출(추가 쿼리
없음). 서버측 차단(create_stocktake ValueError)은 안전망으로 유지. 한/영 안내.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 17:38:55 +09:00
parent 6e32c68590
commit 2c0eeb5502
@@ -11,7 +11,7 @@
<!-- 신규 조사 생성 --> <!-- 신규 조사 생성 -->
<div class="erp-card"> <div class="erp-card">
<div class="cpg-card-head"><h2>재고조사 생성</h2></div> <div class="cpg-card-head"><h2>재고조사 생성</h2></div>
<form method="post" action="/malaysia/stocktakes" style="margin-top:10px;display:flex;flex-direction:column;gap:8px;"> <form method="post" action="/malaysia/stocktakes" onsubmit="return mysCheckFinalizedDate(this)" style="margin-top:10px;display:flex;flex-direction:column;gap:8px;">
<input type="hidden" name="warehouse_code" value="{{ selected_wh }}" /> <input type="hidden" name="warehouse_code" value="{{ selected_wh }}" />
<label class="erp-field"><span>조사 날짜</span> <label class="erp-field"><span>조사 날짜</span>
<input class="erp-input" type="date" name="stocktake_date" value="{{ today }}" required /></label> <input class="erp-input" type="date" name="stocktake_date" value="{{ today }}" required /></label>
@@ -58,5 +58,23 @@
</div> </div>
</div> </div>
</div> </div>
<script>
// 이미 확정된 날짜 목록(현재 창고). 그 날짜로 생성 시도 시 안내 후 차단.
var MYS_FINALIZED_DATES = [
{% for s in stocktakes %}{% if s.status == 'finalized' %}"{{ s.stocktake_date }}",{% endif %}{% endfor %}
];
function mysCheckFinalizedDate(form) {
var d = (form.querySelector('[name=stocktake_date]').value || '').trim();
if (MYS_FINALIZED_DATES.indexOf(d) !== -1) {
var en = localStorage.getItem('mys_lang') === 'en';
alert(en
? d + ' is already finalized; you cannot create another stocktake for this date.'
: d + ' 은 재고조사가 확정되어 다시 재고조사를 생성할 수 없습니다.');
return false;
}
return true;
}
</script>
</section> </section>
{% endblock %} {% endblock %}