328 lines
6.3 KiB
SCSS
328 lines
6.3 KiB
SCSS
// 山峡小程序壳层样式(对齐 mobile-ui/shanxia-mp-base.css 工作台 / Header / 占位)
|
|
|
|
page {
|
|
--mp-brand-green: #0a9f6d;
|
|
--mp-brand-green-dark: #087f57;
|
|
--mp-brand-green-soft: #e9f9f2;
|
|
--mp-barley: #d6a343;
|
|
--mp-bg: #f5f8f7;
|
|
--mp-surface: #ffffff;
|
|
--mp-text: #1f2a26;
|
|
--mp-muted: #6b7b74;
|
|
--mp-border: #dcebe4;
|
|
--mp-border-light: #edf5f1;
|
|
--mp-danger: #d14343;
|
|
--mp-radius-lg: 32rpx;
|
|
--mp-radius-xl: 44rpx;
|
|
--mp-header-gradient: linear-gradient(145deg, #087f57 0%, #0a9f6d 72%, #d6a343 165%);
|
|
background-color: var(--mp-bg);
|
|
color: var(--mp-text);
|
|
}
|
|
|
|
.mp-page {
|
|
min-height: 100vh;
|
|
background: var(--mp-bg);
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.mp-page--tab {
|
|
padding-bottom: calc(24rpx + env(safe-area-inset-bottom, 0px));
|
|
}
|
|
|
|
.mp-header {
|
|
background: var(--mp-header-gradient);
|
|
color: #fff;
|
|
padding: calc(28rpx + env(safe-area-inset-top, 0px)) 32rpx 32rpx;
|
|
border-bottom-left-radius: var(--mp-radius-xl);
|
|
border-bottom-right-radius: var(--mp-radius-xl);
|
|
box-shadow: 0 16rpx 40rpx rgba(10, 159, 109, 0.12);
|
|
}
|
|
|
|
.mp-header__title {
|
|
display: block;
|
|
font-size: 36rpx;
|
|
font-weight: 700;
|
|
line-height: 1.3;
|
|
}
|
|
|
|
.mp-header__meta {
|
|
margin-top: 8rpx;
|
|
font-size: 24rpx;
|
|
opacity: 0.9;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.mp-section {
|
|
padding: 24rpx 32rpx;
|
|
}
|
|
|
|
.mp-module-block {
|
|
background: var(--mp-surface);
|
|
border: 1rpx solid var(--mp-border);
|
|
border-radius: var(--mp-radius-lg);
|
|
overflow: hidden;
|
|
box-shadow: 0 8rpx 24rpx rgba(10, 159, 109, 0.06);
|
|
}
|
|
|
|
.mp-module-block + .mp-module-block {
|
|
margin-top: 24rpx;
|
|
}
|
|
|
|
.mp-module-block__head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 20rpx;
|
|
padding: 24rpx 28rpx;
|
|
border-bottom: 1rpx solid var(--mp-border-light);
|
|
background: #fafcfb;
|
|
}
|
|
|
|
.mp-module-block__icon {
|
|
width: 64rpx;
|
|
height: 64rpx;
|
|
border-radius: 16rpx;
|
|
color: #fff;
|
|
font-size: 20rpx;
|
|
font-weight: 700;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mp-module-block--crm .mp-module-block__icon {
|
|
background: linear-gradient(145deg, #0a9f6d, #11b37a);
|
|
}
|
|
.mp-module-block--bx .mp-module-block__icon {
|
|
background: linear-gradient(145deg, #c9922f, #d6a343);
|
|
}
|
|
.mp-module-block--db .mp-module-block__icon {
|
|
background: linear-gradient(145deg, #247a70, #2b8a7e);
|
|
}
|
|
.mp-module-block--pl .mp-module-block__icon {
|
|
background: linear-gradient(145deg, #066b49, #087f57);
|
|
}
|
|
|
|
.mp-module-block__title-wrap {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.mp-module-block__title {
|
|
display: block;
|
|
font-size: 30rpx;
|
|
font-weight: 700;
|
|
color: var(--mp-text);
|
|
}
|
|
|
|
.mp-module-block__desc {
|
|
display: block;
|
|
margin-top: 4rpx;
|
|
font-size: 22rpx;
|
|
color: var(--mp-muted);
|
|
}
|
|
|
|
.mp-menu-grid {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
background: var(--mp-border-light);
|
|
}
|
|
|
|
.mp-menu-card {
|
|
width: 33.333%;
|
|
box-sizing: border-box;
|
|
min-height: 156rpx;
|
|
background: var(--mp-surface);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 12rpx;
|
|
padding: 20rpx 12rpx;
|
|
text-align: center;
|
|
border-right: 1rpx solid var(--mp-border-light);
|
|
border-bottom: 1rpx solid var(--mp-border-light);
|
|
}
|
|
|
|
.mp-menu-card:nth-child(3n) {
|
|
border-right: none;
|
|
}
|
|
|
|
.mp-menu-card:active {
|
|
background: #f4fbf8;
|
|
}
|
|
|
|
.mp-menu-card__icon {
|
|
width: 60rpx;
|
|
height: 60rpx;
|
|
border-radius: 16rpx;
|
|
background: linear-gradient(145deg, #e8f5ef, #d9efe5);
|
|
}
|
|
|
|
.mp-module-block--bx .mp-menu-card__icon {
|
|
background: linear-gradient(145deg, #faf0dc, #f3e4c4);
|
|
}
|
|
.mp-module-block--db .mp-menu-card__icon {
|
|
background: linear-gradient(145deg, #dff0ee, #cce5e2);
|
|
}
|
|
.mp-module-block--pl .mp-menu-card__icon {
|
|
background: linear-gradient(145deg, #dff1e8, #c8e8d8);
|
|
}
|
|
|
|
.mp-menu-card__name {
|
|
font-size: 22rpx;
|
|
color: #3f4f48;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.mp-menu-card--disabled {
|
|
opacity: 0.45;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.mp-placeholder {
|
|
min-height: 60vh;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 80rpx 48rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.mp-placeholder__icon {
|
|
width: 176rpx;
|
|
height: 176rpx;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #edf5f1, #dcebe4);
|
|
margin-bottom: 32rpx;
|
|
}
|
|
|
|
.mp-placeholder__title {
|
|
font-size: 32rpx;
|
|
font-weight: 600;
|
|
color: var(--mp-text);
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
.mp-placeholder__desc {
|
|
font-size: 26rpx;
|
|
color: var(--mp-muted);
|
|
line-height: 1.6;
|
|
}
|
|
|
|
.mp-profile-hero {
|
|
background: var(--mp-header-gradient);
|
|
color: #fff;
|
|
padding: calc(40rpx + env(safe-area-inset-top, 0px)) 32rpx 48rpx;
|
|
border-bottom-left-radius: var(--mp-radius-xl);
|
|
border-bottom-right-radius: var(--mp-radius-xl);
|
|
}
|
|
|
|
.mp-profile-hero__user {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 24rpx;
|
|
}
|
|
|
|
.mp-profile-hero__avatar {
|
|
width: 112rpx;
|
|
height: 112rpx;
|
|
border-radius: 50%;
|
|
background: rgba(255, 255, 255, 0.22);
|
|
border: 4rpx solid rgba(255, 255, 255, 0.35);
|
|
flex-shrink: 0;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mp-profile-hero__avatar image {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.mp-profile-hero__name {
|
|
font-size: 36rpx;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.mp-profile-hero__dept {
|
|
margin-top: 8rpx;
|
|
font-size: 24rpx;
|
|
opacity: 0.9;
|
|
}
|
|
|
|
.mp-profile-panel {
|
|
margin: 24rpx 32rpx;
|
|
background: var(--mp-surface);
|
|
border: 1rpx solid var(--mp-border);
|
|
border-radius: var(--mp-radius-lg);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mp-form-item {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 24rpx;
|
|
padding: 28rpx 32rpx;
|
|
border-bottom: 1rpx solid var(--mp-border-light);
|
|
}
|
|
|
|
.mp-form-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.mp-form-item__label {
|
|
font-size: 28rpx;
|
|
color: var(--mp-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mp-form-item__value {
|
|
font-size: 28rpx;
|
|
color: var(--mp-text);
|
|
text-align: right;
|
|
flex: 1;
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.mp-profile-actions {
|
|
padding: 8rpx 32rpx 48rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 20rpx;
|
|
}
|
|
|
|
.mp-btn {
|
|
height: 88rpx;
|
|
line-height: 88rpx;
|
|
border-radius: 16rpx;
|
|
font-size: 30rpx;
|
|
text-align: center;
|
|
}
|
|
|
|
.mp-btn--primary {
|
|
background: var(--mp-brand-green);
|
|
color: #fff;
|
|
}
|
|
|
|
.mp-btn--ghost {
|
|
background: #fff;
|
|
color: var(--mp-danger);
|
|
border: 1rpx solid #fecaca;
|
|
}
|
|
|
|
.mp-btn--block {
|
|
width: 100%;
|
|
}
|
|
|
|
.mp-hint {
|
|
margin: 0 32rpx 24rpx;
|
|
font-size: 22rpx;
|
|
color: var(--mp-muted);
|
|
text-align: center;
|
|
}
|