From eeed0f182ba72462933f6a4861cb5fe532ca548c Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 26 Oct 2025 15:34:53 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90ele=E3=80=91=E3=80=90ai?= =?UTF-8?q?=E3=80=91mindmap=20=E7=9A=84=E4=BB=A3=E7=A0=81=E8=BF=81?= =?UTF-8?q?=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/ai/mindmap/manager/data.ts | 6 + .../src/views/ai/mindmap/index/index.vue | 99 +++++++++ .../views/ai/mindmap/index/modules/left.vue | 75 +++++++ .../views/ai/mindmap/index/modules/right.vue | 210 ++++++++++++++++++ .../src/views/ai/mindmap/manager/data.ts | 97 ++++++++ .../src/views/ai/mindmap/manager/index.vue | 120 ++++++++++ 6 files changed, 607 insertions(+) create mode 100644 apps/web-ele/src/views/ai/mindmap/index/index.vue create mode 100644 apps/web-ele/src/views/ai/mindmap/index/modules/left.vue create mode 100644 apps/web-ele/src/views/ai/mindmap/index/modules/right.vue create mode 100644 apps/web-ele/src/views/ai/mindmap/manager/data.ts create mode 100644 apps/web-ele/src/views/ai/mindmap/manager/index.vue diff --git a/apps/web-antd/src/views/ai/mindmap/manager/data.ts b/apps/web-antd/src/views/ai/mindmap/manager/data.ts index 1d075b3ad..967981d40 100644 --- a/apps/web-antd/src/views/ai/mindmap/manager/data.ts +++ b/apps/web-antd/src/views/ai/mindmap/manager/data.ts @@ -20,12 +20,18 @@ export function useGridFormSchema(): VbenFormSchema[] { api: getSimpleUserList, labelField: 'nickname', valueField: 'id', + placeholder: '请选择用户', + allowClear: true, }, }, { fieldName: 'prompt', label: '提示词', component: 'Input', + componentProps: { + placeholder: '请输入提示词', + clearable: true, + }, }, { fieldName: 'createTime', diff --git a/apps/web-ele/src/views/ai/mindmap/index/index.vue b/apps/web-ele/src/views/ai/mindmap/index/index.vue new file mode 100644 index 000000000..0bdb46eca --- /dev/null +++ b/apps/web-ele/src/views/ai/mindmap/index/index.vue @@ -0,0 +1,99 @@ + + + diff --git a/apps/web-ele/src/views/ai/mindmap/index/modules/left.vue b/apps/web-ele/src/views/ai/mindmap/index/modules/left.vue new file mode 100644 index 000000000..39fd218c8 --- /dev/null +++ b/apps/web-ele/src/views/ai/mindmap/index/modules/left.vue @@ -0,0 +1,75 @@ + + diff --git a/apps/web-ele/src/views/ai/mindmap/index/modules/right.vue b/apps/web-ele/src/views/ai/mindmap/index/modules/right.vue new file mode 100644 index 000000000..e686585fa --- /dev/null +++ b/apps/web-ele/src/views/ai/mindmap/index/modules/right.vue @@ -0,0 +1,210 @@ + + + + + diff --git a/apps/web-ele/src/views/ai/mindmap/manager/data.ts b/apps/web-ele/src/views/ai/mindmap/manager/data.ts new file mode 100644 index 000000000..967981d40 --- /dev/null +++ b/apps/web-ele/src/views/ai/mindmap/manager/data.ts @@ -0,0 +1,97 @@ +import type { VbenFormSchema } from '#/adapter/form'; +import type { VxeTableGridOptions } from '#/adapter/vxe-table'; +import type { SystemUserApi } from '#/api/system/user'; + +import { getSimpleUserList } from '#/api/system/user'; +import { getRangePickerDefaultProps } from '#/utils'; + +/** 关联数据 */ +let userList: SystemUserApi.User[] = []; +getSimpleUserList().then((data) => (userList = data)); + +/** 列表的搜索表单 */ +export function useGridFormSchema(): VbenFormSchema[] { + return [ + { + fieldName: 'userId', + label: '用户编号', + component: 'ApiSelect', + componentProps: { + api: getSimpleUserList, + labelField: 'nickname', + valueField: 'id', + placeholder: '请选择用户', + allowClear: true, + }, + }, + { + fieldName: 'prompt', + label: '提示词', + component: 'Input', + componentProps: { + placeholder: '请输入提示词', + clearable: true, + }, + }, + { + fieldName: 'createTime', + label: '创建时间', + component: 'RangePicker', + componentProps: { + ...getRangePickerDefaultProps(), + allowClear: true, + }, + }, + ]; +} + +/** 列表的字段 */ +export function useGridColumns(): VxeTableGridOptions['columns'] { + return [ + { + field: 'id', + title: '编号', + minWidth: 180, + fixed: 'left', + }, + { + field: 'userId', + title: '用户', + minWidth: 180, + formatter: ({ cellValue }) => + userList.find((user) => user.id === cellValue)?.nickname || '-', + }, + { + field: 'prompt', + title: '提示词', + minWidth: 180, + }, + { + field: 'generatedContent', + title: '思维导图', + minWidth: 300, + }, + { + field: 'model', + title: '模型', + minWidth: 180, + }, + { + field: 'createTime', + title: '创建时间', + minWidth: 180, + formatter: 'formatDateTime', + }, + { + field: 'errorMessage', + title: '错误信息', + minWidth: 180, + }, + { + title: '操作', + width: 130, + fixed: 'right', + slots: { default: 'actions' }, + }, + ]; +} diff --git a/apps/web-ele/src/views/ai/mindmap/manager/index.vue b/apps/web-ele/src/views/ai/mindmap/manager/index.vue new file mode 100644 index 000000000..3241dc59b --- /dev/null +++ b/apps/web-ele/src/views/ai/mindmap/manager/index.vue @@ -0,0 +1,120 @@ + + +