diff --git a/components.d.ts b/components.d.ts index 17340ba..7daf980 100644 --- a/components.d.ts +++ b/components.d.ts @@ -10,7 +10,7 @@ declare module 'vue' { export interface GlobalComponents { AppFooter: typeof import('./src/components/AppFooter.vue')['default'] CompareComponent: typeof import('./src/components/templates/run/executions/CompareComponent.vue')['default'] - copy: typeof import('./src/components/atoms/organisms/TrainingScriptBaseDoalog copy.vue')['default'] + copy: typeof import('./src/components/templates/run/executions/ListComponent copy.vue')['default'] DatasetBaseDoalog: typeof import('./src/components/atoms/organisms/DatasetBaseDoalog.vue')['default'] DatasetsBaseDoalog: typeof import('./src/components/atoms/organisms/DatasetsBaseDoalog.vue')['default'] DatesetBaseDoalog: typeof import('./src/components/atoms/organisms/DatesetBaseDoalog.vue')['default'] @@ -30,6 +30,7 @@ declare module 'vue' { IconSettingBtn: typeof import('./src/components/atoms/button/IconSettingBtn.vue')['default'] LayoutComponent: typeof import('./src/components/common/LayoutComponent.vue')['default'] ListComponent: typeof import('./src/components/templates/Datasets/ListComponent.vue')['default'] + ListComponentback: typeof import('./src/components/templates/run/executions/ListComponentback.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SidebarHeader: typeof import('./src/components/common/SidebarHeader.vue')['default'] diff --git a/src/components/atoms/organisms/WorkflowsBaseDialog.vue b/src/components/atoms/organisms/WorkflowsBaseDialog.vue index 52b0a29..068830b 100644 --- a/src/components/atoms/organisms/WorkflowsBaseDialog.vue +++ b/src/components/atoms/organisms/WorkflowsBaseDialog.vue @@ -9,7 +9,7 @@ import { storage } from "@/utils/storage"; import type { Workflow } from "@/components/models/management/Workflow"; import { storeToRefs } from "pinia"; import { useAutoflowStore } from "@/stores/autoflowStore"; -import { kubeflowService } from "@/components/service/management/KubeflowService"; +import { KubeflowService } from "@/components/service/management/KubeflowService"; import { toKubeflowForm, type KubeflowUploadDto, @@ -241,7 +241,7 @@ async function submit() { uploadfile: form.value.file, }; const fd = toKubeflowForm(dto); - const { data } = await kubeflowService.upload(fd); + const { data } = await KubeflowService.upload(fd); emit("saved", data); emit("close-modal"); } diff --git a/src/components/atoms/organisms/WorkflowsRunDialog.vue b/src/components/atoms/organisms/WorkflowsRunDialog.vue index c1fbdeb..283a81f 100644 --- a/src/components/atoms/organisms/WorkflowsRunDialog.vue +++ b/src/components/atoms/organisms/WorkflowsRunDialog.vue @@ -1,6 +1,6 @@ 배터리 상태 예측 모델 프로젝트 - Refresh + Refresh + - - - - - Workflow Success Rate - - - - - - - - - - - - Recently Registered Workflow - - - - - - - - {{ - item.title - }} - - {{ formatToYmdHm(item.timestamp) }} - - - - - - - - - 최근 등록/수정된 워크플로우가 없습니다. - - - - - - - - - - @@ -449,7 +505,6 @@ watch(currentProjectId, () => loadWorkflows()); - loadWorkflows()); :key="i" /> - - - - + + + + Recently Registered Workflow + + + + + + + + {{ + item.title + }} + + {{ formatToYmdHm(item.timestamp) }} + + + + + + + + + 최근 등록/수정된 워크플로우가 없습니다. + + + + + + + + + + + + + + Kubeflow Runs + + + + + + + + + + + + + + {{ r.state }} + + + + {{ r.name }} + + + {{ fmtYmdHm(r.createdAt) }} + + → {{ fmtYmdHm(r.finishedAt) }} + + + + + + + + Experiment: + {{ + r.experimentId || "-" + }} + + + Pipeline: + {{ + r.pipelineName || "-" + }} + + + + + + + + + 표시할 Kubeflow Run 데이터가 없습니다. + + + + + + + diff --git a/src/components/templates/run/executions/ListComponent.vue b/src/components/templates/run/executions/ListComponent.vue index 5869825..9d908f8 100644 --- a/src/components/templates/run/executions/ListComponent.vue +++ b/src/components/templates/run/executions/ListComponent.vue @@ -1,138 +1,29 @@ - + { + + { label="검색조건" density="compact" :items="searchOptions" - item-title="searchType" - item-value="searchText" + item-title="label" + item-value="value" hide-details - > - - - - - - + /> + { required class="mt-3 mb-3" hide-details - @keyup.enter="changePageNum(1)" - > + @keyup.enter="doSearch" + /> @@ -390,14 +502,15 @@ onMounted(() => { size="large" color="primary" :rounded="5" - @click="changePageNum(1)" + @click="doSearch" > - mdi-magnify + mdi-magnify + @@ -406,8 +519,8 @@ onMounted(() => { class="d-flex align-center mr-3 mb-2 bg-shades-transparent" > 총 {{ data.totalDataLength.toLocaleString() }}개 - + >총 {{ data.totalElements.toLocaleString() }}개 @@ -420,28 +533,20 @@ onMounted(() => { variant="outlined" color="primary" hide-details - @update:model-value="changePageNum(1)" - > + @update:model-value="changePageSize" + /> - - Terminate - - - Retry - - - Clone - - - Compare - - - Execution - + + + @@ -449,12 +554,9 @@ onMounted(() => { density="comfortable" fixed-header height="625" - col-md-12 - col-12 overflow-x-auto > - { - - - {{ item.label }} @@ -484,21 +577,12 @@ onMounted(() => { - - - - - {{ displayNo(i) }} - {{ item.name }} + {{ item.no }} + {{ item.name }} mdi-check-circle { {{ item.registryStatus }} - - + + + { color="primary" rounded="circle" @update:model-value="changePageNum" - > + /> - - - - - - + + + + {}" + /> + - + diff --git a/src/components/templates/run/executions/ListComponentback.vue b/src/components/templates/run/executions/ListComponentback.vue new file mode 100644 index 0000000..5869825 --- /dev/null +++ b/src/components/templates/run/executions/ListComponentback.vue @@ -0,0 +1,564 @@ + + + + + + + + + + Executions + + + + + + + + + + + + + + + + + + + + + + mdi-magnify + + + + + + + + + 총 {{ data.totalDataLength.toLocaleString() }}개 + + + + + + + + + + Terminate + + + Retry + + + Clone + + + Compare + + + Execution + + + + + + + + + + + + + + + + + + {{ item.label }} + + + + + + + + + + {{ displayNo(i) }} + {{ item.name }} + + mdi-check-circle + mdi-close-circle + mdi-loading + + {{ item.duration }} + {{ item.experiment }} + {{ item.workflow }} + {{ item.startTime }} + {{ item.registryStatus }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +