diff --git a/src/assets/styles/element/index.scss b/src/assets/styles/element/index.scss index 0fee98ac7564da86af6862ba1abe058b90821fba..6e83b4e9873497ab1c5ee60829966a656151c70f 100644 --- a/src/assets/styles/element/index.scss +++ b/src/assets/styles/element/index.scss @@ -4,6 +4,15 @@ .el-button { --o-button-color_label: #6395fd; --o-button-color_label_hover: #7aa5ff; + &:hover{ + color: #7aa5ff; + } + &:active{ + color: #6395fd; + } + &:disabled{ + color: #6395fd; + } } .el-message-box__container { display: flex; diff --git a/src/components/dialoguePanel/DialogueFlow.vue b/src/components/dialoguePanel/DialogueFlow.vue index d0e875dc92081987eb7e401807bc7b0aba1eead3..f739356ea7de7c03535032ecc2bcd0d19f2c1714 100644 --- a/src/components/dialoguePanel/DialogueFlow.vue +++ b/src/components/dialoguePanel/DialogueFlow.vue @@ -264,22 +264,25 @@ watch( } .border-red { - border: 1px solid red; + border: 1px solid #F7C1C1; } .border-green { - border: 1px solid green; + border: 1px solid #C2E7C7; } .border-blue { - border: 1px solid rgba(109, 117, 250, 0.2); + border: 1px solid transparent; + border-radius: 4px; + background: + linear-gradient(white, white) padding-box, + linear-gradient(180deg, #6C77FA, #6DB9F9) border-box; } .demo-collapse { - margin-bottom: 24px; + margin-bottom: 16px; width: 100%; height: auto; - border-radius: 0px 0px 4px 4px; - border: 1px solid var(--o-border-color-base); + border-radius: 4px !important; :deep(.el-collapse-item__wragop) { margin-top: 12px !important; margin-bottom: 2px !important; diff --git a/src/i18n/lang/en.ts b/src/i18n/lang/en.ts index 899c40cac89179cfddf8f6acfc12f2e6e5d551da..0b3b9b3044156f64dba2095ddde83d5b3f02cacd 100644 --- a/src/i18n/lang/en.ts +++ b/src/i18n/lang/en.ts @@ -150,7 +150,7 @@ export default { create_app: 'Create App', app_published: 'Published', app_config: 'App Config', - agent_app: 'Agent App', + workflow_app: 'WorkFlow App', mcp_app: 'MCP App', confirm_delete_app: 'Are you sure to delete this application?', create_or_edit_workflow_first: 'Please create/edit a workflow first', @@ -199,7 +199,7 @@ export default { openEuler_expertise_describe: 'Intelligent Diagnostics', beyond_openEuler: 'Tuning Assistant', beyond_openEuler_describe: 'Intelligent Tuning', - openEuler_use_cases: 'Container Stack Assistant', + openEuler_use_cases: 'Container Stack', openEuler_use_cases_describe: 'AI Container Stack assistant', question: 'Recommendation qustions', addQuestion: 'Add question', diff --git a/src/i18n/lang/zh-cn.ts b/src/i18n/lang/zh-cn.ts index 56c1277fa4417871b22455bc36ffe1ab4ce1311f..1742a298fe0db0c41dee3a31ad21106c58446fd2 100644 --- a/src/i18n/lang/zh-cn.ts +++ b/src/i18n/lang/zh-cn.ts @@ -149,8 +149,8 @@ export default { create_app: '创建应用', app_published: '已发布', app_config: '界面配置', - agent_app: '创建智能体应用', - mcp_app: '创建工作流应用', + workflow_app: '创建工作流应用', + mcp_app: '创建智能体应用', confirm_delete_app: '确定删除此应用吗?', create_or_edit_workflow_first: '请先创建/编辑工作流', ui_preview: '界面预览', diff --git a/src/views/api/components/McpDrawer.vue b/src/views/api/components/McpDrawer.vue index ad67e20520e32616acc2f81c273b64f7348bc625..a44eff4a07646c559d7f9fb9f33e564b653c460b 100644 --- a/src/views/api/components/McpDrawer.vue +++ b/src/views/api/components/McpDrawer.vue @@ -5,6 +5,7 @@ import MonacoEditor from './MonacoEditor.vue'; import defaultIcon from '@/assets/svgs/app_upload.svg'; import { api } from '@/apis'; import i18n from 'src/i18n'; +import CustomLoading from '../../customLoading/index.vue'; interface McpDetail { icon: string; @@ -43,6 +44,8 @@ const URL_TEMPLATE = { disabled: false, }; +const loading = ref(false); + const mcpConfigTemplate = { stdio: COMMAND_TEMPLATE, sse: URL_TEMPLATE, @@ -137,6 +140,8 @@ async function onConfirm(formEl: FormInstance | undefined) { const valid = await formEl.validate(); if (!valid) return; + loading.value = true; + try { const [, serviceRes] = await api.createOrUpdateMcpService({ serviceId: props.serviceId || undefined, @@ -165,12 +170,14 @@ async function onConfirm(formEl: FormInstance | undefined) { type: 'error', }); // 不阻断流程,仅提示 + loading.value = false; } } formEl.resetFields(); jsonEditorRef.value.setJsonValue('{\n \n}'); emits('success'); + loading.value = false; } catch (error) { console.error('Create or update MCP service failed:', error); @@ -178,7 +185,9 @@ async function onConfirm(formEl: FormInstance | undefined) { message: 'Failed to create/update service!', type: 'error', }); + loading.value = false; } + loading.value = false; } async function getMcpServiceDetail(serviceId: string) { @@ -231,6 +240,7 @@ watch( :model-value="visible" @close="emits('update:visible', false)" > +
-
+
-
+
+ / - {{ appType === 'agent' ? $t('app.agent_app') : $t('app.mcp_app') }} + {{ appType === 'flow' ? $t('app.workflow_app') : $t('app.mcp_app') }}
(() => {
- + @@ -164,8 +164,12 @@ const headerStyles = computed(() => { height: 48px; border-radius: 50%; cursor: pointer; + //待替换icon资源 &:hover { - // box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + background-image: url('@/assets/svgs/user.svg'); + } + &:active { + background-image: url('@/assets/svgs/user.svg'); } } .header-right { diff --git a/src/views/dialogue/dialogueView.vue b/src/views/dialogue/dialogueView.vue index ab00e9d640412a75ba61c101f2268e440831b359..ba50efe94c922ce9f2d3f233df486c7e39aeedd1 100644 --- a/src/views/dialogue/dialogueView.vue +++ b/src/views/dialogue/dialogueView.vue @@ -540,6 +540,7 @@ watch( .el-popover.popper-class { padding: 5px 0 !important; border-radius: 8px; + background-color: var(--o-bg-color-base) !important; .exit-button { width: 100%; border-radius: 0; @@ -562,6 +563,9 @@ watch( .divider { border-bottom: 1px solid var(--o-text-color-tertiary); } + .el-popper__arrow{ + display: none; + } } .language { diff --git a/src/views/settings/index.vue b/src/views/settings/index.vue index d7918c574fc291a55a9782e2e8900ed4d19c2779..7356882e6137848d6dedcdfac438b9601635eee6 100644 --- a/src/views/settings/index.vue +++ b/src/views/settings/index.vue @@ -71,7 +71,7 @@ const handleClick = (tab: TabsPaneContext, event: Event) => { flex: 1; .el-tabs__content { - padding: 16px 0; + padding: 8px 0; height: 100%; .el-tab-pane { height: 100%; diff --git a/src/views/styles/createApp.scss b/src/views/styles/createApp.scss index 3b939ace2c249724e358a06a2fd78c1761710a2a..a684dae01b5fb5f8801346fecce5949e36e9211c 100644 --- a/src/views/styles/createApp.scss +++ b/src/views/styles/createApp.scss @@ -27,7 +27,7 @@ } } .createAppContainerStatus { - width: 52px; + padding: 0px 8px; height: 16px; display: flex; justify-content: center;