longz
2026-06-29 9d4cbff7464ebfd7803c2ce53ded49d0f73fe011
yuyueMiniProgram/src/pages/appointment/index.vue
@@ -913,9 +913,26 @@
  }
}
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