Merge branch 'main' of github.com:maxkb-dev/maxkb

This commit is contained in:
shaohuzhang1 2023-12-04 17:33:12 +08:00
commit 95d46388d2
7 changed files with 36 additions and 16 deletions

View File

@ -65,7 +65,7 @@
</el-option> </el-option>
</el-option-group> </el-option-group>
<div class="border-t" style="padding: 8px 11px"> <div class="border-t" style="padding: 8px 11px">
<el-button type="primary" link> <el-button type="primary" link @click="openCreateModel">
<el-icon class="mr-4"><Plus /></el-icon> <el-icon class="mr-4"><Plus /></el-icon>
</el-button> </el-button>
</div> </div>
@ -162,6 +162,12 @@
@refresh="refresh" @refresh="refresh"
:loading="datasetLoading" :loading="datasetLoading"
/> />
<CreateModelDialog
ref="createModelRef"
@submit="getModel"
@change="openCreateModel($event)"
></CreateModelDialog>
<SelectProviderDialog ref="selectProviderRef" @change="openCreateModel($event)" />
</LayoutContainer> </LayoutContainer>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -170,6 +176,8 @@ import { useRouter, useRoute } from 'vue-router'
import { groupBy } from 'lodash' import { groupBy } from 'lodash'
import AiDialog from '@/components/ai-dialog/index.vue' import AiDialog from '@/components/ai-dialog/index.vue'
import AddDatasetDialog from './components/AddDatasetDialog.vue' import AddDatasetDialog from './components/AddDatasetDialog.vue'
import CreateModelDialog from '@/views/template/component/CreateModelDialog.vue'
import SelectProviderDialog from '@/views/template/component/SelectProviderDialog.vue'
import applicationApi from '@/api/application' import applicationApi from '@/api/application'
import type { FormInstance, FormRules } from 'element-plus' import type { FormInstance, FormRules } from 'element-plus'
import type { ApplicationFormType } from '@/api/type/application' import type { ApplicationFormType } from '@/api/type/application'
@ -185,6 +193,9 @@ const {
params: { id } params: { id }
} = route as any } = route as any
const createModelRef = ref<InstanceType<typeof CreateModelDialog>>()
const selectProviderRef = ref<InstanceType<typeof SelectProviderDialog>>()
const applicationFormRef = ref<FormInstance>() const applicationFormRef = ref<FormInstance>()
const AddDatasetDialogRef = ref() const AddDatasetDialogRef = ref()
@ -239,6 +250,14 @@ const submit = async (formEl: FormInstance | undefined) => {
}) })
} }
const openCreateModel = (provider?: Provider) => {
if (provider && provider.provider) {
createModelRef.value?.open(provider)
} else {
selectProviderRef.value?.open()
}
}
function removeDataset(id: string) { function removeDataset(id: string) {
applicationForm.value.dataset_id_list.splice(applicationForm.value.dataset_id_list.indexOf(id), 1) applicationForm.value.dataset_id_list.splice(applicationForm.value.dataset_id_list.indexOf(id), 1)
} }

View File

@ -11,7 +11,9 @@
<el-row :gutter="12" v-loading="loading"> <el-row :gutter="12" v-loading="loading">
<el-col :span="12" v-for="(item, index) in data" :key="index" class="mb-16"> <el-col :span="12" v-for="(item, index) in data" :key="index" class="mb-16">
<CardCheckbox value-field="id" :data="item" v-model="checkList"> <CardCheckbox value-field="id" :data="item" v-model="checkList">
{{ item.name }} <span class="ellipsis-1">
{{ item.name }}
</span>
</CardCheckbox> </CardCheckbox>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="application-list-container p-24" style="padding-top: 16px"> <div class="application-list-container p-24" style="padding-top: 16px">
<div class="flex-between mb-8"> <div class="flex-between mb-16">
<h3>应用</h3> <h3>应用</h3>
<el-input <el-input
v-model="pageConfig.name" v-model="pageConfig.name"
@ -17,7 +17,7 @@
:infinite-scroll-disabled="disabledScroll" :infinite-scroll-disabled="disabledScroll"
class="app-list-row" class="app-list-row"
> >
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mt-8"> <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb-16">
<CardAdd title="创建应用" @click="router.push({ path: '/application/create' })" /> <CardAdd title="创建应用" @click="router.push({ path: '/application/create' })" />
</el-col> </el-col>
<el-col <el-col
@ -28,7 +28,7 @@
:xl="4" :xl="4"
v-for="(item, index) in applicationList" v-for="(item, index) in applicationList"
:key="index" :key="index"
class="mt-8" class="mb-16"
> >
<CardBox <CardBox
:title="item.name" :title="item.name"

