DataDefinition.vue 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <template>
  2. <!-- 属性 -->
  3. <!-- 非列表型:数值 -->
  4. <div
  5. v-if="
  6. [DataSpecsDataType.INT, DataSpecsDataType.DOUBLE, DataSpecsDataType.FLOAT].includes(
  7. data.selectOptions.type
  8. )
  9. "
  10. >
  11. 取值范围:{{ `${data.selectOptions.dataSpecs.min}~${data.selectOptions.dataSpecs.max}` }}
  12. </div>
  13. <!-- 非列表型:文本 -->
  14. <div v-if="DataSpecsDataType.TEXT === data.selectOptions.type">
  15. 数据长度:{{ data.selectOptions.dataSpecs.length }}
  16. </div>
  17. <!-- 列表型: 数组、结构、时间(特殊) -->
  18. <div
  19. v-if="
  20. [DataSpecsDataType.ARRAY, DataSpecsDataType.STRUCT, DataSpecsDataType.DATE].includes(
  21. data.selectOptions.type
  22. )
  23. "
  24. >
  25. -
  26. </div>
  27. <!-- 列表型: 布尔值、枚举 -->
  28. <div v-if="[DataSpecsDataType.BOOL, DataSpecsDataType.ENUM].includes(data.selectOptions.type)">
  29. <div> {{ DataSpecsDataType.BOOL === data.selectOptions.dataType ? '布尔值' : '枚举值' }}:</div>
  30. <div v-for="item in data.selectOptions.dataSpecsList" :key="item.value">
  31. {{ `${item.name}-${item.value}` }}
  32. </div>
  33. </div>
  34. </template>
  35. <script lang="ts" setup>
  36. import {
  37. DataSpecsDataType,
  38. } from '@/views/pms/devicetemplate/detail/attrsModel/config'
  39. import { DeviceAttrModelData } from '@/api/pms/modelattrtemplate'
  40. /** 数据定义展示组件 */
  41. defineOptions({ name: 'DataDefinition' })
  42. defineProps<{ data: DeviceAttrModelData }>()
  43. </script>
  44. <style lang="scss" scoped></style>