FireStatus.vue 903 B

1234567891011121314151617181920212223242526272829303132333435
  1. <!-- eslint-disable vue/multi-word-component-names -->
  2. <template>
  3. <CommonTitle class="mb-10px" label="矿井火灾风险性等级" :value="risk" />
  4. <ListItem
  5. v-for="(item, i) in FIRE_STATUS_LIST"
  6. :key="item.icon"
  7. :icon="item.icon"
  8. :label="item.label"
  9. :value="data[item.prop]"
  10. :type="i % 2 ? 'green' : 'blue'"
  11. class="mt-5px"
  12. />
  13. </template>
  14. <script lang="ts" setup>
  15. import { onMounted, ref, shallowRef } from 'vue';
  16. import CommonTitle from './CommonTitle.vue';
  17. import ListItem from './ListItem.vue';
  18. import { FIRE_STATUS_LIST } from '../billboard.data';
  19. import { getSummary } from '../billboard.api';
  20. const risk = ref('低风险');
  21. const data = shallowRef<any>({});
  22. function fetchData() {
  23. getSummary().then((r) => {
  24. data.value = r.fireInfo;
  25. });
  26. }
  27. onMounted(() => {
  28. fetchData();
  29. });
  30. </script>
  31. <style lang="less" scoped></style>