Files
sh-app/assets/css/page.scss
T
2026-06-10 17:26:36 +08:00

501 lines
8.2 KiB
SCSS

.wrap {}
// 登录
.login {
width: 100vw;
height: 100vh;
background-color: $u-bg-white;
.sys-name {
font-size: 48rpx;
font-weight: 700;
color: #333333;
position: absolute;
top: 300rpx;
width: 100%;
text-align: center;
}
.login-form {
position: absolute;
bottom: 240rpx;
right: 60rpx;
left: 60rpx;
}
}
// 首页
.home {
padding-top: 80px;
padding-bottom: 60rpx;
.u-border-bottom:after {
border: none;
}
.slot-wrap {
padding: 20rpx;
width: 220rpx;
.u-input__input {
color: #ffffff;
}
}
&-icons {
position: fixed;
top: 95px;
height: 80px;
width: 100%;
background-color: $u-type-primary;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
padding: 0 20rpx;
}
&-icon {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
>text {
margin-top: 6rpx;
color: #ffffff;
}
}
&-icon+&-icon {
margin-left: 60rpx;
}
&-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-grid {
width: 100%;
overflow-y: scroll;
display: grid;
grid-template-columns: repeat(4, calc(25% - 20rpx));
gap: 20rpx;
padding: 24rpx 0;
min-height: 0;
box-sizing: border-box;
}
.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;
}
.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-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: 20rpx 24rpx;
border-bottom: 1rpx solid #f0f0f0;
.filter-row {
display: flex;
align-items: center;
gap: 16rpx;
}
// 选择按钮
.project-select-btn {
flex: 1;
display: flex;
align-items: center;
justify-content: space-between;
padding: 12rpx 24rpx;
background: #f5f6f8;
border-radius: 12rpx;
max-height: 70rpx;
.select-text {
font-size: 28rpx;
color: #333;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1;
margin-right: 12rpx;
}
}
.refresh-btn {
padding: 8rpx;
display: flex;
align-items: center;
justify-content: center;
.rotating {
animation: rotate 1s linear infinite;
}
}
}
@keyframes rotate {
from { transform: rotate(0deg); }
to { transform: rotate(360deg); }
}
// 列表区域
.list-scroll {
flex: 1;
overflow: hidden;
}
// 加载中
.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;
}
// 列表项:序号 + 标题 + 箭头
.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;
}
}