Files
hms/apps/miniprogram/src/pages/pkg-mall/orders/index.scss
iven 95e219ad5a refactor(mp): CSS 变量主题 + 登录页改造 — UI 优化 Phase 0-2
Phase 0: 建立 design token 体系
- tokens.scss 新增 --tk-pri/--tk-pri-l/--tk-pri-d/--tk-shadow-btn/--tk-shadow-tab
- .doctor-mode 覆盖为靛蓝色系,.elder-mode 非线性放大字号
- variables.scss 新增医生端色彩 + 阴影变量

Phase 1: 组件库 + 页面全局替换
- 75 个页面 SCSS $pri → var(--tk-pri) 全量替换
- 11 个新 UI 组件(PrimaryButton/TabFilter/FormInput/ProgressRing 等)
- 8 个现有组件 SCSS 更新
- 18 个医生端页面 useElderClass → useDoctorClass
- PageHeader 匹配原型 NavBar 规格

Phase 2: 登录页重写
- Logo: 方形+ → 圆形渐变 H
- 登录方式: 纯微信 → 账号密码 + 微信一键登录
- 新增 credentialLogin API + store action
- 字号/间距严格匹配原型 mp-01-login.html
2026-05-16 21:29:13 +08:00

124 lines
2.2 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.
@import '../../../styles/variables.scss';
@import '../../../styles/mixins.scss';
// PageShell 已接管min-height, background, safe-bottom
// ContentCard 已接管order-card 背景/圆角/阴影
/* ===== 订单列表 ===== */
.order-list {
padding: 0 var(--tk-gap-lg);
}
.order-card {
margin-bottom: var(--tk-gap-md);
overflow: hidden;
}
.order-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--tk-gap-lg) var(--tk-gap-lg) var(--tk-gap-md);
border-bottom: 1px solid $bd-l;
}
.order-product {
font-family: 'Georgia', 'Times New Roman', serif;
font-size: var(--tk-font-body-lg);
font-weight: bold;
color: $tx;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.order-status-tag {
padding: var(--tk-gap-2xs) var(--tk-gap-md);
border-radius: $r-pill;
margin-left: var(--tk-gap-sm);
flex-shrink: 0;
&--pending {
@include tag($wrn-l, $wrn);
}
&--verified {
@include tag($acc-l, $acc);
}
&--cancelled {
@include tag($dan-l, $dan);
}
&--expired {
@include tag($bd-l, $tx3);
}
}
.order-status-text {
font-size: var(--tk-font-body);
font-weight: bold;
}
.order-body {
padding: var(--tk-gap-md) var(--tk-gap-lg) var(--tk-section-gap);
}
.order-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: var(--tk-gap-xs) 0;
}
.order-row-label {
font-size: var(--tk-font-h1);
color: $tx3;
}
.order-row-value {
@include serif-number;
font-size: var(--tk-font-h1);
color: $tx;
&.order-cost {
color: var(--tk-pri);
font-weight: bold;
}
}
/* ===== 核销码 ===== */
.order-qrcode {
display: flex;
align-items: center;
padding: var(--tk-gap-md);
margin-top: var(--tk-gap-sm);
background: var(--tk-pri-l);
border-radius: $r-sm;
}
.qrcode-label {
font-size: var(--tk-font-h2);
color: $tx3;
margin-right: var(--tk-gap-xs);
}
.qrcode-value {
@include serif-number;
font-size: var(--tk-font-h2);
color: var(--tk-pri-d);
font-weight: bold;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.qrcode-tap {
font-size: var(--tk-font-body);
color: var(--tk-pri);
margin-left: var(--tk-gap-xs);
flex-shrink: 0;
}