Files
ReelShortWeb/src/styles/business/drama-management.css
T

448 lines
9.7 KiB
CSS

.library-toolbar {
justify-content: flex-start;
gap: 16px;
min-height: 64px;
padding: 12px 0 !important;
flex-wrap: wrap;
}
.drama-filters {
display: flex;
align-items: center;
gap: 10px;
/* 允许收缩并换行:窄窗口下筛选控件排到第二行,而不是被挤出可视区 */
flex: 1 1 auto;
min-width: 0;
flex-wrap: wrap;
}
.drama-filters > .el-date-editor {
width: 360px;
max-width: 100%;
}
.drama-filters > .el-input {
width: 300px !important;
flex: 0 0 300px !important;
}
.drama-filters > .el-select {
width: 160px !important;
flex: 0 0 160px !important;
}
.table-result-count {
margin-left: auto;
color: #858b95;
font-size: 13px;
white-space: nowrap;
}
.table-actions {
display: flex;
align-items: center;
gap: 8px;
white-space: nowrap;
flex-wrap: wrap;
}
.table-actions .el-button {
/* 统一尺寸:高度固定、水平内边距,靠行高垂直居中,避免文字被压扁 */
height: 28px !important;
min-height: 28px !important;
padding: 0 10px !important;
font-size: 13px !important;
font-weight: 500 !important;
border-radius: var(--app-radius-sm);
}
/* Element Plus 默认给相邻按钮加 12px 外边距,会和这里的 gap 叠加导致换行 */
.table-actions .el-button + .el-button {
margin-left: 0 !important;
}
.table-actions .danger-action {
color: #a66a6a !important;
}
.table-actions .danger-action:hover {
color: #b54848 !important;
}
.drama-cell .drama-cover,
.drama-cell .drama-cover-image {
width: 44px;
height: 56px;
flex: 0 0 44px;
border-radius: var(--app-radius-sm);
object-fit: cover;
}
.drama-cell .drama-cover {
display: grid;
place-content: center;
text-align: center;
font-size: 10px;
line-height: 1.3;
color: #7e8791;
background: #f0f2f4 !important;
}
/* 名称列只放封面 + 标题,长标题在格子里换行,不撑破单元格 */
.drama-cell > div {
min-width: 0;
}
.drama-cell b {
overflow-wrap: anywhere;
}
/* 空值占位,弱化显示 */
.table-empty-text {
color: #a8aeb8;
font-size: 13px;
}
/* 编辑弹窗里的封面预览:固定竖版尺寸,和上传控件并排,避免弹窗过高 */
.cover-field {
display: flex;
gap: 12px;
align-items: flex-start;
width: 100%;
}
.cover-field-actions {
flex: 1 1 auto;
min-width: 0;
}
.form-cover-preview {
display: block;
width: 84px;
height: 112px;
flex: 0 0 84px;
object-fit: cover;
border: 1px solid var(--el-border-color-lighter);
border-radius: var(--app-radius-md);
background: #f0f2f4 !important;
}
.dark .form-cover-preview {
background: #353b45 !important;
}
/* 编辑弹窗里的视频预览 */
.video-field {
display: flex;
gap: 12px;
align-items: flex-start;
width: 100%;
}
.video-field-actions {
flex: 1 1 auto;
min-width: 0;
}
.form-video-preview {
display: block;
width: 200px;
height: 112px;
flex: 0 0 200px;
object-fit: contain;
border: 1px solid var(--el-border-color-lighter);
border-radius: var(--app-radius-md);
background: #000 !important;
}
/* 剧集预览弹窗里的播放器 */
.episode-video-player {
display: block;
width: 100%;
max-height: 60vh;
object-fit: contain;
border-radius: var(--app-radius-md);
background: #000 !important;
}
/* 剧集列表里的视频缩略播放器:默认显示首帧,鼠标移入即播放 */
.episode-video-thumb {
display: block;
width: 120px;
height: 68px;
object-fit: contain;
cursor: pointer;
border: 1px solid var(--el-border-color-lighter);
border-radius: var(--app-radius-sm);
background: #000 !important;
}
/* 列表里点视频即放大播放,给个悬停反馈 */
.episode-video-thumb:hover {
border-color: var(--el-color-primary);
box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.25);
}
.dark .table-result-count {
color: #a6aeb9;
}
.dark .drama-cell .drama-cover {
background: #353b45 !important;
color: #b9c1cb;
}
@media (max-width: 800px) {
.drama-filters > .el-input {
width: min(300px, 45vw) !important;
flex-basis: min(300px, 45vw) !important;
}
.drama-filters > .el-select {
width: 150px !important;
flex-basis: 150px !important;
}
.table-result-count {
display: none;
}
}
.drama-el-table,
.dashboard-el-table {
width: 100%;
font-size: 13px;
--el-table-header-bg-color: #f7f8fa;
--el-table-border-color: #eaecf0;
--el-table-row-hover-bg-color: #f8fafc;
}
.drama-el-table .el-table__cell,
.dashboard-el-table .el-table__cell {
padding: 14px 0;
}
.drama-el-table th.el-table__cell,
.dashboard-el-table th.el-table__cell {
font-size: 12px;
font-weight: 600;
color: #737b85;
}
.drama-el-table td.el-table__cell,
.dashboard-el-table td.el-table__cell {
font-size: 13px;
color: #505862;
}
.drama-el-table .cell,
.dashboard-el-table .cell {
line-height: 1.5;
}
.drama-el-table .el-table__inner-wrapper:before,
.dashboard-el-table .el-table__inner-wrapper:before {
height: 0;
}
.dark .drama-el-table,
.dark .dashboard-el-table {
--el-table-header-bg-color: #2b3038;
--el-table-tr-bg-color: #242830;
--el-table-bg-color: #242830;
--el-table-border-color: #3b414b;
--el-table-row-hover-bg-color: #2e3540;
--el-table-text-color: #c0c6cf;
--el-table-header-text-color: #b1b8c2;
}
.dark .drama-el-table td.el-table__cell,
.dark .dashboard-el-table td.el-table__cell {
color: #c0c6cf;
}
.table-actions .el-button--primary {
--el-button-bg-color: var(--el-color-primary);
--el-button-border-color: var(--el-color-primary);
--el-button-hover-bg-color: var(--el-color-primary-light-3);
--el-button-hover-border-color: var(--el-color-primary-light-3);
}
.table-actions .el-button--success {
--el-button-bg-color: #4d866a;
--el-button-border-color: #4d866a;
--el-button-hover-bg-color: #3c7358;
--el-button-hover-border-color: #3c7358;
}
.table-actions .el-button--danger {
--el-button-bg-color: #bd5b5b;
--el-button-border-color: #bd5b5b;
--el-button-hover-bg-color: #a94b4b;
--el-button-hover-border-color: #a94b4b;
}
.pagination {
display: flex;
justify-content: flex-end;
align-items: center;
padding: 18px 0 4px !important;
overflow-x: auto;
}
.pagination .el-pagination {
font-size: 13px !important;
--el-pagination-font-size: 13px;
--el-pagination-button-bg-color: #f1f3f6;
--el-pagination-hover-color: var(--el-color-primary);
--el-pagination-button-color: #4c5561;
gap: 5px;
}
.pagination .el-pagination__sizes {
margin-right: 8px;
}
.pagination .el-select {
width: 112px;
}
.pagination .el-pagination__jump {
margin-left: 8px;
white-space: nowrap;
}
.dark .pagination .el-pagination {
--el-pagination-button-bg-color: #353b45;
--el-pagination-button-color: #c3cad3;
}
.drama-el-table td.el-table__cell,
.drama-el-table th.el-table__cell {
font-size: 14px;
}
.drama-cell b {
font-size: 15px;
}
.drama-cell small {
font-size: 13px;
}
.table-result-count {
font-size: 14px;
}
.library-toolbar .el-input__inner,
.library-toolbar .el-select__placeholder {
font-size: 14px;
}
.pagination .el-pagination {
font-size: 14px !important;
--el-pagination-font-size: 14px;
}
.el-message-box__title,
.el-message-box__message {
font-size: 15px;
}
.el-message-box__btns .el-button {
font-size: 14px;
}
.episode-toolbar {
margin-bottom: 16px;
}
.episode-el-table {
margin-top: 4px;
}
.episode-table-title b,
.episode-table-title small {
display: block;
}
.episode-table-title b {
font-size: 14px;
color: #343a43;
}
.episode-table-title small {
margin-top: 4px;
font-size: 13px;
color: #858b95;
}
.dark .episode-table-title b {
color: #e5e8ed;
}
.dark .episode-table-title small {
color: #a6aeb9;
}
.menu-management-panel {
margin-top: 20px;
}
.menu-management-panel .panel-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.menu-management-panel .el-alert {
margin-top: 4px;
}
.menu-management-panel .el-select {
width: 100%;
}
.admin-user-search {
width: min(440px, 65vw);
}
.muted-text {
font-size: 13px;
color: #9298a1;
}
.role-permission-layout {
display: grid;
grid-template-columns: minmax(520px, 1.25fr) minmax(340px, 0.9fr);
gap: 18px;
align-items: start;
}
.role-table-panel,
.permission-tree-panel {
min-width: 0;
}
.role-config-table .el-table__row {
cursor: pointer;
}
.permission-tree-panel .el-tree {
max-height: 68vh;
overflow: auto;
padding: 5px 8px;
}
.permission-tree-panel .el-tree-node__label {
font-size: 14px;
}
.permission-warning {
color: #d66b4f !important;
}
.admin-users-panel {
overflow: hidden;
}
.admin-user-toolbar {
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
padding: 0 0 16px;
}
.admin-user-toolbar > .el-input {
width: 230px;
}
.admin-user-toolbar > .el-select {
width: 190px;
}
/* 管理员表格不设最小宽度:列宽超出容器时由 el-table 自行横向滚动,
否则会把固定列顶到可视区之外 */
.menu-editor-layout {
display: grid;
grid-template-columns: minmax(270px, 0.7fr) minmax(520px, 1.5fr);
gap: 18px;
align-items: start;
}
.menu-tree-panel,
.menu-form-panel {
min-width: 0;
}
.menu-tree-panel .el-tree {
max-height: 70vh;
overflow: auto;
}
.menu-form-panel .panel-heading {
display: flex;
justify-content: space-between;
align-items: center;
}
.menu-editor-form {
max-width: 680px;
padding: 16px 12px 0;
}
.menu-editor-form .el-input,
.menu-editor-form .el-select {
max-width: 360px;
width: 100%;
}
.menu-editor-form .el-textarea {
max-width: 360px;
}
.menu-editor-form .el-input-number {
width: 180px;
}
.menu-form-footer {
padding: 12px 0 4px 122px;
border-top: 1px solid #eceef0;
}
.dark .menu-form-footer {
border-color: #3b414b;
}
@media (max-width: 1150px) {
.role-permission-layout,
.menu-editor-layout {
grid-template-columns: 1fr;
}
.permission-tree-panel .el-tree,
.menu-tree-panel .el-tree {
max-height: 45vh;
}
}