1
|
1
|
<template>
|
2
|
2
|
<div
|
3
|
|
- v-for="(param, index) in dynamicInput.params"
|
4
|
|
- :key="index"
|
|
3
|
+ v-for="param in dynamicInput.params"
|
|
4
|
+ :key="param.key"
|
5
|
5
|
style="display: flex; margin-top: 0.25vh"
|
6
|
6
|
>
|
7
|
7
|
<a-input
|
...
|
...
|
@@ -16,6 +16,7 @@ |
16
|
16
|
style="width: 160px; margin-left: 1.8vw"
|
17
|
17
|
:options="selectOptions"
|
18
|
18
|
@change="emitChange"
|
|
19
|
+ allowClear
|
19
|
20
|
/>
|
20
|
21
|
</div>
|
21
|
22
|
</template>
|
...
|
...
|
@@ -40,7 +41,7 @@ |
40
|
41
|
value: propTypes.array.def([]),
|
41
|
42
|
orgId: propTypes.string.def(''),
|
42
|
43
|
});
|
43
|
|
- const emits = defineEmits(['change', 'update:value', 'dynamicReduceHeight', 'dynamicAddHeight']);
|
|
44
|
+ const emits = defineEmits(['change', 'update:value']);
|
44
|
45
|
const selectOptions = ref<SelectTypes['options']>([]);
|
45
|
46
|
//获取属性
|
46
|
47
|
const getAttr = async (orgId, deviceId) => {
|
...
|
...
|
@@ -67,7 +68,6 @@ |
67
|
68
|
let jsonObj = props.value;
|
68
|
69
|
const deviceId = jsonObj.map((m: any) => m.value);
|
69
|
70
|
await getAttr(props.orgId, deviceId);
|
70
|
|
- console.log(jsonObj);
|
71
|
71
|
jsonObj.forEach((item: any) => {
|
72
|
72
|
dynamicInput.params.push({
|
73
|
73
|
attribute: '',
|
...
|
...
|
@@ -97,12 +97,12 @@ |
97
|
97
|
//回显
|
98
|
98
|
const echoDynamicInputFunc = (o) => {
|
99
|
99
|
dynamicInput.params = [];
|
100
|
|
- dynamicInput.params = o.map((m) => {
|
101
|
|
- return {
|
|
100
|
+ o.forEach((m: any) => {
|
|
101
|
+ dynamicInput.params.push({
|
102
|
102
|
device: m.name,
|
103
|
103
|
attribute: m.attribute,
|
104
|
104
|
value: m.device,
|
105
|
|
- };
|
|
105
|
+ });
|
106
|
106
|
});
|
107
|
107
|
};
|
108
|
108
|
defineExpose({
|
...
|
...
|
@@ -110,21 +110,5 @@ |
110
|
110
|
});
|
111
|
111
|
</script>
|
112
|
112
|
<style scoped lang="css">
|
113
|
|
- .dynamic-delete-button {
|
114
|
|
- cursor: pointer;
|
115
|
|
- position: relative;
|
116
|
|
- top: 4px;
|
117
|
|
- font-size: 24px;
|
118
|
|
- color: #999;
|
119
|
|
- transition: all 0.3s;
|
120
|
|
- }
|
121
|
|
-
|
122
|
|
- .dynamic-delete-button:hover {
|
123
|
|
- color: #777;
|
124
|
|
- }
|
125
|
|
-
|
126
|
|
- .dynamic-delete-button[disabled] {
|
127
|
|
- cursor: not-allowed;
|
128
|
|
- opacity: 0.5;
|
129
|
|
- }
|
|
113
|
+ @import './deviceAttrCpns.css';
|
130
|
114
|
</style> |
...
|
...
|
|