FormBuilderBarCode.vue 1010 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <div class="FormBuilderBarCode">
  3. <div class="label">{{ label }}</div>
  4. <svg :id="barcodeId" />
  5. </div>
  6. </template>
  7. <script>
  8. import { uid } from 'quasar'
  9. import JsBarcode from 'jsbarcode'
  10. export default {
  11. name: 'FormBuilderBarCode',
  12. props: {
  13. label: {
  14. default: '',
  15. type: String
  16. },
  17. value: {
  18. default: '',
  19. type: [String, Number]
  20. }
  21. },
  22. data () {
  23. return {
  24. barcodeId: null
  25. }
  26. },
  27. mounted() {
  28. this.loadBarcode()
  29. },
  30. methods: {
  31. loadBarcode () {
  32. this.barcodeId = 'FormBuilderBarCode-' + uid()
  33. setTimeout(() => {
  34. JsBarcode('#' + this.barcodeId, this.value, {
  35. // format: 'pharmacode',
  36. lineColor: '#323232',
  37. width: 2,
  38. height: 50,
  39. displayValue: false
  40. })
  41. }, 1000)
  42. }
  43. }
  44. }
  45. </script>
  46. <style scoped lang="scss">
  47. .FormBuilderBarCode {
  48. display: flex;
  49. flex-flow: column;
  50. justify-content: center;
  51. align-items: center;
  52. gap: 0;
  53. }
  54. </style>