LabelPreview.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <div class="label-preview" :style="getAreaStyle()">
  3. <SerialNumberPosition v-if="isEnable(data.property.sn_display_mode)" :property="data.property" />
  4. <div class="main">
  5. <el-tag v-for="(tag, i) in data.dynamicTags" :key="i" size="medium" :style="{ color: tag.color }">
  6. <span v-if="'ZH' == getLang()">
  7. {{ convertText(tag.name) }}
  8. </span>
  9. <span v-else style="display: flex; flex-direction: column; line-height: 20px">
  10. <span>{{ convertText(tag.name) }}</span>
  11. <span style="color: black">
  12. {{ convertText(tag?.mult_language_list?.find((item) => item.type === getLang())?.name || '') }}</span
  13. >
  14. </span>
  15. </el-tag>
  16. </div>
  17. </div>
  18. </template>
  19. <script>
  20. import { getLabelData } from '@/views/book/courseware/data/label';
  21. import PreviewMixin from '../common/PreviewMixin';
  22. export default {
  23. name: 'LabelPreview',
  24. mixins: [PreviewMixin],
  25. data() {
  26. return {
  27. data: getLabelData(),
  28. };
  29. },
  30. methods: {},
  31. };
  32. </script>
  33. <style lang="scss" scoped>
  34. @use '@/styles/mixin.scss' as *;
  35. .label-preview {
  36. @include preview-base;
  37. .main {
  38. display: flex;
  39. flex-wrap: wrap;
  40. gap: 8px;
  41. :deep .el-tag {
  42. display: flex;
  43. align-items: center;
  44. height: auto;
  45. padding: 0 10px;
  46. color: var(--color1);
  47. background-color: #fff;
  48. border-color: var(--color1);
  49. border-radius: 4px;
  50. }
  51. }
  52. }
  53. </style>