feat: 创建数据集
This commit is contained in:
parent
ac09751620
commit
59f88f8116
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-icon class="back-button cursor mr-8 vertical-middle" @click="jump">
|
<el-icon class="back-button cursor mr-8" @click="jump">
|
||||||
<Back />
|
<Back />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</template>
|
</template>
|
||||||
@ -22,4 +22,8 @@ function jump() {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss"></style>
|
<style lang="scss">
|
||||||
|
.back-button {
|
||||||
|
font-size:20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@ -3,20 +3,19 @@ import AppIcon from './icons/AppIcon.vue'
|
|||||||
import AppAvatar from './app-avatar/index.vue'
|
import AppAvatar from './app-avatar/index.vue'
|
||||||
import LoginLayout from './login-layout/index.vue'
|
import LoginLayout from './login-layout/index.vue'
|
||||||
import LoginContainer from './login-container/index.vue'
|
import LoginContainer from './login-container/index.vue'
|
||||||
import LayoutContent from './content-container/LayoutContent.vue'
|
import LayoutContainer from './layout-container/index.vue'
|
||||||
import TagsInput from './tags-input/index.vue'
|
import TagsInput from './tags-input/index.vue'
|
||||||
import CardBox from './card-box/index.vue'
|
import CardBox from './card-box/index.vue'
|
||||||
import CardAdd from './card-add/index.vue'
|
import CardAdd from './card-add/index.vue'
|
||||||
import BackButton from './back-button/index.vue'
|
import BackButton from './back-button/index.vue'
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
install(app: App) {
|
install(app: App) {
|
||||||
app.component(AppIcon.name, AppIcon)
|
app.component(AppIcon.name, AppIcon)
|
||||||
app.component(AppAvatar.name, AppAvatar)
|
app.component(AppAvatar.name, AppAvatar)
|
||||||
app.component(LoginLayout.name, LoginLayout)
|
app.component(LoginLayout.name, LoginLayout)
|
||||||
app.component(LoginContainer.name, LoginContainer)
|
app.component(LoginContainer.name, LoginContainer)
|
||||||
app.component(LayoutContent.name, LayoutContent)
|
app.component(LayoutContainer.name, LayoutContainer)
|
||||||
app.component(TagsInput.name, TagsInput)
|
app.component(TagsInput.name, TagsInput)
|
||||||
app.component(CardBox.name, CardBox)
|
app.component(CardBox.name, CardBox)
|
||||||
app.component(CardAdd.name, CardAdd)
|
app.component(CardAdd.name, CardAdd)
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="content-container">
|
<div class="content-container">
|
||||||
<div class="content-container__header mt-16 mb-16" v-if="slots.header || header">
|
<div class="content-container__header flex align-center" v-if="slots.header || header">
|
||||||
<slot name="header">
|
<back-button :to="backTo" v-if="showBack"></back-button>
|
||||||
<back-button :to="backTo" v-if="showBack"></back-button>
|
<h3>{{ header }}</h3>
|
||||||
<h2 class="vertical-middle">{{ header }}</h2>
|
<slot name="header"> </slot>
|
||||||
</slot>
|
|
||||||
</div>
|
</div>
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<div class="content-container__main main-calc-height">
|
<div class="content-container__main main-calc-height">
|
||||||
@ -16,7 +15,7 @@
|
|||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed, useSlots } from 'vue'
|
import { computed, useSlots } from 'vue'
|
||||||
defineOptions({ name: 'LayoutContent' })
|
defineOptions({ name: 'LayoutContainer' })
|
||||||
const slots = useSlots()
|
const slots = useSlots()
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
header: String,
|
header: String,
|
||||||
@ -34,6 +33,8 @@ const showBack = computed(() => {
|
|||||||
padding: 0 var(--app-view-padding) var(--app-view-padding);
|
padding: 0 var(--app-view-padding) var(--app-view-padding);
|
||||||
.content-container__header {
|
.content-container__header {
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
padding: 16px 0;
|
||||||
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
.content-container__main {
|
.content-container__main {
|
||||||
background-color: var(--app-view-bg-color);
|
background-color: var(--app-view-bg-color);
|
||||||
@ -202,17 +202,16 @@ h4 {
|
|||||||
// 标题前带竖线样式
|
// 标题前带竖线样式
|
||||||
.title-decoration-1 {
|
.title-decoration-1 {
|
||||||
position: relative;
|
position: relative;
|
||||||
padding-left: 15px;
|
padding-left: 12px;
|
||||||
&:before {
|
&:before {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 2px;
|
left: 2px;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
transform: translate(-50%, -50%);
|
transform: translate(-50%, -50%);
|
||||||
width: 4px;
|
width: 2px;
|
||||||
height: 90%;
|
height: 80%;
|
||||||
content: '';
|
content: '';
|
||||||
background: var(--el-color-primary);
|
background: var(--el-color-primary);
|
||||||
border-radius: 10px;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -102,6 +102,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// el-steps
|
||||||
|
.el-step__icon {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
.el-step__head.is-process {
|
||||||
|
.el-step__icon {
|
||||||
|
&.is-text {
|
||||||
|
color: #ffffff;
|
||||||
|
border-color: var(--el-color-primary) !important;
|
||||||
|
background: var(--el-color-primary) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 抽屉样式整体修改
|
// 抽屉样式整体修改
|
||||||
.el-drawer {
|
.el-drawer {
|
||||||
.el-drawer__header {
|
.el-drawer__header {
|
||||||
|
|||||||
@ -1,11 +1,20 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutContent header="创建数据集" back-to="-1">
|
<LayoutContainer header="创建数据集" back-to="-1" class="create-dataset">
|
||||||
<div class="create-dataset flex main-calc-height">
|
<template #header>
|
||||||
<div class="p-24">
|
<el-steps :active="active" finish-status="success" align-center class="create-dataset__steps">
|
||||||
<el-steps :active="active" finish-status="success" align-center>
|
<el-step v-for="(item, index) in steps" :key="index">
|
||||||
<el-step v-for="(item, index) in steps" :key="index" :title="item.name" />
|
<template #icon>
|
||||||
</el-steps>
|
<div class="app-step">
|
||||||
</div>
|
<div class="el-step__icon is-text">
|
||||||
|
<div class="el-step__icon-inner">{{ index + 1 }}</div>
|
||||||
|
</div>
|
||||||
|
{{ item.name }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-step>
|
||||||
|
</el-steps>
|
||||||
|
</template>
|
||||||
|
<div class="create-dataset__main flex main-calc-height">
|
||||||
<div class="create-dataset__component p-24">
|
<div class="create-dataset__component p-24">
|
||||||
<el-scrollbar>
|
<el-scrollbar>
|
||||||
<component :is="steps[active].component" :ref="steps[active]?.ref" />
|
<component :is="steps[active].component" :ref="steps[active]?.ref" />
|
||||||
@ -18,7 +27,7 @@
|
|||||||
<el-button @click="next" type="primary">开始导入</el-button>
|
<el-button @click="next" type="primary">开始导入</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</LayoutContent>
|
</LayoutContainer>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
@ -51,7 +60,22 @@ const prev = () => {}
|
|||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.create-dataset {
|
.create-dataset {
|
||||||
flex-direction: column;
|
&__steps {
|
||||||
|
min-width: 450px;
|
||||||
|
max-width: 800px;
|
||||||
|
width: 80%;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-right: 60px;
|
||||||
|
|
||||||
|
:deep(.el-step__line) {
|
||||||
|
left: 64% !important;
|
||||||
|
right: -33% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&__main {
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
&__component {
|
&__component {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<h4 class="title-decoration-1 mb-8">基本信息</h4>
|
<h4 class="title-decoration-1 mb-16">基本信息</h4>
|
||||||
<el-form ref="FormRef" :model="form" :rules="rules" label-position="top">
|
<el-form ref="FormRef" :model="form" :rules="rules" label-position="top">
|
||||||
<el-form-item label="数据集名称" prop="name">
|
<el-form-item label="数据集名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<LayoutContent header="团队管理">
|
<LayoutContainer header="团队管理">
|
||||||
<div class="team-manage flex main-calc-height">
|
<div class="team-manage flex main-calc-height">
|
||||||
<div class="team-member p-8 border-r">
|
<div class="team-member p-8 border-r">
|
||||||
<div class="flex-between p-16">
|
<div class="flex-between p-16">
|
||||||
@ -67,7 +67,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<CreateMemberDialog ref="CreateMemberRef" @refresh="refresh" />
|
<CreateMemberDialog ref="CreateMemberRef" @refresh="refresh" />
|
||||||
</LayoutContent>
|
</LayoutContainer>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user