Commit 81be0d18912900e60acd4cd278bc390263bfec91
1 parent
688fb037
feat:mock模拟阿里云后端数据,物模型,新增编辑回显数据大致完成
Showing
8 changed files
with
671 additions
and
299 deletions
@@ -20,13 +20,13 @@ | @@ -20,13 +20,13 @@ | ||
20 | </Typography> | 20 | </Typography> |
21 | </div> | 21 | </div> |
22 | <Tabs type="card" v-model:activeKey="activeKey" :size="size"> | 22 | <Tabs type="card" v-model:activeKey="activeKey" :size="size"> |
23 | - <TabPane key="1" tab="属性"> | 23 | + <TabPane forceRender key="1" tab="属性"> |
24 | <Attribute v-show="activeKey === '1'" ref="AttrRef" /> | 24 | <Attribute v-show="activeKey === '1'" ref="AttrRef" /> |
25 | </TabPane> | 25 | </TabPane> |
26 | - <TabPane key="2" tab="服务"> | 26 | + <TabPane forceRender key="2" tab="服务"> |
27 | <Service v-show="activeKey === '2'" ref="ServiceRef" /> | 27 | <Service v-show="activeKey === '2'" ref="ServiceRef" /> |
28 | </TabPane> | 28 | </TabPane> |
29 | - <TabPane key="3" v-show="activeKey === '3'" tab="事件"> | 29 | + <TabPane forceRender key="3" v-show="activeKey === '3'" tab="事件"> |
30 | <Events v-show="activeKey === '3'" ref="EventsRef" /> | 30 | <Events v-show="activeKey === '3'" ref="EventsRef" /> |
31 | </TabPane> | 31 | </TabPane> |
32 | </Tabs> | 32 | </Tabs> |
@@ -79,9 +79,11 @@ | @@ -79,9 +79,11 @@ | ||
79 | setModalProps({ title, showOkBtn: true, showCancelBtn: true }); | 79 | setModalProps({ title, showOkBtn: true, showCancelBtn: true }); |
80 | } else { | 80 | } else { |
81 | setModalProps({ showOkBtn: false, showCancelBtn: false, title: '查看物模型' }); | 81 | setModalProps({ showOkBtn: false, showCancelBtn: false, title: '查看物模型' }); |
82 | - AttrRef.value?.setFormData(mockData.properties); | ||
83 | - ServiceRef.value?.setFormData(mockData.services); | ||
84 | - EventsRef.value?.setFormData(mockData.events); | 82 | + nextTick(() => { |
83 | + AttrRef.value?.setFormData(mockData.properties); | ||
84 | + ServiceRef.value?.setFormData(mockData.services); | ||
85 | + EventsRef.value?.setFormData(mockData.events); | ||
86 | + }); | ||
85 | } | 87 | } |
86 | setModalProps({ loading: false }); | 88 | setModalProps({ loading: false }); |
87 | }); | 89 | }); |
@@ -50,11 +50,9 @@ | @@ -50,11 +50,9 @@ | ||
50 | import InputParamItem from './components/InputParamItem.vue'; | 50 | import InputParamItem from './components/InputParamItem.vue'; |
51 | import AddParamsModal from './components/AddParamsModal.vue'; | 51 | import AddParamsModal from './components/AddParamsModal.vue'; |
52 | import { Input } from 'ant-design-vue'; | 52 | import { Input } from 'ant-design-vue'; |
53 | - // import { useMessage } from '/@/hooks/web/useMessage'; | ||
54 | - import { validateValueRangeAndStep } from '../hook/useValidateParital'; | 53 | + import { validateValueRangeAndStep, validateValueBool } from '../hook/useValidateParital'; |
55 | import { buildUUID } from '/@/utils/uuid'; | 54 | import { buildUUID } from '/@/utils/uuid'; |
56 | 55 | ||
57 | - // const { createMessage } = useMessage(); | ||
58 | const outputParamData: any = ref([]); | 56 | const outputParamData: any = ref([]); |
59 | const minMaxObj = reactive({ | 57 | const minMaxObj = reactive({ |
60 | min: '', | 58 | min: '', |
@@ -94,7 +92,7 @@ | @@ -94,7 +92,7 @@ | ||
94 | openModal(true, { | 92 | openModal(true, { |
95 | isUpdate: true, | 93 | isUpdate: true, |
96 | flag: 'output', | 94 | flag: 'output', |
97 | - excludeStruct: false, | 95 | + excludeStruct: true, |
98 | }); | 96 | }); |
99 | }; | 97 | }; |
100 | 98 | ||
@@ -106,13 +104,24 @@ | @@ -106,13 +104,24 @@ | ||
106 | isUpdate: false, | 104 | isUpdate: false, |
107 | record: item, | 105 | record: item, |
108 | flag: 'output', | 106 | flag: 'output', |
109 | - excludeStruct: false, | 107 | + excludeStruct: true, |
110 | }); | 108 | }); |
111 | }; | 109 | }; |
112 | 110 | ||
113 | //回显数据 | 111 | //回显数据 |
114 | const setFormData = (v) => { | 112 | const setFormData = (v) => { |
115 | setFieldsValue(v[0]); | 113 | setFieldsValue(v[0]); |
114 | + setFieldsValue({ | ||
115 | + ...v[0].dataSpecs, | ||
116 | + boolClose: | ||
117 | + v[0].dataSpecsList !== undefined || v[0].dataSpecsList !== null | ||
118 | + ? v[0].dataSpecsList[0].name | ||
119 | + : '', | ||
120 | + boolOpen: | ||
121 | + v[0].dataSpecsList !== undefined || v[0].dataSpecsList !== null | ||
122 | + ? v[0].dataSpecsList[1].name | ||
123 | + : '', | ||
124 | + }); | ||
116 | const { dataSpecsList } = v[0]; | 125 | const { dataSpecsList } = v[0]; |
117 | if (dataSpecsList !== undefined) { | 126 | if (dataSpecsList !== undefined) { |
118 | outputParamData.value = [...new Array(dataSpecsList.length).keys()]; | 127 | outputParamData.value = [...new Array(dataSpecsList.length).keys()]; |
@@ -130,13 +139,26 @@ | @@ -130,13 +139,26 @@ | ||
130 | if (!values) return; | 139 | if (!values) return; |
131 | const dataSpecsList = getStructList(); | 140 | const dataSpecsList = getStructList(); |
132 | validateValueRangeAndStep(Number(minMaxObj.min), Number(values.step), Number(minMaxObj.max)); | 141 | validateValueRangeAndStep(Number(minMaxObj.min), Number(values.step), Number(minMaxObj.max)); |
133 | - const isStruct = values.dataType === 'STRUCT'; | 142 | + validateValueBool(Number(values.boolClose), Number(values.boolOpen)); |
134 | const dataSpecs = { | 143 | const dataSpecs = { |
135 | ...minMaxObj, | 144 | ...minMaxObj, |
136 | ...{ step: values.step }, | 145 | ...{ step: values.step }, |
137 | ...{ unit: values.unit }, | 146 | ...{ unit: values.unit }, |
138 | ...{ dataType: values.dataType }, | 147 | ...{ dataType: values.dataType }, |
148 | + ...{ length: values.length }, | ||
139 | }; | 149 | }; |
150 | + const dataSpecsListBool = [ | ||
151 | + { | ||
152 | + dataType: values.dataType, | ||
153 | + name: '0', | ||
154 | + value: values.boolClose, | ||
155 | + }, | ||
156 | + { | ||
157 | + dataType: values.dataType, | ||
158 | + name: '1', | ||
159 | + value: values.boolOpen, | ||
160 | + }, | ||
161 | + ]; | ||
140 | const { valueRange, step, unit, outputParam, ...value } = values; | 162 | const { valueRange, step, unit, outputParam, ...value } = values; |
141 | console.log(valueRange); | 163 | console.log(valueRange); |
142 | console.log(step); | 164 | console.log(step); |
@@ -144,8 +166,20 @@ | @@ -144,8 +166,20 @@ | ||
144 | console.log(outputParam); | 166 | console.log(outputParam); |
145 | return { | 167 | return { |
146 | ...value, | 168 | ...value, |
147 | - ...{ dataSpecs: isStruct ? null : dataSpecs }, | ||
148 | - ...{ dataSpecsList: isStruct ? dataSpecsList : null }, | 169 | + ...{ |
170 | + dataSpecs: | ||
171 | + values.dataType === 'INT' || values.dataType === 'DOUBLE' || values.dataType === 'TEXT' | ||
172 | + ? dataSpecs | ||
173 | + : null, | ||
174 | + }, | ||
175 | + ...{ | ||
176 | + dataSpecsList: | ||
177 | + values.dataType === 'STRUCT' | ||
178 | + ? dataSpecsList | ||
179 | + : values.dataType === 'BOOL' | ||
180 | + ? dataSpecsListBool | ||
181 | + : null, | ||
182 | + }, | ||
149 | }; | 183 | }; |
150 | } | 184 | } |
151 | //清空数据 | 185 | //清空数据 |
@@ -114,6 +114,7 @@ | @@ -114,6 +114,7 @@ | ||
114 | isUpdate: false, | 114 | isUpdate: false, |
115 | record: item, | 115 | record: item, |
116 | flag: 'input', | 116 | flag: 'input', |
117 | + excludeStruct: false, | ||
117 | }); | 118 | }); |
118 | }; | 119 | }; |
119 | const deleteOutParItem = (index) => { | 120 | const deleteOutParItem = (index) => { |
@@ -124,12 +125,12 @@ | @@ -124,12 +125,12 @@ | ||
124 | isUpdate: false, | 125 | isUpdate: false, |
125 | record: item, | 126 | record: item, |
126 | flag: 'output', | 127 | flag: 'output', |
128 | + excludeStruct: false, | ||
127 | }); | 129 | }); |
128 | }; | 130 | }; |
129 | 131 | ||
130 | //回显数据 | 132 | //回显数据 |
131 | const setFormData = (v) => { | 133 | const setFormData = (v) => { |
132 | - console.log(v[0]); | ||
133 | setFieldsValue(v[0]); | 134 | setFieldsValue(v[0]); |
134 | const { inputParams, outputParams } = v[0]; | 135 | const { inputParams, outputParams } = v[0]; |
135 | if (outputParams !== undefined) { | 136 | if (outputParams !== undefined) { |
@@ -40,11 +40,10 @@ | @@ -40,11 +40,10 @@ | ||
40 | import InputParamItem from './InputParamItem.vue'; | 40 | import InputParamItem from './InputParamItem.vue'; |
41 | import AddParamsModal from './AddParamsModal.vue'; | 41 | import AddParamsModal from './AddParamsModal.vue'; |
42 | import { findDictItemByCode } from '/@/api/system/dict'; | 42 | import { findDictItemByCode } from '/@/api/system/dict'; |
43 | - // import { useMessage } from '/@/hooks/web/useMessage'; | ||
44 | - import { validateValueRangeAndStep } from '../../hook/useValidateParital'; | 43 | + import { validateValueRangeAndStep, validateValueBool } from '../../hook/useValidateParital'; |
44 | + import { buildUUID } from '/@/utils/uuid'; | ||
45 | 45 | ||
46 | defineEmits(['register']); | 46 | defineEmits(['register']); |
47 | - // const { createMessage } = useMessage(); | ||
48 | const outputParamData: any = ref([]); | 47 | const outputParamData: any = ref([]); |
49 | const dynamicBindRef = { | 48 | const dynamicBindRef = { |
50 | outputParamItemRef: ref([]), | 49 | outputParamItemRef: ref([]), |
@@ -70,10 +69,11 @@ | @@ -70,10 +69,11 @@ | ||
70 | 69 | ||
71 | const getData = (d, f) => { | 70 | const getData = (d, f) => { |
72 | if (f == 'output') { | 71 | if (f == 'output') { |
73 | - unref(outputParamData).push(d); | ||
74 | if (d.id !== null) { | 72 | if (d.id !== null) { |
75 | - const findIndex = unref(outputParamData).findIndex((f) => f.id !== d.id); | ||
76 | - if (findIndex !== -1) unref(outputParamData).splice(findIndex, 1); | 73 | + const findIndex = unref(outputParamData).findIndex((f) => f.id == d.id); |
74 | + if (findIndex !== -1) unref(outputParamData).splice(findIndex, 1, d); | ||
75 | + } else { | ||
76 | + unref(outputParamData).push({ ...d, id: buildUUID() }); | ||
77 | } | 77 | } |
78 | } | 78 | } |
79 | }; | 79 | }; |
@@ -94,6 +94,7 @@ | @@ -94,6 +94,7 @@ | ||
94 | isUpdate: false, | 94 | isUpdate: false, |
95 | record: item, | 95 | record: item, |
96 | flag: 'output', | 96 | flag: 'output', |
97 | + excludeStruct: true, | ||
97 | }); | 98 | }); |
98 | }; | 99 | }; |
99 | 100 | ||
@@ -124,26 +125,74 @@ | @@ -124,26 +125,74 @@ | ||
124 | }); | 125 | }); |
125 | }; | 126 | }; |
126 | 127 | ||
128 | + const getOutputStructList = () => { | ||
129 | + const val = unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | ||
130 | + return val; | ||
131 | + }; | ||
127 | const getFormData = async () => { | 132 | const getFormData = async () => { |
128 | const values = await validate(); | 133 | const values = await validate(); |
129 | if (!values) return; | 134 | if (!values) return; |
130 | validateValueRangeAndStep(Number(minMaxObj.min), Number(values.step), Number(minMaxObj.max)); | 135 | validateValueRangeAndStep(Number(minMaxObj.min), Number(values.step), Number(minMaxObj.max)); |
136 | + validateValueBool(Number(values.boolClose), Number(values.boolOpen)); | ||
137 | + const outputParams = getOutputStructList(); | ||
138 | + outputParams.forEach((f) => { | ||
139 | + f.dataType = 'STRUCT'; | ||
140 | + }); | ||
141 | + //int double类型 | ||
131 | const childSpecsDTO = { | 142 | const childSpecsDTO = { |
132 | dataType: values.dataType, | 143 | dataType: values.dataType, |
133 | max: minMaxObj.max, | 144 | max: minMaxObj.max, |
134 | min: minMaxObj.min, | 145 | min: minMaxObj.min, |
135 | step: values.step, | 146 | step: values.step, |
136 | unit: values.unit, | 147 | unit: values.unit, |
148 | + length: values.length, | ||
137 | }; | 149 | }; |
138 | const dataSpecs = childSpecsDTO; | 150 | const dataSpecs = childSpecsDTO; |
139 | - const { step, unit, valueRange, ...value } = values; | 151 | + //bool类型 |
152 | + const childEnumSpecsDTO = [ | ||
153 | + { | ||
154 | + dataType: values.dataType, | ||
155 | + name: '0', | ||
156 | + value: values.boolClose, | ||
157 | + }, | ||
158 | + { | ||
159 | + dataType: values.dataType, | ||
160 | + name: '1', | ||
161 | + value: values.boolOpen, | ||
162 | + }, | ||
163 | + ]; | ||
164 | + const dataSpecsList = childEnumSpecsDTO; | ||
165 | + //text类型 | ||
166 | + //其他类型 | ||
167 | + const { boolClose, boolOpen, step, unit, valueRange, ...value } = values; | ||
140 | console.log(valueRange); | 168 | console.log(valueRange); |
141 | console.log(step); | 169 | console.log(step); |
142 | console.log(unit); | 170 | console.log(unit); |
171 | + console.log(boolClose); | ||
172 | + console.log(boolOpen); | ||
143 | return { | 173 | return { |
144 | ...value, | 174 | ...value, |
145 | - ...{ dataSpecs }, | ||
146 | - ...{ childSpecsDTO }, | 175 | + ...{ |
176 | + dataSpecs: | ||
177 | + values.dataType === 'INT' || values.dataType === 'DOUBLE' || values.dataType === 'TEXT' | ||
178 | + ? dataSpecs | ||
179 | + : null, | ||
180 | + }, | ||
181 | + ...{ | ||
182 | + childSpecsDTO: | ||
183 | + values.dataType === 'INT' || values.dataType === 'DOUBLE' || values.dataType === 'TEXT' | ||
184 | + ? childSpecsDTO | ||
185 | + : null, | ||
186 | + }, | ||
187 | + ...{ | ||
188 | + dataSpecsList: | ||
189 | + values.dataType === 'BOOL' | ||
190 | + ? dataSpecsList | ||
191 | + : values.dataType === 'STRUCT' | ||
192 | + ? outputParams | ||
193 | + : null, | ||
194 | + }, | ||
195 | + ...{ childEnumSpecsDTO: values.dataType === 'BOOL' ? childEnumSpecsDTO : null }, | ||
147 | ...{ | 196 | ...{ |
148 | childDataType: values.dataType, | 197 | childDataType: values.dataType, |
149 | childName: values.name, | 198 | childName: values.name, |
@@ -151,10 +200,35 @@ | @@ -151,10 +200,35 @@ | ||
151 | }; | 200 | }; |
152 | }; | 201 | }; |
153 | const setFormData = (v) => { | 202 | const setFormData = (v) => { |
203 | + console.log(v); | ||
154 | setFieldsValue(v); | 204 | setFieldsValue(v); |
155 | setFieldsValue({ | 205 | setFieldsValue({ |
156 | ...v.dataSpecs, | 206 | ...v.dataSpecs, |
157 | }); | 207 | }); |
208 | + try { | ||
209 | + setFieldsValue({ | ||
210 | + boolClose: v.dataType == 'BOOL' ? v.dataSpecsList[0].name : '', | ||
211 | + boolOpen: v.dataType == 'BOOL' ? v.dataSpecsList[1].name : '', | ||
212 | + }); | ||
213 | + } catch (e) { | ||
214 | + console.log(e); | ||
215 | + } | ||
216 | + const { dataSpecsList, dataType, childDataType } = v; | ||
217 | + if (childDataType == 'BOOL') { | ||
218 | + setFieldsValue({ | ||
219 | + dataType: childDataType, | ||
220 | + boolClose: dataSpecsList[0].name, | ||
221 | + boolOpen: dataSpecsList[1].name, | ||
222 | + }); | ||
223 | + } | ||
224 | + try { | ||
225 | + if (dataType == 'BOOL' || dataType == 'STRUCT') { | ||
226 | + outputParamData.value = [...new Array(dataSpecsList.length).keys()]; | ||
227 | + outputParamData.value = dataSpecsList; | ||
228 | + } | ||
229 | + } catch (e) { | ||
230 | + console.log(e); | ||
231 | + } | ||
158 | nextTick(() => { | 232 | nextTick(() => { |
159 | minMaxObj.min = v?.dataSpecs?.min; | 233 | minMaxObj.min = v?.dataSpecs?.min; |
160 | minMaxObj.max = v?.dataSpecs?.max; | 234 | minMaxObj.max = v?.dataSpecs?.max; |
1 | import { buildUUID } from '/@/utils/uuid'; | 1 | import { buildUUID } from '/@/utils/uuid'; |
2 | 2 | ||
3 | +//模拟阿里云属性服务事件服务端格式 | ||
3 | export const mockData = { | 4 | export const mockData = { |
4 | _ppk: {}, | 5 | _ppk: {}, |
5 | events: [ | 6 | events: [ |
6 | { | 7 | { |
7 | - createTs: 1666344382193, | 8 | + createTs: 1666596472189, |
8 | custom: true, | 9 | custom: true, |
9 | - description: '33', | ||
10 | - eventName: '事件1', | ||
11 | - eventType: 'ALERT_EVENT_TYPE', | ||
12 | - identifier: 'i1', | 10 | + description: '监播动作结果上报事件', |
11 | + eventName: '监播动作结果上报事件', | ||
12 | + eventType: 'INFO_EVENT_TYPE', | ||
13 | + identifier: 'MonitorActionEvent', | ||
13 | outputData: [ | 14 | outputData: [ |
14 | { | 15 | { |
15 | id: buildUUID(), | 16 | id: buildUUID(), |
16 | custom: true, | 17 | custom: true, |
17 | dataSpecs: { | 18 | dataSpecs: { |
18 | dataType: 'INT', | 19 | dataType: 'INT', |
19 | - max: '20', | ||
20 | - min: '10', | ||
21 | - step: '3', | ||
22 | - unit: 'W/㎡', | ||
23 | - unitName: '太阳总辐射', | 20 | + max: '1024', |
21 | + min: '-1024', | ||
22 | + precise: 0, | ||
23 | + step: '1', | ||
24 | + unit: '', | ||
25 | + unitName: '无', | ||
24 | }, | 26 | }, |
25 | dataType: 'INT', | 27 | dataType: 'INT', |
26 | direction: 'PARAM_OUTPUT', | 28 | direction: 'PARAM_OUTPUT', |
27 | - identifier: 'i1', | ||
28 | - name: '参数1', | 29 | + identifier: 'ActionType', |
30 | + name: '监播操作类型', | ||
29 | paraOrder: 0, | 31 | paraOrder: 0, |
30 | }, | 32 | }, |
33 | + { | ||
34 | + id: buildUUID(), | ||
35 | + custom: true, | ||
36 | + dataSpecs: { | ||
37 | + dataType: 'TEXT', | ||
38 | + length: 1024, | ||
39 | + }, | ||
40 | + dataType: 'TEXT', | ||
41 | + direction: 'PARAM_OUTPUT', | ||
42 | + identifier: 'FileKey', | ||
43 | + name: '上传文件ossKey', | ||
44 | + paraOrder: 1, | ||
45 | + }, | ||
46 | + { | ||
47 | + id: buildUUID(), | ||
48 | + custom: true, | ||
49 | + dataSpecsList: [ | ||
50 | + { | ||
51 | + id: buildUUID(), | ||
52 | + dataType: 'BOOL', | ||
53 | + name: '1', | ||
54 | + value: 0, | ||
55 | + }, | ||
56 | + { | ||
57 | + id: buildUUID(), | ||
58 | + dataType: 'BOOL', | ||
59 | + name: '0', | ||
60 | + value: 1, | ||
61 | + }, | ||
62 | + ], | ||
63 | + dataType: 'BOOL', | ||
64 | + direction: 'PARAM_OUTPUT', | ||
65 | + identifier: 'Extension', | ||
66 | + name: '扩展信息', | ||
67 | + paraOrder: 2, | ||
68 | + }, | ||
69 | + { | ||
70 | + id: buildUUID(), | ||
71 | + custom: true, | ||
72 | + dataSpecsList: [ | ||
73 | + { | ||
74 | + id: buildUUID(), | ||
75 | + childDataType: 'DOUBLE', | ||
76 | + childName: '峰值', | ||
77 | + childSpecsDTO: { | ||
78 | + dataType: 'DOUBLE', | ||
79 | + max: '33', | ||
80 | + min: '22', | ||
81 | + step: '2', | ||
82 | + unit: 'm³/s', | ||
83 | + unitName: '立方米每秒', | ||
84 | + }, | ||
85 | + custom: true, | ||
86 | + dataSpecs: { | ||
87 | + dataType: 'DOUBLE', | ||
88 | + max: '33', | ||
89 | + min: '22', | ||
90 | + step: '2', | ||
91 | + unit: 'm³/s', | ||
92 | + unitName: '立方米每秒', | ||
93 | + }, | ||
94 | + dataType: 'STRUCT', | ||
95 | + identifier: 'bass', | ||
96 | + isStd: 0, | ||
97 | + name: '峰值', | ||
98 | + }, | ||
99 | + { | ||
100 | + id: buildUUID(), | ||
101 | + childDataType: 'BOOL', | ||
102 | + childEnumSpecsDTO: [ | ||
103 | + { | ||
104 | + dataType: 'BOOL', | ||
105 | + name: '1', | ||
106 | + value: 0, | ||
107 | + }, | ||
108 | + { | ||
109 | + dataType: 'BOOL', | ||
110 | + name: '0', | ||
111 | + value: 1, | ||
112 | + }, | ||
113 | + ], | ||
114 | + childName: '平均速率', | ||
115 | + custom: true, | ||
116 | + dataSpecsList: [ | ||
117 | + { | ||
118 | + id: buildUUID(), | ||
119 | + dataType: 'BOOL', | ||
120 | + name: '1', | ||
121 | + value: 0, | ||
122 | + }, | ||
123 | + { | ||
124 | + id: buildUUID(), | ||
125 | + dataType: 'BOOL', | ||
126 | + name: '0', | ||
127 | + value: 1, | ||
128 | + }, | ||
129 | + ], | ||
130 | + dataType: 'STRUCT', | ||
131 | + identifier: 'average', | ||
132 | + isStd: 0, | ||
133 | + name: '平均速率', | ||
134 | + }, | ||
135 | + ], | ||
136 | + dataType: 'STRUCT', | ||
137 | + direction: 'PARAM_OUTPUT', | ||
138 | + identifier: 'ceshi', | ||
139 | + name: '网速', | ||
140 | + paraOrder: 3, | ||
141 | + }, | ||
31 | ], | 142 | ], |
32 | productKey: 'hsrnXEfGFDv', | 143 | productKey: 'hsrnXEfGFDv', |
33 | required: false, | 144 | required: false, |
@@ -36,67 +147,123 @@ export const mockData = { | @@ -36,67 +147,123 @@ export const mockData = { | ||
36 | productKey: 'hsrnXEfGFDv', | 147 | productKey: 'hsrnXEfGFDv', |
37 | properties: [ | 148 | properties: [ |
38 | { | 149 | { |
39 | - createTs: 1666259889029, | 150 | + createTs: 1666604372638, |
40 | custom: true, | 151 | custom: true, |
41 | customFlag: true, | 152 | customFlag: true, |
42 | dataSpecsList: [ | 153 | dataSpecsList: [ |
43 | { | 154 | { |
44 | - id: buildUUID(), | 155 | + childDataType: 'BOOL', |
156 | + childEnumSpecsDTO: [ | ||
157 | + { | ||
158 | + dataType: 'BOOL', | ||
159 | + name: '左眼', | ||
160 | + value: 0, | ||
161 | + }, | ||
162 | + { | ||
163 | + dataType: 'BOOL', | ||
164 | + name: '右眼', | ||
165 | + value: 1, | ||
166 | + }, | ||
167 | + ], | ||
168 | + childName: '眼睛', | ||
169 | + custom: true, | ||
170 | + dataSpecsList: [ | ||
171 | + { | ||
172 | + dataType: 'BOOL', | ||
173 | + name: '左眼', | ||
174 | + value: 0, | ||
175 | + }, | ||
176 | + { | ||
177 | + dataType: 'BOOL', | ||
178 | + name: '右眼', | ||
179 | + value: 1, | ||
180 | + }, | ||
181 | + ], | ||
182 | + dataType: 'STRUCT', | ||
183 | + identifier: 'Eye', | ||
184 | + isStd: 0, | ||
185 | + name: '眼睛', | ||
186 | + }, | ||
187 | + { | ||
45 | childDataType: 'INT', | 188 | childDataType: 'INT', |
46 | - childName: '测试参数1', | 189 | + childName: '鼻子', |
47 | childSpecsDTO: { | 190 | childSpecsDTO: { |
48 | dataType: 'INT', | 191 | dataType: 'INT', |
49 | - max: '30', | ||
50 | - min: '20', | ||
51 | - step: '1', | ||
52 | - unit: 'mm/hour', | ||
53 | - unitName: '降雨量', | 192 | + max: '22', |
193 | + min: '12', | ||
194 | + step: '5', | ||
195 | + unit: '只', | ||
196 | + unitName: '只', | ||
54 | }, | 197 | }, |
55 | custom: true, | 198 | custom: true, |
56 | dataSpecs: { | 199 | dataSpecs: { |
57 | dataType: 'INT', | 200 | dataType: 'INT', |
58 | - max: '30', | ||
59 | - min: '20', | ||
60 | - step: '1', | ||
61 | - unit: 'mm/hour', | ||
62 | - unitName: '降雨量', | 201 | + max: '22', |
202 | + min: '12', | ||
203 | + step: '5', | ||
204 | + unit: '只', | ||
205 | + unitName: '只', | ||
63 | }, | 206 | }, |
64 | dataType: 'STRUCT', | 207 | dataType: 'STRUCT', |
65 | - identifier: 'iden2', | 208 | + identifier: 'Boless', |
66 | isStd: 0, | 209 | isStd: 0, |
67 | - name: '测试参数1', | 210 | + name: '鼻子', |
68 | }, | 211 | }, |
69 | { | 212 | { |
70 | - id: buildUUID(), | ||
71 | - childDataType: 'INT', | ||
72 | - childName: '测试参数2', | 213 | + childDataType: 'TEXT', |
214 | + childName: '脸颊', | ||
73 | childSpecsDTO: { | 215 | childSpecsDTO: { |
74 | - dataType: 'INT', | ||
75 | - max: '40', | ||
76 | - min: '30', | ||
77 | - step: '2', | ||
78 | - unit: 'pH', | ||
79 | - unitName: 'PH值', | 216 | + dataType: 'TEXT', |
217 | + length: 10240, | ||
80 | }, | 218 | }, |
81 | custom: true, | 219 | custom: true, |
82 | dataSpecs: { | 220 | dataSpecs: { |
83 | - dataType: 'INT', | ||
84 | - max: '40', | ||
85 | - min: '30', | ||
86 | - step: '2', | ||
87 | - unit: 'pH', | ||
88 | - unitName: 'PH值', | 221 | + dataType: 'TEXT', |
222 | + length: 10240, | ||
89 | }, | 223 | }, |
90 | dataType: 'STRUCT', | 224 | dataType: 'STRUCT', |
91 | - identifier: 'idne2', | 225 | + identifier: 'Facebook', |
92 | isStd: 0, | 226 | isStd: 0, |
93 | - name: '测试参数2', | 227 | + name: '脸颊', |
228 | + }, | ||
229 | + { | ||
230 | + childDataType: 'BOOL', | ||
231 | + childEnumSpecsDTO: [ | ||
232 | + { | ||
233 | + dataType: 'BOOL', | ||
234 | + name: '左耳', | ||
235 | + value: 0, | ||
236 | + }, | ||
237 | + { | ||
238 | + dataType: 'BOOL', | ||
239 | + name: '右耳', | ||
240 | + value: 1, | ||
241 | + }, | ||
242 | + ], | ||
243 | + childName: '耳朵', | ||
244 | + custom: true, | ||
245 | + dataSpecsList: [ | ||
246 | + { | ||
247 | + dataType: 'BOOL', | ||
248 | + name: '左耳', | ||
249 | + value: 0, | ||
250 | + }, | ||
251 | + { | ||
252 | + dataType: 'BOOL', | ||
253 | + name: '右耳', | ||
254 | + value: 1, | ||
255 | + }, | ||
256 | + ], | ||
257 | + dataType: 'STRUCT', | ||
258 | + identifier: 'Eyear', | ||
259 | + isStd: 0, | ||
260 | + name: '耳朵', | ||
94 | }, | 261 | }, |
95 | ], | 262 | ], |
96 | dataType: 'STRUCT', | 263 | dataType: 'STRUCT', |
97 | - description: '21212', | ||
98 | - identifier: 'iden1', | ||
99 | - name: '测试功能', | 264 | + description: '用于人脸特征下发,基于人脸门禁1.0物模型\n设备级开关', |
265 | + identifier: 'SupportFaceFeature', | ||
266 | + name: '支持人脸特征下发', | ||
100 | productKey: 'hsrnXEfGFDv', | 267 | productKey: 'hsrnXEfGFDv', |
101 | required: false, | 268 | required: false, |
102 | rwFlag: 'READ_WRITE', | 269 | rwFlag: 'READ_WRITE', |
@@ -105,249 +272,329 @@ export const mockData = { | @@ -105,249 +272,329 @@ export const mockData = { | ||
105 | ], | 272 | ], |
106 | services: [ | 273 | services: [ |
107 | { | 274 | { |
108 | - callType: 'ASYNC', | ||
109 | - createTs: 1666343456853, | 275 | + callType: 'SYNC', |
276 | + createTs: 1666603858325, | ||
110 | custom: true, | 277 | custom: true, |
111 | - description: '4343', | ||
112 | - identifier: 'Iide1', | 278 | + description: '更新模型', |
279 | + identifier: 'UpdateModel', | ||
113 | inputParams: [ | 280 | inputParams: [ |
114 | { | 281 | { |
115 | id: buildUUID(), | 282 | id: buildUUID(), |
116 | custom: true, | 283 | custom: true, |
117 | dataSpecs: { | 284 | dataSpecs: { |
285 | + dataType: 'TEXT', | ||
286 | + length: 128, | ||
287 | + }, | ||
288 | + dataType: 'TEXT', | ||
289 | + direction: 'PARAM_INPUT', | ||
290 | + identifier: 'UpdateTaskID', | ||
291 | + name: '更新任务ID', | ||
292 | + paraOrder: 0, | ||
293 | + }, | ||
294 | + { | ||
295 | + id: buildUUID(), | ||
296 | + custom: true, | ||
297 | + dataSpecs: { | ||
298 | + dataType: 'TEXT', | ||
299 | + length: 128, | ||
300 | + }, | ||
301 | + dataType: 'TEXT', | ||
302 | + direction: 'PARAM_INPUT', | ||
303 | + identifier: 'AlgorithmID', | ||
304 | + name: '算法任务唯一标识', | ||
305 | + paraOrder: 1, | ||
306 | + }, | ||
307 | + { | ||
308 | + id: buildUUID(), | ||
309 | + | ||
310 | + custom: true, | ||
311 | + dataSpecs: { | ||
312 | + dataType: 'TEXT', | ||
313 | + length: 64, | ||
314 | + }, | ||
315 | + dataType: 'TEXT', | ||
316 | + direction: 'PARAM_INPUT', | ||
317 | + identifier: 'AlgorithmName', | ||
318 | + name: '算法名称', | ||
319 | + paraOrder: 2, | ||
320 | + }, | ||
321 | + { | ||
322 | + id: buildUUID(), | ||
323 | + | ||
324 | + custom: true, | ||
325 | + dataSpecs: { | ||
118 | dataType: 'INT', | 326 | dataType: 'INT', |
119 | - max: '20', | ||
120 | - min: '10', | ||
121 | - step: '2', | ||
122 | - unit: 'dS/m', | ||
123 | - unitName: '土壤EC值', | 327 | + max: '128', |
328 | + min: '0', | ||
329 | + precise: 0, | ||
330 | + step: '1', | ||
331 | + unit: '', | ||
332 | + unitName: '无', | ||
124 | }, | 333 | }, |
125 | dataType: 'INT', | 334 | dataType: 'INT', |
126 | direction: 'PARAM_INPUT', | 335 | direction: 'PARAM_INPUT', |
127 | - identifier: 'i1', | ||
128 | - name: '参数名字1', | ||
129 | - paraOrder: 0, | 336 | + identifier: 'NumThreads', |
337 | + name: '使用线程数', | ||
338 | + paraOrder: 4, | ||
339 | + }, | ||
340 | + { | ||
341 | + id: buildUUID(), | ||
342 | + | ||
343 | + custom: true, | ||
344 | + dataSpecs: { | ||
345 | + dataType: 'TEXT', | ||
346 | + length: 128, | ||
347 | + }, | ||
348 | + dataType: 'TEXT', | ||
349 | + direction: 'PARAM_INPUT', | ||
350 | + identifier: 'ModelID', | ||
351 | + name: '模型唯一标识', | ||
352 | + paraOrder: 5, | ||
353 | + }, | ||
354 | + { | ||
355 | + id: buildUUID(), | ||
356 | + | ||
357 | + custom: true, | ||
358 | + dataSpecs: { | ||
359 | + dataType: 'TEXT', | ||
360 | + length: 64, | ||
361 | + }, | ||
362 | + dataType: 'TEXT', | ||
363 | + direction: 'PARAM_INPUT', | ||
364 | + identifier: 'ModelName', | ||
365 | + name: '模型名称', | ||
366 | + paraOrder: 6, | ||
367 | + }, | ||
368 | + { | ||
369 | + id: buildUUID(), | ||
370 | + | ||
371 | + custom: true, | ||
372 | + dataSpecs: { | ||
373 | + dataType: 'TEXT', | ||
374 | + length: 64, | ||
375 | + }, | ||
376 | + dataType: 'TEXT', | ||
377 | + direction: 'PARAM_INPUT', | ||
378 | + identifier: 'ModelVersion', | ||
379 | + name: '模型版本', | ||
380 | + paraOrder: 7, | ||
381 | + }, | ||
382 | + { | ||
383 | + id: buildUUID(), | ||
384 | + | ||
385 | + custom: true, | ||
386 | + dataSpecs: { | ||
387 | + dataType: 'TEXT', | ||
388 | + length: 1024, | ||
389 | + }, | ||
390 | + dataType: 'TEXT', | ||
391 | + direction: 'PARAM_INPUT', | ||
392 | + identifier: 'ModelURL', | ||
393 | + name: '模型地址', | ||
394 | + paraOrder: 8, | ||
395 | + }, | ||
396 | + { | ||
397 | + id: buildUUID(), | ||
398 | + | ||
399 | + custom: true, | ||
400 | + dataSpecs: { | ||
401 | + dataType: 'TEXT', | ||
402 | + length: 128, | ||
403 | + }, | ||
404 | + dataType: 'TEXT', | ||
405 | + direction: 'PARAM_INPUT', | ||
406 | + identifier: 'ModelMD5', | ||
407 | + name: '模型文件MD5', | ||
408 | + paraOrder: 9, | ||
409 | + }, | ||
410 | + { | ||
411 | + id: buildUUID(), | ||
412 | + | ||
413 | + custom: true, | ||
414 | + dataSpecs: { | ||
415 | + dataType: 'TEXT', | ||
416 | + length: 64, | ||
417 | + }, | ||
418 | + dataType: 'TEXT', | ||
419 | + direction: 'PARAM_INPUT', | ||
420 | + identifier: 'ModelPlatform', | ||
421 | + name: '模型平台', | ||
422 | + paraOrder: 10, | ||
423 | + }, | ||
424 | + { | ||
425 | + id: buildUUID(), | ||
426 | + | ||
427 | + custom: true, | ||
428 | + dataSpecs: { | ||
429 | + dataType: 'TEXT', | ||
430 | + length: 128, | ||
431 | + }, | ||
432 | + dataType: 'TEXT', | ||
433 | + direction: 'PARAM_INPUT', | ||
434 | + identifier: 'ModelTaskID', | ||
435 | + name: '模型生成任务ID', | ||
436 | + paraOrder: 11, | ||
437 | + }, | ||
438 | + { | ||
439 | + id: buildUUID(), | ||
440 | + | ||
441 | + custom: true, | ||
442 | + dataSpecs: { | ||
443 | + dataType: 'TEXT', | ||
444 | + length: 64, | ||
445 | + }, | ||
446 | + dataType: 'TEXT', | ||
447 | + direction: 'PARAM_INPUT', | ||
448 | + identifier: 'ModelEncryptType', | ||
449 | + name: '模型加密方式', | ||
450 | + paraOrder: 12, | ||
451 | + }, | ||
452 | + { | ||
453 | + id: buildUUID(), | ||
454 | + | ||
455 | + custom: true, | ||
456 | + dataSpecs: { | ||
457 | + dataType: 'TEXT', | ||
458 | + length: 2048, | ||
459 | + }, | ||
460 | + dataType: 'TEXT', | ||
461 | + direction: 'PARAM_INPUT', | ||
462 | + identifier: 'ModelExtension', | ||
463 | + name: '扩展信息', | ||
464 | + paraOrder: 13, | ||
465 | + }, | ||
466 | + { | ||
467 | + id: buildUUID(), | ||
468 | + | ||
469 | + custom: true, | ||
470 | + dataSpecsList: [ | ||
471 | + { | ||
472 | + id: buildUUID(), | ||
473 | + | ||
474 | + childDataType: 'TEXT', | ||
475 | + childName: '模型结构体参数1', | ||
476 | + childSpecsDTO: { | ||
477 | + dataType: 'TEXT', | ||
478 | + length: 10240, | ||
479 | + }, | ||
480 | + custom: true, | ||
481 | + dataSpecs: { | ||
482 | + dataType: 'TEXT', | ||
483 | + length: 10240, | ||
484 | + }, | ||
485 | + dataType: 'STRUCT', | ||
486 | + identifier: 'ModelParams1', | ||
487 | + isStd: 0, | ||
488 | + name: '模型结构体参数1', | ||
489 | + }, | ||
490 | + { | ||
491 | + id: buildUUID(), | ||
492 | + | ||
493 | + childDataType: 'BOOL', | ||
494 | + childEnumSpecsDTO: [ | ||
495 | + { | ||
496 | + dataType: 'BOOL', | ||
497 | + name: '1', | ||
498 | + value: 0, | ||
499 | + }, | ||
500 | + { | ||
501 | + dataType: 'BOOL', | ||
502 | + name: '0', | ||
503 | + value: 1, | ||
504 | + }, | ||
505 | + ], | ||
506 | + childName: '模型结构体参数2', | ||
507 | + custom: true, | ||
508 | + dataSpecsList: [ | ||
509 | + { | ||
510 | + id: buildUUID(), | ||
511 | + | ||
512 | + dataType: 'BOOL', | ||
513 | + name: '1', | ||
514 | + value: 0, | ||
515 | + }, | ||
516 | + { | ||
517 | + id: buildUUID(), | ||
518 | + | ||
519 | + dataType: 'BOOL', | ||
520 | + name: '0', | ||
521 | + value: 1, | ||
522 | + }, | ||
523 | + ], | ||
524 | + dataType: 'STRUCT', | ||
525 | + identifier: 'ModelParams2', | ||
526 | + isStd: 0, | ||
527 | + name: '模型结构体参数2', | ||
528 | + }, | ||
529 | + ], | ||
530 | + dataType: 'STRUCT', | ||
531 | + direction: 'PARAM_INPUT', | ||
532 | + identifier: 'ModelStruct', | ||
533 | + name: '模型结构体', | ||
534 | + paraOrder: 3, | ||
130 | }, | 535 | }, |
131 | ], | 536 | ], |
132 | outputParams: [ | 537 | outputParams: [ |
133 | { | 538 | { |
134 | id: buildUUID(), | 539 | id: buildUUID(), |
540 | + | ||
541 | + custom: true, | ||
542 | + dataSpecs: { | ||
543 | + dataType: 'TEXT', | ||
544 | + length: 10240, | ||
545 | + }, | ||
546 | + dataType: 'TEXT', | ||
547 | + direction: 'PARAM_OUTPUT', | ||
548 | + identifier: 'Django', | ||
549 | + name: 'django', | ||
550 | + paraOrder: 0, | ||
551 | + }, | ||
552 | + { | ||
553 | + id: buildUUID(), | ||
554 | + | ||
555 | + custom: true, | ||
556 | + dataSpecsList: [ | ||
557 | + { | ||
558 | + id: buildUUID(), | ||
559 | + | ||
560 | + dataType: 'BOOL', | ||
561 | + name: '1', | ||
562 | + value: 0, | ||
563 | + }, | ||
564 | + { | ||
565 | + id: buildUUID(), | ||
566 | + dataType: 'BOOL', | ||
567 | + name: '0', | ||
568 | + value: 1, | ||
569 | + }, | ||
570 | + ], | ||
571 | + dataType: 'BOOL', | ||
572 | + direction: 'PARAM_OUTPUT', | ||
573 | + identifier: 'Flask', | ||
574 | + name: 'flask', | ||
575 | + paraOrder: 1, | ||
576 | + }, | ||
577 | + { | ||
578 | + id: buildUUID(), | ||
135 | custom: true, | 579 | custom: true, |
136 | dataSpecs: { | 580 | dataSpecs: { |
137 | dataType: 'INT', | 581 | dataType: 'INT', |
138 | - max: '20', | ||
139 | - min: '10', | 582 | + max: '22', |
583 | + min: '11', | ||
140 | step: '3', | 584 | step: '3', |
141 | - unit: 'pH', | ||
142 | - unitName: 'PH值', | 585 | + unit: '只', |
586 | + unitName: '只', | ||
143 | }, | 587 | }, |
144 | dataType: 'INT', | 588 | dataType: 'INT', |
145 | direction: 'PARAM_OUTPUT', | 589 | direction: 'PARAM_OUTPUT', |
146 | - identifier: 'i2', | ||
147 | - name: '输出参数2', | ||
148 | - paraOrder: 0, | 590 | + identifier: 'Tornado', |
591 | + name: 'tornado', | ||
592 | + paraOrder: 2, | ||
149 | }, | 593 | }, |
150 | ], | 594 | ], |
151 | productKey: 'hsrnXEfGFDv', | 595 | productKey: 'hsrnXEfGFDv', |
152 | required: false, | 596 | required: false, |
153 | - serviceName: '服务1', | 597 | + serviceName: '更新模型', |
154 | }, | 598 | }, |
155 | ], | 599 | ], |
156 | }; | 600 | }; |
157 | - | ||
158 | -// { | ||
159 | -// _ppk: {}, | ||
160 | -// events: [], | ||
161 | -// productKey: 'hsrnXEfGFDv', | ||
162 | -// properties: [ | ||
163 | -// { | ||
164 | -// createTs: 1666259889029, | ||
165 | -// custom: true, | ||
166 | -// customFlag: true, | ||
167 | -// dataSpecsList: [ | ||
168 | -// { | ||
169 | -// id: buildUUID(), | ||
170 | -// childDataType: 'INT', | ||
171 | -// childName: '测试参数1', | ||
172 | -// childSpecsDTO: { | ||
173 | -// dataType: 'INT', | ||
174 | -// max: '30', | ||
175 | -// min: '20', | ||
176 | -// step: '1', | ||
177 | -// unit: 'mm/hour', | ||
178 | -// unitName: '降雨量', | ||
179 | -// }, | ||
180 | -// custom: true, | ||
181 | -// dataSpecs: { | ||
182 | -// dataType: 'INT', | ||
183 | -// max: '30', | ||
184 | -// min: '20', | ||
185 | -// step: '1', | ||
186 | -// unit: 'mm/hour', | ||
187 | -// unitName: '降雨量', | ||
188 | -// }, | ||
189 | -// dataType: 'STRUCT', | ||
190 | -// identifier: 'iden2', | ||
191 | -// isStd: 0, | ||
192 | -// name: '测试参数1', | ||
193 | -// }, | ||
194 | -// { | ||
195 | -// id: buildUUID(), | ||
196 | -// childDataType: 'INT', | ||
197 | -// childName: '测试参数2', | ||
198 | -// childSpecsDTO: { | ||
199 | -// dataType: 'INT', | ||
200 | -// max: '40', | ||
201 | -// min: '30', | ||
202 | -// step: '2', | ||
203 | -// unit: 'pH', | ||
204 | -// unitName: 'PH值', | ||
205 | -// }, | ||
206 | -// custom: true, | ||
207 | -// dataSpecs: { | ||
208 | -// dataType: 'INT', | ||
209 | -// max: '40', | ||
210 | -// min: '30', | ||
211 | -// step: '2', | ||
212 | -// unit: 'pH', | ||
213 | -// unitName: 'PH值', | ||
214 | -// }, | ||
215 | -// dataType: 'STRUCT', | ||
216 | -// identifier: 'idne2', | ||
217 | -// isStd: 0, | ||
218 | -// name: '测试参数2', | ||
219 | -// }, | ||
220 | -// ], | ||
221 | -// dataType: 'STRUCT', | ||
222 | -// description: '21212', | ||
223 | -// identifier: 'iden1', | ||
224 | -// name: '测试功能', | ||
225 | -// productKey: 'hsrnXEfGFDv', | ||
226 | -// required: false, | ||
227 | -// rwFlag: 'READ_WRITE', | ||
228 | -// std: false, | ||
229 | -// }, | ||
230 | -// ], | ||
231 | -// services: [], | ||
232 | -// }; | ||
233 | - | ||
234 | -// { | ||
235 | -// "_ppk": {}, | ||
236 | -// "events": [], | ||
237 | -// "productKey": "hsrnXEfGFDv", | ||
238 | -// "properties": [ | ||
239 | -// { | ||
240 | -// "createTs": 1666259889029, | ||
241 | -// "custom": true, | ||
242 | -// "customFlag": true, | ||
243 | -// "dataSpecsList": [ | ||
244 | -// { | ||
245 | -// "childDataType": "INT", | ||
246 | -// "childName": "测试参数1", | ||
247 | -// "childSpecsDTO": { | ||
248 | -// "dataType": "INT", | ||
249 | -// "max": "30", | ||
250 | -// "min": "20", | ||
251 | -// "step": "1", | ||
252 | -// "unit": "mm/hour", | ||
253 | -// "unitName": "降雨量" | ||
254 | -// }, | ||
255 | -// "custom": true, | ||
256 | -// "dataSpecs": { | ||
257 | -// "dataType": "INT", | ||
258 | -// "max": "30", | ||
259 | -// "min": "20", | ||
260 | -// "step": "1", | ||
261 | -// "unit": "mm/hour", | ||
262 | -// "unitName": "降雨量" | ||
263 | -// }, | ||
264 | -// "dataType": "STRUCT", | ||
265 | -// "identifier": "iden2", | ||
266 | -// "isStd": 0, | ||
267 | -// "name": "测试参数1" | ||
268 | -// }, | ||
269 | -// { | ||
270 | -// "childDataType": "INT", | ||
271 | -// "childName": "测试参数2", | ||
272 | -// "childSpecsDTO": { | ||
273 | -// "dataType": "INT", | ||
274 | -// "max": "40", | ||
275 | -// "min": "30", | ||
276 | -// "step": "2", | ||
277 | -// "unit": "pH", | ||
278 | -// "unitName": "PH值" | ||
279 | -// }, | ||
280 | -// "custom": true, | ||
281 | -// "dataSpecs": { | ||
282 | -// "dataType": "INT", | ||
283 | -// "max": "40", | ||
284 | -// "min": "30", | ||
285 | -// "step": "2", | ||
286 | -// "unit": "pH", | ||
287 | -// "unitName": "PH值" | ||
288 | -// }, | ||
289 | -// "dataType": "STRUCT", | ||
290 | -// "identifier": "idne2", | ||
291 | -// "isStd": 0, | ||
292 | -// "name": "测试参数2" | ||
293 | -// } | ||
294 | -// ], | ||
295 | -// "dataType": "STRUCT", | ||
296 | -// "description": "21212", | ||
297 | -// "identifier": "iden1", | ||
298 | -// "name": "测试功能", | ||
299 | -// "productKey": "hsrnXEfGFDv", | ||
300 | -// "required": false, | ||
301 | -// "rwFlag": "READ_WRITE", | ||
302 | -// "std": false | ||
303 | -// } | ||
304 | -// ], | ||
305 | -// "services": [ | ||
306 | -// { | ||
307 | -// "callType": "ASYNC", | ||
308 | -// "createTs": 1666343456853, | ||
309 | -// "custom": true, | ||
310 | -// "description": "4343", | ||
311 | -// "identifier": "Iide1", | ||
312 | -// "inputParams": [ | ||
313 | -// { | ||
314 | -// "custom": true, | ||
315 | -// "dataSpecs": { | ||
316 | -// "dataType": "INT", | ||
317 | -// "max": "20", | ||
318 | -// "min": "10", | ||
319 | -// "step": "2", | ||
320 | -// "unit": "dS/m", | ||
321 | -// "unitName": "土壤EC值" | ||
322 | -// }, | ||
323 | -// "dataType": "INT", | ||
324 | -// "direction": "PARAM_INPUT", | ||
325 | -// "identifier": "i1", | ||
326 | -// "name": "参数名字1", | ||
327 | -// "paraOrder": 0 | ||
328 | -// } | ||
329 | -// ], | ||
330 | -// "outputParams": [ | ||
331 | -// { | ||
332 | -// "custom": true, | ||
333 | -// "dataSpecs": { | ||
334 | -// "dataType": "INT", | ||
335 | -// "max": "20", | ||
336 | -// "min": "10", | ||
337 | -// "step": "3", | ||
338 | -// "unit": "pH", | ||
339 | -// "unitName": "PH值" | ||
340 | -// }, | ||
341 | -// "dataType": "INT", | ||
342 | -// "direction": "PARAM_OUTPUT", | ||
343 | -// "identifier": "i2", | ||
344 | -// "name": "输出参数2", | ||
345 | -// "paraOrder": 0 | ||
346 | -// } | ||
347 | -// ], | ||
348 | -// "productKey": "hsrnXEfGFDv", | ||
349 | -// "required": false, | ||
350 | -// "serviceName": "服务1" | ||
351 | -// } | ||
352 | -// ] | ||
353 | -// } |
@@ -139,14 +139,17 @@ export const attrSchemas: FormSchema[] = [ | @@ -139,14 +139,17 @@ export const attrSchemas: FormSchema[] = [ | ||
139 | }, | 139 | }, |
140 | { | 140 | { |
141 | field: 'length', | 141 | field: 'length', |
142 | - component: 'Input', | 142 | + component: 'InputNumber', |
143 | required: true, | 143 | required: true, |
144 | label: '数据长度', | 144 | label: '数据长度', |
145 | - defaultValue: '10240', | 145 | + defaultValue: 10240, |
146 | colProps: { | 146 | colProps: { |
147 | - span: 18, | 147 | + span: 8, |
148 | + }, | ||
149 | + componentProps: { | ||
150 | + max: 10240, | ||
151 | + min: 1, | ||
148 | }, | 152 | }, |
149 | - suffix: '字节', | ||
150 | ifShow: ({ values }) => isString(values.dataType), | 153 | ifShow: ({ values }) => isString(values.dataType), |
151 | }, | 154 | }, |
152 | { | 155 | { |
@@ -224,7 +227,7 @@ export const serviceSchemas: FormSchema[] = [ | @@ -224,7 +227,7 @@ export const serviceSchemas: FormSchema[] = [ | ||
224 | colProps: { | 227 | colProps: { |
225 | span: 24, | 228 | span: 24, |
226 | }, | 229 | }, |
227 | - defaultValue: 'asynchronous', | 230 | + defaultValue: 'ASYNC', |
228 | componentProps: { | 231 | componentProps: { |
229 | placeholder: '请选择调用方式', | 232 | placeholder: '请选择调用方式', |
230 | api: findDictItemByCode, | 233 | api: findDictItemByCode, |
@@ -296,7 +299,7 @@ export const eventSchemas: FormSchema[] = [ | @@ -296,7 +299,7 @@ export const eventSchemas: FormSchema[] = [ | ||
296 | colProps: { | 299 | colProps: { |
297 | span: 24, | 300 | span: 24, |
298 | }, | 301 | }, |
299 | - defaultValue: 'message', | 302 | + defaultValue: 'INFO_EVENT_TYPE', |
300 | componentProps: { | 303 | componentProps: { |
301 | placeholder: '请选择事件类型', | 304 | placeholder: '请选择事件类型', |
302 | api: findDictItemByCode, | 305 | api: findDictItemByCode, |
@@ -400,7 +403,7 @@ export const addParamsSchemas: FormSchema[] = [ | @@ -400,7 +403,7 @@ export const addParamsSchemas: FormSchema[] = [ | ||
400 | { | 403 | { |
401 | field: 'structSlot', | 404 | field: 'structSlot', |
402 | label: 'JSON 对象', | 405 | label: 'JSON 对象', |
403 | - required: true, | 406 | + // required: true, |
404 | component: 'Input', | 407 | component: 'Input', |
405 | slot: 'structSlot', | 408 | slot: 'structSlot', |
406 | colProps: { | 409 | colProps: { |
@@ -436,14 +439,17 @@ export const addParamsSchemas: FormSchema[] = [ | @@ -436,14 +439,17 @@ export const addParamsSchemas: FormSchema[] = [ | ||
436 | }, | 439 | }, |
437 | { | 440 | { |
438 | field: 'length', | 441 | field: 'length', |
439 | - component: 'Input', | 442 | + component: 'InputNumber', |
440 | required: true, | 443 | required: true, |
441 | label: '数据长度', | 444 | label: '数据长度', |
442 | - defaultValue: '10240', | 445 | + defaultValue: 10240, |
443 | colProps: { | 446 | colProps: { |
444 | - span: 24, | 447 | + span: 8, |
448 | + }, | ||
449 | + componentProps: { | ||
450 | + max: 50000, | ||
451 | + min: 1, | ||
445 | }, | 452 | }, |
446 | - suffix: '字节', | ||
447 | ifShow: ({ values }) => isString(values.dataType), | 453 | ifShow: ({ values }) => isString(values.dataType), |
448 | }, | 454 | }, |
449 | { | 455 | { |
@@ -14,3 +14,10 @@ export const validateValueRangeAndStep = (min, step, max) => { | @@ -14,3 +14,10 @@ export const validateValueRangeAndStep = (min, step, max) => { | ||
14 | throw '步长不能大于取值范围的差值'; | 14 | throw '步长不能大于取值范围的差值'; |
15 | } | 15 | } |
16 | }; | 16 | }; |
17 | + | ||
18 | +export const validateValueBool = (boolClose, boolOpen) => { | ||
19 | + if (boolClose == boolOpen) { | ||
20 | + createMessage.error('布尔值不能相同'); | ||
21 | + throw '布尔值不能相同'; | ||
22 | + } | ||
23 | +}; |