ny
昨天 282fbc6488f4e8ceb5fda759f963ee88fbf7b999
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<script lang="ts" setup>
import { useMessage } from '@jnpf/hooks';
 
defineOptions({ inheritAttrs: false });
defineProps(['activeData', 'drawingOptions']);
const { createMessage } = useMessage();
const dataTypeOptions = [
  { id: 'static', fullName: '固定值' },
  { id: 'relation', fullName: '组件联动' },
];
const barcodeFormatOptions = [
  { id: 'code128', fullName: 'code128' },
  { id: 'ean13', fullName: 'ean13' },
  { id: 'ean8', fullName: 'ean8' },
  { id: 'ean5', fullName: 'ean5' },
  { id: 'ean2', fullName: 'ean2' },
  { id: 'code39', fullName: 'code39' },
  { id: 'itf14', fullName: 'itf14' },
  { id: 'msi10', fullName: 'msi10' },
  { id: 'msi11', fullName: 'msi11' },
  { id: 'pharmacode', fullName: 'pharmacode' },
  { id: 'upc', fullName: 'upc' },
  { id: 'codabar', fullName: 'codabar' },
];
 
function onTextChange(val) {
  if (!val) return;
  const reg = /^[A-Z0-9]+$/i;
  if (!reg.test(val)) {
    createMessage.error('固定值请输入数字或者英文字母');
  }
}
</script>
<template>
  <a-form-item label="编码格式">
    <jnpf-select v-model:value="activeData.format" :options="barcodeFormatOptions" />
  </a-form-item>
  <a-form-item label="条码颜色">
    <jnpf-color-picker v-model:value="activeData.lineColor" size="small" />
  </a-form-item>
  <a-form-item label="宽度">
    <a-input-number v-model:value="activeData.width" placeholder="请输入" :min="0" :max="100" :precision="0" />
  </a-form-item>
  <a-form-item label="高度">
    <a-input-number v-model:value="activeData.height" placeholder="请输入" :min="0" :precision="0" />
  </a-form-item>
  <a-form-item label="默认值">
    <jnpf-select v-model:value="activeData.dataType" :options="dataTypeOptions" />
  </a-form-item>
  <a-form-item label="固定值" v-if="activeData.dataType === 'static'">
    <jnpf-input v-model:value="activeData.staticText" placeholder="请输入" allow-clear @change="onTextChange" />
  </a-form-item>
  <a-form-item label="选择组件" v-if="activeData.dataType === 'relation'">
    <jnpf-select v-model:value="activeData.relationField" :options="drawingOptions" allow-clear show-search />
  </a-form-item>
</template>