Files
sh-app/assets/css/page.scss
T
2026-06-24 20:50:15 +08:00

1670 lines
26 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
.wrap {}
// 登录
.login {
display: flex;
flex-direction: column;
width: 100vw;
height: 100vh;
background: #f0f2f5;
overflow: hidden;
// 顶部区域:背景图 + Logo + 标题
.login-header {
position: relative;
flex-shrink: 0;
height: 420rpx;
overflow: hidden;
&__bg {
width: 100%;
height: 100%;
}
}
// 表单卡片
.login-card {
flex: 1;
position: relative;
z-index: 1;
margin: -40rpx 32rpx 0;
background: #ffffff;
border-radius: 24rpx 24rpx 0 0;
padding: 48rpx 40rpx 0;
box-shadow: 0 -4rpx 24rpx rgba(0, 0, 0, 0.08);
&__brand {
display: flex;
align-items: center;
justify-content: center;
gap: 24rpx;
margin-bottom: 40rpx;
}
.login-logo {
display: block;
width: 100rpx;
height: 100rpx;
flex-shrink: 0;
}
.sys-name {
font-size: 36rpx;
font-weight: 700;
color: #1a1a2e;
letter-spacing: 2rpx;
}
}
.login-form {
:deep(.u-form-item) {
margin-bottom: 24rpx;
}
:deep(.u-form-item__body) {
padding: 18rpx 28rpx;
background: #f5f6f8;
border-radius: 14rpx;
border: 1rpx solid transparent;
transition: border-color 0.25s;
}
:deep(.u-input__input) {
font-size: 30rpx;
color: #1a1a2e;
&::placeholder {
color: #b0bec5;
}
}
:deep(.u-button--primary) {
height: 92rpx;
background: linear-gradient(135deg, #2979ff, #5a9aff);
border-radius: 14rpx;
font-size: 32rpx;
font-weight: 600;
letter-spacing: 2rpx;
box-shadow: 0 6rpx 24rpx rgba(41, 121, 255, 0.35);
border: none;
&::after {
border: none;
}
&:active {
opacity: 0.9;
transform: scale(0.98);
}
}
}
}
// 首页
.home {
display: flex;
flex-direction: column;
height: 100vh;
.u-border-bottom:after {
border: none;
}
.slot-wrap {
padding: 20rpx;
width: 220rpx;
.u-input__input {
color: #ffffff;
}
}
&-navbar {
display: flex;
align-items: center;
justify-content: space-between;
height: 85px;
background-color: $u-type-primary;
padding: 40px 20rpx 0;
flex-shrink: 0;
&-title {
flex: 1;
text-align: center;
font-size: 14px;
color: #ffffff;
}
&-placeholder {
width: 220rpx;
flex-shrink: 0;
}
}
&-icons {
height: 80px;
width: 100%;
background-color: $u-type-primary;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
padding: 0 20rpx;
flex-shrink: 0;
}
&-icon {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
>text {
margin-top: 6rpx;
color: #ffffff;
}
}
&-icon+&-icon {
margin-left: 60rpx;
}
&-scroll {
flex: 1;
overflow-y: auto;
height: 0;
padding-bottom: 10px;
}
&-hj {
margin: 20rpx;
background: #fff;
border-radius: 16rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08);
overflow: hidden;
.hj-title {
font-size: 28rpx;
font-weight: 600;
color: #333;
padding: 24rpx 32rpx;
border-bottom: 1px solid #f0f0f0;
}
.hj-content {
padding: 24rpx 32rpx;
.hj-row {
display: flex;
justify-content: space-between;
&:not(:last-child) {
margin-bottom: 24rpx;
}
}
.hj-cell {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 16rpx 0;
border-radius: 8rpx;
&:not(:last-child) {
border-right: 1px solid #f0f0f0;
padding-right: 24rpx;
}
}
.hj-label {
font-size: 24rpx;
color: #666;
margin-bottom: 12rpx;
}
.hj-value {
font-size: 28rpx;
font-weight: 500;
color: #333;
&.hj-sub {
font-size: 22rpx;
color: #999;
}
}
}
.hj-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding: 24rpx 32rpx;
background: linear-gradient(90deg, #f8f9fa 0%, #fff 100%);
border-top: 1px solid #f0f0f0;
.hj-footer-label {
font-size: 26rpx;
color: #666;
}
.hj-footer-value {
font-size: 36rpx;
font-weight: 700;
color: $u-type-primary;
}
}
}
// 快捷应用 & 业务查询公共样式
.section-card {
margin: 20rpx;
background: #fff;
border-radius: 16rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08);
padding: 24rpx;
.section-title {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 24rpx;
font-size: 28rpx;
font-weight: 600;
color: #333;
.title-left {
display: flex;
align-items: center;
}
.title-line {
display: inline-block;
width: 8rpx;
height: 28rpx;
background: $u-type-primary;
border-radius: 4rpx;
margin-right: 16rpx;
}
.edit-btn {
padding: 8rpx;
opacity: 0.8;
&:active {
opacity: 1;
}
}
}
.section-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24rpx 16rpx;
overflow-x: hidden;
.empty-tip {
grid-column: 1 / -1;
text-align: center;
padding: 40rpx 0;
font-size: 26rpx;
color: #999;
}
}
.grid-item {
display: flex;
flex-direction: column;
align-items: center;
padding: 16rpx 8rpx;
border-radius: 12rpx;
transition: background 0.2s;
min-width: 0;
&:active {
background: #f5f6f8;
}
.icon-box {
width: 100rpx;
height: 100rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.item-label {
margin-top: 12rpx;
font-size: 22rpx;
color: #666;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
}
}
// 编辑快捷应用弹窗样式
.edit-quick {
padding: 32rpx 32rpx 0 32rpx;
height: 100%;
display: flex;
flex-direction: column;
box-sizing: border-box;
.edit-title {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 28rpx;
font-weight: 600;
color: #333;
padding-bottom: 24rpx;
border-bottom: 1rpx solid #f0f0f0;
.edit-tip {
font-size: 24rpx;
color: #999;
font-weight: 400;
}
}
.edit-scroll {
flex: 1;
min-height: 0;
overflow: hidden;
}
.edit-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20rpx;
padding: 24rpx 0 160rpx;
box-sizing: border-box;
align-content: flex-start;
}
.edit-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100%;
height: 160rpx;
background: #f8f9fa;
border-radius: 16rpx;
position: relative;
transition: all 0.25s;
box-sizing: border-box;
&.active {
background: rgba($color: #4a7df5, $alpha: 0.08);
border: 2rpx solid $u-type-primary;
}
&.hidden {
display: none;
}
.icon-box {
width: 96rpx;
height: 96rpx;
display: flex;
align-items: center;
justify-content: center;
}
.edit-label {
margin-top: 14rpx;
font-size: 22rpx;
color: #666;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
.selected-mark {
position: absolute;
top: 6rpx;
right: 6rpx;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
background: $u-type-primary;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4rpx 12rpx rgba($color: $u-type-primary, $alpha: 0.3);
}
}
// 搜索框
.edit-search {
display: flex;
align-items: center;
gap: 12rpx;
margin: 16rpx 0 8rpx;
padding: 18rpx 24rpx;
background: #f5f6f8;
border-radius: 12rpx;
&__input {
flex: 1;
font-size: 26rpx;
color: #333;
background: transparent;
border: none;
outline: none;
&::placeholder {
color: #b0bec5;
}
}
}
// 空状态
.edit-empty {
grid-column: 1 / -1;
display: flex;
align-items: center;
justify-content: center;
padding: 60rpx 0;
font-size: 26rpx;
color: #999;
}
.edit-btns {
display: flex;
gap: 24rpx;
padding-top: 20rpx;
padding-bottom: 10rpx;
position: absolute;
bottom: 10px;
left: 0;
right: 0;
.u-size-medium {
width: 40%;
}
.btn-cancel,
.btn-confirm {
height: 88rpx;
font-size: 30rpx;
border: none;
&::after {
border: none;
}
}
.btn-cancel {
background: #f5f6f8;
color: #666;
}
.btn-confirm {
box-shadow: 0 4rpx 16rpx rgba($color: $u-type-primary, $alpha: 0.25);
}
}
}
}
// 列表页通用样式
.page-list {
display: flex;
flex-direction: column;
height: 100vh;
background: #f5f6f8;
// 头部过滤区域
.filter-header {
background: #ffffff;
padding: 24rpx;
// border-bottom: 1rpx solid #f0f0f0;
// 第一行:单位选择 + 刷新
.filter-row {
display: flex;
align-items: center;
gap: 16rpx;
.project-select-btn,
.unit-select-btn {
flex: 1;
display: flex;
align-items: center;
background: #f5f6f8;
border-radius: 12rpx;
padding: 0 16rpx;
height: 70rpx;
min-width: 0;
:deep(.u-input) {
flex: 1;
}
:deep(.u-input__input) {
font-size: 28rpx;
color: #333;
background: transparent;
}
}
.refresh-btn {
width: 72rpx;
height: 72rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f5f6f8;
border-radius: 50%;
flex-shrink: 0;
.rotating {
animation: rotate 1s linear infinite;
}
}
}
// 第二行:搜索框
.search-box {
display: flex;
align-items: center;
background: #f5f6f8;
border-radius: 12rpx;
padding: 0 16rpx;
max-height: 70rpx;
.u-icon {
flex-shrink: 0;
}
.search-input {
flex: 1;
font-size: 28rpx;
color: #333;
padding: 0 12rpx;
height: 60rpx;
}
.search-clear {
display: flex;
align-items: center;
padding: 4rpx;
flex-shrink: 0;
}
}
// 搜索框 + 刷新按钮布局(用于 packaging/list
.search-row {
display: flex;
align-items: center;
gap: 12rpx;
margin-bottom: 16rpx;
.u-search {
flex: 1;
}
.refresh-btn {
width: 72rpx;
height: 72rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f5f6f8;
border-radius: 50%;
flex-shrink: 0;
.rotating {
animation: rotate 1s linear infinite;
}
}
}
}
// 车次关联 + 单位选择布局(用于 packaging/list
.filter-row.has-radio {
display: flex;
align-items: center;
gap: 16rpx;
flex-wrap: wrap;
.u-radio-group {
display: flex;
gap: 12rpx;
}
.unit-select-btn {
flex-shrink: 0;
display: flex;
align-items: center;
padding: 10rpx 20rpx;
background: #f5f6f8;
border-radius: 8rpx;
.unit-name {
font-size: 26rpx;
color: #666;
margin-right: 6rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 300rpx;
}
}
}
// 悬浮新增按钮
.fab-btn {
position: fixed;
right: 32rpx;
bottom: 100rpx;
width: 100rpx;
height: 100rpx;
background: linear-gradient(135deg, #4a7df5 0%, #356bdb 100%);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 6rpx 24rpx rgba(74, 125, 245, 0.4);
z-index: 99;
border: 4rpx solid rgba(255, 255, 255, 0.2);
&:active {
opacity: 0.9;
transform: scale(0.95);
}
}
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
// 列表区域
.list-scroll {
flex: 1;
overflow-y: auto;
}
// 加载中
.loading-box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
padding: 80rpx 0;
.loading-text {
margin-top: 20rpx;
font-size: 26rpx;
color: #999;
}
}
.list-wrap {
padding: 24rpx;
padding-bottom: 160rpx;
}
// 列表项:序号 + 标题 + 箭头
.list-item {
display: flex;
align-items: center;
padding: 24rpx 28rpx;
background-color: #ffffff;
margin-bottom: 20rpx;
border-radius: 12rpx;
&:active {
background: #f8f9fa;
}
.item-index {
width: 44rpx;
height: 44rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f0f3ff;
color: $u-type-primary;
font-size: 24rpx;
font-weight: 600;
border-radius: 50%;
margin-right: 20rpx;
flex-shrink: 0;
}
.item-title {
flex: 1;
font-size: 30rpx;
font-weight: 500;
color: #333;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.loading-more {
display: flex;
flex-direction: column;
align-items: center;
padding: 32rpx 0;
color: #999;
font-size: 24rpx;
}
.no-more {
text-align: center;
padding: 32rpx 0;
color: #ccc;
font-size: 24rpx;
}
// 操作按钮区域
.action-bar {
display: flex;
justify-content: space-between;
padding: 20rpx 24rpx;
background: #ffffff;
.action-btn {
flex: 1;
text-align: center;
padding: 16rpx 0;
background: $u-type-primary;
color: #ffffff;
font-size: 28rpx;
border-radius: 8rpx;
margin: 0 8rpx;
&:active {
opacity: 0.7;
}
}
}
// 批号信息
.batch-info {
display: flex;
align-items: center;
padding: 24rpx;
background: #ffffff;
margin-top: 2rpx;
.batch-refresh {
margin-left: auto;
display: flex;
align-items: center;
.rotating {
animation: rotate 1s linear infinite;
}
}
.batch-label {
width: 80rpx;
font-size: 28rpx;
color: #333;
}
.batch-value {
flex: 1;
font-size: 28rpx;
color: #666;
}
}
// 卡片项
.card-item {
background: #ffffff;
border-radius: 16rpx;
padding: 28rpx;
margin-bottom: 20rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
transition: transform 0.15s, box-shadow 0.15s;
&:active {
transform: scale(0.99);
box-shadow: 0 1rpx 8rpx rgba(0, 0, 0, 0.04);
}
&:last-child {
margin-bottom: 0;
}
.card-header {
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 24rpx;
border-bottom: 1rpx solid #f0f0f0;
.card-code {
font-size: 30rpx;
font-weight: 600;
color: #333;
}
.card-tag {
display: inline-block;
padding: 6rpx 16rpx;
border-radius: 20rpx;
font-size: 24rpx;
background: rgba(244, 67, 54, 0.1);
color: #f44336;
&.status-0 {
background: rgba(153, 153, 153, 0.1);
color: #999;
}
&.status-1 {
background: rgba(255, 167, 38, 0.1);
color: #ffa726;
}
&.status-2 {
background: rgba(76, 175, 80, 0.1);
color: #4caf50;
}
}
.card-title {
font-size: 30rpx;
font-weight: 600;
color: #333;
}
.card-status {
display: inline-flex;
align-items: center;
padding: 8rpx 20rpx;
border-radius: 24rpx;
font-size: 24rpx;
font-weight: 500;
}
}
.card-body {
padding-top: 24rpx;
.card-row {
display: flex;
align-items: center;
padding: 16rpx 0;
&:not(:last-child) {
border-bottom: 1rpx dashed #f0f0f0;
}
.row-label {
width: 180rpx;
font-size: 26rpx;
color: #999;
flex-shrink: 0;
}
.row-value {
font-size: 28rpx;
color: #333;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
// 详情页通用样式
.page-detail {
min-height: 100vh;
background: #f5f6f8;
padding-bottom: 160rpx;
}
// 信息分组
.info-group {
background: #ffffff;
margin: 24rpx;
border-radius: 16rpx;
overflow: hidden;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
}
// 信息项
.info-item {
display: flex;
align-items: center;
padding: 24rpx 32rpx;
border-bottom: 1rpx solid #f0f0f0;
&:last-child {
border-bottom: none;
}
// 备注字段特殊处理 - 顶部对齐
&.info-textarea {
align-items: flex-start;
}
.info-label {
flex-shrink: 0;
width: 180rpx;
font-size: 28rpx;
color: #666;
line-height: 40rpx;
position: relative;
.required {
position: absolute;
top: 50%;
transform: translateY(-50%);
left: -16rpx;
font-size: 24rpx;
color: #fa3534;
}
}
.info-value {
flex: 1;
font-size: 28rpx;
color: #333;
}
.card-tag {
display: inline-block;
padding: 8rpx 20rpx;
border-radius: 20rpx;
font-size: 24rpx;
font-weight: 500;
&.status-0 {
background: #f5f5f5;
color: #999;
}
&.status-1 {
background: #fff7e6;
color: #fa8c16;
}
&.status-2 {
background: #f6ffed;
color: #52c41a;
}
&.status-3 {
background: #e6f7ff;
color: #1890ff;
}
}
// 可点击行(扫码添加)
&.info-link {
.info-label {
flex: 1;
}
.scan-icon {
width: 64rpx;
height: 64rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f5f6f8;
border-radius: 50%;
transition: all 0.2s ease;
&:active {
background: #e8e9eb;
transform: scale(0.95);
}
}
&:active {
background: #f8f9fa;
}
}
}
// 输入框包装
.info-input-wrap {
flex: 1;
min-width: 0;
:deep(.u-input) {
background: transparent;
}
}
// 预制组件列表
.package-group {
margin: 24rpx;
background: #ffffff;
border-radius: 16rpx;
padding: 24rpx;
.section-title {
font-size: 30rpx;
font-weight: 600;
color: #333;
margin-bottom: 20rpx;
.section-count {
font-size: 26rpx;
color: #999;
font-weight: 400;
margin-left: 8rpx;
}
}
.package-card {
background: linear-gradient(135deg, #f8f9fa 0%, #f0f1f3 100%);
border-radius: 12rpx;
padding: 20rpx;
margin-bottom: 16rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.06);
border: 1rpx solid #e8e9eb;
&:last-child {
margin-bottom: 0;
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom: 16rpx;
border-bottom: 1rpx dashed #d0d0d0;
.card-title {
font-size: 28rpx;
font-weight: 600;
color: #333;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.del-btn {
width: 50rpx;
height: 50rpx;
background: linear-gradient(135deg, #ff6b6b, #ff4d4f);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4rpx 16rpx rgba(255, 77, 79, 0.4);
border: 2rpx solid rgba(255, 255, 255, 0.3);
flex-shrink: 0;
margin-left: 16rpx;
&:active {
transform: scale(0.9);
box-shadow: 0 2rpx 8rpx rgba(255, 77, 79, 0.3);
}
}
}
.card-body {
padding-top: 16rpx;
.card-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10rpx 0;
.row-label {
font-size: 24rpx;
color: #999;
}
.row-value {
font-size: 26rpx;
color: #333;
max-width: 60%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
}
// 底部按钮
.bottom-btns {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
padding: 24rpx 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
gap: 16rpx;
.u-size-medium {
height: 80rpx;
font-size: 28rpx;
border-radius: 8rpx;
flex: 1;
margin: 0;
}
}
// 网格页面(试压管理等)
.page-grid {
min-height: 100vh;
background: #f5f6f8;
padding: 24rpx;
}
.grid-card {
background: #ffffff;
border-radius: 16rpx;
padding: 24rpx;
}
.grid-list {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
}
.grid-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex: 1;
min-width: 45%;
padding: 32rpx 16rpx;
border-radius: 12rpx;
transition: all 0.2s;
&:active {
background: #f0f3ff;
transform: scale(0.98);
}
.grid-icon {
display: flex;
align-items: center;
justify-content: center;
}
.grid-text {
margin-top: 20rpx;
font-size: 26rpx;
color: #666;
text-align: center;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 100%;
}
}
// 发货管理列表
.page-list .deliver-card {
.card-header {
.card-status {
display: inline-flex;
align-items: center;
padding: 8rpx 20rpx;
border-radius: 24rpx;
font-size: 24rpx;
font-weight: 500;
&.status-0 {
background: rgba(153, 153, 153, 0.1);
color: #999;
}
&.status-1 {
background: rgba(255, 167, 38, 0.1);
color: #ffa726;
}
&.status-2 {
background: rgba(76, 175, 80, 0.1);
color: #4caf50;
}
}
}
}
// 底部按钮
.bottom-btns {
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
padding: 20rpx 24rpx;
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
background: #ffffff;
box-shadow: 0 -2rpx 12rpx rgba(0, 0, 0, 0.06);
gap: 20rpx;
:deep(.u-button) {
flex: 1;
height: 88rpx;
border-radius: 12rpx;
font-size: 30rpx;
}
}
// 试压前条件确认列表样式
.page-list,.pressure-filter {
.filter-section {
background: #ffffff;
padding: 20rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
}
.filter-item {
display: flex;
align-items: center;
height: 70rpx;
padding: 0 20rpx;
background: #f8fafc;
border-radius: 12rpx;
margin-bottom: 16rpx;
border: 1rpx solid #e2e8f0;
&:last-child {
margin-bottom: 0;
}
}
.filter-label {
width: 160rpx;
font-size: 28rpx;
color: #475569;
font-weight: 500;
flex-shrink: 0;
&::before {
content: '';
width: 6rpx;
height: 24rpx;
background: linear-gradient(180deg, #3577FF 0%, #6366f1 100%);
border-radius: 3rpx;
margin-right: 12rpx;
display: inline-block;
}
}
.filter-item :deep(.u-input) {
flex: 1;
background: transparent;
font-size: 28rpx;
color: #1e293b;
text-align: right;
border: none;
&::after {
border: none;
}
}
.filter-item :deep(.u-input__input) {
text-align: right;
font-size: 28rpx;
}
.filter-item :deep(.u-input__icon--right) {
color: #94a3b8;
}
.filter-item :deep(.u-radio-group) {
flex: 1;
display: flex;
justify-content: flex-end;
gap: 32rpx;
}
.filter-item :deep(.u-radio) {
:deep(.u-radio__icon) {
border-radius: 6rpx;
border-width: 2rpx;
}
:deep(.u-radio__icon--checked) {
background: linear-gradient(135deg, #3577FF 0%, #6366f1 100%);
}
:deep(.u-radio__label) {
font-size: 28rpx;
color: #475569;
margin-left: 8rpx;
}
}
.search-item {
padding: 0;
background: transparent;
border: none;
:deep(.u-search) {
background: #f8fafc;
border-radius: 12rpx;
height: 70rpx;
border: 1rpx solid #e2e8f0;
}
:deep(.u-search__input-wrap) {
background: transparent;
}
:deep(.u-search__icon) {
color: #94a3b8;
font-size: 28rpx;
}
:deep(.u-search__input) {
font-size: 28rpx;
color: #1e293b;
}
:deep(.u-search__placeholder) {
font-size: 28rpx;
color: #94a3b8;
}
}
.list-scroll {
height: calc(100vh - 300rpx);
}
.list-wrap {
padding-bottom: 40rpx;
}
.card-item {
background: #ffffff;
border-radius: 16rpx;
padding: 28rpx;
margin-bottom: 20rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
transition: all 0.3s ease;
&:active {
transform: scale(0.98);
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.08);
}
.card-header {
display: flex;
align-items: center;
justify-content: space-between;
.card-title {
font-size: 30rpx;
font-weight: 600;
color: #1e293b;
}
}
.card-body {
padding-top: 24rpx;
margin-top: 20rpx;
border-top: 1rpx solid #f1f5f9;
.card-row {
display: flex;
align-items: center;
padding: 16rpx 0;
.row-label {
width: 180rpx;
font-size: 26rpx;
color: #94a3b8;
flex-shrink: 0;
}
.row-value {
font-size: 28rpx;
color: #475569;
flex: 1;
text-align: right;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
}
// 表格样式(保留)
.package-table {
border: 1rpx solid #e5e5e5;
border-radius: 8rpx;
overflow: hidden;
}
.table-hd {
display: flex;
background: #f5f6f8;
.table-td {
font-size: 24rpx;
color: #666;
}
}
.table-tr {
display: flex;
border-top: 1rpx solid #e5e5e5;
&:active {
background: #fafafa;
}
}
.table-td {
flex: 1;
padding: 20rpx;
font-size: 26rpx;
color: #333;
text-align: center;
&.td-operate {
flex: 0 0 100rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
.table-empty {
padding: 40rpx 0;
}
// 包装详情弹窗样式
.bz-detail-modal {
width: 600rpx;
max-height: 70vh;
background: #ffffff;
border-radius: 24rpx 24rpx 0 0;
overflow: hidden;
display: flex;
flex-direction: column;
.modal-header {
padding: 32rpx 40rpx;
background: linear-gradient(135deg, #3577FF 0%, #2B5FE8 100%);
text-align: center;
flex-shrink: 0;
.modal-title {
font-size: 32rpx;
font-weight: 600;
color: #ffffff;
}
}
.modal-body {
padding: 24rpx;
flex: 1;
overflow-y: auto;
min-height: 0;
.detail-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 16rpx 0;
border-bottom: 1rpx solid #f0f0f0;
&:last-child {
border-bottom: none;
}
.detail-label {
font-size: 26rpx;
color: #999;
}
.detail-value {
font-size: 28rpx;
color: #333;
font-weight: 500;
}
}
.prepipe-section {
margin-top: 24rpx;
padding-top: 24rpx;
border-top: 1rpx solid #f0f0f0;
.prepipe-title {
font-size: 26rpx;
color: #666;
margin-bottom: 16rpx;
}
.prepipe-list {
.prepipe-card {
background: #f5f6f8;
border-radius: 12rpx;
margin-bottom: 12rpx;
overflow: hidden;
&:last-child {
margin-bottom: 0;
}
.card-header {
padding: 16rpx 20rpx;
background: #e8e9eb;
.card-code {
font-size: 28rpx;
color: #333;
font-weight: 600;
}
}
.card-body {
padding: 16rpx 20rpx;
.card-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8rpx 0;
&:first-child {
padding-top: 0;
}
&:last-child {
padding-bottom: 0;
}
.card-label {
font-size: 24rpx;
color: #999;
}
.card-value {
font-size: 26rpx;
color: #333;
}
}
}
}
}
}
}
.modal-footer {
display: flex;
justify-content: space-between;
padding: 24rpx 40rpx 32rpx;
gap: 24rpx;
flex-shrink: 0;
border-top: 1rpx solid #f0f0f0;
.cancel-btn {
flex: 1;
height: 70rpx;
display: flex;
align-items: center;
justify-content: center;
background: #f5f6f8;
border-radius: 12rpx;
font-size: 28rpx;
color: #666;
&:active {
background: #e8e9eb;
}
}
.confirm-btn {
flex: 1;
height: 70rpx;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #3577FF 0%, #2B5FE8 100%);
border-radius: 12rpx;
font-size: 28rpx;
color: #ffffff;
font-weight: 500;
&:active {
opacity: 0.9;
}
}
}
}