View File

@ -1,6 +1,6 @@
<template> <template>
<div class="dataset-list-container p-24" style="padding-top: 16px"> <div class="dataset-list-container p-24" style="padding-top: 16px">
<div class="flex-between mb-8"> <div class="flex-between mb-16">
<h3>数据集</h3> <h3>数据集</h3>
<el-input <el-input
v-model="pageConfig.name" v-model="pageConfig.name"
@ -17,7 +17,7 @@
:infinite-scroll-disabled="disabledScroll" :infinite-scroll-disabled="disabledScroll"
class="app-list-row" class="app-list-row"
> >
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mt-8"> <el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="4" class="mb-16">
<CardAdd title="创建数据集" @click="router.push({ path: '/dataset/create' })" /> <CardAdd title="创建数据集" @click="router.push({ path: '/dataset/create' })" />
</el-col> </el-col>
<el-col <el-col
@ -28,7 +28,7 @@
:xl="4" :xl="4"
v-for="(item, index) in datasetList" v-for="(item, index) in datasetList"
:key="index" :key="index"
class="mt-8" class="mb-16"
> >
<CardBox <CardBox
:title="item.name" :title="item.name"

View File

@ -24,7 +24,6 @@
import { ref } from 'vue' import { ref } from 'vue'
import ModelApi from '@/api/model' import ModelApi from '@/api/model'
import type { Provider } from '@/api/type/model' import type { Provider } from '@/api/type/model'
const loading = ref<boolean>(false) const loading = ref<boolean>(false)
const dialogVisible = ref<boolean>(false) const dialogVisible = ref<boolean>(false)
const list_provider = ref<Array<Provider>>([]) const list_provider = ref<Array<Provider>>([])

View File

@ -60,13 +60,13 @@
</div> </div>
</div> </div>
</div> </div>
<CreateModel <CreateModelDialog
ref="createModelRef" ref="createModelRef"
@submit="list_model" @submit="list_model"
@change="openCreateModel($event)" @change="openCreateModel($event)"
></CreateModel> ></CreateModelDialog>
<SelectProvider ref="selectProviderRef" @change="openCreateModel($event)"></SelectProvider> <SelectProviderDialog ref="selectProviderRef" @change="openCreateModel($event)"></SelectProviderDialog>
</LayoutContainer> </LayoutContainer>
</template> </template>
@ -78,8 +78,8 @@ import type { Provider, Model } from '@/api/type/model'
import AppIcon from '@/components/icons/AppIcon.vue' import AppIcon from '@/components/icons/AppIcon.vue'
import ModelCard from '@/views/template/component/ModelCard.vue' import ModelCard from '@/views/template/component/ModelCard.vue'
import { splitArray } from '@/utils/common' import { splitArray } from '@/utils/common'
import CreateModel from '@/views/template/component/CreateModel.vue' import CreateModelDialog from '@/views/template/component/CreateModelDialog.vue'
import SelectProvider from '@/views/template/component/SelectProvider.vue' import SelectProviderDialog from '@/views/template/component/SelectProviderDialog.vue'
const allObj = { const allObj = {
icon: '', icon: '',
@ -99,8 +99,8 @@ const model_list = ref<Array<Model>>([])
const model_split_list = computed(() => { const model_split_list = computed(() => {
return splitArray(model_list.value, 2) return splitArray(model_list.value, 2)
}) })
const createModelRef = ref<InstanceType<typeof CreateModel>>() const createModelRef = ref<InstanceType<typeof CreateModelDialog>>()
const selectProviderRef = ref<InstanceType<typeof SelectProvider>>() const selectProviderRef = ref<InstanceType<typeof SelectProviderDialog>>()
const clickListHandle = (item: Provider) => { const clickListHandle = (item: Provider) => {
active_provider.value = item active_provider.value = item