| | |
| | | } |
| | | } |
| | | |
| | | function sortVisitReasons(reasons: MiniVisitReasonItem[]) { |
| | | return [...reasons].sort((left, right) => { |
| | | const leftIsOther = left.reasonCode === 'OTHER' || left.reasonName === '其他' |
| | | const rightIsOther = right.reasonCode === 'OTHER' || right.reasonName === '其他' |
| | | if (leftIsOther !== rightIsOther) { |
| | | return leftIsOther ? 1 : -1 |
| | | } |
| | | |
| | | const leftOrder = left.sortOrder ?? Number.MAX_SAFE_INTEGER |
| | | const rightOrder = right.sortOrder ?? Number.MAX_SAFE_INTEGER |
| | | if (leftOrder !== rightOrder) { |
| | | return leftOrder - rightOrder |
| | | } |
| | | return left.id - right.id |
| | | }) |
| | | } |
| | | |
| | | async function loadVisitReasons() { |
| | | try { |
| | | visitReasons.value = await fetchVisitReasons() |
| | | visitReasons.value = sortVisitReasons(await fetchVisitReasons()) |
| | | if (selectedVisitReason.value) { |
| | | const nextReason = visitReasons.value.find(item => item.reasonCode === selectedVisitReason.value?.reasonCode) || null |
| | | selectedVisitReason.value = nextReason |