Skip to content

Commit d67b461

Browse files
ymh6315431minghao.yang
andauthored
feat(admin_serverless_form): enhance resource handling with DOM updates (#1446)
* Draft MR * feat(admin_serverless_form): enhance resource handling with DOM updates --------- Co-authored-by: minghao.yang <mh.yang@opencsg.com>
1 parent bfb7ce9 commit d67b461

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

frontend/src/components/admin_next/serverless/AdminServerlessForm.vue

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@
156156

157157
<script setup>
158158
import { Container } from '../admin_component'
159-
import { ref, onMounted, computed } from 'vue'
159+
import { ref, onMounted, computed, nextTick } from 'vue'
160160
import useFetchApi from '../../../packs/useFetchApi'
161161
import { ElMessage } from 'element-plus'
162162
import { useRoute, useRouter } from 'vue-router'
@@ -172,6 +172,7 @@
172172
const resources = ref([])
173173
const runtimeFrameworks = ref([])
174174
const availableQuantizations = ref([])
175+
const isEditing = computed(() => !!route.params.id)
175176
176177
const breadcrumbsTitle = computed(() =>
177178
route.params.id
@@ -310,15 +311,20 @@
310311
).json()
311312
if (data.value?.data) {
312313
const result = data.value.data
313-
const currentResource = resources.value.find(
314-
(item) => item.id == result.sku
315-
)
314+
const currentResource = resources.value
315+
.flatMap(group => group.options)
316+
.find(item => item.id == result.sku)
317+
316318
const maxReplica = result.max_replica || 0
317319
const minReplica = result.min_replica || 0
320+
321+
322+
const resourceId = currentResource ? `${currentResource.id}/${currentResource.order_detail_id}` : `${result.sku}`
323+
dataForm.value.resource_id = resourceId
324+
await nextTick()
318325
const runtimeFrameworkId = filterFrameworks.value.find(
319326
(item) => item.frame_name.toLowerCase() === result.runtime_framework.toLowerCase() && item.compute_type === currentResource?.type
320327
)?.id
321-
const resourceId = currentResource ? `${currentResource.id}/${currentResource.order_detail_id}` : `${result.sku}`
322328
dataForm.value = {
323329
...result,
324330
max_replica: maxReplica,
@@ -347,6 +353,9 @@
347353
const categoryResources = await fetchResourcesInCategory(dataForm.value.cluster_id)
348354
const firstAvailableResource = categoryResources.flatMap(item => item.options).find((item) => item.is_available)
349355
resources.value = categoryResources
356+
if (isEditing.value) {
357+
return
358+
}
350359
if (firstAvailableResource) {
351360
dataForm.value.resource_id = `${firstAvailableResource.id}/${firstAvailableResource.order_detail_id}`
352361
resetCurrentRuntimeFramework()

0 commit comments

Comments
 (0)