enroll-status.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <view v-if="isReadonly">自行参考</view>
  3. <view v-else-if="rule.valid" class="fx-row gap-5 items-center text-success">
  4. <text v-if="isScoreTotal" :class="enrollRateColor">{{ rule.enrollRateText }}</text>
  5. <template v-else>
  6. <uv-icon name="checkmark" color="success"/>
  7. 已达成
  8. </template>
  9. </view>
  10. <view v-else-if="rule.valid===null" class="fx-row gap-5 items-center" @click="$emit('tip', rule.failedMessage)">
  11. <uv-icon name="question-circle"/>
  12. 无法计算
  13. </view>
  14. <view v-else class="fx-row gap-5 item-center text-error" @click="$emit('tip', rule.failedMessage)">
  15. <uv-icon name="close" size="14" color="error"/>
  16. 未达成
  17. </view>
  18. </template>
  19. <script>
  20. import MxConst from "@/common/MxConst";
  21. export default {
  22. name: "enroll-status",
  23. props: {
  24. rule: {
  25. type: Object,
  26. default: () => ({})
  27. }
  28. },
  29. computed: {
  30. isReadonly() {
  31. return this.rule.type == MxConst.enum.ai.ruleType.readonly
  32. },
  33. isScoreTotal() {
  34. return this.rule.type == MxConst.enum.ai.ruleType.scoreTotal
  35. },
  36. enrollRateColor() {
  37. switch (this.rule.enumPickType) {
  38. case MxConst.enum.ai.pickType.danger.value:
  39. return 'f-' + MxConst.enum.ai.pickType.danger.color
  40. case MxConst.enum.ai.pickType.normal.value:
  41. return 'f-' + MxConst.enum.ai.pickType.normal.color
  42. case MxConst.enum.ai.pickType.safety.value:
  43. return 'f-' + MxConst.enum.ai.pickType.safety.color
  44. default:
  45. return 'f-333'
  46. }
  47. }
  48. }
  49. }
  50. </script>
  51. <style scoped>
  52. </style>