739bb80b04
- 편집기 바 왼쪽 문구를 단축키 안내만 남긴다. 글자 수·PC/모바일 공통은 화면에서 쓸 일이 없어 뺐다. 옅은 파랑(#79a6dd)으로 본문과 구분한다. - 가격을 '6900.00' 대신 '6,900원' 으로 보여준다. 원 단위 쇼핑몰이라 소수점 아래는 언제나 .00 이므로 버린다. 숫자로 못 읽으면 받은 값을 그대로 둔다. - 선택된 행에 마우스를 올려도 배경이 변하지 않게 한다. erp-shell.css 의 `.erp-table tbody tr:hover` 가 특이도가 더 높아 검은 배경을 덮어쓰고 있었다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
82 lines
3.3 KiB
HTML
82 lines
3.3 KiB
HTML
{% extends "erp_base.html" %}
|
|
|
|
{% block head_extra %}
|
|
<link rel="stylesheet" href="/static/cafe24.css?v=20260819c" />
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
{% include "cafe24/_nav.html" %}
|
|
|
|
{% if flash %}<div class="cf24-flash cf24-flash-ok">{{ flash }}</div>{% endif %}
|
|
{% if flash_error %}<div class="cf24-flash cf24-flash-err">{{ flash_error }}</div>{% endif %}
|
|
|
|
<div class="erp-card cf24-card">
|
|
<div class="cf24-card-head">
|
|
<h3>예약 목록</h3>
|
|
<span class="cf24-muted">대기 {{ pending }}건 · 최근 200건</span>
|
|
</div>
|
|
|
|
<p class="cf24-note">
|
|
예약은 <strong>상품관리 화면의 편집기 아래 「예약 적용」</strong> 에서 등록합니다.
|
|
지정한 시각에 <code>dbx-cafe24-worker</code> 가 적용하므로 브라우저를 닫아도 실행됩니다.
|
|
적용 직전 내용은 상품별 <code>BACKUP</code> 버전으로 보관됩니다.
|
|
<strong>대기</strong> 상태인 예약만 취소할 수 있습니다.
|
|
</p>
|
|
|
|
{% if rows %}
|
|
<div class="cf24-scroll">
|
|
<table class="erp-table cf24-compact">
|
|
<thead>
|
|
<tr>
|
|
<th style="width:56px;">번호</th>
|
|
<th style="width:130px;">예정 시각</th>
|
|
<th style="width:66px;">상품</th>
|
|
<th>상품명</th>
|
|
<th style="width:150px;">적용 내용</th>
|
|
<th style="width:96px;">상태</th>
|
|
<th>메모 / 오류</th>
|
|
<th style="width:130px;">등록자</th>
|
|
<th style="width:60px;"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for r in rows %}
|
|
<tr>
|
|
<td class="cf24-nowrap">#{{ r.id }}</td>
|
|
<td class="cf24-nowrap">{{ (r.scheduled_at or '')[:16] | replace("T", " ") }}</td>
|
|
<td class="cf24-nowrap">
|
|
<a href="/cafe24/?selected={{ r.product_no }}">{{ r.product_no }}</a>
|
|
</td>
|
|
<td>{{ r.product_name or '—' }}</td>
|
|
<td class="cf24-nowrap">{{ r.action_label }}</td>
|
|
<td class="cf24-nowrap">
|
|
{% if r.status == 'SUCCESS' %}<span class="erp-badge cf24-badge-ok">{{ r.status_label }}</span>
|
|
{% elif r.status == 'FAILED' %}<span class="cf24-err">{{ r.status_label }}</span>
|
|
{% elif r.status == 'PENDING' %}<span class="cf24-warn">{{ r.status_label }}</span>
|
|
{% else %}<span class="cf24-muted">{{ r.status_label }}</span>{% endif %}
|
|
{% if r.retry_count %}<span class="cf24-muted">({{ r.retry_count }}회)</span>{% endif %}
|
|
</td>
|
|
<td>
|
|
{{ r.memo or '' }}
|
|
{% if r.last_error %}<div class="cf24-err">{{ r.last_error }}</div>{% endif %}
|
|
</td>
|
|
<td class="cf24-nowrap">{{ r.created_by or '—' }}</td>
|
|
<td class="cf24-nowrap">
|
|
{% if r.editable %}
|
|
<form method="post" action="/cafe24/schedules/{{ r.id }}/cancel" style="display:inline;"
|
|
data-erp-confirm="예약 #{{ r.id }} 을 취소할까요?">
|
|
<button type="submit" class="erp-btn erp-btn-outline">취소</button>
|
|
</form>
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{% else %}
|
|
<p class="cf24-muted">등록된 예약이 없습니다. 상품관리 화면에서 상품을 고른 뒤 편집기 아래에서 예약할 수 있습니다.</p>
|
|
{% endif %}
|
|
</div>
|
|
{% endblock %}
|