Files
admin-web/src/shared/components/StatusBadge.vue
T
2026-09-14 20:21:02 +08:00

18 lines
884 B
Vue

<script setup lang="ts">
import { computed } from 'vue'
const props = defineProps<{ status: string }>()
const tone = computed(() => {
if (['正常', '启用', '已完成', '已审核', '审核通过', '已入库', '装柜完成', '派送完成', '已确认', '已放舱'].includes(props.status)) return 'success'
if (['待审核', '草稿', '待处理', '待分配', '未提交', '未录入', '待测量数据', '待分柜', '变更中'].includes(props.status)) return 'warning'
if (['已受理', '已订舱', '已提交', '运输中', '处理中', '装柜中'].includes(props.status)) return 'info'
if (['停用', '已取消', '已驳回', '审核驳回', '失败', '订舱失败'].includes(props.status)) return 'danger'
return 'neutral'
})
</script>
<template>
<span class="status-badge" :class="`is-${tone}`"><i aria-hidden="true" />{{ status }}</span>
</template>