// ══════════════════════════════════════════════════════════════════ // 全局业务样式 — 布局、表单搜索、工具类 // ══════════════════════════════════════════════════════════════════ // ── 间距工具类 ───────────────────────────────────────────────── .pt5 { padding-top: 5px; } .pr5 { padding-right: 5px; } .pb5 { padding-bottom: 5px; } .mt5 { margin-top: 5px; } .mr5 { margin-right: 5px; } .mb5 { margin-bottom: 5px; } .mb8 { margin-bottom: 8px; } .ml5 { margin-left: 5px; } .mt10 { margin-top: 10px; } .mr10 { margin-right: 10px; } .mb10 { margin-bottom: 10px; } .mt20 { margin-top: 20px; } .mr20 { margin-right: 20px; } .mb20 { margin-bottom: 20px; } // ── 搜索栏 ───────────────────────────────────────────────────── // 业务页面统一使用 .search-form 包裹搜索区域 .search-form { padding: 14px 16px 6px; background: #fff; border-radius: 10px; border: 1px solid #eef0f6; margin-bottom: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); .el-form-item { margin-bottom: 10px; } .el-input__wrapper, .el-select .el-input__wrapper { background: #fafbff; } } // ── 操作按钮行 .mb8 ───────────────────────────────────────────── // 兼容原有 el-row :gutter="10" class="mb8" 写法 .el-row.mb8 { padding: 0 2px; } // ── 表格容器 ─────────────────────────────────────────────────── .el-table { .el-table__header-wrapper, .el-table__fixed-header-wrapper { th { word-break: break-word; } } .el-table__body-wrapper { .el-button [class*="el-icon-"] + span { margin-left: 1px; } } // 操作列按钮 .el-button.is-link + .el-divider--vertical + .el-button.is-link { margin-left: 0; } } // ── 分页容器 ────────────────────────────────────────────────── .pagination-container { display: flex; justify-content: flex-end; align-items: center; margin-top: 16px; padding: 8px 4px; } // ── 表单分区标题 .form-header ──────────────────────────────── .form-header { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: #1e293b; border-bottom: 2px solid #ede9fe; margin: 8px 0 20px; padding-bottom: 10px; &::before { content: ''; display: inline-block; width: 4px; height: 16px; background: linear-gradient(135deg, #4f46e5, #7c3aed); border-radius: 2px; flex-shrink: 0; } } // ── 卡片容器 .card-box ────────────────────────────────────── .card-box { padding-right: 12px; padding-left: 12px; margin-bottom: 12px; } // ── Tree ──────────────────────────────────────────────────── .tree-border { margin-top: 5px; border: 1px solid #eef0f6; background: #fff; border-radius: 8px; overflow: hidden; } // ── 拖拽排序 ──────────────────────────────────────────────── .sortable-ghost { opacity: 0.8; color: #fff !important; background: #4f46e5 !important; border-radius: 6px; } // ── Drawer ────────────────────────────────────────────────── .demo-drawer__content { display: flex; flex-direction: column; height: 100%; form { flex: 1; } } .demo-drawer__footer { display: flex; gap: 8px; padding: 12px 0; button { flex: 1; } } // ── 图片相关 ──────────────────────────────────────────────── .img-circle { border-radius: 50%; } .img-lg { width: 120px; height: 120px; } .avatar-upload-preview { position: absolute; top: 50%; transform: translate(50%, -50%); width: 200px; height: 200px; border-radius: 50%; box-shadow: 0 0 8px rgba(0,0,0,0.15); overflow: hidden; } // ── 顶部右侧按钮 ──────────────────────────────────────────── .top-right-btn { position: relative; float: right; } // ── 文字色工具 ────────────────────────────────────────────── .text-primary { color: #4f46e5; } .text-success { color: #10b981; } .text-warning { color: #f59e0b; } .text-danger { color: #f43f5e; } .text-info { color: #3b82f6; } .text-muted { color: #94a3b8; } // ── pull-right ────────────────────────────────────────────── .pull-right { float: right !important; } // ── 通用列表组 ────────────────────────────────────────────── .list-group { padding-left: 0; list-style: none; } .list-group-item { border-bottom: 1px solid #f1f5f9; border-top: 1px solid #f1f5f9; margin-bottom: -1px; padding: 10px 0; font-size: 13px; color: #374151; } .list-group-striped > .list-group-item { border-left: 0; border-right: 0; border-radius: 0; padding-left: 0; padding-right: 0; } // ── 子菜单顶部导航栏修正 ────────────────────────────────── .el-menu--horizontal > .el-submenu .el-submenu__title { height: 50px !important; line-height: 50px !important; } // ── 操作工具栏(替代 el-row :gutter="10" class="mb8")────── .toolbar { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }