sign.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <template>
  2. <div class="model-header" :class="{disabled: model.error}" @click="$emit('click')">
  3. <p>{{ model.title }}</p>
  4. <div class="model-action" @click.stop>
  5. <ui-input type="checkbox" v-model="show" />
  6. <ui-icon
  7. type="del"
  8. ctrl
  9. @click="$emit('delete')"
  10. v-if="model.type !== ModelType.SWSS && custom.modelsChangeStore"
  11. />
  12. </div>
  13. </div>
  14. <div class="model-desc" @click="$emit('click')">
  15. <p><span>数据来源:</span>{{ ModelTypeDesc[model.type] }}</p>
  16. <p><span>数据大小:</span>{{ model.size }}</p>
  17. <p><span>拍摄时间:</span>{{ model.time }}</p>
  18. </div>
  19. </template>
  20. <script lang="ts" setup>
  21. import { getModelShowVariable, ModelTypeDesc, ModelType } from '@/store'
  22. import { custom } from '@/env'
  23. import type { Model } from '@/store'
  24. type ModelProps = { model: Model }
  25. const props = defineProps<ModelProps>()
  26. type ModelEmits = {
  27. (e: 'changeSelect', selected: boolean): void
  28. (e: 'delete'): void
  29. (e: 'click'): void
  30. }
  31. defineEmits<ModelEmits>();
  32. const show = getModelShowVariable(props.model)
  33. </script>
  34. <style lang="scss" scoped src="./style.scss"></style>