From 4dd5a1b4d9b45dad84a3686174eb9f6870031ef8 Mon Sep 17 00:00:00 2001 From: iven Date: Sat, 16 May 2026 01:33:06 +0800 Subject: [PATCH] =?UTF-8?q?refactor(mp):=20=E8=BF=81=E7=A7=BB=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=A1=B5=20=E2=80=94=20=E4=BD=BF=E7=94=A8=20PageShell?= =?UTF-8?q?=20+=20ContentCard=20=E7=BB=9F=E4=B8=80=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 处方创建、透析记录创建、预约创建三个表单页迁移: - 最外层容器 ScrollView/View → PageShell - 表单分组 section View → ContentCard - SCSS 删除 min-height/background/box-shadow 通用样式 --- .../src/pages/appointment/create/index.scss | 10 ++---- .../src/pages/appointment/create/index.tsx | 10 +++--- .../dialysis/create/index.scss | 13 ++----- .../dialysis/create/index.tsx | 24 +++++++------ .../prescription/create/index.scss | 13 ++----- .../prescription/create/index.tsx | 36 ++++++++++--------- 6 files changed, 47 insertions(+), 59 deletions(-) diff --git a/apps/miniprogram/src/pages/appointment/create/index.scss b/apps/miniprogram/src/pages/appointment/create/index.scss index 09b1fa6..55242e9 100644 --- a/apps/miniprogram/src/pages/appointment/create/index.scss +++ b/apps/miniprogram/src/pages/appointment/create/index.scss @@ -1,9 +1,9 @@ @import '../../../styles/variables.scss'; @import '../../../styles/mixins.scss'; -.create-page { - min-height: 100vh; - background: $bg; +// PageShell 已接管:min-height, background + +.create-page-shell { padding-bottom: 160px; } @@ -132,11 +132,7 @@ /* 确认卡片 (step 3 医生信息) */ .confirm-card { - background: $card; - border-radius: $r; - padding: 24px 28px; margin-bottom: 24px; - box-shadow: $shadow-sm; } .confirm-row { diff --git a/apps/miniprogram/src/pages/appointment/create/index.tsx b/apps/miniprogram/src/pages/appointment/create/index.tsx index 4b5fd12..4635837 100644 --- a/apps/miniprogram/src/pages/appointment/create/index.tsx +++ b/apps/miniprogram/src/pages/appointment/create/index.tsx @@ -7,6 +7,8 @@ import { TEMPLATE_IDS } from '@/services/wechat-templates'; import { trackEvent } from '@/services/analytics'; import StepIndicator from '../../../components/StepIndicator'; import WeekCalendar from '../../../components/WeekCalendar'; +import PageShell from '@/components/ui/PageShell'; +import ContentCard from '@/components/ui/ContentCard'; import { useElderClass } from '../../../hooks/useElderClass'; import { useSafeTimeout } from '@/hooks/useSafeTimeout'; import './index.scss'; @@ -153,7 +155,7 @@ export default function AppointmentCreate() { }; return ( - + 选择就诊时间 - + @@ -235,7 +237,7 @@ export default function AppointmentCreate() { {department} - + )} - + ); } diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.scss b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.scss index 44b04f4..ecdfe18 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.scss +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.scss @@ -1,19 +1,12 @@ @import '../../../../styles/variables.scss'; @import '../../../../styles/mixins.scss'; -.create-page { - min-height: 100vh; - background: $bg; - padding: 24px; - padding-bottom: 200px; -} +// PageShell 已接管:min-height, background, padding +// ContentCard 已接管:background, border-radius, padding, box-shadow +/* ─── 表单分组间距(ContentCard 外层补充) ─── */ .section { - background: $card; - border-radius: $r; - padding: 24px; margin-bottom: 16px; - box-shadow: $shadow-sm; } .section-title { diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx index 621c943..cc8228b 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/dialysis/create/index.tsx @@ -1,10 +1,12 @@ import { useState, useEffect } from 'react'; -import { View, Text, Input, Textarea, Picker, ScrollView } from '@tarojs/components'; +import { View, Text, Input, Textarea, Picker } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { getDialysisRecord, updateDialysisRecord, createDialysisRecord, } from '@/services/doctor/dialysis'; import Loading from '@/components/Loading'; +import PageShell from '@/components/ui/PageShell'; +import ContentCard from '@/components/ui/ContentCard'; import { useElderClass } from '../../../../hooks/useElderClass'; import { useSafeTimeout } from '@/hooks/useSafeTimeout'; import './index.scss'; @@ -173,8 +175,8 @@ export default function DialysisCreate() { ); return ( - - + + 基本信息 透析日期 @@ -208,16 +210,16 @@ export default function DialysisCreate() { - + - + 体重 - + - + 血压与心率 @@ -225,9 +227,9 @@ export default function DialysisCreate() { - + - + 超滤与备注 @@ -240,11 +242,11 @@ export default function DialysisCreate() { maxlength={500} /> - + {submitting ? '提交中...' : isEdit ? '更新记录' : '创建记录'} - + ); } diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.scss b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.scss index 23fee8f..c3b0105 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.scss +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.scss @@ -1,19 +1,12 @@ @import '../../../../styles/variables.scss'; @import '../../../../styles/mixins.scss'; -.create-page { - min-height: 100vh; - background: $bg; - padding: 24px; - padding-bottom: 200px; -} +// PageShell 已接管:min-height, background, padding +// ContentCard 已接管:background, border-radius, padding, box-shadow +/* ─── 表单分组间距(ContentCard 外层补充) ─── */ .section { - background: $card; - border-radius: $r; - padding: 24px; margin-bottom: 16px; - box-shadow: $shadow-sm; } .section-title { diff --git a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx index b660f0b..5e0ad18 100644 --- a/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx +++ b/apps/miniprogram/src/pages/pkg-doctor-clinical/prescription/create/index.tsx @@ -1,8 +1,10 @@ import { useState } from 'react'; -import { View, Text, Input, Textarea, Picker, ScrollView } from '@tarojs/components'; +import { View, Text, Input, Textarea, Picker } from '@tarojs/components'; import Taro, { useRouter } from '@tarojs/taro'; import { createDialysisPrescription } from '@/services/doctor/dialysis'; import Loading from '@/components/Loading'; +import PageShell from '@/components/ui/PageShell'; +import ContentCard from '@/components/ui/ContentCard'; import { useElderClass } from '../../../../hooks/useElderClass'; import { useSafeTimeout } from '@/hooks/useSafeTimeout'; import './index.scss'; @@ -118,31 +120,31 @@ export default function PrescriptionCreate() { ); return ( - + {/* 透析器 */} - + 透析器 - + {/* 透析液 */} - + 透析液配比 - + {/* 抗凝 */} - + 抗凝方案 - + {/* 参数 */} - + 参数设置 @@ -150,17 +152,17 @@ export default function PrescriptionCreate() { - + {/* 血管通路 */} - + 血管通路 - + {/* 生效日期 */} - + 生效日期 生效日期 @@ -178,10 +180,10 @@ export default function PrescriptionCreate() { - + {/* 备注 */} - + 备注