Showing
7 changed files
with
641 additions
and
897 deletions
@@ -2,24 +2,15 @@ | @@ -2,24 +2,15 @@ | ||
2 | <div> | 2 | <div> |
3 | <BasicForm @register="register"> | 3 | <BasicForm @register="register"> |
4 | <template #outputParamSlot> | 4 | <template #outputParamSlot> |
5 | - <div> | ||
6 | - <template v-for="(item, index) in outputParamData" :key="item"> | ||
7 | - <span style="display: none">{{ item + index }}</span> | ||
8 | - <InputParamItem | ||
9 | - :title="item.name" | ||
10 | - :item="item" | ||
11 | - class="mt-4" | ||
12 | - :index="item.id" | ||
13 | - :ref="dynamicBindRef.outputParamItemRef" | ||
14 | - @delete="deleteOutParItem" | ||
15 | - @edit="editOutParItem" | ||
16 | - /> | ||
17 | - </template> | ||
18 | - <div style="display: flex" :class="{ 'mt-2': outputParamData.length > 0 }"> | ||
19 | - <span class="add-style">+</span> | ||
20 | - <span class="add-style" @click="handleAddOutParam">增加参数</span> | ||
21 | - </div> | ||
22 | - </div> | 5 | + <CommomParam |
6 | + ref="CommomParamInParamRef" | ||
7 | + :isExcludeStruct="true" | ||
8 | + :isInputParam="true" | ||
9 | + :inputParamData="inputParamData" | ||
10 | + @emitAddInParam="handleAddInParam" | ||
11 | + @emitEditInParam="handleEditInParam" | ||
12 | + @emitDeletelnParam="handleDelInParam" | ||
13 | + /> | ||
23 | </template> | 14 | </template> |
24 | </BasicForm> | 15 | </BasicForm> |
25 | <AddParamsModal @register="registerModal" @data="getData" /> | 16 | <AddParamsModal @register="registerModal" @data="getData" /> |
@@ -30,16 +21,15 @@ | @@ -30,16 +21,15 @@ | ||
30 | import { BasicForm, useForm } from '/@/components/Form'; | 21 | import { BasicForm, useForm } from '/@/components/Form'; |
31 | import { attrSchemas } from './config'; | 22 | import { attrSchemas } from './config'; |
32 | import { useModal } from '/@/components/Modal'; | 23 | import { useModal } from '/@/components/Modal'; |
33 | - import InputParamItem from './components/InputParamItem.vue'; | ||
34 | - import AddParamsModal from './components/AddParamsModal.vue'; | ||
35 | import { validateValueStruct } from '../hook/useValidateParital'; | 24 | import { validateValueStruct } from '../hook/useValidateParital'; |
36 | import { useChangeTypeGetTypeForm } from '../hook/useTypeGetForm'; | 25 | import { useChangeTypeGetTypeForm } from '../hook/useTypeGetForm'; |
37 | import { buildUUID } from '/@/utils/uuid'; | 26 | import { buildUUID } from '/@/utils/uuid'; |
27 | + import AddParamsModal from './components/AddParamsModal.vue'; | ||
28 | + import CommomParam from './components/CommomParam.vue'; | ||
38 | 29 | ||
39 | - const outputParamData: any = ref([]); | ||
40 | - const dynamicBindRef = { | ||
41 | - outputParamItemRef: ref([]), | ||
42 | - }; | 30 | + const inputParamData: any = ref([]); |
31 | + | ||
32 | + const CommomParamInParamRef = ref<InstanceType<typeof CommomParam>>(); | ||
43 | 33 | ||
44 | const [registerModal, { openModal }] = useModal(); | 34 | const [registerModal, { openModal }] = useModal(); |
45 | 35 | ||
@@ -55,42 +45,28 @@ | @@ -55,42 +45,28 @@ | ||
55 | }); | 45 | }); |
56 | 46 | ||
57 | const getData = (d, f) => { | 47 | const getData = (d, f) => { |
58 | - if (f == 'output') { | 48 | + if (f == 'input') { |
59 | if (d.id !== null) { | 49 | if (d.id !== null) { |
60 | - const findIndex = unref(outputParamData).findIndex((f) => f.id == d.id); | ||
61 | - if (findIndex !== -1) unref(outputParamData).splice(findIndex, 1, d); | 50 | + const findIndex = unref(inputParamData).findIndex((f) => f.id == d.id); |
51 | + if (findIndex !== -1) unref(inputParamData).splice(findIndex, 1, d); | ||
62 | } else { | 52 | } else { |
63 | - unref(outputParamData).push({ ...d, id: buildUUID() }); | 53 | + unref(inputParamData).push({ ...d, id: buildUUID() }); |
64 | } | 54 | } |
65 | } | 55 | } |
66 | }; | 56 | }; |
67 | 57 | ||
68 | - const handleAddOutParam = () => { | ||
69 | - openModal(true, { | ||
70 | - isUpdate: true, | ||
71 | - flag: 'output', | ||
72 | - excludeStruct: true, | ||
73 | - }); | ||
74 | - }; | 58 | + const handleAddInParam = (b, o) => openModal(b, o); |
75 | 59 | ||
76 | - const deleteOutParItem = (index) => { | ||
77 | - unref(outputParamData).splice(index, 1); | ||
78 | - }; | 60 | + const handleEditInParam = (b, o) => openModal(b, o); |
79 | 61 | ||
80 | - const editOutParItem = (item) => { | ||
81 | - openModal(true, { | ||
82 | - isUpdate: false, | ||
83 | - record: item, | ||
84 | - flag: 'output', | ||
85 | - excludeStruct: true, | ||
86 | - }); | ||
87 | - }; | 62 | + const handleDelInParam = (i) => unref(inputParamData).splice(i, 1); |
88 | 63 | ||
64 | + //回显不同类型数据 | ||
89 | const setTypeData = (T, D) => { | 65 | const setTypeData = (T, D) => { |
90 | if (T === 'INT' || T === 'DOUBLE' || T === 'TEXT') { | 66 | if (T === 'INT' || T === 'DOUBLE' || T === 'TEXT') { |
91 | return { | 67 | return { |
92 | ...D?.dataSpecs, | 68 | ...D?.dataSpecs, |
93 | - valueRange: D?.dataSpecs, | 69 | + valueRange: { ...D?.dataSpecs }, |
94 | }; | 70 | }; |
95 | } else if (T === 'BOOL') { | 71 | } else if (T === 'BOOL') { |
96 | return { | 72 | return { |
@@ -100,22 +76,23 @@ | @@ -100,22 +76,23 @@ | ||
100 | } | 76 | } |
101 | }; | 77 | }; |
102 | 78 | ||
103 | - //回显数据 | ||
104 | const setFormData = (v) => { | 79 | const setFormData = (v) => { |
105 | - setFieldsValue({ ...v[0] }); | ||
106 | - setFieldsValue(setTypeData(v[0].dataType, v[0])); | ||
107 | - const { dataSpecsList } = v[0]; | ||
108 | - if (dataSpecsList !== undefined) { | ||
109 | - outputParamData.value = [...new Array(dataSpecsList.length).keys()]; | ||
110 | - outputParamData.value = dataSpecsList; | 80 | + try { |
81 | + setFieldsValue({ ...v[0] }); | ||
82 | + setFieldsValue(setTypeData(v[0]?.dataType, v[0])); | ||
83 | + //回显结构体数据 | ||
84 | + const { dataSpecsList } = v[0]; | ||
85 | + if (dataSpecsList !== undefined) { | ||
86 | + inputParamData.value = [...new Array(dataSpecsList.length).keys()]; | ||
87 | + inputParamData.value = dataSpecsList; | ||
88 | + } | ||
89 | + } catch (e) { | ||
90 | + console.log('Attribute error info', e); | ||
111 | } | 91 | } |
112 | }; | 92 | }; |
113 | 93 | ||
114 | //获取结构体数据 | 94 | //获取结构体数据 |
115 | - const getStructList = () => { | ||
116 | - const val = unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | ||
117 | - return val; | ||
118 | - }; | 95 | + const getStructList = () => CommomParamInParamRef.value?.getInputStructList(); |
119 | 96 | ||
120 | const getBoolOrStructData = (T, S, B) => { | 97 | const getBoolOrStructData = (T, S, B) => { |
121 | if (T === 'STRUCT') { | 98 | if (T === 'STRUCT') { |
@@ -135,12 +112,7 @@ | @@ -135,12 +112,7 @@ | ||
135 | const dataSpecs = useChangeTypeGetTypeForm(values.dataType, values); | 112 | const dataSpecs = useChangeTypeGetTypeForm(values.dataType, values); |
136 | const dataSpecsListBool = useChangeTypeGetTypeForm(values.dataType, values); | 113 | const dataSpecsListBool = useChangeTypeGetTypeForm(values.dataType, values); |
137 | const { valueRange, step, unit, outputParam, ...value } = values; | 114 | const { valueRange, step, unit, outputParam, ...value } = values; |
138 | - const none = { | ||
139 | - ...outputParam, | ||
140 | - ...step, | ||
141 | - ...unit, | ||
142 | - ...valueRange, | ||
143 | - }; | 115 | + const none = [valueRange, step, unit, outputParam]; //没用,防止eslint报未使用变量 |
144 | console.log(none); | 116 | console.log(none); |
145 | return { | 117 | return { |
146 | ...value, | 118 | ...value, |
@@ -153,7 +125,7 @@ | @@ -153,7 +125,7 @@ | ||
153 | 125 | ||
154 | const resetFormData = () => { | 126 | const resetFormData = () => { |
155 | resetFields(); | 127 | resetFields(); |
156 | - outputParamData.value = []; | 128 | + inputParamData.value = []; |
157 | }; | 129 | }; |
158 | 130 | ||
159 | defineExpose({ | 131 | defineExpose({ |
@@ -162,9 +134,4 @@ | @@ -162,9 +134,4 @@ | ||
162 | getFormData, | 134 | getFormData, |
163 | }); | 135 | }); |
164 | </script> | 136 | </script> |
165 | -<style lang="less" scoped> | ||
166 | - .add-style { | ||
167 | - color: #0170cc; | ||
168 | - cursor: pointer; | ||
169 | - } | ||
170 | -</style> | 137 | +<style lang="less" scoped></style> |
@@ -2,24 +2,15 @@ | @@ -2,24 +2,15 @@ | ||
2 | <div> | 2 | <div> |
3 | <BasicForm @register="register"> | 3 | <BasicForm @register="register"> |
4 | <template #outputParamSlot> | 4 | <template #outputParamSlot> |
5 | - <div> | ||
6 | - <template v-for="(item, index) in outputParamData" :key="item"> | ||
7 | - <span style="display: none">{{ item }}</span> | ||
8 | - <InputParamItem | ||
9 | - :title="item.name" | ||
10 | - :item="item" | ||
11 | - class="mt-4" | ||
12 | - :index="index" | ||
13 | - :ref="dynamicBindRef.outputParamItemRef" | ||
14 | - @delete="deleteOutParItem" | ||
15 | - @edit="editOutParItem" | ||
16 | - /> | ||
17 | - </template> | ||
18 | - <div style="display: flex" :class="{ 'mt-2': outputParamData.length > 0 }"> | ||
19 | - <span class="add-style">+</span> | ||
20 | - <span class="add-style" @click="handleAddOutParam">增加参数</span> | ||
21 | - </div> | ||
22 | - </div> | 5 | + <CommomParam |
6 | + ref="CommomParamInParamRef" | ||
7 | + :isInputParam="true" | ||
8 | + :isExcludeStruct="false" | ||
9 | + :inputParamData="inputParamData" | ||
10 | + @emitAddInParam="handleAddInParam" | ||
11 | + @emitEditInParam="handleEditInParam" | ||
12 | + @emitDeletelnParam="handleDelInParam" | ||
13 | + /> | ||
23 | </template> | 14 | </template> |
24 | </BasicForm> | 15 | </BasicForm> |
25 | <AddParamsModal @register="registerModal" @data="getData" /> | 16 | <AddParamsModal @register="registerModal" @data="getData" /> |
@@ -30,14 +21,13 @@ | @@ -30,14 +21,13 @@ | ||
30 | import { BasicForm, useForm } from '/@/components/Form'; | 21 | import { BasicForm, useForm } from '/@/components/Form'; |
31 | import { eventSchemas } from './config'; | 22 | import { eventSchemas } from './config'; |
32 | import { useModal } from '/@/components/Modal'; | 23 | import { useModal } from '/@/components/Modal'; |
33 | - import InputParamItem from './components/InputParamItem.vue'; | ||
34 | - import AddParamsModal from './components/AddParamsModal.vue'; | ||
35 | import { buildUUID } from '/@/utils/uuid'; | 24 | import { buildUUID } from '/@/utils/uuid'; |
25 | + import AddParamsModal from './components/AddParamsModal.vue'; | ||
26 | + import CommomParam from './components/CommomParam.vue'; | ||
36 | 27 | ||
37 | - const outputParamData: any = ref([]); | ||
38 | - const dynamicBindRef = { | ||
39 | - outputParamItemRef: ref([]), | ||
40 | - }; | 28 | + const inputParamData: any = ref([]); |
29 | + | ||
30 | + const CommomParamInParamRef = ref<InstanceType<typeof CommomParam>>(); | ||
41 | 31 | ||
42 | const [registerModal, { openModal }] = useModal(); | 32 | const [registerModal, { openModal }] = useModal(); |
43 | 33 | ||
@@ -53,59 +43,42 @@ | @@ -53,59 +43,42 @@ | ||
53 | }); | 43 | }); |
54 | 44 | ||
55 | const getData = (d, f) => { | 45 | const getData = (d, f) => { |
56 | - if (f == 'output') { | 46 | + if (f == 'input') { |
57 | if (d.id !== null) { | 47 | if (d.id !== null) { |
58 | - const findIndex = unref(outputParamData).findIndex((f) => f.id == d.id); | ||
59 | - if (findIndex !== -1) unref(outputParamData).splice(findIndex, 1, d); | 48 | + const findIndex = unref(inputParamData).findIndex((f) => f.id == d.id); |
49 | + if (findIndex !== -1) unref(inputParamData).splice(findIndex, 1, d); | ||
60 | } else { | 50 | } else { |
61 | - unref(outputParamData).push({ ...d, id: buildUUID() }); | 51 | + unref(inputParamData).push({ ...d, id: buildUUID() }); |
62 | } | 52 | } |
63 | } | 53 | } |
64 | }; | 54 | }; |
65 | 55 | ||
66 | - const handleAddOutParam = () => { | ||
67 | - openModal(true, { | ||
68 | - isUpdate: true, | ||
69 | - flag: 'output', | ||
70 | - excludeStruct: false, | ||
71 | - }); | ||
72 | - }; | 56 | + const handleAddInParam = (b, o) => openModal(b, o); |
73 | 57 | ||
74 | - const deleteOutParItem = (index) => { | ||
75 | - unref(outputParamData).splice(index, 1); | ||
76 | - }; | 58 | + const handleEditInParam = (b, o) => openModal(b, o); |
77 | 59 | ||
78 | - const editOutParItem = (item) => { | ||
79 | - openModal(true, { | ||
80 | - isUpdate: false, | ||
81 | - record: item, | ||
82 | - flag: 'output', | ||
83 | - excludeStruct: false, | ||
84 | - }); | ||
85 | - }; | 60 | + const handleDelInParam = (i) => unref(inputParamData).splice(i, 1); |
86 | 61 | ||
87 | //回显数据 | 62 | //回显数据 |
88 | const setFormData = (v) => { | 63 | const setFormData = (v) => { |
89 | setFieldsValue(v[0]); | 64 | setFieldsValue(v[0]); |
90 | const { outputData } = v[0]; | 65 | const { outputData } = v[0]; |
91 | if (outputData !== undefined) { | 66 | if (outputData !== undefined) { |
92 | - outputParamData.value = [...new Array(outputData.length).keys()]; | ||
93 | - outputParamData.value = outputData; | 67 | + inputParamData.value = [...new Array(outputData.length).keys()]; |
68 | + inputParamData.value = outputData; | ||
94 | } | 69 | } |
95 | }; | 70 | }; |
96 | 71 | ||
97 | //获取数据 | 72 | //获取数据 |
98 | - const getStructList = () => { | ||
99 | - const val = unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | ||
100 | - return val; | ||
101 | - }; | 73 | + const getStructList = () => CommomParamInParamRef.value?.getInputStructList(); |
102 | 74 | ||
103 | async function getFormData() { | 75 | async function getFormData() { |
104 | const values = await validate(); | 76 | const values = await validate(); |
105 | if (!values) return; | 77 | if (!values) return; |
106 | const outputData = getStructList(); | 78 | const outputData = getStructList(); |
107 | const { outputParam, ...value } = values; | 79 | const { outputParam, ...value } = values; |
108 | - console.log(outputParam); | 80 | + const none = [outputParam]; //没用,防止eslint报未使用变量 |
81 | + console.log(none); | ||
109 | return { | 82 | return { |
110 | ...value, | 83 | ...value, |
111 | ...{ outputData }, | 84 | ...{ outputData }, |
@@ -115,7 +88,7 @@ | @@ -115,7 +88,7 @@ | ||
115 | //清空数据 | 88 | //清空数据 |
116 | const resetFormData = () => { | 89 | const resetFormData = () => { |
117 | resetFields(); | 90 | resetFields(); |
118 | - outputParamData.value = []; | 91 | + inputParamData.value = []; |
119 | }; | 92 | }; |
120 | 93 | ||
121 | defineExpose({ | 94 | defineExpose({ |
@@ -124,9 +97,4 @@ | @@ -124,9 +97,4 @@ | ||
124 | getFormData, | 97 | getFormData, |
125 | }); | 98 | }); |
126 | </script> | 99 | </script> |
127 | -<style lang="less" scoped> | ||
128 | - .add-style { | ||
129 | - color: #0170cc; | ||
130 | - cursor: pointer; | ||
131 | - } | ||
132 | -</style> | 100 | +<style lang="less" scoped></style> |
@@ -2,44 +2,26 @@ | @@ -2,44 +2,26 @@ | ||
2 | <div> | 2 | <div> |
3 | <BasicForm @register="register"> | 3 | <BasicForm @register="register"> |
4 | <template #inputParamSlot> | 4 | <template #inputParamSlot> |
5 | - <div> | ||
6 | - <template v-for="(item, index) in inputParamData" :key="item.id"> | ||
7 | - <span style="display: none">{{ item }}</span> | ||
8 | - <InputParamItem | ||
9 | - :title="item.name" | ||
10 | - :item="item" | ||
11 | - class="mt-4" | ||
12 | - :index="index" | ||
13 | - :ref="dynamicBindRef.inputParamItemRef" | ||
14 | - @delete="deleteInParItem" | ||
15 | - @edit="editInParItem" | ||
16 | - /> | ||
17 | - </template> | ||
18 | - <div style="display: flex" :class="{ 'mt-2': inputParamData.length > 0 }"> | ||
19 | - <span class="add-style">+</span> | ||
20 | - <span class="add-style" @click="handleAddInParam">增加参数</span> | ||
21 | - </div> | ||
22 | - </div> | 5 | + <CommomParam |
6 | + ref="CommomParamInParamRef" | ||
7 | + :isInputParam="true" | ||
8 | + :isExcludeStruct="false" | ||
9 | + :inputParamData="inputParamData" | ||
10 | + @emitAddInParam="handleAddInParam" | ||
11 | + @emitEditInParam="handleEditInParam" | ||
12 | + @emitDeletelnParam="handleDelInParam" | ||
13 | + /> | ||
23 | </template> | 14 | </template> |
24 | <template #outputParamSlot> | 15 | <template #outputParamSlot> |
25 | - <div> | ||
26 | - <template v-for="(item, index) in outputParamData" :key="item.id"> | ||
27 | - <span style="display: none">{{ item }}</span> | ||
28 | - <InputParamItem | ||
29 | - :title="item.name" | ||
30 | - :item="item" | ||
31 | - class="mt-4" | ||
32 | - :index="index" | ||
33 | - :ref="dynamicBindRef.outputParamItemRef" | ||
34 | - @delete="deleteOutParItem" | ||
35 | - @edit="editOutParItem" | ||
36 | - /> | ||
37 | - </template> | ||
38 | - <div style="display: flex" :class="{ 'mt-2': outputParamData.length > 0 }"> | ||
39 | - <span class="add-style">+</span> | ||
40 | - <span class="add-style" @click="handleAddOutParam">增加参数</span> | ||
41 | - </div> | ||
42 | - </div> | 16 | + <CommomParam |
17 | + ref="CommomParamOutParamRef" | ||
18 | + :isOutputParam="true" | ||
19 | + :isExcludeStruct="false" | ||
20 | + :outputParamData="outputParamData" | ||
21 | + @emitAddOutParam="handleAddOutParam" | ||
22 | + @emitEditOutParam="handleEditOutParam" | ||
23 | + @emitDeleteOutParam="handleDelOutParam" | ||
24 | + /> | ||
43 | </template> | 25 | </template> |
44 | </BasicForm> | 26 | </BasicForm> |
45 | <AddParamsModal @register="registerModal" @data="getData" /> | 27 | <AddParamsModal @register="registerModal" @data="getData" /> |
@@ -50,16 +32,15 @@ | @@ -50,16 +32,15 @@ | ||
50 | import { BasicForm, useForm } from '/@/components/Form'; | 32 | import { BasicForm, useForm } from '/@/components/Form'; |
51 | import { serviceSchemas } from './config'; | 33 | import { serviceSchemas } from './config'; |
52 | import { useModal } from '/@/components/Modal'; | 34 | import { useModal } from '/@/components/Modal'; |
53 | - import InputParamItem from './components/InputParamItem.vue'; | ||
54 | - import AddParamsModal from './components/AddParamsModal.vue'; | ||
55 | import { buildUUID } from '/@/utils/uuid'; | 35 | import { buildUUID } from '/@/utils/uuid'; |
36 | + import AddParamsModal from './components/AddParamsModal.vue'; | ||
37 | + import CommomParam from './components/CommomParam.vue'; | ||
56 | 38 | ||
57 | const inputParamData: any = ref([]); | 39 | const inputParamData: any = ref([]); |
58 | const outputParamData: any = ref([]); | 40 | const outputParamData: any = ref([]); |
59 | - const dynamicBindRef = { | ||
60 | - inputParamItemRef: ref([]), | ||
61 | - outputParamItemRef: ref([]), | ||
62 | - }; | 41 | + |
42 | + const CommomParamInParamRef = ref<InstanceType<typeof CommomParam>>(); | ||
43 | + const CommomParamOutParamRef = ref<InstanceType<typeof CommomParam>>(); | ||
63 | 44 | ||
64 | const [registerModal, { openModal }] = useModal(); | 45 | const [registerModal, { openModal }] = useModal(); |
65 | 46 | ||
@@ -92,47 +73,17 @@ | @@ -92,47 +73,17 @@ | ||
92 | } | 73 | } |
93 | }; | 74 | }; |
94 | 75 | ||
95 | - const handleAddInParam = () => { | ||
96 | - openModal(true, { | ||
97 | - isUpdate: true, | ||
98 | - flag: 'input', | ||
99 | - excludeStruct: false, | ||
100 | - }); | ||
101 | - }; | 76 | + const handleAddInParam = (b, o) => openModal(b, o); |
102 | 77 | ||
103 | - const deleteInParItem = (index) => { | ||
104 | - unref(inputParamData).splice(index, 1); | ||
105 | - }; | 78 | + const handleEditInParam = (b, o) => openModal(b, o); |
106 | 79 | ||
107 | - const editInParItem = (item) => { | ||
108 | - openModal(true, { | ||
109 | - isUpdate: false, | ||
110 | - record: item, | ||
111 | - flag: 'input', | ||
112 | - excludeStruct: false, | ||
113 | - }); | ||
114 | - }; | 80 | + const handleDelInParam = (i) => unref(inputParamData).splice(i, 1); |
115 | 81 | ||
116 | - const handleAddOutParam = () => { | ||
117 | - openModal(true, { | ||
118 | - isUpdate: true, | ||
119 | - flag: 'output', | ||
120 | - excludeStruct: false, | ||
121 | - }); | ||
122 | - }; | 82 | + const handleAddOutParam = (b, o) => openModal(b, o); |
123 | 83 | ||
124 | - const deleteOutParItem = (index) => { | ||
125 | - unref(outputParamData).splice(index, 1); | ||
126 | - }; | 84 | + const handleEditOutParam = (b, o) => openModal(b, o); |
127 | 85 | ||
128 | - const editOutParItem = (item) => { | ||
129 | - openModal(true, { | ||
130 | - isUpdate: false, | ||
131 | - record: item, | ||
132 | - flag: 'output', | ||
133 | - excludeStruct: false, | ||
134 | - }); | ||
135 | - }; | 86 | + const handleDelOutParam = (i) => unref(outputParamData).splice(i, 1); |
136 | 87 | ||
137 | //回显数据 | 88 | //回显数据 |
138 | const setFormData = (v) => { | 89 | const setFormData = (v) => { |
@@ -148,15 +99,9 @@ | @@ -148,15 +99,9 @@ | ||
148 | } | 99 | } |
149 | }; | 100 | }; |
150 | 101 | ||
151 | - const getInputStructList = () => { | ||
152 | - const val = unref(dynamicBindRef.inputParamItemRef)?.map((item: any) => item.getFormData()); | ||
153 | - return val; | ||
154 | - }; | 102 | + const getInputStructList = () => CommomParamInParamRef.value?.getInputStructList(); |
155 | 103 | ||
156 | - const getOutputStructList = () => { | ||
157 | - const val = unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | ||
158 | - return val; | ||
159 | - }; | 104 | + const getOutputStructList = () => CommomParamOutParamRef.value?.getOutputStructList(); |
160 | 105 | ||
161 | //获取数据 | 106 | //获取数据 |
162 | async function getFormData() { | 107 | async function getFormData() { |
@@ -165,8 +110,8 @@ | @@ -165,8 +110,8 @@ | ||
165 | const inputParams = getInputStructList(); | 110 | const inputParams = getInputStructList(); |
166 | const outputParams = getOutputStructList(); | 111 | const outputParams = getOutputStructList(); |
167 | const { inputParam, outputParam, ...value } = values; | 112 | const { inputParam, outputParam, ...value } = values; |
168 | - console.log(inputParam); | ||
169 | - console.log(outputParam); | 113 | + const none = [inputParam, outputParam]; //没用,防止eslint报未使用变量 |
114 | + console.log(none); | ||
170 | return { | 115 | return { |
171 | ...value, | 116 | ...value, |
172 | ...{ inputParams }, | 117 | ...{ inputParams }, |
@@ -187,9 +132,4 @@ | @@ -187,9 +132,4 @@ | ||
187 | getFormData, | 132 | getFormData, |
188 | }); | 133 | }); |
189 | </script> | 134 | </script> |
190 | -<style lang="less" scoped> | ||
191 | - .add-style { | ||
192 | - color: #0170cc; | ||
193 | - cursor: pointer; | ||
194 | - } | ||
195 | -</style> | 135 | +<style lang="less" scoped></style> |
@@ -2,24 +2,15 @@ | @@ -2,24 +2,15 @@ | ||
2 | <div> | 2 | <div> |
3 | <BasicForm @register="registerForm"> | 3 | <BasicForm @register="registerForm"> |
4 | <template #structSlot> | 4 | <template #structSlot> |
5 | - <div> | ||
6 | - <template v-for="(item, index) in outputParamData" :key="item"> | ||
7 | - <span style="display: none">{{ item }}</span> | ||
8 | - <InputParamItem | ||
9 | - :title="item.name" | ||
10 | - :item="item" | ||
11 | - class="mt-4" | ||
12 | - :index="index" | ||
13 | - :ref="dynamicBindRef.outputParamItemRef" | ||
14 | - @delete="deleteOutParItem" | ||
15 | - @edit="editOutParItem" | ||
16 | - /> | ||
17 | - </template> | ||
18 | - <div style="display: flex" :class="{ 'mt-2': outputParamData.length > 0 }"> | ||
19 | - <span class="add-style">+</span> | ||
20 | - <span class="add-style" @click="handleAddOutParam">增加参数</span> | ||
21 | - </div> | ||
22 | - </div> | 5 | + <CommomParam |
6 | + ref="CommomParamInParamRef" | ||
7 | + :isExcludeStruct="true" | ||
8 | + :isInputParam="true" | ||
9 | + :inputParamData="inputParamData" | ||
10 | + @emitAddInParam="handleAddInParam" | ||
11 | + @emitEditInParam="handleEditInParam" | ||
12 | + @emitDeletelnParam="handleDelInParam" | ||
13 | + /> | ||
23 | </template> | 14 | </template> |
24 | </BasicForm> | 15 | </BasicForm> |
25 | <AddParamsModal @register="registerModal" @data="getData" /> | 16 | <AddParamsModal @register="registerModal" @data="getData" /> |
@@ -30,16 +21,17 @@ | @@ -30,16 +21,17 @@ | ||
30 | import { BasicForm, useForm } from '/@/components/Form'; | 21 | import { BasicForm, useForm } from '/@/components/Form'; |
31 | import { addParamsSchemas } from '../config'; | 22 | import { addParamsSchemas } from '../config'; |
32 | import { useModal } from '/@/components/Modal'; | 23 | import { useModal } from '/@/components/Modal'; |
33 | - import InputParamItem from './InputParamItem.vue'; | ||
34 | - import AddParamsModal from './AddParamsModal.vue'; | ||
35 | import { buildUUID } from '/@/utils/uuid'; | 24 | import { buildUUID } from '/@/utils/uuid'; |
36 | import { useChangeTypeGetTypeForm, useUpdateFormExcludeStruct } from '../../hook/useTypeGetForm'; | 25 | import { useChangeTypeGetTypeForm, useUpdateFormExcludeStruct } from '../../hook/useTypeGetForm'; |
26 | + import AddParamsModal from './AddParamsModal.vue'; | ||
27 | + import CommomParam from './CommomParam.vue'; | ||
37 | 28 | ||
38 | defineEmits(['register']); | 29 | defineEmits(['register']); |
39 | - const outputParamData: any = ref([]); | ||
40 | - const dynamicBindRef = { | ||
41 | - outputParamItemRef: ref([]), | ||
42 | - }; | 30 | + |
31 | + const inputParamData: any = ref([]); | ||
32 | + | ||
33 | + const CommomParamInParamRef = ref<InstanceType<typeof CommomParam>>(); | ||
34 | + | ||
43 | const [registerModal, { openModal }] = useModal(); | 35 | const [registerModal, { openModal }] = useModal(); |
44 | 36 | ||
45 | const [registerForm, { validate, setFieldsValue, resetFields, updateSchema }] = useForm({ | 37 | const [registerForm, { validate, setFieldsValue, resetFields, updateSchema }] = useForm({ |
@@ -54,41 +46,25 @@ | @@ -54,41 +46,25 @@ | ||
54 | }); | 46 | }); |
55 | 47 | ||
56 | const getData = (d, f) => { | 48 | const getData = (d, f) => { |
57 | - if (f == 'output') { | 49 | + if (f === 'input') { |
58 | if (d.id !== null) { | 50 | if (d.id !== null) { |
59 | - const findIndex = unref(outputParamData).findIndex((f) => f.id == d.id); | ||
60 | - if (findIndex !== -1) unref(outputParamData).splice(findIndex, 1, d); | 51 | + const findIndex = unref(inputParamData).findIndex((f) => f.id == d.id); |
52 | + if (findIndex !== -1) unref(inputParamData).splice(findIndex, 1, d); | ||
61 | } else { | 53 | } else { |
62 | - unref(outputParamData).push({ ...d, id: buildUUID() }); | 54 | + unref(inputParamData).push({ ...d, id: buildUUID() }); |
63 | } | 55 | } |
64 | } | 56 | } |
65 | }; | 57 | }; |
66 | 58 | ||
67 | - const handleAddOutParam = () => { | ||
68 | - openModal(true, { | ||
69 | - isUpdate: true, | ||
70 | - flag: 'output', | ||
71 | - excludeStruct: true, | ||
72 | - }); | ||
73 | - }; | 59 | + const handleAddInParam = (b, o) => openModal(b, o); |
74 | 60 | ||
75 | - const deleteOutParItem = (index) => { | ||
76 | - unref(outputParamData).splice(index, 1); | ||
77 | - }; | 61 | + const handleEditInParam = (b, o) => openModal(b, o); |
78 | 62 | ||
79 | - const editOutParItem = (item) => { | ||
80 | - openModal(true, { | ||
81 | - isUpdate: false, | ||
82 | - record: item, | ||
83 | - flag: 'output', | ||
84 | - excludeStruct: true, | ||
85 | - }); | ||
86 | - }; | 63 | + const handleDelInParam = (i) => unref(inputParamData).splice(i, 1); |
87 | 64 | ||
88 | const updateFormExcludeStruct = (flag) => useUpdateFormExcludeStruct(flag, updateSchema); | 65 | const updateFormExcludeStruct = (flag) => useUpdateFormExcludeStruct(flag, updateSchema); |
89 | 66 | ||
90 | - const getOutputStructList = () => | ||
91 | - unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | 67 | + const getOutputStructList = () => CommomParamInParamRef.value?.getInputStructList(); |
92 | 68 | ||
93 | const getBoolOrStruct = (T, S, B) => { | 69 | const getBoolOrStruct = (T, S, B) => { |
94 | if (T === 'STRUCT') { | 70 | if (T === 'STRUCT') { |
@@ -112,76 +88,60 @@ | @@ -112,76 +88,60 @@ | ||
112 | const values = await validate(); | 88 | const values = await validate(); |
113 | if (!values) return; | 89 | if (!values) return; |
114 | const outputParams = getOutputStructList(); | 90 | const outputParams = getOutputStructList(); |
115 | - outputParams.forEach((f) => { | 91 | + outputParams?.forEach((f) => { |
116 | f.dataType = 'STRUCT'; | 92 | f.dataType = 'STRUCT'; |
117 | - f.childDataType = values.dataType; | ||
118 | - f.childName = values.name; | 93 | + f.childSpecsDTO = getIntOrText(f.childDataType, f.dataSpecs); |
94 | + f.childEnumSpecsDTO = getBoolOrStruct(f.childDataType, null, f.dataSpecsList); | ||
119 | }); | 95 | }); |
120 | const dataSpecs = useChangeTypeGetTypeForm(values.dataType, values); | 96 | const dataSpecs = useChangeTypeGetTypeForm(values.dataType, values); |
121 | const dataSpecsList = useChangeTypeGetTypeForm(values.dataType, values); | 97 | const dataSpecsList = useChangeTypeGetTypeForm(values.dataType, values); |
122 | - const { boolClose, boolOpen, step, unit, valueRange, ...value } = values; | ||
123 | - const none = { | ||
124 | - ...boolClose, | ||
125 | - ...boolOpen, | ||
126 | - ...step, | ||
127 | - ...unit, | ||
128 | - ...valueRange, | ||
129 | - }; | 98 | + const { boolClose, boolOpen, step, unit, valueRange, length, ...value } = values; |
99 | + const none = [valueRange, step, unit, boolOpen, boolClose, length]; //没用,防止eslint报未使用变量 | ||
130 | console.log(none); | 100 | console.log(none); |
131 | return { | 101 | return { |
102 | + ...{ childName: value.name }, | ||
103 | + ...{ childDataType: value.dataType }, | ||
132 | ...value, | 104 | ...value, |
133 | ...{ | 105 | ...{ |
134 | dataSpecs: getIntOrText(values.dataType, dataSpecs), | 106 | dataSpecs: getIntOrText(values.dataType, dataSpecs), |
135 | }, | 107 | }, |
136 | - // ...{ | ||
137 | - // childSpecsDTO: getIntOrText(values.dataType, dataSpecs), | ||
138 | - // }, | ||
139 | ...{ | 108 | ...{ |
140 | dataSpecsList: getBoolOrStruct(values.dataType, outputParams, dataSpecsList), | 109 | dataSpecsList: getBoolOrStruct(values.dataType, outputParams, dataSpecsList), |
141 | }, | 110 | }, |
142 | - // ...{ childEnumSpecsDTO: getBoolOrStruct(values.dataType, outputParams, dataSpecsList) }, | ||
143 | - // ...{ | ||
144 | - // childDataType: values.dataType, | ||
145 | - // childName: values.name, | ||
146 | - // }, | ||
147 | }; | 111 | }; |
148 | }; | 112 | }; |
149 | 113 | ||
150 | const setFormData = (v) => { | 114 | const setFormData = (v) => { |
151 | - setFieldsValue(v); | ||
152 | - setFieldsValue({ | ||
153 | - ...v.dataSpecs, | ||
154 | - valueRange: v.dataSpecs, | ||
155 | - }); | ||
156 | try { | 115 | try { |
116 | + setFieldsValue(v); | ||
157 | setFieldsValue({ | 117 | setFieldsValue({ |
158 | - boolClose: v.dataType == 'BOOL' ? v.dataSpecsList[0].name : '', | ||
159 | - boolOpen: v.dataType == 'BOOL' ? v.dataSpecsList[1].name : '', | 118 | + ...v.dataSpecs, |
119 | + valueRange: v.dataSpecs, | ||
160 | }); | 120 | }); |
161 | - } catch (e) { | ||
162 | - console.log(e); | ||
163 | - } | ||
164 | - const { dataSpecsList, dataType, childDataType } = v; | ||
165 | - if (childDataType == 'BOOL') { | ||
166 | setFieldsValue({ | 121 | setFieldsValue({ |
167 | - dataType: childDataType, | ||
168 | - boolClose: dataSpecsList[0].name, | ||
169 | - boolOpen: dataSpecsList[1].name, | 122 | + boolClose: v.dataType == 'BOOL' ? v.dataSpecsList[0].name : '', |
123 | + boolOpen: v.dataType == 'BOOL' ? v.dataSpecsList[1].name : '', | ||
170 | }); | 124 | }); |
171 | - } | ||
172 | - try { | 125 | + const { dataSpecsList, dataType, childDataType } = v; |
126 | + if (childDataType == 'BOOL') { | ||
127 | + setFieldsValue({ | ||
128 | + dataType: childDataType, | ||
129 | + boolClose: dataSpecsList[0].name, | ||
130 | + boolOpen: dataSpecsList[1].name, | ||
131 | + }); | ||
132 | + } | ||
173 | if (dataType == 'BOOL' || dataType == 'STRUCT') { | 133 | if (dataType == 'BOOL' || dataType == 'STRUCT') { |
174 | - outputParamData.value = [...new Array(dataSpecsList.length).keys()]; | ||
175 | - outputParamData.value = dataSpecsList; | 134 | + inputParamData.value = [...new Array(dataSpecsList.length).keys()]; |
135 | + inputParamData.value = dataSpecsList; | ||
176 | } | 136 | } |
177 | } catch (e) { | 137 | } catch (e) { |
178 | - console.log(e); | 138 | + console.log('AddParamForm error info', e); |
179 | } | 139 | } |
180 | }; | 140 | }; |
181 | 141 | ||
182 | const resetFormData = () => { | 142 | const resetFormData = () => { |
183 | resetFields(); | 143 | resetFields(); |
184 | - outputParamData.value = []; | 144 | + inputParamData.value = []; |
185 | }; | 145 | }; |
186 | 146 | ||
187 | defineExpose({ | 147 | defineExpose({ |
1 | +<template> | ||
2 | + <!-- 输入参数 --> | ||
3 | + <div v-if="isInputParam"> | ||
4 | + <template v-for="(item, index) in inputParamData" :key="item.name"> | ||
5 | + <span style="display: none">{{ item }}</span> | ||
6 | + <InputParamItem | ||
7 | + :title="item.name" | ||
8 | + :item="item" | ||
9 | + class="mt-4" | ||
10 | + :index="index" | ||
11 | + :ref="dynamicBindRef.inputParamItemRef" | ||
12 | + @delete="deleteInParItem" | ||
13 | + @edit="editInParItem" | ||
14 | + /> | ||
15 | + </template> | ||
16 | + <div style="display: flex" :class="{ 'mt-2': inputParamData.length > 0 }"> | ||
17 | + <span class="add-style">+</span> | ||
18 | + <span class="add-style" @click="handleAddInParam">增加参数</span> | ||
19 | + </div> | ||
20 | + </div> | ||
21 | + <!-- 输出参数 --> | ||
22 | + <div v-if="isOutputParam"> | ||
23 | + <template v-for="(item, index) in outputParamData" :key="item.name"> | ||
24 | + <span style="display: none">{{ item + index }}</span> | ||
25 | + <InputParamItem | ||
26 | + :title="item.name" | ||
27 | + :item="item" | ||
28 | + class="mt-4" | ||
29 | + :index="index" | ||
30 | + :ref="dynamicBindRef.outputParamItemRef" | ||
31 | + @delete="deleteOutParItem" | ||
32 | + @edit="editOutParItem" | ||
33 | + /> | ||
34 | + </template> | ||
35 | + <div style="display: flex" :class="{ 'mt-2': outputParamData.length > 0 }"> | ||
36 | + <span class="add-style">+</span> | ||
37 | + <span class="add-style" @click="handleAddOutParam">增加参数</span> | ||
38 | + </div> | ||
39 | + </div> | ||
40 | +</template> | ||
41 | +<script lang="ts" setup> | ||
42 | + import { ref, unref } from 'vue'; | ||
43 | + import InputParamItem from './InputParamItem.vue'; | ||
44 | + | ||
45 | + const props = defineProps({ | ||
46 | + isExcludeStruct: { type: Boolean, default: true }, | ||
47 | + isInputParam: { type: Boolean, default: false }, | ||
48 | + isOutputParam: { type: Boolean, default: false }, | ||
49 | + inputParamData: { | ||
50 | + type: Array as PropType<any[]>, | ||
51 | + default: () => [], | ||
52 | + }, | ||
53 | + outputParamData: { | ||
54 | + type: Array as PropType<any[]>, | ||
55 | + default: () => [], | ||
56 | + }, | ||
57 | + }); | ||
58 | + | ||
59 | + const emit = defineEmits([ | ||
60 | + 'emitAddInParam', | ||
61 | + 'emitEditInParam', | ||
62 | + 'emitDeletelnParam', | ||
63 | + 'emitAddOutParam', | ||
64 | + 'emitEditOutParam', | ||
65 | + 'emitDeleteOutParam', | ||
66 | + ]); | ||
67 | + | ||
68 | + const dynamicBindRef = { | ||
69 | + inputParamItemRef: ref([]), | ||
70 | + outputParamItemRef: ref([]), | ||
71 | + }; | ||
72 | + | ||
73 | + const commomAddParamObj = { | ||
74 | + isUpdate: true, | ||
75 | + excludeStruct: props.isExcludeStruct ? true : false, | ||
76 | + }; | ||
77 | + | ||
78 | + const commomEditParamObj = { | ||
79 | + isUpdate: false, | ||
80 | + excludeStruct: props.isExcludeStruct ? true : false, | ||
81 | + }; | ||
82 | + | ||
83 | + const handleAddInParam = () => { | ||
84 | + emit('emitAddInParam', true, { | ||
85 | + ...commomAddParamObj, | ||
86 | + flag: 'input', | ||
87 | + }); | ||
88 | + }; | ||
89 | + | ||
90 | + const deleteInParItem = (index) => { | ||
91 | + emit('emitDeletelnParam', index); | ||
92 | + }; | ||
93 | + | ||
94 | + const editInParItem = (item) => { | ||
95 | + emit('emitEditInParam', true, { | ||
96 | + ...commomEditParamObj, | ||
97 | + record: item, | ||
98 | + flag: 'input', | ||
99 | + }); | ||
100 | + }; | ||
101 | + | ||
102 | + const handleAddOutParam = () => { | ||
103 | + emit('emitAddOutParam', true, { | ||
104 | + ...commomAddParamObj, | ||
105 | + flag: 'output', | ||
106 | + }); | ||
107 | + }; | ||
108 | + | ||
109 | + const deleteOutParItem = (index) => { | ||
110 | + emit('emitDeleteOutParam', index); | ||
111 | + }; | ||
112 | + | ||
113 | + const editOutParItem = (item) => { | ||
114 | + emit('emitEditOutParam', true, { | ||
115 | + ...commomEditParamObj, | ||
116 | + record: item, | ||
117 | + flag: 'output', | ||
118 | + }); | ||
119 | + }; | ||
120 | + | ||
121 | + const getInputStructList = () => | ||
122 | + unref(dynamicBindRef.inputParamItemRef)?.map((item: any) => item.getFormData()); | ||
123 | + | ||
124 | + const getOutputStructList = () => | ||
125 | + unref(dynamicBindRef.outputParamItemRef)?.map((item: any) => item.getFormData()); | ||
126 | + | ||
127 | + defineExpose({ | ||
128 | + getInputStructList, | ||
129 | + getOutputStructList, | ||
130 | + }); | ||
131 | +</script> | ||
132 | +<style lang="less" scoped> | ||
133 | + .add-style { | ||
134 | + color: #0170cc; | ||
135 | + cursor: pointer; | ||
136 | + } | ||
137 | +</style> |
@@ -5,15 +5,15 @@ export const mockData = { | @@ -5,15 +5,15 @@ export const mockData = { | ||
5 | _ppk: {}, | 5 | _ppk: {}, |
6 | events: [ | 6 | events: [ |
7 | { | 7 | { |
8 | - createTs: 1666596472189, | 8 | + createTs: 1668151471327, |
9 | custom: true, | 9 | custom: true, |
10 | - description: '监播动作结果上报事件', | ||
11 | - eventName: '监播动作结果上报事件', | 10 | + eventName: 'SDK运行状态', |
12 | eventType: 'INFO_EVENT_TYPE', | 11 | eventType: 'INFO_EVENT_TYPE', |
13 | - identifier: 'MonitorActionEvent', | 12 | + identifier: 'ContentSdkStatusEvent', |
14 | outputData: [ | 13 | outputData: [ |
15 | { | 14 | { |
16 | id: buildUUID(), | 15 | id: buildUUID(), |
16 | + | ||
17 | custom: true, | 17 | custom: true, |
18 | dataSpecs: { | 18 | dataSpecs: { |
19 | dataType: 'INT', | 19 | dataType: 'INT', |
@@ -26,12 +26,13 @@ export const mockData = { | @@ -26,12 +26,13 @@ export const mockData = { | ||
26 | }, | 26 | }, |
27 | dataType: 'INT', | 27 | dataType: 'INT', |
28 | direction: 'PARAM_OUTPUT', | 28 | direction: 'PARAM_OUTPUT', |
29 | - identifier: 'ActionType', | ||
30 | - name: '监播操作类型', | 29 | + identifier: 'Status', |
30 | + name: '状态类型值', | ||
31 | paraOrder: 0, | 31 | paraOrder: 0, |
32 | }, | 32 | }, |
33 | { | 33 | { |
34 | id: buildUUID(), | 34 | id: buildUUID(), |
35 | + | ||
35 | custom: true, | 36 | custom: true, |
36 | dataSpecs: { | 37 | dataSpecs: { |
37 | dataType: 'TEXT', | 38 | dataType: 'TEXT', |
@@ -39,293 +40,247 @@ export const mockData = { | @@ -39,293 +40,247 @@ export const mockData = { | ||
39 | }, | 40 | }, |
40 | dataType: 'TEXT', | 41 | dataType: 'TEXT', |
41 | direction: 'PARAM_OUTPUT', | 42 | direction: 'PARAM_OUTPUT', |
42 | - identifier: 'FileKey', | ||
43 | - name: '上传文件ossKey', | 43 | + identifier: 'Message', |
44 | + name: '消息内容', | ||
44 | paraOrder: 1, | 45 | paraOrder: 1, |
45 | }, | 46 | }, |
46 | { | 47 | { |
47 | id: buildUUID(), | 48 | id: buildUUID(), |
49 | + | ||
48 | custom: true, | 50 | custom: true, |
49 | dataSpecsList: [ | 51 | dataSpecsList: [ |
50 | { | 52 | { |
51 | id: buildUUID(), | 53 | 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: '峰值', | 54 | + |
55 | + childDataType: 'INT', | ||
56 | + childName: '测试结构体回显1', | ||
77 | childSpecsDTO: { | 57 | childSpecsDTO: { |
78 | - dataType: 'DOUBLE', | ||
79 | - max: '33', | ||
80 | - min: '22', | ||
81 | - step: '2', | ||
82 | - unit: 'm³/s', | ||
83 | - unitName: '立方米每秒', | 58 | + dataType: 'INT', |
59 | + max: '22', | ||
60 | + min: '11', | ||
61 | + step: '3', | ||
84 | }, | 62 | }, |
85 | custom: true, | 63 | custom: true, |
86 | dataSpecs: { | 64 | dataSpecs: { |
87 | - dataType: 'DOUBLE', | ||
88 | - max: '33', | ||
89 | - min: '22', | ||
90 | - step: '2', | ||
91 | - unit: 'm³/s', | ||
92 | - unitName: '立方米每秒', | 65 | + dataType: 'INT', |
66 | + max: '22', | ||
67 | + min: '11', | ||
68 | + step: '3', | ||
93 | }, | 69 | }, |
94 | dataType: 'STRUCT', | 70 | dataType: 'STRUCT', |
95 | - identifier: 'bass', | 71 | + identifier: '1', |
96 | isStd: 0, | 72 | isStd: 0, |
97 | - name: '峰值', | 73 | + name: '测试结构体回显1', |
98 | }, | 74 | }, |
99 | { | 75 | { |
100 | id: buildUUID(), | 76 | id: buildUUID(), |
77 | + | ||
101 | childDataType: 'BOOL', | 78 | childDataType: 'BOOL', |
102 | childEnumSpecsDTO: [ | 79 | childEnumSpecsDTO: [ |
103 | { | 80 | { |
104 | dataType: 'BOOL', | 81 | dataType: 'BOOL', |
105 | - name: '1', | 82 | + name: 'ffg', |
106 | value: 0, | 83 | value: 0, |
107 | }, | 84 | }, |
108 | { | 85 | { |
109 | dataType: 'BOOL', | 86 | dataType: 'BOOL', |
110 | - name: '0', | 87 | + name: 'ggg', |
111 | value: 1, | 88 | value: 1, |
112 | }, | 89 | }, |
113 | ], | 90 | ], |
114 | - childName: '平均速率', | 91 | + childName: '测试结构体回显2', |
115 | custom: true, | 92 | custom: true, |
116 | dataSpecsList: [ | 93 | dataSpecsList: [ |
117 | { | 94 | { |
118 | - id: buildUUID(), | ||
119 | dataType: 'BOOL', | 95 | dataType: 'BOOL', |
120 | - name: '1', | 96 | + name: 'ffg', |
121 | value: 0, | 97 | value: 0, |
122 | }, | 98 | }, |
123 | { | 99 | { |
124 | - id: buildUUID(), | ||
125 | dataType: 'BOOL', | 100 | dataType: 'BOOL', |
126 | - name: '0', | 101 | + name: 'ggg', |
127 | value: 1, | 102 | value: 1, |
128 | }, | 103 | }, |
129 | ], | 104 | ], |
130 | dataType: 'STRUCT', | 105 | dataType: 'STRUCT', |
131 | - identifier: 'average', | 106 | + identifier: '3', |
132 | isStd: 0, | 107 | isStd: 0, |
133 | - name: '平均速率', | 108 | + name: '测试结构体回显2', |
134 | }, | 109 | }, |
135 | - ], | ||
136 | - dataType: 'STRUCT', | ||
137 | - direction: 'PARAM_OUTPUT', | ||
138 | - identifier: 'ceshi', | ||
139 | - name: '网速', | ||
140 | - paraOrder: 3, | ||
141 | - }, | ||
142 | - ], | ||
143 | - productKey: 'hsrnXEfGFDv', | ||
144 | - required: false, | ||
145 | - }, | ||
146 | - ], | ||
147 | - productKey: 'hsrnXEfGFDv', | ||
148 | - properties: [ | ||
149 | - // { | ||
150 | - // createTs: 1667876342551, | ||
151 | - // custom: true, | ||
152 | - // customFlag: true, | ||
153 | - // dataSpecs: { | ||
154 | - // dataType: 'TEXT', | ||
155 | - // length: 10240, | ||
156 | - // }, | ||
157 | - // dataType: 'TEXT', | ||
158 | - // description: '内容推荐', | ||
159 | - // identifier: 'Brightness', | ||
160 | - // name: '亮度百分比', | ||
161 | - // productKey: 'hsrnXEfGFDv', | ||
162 | - // required: false, | ||
163 | - // rwFlag: 'READ_WRITE', | ||
164 | - // std: false, | ||
165 | - // }, | ||
166 | - // { | ||
167 | - // createTs: 1667876342551, | ||
168 | - // custom: true, | ||
169 | - // customFlag: 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: 'BOOL', | ||
183 | - // description: '内容推荐', | ||
184 | - // identifier: 'Brightness', | ||
185 | - // name: '亮度百分比', | ||
186 | - // productKey: 'hsrnXEfGFDv', | ||
187 | - // required: false, | ||
188 | - // rwFlag: 'READ_WRITE', | ||
189 | - // std: false, | ||
190 | - // }, | ||
191 | - // { | ||
192 | - // createTs: 1667876342551, | ||
193 | - // custom: true, | ||
194 | - // customFlag: true, | ||
195 | - // dataSpecs: { | ||
196 | - // dataType: 'INT', | ||
197 | - // max: '1024', | ||
198 | - // min: '-1024', | ||
199 | - // step: '1', | ||
200 | - // unit: 'var', | ||
201 | - // }, | ||
202 | - // dataType: 'INT', | ||
203 | - // description: '内容推荐。0:未知状态,1:熄屏,2:亮屏', | ||
204 | - // identifier: 'RunningState', | ||
205 | - // name: '运行状态', | ||
206 | - // productKey: 'hsrnXEfGFDv', | ||
207 | - // required: false, | ||
208 | - // rwFlag: 'READ_WRITE', | ||
209 | - // std: false, | ||
210 | - // }, | ||
211 | - { | ||
212 | - createTs: 1666604372638, | ||
213 | - custom: true, | ||
214 | - customFlag: true, | ||
215 | - dataSpecsList: [ | ||
216 | - { | ||
217 | - childDataType: 'BOOL', | ||
218 | - childEnumSpecsDTO: [ | ||
219 | { | 110 | { |
220 | - dataType: 'BOOL', | ||
221 | - name: '左眼', | ||
222 | - value: 0, | 111 | + id: buildUUID(), |
112 | + | ||
113 | + childDataType: 'TEXT', | ||
114 | + childName: '测试结构体回显3', | ||
115 | + childSpecsDTO: { | ||
116 | + dataType: 'TEXT', | ||
117 | + length: 10240, | ||
118 | + }, | ||
119 | + custom: true, | ||
120 | + dataSpecs: { | ||
121 | + dataType: 'TEXT', | ||
122 | + length: 10240, | ||
123 | + }, | ||
124 | + dataType: 'STRUCT', | ||
125 | + identifier: '33', | ||
126 | + isStd: 0, | ||
127 | + name: '测试结构体回显3', | ||
223 | }, | 128 | }, |
224 | { | 129 | { |
225 | - dataType: 'BOOL', | ||
226 | - name: '右眼', | ||
227 | - value: 1, | 130 | + id: buildUUID(), |
131 | + | ||
132 | + childDataType: 'DOUBLE', | ||
133 | + childName: '测试结构体回显4', | ||
134 | + childSpecsDTO: { | ||
135 | + dataType: 'DOUBLE', | ||
136 | + max: '44.0', | ||
137 | + min: '33.0', | ||
138 | + step: '5.0', | ||
139 | + unit: 'gear', | ||
140 | + unitName: '档', | ||
141 | + }, | ||
142 | + custom: true, | ||
143 | + dataSpecs: { | ||
144 | + dataType: 'DOUBLE', | ||
145 | + max: '44.0', | ||
146 | + min: '33.0', | ||
147 | + step: '5.0', | ||
148 | + unit: 'gear', | ||
149 | + unitName: '档', | ||
150 | + }, | ||
151 | + dataType: 'STRUCT', | ||
152 | + identifier: '4', | ||
153 | + isStd: 0, | ||
154 | + name: '测试结构体回显4', | ||
228 | }, | 155 | }, |
229 | ], | 156 | ], |
230 | - childName: '眼睛', | 157 | + dataType: 'STRUCT', |
158 | + direction: 'PARAM_OUTPUT', | ||
159 | + identifier: '1', | ||
160 | + name: '测试结构体回显', | ||
161 | + paraOrder: 2, | ||
162 | + }, | ||
163 | + { | ||
164 | + id: buildUUID(), | ||
165 | + | ||
231 | custom: true, | 166 | custom: true, |
232 | dataSpecsList: [ | 167 | dataSpecsList: [ |
233 | { | 168 | { |
234 | dataType: 'BOOL', | 169 | dataType: 'BOOL', |
235 | - name: '左眼', | 170 | + name: 'er', |
236 | value: 0, | 171 | value: 0, |
237 | }, | 172 | }, |
238 | { | 173 | { |
239 | dataType: 'BOOL', | 174 | dataType: 'BOOL', |
240 | - name: '右眼', | 175 | + name: 'dd', |
241 | value: 1, | 176 | value: 1, |
242 | }, | 177 | }, |
243 | ], | 178 | ], |
244 | - dataType: 'STRUCT', | ||
245 | - identifier: 'Eye', | ||
246 | - isStd: 0, | ||
247 | - name: '眼睛', | 179 | + dataType: 'BOOL', |
180 | + direction: 'PARAM_OUTPUT', | ||
181 | + identifier: '2212', | ||
182 | + name: 'bool类型', | ||
183 | + paraOrder: 3, | ||
248 | }, | 184 | }, |
185 | + ], | ||
186 | + productKey: 'hsrnXEfGFDv', | ||
187 | + required: false, | ||
188 | + }, | ||
189 | + ], | ||
190 | + productKey: 'hsrnXEfGFDv', | ||
191 | + properties: [ | ||
192 | + { | ||
193 | + createTs: 1668152010679, | ||
194 | + custom: true, | ||
195 | + customFlag: true, | ||
196 | + dataSpecsList: [ | ||
249 | { | 197 | { |
250 | - childDataType: 'INT', | ||
251 | - childName: '鼻子', | 198 | + id: buildUUID(), |
199 | + | ||
200 | + childDataType: 'TEXT', | ||
201 | + childName: '测试化学需氧量text类型', | ||
252 | childSpecsDTO: { | 202 | childSpecsDTO: { |
253 | - dataType: 'INT', | ||
254 | - max: '22', | ||
255 | - min: '12', | ||
256 | - step: '5', | ||
257 | - unit: '只', | ||
258 | - unitName: '只', | 203 | + dataType: 'TEXT', |
204 | + length: 10240, | ||
259 | }, | 205 | }, |
260 | custom: true, | 206 | custom: true, |
261 | dataSpecs: { | 207 | dataSpecs: { |
262 | - dataType: 'INT', | ||
263 | - max: '22', | ||
264 | - min: '12', | ||
265 | - step: '5', | ||
266 | - unit: '只', | ||
267 | - unitName: '只', | 208 | + dataType: 'TEXT', |
209 | + length: 10240, | ||
268 | }, | 210 | }, |
269 | dataType: 'STRUCT', | 211 | dataType: 'STRUCT', |
270 | - identifier: 'Boless', | 212 | + identifier: 'text', |
271 | isStd: 0, | 213 | isStd: 0, |
272 | - name: '鼻子', | 214 | + name: '测试化学需氧量text类型', |
273 | }, | 215 | }, |
274 | { | 216 | { |
275 | - childDataType: 'TEXT', | ||
276 | - childName: '脸颊', | 217 | + id: buildUUID(), |
218 | + | ||
219 | + childDataType: 'INT', | ||
220 | + childName: '测试化学需氧量int类型', | ||
277 | childSpecsDTO: { | 221 | childSpecsDTO: { |
278 | - dataType: 'TEXT', | ||
279 | - length: 10240, | 222 | + dataType: 'INT', |
223 | + max: '22', | ||
224 | + min: '11', | ||
225 | + step: '2', | ||
226 | + unit: 'mm/hour', | ||
227 | + unitName: '降雨量', | ||
280 | }, | 228 | }, |
281 | custom: true, | 229 | custom: true, |
282 | dataSpecs: { | 230 | dataSpecs: { |
283 | - dataType: 'TEXT', | ||
284 | - length: 10240, | 231 | + dataType: 'INT', |
232 | + max: '22', | ||
233 | + min: '11', | ||
234 | + step: '2', | ||
235 | + unit: 'mm/hour', | ||
236 | + unitName: '降雨量', | ||
285 | }, | 237 | }, |
286 | dataType: 'STRUCT', | 238 | dataType: 'STRUCT', |
287 | - identifier: 'Facebook', | 239 | + identifier: 'ibt', |
288 | isStd: 0, | 240 | isStd: 0, |
289 | - name: '脸颊', | 241 | + name: '测试化学需氧量int类型', |
290 | }, | 242 | }, |
291 | { | 243 | { |
244 | + id: buildUUID(), | ||
245 | + | ||
292 | childDataType: 'BOOL', | 246 | childDataType: 'BOOL', |
293 | childEnumSpecsDTO: [ | 247 | childEnumSpecsDTO: [ |
294 | { | 248 | { |
295 | dataType: 'BOOL', | 249 | dataType: 'BOOL', |
296 | - name: '左耳', | 250 | + name: '需要', |
297 | value: 0, | 251 | value: 0, |
298 | }, | 252 | }, |
299 | { | 253 | { |
300 | dataType: 'BOOL', | 254 | dataType: 'BOOL', |
301 | - name: '右耳', | 255 | + name: '不需要', |
302 | value: 1, | 256 | value: 1, |
303 | }, | 257 | }, |
304 | ], | 258 | ], |
305 | - childName: '耳朵', | 259 | + childName: '测试化学需氧量bool类型', |
306 | custom: true, | 260 | custom: true, |
307 | dataSpecsList: [ | 261 | dataSpecsList: [ |
308 | { | 262 | { |
309 | dataType: 'BOOL', | 263 | dataType: 'BOOL', |
310 | - name: '左耳', | 264 | + name: '需要', |
311 | value: 0, | 265 | value: 0, |
312 | }, | 266 | }, |
313 | { | 267 | { |
314 | dataType: 'BOOL', | 268 | dataType: 'BOOL', |
315 | - name: '右耳', | 269 | + name: '不需要', |
316 | value: 1, | 270 | value: 1, |
317 | }, | 271 | }, |
318 | ], | 272 | ], |
319 | dataType: 'STRUCT', | 273 | dataType: 'STRUCT', |
320 | - identifier: 'Eyear', | 274 | + identifier: 'bol', |
321 | isStd: 0, | 275 | isStd: 0, |
322 | - name: '耳朵', | 276 | + name: '测试化学需氧量bool类型', |
323 | }, | 277 | }, |
324 | ], | 278 | ], |
325 | dataType: 'STRUCT', | 279 | dataType: 'STRUCT', |
326 | - description: '用于人脸特征下发,基于人脸门禁1.0物模型\n设备级开关', | ||
327 | - identifier: 'SupportFaceFeature', | ||
328 | - name: '支持人脸特征下发', | 280 | + description: |
281 | + '化学需氧量COD(Chemical Oxygen Demand)是以化学方法测量水样中需要被氧化的还原性物质的量', | ||
282 | + identifier: 'COD', | ||
283 | + name: '化学需氧量', | ||
329 | productKey: 'hsrnXEfGFDv', | 284 | productKey: 'hsrnXEfGFDv', |
330 | required: false, | 285 | required: false, |
331 | rwFlag: 'READ_WRITE', | 286 | rwFlag: 'READ_WRITE', |
@@ -334,13 +289,14 @@ export const mockData = { | @@ -334,13 +289,14 @@ export const mockData = { | ||
334 | ], | 289 | ], |
335 | services: [ | 290 | services: [ |
336 | { | 291 | { |
337 | - callType: 'ASYNC', | ||
338 | - createTs: 1667963835032, | 292 | + callType: 'SYNC', |
293 | + createTs: 1668148397946, | ||
339 | custom: true, | 294 | custom: true, |
340 | - description: '配置模型', | ||
341 | - identifier: 'ConfigModel', | 295 | + description: '删除模型1', |
296 | + identifier: 'DeleteModel', | ||
342 | inputParams: [ | 297 | inputParams: [ |
343 | { | 298 | { |
299 | + id: buildUUID(), | ||
344 | custom: true, | 300 | custom: true, |
345 | dataSpecs: { | 301 | dataSpecs: { |
346 | dataType: 'TEXT', | 302 | dataType: 'TEXT', |
@@ -349,100 +305,269 @@ export const mockData = { | @@ -349,100 +305,269 @@ export const mockData = { | ||
349 | dataType: 'TEXT', | 305 | dataType: 'TEXT', |
350 | direction: 'PARAM_INPUT', | 306 | direction: 'PARAM_INPUT', |
351 | identifier: 'AlgorithmID', | 307 | identifier: 'AlgorithmID', |
352 | - name: '算法任务-人脸识别', | 308 | + name: 'text类型', |
353 | paraOrder: 0, | 309 | paraOrder: 0, |
354 | }, | 310 | }, |
355 | { | 311 | { |
312 | + id: buildUUID(), | ||
313 | + custom: true, | ||
314 | + dataSpecsList: [ | ||
315 | + { | ||
316 | + id: buildUUID(), | ||
317 | + | ||
318 | + childDataType: 'INT', | ||
319 | + childName: '结构体里面1', | ||
320 | + childSpecsDTO: { | ||
321 | + dataType: 'INT', | ||
322 | + max: '22', | ||
323 | + min: '11', | ||
324 | + step: '3', | ||
325 | + unit: 'W/㎡', | ||
326 | + unitName: '太阳总辐射', | ||
327 | + }, | ||
328 | + custom: true, | ||
329 | + dataSpecs: { | ||
330 | + dataType: 'INT', | ||
331 | + max: '22', | ||
332 | + min: '11', | ||
333 | + step: '3', | ||
334 | + unit: 'W/㎡', | ||
335 | + unitName: '太阳总辐射', | ||
336 | + }, | ||
337 | + dataType: 'STRUCT', | ||
338 | + identifier: '1', | ||
339 | + isStd: 0, | ||
340 | + name: '结构体里面1', | ||
341 | + }, | ||
342 | + { | ||
343 | + id: buildUUID(), | ||
344 | + | ||
345 | + childDataType: 'BOOL', | ||
346 | + childEnumSpecsDTO: [ | ||
347 | + { | ||
348 | + dataType: 'BOOL', | ||
349 | + name: '关', | ||
350 | + value: 0, | ||
351 | + }, | ||
352 | + { | ||
353 | + dataType: 'BOOL', | ||
354 | + name: '开', | ||
355 | + value: 1, | ||
356 | + }, | ||
357 | + ], | ||
358 | + childName: '结构体里面2', | ||
359 | + custom: true, | ||
360 | + dataSpecsList: [ | ||
361 | + { | ||
362 | + dataType: 'BOOL', | ||
363 | + name: '关', | ||
364 | + value: 0, | ||
365 | + }, | ||
366 | + { | ||
367 | + dataType: 'BOOL', | ||
368 | + name: '开', | ||
369 | + value: 1, | ||
370 | + }, | ||
371 | + ], | ||
372 | + dataType: 'STRUCT', | ||
373 | + identifier: '2', | ||
374 | + isStd: 0, | ||
375 | + name: '结构体里面2', | ||
376 | + }, | ||
377 | + { | ||
378 | + id: buildUUID(), | ||
379 | + | ||
380 | + childDataType: 'TEXT', | ||
381 | + childName: '结构体里面3', | ||
382 | + childSpecsDTO: { | ||
383 | + dataType: 'TEXT', | ||
384 | + length: 10240, | ||
385 | + }, | ||
386 | + custom: true, | ||
387 | + dataSpecs: { | ||
388 | + dataType: 'TEXT', | ||
389 | + length: 10240, | ||
390 | + }, | ||
391 | + dataType: 'STRUCT', | ||
392 | + identifier: '3', | ||
393 | + isStd: 0, | ||
394 | + name: '结构体里面3', | ||
395 | + }, | ||
396 | + ], | ||
397 | + dataType: 'STRUCT', | ||
398 | + direction: 'PARAM_INPUT', | ||
399 | + identifier: '1', | ||
400 | + name: '结构体里面数据', | ||
401 | + paraOrder: 1, | ||
402 | + }, | ||
403 | + { | ||
404 | + id: buildUUID(), | ||
405 | + | ||
406 | + custom: true, | ||
407 | + dataSpecsList: [ | ||
408 | + { | ||
409 | + dataType: 'BOOL', | ||
410 | + name: '开启', | ||
411 | + value: 0, | ||
412 | + }, | ||
413 | + { | ||
414 | + dataType: 'BOOL', | ||
415 | + name: '战斗', | ||
416 | + value: 1, | ||
417 | + }, | ||
418 | + ], | ||
419 | + dataType: 'BOOL', | ||
420 | + direction: 'PARAM_INPUT', | ||
421 | + identifier: 'bool', | ||
422 | + name: '布尔类型', | ||
423 | + paraOrder: 2, | ||
424 | + }, | ||
425 | + { | ||
426 | + id: buildUUID(), | ||
427 | + | ||
356 | custom: true, | 428 | custom: true, |
357 | dataSpecs: { | 429 | dataSpecs: { |
358 | - dataType: 'DOUBLE', | 430 | + dataType: 'INT', |
359 | max: '22', | 431 | max: '22', |
360 | min: '11', | 432 | min: '11', |
361 | - step: '3', | ||
362 | - unit: 'mm/hour', | ||
363 | - unitName: '降雨量', | 433 | + step: '4', |
434 | + unit: 'dS/m', | ||
435 | + unitName: '土壤EC值', | ||
364 | }, | 436 | }, |
365 | - dataType: 'DOUBLE', | 437 | + dataType: 'INT', |
366 | direction: 'PARAM_INPUT', | 438 | direction: 'PARAM_INPUT', |
367 | - identifier: 'Threshold', | ||
368 | - name: '结果置信度阈值', | ||
369 | - paraOrder: 1, | 439 | + identifier: 'int', |
440 | + name: 'int类型', | ||
441 | + paraOrder: 3, | ||
370 | }, | 442 | }, |
443 | + ], | ||
444 | + outputParams: [ | ||
371 | { | 445 | { |
446 | + id: buildUUID(), | ||
447 | + | ||
448 | + custom: true, | ||
449 | + dataSpecs: { | ||
450 | + dataType: 'TEXT', | ||
451 | + length: 10240, | ||
452 | + }, | ||
453 | + dataType: 'TEXT', | ||
454 | + direction: 'PARAM_OUTPUT', | ||
455 | + identifier: '2', | ||
456 | + name: '测试输出回显text类型', | ||
457 | + paraOrder: 0, | ||
458 | + }, | ||
459 | + { | ||
460 | + id: buildUUID(), | ||
461 | + | ||
372 | custom: true, | 462 | custom: true, |
373 | dataSpecs: { | 463 | dataSpecs: { |
374 | dataType: 'INT', | 464 | dataType: 'INT', |
375 | - max: '1024', | ||
376 | - min: '-1024', | ||
377 | - step: '1', | 465 | + max: '22', |
466 | + min: '11', | ||
467 | + step: '3', | ||
378 | unit: 'W/㎡', | 468 | unit: 'W/㎡', |
379 | unitName: '太阳总辐射', | 469 | unitName: '太阳总辐射', |
380 | }, | 470 | }, |
381 | dataType: 'INT', | 471 | dataType: 'INT', |
382 | - direction: 'PARAM_INPUT', | ||
383 | - identifier: 'Switch', | ||
384 | - name: '功能开关', | ||
385 | - paraOrder: 2, | 472 | + direction: 'PARAM_OUTPUT', |
473 | + identifier: 'int', | ||
474 | + name: '测试输出回显int类型', | ||
475 | + paraOrder: 1, | ||
386 | }, | 476 | }, |
387 | { | 477 | { |
478 | + id: buildUUID(), | ||
479 | + | ||
388 | custom: true, | 480 | custom: true, |
389 | dataSpecsList: [ | 481 | dataSpecsList: [ |
390 | { | 482 | { |
391 | dataType: 'BOOL', | 483 | dataType: 'BOOL', |
392 | - name: '关', | 484 | + name: 'd', |
393 | value: 0, | 485 | value: 0, |
394 | }, | 486 | }, |
395 | { | 487 | { |
396 | dataType: 'BOOL', | 488 | dataType: 'BOOL', |
397 | - name: '开', | 489 | + name: 'ff', |
398 | value: 1, | 490 | value: 1, |
399 | }, | 491 | }, |
400 | ], | 492 | ], |
401 | dataType: 'BOOL', | 493 | dataType: 'BOOL', |
402 | - direction: 'PARAM_INPUT', | ||
403 | - identifier: 'NumThreads', | ||
404 | - name: '使用线程数', | ||
405 | - paraOrder: 3, | 494 | + direction: 'PARAM_OUTPUT', |
495 | + identifier: 'bol', | ||
496 | + name: '测试输出回显bool类型', | ||
497 | + paraOrder: 2, | ||
406 | }, | 498 | }, |
407 | { | 499 | { |
500 | + id: buildUUID(), | ||
501 | + | ||
408 | custom: true, | 502 | custom: true, |
409 | dataSpecsList: [ | 503 | dataSpecsList: [ |
410 | { | 504 | { |
505 | + id: buildUUID(), | ||
506 | + | ||
507 | + childDataType: 'INT', | ||
508 | + childName: '测试输出回显结构体类型1', | ||
509 | + childSpecsDTO: { | ||
510 | + dataType: 'INT', | ||
511 | + max: '22', | ||
512 | + min: '11', | ||
513 | + step: '4', | ||
514 | + unit: 'mm/hour', | ||
515 | + unitName: '降雨量', | ||
516 | + }, | ||
517 | + custom: true, | ||
518 | + dataSpecs: { | ||
519 | + dataType: 'INT', | ||
520 | + max: '22', | ||
521 | + min: '11', | ||
522 | + step: '4', | ||
523 | + unit: 'mm/hour', | ||
524 | + unitName: '降雨量', | ||
525 | + }, | ||
526 | + dataType: 'STRUCT', | ||
527 | + identifier: '1', | ||
528 | + isStd: 0, | ||
529 | + name: '测试输出回显结构体类型1', | ||
530 | + }, | ||
531 | + { | ||
532 | + id: buildUUID(), | ||
533 | + | ||
411 | childDataType: 'BOOL', | 534 | childDataType: 'BOOL', |
412 | childEnumSpecsDTO: [ | 535 | childEnumSpecsDTO: [ |
413 | { | 536 | { |
414 | dataType: 'BOOL', | 537 | dataType: 'BOOL', |
415 | - name: '关1', | 538 | + name: 'ff', |
416 | value: 0, | 539 | value: 0, |
417 | }, | 540 | }, |
418 | { | 541 | { |
419 | dataType: 'BOOL', | 542 | dataType: 'BOOL', |
420 | - name: '开1', | 543 | + name: 'gg', |
421 | value: 1, | 544 | value: 1, |
422 | }, | 545 | }, |
423 | ], | 546 | ], |
424 | - childName: '结构体里面1', | 547 | + childName: '测试输出回显结构体类型2', |
425 | custom: true, | 548 | custom: true, |
426 | dataSpecsList: [ | 549 | dataSpecsList: [ |
427 | { | 550 | { |
428 | dataType: 'BOOL', | 551 | dataType: 'BOOL', |
429 | - name: '关1', | 552 | + name: 'ff', |
430 | value: 0, | 553 | value: 0, |
431 | }, | 554 | }, |
432 | { | 555 | { |
433 | dataType: 'BOOL', | 556 | dataType: 'BOOL', |
434 | - name: '开1', | 557 | + name: 'gg', |
435 | value: 1, | 558 | value: 1, |
436 | }, | 559 | }, |
437 | ], | 560 | ], |
438 | dataType: 'STRUCT', | 561 | dataType: 'STRUCT', |
439 | - identifier: 's11', | 562 | + identifier: '3', |
440 | isStd: 0, | 563 | isStd: 0, |
441 | - name: '结构体里面1', | 564 | + name: '测试输出回显结构体类型2', |
442 | }, | 565 | }, |
443 | { | 566 | { |
567 | + id: buildUUID(), | ||
568 | + | ||
444 | childDataType: 'TEXT', | 569 | childDataType: 'TEXT', |
445 | - childName: '结构体里面2', | 570 | + childName: '测试输出回显结构体类型3', |
446 | childSpecsDTO: { | 571 | childSpecsDTO: { |
447 | dataType: 'TEXT', | 572 | dataType: 'TEXT', |
448 | length: 10240, | 573 | length: 10240, |
@@ -453,374 +578,21 @@ export const mockData = { | @@ -453,374 +578,21 @@ export const mockData = { | ||
453 | length: 10240, | 578 | length: 10240, |
454 | }, | 579 | }, |
455 | dataType: 'STRUCT', | 580 | dataType: 'STRUCT', |
456 | - identifier: 's2', | ||
457 | - isStd: 0, | ||
458 | - name: '结构体里面2', | ||
459 | - }, | ||
460 | - { | ||
461 | - childDataType: 'DOUBLE', | ||
462 | - childName: '结构体里面3', | ||
463 | - childSpecsDTO: { | ||
464 | - dataType: 'DOUBLE', | ||
465 | - max: '22', | ||
466 | - min: '11', | ||
467 | - step: '3', | ||
468 | - unit: 'mm/s', | ||
469 | - unitName: '毫米每秒', | ||
470 | - }, | ||
471 | - custom: true, | ||
472 | - dataSpecs: { | ||
473 | - dataType: 'DOUBLE', | ||
474 | - max: '22', | ||
475 | - min: '11', | ||
476 | - step: '3', | ||
477 | - unit: 'mm/s', | ||
478 | - unitName: '毫米每秒', | ||
479 | - }, | ||
480 | - dataType: 'STRUCT', | ||
481 | - identifier: 's3', | 581 | + identifier: '12', |
482 | isStd: 0, | 582 | isStd: 0, |
483 | - name: '结构体里面3', | 583 | + name: '测试输出回显结构体类型3', |
484 | }, | 584 | }, |
485 | ], | 585 | ], |
486 | dataType: 'STRUCT', | 586 | dataType: 'STRUCT', |
487 | - direction: 'PARAM_INPUT', | ||
488 | - identifier: 's1', | ||
489 | - name: '结构体1', | ||
490 | - paraOrder: 4, | 587 | + direction: 'PARAM_OUTPUT', |
588 | + identifier: 'struct', | ||
589 | + name: '测试输出回显结构体类型', | ||
590 | + paraOrder: 3, | ||
491 | }, | 591 | }, |
492 | ], | 592 | ], |
493 | - outputParams: [], | ||
494 | productKey: 'hsrnXEfGFDv', | 593 | productKey: 'hsrnXEfGFDv', |
495 | required: false, | 594 | required: false, |
496 | - serviceName: '配置模型', | 595 | + serviceName: '删除模型1', |
497 | }, | 596 | }, |
498 | ], | 597 | ], |
499 | - // services: [ | ||
500 | - // { | ||
501 | - // callType: 'SYNC', | ||
502 | - // createTs: 1666603858325, | ||
503 | - // custom: true, | ||
504 | - // description: '更新模型', | ||
505 | - // identifier: 'UpdateModel', | ||
506 | - // inputParams: [ | ||
507 | - // { | ||
508 | - // id: buildUUID(), | ||
509 | - // custom: true, | ||
510 | - // dataSpecs: { | ||
511 | - // dataType: 'TEXT', | ||
512 | - // length: 128, | ||
513 | - // }, | ||
514 | - // dataType: 'TEXT', | ||
515 | - // direction: 'PARAM_INPUT', | ||
516 | - // identifier: 'UpdateTaskID', | ||
517 | - // name: '更新任务ID', | ||
518 | - // paraOrder: 0, | ||
519 | - // }, | ||
520 | - // { | ||
521 | - // id: buildUUID(), | ||
522 | - // custom: true, | ||
523 | - // dataSpecs: { | ||
524 | - // dataType: 'TEXT', | ||
525 | - // length: 128, | ||
526 | - // }, | ||
527 | - // dataType: 'TEXT', | ||
528 | - // direction: 'PARAM_INPUT', | ||
529 | - // identifier: 'AlgorithmID', | ||
530 | - // name: '算法任务唯一标识', | ||
531 | - // paraOrder: 1, | ||
532 | - // }, | ||
533 | - // { | ||
534 | - // id: buildUUID(), | ||
535 | - | ||
536 | - // custom: true, | ||
537 | - // dataSpecs: { | ||
538 | - // dataType: 'TEXT', | ||
539 | - // length: 64, | ||
540 | - // }, | ||
541 | - // dataType: 'TEXT', | ||
542 | - // direction: 'PARAM_INPUT', | ||
543 | - // identifier: 'AlgorithmName', | ||
544 | - // name: '算法名称', | ||
545 | - // paraOrder: 2, | ||
546 | - // }, | ||
547 | - // { | ||
548 | - // id: buildUUID(), | ||
549 | - | ||
550 | - // custom: true, | ||
551 | - // dataSpecs: { | ||
552 | - // dataType: 'INT', | ||
553 | - // max: '128', | ||
554 | - // min: '0', | ||
555 | - // precise: 0, | ||
556 | - // step: '1', | ||
557 | - // unit: '', | ||
558 | - // unitName: '无', | ||
559 | - // }, | ||
560 | - // dataType: 'INT', | ||
561 | - // direction: 'PARAM_INPUT', | ||
562 | - // identifier: 'NumThreads', | ||
563 | - // name: '使用线程数', | ||
564 | - // paraOrder: 4, | ||
565 | - // }, | ||
566 | - // { | ||
567 | - // id: buildUUID(), | ||
568 | - | ||
569 | - // custom: true, | ||
570 | - // dataSpecs: { | ||
571 | - // dataType: 'TEXT', | ||
572 | - // length: 128, | ||
573 | - // }, | ||
574 | - // dataType: 'TEXT', | ||
575 | - // direction: 'PARAM_INPUT', | ||
576 | - // identifier: 'ModelID', | ||
577 | - // name: '模型唯一标识', | ||
578 | - // paraOrder: 5, | ||
579 | - // }, | ||
580 | - // { | ||
581 | - // id: buildUUID(), | ||
582 | - | ||
583 | - // custom: true, | ||
584 | - // dataSpecs: { | ||
585 | - // dataType: 'TEXT', | ||
586 | - // length: 64, | ||
587 | - // }, | ||
588 | - // dataType: 'TEXT', | ||
589 | - // direction: 'PARAM_INPUT', | ||
590 | - // identifier: 'ModelName', | ||
591 | - // name: '模型名称', | ||
592 | - // paraOrder: 6, | ||
593 | - // }, | ||
594 | - // { | ||
595 | - // id: buildUUID(), | ||
596 | - | ||
597 | - // custom: true, | ||
598 | - // dataSpecs: { | ||
599 | - // dataType: 'TEXT', | ||
600 | - // length: 64, | ||
601 | - // }, | ||
602 | - // dataType: 'TEXT', | ||
603 | - // direction: 'PARAM_INPUT', | ||
604 | - // identifier: 'ModelVersion', | ||
605 | - // name: '模型版本', | ||
606 | - // paraOrder: 7, | ||
607 | - // }, | ||
608 | - // { | ||
609 | - // id: buildUUID(), | ||
610 | - | ||
611 | - // custom: true, | ||
612 | - // dataSpecs: { | ||
613 | - // dataType: 'TEXT', | ||
614 | - // length: 1024, | ||
615 | - // }, | ||
616 | - // dataType: 'TEXT', | ||
617 | - // direction: 'PARAM_INPUT', | ||
618 | - // identifier: 'ModelURL', | ||
619 | - // name: '模型地址', | ||
620 | - // paraOrder: 8, | ||
621 | - // }, | ||
622 | - // { | ||
623 | - // id: buildUUID(), | ||
624 | - | ||
625 | - // custom: true, | ||
626 | - // dataSpecs: { | ||
627 | - // dataType: 'TEXT', | ||
628 | - // length: 128, | ||
629 | - // }, | ||
630 | - // dataType: 'TEXT', | ||
631 | - // direction: 'PARAM_INPUT', | ||
632 | - // identifier: 'ModelMD5', | ||
633 | - // name: '模型文件MD5', | ||
634 | - // paraOrder: 9, | ||
635 | - // }, | ||
636 | - // { | ||
637 | - // id: buildUUID(), | ||
638 | - | ||
639 | - // custom: true, | ||
640 | - // dataSpecs: { | ||
641 | - // dataType: 'TEXT', | ||
642 | - // length: 64, | ||
643 | - // }, | ||
644 | - // dataType: 'TEXT', | ||
645 | - // direction: 'PARAM_INPUT', | ||
646 | - // identifier: 'ModelPlatform', | ||
647 | - // name: '模型平台', | ||
648 | - // paraOrder: 10, | ||
649 | - // }, | ||
650 | - // { | ||
651 | - // id: buildUUID(), | ||
652 | - | ||
653 | - // custom: true, | ||
654 | - // dataSpecs: { | ||
655 | - // dataType: 'TEXT', | ||
656 | - // length: 128, | ||
657 | - // }, | ||
658 | - // dataType: 'TEXT', | ||
659 | - // direction: 'PARAM_INPUT', | ||
660 | - // identifier: 'ModelTaskID', | ||
661 | - // name: '模型生成任务ID', | ||
662 | - // paraOrder: 11, | ||
663 | - // }, | ||
664 | - // { | ||
665 | - // id: buildUUID(), | ||
666 | - | ||
667 | - // custom: true, | ||
668 | - // dataSpecs: { | ||
669 | - // dataType: 'TEXT', | ||
670 | - // length: 64, | ||
671 | - // }, | ||
672 | - // dataType: 'TEXT', | ||
673 | - // direction: 'PARAM_INPUT', | ||
674 | - // identifier: 'ModelEncryptType', | ||
675 | - // name: '模型加密方式', | ||
676 | - // paraOrder: 12, | ||
677 | - // }, | ||
678 | - // { | ||
679 | - // id: buildUUID(), | ||
680 | - | ||
681 | - // custom: true, | ||
682 | - // dataSpecs: { | ||
683 | - // dataType: 'TEXT', | ||
684 | - // length: 2048, | ||
685 | - // }, | ||
686 | - // dataType: 'TEXT', | ||
687 | - // direction: 'PARAM_INPUT', | ||
688 | - // identifier: 'ModelExtension', | ||
689 | - // name: '扩展信息', | ||
690 | - // paraOrder: 13, | ||
691 | - // }, | ||
692 | - // { | ||
693 | - // id: buildUUID(), | ||
694 | - | ||
695 | - // custom: true, | ||
696 | - // dataSpecsList: [ | ||
697 | - // { | ||
698 | - // id: buildUUID(), | ||
699 | - | ||
700 | - // childDataType: 'TEXT', | ||
701 | - // childName: '模型结构体参数1', | ||
702 | - // childSpecsDTO: { | ||
703 | - // dataType: 'TEXT', | ||
704 | - // length: 10240, | ||
705 | - // }, | ||
706 | - // custom: true, | ||
707 | - // dataSpecs: { | ||
708 | - // dataType: 'TEXT', | ||
709 | - // length: 10240, | ||
710 | - // }, | ||
711 | - // dataType: 'STRUCT', | ||
712 | - // identifier: 'ModelParams1', | ||
713 | - // isStd: 0, | ||
714 | - // name: '模型结构体参数1', | ||
715 | - // }, | ||
716 | - // { | ||
717 | - // id: buildUUID(), | ||
718 | - | ||
719 | - // childDataType: 'BOOL', | ||
720 | - // childEnumSpecsDTO: [ | ||
721 | - // { | ||
722 | - // dataType: 'BOOL', | ||
723 | - // name: '1', | ||
724 | - // value: 0, | ||
725 | - // }, | ||
726 | - // { | ||
727 | - // dataType: 'BOOL', | ||
728 | - // name: '0', | ||
729 | - // value: 1, | ||
730 | - // }, | ||
731 | - // ], | ||
732 | - // childName: '模型结构体参数2', | ||
733 | - // custom: true, | ||
734 | - // dataSpecsList: [ | ||
735 | - // { | ||
736 | - // id: buildUUID(), | ||
737 | - | ||
738 | - // dataType: 'BOOL', | ||
739 | - // name: '1', | ||
740 | - // value: 0, | ||
741 | - // }, | ||
742 | - // { | ||
743 | - // id: buildUUID(), | ||
744 | - | ||
745 | - // dataType: 'BOOL', | ||
746 | - // name: '0', | ||
747 | - // value: 1, | ||
748 | - // }, | ||
749 | - // ], | ||
750 | - // dataType: 'STRUCT', | ||
751 | - // identifier: 'ModelParams2', | ||
752 | - // isStd: 0, | ||
753 | - // name: '模型结构体参数2', | ||
754 | - // }, | ||
755 | - // ], | ||
756 | - // dataType: 'STRUCT', | ||
757 | - // direction: 'PARAM_INPUT', | ||
758 | - // identifier: 'ModelStruct', | ||
759 | - // name: '模型结构体', | ||
760 | - // paraOrder: 3, | ||
761 | - // }, | ||
762 | - // ], | ||
763 | - // outputParams: [ | ||
764 | - // { | ||
765 | - // id: buildUUID(), | ||
766 | - | ||
767 | - // custom: true, | ||
768 | - // dataSpecs: { | ||
769 | - // dataType: 'TEXT', | ||
770 | - // length: 10240, | ||
771 | - // }, | ||
772 | - // dataType: 'TEXT', | ||
773 | - // direction: 'PARAM_OUTPUT', | ||
774 | - // identifier: 'Django', | ||
775 | - // name: 'django', | ||
776 | - // paraOrder: 0, | ||
777 | - // }, | ||
778 | - // { | ||
779 | - // id: buildUUID(), | ||
780 | - | ||
781 | - // custom: true, | ||
782 | - // dataSpecsList: [ | ||
783 | - // { | ||
784 | - // id: buildUUID(), | ||
785 | - | ||
786 | - // dataType: 'BOOL', | ||
787 | - // name: '1', | ||
788 | - // value: 0, | ||
789 | - // }, | ||
790 | - // { | ||
791 | - // id: buildUUID(), | ||
792 | - // dataType: 'BOOL', | ||
793 | - // name: '0', | ||
794 | - // value: 1, | ||
795 | - // }, | ||
796 | - // ], | ||
797 | - // dataType: 'BOOL', | ||
798 | - // direction: 'PARAM_OUTPUT', | ||
799 | - // identifier: 'Flask', | ||
800 | - // name: 'flask', | ||
801 | - // paraOrder: 1, | ||
802 | - // }, | ||
803 | - // { | ||
804 | - // id: buildUUID(), | ||
805 | - // custom: true, | ||
806 | - // dataSpecs: { | ||
807 | - // dataType: 'INT', | ||
808 | - // max: '22', | ||
809 | - // min: '11', | ||
810 | - // step: '3', | ||
811 | - // unit: '只', | ||
812 | - // unitName: '只', | ||
813 | - // }, | ||
814 | - // dataType: 'INT', | ||
815 | - // direction: 'PARAM_OUTPUT', | ||
816 | - // identifier: 'Tornado', | ||
817 | - // name: 'tornado', | ||
818 | - // paraOrder: 2, | ||
819 | - // }, | ||
820 | - // ], | ||
821 | - // productKey: 'hsrnXEfGFDv', | ||
822 | - // required: false, | ||
823 | - // serviceName: '更新模型', | ||
824 | - // }, | ||
825 | - // ], | ||
826 | }; | 598 | }; |
@@ -51,18 +51,18 @@ export const useChangeTypeGetTypeForm = (type, options: TForm) => { | @@ -51,18 +51,18 @@ export const useChangeTypeGetTypeForm = (type, options: TForm) => { | ||
51 | { | 51 | { |
52 | dataType: options?.dataType, | 52 | dataType: options?.dataType, |
53 | name: options?.boolClose, | 53 | name: options?.boolClose, |
54 | - value: '0', | 54 | + value: 0, |
55 | }, | 55 | }, |
56 | { | 56 | { |
57 | dataType: options?.dataType, | 57 | dataType: options?.dataType, |
58 | name: options?.boolOpen, | 58 | name: options?.boolOpen, |
59 | - value: '1', | 59 | + value: 1, |
60 | }, | 60 | }, |
61 | ]; | 61 | ]; |
62 | case 'TEXT': | 62 | case 'TEXT': |
63 | return { | 63 | return { |
64 | dataType: options?.dataType, | 64 | dataType: options?.dataType, |
65 | - length: options?.length, | 65 | + length: Number(options?.length), |
66 | }; | 66 | }; |
67 | } | 67 | } |
68 | }; | 68 | }; |