feat: 대체조제 표시 기능 추가

- PS_Type=9 (원본 처방) 숨김
- PS_Type=4 (대체조제) '대)' 배지 표시
- 원처방 펼쳐보기 (details/summary)
- 순서: 4(대체) → 9(원본) 패턴 매칭

관련: 3월5일 개선지시서.md
This commit is contained in:
thug0bin
2026-03-05 13:43:33 +09:00
parent a144a091b9
commit 4968735a80
2 changed files with 83 additions and 4 deletions

View File

@@ -942,6 +942,47 @@
tr.row-removed { background: #fef2f2 !important; opacity: 0.7; }
tr.row-changed { background: #fffbeb !important; }
/* 대체조제 표시 */
.subst-badge {
display: inline-block;
background: linear-gradient(135deg, #f59e0b, #d97706);
color: white;
padding: 1px 5px;
border-radius: 4px;
font-size: 0.65rem;
font-weight: 700;
margin-right: 4px;
vertical-align: middle;
}
.original-rx {
margin-top: 4px;
font-size: 0.75rem;
}
.original-rx summary {
cursor: pointer;
color: #6b7280;
user-select: none;
}
.original-rx summary:hover {
color: #4b5563;
}
.original-drug-info {
margin-top: 4px;
padding: 6px 10px;
background: #fef3c7;
border-radius: 4px;
border-left: 3px solid #f59e0b;
}
.orig-name {
display: block;
font-weight: 500;
color: #92400e;
}
.orig-code {
font-size: 0.7rem;
color: #b45309;
}
.change-arrow {
color: #94a3b8;
margin: 0 4px;
@@ -1362,12 +1403,23 @@
</thead>
<tbody>
${data.medications.map(m => `
<tr data-add-info="${escapeHtml(m.add_info || '')}">
<tr data-add-info="${escapeHtml(m.add_info || '')}" ${m.is_substituted ? 'class="substituted-row"' : ''}>
<td><input type="checkbox" class="med-check" data-code="${m.medication_code}" ${m.is_auto_print ? 'checked' : ''}></td>
<td>
<div class="med-name">${m.med_name || m.medication_code}</div>
<div class="med-name">
${m.is_substituted ? '<span class="subst-badge" title="대체조제">대)</span> ' : ''}${m.med_name || m.medication_code}
</div>
<div class="med-code">${m.medication_code}</div>
${m.add_info ? `<div style="font-size:0.75rem;color:#6b7280;">${escapeHtml(m.add_info)}</div>` : ''}
${m.is_substituted && m.original_drug ? `
<details class="original-rx">
<summary>원처방 보기</summary>
<div class="original-drug-info">
<span class="orig-name">${escapeHtml(m.original_drug.drug_name)}</span>
<span class="orig-code">${m.original_drug.drug_code}</span>
</div>
</details>
` : ''}
</td>
<td>${m.formulation ? `<span class="med-form">${m.formulation}</span>` : '-'}</td>
<td><span class="med-dosage">${m.dosage || '-'}</span></td>