Skip to content

Commit 73fc92b

Browse files
committed
feat/model-driven
1 parent 4b19de6 commit 73fc92b

5 files changed

Lines changed: 38 additions & 77 deletions

File tree

packages/builtinComponent/src/components/BaseForm.vue

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,6 @@ const insertApi = (data = modelData.value) => {
117117
}
118118
return getMetaApi(META_SERVICE.Http)
119119
.post(apiInfo.url, { nameEn: formModel.value.nameEn, params: data })
120-
.then((res) => {
121-
return res
122-
})
123120
.catch((err) => {
124121
throw new Error(err)
125122
})
@@ -138,9 +135,6 @@ const updateApi = (data = modelData.value) => {
138135
data: data,
139136
params: { id }
140137
})
141-
.then((res) => {
142-
return res
143-
})
144138
.catch((err) => {
145139
throw new Error(err)
146140
})
@@ -164,9 +158,6 @@ const queryApi = ({ currentPage, pageSize, data } = {}) => {
164158
...(data || modelData.value)
165159
}
166160
})
167-
.then((res) => {
168-
return res
169-
})
170161
.catch((err) => {
171162
throw new Error(err)
172163
})
@@ -179,9 +170,6 @@ const deleteApi = () => {
179170
}
180171
return getMetaApi(META_SERVICE.Http)
181172
.post(apiInfo.url, { id: modelData.value?.id, nameEn: formModel.value.nameEn })
182-
.then((res) => {
183-
return res
184-
})
185173
.catch((err) => {
186174
throw new Error(err)
187175
})

packages/builtinComponent/src/components/BaseTable.vue

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,6 @@ const insertApi = (data = {}) => {
171171
}
172172
return getMetaApi(META_SERVICE.Http)
173173
.post(apiInfo.url, { nameEn: tableModel.value.nameEn, params: data })
174-
.then((res) => {
175-
return res
176-
})
177174
.catch((err) => {
178175
throw new Error(err)
179176
})
@@ -192,9 +189,6 @@ const updateApi = (data) => {
192189
data: data,
193190
params: { id }
194191
})
195-
.then((res) => {
196-
return res
197-
})
198192
.catch((err) => {
199193
throw new Error(err)
200194
})
@@ -237,9 +231,6 @@ const deleteApi = (evidence) => {
237231
}
238232
return getMetaApi(META_SERVICE.Http)
239233
.post(apiInfo.url, { ...evidence, nameEn: tableModel.value.nameEn })
240-
.then((res) => {
241-
return res
242-
})
243234
.catch((err) => {
244235
throw new Error(err)
245236
})

packages/configurator/src/model-api-configurator/ModelApiConfigurator.vue

