diff --git a/ui/src/conversation-panel/view/portal/index.ts b/ui/src/conversation-panel/view/portal/index.ts index 9cb3390d011..582e6b4f311 100644 --- a/ui/src/conversation-panel/view/portal/index.ts +++ b/ui/src/conversation-panel/view/portal/index.ts @@ -107,5 +107,15 @@ export function createPortalConversation(options: PortalConversationOptions): Po bundle.list.conversations.value = [...(findGroup(applicationId)?.conversations ?? [])] }) + // 当前智能体从无历史变为有会话时自动展开,后续消息不覆盖用户手动收起的状态。 + watch( + () => [currentApplicationId.value, bundle.list.conversations.value.length] as const, + ([applicationId, count], [previousApplicationId, previousCount]) => { + if (applicationId !== previousApplicationId || previousCount !== 0 || count === 0) return + const group = portalList.applicationGroups.value.find((applicationGroup) => applicationGroup.id === applicationId) + if (group) group.expanded = true + }, + ) + return { ...bundle, portalList } } diff --git a/ui/src/styles/STYLE_README.md b/ui/src/styles/STYLE_README.md index 80288a90b93..f80cef5e2a8 100644 --- a/ui/src/styles/STYLE_README.md +++ b/ui/src/styles/STYLE_README.md @@ -64,6 +64,11 @@ Element Plus 覆盖、主题变量和应用样式。Chat 入口还显式引入 E 模板无需重复添加 `transition-colors` 或 `focus-within:border-primary`。 生成输入区使用 `mk-input-box`,不叠加对话专属类。 +## 带头像的名称表单 + +32px 头像与名称输入框以 `gap-3` 横向排列时,在所属 `el-form-item` 上添加 +`mk-form-item-with-avatar`,由 `element-plus.scss` 统一让校验提示与输入框左边缘对齐。 + ## 连体表单控件 `app.scss` 中的 `mk-input-group` 用于默认尺寸的两段式控件组合,统一横向布局、外边框、 diff --git a/ui/src/styles/element-plus.scss b/ui/src/styles/element-plus.scss index 742b8927fc6..e3d02fe399c 100644 --- a/ui/src/styles/element-plus.scss +++ b/ui/src/styles/element-plus.scss @@ -612,6 +612,9 @@ /* form */ .el-form-item { margin-bottom: calc(var(--spacing) * 4); + &.mk-form-item-with-avatar > .el-form-item__content > .el-form-item__error { + padding-left: calc(32px + var(--spacing) * 3); + } &.small { margin-bottom: calc(var(--spacing) * 2); } @@ -1146,7 +1149,8 @@ .el-table { --el-table-header-bg-color: var(--mk-N100); --el-table-text-color: var(--el-text-color-primary); - --el-table-row-hover-bg-color: color-mix(in srgb, var(--el-color-primary) 4%, white); + --el-table-row-hover-bg-color: var(--mk-N200); + // --el-table-row-hover-bg-color: var(--el-color-primary-light-9); --el-table-border-color: var(--el-border-color); border-radius: var(--radius-xl) var(--radius-xl) 0 0; @@ -1165,6 +1169,10 @@ line-height: var(--mk-line-height-base); padding: calc(var(--spacing) * 3); } + // 多选列勾选后,整行(含固定列)保持选中底色。 + .el-table__row:has(> .el-table-column--selection .el-checkbox.is-checked) > .el-table__cell { + background-color: var(--el-color-primary-light-9); + } &.small { .cell { padding: calc(var(--spacing) * 2) calc(var(--spacing) * 3); diff --git a/ui/src/views/system/chat-management/portal-setting/components/ButtonEditPortal.vue b/ui/src/views/system/chat-management/portal-setting/components/ButtonEditPortal.vue index 86f17ffaa1f..72839eea61d 100644 --- a/ui/src/views/system/chat-management/portal-setting/components/ButtonEditPortal.vue +++ b/ui/src/views/system/chat-management/portal-setting/components/ButtonEditPortal.vue @@ -72,7 +72,7 @@ function handleClosePortalEdit() { require-asterisk-position="right" @submit.prevent > - +