refactor: ui

v3.2
wxg0103 2025-06-06 09:39:01 +08:00
parent e9d7decef8
commit 9c205048d4
34 changed files with 528 additions and 484 deletions

View File

@ -5,13 +5,13 @@ import type { ApplicationFormType } from '@/api/type/application'
import {type Ref} from 'vue' import {type Ref} from 'vue'
import type {FormField} from '@/components/dynamics-form/type' import type {FormField} from '@/components/dynamics-form/type'
const prefix = '/workspace' const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/application'
/** /**
* *
* @param * @param
*/ */
const getAllAppilcation: () => Promise<Result<any[]>> = () => { const getAllApplication: () => Promise<Result<any[]>> = () => {
return get(`${prefix}`) return get(`${prefix}`)
} }
@ -22,13 +22,12 @@ const getAllAppilcation: () => Promise<Result<any[]>> = () => {
} }
*/ */
const getApplication: ( const getApplication: (
wordspace_id: string,
page: pageRequest, page: pageRequest,
param: any, param: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, page, param, loading) => { ) => Promise<Result<any>> = (page, param, loading) => {
return get( return get(
`${prefix}/${wordspace_id}/application/${page.current_page}/${page.page_size}`, `${prefix}/${page.current_page}/${page.page_size}`,
param, param,
loading, loading,
) )
@ -39,11 +38,10 @@ const getApplication: (
* @param * @param
*/ */
const postApplication: ( const postApplication: (
wordspace_id: string,
data: ApplicationFormType, data: ApplicationFormType,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => { ) => Promise<Result<any>> = (data, loading) => {
return post(`${prefix}/${wordspace_id}/application`, data, undefined, loading) return post(`${prefix}`, data, undefined, loading)
} }
/** /**
@ -542,7 +540,7 @@ const importApplication: (data: any, loading?: Ref<boolean>) => Promise<Result<a
return post(`${prefix}/import`, data, undefined, loading) return post(`${prefix}/import`, data, undefined, loading)
} }
export default { export default {
getAllAppilcation, getAllAppilcation: getAllApplication,
getApplication, getApplication,
postApplication, postApplication,
putApplication, putApplication,

View File

@ -2,7 +2,8 @@ import { Result } from '@/request/Result'
import {get, post, del, put} from '@/request/index' import {get, post, del, put} from '@/request/index'
import {type Ref} from 'vue' import {type Ref} from 'vue'
import type {pageRequest} from '@/api/type/common' import type {pageRequest} from '@/api/type/common'
const prefix = '/workspace'
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
/** /**
* *
@ -11,12 +12,11 @@ const prefix = '/workspace'
* data : {name: string} * data : {name: string}
*/ */
const getFolder: ( const getFolder: (
wordspace_id: string,
source: string, source: string,
data?: any, data?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (wordspace_id, source, data, loading) => { ) => Promise<Result<Array<any>>> = (source, data, loading) => {
return get(`${prefix}/${wordspace_id}/${source}/folder`, data, loading) return get(`${prefix}/${source}/folder`, data, loading)
} }
/** /**
@ -30,12 +30,11 @@ const getFolder: (
} }
*/ */
const postFolder: ( const postFolder: (
wordspace_id: string,
source: string, source: string,
data?: any, data?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (wordspace_id, source, data, loading) => { ) => Promise<Result<Array<any>>> = (source, data, loading) => {
return post(`${prefix}/${wordspace_id}/${source}/folder`, data, loading) return post(`${prefix}/${source}/folder`, data, loading)
} }
export default { export default {

View File

@ -4,7 +4,7 @@ import type { Ref } from 'vue'
import type {KeyValue} from '@/api/type/common' import type {KeyValue} from '@/api/type/common'
import type {pageRequest} from '@/api/type/common' import type {pageRequest} from '@/api/type/common'
const prefix = '/workspace' const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/knowledge'
/** /**
* *
@ -19,14 +19,13 @@ const prefix = '/workspace'
*/ */
const getDocument: ( const getDocument: (
wordspace_id: string,
knowledge_id: string, knowledge_id: string,
page: pageRequest, page: pageRequest,
param: any, param: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, page, param, loading) => { ) => Promise<Result<any>> = (knowledge_id, page, param, loading) => {
return get( return get(
`${prefix}/${wordspace_id}/knowledge/${knowledge_id}/document/${page.current_page}/${page.page_size}`, `${prefix}/${knowledge_id}/document/${page.current_page}/${page.page_size}`,
param, param,
loading, loading,
) )

View File

@ -3,7 +3,8 @@ import { get, post, del, put } from '@/request/index'
import {type Ref} from 'vue' import {type Ref} from 'vue'
import type {pageRequest} from '@/api/type/common' import type {pageRequest} from '@/api/type/common'
import type {knowledgeData} from '@/api/type/knowledge' import type {knowledgeData} from '@/api/type/knowledge'
const prefix = '/workspace'
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
/** /**
* *
@ -14,11 +15,10 @@ const prefix = '/workspace'
* desc: string,} * desc: string,}
*/ */
const getKnowledgeByFolder: ( const getKnowledgeByFolder: (
wordspace_id: string,
data?: any, data?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (wordspace_id, data, loading) => { ) => Promise<Result<Array<any>>> = (data, loading) => {
return get(`${prefix}/${wordspace_id}/knowledge`, data, loading) return get(`${prefix}/knowledge`, data, loading)
} }
/** /**
@ -32,13 +32,12 @@ const getKnowledgeByFolder: (
} }
*/ */
const getKnowledgeList: ( const getKnowledgeList: (
wordspace_id: string,
page: pageRequest, page: pageRequest,
param?: any, param?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, page, param, loading) => { ) => Promise<Result<any>> = (page, param, loading) => {
return get( return get(
`${prefix}/${wordspace_id}/knowledge/${page.current_page}/${page.page_size}`, `${prefix}/knowledge/${page.current_page}/${page.page_size}`,
param, param,
loading, loading,
) )
@ -58,13 +57,12 @@ const getKnowledgeList: (
* @query sync_type // 同步类型->replace:替换同步,complete:完整同步 * @query sync_type // 同步类型->replace:替换同步,complete:完整同步
*/ */
const putSyncWebKnowledge: ( const putSyncWebKnowledge: (
wordspace_id: string,
knowledge_id: string, knowledge_id: string,
sync_type: string, sync_type: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, sync_type, loading) => { ) => Promise<Result<any>> = (knowledge_id, sync_type, loading) => {
return put( return put(
`${prefix}/${wordspace_id}/knowledge/${knowledge_id}/sync`, `${prefix}/knowledge/${knowledge_id}/sync`,
undefined, undefined,
{sync_type}, {sync_type},
loading, loading,
@ -76,12 +74,11 @@ const putSyncWebKnowledge: (
* @param knowledge_id * @param knowledge_id
*/ */
const putReEmbeddingKnowledge: ( const putReEmbeddingKnowledge: (
wordspace_id: string,
knowledge_id: string, knowledge_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, loading) => { ) => Promise<Result<any>> = (knowledge_id, loading) => {
return put( return put(
`${prefix}/${wordspace_id}/knowledge/${knowledge_id}/embedding`, `${prefix}/knowledge/${knowledge_id}/embedding`,
undefined, undefined,
undefined, undefined,
loading, loading,
@ -93,11 +90,10 @@ const putReEmbeddingKnowledge: (
* @param knowledge_id * @param knowledge_id
*/ */
const getKnowledgeDetail: ( const getKnowledgeDetail: (
wordspace_id: string,
knowledge_id: string, knowledge_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, loading) => { ) => Promise<Result<any>> = (knowledge_id, loading) => {
return get(`${prefix}/${wordspace_id}/knowledge/${knowledge_id}`, undefined, loading) return get(`${prefix}/knowledge/${knowledge_id}`, undefined, loading)
} }
/** /**
@ -111,11 +107,10 @@ const getKnowledgeDetail: (
} }
*/ */
const postKnowledge: ( const postKnowledge: (
wordspace_id: string,
data: knowledgeData, data: knowledgeData,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => { ) => Promise<Result<any>> = (data, loading) => {
return post(`${prefix}/${wordspace_id}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5) return post(`${prefix}/knowledge/base`, data, undefined, loading, 1000 * 60 * 5)
} }
/** /**
@ -131,11 +126,10 @@ const postKnowledge: (
} }
*/ */
const postWebKnowledge: ( const postWebKnowledge: (
wordspace_id: string,
data: any, data: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => { ) => Promise<Result<any>> = (data, loading) => {
return post(`${prefix}/${wordspace_id}/knowledge/web`, data, undefined, loading) return post(`${prefix}/knowledge/web`, data, undefined, loading)
} }
/** /**
* *
@ -147,12 +141,11 @@ const postWebKnowledge: (
} }
*/ */
const putKnowledge: ( const putKnowledge: (
wordspace_id: string,
knowledge_id: string, knowledge_id: string,
data: any, data: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, knowledge_id, data, loading) => { ) => Promise<Result<any>> = (knowledge_id, data, loading) => {
return put(`${prefix}/${wordspace_id}/knowledge/${knowledge_id}`, data, undefined, loading) return put(`${prefix}/knowledge/${knowledge_id}`, data, undefined, loading)
} }
export default { export default {

View File

@ -2,7 +2,7 @@ import { Result } from '@/request/Result'
import { get, post, del, put } from '@/request/index' import { get, post, del, put } from '@/request/index'
import type { pageRequest } from '@/api/type/common' import type { pageRequest } from '@/api/type/common'
import type { Ref } from 'vue' import type { Ref } from 'vue'
const prefix = '/dataset' const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/knowledge'
/** /**
* *

View File

@ -3,7 +3,8 @@ import { get, post, del, put } from '@/request/index'
import type {Ref} from 'vue' import type {Ref} from 'vue'
import type {KeyValue} from '@/api/type/common' import type {KeyValue} from '@/api/type/common'
import type {pageRequest} from '@/api/type/common' import type {pageRequest} from '@/api/type/common'
const prefix = '/workspace'
const prefix = '/workspace/' + localStorage.getItem('workspace_id') + '/knowledge'
/** /**
* *
@ -18,14 +19,13 @@ const prefix = '/workspace'
*/ */
const getProblems: ( const getProblems: (
workspace_id: string,
dataset_id: string, dataset_id: string,
page: pageRequest, page: pageRequest,
param: any, param: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, dataset_id, page, param, loading) => { ) => Promise<Result<any>> = (dataset_id, page, param, loading) => {
return get( return get(
`${prefix}/${wordspace_id}/knowledge/${dataset_id}/problem/${page.current_page}/${page.page_size}`, `${prefix}/${dataset_id}/problem/${page.current_page}/${page.page_size}`,
param, param,
loading, loading,
) )

View File

@ -9,18 +9,17 @@ import type {
} from '@/api/type/model' } from '@/api/type/model'
import type {FormField} from '@/components/dynamics-form/type' import type {FormField} from '@/components/dynamics-form/type'
const prefix = '/workspace' const prefix = '/workspace/' + localStorage.getItem('workspace_id')
/** /**
* *
* @params name, model_type, model_name * @params name, model_type, model_name
*/ */
const getModel: ( const getModel: (
wordspace_id: string,
request?: ListModelRequest, request?: ListModelRequest,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<Model>>> = (wordspace_id, data, loading) => { ) => Promise<Result<Array<Model>>> = (data, loading) => {
return get(`${prefix}/${wordspace_id}/model`, data, loading) return get(`${prefix}/model`, data, loading)
} }
/** /**
@ -30,11 +29,10 @@ const getModel: (
* @returns * @returns
*/ */
const getModelParamsForm: ( const getModelParamsForm: (
wordspace_id: string,
model_id: string, model_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<FormField>>> = (wordspace_id, model_id, loading) => { ) => Promise<Result<Array<FormField>>> = (model_id, loading) => {
return get(`${prefix}/${wordspace_id}/model/${model_id}/model_params_form`, {}, loading) return get(`${prefix}/model/${model_id}/model_params_form`, {}, loading)
} }
/** /**
@ -44,11 +42,10 @@ const getModelParamsForm: (
* @returns * @returns
*/ */
const createModel: ( const createModel: (
wordspace_id: string,
request: CreateModelRequest, request: CreateModelRequest,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Model>> = (wordspace_id, request, loading) => { ) => Promise<Result<Model>> = (request, loading) => {
return post(`${prefix}/${wordspace_id}/model`, request, {}, loading) return post(`${prefix}/model`, request, {}, loading)
} }
/** /**
@ -58,12 +55,11 @@ const createModel: (
* @returns * @returns
*/ */
const updateModel: ( const updateModel: (
wordspace_id: string,
model_id: string, model_id: string,
request: EditModelRequest, request: EditModelRequest,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Model>> = (wordspace_id, model_id, request, loading) => { ) => Promise<Result<Model>> = (model_id, request, loading) => {
return put(`${prefix}/${wordspace_id}/model/${model_id}`, request, {}, loading) return put(`${prefix}/model/${model_id}`, request, {}, loading)
} }
/** /**
@ -73,12 +69,11 @@ const updateModel: (
* @returns * @returns
*/ */
const updateModelParamsForm: ( const updateModelParamsForm: (
wordspace_id: string,
model_id: string, model_id: string,
request: any[], request: any[],
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Model>> = (wordspace_id, model_id, request, loading) => { ) => Promise<Result<Model>> = (model_id, request, loading) => {
return put(`${prefix}/${wordspace_id}/model/${model_id}/model_params_form`, request, {}, loading) return put(`${prefix}/model/${model_id}/model_params_form`, request, {}, loading)
} }
/** /**
@ -88,11 +83,10 @@ const updateModelParamsForm: (
* @returns * @returns
*/ */
const getModelById: ( const getModelById: (
wordspace_id: string,
model_id: string, model_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Model>> = (wordspace_id, model_id, loading) => { ) => Promise<Result<Model>> = (model_id, loading) => {
return get(`${prefix}/${wordspace_id}/model/${model_id}`, {}, loading) return get(`${prefix}/model/${model_id}`, {}, loading)
} }
/** /**
* id * id
@ -101,11 +95,10 @@ const getModelById: (
* @returns * @returns
*/ */
const getModelMetaById: ( const getModelMetaById: (
wordspace_id: string,
model_id: string, model_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Model>> = (wordspace_id, model_id, loading) => { ) => Promise<Result<Model>> = (model_id, loading) => {
return get(`${prefix}/${wordspace_id}/model/${model_id}/meta`, {}, loading) return get(`${prefix}/model/${model_id}/meta`, {}, loading)
} }
/** /**
* *
@ -114,18 +107,16 @@ const getModelMetaById: (
* @returns * @returns
*/ */
const pauseDownload: ( const pauseDownload: (
wordspace_id: string,
model_id: string, model_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (wordspace_id, model_id, loading) => { ) => Promise<Result<boolean>> = (model_id, loading) => {
return put(`${prefix}/${wordspace_id}/model/${model_id}/pause_download`, undefined, {}, loading) return put(`${prefix}/model/${model_id}/pause_download`, undefined, {}, loading)
} }
const deleteModel: ( const deleteModel: (
wordspace_id: string,
model_id: string, model_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (wordspace_id, model_id, loading) => { ) => Promise<Result<boolean>> = (model_id, loading) => {
return del(`${prefix}/${wordspace_id}/model/${model_id}`, undefined, {}, loading) return del(`${prefix}/model/${model_id}`, undefined, {}, loading)
} }
export default { export default {
getModel, getModel,

View File

@ -4,6 +4,7 @@ import type { Ref } from 'vue'
import type {Provider, BaseModel} from '@/api/type/model' import type {Provider, BaseModel} from '@/api/type/model'
import type {FormField} from '@/components/dynamics-form/type' import type {FormField} from '@/components/dynamics-form/type'
import type {KeyValue} from '../type/common' import type {KeyValue} from '../type/common'
const prefix_provider = '/provider' const prefix_provider = '/provider'
/** /**
* *

View File

@ -3,18 +3,19 @@ import { get, post, del, put } from '@/request/index'
import {type Ref} from 'vue' import {type Ref} from 'vue'
import type {pageRequest} from '@/api/type/common' import type {pageRequest} from '@/api/type/common'
import type {toolData} from '@/api/type/tool' import type {toolData} from '@/api/type/tool'
const prefix = '/workspace'
const prefix = '/workspace/' + localStorage.getItem('workspace_id')
/** /**
* *
* @params {folder_id: string} * @params {folder_id: string}
*/ */
const getToolByFolder: ( const getToolByFolder: (
wordspace_id: string,
data?: any, data?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<Array<any>>> = (wordspace_id, data, loading) => { ) => Promise<Result<Array<any>>> = (data, loading) => {
return get(`${prefix}/${wordspace_id}/tool`, data, loading) return get(`${prefix}/tool`, data, loading)
} }
/** /**
@ -27,13 +28,12 @@ const getToolByFolder: (
} }
*/ */
const getToolList: ( const getToolList: (
wordspace_id: string,
page: pageRequest, page: pageRequest,
param?: any, param?: any,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, page, param, loading) => { ) => Promise<Result<any>> = (page, param, loading) => {
return get( return get(
`${prefix}/${wordspace_id}/tool/${page.current_page}/${page.page_size}`, `${prefix}/tool/${page.current_page}/${page.page_size}`,
param, param,
loading, loading,
) )
@ -44,11 +44,10 @@ const getToolList: (
* @param * @param
*/ */
const postTool: ( const postTool: (
wordspace_id: string,
data: toolData, data: toolData,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, data, loading) => { ) => Promise<Result<any>> = (data, loading) => {
return post(`${prefix}/${wordspace_id}/tool`, data, undefined, loading) return post(`${prefix}/tool`, data, undefined, loading)
} }
/** /**
@ -57,12 +56,11 @@ const postTool: (
*/ */
const putTool: ( const putTool: (
wordspace_id: string,
tool_id: string, tool_id: string,
data: toolData, data: toolData,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, tool_id, data, loading) => { ) => Promise<Result<any>> = (tool_id, data, loading) => {
return put(`${prefix}/${wordspace_id}/tool/${tool_id}`, data, undefined, loading) return put(`${prefix}/tool/${tool_id}`, data, undefined, loading)
} }
/** /**
@ -72,19 +70,17 @@ const putTool: (
* @returns * @returns
*/ */
const getToolById: ( const getToolById: (
wordspace_id: string,
tool_id: String, tool_id: String,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, tool_id, loading) => { ) => Promise<Result<any>> = (tool_id, loading) => {
return get(`${prefix}/${wordspace_id}/tool/${tool_id}`, undefined, loading) return get(`${prefix}/tool/${tool_id}`, undefined, loading)
} }
const postPylint: ( const postPylint: (
wordspace_id: string,
code: string, code: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) => Promise<Result<any>> = (wordspace_id, code, loading) => { ) => Promise<Result<any>> = (code, loading) => {
return post(`${prefix}/${wordspace_id}/tool/pylint`, { code }, {}, loading) return post(`${prefix}/tool/pylint`, {code}, {}, loading)
} }
/** /**

View File

@ -74,7 +74,7 @@ function getRangeFromLineAndColumn(state: any, line: number, column: number, end
const regexpLinter = linter(async (view) => { const regexpLinter = linter(async (view) => {
let diagnostics: Diagnostic[] = [] let diagnostics: Diagnostic[] = []
await ToolApi.postPylint('default', view.state.doc.toString()).then((ok) => { await ToolApi.postPylint(view.state.doc.toString()).then((ok) => {
ok.data.forEach((element: any) => { ok.data.forEach((element: any) => {
const range = getRangeFromLineAndColumn( const range = getRangeFromLineAndColumn(
view.state, view.state,
@ -124,6 +124,7 @@ function submitDialog() {
<style lang="scss" scoped> <style lang="scss" scoped>
.codemirror-editor { .codemirror-editor {
position: relative; position: relative;
&__footer { &__footer {
position: absolute; position: absolute;
bottom: 10px; bottom: 10px;

View File

@ -96,7 +96,7 @@ const open = (source: string, id: string) => {
const submitHandle = async () => { const submitHandle = async () => {
await FolderFormRef.value.validate((valid: any) => { await FolderFormRef.value.validate((valid: any) => {
if (valid) { if (valid) {
folderApi.postFolder('default', sourceType.value, folderForm.value, loading).then((res) => { folderApi.postFolder( sourceType.value, folderForm.value, loading).then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
emit('refresh') emit('refresh')
dialogVisible.value = false dialogVisible.value = false

View File

@ -5,10 +5,10 @@ import folderApi from '@/api/folder'
const useFolderStore = defineStore('folder', { const useFolderStore = defineStore('folder', {
state: () => ({}), state: () => ({}),
actions: { actions: {
async asynGetFolder(workspace_id: string, source: string, data: any, loading?: Ref<boolean>) { async asyncGetFolder(source: string, data: any, loading?: Ref<boolean>) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
folderApi folderApi
.getFolder(workspace_id, source, data, loading) .getFolder(source, data, loading)
.then((res) => { .then((res) => {
resolve(res) resolve(res)
}) })

View File

@ -44,13 +44,12 @@ const useKnowledgeStore = defineStore('knowledge', {
// }) // })
// }, // },
async asyncGetDatasetDetail( async asyncGetDatasetDetail(
workspace_id: string,
knowledge_id: string, knowledge_id: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) { ) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
knowledgeApi knowledgeApi
.getKnowledgeDetail(workspace_id, knowledge_id, loading) .getKnowledgeDetail(knowledge_id, loading)
.then((data) => { .then((data) => {
resolve(data) resolve(data)
}) })
@ -60,14 +59,13 @@ const useKnowledgeStore = defineStore('knowledge', {
}) })
}, },
async asyncSyncDataset( async asyncSyncDataset(
workspace_id: string,
id: string, id: string,
sync_type: string, sync_type: string,
loading?: Ref<boolean>, loading?: Ref<boolean>,
) { ) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
knowledgeApi knowledgeApi
.putSyncWebKnowledge(workspace_id, id, sync_type, loading) .putSyncWebKnowledge(id, sync_type, loading)
.then((data) => { .then((data) => {
resolve(data) resolve(data)
}) })

View File

@ -3,12 +3,13 @@ import { type Ref } from 'vue'
import ModelApi from '@/api/model/model' import ModelApi from '@/api/model/model'
import ProviderApi from '@/api/model/provider' import ProviderApi from '@/api/model/provider'
import type {ListModelRequest} from '@/api/type/model' import type {ListModelRequest} from '@/api/type/model'
const useModelStore = defineStore('model', { const useModelStore = defineStore('model', {
state: () => ({}), state: () => ({}),
actions: { actions: {
async asyncGetModel(wordspace_id: string, data?: ListModelRequest, loading?: Ref<boolean>) { async asyncGetModel(data?: ListModelRequest, loading?: Ref<boolean>) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
ModelApi.getModel(wordspace_id, data, loading) ModelApi.getModel(data, loading)
.then((res) => { .then((res) => {
resolve(res) resolve(res)
}) })

View File

@ -20,7 +20,6 @@ const useProblemStore = defineStore('problem', {
}) })
}, },
async asyncGetProblem( async asyncGetProblem(
workspace_id: string,
datasetId: string, datasetId: string,
page: pageRequest, page: pageRequest,
param: any, param: any,
@ -28,7 +27,7 @@ const useProblemStore = defineStore('problem', {
) { ) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
problemApi problemApi
.getProblems(workspace_id, datasetId, page, param, loading) .getProblems(datasetId, page, param, loading)
.then((data) => { .then((data) => {
resolve(data) resolve(data)
}) })

View File

@ -91,6 +91,7 @@ import { MsgSuccess, MsgAlert } from '@/utils/message'
import {isWorkFlow} from '@/utils/application' import {isWorkFlow} from '@/utils/application'
import {baseNodes} from '@/workflow/common/data' import {baseNodes} from '@/workflow/common/data'
import {t} from '@/locales' import {t} from '@/locales'
const router = useRouter() const router = useRouter()
const emit = defineEmits(['refresh']) const emit = defineEmits(['refresh'])
@ -227,7 +228,6 @@ const submitHandle = async (formEl: FormInstance | undefined) => {
console.log(applicationForm.value.type) console.log(applicationForm.value.type)
applicationApi applicationApi
.postApplication( .postApplication(
'default',
{...applicationForm.value, folder_id: currentFolder.value}, {...applicationForm.value, folder_id: currentFolder.value},
loading, loading,
) )
@ -254,6 +254,7 @@ defineExpose({ open })
<style lang="scss" scoped> <style lang="scss" scoped>
.radio-card { .radio-card {
line-height: 22px; line-height: 22px;
&.active { &.active {
border-color: var(--el-color-primary); border-color: var(--el-color-primary);
color: var(--el-color-primary); color: var(--el-color-primary);

View File

@ -43,7 +43,10 @@
</div> </div>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button type="primary" class="ml-8"> <el-button type="primary" class="ml-8">
{{ $t('common.create') }}<el-icon class="el-icon--right"><arrow-down /></el-icon> {{ $t('common.create') }}
<el-icon class="el-icon--right">
<arrow-down/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu class="create-dropdown"> <el-dropdown-menu class="create-dropdown">
@ -60,7 +63,8 @@
<div class="lighter">{{ $t('views.application.simple') }}</div> <div class="lighter">{{ $t('views.application.simple') }}</div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.application.simplePlaceholder') $t('views.application.simplePlaceholder')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -77,7 +81,8 @@
<div class="lighter">{{ $t('views.application.workflow') }}</div> <div class="lighter">{{ $t('views.application.workflow') }}</div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.application.workflowPlaceholder') $t('views.application.workflowPlaceholder')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -185,7 +190,9 @@
<div @click.stop> <div @click.stop>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop>
<el-icon><MoreFilled /></el-icon> <el-icon>
<MoreFilled/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
@ -193,7 +200,8 @@
icon="Refresh" icon="Refresh"
@click.stop="syncDataset(item)" @click.stop="syncDataset(item)"
v-if="item.type === 1" v-if="item.type === 1"
>{{ $t('views.knowledge.setting.sync') }}</el-dropdown-item >{{ $t('views.knowledge.setting.sync') }}
</el-dropdown-item
> >
<el-dropdown-item @click.stop="reEmbeddingDataset(item)"> <el-dropdown-item @click.stop="reEmbeddingDataset(item)">
<AppIcon iconName="app-vectorization"></AppIcon> <AppIcon iconName="app-vectorization"></AppIcon>
@ -249,6 +257,7 @@ import { numberFormat } from '@/utils/common'
import {t} from '@/locales' import {t} from '@/locales'
import {useRouter} from 'vue-router' import {useRouter} from 'vue-router'
import {isWorkFlow} from '@/utils/application' import {isWorkFlow} from '@/utils/application'
const router = useRouter() const router = useRouter()
const {folder} = useStore() const {folder} = useStore()
@ -303,7 +312,7 @@ function getList() {
const params = { const params = {
folder_id: currentFolder.value?.id || 'root', folder_id: currentFolder.value?.id || 'root',
} }
ApplicaitonApi.getApplication('default', paginationConfig, params, loading).then((res) => { ApplicaitonApi.getApplication(paginationConfig, params, loading).then((res) => {
paginationConfig.total = res.data.total paginationConfig.total = res.data.total
applicationList.value = [...applicationList.value, ...res.data.records] applicationList.value = [...applicationList.value, ...res.data.records]
}) })
@ -311,7 +320,7 @@ function getList() {
function getFolder() { function getFolder() {
const params = {} const params = {}
folder.asynGetFolder('default', 'APPLICATION', params, loading).then((res: any) => { folder.asyncGetFolder('APPLICATION', params, loading).then((res: any) => {
folderList.value = res.data folderList.value = res.data
currentFolder.value = res.data?.[0] || {} currentFolder.value = res.data?.[0] || {}
getList() getList()

View File

@ -930,7 +930,7 @@ function getList(bool?: boolean) {
folder_id: folderId, folder_id: folderId,
} }
documentApi documentApi
.getDocument('default', id as string, paginationConfig.value, param, bool ? undefined : loading) .getDocument( id as string, paginationConfig.value, param, bool ? undefined : loading)
.then((res) => { .then((res) => {
documentData.value = res.data.records documentData.value = res.data.records
paginationConfig.value.total = res.data.total paginationConfig.value.total = res.data.total
@ -938,7 +938,7 @@ function getList(bool?: boolean) {
} }
function getDetail() { function getDetail() {
knowledge.asyncGetDatasetDetail('default', id, loading).then((res: any) => { knowledge.asyncGetDatasetDetail( id, loading).then((res: any) => {
datasetDetail.value = res.data datasetDetail.value = res.data
}) })
} }

View File

@ -250,14 +250,15 @@ async function submit() {
}) })
}) })
} else { } else {
KnowledgeApi.putKnowledge('default', id, obj, loading).then((res) => { KnowledgeApi.putKnowledge(id, obj, loading).then((res) => {
KnowledgeApi.putReEmbeddingDataset(id).then(() => { KnowledgeApi.putReEmbeddingDataset(id).then(() => {
MsgSuccess(t('common.saveSuccess')) MsgSuccess(t('common.saveSuccess'))
}) })
}) })
} }
}) })
.catch(() => {}) .catch(() => {
})
} else { } else {
if (detail.value.type === 2) { if (detail.value.type === 2) {
KnowledgeApi.putLarkDataset(id, obj, loading).then((res) => { KnowledgeApi.putLarkDataset(id, obj, loading).then((res) => {
@ -266,7 +267,7 @@ async function submit() {
}) })
}) })
} else { } else {
KnowledgeApi.putKnowledge('default', id, obj, loading).then((res) => { KnowledgeApi.putKnowledge(id, obj, loading).then((res) => {
MsgSuccess(t('common.saveSuccess')) MsgSuccess(t('common.saveSuccess'))
}) })
} }

View File

@ -47,10 +47,12 @@ import { groupBy } from 'lodash'
import useStore from '@/stores' import useStore from '@/stores'
import type {knowledgeData} from '@/api/type/knowledge' import type {knowledgeData} from '@/api/type/knowledge'
import {t} from '@/locales' import {t} from '@/locales'
const props = defineProps({ const props = defineProps({
data: { data: {
type: Object, type: Object,
default: () => {}, default: () => {
},
}, },
}) })
const {model} = useStore() const {model} = useStore()
@ -101,6 +103,7 @@ watch(
immediate: true, immediate: true,
}, },
) )
/* /*
表单校验 表单校验
*/ */
@ -114,7 +117,7 @@ function validate() {
function getModel() { function getModel() {
loading.value = true loading.value = true
model model
.asyncGetModel('default', { model_type: 'EMBEDDING' }) .asyncGetModel({model_type: 'EMBEDDING'})
.then((res: any) => { .then((res: any) => {
modelOptions.value = groupBy(res?.data, 'provider') modelOptions.value = groupBy(res?.data, 'provider')
loading.value = false loading.value = false

View File

@ -55,7 +55,7 @@ const submitHandle = async () => {
folder_id: currentFolder.value?.id, folder_id: currentFolder.value?.id,
...BaseFormRef.value.form, ...BaseFormRef.value.form,
} }
KnowledgeApi.postDataset('default', obj, loading).then((res) => { KnowledgeApi.postKnowledge(obj, loading).then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
// router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` }) // router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
emit('refresh') emit('refresh')

View File

@ -101,7 +101,7 @@ const submitHandle = async () => {
...BaseFormRef.value.form, ...BaseFormRef.value.form,
...knowledgeForm.value, ...knowledgeForm.value,
} }
KnowledgeApi.postWebDataset('default', obj, loading).then((res) => { KnowledgeApi.postWebKnowledge(obj, loading).then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` }) router.push({ path: `/knowledge/${res.data.id}/${currentFolder.value.id}/document` })
emit('refresh') emit('refresh')

View File

@ -43,7 +43,10 @@
</div> </div>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button type="primary" class="ml-8"> <el-button type="primary" class="ml-8">
{{ $t('common.create') }}<el-icon class="el-icon--right"><arrow-down /></el-icon> {{ $t('common.create') }}
<el-icon class="el-icon--right">
<arrow-down/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu class="create-dropdown"> <el-dropdown-menu class="create-dropdown">
@ -58,7 +61,8 @@
</div> </div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.knowledge.knowledgeType.generalInfo') $t('views.knowledge.knowledgeType.generalInfo')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -73,7 +77,8 @@
</div> </div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.knowledge.knowledgeType.webInfo') $t('views.knowledge.knowledgeType.webInfo')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -93,7 +98,8 @@
</div> </div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.knowledge.knowledgeType.larkInfo') $t('views.knowledge.knowledgeType.larkInfo')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -113,7 +119,8 @@
</div> </div>
<el-text type="info" size="small">{{ <el-text type="info" size="small">{{
$t('views.knowledge.knowledgeType.yuqueInfo') $t('views.knowledge.knowledgeType.yuqueInfo')
}}</el-text> }}
</el-text>
</div> </div>
</div> </div>
</el-dropdown-item> </el-dropdown-item>
@ -197,7 +204,8 @@
<el-divider direction="vertical"/> <el-divider direction="vertical"/>
<span class="bold mr-4">{{ numberFormat(item?.char_length) || 0 }}</span> <span class="bold mr-4">{{ numberFormat(item?.char_length) || 0 }}</span>
<span class="color-secondary">{{ $t('common.character') }}</span <span class="color-secondary">{{ $t('common.character') }}</span
><el-divider direction="vertical" /> >
<el-divider direction="vertical"/>
<span class="bold mr-4">{{ item?.application_mapping_count || 0 }}</span> <span class="bold mr-4">{{ item?.application_mapping_count || 0 }}</span>
<span class="color-secondary">{{ <span class="color-secondary">{{
$t('views.knowledge.relatedApp_count') $t('views.knowledge.relatedApp_count')
@ -209,7 +217,9 @@
<div @click.stop> <div @click.stop>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop>
<el-icon><MoreFilled /></el-icon> <el-icon>
<MoreFilled/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
@ -217,7 +227,8 @@
icon="Refresh" icon="Refresh"
@click.stop="syncDataset(item)" @click.stop="syncDataset(item)"
v-if="item.type === 1" v-if="item.type === 1"
>{{ $t('views.knowledge.setting.sync') }}</el-dropdown-item >{{ $t('views.knowledge.setting.sync') }}
</el-dropdown-item
> >
<el-dropdown-item @click.stop="reEmbeddingDataset(item)"> <el-dropdown-item @click.stop="reEmbeddingDataset(item)">
<AppIcon iconName="app-vectorization"></AppIcon> <AppIcon iconName="app-vectorization"></AppIcon>
@ -331,12 +342,13 @@ function openCreateDialog(data: any) {
} }
function reEmbeddingDataset(row: any) { function reEmbeddingDataset(row: any) {
KnowledgeApi.putReEmbeddingDataset('default', row.id).then(() => { KnowledgeApi.putReEmbeddingKnowledge(row.id).then(() => {
MsgSuccess(t('common.submitSuccess')) MsgSuccess(t('common.submitSuccess'))
}) })
} }
const SyncWebDialogRef = ref() const SyncWebDialogRef = ref()
function syncDataset(row: any) { function syncDataset(row: any) {
SyncWebDialogRef.value.open(row.id) SyncWebDialogRef.value.open(row.id)
} }
@ -349,7 +361,7 @@ function getList() {
const params = { const params = {
folder_id: currentFolder.value?.id || 'root', folder_id: currentFolder.value?.id || 'root',
} }
KnowledgeApi.getKnowledgeList('default', paginationConfig, params, loading).then((res) => { KnowledgeApi.getKnowledgeList(paginationConfig, params, loading).then((res) => {
paginationConfig.total = res.data.total paginationConfig.total = res.data.total
knowledgeList.value = [...knowledgeList.value, ...res.data.records] knowledgeList.value = [...knowledgeList.value, ...res.data.records]
}) })
@ -357,7 +369,7 @@ function getList() {
function getFolder() { function getFolder() {
const params = {} const params = {}
folder.asynGetFolder('default', 'KNOWLEDGE', params, loading).then((res: any) => { folder.asyncGetFolder('KNOWLEDGE', params, loading).then((res: any) => {
folderList.value = res.data folderList.value = res.data
currentFolder.value = res.data?.[0] || {} currentFolder.value = res.data?.[0] || {}
getList() getList()
@ -369,6 +381,7 @@ function folderClickHandel(row: any) {
knowledgeList.value = [] knowledgeList.value = []
getList() getList()
} }
const CreateFolderDialogRef = ref() const CreateFolderDialogRef = ref()
function openCreateFolder() { function openCreateFolder() {

View File

@ -183,6 +183,7 @@ const loginHandle = () => {
} else { } else {
login.asyncLogin(loginForm.value, loading).then(() => { login.asyncLogin(loginForm.value, loading).then(() => {
locale.value = localStorage.getItem('MaxKB-locale') || getBrowserLang() || 'en-US' locale.value = localStorage.getItem('MaxKB-locale') || getBrowserLang() || 'en-US'
localStorage.setItem('workspace_id', 'default')
router.push({name: 'home'}) router.push({name: 'home'})
}) })
} }

View File

@ -412,7 +412,6 @@ const submit = () => {
.then(() => { .then(() => {
if (providerValue.value) { if (providerValue.value) {
ModelApi.createModel( ModelApi.createModel(
'default',
{ {
...base_form_data.value, ...base_form_data.value,
credential: credential_form_data.value, credential: credential_form_data.value,

View File

@ -236,7 +236,7 @@ const list_base_model = (model_type: any, change?: boolean) => {
} }
const open = (provider: Provider, model: Model) => { const open = (provider: Provider, model: Model) => {
modelValue.value = model modelValue.value = model
ModelApi.getModelById('default', model.id, formLoading).then((ok) => { ModelApi.getModelById(model.id, formLoading).then((ok) => {
modelValue.value = ok.data modelValue.value = ok.data
ProviderApi.listModelType(model.provider, model_type_loading).then((ok) => { ProviderApi.listModelType(model.provider, model_type_loading).then((ok) => {
model_type_list.value = ok.data model_type_list.value = ok.data
@ -269,7 +269,6 @@ const submit = () => {
dynamicsFormRef.value?.validate().then(() => { dynamicsFormRef.value?.validate().then(() => {
if (modelValue.value) { if (modelValue.value) {
ModelApi.updateModel( ModelApi.updateModel(
'default',
modelValue.value.id, modelValue.value.id,
{ {
...base_form_data.value, ...base_form_data.value,

View File

@ -31,7 +31,8 @@
<li class="flex mb-4"> <li class="flex mb-4">
<el-text type="info" class="color-secondary">{{ <el-text type="info" class="color-secondary">{{
$t('views.model.modelForm.model_type.label') $t('views.model.modelForm.model_type.label')
}}</el-text> }}
</el-text>
<span class="ellipsis ml-16"> <span class="ellipsis ml-16">
{{ $t(modelType[model.model_type as keyof typeof modelType]) }}</span {{ $t(modelType[model.model_type as keyof typeof modelType]) }}</span
> >
@ -39,7 +40,8 @@
<li class="flex"> <li class="flex">
<el-text type="info" class="color-secondary">{{ <el-text type="info" class="color-secondary">{{
$t('views.model.modelForm.base_model.label') $t('views.model.modelForm.base_model.label')
}}</el-text> }}
</el-text>
<span class="ellipsis-1 ml-16" style="height: 20px; width: 70%"> <span class="ellipsis-1 ml-16" style="height: 20px; width: 70%">
{{ model.model_name }}</span {{ model.model_name }}</span
> >
@ -57,7 +59,8 @@
class="ml-16" class="ml-16"
:disabled="!is_permisstion" :disabled="!is_permisstion"
@click.stop="cancelDownload" @click.stop="cancelDownload"
>{{ $t('views.model.download.cancelDownload') }}</el-button >{{ $t('views.model.download.cancelDownload') }}
</el-button
> >
</div> </div>
</div> </div>
@ -65,7 +68,9 @@
<template #mouseEnter> <template #mouseEnter>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop>
<el-icon><MoreFilled /></el-icon> <el-icon>
<MoreFilled/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
@ -119,6 +124,7 @@ import { modelType } from '@/enums/model'
import useStore from '@/stores' import useStore from '@/stores'
import ParamSettingDialog from './ParamSettingDialog.vue' import ParamSettingDialog from './ParamSettingDialog.vue'
import {t} from '@/locales' import {t} from '@/locales'
const props = defineProps<{ const props = defineProps<{
model: Model model: Model
provider_list: Array<Provider> provider_list: Array<Provider>
@ -161,15 +167,16 @@ const deleteModel = () => {
}, },
) )
.then(() => { .then(() => {
ModelApi.deleteModel('default', props.model.id).then(() => { ModelApi.deleteModel(props.model.id).then(() => {
emit('change') emit('change')
}) })
}) })
.catch(() => {}) .catch(() => {
})
} }
const cancelDownload = () => { const cancelDownload = () => {
ModelApi.pauseDownload('default', props.model.id).then(() => { ModelApi.pauseDownload(props.model.id).then(() => {
downModel.value = undefined downModel.value = undefined
emit('change') emit('change')
}) })
@ -190,7 +197,7 @@ const icon = computed(() => {
const initInterval = () => { const initInterval = () => {
interval = setInterval(() => { interval = setInterval(() => {
if (currentModel.value.status === 'DOWNLOAD') { if (currentModel.value.status === 'DOWNLOAD') {
ModelApi.getModelMetaById('default', props.model.id).then((ok) => { ModelApi.getModelMetaById(props.model.id).then((ok) => {
downModel.value = ok.data downModel.value = ok.data
}) })
} else { } else {
@ -228,12 +235,14 @@ onBeforeUnmount(() => {
.model-card { .model-card {
min-height: 135px; min-height: 135px;
min-width: auto; min-width: auto;
.operation-button { .operation-button {
position: absolute; position: absolute;
right: 12px; right: 12px;
bottom: 12px; bottom: 12px;
height: auto; height: auto;
} }
.progress-mask { .progress-mask {
position: absolute; position: absolute;
top: 0; top: 0;
@ -243,6 +252,7 @@ onBeforeUnmount(() => {
height: 100%; height: 100%;
z-index: 99; z-index: 99;
text-align: center; text-align: center;
.percentage { .percentage {
margin-top: 55px; margin-top: 55px;
margin-bottom: 16px; margin-bottom: 16px;

View File

@ -100,7 +100,7 @@ const AddParamRef = ref()
const open = () => { const open = () => {
dialogVisible.value = true dialogVisible.value = true
loading.value = true loading.value = true
ModelApi.getModelParamsForm('default', props.model.id, loading) ModelApi.getModelParamsForm(props.model.id, loading)
.then((ok) => { .then((ok) => {
loading.value = false loading.value = false
modelParamsForm.value = ok.data modelParamsForm.value = ok.data
@ -151,7 +151,7 @@ function refresh(data: any, index: any) {
} }
function submit() { function submit() {
ModelApi.updateModelParamsForm('default', props.model.id, modelParamsForm.value, loading).then( ModelApi.updateModelParamsForm(props.model.id, modelParamsForm.value, loading).then(
(ok) => { (ok) => {
MsgSuccess(t('views.model.tip.saveSuccessMessage')) MsgSuccess(t('views.model.tip.saveSuccessMessage'))
close() close()

View File

@ -185,7 +185,7 @@ const openCreateModel = (provider?: Provider, model_type?: string) => {
const list_model = () => { const list_model = () => {
const params = active_provider.value?.provider ? { provider: active_provider.value.provider } : {} const params = active_provider.value?.provider ? { provider: active_provider.value.provider } : {}
model model
.asyncGetModel('default', { ...model_search_form.value, ...params }, list_model_loading) .asyncGetModel( { ...model_search_form.value, ...params }, list_model_loading)
.then((ok: any) => { .then((ok: any) => {
model_list.value = ok.data model_list.value = ok.data
const v = model_list.value.map((m) => ({ id: m.user_id, username: m.username })) const v = model_list.value.map((m) => ({ id: m.user_id, username: m.username }))

View File

@ -174,7 +174,6 @@ const remoteMethod = (query: string) => {
function getProblemOption(filterText?: string) { function getProblemOption(filterText?: string) {
return problem return problem
.asyncGetProblem( .asyncGetProblem(
'default',
props.datasetId || (id as string), props.datasetId || (id as string),
{ current_page: 1, page_size: 100 }, { current_page: 1, page_size: 100 },
filterText && { content: filterText }, filterText && { content: filterText },

View File

@ -8,13 +8,16 @@
<div> <div>
<el-button type="primary" @click="createProblem">{{ <el-button type="primary" @click="createProblem">{{
$t('views.problem.createProblem') $t('views.problem.createProblem')
}}</el-button> }}
</el-button>
<el-button @click="relateProblem()" :disabled="multipleSelection.length === 0">{{ <el-button @click="relateProblem()" :disabled="multipleSelection.length === 0">{{
$t('views.problem.relateParagraph.title') $t('views.problem.relateParagraph.title')
}}</el-button> }}
</el-button>
<el-button @click="deleteMulDocument" :disabled="multipleSelection.length === 0">{{ <el-button @click="deleteMulDocument" :disabled="multipleSelection.length === 0">{{
$t('views.problem.setting.batchDelete') $t('views.problem.setting.batchDelete')
}}</el-button> }}
</el-button>
</div> </div>
<el-input <el-input
@ -145,6 +148,7 @@ import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
import type {Dict} from '@/api/type/common' import type {Dict} from '@/api/type/common'
import useStore from '@/stores' import useStore from '@/stores'
import {t} from '@/locales' import {t} from '@/locales'
const route = useRoute() const route = useRoute()
const { const {
params: {id}, // id params: {id}, // id
@ -251,7 +255,8 @@ function deleteProblem(row: any) {
getList() getList()
}) })
}) })
.catch(() => {}) .catch(() => {
})
} }
function editName(val: string, problemId: string) { function editName(val: string, problemId: string) {
@ -271,6 +276,7 @@ function editName(val: string, problemId: string) {
function cellMouseEnter(row: any) { function cellMouseEnter(row: any) {
currentMouseId.value = row.id currentMouseId.value = row.id
} }
function cellMouseLeave() { function cellMouseLeave() {
currentMouseId.value = '' currentMouseId.value = ''
} }
@ -356,7 +362,6 @@ function handleSizeChange() {
function getList() { function getList() {
return problem return problem
.asyncGetProblem( .asyncGetProblem(
'default',
id as string, id as string,
paginationConfig, paginationConfig,
filterText.value && {content: filterText.value}, filterText.value && {content: filterText.value},
@ -367,10 +372,12 @@ function getList() {
paginationConfig.total = res.data.total paginationConfig.total = res.data.total
}) })
} }
function refreshRelate() { function refreshRelate() {
getList() getList()
multipleTableRef.value?.clearSelection() multipleTableRef.value?.clearSelection()
} }
function refresh() { function refresh() {
paginationConfig.current_page = 1 paginationConfig.current_page = 1
getList() getList()
@ -380,6 +387,7 @@ onMounted(() => {
getList() getList()
}) })
onBeforeUnmount(() => {}) onBeforeUnmount(() => {
})
</script> </script>
<style lang="scss" scoped></style> <style lang="scss" scoped></style>

View File

@ -45,7 +45,9 @@
:size="32" :size="32"
@click="openEditAvatar" @click="openEditAvatar"
> >
<el-icon><EditPen /></el-icon> <el-icon>
<EditPen/>
</el-icon>
</el-Avatar> </el-Avatar>
</div> </div>
<el-avatar v-else class="avatar-green" shape="square" :size="32"> <el-avatar v-else class="avatar-green" shape="square" :size="32">
@ -78,7 +80,10 @@
{{ $t('common.param.initParam') }} {{ $t('common.param.initParam') }}
</h4> </h4>
<el-button link type="primary" @click="openAddInitDialog()"> <el-button link type="primary" @click="openAddInitDialog()">
<el-icon class="mr-4"><Plus /></el-icon> {{ $t('common.add') }} <el-icon class="mr-4">
<Plus/>
</el-icon>
{{ $t('common.add') }}
</el-button> </el-button>
</div> </div>
<el-table ref="initFieldTableRef" :data="form.init_field_list" class="mb-16"> <el-table ref="initFieldTableRef" :data="form.init_field_list" class="mb-16">
@ -91,28 +96,36 @@
<template #default="{ row }"> <template #default="{ row }">
<el-tag type="info" class="info-tag" v-if="row.input_type === 'TextInput'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'TextInput'">{{
$t('dynamicsForm.input_type_list.TextInput') $t('dynamicsForm.input_type_list.TextInput')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'PasswordInput'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'PasswordInput'">{{
$t('dynamicsForm.input_type_list.PasswordInput') $t('dynamicsForm.input_type_list.PasswordInput')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'Slider'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'Slider'">{{
$t('dynamicsForm.input_type_list.Slider') $t('dynamicsForm.input_type_list.Slider')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'SwitchInput'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'SwitchInput'">{{
$t('dynamicsForm.input_type_list.SwitchInput') $t('dynamicsForm.input_type_list.SwitchInput')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'SingleSelect'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'SingleSelect'">{{
$t('dynamicsForm.input_type_list.SingleSelect') $t('dynamicsForm.input_type_list.SingleSelect')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'MultiSelect'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'MultiSelect'">{{
$t('dynamicsForm.input_type_list.MultiSelect') $t('dynamicsForm.input_type_list.MultiSelect')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'RadioCard'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'RadioCard'">{{
$t('dynamicsForm.input_type_list.RadioCard') $t('dynamicsForm.input_type_list.RadioCard')
}}</el-tag> }}
</el-tag>
<el-tag type="info" class="info-tag" v-if="row.input_type === 'DatePicker'">{{ <el-tag type="info" class="info-tag" v-if="row.input_type === 'DatePicker'">{{
$t('dynamicsForm.input_type_list.DatePicker') $t('dynamicsForm.input_type_list.DatePicker')
}}</el-tag> }}
</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('common.required')"> <el-table-column :label="$t('common.required')">
@ -149,7 +162,10 @@
</el-text> </el-text>
</h4> </h4>
<el-button link type="primary" @click="openAddDialog()"> <el-button link type="primary" @click="openAddDialog()">
<el-icon class="mr-4"><Plus /></el-icon> {{ $t('common.add') }} <el-icon class="mr-4">
<Plus/>
</el-icon>
{{ $t('common.add') }}
</el-button> </el-button>
</div> </div>
@ -226,7 +242,8 @@
<el-button :loading="loading" @click="visible = false">{{ $t('common.cancel') }}</el-button> <el-button :loading="loading" @click="visible = false">{{ $t('common.cancel') }}</el-button>
<el-button :loading="loading" @click="openDebug">{{ $t('common.debug') }}</el-button> <el-button :loading="loading" @click="openDebug">{{ $t('common.debug') }}</el-button>
<el-button type="primary" @click="submit(FormRef)" :loading="loading"> <el-button type="primary" @click="submit(FormRef)" :loading="loading">
{{ isEdit ? $t('common.save') : $t('common.create') }}</el-button {{ isEdit ? $t('common.save') : $t('common.create') }}
</el-button
> >
</div> </div>
</template> </template>
@ -325,7 +342,8 @@ function close() {
.then(() => { .then(() => {
visible.value = false visible.value = false
}) })
.catch(() => {}) .catch(() => {
})
} }
} }
@ -397,13 +415,13 @@ const submit = async (formEl: FormInstance | undefined) => {
await formEl.validate((valid: any) => { await formEl.validate((valid: any) => {
if (valid) { if (valid) {
if (isEdit.value) { if (isEdit.value) {
ToolApi.putTool('default', form.value?.id as string, form.value, loading).then((res) => { ToolApi.putTool(form.value?.id as string, form.value, loading).then((res) => {
MsgSuccess(t('common.editSuccess')) MsgSuccess(t('common.editSuccess'))
emit('refresh', res.data) emit('refresh', res.data)
visible.value = false visible.value = false
}) })
} else { } else {
ToolApi.postTool('default', form.value, loading).then((res) => { ToolApi.postTool(form.value, loading).then((res) => {
MsgSuccess(t('common.createSuccess')) MsgSuccess(t('common.createSuccess'))
emit('refresh') emit('refresh')
visible.value = false visible.value = false

View File

@ -55,7 +55,7 @@ watch(debugVisible, (bool) => {
const submit = async () => { const submit = async () => {
dynamicsFormRef.value.validate().then(() => { dynamicsFormRef.value.validate().then(() => {
ToolApi.putToolLib('default', form.value?.id as string, form.value, loading).then((res) => { ToolApi.putTool(form.value?.id as string, form.value, loading).then((res) => {
MsgSuccess(t('common.editSuccess')) MsgSuccess(t('common.editSuccess'))
emit('refresh') emit('refresh')
debugVisible.value = false debugVisible.value = false

View File

@ -99,8 +99,10 @@
<template #footer> <template #footer>
<div v-if="item.is_active" class="flex align-center"> <div v-if="item.is_active" class="flex align-center">
<el-icon class="color-success mr-8" style="font-size: 16px" <el-icon class="color-success mr-8" style="font-size: 16px"
><SuccessFilled >
/></el-icon> <SuccessFilled
/>
</el-icon>
<span class="color-secondary"> <span class="color-secondary">
{{ $t('common.status.enabled') }} {{ $t('common.status.enabled') }}
</span> </span>
@ -123,7 +125,9 @@
<el-divider direction="vertical"/> <el-divider direction="vertical"/>
<el-dropdown trigger="click"> <el-dropdown trigger="click">
<el-button text @click.stop> <el-button text @click.stop>
<el-icon><MoreFilled /></el-icon> <el-icon>
<MoreFilled/>
</el-icon>
</el-button> </el-button>
<template #dropdown> <template #dropdown>
<el-dropdown-menu> <el-dropdown-menu>
@ -132,7 +136,9 @@
:disabled="!canEdit(item)" :disabled="!canEdit(item)"
@click.stop="openCreateDialog(item)" @click.stop="openCreateDialog(item)"
> >
<el-icon><EditPen /></el-icon> <el-icon>
<EditPen/>
</el-icon>
{{ $t('common.edit') }} {{ $t('common.edit') }}
</el-dropdown-item> </el-dropdown-item>
<!-- <el-dropdown-item <!-- <el-dropdown-item
@ -228,6 +234,7 @@ const canEdit = (row: any) => {
const ToolFormDrawerRef = ref() const ToolFormDrawerRef = ref()
const ToolDrawertitle = ref('') const ToolDrawertitle = ref('')
function openCreateDialog(data?: any) { function openCreateDialog(data?: any) {
// template_id // template_id
if (data?.template_id) { if (data?.template_id) {
@ -236,7 +243,7 @@ function openCreateDialog(data?: any) {
ToolDrawertitle.value = data ? t('views.tool.editTool') : t('views.tool.createTool') ToolDrawertitle.value = data ? t('views.tool.editTool') : t('views.tool.createTool')
if (data) { if (data) {
if (data?.permission_type !== 'PUBLIC' || canEdit(data)) { if (data?.permission_type !== 'PUBLIC' || canEdit(data)) {
ToolApi.getToolById('default', data?.id, changeStateloading).then((res) => { ToolApi.getToolById(data?.id, changeStateloading).then((res) => {
ToolFormDrawerRef.value.open(res.data) ToolFormDrawerRef.value.open(res.data)
}) })
} }
@ -250,7 +257,7 @@ function getList() {
folder_id: currentFolder.value?.id || 'root', folder_id: currentFolder.value?.id || 'root',
scope: 'WORKSPACE', scope: 'WORKSPACE',
} }
ToolApi.getToolList('default', paginationConfig, params, loading).then((res) => { ToolApi.getToolList(paginationConfig, params, loading).then((res) => {
paginationConfig.total = res.data?.total paginationConfig.total = res.data?.total
toolList.value = [...toolList.value, ...res.data?.records] toolList.value = [...toolList.value, ...res.data?.records]
}) })
@ -258,7 +265,7 @@ function getList() {
function getFolder() { function getFolder() {
const params = {} const params = {}
folder.asynGetFolder('default', 'TOOL', params, loading).then((res: any) => { folder.asyncGetFolder('TOOL', params, loading).then((res: any) => {
folderList.value = res.data folderList.value = res.data
currentFolder.value = res.data?.[0] || {} currentFolder.value = res.data?.[0] || {}
getList() getList()
@ -278,7 +285,7 @@ async function changeState(row: any) {
const obj = { const obj = {
is_active: !row.is_active, is_active: !row.is_active,
} }
ToolApi.putTool('default', row.id, obj, changeStateloading) ToolApi.putTool(row.id, obj, changeStateloading)
.then(() => { .then(() => {
return true return true
}) })
@ -287,7 +294,7 @@ async function changeState(row: any) {
}) })
}) })
} else { } else {
const res = await ToolApi.getToolById('default', row.id, changeStateloading) const res = await ToolApi.getToolById(row.id, changeStateloading)
if ( if (
!res.data.init_params && !res.data.init_params &&
res.data.init_field_list && res.data.init_field_list &&
@ -301,7 +308,7 @@ async function changeState(row: any) {
const obj = { const obj = {
is_active: !row.is_active, is_active: !row.is_active,
} }
ToolApi.putTool('default', row.id, obj, changeStateloading) ToolApi.putTool(row.id, obj, changeStateloading)
.then(() => { .then(() => {
return true return true
}) })