diff --git a/ui/src/api/admin/workspace/application/application.ts b/ui/src/api/admin/workspace/application/application.ts index a493b7a181e..61e8da697a1 100644 --- a/ui/src/api/admin/workspace/application/application.ts +++ b/ui/src/api/admin/workspace/application/application.ts @@ -33,9 +33,18 @@ const putApplication = (applicationId: string, data: ApplicationFormPayload) => return put(`${getPrefix()}/${applicationId}`, data) } +/** 发布工作空间智能体。 */ +const putApplicationPublish = (applicationId: string) => { + return put, ApplicationDetail>( + `${getPrefix()}/${applicationId}/publish`, + {}, + ) +} + export default { getApplicationPage, getApplicationDetail, postApplicationImport, putApplication, + putApplicationPublish, } diff --git a/ui/src/assets/login-animation/1bottom.png b/ui/src/assets/login-animation/1bottom.png new file mode 100644 index 00000000000..18b9ae631aa Binary files /dev/null and b/ui/src/assets/login-animation/1bottom.png differ diff --git a/ui/src/assets/login-animation/2circle.png b/ui/src/assets/login-animation/2circle.png new file mode 100644 index 00000000000..468135c99aa Binary files /dev/null and b/ui/src/assets/login-animation/2circle.png differ diff --git a/ui/src/assets/login-animation/3line.gif b/ui/src/assets/login-animation/3line.gif new file mode 100644 index 00000000000..230e62836cf Binary files /dev/null and b/ui/src/assets/login-animation/3line.gif differ diff --git a/ui/src/assets/login-animation/4robot.gif b/ui/src/assets/login-animation/4robot.gif new file mode 100644 index 00000000000..b355b9a6d93 Binary files /dev/null and b/ui/src/assets/login-animation/4robot.gif differ diff --git a/ui/src/assets/login-animation/5panel.png b/ui/src/assets/login-animation/5panel.png new file mode 100644 index 00000000000..5ad99eac32f Binary files /dev/null and b/ui/src/assets/login-animation/5panel.png differ diff --git a/ui/src/assets/login-animation/default-animation-motion.gif b/ui/src/assets/login-animation/default-animation-motion.gif deleted file mode 100644 index b8735c64d86..00000000000 Binary files a/ui/src/assets/login-animation/default-animation-motion.gif and /dev/null differ diff --git a/ui/src/components/COMPONENT_README.md b/ui/src/components/COMPONENT_README.md index 57786a6fc7b..2cda7ec045a 100644 --- a/ui/src/components/COMPONENT_README.md +++ b/ui/src/components/COMPONENT_README.md @@ -85,6 +85,14 @@ src/components/ ├── mk-date-range/ │ ├── index.vue # 日期预设与自定义日期区间组合筛选器,手动导入 │ └── types.ts # 日期筛选结果类型 +├── mk-dynamics-form/ +│ ├── index.ts # 动态表单、表单配置器及组件内类型的公开入口 +│ ├── index.vue # 根据字段配置渲染和校验动态表单 +│ ├── type.ts # 组件内部及调用方共享的字段配置类型 +│ ├── enums.ts # 字段类型和显隐比较选项 +│ ├── FormItem.vue # 字段组件调度层,仅供组件内部使用 +│ ├── items/ # 运行时字段实现,仅供组件内部使用 +│ └── constructor/ # 字段配置器、变量选择器及配置项实现 ├── mk-search-list/ │ └── index.vue # 搜索框与剩余空间滚动列表,手动导入 ├── mk-form-list/ @@ -108,6 +116,7 @@ Vue 模板中使用,不需要手动导入。其他共享组件必须从具体 import MkSearchList from '@/components/mk-search-list/index.vue' import MkFormList from '@/components/mk-form-list/index.vue' import MkDateRange from '@/components/mk-date-range/index.vue' +import { MkDynamicsForm, MkDynamicsFormConstructor } from '@/components/mk-dynamics-form' import LogoFull from '@/components/mk-logo/LogoFull.vue' import LogoIcon from '@/components/mk-logo/LogoIcon.vue' import PythonCodeEditor from '@/components/codemirror-editor/python.vue' @@ -811,6 +820,47 @@ function selectItem(item: SearchListItem, index: number) { `props` 中未传的字段保留默认值,例如只传 `:props="{ label: 'title' }"` 时,唯一值字段仍为 `id`。 +### MkDynamicsForm、MkDynamicsFormConstructor + +`MkDynamicsForm` 根据字段配置渲染动态表单,统一维护字段值、默认值、显隐规则和表单校验; +`MkDynamicsFormConstructor` 用于新增或编辑单个字段配置。该组件族位于 `components` 直属目录, +使用方必须从 `@/components/mk-dynamics-form` 手动导入,不安装为 Vue 插件,也不全局注册其内部 +字段组件。 + +组件专用类型和选项常量维护在 `mk-dynamics-form/type.ts` 与 `mk-dynamics-form/enums.ts`,不放入 +项目级 `api/types`、`api/enums` 或 `constants`。使用方统一从组件 `index.ts` 获取公开组件、类型 +和字段类型选项,不深层导入内部文件。 + +```vue + + + +``` + +公开入口包含 `MkDynamicsForm`、`MkDynamicsFormConstructor`、`dynamicFormTypeOptions`、 +`visibilityCompareOptions` 和组件专用类型。`FormItem.vue`、`items/`、`constructor/items/` 与 +`constructor/visibility/` 均为内部实现,业务代码不应深层导入。 + +`MkDynamicsForm` 的主要 Props 为 `modelValue`、`renderData`、`otherParams`、`view`、 +`defaultItemWidth` 和 `parentField`,公开 `validate()`、`render()`、`initDefaultData()` 与 +`ruleFormRef`。`MkDynamicsFormConstructor` 接收 `modelValue`、`fieldTypeOptions`、 +`enableVisibility` 和 `leftOptions`,公开 `validate()`、`getData()` 与 `render()`。 + +字段配置中的动态校验器和表格行表达式属于受信任的服务端协议,只允许加载可信配置;普通业务 +输入不得作为脚本传入。 + ## 跨页面业务组件 业务组件可以调用其固定业务 API,但应将通用展示部分拆成内部纯 UI 组件;页面继续负责资源列表 diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/DatePickerConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/DatePickerConstructor.vue new file mode 100644 index 00000000000..cb49d4942f2 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/DatePickerConstructor.vue @@ -0,0 +1,143 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/JsonInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/JsonInputConstructor.vue new file mode 100644 index 00000000000..369c89ca572 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/JsonInputConstructor.vue @@ -0,0 +1,171 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/KnowledgeConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/KnowledgeConstructor.vue new file mode 100644 index 00000000000..7622f0ad1c4 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/KnowledgeConstructor.vue @@ -0,0 +1,163 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/ModelConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/ModelConstructor.vue new file mode 100644 index 00000000000..4a0765aa0dc --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/ModelConstructor.vue @@ -0,0 +1,289 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/MultiRowConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/MultiRowConstructor.vue new file mode 100644 index 00000000000..cb093e3a4ff --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/MultiRowConstructor.vue @@ -0,0 +1,238 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/MultiSelectConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/MultiSelectConstructor.vue new file mode 100644 index 00000000000..b0844457c7f --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/MultiSelectConstructor.vue @@ -0,0 +1,246 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/PasswordInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/PasswordInputConstructor.vue new file mode 100644 index 00000000000..9f54040f079 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/PasswordInputConstructor.vue @@ -0,0 +1,193 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/RadioCardConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/RadioCardConstructor.vue new file mode 100644 index 00000000000..08af7089c70 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/RadioCardConstructor.vue @@ -0,0 +1,238 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/RadioRowConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/RadioRowConstructor.vue new file mode 100644 index 00000000000..353aec9a0e6 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/RadioRowConstructor.vue @@ -0,0 +1,238 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/SingleSelectConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/SingleSelectConstructor.vue new file mode 100644 index 00000000000..a120bf48bf9 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/SingleSelectConstructor.vue @@ -0,0 +1,242 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/SliderConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/SliderConstructor.vue new file mode 100644 index 00000000000..54e389807e0 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/SliderConstructor.vue @@ -0,0 +1,168 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/SwitchInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/SwitchInputConstructor.vue new file mode 100644 index 00000000000..63e44d9d102 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/SwitchInputConstructor.vue @@ -0,0 +1,54 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/TextInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/TextInputConstructor.vue new file mode 100644 index 00000000000..197b448ea45 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/TextInputConstructor.vue @@ -0,0 +1,181 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/TextareaInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/TextareaInputConstructor.vue new file mode 100644 index 00000000000..68f0248929e --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/TextareaInputConstructor.vue @@ -0,0 +1,194 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/TreeSelectConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/TreeSelectConstructor.vue new file mode 100644 index 00000000000..d7d67574261 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/TreeSelectConstructor.vue @@ -0,0 +1,458 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/items/UploadInputConstructor.vue b/ui/src/components/mk-dynamics-form copy/constructor/items/UploadInputConstructor.vue new file mode 100644 index 00000000000..a97bb0e0f08 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/items/UploadInputConstructor.vue @@ -0,0 +1,153 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/visibility/ConditionRow.vue b/ui/src/components/mk-dynamics-form copy/constructor/visibility/ConditionRow.vue new file mode 100644 index 00000000000..0b7a7f76828 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/visibility/ConditionRow.vue @@ -0,0 +1,132 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/visibility/FieldSelector.vue b/ui/src/components/mk-dynamics-form copy/constructor/visibility/FieldSelector.vue new file mode 100644 index 00000000000..9dacf11d4e1 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/visibility/FieldSelector.vue @@ -0,0 +1,73 @@ + + + + diff --git a/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.ts b/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.ts new file mode 100644 index 00000000000..865c2c3bea6 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.ts @@ -0,0 +1,66 @@ +import type { LeftOptions } from '../type' + +export type InferredFieldType = string | undefined + +export function inferFieldType( + fieldPath: [string, string] | Array, + leftOptions?: Array, +): InferredFieldType { + return getFieldConfig(fieldPath, leftOptions)?.input_type +} + +// input_type → 允许的运算符(按设计文档表格) +const TYPE_OP_MAP: Record> = { + SwitchInput: ['is_true', 'is_not_true'], + + SingleSelect: ['eq', 'not_eq'], + RadioCard: ['eq', 'not_eq'], + RadioRow: ['eq', 'not_eq'], + TreeSelect: ['eq', 'not_eq'], + Model: ['eq', 'not_eq'], + Knowledge: ['eq', 'not_eq'], + DatePicker: ['eq', 'not_eq'], + + MultiSelect: ['contain', 'not_contain'], + MultiRow: ['contain', 'not_contain'], + + TextInput: ['eq', 'not_eq', 'contain', 'not_contain'], + TextareaInput: ['eq', 'not_eq', 'contain', 'not_contain'], + PasswordInput: ['eq', 'not_eq', 'contain', 'not_contain'], + JsonInput: ['eq', 'not_eq', 'contain', 'not_contain'], + + Slider: ['eq', 'not_eq', 'gt', 'ge', 'lt', 'le'], +} + +const ALL_VISIBILITY_OPS = [ + 'eq', + 'not_eq', + 'contain', + 'not_contain', + 'is_true', + 'is_not_true', + 'gt', + 'ge', + 'lt', + 'le', +] + +export function getAllowedOps(inputType: string | undefined): Array { + if (!inputType) return ALL_VISIBILITY_OPS + return TYPE_OP_MAP[inputType] ?? ALL_VISIBILITY_OPS +} + +/** + * 根据 [scope_value, field_value] 在 leftOptions 树里取回叶子字段配置。 + * 推不出 → 返回 undefined + */ +export function getFieldConfig( + fieldPath: [string, string] | Array, + leftOptions?: Array, +): LeftOptions | undefined { + if (!fieldPath || fieldPath.length < 2) return undefined + const [scopeValue, fieldValue] = fieldPath + + const scope = (leftOptions ?? []).find((item) => item.value === scopeValue) + return scope?.children?.find((child) => child.value === fieldValue) +} diff --git a/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.vue b/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.vue new file mode 100644 index 00000000000..22e01bd91f4 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/constructor/visibility/index.vue @@ -0,0 +1,163 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/DatePicker.vue b/ui/src/components/mk-dynamics-form copy/items/DatePicker.vue new file mode 100644 index 00000000000..291978c9c52 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/DatePicker.vue @@ -0,0 +1,5 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/JsonInput.vue b/ui/src/components/mk-dynamics-form copy/items/JsonInput.vue new file mode 100644 index 00000000000..8386a0e2c5a --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/JsonInput.vue @@ -0,0 +1,142 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/MultiRow.vue b/ui/src/components/mk-dynamics-form copy/items/MultiRow.vue new file mode 100644 index 00000000000..2012d36b731 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/MultiRow.vue @@ -0,0 +1,112 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/PasswordInput.vue b/ui/src/components/mk-dynamics-form copy/items/PasswordInput.vue new file mode 100644 index 00000000000..2111d246152 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/PasswordInput.vue @@ -0,0 +1,5 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/TextInput.vue b/ui/src/components/mk-dynamics-form copy/items/TextInput.vue new file mode 100644 index 00000000000..46ca9b4e953 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/TextInput.vue @@ -0,0 +1,5 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/TextareaInput.vue b/ui/src/components/mk-dynamics-form copy/items/TextareaInput.vue new file mode 100644 index 00000000000..c477c96ec10 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/TextareaInput.vue @@ -0,0 +1,5 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/common/SelectHeader.vue b/ui/src/components/mk-dynamics-form copy/items/common/SelectHeader.vue new file mode 100644 index 00000000000..b774efc4cea --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/common/SelectHeader.vue @@ -0,0 +1,30 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/complex/ArrayObjectCard.vue b/ui/src/components/mk-dynamics-form copy/items/complex/ArrayObjectCard.vue new file mode 100644 index 00000000000..15ca48f31df --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/complex/ArrayObjectCard.vue @@ -0,0 +1,160 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/complex/ObjectCard.vue b/ui/src/components/mk-dynamics-form copy/items/complex/ObjectCard.vue new file mode 100644 index 00000000000..ea285b6fc84 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/complex/ObjectCard.vue @@ -0,0 +1,75 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/complex/TabCard.vue b/ui/src/components/mk-dynamics-form copy/items/complex/TabCard.vue new file mode 100644 index 00000000000..dcef4ba4018 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/complex/TabCard.vue @@ -0,0 +1,127 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/knowledge/Knowledge.vue b/ui/src/components/mk-dynamics-form copy/items/knowledge/Knowledge.vue new file mode 100644 index 00000000000..fe7b3b06393 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/knowledge/Knowledge.vue @@ -0,0 +1,71 @@ + + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/label/SettingLabel.vue b/ui/src/components/mk-dynamics-form copy/items/label/SettingLabel.vue new file mode 100644 index 00000000000..874dc3433b8 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/label/SettingLabel.vue @@ -0,0 +1,74 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/label/TooltipLabel.vue b/ui/src/components/mk-dynamics-form copy/items/label/TooltipLabel.vue new file mode 100644 index 00000000000..ac65aeff2aa --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/label/TooltipLabel.vue @@ -0,0 +1,19 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/layout/RowLayout.vue b/ui/src/components/mk-dynamics-form copy/items/layout/RowLayout.vue new file mode 100644 index 00000000000..95f64faa0d3 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/layout/RowLayout.vue @@ -0,0 +1,18 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/model/Model.vue b/ui/src/components/mk-dynamics-form copy/items/model/Model.vue new file mode 100644 index 00000000000..aa2ef92a095 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/model/Model.vue @@ -0,0 +1,148 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/model/provider-data.ts b/ui/src/components/mk-dynamics-form copy/items/model/provider-data.ts new file mode 100644 index 00000000000..5e7b39b82c6 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/model/provider-data.ts @@ -0,0 +1,112 @@ +export const providerList = [ + { + "provider": "model_azure_provider", + "name": "Azure OpenAI", + "icon": "" + }, + { + "provider": "model_wenxin_provider", + "name": "千帆大模型", + "icon": "\n\n\n\n" + }, + { + "provider": "model_ollama_provider", + "name": "Ollama", + "icon": " \n\n" + }, + { + "provider": "model_openai_provider", + "name": "OpenAI", + "icon": "" + }, + { + "provider": "model_docker_ai_provider", + "name": "Docker AI", + "icon": "\n\n\n" + }, + { + "provider": "model_kimi_provider", + "name": "Kimi", + "icon": "" + }, + { + "provider": "model_zhipu_provider", + "name": "智谱 AI", + "icon": "" + }, + { + "provider": "model_xf_provider", + "name": "讯飞星火", + "icon": "" + }, + { + "provider": "model_deepseek_provider", + "name": "DeepSeek", + "icon": "\n\t\n" + }, + { + "provider": "model_gemini_provider", + "name": "Gemini", + "icon": "" + }, + { + "provider": "model_volcanic_engine_provider", + "name": "火山引擎", + "icon": "\n\n \n\n" + }, + { + "provider": "model_tencent_provider", + "name": "腾讯混元", + "icon": "\n\n \n\n" + }, + { + "provider": "model_tencent_cloud_provider", + "name": "腾讯云", + "icon": "\n\n\n \n \n \n" + }, + { + "provider": "model_aws_bedrock_provider", + "name": "Amazon Bedrock", + "icon": "" + }, + { + "provider": "model_local_provider", + "name": "本地模型", + "icon": "\n\n\n" + }, + { + "provider": "model_xinference_provider", + "name": "Xorbits Inference", + "icon": "\n\n \n\n" + }, + { + "provider": "model_vllm_provider", + "name": "vLLM", + "icon": "\n\n \n\n" + }, + { + "provider": "aliyun_bai_lian_model_provider", + "name": "阿里云百炼", + "icon": "【icon】阿里百炼大模型" + }, + { + "provider": "model_anthropic_provider", + "name": "Anthropic", + "icon": "" + }, + { + "provider": "model_siliconCloud_provider", + "name": "SILICONFLOW", + "icon": "\n\n\n\n\n" + }, + { + "provider": "model_regolo_provider", + "name": "Regolo", + "icon": "\n\n \n \n \n .cls-1 {\n fill: #303030;\n }\n\n .cls-2 {\n fill: #59e389;\n }\n \n \n \n \n \n \n \n \n \n\n" + }, + { + "provider": "model_minimax_provider", + "name": "MiniMax", + "icon": "" + } +] diff --git a/ui/src/components/mk-dynamics-form copy/items/radio/Radio.vue b/ui/src/components/mk-dynamics-form copy/items/radio/Radio.vue new file mode 100644 index 00000000000..a801755a9cf --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/radio/Radio.vue @@ -0,0 +1,38 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/radio/RadioButton.vue b/ui/src/components/mk-dynamics-form copy/items/radio/RadioButton.vue new file mode 100644 index 00000000000..ba45ec4ef21 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/radio/RadioButton.vue @@ -0,0 +1,38 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/radio/RadioCard.vue b/ui/src/components/mk-dynamics-form copy/items/radio/RadioCard.vue new file mode 100644 index 00000000000..56e6220f995 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/radio/RadioCard.vue @@ -0,0 +1,105 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/radio/RadioRow.vue b/ui/src/components/mk-dynamics-form copy/items/radio/RadioRow.vue new file mode 100644 index 00000000000..a1d28ba4e43 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/radio/RadioRow.vue @@ -0,0 +1,92 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/select/MultiSelect.vue b/ui/src/components/mk-dynamics-form copy/items/select/MultiSelect.vue new file mode 100644 index 00000000000..4f6443d48a7 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/select/MultiSelect.vue @@ -0,0 +1,71 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/select/SingleSelect.vue b/ui/src/components/mk-dynamics-form copy/items/select/SingleSelect.vue new file mode 100644 index 00000000000..fae256aea30 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/select/SingleSelect.vue @@ -0,0 +1,81 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/slider/Slider.vue b/ui/src/components/mk-dynamics-form copy/items/slider/Slider.vue new file mode 100644 index 00000000000..000245a72d1 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/slider/Slider.vue @@ -0,0 +1,6 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/switch/SwitchInput.vue b/ui/src/components/mk-dynamics-form copy/items/switch/SwitchInput.vue new file mode 100644 index 00000000000..c787945f35a --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/switch/SwitchInput.vue @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/ui/src/components/mk-dynamics-form copy/items/table/ProgressTableItem.vue b/ui/src/components/mk-dynamics-form copy/items/table/ProgressTableItem.vue new file mode 100644 index 00000000000..0575c78f9fd --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/table/ProgressTableItem.vue @@ -0,0 +1,76 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/table/TableCheckbox.vue b/ui/src/components/mk-dynamics-form copy/items/table/TableCheckbox.vue new file mode 100644 index 00000000000..fee082cfde5 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/table/TableCheckbox.vue @@ -0,0 +1,214 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/table/TableColumn.vue b/ui/src/components/mk-dynamics-form copy/items/table/TableColumn.vue new file mode 100644 index 00000000000..9b6989e1f8a --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/table/TableColumn.vue @@ -0,0 +1,22 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/table/TableRadio.vue b/ui/src/components/mk-dynamics-form copy/items/table/TableRadio.vue new file mode 100644 index 00000000000..3bfc3b8644b --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/table/TableRadio.vue @@ -0,0 +1,202 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/tree/Tree.vue b/ui/src/components/mk-dynamics-form copy/items/tree/Tree.vue new file mode 100644 index 00000000000..a5a0b2d9db6 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/tree/Tree.vue @@ -0,0 +1,221 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/tree/TreeSelect.vue b/ui/src/components/mk-dynamics-form copy/items/tree/TreeSelect.vue new file mode 100644 index 00000000000..70671f28226 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/tree/TreeSelect.vue @@ -0,0 +1,11 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/upload/LocalFileUpload.vue b/ui/src/components/mk-dynamics-form copy/items/upload/LocalFileUpload.vue new file mode 100644 index 00000000000..1427612564b --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/upload/LocalFileUpload.vue @@ -0,0 +1,318 @@ + + + diff --git a/ui/src/components/mk-dynamics-form copy/items/upload/UploadInput.vue b/ui/src/components/mk-dynamics-form copy/items/upload/UploadInput.vue new file mode 100644 index 00000000000..1e3621a9294 --- /dev/null +++ b/ui/src/components/mk-dynamics-form copy/items/upload/UploadInput.vue @@ -0,0 +1,288 @@ + + + diff --git a/ui/src/components/mk-dynamics-form/Demo.vue b/ui/src/components/mk-dynamics-form/Demo.vue index 76efb77ca18..2f1b457ebed 100644 --- a/ui/src/components/mk-dynamics-form/Demo.vue +++ b/ui/src/components/mk-dynamics-form/Demo.vue @@ -1,105 +1,10 @@ - - + diff --git a/ui/src/components/mk-dynamics-form/FormItem.vue b/ui/src/components/mk-dynamics-form/FormItem.vue index 67d4ed129b0..4e025173c29 100644 --- a/ui/src/components/mk-dynamics-form/FormItem.vue +++ b/ui/src/components/mk-dynamics-form/FormItem.vue @@ -1,38 +1,3 @@ - + + + diff --git a/ui/src/components/mk-dynamics-form/constructor/data.ts b/ui/src/components/mk-dynamics-form/constant.ts similarity index 93% rename from ui/src/components/mk-dynamics-form/constructor/data.ts rename to ui/src/components/mk-dynamics-form/constant.ts index 322d5437792..58aa22f910f 100644 --- a/ui/src/components/mk-dynamics-form/constructor/data.ts +++ b/ui/src/components/mk-dynamics-form/constant.ts @@ -1,4 +1,6 @@ -const input_type_list = [ + + +export const dynamicFormTypeOptions = [ { label: '文本框', value: 'TextInput' }, { label: '多行文本框', value: 'TextareaInput' }, { label: 'JSON 文本框', value: 'JsonInput' }, @@ -15,6 +17,4 @@ const input_type_list = [ { label: '模型', value: 'Model' }, { label: '知识库', value: 'Knowledge' }, { label: '树形选择器', value: 'TreeSelect' }, -] - -export { input_type_list } +] as const diff --git a/ui/src/components/mk-dynamics-form/constructor/BasicInfoConstructor.vue b/ui/src/components/mk-dynamics-form/constructor/BasicInfoConstructor.vue index eee504324a7..288b67dc3a0 100644 --- a/ui/src/components/mk-dynamics-form/constructor/BasicInfoConstructor.vue +++ b/ui/src/components/mk-dynamics-form/constructor/BasicInfoConstructor.vue @@ -1,64 +1,3 @@ - - + diff --git a/ui/src/components/mk-dynamics-form/constructor/index.vue b/ui/src/components/mk-dynamics-form/constructor/index.vue index 46e4b63b212..4b25f1ea790 100644 --- a/ui/src/components/mk-dynamics-form/constructor/index.vue +++ b/ui/src/components/mk-dynamics-form/constructor/index.vue @@ -1,34 +1,7 @@ - - + + diff --git a/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue b/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue index cb49d4942f2..e0ff8bb6180 100644 --- a/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue +++ b/ui/src/components/mk-dynamics-form/constructor/items/DatePickerConstructor.vue @@ -1,66 +1,5 @@ - + + diff --git a/ui/src/components/mk-dynamics-form/constructor/items/ModelConstructor.vue b/ui/src/components/mk-dynamics-form/constructor/items/ModelConstructor.vue index 4a0765aa0dc..5cdc0ad0277 100644 --- a/ui/src/components/mk-dynamics-form/constructor/items/ModelConstructor.vue +++ b/ui/src/components/mk-dynamics-form/constructor/items/ModelConstructor.vue @@ -1,117 +1,7 @@ - - + + diff --git a/ui/src/components/mk-dynamics-form/constructor/items/MultiRowConstructor.vue b/ui/src/components/mk-dynamics-form/constructor/items/MultiRowConstructor.vue index cb093e3a4ff..d34996da946 100644 --- a/ui/src/components/mk-dynamics-form/constructor/items/MultiRowConstructor.vue +++ b/ui/src/components/mk-dynamics-form/constructor/items/MultiRowConstructor.vue @@ -1,9 +1,109 @@ + + - 【icon】阿里百炼大模型" + provider: 'aliyun_bai_lian_model_provider', + name: '阿里云百炼', + icon: '【icon】阿里百炼大模型', }, { - "provider": "model_anthropic_provider", - "name": "Anthropic", - "icon": "" + provider: 'model_anthropic_provider', + name: 'Anthropic', + icon: '', }, { - "provider": "model_siliconCloud_provider", - "name": "SILICONFLOW", - "icon": "\n\n\n\n\n" + provider: 'model_siliconCloud_provider', + name: 'SILICONFLOW', + icon: '\n\n\n\n\n', }, { - "provider": "model_regolo_provider", - "name": "Regolo", - "icon": "\n\n \n \n \n .cls-1 {\n fill: #303030;\n }\n\n .cls-2 {\n fill: #59e389;\n }\n \n \n \n \n \n \n \n \n \n\n" + provider: 'model_regolo_provider', + name: 'Regolo', + icon: '\n\n \n \n \n .cls-1 {\n fill: #303030;\n }\n\n .cls-2 {\n fill: #59e389;\n }\n \n \n \n \n \n \n \n \n \n\n', }, { - "provider": "model_minimax_provider", - "name": "MiniMax", - "icon": "" - } + provider: 'model_minimax_provider', + name: 'MiniMax', + icon: '', + }, ] diff --git a/ui/src/components/mk-dynamics-form/items/radio/Radio.vue b/ui/src/components/mk-dynamics-form/items/radio/Radio.vue index a801755a9cf..36592ce22a6 100644 --- a/ui/src/components/mk-dynamics-form/items/radio/Radio.vue +++ b/ui/src/components/mk-dynamics-form/items/radio/Radio.vue @@ -1,20 +1,15 @@ - - + + diff --git a/ui/src/components/mk-dynamics-form/items/radio/RadioButton.vue b/ui/src/components/mk-dynamics-form/items/radio/RadioButton.vue index ba45ec4ef21..8a1b75bc72d 100644 --- a/ui/src/components/mk-dynamics-form/items/radio/RadioButton.vue +++ b/ui/src/components/mk-dynamics-form/items/radio/RadioButton.vue @@ -1,20 +1,13 @@ - - + + diff --git a/ui/src/components/mk-dynamics-form/items/radio/RadioCard.vue b/ui/src/components/mk-dynamics-form/items/radio/RadioCard.vue index 56e6220f995..06830b516c0 100644 --- a/ui/src/components/mk-dynamics-form/items/radio/RadioCard.vue +++ b/ui/src/components/mk-dynamics-form/items/radio/RadioCard.vue @@ -1,27 +1,5 @@ - - + + + + diff --git a/ui/src/components/mk-dynamics-form/items/select/SingleSelect.vue b/ui/src/components/mk-dynamics-form/items/select/SingleSelect.vue index fae256aea30..2c719a9e67b 100644 --- a/ui/src/components/mk-dynamics-form/items/select/SingleSelect.vue +++ b/ui/src/components/mk-dynamics-form/items/select/SingleSelect.vue @@ -1,38 +1,16 @@ - + + diff --git a/ui/src/components/mk-dynamics-form/items/switch/SwitchInput.vue b/ui/src/components/mk-dynamics-form/items/switch/SwitchInput.vue index c787945f35a..a7c36f6d4ff 100644 --- a/ui/src/components/mk-dynamics-form/items/switch/SwitchInput.vue +++ b/ui/src/components/mk-dynamics-form/items/switch/SwitchInput.vue @@ -1,7 +1,5 @@ + + - - - \ No newline at end of file + + diff --git a/ui/src/components/mk-dynamics-form/items/table/ProgressTableItem.vue b/ui/src/components/mk-dynamics-form/items/table/ProgressTableItem.vue index 0575c78f9fd..7651611614b 100644 --- a/ui/src/components/mk-dynamics-form/items/table/ProgressTableItem.vue +++ b/ui/src/components/mk-dynamics-form/items/table/ProgressTableItem.vue @@ -1,41 +1,18 @@ - + + + + diff --git a/ui/src/components/mk-dynamics-form/items/table/TableRadio.vue b/ui/src/components/mk-dynamics-form/items/table/TableRadio.vue index 3bfc3b8644b..1aedd7149f1 100644 --- a/ui/src/components/mk-dynamics-form/items/table/TableRadio.vue +++ b/ui/src/components/mk-dynamics-form/items/table/TableRadio.vue @@ -1,62 +1,5 @@ - + + + + diff --git a/ui/src/components/mk-dynamics-form/items/tree/TreeSelect.vue b/ui/src/components/mk-dynamics-form/items/tree/TreeSelect.vue index 70671f28226..594ecc03088 100644 --- a/ui/src/components/mk-dynamics-form/items/tree/TreeSelect.vue +++ b/ui/src/components/mk-dynamics-form/items/tree/TreeSelect.vue @@ -1,3 +1,7 @@ + + - - diff --git a/ui/src/components/mk-dynamics-form/items/upload/LocalFileUpload.vue b/ui/src/components/mk-dynamics-form/items/upload/LocalFileUpload.vue index 1427612564b..c18a8dc814d 100644 --- a/ui/src/components/mk-dynamics-form/items/upload/LocalFileUpload.vue +++ b/ui/src/components/mk-dynamics-form/items/upload/LocalFileUpload.vue @@ -1,114 +1,14 @@ - - + + diff --git a/ui/src/components/mk-dynamics-form/items/upload/UploadInput.vue b/ui/src/components/mk-dynamics-form/items/upload/UploadInput.vue index 1e3621a9294..e9f1541dbd2 100644 --- a/ui/src/components/mk-dynamics-form/items/upload/UploadInput.vue +++ b/ui/src/components/mk-dynamics-form/items/upload/UploadInput.vue @@ -1,3 +1,128 @@ + + - diff --git a/ui/src/views/login/components/LoginLayout.vue b/ui/src/views/login/components/LoginLayout.vue index ed422422908..bc7d11ebf78 100644 --- a/ui/src/views/login/components/LoginLayout.vue +++ b/ui/src/views/login/components/LoginLayout.vue @@ -1,7 +1,7 @@ - +