1
1
<template >
2
2
<el-form-item label =" 数据类型" prop =" dataType" >
3
- <ThingModelDataType v-model =" formData.dataType" @change =" handleChange" />
3
+ <el-select v-model =" formData.dataType" placeholder =" 请选择数据类型" @change =" handleChange" >
4
+ <el-option
5
+ v-for =" option in dataTypeOptions"
6
+ :key =" option.value"
7
+ :label =" option.label"
8
+ :value =" option.value"
9
+ />
10
+ </el-select >
4
11
</el-form-item >
5
12
<!-- 数值型配置 -->
6
13
<ThingModelNumberTypeDataSpecs
36
43
<template #append >字节</template >
37
44
</el-input >
38
45
</el-form-item >
46
+ <!-- 时间型配置 -->
47
+ <el-form-item label =" 时间格式" prop =" date" v-if =" formData.dataType === DataSpecsDataType.DATE" >
48
+ <el-input disabled class =" w-255px!" placeholder =" String类型的UTC时间戳(毫秒)" />
49
+ </el-form-item >
39
50
</template >
40
51
41
52
<script lang="ts" setup>
42
53
import { useVModel } from ' @vueuse/core'
43
- import { DataSpecsDataType } from ' ./config'
44
- import {
45
- ThingModelDataType ,
46
- ThingModelEnumTypeDataSpecs ,
47
- ThingModelNumberTypeDataSpecs
48
- } from ' ./dataSpecs'
54
+ import { DataSpecsDataType , dataTypeOptions } from ' ./config'
55
+ import { ThingModelEnumTypeDataSpecs , ThingModelNumberTypeDataSpecs } from ' ./dataSpecs'
49
56
50
57
/** 物模型数据 */
51
58
defineOptions ({ name: ' ThingModelDataSpecs' })
@@ -59,6 +66,15 @@ const handleChange = (dataType: any) => {
59
66
formData .value .dataSpecs = {}
60
67
61
68
switch (dataType ) {
69
+ case DataSpecsDataType .INT :
70
+ formData .value .dataSpecs .dataType = DataSpecsDataType .INT
71
+ break
72
+ case DataSpecsDataType .DOUBLE :
73
+ formData .value .dataSpecs .dataType = DataSpecsDataType .DOUBLE
74
+ break
75
+ case DataSpecsDataType .FLOAT :
76
+ formData .value .dataSpecs .dataType = DataSpecsDataType .FLOAT
77
+ break
62
78
case DataSpecsDataType .ENUM :
63
79
formData .value .dataSpecsList .push ({
64
80
dataType: DataSpecsDataType .ENUM ,
@@ -74,75 +90,9 @@ const handleChange = (dataType: any) => {
74
90
value: i // 布尔值
75
91
})
76
92
}
93
+ break
77
94
}
78
95
}
79
- // dataType为INT的dataSpecs示例:
80
- //
81
- // {
82
- // "dataSpecs": {
83
- // "custom": true,
84
- // "dataType": "INT",
85
- // "defaultValue": "30",
86
- // "max": "1440",
87
- // "min": "0",
88
- // "step": "10",
89
- // "unit": "min"
90
- // }
91
- // }
92
- // dataType为TEXT的dataSpecs示例:
93
- //
94
- // {
95
- // "dataSpecs": {
96
- // "custom": true,
97
- // "dataType": "TEXT",
98
- // "id": 2412127,
99
- // "length": 2048
100
- // }
101
- // }
102
- // dataType为ARRAY的dataSpecs示例:
103
- //
104
- // {
105
- // "dataSpecs": {
106
- // "childDataType": "INT",
107
- // "custom": true,
108
- // "dataType": "ARRAY",
109
- // "size": 1
110
- // }
111
- // }
112
- // dataType为ENUM的dataSpecsList示例:
113
- //
114
- // {
115
- // "dataSpecsList": [
116
- // {
117
- // "custom": false,
118
- // "dataType": "ENUM",
119
- // "defaultValue": "true",
120
- // "name": "打开",
121
- // "value": 1
122
- // },
123
- // {
124
- // "custom": false,
125
- // "dataType": "ENUM",
126
- // "defaultValue": "false",
127
- // "name": "关闭",
128
- // "value": 0
129
- // }
130
- // ]
131
- // }
132
- // dataType为STRUCT的dataSpecsList示例:
133
- //
134
- // {
135
- // "childDataType": "TEXT",
136
- // "childName": "卡编号",
137
- // "dataSpecs": {
138
- // "custom": true,
139
- // "dataType": "TEXT",
140
- // "length": 128
141
- // },
142
- // "dataType": "STRUCT",
143
- // "identifier": "CardNo",
144
- // "name": "NVR所拥有的芯片信息"
145
- // }
146
96
</script >
147
97
148
98
<style lang="scss" scoped></style >
0 commit comments