File tree Expand file tree Collapse file tree 4 files changed +49
-8
lines changed
src/views/iot/product/product/detail/ThingModel Expand file tree Collapse file tree 4 files changed +49
-8
lines changed Original file line number Diff line number Diff line change 47
47
<el-form-item label =" 时间格式" prop =" date" v-if =" formData.dataType === DataSpecsDataType.DATE" >
48
48
<el-input disabled class =" w-255px!" placeholder =" String类型的UTC时间戳(毫秒)" />
49
49
</el-form-item >
50
+ <!-- 数组型配置-->
51
+ <ThingModelArrayTypeDataSpecs
52
+ v-model =" formData.dataSpecs"
53
+ v-if =" formData.dataType === DataSpecsDataType.ARRAY"
54
+ />
50
55
</template >
51
56
52
57
<script lang="ts" setup>
53
58
import { useVModel } from ' @vueuse/core'
54
59
import { DataSpecsDataType , dataTypeOptions } from ' ./config'
55
- import { ThingModelEnumTypeDataSpecs , ThingModelNumberTypeDataSpecs } from ' ./dataSpecs'
60
+ import {
61
+ ThingModelArrayTypeDataSpecs ,
62
+ ThingModelEnumTypeDataSpecs ,
63
+ ThingModelNumberTypeDataSpecs
64
+ } from ' ./dataSpecs'
56
65
57
66
/** 物模型数据 */
58
67
defineOptions ({ name: ' ThingModelDataSpecs' })
@@ -91,6 +100,9 @@ const handleChange = (dataType: any) => {
91
100
})
92
101
}
93
102
break
103
+ case DataSpecsDataType .ARRAY :
104
+ formData .value .dataSpecs .dataType = DataSpecsDataType .ARRAY
105
+ break
94
106
}
95
107
}
96
108
</script >
Original file line number Diff line number Diff line change @@ -10,12 +10,6 @@ export interface DataSpecsNumberDataVO {
10
10
unitName : string // 单位的名称
11
11
}
12
12
13
- /** dataSpecs 文本型数据结构 */
14
- export interface DataSpecsTextDataVO {
15
- dataType : 'TEXT'
16
- length : number
17
- }
18
-
19
13
/** dataSpecs 枚举型数据结构 */
20
14
export interface DataSpecsEnumOrBoolDataVO {
21
15
dataType : 'enum' | 'bool'
Original file line number Diff line number Diff line change
1
+ <template >
2
+ <el-form-item label =" 元素类型" prop =" childDataType" >
3
+ <el-radio-group v-model =" dataSpecs.childDataType" >
4
+ <template v-for =" item in dataTypeOptions " :key =" item .value " >
5
+ <el-radio
6
+ :value =" item.value"
7
+ v-if ="
8
+ !(
9
+ [DataSpecsDataType.ENUM, DataSpecsDataType.ARRAY, DataSpecsDataType.DATE] as any[]
10
+ ).includes(item.value)
11
+ "
12
+ >
13
+ {{ item.label }}
14
+ </el-radio >
15
+ </template >
16
+ </el-radio-group >
17
+ </el-form-item >
18
+ <el-form-item label =" 元素个数" prop =" size" >
19
+ <el-input v-model =" dataSpecs.size" placeholder =" 请输入数组中的元素个数" />
20
+ </el-form-item >
21
+ </template >
22
+
23
+ <script lang="ts" setup>
24
+ import { useVModel } from ' @vueuse/core'
25
+ import { DataSpecsDataType , dataTypeOptions } from ' ../config'
26
+
27
+ /** 数值型的 dataSpecs 配置组件 */
28
+ defineOptions ({ name: ' ThingModelArrayTypeDataSpecs' })
29
+ const props = defineProps <{ modelValue: any }>()
30
+ const emits = defineEmits ([' update:modelValue' ])
31
+ const dataSpecs = useVModel (props , ' modelValue' , emits ) as Ref <any >
32
+ </script >
33
+
34
+ <style lang="scss" scoped></style >
Original file line number Diff line number Diff line change 1
1
import ThingModelEnumTypeDataSpecs from './ThingModelEnumTypeDataSpecs.vue'
2
2
import ThingModelNumberTypeDataSpecs from './ThingModelNumberTypeDataSpecs.vue'
3
+ import ThingModelArrayTypeDataSpecs from './ThingModelArrayTypeDataSpecs.vue'
3
4
4
- export { ThingModelEnumTypeDataSpecs , ThingModelNumberTypeDataSpecs }
5
+ export { ThingModelEnumTypeDataSpecs , ThingModelNumberTypeDataSpecs , ThingModelArrayTypeDataSpecs }
You can’t perform that action at this time.
0 commit comments