From 0c814ec956f6edd32f9be66faea6b6608bc8081c Mon Sep 17 00:00:00 2001 From: "pikachu1995@126.com" Date: Tue, 20 Oct 2026 13:42:37 +0800 Subject: [PATCH] =?UTF-8?q?feat(seller):=20=E7=B3=BB=E7=BB=9F=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=A1=B5=E6=94=B9=E4=B8=BA=E9=A1=B6=E9=83=A8=20tab=20?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E4=B8=8E=E5=8D=A1=E7=89=87=E5=BC=8F=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 左侧菜单改为顶部 pill tab(未读带数量角标) - 表格改为卡片列表:类型图标 + 标题加粗 + 内容摘要 + 时间操作 - 点击消息就地展开内容,去掉返回按钮 - 修复标为已读后错误刷新全量列表的问题 --- seller/src/views/message/message.scss | 199 ++++++++++++++++++------ seller/src/views/message/message.vue | 215 ++++++++++++++------------ 2 files changed, 264 insertions(+), 150 deletions(-) diff --git a/seller/src/views/message/message.scss b/seller/src/views/message/message.scss index cc57b199c..88b7286a1 100644 --- a/seller/src/views/message/message.scss +++ b/seller/src/views/message/message.scss @@ -1,92 +1,195 @@ -.message-main-con { - display: flex; - gap: 12px; +.message-page { height: calc(100vh - 140px); } -.message-mainlist-con { - width: 200px; - flex-shrink: 0; - padding: 12px 8px; +.message-panel { + display: flex; + flex-direction: column; + height: 100%; background: #fff; border-radius: 4px; box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + overflow: hidden; +} - .mes-type-item { +.message-tabs { + display: flex; + gap: 8px; + padding: 14px 16px; + border-bottom: 1px solid #ebeef5; + + .message-tab { display: flex; align-items: center; - justify-content: center; gap: 6px; - height: 40px; - margin-bottom: 4px; - border-radius: 4px; + padding: 7px 16px; + border-radius: 16px; font-size: 14px; color: #606266; cursor: pointer; + transition: + color 0.2s, + background 0.2s; &:hover { color: var(--el-color-primary); - background: #f5f7fa; + background: var(--el-color-primary-light-9); } &.active { - color: var(--el-color-primary); - background: var(--el-color-primary-light-9); + color: #fff; + background: var(--el-color-primary); font-weight: 500; + + .message-tab-icon { + color: #fff; + } + + .message-tab-badge { + background: #fff; + color: var(--el-color-danger); + } + } + + .message-tab-badge { + min-width: 18px; + padding: 0 5px; + border-radius: 9px; + background: var(--el-color-danger); + color: #fff; + font-size: 12px; + line-height: 18px; + text-align: center; } } } -.message-content-con { +.message-list-wrap { flex: 1; - min-width: 0; - padding: 4px 16px 12px; - background: #fff; - border-radius: 4px; - box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + display: flex; + flex-direction: column; overflow: auto; + padding: 4px 16px 12px; +} - .page-bar { - display: flex; - justify-content: flex-end; - margin-top: 12px; +.message-card { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 12px; + padding: 14px 8px; + border-bottom: 1px solid #f2f4f8; + cursor: pointer; + transition: background 0.2s; + + &:hover { + background: #f5f7fa; } - .message-content-top-bar { + &.expanded { + background: #fafbfc; + } + + .message-card-icon { + flex-shrink: 0; display: flex; align-items: center; - height: 48px; - margin: 0 -16px; - padding: 0 16px; - border-bottom: 1px solid #ebeef5; + justify-content: center; + width: 38px; + height: 38px; + border-radius: 50%; - .mes-title { - flex: 1; - margin: 0; - padding: 0 16px; - font-size: 16px; - font-weight: 500; - text-align: center; + &.unread { + background: var(--el-color-primary-light-8); + color: var(--el-color-primary); + } + + &.read { + background: #f4f4f5; + color: #909399; + } + + &.recycleBin { + background: var(--el-color-danger-light-8); + color: var(--el-color-danger); + } + } + + .message-card-main { + flex: 1; + min-width: 0; + + .message-card-title { + font-size: 14px; + font-weight: 400; + color: #909399; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + + &.unread { + color: #303133; + font-weight: 600; + } + } + + .message-card-summary { + margin-top: 4px; + font-size: 12px; + color: #a8abb2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } - .mes-time-con { - padding: 16px 0; - text-align: center; + .message-card-side { + flex-shrink: 0; + display: flex; + align-items: center; + gap: 20px; + + .message-card-time { + display: flex; + align-items: center; + gap: 4px; + font-size: 13px; + color: #909399; + } + + .message-card-ops { + white-space: nowrap; + } + } +} + +.message-card-content { + width: 100%; + margin-top: 12px; + padding: 12px 14px; + background: #f5f7fa; + border-radius: 4px; + cursor: default; + + .message-card-content-inner { font-size: 13px; - color: #909399; - } - - .message-content-body { - padding: 0 8px; line-height: 1.8; + color: #606266; + word-break: break-word; + + :deep(p) { + margin: 0 0 8px; + } + + :deep(img) { + max-width: 100%; + } } } -.mes-time-icon { - margin-right: 5px; - vertical-align: middle; +.page-bar { + display: flex; + justify-content: flex-end; + margin-top: auto; + padding-top: 12px; } diff --git a/seller/src/views/message/message.vue b/seller/src/views/message/message.vue index 0d87e954c..b0c161ef7 100644 --- a/seller/src/views/message/message.vue +++ b/seller/src/views/message/message.vue @@ -1,58 +1,67 @@