Files
ClassManager/frontend/assets/css/admin.css

267 lines
4.6 KiB
CSS

/**
* 班级操行分管理系统 - 管理端样式
*
* 开发者: Canglan
* 联系方式: admin@sea-studio.top
* 版权归属: Sea Network Technology Studio
* 许可证: MIT License
*
* 版权所有 © Sea Network Technology Studio
*/
/* 批量操作栏 */
.batch-bar {
background: #f0f4ff;
padding: 12px 16px;
border-radius: 8px;
margin-bottom: 16px;
display: flex;
justify-content: space-between;
align-items: center;
}
.batch-info {
color: var(--color-primary);
font-weight: 500;
}
/* 导入区域 */
.import-area {
border: 2px dashed var(--color-border);
border-radius: 12px;
padding: 30px;
text-align: center;
margin-bottom: 20px;
transition: border-color 0.3s;
cursor: pointer;
}
.import-area:hover {
border-color: var(--color-primary);
}
.import-area input {
display: none;
}
.import-label {
color: var(--color-primary);
text-decoration: underline;
cursor: pointer;
}
/* 预览表格 */
.preview-table {
max-height: 300px;
overflow-y: auto;
margin-top: 16px;
}
/* 筛选栏 */
.filter-bar {
background: var(--color-hover);
padding: 16px;
border-radius: 8px;
margin-bottom: 20px;
display: flex;
flex-wrap: wrap;
gap: 16px;
align-items: flex-end;
}
.filter-group {
flex: 1;
min-width: 150px;
}
.filter-group label {
display: block;
margin-bottom: 4px;
font-size: 12px;
color: var(--color-text-secondary);
}
.filter-group input,
.filter-group select {
width: 100%;
padding: 8px;
border: 1px solid var(--color-border);
border-radius: 4px;
}
/* 作业卡片 */
.assignment-card {
margin-bottom: 20px;
}
.assignment-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 16px;
flex-wrap: wrap;
gap: 10px;
}
.assignment-title {
font-size: 16px;
font-weight: bold;
color: var(--color-text);
}
.assignment-meta {
color: var(--color-text-muted);
font-size: 12px;
}
/* 状态选择器 */
.status-select {
padding: 4px 8px;
border: 1px solid var(--color-border);
border-radius: 4px;
font-size: 12px;
}
/* 复选框 */
.student-checkbox {
width: 18px;
height: 18px;
cursor: pointer;
}
/* 扣分类型按钮组 */
.deduction-types {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
/* 考勤学生方格网格 */
.student-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 15px 0;
}
.student-cell {
width: calc(100% / 7 - 10px);
min-height: 60px;
border: 2px solid #e5e7eb;
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
font-size: 14px;
font-weight: 500;
transition: all 0.2s ease;
padding: 8px 4px;
text-align: center;
word-break: break-all;
user-select: none;
}
.student-cell:hover {
background: #f3f4f6;
border-color: #9ca3af;
}
.student-cell.selected {
background: #fee2e2;
border-color: #ef4444;
color: #dc2626;
}
.student-cell.has-record {
border: 2px dashed #9ca3af;
opacity: 0.7;
}
.attendance-toolbar {
display: flex;
align-items: center;
gap: 10px;
margin: 15px 0;
flex-wrap: wrap;
}
.toolbar-field {
display: inline-flex;
align-items: center;
gap: 6px;
background: #f9fafb;
border: 1px solid #e5e7eb;
border-radius: 6px;
padding: 4px 10px;
}
.toolbar-field .toolbar-label {
font-size: 13px;
color: #6b7280;
white-space: nowrap;
font-weight: 500;
}
.toolbar-field input,
.toolbar-field select {
border: none;
background: transparent;
outline: none;
font-size: 13px;
padding: 2px 0;
min-width: 0;
}
.attendance-toolbar .status-group {
display: flex;
gap: 8px;
}
.attendance-toolbar .status-btn {
padding: 6px 16px;
border: 2px solid #e5e7eb;
border-radius: 6px;
background: white;
cursor: pointer;
font-size: 13px;
transition: all 0.2s;
}
.attendance-toolbar .status-btn.active {
border-color: var(--color-primary);
background: var(--color-primary-light);
color: #4338ca;
}
.student-tag {
display: inline-block;
padding: 2px 8px;
background: #e8f4f8;
border-radius: 12px;
font-size: 12px;
margin: 2px;
color: #2c3e50;
}
.student-tags-container {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
@media (max-width: 768px) {
.student-cell {
width: calc(100% / 4 - 10px);
}
}
@media (max-width: 480px) {
.student-cell {
width: calc(100% / 3 - 10px);
}
}
.preserve-newlines {
white-space: normal;
word-break: break-word;
}