feat(admin): 恢复按日期生成排期图片,重构多项体验问题

- **导入酷狗功能恢复**:废弃纯文本解析,重写为通过多选日期加载对应排期,并支持“根据日期分别生成图片”的场景。
- **浅色打印主题**:在 SchedulePrinter 和 ScheduleItemPrint 中应用 !important 强制白底黑字,消除系统深色模式对预览与打印效果的干扰。
- **日期选择器精简**:彻底删除 AdminDatePicker 和 AdminMultiDatePicker 中的横向日期盘滚动功能,改用直观的选定日期展示,配合月历面板实现更稳定快捷的选择。
- **自动排入逻辑修复**:严格过滤并匹配歌曲的 `expectedPlayDate` 和 `preferredPlayTimeId`,修复无期望播出时间的歌曲被错误填入的问题。
This commit is contained in:
2026-09-13 15:49:05 +08:00
parent ccb39203b8
commit c4c30de416
6 changed files with 194 additions and 573 deletions
+11 -11
View File
@@ -112,7 +112,7 @@ const handleImageError = (event) => {
justify-content: center;
font-weight: bold;
font-size: 14px;
color: var(--text-quaternary, #333333);
color: #333333 !important;
flex-shrink: 0;
}
@@ -161,7 +161,7 @@ const handleImageError = (event) => {
.song-title {
font-weight: bold;
font-size: 16px;
color: var(--text-quaternary, #333333);
color: #333333 !important;
margin-bottom: 2px;
white-space: nowrap;
overflow: hidden;
@@ -176,7 +176,7 @@ const handleImageError = (event) => {
display: inline-block;
padding: 1px 4px;
background: #e3f2fd;
border: 1px solid var(--border-secondary, #2196f3);
border: 1px solid #2196f3;
border-radius: 3px;
color: #1976d2;
font-size: 10px;
@@ -186,7 +186,7 @@ const handleImageError = (event) => {
.song-artist {
font-size: 14px;
color: var(--text-quaternary, #666666);
color: #666666 !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -197,7 +197,7 @@ const handleImageError = (event) => {
display: flex;
align-items: center;
font-size: 12px;
color: var(--text-quaternary, #666666);
color: #666666 !important;
white-space: nowrap;
}
@@ -207,14 +207,14 @@ const handleImageError = (event) => {
}
.value {
color: var(--text-quaternary, #333333);
color: #333333 !important;
}
/* 打印样式 */
@media print {
.schedule-item-print {
color: var(--text-primary, #000) !important;
background: var(--card-bg, #fff) !important;
color: #000000 !important;
background: #ffffff !important;
width: 100% !important;
max-width: none !important;
box-sizing: border-box !important;
@@ -230,7 +230,7 @@ const handleImageError = (event) => {
.sequence-number {
background: #f0f0f0 !important;
color: var(--text-primary, #000) !important;
color: #000000 !important;
width: 30px !important;
height: 30px !important;
flex-shrink: 0 !important;
@@ -264,7 +264,7 @@ const handleImageError = (event) => {
}
.song-title {
color: var(--text-primary, #000) !important;
color: #000000 !important;
font-size: 16px !important;
white-space: nowrap !important;
overflow: hidden !important;
@@ -274,7 +274,7 @@ const handleImageError = (event) => {
.song-artist,
.label,
.value {
color: var(--text-quaternary, #333333) !important;
color: #333333 !important;
}
.time-range {