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 @@