Lines changed: 34 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,6 @@
1919
</div>
2020
<div class="model-set-wrap">
2121
<div class="model-wrap">
22-
<div class="model-groups">
23-
<model-select
24-
:model-page-size="5"
25-
@model-select="getModel"
26-
:meta="meta"
27-
:isShow="isShow"
28-
:isModelApi="true"
29-
></model-select>
30-
</div>
3122
<div class="model-parameters">
3223
<tiny-grid
3324
:data="selectedModel?.method || []"
@@ -80,7 +71,7 @@
8071
<tiny-button @click="openPopover">{{ modelValue?.name || buttonText }}</tiny-button>
8172
</template>
8273
<script setup>
83-
import { ref, reactive, defineProps, defineEmits } from 'vue'
74+
import { ref, reactive, defineProps, defineEmits, watch } from 'vue'
8475
import {
8576
Button as TinyButton,
8677
Popover as TinyPopover,
@@ -95,7 +86,8 @@ import {
9586
Notify
9687
} from '@opentiny/vue'
9788
import { iconClose, iconDel } from '@opentiny/vue-icon'
98-
import ModelSelect from '../model-common/ModelSelect.vue'
89+
import { useCanvas } from '@opentiny/tiny-engine-meta-register'
90+
import { getModelDetail } from '../model-common/http'
9991
import ParamsBindGrid from './ParamsBindGrid.vue'
10092
10193
const props = defineProps({
@@ -166,15 +158,22 @@ const selectedFunction = ref()
166158
167159
const openPopover = () => {
168160
isShow.value = true
161+
getModel()
169162
}
170163
171164
const closePopover = () => {
172165
isShow.value = false
173166
}
174167
175-
const getModel = (data) => {
176-
selectedModel.value = data
177-
methodBasicData.method = 'post'
168+
const getModel = () => {
169+
const modelId = useCanvas().getCurrentSchema().props?.serviceModel?.id
170+
if (modelId) {
171+
getModelDetail(modelId).then(res => {
172+
console.log(res)
173+
})
174+
selectedModel.value = useCanvas().getCurrentSchema().props.serviceModel
175+
methodBasicData.method = 'post'
176+
}
178177
}
179178
180179
const setModelFunction = async () => {
@@ -209,6 +208,26 @@ const selectModelFunction = (data) => {
209208
selectedFunction.value = data.row
210209
methodBasicData.url = `${selectedModel.value.baseUrl}/${selectedFunction.value.nameEn}`
211210
}
211+
212+
watch(
213+
() => useCanvas().getCurrentSchema().props.serviceModel,
214+
(model) => {
215+
console.log(model)
216+
if (model) {
217+
getModel()
218+
// modelValue.value = model.method.map((api) => {
219+
// return {
220+
// url: `${model.baseUrl}/${api.nameEn}`,
221+
// method: 'post',
222+
// name: api.name,
223+
// nameEn: api.nameEn
224+
// }
225+
// })
226+
// 添加增删改查方法
227+
// emit('update:modelValue', modelValue.value)
228+
}
229+
}
230+
)
212231
</script>
213232
214233
<style lang="less" scoped>
@@ -240,30 +259,8 @@ const selectModelFunction = (data) => {
240259
max-height: 355px;
241260
border: 1px solid #e6e6e6;
242261
border-radius: 4px;
243-
.model-groups {
244-
width: 410px;
245-
padding: 12px;
246-
border-right: 1px solid #e6e6e6;
247-
:deep(.tiny-tree) {
248-
.tiny-tree-node__content .tiny-tree-node__content-left {
249-
padding: 0;
250-
.tiny-tree-node__label {
251-
color: #191919;
252-
}
253-
}
254-
.tiny-tree-node__children .tiny-tree-node__content {
255-
padding: 0;
256-
.tiny-tree-node__content-left .tiny-tree-node__label {
257-
color: #595959;
258-
}
259-
}
260-
}
261-
.search {
262-
margin-bottom: 12px;
263-
}
264-
}
265262
.model-parameters {
266-
width: 412px;
263+
width: 100%;
267264
padding: 12px;
268265
overflow-y: scroll;
269266
&::-webkit-scrollbar {

packages/configurator/src/model-common/ModelSelect.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ export default {
5454
isShow: {
5555
type: Boolean,
5656
default: false
57-
},
58-
isModelApi: {
59-
type: Boolean,
60-
default: false
6157
}
6258
},
6359
emits: ['modelSelect'],
@@ -93,21 +89,8 @@ export default {
9389
}
9490
9591
const selectModel = async (data) => {
96-
// 处理parameters
97-
if (props.isModelApi) {
98-
emit('modelSelect', {
99-
id: data.row.id,
100-
name: data.row.nameCn,
101-
nameEn: data.row.nameEn,
102-
description: data.row.description,
103-
version: data.row.version,
104-
baseUrl: data.row.modelUrl ?? '',
105-
method: data.row.method
106-
})
107-
} else {
108-
currentSelectedModel.value = await handleSelectedModelParameters(data.row)
109-
emit('modelSelect', currentSelectedModel.value)
110-
}
92+
currentSelectedModel.value = await handleSelectedModelParameters(data.row)
93+
emit('modelSelect', currentSelectedModel.value)
11194
}
11295
11396
watch(

packages/configurator/src/model-common/http.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@ export const getModelList = (currentPage, params) =>
44
getMetaApi(META_SERVICE.Http).get(`/material-center/api/model/list?currentPage=${currentPage}&pageSize=10`, {
55
params: params || {}
66
})
7+
8+
export const getModelDetail = (id) => getMetaApi(META_SERVICE.Http).get(`/material-center/api/model/detail/${id}`)

0 commit comments

Comments
 (0)