fix: 전화접수 관리 접수번호를 접수일별 1번부터 표시

- 리스트 번호·지정판매소 접수번호를 실제 so_idx 대신 접수일별 순번(가장 오래된 건=1)으로 표시
- 정렬과 무관하게 각 건의 표시번호 고정

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
taekyoungc
2026-07-06 18:39:46 +09:00
parent 9ee5d74f04
commit b9cc810f97

View File

@@ -179,6 +179,19 @@
(() => {
const orders = <?= json_encode($orders ?? [], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) ?>;
const orderMap = new Map(orders.map((o) => [String(o.so_idx), o]));
// 표시용 접수번호: 접수일(so_order_date)별로 매일 1번부터 순차 부여(그 날의 가장 오래된 건 = 1).
// 정렬과 무관하게 고정.
const dateKey = (o) => String(o && o.so_order_date ? o.so_order_date : '').slice(0, 10);
const displayNoMap = new Map();
(() => {
const perDate = {};
orders.slice().sort((a, b) => Number(a.so_idx || 0) - Number(b.so_idx || 0)).forEach((o) => {
const k = dateKey(o);
perDate[k] = (perDate[k] || 0) + 1;
displayNoMap.set(String(o.so_idx), perDate[k]);
});
})();
const displayNo = (o) => displayNoMap.get(String(o && o.so_idx)) || '';
// 봉투코드 스캔(판매/포장) — CSRF 토큰(쿠키 방식, 매 요청 갱신)
// base_url() 절대경로를 현재 문서(동일 출처) 기준 경로로 변환 → 워크스페이스 iframe/다른 호스트 접근에도 안전
@@ -212,7 +225,7 @@
function setHeader(order) {
var t = function (id, v) { document.getElementById(id).textContent = (v === undefined || v === null || v === '') ? '-' : v; };
t('detail-so-no', order ? order.so_idx : '');
t('detail-so-no', order ? displayNo(order) : '');
t('detail-shop-code', order ? order.ds_shop_no : '');
t('detail-shop-name', order ? order.so_ds_name : '');
t('detail-shop-rep', order ? order.ds_rep_name : '');
@@ -604,7 +617,7 @@
const channel = (o.so_channel && o.so_channel !== 'phone') ? o.so_channel : '전화';
const packed = Number(o.so_received) === 1;
return `<tr class="order-list-row cursor-pointer hover:bg-blue-50 ${cancelled ? 'bg-gray-50 text-gray-400' : ''} ${String(o.so_idx) === String(selectedId) ? 'bg-blue-100' : ''}" data-order-id="${o.so_idx}">
<td class="text-center">${o.so_idx}</td>
<td class="text-center">${displayNo(o)}</td>
<td class="text-center">${esc(o.so_order_date)}</td>
<td class="text-center">${esc(dDate)}</td>
<td class="text-center">${esc(channel)}</td>